🍭

(220322) Diary: Open-Domain & Task-Oriented Dialogue System

최근 한 달 동안 정말 많이 아팠고, 회사에서도 사업 계획서 작성을 위한 생소한 분야의 연구/조사를 수행하는 바람에 개인 공부를 거의 하지 못하였다.. 대신, Open-Domain & Task-Oriented Dialogue System에 대해 조사한 내용들을 정리하려 한다!

Task-Oriented Dialogue (TOD)

(SOLOIST Paper에서 참조한 사진)
TOD란 특정 목적의 달성을 위해 대화를 이어나가는 Task이다.
‘특정 목적’으로는 식당 검색, 기차표 예약 등이 될 수 있으며, 은행 업무나 배달 어플 등 일상 생활에서 우리가 흔히 접하는 챗봇들이 해당 Task를 수행하는 Case에 해당된다.
TOD 모델들은 실제 사용자가 필요로 하는 정보를 제공하고, 사용자의 명령을 수행하기 위해 DB 검색 (쿼리 생성)이나 API 활용 등의 능력이 요구되며, 이에 앞서 사용자의 각 발화로부터 발화 목적과 상세 정보 (예를 들어, 식당 검색에서는 메뉴, 가격대 등)를 파악해야 한다.
발화에서 발화 목적과 상세 정보를 파악하는 과정을 Dialogue State Tracking (DST)이라는 별도의 독립적인 Task로 취급하기도 한다.
TOD의 까다로운 과정으로 인해 모델들의 구조 역시 복잡하며, 평가 Metric 또한 단순하지 않다.
가장 유명한 Dataset으로는 MultiWOZ가 있으며, 해당 Dataset에서 TOD 성능을 측정하는 Paper (및 GitHub)가 존재한다.
추후 여유 생길 때 리뷰 예정인 Papers..
MS의 SOLOIST
Salesforce의 SimpleTOD

Open-Domain Dialogue System

(Blender Bot 2.0에서 참조한 사진)
반면, Open-Domain Dialogue란 특정한 목적 없이 자유로운 대화를 이어나가는 Task로, 어릴 적에 사용해본 심심이 혹은 가까운 과거에 논란과 함께 좋은 성능으로 화제가 된 이루다와 같은 챗봇들이 이에 속한다.
성능상 아무래도 GPT, T5와 같은 Transformer 기반 생성 모델들을 주로 활용하며, 대표적으로
Google의 Meena
Meta의 Blender Bot (v1.0/2.0)
Google의 LaMDA
등이 존재한다.
이들이 가장 신경쓰는 부분은 역시 Safety로, 모델이 생성한 Toxic한 발화들을 자체적으로 필터링하는 시스템을 대부분 탑재하고 있다. (Toxicity Classifier after Generation)
발화의 Factual Grounding 또한 중요하게 다뤄지는 점으로, 생성 모델의 고전적인 Hallucination 현상과 학습 데이터의 Outdated 정보 (과거 데이터에서 미국의 대통령은? 오바마)가 문제가 된다.
Factual Grounding을 개선하기 위해 모델이 자체적으로 인터넷 검색을 수행하도록 하거나 (OpenAI의 WebGPT가 독특한 줄 알았는데 나름 널리 쓰이던 방법인 듯) Long-Term Memory를 탑재하기도 한다.
아쉽게도 회사에서 Dialogue System을 실제로 구축하기까지 많은 시간이 걸릴 것으로 예상되지만, 틈틈이 관련 논문들을 읽어야겠다..!