처음 배우는 딥러닝 챗봇
챗봇 제작과 관련된 배경설명 및 제작에 필요한 언어, 패키지, NLP 기술, 딥러닝 모델(CNN, RNN)에 대해서도 앞부분에서 모두 짚고 넘어간다. 말 그대로 처음 배우는 딥러닝 챗봇이 궁금한 사람이라면 걱정없이 전 과정을 훑어볼 수 있는 구조다.
챗봇 엔진 만들기(8장)부터 흥미롭게 읽었다. 현재는 챗봇 빌더가 카카오, 구글, 네이버 할 것 없이 잘 구성되어 있어 자기 환경에 맞게 사용하면 된다. 하지만 그 이면에 빌더가 어떻게 구동하는지 궁금하고 직접 만들어보고 싶은 사람이라면 이 챕터의 내용이 도움이 될 것이다. 책 내용 중 공감하는 부분이 있었다. 챗봇은 보통 특정 분야에서 필요한 특정 목적으로 만들어지기 때문에 제각각 구동 알고리즘과 데이터가 다르다. 우수한 기능을 위해서는 질 좋은 학습 데이터셋이 우선이다. 하지만 실습자 입장에서는 좋은 품질의 데이터셋은 구하기가 힘들다. 또 많은 데이터셋을 구한다고 해도 결국은 어느 정도 수작업이 들어가야지 좋은 품질로 끌어올릴 수 있다. 이 점을 고려해 저자는 룰베이스와 딥러닝 모델을 같이 사용하는 챗봇 엔진을 제안한다. 그리고 나 또한 동의하는 부분이 모든 부분을 딥러닝 모델로 처리하는 것이 능사가 아니라는 점이다. 간단한 상황이라면 직관적으로 룰 베이스로 처리하는 것이 효율적이다.
챗봇엔진 제작의 대략적인 구조는 다음과 같다.
전처리를 통해 핵심 품사 정보 추출-의도 분류를 위한 단어 사전 구축-의도 분류 모델 제작(CNN, RNN 등) -개체명 인식 모델 학습-답변 검색
각 단계에 대한 코드와 설명을 참고하면서 자신만의 챗봇 엔진을 제작해볼 수 있다. 또한 챗봇 프레임워크 등을 사용할 때도 매뉴얼을 습득할 때 이런 전체적인 과정을 알고 있으면 좀 더 수월하게 각 단계와 들어가야 하는 파일을 이해할 수 있을 것이다.
이후 내용은 챗봇 API를 만들고 카카오톡 챗봇이나 네이버 챗봇을 만드는 과정이 진행된다. 이 부분에 대해서도 다양하게 적용하고 싶다면 참고하면 되겠다.