본문 바로가기
대학원 이야기/논문 리뷰

[논문 리뷰] How NOT To Evaluate Your Dialogue System: An Empirical Study of Unsupervised Evaluation Metrics for Dialogue Response Generation (ENMNLP 2016)

by misconstructed 2020. 12. 15.
728x90

Open domain dialogue generation을 할 때 보통은 BLEU, METEOR와 같은 automated evaluation 방식을 사용하게 된다. 

이번 논문에서는 open domain dialogue generation에 대해서는 이러한 autmoated metric이 큰 효과가 없고, 사람의 평가 방식과 아주 작은 상관관계, 또는 아예 상관관계가 없다고 주장한다.

논문의 원본은 여기에서 볼 수 있다.


Dialogue generation task는 크게 task-oriented dialogue generation과 open-domain dialogue generation으로 구분할 수 있다. Task-oriented dialogue generation(이번 논문에서는 supervised dialogue model이라고 부른다.)은 특정한 문제를 해결하기 위한 대화를 나누는 것이므로 목적과 목표가 명확하다는 특징이 있다. 반면에 open-domain dialogue generation (이번 논문에서는 unsupervised dialogue model 이라고 부른다.)은 명확한 목표가 없는 task이기 때문에, 우리가 제작한 인공지능 모델이 해당 task를 잘 수행하고 있는지 평가하기가 매우 어렵다. 

이번 논문에서는 unsupervised dialogue model 만 고려한다. 최근에 많은 논문들이 end-to-end로 학습이 가능한 모델들을 제안을 했고, 이로 인해서 큰 규모의 label된 데이터를 수집할 필요성이 적어졌다. 하지만, 이런 모델들의 성능을 평가하는 방식은 아직 많이 부족하다. 기존에는 BLEU, METEOR, ROUGE 와 같은 automated metric을 이용해서 생성된 응답을 평가했지만, 이번 논문에서는 이러한 평가 방식들이 실제 사람이 직접 평가한 결과와 매우 작은 상관관계가 있거나, 아예 상관관계가 없다는 것을 보인다.(Twitter dataset, Ubuntu Dialogue Corpus 기준)

이번 논문에서는 model independent한 metric만 고려하도록 한다. 또한 perplexity 도 고려하지 않는데, perplexity는 retrieval model의 평가 기준으로 사용할 수 없기 때문이다. 그렇기에 retrieval model에서만 사용할 수 있는 recall 등의 metric도 고려하지 않는다. 마지막으로 supervised evaluation 방식도 고려하지 않는다. 

# 평가 방식

대화의 내용(context)와 응답이 주어졌을 때, 우리는 주어진 응답이 얼마나 적합한지를 판단하려고 한다. 이러한 평가방식 중 크게 두 가지 방식을 고려해본다. 인공지능 모델을 통해서 제공된 응답을 $ \widehat{r} $ 이라고 정의하고, 실제 정답으로 제공하는 groud-truth 응답을 $ r $ 으로 정의한다. 각 응답들의 j 번째 단어를 각각 $ \widehat{w}_j, w_h $ 라고 정의한다.

  • word based similarity metric
  • word-embedding based similarity metic

Word overlap-based metric

첫 번째 평가 방식은 예측한 응답과 실제 정답(ground-truth)을 구성하는 단어들의 word-overlap을 고려한다. 해당 방식으로는 BLEU, METEOR, ROUGE 를 고려해본다. 

BLEU : BLEU 는 n-gram의 co-occurrence 를 기준으로 점수를 제공한다. 전체 데이터셋에 대한 n-gram precision을 [식-1]과 같이 구하게 된다. 모든 가능한 n-gram의 길이를 n 이라고 정의하고, $ h(k, r) $ 을 $ r $ 이라는 정답에서 n-gram $ k $ 의 개수를 제공한다. 응답이 너무 짧은 경우 페널티는 부여하는데, brevity penalty 라고 한다. $ N=4 $ 인 경우를 제일 많이 사용하고, sentence-level smoothing 도 적용한다. 아예 overlap 이 없는 경우 0이 결과로 제공될 수 있기 때문이다. 결과적으로 BLEU score는 [식-2]와 같이 구할 수 있다. 

[식-1]
[식-2]

METEOR : BLEU의 단점을 보완했다. 단순히 예측 정답과 실제 정답을 정렬하게 되는데, exact token matching을 기준으로 정렬하고, 그렇지 않은 경우, WordNet synonyms, stemmed tokens, paraphrases 를 기준으로 정렬을 하게 된다. METEOR score는 precision과 recall 사이의 harmonic mean 으로 정의하게 된다. 

ROUGE : automatic summarization의 평가 방식으로 사용된다. 이번 논문에서는 ROUGE-L 을 고려하는데, ROUGE-L 은 Longest Common Subsequence(LCS)를 기반으로한 F-measure를 사용한다. n-gram과의 차이점은, 여기에서 구하는 연속적인 단어들은 꼭 붙어있을 필요가 없다는 것이다. 우리가 보고 있는 단어들 사이에 다른 단어들이 있어도 연속적이라고 판단한다. 

Embedding-based metirc

앞서 언급한 word-overlap 방식과의 차이점은 단어의 의미를 정의한 word embedding을 고려한다는 점이다. 

Greedy Matching : 생성한 응답과 실제 정답 사이의 greedy matching은 두 응답을 구성하는 임베딩의 코사인 유사도를 사용한다. 해당 연산은 asymmetric 하기 때문에 두 입력의 순서를 바꿔서 한번 더 계산한 후, 평균을 구해서 결과로 사용한다. 해당 방식은 정답에 존재하는 단어와 유사한 단어가 나오는 응답을 선호하게 된다. 

[식-3]

Embedding average : 해당 방식은 전체 문장에 대해서 단어 임베딩의 평균을 구해서 전체 문장의 임베딩을 생성한다. ([식-4]) 실제 답과 생성된 답의 유사도는 코사인 유사도를 통해서 계산된다. 

[식-4]

Vector extrema : 해당 방식은 문장을 구성하는 단어 임베딩 중, 가장 크거가 가장 작은 값만 가져다가 사용하는 방식이다. [식-5] 의 식에서 min 의 의미는 음수여도 절대값이 가장 큰 경우를 고려한다는 의미이다. 이렇게해서 구한 벡터는 동일하게 코사인 유사도를 통해서 얼마나 유사한지 판단하게 된다. 

[식-5]

# Dialogue response generation models

Dialogue에서 응답을 생성하는 방식 중 크게 두 가지(retrieval, generative)를 고려한다.

Retrieval model 에서는 TF-IDF, Dual Encoder를 고려하고, Generative model 에 대해서는 LSTM Language Model 과 HRED(Hierarchical Recurrent Encoder-Decoder)를 고려한다.

# 결과

[표-1]

실제로 사람이 검증한 결과와 다양한 automated metric 들의 관계를 보면 [표-1] 과 같다. 상관관계가 양수면 양의 상관관계, 음수면 음의 상관관계로 이해할 수 있는데, 대부분의 값들이 0에 가까운 것으로 보아, 아주 작은 상관관계거나 아예 관련이 없다고 해석할 수 있다. 

[그림-1]

대표적으로 BLEU-2 의 결과를 실제 사람의 평가 결과와 비교하면 [그림-1]과 같다. 두 그룹으로 나눠진 사람들의 평가 결과는 (가장 우측) 양의 상관관계를 가지고 있는 것을 확인할 수 있다. 하지만, BLEU-2 와 사람의 평가 결과를 비교하면 아무런 상관관계가 없는 것을 확인할 수 있다. 또한, BLEU-3, BLEU-4 에 대해서는 실제로 일치하는 문자열을 찾기 힘들어서 점수가 0인 경우가 대부분이다. [그림-2]

[그림-2]

실제로 Open-domain dialogue에서는 응답으로 나올 수 있는 경우의 수가 매우 많은데, 이렇게 만들어진 결과가 BLEU 등의 평가 방식에 대해서 낮은 점수를 받았음에도 불구하고 사람이 봤을 때 좋은 응답인 경우가 발생한다. 반대로, 사람이 봤을 땐 매우 이상한 응답이지만, automated metric 에 대해서는 매우 좋은 점수를 받을 수 있다. 이러한 경우의 예시는 [그림-3]에서 볼 수 있다. 

[그림-3]


# 관련 논문

A hierarchical latent variable encoder-decoder model for generating dialogues. : end-to-end dialogue system (1)

A neural network approach to contextsensitive generation of conversational responses. : end-to-end dialogue system (2)

A neural conversational model. : end-to-end dialogue system (3) (리뷰)

Data-driven response generation in social media. : end-to-end dialogue system (4)

A diversity-promoting objective function for neural conversation models. : end-to-end dialogue system (5)

Semantically conditioned lstm-based natural language generation for spoken dialogue systems. : end-to-end dialogue system (6)

A persona-based neural conversation model. : end-to-end dialogue system (7) (리뷰)

BLEU: a method for automatic evaluation of machine translation. : BLEU (리뷰)

METEOR: An automatic metric for mt evaluation with improved correlation with human judgments. : METEOR

Rouge: A package for automatic evaluation of summaries. : ROUGE (summarization metric)

deltableu: A discriminative metric for generation tasks with intrinsically diverse targets. : DeltaBLEU

Distributed representations of words and phrases and their compositionality. : word2vec

Bootstrapping dialog systems with word embeddings. : vector extrema 방식

Quantitative evaluation of user simulation techniques for spoken dialogue systems.

The ubuntu dialogue corpus: A large dataset for research in unstructured multi-turn dialogue systems. : Dual Encoder(DE) model, TF-IDF retrieval model

Building End-ToEnd Dialogue Systems Using Generative Hierarchical Neural Networks. : Hierarchical recurrent encoder-decoder(HRED)

 

 

728x90

댓글