일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- boolean & fancy index
- type hints
- Array operations
- 가능도
- namedtuple
- 부스트캠프 AI테크
- 딥러닝
- 정규분포 MLE
- Numpy data I/O
- ndarray
- Numpy
- Python 특징
- scatter
- pivot table
- BOXPLOT
- groupby
- dtype
- linalg
- VSCode
- Python 유래
- subplot
- Python
- Operation function
- Comparisons
- unstack
- 최대가능도 추정법
- seaborn
- python 문법
- 표집분포
- 카테고리분포 MLE
- Today
- Total
또르르's 개발 Story
[Stage 3 - 이론] Introduction to Task-Oriented Dialogue System 본문
[Stage 3 - 이론] Introduction to Task-Oriented Dialogue System
또르르21 2021. 4. 27. 09:521️⃣ Task-Oriented dialogue & Open-domain dialogue

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

자세히 들어다보면 다음과 같습니다.
- User Goal : 유저는 미리 정의된 KB의 특정 Instance 정보를 찾거나, 추가적인 정보를 제공하여 새로운 Instance를 찾고 싶어 한다는 가정
- KB : 시나리오에서 제공하고자 정보 DB
- Task Schema : User가 원하는 정보를 찾거나 시나리오에 맞는 정보를 줄 수 있도록 정의 된 메타 정보

User Goal은 Informable Slot과 Requestable Slot으로 나뉘어서 구성됩니다.
- Informable Slot: 특정 KB instance를 찾거나, 새로운 instance를 write하기 위해 User가 System에게 주거나 맥락에 의해 User가 의도할 수 있는 타입의 정보 (대화에 대한 제약 사항 및 DST의 target)
- Requestable Slot: 특정 KB instance가 선택된 이후, 추가로 정 보를 요청할 수 있는 타입의 정보 (System이 User에게 제공)

3️⃣ Components of Modularized TOD System

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

수식적으로 표현하면 다음과 같습니다.
Tracking해야하는 j개의 정보 type의 t번째 value type을 가지고 올 확률을 뜻합니다.

5️⃣ Evaluation Metrics
- Joint Goal Accuracy (JGA): 예측한 BtBt와 Ground TruthBt 사이의 Exact Matching
- Slot Accuracy (SA): Bt간의 비교가 아닌 개별 Slot j의 pairs level (Sj,Vjt)의 Accuracy

만약, J의 개수가 4라고 가정한다면 (Slot A,B,C,D)
JGA는 0, SA는 0.75를 얻게됩니다.

6️⃣ NLU(Slot Extraction) vs DST
- Tracking abstractvie slot value
- DST : 필요한 slot들을 정해놓고 추출할 수 있음
- NLU : 어디까지 추출해야하는지가 명확하지 않음 - Ontology 사용

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

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

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

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

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

이렇게 해서 DST 문제를 해결해나갈 수 있는 2가지 문제는 Classification과 Generation 방법이 있습니다.
1) Classification
Vj는 Sj 중 하나로 Classification하는 문제로 볼 수 있습니다.


2) Generation
위와 같은 확률적 표현을 Conditional한 Language Modeling으로 Formulation해서 푸는 문제입니다.
(wk는 Vocab state에 존재하는 형태)

3) 정리
DST문제를 푸는 Classification과 Generation은 다음과 같은 방법을 뜻합니다.
- Ontology-based DST (Classification)
- Open-vocab based DST (Generation / Extraction)

'[P Stage 3] DST > 이론' 카테고리의 다른 글
[Stage 3 - 이론] DST의 한계점 (0) | 2021.05.11 |
---|---|
[Stage 3 - 이론] Advanced DST Models (0) | 2021.05.11 |
[Stage 3 - 이론] DST의 Computational Complexity (0) | 2021.05.04 |
[Stage 3 - 이론] Hybrid Approach (0) | 2021.05.04 |
[Stage 3 - 이론] Ontology-based DST models (0) | 2021.04.27 |