NL-090, HappyBot: Generating Empathetic Dialogue Responses by Improving User Experience Look-ahead (2020-ICASSP)

◼️ Comment

  • 이 논문은  DailyDialog (DD), PersonaChat (PC), EmpatheticDialogues (ED)을 활용하여 대화를 학습한다.
  • 학습
    • 일단, SST-2와 ED의 situation 문장을 통해 감성 분류하는 모델을 (BERT) 학습한다.
    • [s1, u2]로부터 s2을 생성하여 LM loss
      • 생성 모델은 BiGRU w/ attention 방식이다.
    • [s1, u2]로부터 s2의 감정을 예측하는 Future emotion 예측 reward
    • 위 두 가지를 통해 LM+RL식으로 학습한다.
    • 여기서 s2의 emotion을 예측하는 모델또한 학습해야한다.
      • 일단 데이터 레이블을 먼저 학습한 감성분류 모델로 s2을 예측하여 레이블을 매긴다.
      • 그리고 [s1, u2]으로부터 이 레이블을 예측하는 BERT을 학습하는 것이다.
  • 비교 모델
    • 비교 모델은 3.2을 보면 되고 RL Current만 강조해서 다시 말하면
    • 보통 위 방식처럼 future emotion을 예측하는 것을 reward으로 사용하지 않는다.
    • 대신 current 문장에 대한 reward에 대한 감정 스코어를 reward을 사용한다는 것이다.
    • 즉 보통은 [s1, u2]로부터 s2을 생성하고 s2로부터 감정을 예측하는 것을 reward로 가져간다는 것이다.
    • 하지만 future predict을 통하여 하게 되면 실험 결과를 통해 실제 더 공감적인 대화를 생성한다는 것을 보여준다.
    • 이론적으로 딱 와닿지는 않지만, 한 번 시도해벌밥한 방법이라 생각한다.
  • 평가
    • 평가는 automatic과 human 둘 다 수행하는데 human 결과에 좀 더 강조를 하고 있다.
    • (참고) open-domain 대화에서 BLEU의 유용함은 여러 차례 의문점이 제기되어 왔다. (Galley et al., 2015; Liu et al., 2016; Li et al., 2016)
    • 사람 평가는 3가지 지표로 데이터 세트 논문과 똑같이 수행하였다.
    • 여기서 궁금증은, AMT에서 실제로 보여주는 샘플이 궁금하다.
    • 즉 테이블 1처럼, one-turn 대화, 답변 이렇게 보여주는 것인지 테이블 2처럼, 2개의 turn을 앞에 있고 답변을 생성해서 보여주는 것인지..
    • 아마도 내 생각엔 SPAKER/LISTENR(모델)답변 이렇게 2가지 문장만 보여주고 평가를 하는 것 같기는 하다.
      • 대화 모델을 평가할 때 항상 이 부분에 대해 명시적으로 말해주는 논문이 드문 것 같다.
      • 정리한 논문들 다시 살펴보니 EmpTransfo는 다음과 같은 예제가 있는 것으로 보아 one-turn 평가인 것 같다.
      • 데이터세트 논문 Toward Empathetic도 마찬가지이다.
      • 즉 대화 테스트세트에서 랜덤한 문장 하나를 뽑고 그에 해당하는 문장을 생성한 뒤, 이 두개를 테스트세트로 사람에게 보여주는 것 같음.

0 Abstract

  • 감정과 공감적인 응답 생성을 통합하려고 시도한 최근 뉴럴 네트워크 대화 모델들은 출력을 주어진 감정에 맞추거나 현재 사용자 감정 상태를 통합하는데 중점을 둡니다.
  • 이러한 접근법들은 다양하고 괜찮은 담화들을 생성하는데 성공적인 동안, 그들은 user가 대화 응답을 생성에 대해 느끼는 부분에 대해서는 고려하지 않는다.
  • 그래서, 이 논문에서는, 우리는 공감적인 대화 응답을 모델링하고 생성하는데 핵심적인 역할인 user emotion의 미리보기를 지지한다.
  • 우리는 그래서, Sentiment Predictor을 학습하여 생성된 시스템 반응을 위해 user sentiment look-ahead을 평가하고, 이는 그래서 생성할 공감적인 반응을 위한 reward function으로 사용된다.
  • 사람 평가는 우리의 모델이 다른 베이스라인들보다 empathy, relevance, fluency가 뛰어남을 보여준다.

1 Introduction

  • 유창하고 관련성있는 응답의 생성을하는 뉴럴 대화 모델들의 성공에도 불구하고, maximum likelihood 최적화는 generic하고 dull responses을 하는 경향이 있다 (Li et al., 2016).
    • 이것은 human-to-human 소셜 대화가 일반적으로 objective function와 통합되지 않는 감정과 기분을 자연스럽게 공유하기 때문이다.
    • 즉, maximum likelihood는 사람과 사람의 감정 공유를 배우는 방법이 아니란 것!
  • 그래서, 우리의 관심은 공감적인 대화 응답 생성의 task이고 이는 user의 현재 감정 상태와 적절한 반응을 하도록 이해하는 것이다.
  • 이 문제를 해결하기 위해, 여러 최근 연구는 특정 sentiments, emotions, emojis에 대한 controlling and conditioning 응답 생성을 성공적으로 연구했다 (Hu et al., 2017; Wang and Wan , 2018 ; Zhou and Wang , 2018 ; Zhou et al. , 2018).
    • 한편, 다른 연구들은 더 많은 data-driven 접근법으로 현재 emotional state 예측과 응답 생성을 joint 하게 모델링하여 학습하는 방법이다 (Lubis et al. , 2018 ; Rashkin et al. , 2018).
  • 그러나, 반응을 공감적이도록 controlling은 생성 이전에 적절한 response emotion을 알고있다고 가정을 하는 것이다.
    • 두 번째는 모델이 공감적인 대화 데이터와 “current” 사용자의 감정 상태에 대한 이해로부터 적절하게 응답하는 것을 암묵적으로 배울 것이라고 가정합니다.
  • 반대로, 공감적인 반응은 "future" user 경험을 자연스럽게 향상시킴으로써, 우리는 다음의 연구 질문을 따른다.
    • future user experience을 조건으로 우리가 좀 더 공감적인 대화 반응을 생성할 수 있는지?
  • 그래서, 우리는 이 테스크에 대한 새로운 관점을 제공하고, 이는 생성 과정에서 우리의 반응에 future emotional 영향을 통합한다.
  • sentiment가 user experience의 좋은 근사라는 가설을 정교하게 하기 위해, 우리는 어떻게 공감적인 반응을 배울 수 있는지를 제안한다.
    • 공감적인 사람이라면 잘할만한, user sentiment look-ahead을 개선함으로써
  • 이 논문에서는, 우리는 Reinforcement Learning으로 pre-trained 대화 agent에 활용해서 샘플링된 반응에 대한 reward을 user sentiment look-ahead으로 하여 action space을 reward와 함께 탐구하도록 한다.
    • (나또한) 이 방법이 가장 먼저 떠오르는 방법이긴 했음..
  • 우리는 우리의 제안한 방법을 오직 "current" emotional states을 고려한 베이스라인과 비교한다.
  • 우리의 실험들은 우리의 look-ahead 접근법이 empathy, relevance, and fluency에 대한 사람 평가에서 더 좋은 성능을 보여줌으로써 우리의 가설을 확인한다.

2 Methodology

  • user와 system 사이의 대화를 고려하여, 우리는 대화를 번갈아가는 시퀀스로 다음과 같이 표현한다.
    • [u1, s1, u2, s2, · · · , ut , st]
    • u와 s는 각각 user와 system의 utterances을 말한다.
    • 이 논문과는 상관없는데 생각난 부분이 대부분 대화에서 이런 식으로 문제 정의를 한다.
    • 사실 실제 시스템 사람은 한 번 말하지 않고 여러 번 끊어서 말할 수도 있다.
    • 따라서 기존 논문의 방법대로 실제 문제를 해결하려면 concat을 해야겠지?
  • 우리의 policy 모델은 Seq2Seq generator로 2 turns의 대화 컨텍스트를 펴서 입력으로 을 받고 출력으로  응답을 내뱉는다.
    • 즉 2개의 이전 히스토리만 가져다 쓴다는 것
  • 그리고 나서 reward function은 다음의 user utterance  의 감정을 예측하고 score에 기반한 policy을 강화한다.
    • 즉 u는 실제 데이터이고 s는 시스템이 생성하는 데이터이고
    • 이렇게 s을 생성해내는데 생성한 s뒤의 u의 감성 예측 점수를 가지고 reward 매기겠다는 것.
    • 따라서 생성된 u가 입력이 아닌, history가 입력이고 생성할 u의 감성을 예측하는 확률이 reward
    • 즉 의미는 사용자의 emotion에 걸맞는 대화를 진행하고 있는가? 라고 볼 수 있다.
  • 간단히 말해, 우리의 모델은 pre-trained Seq2Seq generator인 policy model과 reward 모델로서 pre-trained sentiment predictor로 구성됩니다.
    • 즉 초기부터 이렇게 학습이 아니라, (아마도) LM으로 seq2seq을 학습하고 감정 분류 모델도 문장<->감정 식으로 학습을 해둘 것이다.
    • pre-train된 이 모델을 가지고 강화학습으로 위처럼 한 번더 학습하겠다는 것일 듯
  • 우리는 flattened 대화 입력을 으로 가져가고 응답은 이다.
    • 여기서 M은 입력의 길이고 T는 응답의 길이이다.

2.1 Policy Model: Seq2Seq with Attention

  • 우리는 Bi-GRU을 우리의 encoder으로 선택하고 generator로 dot product attention을 가지는 GRU을 선택하였다.
    • 즉 encoder-decoder 모델인데 encoder: BiGRU, decoder: BiGRU w/ attention이다.
  • 먼저, 입력 의 tokens은 encoder에 넣어져서 1대1 매핑으로 encoder가 hidden states 을 생성한다.
  • 각 decoding step t에서, 디코더는 입력으로 응답의 각 토큰의 embedding을 받아서 hidden states 을 업데이트한다.
  • The attention mechanism is calculated as in Luong et al. (2015)

    • (1), (2)은 hidden states 와 다른 hidden states 을 내적해서 attention 가중치 a을 만드는 과정
    • (3)은 context vector인 을 weighted sum을 하는 과정이다.
    • (4)에서 (resnet처럼) 입력과 출력을 concat한 것을 학습가능한 파라미터 로 층을 한 번더 태운다고 생각하면 된다.
    • 은 next vocab을 예측하는데 위처럼 사용된다.
    • 은 temperature 역할을 한다.

2.2 Reward Function: Sentiment Predictor

  • 감성 분류기는 generator에게 매우 중요하며 BERT는 감성 분류를 포함하여 많은 NLP 테스크에서 SoTA 성능을 보여주기 때문에 우리는 BERT를 감성 분류기 사용으로 선택한다.
  • 더 구체적으로는, 대화 context []가 flattened하게 주어졌을 때, 우리는 pre-trained BERT 모델을 다음 유저 턴 의 감성을 예측하도록 fine-tune되고 이는, 우리의 이전의 감성 분류기로 인해 레이블링된다.
    • 이전 감성 분류기에 의해 레이블링 되었다는 게 무슨 의미지?
  • 자세한건 3.1 섹션참고

2.3 Hybrid Training

  • 감정 대화 생성 모델은 Maximum Likelihood Estimation (MLE), RL 각각 혹은 MLE, RL의 조합으로 학습이 된다.
    • MLE 학습은 gold responses의 negative log likelihood 을 최소화하도록 한다.
  • 우리는 을 단어 단위로 디코더 에 넣어줘서 의 likelihood 을 최대화한다.
  • The loss function for MLE becomes
  • RL 학습을 위해, 우리는 REINFOECEMENT 알고리즘을 선택한다.
  • 학습 과정에서, 입력이 인코딩 된 후, response 는 우리의 generator P(w)으로부터 샘플링해서 얻어지고 reward는 감성 분류기로부터 계산이 된다.
  • 우리는 baseline reward 을 reward의 variance을 줄이기 위해 적용했고 이는 Ranzato와 유사하다.
    • baseline reward는 어떻게 계산이 되지?
  • 구체적으로 linear model이 각 time-step t에 대한 을 기반으로 baseline reward 을 측정하기 위해 적용되었다.
    • 는 hidden states이다.
  • linear model의 파라미터들은 R와 사이의 mean square loss을 최소화하도록 학습된다.
    • W_r와 은 각각 학습가능한 파라미터들이다.
    • 즉, baseline reward란 것은 계산한 진짜 reward가 아닌, 예측한 reward라는 것인 듯
  • 우리의 RL에 대한 loss는 다음과 같다.
  • mixed training 방법은 RL에서 발생하는 readability의 이슈들을 피하기 위해 MLE 학습을 포함함으로써 많은 생성 테스크에서 효과적임을 보여준다. (Paulus et al., 2018; Zhou and Wang, 2018)
    • 내가 읽었던 논문은 loss을 동일 step에서 하지 않고, 순차적으로 MLE -> RL 식으로 학습했ㅇ렀는데 여기서는 한꺼번에 학습함.
    • ref 논문들을 읽어보면 좋을 듯 
  • We thus combine RL and MLE training and the loss function becomes: 
    • 은 loss의 비율을 결정하는 weight이다.

3 Experiments

3.1 Training Details

  • policy 모델을 학습하기 위해, 우리는 3개의 오픈 도메인 대화 데이터세트를 사용한다.
    • DailyDialog (DD) (Li et al., 2017)
    • PersonaChat (PC) (Zhang et al., 2018), and 
    • EmpatheticDialogues (ED) (Rashkin et al., 2018) 
  • 이 세팅은 ED 데이터세트가 공감적 반응을 포함하므로 response 생성의 다양성을 촉진시키기위해 구성되었다.
  • reward model을 학습하기 위해, 우리는 SST-2와 ED의 situation texts을 사용한다.
    • 즉 감성 분류를 해야하므로 문장<->감성으로 매칭되는 데이터의 출처를 말함
    • 더 나아가서, reward을 학습하기 위해, 우리는 SST2, ED데이터에 대해 먼저 high-preforming sentiment classifier을 pretrained BERT로 fine-tuning을 통해 학습하여 91% 성능을 달성한다.
    • 우리는 그리고나서, 이 sentiment classifier로 user sentiments을 레이블링하는데 사용하고, sentiment predictor을 학습하여 71% 성능에 도달한다.
    • 1) SST, ED 감성 분류 데이터로 BERT을 학습시킨다.
    • 2) 이 BERT는 문장에 대한 감성 분류이기 때문에 history(context)을 반영하여 생성할 user 문장의 sentiment predictor는 아니다.
    • 3) 따라서 user 문장을 BERT를 통과시켜 나온 감성을 레이블로 하고 sentiment predictor을 학습시킨다. 
    • 예)
      • s1, u2을 기반으로 s2 생성 --> 이에 대한 LM loss 계산
      • s1, u2을 기반으로 s2의 감성 예측 --> 이것이 reward
    • 4) 여기서 sentiment predictor은 아래 하이퍼파라미터를 통하여 학습하는 다른 BERT 모델이다.
  • 자세한 하이퍼 파라미터들은 부록 A.2에 있다.
    • generator
      • embeddings of dimension size 300, 
      • and for each GRU cell in both encoder and decoder, 
      • we also use a hidden size of 300. 
      • This has been done so that we can tie the weights of the embeddings and the output layer of the decoder as in Merity et al. (2018). 
    • For the BERT model, 
      • we use the pre-trained base model. Finally, we use learning rate in [1e−3, 1e−4], softmax temperature τ of 0.4, and hybrid training ratio λ of 0.25.
      • Note that for all our models, we use greedy decoding for evaluation.

3.2 Baselines

  • We implement and compare the following models:
  • Seq2Seq 
    • The Seq2Seq model is trained by minimizing L_MLE in Equation 6. 
  • MultiSeq 
    • LM + 감성 분류
    • The MultiSeq model is the multi-task model trained as in (Rashkin et al., 2018) by using the Bi-GRU encoder to jointly predict the emotion of context x
    • We add a softmax layer to the BiGRU for prediction and the loss incurred here is simply added to Equation 6 for optimization. 
  • RL Current 
    • 식 10으로 학습하는데 reward을 y_s의 감성으로 한다.
    • 즉 [s1; u2]에 의해 생성된 s2의 감성의 레이블로 하겠다는 것
    • The RL Current model is trained by minimizing L_mixed in Equation 10 using the sentiment of the y_s as the reward. 
    • The reason we experiment with this baseline is to show whether improving sentiment itself is helpful or not. 
  • RL Look-ahead (ours) 
    • 식 10으로 학습하는데 논문에서 설명처럼 reward을 y_s의 감성을 예측한 점수로 하겠다는 것
    • 즉 [s1; u2]으로 s2의 감성을 레이블로 하겠다는 것 
    • RL Current와 달리 s2을 보고 판단하는 것이 아니라, 적절한 감성을 생성할 content(s1,u2)인지를 판단하는 개념이라 보면 됨
    • The RL Look-ahead model is trained by minimizing L_mixed in Equation 10 using the score of y_s from Sentiment Predictor as the reward.

3.3 Evaluation

  • 우리는 baselines과 우리의 모델의 성능을 two-folds로 비교한다.
    • automatic and human evaluation. 
  • automated metrics에서는, 우리는 생성된 샘플들의 BLEU scores 을 측정한다.
  • human evaluation에서는, 우리는 생성에 맞게 랜덤으로 50개의 대화들을 샘플링하고, 각 샘플에게 랜덤하게 할당하고 AMT에서 3명의 작업자를 고용하여 1~5점 사이로 Empathy, Relevance, and Fluency as in Rashkin et al. (2018)을 매기게 한다.
    • Empathy/Sympathy: did the responses show understanding of the feelings of the person talking about their experience? 
    • Relevance: did the responses seem appropriate to the conversation? Were they on-topic? 
    • Fluency: could you understand the responses? Did the language seem accurate?
  • 자세한 질문은 부록 A.1에 있다.

4 Results

4.1 Analysis of Automated Metric


  • Table 2의 BLEU scores으로부터, 우리는 MultiSeq가 가장 높은 점수를 가지고 있지만, 모든 모델들이 크게 다르지 않음을 알 수가 있다.
  • 이러한 automated results는 기본 모델 아키텍처의 차이, 사전 훈련 데이터의 크기 및 빔서치의 사용으로 인해 Rashkin에보고 된 결과보다 낮습니다.
    • Rashkin: ED 데이터세트 논문
    • 즉 ED 데이터세트로 실험한 것

4.2 Analysis of Human Evaluation 

  • open-domain 대화에서 BLEU의 유용함은 여러 차례 의문점이 제기되어 왔다. (Galley et al., 2015; Liu et al., 2016; Li et al., 2016)
    • 그래서, 우리는 대화 품질에 보다 더 정확하게 측정하기위해 사람 평가을 한다.
  • 우리는 테이블 2에서 보여주는 사람 평가는 우리의 모델 RL Look-ahead가 3가지 항목에서 다른 것들보다 더 좋음을 볼 수 있다.
    • 게다가, MulitSeq의 결과들은 Seq2Seq와 Empathy와 비슷한 결과를 보여준다.
    • 즉 MulitSeq는 empathy 측면에서 큰 장점이 없다는 걸 보여줌
  • future emotional impact의 모델링으로부터 얻는 이득을 확인하기 위해, 우리는 다른 baseline으로 RL Current을 (생성 응답의 current sentiment을 향상시키는 강화학습) 사용하여 측정한다.
    • 이것의 reward function은 BERT sentiment classifier로 section 3.1에서 설명한 데이터를 레이블링는 classifier을 사용한다.
    • 본 논문의 최종모델은 이렇게 레이블링된 것을 future 감정 예측을 reward로 사용했었다.
  • 우리의 모델이 RL Current모다 더 좋은 퍼포먼스는 명확하나, current sentiment 또한 모델이 더욱 empathetic responses을 만들어내는데 도움을 준다.
    • 이것만 보면 future + current RL은 왜 안해봤는지 궁금
    • 이것은 이는 답변이 긍정적이어야 할 때 유익하기 때 모델이 일반적으로 더 높은 sentiment responses을 장려하기 때문이다.
  • 반면, future reward는 답변이 테이블 1의 예시처럼 꼭 긍정적일 필요가 없을 때에도 또한 우리의 모델이 더욱 공감적인 반응을 생성하도록 하지만, 
    • 근데 평가할 떄는, 위처럼 한개의 컨텍스트만 주는 식으로 하는 것인가?

4.3 Case Study

  • 우리의 모델이 어떻게 공감적이고 자연스러운 반응하느지를 이해하기 위해, 우리는 정량적 평가를 테이블 3처럼 수행한다.
  • 두 번째 열의 대화 셋업이 주어졌을 때, Seq2Seq 및 MultiSeq 모델은 대화의 사용자 측(Speaker)에서 "great trip with zero incidents"을 이해하지 못하기 때문에 "scared"또는 "bad"과 같은 단어로 부정적인 응답을 생성합니다.
  • RL Current 모델은 덜 부정적인 반응을 출력하나, 여전히 대화를 제대로 이해하지 못하고 있다. 
  • 반면에, RL Look-ahead model은 대부분 적절하고 자연스러운 반응을 한다.
    • trip을 “a good surprise”으로 언급하며, 자연스럽게 사용자가 great trip 동안 행복한 스토리를 공유하도록 장려할 것이다.
  • 반면에, 3번쨰 열의 에제는, 우리의 모델이 “delicious”와 “love pizza” 같은 더 생동감있고 감정적이게 생성함을 보여준다.

5 Related Work

  • 감성, 감정을 인식하는 것은 (Socher et al., 2013; Felbo et al., 2017; McCann et al., 2017; Xu et al., 2018) 공감적인 대화를 생성하도록 (Fung et al., 2016; Bertero et al., 2016; Chatterjee et al., 2019a,b; Winata et al., 2019) 필요한 작업이다.
  • 더 나아가, Hu et al. (2017); 왕과 완 (2018); 저우와 왕 (2018); Zhou et al. (2018)은 생성 된 응답의 감정과 이모지를 제어하는 프레임 워크를 성공적으로 도입했으며 Zhou와 Wang (2018)은 이모 지로 멀리서 감독되는 새로운 Twitter 대화 데이터 세트를 출시했습니다.
  • 한편, Lubis et al. (2018); Rashkin et al. (2018)은 또한 공감 대화를위한 새로운 데이터 세트를 도입하고 그것에 대한 다중 작업 모델을 훈련시킵니다.
  • 마지막으로 Deep RL은 요약 (Ranzato et al., 2016; Paulus et al., 2018), 대화 (Li et al., 2016) 및 감성 챗봇 (Zhou 및 2016)에서 비차 등 메트릭스를 최적화하는 기능으로 인기를 얻었습니다. 왕, 2018).

6 Conclusion

  • 이 논문에서, 우리는 사용자 경험의 look-ahead을 공감적인 대화를 생성하는 키로 제안한다.
  • 우리는 Sentiment Predictor가 대화 셋업이 주어졌을 때 유저의 look-ahead 감성을 예측하도록 학습하고 예측 점수를 reward로 활용하여 RL 프레임워크로 공감 대화를 장려하게한다.
  • 실험 결과는 우리의 접근법이 현재 사용자의 감정 상태를 조건으로하는 모델들보다 공감적인 대화를 생성하거나 생성된 반응 자체의 감정을 최대화하는 효과적인 방법을 확인한다.

 Reference

댓글