参与路雪 蒋思源

怎样生成语言才能更自然,斯坦福提出超越Perplexity的评估新方法

语言生成不够「生动」?Percy Liang 等来自斯坦福大学的研究者提出了自然语言评估新标准。

困惑度是评估生成语言是否「自然」的最常见标准,它的值越小,则表示模型生成的句子越接近人类语言。但是这种基于统计的方法并不能很好地评估生成质量,因此本文提出一种新的评估方式 HUSE,它为自然语言生成提供了结合人类和统计评估的新架构。

怎样度量生成的语言

生成文本是很多 NLP 任务的核心,但如何恰当地评估生成语言的「自然性」是很有难度的。好的评估指标应该不仅能捕捉到生成结果的质量,还能考虑到生成结果的多样性,这对对话或故事生成这类需要创造性的开放性任务尤为关键。

人类评估通常被视为金科玉律,既能捕捉质量也不会忽略多样性。但是,统计评估(即在参考测试集上的困惑度)也能捕捉多样性,因为它确保模型为新句子分配合理的概率,但是困惑度(Perplexity)无法提供充分的质量评估。

目前困惑度在语言模型等领域中是应用最广泛的度量方法,它刻画的是语言模型估计一句话出现的概率。困惑度有一个非常直观的理解,即我们可以认为它是平均分支系数。也就是说语言模型预测下一个词时平均可选的数量,即模型对下一个词的「困惑程度」。

现有的将统计评估和人类评估结合起来的方法是点对点的,这会导致有误导性的性能评估。常见的方法是通过概率模型的困惑度来评估多样性、通过对束搜索输出进行人类评估来衡量质量。这就会产生一种错觉:某个模型质量高且具备多样性,而现实则是这个模型要么只具备多样性,要么只能输出高质量的结果。

斯坦福的解决方案

在这篇论文中,斯坦福的研究者采用对抗的思想,用判别器判断句子到底是来自参考分布还是模型分布,并将最优判别器误差率的 2 倍作为理想的评估指标。如果模型生成的句子质量较低,则最优判别器能够对模型生成的句子进行准确地分类。如果参考分布包含该模型无法生成的句子(低多样性),则最优判别器也能够对来自参考分布的句子进行准确地分类。


但是,最优判别器并不可得。「人类」判别器无法高效捕捉多样性,训练得到的判别器(比如基于 GAN 或人类判断训练得到的判别器)也无法用于严谨的评估。

该研究的关键结果,即最优分类器依赖于两个数值:句子是模型生成的概率;句子才样子参考分布的概率。前者可以直接从模型中计算得到,后者可以通过人类判断的分数近似得到,从而得到图 1 所示的二维空间。

图 1:HUSE(Human Unified with Statistical Evaluation)是分类误差的两倍,即基于人类判断分数和模型预测概率来区分文本是来自参考数据还是模型生成。HUSE 能识别出质量和多样性存在问题的样本。

CodaLab 与 论文复现

该研究在 CodaLab 平台上提供了所有代码、数据和实验结果。值得注意的是,CodaLab 也是 Percy Liang 和斯坦福等研究者构建的一个开放平台,它希望能为可复现研究提供管理实验、数据等方法。

  • Codalab 地址:https://worksheets.codalab.org/worksheets/0x88644b5ee189402eb19d39d721d1005c

  • GitHub 地址:https://github.com/hughbzhang/HUSE

论文:Unifying Human and Statistical Evaluation for Natural Language Generation

论文链接:https://arxiv.org/pdf/1904.02792.pdf

我们该如何度量自然语言生成系统是否生成高质量和多样性的输出?人类评估可以捕捉质量,但是不能衡量多样性,因为这种方法不能分辨生成结果是不是简单地抄袭自训练集。但同时,基于统计的度量方法(即困惑度)能很好地捕捉多样性,但不能严格地度量质量,因为偶尔生成的低质量样本并不能得到充分的惩罚。

在这篇论文中,我们提出了一个统一的框架以同时评估生成质量与多样性,它主要通过预测一句话到底是机器生成语言还是人类语言,从而给出预测的最优误差率。我们表示,该误差率能通过结合人类和统计评估高效地估计,我们将使用的评估度量称之为 HUSE。

在摘要生成和聊天对话生成中,我们证明了 (1) HUSE 能够检测到纯粹人类评估无法发现的多样性缺陷,(2) 退火等技术在提升质量的同时降低了 HUSE 值,即以降低多样性为代价。

核心方法 HUSE

自然语言生成可以视为在给定先验句 x 的情况下生成后续 y 的概率,即 p_model(y | x)。现在我们理想的评估是判断 p_model 与真实的参考分布 p_ref 之间的距离,如果它们之间的距离很小,那么我们就可以说生成效果很好。

具体而言,如果 y 可以是机器生成的(采样自 p_model),也可以是人类的自然语言(采样自 p_ref),那么类似 GAN 的概念可以定义为:

如果我们有任意判别器,它尝试在给定 x 和 y 的情况下判断 z,那么我们可以定义 L*为该判别器最低可能误差率的两倍:

其中 L*即度量了 p_model 和 p_pref 的相似性,它是总变分散度(variational divergenc)的线性函数。因此,如果 p_model 和 p_pref 是互斥的,那么 L*就为 0,如果是等同的,那么 L*就为 1。

对于将 (x, y) 映射到 d 维实数φ(x, y) 的任意特征映射φ,我们可以将评估分数 L(φ) 定义为:

其中 L(φ) 会在所有依赖于φ的函数上做最优化,因此φ包含的信息越多,L(φ) 就会越低。这表示了两个内在关系:首先任何特征映射φ都会导致 L*的上边界(optimistic),即 L(φ) 能检测模型差的程度但却又不能确定好的程度;第二向 φ添加新特征只会提升上边界。

因为基于 (x, y) 的最优判别器只需要两个特征就足够了,我们可以将特征映射 φ 定义为如下:

此外,如果我们使用句子长度 len(y) 做正则化,它会构建更低或更紧致的分数。因此总的而言,HUSE 特征可以定义为如下:

其中 HJ(x, y) 为 20 个众包工作者的平均回复,图 2 展示了 Reddit 语料库的自然语言建模与 HJ(x, y)。

图 2:在 Reddit 语料库中,对于句子 y 中的「typicality」人类判断(HJ),它与其在语料库出现的频率高度相关(r = 0.92)。因此 HJ 是 log p_ref 很好的代理函数。

实验

研究者使用 HUSE 评估三种不同类型的单句子自然语言生成任务:1)无条件和高熵的语言建模;2)有条件和高熵的故事生成、聊天对话系统;3)有条件和低熵的文本摘要。实验表明,HUSE 为高熵任务上的多样性提供直接、可解释的评估,同时为低熵任务提供有用的模型诊断。

表 1:在文本摘要、故事生成、聊天对话系统和语言建模四种任务上最优模型的性能,评估指标为整体的拟合优度 (HUSE)、样本质量 (HUSE-Q) 和多样性 (HUSE-D)。HUSE 和 HUSE-Q 的范围是 0.0(完全可与参考文本区分开来)到 1.0(完全无法与参考文本区分开来),分类误差为 HUSE/2。当 HUSE-Q > HUSE 时,HUSE-D 的范围可能会超出 1.0,因为它的样本量较小。

图 3:HUSE-D 和 HUSE-Q 之间的权衡。点表示模型,颜色表示任务。神经模型(圆圈)使用退火生成(点标签表示 Temperature)。与右上最接近的模型越优秀,灰色的对角线表示 HUSE。任务的阴影区域表示严格主导该任务的模型。退火是对多样性和质量的权衡,但是它无法轻松地增加底层模型性能(HUSE)。

图 4:算法 1 中的二维分类问题在具备不同 Softmax Temperature 的摘要任务上的示例。每个点表示参考句子 φ_huse(x_i, y_i) 或模型生成句子 φ_huse(x_i, y'_ i)。颜色表示句子的来源 (z),阴影表示最近邻分类器的分类置信度。

图 5:HUSE 的估计也适用于较小的测试集规模,但是通常需要约 20 个众包工作者对每个样本进行评估。

理论NLP
3
相关数据
映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合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)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

语料库技术

语料库一词在语言学上意指大量的文本,通常经过整理,具有既定格式与标记;事实上,语料库英文 "text corpus" 的涵意即为"body of text"。

分类问题技术

分类问题是数据挖掘处理的一个重要组成部分,在机器学习领域,分类问题通常被认为属于监督式学习(supervised learning),也就是说,分类问题的目标是根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类。根据类别的数量还可以进一步将分类问题划分为二元分类(binary classification)和多元分类(multiclass classification)。

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

对话系统技术

对话系统大致被分成两类: 任务为导向的对话系统,帮助用户去完成特定任务,比如找商品,订住宿,订餐厅等。实现任务为导向的对话系统,主要有两类方式,流水线方法和端到端方法。非任务导向的对话系统,与用户进行互动并提供回答,简单的说,就是在开放领域的闲聊。实现非任务导向对话系统也主要可分为两类,生成方法和基于检索的方法。

自然语言生成技术

自然语言生成(NLG)是自然语言处理的一部分,从知识库或逻辑形式等等机器表述系统去生成自然语言。这种形式表述当作心理表述的模型时,心理语言学家会选用语言产出这个术语。自然语言生成系统可以说是一种将资料转换成自然语言表述的翻译器。不过产生最终语言的方法不同于编译程式,因为自然语言多样的表达。NLG出现已久,但是商业NLG技术直到最近才变得普及。自然语言生成可以视为自然语言理解的反向: 自然语言理解系统须要厘清输入句的意涵,从而产生机器表述语言;自然语言生成系统须要决定如何把概念转化成语言。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

推荐文章
暂无评论
暂无评论~