spaCy只能链接命名实体吗?

2024-10-03 11:19:43 发布

您现在位置:Python中文网/ 问答频道 /正文

以下是对一家餐厅(据说)有趣评论的摘录:

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.

我想提取重要的实体并将它们链接到维基百科实体。我对spaCy进行了Wikipedia/WikiData小样本培训,并在评论中运行实体链接:

[('Tofu', 'PERSON', 'Q177378'), 
('Nyquil', 'WORK_OF_ART', 'NIL')]

我还希望提取和链接其他实体,例如:

kimchi -> Kimchi
cold -> Common cold
healing -> medicine 
medically -> medicine

看起来spaCy只能链接命名实体。我曾尝试将其他实体显式列为命名实体(这显然不能很好地扩展):

ruler = EntityRuler(nlp)
patterns = [{"label": "ORG", "pattern": "kimchi"}, {"label": "ORG", "pattern": "cold"}]
ruler.add_patterns(patterns)
nlp.add_pipe(ruler)

然而,spaCy似乎根本没有将新实体联系起来:

[ ('Tofu', 'PERSON', 'Q177378'),
  ('cold', 'ORG', ''),
  ('Nyquil', 'WORK_OF_ART', 'NIL'),
  ('kimchi', 'ORG', '')]
  1. 如何使Spacy也能识别其他实体
  2. 这应该在培训实体链接模型之前完成,还是可以使用已经培训过的模型完成
  3. spaCy是我完成任务的正确工具吗

Tags: theorg实体spacy链接评论patternstofu
1条回答
网友
1楼 · 发布于 2024-10-03 11:19:43

理论上这是可能的。首先,您需要确保您有一个标记此类实体的组件。您可以train an NER model这样做,但要注意,它在诸如“cold”之类的事情上的性能可能不如在诸如“London”之类的实际命名实体上的性能好

要从Wikipedia/Wikidata创建知识库和实体链接器,example scripts不限于命名实体-它们尝试解析wiki内部链接中出现的任何内容。如果“感冒”一词链接到“普通感冒”页面,它应该能够学习它。存储在知识库中并用于训练EL模型的确切实体取决于实体识别器组件找到的实体。因此,如果您根据您的用例进行调整,实体链接组件将自动跟随

相关问题 更多 >