2020.01.08
참고 자료
Top Research Papers In Conversational AI For Chatbots And Intelligent Agent — TOPBOTS : https://www.topbots.com/most-important-conversational-ai-research/
Top Research Papers In Conversational AI for Chatbots And Intelligent Agent
챗봇 관련 연구를 하기 위해, 먼저 챗봇 관련 자료를 조사했다. 가장 먼저 눈에 띈 아티클이 TOPBOTS에서 포스팅한 Top Research Papers In Conversational AI For Chatbots And Intelligent Agent( https://www.topbots.com/most-important-conversational-ai-research/)인데, 2018년에 출간된 챗봇 관련 논문 Top10을 선정하여 직접 summary하고 소개해주고 있다. 순서대로 읽어보려고 하나, 논문을 읽는 데 시간이 너무 오래 걸려 오늘은 3편만 빠르게 읽었다. Abstract, Introduction, Conclusion 정도만 읽었기 때문에 정확한 내용을 파악할 수 없고, 대략적인 연구 내용만 정리하고 나중에 필요한 부분은 자세히 읽기로 하겠다.
1. Personalizing Dialogue Agent : I have a dog, do you have pets too?, Zhang et al., 2018.
아티클에서 가장 먼저 소개된 논문이다. Facebook AI Research team과 MILA에서 제안한 연구이며, PERSONA-CHAT dataset을 이용하여 profile information과, 말하는 사람의 information으로 next utterance를 예측하는 모델을 만들었다. 논문에서 기존의 chit-chat model의 문제점은 1) the lack of a consistent personality, 2) the lack of an explicit long-term memory, 3) a tendency to produce non-specific answer like “I don’t know” 라고 소개하고 있다. 이런 문제점이 chit-chat model이 end-application으로써 멸시되는 이유라고 하면서 이를 해결하기 위한 해법을 제시하고 있다.
논문에서는 PERSONA-CHAT dataset을 통해, 기존 연구보다 더 configurable하고 persistent한 persona를 학습에 사용했다. 이를 profile이라고 부르는 것 같은데, 위에서 말한 문제점을 해결하는데 큰 도움이 되었다고 한다.
ParlAI Git에서 코드와 데이터셋을 다운받을 수 있었는데, 실제로 아래와 같이 대화하는 사람들의 persona가 구분되어 있다. 모델 구조나 코드는 자세히 보지 않았지만 논문 자체에서도 그냥 PERSONA-CHAT dataset의 이점을 중점으로 말해주고 있는 것 같았다.
논문 챕터 4 Models 에서는 ranking model과 generative model을 생성했다. Ranking model은 next utterance로 가능한 후보들을 training set에서 고른다. Generative model은 대화 기록을 고려해서 novel sentences를 생성하고, 단어마다 답을 고려해서 뱉는다.
2. Dialogue learning with human teaching and feedback in end-to-end trainable task-oriented dialogue systems, Liu et al., 2018.
Carnegie Mellon 대학과 Google Research, 그리고 Samsung Research가 공동으로 연구했다. 논문에서, 최근 Task-oriented 대화를 학습하는 가장 보편적인 방식은 supervised pretrained model에 사용자 피드백을 포함한 강화학습을 적용하는 것이라고 했다. 이 연구에는 거기에, online user 대화를 학습시키기 위한 hybrid learning method를 제안한다. 그게 바로, a hybrid imitation, reinforcement learning method이다. user teaching을 통해 에이전트가 오류가 발생한 것을 학습하는 것 같다.
먼저, agent를 dialogue corpora를 통해 supervised learning을 시키고, agent가 mistake를 생성했을시, 피드백을 주는 방식의 reinforcement learning을 차례로 한다.
3. Sounding board: A user-centric and content-driven social chatbot, fang et al., 2018.
이 논문은 다음에 정리.
4. Training millions of personalized dialogue agents, mazare et al., 2018.
Facebook AI 리서치 팀에서 제안한 연구인데, REDDIT dataset을 이용해 기존 persona-based dialogue dataset보다 더 큰 스케일의 end-to-end dialogue system을 개발했다는 내용이다.
논문의 핵심 아이디어는 REDDIT 데이터셋에서 대화를 추출하여 train set을 만들 때, 스레드에서 연속된 주석 쌍을 사용하여 컨텍스트와 응답을 만든 다음 페르소나를 추가하여 학습에 사용했다고 한다. persona를 데이터셋에 포함하여 학습시켰을 때, 모델 아키텍쳐에 관계없이 성능은 향상되었다고 한다. 확실히, 위의 논문들을 잠깐 살펴보기만 해도 dataset에 persona를 포함한 pipline을 만드는 것이 chatbot을 만드는데 주 아이디어였음을 알 수 있었다.
현재 개발해야하는 챗봇은 chit-chat model이 아니라 task-oriented chatbot이기 때문에 다음엔 task-oriented 관련 논문과 medical QA 쪽을 더 살펴봐야겠다.