我按照此常见问题解答https://nlp.stanford.edu/software/crf-faq.shtml来训练我自己的分类器,我注意到性能评估输出与结果不匹配(或者至少不符合我的预期)。 特别是本节
CRFClassifier tagged 16119 words in 1 documents at 13824.19 words per second.
Entity P R F1 TP FP FN
MYLABEL 1.0000 0.9961 0.9980 255 0 1
Totals 1.0000 0.9961 0.9980 255 0 1
我希望TP
是预测标签与黄金标签匹配的所有实例,FP
是预测MYLABEL
但黄金标签为O
的所有实例,FN
是预测O
的所有实例,但黄金是MYLABEL
。
如果我自己从程序输出中计算出这些数字,我会得到完全不同的数字,与程序打印的内容无关。我已尝试使用各种测试文件。
我正在使用Stanford NER - v3.7.0 - 2016-10-31
我错过了什么吗?
答案 0 :(得分:1)
F1分数超过实体而不是标签。
示例:
(Joe, PERSON) (Smith, PERSON) (went, O) (to, O) (Hawaii, LOCATION) (., O).
在此示例中,有两个可能的实体:
Joe Smith PERSON
Hawaii LOCATION
通过使所有相邻标记具有相同标签来创建实体。 (除非你使用更复杂的BIO标签方案; BIO方案有像I-PERSON和B-PERSON这样的标签来表明令牌是否是实体的开头等等。)。