NL-081, EmpTransfo: A Multi-head Transformer Architecture for Creating Empathetic Dialog Systems (2020-AAAI)

■ Comment

  • 여기서는 DailyDialog 데이터세트를 이용한 대화 시스템을 구축했다.
  • 이 데이터세트는 emotion, action, topic 등의 meta 정보를 담고 있고, 대화 히스토리와 메타정보가 주어졌을 때, 적절한 응답을 하는 식으로 진행이된다.
  • 모델은 EmpTransfo로 불리며, pre-trained 모델로 OpenAI-GPT을 사용했다고 하지만, intro부분에 보면 Transfertransfo위에서 설계되었다고 하니, pre-trained 모델은 아마 Transfertransfo을 사용했단 것 같다.
    • 물론 Transfertransfo은 OpneAI-GPT을 기반으로 학습된 모델이다.
  • 모델링 자체에는, 크게 특별한 점은 없고 loss 식이 총 3개가 있는데 ablation study을 통해 그 효과를 보여준다.
    • 3개의 loss로 학습을 했기 때문에 multi-task learning이라고 여기서는 부르고 conclusion에서 이것은 필수적인 요소라고 부르기까지 한다.
    • 뭐 맞는 말이지만, 이전의 연구에서 대부분 이렇게 하는데 여기서는 이것을 강조를한다. 
  • 추가적으로 새롭게 알게 된것으론 다음이 있다.
    • (Holtzman et al. 2019)에 따르면 p = 0.9 및 T = 0.7은 인간 텍스트 생성 통계에 더 가깝고 모든 실험에 사용합니다.
    • disgust, anger이 연관성이 높다는 것.
    • 기계번역을 위해 개발된 BLEU가 문장 생성 평가에서는 좋은 metric이 아님을 보여주는 reference: Sulem, Abend, and Rappoport 2018; Novikova et al. 2017

0. Abstract

  • 감정을 이해하고 그에 따라 응답하는 것은 대화 시스템의 가장 큰 챌린지 중 하나이다.
  • 이 논문은 EmpTransfo을 설명하고, multi-head Transformer 구조로 공감적인 대화 시스템을 만든다.
  • EmpTransfo은 SoTA pre-trained model (예. OpenAI-GPT)로 언어 생성에 활용되지만 모델은 다른 사이즈로 사용될 수 있다.
  • 우리는 감저의 history와 다른 metatdata을 활용해서 대화 시스템의 생성된 대화의 품질을 향상시킬 수 있다.
  • 챌린지한 언어 코퍼스를 사용한 우리의 실험 결과는 제안된 접근법이 다른 모델들보다 Hits@1와 PPL이 좋음을 보여준다.

1. Introduction

  • 사람들은 자연어를 통하여 미묘한(뉘앙스) 감정을 전달하는 특별한 능력을 가지고 있다.
  • 대부분 기존의 대화 시스템은 language understanding과 생성된 반응을 향상시키는 쪽으로 집중을 하고 있다.
  • 이러한 특징이 대화 시스템을 구축하는데 필수적임에도 불구하고, 그들은 대화에 공감적인 특징이 부족하고, 이는 대화 품질에 있어서 피
  • 유저의 만족을 증가시키기 위해, 대화 시스템이 적절한 감정으로 반응해야하는데 이것에는 understand와 적절한 emotions이 필요하다.
  • 감정적인 대화 시스템을 사용하는 긍정적인 요소는 소비자 만족과, 헬스케어 어플리케이션과 같은 많은 영역에서 입증돼왔다.
  • pre-trained 모델을 사용하는 아이이디어로 최근 NLP의 발전을 놀랍도록 이끌었다.
  • 대화 시스템도 같은 아이디어를 적용해서 language understanding과 generation에 관해 향상된 모델을 얻었지만, 갑정과 context knowledge와 같은 다른 정보를 통합하는 것은 여전히 챌린지하다.
  • 공감적인 대화 에이전트를 만들기 위해, 기계는 대화 히스토리를 기반으로 인식과 감정을 예측하는 능력이 필요하고 사용자와 인터랙팅에 그것들을 사용한다.
  • 전통적인 대화 시스템의 대부분 설계에서 사용되는 말뭉치는 일반적인 대화를 포함한다.
    • 이러한 데이터세트는 큰 규모임에도 불구하고 감정들, 토픽들, personalit 등의 metadata을 포함하지 않고 특성의 약점이 있다.
  • 일반적인 말뭉치를 기반으로하는 시스템의 학습은 대화 에이전트가 감정, 어떠한 personality을 이해할 수 없고 일반적인 응답을 생성하는 경향이 있다.
    • "I don't know"와 같은
  • 이러한 이유 때문에, 좀 더 많은 contextual information을 포함하는 높은 퀄리티의 데이터세트를 만드는 노력이 필요하다.
  • 예를 들어, DAILYDIALOG (Li et al. 2017) dataset은 감정, 토픽, 액션과 같은 정보를 포함한다.
  • 우리는 새로운 multi-head Transformer 구조를 제안하여 감정, 토픽, 앤션과 같은 명시적인 contextual information을 사용하여 적절한 감정을 가지는 사용자의 담화로 응답한다.
    • 이 때, coherence, relevance, and consistency에 관한 응답의 퀄리티를 희생하지는 않는다. (즉 품질도 괜찮다)
  • 그림 1은 감정, 액션, 토픽의 히스토리를 조건으로 사용자와 대화 시스템 사이의 어떻게 교류하는지 입증한다.
  • 모든 이러한 contextual 단서는 대화 시스템이 적절한 감정을 가지게 응답하는 것을 쉽게한다.
  • EmpTransfo는 SoTA 대화 시스템위에서 (Wolf et al. 2019b) 설계되었으며 contextual 정보를 활용할 수 있도록 새로운 구조로 도입한다.
    • 여기서 Wolf는 persona-chat에 사용된 다음의 논문이다.
    • Transfertransfo: A transfer learning approach for neural network based conversational agents.
    • 이 논문을 백본으로 쓴 것 같은데 즉, persona을 어느정도 반영하는 방법을 알고 있는 모델이라고 봐도 될 것 같다.
  • 정량적인 평가는 모델이 다른 모든 베이스라인 모델들보다 좋음을 보여준다.
  • 우리의 메인 컨트리뷰션은 다음과 같다.
    • 효과적이고 확장이 가능한  대화 시스템에서 multi-task 학습 접근법으로 감정을 결합한다.
    • 우리는 우리의 접근 방식이 응답의 공감적 측면뿐만 아니라 생성 품질을 향상시키는 다른 contextual 정보로 확대 될 수 있음을 보여줍니다.
    • 시스템의 아키텍처를 변경하지 않고 더 크거나 더 작은 사전 학습 된 모델과 함께 사용할 수있는 방식으로 모델을 설계합니다. 이것은 우리의 필요에 따라 다양한 설정에서 EmpTransfo를 사용할 수있는 유연성을 제공합니다.

2. Related Work

  • 대화 시스템에서 감정을 활용하는 작업의 대부분은 감정에 대한 meta 정보로 이모티콘이 포함 된 대규모 트위터 데이터 세트 (Sordoni et al. 2015)를 사용합니다.
  • (Zhou and Wang 2017)에서는 Twitter 데이터 세트를 사용하고 전처리 방법을 적용하여 서로 다른 감정을 나타내는 64 개의 서로 다른 이모티콘으로 대화형 데이터 세트를 만듭니다.
    • 전처리 단계에서 그들은 적어도 하나의 이모티콘을 포함하는 트윗과 response을 사용하고 발생 빈도에 따라 다른 이모티콘을 필터링했습니다.
    • 그들은 CVAE (Sohn, Lee, Yan 2015) 네트워크를 사용하여 감정 반응을 학습하고 생성했습니다.
    • 감정을 표현하기 위해 이모티콘을 사용하는 선택은 너무 세밀하고 많은 경우 다른 이모티콘과의 조합이 특정 감정과 거의 일치하지 않기 때문에 노이즈하다.
  • (Colombo et al. 2019)에서 그들은 감정에 대한 vector representation, 원하는 감정, neutral words인 단어에 페널티를주는 정규화 및 감정적으로 관련된 단어의 생성을 강제하는 샘플링 방법이있는 seq2seq 프레임 워크를 사용했습니다.
  • NLPCC 데이터 세트 (Mi et al. 2014)에 관한 논문은 8 개 감정 카테고리가있는 중국어 데이터 세트입니다.
    • 첫 번째는 implicit(함축적인) 반응을 생성하기 위해 단어와 내부 및 외부 기억 메커니즘과 함께 감정을 포함하는 seq2seq 아키텍처를 사용하는 Emotional Chatting Machine (Zhou et al. 2018)입니다.
    • 두 번째 작업은 암시 적 감정 생성을 촉진하는 감정 분류기를 기반으로 훈련 목표와 함께 seq2seq 접근 방식을 사용하는 EmoDS (Song et al. 2019)입니다.
    • 두 작품 모두 감정적 단어에 더 초점을 맞춘 디코더의 lexical attention mechanism을 사용하여 명시적인 감정을 반응에 주입합니다.
  • 위에서 언급 한 작업의 보고서에 따르면 모든 seq2seq 기반 모델은 모든 감정을 똑같이 잘 포착 할 수없는 일반적인 반응을 생성하는 경향이 있습니다.
    • 또한 이전의 모든 작업은 결과에 노이즈를 도입하는 training 프로세스에서 machine annotating 처리 방식을 사용합니다.
    • 왜 사람의 손으로 안했을 까 하는 의문이 들기는 하다.
    • 메이비, 이미 있는 대화에서 classifier으로 annotation하는게 쉽고 어느정도 성능이 나오므로?
  • 우리와 가장 관련이있는 작업은 (Rashkin et al. 2019)입니다. 
  • 그들은 대화에 대한 메타 정보를 포함하는 EMPATHETIC-DIALOGUES라는 새로운 데이터 세트를 도입했습니다.
    • 메타 정보는 감정과 대화가 일어난 상황을 보여주는 레이블입니다.
    • 그들은 BERT 인코더 (Devlin et al. 2018)를 사용하여 최적의 일치를 찾는 검색 기반 모델Transformer 아키텍처를 사용하는 생성 모델의 두 가지 아키텍처를 제안했습니다.
    • 각 발화가 아닌 전체 대화에 하나의 레이블을 사용하면 모델이 적절한 상관 관계를 찾기가 더 어려워집니다.
    • 여기서는 이 데이터세트를 사용한 것이 아니라, DailyDialog 데이터세트를 사용한 것임!!
  • 반면에 최근 진행 상황은 chit-chat 설정에서 대화 모델에 대한 pre-trained 언어 모델에 대한 유망한 결과를 보여주었습니다.
    • 최근 (Wolf et al. 2019b)은 미세 조정 된 GPT (Generative PreTraining)를 사용하여 PERSONACHAT 데이터 세트 (Zhang et al. 2018)를 사용하여 개인 채팅 도메인의 다른 모델을 이길 수 있음을 보여주었습니다.
    • 본 논문은 DAILYDIALOG 데이터 셋에 emotion뿐만 아니라 기타 관련 메타 정보를 통합 할 수있는 새로운 아키텍처를 제안합니다.
  • 먼저 언어 모델링 및 "next emotion prediction"외에 "next utterance prediction"을 위해 멀티 태스킹 학습을 사용하는 방법에 대해 논의합니다.

3. Proposed Approach

  • 최근 발전은 deep pre-trained 언어모델을 사용하여 다양한 NLU 테스크의 벤치마크에서 놀라운 향상을 보여준다.
  • 좀 더 구체적으로, 연구자들은 pre-trained 모델을 특정 테스크에대해 fine-tuning을 하여 처음부터 학습하는 모델들에 비해 더 좋은 성능 달성을 보여준다.
  • 이것은 데이터세트가 작을 때에도 중요하다.
  • Transformer-based 모델들은 언어 생성을 포함한 multiple tasks의 NLP 연구에서 어디에서나 존재한다.
  • GPT, GPT2와 같은 중요한 언어모델은 언어 생성에서 놀라울 만한 결과를 생성한다.
  • 이 논문에서는 GPT pre-trained 모델을 사용하여 더 좋은 결과를 달성한다.

3.1 Empathetic Dialog Generation

  • 두 명이 대화하는데, 각 대화의 turn을 "utterance"라고 하자.
    • 그래서, 대화는 다음의 utterances로 구성된다.
    • 좀 더 수식적으로, n개의 utterances는 U = {u1, u2, ..., un}이고 각 i번째 utterance는 Ni의 tokens을 Ui = {t1, t2, ..., tNi }처럼 가진다.  
    • 또한 각 utterance에 해당하는 emotion은 다음과 같이 E = {e1, e2, ..., en}의 시퀀스를 가진다.
    • 우리의 데이터세트 샘플은 utteracnes의 시퀀스로 {u1, u2, ..., uT −1, u_next}을 가지고  는 올바른 next utterance인 일 수도 있고 distractors 의 세트에서 가져온 distractor일 수도 있다.
    • distractor은 데이터세트에서 뽑은 random utterance이다.
    • 같은 방법으로, 만약 이에 해당하는 emotions의 시퀀스가 {e1, e2, ..., eT −1, e_next}와 같다면 은 올바른 next emotion 일 수도 있고 distractors 셋 에서 가져온 distractor일 수도 있다.
    • distractor 감정은 랜덤 감정으로 모든 감정들의 셋으로부터 가 아닌 다른 감정이다.
  • 우리의 모델은 embedding sapce 공간에서 시퀀스를 입력으로 받아서 Transformer에 통과하게 된다.
    • The Transformer architecture (Vaswani et al. 2017) consists of a multilayer Transformer decoder block. 
    • 각 Transformer 디코더는 masked multi-headed self-attention 연산이고 feedforward와 normalization layer가 각 입력 hidden states에 대해 따른다.
    • 출력의 hidden state은 같은 사이즈를 가진다.
    • 우리는 Transformer의 출력을 3개의 feed-forward linear heads을 가지고 신뢰할만한 next emotion, utterance, token을 생성한다. 
    • 즉 출력단이 token 예측만 있는 것이 아니라 3개라는 것으로 밑에서 설명 (matrix가 3개라는 것)
    • 여기에서는 12 layer 아키텍처를 사용했지만 다른 모델 크기로 확장하거나 축소 할 수 있다.
    • 다음과 같이, 이 세 가지 다른 heads와 해당 손실 함수를 정의합니다.
  • 1-Language modeling head
    • 언어 모델은 시퀀스 토큰들이 context으로 주어진 상태에서 다음 token을 예측하는 것이다.
    • 만약, 우리가 next utterance UT = {t1, t2, ..., tN }을 위한 토큰들의 시퀀스을 가지고 있다면, 다음 token의 조건부 확률은 다음과 같다.
    • 즉, 일반적인 LM 학습하는 것과 같은 식임
    • 모든 이전의 tokens들의 context는 고정된 차원의 vector으로 인코딩된다.
    • 언어 모델링 loss는 next utterance distractor 에 대해서는 학습되지 않는다.
  • 2-Next utterance prediction head
    • Devlin et al. 2018을 따라서 대화에서 next utterance prediction하도록 모델을 훈련 시키도록 시도했다.
    • 모델은 데이터 세트의 다른 부분에서 가져온 랜덤 distractors 세트 중에서 올바른 다음 utterance를 구별하도록 학습한다.
    • 더 구체적으로, 다음 utterance의 확률을 계산하는 위해 classifier를 만든다.
    • h_l은 Transformer 디코더의 마지막 토큰에 대한 hidden state이고 W2는 utterance 예측을 위한 weight 행렬로 학습된다.
    • 그러면 cross entropy를 기반으로 한 손실 함수는 다음과 같다.
    • 즉, 올바른 next utterance면 1이고 아니면 0으로 학습한다는 것으로 전체 utterance가 생성되었을 때, 마지막 토큰으로 binary classifier으로 loss을 계산할 수 있음.
  • 3-Next emotion prediction head
    • next utterance prediction와 유사하게, 모델은 distractors 세트 사이에서 올바른 emotion을 구별하도록 학습이 된다.
    • 이 head을 추가하는 이유는 모델이 오직 grammatical and language 구조의 학습 뿐만 아니라 주어진 utterances의 history에 대한 적절한 감정을 배우기 위해서다.
    • We can define: 
    • h_l−1은 Transformer 디코더의 마지막 토큰의 hidden state을 의미하고 W3은 emotion 예측 테스크을 위한 학습되는 matrix이다.
    • The loss function for next emotion prediction is defined with cross-entropy:
      • 즉 2번과 똑같은 형식이다.
    • where c1, c2, c3 are hyperparameters that are tuned experimentally.
    • 실험에서 비교를 위해 "next emotion prediction" head가 있는 모델과 없는 모델을 설계한다.
  • Input Representation
    • 우리는 DAILYDIALOG 데이터세트를 사용하고 이는 emotion과 action tags가 각 utterance에 레이블되어있고 전체 대화에 대한 topic tag가 있다.
    • Table 1에서 데이터세트의 샘플을 보여준다.
    • 대화는 utterances의 시퀀스이고 각 utterance는 하나 이상의 문장일 수 있고 emotion과 action 정보는 각 utterance에 대해 정의되어 있다.
    • 우리는 또한 데이터세트의 각 샘플에 distractors을 추가한다.
    • 테이블에서, 빨강으로 하이라이트된 행은 distractor을 보여주는 것이다.
    • 모든 모델은 길이 512을 가지는 positional embedding을 학습한다.
    • 그림 3은 input representation을 보여준다.
  • embeddings은 다음과 같다.
  • 1. Token embedding
    • The input sentences are tokenized using byte pair encoding (BPE) with a vocabulary size of 40,478. 
  • 2. Emotion embedding
    • Each one of seven emotions are considered as a special token to be learned as a new embedding. 
    • Emotion embeddings are copied for each token in the utterances and are added to the input of the network. 
  • 3. Action embedding
    • There are four actions for different communication functions that are used in dialog. 
    • The dialog acts are: Inform, Question, Directives, and Commissive
    • Dialog acts are also embedded with special tokens.
  • 4. Topics
    • There are 10 topics defined in DAILYDIALOG that are specified for each conversation. 
    • For topics, we just concatenate topic embeddings to the beginning of the first input token embedding. 
  • 1,2,3은 더해서 처리하고, topic은 맨 앞에 special token으로 처리하는 식이다.

4. Training

  • 우리는 7,000개의 책보다 더 많은 것을 커버한 BookCorpus 데이터세트로 학습된 OpenAI pre-trained 모델을 사용한다.
    • 더 정확히는, Transfertransfo을 사용한 것 아닌가?
  • 그 책들은 등장인물들 사이의 많은 상호작용에 대한 narratives, dialogues, emotions을 포함한다.
  • 이것은 사전 훈련이 셔플링없이 논리적인 순서로 문장으로 구성되어 있기 때문에 대화 체계 훈련의 과제에 적합하게 만든다.
  • 사전 훈련 된 가중치로 시작하여 입력 표현 섹션에 언급된 기능을 사용하여 DAILYDIALOG 데이터 세트에서 모델을 미세 조정합니다.
  • 우리는 검증 세트로 공개 평가와 테스트의 조합을 사용합니다.
  • 전처리 후 training set 크기는 76,502이고 validation 크기는 13,809입니다.
  • 대화 history의 다른 창 위치를 포함하도록 데이터 세트 표현을 수정합니다.
  • 수정된 데이터세트의 각 샘플은 topic, 마지막 두 utterances으로 구성되어 history contex의 역할을 하고 target utterance는 real target 혹은 distractor일 수 있다.
  • 그런 다음 입력 창이 앞으로 이동하여 대화의 다른 부분을 커버한다.
  • (번역) DAILYDIALOG 데이터 세트의 학습 세트에 대해 20 epoch의 시퀀스 길이 310에 대해 배치 크기가 4 인 모델을 미세 조정했습니다. 이는 약 1,500,000 단계입니다.
    • 손실 함수의 최적화를 위해 학습률 6.25e-5, β1 = 0.9 및 β2 = 0.999로 선형으로 감소하는 Adam Optimizer를 사용했습니다.
    • 기울기 누적 단계는 클리핑 기울기 표준이 1 인 8로 설정됩니다. 손실 계수를 1로 설정합니다 (c1 = c2 = c3 = 1).
    • Transformer의 중퇴율은 OpenAI GPT (Radford et al. 2018)에서 차용했습니다.
    • 제안 된 모든 모델은 Transformers 라이브러리를 사용하여 Pytorch에서 구현됩니다 (Wolf et al. 2019a).
  • 여기서, 우리는 top-p 샘플링을 하여 language decoding을 한다.
  • 마지막 hidden layer의 logits u가 주어졌을 때, i-1 tokens의 시퀀스와 t1:i-1은 context로 주어지고 우리는 다음 token ti는 다음의 분포를 따른다.
    • In which Vl is the l-th token in the vocabulary and T is the temperature parameter. 
    • 그냥 일반적인 temperature softmax식이다.
    • 높은 T는 tokens 선택에 있어 좀 더 stochastic한 결과를 보여주고 lower T은 greedy하고 deterministic 선택을 보여준다.
  • top-p sampling에 기반하여, 우리는 V^(p) ⊂ V 을 다음과 같이 선택한다.
  • 그런 다음 방정식 10의 분포를 다시 스케일링하여 확률 분포를 형성해야합니다. 
  • (Holtzman et al. 2019)에 따르면 p = 0.9 및 T = 0.7은 인간 텍스트 생성 통계에 더 가깝고 모든 실험에 사용합니다.
    • 이런 값이 있었구만!

5. Results

  • 우리는 평가 세트에서 일관되고 관련성있는 발화를 생성하는 능력에 대해 모델을 평가했습니다.
  • 또한 평가 세트에 대한 맥락을 고려하여 emotional 반응을 생성하는 작업에 대해 제안 된 모델을 평가합니다.
  • 대화 시스템의 평가는 자동 메트릭과 사람의 평가를 사용하여 수행 할 수 있습니다.
  • 여기서는 평가를 자동 측정 항목으로 제한합니다.

5.1 Evaluation on coherence and relevance 

  • Baseline models
    • 비교를 위해 attention 메커니즘이있는 seq2seq 모델과 검색 기반 Transformer Ranker 대화 시스템을 기준선으로 사용했습니다.
    • 검색 기반 모델은 ParlAI 프레임 워크 (Miller et al. 2017)에서 생성 된 (Rashkin et al. 2019)과 유사합니다.
    • Seq2Seq + Attention 모델은 hidden size 128, 학습률 0.01 및 20 epoch 동안 학습 된 linear attention를 사용합니다.
    • Transformer ranker는 크로스 엔트로피 손실 함수를 사용하여 40 epoch에서 훈련 된 hidden size 300을 사용합니다. (다른 모든 하이퍼 파라미터는 ParlAI 저장소의 기본값입니다).
  • Evaluation metrics
    • We use four different metrics to evaluate the models
    • 1. Hit@1
      • this metric is the accuracy of retrieving a gold next utterance among 19 random distractor responses sampled from other dialogues in the dataset. 
      • persona-chat과 똑같은 방법을 사용한 듯
    • 2. Perplexity (PPL)
      • perplexity is a measure of how well a language model predicts next tokens from the evaluation dataset. 
      • More specifically, it is the average per-token log probability over the evaluation set:
    • 3. BLEU
      • it is a metric to measure the distance between machine-generated text with human golden labels (Papineni et al. 2002) . 
    • 4. F1 token
      • measures the F1 score for token level comparison between the generated text and the golden labels.
    • 테이블 2에서, 우리는 제안한 EmpTransfo 모델들은 baseline 모델들보다 Hits@1과 PPL보다 더 좋음을 알 수 있다.
    • contextual feature와 함께 Hits@1과 PPL은 향상되었다. 
    • 제안된 모델은 또한 같은 데이터세트에서 PPL값을 23.8을 가지는 Shen에 비해 의미있는 향상을 보여준다.
    • 이는 Transformer retrievla-based 모델보다 (Rashkin et al. 2019) 성능이 좋다.
    • 딱 표를 보면, seq2seq보다 성능이 좋음은 딱봐도 그럴 것 같고 (pre-trained 모델을 사용하므로) OpenAI GPT보다 좋은 것은 controlled 메타 정보가 들어갔기 때문인 것이다.
    • 표의 결과만 보면 topic보다 action이 좀 더 중요해보이긴 함
  • Transformer ranker 모델은 F1과 BLUE 점수가 다른 모델들보다 더 좋은데, 이유는 이러한 metrics은 golden utterance와 더 연관있을수록 점수가 높기 때문이다.
    • 즉 생성기법이 아니므로, 잘 뽑으면 golden utternace과 똑같기 때문이다.
  • BLEU는 기계번역을 위해 개발되었고 문장 생성 평가에서는 좋은 metric이 아님을 보여주는 연구들이 존재한다 (Sulem, Abend, and Rappoport 2018; Novikova et al. 2017).
    • 이것도 처음알았군!
  • 테이블 2는 또한 topic과 action과 같은 contextual 정보를 좀 더 추가한 것이 더 좋은 Hit@1와 lower PPL을 보여준다.
  • 이 관찰의 이유는 더 많은 문맥 정보가 모델에 올바른 다음 문장과 올바른 다음 토큰을 선택하는 데 더 나은 정보를 제공하기 때문이다.
    • 테이블 3은 다른 입력에 대한 반응을 보여준다.
    • 이 테이블보면 seq2seq도 emotion을 조건으로 안준 것 같음
    • 입력은 모델이 감정으로 반응할 것으로 기대하는 방식으로 선택됩니다. 
    • 모든 출력은 모델에서 얻은 첫 번째 결과입니다.

5.2 Evaluation on emotion prediction

  • next utterance emotion prediction을 평가하기 위해, 우리는 evaluation dataset에 대한 confusion matrix에서 precision, recall을 계산하였다.
  • Figure 4 demonstrates the calculated confusion matrix with Precision=81.35, Recall=72.37 and F1=76.59. 
  • 제안된 모델은 precision=70.81, recall=76.16 and F1=73.39.로  best emotion prediction 결과로 알려진 (Chan and Lui 2018)에 비해 3 % 이상의 개선을 달성했습니다.
  • confusion matrix는 컴퓨터 비전과 표정 인식에서 관찰된 disgust와 anger 사이의 높은 confusion과 같은 흥미로운 관찰을 보여줍니다 (Hasani and Mahoor 2017).
    • 즉 여기서뿐만 아니라, 컴퓨터비전 영역에서 disgust, anger이 연관성이 높다는 것.

6. Discussion

  • 이 논문은 EmpTransfo인 multi-head Transformer 모델을 소개하고 이는 대화 시스템을 공감적으로 사용자와 상호작용해서 coherence, relevance, emotion에 관련하여 높은 퀄리티를 보여준다.
  • 우리의 제안된 방법은 언어생성을 위한 OpenAI GPT의 언어모델을 기반으로 한다.
  • 한 가지 한계점은 접근 방법은 적절한 emotion에 관련된 응답을 위해 emotion, action, topic의 meta information을 요구한다.
    • 음 생각해보면, 사실 이러면 실제 시나리오에서는 쓰기 힘든 것 아닌가?
    • (더 어렵겠지만) 이전 대화의 emotion, action, topic을 classifier하여 그에 맞게 응답하는 시나리오가 더 적절해보이긴 한데..?

7. Conclusion and Future Work

  • EmpTransfo는 emotion, action, topic에 관한 정보를 효과적으로 확장할 수 있는 data-driven 뉴럴 대화 모델이다.
  • multi-task 학습을 통해 conversational과 non-conversational을 자연스럽게 결합한다.
    • loss가 3개인 것을 말하는 듯
  • 이것은 multi-task learning이 대화형 모델이 가능할 뿐아니라 필수적임을 보여주고 이것은 더 많은 contextual data을 포함하도록 확장시킬 수 있다.
  • 후에, knowledge-base 및 기타 contextual 정보를 사용하여 knowledge-aware dialog systems을 개발할 것입니다.

Reference

댓글