named_entity_recognition icon indicating copy to clipboard operation
named_entity_recognition copied to clipboard

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

Open jiesutd opened this issue 5 years ago • 3 comments

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

我发现你的评估函数中 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评估函数的实现。

jiesutd avatar Apr 30 '19 17:04 jiesutd

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

srtianxia avatar Sep 28 '19 08:09 srtianxia

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

Lijuce avatar Apr 23 '20 14:04 Lijuce

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

pustar avatar Jul 18 '22 02:07 pustar