徐振 刘秉权作者

评价端到端生成式聊天系统,哈工大提出新型数据集 LSDSCC

端到端的生成式聊天系统在模型层面的研究工作近年来取得了长足进展,但是对于生成结果的合理评价方法的探索却不足,无法为模型的优化提供有效指引。基于此,本文提出了两种用于自动测评生成回复的语义多样性的量化指标 PDS 和 MDS,并开放了一个由电影领域的高质量 query-response 组成的数据集。本工作是哈工大ITNLP实验室联合北航的姜楠及其导师一起完成的。

引言

得益于深度学习的发展,端到端的生成式聊天系统在模型层面的研究工作在近两到三年中取得了长足的进步 [1-5]。与之相比,对于生成结果的合理评价方法的探索则极为滞后,无法为模型的优化方向提供有效的指引。现有的较为通用的自动评价方法多是来源于机器翻译、自动文摘等领域,被普遍认为无法有效评测端到端的生成式模型生成结果的语义多样性,而人工评测的开销较大且无法保证很高的一致性 [6,7]。与此同时,尽管目前开放域聊天的通用训练数据较多,但针对特定领域的富含较大信息量的对话数据则比较缺少。针对这些问题,论文 LSDSCC: A Large Scale Domain-Specific Conversational Corpus for Response Generation with Diversity Oriented Evaluation Metrics 提出了两种用于自动评测生成回复的语义多样性的量化指标,并开放了一个由电影领域的高质量 query-response 组成的数据集。

1 新的端到端对话生成数据集 LSDSCC

生成式聊天是自动对话领域中最前沿的研究方向之一,其核心技术就是利用端到端的一体化结构自动生成回复(Response Generation),而回复生成模型通常需要大规模的聊天数据进行训练。理论上,用户通过社交网络平台积累的海量对话数据可以用于训练端到端的回复生成模型。然而,目前学术界常用的大规模训练数据集普遍存在噪声数据比例较高、主题分散等问题,给模型的训练和评价带来了一定的问题。针对这方面的问题,本文给出了一个基于单一领域数据源的高质量对话生成训练数据集。

1.1 基于单一领域的对话生成数据集

现有的很多聊天数据集通常是开放域数据集(包括很多领域,如电影,音乐等),如果生成的回复与参考回复不在统一领域,评价生成回复的质量的难度可想而知。除此之外,常见的训练数据集诸如 Twitter、Ubuntu 等 [8,9],包含了大量的噪声信息(如,typos 和 slangs,超链接等),也不利于模型的有效训练。因此,使用高质量的单一领域数据集评价不同的回复生成模型更加合理。为此,作者选取了 Reddit 论坛的电影板块的对话作为候选数据集,并在此基础上进行了数据清洗(替换掉 html 标签、表情符等)、词表截断以及对话精简(删除特别长的句子)等复杂的预处理。

数据清洗:首先,在 Reddit 获取的原始人与人的对话数据中通常包含 mark-down 和 html 标签,这些标签会干扰语句的合法性,作者将这种类型的标签剥离,从而得到完整通顺的句子。此外,Reddit 的回复通常还包含大量的 URL、Email 和数字,本文利用正则表达式将此类字符串统一格式化为「__URL__」、「__EMAIL__」和「__DIGIT__」。然后,如 Reddit 这样的社交网络中会经常使用表情符号传递信息,作者将利用对应的表情符号与词语的映射表,将其转换为对应的词语,从而有利于文本分析和理解。最后,本文将重复多次的词语或者字(如,「cooool」and「ahahaha」)也转化为正常的形式。

词表剪枝:经过上述清洗之后,词表中仍然存在大量的超长或者低频字串(如,「ILoveYou」),这导致词表包含超过 160K 的词语。如表 1 所示,这些词语中约 45% 左右的是超长组合词汇或者不是 ascii 的词汇。对于「序列-序列」模型来说,这么大的词表将使得模型参数非常庞大、模型很难收敛等问题。将这些词语全部映射成「UNK」会损失掉大量的信息,从而影响模型的表现。为此,作者将超长或者低频的字符串拆解成若干高频词,尽量保留的回复所包含的信息。

表 1 Post 和 Response 中的噪声词汇的比例

对话精简:图 1 是数据集中询问 post 和回复 response 的长度分布情况,可以看出约有 40% 的话语长度超过了 50。而大多数回复生成模型的关键组件循环神经网络(RNN)在实际的应用中很难捕获长距离的语义信息。此外,回复过长,「序列-序列」模型中的解码器也很难训练,并且生成过程中的效率也会受到影响。【同时,聊天场景下的回复通常是用很少的句子表达一个单一的观点】。为此,作者选取了询问 post 长度不超过 100、回复长度不超过 60 的对话,最终获取了一个包含约 74 万单论对话的数据集。

图 1 数据集中 Post 和 Response 长度分布

2 面向生成结果语义多样性的自动评价方法

自动生成的回复的自动评价方法一直都是一个难点。目前大多数生成的回复质量自动评价方法大多数来源于机器翻译 (如 BLEU Score)[10,11],这些方法可以从一定程度上度量生成的回复与输入话语的相关性。但是,由于聊天场景下回复通常比较发散(一个输入话语常有很多语义相差很大的回复,如表 2 所示),与机器翻译有很大不同,因此上述这些自动方法很难评价生成回复的质量,特别是面向回复的语义多样性 (semantic diversity) 的评价。此外,基于人工标注的方法固然能够保证较全面的评价,但主要问题在于开销较大且无法保证很高的一致性。为了自动地对回复生成模型合理地评价,作者使用半自动地方法构建了一个电影领域的、高质量的测试集合,同时提出了两个多样性的自动评价指标。

表 2 多样性回复的实例

2.1 复合参考回复集的半自动构建

图 2 数据集中询问 post 的回复个数分布

图 2 给出了 Reddit 语料中 post 的回复个数分布。可以看出,约 70% 的只有一个回复,16% 的有两个回复,这与我们最终的聊天场景下一个输入话语有很多回复不相符。因此,如果使用这样的测试数据去衡量回复生成模型的表现是不合理的。为此,本文使用半自动的方法为输入话语构建了多个回复,并按照回复语义关系进行了分组。

为一个输入话语构建多个回复的第一步就是从大规模的数据中将与输入话语语义相似的话语找出来。为此,作者通过基于 TF-IDF 和语义向量的相似度方法计算话语之间的相似度,从而找到跟当前话语最相似的若干个语句。整个过程可以分为两个阶段,首先根据词的 TF-IDF,使用 apache lucence 抽取 100 个最相似的语句;然后,使用 Doc2Vec 将当前话语和所有候选语句向量化,根据向量计算当前话语与候选语句之前的语义相似度,进而对候选语句重新排序,选取相似度大于某一阈值(如,0.9)作为当前话语最相似的语句。

将与当前话语语义相似的语句的回复作为当前话语的回复是合理的,因此,作者将 15 个最相似语句的回复收集起来作为当前话语的回复。而在社交网络中噪声比较大,会有一些不合理的回复混入到其中。为了保证数据质量,邀请了一些标注人员进行话语与回复的相关性判断。在相关性判断过程中,要求标注人员首先判断候选回复的语法是否正确,是否与对应的话语语义相关,如果这两个条件都满足,该回复被标为「1」,否则被标为「0」。经过这个过程之后,每个话语的回复的个数分布如下:

图 3 测试集的回复个数分布

本文主要的目的是构建一个可以评价对话模型多样性的测试数据集,为此,作者对获取的回复集合进行了分组,每个组内的回复语义高度相关,组之间的语义有较大差异。首先,通过回复之间的词重叠度的将回复自动分组。这种自动分组方法非常粗糙,只能将一些词重叠比较多的回复归并到一个组里,而对于那些语义相近用词差异很大的回复没法合并到一个组里。为此,作者请标注人员将语义相似的组合并,从而实现了将话语的多个回复分成了若干组。在这个过程中标注人员需要先理解 post 的语义,然后阅读每组回复理解其表达的语义,在此基础上,将语义相近的回复组进行归并。因此,可以通过对话模型生成回复对于这些组的覆盖情况判断其多样性。

2.2 基于复合参考回复的多样性评价指标

现有的回复生成框架大都基于神经机器翻译模型,因此 BLEU Score 对于生成结果的语义相关性的度量是有相对的指示价值的。然而,由于多个参考回复的语义差异较大,使用生成回复与每一个参考回复的平均 BLUEU 值评价生成模型的表现是不合理的。为了揭示生成的回复的多样性,本文首先提出了一个基于 Multi-BLEU 的 MaxBLEU 评价生成回复与参考回复集合之前的相关性。然后,基于 MaxBLEU 提出了两个多样性的评价指标。其过程如下:

给定一个输入问句,生成模型会生成一组回复假设 {h_i},同时还有一组半自动的参考回复 {r_ij},r_ij 表示第 i 组的第 j 个回复,基于此 MaxBLEU 定义如下:

基于 Max BLEU,本文提出了两个多样性评价指标:平均多样性 (Mean Diversity Score, MDS) 和概率多样性 (Probabilistic Diversity Score, PDS),用于评价生成模型生成的回复的多样性。其计算过程如表所示,

算法 1 PDS 和 MDS 求解过程

从 MDS 和 PDS 算法中可以看出,MDS 假设每组回复都有相同的概率,而不考虑其中包含的参考回复的数量;与之相反,PDS 在估算每组回复的概率的时候,则将回复的数量考虑在其中。总之,MDS 和 PDS 越大,生成的假设回复覆盖的参考回复组越多,对应的生成模型的多样性就越好。下图用一个实际的例子展示了 PDS 和 MDS 计算过程。

图 4 MDS 和 PDS 的实例分析

3 结语

本文提出了一个电影领域的对话数据集以及复合参考回复的测试集,并基于此提出了两个度量生成式对话模型多样性的评价指标 PDS 和 MDS。实验发现本文提出的评价指标可以更好的反应已有的回复生成模型在回复多样性上的表现。此外,由于缺乏统一的评价标准和数据集,生成式对话的研究一直无法专注于模型的主航道上,本文提出的数据集和评价方法从一定程度上缓解这个问题。同时,期望本文的多样性指标可以为构建基于多样性的损失函数提供新的研究思路,从而实现对回复多样性的直接优化。

理论哈工大数据集NAACL HLT 2018聊天系统
1
相关数据
神经网络技术
Neural Network

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

神经机器翻译技术
Neural Machine Translation

2013 年,Nal Kalchbrenner 和 Phil Blunsom 提出了一种用于机器翻译的新型端到端编码器-解码器结构 [4]。该模型可以使用卷积神经网络(CNN)将给定的一段源文本编码成一个连续的向量,然后再使用循环神经网络(RNN)作为解码器将该状态向量转换成目标语言。他们的研究成果可以说是神经机器翻译(NMT)的诞生;神经机器翻译是一种使用深度学习神经网络获取自然语言之间的映射关系的方法。NMT 的非线性映射不同于线性的 SMT 模型,而且是使用了连接编码器和解码器的状态向量来描述语义的等价关系。此外,RNN 应该还能得到无限长句子背后的信息,从而解决所谓的「长距离重新排序(long distance reordering)」问题。

收敛技术
Convergence

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

生成模型技术
Generative Model

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

映射技术
Mapping

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

损失函数技术
Loss function

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

机器翻译技术
Machine translation

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

噪声技术
Noise

噪音是一个随机误差或观测变量的方差。在拟合数据的过程中,我们常见的公式$y=f(x)+\epsilon$中$\epsilon$即为噪音。 数据通常包含噪音,错误,例外或不确定性,或者不完整。 错误和噪音可能会混淆数据挖掘过程,从而导致错误模式的衍生。去除噪音是数据挖掘(data mining)或知识发现(Knowledge Discovery in Database,KDD)的一个重要步骤。

参数技术
parameter

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

剪枝技术
Pruning

剪枝顾名思义,就是删去一些不重要的节点,来减小计算或搜索的复杂度。剪枝在很多算法中都有很好的应用,如:决策树,神经网络,搜索算法,数据库的设计等。在决策树和神经网络中,剪枝可以有效缓解过拟合问题并减小计算复杂度;在搜索算法中,可以减小搜索范围,提高搜索效率。

反比文档频数权重评价方法技术
TF-IDF

tf-idf(英语:term frequency–inverse document frequency)是一种用于信息检索与文本挖掘的常用加权技术。tf-idf是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。tf-idf加权的各种形式常被搜索引擎应用,作为文件与用户查询之间相关程度的度量或评级。除了tf-idf以外,互联网上的搜索引擎还会使用基于链接分析的评级方法,以确定文件在搜索结果中出现的顺序。

深度学习技术
Deep learning

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法。观测值(例如一幅图像)可以使用多种方式来表示,如每个像素强度值的向量,或者更抽象地表示成一系列边、特定形状的区域等。而使用某些特定的表示方法更容易从实例中学习任务(例如,人脸识别或面部表情识别)。 近年来监督式深度学习方法(以反馈算法训练CNN、LSTM等)获得了空前的成功,而基于半监督或非监督式的方法(如DBM、DBN、stacked autoencoder)虽然在深度学习兴起阶段起到了重要的启蒙作用,但仍处在研究阶段并已获得不错的进展。在未来,非监督式学习将是深度学习的重要研究方向,因为人和动物的学习大多是非监督式的,我们通过观察来发现世界的构造,而不是被提前告知所有物体的名字。 至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

机器之心
机器之心

机器之心是国内领先的前沿科技媒体和产业服务平台,关注人工智能、机器人和神经认知科学,坚持为从业者提供高质量内容和多项产业服务。

返回顶部