当前位置:   article > 正文

NLP评价指标_nlp 模型指标

nlp 模型指标

一、分类任务常见评估:

准确度(Accuracy) 评估预测正确的比例,精确率(Precision) 评估预测正例的查准率,召回率(Recall) 评估真实正例的查全率。如果是多分类,则每个类别各自求P、R最终求平均值。

TP(True Positives):真正例,预测为正例而且实际上也是正例;

FP(False Positives):假正例,预测为正例然而实际上却是负例;

FN(false Negatives):假负例,预测为负例然而实际上却是正例;

TN(True Negatives):真负例,预测为负例而且实际上也是负例。

1、精确率(Precision):以预测结果为判断依据,预测为正例的样本中预测正确的比例。

用此标准来评估预测正例的准确度。

2、召回率(Recall):以实际样本为判断依据,实际为正例的样本中,被预测正确的正例占总实际正例样本的比例。也叫“查全率”。

3、准确率(Accuracy):最直观的就是准确率: 模型判断正确的数据(TP+TN)占总数据的比例

                                                 (TP+TN)/(TP+TN+FP+FN)
什么情况下精确率很高但是召回率很低?

一个极端的例子,比如我们黑球实际上有3个,分别是1号、2号、3号球,如果我们只预测1号球是黑色,此时预测为正例的样本都是正确的,精确率p=1,但是召回率r=1/3。

什么情况下召回率很高但是精确率很低?

如果我们10个球都预测为黑球,此时所有实际为黑球都被预测正确了,召回率r=1,精确率p=3/10。

4、F1值:中和了精确率和召回率的指标

当P和R同时为1时,F1=1。当有一个很大,另一个很小的时候,比如P=1,R~0 , 此时F1~0。分子2PR的2完全了为了使最终取值在0-1之间,进行区间放大,无实际意义。

语言模型就是用来计算一个句子的概率的模型,也就是判断一句话是否是人话的概率。

5、PPL

困惑度(Perplexity,PPL) 基本思想是:给测试集的句子赋予较高概率值的语言模型较好,当语言模型训练完之后,测试集中的句子都是正常的句子,那么训练好的模型就是在测试集上的概率越高越好 ,公式如下:

困惑度越小,句子概率越大,语言模型越好。

这里补充开N次根号(N为句子长度,如果是中文,那就是分词后词的个数)意味着几何平均数:

 1、需要平均 的原因是,因为每个字符的概率必然小于1,所以越长的句子的概率在连乘的情况下必然越小,所以为了对长短句公平,需要平均一下,使得不同长度的句子困惑度可以在一个量级下比较。2、如果有其中的一个概率是很小的,就会影响最终结果小,所以要用几何平均。机器翻译常用指标BLEU 也使用了几何平均,还有机器学习常用的F-score 使用的调和平均数 ,也有类似的效果。

N-gram(uni-gram, bi-gram, tri-gram) 不同词袋模型

uni-gram:单个词语概率独立

重点:如uni-gram就是单个词语的出现频率(词频/语料库中所有的词语数量),而例如tri-gram则是:

困惑度是交叉熵的指数形式。log perplexity和交叉熵cross entropy是等价的

6 BLEU

双语评估替补(Bilingual Evaluation Understudy)。衡量机器翻译的好坏,取值范围是[0, 1],越接近1,表明翻译质量越好,主要是基于精确率。

BLEU 的 1-gram 精确率表示译文忠于原文的程度,而其他 n-gram 表示翻译的流畅程度。

1、Pn及n-gram精确率计算: 

假设机器翻译的pred译文C和一个targets参考翻译S1如下:

C: a cat is on the table或there there there there there

S1: there is a cat on the table (参考翻译有m个)

针对上面的例子:n去1代表1-gram词袋精确率统计;
p1=min(5,1)/5
所以 p1 = 1/5 (因为there在C和S1中都出现了 我们按最少的次数来)

2、BP惩罚因子:对翻译结果的长度进行惩罚。这样做的目的是为了防止翻译结果过长而得分过高,因为较长的翻译结果往往可以包含更多的词汇,从而有更高的概率在参考翻译结果中找到匹配的词汇。
bp = exp(1 - (ref_len / cand_len))
其中:ref_len 表示参考翻译结果的长度(一般是词汇数量),cand_len 表示生成的翻译结果的长度(同样是词汇数量),exp 表示指数函数。
当生成翻译长度小于参考翻译长度,惩罚因子会降低BLEU得分,使得较长的翻译结果在评估中得到较低的权重。当机器翻译的长度比较短时,BLEU 得分也会比较高(这里为1),但是这个翻译是会损失很多信息的。所以在实际应用中,可以根据具体的需求和任务情况,调整长度惩罚因子的数值,以满足评估的要求。

7 ROUGE

Recall-Oriented Understudy for Gisting Evaluation主要是基于召回率(recall) 的。可用来衡量生成结果和标准结果的匹配程度

ROUGE-N: 在 N-gram 上计算召回率
ROUGE-L: 考虑了机器译文和参考译文之间的最长公共子序列
ROUGE-W: 改进了ROUGE-L,用加权的方法计算最长公共子序列
ROUGE-S: 其实是Rouge-N的一种扩展,N-gram是连续的,Skip-bigram是允许跳过中间的某些词,同时结合了Rouge-L的计算方式。
1、ROUGE-N 主要统计 N-gram 上的召回率,对于 N-gram,可以计算得到 ROUGE-N 分数:

公式的分母是统计在参考译文targets中 N-gram 的个数,
而分子是统计参考译文与机器译文pred共有的 N-gram 个数。

值为(0~1)

如果给定多个参考译文 Si, ROUGE-N 会分别计算机器译文和这些参考译文的ROUGE-N 分数,并取其最大值

2、ROUGE-L 中的 L 指最长公共子序列 (longest common subsequence, LCS),ROUGE-L 计算的时候使用了机器译文C和参考译文S的最长公共子序列:

如果len(C )=6,S=7;则LCS=6

3、作者提出了一种加权最长公共子序列方法 (WLCS),给连续翻译正确的更高的分数。

虽然Y1,Y2与 X 的最长公共子序列一样,但明显Y1更多连续匹配,应该权重加大。

4、ROUGE-S 也是对 N-gram 进行统计,但是其采用的 N-gram 允许"跳词 (Skip)",即单词不需要连续出现。例如句子 “I have a cat” 的 Skip 2-gram 包括 (I, have),(I, a),(I, cat),(have, a),(have, cat),(a, cat)。

8 METEOR

meteor(Metric for Evaluation of Translation with Explicit ORdering)综合考虑了精确度和召回率,并使用外部知识源来解决同义词和形态变化问题。❤️

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