May 01, 2020
Evaluating the quality of a dialogue interaction between two agents is a difficult task, especially in open-domain chit-chat style dialogue. There have been recent efforts to develop automatic dialogue evaluation metrics, but most of them do not generalize to unseen datasets and/or need a human-generated reference response during inference, making it infeasible for online evaluation. Here, we propose an unreferenced automated evaluation metric that uses large pre-trained language models to extract latent representations of utterances, and leverages the temporal transitions that exist between them. We show that our model achieves higher correlation with human annotations in an online setting, while not requiring true responses for comparison during inference.
Recent approaches in deep neural language generation have opened new possibilities in dialogue generation [1], [2]. Most of the current language generation efforts are centered around language modelling or machine translation [3], which are evaluated by comparing directly against the reference sentences. In dialogue, however, comparing with a single reference response is difficult, as there can be many reasonable responses given a context that have nothing to do with each other [4]. Still, dialogue research papers tend to report scores based on word-overlap metrics from the machine translation literature (e.g. BLEU [5], METEOR [6]). However word-overlap metrics aggressively penalize the generated response based on lexical differences with the ground truth and correlate poorly to human judgements [4].

Figure 1: Model architecture for MaUdE, which is an unsupervised unreferenced metric for dialog evaluation..
One can build dialogue evaluation metrics in two ways: referenced metrics, which compare the generated response with a provided ground-truth response (such as the above word-overlap metrics), or an unreferenced metrics, which evaluate the generated response without any such comparison. [7] propose a learned referenced metric named ADEM, which learns an alignment score between context and response to predict human score annotations. However, since the score is trained to mimic human judgements, it requires collecting large-scale human annotations on the dataset in question and cannot be easily applicable to new datasets [8].
Recently, [9] proposed a hybrid referenced-unreferenced metric named RUBER, where the metric is trained without requiring human responses by bootstrapping negative samples directly from the dataset. However, referenced metrics (including RUBER, as it is part referenced) are not feasible for evaluation of dialogue models in an online setting—when the model is pitched against a human agent (model-human) or a model agent (model-model)—due to lack of a reference response. In this setting, models are usually evaluated directly by humans, which is costly and requires careful annotator training [10].
The contributions of this paper are (1) a completely unsupervised unreferenced metric (Metric for automatic Unreferenced dialogue evaluation), which leverages state-of-the-art pre-trained language models [11], [12], combined with a novel discourse-structure aware text encoder and contrastive training approach; and (2) results showing that has good correlation with human judgements.
We consider the problem of evaluating the response of a dialogue system, where an agent is provided with a sequence of sentences (or utterances) \(c = \{u_1,u_2,...,u_n\}\) (termed as context) to generate a response \(r=u_{n+1}\). Each utterance, \(u_i\), can be represented as a set of words \(u_i = \{w_1,w_2,...,w_n\}\). An utterance \(u_i\) can be represented as a vector as \(\mathbf{h}_i = f_e(u_i)\), where \(f_e\) is an encoder that encodes the words into a fixed vector representation.
This work focuses on the evaluation of generative neural dialogue models, which typically consist of an encoder-decoder style architecture that is trained to generate \(u_{n+1}\) word-by-word [1]. The response of a generative model is typically evaluated by comparing with the ground-truth response using various automatic word-overlap metrics, such as BLEU or METEOR. These metrics, along with ADEM and RUBER, are essentially single-step evaluation metrics, where a score is calculated for each context-response pair. If a dialogue \(D_i\) contains \(n\) utterances, we can extract \(n-1\) context-response pairs : \((c_1 : \{u_1\}, r_1 : \{u_2\}), (c_2 : \{u_1, u_2\}, r_2 : \{u_3\}), \ldots, (c_{n-1} : \{u_1 \ldots u_{n-1}\}, r_{n-1} : u_n)\). In this paper, we are interested in devising a scalar metric that can evaluate the quality of a context-response pair: \(\text{score}(c_i,r_i) = \mathcal{R} \in (0,1)\). A key benefit of this approach is that this metric can be used to evaluate online and also for better training and optimization, as it provides partial credit during response generation.
We propose a new model, , for online unreferenced dialogue evaluation. We first describe the general framework behind , which is inspired by the task of measuring alignment in natural language inference (NLI) [13]. It involves training text encoders via noise contrastive estimation (NCE) to distinguish between valid dialogue responses and carefully generated negative examples. Following this, we introduce our novel text encoder that is designed to leverage the unique structural properties of dialogue.
is designed to output a scalar \(\text{score}(c_i,r_i) = \mathcal{R} \in (0,1)\), which measures how appropriate a response \(r_i\) is given a dialogue context \(c_i\). This task is analogous to measuring alignment in NLI, but instead of measuring entailment or contradiction, our notion of alignment aims to quantify the quality of a dialogue response. As in NLI, we approach this task by defining encoders \(f_e^{\theta}(c)\) and \(f_e^{\theta}(r)\) to encode the context and response, a combination function \(f_{comb}(.)\) to combine the representations, and a final classifier \(f_t(.)\), which outputs the alignment score: \[\label{eq:setup} \text{score}(c,r) = \sigma(f_t(f_{comb}(f_e^{\theta_1}(c),f_e^{\theta_2}(r))).\tag{1}\]
The key idea behind an unreferenced dialogue metric is the use of Noise Contrastive Estimation (NCE) [14] for training. Specifically, we train the model to differentiate between a correct response (\(\text{score}(c,r) \to 1\)), and a negative response (\(\text{score}(c,\hat{r}) \to 0\)), where \(\hat{r}\) represents a candidate false response for the given context \(c\). The loss to minimize contains one positive example and a range of negative examples chosen from a sampling policy \(P(\hat{r})\): \[\mathcal{L} = - \log(\text{score}(c,r)) - \mathbb{E}_{\hat{r} \sim P(\hat{r})} \log ( - \text{score}(c,\hat{r})).\] The sampling policy \(P(\hat{r})\) consists of syntactic and semantic negative samples.
Syntactic negative samples. We consider three variants of syntax level adversarial samples: word-order (shuffling the ordering of the words of \(r\)), word-drop (dropping \(x\)% of words in \(r\)) and word-repeat (randomly repeating words in \(r\)).
Semantic negative samples. We also consider three variants of negative samples that are syntactically well formed, but represent corruption in the semantic space. First, we choose a response \(r_j\) which is chosen at random from a different dialogue such that \(r_j \ne r_i\) (random utterance). Second, we use a pre-trained seq2seq model on the dataset, and pair random seq2seq generated response with \(r_i\) (random seq2seq). Third, to provide a bigger variation of semantically negative samples, for each \(r_i\) we generate high-quality paraphrases \(r_i^b\) using Back-Translation [15]. We pair random Back-Translations \(r_j^b\) with \(r_i\) as in the above setup (random back-translation). We also provide the paired \(r_i^b\) as positive example for the models to learn variation in semantic similarity. We further discuss the effect of different sampling policies in Appendix 8.
Dialogue-structure aware encoder. Traditional NLI approaches (e.g., [16]) use the general setup of Equation 1 to score context-response pairs. The encoder \(f_e\) is typically a Bidirectional LSTM—or, more recently, a BERT-based model [11], which uses a large pre-trained language model. \(f_{comb}\) is defined as in [16]: \[\label{eq:comb} f_{comb}(u,v) = \text{concat}([u,v,u*v,u-v]).\tag{2}\] However, the standard text encoders used in these traditional NLI approaches ignore the temporal structure of dialogues, which is critical in our setting where the context is composed of a sequence of distinct utterances, with natural and stereotypical transitions between them. (See Appendix 6 for a qualitative analysis of these transitions). Thus we propose a specialized text encoder for , which uses a BERT-based encoder \(f_e^{\text{BERT}}\) but additionally models dialogue transitions using a recurrent neural network:
\[\label{eq:pool95eq} \begin{align} \mathbf{h}_{u_i} &= \mathbf{D}_g f_e^{\text{BERT}}(u_i), \\ \mathbf{h}_{u_{i+1}}' &= f_R(\mathbf{h}_{u_i}, \mathbf{h}_{u_i}'), \\ \mathbf{c}_i &= \mathbf{W}.\text{pool}_{\forall t \in \{u_1,\ldots,u_{n-1}\}}(\mathbf{h}_{t}') \\ \text{score}(c_i,r_i) &= \sigma (f_{t} ([\mathbf{h}_{r_i}, \mathbf{c}_{i}, \mathbf{h}_{r_i}*\mathbf{c}_i, \mathbf{h}_{r_i}-\mathbf{c}_{i}])), \end{align}\tag{3}\]
where \(\mathbf{h}_{u_i} \in \mathcal{R}^d\) is a downsampled BERT representation of the utterance \(u_i\) (using a global learned mapping \(\mathbf{D}_g \in \mathcal{R}^{B\times d}\)). \(\mathbf{h}_{u_i}'\) is the hidden representation of \(f_R\) for \(u_i\), where \(f_R\) is a Bidirectional LSTM. The final representation of the dialogue context is learned by pooling the individual hidden states of the RNN using max-pool (Equation 3 ). This context representation is mapped into the response vector space using weight \(\mathbf{W}\), to obtain \(\mathbf{c}_i\). We then learn the alignment score between the context \(\mathbf{c}_i\) and response \(r_i\)’s representation \(\mathbf{h}_{r_i}\) following Equation 1 , by using the combination function \(f_{comb}\) being the same as in Equation 2 .
To empirically evaluate our proposed unreferenced dialogue evaluation metric, we are interested in answering the following key research questions:
Q1: How robust is our proposed metric on different types of responses?
Q2: How well does the self-supervised metric correlate with human judgements?
Datasets. For training , we use PersonaChat [17], a large-scale open-domain chit-chat style dataset which is collected by human-human conversations over provided user persona. We extract and process the dataset using ParlAI [18] platform. We use the public train split for our training and validation, and the public validation split for testing. We use the human-human and human-model data collected by [19] for correlation analysis, where the models themselves are trained on PersonaChat.
Baselines. We use InferSent [16] and unreferenced RUBER as LSTM-based baselines. We also compare against BERT-NLI, which is the same as the InferSent model but with the LSTM encoder replaced with a pre-trained BERT encoder. Note that these baselines can be viewed as ablations of the framework using simplified text encoders, since we use the same NCE training loss to provide a fair comparison. Also, note that in practice, we use DistilBERT [12] instead of BERT in both and the BERT-NLI baseline (and thus we refer to the BERT-NLI baseline as DistilBERT-NLI).2.
We first analyze the robustness of by comparing with the baselines, by using the same NCE training for all the models for fairness. We evaluate the models on the difference score, \(\Delta = \text{score}(c,r_{\text{ground-truth}}) - \text{score}(c,r)\) (Table 6). \(\Delta\) provides an insight on the range of score function. An optimal metric would cover the full range of good and bad responses. We evaluate response \(r\) in three settings: Semantic Positive: responses that are semantically equivalent to the ground truth response; Semantic Negative: responses that are semantically opposite to the ground truth response; and Syntactic Negative: responses that have been adversarially modified in the lexical units. Ideally, we would want \(\Delta \to 1\) for semantic and syntactic negative responses, \(\Delta \to 0\) for semantic positive responses.
| R | IS | DNLI | M | ||
|---|---|---|---|---|---|
| Semantic Positive \(\downarrow\) | BackTranslation | 0.249 | 0.278 | 0.024 | 0.070 |
| Seq2Seq | 0.342 | 0.362 | 0.174 | 0.308 | |
| Semantic Negative \(\uparrow\) | Random Utterance | 0.152 | 0.209 | 0.147 | 0.287 |
| Random Seq2Seq | 0.402 | 0.435 | 0.344 | 0.585 | |
| Syntactic Negative \(\uparrow\) | Word Drop | 0.342 | 0.367 | 0.261 | 0.3 |
| Word Order | 0.392 | 0.409 | 0.671 | 0.726 | |
| Word Repeat | 0.432 | 0.461 | 0.782 | 0.872 |
We observe that the scores perform robustly across all the setups. RUBER and InferSent baselines are weak, quite understandably so because they cannot leverage the large pre-trained language model data and thus is poor at generalization. DistilBERT-NLI baseline performs significantly better than InferSent and RUBER, while scores even better and more consistently overall. We provide a detailed ablation of various training scenarios as well as the absolute raw \(\Delta\) scores in Appendix 8. We also observe both and DistilBERT-NLI to be more robust on zero-shot generalization to different datasets, the results of which are available in Appendix 7.
Metrics are evaluated on correlation with human judgements [7], [9], or by evaluating the responses of a generative model trained on the metric [22], by human evaluation. However, this introduces a bias either during the questionnaire setup or during data post-processing in favor of the proposed metric. In this work, we refrain from collecting human annotations ourselves, but refer to the recent work by [19] on PersonaChat dataset. Thus, the evaluation of our metric is less subject to bias.
[19] conducted a large-scale human evaluation of 28 model configurations to study the effect of controllable attributes in dialogue generation. We use the publicly released model-human and human-human chat logs from [19] to generate the scores on our models, and correlate them with the associated human judgement on a Likert scale. [19] propose to use a multi-step evaluation methodology, where the human annotators rate the entire dialogue and not a context-response pair. On the other hand, our setup is essentially a single-step evaluation method. To align our scores with the multi-turn evaluation, we average the individual turns to get an aggregate score for a given dialogue.
| R | IS | DNLI | M | |
| Fluency | 0.322 | 0.246 | 0.443 | 0.37 |
| Engagingness | 0.204 | 0.091 | 0.192 | 0.232 |
| Humanness | 0.057 | -0.108 | 0.129 | 0.095 |
| Making Sense | 0.0 | 0.005 | 0.256 | 0.208 |
| Inquisitiveness | 0.583 | 0.589 | 0.598 | 0.728 |
| Interestingness | 0.275 | 0.119 | 0.135 | 0.24 |
| Avoiding Repetition | 0.093 | -0.118 | -0.039 | -0.035 |
| Listening | 0.061 | -0.086 | 0.124 | 0.112 |
| Mean | 0.199 | 0.092 | 0.23 | 0.244 |
We investigate the correlation between the scores and uncalibrated individual human scores from 100 crowdworkers (Fig. 2), as well as aggregated scores released by [19] which are adjusted for annotator variance by using Bayesian calibration [23] (Table 2). In all cases, we report Spearman’s correlation coefficients.
For uncalibrated human judgements, we observe having higher relative correlation in 6 out of 8 quality measures. Interestingly, in case of calibrated human judgements, DistilBERT proves to be better in half of the quality measures. achieves marginally better overall correlation for calibrated human judgements, due to significantly strong correlation on specifically two measures: Interestingness and Engagingness. These measures answers the questions “How interesting or boring did you find this conversation?" and “How much did you enjoy talking to this user?". (Refer to Appendix B of [19] for the full list of questions). Overall, using large pre-trained language models provides significant boost in the human correlation scores.
In this work, we explore the feasibility of learning an automatic dialogue evaluation metric by leveraging pre-trained language models and the temporal structure of dialogue. We propose , which is an unreferenced dialogue evaluation metric that leverages sentence representations from large pre-trained language models, and is trained via Noise Contrastive Estimation. also learns a recurrent neural network to model the transition between the utterances in a dialogue, allowing it to correlate better with human annotations. This is a good indication that can be used to evaluate online dialogue conversations. Since it provides immediate continuous rewards and at the single-step level, can be also be used to optimize and train better dialogue generation models, which we want to pursue as future work.
We would like to thank the ParlAI team (Margaret Li, Stephen Roller, Jack Urbanek, Emily Dinan, Kurt Shuster and Jason Weston) for technical help, feedback and encouragement throughout this project. We would like to thank Shagun Sodhani and Alborz Geramifard for helpful feedback on the manuscript. We would also like to thank William Falcon and the entire Pytorch Lightning community for making research code awesome. We are grateful to Facebook AI Research (FAIR) for providing extensive compute / GPU resources and support regarding the project. This research, with respect to Quebec Artificial Intelligence Institute (Mila) and McGill University, was supported by the Canada CIFAR Chairs in AI program.
We hypothesize that a good encoding function can capture the structure that exists in dialogue. Often this translates to capturing the semantics, coherency in dialogue which are some of the key attributes of a conversation. Formally, we propose using a function \(f_t^{D_i}\) which maps one utterance to the next.




Figure 3: From left to right, LDA downsampled representation of BERT on Frames (Goal oriented), MultiWOZ (Goal oriented), PersonaChat (chit-chat) and DailyDialog (chit-chat).
\[\mathbf{h}_{u_{i+1}} = f_t^{D_i}(\mathbf{h}_{u_i})\]
To define a good encoding function, we turn to pre-trained language models. These models are typically trained on large corpus and achieve state-of-the-art results on a range of language understanding tasks [3]. To validate our hypothesis, we use a pre-trained (and fine-tuned) BERT [11] as \(f_e\). We compute \(h_{u_i} = f_e(u_i) \forall u_i \in D\), and learn a linear classifier to predict an approximate position of the \(u_i \in D_i\). The task has details in its design, in the case of goal-oriented dialogues the vocabulary differs in different parts of the conversation and in chitchat dialogues it cannot be said. To experiment, we choose PersonaChat [17] and DailyDialog [24] to be nominal of chit-chat style data, and Frames [25] and MultiWOZ [26] for goal-oriented data.
We encode every consecutive pairs of the utterances with a % score, t, that denotes its occurrence after the completion of t% of dialogue. \[t_{u_p} = \frac{\text{index}_{u_p}+1}{k}\] where \(\text{index}_{u_p}\) denote the average of the indices in the pair of the utterances and k denote the total number of utterances in dialogue.
Now, we pre-define the number of bins B. We split the range 0-100 into B non-overlapping sets(every set will have min and max denoted by \(s^i_{min}\) and \(s^i_{max}\) respectively). We parse every dialogue in the dataset, and place the encoding of every utterance pair in the corresponding bin.
\[bin_{u_p} = \{i \mid t_{u_p} > s^i_{min} \& s^i_{max} > t_{u_p}\}\]
We then use Linear Discriminant Analysis (LDA) to predict the bin of each utterance \(u_i\) in the dialogue after converting the high dimensional embedding into 2 dimensions. LDA provides the best possible class conditioned representation of data. This gives us a downsampled representation of each utterance \(u_i\) which we plot as shown in Figure 3. The reduction on BERT encoding to 2-dimensions shows that BERT is useful in nudging the encoded utterances towards useful structures. We see well defined clusters in goal-oriented but not-so-well-defined clusters in open domain dialogues. This is reasonable to expect and intuitive.
| Datasets | DailyDialog | Frames | MultiWOZ | ||||
|---|---|---|---|---|---|---|---|
| Model | Eval Mode | Score | \(\Delta\) | Score | \(\Delta\) | Score | \(\Delta\) |
| RUBER | \(+\) | 0.173 \(\pm{0.168}\) | 0.211 \(\pm{0.172}\) | 0.253 \(\pm{0.177}\) | |||
| \(-\) | 0.063 \(\pm{0.092}\) | 0.11 | 0.102 \(\pm{0.114}\) | 0.109 | 0.121 \(\pm{0.123}\) | 0.123 | |
| InferSent | \(+\) | 0.163 \(\pm{0.184}\) | 0.215 \(\pm{0.186}\) | 0.277 \(\pm{0.200}\) | |||
| \(-\) | 0.050 \(\pm{0.085}\) | 0.113 | 0.109 \(\pm{0.128}\) | 0.106 | 0.127 \(\pm{0.133}\) | 0.15 | |
| DistilBERT NLI | \(+\) | 0.885 \(\pm{0.166}\) | 0.744 \(\pm{0.203}\) | 0.840 \(\pm{0.189}\) | |||
| \(-\) | 0.575 \(\pm{0.316}\) | 0.31 | 0.538 \(\pm{0.330}\) | 0.206 | 0.566 \(\pm{0.333}\) | 0.274 | |
| \(+\) | 0.782 \(\pm{0.248}\) | 0.661 \(\pm{0.293}\) | 0.758 \(\pm{0.265}\) | ||||
| \(-\) | 0.431 \(\pm{0.300}\) | 0.351 | 0.454 \(\pm{0.358}\) | 0.207 | 0.483 \(\pm{0.345}\) | 0.275 | |
In order for a dialogue evaluation metric to be useful, one has to evaluate how it generalizes to unseen data. We performed the evaluation using our trained models on PersonaChat dataset, and then evaluated them zero-shot on two goal-oriented datasets, Frames [25] and MultiWoz [26], and one chit-chat style dataset: Daily Dialog [24] (Table 3). We find BERT-based models are significantly better at generalization than InferSent or RUBER, with marginally better than DistilBERT-NLI baseline. has the biggest impact on generalization to DailyDialog dataset, which suggests that it captures the commonalities of chit-chat style dialogue from PersonaChat. Surprisingly, generalization gets significantly better of BERT-based models on goal-oriented datasets as well. This suggests that irrespective of the nature of dialogue, pre-training helps because it contains the information common to English language lexical items.
| PersonaChat Dataset | Model | RUBER | InferSent | DistilBERT NLI | |||||
| Training Modes | Only Semantics | Only Semantics | Only Semantics | Only Semantics | |||||
| Evaluation Modes | Score | \(\Delta\) | Score | \(\Delta\) | Score | \(\Delta\) | Score | \(\Delta\) | |
| Semantic Positive | Gold Truth Response | 0.443\(\pm{0.197}\) | 0 | 0.466\(\pm{0.215}\) | 0 | 0.746\(\pm{0.236}\) | 0 | 0.789\(\pm{0.244}\) | 0 |
| BackTranslation | 0.296\(\pm{0.198}\) | 0.147 | 0.273\(\pm{0.195}\) | 0.192 | 0.766\(\pm{0.235}\) | -0.02 | 0.723\(\pm{0.277}\) | ||
| Seq2Seq | 0.082\(\pm{0.163}\) | 0.361 | 0.10\(\pm{0.184}\) | 0.367 | 0.46\(\pm{0.357}\) | 0.428\(\pm{0.390}\) | 0.361 | ||
| Semantic Negative | Random Utterance | 0.299\(\pm{0.203}\) | 0.144 | 0.287\(\pm{0.208}\) | 0.178 | 0.489\(\pm{0.306}\) | 0.257 | 0.388\(\pm{0.335}\) | |
| Random Seq2Seq | 0.028\(\pm{0.077}\) | 0.415 | 0.036\(\pm{0.082}\) | 0.429 | 0.237\(\pm{0.283}\) | 0.529 | 0.16\(\pm{0.26}\) | ||
| Syntactic Negative | Word Drop | 0.334\(\pm{0.206}\) | 0.109 | 0.308\(\pm{0.217}\) | 0.802\(\pm{0.224}\) | -0.056 | 0.73\(\pm{0.29}\) | 0.059 | |
| Word Order | 0.472\(\pm{0.169}\) | -0.029 | 0.482\(\pm{0.19}\) | -0.016 | 0.685\(\pm{0.284}\) | 0.061 | 0.58\(\pm{0.35}\) | ||
| Word Repeat | 0.255\(\pm{0.24}\) | 0.188 | 0.153\(\pm{0.198}\) | 0.312 | 0.657\(\pm{0.331}\) | 0.089 | 0.44\(\pm{0.39}\) | ||
| PersonaChat Dataset | Model | RUBER | InferSent | DistilBERT NLI | |||||
| Training Modes | Only Syntax | Only Syntax | Only Syntax | Only Syntax | |||||
| Evaluation Modes | Score | \(\Delta\) | Score | \(\Delta\) | Score | \(\Delta\) | Score | \(\Delta\) | |
| Semantic Positive | Gold Truth Response | 0.891\(\pm{0.225}\) | 0 | 0.893\(\pm{0.231}\) | 0 | 0.986\(\pm{0.088}\) | 0 | 0.99\(\pm{0.07}\) | 0 |
| BackTranslation | 0.687\(\pm{0.363}\) | 0.204 | 0.672\(\pm{0.387}\) | 0.221 | 0.877\(\pm{0.268}\) | 0.109 | 0.91\(\pm{0.23}\) | ||
| Seq2Seq | 0.929\(\pm{0.187}\) | -0.038 | 0.949\(\pm{0.146}\) | -0.055 | 0.996\(\pm{0.048}\) | -0.01 | 0.99\(\pm{0.05}\) | ||
| Semantic Negative | Random Utterance | 0.869\(\pm{0.248}\) | 0.022 | 0.835\(\pm{0.294}\) | 0.977\(\pm{0.116}\) | 0.009 | 0.97\(\pm{0.13}\) | 0.02 | |
| Random Seq2Seq | 0.915\(\pm{0.196}\) | -0.024 | 0.904\(\pm{0.206}\) | -0.011 | 0.994\(\pm{0.057}\) | -0.008 | 0.99\(\pm{0.08}\) | ||
| Syntactic Negative | Word Drop | 0.119\(\pm{0.255}\) | 0.772 | 0.105\(\pm{0.243}\) | 0.373\(\pm{0.414}\) | 0.613 | 0.41\(\pm{0.44}\) | 0.584 | |
| Word Order | 0.021\(\pm{0.101}\) | 0.87 | 0.015\(\pm{0.0915}\) | 0.878 | 0.064\(\pm{0.194}\) | 0.922 | 0.07\(\pm{0.21}\) | ||
| Word Repeat | 0.001\(\pm{0.007}\) | 0.89 | 0.001\(\pm{0.020}\) | 0.893 | 0.006\(\pm{0.057}\) | 0.980 | 0.01\(\pm{0.06}\) | ||
| PersonaChat Dataset | Model | RUBER | InferSent | DistilBERT NLI | |||||
| Training Modes | All | All | All | All | |||||
| Evaluation Modes | Score | \(\Delta\) | Score | \(\Delta\) | Score | \(\Delta\) | Score | \(\Delta\) | |
| Semantic Positive | Gold Truth Response | 0.432\(\pm{0.213}\) | 0 | 0.462\(\pm{0.254}\) | 0 | 0.824\(\pm{0.154}\) | 0 | 0.909\(\pm{0.152}\) | 0 |
| BackTranslation | 0.183\(\pm{0.198}\) | 0.249 | 0.184\(\pm{0.218}\) | 0.278 | 0.8\(\pm{0.19}\) | 0.838\(\pm{0.227}\) | 0.070 | ||
| Seq2Seq | 0.09\(\pm{0.17}\) | 0.342 | 0.10\(\pm{0.184}\) | 0.362 | 0.65\(\pm{0.287}\) | 0.6008\(\pm{0.38}\) | 0.308 | ||
| Semantic Negative | Random Utterance | 0.28\(\pm{0.21}\) | 0.152 | 0.252\(\pm{0.236}\) | 0.209 | 0.677\(\pm{0.255}\) | 0.147 | 0.621\(\pm{0.344}\) | |
| Random Seq2Seq | 0.03\(\pm{0.09}\) | 0.402 | 0.026\(\pm{0.079}\) | 0.435 | 0.48\(\pm{0.313}\) | 0.344 | 0.323\(\pm{0.355}\) | ||
| Syntactic Negative | Word Drop | 0.09\(\pm{0.16}\) | 0.342 | 0.094\(\pm{0.17}\) | 0.563\(\pm{0.377}\) | 0.261 | 0.609\(\pm{0.401}\) | 0.3 | |
| Word Order | 0.04\(\pm{0.10}\) | 0.392 | 0.052\(\pm{0.112}\) | 0.409 | 0.153\(\pm{0.29}\) | 0.671 | 0.182\(\pm{0.327}\) | ||
| Word Repeat | 0.00\(\pm{0.01}\) | 0.432 | 0.001\(\pm{0.010}\) | 0.461 | 0.041\(\pm{0.153}\) | 0.782 | 0.036\(\pm{0.151}\) | ||
The choice of negative samples (Section 3) for Noise Contrastive Estimation can have a large impact on the test-time scores of the metrics. In this section, we show the effect when we train only using syntactic negative samples (Table 4) and only semantic negative samples (Table 5). For comparison, we show the full results when trained using both of the sampling scheme in Table 6. We find overall training only using either syntactic or semantic negative samples achieve less \(\Delta\) than training using both of the schemes. All models achieve high scores on the semantic positive samples when only trained with syntactical adversaries. However, training only with syntactical negative samples results in adverse effect on detecting semantic negative items.
We investigate qualitatively how the scores of different models are on the online evaluation setup on [19]’c collected data. In Figure 4, we show a sample conversation where a human evaluator is pitched against a strong model. Here, scores correlate strongly with raw likert scores on different metrics. We observe that RUBER and InferSent baselines overall correlate negatively with the response. In Figure 5, we show another sample where a human evaluator is pitched against a weak model, which exhibits degenerate responses. We see both and DistilBERT-NLI correlate strongly with human annotation and provides a very low score, compared to RUBER or InferSent.
Since we essentially cherry-picked good results, its only fair to show a similarly cherry-picked negative example of . We sampled from responses where scores are negatively correlated with human annotations on Inquisitiveness metric (5% of cases), and we show one of those responses in Figure 6. We notice how both DistilBERT-NLI and fails to recognize the duplication of utterances which leads to a low overall score. This suggests there still exists room for improvement in developing , possibly by training the model to detect degeneracy in the context.
We performed rigorous hyperparameter search to tune our model . We train with downsampling, as we observe poor results when we run the recurrent network on top of 768 dimensions. Specifically, we downsample to 300 dimensions, which is the same used by our baselines RUBER and InferSent in their respective encoder representations. We also tested with the choice of either learning a PCA to downsample the BERT representations vs learning the mapping \(\mathbf{D}_g\) (Equation 3 ), and found the latter producing better results. We keep the final decoder same for all models, which is a two layer MLP with hidden layer of size 200 dimensions and dropout 0.2. For BERT-based models (DistilBERT-NLI and ), we use HuggingFace Transformers [27] to first fine-tune the training dataset on language model objective. We tested with training on frozen fine-tuned representations in our initial experiments, but fine-tuning end-to-end lead to better ablation scores. For all models we train using Adam optimizer with 0.0001 as the learning rate, early stopping till validation loss doesn’t improve. For the sake of easy reproducibility, we use Pytorch Lightning [28] framework. We used 8 Nvidia-TitanX GPUs on a DGX Server Workstation to train faster using Pytorch Distributed Data Parallel (DDP).
Corresponding author: koustuv.sinha@mail.mcgill.ca. Code for reproducing the experiments are available at https://github.com/facebookresearch/online_dialog_eval.↩︎
DistilBERT is the same BERT encoder with significantly reduced memory footprint and training time, which is trained by knowledge distillation [20], [21] on the large pre-trained model of BERT.↩︎