ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [논문 리뷰] Beyond goldfish memory: long-term open-domain conversation
    AI/NLP 2022. 6. 30. 17:58
    [논문 리뷰] Beyond goldfish memory: long-term open-domain conversation 

     

     

     

     

    Introduction

     

     

    최근 대화 시스템과 관련한 연구들이 다수 이루어지고 있으며, 특히 오픈 도메인(Open-domain) 대화 시스템 연구에서는 모델이 자연스러운 대화 흐름, 공감 더 나아가 지식 공유 등의 능력을 갖출 수 있도록 모델링하는 다양한 방향의 연구들이 발표되고 있습니다. 오픈 도메인 챗봇(Open-domain chatbot)은 모든 주제에 관해 대화할 수 있는 에이전트를 개발하는 연구 분야로 도전적인 자연어처리 분야입니다.

     

    오픈 도메인 챗봇으로는 대표적으로 Facebook Blender Bot, Google Meena가 있습니다.

     

     

     

    그럼에도 불구하고, 오픈 도메인 대화모델이 사람다워지기까지 아직 여러 개선 사항들이 남아있는데요.

     

    첫째로 대화 데이터를 사용하여 학습한 지식 문서 기반 모델은 최신의 정보를 반영하기 어렵습니다. 일반적으로 대화모델은 학습 당시 고정된 대규모의 학습 데이터셋을 통해 학습되고 학습 후의 고정된 파라미터를 사용합니다. 따라서 데이터셋 구축 당시 고정된 지식만을 습득할 수 있고 후에 추가되거나 변화된 지식을 배울 수 없습니다.

     

    둘째로 사람은 상대방의 관심사를 장기적으로 기억할 수 있지만, 대화모델은 비교적 짧은 턴의 대화만 기억합니다. 하지만, 10 (20발화 문장) 이상 대화를 진행할 경우 사용자의 취미를 기억하지 못한다는 문제점이 있습니다. , 턴이 누적되는 멀티턴(Multi-turn) 대화에서 이전에 대화했 던 정보를 성공적으로 반영하지 못합니다.

     

    오늘 말씀드릴 논문에서 다루는 페이스북의 블렌더봇 2.0은 위에서 언급한 문제점들을 인터넷 검색(Internet search)과 대화 사이에 시간적 공백이 존재하는 멀티 세션(Multi-session)을 도입하여 개선하였습니다.

     

     

     

    Facebook의 BlenderBot 2.0

     

     

     

    먼저, Blender Bot 1.0은 페이스북 AI에서 2020년에 발표한 오픈 도메인 챗봇 모델로, 공감, 지식 등의 다양한 대화 스킬의 결합, Blender Skill Task을 처음으로 시도한 챗봇입니다. BlenderBot 1.0은 대화에 적절히 개입하고, 지식과 강세, 페르소나를 나타내면서 멀티턴 대화에서 일관적인 성격을 유지한다는 장점이 있지만, 사용자의 발언과 비슷한 응답을 반복하여 생성하거나, 앞선 대화의 내용을 기억하지 못하거나, 틀린 정보를 사실인 것처럼 이야기한다는 단점도 있었습니다.

     

     

    그래서 그 다음 2021년에 나온 Blender Bot 2.0은 이 한계를 개선하여 여러 세션에 걸쳐 일관된 대화를 수행하며, 인터넷의 있는 정보를 검색해 최신 정보에 관한 대화도 가능합니다.

     

    blender bot 2.0에 관련된 논문은 두 가지가 있는데요. 위의 Internet-Augmented Dialogue Generation 논문은 인터넷의 있는 정보를 검색해서 최신 정보에 관한 대화도 가능하도록 하는 retrieval-augmented generative models 부분에 집중해서 서술되었고, 오늘 같이 볼 Beyond Goldfish Memory: Long-Term Open-Domain Conversation 논문은 여러 세션에 걸쳐 일관된 대화를 수행할 수 있도록 Long Term Memory based Model을 어떻게 사용하는지에 대해 중점을 두고 서술했습니다.

     

     

     

    Dataset

     

     

    Task를 진행하기 위해 Facebook에서는 Multi Session Chat이라는 Dataset을 새로 구축했습니다. Multi Session Chat이란 5번의 세션에 걸친 사람 대 사람의 채팅 대화로, 각 세션은 최대 14번의 대화로 구성되어 있습니다. 메세지 플랫폼 같은 곳에서 두 명의 화자가 온라인에서 자연스럽게 대화하는 것을 고려하였고, 둘 사이의 대화는 길지 않은 시간 동안 진행된 뒤 멈추고, 일정 시간이 지나고 나서 다시 채팅을 진행했습니다. 제가 옆에 가져온 예시에서는 6시간 뒤에 새로운 세션의 대화를 시작한 것을 알 수 있습니다. 또 이 새로운 세션의 대화를 시작할 때는 이전 세션의 요약을 사용하여 지난 대화에서 이야기했던 주제나 새로운 주제에 대한 대화를 진행했다고 합니다. 이렇게 해서 세션은 3개나 4개로 이뤄질 수 있도록 구성했습니다.

     

     

     

    각 세션의 특징을 살펴보자면, 먼저 대화가 처음 시작되는 순간인 Session 1에서는 두 명의 화자가 서로를 알아가는 짧은 대화가 담긴 데이터셋은 PERSONACHAT을 사용했다고 합니다. 다음으로 세션 2에서 4까지는 이전 세션으로부터 1~7시간 혹은 1~7일 이후 진행했다고 합니다.

    학습 시에는 53번의 대화, 테스트 시에는 66번의 대화로 이뤄진 데이터를 사용했으며, 2.6~ 14.7번의 대화를 주고받는 기존의 대화에 비해서는 매우 길게 형성된 것을 알 수 있습니다.

     

     

    Model

     

     

    다음으로는 모델 부분입니다. 먼저 대화의 문맥을 입력으로 하여 관련된 검색 쿼리를 생성하는 인코더-디코더 구조는 두 구조에 공통적으로 활용되며, 이렇게 생성된 쿼리로 인터넷에서 관련 정보를 찾아 응답을 생성하는 부분과 대화와 관련된 정보를 사람마다 별도로 장기 기억에 저장하고 이를 활용한 응답을 생성하는 부분으로 나누어집니다. 이 논문에서는 주로 후자, 장기 기억에 관한 부분을 말하고 있습니다.

     

    생성된 쿼리를 활용하여 Long Term Memory에 접근하여 이전 Session의 대화들 중에서 가장 관련성 높은 N개의 후보 대화를 뽑고 이 N개의 점수를 계산하여 디코더에 포함될 마지막 인코딩으로 사용될 context의 일부분을 찾아냅니다.

     

    또한 현재 Dialogue 기록에 대해서도 Context를 생성하고, 만약 새로운 정보가 있다면 핵심 내용에 대한 요약문을 생성한 후 Long Term Memory에 추가합니다.

     

    마지막으로 현재 대화의 Context와 이전 Session에서 현재 대화와 가장 관련성 있는 대화의 Context, 그리고 인터넷에서 찾은 context를 모두 concatenate해서 Decoder에 넣고 최종적인 Response를 생성합니다.

     

     

     

     

     

    Results

     

     

    이런 모델을 가지고 실험을 한 결과, 논문에서는 세션 1-4를 평가하면서 context 타입에 따른 차이를 비교했습니다. 첫번째 세션이 끝나고, 이전 세션에 대한 기록(dialogue context) 전체가 주어졌을 때 모든 실험에 대해 perplexity 성능의 향상이 있음을 보였습니다. 이를 통해 MSC 데이터셋에서 context history가 유효하고, 모델이 이를 활용하여 잘 학습하고 있음을 입증했습니다. 또한 대화 자체를 활용하는 것이 아니라 Summary context를 사용했을 때 더욱 성능이 증가했기에 더 유익한 정보를 제공함을 입증했습니다.

     

     

     

    Conclusions

     

     

    결론적으로는 사람과 비슷한 개인의 정보를 갖고, Long-term 메모리를 추가하여 기억을 가지고 있으므로 사용자에 대한 개인화가 가능하고, 학습에 의한 지식이 아닌 실시간 검색을 통해 정보를 제공하는 기능을 추가했기 때문에 새로운 지식을 보충하기 위해 Large 모델을 주기적으로 학습해야 하는 어려움이 크게 감소할 수 있을 것으로 예상됩니다.

     

    또한 Multi-Session Chat(MSC) Dataset 구축하여 기존의 데이터셋보다 더 길고 풍부한 대화로 이뤄져 있으며, 모델 자체도 정량적인 평가지표와 Human Evaluation면에서 모두 기존에 나온 Open Domain Chatbot보다 더 나은 성능을 보인 것을 알 수 있습니다.

     

     

     

     

    728x90
Designed by Tistory.