글 수 94

케라스로 만든 한글 Seq2Seq 챗봇 소스코드

조회 수 585 추천 수 0 2019.07.13 21:35:15


 

https://github.com/deepseasw/seq2seq_chatbot

 

 

 

딥러닝 자연어처리의 대표적인 모델은 역시 Seq2Seq입니다. 문장이 어떤 의미인지 구분하는 분류 모델과 달리, 질문에 맞는 대답 문장을 바로 출력합니다. 하지만 한글로 된 소스코드는 의외로 찾기가 어려운게 사실입니다. 그래서 이번에 제가 만든 케라스 예제를 소개해 드립니다.

 

챗봇 훈련을 위한 데이터는 송영숙님이 공개한 자료를 사용하였습니다. 특히 단어사전을 만들어 문장을 인덱스로 변환하는 방식을 최대한 자세히 설명하였습니다. 역시 주피터 노트북이 이런 면에서는 최고의 도구가 아닐까 합니다^^;

 

Seq2Seq에서 가장 주의해야할 점은 훈련과 예측 모델이 조금 차이가 있다는 것입니다. 훈련시에는 인코더 입력, 디코더 입력, 디코더 출력의 세 가지 데이터가 필요합니다. 반면에 예측시에는 미리 디코더 입력과 디코더 출력을 만들어놓을 수 없습니다. 그래서 LSTM을 한 번씩만 수행하여 이전 출력을 다음 번 입력으로 넣으면서 반복합니다.

 

좀 더 자세한 사항은 소스코드의 주석 및 설명문을 참고하시기 바랍니다.

엮인글 :
List of Articles
제목 글쓴이 날짜 조회 수
GPT2의 1.5B 모델 공개 깊은바다 2019-11-08 52
GPT2로 글을 작성하는 사이트 - StoryAI file 깊은바다 2019-10-11 131
딥러닝 기반 자연어 언어모델 BERT - Colab 실습 코드 포함 file 깊은바다 2019-09-02 404
욕설을 찾는 BERT 모델 - Purifier 깊은바다 2019-08-28 305
딥러닝을 활용한 뉴스 메타 태깅 깊은바다 2019-08-26 143
100억건의 카카오톡 데이터로 
똑똑한 일상대화 인공지능 만들기 - 핑퐁 멀티턴 file 깊은바다 2019-08-20 425
새로운 자연어처리 벤치마크 - SuperGLUE 깊은바다 2019-08-15 214
딥러닝을 사용하여 심심이의 나쁜말 필터링 기능 구현 깊은바다 2019-08-14 206
위키에서 질문의 답을 찾는 딥러닝 모델, 페이스북의 DrQA file 깊은바다 2019-08-03 156
페이스북이 발표한 사전훈련 언어모델 RoBERTa file 깊은바다 2019-07-30 369
케라스로 만든 한글 Seq2Seq 챗봇 소스코드 깊은바다 2019-07-13 585
딥러닝 자연어처리 강의 - Natural Language Processing with PyTorch 깊은바다 2019-07-06 299
딥러닝을 사용하여 의도 및 엔티티를 파악하는 챗봇 소스코드 file 깊은바다 2019-06-25 703
가짜뉴스를 생성 또는 판별하는 딥러닝 모델 - Grover 깊은바다 2019-06-01 335
GPT2를 Colab에서 테스트할 수 있는 코드 깊은바다 2019-05-21 354