본문 바로가기
Natural Language Processing/Dialogue State Tracking

[Dialogue State Tracking] input, output, 목적, challenge, 한계점

by 지구킹 2023. 7. 13.
728x90

Dialogue State Tracking (DST)의 input, output은 아래와 같이 정의된다.

  • Input: dialogue or previous state
  • Output: dialogue state (slot-value pair)

 

즉, 예를들어 설명하자면 아래와 같이 정의할 수 있다.

 

Dialogue

  • User: I am looking for a cheep restuarant in the centre of the city
  • Sys: There is a chell restuarant called Dojo Noodle Bar
  • User: Yes, Please, for 9 people at 18:00 on Thursday.

Dialogue State

  • Domain: Restaurant
  • (Slot, Value): (price, cheep), (area, centre), (people, 8), (time, 18:00), (day, Thursday), (name, Dojo Noodle Bar)

 

 

DST의 타입

 

DST의 경우 2가지의 타입으로 나눠 설명할 수 있다. Predifined Ontology와 Open Vocabulary로 나눌 수 있다. 

 

Predefined Ontology

  • 미리 dialogue ontology를 구축해두고 상황에 맞는 답을 찾아내는 방식
  • 모든 경우의 수를 고려할 수 없어 unseen domain, slot, value가 주어졌을 때 아웃풋을 만들 수 없음

Open Vocabulary

  • Input에 따라 state를 즉각적으로 생성하는 방식
  • 실제 대화에 더 적합한 방식
  • unseen domain, slot, value가 주어졌을 때 아웃풋 생성이 가능함

 

 

DST의 목적과 challenge, 한계점

 

목적

  • Dialogue에서 User의 goal 혹은 intention을 파악하는 것
  • User의 goal 혹은 intention을 compact한 dialogue set (set of slots, their corresponding values)으로 encoding 하는 것

Challenge

  • 실제 시스템에서 ontology가 사전에 정의되기 어렵기 때문에 Open vocabulary 상황에서 좋은 성능을 달성하는 것
  • 실제 시스템에서 이루어지는 대화는 하나의 domain에서 이루어지지 않기 때문에 multi domain의 대화를 다루는 것

한계점

  • DST model은 한번의 dialogue turn마다 (Domain, slot, value)를 결정해야하는데 가능한 조합의 수가 많음
  • Multi turn mapping을 수행해야 함
    • 여러 번 대화가 이루어지는 multi turn conversation에서는 한 turn의 대화가 이루어 질 때마다 (slot, value)를 추출해야 함
    • Multi domain 상황에서는 domain별, slot별, value를 추출하기 위해 여러 번 추론을 진행 해야 함

 

위 그림과 같이 single일 경우에는 하나의 domain에 대해서만 slot과 value를 도출하면 되지만, multi-domain, multi-turn일 경우에는 각 domain별로 slot, value를 도출하기 위해 여러번의 추론과정을 거쳐야 한다.

 

 


아래 유투브 영상을 기반으로 작성된 글 입니다.

https://www.youtube.com/watch?v=nuclwoebdEM 

728x90

댓글