当前位置:   article > 正文

NLG评估指标chrF、chrF++介绍

chrf++


前言

最近在帮忙做文本生成方面的内容,发现想要用的CHRF和CHRF++指标的资料很少或者不全。就去翻了一下论文,就来写一下自己对论文的总结和理解吧,如有错误还请帮忙指正。文章最后面会放实现代码和论文链接。


一、CHRF

这个方法比较新,我找到的论文是2015年的。所以网上资料不多。建议如果不了解【BLEU】的话建议先去找篇博客大概看一下,网上很多。然后在了解的基础上,才能更好理解chrF。

论文解读:

1. 基础

  • CHRF和BLEU类指标的最大不同之处在于,BLEU是单词级的,CHRF是字符级的,也就是基于字符n-gram计算的。
  • 通用的公式:
    c h r F β = ( 1 + β 2 ) c h r P ⋅ c h r R β 2 ⋅ c h r P + c h r R chrF\beta = (1+\beta ^{2}) \frac{chrP·chrR}{\beta ^{2}·chrP+chrR} chrFβ=(1+β2)β2chrP+chrRchrPchrR
    其中:
  1. chrP是精确度(查准率),就是候选文和参考文匹配的字符级n-gram在候选文中占的比例。
  2. chrR是召唤率(查全率),就是候选文和参考文匹配的字符级n-gram在参考文中占的比例。
  • 那么当β=1时就是CHRF,当β=2时就是CHRF2,当β=3时就是CHRF3。论文当中使用的是β=3来做实验,而且并没说明为什么用3,只是一个初始值。论文最后也有提到应该多对β的值做做后续研究,以便改良。

2. 实验

  • 实验数据集为对WMT12, WMT13 以及WMT14。
  • 实验对CHRF和CHRF3以及WORDF对比BLEU、TER、METEOR等标准方法,发现CHRF3的表现最好。

二、CHRF++

CHRF++其实就是CHRF的改进,所以就更新了,论文是在2017年发表的。而且和CHRF的是同一个作者。

论文解读:

  • 论文开头提到别人研究过β最好为2,这一点论文后面也实验确认过。
  • CHRF++其实和CHRF差不多。但是CHRF++是字符级和单词级都用到了,然后算一个平均值。
  • 论文中提到别人研究过字符级n-gram的n最好不要超过6,单词级n-gram的n最好不要超过4。
  • CHRF++的字符级n-gram的n最好是6,单词级n-gram的n最好是1或2。

三、代码实现以及论文链接

  1. CHRF:

    nltk.translate.chrf_score #在这个包中有好几个计算CHRF的函数
    '''下面是包内函数'''
    nltk.translate.chrf_score.sentence_chrf #这个函数是实现的论文的
    nltk.translate.chrf_score.chrf_precision_recall_fscore_support 
    nltk.translate.chrf_score.corpus_chrf 
    '''具体使用看函数介绍或者文档吧'''
    '''推荐文档地址:http://www.nltk.org/api/nltk.translate.html?highlight=chrf#module-nltk.translate.chrf_score'''
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    论文链接

  2. CHRF++
    论文给的实现代码链接
    论文链接

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/986205
推荐阅读
相关标签
  

闽ICP备14008679号