레플리
글 수 295

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

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


image03.png

 

https://github.com/deepseasw/seq2seq_chatbot

 

 

 

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

 

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

 

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

 

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

 

 

 

< 챗봇 개발자 모임 >

- 페이스북 그룹에 가입하시면 챗봇에 대한 최신 정보를 쉽게 받으실 수 있습니다.

https://www.facebook.com/groups/ChatbotDevKR/

엮인글 :
List of Articles
제목 글쓴이 날짜 조회 수
GPT-2를 사용한 텍스트 압축 기법 file 깊은바다 2021-02-19 536
딥러닝 자연어처리 라이브러리 - Pororo file 깊은바다 2021-02-03 2125
스캐터랩의 오픈도메인 챗봇 루다 육아일기 - 모델의 구조 및 동작방식 file 깊은바다 2020-12-30 1435
일상대화 챗봇 레플리카(Replika)의 구현 방식 file 깊은바다 2020-12-22 1663
좋은 응답을 골라내는 모델 만들기 - 핑퐁의 답변매칭 알고리즘 깊은바다 2020-12-10 614
GPT-3를 헬스케어 서비스에 적용했을 때의 문제점들 깊은바다 2020-11-04 750
스캐터랩의 핑퐁팀, 새로운 생성 모델 챗봇 데모 공개 깊은바다 2020-11-02 937
카카오미니의 명령어 분류 방법 깊은바다 2020-10-23 290
딥러닝으로 동네생활 게시글 필터링하기 깊은바다 2020-10-06 444
KoNLPy를 이용하여 Huggingface Transformers 학습하기 깊은바다 2020-09-20 1633
GPT-3 패러다임을 바꿀 미친 성능의 인공지능 등장 및 활용 사례 10가지 깊은바다 2020-09-14 842
GPT3 유료화 가격 공개 file 깊은바다 2020-09-04 1785
GPT-3의 다섯 가지 한계 깊은바다 2020-08-23 1107
그림으로 아주 쉽게 설명한, The Illustrated GPT-2 깊은바다 2020-08-15 2933
한국어로 대화하는 생성 모델의 학습을 위한 여정 - Transformer와 GPT2 깊은바다 2020-08-13 3605