转:https://blog.csdn.net/u012297539/article/details/111864251
但是在分词中标准答案和分词结果数不一定相等,因此要做一个思维转换。对于长度为n 的字符串,分词结果是一系列单词。设每个单词按照其在文本中的起止位置可以记作区间 [i , j],其中
1
≤
i
≤
j
≤
n
1\leq i\leq j\leq n
1≤i≤j≤n。那么标准答案所有区间构成集合A为正类,其它情况作为负类。同时,分词结果所有单词构成的区间集合为B。
从图表中可以看出,重合部分就是正确部分,因此,对于分词结果1来说,精确率和召回率均为0,因为没有重合部分。对于分词结果2来说都为1.
下面再看下一个例子:
此时的精确率为:3/5 =0.6 召回率为:3/6 =0.5
举例说明
标准分词A: [‘结婚’,‘的’,‘和’,‘尚未’,‘结婚’,‘的’,‘都’,‘应该’,‘好好’,‘考虑’,‘一下’,‘人生’,‘大事’]
标准区间A:[1,2],[3,3],[4,4],[5,6],[7,8],[9,9],[10,10],[11,12],[13,14],[15,16],[17,18],[19,20],[21,22]
分词结果B:[‘结婚’,‘的’,‘和尚’,‘未结婚’,‘的’,‘都’,‘应该’,‘好好考虑’,‘一下’,‘人生大事’]
分词区间B:[1,2],[3,3],[4,5],[6,7,8],[9,9],[10,10],[11,12],[13,14,15,16],[17,18],[19,20,21,22]
重复词语A∩B: [‘结婚’,‘的’,‘的’,‘都’,‘应该’,‘一下’]
重复区间A∩B:[1,2],[3,3],[9,9],[10,10],[11,12],[17,18]
Precision = 6/10 =0.6
Recall = 6/13 = 0.4615
F1 = 2PR/(P+R) = 20.60.4615/(0.6+0.4615)=0.5217
OOV指的是“未登录词”(Out Of Vocabulary)的简称,也就是新词,已知词典中不存在的词。出现OOV的原因一方面可能是因为产生了有意义的新词而词典并没有收录;另一方面可能是因为分词器产生的错误无意义的分词结果,这当然也不会出现在词典中。IV是指“登录词”(In Vocabulary),也就是已经存在在字典中的词。而OOV Recall和IV Recall分别指的是OOV的召回率和IV的召回率。
OOV Recall=重复词区间未在词典中出现的词/标准分词中未在词典中出现的词=1/3=0.333
IV Recall=重复词区间在词典中出现的词/标准分词在词典中出现的词=5/10=0.5
需要注意的是重复词区间未在词典中出现的词就意味着未在字典中出现的新词是有意义的,只是字典没有收录而已;同理标准分词中未在词典中出现的词就更是如此。同时也可以将两者分别称为重复词区间有意义的新词和所有有意义的新词。有意义的新词越多也就表示你用来分词的字典收录越不全(可能也会因为词语的颗粒度大小造成),而OOV recall越低也就意味着词典分词器对有意义新词的发现或者说查找能力越低。
同理,从IV 召回率的计算公式可以发现重复词区间在词典中出现的词指的就是分词得到的正确部分(即正样本);标准分词中在词典中出现的词指的就是所有正样本。因此,IV 召回率就可以来衡量词典中的词被正确找回的概率。如果IV召回率低,就说明字典分词器连词典中的词汇都无法百分之百的发现或者找回,说明其消歧能力不好。例如“商品,和服,服务”三个词都在词典中,词典分词依然可能分布对句子”商品和服务“。
总结
精确率、召回率、F-score、OOV召回率、IV召回率,其中前面三种指标可以用来衡量任意一种分词器分词结果的好坏;而后两种指标则是用来衡量基于词典分词模型好坏的一个评估指标。同时,一定需要明白的是:精确率计算的是预测对的正样本数占整个预测为正样本数的比重,而召回率计算的是预测对的正样本占整个真实正样本的比重,而F-score则是对两者的一个调和平均。