Paper: Wizard of Wikipedia: Knowledge-Powered Conversational Agents

정민수
3 min readMay 10, 2021

--

Wizard of Wikipedia: Knowledge-Powered Conversational Agents, Dinan, Emily, et al., ICLR 2019

1. Contributions

2. Problems of existing works

  • 기존 Dialogue tasks의 한계: knowledge 사용에 대한 연구가 없었음
  • 그 중, goal-directed dialogue의 한계: 데이터베이스에 접근하거나 API 형태의 knowledge에 근거함

3. Solution

  • Unstructured dialogue dataset에서, open-domain setting으로, knowledge를 포함한 multi-turn dialogue를 수행하는 모델을 제안함

4. Data Collection

5. Methodology — Modules

  • 그림에서 보는 것처럼, 논문에서 제시한 모듈은 크게 세 가지로 구성되어 있음.

(1) Knowledge Retrieval

  • Response와 관련된 knowledge를 탐색하는 것이 목적
  • 현재 step의 utterance와 last two turns의 utterance를 query로 해서 retrieval
  • 위 세 가지를 하나의 쿼리로 합쳤을 때 더 좋은 성능이 나왔음.
  • Top 7 articles를 retrieved
  • 검색된 article을 하나의 문장으로 flatten시키고, title을 붙임

(2) Knowledge Attention

  • Retrieved knowledge와 dialogue context간 attention을 수행
  • Memory에 있는 각 문장(knowledge sentences)와 dialogue context를 각각 transformer encoder로 인코딩
  • 그 다음, memory candidate와 dialogue context사이 dot-product attention 수행

(3) Utterance Prediction

  • Knowledge attention에서 생성된 hidden states를 입력받아, 다음 utterance를 생성하는 것이 목적
  • 모델의 retrieval version과 generative version을 고려해서 knowledge attention과 utterance prediction 부분이 변형될 수 있음

6. Methodology — Models

  • Type 1. Retrieval Transformer Memory Network
    (1) Knowledge sentence와 dialogue context를 Transformer encoder로 각각 인코딩
    (2) 최종 input encoding은 knowledge sentences에 dot-product attention을 적용한 결과, 여기서 나온 벡터의 weighted sum한 것과 dialogue context encoding을 더한 것
    (3) 그리고 response candidates를 Transformer encoder로 인코딩
    (4) 최종 response는 위의 두 임베딩의 cosine similairty를 구하고 argmax한 것
    (5) loss는 cross-entropy loss를 사용
  • Type 2. Generative Transformer Memory Network
    (1) Knowledge selection과 utterance prediction을 나누느냐, end-to-end로 하느냐에 따라 다시 two type으로 나눔(end-to-end ver., two-stage ver.)
    (2) End-to-end ver.에서는 candidate encoding에 Universal Sentence Encoder(Cer et al., 2018)에서 제시한 normalization을 이용
    (3) Two-stage ver.에서는 knowledge selection이 generator에 큰 영향을 주기 때문에 knowledge selection의 퍼포먼스를 최대화하고자 stage를 나눔
    (4) 이 때, knowledge dropout으로 이 부분을 해결했음 (novelty technique)

7. Experiments and Results

7.1 Knowledge selection task

  • Best performing Transformer 모델을 two-stage generative Memory Network에 사용함

7.2 Full task: Dialogue with knowledge

  • Human annotator가 선택한 gold knowledge sentence를 주거나, 어떤 knowledge를 선택해야하는지 맞추게 하거나, 두 옵션으로 retrieval and generative model을 평가함
  • 결과적으로 retrieval model이 가장 좋은 성능을 보였음

7.2.1 Retrieval Experiments

  • Knowledge selection experiments와 비슷하게 baseline을 설정
  • Recall@1: 100개의 knowledge 중에서 gold response는 한 개 (나머지 99는 randomly chosen)
  • unigram F1 사용: gold response의 기준
  • 결과: knowledge를 포함한, Transformer MemNet (raddit+SQuAD pretrained)가 가장 좋은 성능을 보임

7.2.2 Generative Experiments

  • E2E model과 Two-stage 모델 비교
  • PPL과 F1으로 측정
  • 결과: Predicted Knowledge 옵션에서는 Two-stage Transformer MemNet (with K.D)가 좋은 성능을 보였고, Gold Knowledge가 주어진 경우, E2E Transformer MemNet(with axiliary loss)가 좋은 성능을 보임
  • 위 결과는 two-stage model이 knowledge selection module의 영향을 많이 받는 다는 것을 의미함
  • 그리고, E2E model에서 추가적인 knowledge selection supervision (auxiliary los)가 성능에 좋은 영향을 미친 것을 확인

7.3 Human Evaluation

  • Crowd-sourced works로 human evaluation 수행
  • 인간-모델간 3–5번의 대화 턴으로 특정 주제에 대해 대화
  • 대화를 마친 후, 1–5 점수로 평가
  • 그 다음, wiki F1이라는 스코어로 평가함
    (모델이 얼마나 많은 wiki 지식을 보여주는 지 평가한 것)
    (모델이 선택한 주제에 대한 위키백과 페이지의 처음 10문장과 겹쳐서 f1 계산)
  • Generative model의 경우, knowledge 사용 여부에 따라 성능 차이가 있음
    Seen과 unseen에서 retrieval model과 generative model 차이가 나는데, 이것은 retrieval 특성상, 안 본 문장들이 retrieval 결과로 나타나지 않기 때문

--

--

정민수
정민수

No responses yet