luopeixiang / named_entity_recognition

中文命名实体识别(包括多种模型:HMM,CRF,BiLSTM,BiLSTM+CRF的具体实现)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

jiesutd opened this issue · 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评估函数的实现。

commented

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

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

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