![]()
 
       
 
         准确率、精确率、召回率和F1是在机器学习及NLP领域中常用的指标,但是如果没有涉及机器翻译、摘要抽取等seq2seq任务,一般不会使用BLEU和ROUGE作为评价指标,本文将会着重介绍两个指标基本意义及计算方法,为使用者提供参考。
 
   BLEU
 
    
    英文全称Bilingual evaluation understudy,这是一个从机器翻译任务中衍生出来的评价翻译质量的指标,可以称为双语互译质量评估。当然现在这个指标也已经被推广到其他序列到序列任务,用作评价生成后序列的质量。
 
    
    
    BLEU通过分析输出句子与参考句子的N元组共现的程度,度量输出句子结果的精准度。BLEU的分数取值范围是 0-1,分数越接近1,说明生成句子的质量越高。
 
    
    
   ![]()
 
   ![]()
 
    
    BLEU需要计算输出句子1-gram,2-gram,...,N-gram的精确率,一般 N 设置为4即可,公式中的Pn指n-gram的精确率。Wn指n-gram的权重,一般设为均匀权重,即对于任意n都有 Wn = 1/N。 
    
    
    BP是惩罚因子,如果输出句子的长度小于最短的参考句子,则BP小于 1。 
    
    
    BLEU的1-gram精确率表示输出句子忠于原文的程度,而其他n-gram表示输出句子的流畅程度。
 
    
   
 
    
    
    英文全称Recall-Oriented Understudy for Gisting Evaluation,通过计算输出句子与参考句子的N元组共现的概率,度量输出句子结果的召回率。
 
    
    
    
   
 
   ![]()
 
    
    分母是参考句子中n-gram的个数,分子是参考句子和输出句子共现(重合)的n-gram的个数。
 
    
   
 
    
    ROUGE-L: 考虑了输出句子和参考句子之间的最长公共子序列
 
    
    
   ![]()
 
   ![]()
 
   
 
   ![]()
 
    
    其中 
     LCS(X,Y)是 
     X和Y的最长公共子序列的长度,m,n分别表示参考句子和输出句子的长度(一般就是所含词的个数)。公式中的RLCS表示召回率,而PLCS表示精确率,FLCS就是ROUGE-L。一般beta会设置为很大的数,因此FLCS几乎只考虑了RLCS(即召回率)。注意这里beta大,则F会更加关注R,而不是P,可以看下面的公式。如果beta很大,则PLCS那一项可以忽略不计。
 
    
    
    ROUGE-W:改进了ROUGE-L,用加权的方法计算最长公共子序列连续匹配的效果,不做详细介绍。 
    
 
    
 
    
   推荐阅读
 
   AINLP年度阅读收藏清单
 
   薅当当羊毛的机会又!双!!叒!!!叕!!!来了
 
   中文命名实体识别工具(NER)哪家强?
 
   学自然语言处理,其实更应该学好英语
 
   斯坦福大学NLP组Python深度学习自然语言处理工具Stanza试用
 
   太赞了!Springer面向公众开放电子书籍,附65本数学、编程、机器学习、深度学习、数据挖掘、数据科学等书籍链接及打包下载
 
   数学之美中盛赞的 Michael Collins 教授,他的NLP课程要不要收藏?
 
   自动作诗机&藏头诗生成器:五言、七言、绝句、律诗全了
 
   模型压缩实践系列之——bert-of-theseus,一个非常亲民的bert压缩方法
 
   这门斯坦福大学自然语言处理经典入门课,我放到B站了
 
   征稿启示 | 稿费+GPU算力+星球嘉宾一个都不少
 
   关于AINLP
 
   AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLPer(id:ainlper),备注工作/研究方向+加群目的。
 
   
 
   ![]()