赞
踩
语言与图像,作为当前AI领域的两大热门方向,吸引了无数研究人员的目光。相比于图像,语言有简单易得,数据易于收取,存储空间低等优点,不过,由于语言本身的特性,他还有时序复杂,句式多变等缺点,带来的后果就是相比于CV领域的迅猛发展,nlp的发展好像差了点意思。不过,随之近年来以transformer为开端的技术的发展,nlp也迎来了自己的大发展,尤其是随着1700亿参数的GPT-3的开源,其生成的文本的质量达到了惊人的地步(缺陷就是,该模型太大了,远非一般公司所能承受)。这就引出了我们想讨论的内容,即如何判定文本生成的质量呢?毕竟,一个好的评价指标(或者设置合理的损失函数)不仅能够高效的指导模型拟合数据分布,还能够客观的让人评估文本生成模型的质量,从而进一步推动text generation 商业化能力。
接下来,让我们走进文本生成评价指标的世界,看看哪些指标可以有效反映文本生成的质量。
该类方法基于词汇的级别计算模型的生成文本和人工的参考文本之间的相似性,其中,最具影响力的的便是BLEU、METEOR和ROUGE,前两者常用于机器翻译任务,后者则常用于自动文本摘要。
BLEU (Bilingual Evaluation Understudy,双语评估辅助工具),来源于IBM,它可以说是所有评价指标的鼻祖,其核心思想是比较候选译文和参考译文里的 n-gram 的重合程度,重合程度越高就认为译文质量越高。unigram用于衡量单词翻译的准确性,而其他 n-gram 表示翻译的流畅性。实践中,通常是取N=1~4,然后对进行加权平均,其计算公式为:
公式Pn指n-gram的精确率
Wn为n-gram的权重,一般设为1/N,即均匀权重
BP为惩罚因子,公式表明,针对翻译出来的短句子,BP会小于1,从而起到对短句子的惩罚作用
改进的多元精度(n-gram precision)
上面BLEU是改进后的,其原始形式只考虑1-gram,这会导致***常用词干扰***问题,如on,the这类词,如下面的例子
常用词干扰句子 | cat a on is the table |
---|---|
candidate | a cat is on the table |
ref | there is a cat on the table |
表1 原句与翻译
计算其n-gram:
N | 精度 |
---|---|
1 | 1-gram为6.即candidate的每个单词,均在ref中,因而P1=1;同理可得干扰句子的P1也为1 |
2 | candidate:(a cat, 在),(cat is, 不在),(is on,不在),(on the,在),(the table,在),因而其P2=3/5; 同理得干扰句子为2/3 |
3 | candidate:(a cat is,不在),(cat is on,不在),(is on the,不在),(one the table,在),因而其P3=1/4;同理得干扰句子为0 |
显然,只使用1-gram的话,两个翻译结果都为1,而这显然是不正确的;使用改进的多元精度(n-gram precision)后,candidate为1.85,干扰句子为1.66,从而得到candidate更好的结论。
上面的Pn我们采用了直接计数的方式,其实这种方式还是有问题,比如上面的干扰句子,其内部有两个on和the,而ref中只有1个,所以实际使用时对Pn计数使用如下公式:
这样处理以后,干扰句子的P1就降为了1/2,也起到了削弱干扰句子的作用。
惩罚因子
使用改进的多元精度以后,问题并没有完全消除,考虑下面的句子:
类型 | 内容 |
---|---|
candidate | a cat |
Ref | there is a cat on the table |
这个句子的P1=1,P2=1,显然其得分会很高,而实际上,该句子是不正确的,其原因便是candidate句子过短,n-gram较少,而交集高,这个翻译是存在很多信息丢失的,这种情况下,就到了惩罚因子发挥作用的时候了,在惩罚因子作用下,其得分变为原来的exp(1-7/2)倍,说明其与原文的相似度得到了降低。
上面说了那么多,总结一下BLEU,优点很明显:方便、快速,(毕竟只要计数就行了)结果有参考价值;而其缺点也很 明显:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。