[NLP_dialog] Task Oriented Dialog System

김훈래·2024년 4월 22일

NLP_dialog

목록 보기
1/3
post-thumbnail

ToD System

  • NLU: 발화 이해 및 분석 결과 산출

  • DM-DST: 현 대화 상태를 추적, NLU 결과 + 기존 상태 업데이트!

  • DM-PM: 내부 정책을 통해 사용자에게 전달할 Action을 설정

  • NLG: Action을 입력 받아 응답 생성, Action을 기반으로 데이터베이스에서 필요 정보를 검색하기도 함

  • Pipeline -> Modularly End-to-end -> Fully End-to-end

Pipeline

  • 각 모듈들은 분리되어 학습, 각 모듈 별 지식 공유 불가, 이전 모듈들의 축적된 오류가 전파되는 문제 존재

Modularly EToD

  • 기존 ToD 시스템과 비슷하게 구성된 모듈을 가짐, 모든 모듈들을 end-to-end로 한 번에 학습, 모든 모듈의 파라미터는 동시에 최적화됨

  • dialog history를 사용하여 belief를 산출, belief와 knowledge base를 사용해 응답 생성

Fully EToD

  • 기존 METod와 달리 dialog history와 knowledge base만 입력받아 응답 생성, seq2seq 모델로 한 번에 학습

자폐 과제 ToD 시스템

  • Pipeline 방식

  • 사전학습된 KorBERT 사용, 자폐 환자 대화 데이터 100개 가량을 직접 슬롯-밸류 태깅하여 KoGPT-2 학습

  • Schema Encoder: 한국어로 사전학습된 KorBERT 사용, 각 슬롯 별 설명을 인코딩하여 Belief Tracker에게 제공, 시나리오 기반 대화를 하지만 비슷한 시나리오가 추가되거나 변경에 쉽게 대응하기 위해 도입

  • 시나리오 변경 시 대응이 왜 쉬워지는가?

    • 시나리오가 변경되면 변경된 시나리오대로 진행된 대화 데이터를 얻는데까지 시간 텀이 있음

    • 기존 Belief Tracker 모델을 당분간 그대로 사용하되 슬롯의 구성만 변경하여 시스템을 구성하려 했음

    • 비슷한 의미의 슬롯이 추가 되는 경우에 슬롯의 설명이 주어진다면 기존 슬롯과 비슷하다는 것을 시스템이 인지할 수 있으므로 새로운 데이터 없이도 기존 모델을 사용할 수 있음

    • 예) 기존 초밥 배달 시나리오로만 학습된 시스템에 회 배달 시나리오를 추가하는 경우, 메뉴를 선택하는 내용이나 배달 주문을 하는 내용은 내용적으로 비슷하여 슬롯 구성을 추가하기만 해도 기존 시스템이 어느정도는 작동할 것

  • Belief Tracker: 슬롯 설명과 Dialog History를 통해 현 대화 상태를 추적

  • Response Generator: belief 기반 단순 템플릿 검색 응답

  • 자폐 환자들이 ToD를 수행하지 못한다는 의견을 받아 폐기, Open domain dialog system으로 넘어감

0개의 댓글