NL-074, Generate, Delete and Rewrite: A Three-Stage Framework for Improving Persona Consistency of Dialogue Generation (2020-ACL)

■ Comment

  • 일단 이 논문은 single-turn에 집중한 논문으로 이전의 PERSONA-chat으로 실험한 연구들과 다르다.
    • single turn 연구긴 하지만, multi-turn도 똑같이 접근 하면 안될 것은 없어 보인다.
    • 그런데 이 논문은 좀 heavy하고 3-stage라서 속도적으로는 느릴 것 같은 생각이다.
  • 따라서 히스토리에 해당하는 입력은 업고, persona-question → answer 형식이다.
    • 즉 persona-chat 데이터셋에서 뽑아서 사용한 것으로 보여진다.
    • 또한 크게보면 QA식이니까, 생성하는 모델구조가 MRC와 많이쓰는 것과 비슷한 느낌이다.
    • 모델 구조자체는 사실 그렇게 특별한 점은 없어 보인다.
  • 모델은 GDR로 generate-delete-rewrite인데, 사실 generate와 rewrite는 생성모델로 G의 decoder와 비슷하지만, delete된 시퀀스를 입력으로 받는다는 점이 다르다.
    • 또한 이런 delete&generate와 같은 방법은 style transfer에 이미 있긴하다. 
    • 단지 generate가 추가된 느낌?
  • 또한 delete할 때, attribute words을 찾기 위해, DNLI 데이터세트를 썼다.

0. Abstract

  • 대화에서 일관성있는 personality을 유지하는 것은 사람에게는 자연스러운 것이나, 기게에게는 어려운 문제이다.
  • persona 기반의 대화 생성 테스크는 그래서 personality가 일정하지 않은 문제를 명시적인 persona를 대화 생성모델과 통합하면서 해결하기 위해 도입된다.
  • 사람과 비슷한 response을 생성하는것에 기반을 둔 persona-based 모델들의 성공에도 불구하고, 그들의 one-stage decoding 프레임워크는 inconsistent persona words의 생성을 피하기 어렵다.
  • 이 연구에서, 우리는 generate-delete-rewrite 메커니즘으로 생성된 response 프로토타입에서 inconsistent 단어들을 삭제하고 personality-consistent으로 다시쓰는 3-stage 프레임워크를 소개한다.
  • 우리는 human과 automatic metrics을 둘 다 평가한다.
  • Persona-Chat 데이터세트에서의 실험은 우리의 접근법이 좋은 성능 달성함을 보여준다.

1 Introduction

  • open-domain 대화 시나리오에서, 두 명의 화자가 처음에 인사로 시작해서 open-ended 칫챗을 시작하고 대화중에 그들의 개성(취미, 애완동물, 직업 등)에 집중한다.
  • 사람들에게, 그들은 그들의 특성에따라 손쉽게 대화하지만, 이 테스크 수행은 여전히 뉴럴 대화 모델에게 어렵다.
  • 한가지 메인 이슈는 이러한 모델들은 일반적으로 다른 화자로부터의 수백만개넘는 대화로부터 학습이되고 뉴럴 대화모델은 학습 코퍼스에있는 maximum likelihood의 response을 모방하는 경향이 있고 이것은 responses에서 자주 inconsistency의 결과를 보여준다.
  • 다른 이슈는 기존 대화에서 user-sparsity 문제(Qian et al., 2017)이다.
    • 몇몇 users들은 매우 적은 대화 데이터만 가지고 있고 이것은 뉴럴 모델들이 의미있는 user representations을 학습하기 어렵게 한다.
  • 위의 이슈들을 줄이기 위해서, Zhang은 Persona-Chat 데이터세트로 좀 더 consistent 대화 모델 설계하는 것을 소개했다.
    • 기존의 대화 코퍼라와 다른점은, 이 데이터세트는 대화 모델이 predefined personas을 가지고 있고 이것은 (그림 1의 첫번쨰 줄처럼) profile을 텍스트로 설명하는 식이다.

  • persona 기반의 대화 모델은 또한 encoder-decoder 구조를 적용하고 memory network (Sukhbaatar et al., 2015) and latent variable (Kingma and Welling, 2013)와 같은 persona encoding components을 강화한다.
  • 이러한 모델들은 persona-free한 것들보다 좀 더 consistent responses을 생성한다.
  • persona 기반의 대화모델에서 encoder-decoder 프레임워크의 성공적인 어플리케이션에도 불구하고, 한가지 의구심은 주요 persona정보에 대한 attetnion이 부족하다는 것입니다.
  • 모델은 아마도 매 decoded word의 전체 loss를 줄이는 식으로 학습할 것이나, 이것은 key personas을 무시하도록 이끈다.
    • persona와 관련된 한 개의 단어 변화가 전체의 loss에 중요한 영향을 미치지는 않지만, 좋은 반응으로 일치하는 것을 완전히 불일치하는 것으로 바꿀 수는 있다.
    • 즉 일반적으로 MLE로 학습하면 persona에 관련된 단어라고 더 중요한 것으로 매기지 않으니 persona을 완벽히 담기 어렵다는 것 같다.
  • 그림1의 stage 1에서 보이듯이 오직 한가지 부적절한 단어 "Colorado"는 불일치한 response으로 이끈다.
  • 요구하는 솔루션은 personas을 잡아내고 response이전에 자동적으로 불일치한 단어를 피하고 수정하는 것이다.
  • 이 논문에서는 우리는 Generate-Delete-Rewrite 프레임워크 GDR을 제안하여 불일치한 personas의 생성을 완화시킨다.
  • 우리는 3 스테이지를 고안하여 구체적으로 persona 잉ㄹ정한 대화의 생성을 목표를 가진다.
    • 첫 째 Generate 스테이지는 transformer-based generator로 persona-based response 프로토타입을 생성한다.
    • 둘 째 Delete 스테이지는 consistency 매칭 모델로 inconsistencies을 식별하고 프로토타입에서 inconsistent 단어들을 delete (masking)한다.
    • 마지막으로, Rewrite 스테이지는 rewirter가 masked 프로토타입을 좀 더 persona을 유지하게 한다.
  • We summarize the main contributions as follows:
    • 3 스테이지 end-to-end 생성 프레임워크, GDR로 persona 일정한 대화의 생성을 제안한다.
    • 매칭 모델은 생성 프레임워크와 결합되어 프로토타입에서 inconsistent 단어들을 검출하고 삭제한다.
    • 실험결과들은 제안된 접근법이 경쟁 베이스라인보다 human과 automatic metrics에서 더 좋은 성능을 보여준다.

2 Related Work

  • End-to-end dialogue generation은 대화 생성 모델의 한 방법이고 최근에 많이 쓰는 기법이다.
  • 그 중에서 seq2seq에서 Transformer 기반의 연구가 좋은 성능을 보이고 있다.
  • dialogue corpus인 Persona-Chat의 공개도 연구에 기여를 하였고 이 데이터세트에 대해 seq2seq 모델과 Generative Profile Memory Network의 베이스라인을 제시했다.
  • 그 이후에도 다음의 연구가 있다.
    • DeepCopy model, which leverages copy mechanism to incorporate persona texts.
    • Song et al. (2019a) integrated persona texts into the Per-CVAE model for generating diverse responses.
  • 그러나 persona-based models들은 불일치 문제가 있어서 다음의 시도가 있다.
    • Welleck et al. (2019) annotated the Persona-Chat dataset and introduced the Dialogue Natural Language Inference (DNLI) dataset
    • 이 데이터세트는 대화 일치의 검출을 NLI 문제로 바꾼다.
  • 이전의 연구 소개
    • In parallel with this work, Song et al. (2019b) leveraged adversarial training to enhance the quality of personalized responses. 
    • Liu et al. (2020) incorporated mutual persona perception to build a more explainable (Liu et al., 2019) dialogue agent. (=You impressed me이게 SoTA 아닌가?)
    • Other relevant work lies in the area of multi-stage dialogue models (Lei et al., 2020). 
    • Some retrieval-guided dialogue models (Weston et al., 2018; Wu et al., 2019; Cai et al., 2019a,b; Su et al., 2020) also adopted a multi-stage framework, but the difference from our work is obvious: 
      • we generate the prototype rather than retrieve one. 
      • A high-quality retrieved response is not always available, especially under the persona-based setting.

3 Model

3.1 Overview

  • 이 연구에서, 우리는 명시적인 persona을 가지는 response을 바탕으로 대화 생성 모델을 학습을 고려한다.
  • 우리는 single-turn responses의 persona 일관성에 집중하여 우리는 multi-turn persona 일관성은 미래 연구로 남겨둔다. 
  • 수식적으로, 우리는 대문자는 문장을 나타내고 소문자는 단어들을 나타낸다.
    • 은 n개의 단어를 가지는 입력 query로 표기
    • 은 k개의 다른 persona texts을 가지는 것을 표기
    • 로 i번째 persona text로 개의 단어를 가진다.
  • 우리의 목표는 대화 모델 을 학습해서 response 을 생성하는 것이다.
    • 으로 query Q와 persona P를 기반으로 일정한 persona을 가지는 reponse을 생성하는 것이다.
  • More concretely, as shown in Figure 2, the proposed model M consists of three parts:
    • 1) 프로토타입 생성 G
      • 이 요소는 persona texts와 qury을 입력으로 취하고 추가 편집을 위한 reponse 프로토타입을 생성한다.
      • 이것은 Transformer encoder-decoder 구조를 가진다.
    • 2) Consistency matching model D
      • 이 모델은 프로토타입이 inconsistency로 이끌 수 있는 단어들을 감지하고 삭제한다.
      • 우리는 이 모델을 DNLI 데이터세트의 NLI fashion으로 학습한다.
    • 3) Masked prototype rewriter R
      • rewriter은 response 프로토타입을 좀 더 일관성있게 수정하는 것을 학습한다.
      • 이것 또한 transformer decoder로 decoder of G와 비슷한 구조를 가진다.
      • 다른점은, 이것은 query대신 masked 프로토타입을 입력으로 받는다.

3.2 Generate: Prototype Generator

  • 우리는 encoder-decoder 구조로 우리의 프로토타입 generator G을 설계하는데 적용한다.
  • encoder에서, 우리는 transformer의 self-attentive encoder을 사용한다.
  • decoder에서는 transformer decoder을 기반으로 우리는 tuple-interaction mechanism으로 persona, query, response 사이의 관계를 모델링한다.

3.2.1 Self-Attentive Encoder

  • persona P는 여러 개의 문장으로 구성되고 P의 모든단어를 다음과 같이 펼친다.
    •  (즉, persona 구분없이 쭉 단어를 펼친다)
  • 그래서 우리는 self-attentive encoder으로 persona texts와 query의 representation을 각각 계산한다.
  • multi-head attention은 MultiHead(Q, K, V)으로 정의되고 Q,K,V은 각각 query, key, and value이다.
  • encoder은 개 identical layers으로 구성된다.
  • 첫 번째 stack P의 encoding의 예시는 다음과 같다.
    • 은 multi-head self-attention의 첫 번째 layer이고 은 embedding function이다.
    • 의 input embedding은 word embedding과 position embedding의 합이다.
    • 은 첫 번째 feed-forward 네트워크의 출력을 의미한다.
  • 다른 각 layer은 다음과 같다.
    • n은 2부터 이다.
    • 우리는 layer noramlization을 각 sublayer LayerNorm(x + Sublayer(x))에 적용한다.
    • Q도 마찬가지로 encoded된다.
    • 번 동일하게 반복된 후, 우리는 최종 representation 와 을 얻고 이는 persona와 query을 각각 encoding한 것이다.
    • After NG identical layers, we can get the final representations O (NG) p and O (NG) q , where O (NG) p and O (NG) q are the encoded persona and encoded query, respectively.
    • 뭔가 수학표기들이 깔끔하지 않은데.. 말하고자하는 것은 일반 Transformer encoder와 똑같음.
    • Q,K,V로 multi-head attention 태우고, FFN 태우는 것이 한 블락이고 이것을 번 반복한다는 것이다.
    • 이것을 P, Q에 대해 각각 진행하는 것이다. (같이 입력으로 넣는 것이 x)
    • 근데 여기서 multihead(Q,K,V)에서 Q,k,V을 self-attnetino이라 다 같은 것으로 표기를 한 것 같긴한데 보통 Q,K,V임을 써주지 않나? 중요한 건 아니지만..

3.2.2 Tuple-Interaction Decoder 

  • decoding에서, 3가지 정보의 타입인 persona P, query Q, response Y가 있고 이것으로 tuple (P, Q, Y)을 구성한다.
  • 따라서 3개의 문장간의 관계를 고려해야한다.
    • (1) Q와 Y 사이의 alignment는 더 좋은 결과에 유익하다 (Bahdanau et al., 2014).
    • (2) persona가 여러개의 문장에 구성되고 다른 모습을 설명함에 따라, 우리는 P와 Y 사이의 관계에 따른, 가장 관련있는 persona information을 찾아야 한다.
    • (3) 우리는 query가 주어진 persona에 따라 응답을 해야하는지 알고 싶다.
      • 그래서 우리는 P와 Q 관계를 고려해야 한다.
    • 마치 MRC에서 paragraph, question, answer 사이를 고려하는 것처럼 접근한 거 같음.
  • 위의 요소들을 고려하여, 우리는 두 개의 layer인 tuple-interaction 메커니즘을 decoder에서 그림2의 첫 번째 부분처럼 제안한다.
    • 두 layer에는 3가지 attention이 있다.
    • query attention (Q-Attn)
    • persona attention (P-Attn) in the first layer
    • persona-query attention (PQ-Attn) in the second layer. 
  • 개의 동일한 layer가 decoder에 있고 첫 번째 layer은 다음과 같다.
    • 와 은 첫 번째 층의 P-Attn and Q-Attn의 결과이다.
    • 은 PQ-Attn의 첫 번째 층의 결과이다.
    • 은 첫 번째 층의 출력을 가리킨다.
    • Y는 여기서 알려진 단어에만 의존하도록 masked 처리 된다. (masked self-attention을 말하는 것일 듯)
    • 이 논문에서 표기들을 보면, 이전 layer의 결과가 Question로만 쓰이고 실제 Value에는 Op, Oq등이 쓰이는게 맞는건가?
  • 반복적으로 다음 layer들은 다음과 같다.
    • n은 2부터 까지 이고,  층 이후에 decoder의 출력은 으로 hidden size에서 vocab size로 투영된다.
  • 그리고나서, softmax 로 단어들의 확률을 구한다.
    • 은 hidden_size x vocab_size 행렬이고 은 vocab size 차원을 가지는 bias term이다.
    • 은 첫 번째 stage의 출력 분포이다.
    • 에서부터 response 프로토타입 을 얻을 수 있다.
  • 즉, 3.2.1에서 P와 Q에 대해 각각 transformer encoder을 태운 결과가 있다.
    • 그 결과를 각각 transformer decoder을 태운다.
    • 그렇게 self-attention을 통해 decoder된 것을 PQ-Attn을 태운다는 것이다.

3.3 Delete: Consistency Matching Model 

  • consistency matching model D의 목표는 persona texts와 response 프로토타입 사이의 단어 레벨 일관성을 밝히는 것이다.
  • 그래서 부적절한 단어들은 프로토타입에서 삭제가 가능하다.
  • 이 모델은 persona texts가 주어진 것의 응답의 문장레벨 entailment 카테고리을 예측하도록 학습되고 enatilment, neutral, contradiction을 포함한다.
  • 카테고리가 entailment가 아닐 경우, 우리가 가장 기여가 많은 단어들을 special mask token으로 바꿔서 삭제할 수 있다.
    • 그래서 모델이 rephrase할 기회를 준다.
    • attention weights는 각 단어들의 기여로 측정가능하다.
    • consistency matching model
    • bottom에서 top까지 self-attentive encoding layer, cross attention layer, and consistency matching layer이다.
  • sec 3.2에서 설명한듯이, self-attententive encoder SAE(·)은 입력에서 self-attention을 수행해서 sentence reprsentations을 얻는다.
  • task의 일관성 매칭은 대화 생성으로부터 꽤 다르기 때문에, 우리는 generator G와 matching model D 사이의 encoders을 공유하지 않는다.
    • (SAE 결과) 은 hidden_size x n 행렬이다. 
    • n과 m은 Persona와 의 각 단어 개수이다. (그림 3에서 보듯이)
  • 여기서 우리는 average pooling 전략으로 summary representation을 얻는다.
  • 그리고 우리는 response attention weights와 attentive response reprsentation을 다음과 같이 얻는다.
    • 는 attention weights이고 는 response representation이다.
    • 비슷하게 우리는 와 을 얻는다.
  • 정리하면)
    • persona와 response을 transformer encoder으로 각각 embedidng한다.
    • 여기서 cross-attention을 하기 위해, P와 R을 각각 하나의 벡터로 만들거다.
    • response입장에서 말하면, 1) persona word embedidng을 평균내서 persona을 대표 vector을 만든다.
    • 2) persona 대표 vector와 response word embedding과 각각 response word에 해당하는 attention score을 구한다.
    • 3) 이것을 이용하여 weight summation으로 최종 response representation을 구한다.
  • 와 는 한 번 생성되면, 3가지 매칭방법이 관계를 추출하는데 적용된다.
    • concatenation
    • element-wise product
    • element-wise difference
  • 이 매칭들의 결과들은 concat되어서 MLP을(3-layer+tanh 활성함수) 통과한다.
  • 최종 출력은 softmax 함수로 확률이 된다.
  • inference 프로세스에서 response attention weights 는 불일치한 단어들을 설명하는데 활용되고 이것으로 삭제한다.
  • 실제로, 우리는 간단한 휴리스틱 규칙으로 단어들을 삭제하는데 사용한다.
    • 카테고리가 entailment가 아닌 한, 우리는 단어들의 10%(최소 한 단어)를 삭제할 것이다. 
    • 프로토타입 의 가장 높은 attention weight을 가지는 순서로 삭제하겠지
    • 이 방법으로 masked 프로토타입 을 얻는다.

3.4 Rewrite: Masked Prototype Rewriter

  • rewriter R은 마스크된 프로토타입과 persona text을 입력으로 받아서 최종 response을 출력한다.
  • R 또한 transformer 디코더이고 이것은 G의 decoder와 유사하나, 약간의 차이가 있다.
    • masked prototype은 타겟 response와 유사하기 때문에 프로토타입과 target response 사이의 direct attention은 필요없다.
    • 즉 PQ-att와 같은 것은 안한다는 말
  • R의 구조는 그림2의 3번째 부분과 같으며 이것은 다음과 같은 수식을 가진다.
    • 는 masked 프로토타입이고 은 G의 self-attentive encoder이다.
    • 은 encoded persona이다.
    • 번 동일한 층이있고 G와 같은 생성 프로세스가 에 적용된다.
    • 최종 response는 이다. 
    • 이 수식만을 보면 약간 헷갈릴 수 있는데 그림 2의 part3처럼 진행된다는 것이다.
    • 근데 그림과 다르게 FNN을 할 때, S와 K을 더한다.
    • 즉 resNet처럼 한다는 것이다.
    • 참고로 살펴보면 Orw(0)이 이 되는 것이다.

3.5 Training

  • consistency matching model D은 프로토타입 generator G와 rewriter R와 분리되어서 학습이된다.
  • 이전에 말햇듯이 matching model D은 DNLI 데이터세트로 학습이된다.
    • 근데 DNLI의 데이터 분포와 PERSONA-CHAT의 데이터 분포가 달라도 잘 적용이 되나?
    • You impressed Me 연구에서는 DNLI 대신에, distractor을 이용한 unsupervised로 학습을 했었다.
  • 우리는 D의 출력과 ground truth labels 사이의 CrossEntropy으로 최소화했다.
  • G와 R은 같은 학습 타겟을 가지고 있다.
  • 우리는 그들을 일반적인 maximum likelihood estimate으로 학습했다.
  • 학습에 두 가지 삭제 전략이 있었다.
    • (1) In the warm-up phase, because the G can hardly generate high-quality prototypes at this period, we randomly delete each word, with a 10% probability, from the prototype. 
    • (2) After that, the trained consistency matching model D is leveraged to delete words. 
  • 즉 여기서 하는 말을 정리하면)
    • 일단 G, R와 D는 따로 학습을 하는 것이다. 
    • 아마 진짜로 과정을 생각해보면 일단 D을 따로 학습해둔다.
    • 그리고 G, R을 같이 순차적으로 학습을 하는거 같은데 (즉 G가 다학습되고 R을 학습하는 식이 아님)
    • G가 초반부에 고품질 프로토타입을 생성하지 못하니 이상한 문장을 생성할 것이고 D을 활용해봤자 의미가 크게 없다는 것이다.
    • 따라서 R의 입력으로 실제 문장에서 랜덤으로 10% 삭제한 문장이 D의 결과로 간주되어 학습을 하다가
    • 어느정도되면, G로 생성한 문장에 D을 적용시킨 문장으로 R을 학습하는 식이다.
    • 어느정도란 기준이 논문에는 없으나, 간편히 1. G 따로 학습 2. D 따로 학습하고 3. R을 학습하면 될 것 같다.
    • 어차피 D때문에 G와 R 사이를 end-to-end로 학습하는 구조는 아닌 것 같다.

4 Experiments

4.1 Datasets

  • 우리는 persona-based 대화 생성 실험을 PersonaChat 데이터세트에서 실행했다.
  • 게다가 우리는 consistency matching 모델은 DNLI 데이터세트에서 학습했다.
  • DNLI 데이터세트는 Persona-Chat을 강화한다.
    • 이것은 Persona-Chat으로부터의 persona-utterance 쌍으로 구성되고 entailment, neutral, contradiction으로 레이블링 되어있다.

4.2 Compared Models

  • 우리가 아는한, 이것은 명시적으로 persona consistency을 모델링한 연구이다.
  • 모델의 효과성을 보여주기위해, persona-based 대화 모델과 비교를 한다.
  • S2SA
    • S2SA는 RNN 기반의 attentive seq2seq(Bahdanau)이다.
    • 이것은 오직 query을 입력으로 받는다.
  • Per-S2SA
    • 위와 똑같은데, 입력으로 persona+query가 들어간다. (Zhang et al., 2018, I have a dog)
  • GPMN
    • Generative Profile Memory Network은 RNN 기반으로 메모리네트워크에서 개인적인 메모리 표현으로 persona text을 encode한다. (Zhang et al., 2018, I have a dog)
  • DeepCopy
    • RNN 기반의 hierarchical pointer network으로 copy 메커니즘을 활용하여 persona와 통합한다 (Yavuz et al., 2019).
  • Per-CVAE
    • 메모리 증강된 CVAE 모델로 명시적으로 다양한 response 생성을 위한 persona 텍스트를 모델링한다  (Song et al., 2019a).
  • Transformer
    • Transformer을 가지고 persona texts을 query와 concat해서 입력으로 넣는다. (Pers-S2SQ와 같은 식인 듯)

4.3 Experimental Settings

  • 모든 RNN 기반의 베이스라인 모델들은, two-layer LSTM 네트워크로 hidden size는 512을 가진다.
  • Transformer은 hidden size는 똑같이 512로 가지고 encoder와 decoder은 3개다.
    • mulyi-head attention은 8개이고 feedforward inner-layer size는 2048이다.
  • word embeddings은 랜덤 초기화를 하고 embedding 차원은 모든 모델 512로 세팅한다.
  • 우리의 모델은 transformer와 같은 파라미터 세팅을 적용한다.
    • layer NG=ND=NR은 3개씩 있고 R은 word embeddings을 공유하나 matching model D는 independent embeddings을 사용한다.
    • token-level 배치 사이즈는 4096이다.
    • Adam optimization을 사용하고 warm-up steps은 10,000이다.
  • 우리는 OpenNMT-py(Klein et al., 2017)에서 모델을 수행한다.

4.4 Evaluation Metrics

  • 평가할 때, 두 개의 필수적인 요소가 고려되어야 한다.
    • persona consistency and response quality. 
  • 우리는 사람 평가와 automatic 평가 두 개의 관점에서 다른 모델들을 비교한다.
  • Human Evaluation
    • 우리는 다섯명의 annotators을 다른회사에서(third-party company) 고용한다.
    • 이 anntoators은 높은 언어적 스킬을 가지고 있으나 모델들에 대해서는 모른다.
    • 우리는 persona-query-response tuples을 모델별로 200개 샘플링한다.
    • 복사된 querys는 (인사말이 한 번 이상 나타나는 경우와 같은) 2번 샘플링 되지 않는다.
    • 첫째로, 우리는 response의 persona consistency을 평가한다.
      • annotators은 response가 주어진 persona을 유지한 response인지 아닌지를 결정한다.
      • 0은 irrelevant(or contradictory)한 것이고 1은 관련있는 것이다. (Const)
    • 둘 째로, 우리는 3가지 기준으로 response의 퀄리티를 평가한다.
      • fluency (Fluc.), relevance (Relv.), and informativeness (Info.)
      • 각 관점은 5점만점으로 1,3,5은 unacceptable, moderate, excellent 성능을 보여주고 2,4은 확실하지않는 경우이다. (즉 점수가 클수록 좋음)
  • Automatic Metrics
    • Dziri은 entailment 기반의 NLI가 대화 consistency의 indicator로 사용될 수 있다고 보여준다.
    • 여기서 우리는 잘 작동하는 두 NLI 모델을 학습한다 (DIIN, BERT)
    • 이것이 자동으로 persona-response 쌍의 카테고리를 예측하고 우리는 persona consistency의 추가 참조로 enailment의 비율을 계산한다.
    • 우리의 실험들에서, 이전의 best results 88.20%와 비교하여 DIIN과 BERT는 88.78% and 89.19% 성능을 DNLI 테스트세트에서 각각 보여준다.
    • 학습된 모델들은 entailment ratios을 계산하기 위해 활용된다.
    • Ent_diinEnt_bert로 두 가지 모델 기반 entailment 비율이 약어로 표시됩니다.
  • 대화 퀄리티를 위해, 우리는 Zhang et al. (2018)가 PPL을 사용해서 response의 fluency을 측정한 것을 따른다.
    • Lower perplexity은 좋은 flunecy을 의미한다.
    • 게다가 우리는 Dist-1/Dist-2 (Li et al., 2016a) 또한 사용하여 모델이 다양한 response을 생성할 수 있는지를 조사한다.
    • 이것은 distincy uni-grams/bi-grams의 비율이다.
    • Dist-1/Dist-2는 처음보는 metrics인데 다양성을 가볍게 조사할 때 괜찮아 보이긴 함

4.5 Main Results

  • Table 3에서 메인 평가를 리포트한다.
  • 베이스라인 방법들과 비교하여, 우리의 GDR 모델은 highest consistency score 49.2%을 사람평가에서 가진다. (꽤 큰 차이로)
  • 샘플링된 target response 또한 annotated 되었고 그들중 65.4%가 persona informtation으로 표현된다.
  • 게다가, 두 모델 기반인 entailment ratios는 전체 test set에 대해서 계산되고 우리의 GDR 모델의 효과성을 입증한다.
  • 두 NLI 모델들이 다른 결과를 보여줌에도 불구하고, GDR 모델은 각각에 대해 가장 좋다.
  • 대화 퀄리티를 위해, 제안된 모델은 놀라울만한 lower PPL 16.7을 가진다.
    • sec 4.6에서 이것에 대한 분석을 볼 수 있다.
  • 게다가, 우리의 distinct-2 메트릭은 다양한 response을 생성하기 위해 제안된 Per-CVAE 모델보다 꽤 좋다.
  • 추가적으로, 우리는 대화 퀄리티 향상을 보기위해 pairwise response comparison을 했다.
  • GDR이 persona consistency을 꽤 향상시키고, 이것은 여전히 transforemr와 GPMN에 비해 높은 품질의 response을 생성한다.

4.6 More Analysis

  • 제안된 모델이 베이스라인 방법들보다 더 좋은 성능을 달성함으로써, 우리는 ablation test로 더 나은 컨트리부션을 정량화한다.
  • 우리는 다른 여러가지 방법으로 접근한다.
    • GR It removes the matching model D, i.e., generates a prototype and rewrites it directly. 
    • GRdR This approach replaces the matching model D with 10% random deleting (Rd), thus to see if the masked prototype, extracted by our matching model D, is beneficial. 
    • G Our model’s generator, without further consistency matching and rewriting.
    • T It is a transformer generator but removes the tuple-interaction in section 3.2 and directly concatenates persona texts to the query. This model is equivalent to the vanilla transformer.
  • Table 5에서, 매 결과가 모델의 디자인의 효과성을 보여주도록 관찰할만한 성능 향상을 보여준다.
    • G에서 tuple-interaction과 R에서 rewriting 과정은 persona consistency의 향상에 기여한다.
    • GRDR과 GDR과는 다른 랜덤 삭제 전략을 사용하는 GRdR 접근 방식은 GDR 모델을 돋보이게 한다.
    • 이는 잘 학습 된 일관성 일치 모델이 3 단계 생성 프레임워크에 개인의 일관된 대화를 생성하는 데 큰 도움이된다는 것을 나타냅니다.
  • 두 번쨰로, 우리는 우리의 PPL 향상을 조사한다.
    • 우리가 볼 수 있듯이, one-stage transformer 접근법 G와 T는 높은 PPL 26을 가진다.
    • 대도적으로, rewrite을 하고나면, matching model D여부에 관계없이 (random 삭제해도) PPL은 꽤 감소하는 것을 보여준다.
    • 작은 PPL은 작은 cross-entropy을 보여주고 이것은 model이 더 많은 ground truth words을 가지는 response을 가리킨다.
    • 확장시켜서, PPL은 consistency의 사람의 평가 결과를 검증한다.
    • 성능 향상의 하나의 이유는 rewriter는 denoising autoencoder와 같이 작동하고 이것은 시퀀스가 완전히 다른 것에 매핑을 학습하는 것보다 조금 더 sequence 그 자체의 정보에서 잃어 버린 부분을 재구성하는데 집중한다.
  • 우리는 GR, GRdr, G의 relevance 점수에 대해 관찰한다.
    • G는 T보다 info 점수가 약간 낮다.
    • 심지어 GDR은 T보다 relevance가 살짝 좋다.
    • 한 가지 설명은 이러한 모델들은 모두 특별히 persona information을 통합하는 방법으로 디자인되었다.
    • 그들이 더 나은 consistency 점수를 획득해도, 이것은 relevance score의 cost가 높아질 수 있다.
  • 게다가, 우리는 GDR의 response 퀄리티를 3가지 ablated 모델과 비교하고 Table 6에서 보여준다.
  • deleting와 rewriting은 consistency을 향상시키도록 고안되었고 대화 퀄리티에 긍정적인 영향을 준다.
  • 마지막으로 우리는 몇 가지 생성된 예시를 match module D의 attention weight visualization과 같이 table 7에서 보여준다.
  • 첫 번째 케이스에서, 생성된 프로토타입이 persona에 관하여 중립적임에도 부룩하고, word "nurse"는 여전히 우리의 전략에 따라 마스킹된다.
    • 그리고 rewriting 스테이지 이후에, 최종 response는 persona을 표현한다.
  • 두 번째 케이스에선, 프로토타입이 persona에 반대되는 가능성을 갖고 있지만, keyword는 성공적으로 matching model D에의해 삭제된다.
  • 세 번째 케이스에선 프토토타입이 persona에 일관성을 유지하고, 아무런 단어도 삭제되지 않는다.
    • 결과로써, 최종 출력 response는 no deletion model GR의 출력과 같아진다.
  • 이러한 케이스들에서, consistency과 퀄리티는 final rewriting 이후에 향상이 된다.

5 Conclusion and Future Work

  • 이 논문에서, 우리는 3-stage 프레임워크인 GDR을 제시하여 persona가 일관된 대화 생성을 보여준다.
  • 우리의 방법은 transformer을 적용하여 maching model과 융합하여 inconsistent 단어들을 삭제한다.
  • 실험들은 public 가능한 데이터세트에서 실행되었다.
  • human과 automatic 평가들은 우리의 방법이 놀라울만한 좋은 성능 달성을 보여준다.
  • 미래에는, 우리는 우리의 접근법이 multi-turn 대화의 consistency 향상하도록 확대할 것이다.
Reference

댓글