메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

처음 배우는 딥러닝 챗봇

챗봇 엔진부터 NLP, 딥러닝, 파이썬, REST API, 카카오톡 연동까지

한빛미디어

집필서

판매중

  • 저자 : 조경래
  • 출간 : 2020-11-01
  • 페이지 : 404 쪽
  • ISBN : 9791162243541
  • 물류코드 :10354
  • 초급 초중급 중급 중고급 고급
4.5점 (49명)
좋아요 : 10

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

 

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

 

 

출판사 리뷰

 

기초부터 꼼꼼하게 익히고 실무까지 유연하게 적용하는 챗봇 입문서 

 

이 책은 파이썬 기본 개요와 웹 개발 지식을 알고 있으며, 한 번이라도 텐서플로/케라스로 딥러닝 모델을 학습해본 경험이 있는 독자들을 대상으로 쓰였습니다. 공부한 내용을 어떻게 활용해야 할지 모르는 독자나 챗봇 개발에 관심이 많은 독자가 쉽게 개념을 이해하고 실습해볼 수 있도록 내용을 구성한 챗봇 개발 입문서입니다. 개발 경험이 있는 독자라면 이 책의 내용을 아주 쉽게 이해할 수 있을 것입니다.

 

입문서 난이도에 맞추어 어려운 개념은 그림과 도식을 최대한 활용해서 설명했으며, 입문자 수준에서 벗어나는 개념은 과감하게 생략하고 기본과 핵심이 되는 내용에 더 집중했습니다. 챗봇을 구현하는 데 필요한 개념과 코드를 개발 순서에 맞게 구성했으며, 이 책을 통해 독자들이 챗봇의 기본 개념과 구현 방법을 알 수 있도록 만들었습니다. 

 

이 책을 읽기 위한 필수 조건은 아니지만 기본적으로 다음 내용을 선수 학습했다면 내용을 이해하는 데 도움이 될 것입니다. 

  • 파이썬 기본 문법
  • 자연어 처리 모델에 대한 이해는 없어도 무관하나 기본적인 딥러닝 모델을 접해본 경험
  • 기본적인 데이터베이스 이해 
  • 기본적인 웹 개발 이해 

 

경험이 부족한 독자라 하더라도 너무 걱정하지 않아도 됩니다. 학습을 하다 이해가 안 되는 부분은 인터넷 자료를 참고하면서 읽어보세요. 반복해서 읽다 보면 어느 순간 이해가 되는 신기한 경험을 하게 될 것입니다.    

 

 

[상세이미지] 처음 배우는 딥러닝 챗봇_700.jpg

 

조경래 저자

조경래

메디컬 챗봇을 개발/운영하는 스타트업 웨저에서 CTO(기술이사)를 맡고 있으며, 임베디드에서 웹 개발까지 다양한 기술 분야에 개발 경험을 갖고 있습니다. 챗봇 엔진을 처음 개발하면서 고생했던 경험들을 재료 삼아 관련 지식을 쉽게 전달하고자 책을 쓰게 되었습니다. 현재 더 많은 지식을 전달하기 위해 여러 권의 책을 준비하고 있습니다.

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

책 제목이 이 책을 잘 설명해주고 있다. 딥러닝 챗봇을 처음 배우는 사람들도 충분히 이 책의 전반적인 부분을 이해하고 예제를 따라 실습할 수 있다. 파이썬을 처음 접하는 사람들은 조금은 힘들겠지만, 그래도 도입부에 별도로 파이썬을 짤막하게나마 설명해줘서 도움이 많이 되는것 같다.

 

딥러닝 분야 중 한글 분석에 대한 내용을 깔끔하게 초보자에 맞춰 설명해준것 같아서 좋았다. 이렇게도 자연어 분석 특히 한국어 분석을 이렇게 설명할 수 있구나 하고 감탄했다. 독자 대상에 맞추어 처음 배우는 내용에 대하여 꼭 필요한 부분은 설명이 잘 되어있고, 난이도가 조금은 필요한 부분은 과감없이 책에 기술하지 않았다고 설명해주는 부분도 난 좋았다. 내가 부족한 부분을 딱 캐치해주는 것 같아서 ㅎㅎ 

 

예제를 따라해보면, 오타도 은근 있는데 이 책은 오타도 거의 없을 정도로 책 퀄리티도 매우 좋다.

다만, 아쉬운건 7장 DB 연동 테스트 환경 및 이후 API 테스트 환경을 구축하는 부분에 대하여 설명이 조금은 부족한 것 같아서 아쉬움이 있다. ㅎㅎ

 

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

 

딥러닝챗봇1.jpg

 

챗봇, 엔진, NLP, 딥러닝, 파이썬, REST API, 카카오톡 연동

 

취미로 코딩 공부를 하면서 한 번쯤은 들어본, 한 번쯤은 공부해보고 싶은, 그러나 섣불리 시작해보기는 어렵겠다고 생각하는 단어들이다. (물론 개인적인 의견이다.)

 

챗봇은 이미 일상에서도 쉽게 경험해볼 수 있는 대상이 되었다. 카카오톡을 통해서 특정 채널을 추가하면 24시간 상담이 가능하다는 알림이 보인다. 궁금한 내용을 입력해보면 그에 맞는 답변도 제법 잘 안내해준다.

 

같은 질문이어도 사람들마나 만드는 문장들이 다를텐데...

컴퓨터가 맥락이란 것을 이해할 수 있나?

 

 

 

이런 궁금증이 늘 나에게 있었다. 물론 엉뚱한 대답을 할 때도 있겠지만 상당히 정확하게 맥락을 이해하는 것을 보면 놀랄 때가 많다. (이와는 별개로 카카오톡이나 구글 홈 미니 같은 장비들이 음성 인식을 하는 것도 정말 놀랍다.... 무서워...)

 

이번에 읽은 "처음 배우는 딥러닝 챗봇(한빛미디어)"은 이러한 궁금증들을 상당 부분 해소해 주었다.

 

딥러닝챗봇2.jpg

 

 

우선 저자가 말하는 이 책의 독자는 파이썬 기본 개요와 웹 개발 지식을 알고 있으며, 한 번이라도 텐서플로 및 케라스로 딥러닝 모델을 학습해본 경험이 있는 독자들을 대상으로 한다고 한다. 파이썬 기본 문법, 기본적인 딥러닝 모델을 접해본 경험, 기본적인 데이터 베이스 이해, 기본적인 웹 개발 이해를 하고 있다면 도움이 많이 된다고 한다.

 

그렇다면 이 책을 읽고 있는 나는? 파이썬 기본 문법은 어느 정도 알고 있다. 텐서플로 및 케라스, 딥러닝 모델에 대해서는 얕게 공부해 보았지만 실습해본 경험은 없고 내용도 잘 기억나지는 않는다. 다시 정리하면 파이썬 기초 수준, 딥러닝에 대해서는 얕은 수준의 독자가 이 책을 읽어본 것으로 보면 된다.

 

1장에서는 챗봇에 대한 기본 개념과 챗봇 활용 사례들을 가볍게 다룬다. 이어서 2장에서는 파이썬의 기초 문법들을 소개해준다. 자료형, 제어문, 함수, 클래스, 모듈, 예외처리 부터 데이터 분석을 위한 넘파이와 팬더스, 맷플롯립 까지 광범위한 내용이지만 기본적인 것들을 가볍게 훑고 지나간다.

 

3장부터는 본격적으로 챗봇에서 사용되는 딥러닝 기술에 대해 소개한다. 자연어 처리 NLP (Natural Language Processing)의 토크나이징 개념을 설명하고 이를 파이썬으로 구현하기 위한 라이브러리 KoNLPy를 소개한다.

 

이어서 몇 가지 형태소 분석기를 간단히 소개한다. Kkma, Komoran, Okt 의 기초적인 구현 코드를 통해 어떻게 라이브러리를 사용하는지 가볍게 살펴볼 수 있었다. 

 

4장에서는 임베딩 개념을 소개한다. 컴퓨터가 자연어를 직접 처리할 수 없어서 자연어를 숫자나 벡터 형태로 변환하는 개념이다. 여기에서 단어 임베딩은 말뭉치에서 각각의 단어를 벡터로 변환하는 기법을 의미한다. 

 

딥러닝챗봇3.jpg

 

 

가장 간단한 임베딩 방법부터 데이터 사이즈가 커지면서 발생하는 문제들을 해결하기 위한 최소 표현, 분산 표현, Word2Vec 모델과 같은 개념들을 재미있게 읽을 수 있었다. 

 

5장에서는 문장 간의 의미가 얼마나 유사한지를 계산하는 텍스트 유사도 판단 기법들을 설명한다. n-gram 유사도, 코사인 유사도 개념을 소개합니다. 기초적인 벡터 계산을 할 수 있다면 많이 어렵지 않게 읽을 수 있었다. 이 책은 챗봇을 만드는게 목적이기 때문에 이런 기법들을 구현하는 방법에 대해서는 자세히 다루지 않고 개념과 라이브러리 사용법(파이썬 코드)에 대해서만 간략히 다룬다.

 

딥러닝챗봇4.jpg

 

라이브러리를 사용하는 파이썬 코드가 제공되면 각각의 행에 대해서 구체적으로 설명해 주어서 코드를 이해하는데 큰 도움이 되었다.

 

6장에서는 챗봇 엔진에 필요한 딥러닝 모델에 대해 다룬다. 케라스, 인공 신경망(ANN: Artificial Neural Network), 합성곱 신경망(CNN: Convolutional Neural Network), 순환 신경망(RNN: Recurrent Neural Network), LSTM(Long Short Term Memory)에 대해 소개하고 있는데... 역시나... 어렵다. 

 

 

이전과 마찬가지로 각 모델에 대한 이론적인 설명은 제공하나 그걸 구현하는 방법에 대한건 이 책의 범위를 벗어나는 일이고 각 라이브러리를 활용하는 방법에 대해 중점적으로 안내해준다. 딥러닝 모델을 구현하는 방법을 공부하고 싶다면 이런 책을 읽어봐야겠지... (오래 전에 읽어서... 그리고 대부분 이해를 못했지만... 그래도  이 책을 얄팍하게나마 읽어봤던게 조금은 도움이 된 것 같다...)

 

https://it4edu.tistory.com/152

 

다시 이 책으로 돌아와서... 7장에서는 챗봇 학습툴을 만들기 위해 MySQL과 파이썬의 연동, 프로젝트 구조에 대해 적혀있다. 챗봇이 학습한 내용들을 데이터베이스에 저장해 놓아 대화가 많아질 수록 답변이 보다 정확해지게 하기 위함이다. 

 

8장부터는 본격적으로 챗봇 개발을 시작하고, 9장으로 넘어가면 파이썬 Flask, REST API, 10장에서는 카카오톡 챗봇, 11장에서는 네이버톡톡 챗봇을 만들어보는 과정을 알아본다. 

 

생각보다 두껍지는 않은 책(400쪽 정도)임에도 챗봇을 구현하기 위해 필요한 광범위한 내용들(NLP, 딥러닝, REST API, 카카오톡 연동)을 다루고 있다. 책에서 담고자 하는 목적에 맞지 않는 부분은 과감히 생략하여 알짜 내용들을 만나볼 수 있었다. (물론 더 깊은 공부를 하려면 각각의 독립적인 책들을 구해서 읽어봐야겠지...)

 

챗봇을 만드는 프로젝트를 통해 이 다양한 내용들과 개발 과정을 접해볼 수 있어서 좋았다. 본격적인 딥러닝 공부에 앞서 입문서 느낌으로 읽어봐도 괜찮은 책인 것 같다. 

 

 

* 제주도 출장다녀올 일이 있었는데, 오고가는 비행기 안에서 재미있게 읽어볼 수 있었다(물론 실습은 빼고!).

 

 

이 서평은 한빛미디어 <나는 리뷰어다 2022> 서평단 활동으로 무상으로 도서를 제공받아 작성하였습니다. 서평단 활동과 별개로 저의 관심과 필요에 따라 책을 읽고 객관적으로 서평을 작성하려고 노력하였습니다.

 

 

사실 처음에 파이썬 문법.. 넘파이 사용법.. 토크나이징.. 이런 것 부터 시작을 해서 진짜 입문서구나!! 라고 생각했다가 뒤로 갈수록 퀄리티에 많이 놀랐던 책이었습니다. DB제어 모듈도 따로 만들고.. 챗봇 엔진에 학습 디비를 연동하고.. 등등 정말 챗봇 서비스를 만드려고 할 때 필요할 내용들이 들어가 있어요. 뒤로 갈수록 통신 프로토콜이며.. 다중 접속을 위한 TCP 소켓 서버 구축, Flask를 이용한 챗봇 API 만들기 등등.. 생각보다 엄청 디테일해서 놀랐었습니다. 뒤에는 카카오톡 챗봇 만들기나 AWS로 챗봇 구동 환경 만들기 등을 설명을 해주고 있구요.

현재 머신러닝 엔지니어로 근무를 하면서 종종 내가 맡고있는 업무 말고 전체적인 지식이 필요한 경우들이 종종 있었습니다. 예를 들자면 웹 데모 페이지 만들기 같은 것들... 그럴때마다 현재 서비스 되고 있는 것들의 전체적인 내용을 알 수 있으면 좋겠다고 생각을 했었는데 이 책은 그렇게 실습을 할 수 있도록 되어있어서 참신하고 좋았어요. 최근에 읽은 책들도 그렇고, 시중에 나와있는 책들은 대부분 이론 위주의 책이었는데, 이렇게 서비스를 A-Z까지 설명해주고 있어서 와 나도 사이드 프로젝트로 한번 챗봇을 만들어볼까?! 라고 생각했습니다.

 

 

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

장점

1.    입문자 친화적인 서적으로 문법에 약하거나 자연어 처리에 미숙한 사람도 접근하기 쉬우며, 특히 자연어 중 한국어를 기반으로 분석하며 한국어 데이터를 전처리 하기 위해 대중적으로 사용되는 KoNLPy 모듈 소개하여 자연어를 처리하는 방법을 간략하게 배울 수 있음

2.    텍스트에 대한 머신러닝을 위해 학습에 필수적으로 사용되는 임베딩 기법과 분석에 용이한 유사도를이해할 수 있으며 최종적으로 학습 시키는 기법으로 CNN, RNN, LSTM등을 이해 할 수있다.

3.    최종적으로 쳇봇을 학습 시키기 위한 DB설계와Flask를 이용한 사용자와의 인터페이스, 쳇봇 엔진을 통해간략하게 쳇봇 시스템을 구현할 수 있음

 

단점

1.    쳇봇에 대한 기본적인 원리를 이해하고자 하는 책으로 상급자에게는 부적합함

 

 

후기

 

1.    텍스트 마이닝을 배운 경험이 있어 분석하는 방법은 알고있었으나 딥러닝을 통한 자연어를 학습원리에 대하여 부족한 느낌이 있었는데 이 책을 접하게 되었으며 기본적인 CNN, LSTM과 같은 학습기법의 원리를 알고 있다면 쳇봇을 대략적 원리를 이해하는데 하루면 충분하며 독자가 직접 해보는 환경도 잘 구성되어 있어 자연어를 처음 입문하는사람에게 좋은 서적이라 생각함

 

20220331_124754.jpg

 

북 리뷰를 써야 되어서가 아니라, 나도 북 리뷰를 보고 책을 사는 한 독자로서 북 리뷰는 항상 잘 쓰고 싶다. 

그리고 오래 되어서 담긴 정보가 쓸모 없어진 책이 아니라면 어떤 기술 서적이든 읽어서 나쁠 책은 별로 없다고 생각한다.

어쨌거나 정보들이 담겨있으니까. 

 

하지만 모든 사람들이 갖고 있는 지식이나 배경이 같지는 않다.
그래서 당연하게도 어떤 사람에게는 크게 도움이 되지 않는 내용일 수는 있다.

 

그래서 보통 어떤 사람은 이 책을 사야하고 어떤 사람은 사지 말아야 하는 책인지 명시를 해야겠다고 생각하고 글을 쓰는 편인데,

이 책을 굳이 한 문장으로 소개하자면...

파이썬과 머신러닝, 딥러닝을 처음 공부하던 어린 시절의 나에게 선물하고 싶은 책인 것 같다. 

 

그리고 누가 읽어야 되냐면...

인공지능이라는 분야에 발을 들이거나 호기심에 공부를 하게 되어서 어느 정도 초기 공부가 이뤄진 사람이 읽으면 좋을 것 같은 책이다. 

 

왜 그렇게 생각하는가

공부할 때는 목적성이 있어야 한다고 생각하는 편이다. 그래야 공부할 때 동기 부여가 되어서 지치지 않고 꾸준히 공부를 할 수 있다고 생각한다. 

 

어릴 때는 수학이 정말 재미가 없었는데, 공부하면서 "이걸 배워서 어따 써?"라는 생각이 계속 들었기 때문이다. 

중고등학교 시절에 공부했던 다른 과목들도 마찬가지겠지만 수학은 특히 그렇게 느껴졌다. 

 

어쨌거나 우리에게는 "뭔가 하기 위해서", "뭔가 이뤄내기 위해서" 공부를 한다는 자기 확신적 동기부여가 필요할 때가 있는데, 

이는 딥러닝 이란걸 공부할 때도 마찬가지이다.

 

아마 처음 이 분야를 공부하는 사람들은(아마 대체로 비전공자) 파이썬과 같이 딥러닝 개념을 공부하면서 간단한 모델을 돌려보면서 신기하다고 생각할 수 있지만 관련 업무를 하지 않는 이상 거기서 그칠 수 있다. 

 

그리고 "그래서 이거 공부해서 어떻게 쓸건데?"라는 질문을 던지는 그 순간에  그 질문에 대답중 하나를 할 수 있는 책이라고 생각한다. 

그 대답은 이거다. "파이썬과 딥러닝을 공부하면 이런 챗봇 서비스를 만들어서 실제로 사용해볼 수 있어요!"

 

책의 내용

이 책은 정말 순서대로 읽으면서 따라 해보면 되는 책이다. 

딱 파이썬과 딥러닝에 대해 초기 공부가 이뤄진 사람이 읽으면 좋을 것 같다. 

아마 강의 한 가지 정도는 끝까지 들었고, 파이썬 기본서 한 권, 머신러닝/딥러닝 개념이 들어있는 기본서 한 권 정도는 다 공부한 상태일 것이다. 

 

책의 구성은 아주 좋다고 생각하는데, 

  • 처음에는 이제 슬슬 어느정도 잊어버렸을 법한, 그리고 이 책에서 보여주는 뭔가를 만들어 보기 위한 파이썬 문법을 다시 한번 되새기게 해준다.
  • 그 다음 챗봇을 만들기 위한 첫 단계로 토크나이징부터 설명을 해준다. NLP에 대한 설명으로 들어가는 것이다.
  • 그다음은 임베딩이다. 토크나이징은 보통 직관적으로 이해하기가 쉬울 수 있으나 임베딩을 왜 해야 하는지 잘 와닿지 않을 수 있기 때문에 설명을 해주면서 방법을 쉽게 알려준다.
  • 그다음 문장유사도에 대해 이해하기 쉬운 도식과 그림과 함께 설명을 하고
  • 챗봇 엔진에 필요한 딥러닝 모델로 넘어간다. 딥러닝 개념을 간단하게 설명한 후 챗봇 을 반들기 위한 딥러닝에 대해서 설명을 해준다.
  • 뒷 부분에서는 공부한 내용을 서비스로 이어서 연결하기 위한 내용을 다룬다. 
  • MySQL을 파이썬코드로 다루는 법을 다루고 이를 학습과 연결한다.
  • 이제 엔진을 만들어야한다. 그동안 다루고 공부한 내용들을 종합하여 엔진을 만드는 부분을 길게 설명해준다.
  • 그리고 실제 서비스를 하기 위해서는 실제 이 엔진이 탑재되는 서버를 빼놓을 수 없다. 보통은 처음 공부를 해보면 여기까지 연결을 짓기가 어려울 수 있다.
  • 하지만 이 책에서는 어떻게 서비스를 할 지 프로토콜을 정의하고 소켓서버를 만들고 Flask로 API를 만드는 데 까지 다룬다.
  • 이 책의 마지막 부분은 카카오와 네이버 서비스를 이용해 챗봇을 만드는법을 다룬다.

친절한 EBS선생님 같은 느낌이다. EBS는 모두에게 공평하고 쉽고 친절한 선생님이 될 수 있다. 이 책도 그렇다.

 

항상 전체 흐름이 어떻게 돌아가는지를 이해하고 공부하는 일을 중요하다고 생각한다.

이 책은 모델을 만들고 실제 이 서비스를 어떻게 탑재해서 실질적으로 사용을 하는지까지 다루기 때문에

처음 파이썬을 이용한 코딩을 배우고, 머신러닝 딥러닝 모델을 배우는 데 성공한 학습자에게 더할 나위없는 책이 되지 않을 까 한다.

 

물론 당연하게도 이 책에서 다루는 개별적인 개념들은 각각이 방대하고 시간을 많이 들여서 공부를 해야 하기 때문에 이 책 만으로 모든걸 배웠다고 하기는 어려울 수 있다.

그러나 꼭 필요한 개념들을 연결하여 내가 “뭔가 만들었다" 라는 성취감을 느끼기에는 좋을 것 같다는 생각이 든다.

 

 

 

출처: https://mokpolar.tistory.com/18 [TOUCHING ELEPHANT]

 

챗봇은 최근 스마트폰과 비대면 시대가 맞물리게 되면서 점점 더 부각되고 있는 기술 중 하나 같다.

 

 

" 전 세계적으로도 챗봇시장은 계속해서 확대되고 있으며, 2024년에는 94억달러 규모로 시장이 형성 될것..."
 - <처음 배우는 딥러닝 챗봇> 중 일부..

 

챗봇은 책에서도 채터(Chatter)와 로봇(Robot)의 합성어로 대화하는 로봇이라고 정의하고 있다.

 

해당 내용은 책의 "챕터1 - 챗봇 입문하기" 중에 나오고 있는 내용으로 챗봇에 대한 전반적인 개념 설명을 해주고 있다.

 

그리고 챗봇은 주로 파이썬으로 대부분 구축이 되고 있는데,

"챕터2 - 파이썬 시작하기"에서는 대한 간단한 설명과 파이썬에 대한 기본적인 개념을 설명 해주고 있다. 파이썬에 대한 깊은 이해을 하려면 이 챕터만으로 부족하고 별도의 책으로 공부를 더해보고 실습을 더 많이 해봐야하지만, 해당 챕터로 입문하기엔 나쁜점은 없는 것다.

 

챕터3 - 토크나이징

해당 챕터는 단어들을 토큰(token)이라고 부르고 토큰의 단위는 토크나이징 방버에 따라 달라질수 있지만 일반적으로 일정한 의미가 있는 가장 작은 정보 단위로 결정됩니다.

 

책에서는 한국어 토크나이징에 대한 라이브러리 KoNLPy(코엔엘파이)에 대해서도 설명해주고 있다. 그외에도 한국에서 만든 여러가지의 라이브러리들(Kkma/Komoran 등등)에 대한 설명들이 있어서 꽤나 신기했다.

챕터4-임베딩

임베딩이란 단어나 문장을 어떤 값들로 수치화해서 벡터 공간으로 표현하는 과정을 의미한다고 한다.

컴퓨터가 인식할 수 있는 단어들을 숫자값으로 만들어서 그에 대응하게 만들어주는것다. 이런 임베딩에대한 기법과 장단점등을 책에서는 설명해주고 있다. 

 

챕터5 - 텍스트 유사도 

임베딩으로 각 단어들의 벡터를 구하고 다음 벡터 간의 거리를 계산하는 방법으로 단어 간의 의미가 얼마나 유사한지 계산할수 있다고 한다. 임베딩은 즉 단어들을 묶어서 수치화했다면 그 묶인 단어들의 조합으로 문장을 만들게 될텐데 이런 문장들의 유사도를 계산할수 있어야한다고 한다.

 

 

이후에 챕터들에서는 실제로 챗봇엔진 만들기를 진행하게 된다.

 

챕터6 - 챗봇엔진에 대한 필요한 딥러닝모델

챕터7 - 챗봇 학습툴 만들기

챕터8 - 챗봇 엔진만들기

챕터9 - 챗봇 API 만들기

 

이후에는 기존에 서비스 되고 있는 카톡과 네이버 톡톡 챗봇을 만들어 보며 책이 마무리 된다.

챕터10 - 카톡 챗봇 만들기

챕터11 - 네이버톡톡 챗봇만들기

 

그외에 부록이 있다.

부록 A 개발환경 구축

부록 B AWS에서 챗봇 구동 환경 만들기

 

 

이렇게 전체적으로 보니

 

챕터1~5에서는 챗봇에 대한 개념설명과 파이썬에 대한 설명 그리고 챗봇에 필요한 기능에 대한 설명들을 해주며

 이후엔 실제적으로 간단한 자체 챗봇엔진을 만들며 책이 마무리가 된다.

 

나도 지금까지 파이썬에 대한 관심과 챗봇에 대한 호기심이 있었는데 깊이 알려고 한다면 더 많은 시간과 노력이 필요하겠지만, 간단하게 챗봇이 어떻게 동작하는가?에대한 호기심은 살짝 해결된거같다.

 

 

 

 

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

 

 

http://www.yes24.com/Product/Goods/94462359

 

처음 배우는 딥러닝 챗봇 - YES24

비대면 시대를 이끄는 챗봇 기술, 한 권의 책으로 만나다!이 책은 챗봇 엔진부터 NLP, 딥러닝, REST API, 카카오톡 연동에 이르기까지 챗봇에 필요한 기술을 한 권으로 만나볼 수 있는 챗봇 개발 입

www.yes24.com


15.jpg

 

요즘 워낙 인공지능이 대세이다 보니 관련한 다양한 서적이 출간되고 있는 것 같다. 관심을 가지고 여러 책을 읽어봤었는데 대부분 복잡한 수학적 개념부터 시작하기 때문에 상당히 읽기 어려웠던 기억이 난다. 물론 간단한 샘플로 같이 설명하고 있지만 테스트 환경 구성도 어렵고 시간도 많이 걸리는 듯한 느낌을 받았다. 제대로 배운다면 수학적인 지식을 기반으로 기본 개념을 이해하고 환경을 구성하는 것이 맞겠지만 실제 테스트에 들어가기 전에 지치는 듯한 느낌을 강하게 받았던 생각이 든다.

 

이 책은 다른 책들과는 조금 다른 느낌인 것 같다. 일단 복잡한 인공지능 개념이나 수식은 최대한 배제되어 있고, 많은 부분 직접 확인할 수 샘플로 구성되어 있다. 테스트를 위한 샘플도 python으로 조금만 개발해본 사람이라면 별다른 어려움없이 자신이 사용하던 환경 그대로 테스트가 가능하다. 따라서 일단 기본적인 개념 이해와 동작 확인을 쉽게 할 수 있기 때문에 훨씬 수월하게 책을 읽어갈 수 있었던 것 같다.

 

책은 총 11개의 챕터로 구성되어 있다.  1장과 2장에서는 챗봇에 대한 이해와 챗봇의 활용사례를 설명하고, 파이썬에 대한 기본적인 소개를 하고 있다. 챗봇과 파이썬에 대한 기본적인 지식이 있다면 이 부분을 건너뛰어도 되겠지만 그렇더라도 개념을 확인하는 차원에서 빠르게 읽고 넘어가면 좋을 것 같다. 3장부터 5장까지는 한글문장 처리를 위한 개념과 라이브러리, 그리고 실제 사용 예제를 설명한다. 학교 다닐 때 한글 형태소 분석을 하는 연구실이 있었는데 이 책에서 설명하는 라이브러리 사용만으로 한글 형태소 분리 및 텍스트 유사도까지 쉽게 구현할 수 있어서 상당히 흥미로운 것 같다. 이 부분까지가 기본적인 한글 문장 분석으로 볼 수 있을 것 같다.

 

6장과 7장에서는 챗봇 엔진에 필요한 딥러닝 모델과 챗봇 학습툴 만드는 과정을 설명한다. 한글 문장 분석을 위한 딥러닝 분류 모델을 만드는 방법과 문장 분류를 위한 CNN 모델에 대한 설명, 그리고 개체명 인식을 위한 양방향 LSTM 모델까지 다양한 개념과 어떻게 python으로 구현할 수 있는지 샘플을 이용하여 잘 설명하고 있다. 또한 챗봇 학습툴을 만들기 위해 mysql을 이용한 데이타베이스 연동, 학습데이타 생성 및 관련한 데이타베이스 작업 등을  설명한다. 특히 mysql에 대해 제대로 알지 못하더라도 기본적인 명령어와 문법을 설명하고 있기 때문에 쉽게 따라할 수 있다.

 

8장부터 11장까지는 7장까지 학습한 내용을 기반으로 챗봇 엔진과 챗봇 API을 만드는 과정을 설명한다. 그리고 이를 응용하여 카카오톡 챗봇과 네이버톡톡 챗봇을 만드는 과정을 설명한다. 특히 카카오톡 챗봇과 네이버톡톡 챗봇을 만들기 위해 회원가입부터 API를 사용하는 방법까지 자세히 설명하고 있기 때문에 쉽게 따라하고 결과를 확인할 수 있는 것 같다.

 

챗봇은 chatter와 robot의 합성으로 대화하는 로봇으로 정의할 수 있다. 이미 다양한 고객센터에서 텍스트나 음성으로 고객을 응대하고 있고 그 영역이 점점 넓어지고 있다고 할 수 있다. 이 책에서 설명하는 내용을 차근차근 따라한다면 챗봇의 동작방식과 제작 방식을 쉽게 이해하고 실제 경험할 수 있을 것 같다. 그리고 자신만의 챗봇을 만들어 새로운 영역에 적용해 볼 수도 있지 않을까 생각한다.

 

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

 

 

[크기변환]chatbot.jpg

 

 

 

 

 

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

책 소개

비대면 기술이 점점 중요해지는 요즘 카카오톡과 네이버 톡톡 등을 선두로 챗봇 시장이 점점 커지고 있다.

이 책은 챗봇의 가장 기초부터 실제 엔진과 API 그리고 최종적으로 AWS 등을 통한 환경 만들기까지를 다루고 있다.

 

또한 실습 위주의 내용으로 딥러닝 초반에 겪는 이론의 난해함을 해소시켜 누구든 쉽게 접근할 수 있게 한다.
"처음 배우는 딥러닝 챗봇" 제목처럼 시작부터 실제 상용 챗봇 서비스까지 모든 것을 한번에 해결할 수 있게 한다.

대상 독자

챗봇 전반적인 내용을 다루고 있기 때문에 "처음 배우는" 독자들이 쉽게 접근할 수 있을 것이다.

 

 

다만 초반 환경설정과 라이브러리 설치에 조금의 어려움을 겪을 순 있다.
프로그래밍에 완전 초보라면 약간의 삽질과 인내심을 필요로 한다.

 

 

 

다루는 내용

크게 챗봇의 사례, 파이썬 기초, 챗봇 제작, AWS 환경 구성 등을 다루고 있다.
사례를 통해 챗봇의 앞으로 가능성과, 개발의 동기를 부여하며,
머신러닝 분야에서 메인이 되는 파이썬 언어의 기초를 다루어 익숙하지 않은 독자들을 배려한다.

 

 

또한 챗봇 기초가 되는 자연어 처리부터, 엔진까지 처음부터 끝까지 모든 것을 다루며,
AWS 환경 구축을 통해 실제 상용 서비스까지 이루어지도록 도움을 준다.

 

 

생각 및 느낀점

알파고 이후로 딥러닝이란 단어는 뭐든 해결해주는 마법같은 단어가 되었다. 

 

하지만 실제 딥러닝을 시작하기 위해 책을 편 순간 어려워 보이는 수학 공식들의 나열로 많은 사람들의 발을 멈추게 하였다.
이 책은 특이하게도 이런 수학적인 접근을 과감하게 생략하였다.

실제 챗봇 구현을 위한 라이브러리의 사용과 서비스에 중점을 두었기 때문에

수학이라는 장벽 없이 큰 구조의 이해를 돕는 이런 부분이 마음에 들었다.

 

또한 각 기능을 구현하기 위하여 관련된 라이브러리 하나만 다루지 않고,
여러 라이브러리를 직접 다뤄보고 장단점을 알려주기 때문에
상황에 맞는 라이브러리를 선택하는데 도움을 준다.

 

아직 딥러닝을 입문해보지 않았다면, 또는 딥러닝의 수학적 압박으로 여태 망설이고 있었다면 이 책을 꼭 읽어보길 추천한다.

 

 

 

IMG_4039.JPG

 

 

인공지능, 머신러닝, 딥러닝 기술이 많이 퍼져있다고 생각하는데 막상 제가 그 기술들을 익히고 배우자니 막막한 것이 사실이었습니다. 이번 한빛미디어에서 나온 “처음 배우는 딥러닝 챗봇"은 그런 저에게 인공지능 입문의 문을 열어준 책이라 할 수 있겠습니다.

챗봇은 이제 많은 분야에서 적극적으로 활용되고 있습니다. 제가 쓰는 현대카드에서는 헨리라는 챗봇을 통해 결제금액 확인이나 한도조회, 즉시결제 등 신용카드를 쓰면서 필요한 업무들을 24시간 내가 원할때 필요한 정보를 전달해주고 있습니다.

이 책에서도 설명하길 의료, 상담, 금융, 쇼핑, 마케팅 등 많은 분야에서 챗봇을 사용하고 있다고 합니다. 지금과 같은 코로나 시대에서는 비대면 기술인 챗봇이 더 주목받고 있고 앞으로 호라용도가 더 높아질 것임을 자명하고 있습니다.

책의 내용을 실습하기 위해서는 개발환경 구축이 필요한데 부록을 통해 맥, 윈도우 OS에서 파이썬 설치라든가 아나콘다를 통한 가상 환경 만들기도 핵심만 쏙쏙 설명해주어 개발환경 구축하는데 들이는 시간을 많이 절약할 수 있었습니다.

저는 파이썬을 해보아서 챕터2 파이썬 시작하기 부분은 건너뛰었지만 내용이 파이썬 입문서 급으로 좋아서 파이썬을 모르는 분들도 쉽게 배우기 좋을 것이라 생각 됐습니다.

챕터3부터는 본격적으로 파이썬으로 실습을 시작하게 됩니다. 한국어 자연어 처리에 많이 사용하는 KoNLPy 라이브러리를 사용해 한국어 형태소를 분석합니다. Kkma, Komoran, Okt 형태소 분석기를 통해 품사 태그를 추출하고, 명사를 추출하고, 문장 분리도 해볼 수 있습니다. 인식하지 못하는 단어들을 사용자 사전을 통해 추가하는 방법도 간단히 설명해주고 있습니다. 한국어 자연어 처리를 위해 많은 오픈소스 개발자분들이 힘쓰고 있다고 합니다. 저도 실력을 쌓아 보탬이 되고 싶다는 생각이 드네요.

챕터4, 5, 6은 딥러닝 모델에 대해 배우게 됩니다. 단어 임베딩, 텍스트 유사도 계산 부분은 수학적인 부분도 나오기 때문에 어렵게 느껴지실 수 있을 것 같습니다. 고등학교 때 배운 코사인이 이런곳에 사용되었다니 놀라우면서도 수학 공부를 열심히 할 걸이라는 생각을 하게 됩니다. 6장에서 딥러닝 모델과 이론이 많이 나오기 때문에 읽는데 시간이 걸릴 수 있지만 저자께서 개발자 입장에서 이해하기 쉽도록 그림과 라이브러리 활용 수준의 진행을 보여주시기 때문에 차근차근 읽어 나가시면 좋을 것 같습니다.

챕터7부터 챗봇을 만들어보게 됩니다. 챗봇 학습 데이터를 관리하는 툴을 만들어보게 되는데 MySQL DB를 사용해 엑셀 파일로 관리할 수 있는 간단한 툴을 실습하게 되는데 우리가 많이 사용하는 엑셀로 쉽게 학습 데이터를 관리할 수 있다니 참으로 편리하다 말할 수 있겠습니다.

챕터8에서는 챗봇 엔진 만들기를 해보는데 봇 빌더를 이용해 챗봇을 쉽게 만들 수 있지만 챗봇 엔진들이 어떤 원리로 구현되고, 각 전문분야에 맞는 챗봇을 어떻게 구축할 수 있는지에 대한 아이디어와 힌트를 주고 싶다 말합니다. 마지막으로 챗봇 API를 만들고 카카오톡, 네이버톡톡 챗봇과 연동하는 것으로 책이 마무리 됩니다.

제가 다니는 회사도 예약과 상담이 필요한 직종이라 이번에 “처음 배우는 딥러닝 챗봇"을 읽으면서 실습하고 익힌 내용을 토대로 회사에 필요한 챗봇을 만들어볼 예정입니다.

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

 

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

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

초심자를 위한 All-In-One 딥러닝 X 챗봇 개발 지침서

 

딥러닝, 머신러닝 하면 일단 수학이 떠오르면서 몸서리 치는 분들이 많을 겁니다.

이 책은 한권으로 구성된 400여 페이지의 얇은 책이지만

자연어처리, 딥러닝, Flask REST API 구성, 실제 카카오톡 등 서비스 연동까지

실무 개발에 필요한 핵심만을 쏙쏙~ 뽑아서 정리해 둔 훌륭한 지침서입니다.

 

공부에 지쳐있다면, 

그리고 빠르게 산출물을 만들어야 한다면

강력히 추천해 드리는 책입니다!

 

https://blog.naver.com/ds1dbx/222684937766

 

("나는리뷰어다" 활동을 위해 무상으로 제공받은 책을 이용해 내용을 확인하고 리뷰했습니다)

처음배우는 딥러닝 챗봇

 

 

KakaoTalk_20220328_120249325.jpg

 

 

챗봇이라는 것을 개발하기 위한 기본서로서는 손색이 없다.

하지만 한가지 아쉬운것은 챗봇을 개발하기 위해 알아야 할 지식이 너무 많은데,

그것을 한권의 책에 녹여놓기 위해 너무 많은 분야의 정보를 제공하기에는 분량이 너무 부족함이다.

 

KakaoTalk_20220328_120251046.jpg

 

2장에서 챗봇을 개발하기 위해 파이선을 알려주고 있다. 하지만 챗봇개발을 생각한 사람이라면 파이선 정도는

이미 알고 있다는 전재를 깔고 설명하는게 더 좋지 않았을까 하는 생각이 든다.

모든 사용자들에게 너무 친절하게 알려주려고 노력하다보니 내용의 깊이가 약간 아쉬운 책이다.

물론 그렇다고 해서 이 책이 나쁜것은 아니다. 적절한 설명과 이것을 왜 알아야 하는지에 대해서는 잘 나와 있다.

 

KakaoTalk_20220328_120252529.jpg

 

3장부터 6장까지는 챗봇을 만들기 위한 텍스트 토크나이징 부터 유사도 그리고 딥러닝 모델까지 잘 설명이 되어 있고

챗봇 엔진과 API를 만드는 방법이 9장까지 잘 설명 되어 있으며, 카카오톡이나 네이버 톡톡을 이용해서 챗봇을 만드는

과정이 10장,11장에 설명이 되어 있다.

KakaoTalk_20220328_120303701.jpg

전반적으로 챗봇을 어떻게 만드는 구나 라는 관점에서 보면 상당히 좋은 책이나, 실제 챗봇만을 구축하기 위한

기술적인 깊이가 조금 더 설명이 되었으면 어떨까? 하는 생각이 계속 머리속에 맴도는 책이다.

 

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

근래 나온 챗봇 개발 서적 중 개발 핵심에 가까운 책

처음 배우는 딥러닝 챗봇

조경래 지음

 

나는 소프트웨어 개발 22년차로 최근의 인공지능 기술쪽에 빠르게 적응할 수 있었지만 대학원 강의나 시중의 책은 항상 아쉬움이 많았다. 도대체 현장에서는 어떤식으로 개발하는지 알 수가 없었기 때문이다. 그도 그럴 것이 요즘같은 AI 기술에 열광하기 시작한 지가 몇 년이나 되었겠는가? 현장의 지식이 보편화되기에는 턱없이 시간이 짧다는 사실은 분명하다.

시중의 책들은 거의 대부분 파이썬의 기초 영역에 집중해 있다. 또 인공지능 관련 이론 소개는 거의 거기서 거기고, 깊이 있게 파헤쳤다는 책들은 라이브러리 사용법을 알려주는 레퍼런스인 경우가 많았다. 대학과 대학원 수업은 그런 책들을 교재로 사용하니 무슨 기대치가 있으랴.

 

서두가 길었다. 신간서적을 찾아 서점과 도서관을 들락거리며 참 많은 책을 봤지만 단연코 이 책이 가장 현장감이 있다. NLP 라이브러리를 쓰는 방법 정도로 머무르는 것이 아니라 실제로 서버를 만드는 방법, 클라이언트와 연결하는 방법, 카카오, 네이버와 연동하는 방법들이 나와있다.

 

책은 400페이지 정도로 다른책들에 비해 두께도 얇다. 그런데 있을 건 다 있다. 파이썬 기초영역도 다룬다. 참 좋은게 다른 책들은 철편일률적으로 언어 문법을 장황하게 나열했지만 이 책은 NLP를 다루기 위한 실무적인 문법들로 간결하게 앞부분을 채웠다. 개발자로서 너무 맘에 든다. 다른 책들도 제발 이렇게 해줬으면 좋겠다.

KoNLPy의 형태소 분석기의 차이점은 수도 없이 들었지만 이 책만큼 간결한 몇마디로 차이를 알려준 것을 본 적이 없다. 임베딩 기술에 대한 설명도 전에는 제대로 이해 못하던 것을 이 책으로 개념을 확실히 잡을 수 있었다.

중반부 이후부터 본격적인 실전 개발인데 짧은 분량임에도 중요한 내용이 압축되어 있다. 하나씩 따라해 보다보면 겨우 한 장 넘겼는데도 시간이 훌쩍 지난다.

아쉬움이 없는 것은 아니다. 개인적으로 음성 인식 쪽에 대한 자료 찾기가 힘들어서 혹시나 했는데 기대로 그쳤다. 이 책은 의도분석에만 집중했는데 학습이나 시나리오 같은 부분도 좀 다뤄줬으면 하는 생각도 드는데 너무 큰 기대일 지도 모르겠다. 생초보에게는 약간 어려울수도 있다. NLP이론과 코딩에 대한 기초가 약간이라도 있어야 진도가 나갈 것이다.

 

저자 소개가 스타트업 재직중인 이사라는 정도만 나와있는데, 앞으로도 좋은 책이 기대된다. 그저 대기업 누구, 어느 대학 교수 같은 네임밸류에 의존해서 쓴 책들보다 개발자라면 바로 이런 책에 좋아요를 눌러줘야 한다고 생각한다.

 

 

 

 

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

 

 

처음배우는딥러닝챗봇.jpg

 

konlpy.jpg

 

 

제목에서 챗봇이란 단어에 눈길이 간다.

인공지능, 딥러닝이 많은 사람들에 보통명사처럼 회자되면서 가장 친숙하면서도 많이 들어본 적용분야가 챗봇이라 그럴것이다, 아마도...


그 챗봇이라는 것은 자연어처리(NLP : Netural Language Processing) 라는 것에 기초해 개발되어 있다.

자연어처리는 최근의 인공지능 기술이 접목되어 그 이전에 비해 꽤 많이 발전하고 있다. 번역 등에서는 큰 의미있는 진전이 이루어졌지만 아직까지도 사람의 인지사고에 의한 언어사용을 기계적으로 기술적으로 적용하는 것은 많은 어려움과 노력이 따른다.


"처음 배우는 딥러닝 챗봇" 책은 챗봇에 포커싱된 입문서이다.


입문서 답게 많은 부분을 담고 있다.

파이썬 문법도 다루고 있고 NLP의 기본인 토큰나이징, 임베딩, 유사도 관련 내용도 한챕터씩 잡아서 다루고 있고 챗봇 개발에 필요한 딥러닝 모델, 학습툴 그리고 이를 기반으로 한 엔진과 API까지 만들어보고 한국어 자연어처리의 양대산맥인 카카오와 네이버 각각의 생태계에 연동된 챗봇 만드는 방법까지 나열되어 있다.


아마 상용은 아니더라도 아주 기본적인 챗봇에 관한 내용은 이 책으로 가볍게 터치해볼 수 있지 않을까 생각한다.


내가 특정산업과 특정기업에 특화된 자연어처리 엔진을 좀 만들어 본 사람으로서 좀 아쉬운 점은 파이썬 같은 챕터는 빼고 토큰나이징, 임베딩쪽을 좀더 현실적인 데이터에 기반해서 처리하는 부분이 더 많았으면 어땠을까 하는 생각을 해본다.


자연어 처리를 해보니 보통 자연어처리 관련 책이나 자료에서 흔히 사용하거나 예를드는 "네이버 영화 리뷰" 이런것들 말고 현실에서 부딪히는 전처리 과정이나 토큰나이징, 임베딩 과정에서 고민해야하는 부분이 어마무시하게 크다. 국내외 논문들도 찾아보고 하긴 하지만 현실/현업에서 부딪히는 문제는 상상이상이다... 답답할정도로...

in house app을 개발할때는 한땀한땀 이 모든 것을 다 만들어야 하는데(여건과 환경에 따라 그렇지 않는 경우도 있긴 하지만) 그 부분에는 너무나 기본적이고 정석적인 이야기만 책에 담겨 있어 아쉽다.

이 책만 보고서는 한계가 클 것이다, 물론 그부분이 소위 말하는 돈되는 부분이고 각자, 각 업체의 노하우긴 하지만...


그럼에도 불구하고 챗봇이라는 주제로 한정해서 기본적인 시킬과 챗봇 전반적인 부분에 대한 고른 지식을 얻고자 한다면 좋은 길라잡이가 될 것이다.


※ 본 리뷰는 IT 현업개발자가, 한빛미디어 책을 제공받아 작성한 서평입니다.

 

초보자도 손쉽게 챗봇 엔진에서부터 챗봇 API, 학습 DB까지 구축이 가능하도록 챗봇에 대한 제작 과정을 개념에서 부터 실습까지 이해하기 쉽도록 이미지와 코드에 대한 자세한 해설로 쓰여 있어 쉽게 나만의 챗봇 설계할 수 있었다. 특히, 웹 상에 나와있는 손쉽게 챗봇을 만들 수 있는 툴들에서 알 수 없었던 챗봇 엔진이 어떻게 구성되고 어떤 과정을 통해 답변을 하는지에 대한 궁금증을 해결할 수 있었다. 개발에 그치지 않고 실제 비즈니스에 사용 가능하도록 사람들이 많이 접근하여 사용할 수 있도록 카카오톡과 네이버 톡톡 등에 연동 방법까지 친절히 설명해주고 있다. 하지만 기본적으로 파이썬 언어와 텐서플로 및 케라스에 대해서 접한 분들에게 좀 더 적합하기 때문에 아예 관련 분야 지식이 전무하다면 이 책을 활용하기 어렵다고 생각한다. 그치만, 그만큼 초보자들을 위해 챗봇이 어떻게 동작하는지 잘 설명해주고 있는 도서이다. 

  

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

 

원본 리뷰 링크 : https://xaenuecloud.notion.site/911f65f99ac24ccc8a48d6d74f880d32

기초부터 실습까지 자세히 알려주는 책입니다.

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

 

KakaoTalk_20220320_123413011.jpg

 

KakaoTalk_20220320_123413011_01.jpg

 

이 책이 마음에 든 이유는 단순히 챗봇 프레임워크 개발 API만 담은 것이 아니라, 딥러닝의 기초와 파이썬의 활용법 등의 세세한 기초부터 시작하여 고급 API, Rest API 를 넘어 네이버, 카카오톡 챗봇을 사용하는 방법까지 담고 있는 종합책이다. 시중에 이런 책을 구하기가 매우 힘들 뿐더러, 간혹 있더라도 어렵게 설명하는 내용이 많았지만 이 책에는 초보자가 쉽게 접근할 수 있도록 배려하여 만든 책 느낌이 강했다. 또한 요즘 핫한 NLP에 대한 기초적인 부분도 담고 있고, RNN의 개념도 배울 수 있어 뒤에 나오는 챗봇 프레임워크를 좀더 쉽게 이해할 수 있게 만들었다.

 

초보자 분들이라도 도전할 수 있게 구성된 책으로 초보자분들에게 강추하는 책이다. 구성에 비해 비용이 그렇게 비싼 책도 아니니 도전해 보았으면 한다.

 

 

최근 고객센터에 문의 전화를 하면 처음 만나는 상담원은 챗봇입니다.

먼저 챗봇이 처리 할 수 있는 상담 내역을 처리해 주고 챗봇이 처리하지 못하는 경우에 상담원으로 연결해 주는 것을 많이 경험하고 있습니다.

예전에는 텍스트 유형의 챗봇을 많이 만났는데 이제는 텍스트 유형을 넘어 음성까지도 챗봇이 응대하는 시대가 되었네요~

이러한 챗봇이 어떻게 동작하는지 원리가 무척 궁금해서 이 책을 신청하게 되었습니다.

 

이러한 챗봇의 개발 방법은 여러가지 방법론이 있지만 이 책에서는 특정 분야에 적용되는 FAQ에 응대하는 Q&A 챗봇 개발을 다루고 있습니다.

먼저 이러한 챗봇을 개발 한다고 생각을 해 보면 다음과 같은 작업들이 필요할 것으로 예측이 되네요.

1. 문자열에 대한 형태소(단어)를 분리하고

2. 컴퓨터에서는 텍스트를 처리하지 못하기 때문에 이러한 말뭉치(단어)에 대해 숫자로 변환하고

3. 텍스트의 유사도를 계산 하여 질문에 대한 유사도가 높은 답변을 제공해 줄 수 있을 것입니다.

 

이 책에서는 1장부터 5장까지 위의 문제를 다루기 위해서

파이썬을 다뤄 보고, 문자열을 분리하는 Kkma,Komoran,Okt 등을 다루어 보면서 사용자 사전을 구축합니다.

또한 말뭉치를 원핫인코딩,Word2Vec 등을 이용하여 숫자로 변환해 보며 텍스트의 유사도에 대한 확률을 계산하는 n-gram 유사도, 코사인 유사도 등을 이용해서 챗봇 개발에 대한 개념을 충분히 익혀 봅니다.

 

6장 부터는 이러한 개념을 기반으로 챗봇 개발을 진행해 보는데요~

쳇봇 엔진에 필요한 딥러닝 모델인 케라스 사용법을 살펴 보고 챗봇을 학습한 데이터를 저장할 수 있는 데이터베이스 중 가장 쉽게 접근할 수 있는 MySql 의 사용법 등을 다루어 봅니다.

기본적인 사용법을 살펴 본 후에는 본격적으로 챗봇의 엔진을 만들어 보게 되는데요~

챗봇의 엔진 처리 과정인 전처리과정 -> 의도분석 -> 개체명인식 -> 답변검색 (학습DB) -> 답변 출력 과 같은 순서로 하나씩 구현을 해 봅니다.

이때 다중 접속을 위한 TCP 소켓서버 처리 방법등도 상세히 다루고 있어서 많은 사람이 접속하는 경우도 처리 할 수 있도록 구현이 됩니다.

 

예제 소스코드에 대한 설명을 그림으로 이해하기 쉽게 설명하고 있다.

 

 

이렇게 만들어진 서비스는 API를 통해서 다른 서비스와 연결이 가능해야 할것입니다.

9장부터는 이렇게 만들어진 서비스를 API로 만들어 보고 카카오톡과 네이버톡톡에 연동하는 방법등을 살펴 봅니다.

 

서평

이 책은 챗봇 엔진부터 NLP,딥러닝,REST API,카카오톡 연동에 이르기까지 챗봇에 필요한 기술을 한권으로 만나 볼 수 있는 챗봇 개발 입문서입니다.

딥러닝에 관심이 있는 학생이라면 케라스를 이용한 인공신경망,이미지분류,문장 분류를 위한 CNN 모델 등을 살펴 보면서 챗봇을 구현하면서 동작원리를 깨닫게 될 수 있을것 같습니다.

또한 챗봇을 이용해서 상담서비스를 기획하고 있는 기업의 개발 담당자 분들이라도 이 책 한권으로 챗봇 서비스를 구현해 볼 수 있기 때문에 서비스 구축에 도움이 될 수 있겠네요.

초보자라고 해도 하나씩 따라 하면서 챗봇서비스에 푹 빠져 볼 수 있는 입문서로 추천을 합니다.

 

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

이 포스팅은 한빛미디어 ‘나는 리뷰어다’ 서평단에서 도서를 제공받아 꼼꼼히 읽어보고 작성하였습니다.

 

처음배우는딥러닝챗봇 (1).jpg

 

서명 : 처음 배우는 딥러닝 챗봇

저자 : 조경래

출판사 : 한빛미디어

예제 소스 :  https://github.com/keiraydev/chatbot

 

분홍색 귀여운 표지가 인상적이다. 근래 본 인공지능 서적중에 가장 귀여운 것같다. 귀여운 챗봇캐릭터가 엉뚱한 대답을 해줄 것같다.  

 

뒷표지에 관련 도서로 『김기현의 자연어 처리 딥러닝 캠프(파이토치 편)』, 『밑바닥부터 시작하는 딥러닝2』, 『파이썬으로 배우는 딥러닝 교과서』 가 표지에 함께 적혀있던 점이 좋았다. 개인적으로 밑바닥부터 시작하는 딥러닝 시리즈를 좋아하는데 이 책으로 딥러닝+챗봇을 도전하시려는 분들은 위 참고서적을 함께 읽어보았으면 좋겠다.

 

책을 읽고 좋았던 점은 챗봇을 하기 전 챗봇에 대한 소개와 개발 환경 구축이 있던 점입이다. 입문을 할 때 챗봇에 대해서 이해하고 스스로 환경을 구축할 수 있도록 고심을 많이 하였던 것같다. 챗봇에서 활용되는 파이썬 내용도 담겨있고 REST API나 카카오톡, 네이버톡톡 챗봇 만들기도 알려주고 있다.

 

구태여 아쉬운 점을 꼽으라면, 1장에서 개발 환경 구축(부록)의 페이지도 함께 표기해주었으면 좋았을텐데란 생각이 든다. 맨 뒤에 있어서 정말 파이썬 설치도 모르는 분이라면 울면서 책을 덮을 것같다. 그래도 이 책은 친절하다고 알려주고 용기를 주고싶다.

 

그리고 챗봇 서비스를 기획하거나 챗봇에 대해 이해를 하고싶은 분들에게는 핑퐁팀블로그 - 친근하고 귀여운 챗봇 디자인 1편 - 페르소나 편(https://blog.pingpong.us/design-chatbot-persona/)를 추천한다. 챗봇에 어떤 서비스로 활용되고 데이터에 대한 고민도 필요하기에 여러 챗봇의 사례를 살펴보면 도움이 될 것같다. 이 책에서는 Q&A챗봇을 목표로 한다.

 

[챗봇 사례]

 Q&A챗봇에는 어떤 예시가 있을까? 홈페이지를 보면 채널톡이 엄청 많이 늘었다. 카카오 오픈채팅방에서 만날 수 있는 방장봇도 있다. 은행어플에도 챗봇이 활약하고 있다. 실생활에서 챗봇이 사용되는 건 많이 익숙해진 상태인데 어떻게 만들어지고 발전되고 상용화되는지 관심을 기울여보면 좋을 것같다.

 

한적한 주말에 컴퓨터 앞에 앉아 좋아하는 음악을 들으면서 보람찬 주말을 위해 도전하기 좋은 두께이다.  페이지수는 총 403장이다. 

 

파이썬에 대한 내용이 있지만, 책으로 공부하기보다 직접 코드를 실습하는게 더 좋다. 361쪽을 보고 개발 환경을 구축하고 예제 소스로 직접 돌려보면서 공부하면 좋을 것같다. 파이썬 강좌를 듣는걸 추천한다.

 

이 책에서 좋았던 점은 토크나이징부터 임베딩, 텍스트 유사도가 아주 잘 설명이 되어있다. 원-핫 인코딩도식도 이해하기 좋았고, 이후나오는 딥러닝에 대한 설명도 그림으로 설명이 되어있다. 글만 봐서는 아리송할 때가 많은데 그림으로 표현해서 독자의 이해를 도우려고 한 듯하다. 3~6장까지는 기본 지식을 탄탄하게 위해서 반복하거나 다른 책들과 함께 읽으면서 이해를 높이면 좋을 것같다. 코사인 유사도 설명도 수식, 예시, 코드가 매우 상세하게 나와있어서 처음 배울 때 이렇게 배웠으면 더 좋았을텐데란 생각이 들었다.

 

참 재밌게 읽다가 어려웠던 내용을 꼽자면, BIO표기법, MySQL, JSON, Flask 등 이다. 써본 적 있으나 자신이 없었다. 챗봇에 필요한 수준만 다루긴 하지만,  전반적으로 이해가 높아야 책을 따라갈 수 있을 것같다. 이 책을 바탕으로 주변 지식을 넓혀나갈 수 있을 것같다.

 

마지막으로 챗봇을 구상하고 시나리오도 짠 후에 예제코드를 돌려보면 이번 주말에 재밌을 것같다.

 

[ 이 책은 한빛미디어로부터 도서를 제공받은 후 작성하였습니다. ]

오늘 리뷰할 책은 한빛미디어의 '처음 배우는 딥러닝 챗봇'이다.

 

 

책 표지에 적혀있듯 챗봇 엔진부터 파이썬으로 딥러닝 하는 법을 간단히 배우고 

만들어진 챗봇으로 카카오톡 연동까지 할 수 있다.

 

 

기존에 읽어본 책은 딥러닝이나 통계에 대한 자세한 지식이 필요한 경우가 많았다.

근데 이 책은 파이썬을 기본~중급만 하는 사람이라면 누구나 어렵지 않게 따라할 수 있었다.

 

 

목차 순서대로 따라하다보면 어렵지 않게 챗봇을 구현할 수 있다.

책의 소스코드에선 파이썬을 사용하고 있어 다른 언어들보다 가독성도 높은 편이었다.

 

 

네이버 톡톡 챗봇이나 카카오 챗봇 API를 사용하는 방법도 자세하게 나와있다.

 

파이썬으로 챗봇 직접 구현하고 사용하고 싶은 분들!

< 처음 배우는 딥러닝 챗봇 > 추천드립니다:)

#챗봇 #딥러닝 #NLP #자연어 #Flask

 

한빛 출반사의 “처음 배우는 딥러닝 챗봇”를 소개합니다.

 

 

“처음 배우는 딥러닝 챗봇”을 읽어보니 작년 프로젝트 요구사항 때문에, 다급했던 여기저기 찾아보고 연락을 했는데, 당시에 도서가 출간되었으면 큰 도움 받았을텐데...라는 생각을 하게 되더군요. 차기 제품 프로젝트에 들어가는 주요 기능 중에 음성인식과 챗봇 개발이 요구사항이 있었으나 이 방면에는 경험이 전무하기에 관련 기술을 급하게 찾아본 적이 있습니다. 두 기술 모두 유명 스타트업부터 이름만 들어도 알만한 회사에서 이미 솔루션으로 제품화 되어 있었죠. 사실 관련 기술의 기반 지식이 없는 회사에서 마케팅이나 기획팀 요구사항이 있다고 해서 뚝딱하고 기술 개발을 하기란 쉽지 않습니다. 그래서 당시에는 인터넷에서 뒤져본 글들이 정보를 얻는 대부분이었고 NLP와 챗봇을 동시에 다루는 깔끔한 도서가 없을까란 아쉬움이 이었습니다. 그래서 당시에 시기가 맞았다면 이 책을 읽었었다면 어느 정도 정리가 쉽게 되었을텐데...라는 생각을 가지게 되었습니다.

 

자연어 처리와 채봇 API를 동시에 다루고 있는 도서

말 그대로 본 도서는 자연어 처리와 채봇 API를 모두 다루고 있는 도서로 가장 큰 장점을 가집니다. 왜냐하면 솔루션 자체를 구현하는 업무를 하지 않는 이상 제품 개발은 안정된 오픈 소스나 솔루션의 API를 기반으로 구현될텐데, 기존에 자연어 처리를 다루는 도서들의 경우 인공지능 자연어 처리 자체를 주요 다루고 있다보니 이를 학습하기에는 만만치 않은 노력과 시간을 요구하죠. 하지만 챗봇 기능이 제품 개발에서 요구되는 기능 중의 하나인 경우 개발 시간도 충분치 않을뿐더러 코어(core) 기술을 확보하기 보다는 응용 기술을 구현하는 것이 현실입니다. 따라서 저와 같이 제품 개발을 위한 챗봇 구현 관점에서 보면 "처음 배우는 딥러닝 챗봇"는 자연어 처리와 채봇 API를 동시에 다루고 있기 때문에 이 모두를 원하는 내용이 모두 포함된 유용한 도서입니다.

 

구체적으로 어떤 내용들을 다룰까요?

 

- 파이썬 기본 문법

- 자연어 처리 소개

- 챗봇 엔진 개발

- 외부 API 연동

 

도서에서 소개하는 자연어 처리 프레임워크가 파이썬 기반이기 때문에 타 도서와 마찬가지로 도서 초반에는 파이썬 기본 문법을 다룹니다. 허나 예상했겠지만 파이썬 문법에 대해서는 자세한 내용보다는 주요 내용을 빠르게 진행하기에 파이썬 주요 문법은 숙지된 상태에서 본 도서를 학습하는 것이 낫겠죠.

 

자연어 처리 소개

본격적인 내용은 3장부터 자연어 처리 소개로 시작됩니다 3장 토큰 나이징과 4장에서 워드 임베딩, 기본이 되는 원-핫 인코딩와 Word2Vec 이론을, 5장에서는 텍스트 유사도를 소개합니다.

 

 

 

 

NLP라면 배워야 하는 순환 신경망(RNN, Recurrent Neural Network)와 LSTM와 같은 딥러닝 모델은 6장에서 다룹니다. 허나 DRNN이나 GRU, Attention까지 이론을 깊게 들어가진 않습니다. 여기까지가 전체 11장 중에서 6장까지 차지하는 내용입니다.

 

NLP 최신 이론을 깊게 들어가지는 않습니다. 가령 RNN와 LSTM에 대해서 상세한 이론 설명이 분명 있으나 최신 이론은 다루지 않습니다. 이런 기술 방향이 자연어 처리를 다루고 있는 도서와 비교하여 본 도서의 아이덴티티 구분해줍니다. 서두에서 본인의 경험을 말씀드렸는데, 본 도서는 챗봇을 적용하고 싶은데 관련 이론에 대해서 빠르게 습득하기를 원하는 독자에게는 더할 나위 없이 좋은 도서입니다. 가령 저처럼 경험이 전혀 없는데 기획팀과 마케팅 요구사항으로 제품개발을 하려보니 관련 기술 내용을 빠르게 훑고 이해하고자 하는 독자에게 적합한 도서입니다. 그래서 내가 이 책 한권으로 자연어 처리에 대한 A-to-Z를 읽히려는 독자를 위한 도서와는 어느 정도 거리가 있다고 생각하기에 이 부분은 염두에 두어야 합니다.

 

챗봇 API 만들기

이어서 말한다면, 굳이 도서를 읽기 전에 도서 소개에 나온 내용으로 보면 유추할 수도 있죠. "개론과 코드를 차근차근 알려주는 책은 없나요?", "프레임워크로 만드는 챗봇 말고, 밑바닥부터 만들어보는 챗봇 책은 왜 없을까?"... 또한 이런 글도 있습니다. "챗봇 개발서는 챗봇 프레임워크 기반 API 책이 대부분인데, 이 책은 챗봇 엔지 개발부터 챗봇 API 개발, 그리고 많이 사용하는 메신저와 연동까지 다 알려주죠". 앞과는 상반되게 외부 API를 사용한 응용 개발에 대한 내용도 다룬다는 내용입니다.

 

도서의 후반부 내용이 결국 본 도서가 타 자연어 딥러닝 도서와 구분되는 내용이 아닐까 싶습니다. 7장에서 학습용 데이터베이스를 설계하고 데이터 테이블을 만들어 연동하는 것을 배우고, 8장과 9장을 통해서 Flask로 REST API와 챗봇 서버를 만드는 것이 본 도서의 핵심 내용입니다.

 

마지막으로...

개인적으로 자연어 처리 교육을 2개월 간 들으면서 배워야 할 이론들이 꽤 많았다는 생각이 있습니다. 심화 내용에서는 이해도 상당히 애를 먹었던;;; 본 도서가 가진 장점이 분명히 보입니다. 제품 개발을 위해서 빠르게 자연어 처리나 챗봇 기능 구현에 대해서 습득이 필요한 경우 상당히 도움이 되는 도서입니다. 특히 번역서가 아니라서 저자께서 철저히 KoNLPy나 kkma처럼 한국어 대상의 자연어 처리에 대해서 이론을 소개하고 있어서 이 또한 큰 장점입니다. 특히 후반부에 챗봇 서버를 위해 Flask 기반으로 REST API를 만드는 점이나 카카오와 네이버 API 연동을 다루고 있기 때문에, 제품 개발에 많은 도움을 받을 수 있습니다.

 

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

 

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


챗봇(Chatbot) 혹은 대화(Dialog) 모델은 자연어처리 영역 중에서도 가장 서비스가 많이 되고 있는 영역 중 하나입니다. 챗봇마다 적용된 자연어처리 기술은 모두 다르겠지만 어쨌든 많은 곳에서 서비스되고 있지요. 어쩌면 자연어처리의 다른 Task 보다 수요가 많은 분야라고도 볼 수 있겠습니다. 게다가 데이터를 공부하고자 하는 수강생을 맞닥뜨리는 위치에 있다 보니, 챗봇 만들기를 목표로 하는 수강생이 적지 않음을 알게 되기도 합니다.


이번 책은 그런 수강생, 혹은 챗봇을 만들고자 하는 모두에게 자신있게 추천할 수 있는 입문서가 아닌가 합니다. 물론 파이썬을 처음 접하는 사람에게는 다소 어려울 수 있는 내용입니다만, 해당 내용을 어느 정도 파악하고 있는 상태에서 챗봇을 만들고자 한다면 시중에 이보다 더 좋은 입문서는 없는 듯 합니다.


일단 파이썬 기초를 Wrap-up 하고 있기도 하고, 챗봇 기반이 되는 자연어처리 지식들도 빠지지 않고 다루고 있습니다. 물론 이런 부분에 있어서 디테일하게 다루고 있지는 않기 때문에 해당 부분을 자세하게 알고 싶다면 다른 자연어처리 서적을 참고하는 것이 필요합니다.


하지만 해당 책의 목적은 어디까지나 "챗봇 빌딩"이고, 그런 목적이 잘 드러나는 부분은 8장 이후부터가 아닌가 합니다. 챗봇 빌더를 구축하고 API를 만드는 과정이 해당 챕터 이후부터 자세하게 서술되어 있습니다. 챗봇을 처음 구축해보고자 하는 사람도 어렵지 않게 읽어나가면서 실습할 수 있도록 매우 친절하게 구성되어 있습니다. 그리고 카카오, 네이버 등의 챗봇 툴을 사용하여 어떻게 사용자 친화적인 챗봇을 구축할 수 있는 지에 대해서도 잘 나타나 있기도 합니다.


내부적으로도 코드에 대한 주석과 이에 따른 설명이 자세합니다. 그래서 코드 자체를 이해하지 못하더라도 코드 하기 내용을 잘 읽으면 어렵지 않게 이해할 수 있기도 합니다.

그리고 각종 신경망 개념에 대해서도 저자분의 노하우가 들어간 설명이 곁들여져 처음 배우는 사람이라도 어렵지 않게 이해할 수 있도록 구성되어 있다고 생각합니다.


결론적으로 파이썬에 약간 익숙한 상태, 혹은 자연어처리에 사용되는 신경망 개념에 약간 익숙해진 상태에서 챗봇을 구축하고자 하는 사람이라면 해당 서적보다 더 나은 가이드는 시중에 없지 않나 생각해봅니다. 실제로 챗봇 혹은 자연어처리 커뮤니티에서 해당 책을 많이 추천받곤 했는데 이전에 책을 보신 분들께서 해당 서적을 왜 최고로 꼽았는지 알 수 있었습니다. 해당 책을 통해 유익한 챗봇이 더욱 많이 만들어지길 기원해봅니다.

 

인턴으로 3개월 간 근무하면서 자연어 처리, 트랜스포머에 대한 관심이 생겼다. 학과에서 수업을 들었다고 해도, 실무랑 거리가 멀어서 실제로 일을 할 때마다 난관에 부딪히기 일쑤였다. 그러던 도중 <처음 배우는 딥러닝 챗봇> 이라는 책을 만나게 되었고, 스스로 부족했던 개념들을 채우는데 많은 도움을 주었다.

 

책의 전체적인 구성은 챗봇에 대한 전체적인 개요 및 사례소개

챗봇구현을 위해 기본적으로 알아야하는 파이썬 지식

우리가 일상생활에서 사용하는 언어의 의미를 분석해 컴퓨터가 처리할 수 있도록 하는 것을 자연어 처리(NLP)라고 하는데, 자연어처리과정을 상세하게 다루고 있다. 

자연어처리 과정을 지나면 최종목표인 '챗봇'을 만들기 위해 딥러닝모델을 사용한다. 

아무래도 딥러닝모델을 다루다보면 수학...이 조금 나온다는 것

그리고 이론을 보면 이해가 가는데 막상 코드를 보면 이해가 안가는 경우도 종종 생긴 ( 나만 그런가;)

끝으로 카카오, 네이버 챗봇을 구현하는 것으로 책이 마무리 된다. 

 

아무래도 챗봇이라는 것을 구현하려면 파이썬,딥러닝,NLP에 대한 기본적인 이해가 필요하기 때문에 초보자가 따라가기에는 무리가 있지 않을까 생각이 든다.  대신, 딥러닝에 대한 이해가 조금이라도 있는 사람들에게는 유익한 책이 될 것 같다. 이 책을 완독하고 나면 독자가 원하는 기능을 하는 챗봇을 만들 수 있는 기반을 단단히 다질 수 있을거라 생각한다. 

 

 

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

 

대상독자

챗봇, 자연어처리, 딥러닝에 대해 잘 모르지만 관심 있는 파이썬 경험자.

 

 

난이도

책 난이도는 어렵지 않습니다.

초보자를 대상으로 하고 있기 때문에 쉬운 예제를 통하여 잘 설명 하고 있습니다.

저도 RNN 모델에 대한 책은 읽었지만 이해가 되지 않았었는데 이 책의 예제를 보고 바로 이해가 되었습니다.

 

내용

본인이 파이썬에 어느정도 자신이 있거나 현업 개발자라면 패스를 해도 될것 같습니다.

초반부터 간단한 예제로 높을것 같은 벽을 낮게 만들어 주고

소스코드의 자세한 설명으로 관심도를 높여준 다음

원리를 풀어가며 이해도를 높여줬습니다.

저 같은 입문자에게 정말 좋은 책이었습니다.

다른 책은 기존에 만들어져 있는 API를 활용 하는 예제가 대부분이라 엔진 만드는 방법이 어렵다고 생각을 했었습니다.

 

이 책은 엔진을 API로 만들어서 배포하는 방법까지 잘 설명해주고 있습니다.

 

챗봇에 관심있다면 그리고 자연어 처리 입문에 어려움을 겪고 있다면 한번은 꼭 읽어보세요.

 

그 외...

개발 서적이 그렇지만 개발 환경 구성에 가장 많은 시간이 소요 됩니다. 그러다 포기 하는 지경에 이르게 됩니다.

 

이 책도 그런 과정이 있었습니다.

저는 윈도우 환경에서 실습을 하였는데 konlpy를 설치 하여 실행 하는데 여러가지 오류가 발생이 되었습니다.

예를 들면 python 버전에 맞춰서 Pype를 설치 해야 한다거나.

자바 버전이 맞지 않으면 오류가 발생 한다거나.

Python3.9 버전에서의 호환 문제 등.

하지만 이런것이 스트레스보다 하나의 해결 과정으로 생각될 만큼 이 책의 뒷 부분이 궁금했었습니다.

 

오랜만에 재미있는 개발서적을 읽게 되었습니다.

주변에 추천 하고 싶은 책이었어요.

 

책소개

책은 전체적인 구성을 보면 다음과 같이 구성되어 있다.

- 챗봇에 필요한 기초 지식(파이썬, 토크나이징, 딥러닝 모델 등)
- 챗봇 엔진, Rest API 등 챗봇을 예제로 연습하기위한 기본 구성(MySQL, Python Flask 등)
- 네이버/카카오 챗봇 플랫폼과 직접 만든 챗봇 API를 연결

이 책은 코드를 설명하기 전에 기본적인 사상이나 설명을 먼저 기술하고 그것을 코드로 구현한다
이런 방식은 개발자들에게 친숙한 방법이며 이해하기 쉽게 만든다.

KakaoTalk_20211023_203121571.jpg

 

또한 아래 책 내용처럼 챗봇을 구현하기 위해 필요한 사항은 이해하기 쉽게 구성도를 많이
표현해가며 설명하고 있어 꼭 내가 챗봇을 구현하는 프로젝트의 설계를 진행하면서 구현을
완성하는 듯한 느낌을 들게 해준다.
 

KakaoTalk_20211023_203121985.jpg

 

결론적으로 책의 내용은 목차에 나온 것처럼 챗봇에 꼭 필요한 사항만을 이해하기 쉽게
설명하고 있다. 읽으면서 저자의 내공이 느낄 수가 있었다.


총평


책구성: 물 흐르듯이 잘 설계된 책이다.
챗봇을 잘 아는 저자는 최종적으로 카카오나 네이버의 챗봇 연결을 두고
시작은 파이썬의 기본문법부터 시작한다. 그후 토크나이징을위한 파이썬의 라이브러리를
설명하고 점차 임베딩, 텍스트 유사도, 딥러닝 모델로 확장 시켜나간다.
챗봇을 이해할 수 있게 잘 설명되어 있다.

주의점: 다른 책들과 마찬가지로 선수지식이 필요하다.
챗봇에 필요한 기본적인 파이썬, 딥러닝 모델, MySQL, REST API 등 설명하지만 좀 더
깊게 이해하고 학습하기 위해서는 좀 더 깊이있는 공부가 병행해서 되어야 할 것 같다.
나도 읽으면서 검색을 많이 했다. ㅋㅋ

좋은점 : 앞에 구성이 좋은 점은 최고의 장점인거 같다.
또한 전체 흐름외에 단락별 구성되 기본적인 사상을 설명이나 그림으로 표현하고 코드를
중간에 놓은 후 그 코드의 중용한 부분에 대해 빠짐없이 설명하는 구조로 되어 있어
이해하기 정말 편했다.

챗봇이 어떻게 설계되고 구현되는지 궁금했던 나는 아무것도 모르는 상태에서 기본은 이해하는 단계까지는 온것 같다.
또한 딥러닝을 무작정 읽고 공부할때는 몰랐던 부분도 이 책에서 많이 알게 되었다.
후배가 챗봇에 관심있다고 하면 가장 먼저 추천하고 싶다.

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

Dialogflow로 챗봇 만들어서 깃헙올리는 것까진 배웠는데 딥러닝으로 챗봇이 궁금했다 챗봇이 요즘 인기이기도 하고 해보고픈 분야라 신청을 했는데 생각보다 책이 두껍고 종이가 얇다 그만큼 내용이 많다는 이야기 파이썬 기본부터 넘파이, 매트플롯, 케라스로 카카오 챗봇과 네이버톡톡 챗봇까지 해볼 수 있게 짜여져있다 파이썬과 텐서플로우 해봤기에 그닥 어렵지 않게 볼 수 있는거 같다 책의 절반은 파이썬에 할애가 되어 한학기용 수업교재로 써도 좋을 듯하다 중학교 방과후 수업중인데 c를 해본 친구가 파이썬 해보고싶다하여 파이썬 책을 추천해주고 이 책을 보여주었는데 잘 따라하다가 API가 안된다며 다시 해보겠다하는데 로그인 문제같다며 학교가 막혀있는 경우가 있어서 집에가서 해본다 하였다 혼자서 보며 하기에 무리 없는 책인듯하다 그만큼 설명이 잘 되어있다는 이야기 앞으로도 좋은 책 많이 만들어주세요

국내에서 최고라고 생각되는 국내 컨퍼런스를 자주 듣는 편인데, 최근 몇년간 AI 란 주제로 등장하는 것이 챗봇이었다.

AI에 사용되는 기술들은 딥러닝으로 채워져 있고, 우리의 일상에서도 자주 만나게 된다.

컨퍼런스에서의 사례와 달리 실제 내가 접한 챗봇들은 아직까지 별로 잘 와 닿지 못했다.

잘 이해 못한다. 동문서답하기 일수 였다.

내기 문제인가 ? 

가끔 이런 의문이 들기도 한다.

이책을 접한 순간... 챗봇의 원리가 궁금해 지기 시작했다. 

특히 좋은 것은 파이썬으로 따라 할 수 있기 때문이다. 

실전은 해 보는 수밖에 답이 없다. 

뭔지 알아가고자 하는 분들에게, 이책은 딥러닝 챗봇을 배우는 학생에게 훌륭한 선생님이다. 


출처: https://plmis.tistory.com/1267 [맵으로 풀어가는 디지털혁신스토리텔링]



이 책은 우선 파이썬 기본 문법, 기본적인 딥러닝 경험, 기본적인 데이터베이스 이해, 기본적인 웹 개발 이해를 선수지식으로 요구하고 있기에, 아예 코딩을 1도 모르는 분들이 보기는 어려운 책이라고 생각한다. 하지만 파이썬 기본 문법만 알면 따라갈만한 수준으로 설명을 잘 해주시고 계시다.

 

우선 챗봇이라는 것은 의료, 상담, 금융, 쇼핑, 마케팅 등 요즘에는 진짜 많이 쓰이고, 나도 챗봇을 사용해본 경험이 많다. 그리고 내가 위에서 파이썬 기본 문법만 알면 따라갈만한 수준이라고 했는데 사실 챕터2에서 저자님이 파이썬에 대해 어느정도 정리를 해주고 계셔서 파이썬 잘 모르시는 분들도 쉽게 보실수 있을것이라 생각되고, 토크나이징, 임베딩, 텍스트 유사도, 딥러닝 모델 등에 대해 학습하고 챗봇 엔진, 파이썬 Flask 기반의 챗봇api, 카카오톡 챗봇, 네이버톡톡 챗봇 을 직접 만들어보는 실습을 다루고 있다. 추가적으로 APPENDIX B에서는 AWS에서 챗봇 구동 환경을 만드는 강의까지 해주고 있어 챗봇에 관심있는 분들이 보기 좋은 책이라고 생각된다

 



인공지능 기술의 발전으로 여러 분야의 산업들이 새로운 전환점을 맞이하기도 한다. 이미지 분야에선 객체 인식 등의 영역으로 이어지기도 하고, 음성인식, 비서 프로그램등도 새로이 생기고 있다. 여기에 더불어서 하나 뜨고 있는 분야가 있다면 챗봇이다. 이전에는 단순히 기대하는 메세지에 대해서 결과를 출력하는데 그쳤지만 지금은 인공지능의 도입으로 문맥을 분석해서 대답에 반영할수 있어 훨씬 더 다양한 답이 가능한 형태로 나오게 되었다고 보인다. 그렇다면 이런 챗봇은 어떻게 하면 만들수 있을까?

 

 

이 책은 파이썬과 딥러닝 모델을 활용해 챗봇을 만드는 방법을 적어놓은 책이다. 처음에는 챗봇을 만든다는게 어렵고 한 권 안에 다 들어갈 수있을까 의구심이 가득했는데, 책의 내용을 찬찬히 읽어보니 어느정도 납득 갈 정도로 설명을 적어놓고 있어 이 책만 다 읽으면 나름 그럴싸한 챗봇이 완성될수 있을지도 모른다는 생각이 들기도 했다.

 

 

초반에는 간단한 파이썬 이론을 가르쳐주면서 파이썬에 대한 이해를 시킨뒤 중간에는 이 책에 꼭 필수적으로 배워야할 모델인 LSTM위주로 인공지능,딥러닝에 대한 모델 소개를 이해시키고 있었다. 그리고 그 뒤에가 이제 본격적인데, 챗봇을 가동하는 엔진을 제작하는데서 거의 대부분의 페이지를 할애할 만큼 어떻게 챗봇을 만들고 움직일 수 있도록 하는지를 하나하나 차근차근 기능별로 잘 설명하는 모습을 보여주었다.

 

 

그리고 마지막엔 네이버와 카카오톡에서 만든 챗봇을 테스트하여 보여주는 것도 소개해주고 있어 간단한 이론에서부터 실습까지 모든것이 적절하게 잘 어우러진 책이라 생각이 들었다. 물론 그 내용이 모두가 쉽지도 않고 설명이 약간 불편한 부분도 있지만, 한권안에 이리 깔끔하게 정리해서 넣은 것은 꽤나 수준이 높다고 느껴질만 했다.

 

 

사실 챗봇이 약간 생소한 분야라서 한편으로는 의구심이 들기도 했지만 그 속에 들어가는 기술을 보면 꽤나 심오하고 완성도가 높은 작업이라는 게 잘 느껴졌다. 그만큼 내용도 어려운게 있어 쉽게 도전하기 힘든 분야라고 느껴지지만 이 책은 그런 도전을 조금은 쉽게 도와줄 설명이 가득한 책이라는 생각이 든다. 인공지능에 대해 관심이 많은 사람이면 무조건 좋겠지만, 그 중에 자연어 처리에 관심이 많은 사람, 또는 챗봇이나 나만의 봇을 만들고 싶은 사람에게는 꼭 추천하고 싶은 책이다.

준비물 : 파이썬(설치/기초 이해 필요) , 텐서플로 (설치/ 기초 이해 필요), 케라스 ( 설치/ 기초 이해 필요)

챗봇 학습이 필요한 이유는 바로, 아래 3가지이다.

1) 챗봇이 실제 생활에서 많이 쓰여 향 후 실무에서 사용될 가능성이 높다

2) 딥러닝을 배우는데 알고리즘이 적합하다.

3) 파이썬부터 텐서플로, 케라스등을 두루 활용 해보고 -> 연장하여 API 카카오톡 연동등까지 활용이 가능하다.

챗봇은 사진과 같은 대화하는 로봇이다. (Chatter + Robot 의 합성어 이다.)

과거에는 시나리오에만 대응하는 챗봇(요즘 대부분이 이러하다.)에서 점점 실제 자연어를 이해하는 인공지능의 챗봇으로 발전하고 있다.

이는 1)상담 서비스 비용 절감 2)CS업무 자동화를 통한 24시간 상담& 빠른 상담 연결을

가능하게 해주기에, 기업에서도 많은 돈을 투자하고있다.

책은 파이썬을 시작으로 - 토크나이징 - 임베딩 -텍스트 유사도 순으로

기본 강의와 실습이 진행된다.


특히 텍스트 유사도는 과거 github에서

https://github.com/theeluwin/textrankr

작업을 할 때 contributors(기여자들) 중 한명으로 참여한적이 있어 반가웠다.

당시 여러편의 논문을 공부하면서 어렵게 어렵게 공부했는데

책에서는 정말 초보자에게 알맞게 쉽게 정리되어있어

과거 배운항목들을 다시 복습하면서, 이 책이 과거에 있었다면 더 빠르게 길을 찾았을 텐데...하는 아쉬움이 있었다.

(그만큼 정리가 잘되어있고, 초보자에게 기초를 탄탄하게 해준다는 의미이다.)

이후 케라스-CNN-LSTM을 통해 딥러닝 모델을 만들어

MySQL을 통해 학습툴을 - 파이썬의 Komoran을 통한 전처리 엔진을, 이후 API를 완성하여 챗봇을 만든다.

가장 인상깊었던건 마지막에 한국에 맞게

카카오톡 챗봇과

네이버톡톡 챗봇을 만드는 방법이 게시되어있어

실무에서 많이 쓰이는곳에 책 한권으로 기초~실무까지 한방에 해결이 가능하다는 점이다.

책 말머리에는 파이썬 기초가 필요하다 되어있지만,

복습과정을 친절하게 거치기 때문에, 파이썬을 써봤다면 자동으로 기억나게 조경래 작가분이 배려를 해주셨다.

챗봇을 이용한 프로젝트, 학습, 실무를 한다면 200% 추천한다!

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

noname.png

 

플랫폼 모니터링 자동화를 위한 챗봇을 개발하기 위해 이 책을 선택하게 되었습니다.

 

빠르게 챗봇의 구조와 동작 원리를 파악하고 만들어 볼 수 있었습니다.

파이썬을 사용해 챗봇을 개발하는데 파이썬이 익숙하지 않으신 분들이라도 초반부에 파이썬 문법이 간단하게 설명되어 있어 누구든지 쉽게 챗봇을 만들어 볼 수 있습니다.

 

자연어 처리나 딥러닝 모델들이 어렵게 느껴질 수는 있지만 가볍게 보고 만들어 본다는 느낌으로 진행하시면 쉽고 재밌게 만들어 보실 수 있을 것으로 생각합니다.

챗봇을 처음 만들어보시거나 간단한 딥러닝 프로젝트를 진행해 보고 싶은 분들에게 책을 추천드립니다.

 

1. 챗봇 개념

    최근 딥러닝, 머신러닝에 핫하게 떠오르는 언어는 바로 파이썬이죠. 이 책에서도 파이썬으로 딥러닝을 하기 위한 언어로 

선택을 하고 있습니다. 또한 실제로 챗봇의 머리에 해당하는 챗봇 엔진의 구축, 챗봇의 학습 방법, API 구축 방법도 소개하고 있습니다.

저도 실제로 챗봇 프로젝트에 투입하여, 실제 챗봇을 사용한 서비스를 개발한 경험을 하였는데요, 그 곳에서 어렴풋이 익혔던,

챗봇 엔진의 개념을 이 책을 통해서 좀더 확실하게 정리를 하고 나니, 개념에 대한 부분에 이해도가 높아진 것을 느낄 수 있었습니다.

또한 우리가 만든 엔진을가지고, 실제로 카카오톡 또는 네이버 톡톡에서 연동하는 부분까지 설명해 주고 있기 때문에,

실제로 이 책하나로 화면단까지, 개발을 할 수 있는 높은 수준의 챗봇 엔진 구축이 가능하겠다는게 제 의견입니다.

 

2. 조금은 생소한 단어와 수식

    토크나이징, 임베딩, 인공신경망등 개념을 이해해야할 단어들이 다수 등장합니다. 물론 이에 대한 설명도 부가적으로 하고 있지만,

단순 코딩 지식만 가지고는 이 개념들을 이해하기는 무리가 있는듯 보입니다. 그리고 수학에 약한 프로그래머들도 책 중간부에 나오는

딥러닝 파트에서 나오는 학습 수식들을 보면, 이것이 숫자인지, 외계어인지 구분하기 어려운 수식들을 보면서, 잠시 당황할 수도 있습니다.

 

3. 총평

    현재 업계에서 통용되고 있는 챗봇의 개념을 잘 풀어서 설명하고 있다는 느낌을 받았고, 제가 투입되었던 프로젝트와도 

많은 부분 부합되는 부분이 있어서, 현업에서 써먹을 수 있는 부분이 많겠다는 생각이 들었습니다. 또한 챗봇 엔진에 대한 부분과 딥러닝에 

대한 부분에 대한 이론도 함께 설명하고 있어서, 이론 서적을 찾는 개발자에게도 도움이 된다고 생각합니다.

이번 해, <음성 인터페이스를 활용한 캘린더 어플리케이션> 프로젝트에 참여했었다.

당시 나는 데이터 전처리, NLP, NER(개체명 인식)을 담당했었고 나름의 성과를 거두었고, 머신러닝에도 흥미를 가지게 되었다. 맨땅에 헤딩하는 느낌으로 프로젝트를 진행했었기 때문에 기초부터 배우고 싶다는 마음도 있었다.


그런데...

초반 100페이지까지 파이썬의 기본 문법이 나온다. 애초에 딥러닝을 만져볼 생각이었다면 파이썬을 공부한 베이스가 있는 독자일 것인데 전체의 1/4이 넘는 파이썬 기초 강의 내용이 왜 들어있는지 모르겠다. 이 책에서는 정말 기초적인 챗봇 만들기 내용만 들어가 있고, 카카오와 네이버 챗봇 관련 내용도 인터넷 블로그의 내용을 따르면 별 지장 없을, 상정 범위 내의 너무나 간단한 내용들이었다.


그래도...

tensorFlow 파일을 저장하면서 겪었던 어려움과 파편화된 케라스 Docs로 쩔쩔매며 더듬더듬 익혀나갔던 LSTM과 같은 기본적인 이론들이 순차적으로 이해하기 쉽게 쓰여있는 것은 마음에 든다. 확실히 이 책을 읽고 했다면 삽질을 덜 했을 것이다. 내가 무차별적으로 했던 공부가 결국에는 같은 흐름을 타게 된 것이 신기하기도 했다.


총평으로는, '처음 배우는'이라는 말머리를 달고 나왔기에 괜찮을 수 있었지만 아무리 그래도 파이썬 기초 강의 내용은 빼고 책 값이 조금 더 저렴한 게 낫지 않을까 라는 생각이다.

KakaoTalk_20201220_223917360.jpg

 

도서 '처음 배우는 딥러닝 챗봇'은 혹시라도 귀여운 책표지에 반해 호기심에 책을 구매했다가는 큰 후회를 할 수 있는 책이다. 책 내부의 설명을 보면 이런 내용이 있다.

 

이 책은 파이썬 기본 개요와 웹 개발 지식을 알고 있으며,

한 번이라도 텐서플로 및 케라스로 딥러닝 모델을 학습해 본 경험이 있는

독자들을 대상으로 쓰였습니다.

다른 언어로 개발 경험이 있는 독자라면

이 책의 내용을 아주 쉽게 이해할 수 있을 거라 생각합니다.

 - 본문에서 -

 

물론 나는 텐서플로 및 케라스로 딥러닝 모델을 학습해 본 경험이 없으나 다른 언어로 개발을 해본 경험은 있다. 그리고 추가로 책에는 수학적인 내용도 나오는데 고등학교 수학 정도는 알고 있어야 이해하기가 쉽다. 물론 내가 알고 싶은 건 챗봇이 대략적으로 어떻게 동작하는가 하는 거기 때문에 논문 단계의 깊이까지 들어가서 연구 과정이나 원리들을 알 필요는 없다고 생각한다.

 

목차를 보고 책의 두께를 보면 대충 감이 오겠지만 이 책은 챗봇을 알기 위한 넓고 얇은 지식의 인덱스로 가지고 있으면 좋다고 생각한다. 예를 들면 딥러닝 챗봇을 개발하기 위해서는 이런 이런 기술이 필요하고 여기저기에서 가져올 수 있다 등등. 뭐, 당장 챗봇을 만들지 않는다고 해도 나중에 언제가 먼 훗날 만들고 싶은 날이 오면 인터넷 여기저기를 찾아다니기보단 한 권의 책으로 무엇이 필요한지 어떻게 생각하면 되는지 알려주는 이정표 정도의 책으로 생각하면 된다.

 

책의 시작은 파이썬이라는 스크립트의 문법과 사용법으로 시작하는데 꽤나 자세하게 적혀있다. 부록에는 파이썬 설치 방법도 있다. 그리고 이 책은 챗봇을 개발하는데 필요한 기능 위주로 설명이 되어 있어서 파이썬을 배우기 위해 굳이 파이썬 책을 별도로 구입하지 않아도 충분하다. 그리고 책의 예제가 실사용과 동떨어져 이해가 가지 않는 예제가 아닌, 챗봇을 구현하는 내용을 예제로 든 부분이 많아서 파이썬을 공부하면서 챗봇까지 만드는 1석2조의 효과를 얻을 수 있다고 생각한다. 다른 이야기지만 책에 나오는 n-gram유사도라는 게 있는데 대학생이라면 제출한 과제를 어떻게 표절검사를 하며 몇%의 표절이 나오는지 원리를 설명하는 내용도 있다.

 

이 책에서 챗봇을 만드는데 사용하는 데이터베이스는 MySql이며 무료 데이터베이스이다. 이것이 이 책의 또 다른 장점이다. 챗봇을 만들기 위해 사용하는 프로그램과 라이브러리 들을 보면 물론 유료 버전이 있는 것들도 있지만 무료로 이 정도의 기능까지 사용할 수 있는 것을 알려주는 것만으로도 이 책의 가치는 충분하다고 본다.

 

다음으로 책의 진행은 각각의 챗봇에 필요한 모듈들, 각각의 간단한 구현과 설명 및 이름만 들어도 다 아는 네이버, 카카오 API 등 AWS 환경까지 간단하게 설명해 준다. 처음부터 마지막까지 따라 하면 간단한 챗봇을 만들 수 있다. 이 얇은 책 한 권으로 알파고는 만들 수 없지만, 챗봇을 만들고 그 챗봇이 왜 그렇게 동작하는지는 알 수 있게 되는 책이다.

KakaoTalk_20201220_220419422.jpg

 

KakaoTalk_20201220_220419422_11.jpg

이 책은 제목부터 끌렸다.

챗봇이라니!!!

요즘 어떤 어플, 홈페이지를 들어가도 문의를 하려면 거쳐야하는

그 챗봇을 만들 수 있다는 것에 매우 흥미가 생겼다.


- 파이썬 기본문법

- 자연어 처리 모델에 대한 이해는 없어도 무관하나 기본적인 딥러닝 모델을 접해본 경험

- 기본적인 데이터베이스 이해

- 기본적인 웹 개발 이해


저 위에 4가지 항목의 기본기가 있으면 이해가 쉽다는데

여러 책을 리뷰했기에 어느 정도 기본만 알지 많이 알지는 못한다ㅎ;

이 책도 초급과 중급사이의 초중급을 대상으로 한 책이기에

초급정도의 기본기만 안다면 이해하기 수월하다.

 

목차를 쓱 보니

카카오 챗봇 사례

대학병원 챗봇 사례가 눈에 띈다.

 

사례 말고도 카카오톡 챗봇 만들기 챕터도 있어서 활용도 할 수 있다.

 

카카오는 가장 정확도 높은 답변을 찾아주는 챗봇으로

심야나 주말에도 빠르고 정확한 응대가 가능해서

사용자가 자주 물어보는 메뉴는 버튼식으로 제공하여 사용자 편의를 높이고 있다.

 

대학병원에서는 챗봇으로 전산시스템과 연동하여 진료 및 입원 예약 업무를 빠르게 처리 할 수 있고 고객센터 문의가 10%감소하였다고 한다.

이처럼 챗봇은 단순히 문의 뿐만 아니라 의료업무까지 뻗어나가고 있다.

 

 

KakaoTalk_20201220_220419422_07.jpg

 

 

이 책은 파이썬 3버전으로 사용방법을 설명하고 있고

 

일부만 보여주자면 [그림 6-31 LSTM 내부 구조] 처럼 보기 쉽게 깔끔하게 보여준다.

 

직접 카카오톡 챗봇을 만들 수 있고

챗봇 학습이나 플러그인 기능은 다루지 않지만 가벼운 응답 스킬을 알려주고 있다.

 

(도움말 사이트에서 챗봇 학습이나 플러그인 기능을 참고 할 수 있다고 한다.)

 

스킬 서버 예제도 생략없이 보여주기에 활용하기 편하고

 

엔진 연동 결과를 확인하기 위해서 왜 구동시켜야 하는지와 같이 이유도 알려주니 초보자가 접하기 좋다.

챗봇 제작과 관련된 배경설명 및 제작에 필요한 언어, 패키지, NLP 기술, 딥러닝 모델(CNN, RNN)에 대해서도 앞부분에서 모두 짚고 넘어간다. 말 그대로 처음 배우는 딥러닝 챗봇이 궁금한 사람이라면 걱정없이 전 과정을 훑어볼 수 있는 구조다. 

챗봇 엔진 만들기(8장)부터 흥미롭게 읽었다. 현재는 챗봇 빌더가 카카오, 구글, 네이버 할 것 없이 잘 구성되어 있어 자기 환경에 맞게 사용하면 된다. 하지만 그 이면에 빌더가 어떻게 구동하는지 궁금하고 직접 만들어보고 싶은 사람이라면 이 챕터의 내용이 도움이 될 것이다. 책 내용 중 공감하는 부분이 있었다. 챗봇은 보통 특정 분야에서 필요한 특정 목적으로 만들어지기 때문에 제각각 구동 알고리즘과 데이터가 다르다. 우수한 기능을 위해서는 질 좋은 학습 데이터셋이 우선이다. 하지만 실습자 입장에서는 좋은 품질의 데이터셋은 구하기가 힘들다. 또 많은 데이터셋을 구한다고 해도 결국은 어느 정도 수작업이 들어가야지 좋은 품질로 끌어올릴 수 있다. 이 점을 고려해 저자는 룰베이스와 딥러닝 모델을 같이 사용하는 챗봇 엔진을 제안한다. 그리고 나 또한 동의하는 부분이 모든 부분을 딥러닝 모델로 처리하는 것이 능사가 아니라는 점이다. 간단한 상황이라면 직관적으로 룰 베이스로 처리하는 것이 효율적이다. 

 

1608470260130.jpg

 

 

 

딥러닝 책은 실컷 봤다. 또는 이론은 잘 모르겠고 당장 써먹어 보고 싶다!.
어디다 쓰란 말인가?
싶은 의문이 든다면 이 책으로 바로 실습으로 넘어 가보는 것도 좋을 것 같다.

책의 장점으로 꼽을 만한 부분은

1. 국내 카카오와 네이버 챗봇 연동법을 알려준다.
2. 챗봇이라는 기술을 이용하기 위한 기초 기술에 대하여 기본적인 설명을 잘 정리해서 알려줌
3. 예제 소스도 제공 ( https://github.com/keiraydev/chatbot )
4. 당장 실습을 시도 해볼 수 있을 만큼의 설명


책을 쭉 보면서 정작 실제로 적용 해보려고 하면 뭔가 부족할 듯한 부분도 보였는데,
그게 바로 다른 책들이 존재하는 이유려니..하고 생각한다.
대신 이렇게 하나에서 열까지 필요한 부분을 설명해주는 점이 굉장히 친절하다고 느껴진다.

부족한 부분은 하나하나 채워보는 것으로 만족해 보려한다.

챗봇을 만들기 위해 필요한 것이 무엇인지를 알려주는 입문서로서 추천할만 하다고 생각한다.

 

 

처음 배우는 딥러닝 챗봇

 

챗봇의 동작 원리와 개념

딥러닝을 통한 챗봇을 만들기 위한 내부 구조까지

파이썬을 시작으로 밑바닥부터

원리와 필요 요소들을 하나하나 배울 수 있다.

 

 

처음배우는딥러닝챗봇.jpg

 

토크나이징, 임베딩, 텍스트 유사도의

자연어 처리(NLP)에 필요한 개념을 익히고

 

챗봇 엔진을 만들기 위한

딥러닝 모델과 학습툴을 만들게 해준다.

 

더불어 챗봇의 핵심 기술들을

그림과 예제를 통해

쉽고 재미있게 자세히 설명해주고 있는 것 같다.

 

정말 기본적인 것들을

하나하나 알 수 있게 해주는 느낌이라

 

이 책을 다 읽고 나면

실무에 사용할 수 있을 것 같은

챗봇 엔진과 챗봇 API를 개발할 수 있게 되어

실용적인 챗봇을 만들 수 있을 것 같다.

 

어마무시한 돌풍을 일으킬 챗봇을 만들어봐야겠다.

기대하시라... ^^

 

 

책표지.jpg

 

이 책은 파이썬 기본 개요와 함께 웹 개발에 대한 기본 지식을 가지고 있고,

 

한 번이라도 텐서플로 및 케라스로 딥러닝 모델을 학습해본 경험이 있는

 

사람을 대상으로 하고 있습니다.

 

공부한 내용을 어떻게 활용해야 할지 모르는 독자나 챗봇 개발에 관심이

 

많은 독자가 손쉽게 개념을 이해하고 실습해볼 수 있도록 구성되어

 

있습니다.

 

경험이 부족하더라도 충분히 따라 학습할 수 있도록 배려하고 있습니다.

 

반복해서 학습하다 보면 어느 순간에는 이해가 가능하도록 유도하고

 

있어서 재미있습니다.

KakaoTalk_20201220_195007103.jpg

 

 

  챗봇을 해야할 일이 생겼다. 당장 급하게 해야될 일은 아니지만 얘기가 오가고 있는 상황인지라 어떤 것인지 미리 배워둬야 할 필요성이 생긴 것이다. 딥러닝은 아주 조금밖에 모르는 상태이기에 책 제목부터 마음에 들었다. 목차를 살펴봤을 때 챗복API부터 카카오톡, 네이터 챗봇까지 좋은 구성이라 생각했다.

  그러나 책을 받고 나서 내용을 살펴봤을 때는 실망감이 컸다. 가장 먼저 챗봇과 관계없는 내용이 너무 비중을 많이 차지한다. 대부분의 딥러닝 책과 마찬가지로 파이썬의 기본 문법부터 시작하는게 마음에 들지 않는다. 기본 문법을 다 설명해놓고는 더 자세한 내용은 다른 책이나 사이트를 참고하라고 한다. 이렇게 약 150페이지가 별 필요없는 내용이다.  책의 서론에 파이썬 기본 문법을 알고 있으면 내용 이해하는데 도움이 된다고 적혀있다. 물론 필수조건은 아니라고 한다. 개인적으로 이런 책들은 책 값을 높이기 위해 일부러 지면을 늘려야하니 아주 사소한거라도 집어넣으려는 것 같다. 게다가 이미지 학습은 도대체 왜 들어가있는지 모르겠다. 책 가격이 2만6천원인데 쓸데없는 내용은 전부 빼고 정말 필요한 내용만 집어넣고, 기본 문법을 가르치는 예제 코드도 필요없다. 정말 간단하게만 요약시키면 1만5천원에 약 200페이지는 줄일 수 있을 것이다. 이런 점을 제외하고는 정말 챗봇에 필요한 내용을 싹 담고 있다. 

  저자가 메디컬 챗봇을 개발하고 있는 회사의 CTO를 맡고 있다고 해서 그런지 챗봇을 처음 배울려는 사람들에게는 필요한 책이다. 그러나 한정된 지면 안에 방대한 딥러닝 내용을 담기에는 무리가 있겠지만 이 책을 기반으로 딥러닝 챗봇 책이 더 나온다면, 사용법이 어렵더라도 실제 회사에서 적용하고 있는 라이브러리와 모델들을 설명해주었으면 한다. 이제 딥러닝 기초책은 그만 나오고 실제 적용하는 사례들이 들어있는 책이 나왔으면 한다.

 

처음 배우는 딥러닝 챗봇이라는 책은 챗봇을 만들기 위한 기초적인 입문서이다.

기본적으로 파이썬 문법부터 시작을 하여 챗봇 엔진을 구현하기 위한 딥러닝에 대한 간략한 소개와 그 후로는 딥러닝 챗봇을 만들기 위하여 실습하는 구성으로 이루어져있다.

표지에서 볼 수 있듯이 기본적인 딥러닝에 대한 학습부터 해서, REST API, 연동과 같은 실용적인 부분도 알려주기 때문에 책을 따라가다보면 자신만의 챗봇이 만들어 질 수 있다.

 

 

요즘 챗봇을 사용하는 사례가 잦다. 챗봇을 사용하게 되면 상호응답적으로 고객과 소통할 수 있고, 특히 언택트 시대인만큼 기본적인 것들은 챗봇을 활용하여 해결하는 것이 훨씬 도움이 많이된다.

 

 

책은 기본적으로 파이썬에 대한 문법과 응용에 관련하여 아주 간략하게 소개한다. 이 책은 딥러닝 챗봇을 만들어내는 것이기 때문에, 파이썬에 대한 학습이 먼저 이루어져있다면 훨씬 실습하기 수월할 것이다.

 

 

딥러닝을 하기위해서는 결국 딥러닝을 배울 수 밖에 없다. 딥러닝에 대한 기본적인 개요와 실습방법을 자세하지는 않지만 챗봇을 만들기 위해 필수적인 것은 알 수 있으므로 유용하다. 나중에 핸즈온 머신러닝과 같은 책으로 딥러닝에 대한 개념을 숙지할 수 있으면 좋다.

 

 

딥러닝을 이해하기 위해 도표와 같이 내용의 이해를 돕는 사진들이 굉장히 많다. 이해가 가지 않더라도 사진을 통해 이해할 수 있을 것이다.

 

 

가장 마지막에는 이를 카카오톡 API와 연동시켜 마무리하는 작업으로 책이 끝난다. 이 책을 한 번 보면서 챗봇을 만들어보고 싶은 사람들에게 추천할만한 도서이다.

 

 

이 책은 파편화된 파이썬 지식, 딥러닝 지식과 같은 것들을 최대한 활용하여 자신만의 챗봇을 만들어 줄 수 있도록 알려주는 활용서이자, 입문서이다. 자신이 파이썬과 딥러닝에 대한 지식을 일부 알고 있다면 이 책을 보고 활용하여 챗봇을 만들어 보아 실용성있는 프로젝트를 진행하는 것이 도움이 될 것이다.

이 책은 파이썬 기초부터 딥러닝 이론과 구현 방법, 실제 챗봇 구현까지 순서대로 따라 할 수 있게 한다.



책은 전반적으로 예제가 많은데, 예제에 대한 두루뭉실한 설명이 아니라 각 코드마다 어떤 기능을 하고 어떻게 작동하는지 등 자세하게 설명하고 있기 때문에 이해하는데 어렵지 않다.

그리고 딥러닝 개념 같이 이해하기 어려운 부분은 개념을 그림으로 잘 표현하고 있다. 

가장 좋은 점은 번역된 책이 아니라서 어색하지 않았고 자연스럽게 읽히는게 좋았다.
그리고 책에서 사용한 예제에 사용되는 외부 모듈이나 라이브러리도 인터넷에 관련 정보가 많기 때문에 모르면 찾아볼 수 있다.



책의 뒤로 갈수록 DB, 텐서플로, 판다스 등을 사용하는데 이런 것들에 대한 이해가 미리 있어야지 책을 따라갈 수 있을 것이다. 

그리고 딥러닝 초보를 위한 책이어도 모듈이나 딥러닝 관련 내용들은 모르는 것은 관련 내용을 찾아봐야지 따라가야 할 수준의 내용이다. 오탈자나 책의 예제와 소스가 다른 경우도 있는데 이런 점이 아쉬웠다.



딥러닝을 시작하는 초보들에게는 정말 좋은 책이라고 생각한다. 기본 개념부터 구현까지 직접 해볼 수 있어 유용하다 생각한다.

근래에 회사에서 진행했던 프로젝트 중 하나가 바로 이번에 리뷰할 책과 관련된 챗봇 프로젝트였다챗봇생소하지만 생소하지 않고 멀지만 가까운 그런 친구다.


요즘 많은 회사에서 챗봇과 관련해서 서비스를 도입하고 있다왜 챗봇을 사용하게 된 것일까아마도 문의 대응에 소모되는 비용을 절약할 수 있고또한 사용자들로 하여금 다양한 데이터를 효과적으로 수집할 수 있기 때문이라고 생각된다.


더욱이 사람이 사람을 상대하는 일은 굉장히 피로한 일이다사람은 감정적인 생물이며노동의 시간이 흐름에 따라 육신 못지않게 정신적 피로도에 취약한 특징을 가지고 있기 때문이다.

이로 인해 장시간의 상담 업무에 지친 상담사들의 안타까운 사례들이나 혹은 정신적 트라우마에서 자신의 삶의 질이 하락하는 상황에 놓인 노동자들을 어렵지 않게 주변에서 살펴볼 수 있는 실정이다.

그렇기에 이와 관련된 주제로 회사에서 챗봇 프로젝트를 진행하였었다하지만 결과적으로 서비스 런칭은 못되었지만그때 챗봇의 상업적 가치와 특징 등을 많이 배울 수 있었던 것 같다.

그래서 이번에 기회가 닿아 한빛 미디어에서 출간한 처음 배우는 딥러닝 챗봇을 리뷰하게 되었다.


【어떤 독자를 위한 책인가】

 이 책을 몇 가지 키워드로 정리하면 다음과 같다챗봇을 위해 넓은 분야를 가볍게 훑은 책그도 그럴 것이 챗봇에 사용된 딥러닝 기술과 파이썬 그리고 각 플랫폼별 연동 기술은 각각의 주제로만으로도 책 수십 권을 출간할 정도로 방대한 분량의 지식들을 요하는 분야들이다그렇기에 이번 '처음 배우는 딥러닝 챗봇'은 정말 말 그대로 책에 쓰여있는 저자의 의도한 방향으로의 학습방향에 필요한 최소한의 지식들을 나름 잘 정리한 책이다.


솔직히 필자의 입장에서는 이런류의 책을 상당히 환영한다공부란 자고로 재미에서 시작하는 것이다여러분 앞에 어떠한 해설도 없는 민법에 관한 책이 있다고 치자아마 민법을 처음 공부하는 사람에게 그 책은 민법이 얼마나 재미없고 독자에게 안 맞는 학문인지라고 확인 시켜주는 데에 자명한 역할을 할 뿐일 것이다그런데 만약 생활 민법이나 혹은 다양한 판례/사례 등을 통해 민법을 배운다면 법은 어려우나 그 내용은 손쉽게 와닿고 누구든 민법에 쉽게 흥미를 느껴 가벼운 방향부터 학습을 시작할 가능성이 높을 것이다. (예로 민법을 든 이유는 여러분에게 필자가 생활 민법에 대해 어느 정도 지식을 갖췄으면 하는 바람으로 들어보았다.)


그만큼 이번에 출간된 딥러닝 챗봇은 독자들이 흥미를 느끼기에 충분하고 너무 딥하여 실증을 내버릴 그럴 내용은 과감히 덜어낸 책이라 할 수 있었다.


다만 완전 CS 기본도 모르는 독자가 이 책을 접하면 생소한 어휘가 많을 수 있고 이해하는 데에 한계점이 있을 수 있다그렇기에 대략적인 CS에 관한 (학부 2지식이 있는 상태에서 이 책을 공부한다면 효율적인 학습 효과를 얻을 수 있을 것이라 생각된다.


【책의 구성】 '처음 배우는 딥러닝 챗봇'의 책의 구성은 어떠한가.

 이 책은 대략 다음과 같이 총 3개 파트로 나눌 수 있다.




Part 01 (chapter 01 ~ 07)

챗봇 입문에 필요한 배경지식을 배우는 파트

챗봇의 기본적인 개념을 익힌다당연하게 챗봇이 무엇인지 왜 사용되고 있는지 등의 사례 학습을 한다.

챗봇 구현에 필요한 언어인 파이썬에 대해서 배운다. - 솔직히 이 부분은 책을 학습하는 데에 필요한 딱 그 정도 내용만 있기에 만약 파이썬을 전문적으로 배우고 싶다면 파이썬에 대해 정리한 책을 이용하시길 권장함

토크나이징임베딩 , 텍스트 유사도 등을 판별하는 법을 배운다. - 챗봇은 사용자의 대화를 파악하는 게 가장 중요하기에 그 부분의 내용을 다룬 파트이다필자도 이 부분은 처음 공부하는 파트여서 신기한 부분이 꽤 있었다.

챗봇에 사용할 딥러닝 모델과 학습툴 만들기에 대해 학습한다. - RNN, LSTM 등의 방식에 대해서 배우고 추가로 챗봇 학습툴을 만든다이때 엑셀 및 디비 연동 등도 같이 학습한다.




Part 02 (chapter 08)

챗봇 엔진을 직접 만드는 파트

챗봇 엔진의 통상적인 처리 과정을 배운다. - 전처리 과정의도 분석개체명 인식답변 검색답변 출력 등

위에 언급한 각 처리 과정별로 챗봇 엔진의 모듈들을 구현하고 구성하는 방법을 배운다. - 본격적인 코딩 파트

- DB의 답변 검색 모듈 생성제어 모듈 생성 등을 학습한다.

마지막으로 챗봇 서버 모듈 생성 방법에 대해 배운다.




Part 03 (chapter 09 ~ 11)

챗봇 API 서버 구축과 카카오톡 및 네이버 톡톡 봇 만드는 파트

- flask를 사용한 API 서버 구축 방법 학습

카카오톡과 자체 엔진 연동

네이버 톡톡 쳇봇과 자체 엔진 연동


【처음 배우는 딥러닝 챗봇…….

 이번 책을 리뷰하면서 다시금 딥러닝의 대단함과 바야흐로 요즘은 플랫폼 전쟁 시대라는 것을 깨달을 수 있었다솔직히 90~2008년까지는 PC 특히 windows의 시대였다그 이후아이폰이 등장하면서 플랫폼 판도는 완전히 뒤바뀌게 되었고그 후 10년에 걸쳐 웹 기반의 플랫폼의 새로운 시대가 개막되었다수많은 rest-API 그리고 수많은 웹 애플리케이션필자가 알기로는 머지않은 미래에 집에서 네트워크 환경을 통해서 본인의 피시에 게임을 받지 않고도 게임을 할 수 있는 시대가 올 것이라는 전망이 나왔다는 것으로 알고 있다. (필자가 2019 NDC에 참가했을 때 nVidia에서 직접 밝히기도 했었다.) 그만큼 다양한 플랫폼 속에서 누가 플랫폼을 선점하느냐누가보다 효율적인 딥러닝 모델을 만들어내냐가 지금 시대의 가장 화두 되는 쟁점이지 않을까 싶다.


그렇다면 지금 우리가 사는 시대에 우리는 어떻게 대처해야 할까.. 필자가 생각하기에 딥러닝과 AI 판단 로직이 이런 속도로 꾸준히 발전한다면 10년 안에 수많은 분야들이 사라질 것이라고 생각된다대표적으로 의사변호사 등등의 암기와 사고력 그리고 지난 판례와 경우가 업무 판단의 주인 직종들이 사라질 가능성이 높다기계의 엄청난 정확하고 빠른 그리고 방대한 학습 능력은 인간의 처리 능력에 비해 월등히 우세하며 무엇보다 기계는 철저한 확률에 입각하여 동작하기 때문에 인간이 놓치기 쉬운 증후나 실수의 가능성이 현저히 낮기 때문이다. (물론 악의적인 학습 데이터 조작이 없다면 말이다.) 이 말은 즉우리 인간들과 AI, 딥러닝이 어울려 살 날이 머지않았음을 의미한다그렇기에 우리는 앞으로의 시대에 맞는 새로운 직종과 업종 그리고 새로운 윤리 의식을 만들 필요성이 있다고 생각된다

 

 

> 진행에 앞서

딥러닝에 대한 관심이 사실 개인적으로는 많이 높아졌다가, 시간이 지나면서 사그러들기도 했다.

여러 이유가 있겠지만, 그 중 하나는 어려운 수학공식이 반드시 동반해야만 하기 때문인 것과 아무래도 업무적 연관성이 높지 않다고 생각되어서 그런것 같다.

그렇지만, 가끔 괜찮은 기회로 한번씩 접하게 되기도 하는데, 이번이 그랬던 때 라고 생각이 든다.

 

> 책에 대한 간단한 정보

이 책은 딥러닝에 대해서 배우는 것도 맞지만, 좀 더 구체적으로 '챗봇'이라는 매개체를 통해 딥러닝을 좀 더 익히게 된다.

아니 오히려 반대로 '챗봇'을 익히는 데, 양념으로 딥러닝을 곁들이는 느낌도 든다.

그 두 가지 모두에 대해 처음부터 완성까지 이끄는 데 집중을 하고 있는 책이다.

 

> 첫 느낌 및 목차

챗봇을 나타내는 표지 이미지부터 좀 더 친근하게 다가왔다.

사실 딥러닝에 대해서는 아무래도 어려워 하는 사람이 많을 듯 하지만, 이 책을 보면 귀여워보이고, 좀 더 단순해 보여서 일단은 접할 마음이 들게 하는 것만으로도 성공이라고 생각된다.

 

그리고 그 목차를 보면..

 

챗봇 입문하기, 파이썬 시작하기, 토크나이징, 임베딩, 텍스트 유사도, 챗봇 엔진에 필요한 딥러닝 모델, 챗봇 학습툴 만들기, 챗봇 엔진 만들기, 챗봇 API 만들기, 카카오톡 챗봇 만들기, 네이버톡톡 챗봇 만들기까지

엄청나다. 주제들이 모든것을 커버하고 있기 때문이다.

 

게다가 개발환경 구축 및 AWS에서 운영할 수 있도록 돕는 부록까지 수록되어 있으므로, 하나의 챗봇 시스템을 운영하기 위한 절차가 모두 들어가 있다고 생각한다.

 

귀여운 챗봇 이미지의 표지
파이썬의 기본부터 짚는다
머신러닝을 공부한 사람이라면 접했을 케라스
카카오톡까지 연동
상당히 홍보문구가 적절하다고 생각한다

 

 

> 괜찮은 부분

1. 처음 접하는 사용자를 위한 배려와 성취감

입문자를 위해 쓰여진 책이다보니 처음부터 시작 포인트를 잘 잡는것이 중요하다고 생각한다. 물론 중간 과정도 마찬가지이다. 이 책은 그렇게 처음 접하는 사람이 차근히만 진행한다면 막힘없이 진행되도록 잘 돕고 있다. 또한 끝까지 진행했을 때 완성을 할 수 있는 프로젝트 형태이기 때문에 확실히 성취감을 가져다 준다.

 

2. 예제 중심의 구성

예제를 중심으로 구성했기 때문에, 지루할 틈이 없다. 또한 각 예제의 라인에 의미를 설명하여 왜 해당 코드가 필요한지 납득시켜준다. 마치 친절하게 옆에서 차근히 알려주는 느낌이 든다. 끝까지 나갈 연료의 느낌이 든다.

 

3. 책 분량

책이 생각보다 그렇게 두껍지 않다. 그래서 좀 더 편하게 접할 수 있는 느낌이 든다. 필요없는 군더더기는 많이 빼고 다이어트를 잘 한 것 같다.

 

 

> 아쉬운 부분

1. 빠지지 않는 수학

이것은 프로그래머이긴 하지만, 머신러닝, 딥러닝 등을 접할 때 수학에 대한 부분이 많이 나오기 때문에 힘들어하는 사람들은 여전히 나오는 이론이 있기 때문에, 어려워 할 수 있다. 해당 부분을 그래도 최소화 하려고 노력한 듯 보이지만, 여전히 해당 부분은 존재한다는 사실이다.

 

2. 한 눈에 들어오지는 않는 프로젝트 구성

책은 하나의 프로젝트를 진행하는 느낌으로 구성되어 있다. 하지만, 이 책에서 진행할 프로젝트에 대해서는 overview에 대한 내용이 별도로 있지는 않다. 하나씩 진행하다보면 완성되어가는 느낌이다. 따라서 큰 그림이 궁금할 경우에는 기다려야 한다. 끝까지.

 

3. 책 분량

이것은 장점이었지만, 다시 단점이 되기도 한다. 왜냐면, 책 분량의 다이어트로 인해, 필요한 부분까지 많이 생략되었기 때문이다. 트러블 슈팅이 되면 좋겠다고 생각한 부분들이 사라짐으로 인해, 개인이 해당부분은 알아서 해결하고 채워가야 한다. 아니면 해당 도서나 문서를 참고해야 한다. 물론 그러한 능력 또한 독자로서 갖추면 좋은 능력임은 부인할 수 없지만, 다른 곳에 다녀오는 것을 몇 번 반복하다보면, 어느새 완성의 여정에 있어서 메인 로드를 잃어버릴 우려가 있다고 생각한다.

 

> 개인적인 평점

- 가격: 9 / 10

- 내용: 8 / 10

- 디자인: 7 / 10

- 구성: 6 / 10

 

> 정보

저자: 조경래

출판사: 한빛미디어

가격: 26,000원

전체 페이지: 403페이지

 

** 이 리뷰는 "한빛미디어"를 통해 도서를 제공받아 작성하였습니다.

이번에 읽은 책은 한빛미디어의 처음 배우는 딥러닝 챗봇을 읽고 있습니다.

 

KakaoTalk_20201220_020337060.jpg

 

기존에 챗봇을 간략히나마 만들어보았는데 이번에 이 책에서는 딥러닝을 이용한 챗봇을 카카오 오픈 빌더 또는 네이버톡톡으로 구현하는 파트가 있어서 더욱더 관심이 갔습니다.​

 

이 책의 구성 

 

이 책은 챗봇의 대한 이해 및 활용 사례에 대한 내용으로 시작하고 이 책의 예제들이 대부분 파이썬이라서 간략히 파이썬에 대한 문법에 대한 설명이 있고 챕터 3장 ~ 6장까지는 딥러닝에 관련된 토크나이징, 임베딩, 텍스트 유사도 그리고 딥러닝 모델 중에 CNN, LSTM 모델에 대한 내용이 되어 있습니다.그리고 이렇게 그림이 더욱더 이해를 돕고 있어서 좋습니다.​

 

그리고 챕터 7장 이후로는 실제로 챗봇을 만들기 위해서 필요한 데이터베이스 설정과 그리고 실제로 챗봇 엔진에 필요한 핵심 기능과 챗봇엔진이 어떤 방식으로 처리하는지에 대한 내용 그리고 챗봇에 필요한 데이터 사전 구축및 그리고 문장에서의 의도를 분류하는 모델을 실습해 볼 수 있습니다. 

 

​아 그리고 나름 팁으로 브라우저에서 해당 책의 예제를 돌려볼 수도 있는데 구글의 Colaboratory를 사용하면 브라우저에서 Python을 작성하고 실행할 수 있고 무엇보단 학생이든, 데이터 과학자든, AI 연구원이든 무료로 사용할 수 있으니 참고하시면 좋습니다.

 

이 책의 장점

 

첫 번째로는 최대한 독자들을 위해 쉽게 설명을 하려고 노력을 많이 한 것 같습니다.

 

두 번째로는 제일 익숙한 파이썬 언어를 택했고 그리고 후반에는 플라스크 프레임워크를 이용해 REST API를 구성해서 챗봇 엔진 서버도 간략히 구성해 볼 수 있습니다.​

 

세 번째로는 실제로 카카오톡을 이용한 챗봇을 간략하게 따라 해볼 수 있습니다. 그리고 카카오톡 챗봇 연동시에는 다양한 시나리오와 블록 그리고 스킬 서버 또한 구성해서 테스트해볼 수 있게 책에 자세하게 설명이 되었습니다. ​그리고 카카오톡 오픈 빌더에서 제공해 주는 다양한 템플릿을 친절하게 설명이 되었습니다. 더 자세한 건 카카오 오픈 빌더 문서를 봐야겠지만요

 

네 번째로는 네이버 톡톡 챗봇 또한 경험해 볼 수 있는 예제가 있으니 꼭 읽어보시고 실습도 해보시길 바라요.

그리고 개발 환경 구축과 아나콘다 및 CLI 환경에서 가상환경 만드는 법이랑 그리고 요즘 파이썬 개발 툴로 유명한 PyCharm 관련 설치법이랑AWS에서 챗봇 구동 환경 만드는 법도 설명되어 있으니 아마존 클라우드 환경에서도 추후에 챗봇 환경 구성 시에도 도움이 되실 겁니다.

 

​마지막으로다양한 딥러닝 책들이 많이 나왔지만 그래도 이렇게 직접 챗봇을 실습하면서 할 수 있는 책은 진짜 경험하기 힘들거든요.

 

우리가 지금 카카오톡 및 다양한 환경에서 쓰고 있는 챗봇이 어떻게 구성되어 있고 또한 챗봇에서 필요한 딥러닝 모델 등 간략하게 실습 및 설명 또한 쉽게 되어있으니 추후 자기만의 챗봇을 만들고 싶어 하시는 분들께 꼬옥 추천드리고 싶은 책입니다.

 

 

 

이 책의 대상

이 책은 파이썬 기본 개요와 웹 개발 지식을 알고 있으며, 한 번이라도 텐서플로 및 케라스로 딥러닝 모델을 학습해본 경험이 있는 독자들을 대상으로 쓰였습니다.

부한 내용을 어떻게 활용해야 할지 모르는 독자나 챗봇 개발에 관심이 많은 독자가 쉽게 개념을 이해하고 실습해볼 수 있도록 내용을 구성한 챗봇 개발 입문서입니다. 개발 경험이 있는 독자라면 이 책의 내용을 아주 쉽게 이해할 수 있을 것입니다. (출처 - 한빛출판네트워크)

이 책을 읽어야 하는 이유

 

IMG_8306_.jpg

 

  1. 흔하지 않은 챗봇 도서

    요즘 많은 사람들이 인공지능, 딥러닝, 챗봇과 같은 기술에 많은 관심을 가집니다. 저 또한 그렇습니다. 그런데 그것들을 공부하기엔 적당한 자료를 찾기도 어렵고, 눈에 보일 만한 결과를 만드는 것도 어렵습니다.

    YES24에서 '챗봇'으로 검색했을 때 결과가 15개(IT 모바일 분야) 밖에 나오지 않는데 그 중 한 권으로 딥러닝 챗봇이 궁금한 분들에게 큰 도움이 될 것이라 생각됩니다.

  2. 딥러닝 챗봇의 A to Z

     

    IMG_8307_.jpg

     

    두껍지 않은 분량과 너무 어렵지 않도록 난이도를 조절해 파이썬 기초부터 딥러닝 이론을 다루어 딥러닝의 맛을 볼 수 있도록 하였습니다.

    그리고 챗봇 엔진, 카카오톡, 네이버톡톡 챗봇 만들기 과정을 통해 이 책을 따라하기만 해도 챗봇을 만들 수 있어 실습을 중요하게 생각하는 독자의 입장에서 선택하게 되었습니다.

    다만 이 책은 파이썬, 한 번이라도 텐서플로, 케라스로 딥러닝 모델을 학습해본 경험이 있는 독자를 대상으로 쓰여졌기 때문에 초심자가 보기에 전체적인 부분에서 개발이나 딥러닝 분야를 다뤄보지 않은 분들이라면 어렵게 느껴지는 부분도 있을 수 있습니다.

    그러나 경험이 부족하더라도 책의 설명과 인터넷을 통해 반복 학습을 하면 더 학습 효율이 올라갈 것이라 생각됩니다. :)

    목차는 아래와 같습니다.

    CHAPTER 1 챗봇 입문하기 (챗봇의 이해, 활용 사례)

    CHAPTER 2 파이썬 시작하기

    CHAPTER 3 토크나이징

    CHAPTER 4 임베딩

    CHAPTER 5 텍스트 유사도

    CHAPTER 6 챗봇 엔진에 필요한 딥러닝 모델

    CHAPTER 7 챗봇 학습툴 만들기

    CHAPTER 8 챗봇 엔진 만들기

    CHAPTER 9 챗봇 API 만들기

    CHAPTER 10 카카오톡 챗봇 만들기

    CHAPTER 11 네이버톡톡 챗봇 만들기

    APPENDIX A 개발 환경 구축

    APPENDIX B AWS에서 챗봇 구동 환경 만들기

처음 배우는 딥러닝 챗봇

파이썬, 딥러닝, 챗봇에 관심이 있고 만들어보고 싶은 분께 추천드립니다.

 

책을 읽기 전에

'처음 배우는 딥러닝 챗봇'이라는 책 제목을 보고, 상당한 기초 지식을 요구하는 딥러닝을 다루고 있는 도서인 만큼 초심자를 위한 도서는 아닌가? 라는 생각이 들었지만, 목차를 보니 나름 기초부터 다루고 있는 책이라는 생각이 들었습니다.

파이썬 기초부터 딥러닝 심화까지

책의 초반에는 기존 실생활에서의 챗봇 활용 예시 등을 다루고 있는데, 관련된 흥미를 유발하고 기초적인 챗봇에 구조를 이해하는 데 도움이 되었습니다. 또한 단순히 딥러닝을 통해 챗봇을 구현하는 부분만 다루고 있는 것이 아니라, 실제 초심자도 책의 처음부터 끝까지 따라할 수 있도록 파이썬 기초부터 다루고 있는 것이 흥미로웠습니다.

처음부터 끝까지의 구성, 다소 어려운 예제

다만 전체적인 내용이나 특히 중반부 예제들의 경우, 어느 정도 해당 분야에 대한 이해도를 가지고 있어야 쉽게 따라올 수 있는 부분이 몇 군데 있었던 것 같습니다. 사소한 오류가 발생해도 초심자들의 경우 쉽게 해결법을 찾지 못하는 경우가 많은데, 이러한 부분들에 대한 부가적인 설명이 부족했던 것은 다소 아쉬웠습니다.

전공자라면 충분히 마스터할 챗봇 바이블

이러한 단점들을 제외하고, 전체적인 책의 구성이나 내용의 질을 보았을 때 전공자라면 충분히 이해할 수 있는 내용들이 대다수였던 것 같고, 실제로 챗봇을 자신의 프로젝트라 제품에 적용시켜 볼 수 있다는 점이 매력적이었던 것 같습니다.

 

이번에도 한빛미디어에서 보내준 책이다.

나는 리뷰어다 이벤트를 통해서 받았고

책은 챗봇에 대한 내용이다.

챗봇은 경험이 없어서 호기심에 신청했고 리뷰를 하게 되었다.

전체적으로 다 보고 실행해보고 진행한 내용은 아니고 훑어보고

실행해 보고자?하다가 이 책이 그다지 친절한 책이 아니란 것을 알게되고

전체적인 구조에 대해서 이야기 해보겠다.

총 11챕터로 만들어 져있으며

7챕터까지 기본 내용과 이론적인 내용으로 구성되어있고

8챕터부터 챗봇개발관련 부분의 내용이다.

초반부분에 파이썬에 대한 내용으로 꽤 많은 분량을 차지하고 있으며

mysql 실습에 대한 내용도 들어가 있다.

mysql 부분에 대해서는 기본적인 쿼리가 나와있으며 책에 나온 부분만 보면

실습이 불가하다. 책에도 설명이 나와있지만 알아서 디비 설치하고

쿼리보면서 계정만들고 디비설정을 다 해줘야 한다.

기본적으로 시작 하는사람이 쭉 따라하면 기초적인부분은 진행되게끔 하는게

맞지 않나 싶다.

파이썬이나 디비설정이나 이론적인 부분은 빠르게 넘어가고

8챕터부터 따라하면서 맛을 보려 했으나 책의 내용을 그대로 진행해도

설치 못한 라이브러리가 많았다. 하나하나 찾아가면서 설치하느라 시간이 걸렸고

아무래도 앞으로도 걸릴듯 싶어서 실습을 진행하는데 어려움이 있었다.

준비과정에 들어간 설치 코드만이라도 올려보자면 아래와 같다.

conda create -n chatbot python=3.7conda activate chatbot#conda deactivatepip install tensorflow==2.1pip install konlpypip install PyKomoranpip install gensimpip install sklearnpip install seqevalpip install PyMySQLpip install openpyxlpip install pandas pip install xlrdpip install matplotlibpip install flaskpip install requestspip install openpyxlpip install konlpypip install utilspip install --upgrade setuptoolspip install -U setuptoolspip install --upgrade setuptools pippip install Preprocess Xpip install preprocessing pip install tweet-preprocessorpip3 install pillowpip3 install lxmlpip3 install jupyterpip3 install matplotlib

특히 Preprocess 같은경우는 설치 오류가나서 알아보니 나온지 오래된 라이브러리이고

파이썬 3에서는 지원이 안된다는 내용이 있던데...

이런 코드가 왜 있을까?

계속 진행해보려 했으나 책에나온 소스와 실제 다운받은 소스가 다르다는 것을 알게 되었다.

책이 나온지 얼마 안됬는데?? 2020년 11월이 1쇄이니 한달정도 된건데

기간이 많이 지나지 않았음에도 소스코드 그대로 진행하기가 어려웠다.

시간을 좀 들여서라도 진행할까? 했으나 지금 해야할 일이 많아서 챕터 8까지 진행하다가 막힌걸로

이렇게 글을 써본다.

일단 지금 네이버 책 검색해보면 챗봇 관련 책이 별로 없다 그래서 단비 같은 책이라 말할 수 있다.

하지만 혼자 삽질을 해가면서 봐야할 책이다.

만약에 이 책을 보고 공부를 시작한다면 제일 뒷장인 부록A 에서 나온 개발환경 구축을 먼저 보면서

기본적인 개발환경을 구축하고 8챕터부터 챗봇 실습에 대한 내용이니 거기서부터 삽질을 시작 하면

되겠다.

챗봇에 대한 내용은 카카오톡 챗봇, 네이버 톡톡챗봇에 대한 내용이 있어 흥미를 끈다.

최신책이라 제공되는 소스로 빠르게 실행해보면서 결과물을 보며 즐기려 했지만

옛날 소스를 넣은건가?? 자꾸 막히는 부분 뚫느라 시간이 너무 걸려서 그러진 못했다.

뭐 배우는데 삽질은 기본이지만 아쉬운건 아쉬운거다.

나중에 챗봇이 꼭 필요한 일이 있을때 다시 볼 것 같다.

이 책은 한빛미디어로부터 제공받았습니다.

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 상품명 :
처음 배우는 딥러닝 챗봇
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
처음 배우는 딥러닝 챗봇
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
처음 배우는 딥러닝 챗봇
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실

최근 본 상품1