一种开放域Chatbot的无监督自动评价方法

陶重阳  

-- 北大计算机科学与技术研究所,研究方向为对话系统和深度学习。

开放领域的人机对话在过去几年中受到越来越多研究者的关注。然而,对于开放领域的对话系统不存在一个标准的自动评测方法,研究人员通常采用人工标注来评估其模型,这种方法不仅耗时而且不能很好的扩展。在本文中我们提出一种结合无参考回复和有参考回复的评测方法,该方法同时考虑问题(先前用户的话语)和参考回复来对生成的回复进行评测,我们将该指标称之为 RUBER (a Referenced metric and Unreferenced metric Blended Evaluation Routine)。


RUBER 评价指标是可学习的,但它的训练不需要人工评价的标签。因此,相对于其他的可学习的评测方法,RUBER 更为灵活并且易于扩展到不同的数据集和语言。通过在两种典型的的对话系统上(基于检索和基于生成的)的实验测试表明,RUBER 与人工评价具有很高的相关性。

简介

近年来开放领域对话由于其广泛的应用受到越来越多的关注[1][2][3],自动评测作为对话系统研究中一个重要组成部分,它不仅能够减轻模型比较和选择的负担,而且能够极大的促进该领域的进一步研究。然而在现有的研究中,并没有一个针对对话系统的评测方法,许多研究人员采用人工标注来评估其模型,这样不仅耗时而且不能很好的扩展。

在一些其他语言生成任务中已经先后提出了一些自动评测方法,例如用于机器翻译质量评测的 BLEU[4]和 Meteor[5],以及用于文本摘要 ROUGE[6]。对于对话系统,一些研究人员也采用这些评价方法来进行评估[7][8][9]。最近 Liu 等人[10]在对话系统上进行一系列的相关实验,表明现有的一些自动评测指标(如:BLEU, ROUGE, METEOR)和人工打分之间的相关性很弱。

最近,Lowe 等人[11]提出了一种基于神经网络的对话系统评测方法,它通过学习预测在给定问题(先前用户的话语)和参考回复的情况下生成回复的质量。这种评价模型需要大量的人工标注的分数来训练网络,因此不太灵活并且可扩展差。

在本文中,我们针对开放领域对话提出 RUBER 评测方法,该方法具有以下特点:

  • 提出一种基于词向量嵌入的方法来衡量生成的回复和真实回复之间的相似性。类似于现有的一些评测方法,它使用了真实回复作为参考,因此我们将其称为有参考回复(referenced)的评测方法。不同于传统的计算 n 元词共现(例如,BLEU 和 ROUGE),我们计算生成回复与参考回复之间池化后的词向量的相似性,在一定程度上减轻了对话回复中语言表述的多样性对评测所带来的影响。
  • 提出了一种基于神经网络的评测方法用于衡量生成的回复与其问题之间的相关性。由于该方法不依赖于参考回复,因此称之为无参考回复(Unreferenced)的评测方法。我们采用负采样的方法来训练网络,从而避免了使用人工打分的标签来学习网络参数,相比于 Lowe 等人[11]提出的模型具有更好的扩展性和实用性。
  • 我们采用不同的策略组合上述两种评测方法,以更好地利用对话中问题和参考回复两个方面的信息。一方面,与参考回复相似的回复意味着质量较高。另一方面,对于一个问题,参考回复并不能涵盖所有的话题,而生成答复与其问题之间的相关性可以提供附加信息来作为评价依据。将这两个方面采用不同的策略(如取平均)进行结合可以进一步提高其性能。

我们在两种主要的对话系统(包括检索和生成)上评估RUBER的性能。实验表明, RUBER 和人工打分的 Pearson 和 Spearman 相关系数明显优于现有的自动评价指标。

模型介绍

图1:RUBER 评测模型的总体设计

如图1显示了 RUBER 评测模型的总体设计方法。我们将分别介绍 referenced 和 unreferenced 的评测方法,最后讨论如何将两种方法进行结合。

— 01 —

Referenced Metric


我们使用生成回复 r^和参考回复 r 之间的相似度作为 referenced 评价指标,并将其表示为Sr(r, r^)。传统的 referenced 评测方法大多数是衡量 n 元词的重叠,如 BLEU 计算 n-gram 准确率,ROUGE 计算 n-gram 的召回率。但是由于开放领域对话中语言表述的多样性,这种基于词重叠的方法并不能很好的运用到对话评测任务中。

本文中我们采用词向量池化的方法,通过选择每个维度的最大值和最小值来表示句子信息;然后通过余弦距离来衡量两个句子之间相似度。令 W1, W2,..., W3 表示为句子中的单词的词向量,因此 max-pooling 可表示如下:

其中[·]表示词向量的维度索引。同样,min-pooling产生一个向量 v_min,然后将 v_max 和 v_min 向量级联得到 v = [v_max ; v_min]。令v_r^表示生成回复的句子向量表示,v_r 是参考答复的句子向量表示,使用cosine距离衡量 r 和 r^ 之间的相似性:

在无监督词向量嵌入学习中,由于常见的词经常出现在不同的上下文中,因此这些词的词向量通常都靠近原点(接近零)。选择每个维度中的最大值和最小值可以提取更多关于非常见词的信息。相比于 Forgues 等人[12]提出的 vectorextrema 方法(选择最大正值或最小负值),其特征更容易受到符号的影响。

— 02 —

Unreferenced Metric

图2:无参考回复的评测网络结构图


然后我们衡量生成的回复 r^和它的问题 q 之间的相关性,由于该评测方法不依赖于参考回复,因此称之为无参考回复的评测方法(Unreferenced Metrics),将其表示为 s_u (q, r^)。不同于 r - r^评测方法,其主要衡量两个语句的相似性,而 q - r^评测涉及更高层次的语义关联度。因此,本文设计一个神经网络来预测一个回复对于一个问题的适当性(或称之为匹配度),网络结构如图2所示。

首先将问题 q 和回复 r^中的每个单词嵌入到一个固定维数的向量,然后将单词序列通过带有 GRU 单元的双向递归神经网络(Bi-GRU RNN)。前向 RNN 的数学形式表示如下:

其中 x_t 是当前输入单词的词嵌入向量,h->t 是隐藏状态。同样,反向 RNN 给出隐藏状态可以表示为 h<-t。然后我们将两个方向的最后一个隐含层状态级联,从而得到问题和回复的句子表示向量,分别表示为 q 和 r。

我们引入了类似于文献中[13]的“二次特征”(表示为 qMr,其中 M 是一个参数矩阵),然后我们将该二次特征与 q 和 r 级联并通过一个多层感知器(MLP)来预测最终的得分。 MLP 的隐藏层使用 tanh 作为激活函数,我们希望最终的得分在 0 到 1 之间,因此最后一个单元(标量)使用 sigmoid 激活函数。

为了训练神经网络,我们采用负采样,这使得我们的训练不需要人工标记的打分数据。给定一个真实的问题—回复对,我们在训练集中随机采样一个回复 r-作为负样本。我们希望真实回复的得分比负样本的得分要高,并且至少高出∆。网络的训练目标是最小化函数:

网络所有参数都由 Adam 算法[15]反向传播训练。

上述网络结构主要受到之前话语匹配的相关研究工作[13][14]的启发,我们还可以使用其他变体网络结构来进行匹配,具体细节不是我们的研究重点。本文的研究验证了负采样对于对话评测任务的有效性,相比与 Lowe 等人[11]提出的基于监督学习的评测方法,本文的方法不需要使用人工打分数据来训练网络,这不仅减轻了人工标注的的负担,也使得我们的评测模型具有很好的扩展性。

— 03 —

Hybrid Evaluation


我们首先将每个指标归一化至[ 0, 1 ],使得它们通常具有相同的比例。


其中min(s’)和 max(s’)分别指特定度量的最大值和最小值。

然后我们通过一些简单的启发式方法将~s_R 和~s_U 组合为最终的 RUBER 评测方法,如:min,max,几何平均和算术平均。我们将在 3.2 中看到的,不同的策略产生类似的结果,并且明显优于传统的评测方法。

实验

一个好的评测方法应该和人工打分具有很好的相关性,本节中我们测试 RUBER 评测方法和人工打分之间的相关性。由于文化背景以及人工打分的便捷性,本文的实验是在中文语料库上进行的,但我们认为 RUBER 可以适用于不同的语言。

— 01 —

实验设置


我们从中文论坛—豆瓣中爬取了大量的对话数据,该训练集包含了 1,449,218 个样本,并训练集语料进行中文分词。本文将 RUBER 评测方法(以及一些传统的评测方法)用于评测两个主要的对话系统。一是基于检索的对话系统,其首先通过关键字匹配检索出一个候选集,然后通过人工特征对候选集重新排序,最后选择排名最高的结果作为生成回复[9]。另一个是基于递归神经网络的语言生成模型(Seq2Seq)[16],该网络首先通过一个编码器将问题编码为一个向量,然后通过解码器将其解码为的对应的回复,此外网络中还使用了注意机制[17]来增强问题—回复之间的交互。

实验中邀请了 9 个志愿者来对两个对话系统(检索或生成)的答复来进行打分,打分根据生成回复的流畅性、逻辑一致性、语义相关性分为 0,1,2 三档。分数 2 表示好的答复,0 表示差的回复,1 表示一般的回复。

— 02 —

实验结果及分析

表1:不同的自动评测方法与人工打分之间的相关性


表 1 显示了 RUBER 以及各种传统评测方法和人工打分(平均值)之间的相关性。其中 Pearson 和 Spearman 相关系数广泛应用于其他领域(如机器翻译)自动评测方法的性能比较。

我们发现与现有基于词重叠的评测方法(如 BLEU,ROUGE)相比,基于词向量的评测方法 s_R 和人工打分表现出更高的相关性。这意味着参考回复可用于候选回复的评测,但是在对话领域,词重叠匹配过于严格,而基于词向量嵌入的方法以一种较“软”方式来衡量句子的之间的相似度,因此效果更好。

无参考回复的评测方法 s_U 和人工打分得相关性明显高于 s_R,该结果表明单独的问题也是富含信息的,并且负采样对于训练评测网络是有用的,尽管它不需要作为标签的人类注释。此外,在无参考回复的评测方法中,基于神经网络的评测方法优于基于词向量余弦相似度的方法,这是因为余弦值衡量的是浅层次的相似度,而问题与回复之间丰富的语义关系需要更复杂的机制去捕获,如神经网络。

我们将 s_U 和 s_R 两种评价方法合并为最终 RUBER。实验结果表明,max 策略(选择两者中较大值)显得过于宽松,其性能略逊于其他策略。选择较小的值(min)和取平均值(几何或算术平均)产生类似的结果,虽然最优性能在两个对话模型中不一致,但它们明显优于单个评测方法,这显示了在开放域对话系统中使用混合评测方法的合理性。

此外,我们进一步注意到 RUBER 评测方法与人工评价之间的相关性和人工评价的平均自相关性(人工评价的一致性)是可比拟的。更重要的是,RUBER 中涉及的评测方法都是启发式、无监督的,它比现有的基于监督学习的评测方法更为灵活,并且可以更好地扩展到不同的数据集。

本文地址:https://arxiv.org/abs/1701.03079


参考文献

[1]. Timothy W Bickmoreand Rosalind W Picard. 2005. Establishing and maintaining long-term human computer relationships. ACM Transactions on Computer-Human Interaction 12(2):293–327.

[2]. Fumihiro Bessho,Tatsuya Harada, and Yasuo Kuniyoshi. 2012. Dialog system using real-time crowdsourcing and twitter large-scale corpus. In Proceedings of the 13th Annual Meeting of the Special Interest Group on Discourse and Dialogue. pages 227–231.http://aclweb.org/anthology/W12-1631.

[3]. Lifeng Shang, Zhengdong Lu, and Hang Li.2015. Neural responding machine for short-text conversation. In Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing. Pages 1577–1586. https://doi.org/10.3115/v1/P15-1152.

[4]. Kishore Papineni, Salim Roukos, ToddWard, and Wei-Jing Zhu. 2002. BLEU: A method for automaticevaluation of machine translation. In Proceedings of the 40th Annual Meeting on Association for Computational Linguistics. Pages 311–318. http://www.aclweb.org/anthology/P02-1040.

[5]. Satanjeev Banerjeeand Alon Lavie. 2005. METEOR: An automatic metric for MT evaluation with improved correlation with human judgments. In Proceedings of the ACL Workshop on Intrinsic and Extrinsic Evaluation Measures for Machine Translation and/or Summarization. pages 65–72. http://aclweb.org/anthology/W05-0909.

[6]. Chin-Yew Lin. 2004. ROUGE: A package for automatic evaluation of summaries. In Text Summarization Branches out: Proceedings of the ACL-04 Workshop. pages 74–81. http://aclweb.org/anthology/W04-1013.

[7]. Alan Ritter, ColinCherry, and William B Dolan. 2011. Data-driven response generation in social media. In Proceedings of the 2011 Conference on Empirical Methods in Natural Language Processing. Pages 583–593. http://aclweb.org/anthology/D11-1054.

[8]. Jiwei Li, MichelGalley, Chris Brockett, Jianfeng Gao, and Bill Dolan. 2015. Adiversity-promoting objective function for neural conversation models. In Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. Pages 110–119. https://doi.org/10.18653/v1/N16-1014.

[9]. Yiping Song, RuiYan, Xiang Li, Dongyan Zhao, and Ming Zhang. 2016. Two are better than one: Anensemble of retrieval-and generation-based dialog systems. arXiv preprintarXiv:1610.07149.

[10]. Chia-Wei Liu, RyanLowe, Iulian Serban, Mike Noseworthy, Laurent Charlin, and Joelle Pineau. 2016. How NOT to evaluate your dialogue system: An empirical study of unsupervised evaluation metrics for dialogue response generation. In Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing. pages2122–2132. https://doi.org/10.18653/v1/D16-1230.

[11]. Ryan Lowe, Michael Noseworthy, Iulian V.Serban, Nicolas Angelard-Gontier, Yoshua Bengio, andJoelle Pineau. 2017. Towards an automatic turing test: Learning to evaluate dialogue responses. https://openreview.net/pdf?id=HJ5PIaseg.

[12]. Gabriel Forgues, Joelle Pineau, Jean-Marie Larcheveque, and R ˆ eal Tremblay. 2014.Boot-strapping dialog systems with word embeddings. In NIPS ML-NLP Workshop.

[13]. Aliaksei Severyn and Alessandro Moschitti. 2015. Learning to rank short text pairs with convolutional deep neural networks. In Proceedings of the 38th International ACM SIGIR Conference on Research and Development in Information Retrieval. Pages 373–382.

[14]. Rui Yan, Yiping Song, and Hua Wu. 2016. Learning to respond with deep neural networks forretrieval based human-computer conversation system. In Proceedings of the 39th International ACM SIGIR conference on Research and Development in Information Retrieval. pages 55–64.

[15]. Diederik Kingma and Jimmy Ba. 2014. Adam: A method for stochastic optimization. arXiv preprintarXiv:1412.6980 .

[16]. Ilya Sutskever,Oriol Vinyals, and Quoc VLe. 2014. Sequence to sequence learning with neural networks. In Advances in Neural Information Processing Systems. pages3104–3112.

[17]. Dzmitry Bahdanau,Kyunghyun Cho, andYoshua Bengio. 2015. Neural machine translation by jointlylearning to align and translate. In Proceedings of the International Conferenceon Learning Representations.

PaperWeekly
PaperWeekly

推荐、解读、讨论和报道人工智能前沿论文成果的学术平台。

理论理论论文聊天机器人人机对话对话系统
暂无评论
暂无评论~