我正在研究项目中使用 SciSpacy 将短文本链接到生物医学知识图谱 (UMLS CUI) 中的实体。目标是分析链接实体和单独的预定义实体之间的关系。
我的挑战是管理文本中识别的多个可能的实体,这会给结果带来噪音。尽管我使用正则表达式、手动停止列表和按语义类别过滤 (TUI) 等启发式方法来清理数据,但由于文本复杂性,问题仍然存在。我通常根据 NER 分数选择每个文本前 3 个实体,阈值相对较高。
例如,文本“阿尔茨海默氏症的标准 PRS”除了“阿尔茨海默氏症”之外,还错误地链接了“标准”和“PRS”的实体。另一个例子,“其他呼吸系统疾病,NEC”捕获了“呼吸系统”和“疾病”,但错过了应该优先考虑的“NEC”(坏死性小肠结肠炎)。
我尝试过使用生物医学模型通过语义相似性来过滤结果,但这种方法仍然不精确,并且严重依赖于结果的数量。链接器通常似乎会优先考虑文本中较早出现的实体。我还使用缩写扩展器来处理非标准缩写形式。
我认为更智能的链接器(不受 scispacy 支持)可能会有所帮助,或者在句子/整个文本级别上进行更好的匹配,但我对此了解不多。 (我使用句子转换器对结果进行了一些过滤,但这只是余弦模拟 - 我找不到一个可以很好概括的明确截止点)。
我没有资源/时间来学习微调新的链接器模型+数据(这只是我整个博士论文中的一个子组件)。
我正在寻求有关在句子或全文级别进行实体链接的更有效策略的建议,而没有资源来微调新模型。与 SciSpacy 的兼容性很重要,因为必须链接到 UMLS 本体(对于 KG CUI 实体)。
在这里你会发现一些想法: