spaCy link 只能命名实体吗?
Can spaCy link only named entities?
以下是一篇(据说)有趣的餐厅评论的摘录:
I'd like to personally shake Mr Tofu's hand. While I cannot medically prove it, I am 100% certain that their soondubu contains undefined healing properties. Some how some way, I always feel better after a meal here. Got a cold? Screw the Nyquil and get the spicy kimchi soondubu.
我想提取重要的实体并将它们 link 到维基百科实体。我在 Wikipedia/WikiData 和 运行 实体的小样本上训练了 spaCy link 评论:
[('Tofu', 'PERSON', 'Q177378'),
('Nyquil', 'WORK_OF_ART', 'NIL')]
我希望提取和 link编辑其他实体,例如:
kimchi -> Kimchi
cold -> Common cold
healing -> medicine
medically -> medicine
看起来 spaCy 只能 link 命名实体。我试图明确列出其他命名的实体(这显然不能很好地扩展):
ruler = EntityRuler(nlp)
patterns = [{"label": "ORG", "pattern": "kimchi"}, {"label": "ORG", "pattern": "cold"}]
ruler.add_patterns(patterns)
nlp.add_pipe(ruler)
然而,spaCy 似乎根本 link 新实体:
[ ('Tofu', 'PERSON', 'Q177378'),
('cold', 'ORG', ''),
('Nyquil', 'WORK_OF_ART', 'NIL'),
('kimchi', 'ORG', '')]
- 如何让 Spacy 识别其他实体?
- 这应该在训练实体 linking 模型之前完成,还是可以用已经训练好的模型完成?
- spaCy 是否适合我的任务?
理论上是可以的。首先,你需要确保你有一个组件来标记这些实体。您可以 train an NER model 为此,但请注意,它在诸如“寒冷”之类的事物上的表现可能不如在诸如“伦敦”之类的实际命名实体上表现出色。
为了从 Wikipedia/Wikidata 创建知识库和实体链接器,example scripts 不限于命名实体 - 他们试图解析出现在维基内部的任何内容 link.如果“感冒”一词 link 进入“普通感冒”页面,它应该能够学习。存储在 KB 中并用于训练 EL 模型的确切实体取决于实体识别器组件找到的实体。因此,如果您根据您的用例进行调整,实体 linking 组件将自动跟随。
以下是一篇(据说)有趣的餐厅评论的摘录:
I'd like to personally shake Mr Tofu's hand. While I cannot medically prove it, I am 100% certain that their soondubu contains undefined healing properties. Some how some way, I always feel better after a meal here. Got a cold? Screw the Nyquil and get the spicy kimchi soondubu.
我想提取重要的实体并将它们 link 到维基百科实体。我在 Wikipedia/WikiData 和 运行 实体的小样本上训练了 spaCy link 评论:
[('Tofu', 'PERSON', 'Q177378'),
('Nyquil', 'WORK_OF_ART', 'NIL')]
我希望提取和 link编辑其他实体,例如:
kimchi -> Kimchi
cold -> Common cold
healing -> medicine
medically -> medicine
看起来 spaCy 只能 link 命名实体。我试图明确列出其他命名的实体(这显然不能很好地扩展):
ruler = EntityRuler(nlp)
patterns = [{"label": "ORG", "pattern": "kimchi"}, {"label": "ORG", "pattern": "cold"}]
ruler.add_patterns(patterns)
nlp.add_pipe(ruler)
然而,spaCy 似乎根本 link 新实体:
[ ('Tofu', 'PERSON', 'Q177378'),
('cold', 'ORG', ''),
('Nyquil', 'WORK_OF_ART', 'NIL'),
('kimchi', 'ORG', '')]
- 如何让 Spacy 识别其他实体?
- 这应该在训练实体 linking 模型之前完成,还是可以用已经训练好的模型完成?
- spaCy 是否适合我的任务?
理论上是可以的。首先,你需要确保你有一个组件来标记这些实体。您可以 train an NER model 为此,但请注意,它在诸如“寒冷”之类的事物上的表现可能不如在诸如“伦敦”之类的实际命名实体上表现出色。
为了从 Wikipedia/Wikidata 创建知识库和实体链接器,example scripts 不限于命名实体 - 他们试图解析出现在维基内部的任何内容 link.如果“感冒”一词 link 进入“普通感冒”页面,它应该能够学习。存储在 KB 中并用于训练 EL 模型的确切实体取决于实体识别器组件找到的实体。因此,如果您根据您的用例进行调整,实体 linking 组件将自动跟随。