레플리
글 수 283

2018 Amazon Prize에서 우승한 Gunrock 소셜봇

조회 수 557 추천 수 0 2018.12.26 23:32:00


K-001.png

 

K-002.png

 

K-003.png

 

https://s3.amazonaws.com/dex-microsites-prod/alexaprize/2018/papers/Gunrock.pdf

 

 

 

2018년 Amazon Prize 대회에서 1등한 팀의 논문입니다. 영화, 동물, 스포츠, 게임, 음악 등 여러 주제에 대해서 잡담을 나누는 소셜봇을 만들었습니다. 지금까지 오픈 도메인 대화에 대한 연구가 많이 이루어졌는데, 최근에는 Seq2Seq로 직접 문장을 생성하는 방식이 큰 주목을 받았습니다. 하지만 일관되게 화제를 유지하거나 먼저 질문하는 등 대화를 이끄는 능력이 부족했습니다. 이를 해결하기 위해 딥러닝과 룰베이스의 하이브리드 방법을 적용하였다고 합니다.

 

문장에서 엔터티를 추출하고 어떤 의미인지 인텐트를 파악하는 것은 LSTM이나 CNN 같은 학습으로 구현합니다. 하지만 대화의 흐름을 관리하고 문장을 생성하는건 직접 규칙에 따라 동작하도록 프로그램으로 되어 있습니다.

 

우선 제일 먼저 인터넷에서 정보를 크롤링하여 지식그래프로 저장합니다. 그리고 질문을 하면 문장에서 핵심이 되는 단어들을 인식합니다. 특정 주제를 물어보는지, 이전 대화와 이어지는 말인지, 아니면 다른 화제로 전환을 하는지 의도를 파악합니다. 그 다음 영화, 동물, 스포츠 같은 카테고리로 분류하고 각각 별도로 구현된 토픽 처리 모듈을 실행합니다. 템플릿으로 미리 답변 문장을 만들고 빈칸에 들어가는 내용을 지식그래프에서 찾아 채웁니다.

 

 

 

실험 결과를 보면 영화와 책, 동물에 대한 이야기가 가장 인기가 있습니다. 그리고 유저가 말한 내용을 인정하고 확인하는 말이 상당히 중요하다고 합니다. 다음과 같이 질문에 대한 답변을 하기 전에 먼저 맞장구를 치는 것이 대화에 몰입하는데 도움이 됩니다.

 

챗봇 : "가장 좋아하는 영화배우가 누구야?"
유저 : "톰 행크스"
챗봇 : "아, 그래. 너가 왜 좋아하는지 알겠다. 탁월한 선택인데. 하지만 난 레오나르도 디카프리오가 매력적인 것 같아."

 

 

 

요즘 딥러닝에서도 자연어처리 분야가 많이 발전하고 있습니다. 하지만 화제에 따라 대화를 유지하는 것은 아직까지 학습으로 구현하기가 어렵습니다. 당분간은 이렇게 규칙 기반과 혼합하는 방식이 효과적으로 쓰일 것이라 생각됩니다.

List of Articles
제목 글쓴이 날짜sort 조회 수
글쓰는 법을 배우는 신경망 깊은바다 2016-03-25 1538
구글의 딥러닝 대화 알고리즘 깊은바다 2016-03-25 3356
딥러닝으로 챗봇 만들기 깊은바다 2017-05-03 3172
단어를 벡터로 변환하는 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 25439
한국어 자연어처리를 위한 딥러닝 깊은바다 2018-02-14 3650
딥러닝을 사용한 감성분석기 개발 깊은바다 2018-02-22 1658