CONVERSATION CHRONICLES: Towards Diverse Temporal and Relational Dynamics in Multi-Session Conversations (2023, EMNLP)

2023. 12. 17. 18:34AI & ML & DL/Paper Review

Introduction

  • AI 대화형 모델들은 주요 연구 분야중 하나인데, 현재까지 나온 chatbot 모델들은 실제 세계에서 필요한 long-term dialogue context를 제대로 이해하지 못하는 한계를 파악했다. 특히나 현재 chatbot 모델들은 예전에 이야기 했던 context를 무시하고 현재 이야기한 context만을 기반으로 답을 하는 한계도 있다. (이 이야기 단위를 session이라는 용어로 논문에서는 설명하는 것 같다.)
  • 이러한 해결책으로 일관성있는 여러 session들을 한꺼번에 보는 Multi-Session conversation이라는 분야가 제안되었다. 각 session은 time interval 순서대로 일어나는데, 여기서 time interval은 화자끼리의 대화 주제나 내용에 영향을 주는 역할을 한다.
  • 그러나 현재까지 연구된 주제는 비교적 짧은 time interval들의 범위만을 다루고 있고, 화자간의 관계를 고려하는 연구는 없었다. 그래서 이 논문에서는 이를 포함하는 데이터셋을 제안한다. 데이터셋은 LLM들에 {화자간의 관계 + 이벤트 설명 + time intervals}를 포함한 prompt를 잘 짜서 생성했다고 한다.
  • 또한, 새로운 multi-session conversation model을 제안했다. 얘는 relationship 및 long-term conversation을 고려할 수 있다고 한다.

Related Works → Pass (해당 주제가 어떻게 발전해왔는지 위주로 서술되어 있고, 현재까지 제안된 논문들에서의 한계점들도 이미 Introduction에서 소개되어 정리하진 않았습니다.)

Conversation Chronicles

  • 1M dialogues, 200k episodes, 5 sessions for each episode
  • Event Collection : 관련된 event끼리들을 연결시킨 event graph를 활용해서 일관성있는 context를 가진 에피소드들을 생성했음. NLI를 활용해서 연관성 있는 이벤트들을 연결함. 거기서 가능한 모든 event sequence를 길이 5 까지 추출하여 event가 2개 이하라면 썼음. (BFS를 활용해서 추출한 게 아닐까 싶음. edge가 neutral / contradiction이면 cost에 +1 해서 cost <2 인 얘들만 더한다던지…)
  • Chronological Dynamics : session 간의 시간 차를 더욱 늘려서 좀 더 긴 context도 확인할 수 있도록 설계하였다.
    • Time Interval : 시간 차를 “며칠 후, 몇 년 후” 등등을 활용해서 적어두었다. 각 conversation 마다 random하게 적용하였다. 시간 차를 특정 짓는 것 (예: 3일 후) 이런건 별 의미가 없어서 제외했다.
    • Relatioship : 10개를 미리 정해두었고 ChatGPT로 생성할 때 고려하도록 했다.
  • Conversation Episode Generation : ChatGPT를 활용해서 퀄리티 좋은 데이터 샘플들을 추출하였다.
  • Quality : 퀄리티를 보장하기 위한 필터링 장치들은 아래와 같다.
    • Automatic Filtering : LLM이 맨날 좋은 결과를 내진 않으므로 이를 자동적으로 걸러내는 장치를 두었다. Moderation등을 활용해서 해로운 데이터를 또 걸렀다.
    • Human Evaluation : 5000개의 에피소드들을 샘플링하여 사람들에게 평가를 받았다. 또한, 이와 관련된 MSC라는 데이터셋도 평가를 받았다. 그랬더니 Consistency, Coherence, Time Interval 등에서 CC가 더 좋은 결과를 받았다.

Rebot : Remember Chatbot

  • 전의 session들의 정보들을 축약하여 context를 전달해주는 Chronological summarization module과 이를 바탕으로 response를 생성하는 Dialogue module로 나눠진다.
  • Chronological Summary : 모든 dialogue를 집어넣는건 너무 비싸고 비효율적이므로 summarization module을 활용했다. CC에서 샘플링을 하고 ChatGPT가 이를 summarization을 한 것을 바탕으로 학습했다. T5 모델을 베이스로 삼았다.
  • Dialogue Generation : BART-large 기반으로 화자간의 관계, 대화 내역, 지난 session으로부터의 시간 차이 등을 고려해서 response를 generate 하였다.

Evaluation (특이점만 요약)

  • Implementation : AdamW 사용, Cross-Entropy loss를 줄였음.
  • Human Evaluation : 대화라서 human-evaluation이 들어가야함. standardized evaluation metric을 쓸 수 없음.

아래부터는 제가 읽으면서 느낀점 및 궁금한 점들에 대해서 정리한 내용입니다.

질문

  • Conversation Chronicles
    • Event Graph에서 cycle이 생길 수도 있었을 것 같은데, 그러면 cycle을 따라가서 중복되는 event도 그냥 수용한건가?
    • Time Interval를 고를 때 random하게 골랐다고 했는데, 그러면 말이 안 맞는 dialogue도 생길 수 있지 않을까? 아니면 Time Interval들을 먼저 고르고 이를 바탕으로 dialogue를 생성한건가?
      • 예 : 오늘 우리는 LM 공부를 했다 - 몇 년 후 - 우리 좀 전에 LM 공부 했던거 기억나?

느낀점

  • 후속 연구하기에 좋은 주제인것 같아보인다. 일단 이 논문만을 읽어보았을 때, 이 주제에서 연구가 필요한 부분도 많아보이기도 한다. 지금 생각나는 것은 multiple relationship 관계를 고려한 경우, standardized metric를 세우기 등등? 그리고 이 논문 후속으로 end-to-end 모델도 고려해볼 수 있지 않을까 싶다.
  • 그래도 오랜만에 논문 읽는 입장으로써도 읽기 쉬운 논문이었고 주제 파악 및 아이디어를 알아채는데 어렵지 않았다. (다만, 배경지식이 부족해서 Moderation 등은 모르겠음.) 흥미로운 논문이었다.

 

올해 제 친구가 학회에 낸 논문을 리뷰한 겁니다. Notion에 제가 따로 작성했던 리뷰인데 슬슬 하나하나씩 옮길 것 같네요.