Python 是否可以使用“调整”来训练\调整spacy NER模型;“提示”;基于规则\模式
虚拟示例: 我希望NER能够检测位置、动物和运动团体 可以使用Matcher\PhraseMatcher\EntityRuler(哪个与此用例更相关?)来添加“简单”规则 比如: 地点:芝加哥,纽约 动物:公牛、鸡 组别:芝加哥公牛队 NER层应该能够了解到芝加哥公牛队是一个群体,而不是一个地点和动物(就像单独使用匹配器一样) 位置+动物的其他组合是运动组,而不是位置-动物对(即使训练集中不存在特定组合)Python 是否可以使用“调整”来训练\调整spacy NER模型;“提示”;基于规则\模式,python,nlp,spacy,Python,Nlp,Spacy,虚拟示例: 我希望NER能够检测位置、动物和运动团体 可以使用Matcher\PhraseMatcher\EntityRuler(哪个与此用例更相关?)来添加“简单”规则 比如: 地点:芝加哥,纽约 动物:公牛、鸡 组别:芝加哥公牛队 NER层应该能够了解到芝加哥公牛队是一个群体,而不是一个地点和动物(就像单独使用匹配器一样) 位置+动物的其他组合是运动组,而不是位置-动物对(即使训练集中不存在特定组合) TLDR:我不想按原样使用基于规则的提取实体,而是作为另一层的提示,该层将使用它们改进实体
TLDR:我不想按原样使用基于规则的提取实体,而是作为另一层的提示,该层将使用它们改进实体提取 是的,使用匹配模式来改进统计模型是很有意义的,而且这实际上是我们在注释工具中使用的方法之一,使收集训练数据变得更容易。规则失败的模棱两可的例子(例如“多头”)实际上非常有趣,因为这些是您希望统计模型处理的例子 就实际实现而言,您仍然希望工作流包含两个步骤:
- 使用模式规则提取文本中的匹配项
- 对于每个文本,还要检查
,并获取现有实体doc.ents
- 将两者结合起来,检查它们是否正确
- 用这些新示例更新您的模型
EntityRuler
基本上是一个更高级的组件,它使用Matcher
和PhraseMatcher
在Doc
中查找匹配项,并自动将它们添加到Doc.ents
。它还支持输入大型模式文件,并在保存时使用模型将其序列化。它还处理了这样一个事实:根据定义,命名实体不能重叠,因为一个标记只能是一个实体的一部分。因此,如果您知道您正在寻找的是实体,EntityRuler
可能会更方便,因为这意味着您必须自己编写更少的代码。谢谢,我不确定我是否完全理解如果我培训一个NER模型,它将使用来自上游模型的功能,如标记文本、标记形状、词性、,等等。我可以让它也使用匹配器生成的属性作为模型的特征吗?澄清:EntityRecognizer模型可以使用自定义扩展属性作为特征吗?