레플리
글 수 283


 

https://medium.com/huggingface/how-to-build-a-state-of-the-art-conversational-ai-with-transfer-learning-2d818ac26313

 

 

 

일상대화 챗봇을 만들 때 가장 어려운 점은 페르소나에 맞게 일관성을 유지하는 것입니다. 예를 들어, 여러 사람의 다이얼로그로 구성된 데이터를 딥러닝 모델로 구현했다고 생각해보겠습니다. 학습이 잘 되었다면 문장과 문장 사이의 문맥은 어느정도 이어집니다. 하지만 방금은 남자였다가 지금은 여자라고 하는 등 하나의 인격을 보여주지 못합니다.

 

NIPS 2018에서 ConvAI2라는 대회가 열렸습니다. 아래와 같이 페르소나에 대한 문장들이 주어집니다. 그러면 거기에 맞게 대화를 이어가는 챗봇을 만들어야 합니다.

 

< Persona >
I am an artist
I have four children
I recently got a cat
I enjoy walking for exercise
I love watching Game of Thrones

< Dialog >
A : Hi
B : Hello! How are you today?
A : I am good thank you, how are you
B : My children and I are watching Game of Thrones

 

 

 

이 대회에서 Hugging Face가 1위를 차지했는데, 자세한 구현방법과 소스코드를 공개했습니다. 우선 사전훈련된 GPT 모델을 가져옵니다. 그리고 페르소나 데이터셋으로 전이학습을 하여 파인튜닝합니다. 언어모델인 GPT에 맞게 입력은 (페르소나 문장들+다이얼로그 ABAB...)가 순서대로 들어갑니다. 출력은 바로 다음 단어가 됩니다. 이 출력 단어를 다시 입력의 끝에 붙여서 넣고, 계속 반복하여 문장을 생성합니다.

 

https://convai.huggingface.co/

 

위의 링크에서 직접 테스트를 해보실 수 있습니다. 랜덤하게 페르소나를 선택하면, 그에 따라 챗봇이 대답을 합니다. 밑의 decoder settings가 High면 최대한 정확하게 문장을 만듭니다. 반대로 Low일 경우 좀 더 다양하게 답변이 나옵니다.

엮인글 :
List of Articles
제목 글쓴이 날짜sort 조회 수
글쓰는 법을 배우는 신경망 깊은바다 2016-03-25 1539
구글의 딥러닝 대화 알고리즘 깊은바다 2016-03-25 3356
딥러닝으로 챗봇 만들기 깊은바다 2017-05-03 3173
단어를 벡터로 변환하는 Word2Vec 깊은바다 2017-05-04 1039
추론이 가능한 딥러닝인 Relational Networks [2] 깊은바다 2017-06-11 2740
딥러닝 RNN으로 구현한 챗봇 깊은바다 2017-08-01 8135
End-To-End Memory Networks - 자연어 질문에 대답하는 모델 [2] 깊은바다 2017-08-21 962
Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용 깊은바다 2017-08-25 2582
문장을 학습하는 딥러닝 RNN의 Seq2Seq 모델 설명 file 깊은바다 2017-09-15 7327
딥러닝 기반 자연어처리 기법의 최근 연구 동향 [2] 깊은바다 2017-12-17 1020
쉽게 씌어진 Word2Vec [2] 깊은바다 2017-12-25 1178
구글 딥러닝 자연어 처리 오픈소스 SyntaxNet file 깊은바다 2017-12-28 2784
딥러닝을 사용한 챗봇 개발방법 정리 file 깊은바다 2018-02-03 25442
한국어 자연어처리를 위한 딥러닝 깊은바다 2018-02-14 3651
딥러닝을 사용한 감성분석기 개발 깊은바다 2018-02-22 1658