Performance 如何使用spaCy v3打印NER模型的PRF值? 上下文

Performance 如何使用spaCy v3打印NER模型的PRF值? 上下文,performance,spacy-3,Performance,Spacy 3,我目前正在为罗马尼亚法律领域开发NER模型。我开始使用spaCy v2(v2.2.4)创建一个自定义模型,为此我成功地实现了一个代码来查找PRF值。现在,在我转换到spaCy v3(v3.0.6)之后,我发现很难评估我的模型的性能 问题 我试着做到以下几点: 在spaCy v3.0.6中使用相同的代码。与spaCy v2.2.4类似(问题:spaCy v3.0.6中不存在GoldParser) 使用spaCy v2.2.4来训练v3.0.6模型(问题:我认为无论版本如何,模型的保存方式都不相同

我目前正在为罗马尼亚法律领域开发NER模型。我开始使用spaCy v2(v2.2.4)创建一个自定义模型,为此我成功地实现了一个代码来查找PRF值。现在,在我转换到spaCy v3(v3.0.6)之后,我发现很难评估我的模型的性能

问题 我试着做到以下几点:

  • 在spaCy v3.0.6中使用相同的代码。与spaCy v2.2.4类似(问题:spaCy v3.0.6中不存在GoldParser)
  • 使用spaCy v2.2.4来训练v3.0.6模型(问题:我认为无论版本如何,模型的保存方式都不相同)
  • 使用get_ner_prf()(问题:我不知道如何创建Example类型的参数,也不知道如何调用该函数)
资源 以下是我目前拥有的所有资源的列表:

  • v3.0.6模型的配置文件(以及所有其他必要文件)
  • 旧spaCy格式的列车和测试数据
  • 为罗马尼亚语保存了v3.0.6自定义模型
要求
如果能收到spaCy v3.0.6版的代码并计算PRF值,我将不胜感激——最好是每个实体类型的单独结果。另外,如果代码只使用前面提到的资源,那就太好了。如果需要任何其他信息,我很乐意发送。

我不再寻找答案,因为我找到了答案

讨论将在以下链接中进行:

非常有用,我能够编写以下代码(以防阅读当前讨论的任何人仍然发现很难进行转换):

#列车数据格式
列车组数据=[
(“哈姆雷特是谁?”,[(8,14,'PER')),
(“你见过罗马吗?”,[(18,22,'LOC'))
]
进口空间
从spacy.tokens导入Span
从空间输入不快
从spacy.training导入*
从spacy.scorer导入scorer
从spacy.util导入小批量,复合
nlp=空间负载(“/输出/模型最佳”)
#评价函数
def评估(ner_模型、测试_数据):
记分员=记分员()
示例=[]
对于输入_u,在测试_u数据时不加注释:
doc\u gold\u text=ner\u model.make\u doc(输入)
example=example.from_dict(doc_gold_text,{“entities”:annot})
example.predicted=ner\u模型(输入)
examples.append(示例)
返回记分员。记分(示例)
#打印结果
打印(评估(nlp、列车数据))
输出格式如下:

{'token_acc':1.0,'token_p':1.0,'token_r':1.0,'sents_p':1.0,'sents_f':1.0,'tag_acc':None,'pos_acc':None,'morph_acc':None,'morph_peru feat':None,'dep_uas':None,'dep'dep's,'dep_las,'dep'u peru类型:None,'dep':None,'ents,'ents,'ents_up':None,'9393; ents]ents]ents]ents⒉ents]ents]:0er_type“:{'LAW':{'p':1.0,'r':1.0,'f':1.0},'LOC':{'p':1.0,'r':0.666666666666,'f':0.8},'ORG':{'p':0.9565217391304348,'r':0.9565217391304348,'f','t','TIME':{'p':1.0,'r':1.0,'p':PER':1.0,'r'1.0,'“猫微分数”:0.0,“猫微分数”:0.0,“猫微分数”:0.0,“猫微分数”:0.0,“猫微分数”:0.0,“猫微分数”:0.0,“猫微分数”:0.0,“猫微分数”:0.0,“猫微分数”:0.0,“猫微分数”:0.0,“猫微分数”:0.0,“猫微分数”:0
如果有什么不对劲,请毫不犹豫地提出来