또르르's 개발 Story

[Stage 3 - 이론] Introduction to Task-Oriented Dialogue System 본문

[P Stage 3] DST/이론

[Stage 3 - 이론] Introduction to Task-Oriented Dialogue System

또르르21 2021. 4. 27. 09:52

1️⃣ Task-Oriented dialogue & Open-domain dialogue

 

https://www.edwith.org/bcaitech1

 

 

2️⃣ Predefined Senario

 

User는 자신의 목적을 System에게 알려주고, System은 Knowledge Base를 활용하여 User가 목적에 달성할 수 있게 만들어줍니다.

 

https://www.edwith.org/bcaitech1

 

자세히 들어다보면 다음과 같습니다.

 

  1. User Goal : 유저는 미리 정의된 KB의 특정 Instance 정보를 찾거나, 추가적인 정보를 제공하여 새로운 Instance를 찾고 싶어 한다는 가정

  2. KB : 시나리오에서 제공하고자 정보 DB

  3. Task Schema : User가 원하는 정보를 찾거나 시나리오에 맞는 정보를 줄 수 있도록 정의 된 메타 정보

 

https://www.edwith.org/bcaitech1

 

User Goal은 Informable Slot과 Requestable Slot으로 나뉘어서 구성됩니다.

 

  • Informable Slot: 특정 KB instance를 찾거나, 새로운 instance를 write하기 위해 User가 System에게 주거나 맥락에 의해 User가 의도할 수 있는 타입의 정보 (대화에 대한 제약 사항 및 DST의 target)

  • Requestable Slot: 특정 KB instance가 선택된 이후, 추가로 정 보를 요청할 수 있는 타입의 정보 (System이 User에게 제공)

 

https://www.edwith.org/bcaitech1

 

 

3️⃣ Components of Modularized TOD System

 

https://www.edwith.org/bcaitech1

 

4️⃣ Dialogue State (Tracking)

 

미리 정의된 Informable slot 타입 j개가 있으면, 이 j개의 정보를 매턴마다 추적해야하는 task입니다.

 

https://www.edwith.org/bcaitech1

 

수식적으로 표현하면 다음과 같습니다.

Tracking해야하는 j개의 정보 type의 t번째 value type을 가지고 올 확률을 뜻합니다.

 

https://www.edwith.org/bcaitech1

 

 

5️⃣ Evaluation Metrics

 

  • Joint Goal Accuracy (JGA): 예측한 BtBt와 Ground TruthBt 사이의 Exact Matching

  • Slot Accuracy (SA): Bt간의 비교가 아닌 개별 Slot j의 pairs level (Sj,Vjt)의 Accuracy

 

https://www.edwith.org/bcaitech1

 

만약, J의 개수가 4라고 가정한다면 (Slot A,B,C,D) 

JGA는 0, SA는 0.75를 얻게됩니다.

 

https://www.edwith.org/bcaitech1

 

 

6️⃣ NLU(Slot Extraction) vs DST

 

  • Tracking abstractvie slot value

    - DST : 필요한 slot들을 정해놓고 추출할 수 있음

    - NLU : 어디까지 추출해야하는지가 명확하지 않음

  • Ontology 사용

https://www.edwith.org/bcaitech1

 

Abstractive한 속성을 지니는 Boolean Type의 Slot이나 "dontcare""none"과 같은 Special한 Case를 처리하기 위한 추가적인 후처리가 필요합니다.

 

https://www.edwith.org/bcaitech1

 

또한, slot에 대한 판단이 여러 턴에 걸쳐 결정되기도 합니다.

 

https://www.edwith.org/bcaitech1

 

매 턴마다 Slot의 value를 추론하기 때문에, value의 변화 즉, State의 Update도 담당해야 합니다.

 

https://www.edwith.org/bcaitech1

 

 

7️⃣ Model Concept

 

전체적인 Model concept을 보면 다음과 같습니다.

 

https://www.edwith.org/bcaitech1

 

j 하나에 대해서 보게 되면 다음과 같습니다.

 

https://www.edwith.org/bcaitech1

 

이렇게 해서 DST 문제를 해결해나갈 수 있는 2가지 문제는 ClassificationGeneration 방법이 있습니다.

 

 

1) Classification

VjSj 중 하나로 Classification하는 문제로 볼 수 있습니다.

 

https://www.edwith.org/bcaitech1

 

https://www.edwith.org/bcaitech1

 

 

2) Generation

위와 같은 확률적 표현을 Conditional한 Language Modeling으로 Formulation해서 푸는 문제입니다.

(wk는 Vocab state에 존재하는 형태)

 

https://www.edwith.org/bcaitech1

 

 

3) 정리

DST문제를 푸는 Classification과 Generation은 다음과 같은 방법을 뜻합니다.

 

  • Ontology-based DST (Classification)

  • Open-vocab based DST (Generation / Extraction)

 

https://www.edwith.org/bcaitech1