Python 使用spacy offset格式构建GoldDoc,以使用CLI训练空白模型
我目前正在使用3个标签进行NER:Python 使用spacy offset格式构建GoldDoc,以使用CLI训练空白模型,python,spacy,ner,gold-parser,Python,Spacy,Ner,Gold Parser,我目前正在使用3个标签进行NER: 人 电话 地址 我可以用python代码来训练我的模型,但我想使用CLI训练,它提供了更多的灵活性 我已将数据转换为空间偏移训练格式,如下所示: [ ["Bonjour\r\n\r\n\r\n\r\ncordialement, Thomas\r\n\r\n tel 0102030405",{"entities": [[70,79,"PHONE"],[56,61,"PER"]]}] ] 为了使用CLI来训练/评估我的模型,我需要将这些数据转换为黄金
- 人
- 电话
- 地址
[
["Bonjour\r\n\r\n\r\n\r\ncordialement, Thomas\r\n\r\n tel 0102030405",{"entities": [[70,79,"PHONE"],[56,61,"PER"]]}]
]
为了使用CLI来训练/评估我的模型,我需要将这些数据转换为黄金格式
我已经知道以下方法,但需要使用现有nlp:
doc = nlp(text)
tags = biluo_tags_from_offsets(doc, offsets)
我的问题是:
如果我需要创建带有特定标签的模型,如何将空间偏移量转换为黄金。这里的模型仅用于标记化和句子分割,因此也可以说:
from spacy.lang.en import English
nlp = English()
nlp.add_pipe(nlp.create_pipe("sentencizer"))
我不明白判刑管会做什么。我是否需要配置此管道并调用我在问题中编写的代码?培训格式要求将代码分段为标记和句子。在文本上运行
nlp()
会在添加量刑器(或解析器)后生成两个分段。这里有一个完整的例子:我已经检查了这个堆栈溢出,这正是我所需要的,但正如在另一个问题“我在生成的json中没有看到我的任何标记实体”上所说的,我的标签不适用于每个人、地址或电话。我认为上面实体中的字符偏移量不正确?是正确的(我删除了一些机密元素)但保留了相同的偏移量,我使用了nlp=French而不是nlp.load('fr_core_news_sm')。我现在在输出中有了我的标签,但缺少一些行。