luopeixiang / named_entity_recognition

中文命名实体识别(包括多种模型:HMM,CRF,BiLSTM,BiLSTM+CRF的具体实现)
2.14k stars 538 forks source link

NER 的评估方式应该是以entity为基本单位而不是以单个tag 为单位 #7

Open jiesutd opened 5 years ago

jiesutd commented 5 years ago

感谢使用我们的论文和数据。

我发现你的评估函数中 precision/recall/F1 是所有tag 的平均值,然而实际的NER 的评估是以entity 为单位的而不是以tag 为单位。举个例子:

美 B-LOC 国 E-LOC 的 O 华 B-PER 莱 I-PER 士 E-PER

我 O 跟 O 他 O 谈 O 笑 O 风 O 生 O

这里实际上我们只关心美国(LOC) 和 华莱士(PER) 这两个entity 有没有预测对。 因此评估时需要先把识别出的entity的位置及其种类抽取出来,如果其中有任何一个不一致就得当作这个预测是错的。

可以参考https://github.com/jiesutd/NCRFpp/blob/master/utils/metric.py 对NER评估函数的实现。

srtianxia commented 5 years ago

@jiesutd 你好,这种序列标注的ensemble,应当是针对每一个tag(每一个字)去投票吗,还是说应当对识别出实体投票,只是简单的取交集的话,不是会丢弃很多有可能正确的数据吗,这方面有没有什么资料呢?感激不尽

Lijuce commented 4 years ago

同意,单纯某个标签预测准确是无太大意义的。要完整实体识别出来并正确分类,才是最终要的结果。

pustar commented 2 years ago

这个问题(评价标准)改了吗?