책소개

파이썬으로 챗봇을 빠르게 구현하고 배포하는 데 필요한 모든 정보를 담았다. 고통스럽지 않을 정도의 학습량과 실습으로 준수하게 동작하는 챗봇을 구현해 보자. 실생활 예제로 챗봇 관련 개념을 배우고, 구글의 Dialogflow를 사용해 누구나 손쉽게 챗봇을 구축할 수 있다. 또한 Rasa NLU 및 머신러닝 알고리즘을 통해 챗봇을 단계적으로 구축하고 학습시켜, 조금 더 발전된 나만의 챗봇을 만들어볼 수도 있다.
이 책에서는 음식 주문 챗봇과 별자리 운세 챗봇을 구현할 수 있는 소스 코드가 제공된다. 친절하게 진행되는 실습을 따라가다 보면 구축한 챗봇을 페이스북이나 슬랙, 자체 서버에 배포하는 방법을 학습할 수 있다. 챗봇 설계부터 배포까지의 과정을 한눈에 살펴보며 챗봇 개발에 대한 감을 익히고, 내가 만든 챗봇 서비스를 활용해 비즈니스에 수익을 창출해 보자.

목차

Chapter 1. 많은 사람들에게 사랑 받고 있는 챗봇
1-1 챗봇 사용의 인기
1-2 The Zen of Python 그리고 그 원리가 챗봇에도 적용되는 이유
1-3 챗봇의 필요성
1-3-1 비즈니스 관점
1-3-2 개발자 관점에서의 챗봇
1-4 챗봇의 영향을 받을 산업
1-5 챗봇의 간략한 타임라인
1-6 챗봇을 통해 해결할 수 있는 문제는 무엇일까
1-7 QnA 챗봇
1-8 챗봇과 함께 시작하기
1-9 챗봇에서의 결정 트리(Decision Trees)
1-10 챗봇/봇 개발 프레임워크 추천 사이트
1-11 챗봇의 구성요소와 사용되는 용어들
Chapter 2. 챗봇에서의 자연어 처리
2-1 챗봇을 만들기 위해 자연어 처리를 알아야 하는 이유
2-2 spaCy란 무엇인가
2-3 spaCy의 특징들
2-4 챗봇 구축에 필요한 자연어 처리의 기본적인 방법
2-5 챗봇 개발에 유용한 자연어 처리 기능들
요약
Chapter 3. 쉬운 방법으로 챗봇 구현하기
3-1 Dialogflow 소개
3-2 시작하기
3-3 음식 주문 챗봇 만들기
3-4 Dialogflow 챗봇을 웹에 배포하기
3-5 Dialogflow 챗봇과 페이스북 메신저 연동하기
3-6 Fulfillment
요약
Chapter 4. 어려운 방법으로 챗봇 구현하기
4-1 Rasa NLU란 무엇인가
4-2 처음부터 다시 챗봇을 학습시키고 구축하기
4-3 Rasa Core 를 이용한 대화 관리(Dialog Management)
4-4 챗봇에서 커스텀 액션(Custom Actions) 작성하기
4-5 챗봇 학습을 위한 데이터 준비하기
4-6 챗봇 테스트하기
요약
Chapter 5. 챗봇 배포하기
5-1 첫 번째 단계
5-2 Rasa의 자격 증명(Credential) 관리
5-3 페이스북에 챗봇 배포하기
5-4 슬랙(Slack)에 챗봇 배포하기
5-5 자체적으로(on Your Own) 챗봇 배포하기
요약
* 이 책의 구성
Chapter 1: 많은 사람에게 사랑받고 있는 챗봇(The Beloved Chatbots)
챕터1에서는 업무적인 혹은 개발자 관점에서의 챗봇 관련 사항들에 대해 알게 될 것이다. 이 챕터는 챗봇의 개념들과 그것을 코드화하기 위해 우리가 해야 할 일들에 대한 방향을 잡게 되는데, 챕터1을 다 읽으면 나를 위해 혹은 내가 속한 조직을 위해 왜 챗봇을 구축해야 하는지에 대한 이유를 이해할 수 있을 것이다.
Chapter 2: 챗봇에서의 자연어 처리(Natural Language Processing for Chatbots)
이 챕터에서는 챗봇에 자연어 처리가 필요할 경우 어떤 도구와 방법을 사용해야 하는지를 실제 코딩 예제들을 통해 실생활에 적용하며 배우게 될 것이다.
또한 챗봇에 특정 자연어 처리 기법들이 필요한 이유에 대해 다룬다. 자연어 처리라는 것 자체가 하나의 기술이라는 것을 기억해 두도록 하자.
Chapter 3: 쉬운 방법으로 챗봇 구축하기(Building Chatbots the Easy Way)
이 챕터에서는 Dialogflow와 같은 도구를 사용하여 손쉽게 챗봇을 구축하는 방법을 학습할 것이다. 여기서는 프로그램을 작성하는 기술이 거의 필요 없기 때문에 전문 프로그래머가 아닌 사람도 어렵지 않게 수행할 수 있을 것이다.
Chapter 4: 어려운 방법으로 챗봇 구축하기(Building Chatbots the Hard Way)
챕터3까지 학습을 한 독자라면 원하는 챗봇을 구축하기 위하여 조금 더 많은 정보를 원하게 될 것이다. 이 챕터에서는 이를 위해, 처음부터 단계적으로 챗봇을 구축하는 방법(비록 제목은 어려운 방법이지만)과 머신러닝 알고리즘을 이용하여 어떻게 챗봇을 학습시키는지에 대해 배우게 될 것이다.
Chapter 5: 챗봇 배포하기(Deploying Your Chatbot)
챕터3 혹은 챕터4를 통해 챗봇을 구현한 독자라면, 챗봇을 다른 사람들과 공유하여 사용해 보기를 원할 것이다. 챕터5에서는 이를 위한 마지막 작업을 진행하게 될 예정인데, 구체적으로 페이스북과 슬랙에 챗봇을 통합하여 외부세계에 공개하는 방법을 학습할 것이다.

작가

Sumit Raj