我正在尝试使用spacy为新实体创建NER。我已经按照spacy要求的格式创建了一个数据集。通过遵循spacy的文档https://spacy.io/usage/examples#new-entity-type
,我可以得到自定义命名实体的预测。
但是,我对整个过程几乎没有疑问。
我创建的一个新实体是'City'
,我将新标签添加到实体识别器中的方式是:
for i in newLabels:
ner.add_label(i)
其中newLabels
是所有新实体(包括城市)的列表
使用空白语言模型代替来自spacy的预训练模型不是更好吗?因为预先训练的模型会将城市识别为'loc'
,而对于我的实体'City'
,这是否会增加很多价值?如果我的理解错误,请纠正我。
我也在使用
random.seed(0)
,但每次运行模型时仍会得到不同的结果。我什至尝试使用
os.environ['PYTHONHASHSEED'] = '0' and spacy.util.fix_random_seed()
仍然得到不同的结果。例如:
I went to the Oktoberfest in Munich.
有时候,我只得到慕尼黑的实体'City'
(这是一个新实体),有时我也得到了慕尼黑啤酒节的另一个实体'Event'
。我如何在spacy中获得一致的结果?目前,我没有使用任何GPU,因此不需要cupy.random.seed
。