BioMedKGs:算法生成医学知识图谱,解决构建和维护工作量巨大问题
- 提出背景
- 对比传统方法
- 算法设计
- 3.1 自动化命名实体识别(NER)
- 3.2 术语发现与清洗
- 3.3 同义词分组形成概念
- 3.4 多语言、机器翻译
- 3.5 语义类型分类
- 3.6 关系提取
- 3.7 数据和版本管理机制
- 打个比方
- 效果
提出背景
论文:https://arxiv.org/ftp/arxiv/papers/2203/2203.09975.pdf
在医疗领域,高精度、零错误和可解释性是推广人工智能技术的关键因素。
尽管使用医疗知识图谱结合大模型是一种有效的方法,但知识图谱的构建和维护工作量巨大,且范围有限,这限制了其在医疗领域的应用。
本研究介绍了生物医学信息学本体系统(BIOS),这是第一个完全由机器学习算法生成的大规模公开可用的生物医学知识图谱(BioMedKG)。
BIOS当前包含410万个概念、740万个术语(覆盖两种语言)以及730万个关系三元组。
本文展示了BIOS的开发方法论,包括生物医学术语的策划、同义词的计算识别及其聚合以创建概念节点、概念的语义类型分类、关系识别以及生物医学机器翻译。
我们提供了当前BIOS内容的统计数据,并对术语质量、同义词分组和关系提取进行了初步评估。
比如,在BIOS中,“2型糖尿病"这一概念可能会以多种形式和名称存在,如"2型糖尿病”、“II型糖尿病”、“2型糖尿病糖尿病”、“T2DM”、“非胰岛素依赖型糖尿病”、"NIDDM"等。
这些不同的术语都指向同一个概念节点,展现了BIOS如何聚合同义词以创建概念节点的能力。
在关系识别方面,BIOS能够识别和表示生物医学概念之间的复杂关系,例如,它可能包含一个关系三元组[阿司匹林, 可治疗, 发热],其中"可治疗"是连接阿司匹林和发热两个概念的关系,展示了BIOS如何用于自动诊断、问答和药物发现等多种AI任务。
通过机器学习算法,BIOS可以自动从大量生物医学文献中提取这些信息,生成一个广泛、准确和实时更新的知识图谱。
结果表明,基于机器学习的BioMedKG开发是传统专家策划的一个可行替代方案。
对比传统方法
假设研究人员希望探索2型糖尿病(T2DM)和心血管疾病(CVD)之间的关联性,需要从生物医学文献中提取有关这两种疾病的相关信息。
传统方法
- 术语识别和同义词分组:传统上,专家会手动识别文献中的术语,并根据专家的知识和现有的医学词典将同义词归类。这一过程耗时且容易遗漏非标准术语。
- 关系提取:通过阅读文献,专家识别并记录下疾病之间的潜在关系。这依赖于专家的专业知识和文献的全面阅读,效率低下。
- 更新知识库:随着新研究的发布,需要定期手动更新知识库,这一过程缓慢且费力。
BIOS方法
- 术语识别和同义词分组:BIOS使用基于BERT的NER模型自动识别文献中的生物医学术语。然后,通过生物医学术语嵌入(BTE)技术,自动将“2型糖尿病”、“T2DM”等术语聚合为同一概念,无需人工干预,大大提高了同义词分组的准确性和效率。
- 关系提取:BIOS采用远程监督的关系提取(DS-RE)方法,自动从文献中提取疾病之间的关系,如[T2DM, 关联, CVD]。这种方法不仅加快了信息提取的速度,还能发现人类专家可能忽略的潜在关系。
- 知识库更新:随着新研究的不断发表,BIOS可以自动处理新的文献摘要和全文,实时更新知识图谱。这确保了知识库始终保持最新状态,而无需耗费大量人工资源。
与传统方法相比,BIOS采用的现代机器学习和NLP技术显著提高了生物医学知识图谱的构建和更新速度,减少了人工工作量,并增强了知识图谱的广度和深度。
通过自动化处理大规模文献数据,BIOS能够有效支持复杂的生物医学查询和研究,推动医学研究和临床实践的进步。
算法设计
这张图是BIOS系统的数据生成和版本控制机制的示意图,展示了从索引创建训练数据到跟踪预测结果来源的整个过程,以及如何维护每个训练模型的代码和依赖性。
假设我们正在研究特定的疾病群体——肺结核(Tuberculosis, TB)。
-
索引阶段:我们从文献中收集关于肺结核的术语和短语,并为每个术语建立索引。例如,我们识别并记录“Mycobacterium tuberculosis”(引起肺结核的细菌)、“肺结核”、“抗结核药物”等术语。
-
源追踪:为了跟踪每个术语的来源,我们记录下包含这些术语的句子及其在文献中的具体位置,以及相关文献的标识符和参考资料。
-
语义类型分类:每个术语根据其含义被分类为一定的语义类型,如“Mycobacterium tuberculosis”被分类为“微生物”。
-
术语聚类和机器翻译:通过CODER++等工具将“结核”、“TB”等术语归为“肺结核”这一概念,并将这些术语翻译成其他语言,如中文。
-
关系提取:我们分析文献数据,用自动化工具识别出“肺结核”和其他概念之间的关系,如“[抗结核药物, 用于治疗, 肺结核]”。
-
NER和RE模型:通过训练NER和RE模型来预测新术语和关系,模型基于BERT等预训练模型,通过大量PubMed摘要进行训练,以提高预测准确性。
-
版本控制:在模型训练、预测和翻译等各个阶段,我们通过版本控制系统来记录每一步的操作和结果,确保可以追溯到每个模型的训练数据和版本,从而在发现问题时能够快速定位和修复。
这个假设的例子演示了如何通过系统化的工作流程和严格的版本控制来构建和维护一个生物医学知识图谱。
通过这种方式,BIOS系统能够自动化地处理和更新大量生物医学数据,为研究人员和医疗专业人员提供准确的信息。
3.1 自动化命名实体识别(NER)
- 使用远程监督命名实体识别(DS-NER)自动标注语料库,选择UMLS(2020AB版本)中的8个词汇资源,初步包含64个语义类型。
- 采用前向最大匹配算法(FMM)进行字符串匹配,通过过滤和正则表达式等方法减少错误匹配。
- 训练专门的语义类型注释器(STA)以预测术语的语义类型,模型基于PubMedBERT训练。
假设我们有一篇论文摘要,提到了“2型糖尿病”和相关治疗方法,如“Metformin(二甲双胍)”。
首先,利用远程监督NER(DS-NER)方法,系统会自动标注文本中的“2型糖尿病”为疾病(Disease)和“Metformin”为药物(Drug)。
3.2 术语发现与清洗
- 使用PubMedBERT训练B-I-O序列标记模型进行NER,通过采样策略提高模型泛化能力。
- 清洗过程中应用了类似于种子术语清洗的规则,并通过比较FMM计数与NER模型预测频率来过滤错误。
通过PubMedBERT训练的序列标记模型,新的与糖尿病相关的术语,如“高血糖”、“胰岛素抵抗”等,会被自动识别。
如果某个术语在PubMed文献中频繁出现,但NER模型预测频率低,则可能被过滤掉,以确保术语的准确性。
3.3 同义词分组形成概念
- 不同的数据源可能使用不同的术语指同一实体。
- 依赖于生物医学术语嵌入(BTE)向量的相似性来识别同义词,并将每个同义词组定义为一个概念。
- 通过改进的CODER++模型来增强模型区分接近术语的能力,使用0.8的相似性阈值进行同义词识别。
例如,术语“2型糖尿病”、“T2DM”、“成人发病型糖尿病”可能被不同文献使用,但它们实际上指的是同一个概念。
BIOS通过计算BTE向量的相似性,将这些术语聚合为同一个概念。
3.4 多语言、机器翻译
- 采用Luo等人的生物医学机器翻译(BMT)模型,通过回译方法自动判断翻译的可靠性。
对于在特定语言(如中文)中不常见的术语,“Metformin”可能需要被准确翻译以促进跨语言的信息共享。
BIOS的BMT模型确保了从英文到中文的准确翻译,并通过回译方法验证翻译的可靠性。
3.5 语义类型分类
- BIOS的语义类型框架是根据UMLS进行修改的,通过聚合NER模型的预测来确定概念的语义类型。
在这个例子中,“2型糖尿病”会被分类为疾病(Disease),而“Metformin”作为治疗“2型糖尿病”的药物,会被分类为化学物质或药物(Chemical or Drug)。
3.6 关系提取
- 使用远程监督训练关系提取(RE)模型,以Wikidata作为标签源。
- 通过PubMedBERT和CODER模型来编码句子和实体,采用最大概率操作而非注意力机制来聚合同一实体对的多个句子表示。
BIOS能够自动识别“Metformin”和“2型糖尿病”之间的治疗关系,形成一个关系三元组:[Metformin, may treat, 2型糖尿病]。
这是通过分析文献中的句子和使用远程监督RE模型完成的。
3.7 数据和版本管理机制
- 介绍了用于管理数据产生、源跟踪和版本控制的机制,以支持BIOS的快速迭代开发。
- 用户交互和反馈机制,医生反馈某一术语映射不准确,知识图谱维护者据此进行修正。
- 用户交互和反馈机制,医生反馈某一术语映射不准确,知识图谱维护者据此进行修正。
- 生物医学领域知识快速发展,新的发现频繁出现。
- BIOS系统定期从新发表的研究文献中学习和添加新术语和关系。
随着更多关于糖尿病的研究被发表,BIOS会不断更新和迭代其数据集和模型,以纳入新的术语、概念和关系,确保知识图谱的实时性和准确性。
通过这个例子,我们可以看到BIOS如何综合运用多种先进的技术来自动化地构建和更新涉及糖尿病的生物医学知识图谱,从而支持医学研究和临床决策。
打个比方
BIOS的开发方法学涉及多个步骤,每个步骤都是构建和维护一个复杂生物医学知识图谱的关键环节。
可以将这些步骤类比为建立和维护一座图书馆的过程,其中包含着对信息的收集、整理、分类和检索,以便用户能够高效地找到他们需要的信息。
- 命名实体识别(NER)的注释
- 类比:图书馆中的图书分类和标签贴附。如同给图书贴上不同的标签(如小说、历史、科学)以便检索,NER的过程相当于给文献中的术语贴上标签(如疾病、药物、症状),这是整理和分类信息的第一步。
- 术语的发现与清洗
- 类比:新书筛选和预处理。在将新书加入图书馆之前,需要筛选出合适的书籍并进行必要的处理(如去除破损的书籍),类似于通过算法自动发现新的术语并清洗错误或不相关的术语。
- 同义词分组形成概念
- 类比:将关于同一主题的书籍放在一起。就像图书馆会将讲述同一历史事件的多本书放在一起,同义词分组的过程相当于将表达相同概念的不同术语聚合起来,形成清晰的知识单元。
- 生物医学机器翻译
- 类比:图书翻译。为了让更多语言的读者能够理解书籍内容,需要将书籍翻译成不同的语言。生物医学机器翻译的过程,就像是将图书馆中的资料翻译成多种语言,确保信息对更广泛的读者群体开放。
- 语义类型分类
- 类比:细分图书类别。除了基本的分类之外,图书馆还会根据更细致的标准对书籍进行分类,比如历史书籍可以进一步分为古代历史、现代历史等。语义类型分类就是在更精确的层面上定义术语和概念。
- 关系提取
- 类比:构建索引和引用系统。图书馆利用索引和引用系统帮助读者了解不同书籍之间的关联,比如某本书引用了另一本书的内容。关系提取过程相当于在知识图谱中建立不同概念之间的链接,帮助理解它们之间的关系。
- 数据和版本管理机制
- 类比:图书馆的目录更新和书籍修订记录。图书馆需要定期更新目录并记录书籍的新旧版本,以保证读者获取到最新的信息。在BIOS项目中,数据和版本管理机制确保知识图谱持续更新和迭代,保持数据的时效性和准确性。
通过这个类比,我们可以更直观地理解BIOS开发过程中的各个步骤及其重要性,每个步骤都对应图书馆管理的一个方面,共同工作以构建、维护和提供一个丰富、准确和易于检索的生物医学知识库。
效果
这部分结果展示了BIOS系统在提取和处理生物医学术语及概念方面的成果。以下是主要的要点:
- 术语获取与筛选:从八个选择的来源词汇中清洗得到的种子术语字典包含了110万个术语。
通过自动注释规则,PubMed文献中出现的种子术语为45万个,可以由44万个句子覆盖。
- 新术语预测:经过训练的NER模型在PubMed文献库中预测出了610万个独特术语。
其中只有63.5万个术语包含在UMLS中,反映了最大专家策划的BioMedKG的覆盖限制。
经过进一步的清洗,保留了520万个英语术语,这些术语被CODER++嵌入聚类成了414万个概念。
- 概念组成与术语分布:表格1展示了根据语义类型的概念组成。
表格2展示了每个概念中术语数量的分布。使用FMM发现术语在PubMed文献库中出现了6.12亿次。
- 高频术语覆盖率:最常出现的术语是“cells”,出现了1020万次。
然而,35.5%的术语只出现了一次。表格3展示了最频繁术语的累积覆盖率。
- 术语匹配比较:图3展示了使用BIOS和UMLS对同一个PubMed摘要进行FMM字符串匹配结果的案例研究。
比较表明,使用UMLS匹配的字符串覆盖了文本的一半以上,包括许多不是生物医学术语的单词和数字。
- 同义词识别的准确性:使用CODER++嵌入来识别同义词的准确性评估,UMLS被用作银标准。分类达到了0.309的召回率和0.953的精确度。
手动检查被判定为假阳性的预测结果后,改正的精确度估计为0.998。
-
同义词分组示例:表格5列出了与概念CN00016530先天性黑色素痣相关的所有术语,展示了由不同组合词形成的14个不同的英语术语。
-
关系三元组的识别:从Wikidata识别出的87.7万个关系三元组被直接导入BIOS。目前为止,已预测出110万个关系三元组。
-
NER模型的“是一个”关系:NER模型预测的67种可能的UMLS语义类型被简化为18种BIOS类型。
例如,概念肿瘤细胞的预测语义类型是UMLS的细胞类型,简化为BIOS的解剖类型。
- 生物医学机器翻译(BMT):使用BMT将术语从英语翻译成中文。根据回译规则,58.5%的英语术语可以可靠地翻译成中文。
综上,这部分结果概述了BIOS在发现新术语、同义词识别、关系提取、术语翻译等方面的能力,并强调了在这些过程中相较于传统数据库(如UMLS)所取得的进步。
图一(Table 1) 展示了按照语义类型分类的概念组成,其中“化学物质或药物”类别以大约占总数一半的比例最多,其次是“疾病或综合症”和“治疗或预防程序”。
图二(Table 2) 显示了每个概念包含术语数量的分布,大多数概念只对应一个术语。
图三(Table 3) 提供了最常见术语的累积覆盖率,显示出最常见的1000个术语覆盖了总出现次数的约46%,而最常见的100万个术语覆盖了近98%。
图五(Table 4) 展示了使用CODER++模型通过余弦相似度来识别同义词的效果。表中列出的是匹配到的术语对以及它们是否被标记为同义词。