상세 컨텐츠

본문 제목

처음 배우는 딥러닝 챗봇:챗봇 엔진부터 NLP 딥러닝 파이썬 REST API 카카오톡 연동까지

Developer/IT 도서

by cepiloth 2022. 3. 27. 21:08

본문

728x90
반응형

서평

 자연어 처리 내부를 몰라도 KoNLPy 등 자연어 처리 프레임워크를 사용하여 단어 및 문장을 학습하는 방법을 알려준다. 또 한, 학습한 모델을 기반으로 카카오톡, 네이버 톡톡 등을 연동하여 실제 서비스에 적용할 수 있는 가이드라인을 제시한다. 해당 책은 자연어 처리의 깊은 원리 설명은 없지만 서비스를 적용할 수 있는 기초적인 원리를 설명하고 딥러닝뿐만 아니라 직접 서버를 구축하여 REST API로 서비스를 제공하는 방법에 대한 기술 되어 있다. 

 모델을 개발할줄아는 엔지니어겐 서버 기술을 가이드라인 할 수 있으며 서버 및 서비스를 개발하는 엔지니어 에게는 자연어 처리를 쉽게 다가갈 수 있는 방법을 소개한다고 생각할 수 있다. 자연어 처리, 서버 기술을 좀 더 깊이 알고 싶다면 인터넷 및 전문 서적을 통하여 보강하는 것을 추천한다.


 

챕터별 요약

Chapter 1, 2장 에서는 파이썬 문법에 대해서 소개한다. 해당 책은 파이썬 위주로 코드를 소개하기 때문에 책에 소스 코드를 이해할 수 있는 정도의 문법이 정리되어 있다.

 

Chapter 3장에서는 토큰나이즈에 대해서 용어 정리되어 있다. 컴퓨터가 자연어를 직접적으로 이해할 수 없기에 자연어의 의미를 분석해 컴퓨터가 처리할 수 있도록 하는 일이 필요하다. 한국어 문장을 분석하려면 토큰 단위는 어떻게 정의해야 하는지에 따라 자연어 처리에 성능이 영향을 미치게 된다. 형태소를 토큰 단위로 사용하여 자연어 처리하는 방법을 KoNLPy, KKma, Komoran, Okt 등의 형태소 분석기로 실습을 하며 각 형태소 분석기들의 장단점에 대해서 정리되어 있다.

 

Chapter 4장 에서는 임베딩에 대해서 소개한다. 컴퓨터는 자연어를 있는 그대로 처리할 수 없음으로 연산 가능한 형태소로 변환해야 한다. 자연어는 컴퓨터 연산에 효율적인 벡터(수치) 형태로 변환하는 과정을 거치는데 이를 임베딩이라고 한다. 이장에서는 Word2Vec 모델을 활용하여 임베딩에 대한 실습을 진행한다.

 

Chapter 5장 에서는 텍스트 유사도에 소개한다. 두 문장 간의 유사하다는 것을 판단하는 기법 중 N-Gram, 코사인 유사도 등의 기법을 일반인도 쉽게 알 수 있도록 설명되어 있다.

 

Chpater 6장은 딥러닝에 대한 기초와 인공신경망에 대해서 소개하고 KERAS를 이용한 MNIST 이미지 분류를 실습한다. 해당 챕터에서 느낀 점은 CNN이 이미지 처리에 만 특화되어 있다고 생각했었는데 임베딩 처리가 되어 수치로 표현 가능한 대상이면 CNN으로 모델을 학습 가능하다는 것 을 알 수 있었다. 또 한 RNN, LSTM, 양방향 LSTM 등의 모델을 학습 및 실습을 할 수 있다. 해당 Chapter는 직접 실습을 해보는 것을 추천한다.

 

Chapter 7장부터는 실제 챗봇 시스템을 만들기 위한 설계 및 구현 위주로 설명되어 있다. Chapter 7장은 MySQL과 파이썬을 이용하여 쳇봇 학습 데이터 툴을 만드는 설계 및 구현에 대해서 소개한다. 8장은 직접 데이터를 학습하며 단어 인식 및 엔진을 만드는 구현 코딩 위주로 설명되어 있으며 챗봇 엔진을 만들고 이를 서버로 만드는 방법에 대해서 설명한다. 9장에서는 Flask를 이용하여 Rest API 서비스를 구현에 필요한 개발환경에 대해 소개한다.

 

10, 11장은 각각 카카오톡, 네이버 톡톡 등의 실제 서비스에서 챗봇을 만드는 과정에 대해서 기술되어 있으며 해당 챕터는 직접 실습을 통하여 서비스를 이용하여 봇을 만드는 것을 추천한다.

 


책 소개

비대면 시대를 이끄는 챗봇 기술, 한 권의 책으로 만나다!

 이 책은 챗봇 엔진부터 NLP, 딥러닝, REST API, 카카오톡 연동에 이르기까지 챗봇에 필요한 기술을 한 권으로 만나볼 수 있는 챗봇 개발 입문서입니다. 어려운 개념은 직관적인 그림과 도식을 활용해서 설명했으며, 책에서 담고자 하는 수준에서 벗어나는 개념은 과감하게 생략하여 기본에 더 충실했습니다. 또한 챗봇을 구현하는 데 필요한 개념과 코드를 개발 순서대로 학습하고 카카오톡, 네이버 챗봇을 만들어봄으로써 실무 적용의 ‘감’까지 익힐  수 있습니다. 비대면 시대 챗봇 엔진, API 개발을 준비하는 개발자라면 이 책으로 시작해보세요.

 


목차

CHAPTER 1 챗봇 입문하기
1.1 챗봇의 이해
1.2 챗봇 활용 사례
__1.2.1 카카오 챗봇 사례
__1.2.2 대학병원 챗봇 사례
__1.2.3 제약회사 챗봇 사례
1.3 마치며

더보기

CHAPTER 2 파이썬 시작하기
2.1 파이썬 소개
2.2 파이썬 기본
__2.2.1 자료형
__2.2.2 파이썬 제어문
__2.2.3 함수
__2.2.4 클래스
__2.2.5 모듈
__2.2.6 예외 처리
__2.2.7 엑셀 파일을 읽고 쓰는 방법
2.3 데이터 분석을 위한 필수 라이브러리
__2.3.1 넘파이
__2.3.2 팬더스
__2.3.3 맷플롯립
2.4 마치며


CHAPTER 3 토크나이징
3.1 토크나이징 소개
3.2 KoNLPy
__3.2.1 Kkma
__3.2.2 Komoran
__3.2.3 Okt
__3.2.4 사용자 사전 구축
3.3 마치며
 

CHAPTER 4 임베딩
4.1 임베딩이란?
4.2 단어 임베딩
__4.2.1 원-핫 인코딩
__4.2.2 희소 표현과 분산 표현
__4.2.3 Word2Vec
4.3 마치며
 


CHAPTER 5 텍스트 유사도
5.1 텍스트 유사도 개요
5.2 n-gram 유사도
5.3 코사인 유사도
5.4 마치며


CHAPTER 6 챗봇 엔진에 필요한 딥러닝 모델
6.1 빠르게 케라스 정리하기
__6.1.1 인공 신경망
__6.1.2 딥러닝 분류 모델 만들기
__6.1.3 학습된 딥러닝 모델 사용하기
6.2 문장 분류를 위한 CNN 모델
__6.2.1 CNN 모델 개념
__6.2.2 챗봇 문답 데이터 감정 분류 모델 구현
__6.2.3 챗봇 문답 데이터 감정 분류 모델 사용
6.3 개체명 인식을 위한 양방향 LSTM 모델
__6.3.1 RNN
__6.3.2 LSTM
__6.3.3 양방향 LSTM
__6.3.4 개체명 인식
6.4 마치며

 
CHAPTER 7 챗봇 학습툴 만들기
7.1 MySQL 소개
7.2 파이썬으로 데이터베이스 연동하기
__7.2.1 데이터베이스 연결하기
__7.2.2 데이터 조작하기
7.3 챗봇 학습툴 만들기
__7.3.1 프로젝트 구조
__7.3.2 학습용 데이터베이스 설계 및 데이터 테이블 생성
__7.3.3 챗봇 학습 데이터 엑셀 파일 및 DB 연동
7.4 마치며


CHAPTER 8 챗봇 엔진 만들기
8.1 챗봇 엔진 소개
8.2 챗봇 엔진 구조
8.3 전처리 과정
8.4 단어 사전 구축 및 시퀀스 생성
8.5 의도 분류 모델
__8.5.1 의도 분류 모델 학습
__8.5.2 의도 분류 모듈 생성
8.6 개체명 인식 모델 학습
__8.6.1 개체명 인식 모델 학습
__8.6.2 개체명 인식 모듈 생성
8.7 답변 검색
__8.7.1 데이터베이스 제어 모듈 생성
__8.7.2 답변 검색 모듈 생성
8.8 챗봇 엔진 서버 개발
__8.8.1 통신 프로토콜 정의
__8.8.2 다중 접속을 위한 TCP 소켓 서버
__8.8.3 챗봇 테스트 클라이언트 프로그램
8.9 마치며


CHAPTER 9 챗봇 API 만들기
9.1 챗봇 API 소개
9.2 파이썬 Flask
__9.2.1 Hello Flask
__9.2.2 URI 동적 변수
__9.2.3 기본적인 REST API 서비스 구현
9.3 챗봇 API 서버 구현
9.4 마치며


CHAPTER 10 카카오톡 챗봇 만들기
10.1 카카오 아이 오픈빌더 소개
__10.1.1 카카오톡 채널 가입
__10.1.2 카카오 아이 오픈빌더 OBT 신청
__10.1.3 봇 생성
10.2 카카오톡 챗봇 연동
__10.2.1 시나리오와 블록
__10.2.2 스킬
10.3 스킬 사용하기
__10.3.1 스킬 서버 이해하기
__10.3.2 스킬 서버 만들기
__10.3.3 오픈빌더에서 스킬/블록 등록하기
__10.3.4 응답 타입별 JSON 포맷
10.4 챗봇 API 서버에 카카오톡 연동
__10.4.1 챗봇 API 서버 수정
__10.4.2 오픈빌더 폴백 블록 설정 및 스킬 연결
10.5 마치며


CHAPTER 11 네이버톡톡 챗봇 만들기
11.1 네이버톡톡 챗봇 플랫폼 소개
__11.1.1 네이버톡톡 가입
__11.1.2 챗봇 API 설정
11.2 네이버톡톡 Chat Bot API v1
__11.2.1 이벤트 명세
__11.2.2 메시지 타입 명세
__11.2.3 보내기 API 작성
11.3 챗봇 API 서버에 네이버톡톡 연동
__11.3.1 챗봇 API 서버 수정
11.4 마치며


APPENDIX A 개발 환경 구축
A.1 맥에서 파이썬 설치하기
A.2 윈도우에서 파이썬 설치하기
A.3 아나콘다 설치하기
A.4 CLI 환경에서 콘다로 가상 환경 만들기
A.5 기타 패키지 설치하기
A.6 PyCharm 설치 및 프로젝트 생성
 

APPENDIX B AWS에서 챗봇 구동 환경 만들기
B.1 EC2
B.2 RDS

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

728x90
반응형

관련글 더보기

댓글 영역