또르르's 개발 Story

[Stage 3 - 이론] Hybrid Approach 본문

[P Stage 3] DST/이론

[Stage 3 - 이론] Hybrid Approach

또르르21 2021. 5. 4. 11:46

1️⃣ Ontology based vs Open-vocab based

1) Ontology based method

https://www.edwith.org/bcaitech1

 

2) Open-vocab based method

https://www.edwith.org/bcaitech1

 

 

2️⃣ Categorical / Non categorical Slot

 

Slot은 특정 시나리오에서 미리 정의된 informable한 특정 유형의 속성을 의미합니다.

 

다음 논문에서는 slot을 categorical / non categorical slot으로 분류해서 사용했습니다.

Towards Scalable Multi-Domain Conversational Agents: The Schema-Guided Dialogue Dataset

 

1) Categorical Slot

범주형으로 나타낼 수 있는 slot : slot에 할당된 value가 범주형으로 표현 가능한 경우 (Ontology)

 

https://www.edwith.org/bcaitech1

 

2) Non - Categorical Slot

범주형으로 나타낼 수 없는 slot : Slot value는 unlimited value입니다.

Dialogue context 안에서 찾을 수 있습니다.

 

https://www.edwith.org/bcaitech1

 

 

3️⃣ DS-DST

 

DS-DST 는 categorical, non-categorical slot을 모두 다룰 수 있는 BERT 기반의 모델입니다.

Ontology based, ontology free(Open-vocab) method를 결합한 Hybrid approach이며, Single BERT question answering model을 적용하였습니다.

 

[Jian-Guo Zhang et al., arXiv 2019]

 

DS-DST Model의 오른쪽 부분은 Fine-tuning이 가능한 BERT 모델입니다.

  • Input : Concatenation of Domain-slot pair, Recent Dialogue context
  • Output : representations for input

[Jian-Guo Zhang et al., arXiv 2019]

 

DS-DST Model의 왼쪽 부분은 Fized BERT 모델이며, feature extractor 역할입니다.

  • Input : categorical slot의 candidate-value list
  • output : value의 representation

[Jian-Guo Zhang et al., arXiv 2019]

 

1) Slot-Context Encoder

  • Domain-slot types, dialogue context를 encoding 하기 위한 pre-trained BERT 사용
  • [CLS], [SEP]은 special token
  • BERT는 학습 과정 동안 fine-tuning됨

 

2) Slot-Gate Classification

  • 각 Dialogue turn 에서 slot이 어떤 class 에 속하는지 분류함
  • (다른 모델과 비슷하게) none, dontcare, prediction으로 slot을 예측함

 

 

3) Non-categorical Slot-Value Prediction

  • Non-categorical slot의 value는 start vector와 end vector를 얻기위한 two way linear mapping을 진행함
  • Dialogue context 에서 start, end position에 대한 span matching을 진행

 

 

4) Categorical Slot-Value Prediction

 

  • Categorical slot은 candidate value들을 가짐
  • Other pre-trained BERT(parameter는 고정)를 활용하여 feature extractor의 역할 수행함 (like SUMBT)
  • Slot-context encoder와 reference candidate는 relevance score를 계산함 ( cosine similarity )

 

5) Training Objective

  • 세가지 모듈의 joint loss를 활용하여 학습함
  • Hinge Loss를 통해 차이를 좁혀나감

 

6) Result

  • DS-Span : 모두 non categorical slot으로 취급했을 때 
  • DS-Picklist+ : 모두 categorical slot으로 취급했을 때

[Jian-Guo Zhang et al., arXiv 2019]

 

상위 10개의 slot을 뽑아냈을 때 아래 표와 같습니다. (DS-Span은 turn마다 unfound의 개수)

hotel-parking이나 hotel-internet은 yes, no로 대부분 취급되기 때문에 categorical slot에서 훨씬 좋은 성능을 보입니다.

 

[Jian-Guo Zhang et al., arXiv 2019]

Comments