NLP度量指标BELU真的完美么?

摘要:NLP重要评价准则之一——BLEU,真的完美无缺么?

刚接触自然语言处理的朋友通常会问我:当系统的输出是文本,而非对输入文本进行某种分类,如何对该系统进行评估。当模型的输入是文本信息,输出也是文本信息时,我们称之为序列到序列问题,也可称为字符串转换问题。

序列到序列建模是解决NLP中较难任务的核心,它包括:

1、 自动文摘(Text Summarization);

2、 文本简化(Text simplification);

3、 问答(Question answering);

4、 聊天机器人(Chatbots);

5、 机器翻译(Machine translation);

理解序列到序列建模问题相对容易,如何对其进行评价才是难点。

对于刚入门NLP的人来说,选取衡量标准较为困难。目前最流行的评价指标之一BLEU虽然常用,但也存在较大的缺陷。

本文将介绍BELU的工作原理,指出其存在的问题,并探索如何结合自己的工作最大程度规避这些问题。

一个难题

BELU最初是评价机器翻译的指标,所以我们会以翻译(法语—英语)为例进行讲解。

J’ai mangé trois filberts.

下面两句为英语参考译文:

I have eaten three hazelnuts.

I ate three filberts.

假设下面的翻译是由我们训练的神经网络产生。

I ate three hazelnuts.

问题来了:如何给上述翻译结果打分。

要想利用机器学习来建立一个翻译系统,就需要一个实值分数来对其性能进行衡量。如果我们能够获取潜在的最佳得分,便能够计算它与实际值之间的误差。这能够在训练时为系统提供反馈,通过最小实际分数与潜在分数之间的差值来改进翻译模型,并通过查看同一任务上训练过的系统得分比较不同的模型。

假设:如果输出句子中的单词在任何一个参考句出现,就给它打1分,如果没有出现,打0分。为了使计数标准化,使分数始终介于0和1之间。我们可以将某个参考译文中出现的单词总数除以输出句子中的单词总数。我们称该方法为unigram precision

在上面的翻译示例中,“I ate three hazelnuts”,我们能够在输出句子中看到至少一个参考句中的单词,再除以单词数4,该翻译的最终得分为1。但如果换成了下面的句子,该如何打分呢?

Three three three three.

按照刚才的衡量标准,得分依旧为1。但很明显,“I ate three hazelnuts”比“Three three three three”翻译得好。但如何将这一点告知我们正在训练的系统呢?

你可以通过限定单词出现在翻译句子中的最大次数来调整分数。经过调整,“I ate three hazelnuts”计算出的得分仍然为1,而“Three three three three”为0.25。

这解决了单词简单重复的问题,但新问题来了,如果单词的排列是无序的呢?就像下面:

Ate hazelnuts I three

如果继续用刚才的方法,这个句子得分为1。通过计数可以解决这个问题,但此时并非统计单个单词,而是相邻的单词。该方法称为n-grams,n是每组单词的数量,unigrams,bigrams,trigrams以及4-grams分别由一个、两个、三个、四个单词组成。

在这个例子中,我们使用bigrams。通常来讲,BLEU的分数是unigram,bigram,trigram,4-grams的加权平均。为了简便,我们选择bigram,并忽略句子开头和结尾定义边界的单词。基于上述规则,句子排序如下:

[Ate hazelnuts]

[hazelnuts I]

[I three]

如果我们利用bigrams计算句子得分,“I ate three hazelnuts”是0分,“Three three three three”是0分,“I eat three hazelnuts”为1分,而下面这个例子也是0分:

I ate.

很明显这不是我们想要的。解决这个问题的方法是将目前的分数乘以一个简短惩罚因子。通过这个因子,得分高的候选翻译结果,能够同时在长度、词语选择、词语顺序等方面与参考句子匹配。

如果翻译结果比参考句子更长或者一样长,惩罚因子为1。

如果翻译译文长度比参考译文要短,就需要一个惩罚的机制去控制。在示例“I ate”中,句子长度为2个单词,与其最接近的参考句长度为4个单词。其简洁惩罚为0.36,乘以bigram的精度分数1,最终得分降至0.36。

该指标旨在探测输出翻译与参考语句中有多少个n-grams重叠,并乘以简洁惩罚值后输出得分。BLEU由Kishore Papineni, Salim Roukos, Todd Ward, and Wei-Jing Zhu于2002年提出,是NLP中非常流行的度量指标,特别是对于系统输出是文本信息而不是分类的任务,其中包括机器翻译和自然语言生成。它解决了我们在文章开头提出的问题:找到一种方法,告诉我们翻译结果有多“好”,并为其打分。

BLEU存在的问题

在此之前,先概括一下BLEU的优势:

1、它方便,快速,容易计算,结果比较接近人类评分;

2、在相同的任务中,能够很容易地将模型与基准进行比较;

但这些便利使得人们过度的使用它,即使在它不是最佳度量标准的任务中也作为了首选。

尽管我们只以一句话为例进行了介绍,但BLEU是一种语料库级别的度量标准。计算语料库中的每个句子的BLEU分数,然后求它们的平均值会使得分数过大。

BLEU的问题主要有以下四点:

1、 不考虑意义;

2、 不直接考虑句子结构

3、 不能很好地处理形态丰富的语言

4、 不能很好的映射到人类判断

BLEU不考虑意义

由于BLEU不考虑意义,我们便不能只使用它对机器翻译进行评估。作为一名机器翻译软件的用户,我更希望准确理解原文的含义,即使翻译的句子中在语法或句法上有所欠缺,只要清楚的表达了原文的意义也能接受。

但BLEU并不考虑意义,它只奖励精确匹配的n-grams。这意味着一个虚词(如“an”或“on”)的差异和一个更重要的与内容相关的词语受到的惩罚是一样的。如果一个译文中有一个完全有效的同义词,只是没有出现在参考译文中,也会受到惩罚,但这并不合理。

以下列句子为例对这个问题进行分析:

Original (French): J’ai mangé la pomme.

Reference translation: I ate the apple.

下列的句子都是BLEU评出的 “糟糕的翻译”:

I consumed the apple.

I ate an apple.

I ate the potato.

但作为机器翻译的使用者,我觉得前面两句也表达清楚了原文的意思,即使它们和参考译文有所出入。第三句话让人不能接受,它完全改变了原文的意思。

NIST方法是在BLEU方法上的一种改进。最主要的是引入了每个n-gram的信息量(information)的概念。BLEU算法只是单纯的将n-gram的数目加起来,而NIST是在得到信息量累加起来再除以整个译文的n-gram片段数目。这样相当于对于一些出现少的重点的词权重就给的大了。因此,在更常见的n-gram(如“of”)上的不匹配将受到更小的惩罚,而在更罕见的n-gram(如“buffalo buffalo”)上的不匹配将受到更大的惩罚。虽然这解决了赋予虚词过多权重的问题,但实际上却使惩罚同义词(如“ambled”代替“walked”)的问题变得更糟,因为这些同义词只出现在更少见的n-gram中,因此惩罚因子会更大。

BLEU不直接考虑句子结构

即使你通过调整词序改变句子的结构,仍然可以获得很高的BLEU分数。

句法是对句子结构的研究,以词作为基本单位,并且各单词按照一定顺序排列。“I saw the dog with the telescope”一句,即能表示“I was using the telescope to look at the dog”,也可以说“the dog had the telescope”。二者的区别通过句子中各单词的排列顺序体现。

在自然语言中,句子的内部结构特别重要,将句子各单词顺序打乱,既破坏了其完整含义,又让人难以理解。

通过parsing可解决该问题。但parsing的计算相当密集,每次求值时必须解析所有输出,增加了开销。

但不考虑句法结构,词序混乱的翻译与意思连贯的翻译获得相同的分数显得极其不合理。

Callison-Burch等人在2006年对此进行了说明:

Orejuela appeared calm as he was led to the American plane which will take him to Miami, Florida.

Orejuela appeared calm while being escorted to the plane that would take him to Miami, Florida.

Orejuela appeared calm as he was being led to the American plane that was to carry him to Miami in Florida.

Orejuela seemed quite calm as he was being led to the American plane that would take him to Miami in Florida.

翻译如下:

Appeared calm when he was taken to the American plane, which will to Miami, Florida.

这个翻译并不完美,它删除了人名,且句子后半段“will”后面没有动词,但它并非一点意义没有,毕竟比下面的翻译好,虽然两句话获得的BLEU分数相同:

which will he was, when taken appeared calm to the American plane to Miami, Florida.

BELU不能很好地处理形态丰富的语言

BELU基于单词级别进行匹配,对于形态丰富的语言,显得并不适用。

语素是语言中最小的音义结合体,它们组合在一起构成单词。以英语单词“cats”中的“s”为例,它告诉我们不止一只猫。有些语言,如土耳其语,在一个单词中有很多的语素,而英语,通常每个单词中的语素很少。

以秘鲁语句为例:

Jawen jemara ani iki.

Jawen jemaronki ani iki.

两句话都是可接受的英语“her village is large”的翻译。其中,以“jemar-”开头的单词在两个句子中有不同的结尾。不同的结尾代表不同的词素,这句话表明说话人很确定这个村子很大。上面那句话是他们去过那里见到了很大的村子,而下面那句话则表示他们是从别人那听说村子很大。

这种特殊类型的语素被称为“证据标记(evidentiality marker)”,这在英语中不存在,而在秘鲁语中,一个句子的语法需要二者中的一个,所以我们的参考译文也应该有其中的一个。但是,如果我们没有在参考句中准确地找到该单词,就会对它进行惩罚,即使这两个句子都很好的表达了英语原句的意思。

BELU不能很好的映射到人类判断

构建机器翻译,聊天机器人以及问答系统最终的目的是希望人们能够使用它们。如果一个系统不能提供有效的输出,就没有意义。所以优化目的是使更多的人喜欢并尽可能多的使用所开发的系统。

BELU首次提出时,作者进行了相关的行为测试,以确保与人类的判断相关。但当研究人员进行更多的实验时,发现BELU分数并不能很好的映射到人类判断。在一些任务中,甚至其它的评价方法更接近人类判断。

Turian在2003年发现,BLEU在机器翻译中与人类判断的相关性最差,F1与人类判断最为相关,NIST次之。Sun在2010年比较了BLEU,GTM以及TER,发现BELU与人类判断的相关性最小。

本文作者:【方向】

作者:阿里云云栖社区

链接:https://www.jianshu.com/p/19a1fc5783c4

來源:简书

简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容