训练输出和使用天赋 NLP 评估函数之间的极端性能差异?

问题描述

我已经训练了一个自定义的 NER 模型,训练完成后,它输出的结果是

NA

然后我使用以下代码使用评估函数:

Results:
- F1-score (micro) 0.5714
- F1-score (macro) 0.4831

By class:
SymProp    tp: 13 - fp: 25 - fn: 21 - precision: 0.3421 - recall: 0.3824 - f1-score: 0.3611

SymRel     tp: 3 - fp: 3 - fn: 7 - precision: 0.5000 - recall: 0.3000 - f1-score: 0.3750

Symptom    tp: 46 - fp: 19 - fn: 18 - precision: 0.7077 - recall: 0.7188 - f1-score: 0.7132

输出:

from flair.models import SequenceTagger

tagger = SequenceTagger.load('/content/flairmodels/ner/final-model.pt')


result,score = tagger.evaluate(corpus.test,mini_batch_size=1,out_path=f"predictions.txt")

print(result.detailed_results)

这让我非常困惑。一种表现非常糟糕,而另一种表现则令人难以置信。它是在小数据上执行的。如果我彻底误解了什么,请告诉我。非常感谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)