2024.9 Pruning Cycles in UMLS Metathesaurus: A NeuroSymbolic AI Approach
UMLS Metathesdragon 中的修剪周期:一种神经符号 AI 方法
UMLS Metathesdragon 中的修剪周期:一种神经符号 AI 方法
Richard Wallace1、Ravi Bajracharya1、Jans Aasman1 和 Craig Norvell1
Franz Inc
https://allegrograph.com/wp-content/uploads/2024/09/Pruning-Cycles-in-UMLS-NSAI-3rdNLP4KGc_paper_9.pdf
这个工作其实比较简单,我没看出来“基于逻辑的语义推理”,只看见搜索时,用大模型判断是不是一致的语义,因为循环会带来语义错误,大模型说不对就删掉,这其实不是很可靠。
问题
UMLS 中谓词关系存在不一致、模糊、冗余以及传递关系中的循环问题,这些问题影响了其在生物医学信息系统中的有效性和准确性,尤其是在进行临床代码查询等应用时。
挑战
- UMLS 结构复杂:UMLS 规模庞大,包含大量概念、术语和复杂的关系,其整合了众多不同来源的词汇表,使得处理和分析其数据变得困难。
- 循环检测与处理难度大:循环的存在不仅导致不合理结论,还可能引发组合爆炸。准确检测循环需要耗费大量计算资源,且确定循环中的错误关系并进行合理处理也具有挑战性。
- 确保数据准确性和一致性:在处理 UMLS 数据时,需要确保修剪循环等操作不会引入新的错误,同时要保证数据在语义和逻辑上的一致性,这对方法的准确性和可靠性要求很高。
创新点
- 融合多种技术的框架:采用神经符号人工智能框架,将逻辑 - 基于语义推理、经典机器学习和大语言模型(LLM)相结合,这种多技术融合的方式为处理 UMLS 中的复杂问题提供了新的思路和方法。
- 利用 LLM 进行关系验证:利用 LLM 强大的文本推理能力,特别是演绎推理能力,来判断 UMLS 中概念之间的层次关系是否有效,这是一种创新的应用方式,能够有效识别和解决循环问题。
贡献
- 提高 UMLS 数据质量:成功从 UMLS 中修剪了大量循环(66%),显著提高了 UMLS 数据的质量,使其在生物医学信息系统中的应用更加可靠和精确。
- 节省数据科学家时间:经过清理的 UMLS 使数据科学家能够更信任查询结果,减少了因数据问题而花费在数据验证和修正上的时间,提高了工作效率。
- 推动医疗保健发展:更精确的数据分析有助于医疗保健领域的研究和应用,可能对疾病诊断、治疗方案制定等方面产生积极影响,从而潜在地改善患者的治疗效果,甚至挽救生命。
提出的方法
- 构建知识图谱:将 UMLS 转换为 RDF 三元组并存储在 AllegroGraph 中,通过将 UMLS 元数据映射到 SKOS 本体来构建知识图谱,使概念和关系得以清晰表示,便于后续操作和分析。
- 循环计数与探索:使用深度优先搜索算法对 UMLS 图中的循环进行计数,从 1 - 循环开始,递归探索所有 “更窄” 链接,记录循环及其相关信息,为后续处理提供基础。
- 利用 LLM 验证关系:针对循环中的每条 “更窄” 边,构造 LLM 提示,询问两个概念之间的子集关系,根据 LLM 的回答(“是” 或 “否”)确定是否删除该边以打破循环,通过 SPARQL 查询实现与 LLM 的交互和数据操作。
指标
- 循环数量减少比例:通过对比原始 UMLS 和经过处理后的 UMLS 中不同长度循环的数量,计算循环减少的比例,以此衡量方法对 UMLS 数据质量改善的效果。如结果显示长度不超过 6 的循环减少了 67%。
模型结构
论文未提及传统意义上的特定模型结构,主要是基于神经符号人工智能框架,整合了逻辑推理、机器学习和 LLM 等技术。在实现过程中,利用 AllegroGraph 构建知识图谱,通过 SPARQL 查询与 LLM 进行交互来实现对 UMLS 中循环的修剪和关系验证。
结论
- 使用 LLM 模型结合 AllegroGraph 和 SPARQL 查询,成功验证并修剪了 UMLS 知识图谱中较窄关系传递闭包内的循环,提高了图谱的一致性。
- 该方法综合运用多种技术,有效解决了 UMLS 中循环问题,使系统在生物医学信息处理方面更加可靠和精确,有助于提升医疗保健领域的数据分析效果,为改善患者治疗效果提供支持。
剩余挑战和未来工作
- 定量评估循环删除效果:需要进一步通过评估假阳性和假阴性等指标,更精确地衡量循环删除的有效性,确保方法的准确性和可靠性。
- 扩展处理范围:将当前处理循环的过程应用于 UMLS 中的所有更窄和更宽边,以及更多类型的构成传递闭包的关系,进一步提高 UMLS 数据的整体质量。
- 探索 LLM 在 UMLS 中的更多应用:研究其他 UMLS 关系是否可以通过 LLM 进行验证,挖掘 LLM 在处理 UMLS 数据方面的更多潜力,拓展该方法的应用范围和效果。
数据集
- UMLS 数据集:包含来自 200 多个词汇表(如 SNOMED CT、ICD - 10、LOINC、MeSH、RxNorm 等)的超过 300 万个概念和 1100 万个独特术语,其 Metathesaurus(2020AA 版)有 428 万个概念和 1550 万个概念名称,语义网络有 127 种类型和 54 种关系,SPECIALIST 词典包含 983,420 个词汇项,为研究提供了丰富的生物医学术语和关系数据。
- Synthea 生成的合成数据:利用 Synthea 生成了 1000 万加利福尼亚州患者的合成临床数据,包括人口统计学信息、就诊记录、过敏史、疾病状况、实验室检查结果、药物治疗和索赔等信息,用于构建患者为中心的知识图谱,与 UMLS 知识图谱相结合,以发现和解决 UMLS 中的循环问题。
抽象
统一医学语言系统(UMLS)是一组文件和软件工具,它汇集了许多健康和生物医学词汇表及标准,以实现计算机系统之间的互操作性。由美国国家医学图书馆维护,UMLS 包含来自 200 多个词汇表的超过 300 万个概念和 1100 万个独特术语,包括 SNOMED CT、ICD-10、LOINC、MeSH 和 RxNorm。UMLS 的目的是促进能够有效理解和使用来自各种来源的生物医学信息的基于计算机的系统的开发。
然而,有几位作者已经指出了统一医学语言系统(UMLS)中谓词关系存在的重大问题,包括不一致性、歧义性、冗余性,并且在传递关系的情况下,还存在循环。在我们尝试在国家质量论坛(NQF)1 的早发性糖尿病质量指标查询中,在更窄的 UMLS 概念的传递闭包中搜索临床代码时,最后一个问题 —— 循环 —— 成为了我们关注的焦点。
为了解决统一医学语言系统(UMLS)中的挑战,该研究利用了神经符号知识图谱框架。这种创新方法整合了基于逻辑的语义推理、经典机器学习和大型语言模型(LLM),以清理 UMLS 图并有效消除循环。通过该框架验证现有的层次关系和等价关系,该项目成功地从 UMLS 中修剪了大量循环(66%)。这一结果展示了神经符号人工智能在提高生物医学信息系统的可靠性和准确性方面的潜力。经过清理的 UMLS 为数据科学家节省了时间,他们可以对查询结果更有信心,甚至可能通过在治疗基础分析中更加精确而拯救生命。
关键词
UMLS、LLM、神经符号 AI、知识图谱
1. 什么是 UMLS?
统一医学语言系统(UMLS)是由国家医学图书馆(NLM)发起的一项全面而系统的工作,旨在整合不同的生物医学术语和本体 [1]。它通过映射各种词汇之间的关系和概念,促进健康分析领域的语义互操作性,成为统一的资源。UMLS 知识来源支撑着各种各样的结果信息学研究和应用。UMLS 元词库(2020AA 版)现在包含来自 214 个词汇来源的 428 万概念和 1550 万概念名称(包括一些 25 种不同口语的名称);语义网络有 127 种类型和 54 种关系;SPECIALIST 词库包括 983,420 个词汇项目;还有许多相关的词汇程序和工具。事后看来,一些增加 UMLS 元词库复杂性的功能也使术语数据更加公平(可查找、可访问、可互操作和可重用)。
UMLS 的核心是使用元词库,这是一个大型的多术语数据库,用于排列不同的生物医学词汇,如 MeSH、SNOMED CT 和 LOINC。UMLS 在同义词或相关术语之间建立联系,增强对生物医学信息的理解和检索。
UMLS 目前帮助成千上万的系统开发人员和研究人员克服概念表达方式的差异,这项任务对于有效的检索、分析、聚合、
以及生物医学和健康相关信息和数据的语义互操作交换。UMLS 资源的使用支撑着数百万科学家、卫生专业人员、患者和消费者以及数千个计算机程序每天共同使用的系统。
2. 使用 Synthea 暴露循环
Synthea 是一个开源的合成临床数据生成器,模拟人群中患者的病史和健康状况 [2]。它旨在支持健康数据分析工具、模型和应用程序的开发、测试和评估。Synthea 生成合成患者数据,包括人口统计、遭遇、过敏、状况、实验室结果、药物和索赔。现实生成的数据代表了多样化的患者群体,使其对训练机器学习算法、测试医疗保健应用程序和进行研究非常有用。
我们的项目利用 Synthea 构建了一个以患者为中心的知识图谱,由加利福尼亚州的 1000 万名患者组成。该过程通过 AllegroGraph 的 FedShard 1 功能进行了简化,该功能专门用于存储实例数据,例如 EMR 患者医疗保健事件,并结合 UMLS 等大型知识库。FedShard 有助于将感兴趣的核心实体(例如患者)作为核心,并将几层知识作为 “事件” 与患者联系起来。这些事件代表了在他们的医疗保健旅程中在时间背景下发生的活动。通过将 Synthea 患者数据中的诊断和程序代码与 UMLS 知识库联系起来,我们现在拥有了一个患者 360 实体事件知识图谱(EEKG),它可以预测患者的结果,并通过查询的分片和并行化轻松扩展 [3]。
我们的挑战始于我们假设 UMLS 结构可以促进诸如 “选择所有诊断比神经系统疾病更具体的患者(C0027765)” 之类的查询出乎意料的是,“神经系统疾病” 概念中较窄关系的传递闭合包括一些奇怪的情况,如 “心力衰竭”、“烧伤” 和 “肾发育不良”。最终,我们根据 UMLS 图是非循环的假设诊断了这个问题,这导致我们回顾了以前的文献和研究,探讨了审计和消除 UMLS 中循环链接的原因和先前的尝试。
- UMLS 有很多循环
UMLS 中的错误和不一致是有据可查的。甚至维基百科关于 UMLS [4] 的文章也说:
鉴于 UMLS 的规模和复杂性及其对集成条款的许可政策,错误是不可避免的。
错误包括歧义和冗余、层次关系循环(一个概念既是另一个概念的祖先,也是另一个概念的后代)、缺失祖先(父概念和子概念的语义类型不相关)和语义倒置(与语义类型的子 / 父关系与概念不一致)。
这些错误是通过审计 UMLS 发现和解决的。手动审计可能非常耗时且昂贵。
我们的讨论完全集中在我们如何使用 LLM 结合我们的患者知识图谱来识别和解决循环问题。UMLS 旨在成为一个有向的非循环图,但是循环的存在使这一假设无效。更重要的是,循环限制了 UMLS 在符号推理应用中的有用性。循环不仅会导致无意义的结论,还会导致组合爆炸。
1AllegroGraph 是 Franz Inc.[https://allegrograph.com/products/allegrograph/] 的水平分布、多模型(文档和图形)、实体 - 事件知识图谱技术解决方案。FedShard 是 AllegroGraph 的专利分片和联合功能。
4. 以前的工作
缺乏专家医学本体对 UMLS 中所有层次关系的劳动密集型审计,之前的解决方案包括《生物医学信息学杂志》的一期特刊,重点关注统一医学语言系统(UMLS)中的结构问题 [5]。由国家医学图书馆设计的 UMLS 将生物医学术语整合成统一的知识表示。UMLS 是一个复杂的知识库,是与外部贡献者合作努力的结果。虽然许多研究都集中在内容相关方面,但社论强调了解决结构问题的重要性,包括数学定义和设计考虑。UMLS 拥有 100 多个术语来源,是一个重要的项目,社论引导读者进行相关研究和参考书目以进行进一步探索。几位作者发表了关于 UMLS 中不一致和循环问题的论文。他们提出了各种技术来解决这个问题。我们可以将这些技术分为 3 大类:审计和可视化、基于规则的方法和自然语言处理。
4.1。可视化和审计工具
Morrey 等人 [6] 探索的最复杂的例子可能是图形用户交互界面,它提供了几个不同的可视化选项来探索 UMLS 关系的非常大的图。Bodenreider 等人 [7] 的论文探索了用于评估他们先前设计的语义网络(SN)分区的可视化技术。他们的方法揭示了问题并确认了分区中某些组的有效性。
Halper 等人 [8] 中描述的方法在 UMLS 的父关系层次结构中引入了审计周期的方法论。目标是识别和删除周期内的错误关系,而不是简单地通过删除父关系来打破周期。重点是涉及三个概念的周期,论文提出了假设,表明在一个周期内定位错误父关系的可能性很高。这些假设以统计置信度得到证实,支持所提出的审计方法。论文还建议周期可以作为难以自动检测的其他非结构不一致的指标。提供了一个广泛的审计示例来说明一个周期如何揭示进一步的不一致。总体而言,该方法为 UMLS 父级中的审计周期提供了一种系统和集中的方法关系层次。
4.2. 基于规则的分析
Geller 等人开发了一种自动化技术来发现 UMLS [9] 中不一致和可疑的关系。Cimino 等人 [10] 探索了 UMLS 元词库和 UMLS 语义网络层次结构之间对应关系的不一致,揭示了层次结构或概念分配中的潜在错误 [10]。
Mougin 等人 [11] 描述的方法解决了 UMLS 元词库内层次关系不一致的问题。之前的工作提出了一种形式化的方法来识别和消除循环层次关系,从而产生了有向无环图。然而,这种方法只是部分自动化,实现起来很复杂。这里建议的另一种方法是通过防止节点被访问两次来避免循环。目标是比较形式化方法在消除循环方面的有效性与避免循环的更简单方法。研究发现,12% 的带有后代的概念在两种方法之间存在差异,在这些情况下,形式化方法显着减少了后代的数量。在语义一致性方面的好处更加微妙,需要进一步探索。
4.3. 自然语言处理
一些作者报告了自然语言处理来改进 UMLS。例如,Rindflesch 等人 [12] 的论文解决了在生物医学文本中识别 IS-A 关系的自然语言处理挑战。他们证明,将未指定的句法分析与 UMLS 相结合,可以在化学和药物领域实现有效的处理。
5. 使用 LLM 修剪循环的理由
我们的方法可以被大型语言模型(神经)构建为基于规则(符号)和自然语言处理的混合体。
LLM 表现出非凡的文本推理能力,包括演绎推理,这涉及识别概念之间的关系,结构或语义。随着 LLM 能力的快速增长,它可以成为审计概念之间关系的完美工具。在这种情况下,我们对 LLM 确定特定概念相对于第二个概念是窄概念还是宽概念的能力感兴趣。这是神经和符号计算集成的完美例子,可以从数据中进行推理。
提示 LLM 基本上回答概念 A 是否是概念 B 的较窄子集,并生成 “是” 或 “否” 的响应。以下引用的文本是提交给 LLM 的实际提示文本,在这种情况下是 GPT 3.5 模型,以确定 “心脏疾病” 概念中 “充血性心力衰竭” 的成员资格:
“充血性心力衰竭是否描述了心脏疾病的较窄子集?回答是或否”
我们可以提示 LLM 回答并验证循环中的每个关系是否代表它们之间的有效层次关系。如果特定边的答案是 “否”,则可以删除该边以打破循环。
6. 方法
神经符号人工智能代表了人工智能的一种先进方法,它将神经网络的优势(用于处理非结构化数据、从大量数据集中学习和适应新信息)与符号人工智能(用于逻辑推理、理解复杂关系和处理结构化数据)。这种混合方法论与本文对统一医学语言系统(UMLS)内修剪周期以解决不一致、歧义和冗余问题的关注特别相关。通过利用神经符号框架,本文说明了结合机器学习、逻辑推理和大型语言模型如何有效地梳理和验证 UMLS 中生物医学术语和关系的复杂网络。
为了本文的目的,我们将研究较窄关系的传递闭包,并使用 LLM 响应来验证构成图中循环较窄路径的每个关系。以下项目符号突出显示了建立 UMLS 知识图所涉及的步骤,计算图中的循环,然后在混合中使用 LLM 来标记需要删除以打破循环的较窄关系:
1. 将 UMLS 转换为 RDF 三元组并将它们存储在 Allegrograph 中。
2. 选择与 Synthea 数据中的 1404 SNOMED 代码完全匹配的 1404 MTH 概念。
3. 从 1 个循环开始,探索从 MTH 概念开始的循环的 UMLS 图,递归地遵循所有 “较窄” 的链接。找到循环后,使用该循环唯一的图形 ID 保存其所有参与的三元组,该图形 ID 与指示循环长度的属性相关联。
4. 计算循环图 id 的次数。
5. 对于循环中从概念 Y 到概念 X 的每个较窄边,构造 LLM 提示,形式为 “‘X’是否描述了‘Y’的较窄子集?回答是或否。” 和 “‘Y’是否描述了‘X’的较窄子集?回答是或否。”
6. 使用 SPARQL 查询,当第一个问题的答案是 “是” 而第二个问题的答案是 “否” 时,将边缘标记为删除。
7. 去除标记的边缘并重新运行程序以计数循环次数。
8. 重复步骤 2 中的过程,从 2 循环、3 循环等中删除边缘。
以下小节详细阐述了上述要点:
6.1。构建 UMLS 知识图谱
UMLS 元数据库是 UMLS 的一个组件,它包含概念映射、定义、概念之间的层次关系以及概念之间的非层次语义关系。因此,使用基于标准的 UMLS 资源描述框架(RDF)表示(如 AllegroGraph)构建的知识图是表示 UMLS 中关系网络的最佳方式。这种表示还有助于我们轻松探索 UMLS 层次关系中的传递闭包。
为了构建知识图谱,我们将 UMLS 元词库映射到 SKOS(简单知识组织系统)[13],这非常适合像 UMLS 这样面向概念的词汇。截至 UMLS 的 2023AA 版本,我们的知识图谱在核心元词库源代码中有 300 万加概念,以及来自 ICD10 和 SNOMED 等其他组件源的 700 万概念。值得注意的是,因为我们使用的是 RDF,这些概念可以作为 SKOS 概念加载到与原始源对应的 SKOS 方案中。
这种方法主要基于休斯顿德克萨斯大学的 P. Mirhaji [14] 的早期工作。以下项目符号突出了根据此方法创建 UMLS SKOS 知识图的方法:
- UMLS 概念成为 SKOS 概念,skos:prefLabel 设置为 Metathesaurus 概念的首选术语。
- UMLS Metathesaurus 的 PAR/CHD 和 “RB”/“RN” 关系分别解释为 SKOS:更宽的关系和 SKOS:更窄的关系。
- UMLS 语义网络类型用作概念的 rdfs:type。
- SKOS 方案中的概念匹配和相关概念分别使用 SKOS:EXTMatch 和 SKOS:relatedMatch 谓词连接。
UMLS 的 SKOS 表示不仅使 UMLS 数据集公平(可查找、可访问、可互操作和可重用),而且还形成了一个基线知识图,可以通过其他相关数据源为任何其他特定用例进行丰富。
6.2. 计数周期
什么算作一个循环?A B C A 与循环 B C A B 和 C A B C 相同。UMLS 有许多循环,但大多数都是 A B A 形式的 1 - 循环。
许多循环包含其他循环作为子循环。计数循环的算法是深度优先搜索。很难优化,因为即使是已经 “访问” 的节点,当另一条路径通过它时,仍然可能会被探索。为了确保我们结果的准确性,我们对循环应用了完整的蛮力深度优先搜索,没有优化,因为我们优先考虑计数的准确性而不是计数过程的效率。许多较长的循环包含 1 个循环作为子循环
6.3. SPARQL 查询
上面第 3 步的基本思想是审计所有属于周期的三元组,并保存一个与第一个形式相同的新三元组,
但是用唯一的图形 ID 保存它,这样我们就可以对其进行计数并检索图中三元组的循环长度的循环长度?g 与
遵循 SPARQL 查询在步骤 5 中实现 2 循环验证,并使用 AllegroGraph 中可用的 LLM 集成来查询 GPT 模型以获取步骤 4 2 中验证问题的 “是” 或 “否” 答案:
8. 结论
我们使用 LLM 模型来验证 UMLS 知识图中较窄关系的传递闭包,特别是为了剔除图中的循环。我们使用 AllegroGraph 在 SPARQL 查询中最新集成的 LLM 特征,通过魔术谓词来验证长度为 6 个周期长度的周期内的较窄关系。应用验证结果,我们可以修剪图以使其更加一致。这个过程将我们样本中的周期数减少了 2/3,从近 16,000 个减少到略高于 5,000 个。
这种神经符号人工智能修剪方法利用基于逻辑的语义推理、经典机器学习和大语言模型(LLM)的优势,通过修剪大量循环来整理 UMLS 图。具体来说,该方法论结合了使用 Synthea 生成合成患者数据、构建以患者为中心的知识图以及利用 LLM 审计和验证 UMLS 内部的层次和等价关系。这导致了一个更可靠、更精确的系统,可以增强医疗保健领域的数据分析,有可能带来更好的患者结果。
在医疗保健应用中,这种方法论解决了一个关键挑战:确保 UMLS 中复杂的医学术语和关系网络准确且没有逻辑不一致。通过成功地修剪 UMLS 的周期,这种方法不仅提高了系统内数据查询的效率和可信度,还有助于通过更好的数据完整性和语义互操作性来增强医疗保健分析和患者护理的更广泛目标。
9. 今后的工作
今后关于这一主题的努力应侧重于以下领域:
1. 通过评估假阳性和假阴性以及其他相关指标来定量评估周期删除的效果。
2. 将该过程应用于 UMLS 中所有较窄和较宽的边缘。
3. 将方法论应用于形成传递闭包、语义闭包或其他类型的更广泛的关系类型。
4. 查看哪些其他 UMLS 关系可以使用 LLM 进行验证。