问题标签 [entity-linking]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - spaCy 只能链接命名实体吗?
以下是对一家餐厅的(据说)有趣评论的摘录:
我想亲自和豆腐先生握手。虽然我无法在医学上证明这一点,但我 100% 确定他们的 Soondubu 含有未定义的治疗特性。不知何故,在这里用餐后我总是感觉好多了。感冒了吗?拧Nyquil,得到辣泡菜soondubu。
我想提取重要实体并将它们链接到维基百科实体。我已经在 Wikipedia/WikiData 的小样本上训练了 spaCy,并在评论中运行实体链接:
我也希望提取和链接其他实体,例如:
看起来 spaCy 只能链接命名实体。我试图明确列出命名的其他实体(显然不能很好地扩展):
然而,spaCy 似乎根本没有链接新实体:
- 如何让 Spacy 也识别其他实体?
- 这应该在训练实体链接模型之前完成还是可以用已经训练好的模型完成?
- spaCy 是否适合我的任务?
python - Spacy - 实体链接器 - 为什么预测分数是概率和余弦 sim 的组合?
我正在通过 spacy 下的实体链接器管道的 predict 方法,由于某种原因,分数定义如下:
scores = prior_probs + sims - (prior_probs*sims)
链接在这里
任何人都有这方面的经验/知道这个公式来自哪里?
谢谢!
gpu - 如何使用 GPU 训练 spaCy 实体链接模型?
当我训练spaCy实体链接模型时,请遵循文档wiki_entity_linking,我发现该模型是使用 cpu 训练的。训练epoch需要很长时间。(环境中2个epoch大约3天:16x cpu,64GB mem)</p>
命令是:
python wikidata_train_entity_linker.py -t 50000 -d 10000 -o xxx
. 所以我的问题是,我该如何在训练阶段使用 GPU。
python - 是否可以在 spaCy 的实体链接候选生成中使用 NER-Label?
我想将 spaCy 用于实体链接 (EL)。我已经在我的领域特定语料库上训练了一个带有自定义标签的 spaCy 命名实体识别 (NER) 模型。但是,我下面的示例将使用常规实体标签 PERSON 和 LOCATION。
在知识库 (KB) 中设置别名,KB 返回已识别实体出现的候选,例如“巴黎”的候选可以是 Wikidata 条目 Q47899 (Paris Hilton)、Q7137357 (Paris Themmen)、Q5214166 (Dan Paris)、Q90 (法国首都巴黎)或 Q830149(美国德克萨斯州拉马尔县县城巴黎)。
我的问题涉及公认的实体标签。如果 NER 将“Paris”识别为 PERSON,则从候选人中排除 Q90(法国首都巴黎)和 Q830149(美国德克萨斯州拉马尔县县城),剩下 3 个候选人。而如果“巴黎”被识别为 LOCATION,则只有其他 2 个候选者。
给定检测到的 NER 标签,是否可以以某种方式建议 KB 或 EL 模型从哪一组实体中选择候选者?在训练 EL 模型之前还是之后?
python - 为相似名词创建空间知识库
spacy 文档中的实体链接示例都是基于命名实体的。是否有可能创建一个知识渊博,以便将某些名词与某些名词联系起来?
例如,在输入错误的情况下,“飞机”与“飞机”和“飞机”?这样我就可以预先定义可用于“飞机”的可能替代术语。有具体的例子吗?
我用知识库试过这个:
如此处所述:https ://spacy.io/api/kb
但我不知道用什么作为entity_vector
,它应该是实体的预训练向量。
我在文档中看到的另一个例子是:
除了 wiki id,我们不能使用其他任何东西吗?以及如何获得这些向量长度?
python - 警告:[W030] 某些实体无法在文本中对齐
在训练这一点后,我一直在这条线上收到一个错误:
我的索引有什么问题?我应该排除空格吗?我也试过了,但它似乎不起作用。如警告所示,我如何使用它spacy.gold.biluo_tags_from_offsets(nlp.make_doc(text), entities)
来检查索引?
spacy - 如果分数都是 1,什么控制 scispacy 中的 UMLS 链接实体的顺序
我正在使用 Scispacy(太棒了!),但是当我在https://scispacy.apps.allenai.org/找到的应用程序中输入“tau”时 ,UMLS 实体给了我“MAPT 基因”的规范名称,即我想要的是。但是,当我基于应用程序代码在我的 python 代码中执行完全相同的操作时(请参见此处https://gist.github.com/DeNeutoy/b20860b40b9fa9d33675893c56afde42)列表中的第一个规范名称是“三乙酸尿苷”(第二个是'MAPT 基因')
在应用程序代码中有调用 'if show_only_top:break' 所以我假设他们的应用程序实现以不同的方式对链接实体进行排序。
如果有人可以解释订购的差异以及如何解决这个问题,那就太好了!
spacy - spacy 段落级别的实体链接
实体链接适用于基于句子的链接。如何为段落级别而不是句子级别的文本使用空间实体链接?任何有关它的指导都会有所帮助。
spacy - EntityLinker Spacy 返回的实体不正确
我一直在用 Spacy 训练一个实体链接器,它有 6,000 个来自 Wikidata 的实体。
训练数据包含 30,000 个句子。
我正在关注 Spacy https://github.com/explosion/projects/blob/v3/tutorials/nel_emerson/notebooks/notebook_video.ipynb提供的笔记本
训练进行得很好,准确度看起来也不错,直到我在一个明显不正确的字符串上测试模型。这样的“barack obama 是一位法国出生的花店,住在西班牙,有 36 只猫和两只仓鼠”,但模型预测此字符串中的人为https://www.wikidata.org/wiki/Q76
我尝试在配置中添加其他参数,例如n_sents
entity_linker = nlp.add_pipe("entity_linker", config={"incl_prior": False, "n_sents": 6}, last=True)
有没有办法改善这一点?最好返回 NIL 而不是错误的答案。或者是否有一个可以输出的置信度分数?
spacy-3 - 我可以在培训后更新 spacy 的实体链接知识库吗?
假设我已经成功地训练了一个实体链接模型,并且它工作得很好。但是,最终,我将更新知识库的一些别名。只是一些别名不是描述也不是新实体。
我知道 spacy 有一种方法可以做到这一点:kb.add_alias(alias="Emerson", entities=qids, probabilities=probs)
. 但是,如果我必须在培训过程之后这样做呢?我应该重新运行所有内容,还是更新知识库?