레플리
글 수 284


 

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 조회 수
워드 임베딩에 대한 아주 쉬운 설명 - The Illustrated Word2vec 깊은바다 2019-04-09 704
BERT로 토익 문제를 푸는 프로젝트 file 깊은바다 2019-04-30 2283
Jay Alammar의 트랜스포머 한글 번역글 깊은바다 2019-05-09 1065
인간의 언어를 이해하는 기계, NLU 깊은바다 2019-05-17 850
GPT2를 Colab에서 테스트할 수 있는 코드 깊은바다 2019-05-21 1783
가짜뉴스를 생성 또는 판별하는 딥러닝 모델 - Grover 깊은바다 2019-06-01 969
딥러닝을 사용하여 의도 및 엔티티를 파악하는 챗봇 소스코드 file 깊은바다 2019-06-25 2329
딥러닝 자연어처리 강의 - Natural Language Processing with PyTorch 깊은바다 2019-07-06 687
케라스로 만든 한글 Seq2Seq 챗봇 소스코드 깊은바다 2019-07-13 3091
페이스북이 발표한 사전훈련 언어모델 RoBERTa file 깊은바다 2019-07-30 1429
위키에서 질문의 답을 찾는 딥러닝 모델, 페이스북의 DrQA file 깊은바다 2019-08-03 902
딥러닝을 사용하여 심심이의 나쁜말 필터링 기능 구현 깊은바다 2019-08-14 902
새로운 자연어처리 벤치마크 - SuperGLUE 깊은바다 2019-08-15 703
100억건의 카카오톡 데이터로 
똑똑한 일상대화 인공지능 만들기 - 핑퐁 멀티턴 file 깊은바다 2019-08-20 1732
딥러닝을 활용한 뉴스 메타 태깅 깊은바다 2019-08-26 379