通向大规模医疗知识图谱:详细解读天衍实验室知识图谱对齐技术

通向大规模医疗知识图谱:详细解读天衍实验室知识图谱对齐技术

作者:

张子恒(腾讯天衍实验室)、林镇溪(腾讯天衍实验室

医疗知识图谱:

医疗知识图谱(Medical Knowledge Graph)作为医疗人工智能的核心,本质上是一种揭示医疗实体之间关系的语义网络,可以对现实世界的事物及其相互关系进行形式化描述。通常情况下,医疗知识图谱是在人工构建的专业知识基础上,通过算法以及专家审核的方式不断扩充实体及关系来构建的,包括疾病、症状、药品、手术等医学概念和多种医学关系 [9]。

在广泛的医疗场景中,医疗知识图谱已经被证明可以有效地为算法提供医学知识支撑并为算法的预测结果提供医学解释。在可预见的未来,知识图谱都将在医疗这个强知识属性的领域发挥至关重要的作用。

为什么需要知识图谱对齐:

知识图谱对齐(Knowledge Graph Alignment)指的是在多个异源异构的知识图谱中发现完全等价的实体,即发现指代相同真实世界物体的两个实体,因此也可称为实体对齐(Entity Alignment)。

真实场景中的单一知识图谱的覆盖度往往比较有限,因此会严重影响下游知识图谱算法的适用性(例如KBQA模型)。一个广泛采用的解决方式是通过知识图谱对齐技术将多个知识图谱进行对齐并融合为一个规模更大的、覆盖度更广的知识图谱。例如,我们将一个药品知识图谱和一个疾病诊疗知识图谱进行对齐融合,其得到的知识图谱的覆盖度(在理想情况下)约等于或大于两个知识图谱各自的覆盖度之和(可以在融合得到的知识图谱上训练链接预测模型从而预测出未被发现的关系)。

另外,大规模知识图谱的构建成本巨大,尤其是在医疗这种强知识属性的领域,小规模的垂域知识图谱(如用药知识图谱)往往更容易在控制成本的基础下把控知识的准确率,保证知识图谱的质量。因此,知识图谱对齐也可以用于构建大规模、高质量的医疗知识图谱。

面向医疗领域的知识图谱对齐技术:

在过去的一年时间里,我们针对医疗知识图谱对齐任务中面临的问题做了如下的探索,并且将我们的成果以学术论文的形式发表在多个人工智能领域顶级会议上:

我们提出了一个真实场景医疗数据集以及真实场景评估方式(MED-BBK-9K)

我们提出了一个基于本体指导的知识图谱对齐技术(OntoEA)

我们提出了一个融合概率推理和图谱建模的知识图谱对齐技术(PRASE)

我们实现并公开了一个知识图谱对齐工具(PRASEMap)

探索一:真实场景医疗数据集以及真实场景评估方式(MED-BBK-9K)

An Industry Evaluation of Embedding-based Entity Alignment @ COLING 2020

近几年涌现出了多种基于知识图谱建模(Embedding-based)的对齐方法,他们可以归纳为如下范式:

  1. 利用 TransE 或 GCN 等模型对两个知识图谱(KG)进行建模;
  2. 将建模好的两个 KG 的向量空间用种子数据(即预先对齐的训练数据)进行非线性映射或转换,使得两个向量空间可以「重合」;
  3. 对于其中一个 KG 的一个实体,通过其向量以及在向量空间中的余弦相似性,找到来自另一个 KG 中的最近邻实体。

我们尝试将这些 Embedding-based 方法应用在对齐两个医疗知识图谱,因此我们构建了一个来自真实场景的知识图谱对齐数据集 MED-BBK-9K,其中 MED 指代天衍实验室自建的医疗知识图谱(部分子图)、BBK 指代我们利用爬虫、命名实体识别(NER)、关系抽取(RE)等技术从百度百科网站爬取构建的知识图谱。我们聘请医学专家对两个 KG 中等价的实体进行对齐标注,得到了一个实体规模在 9K 的 KG alignment 数据集。实体对齐示例如下图所示:

可以看到,真实场景中对齐的实体会存在两个明显的特征:1)名称完全一致;2)属性数量不等且相差悬殊。而这两个发现又引发了我们对于种子数据有偏性的思考。

Embedding-based 模型通常依赖高质量的、无偏(unbiased)的种子数据。但是在现实场景下,我们得到的种子数据通常是有偏(biased)的。例如,标注人员倾向于标注实体名称尽可能接近的实体、或者实体属性尽可能多的实体(对应上述两个发现)。我们统计了我们真实场景数据集中的名字相似度分布和属性个数分布,如下图所示:

可以看到,种子数据多来自热力图右下角区域,即实体名称一致、属性数量较多的对齐实体。接下来我们通过实验论证了 biased seed mappings 对模型算法的影响。

另外,我们统计对比了开放领域知识图谱对齐数据集 D-W-15K [8] 和 医疗领域知识图谱对齐数据集 MED-BBK-9K。D-W-15K 被称为跨知识图谱的数据集,即它包含 DBpedia 和 Wikidata 这两个开放领域 KG 及其对齐映射。对比 D-W-15K 和 MED-BBK-9K 可以看到,医疗领域知识图谱的关系的平均度(Degree)更大一些,即每个实体会与更多的实体有关系相连,并且不同于开放领域的几百种关系定义(#Relations),医疗领域的关系定义更少(32种和20种);在属性方面,MED/BBK 这两个 KG 的属性三元组更少,可以用来建模结构化信息的数据量也更少,这也为模型的训练造成了困难。

为了全面细粒度地分析现有方法在开放领域/医疗领域数据集上的性能,我们首先选择了 4 个 state-of-the-art 的模型算法,包括 BootEA [3]、MultiKE [5]、RDGCN [6]、RSN4EA [7];其次我们设计了两种种子数据采样方式:industrial context(采样名称一致且属性数量较多的种子数据)和 ideal context(随机采样种子数据)。我们遵循训练/验证/测试集划分按照 2/1/7 的设定进行实验,可以得到如下的实验结果:

其中 D-W-15K 为 OpenEA [8] 提出的开放领域知识图谱对齐数据集,MED-BBK-9K 为我们提出的医疗领域知识图谱对齐数据集。可以看到,在 MED-BBK-9K 上 BootEA [3] 的性能因为 industrial context 的种子数据采样策略,整体的 MRR 下降了 0.389,而 MultiKE [5] 这样需要依赖实体名称信息进行实体对齐的模型在 name-based splits 中也表现出当测试集实体名称不一致时其性能大幅下降的现象(从 0.303 降到 0.041),更多指标讨论可以参考原文 Section 4.2。

从上述实验结果中,我们可以得出如下重要结论:我们发现这四个 SOTA 方法都对种子数据的采样策略十分敏感,即从 ideal context 过渡到 industrial context 后性能有显著下降;另一方面我们也发现 MultiKE [5] 和 RDGCN [7] 模型相较之下在 industrial context 中更加鲁棒,会更适合应用在真实场景中。更多 ablation studies 请参考原文 Section 4.3。

小结:

这篇工作从医疗领域真实场景出发,系统性地、细粒度地评估了现有的 4 个 SOTA 方法,并论证了其在真实场景中落地的可能性。另外,这篇工作也提出了一个基于医疗知识图谱的对齐数据集,为之后的模型优化和算法创新提供了直接评估的基础

探索二:基于本体指导的知识图谱对齐技术(OntoEA)

OntoEA: Ontology-guided Entity Alignment via Joint Knowledge Graph Embedding @ ACL 2021

当前 embedding-based 实体对齐方法通常只利用了实体层的关系、属性等结构信息,然而忽略了知识图谱中另一个重要组成部分:本体(Ontology/Schema)。

本体定义了具有层次化结构的类别以及属性信息,通常作为DBpedia, Wikidata等KG中更高质量和可用性的元信息。另外,本体还包含了一些逻辑约束来定义一些类别的不相交性(disjointness)或者限定属性的范围和域(property domain/range)。当前的对齐方法由于没有考虑到本体信息容易使得对齐结果存在类别冲突问题(class conflict),例如下图所示,许多当前的表示方法容易将 KG1 中的“Victoria”和 KG2 中的“VICTORIA”错误对齐,虽然两者名字相似,然而 “Victoria” 表示一个皇室成员(Royalty),而 “VICTORIA” 表示一个教育机构(Educational Organization),这样的错误对齐可以很容易地用本体信息进行纠正。

根据上述观察,我们期望在建模知识图谱时融入本体信息以此来避免这些类别冲突。然而其中的难点包括:

  1. 如何有效编码多种异构信息,包括两个待对齐的 KG 以及一个本体;
  2. 如何建模类别冲突关系,因为这种关系在本体中并不是全部明确定义,而且类别冲突关系是会根据不同 KG 而变化的。

为了解决以上难点,我们提出了一种基于本体指导的知识图谱对齐技术 OntoEA,显式地建模类别冲突关系来丰富嵌入语义表示,避免错误的映射。为了建模类别冲突关系,我们设计了一个类别冲突矩阵 CCM (Class Conflict Matrix)来表示不同类型的类别冲突,包括本体明确定义的不相交类别,由层次结构表示的冲突(例如兄弟结点可能是不相交),以及根据种子数据学习得到的类别冲突。

整个模型包括以下五个模块:

  1. 实体嵌入表示(entity embedding):我们采用简单的TransE建模实体嵌入表示,当然也可以使用其他知识图谱表示方法(如GCN、RSN等)。
  2. 本体嵌入表示(ontology embedding):由于本体天然地存在层次化结构的特点,我们借鉴了 JOIE [4] 的图结构表示方法,将这样的层次结构建模为一个从子类到关联的父类之间的非线性转换,利用相对位置来建模子类与父类之间的关系。
  3. 类别冲突损失(confliction loss):为了建模类别冲突关系,我们定义了一个类别冲突矩阵M,其中矩阵的每个元素 m_{ij} \in [0,1] 定义了第 i 个类别和第 j 个类别的冲突程度。计算方式如下,1)首先,每个类别和自身不会冲突,即 m_{ii}=0 ;2)其次,对于本体中明确定义的不相交类别,其 m_{ij}=1 ;3)再者,种子数据中两个对齐实体对应的类别也应该不冲突,即假设两个实体 e_ie_j 是对齐的,则对应的类别 m_{ij}=0 ;4)最后,如果两个类别均不属于上述三种情况,我们遵循以下原则:如果两个类别在本体结构树中的位置越远,其语义相似度越低,冲突程度可能性越高。我们将两个类别 c_ic_j 的距离定义为两个类别结点到根结点路径的交集比例,则 m_{ij}=1-\frac{|S(c_i)\cap S(c_j)|}{|S(c_i)\cup S(c_j)|} 。为了使得模型能够挖掘潜在的冲突,我们利用两个类别embedding的余弦距离度量冲突的概率,将CCM矩阵作为监督信息,将冲突关系建模到类别嵌入表示中。
  4. 隶属损失(membership loss):为了建模实体和本体之间的隶属关系,我们利用非线性映射将实体嵌入表示投影到本体表示空间以此联合学习两个表示空间,这样可以将类别语义信息编码到实体表示中。
  5. 对齐损失(alignment loss):遵循传统的范式,我们利用对齐种子数据将两个待对齐KG映射到同一个空间,使得对齐的实体的表示距离越近。

整个模型的训练可以通过迭代优化上述的每个模块,具体的训练过程可以参考原文 Section 2.8。在预测阶段,我们通过线性加权实体向量表示和对应的类别向量表示作为实体总的语义表示,再寻找另一个 KG 的最近邻实体作为对齐实体。

我们选取了开放领域知识图谱对齐数据集 OpenEA [8] 以及我们提出的医疗领域知识图谱数据集MED-BBK-9K 作为实验数据。对于 OpenEA 数据集的本体(只考虑了 rdfs:subClassOf 关系)以及隶属关系可以利用 DBpedia 和 Wikidata 的 SPARQL endpoint 查询得到。对于医疗数据集 MED-BBK-9K,在医学专家的帮助下,我们利用领域知识构建一个共享的、小规模但高质量的本体,以及相应的隶属关系(一共11个类别,其中包含10个子类)。在后续实验中我们发现即使这样一个简单的本体结构可以显著有效地提升医疗知识图谱中实体对齐的效果

按照是否引入实体名字信息我们将对比模型划分成两种类型基线(w/o SI 以及 w/ SI)。对于w/ SI(with Surface Information),OntoEA 采用了一种简单的方式引入实体名字信息,利用预训练的 word embedding 初始化实体或者本体的向量表示。和以往文献一样 [8],采用 Hits@1,Hits@5 和 MRR(Mean Reciprocal Rank)作为评价指标。

实验结果如下图所示,OntoEA 除了在 EN-FR-15K-V2 以及 D-W-15K-V2 的 Hits@1 上的性能略低于基线模型以外,在其他数据集以及指标上均得到了显著的提升。尤其在更贴合真实场景的MED-BBK-9K 上,OntoEA (w/o SI) 相比基线模型在所有指标上的提升均在 10% 以上,而OntoEA (w/ SI) 的提升甚至超过 60%,在 Hits@1 上甚至提升了将近 69%。这也说明了即使引入一个简单的本体结构,由于其具有高质量以及强相关的领域知识,能够极大地促进对齐的效果,有助于模型更好地理解和建模实体的语义。

我们也探究了模型对于数据集实体的不同实体度区间的影响(如下图所示),实体度指的是知识图谱中对齐实体关系度数的平均数。可以看到除了在 EN-FR-15K-V2 的 [10,20) 和 [20,30) 上的性能略低于 BootEA [3],在其他区间均优于基线模型。尤其是在 MED-BBK-9K 的所有区间上都显著地领先其他模型,特别是在 [0,10) 低密度区间。这样的长尾实体因为结构稀疏导致不能充分建模,而本体信息作为一种更高阶的语义信息能够增强实体之间的区分性。

为了验证 OntoEA 能够有效缓解类别冲突问题,我们统计了不同模型的 bad case 中类别冲突的占比,结果如下图所示,可以清晰看到 OntoEA 可以显著地降低了 EN-FR-15K-V1 和 EN-FR-15K-V2 的冲突比例,冲突率只有 3% 和 0.3%。在 MED-BBK-9K 上 MultiKE [5] 和 RDGCN [7] 的冲突比例分别达到了 51.5% 和 60.1% ,而 OntoEA 可以将类别冲突比例降低到 34%,说明了 OntoEA 能够极大程度地缓解类别冲突问题,也印证了我们对于引入本体信息的构想。

值得注意的是,我们的工作在以下两种场景下均可使用:

  1. 两个待对齐的 KG 共享相同的本体,例如 DBpedia 的多语言知识图谱共享同一套本体。这在工业场景中也非常普遍,例如对于医学知识图谱,首先会构建一个通用性强的本体,然后从不同的数据来源(文本、表格等)抽取不同垂域知识图谱;
  2. 两个待对齐 KG 的本体是不共享的。对于这种情况,我们可以利用现有的本体对齐系统将其转化为场景 1,例如 PARIS [2] 或者 LogMap [1] 预先对齐本体,对于医疗这种强知识属性的领域可以进一步通过人工校验提升对齐质量。

小结:

这篇工作针对当前 embedding-based 实体对齐方法忽略本体信息(Ontology)导致预测存在类别冲突问题,提出了一种基于本体指导的知识图谱对齐技术,通过引入本体类别指导和约束实体对齐的过程。特别地,我们设计了一个类别冲突矩阵(CCM)来建模不同类别之间的关系,并通过知识图谱和本体的联合学习将类别语义信息编码到实体表示中。在开放/医疗领域知识图谱对齐数据集上均得到了大幅度的提升,尤其在更具有挑战性的医疗数据集 MED-BBK-9K,提升幅度达到 60% 以上。一系列的消融实验以及模型分析验证了模型的有效性,尤其是在减少类别冲突方面。

探索三:融合概率推理和图谱建模的知识图谱对齐技术(PRASE)

Unsupervised Knowledge Graph Alignment by Probabilistic Reasoning and Semantic Embedding @ IJCAI 2021

基于知识图谱建模的对齐模型尽管在很多数据集(包括 MED-BBK-9K)上取得了不错的性能,但是它们仍然存在一定缺陷:需要种子数据、缺少对齐的整体分析(holistic analysis)、缺少逻辑推理(logical consistency)来避免错误对齐等。

在语义网领域(Semantics Web),有一些基于逻辑推理的「传统」方法也在解决知识图谱对齐任务(这里的「传统」是相较于 embedding-based 而言的),例如 PARIS [2]、LogMap [1] 等。以 PARIS 为例,它很好地利用了概率推理和字面匹配,通过自迭代来不断优化实体对齐概率(Instance/Entity)和关系对齐概率(Relation),在迭代完毕后,还可以计算得到类别对齐概率(Schema)。PARIS 在启动时无需种子数据,是利用实体的属性字面匹配得到第一批对齐的实体,之后再迭代获得更多对齐的实体。但是传统方法也存在着无法有效利用知识图谱结构信息或语义信息的缺陷。

因此,我们在考虑到 embedding-based 方法和 conventional 方法的强互补性后,我们首次提出了一个无监督迭代框架 PRASE,将两者有效地融合在一套知识图谱对齐系统内,并用所提出的迭代算法来达成相互增强的目的。PRASE 正是代表 Probabilistic Reasoning And Semantic Embedding 的首字母缩写,分别对应了 conventional 方法和 embedding-based 方法。

PRASE 框架中包括 PR 模块、SE 模块和一个负责两模块交互的迭代算法,下方架构图展示了 PRASE 框架整体的工作逻辑:

PRASE 的运行原理中包括几个重要步骤:1)PR 模块首先在输出的一对 KG 上得到第一批对齐实体 \tilde{\mathcal{Y}}^{\text{P}} 及其概率 \text{P}^{\text{o}}(e\equiv e') ;2)高置信的对齐实体会被当作 SE 模块模型训练的种子数据 S 输入进行模型训练;3)训练结束后,SE 模块将得到的所有预测对齐结果 \tilde{\mathcal{Y}}^{\text{E}} 和实体向量 \tilde{\mathcal{E}}^{\text{E}}=\{\mathbf{e}|e\in E\}\cup\{\mathbf{e'}|e'\in E'\} 返回给 PR 模块;4)PR 模块在输入的 上继续进行实体对齐概率的优化。上述步骤可根据实验设定迭代 K 次后由 PR 模块输出最终实体对齐的结果。整体迭代的过程详见下方算法:

PR 模块:

PR 模块主要基于 PARIS [2] 模型实现开发。我们首先介绍两个重要概念 functionality 和 inverse functionality,其计算如下方公式所示:

\begin{equation} \label{PARIS_init} \small \begin{split} \text{F}(r) := \dfrac{|\{h|(h,r,t)\in T^{+}\}|}{|\{(h,t)|(h,r,t)\in T^{+}\}|},~r\in R^{+}\\ \text{F}^{-1}(r) := \dfrac{|\{t|(h,r,t)\in T^{+}\}|}{|\{(h,t)|(h,r,t)\in T^{+}\}|},~r\in R^{+} \end{split} \end{equation}

在一个知识图谱中,关系的 (inverse) functionality 定义了(尾)头实体的唯一指向性,即若 \text{F}(\textit{founder})=1 ,则对于一个组织机构的实体其创始人节点可以被唯一确定。基于 (inverse) functionality,我们拓展了 PARIS 中对于实体对齐概率的计算(扩展了对于输入实体向量的使用):

\begin{equation} \small \label{PRASE_P_e} \begin{aligned} \text{P}(e\equiv e'):=&(1-\beta)\cdot\text{sim}(\mathbf{e},\mathbf{e}') + \beta\Big( 1 - \\\hspace{-1em}\prod_{(e,r,t)\in T^{+},(e',r',t')\in T'^{+}}\hspace{-3em}&{\left(1 - \text{P}(r'\subseteq r)\text{F}^{-1}(r)\text{P}(t\equiv t')\right)}\\\times&\left(1 - \text{P}(r\subseteq r')\text{F}^{-1}(r')\text{P}(t\equiv t')\right)\Big) \end{aligned} \end{equation}

与之对应的是关系对齐概率的计算,如下所示:

\begin{equation} \small \begin{aligned} P(r\subseteq r') := \dfrac{\sum_{h,t}\left(1 - \prod_{(h',r',t')\in T'^{+}}\left(1 - \text{P}(h\equiv h')\text{P}(t\equiv t')\right)\right)}{\sum_{h,t}\left(1 - \prod_{h',t'\in E'^{+}}\left(1 - \text{P}(h\equiv h')\text{P}(t\equiv t')\right)\right)} \end{aligned} \end{equation}

可以看到,在 PRASE 迭代周期 K>1 的时候,PR 模块除了会计算因关系对齐而对齐的实体,还会考虑在知识图谱向量空间中的实体相似性,这也就进一步提升了 PR 模块的性能(主要是 Recall)。更多细节参看原文 Section 3.2。

SE 模块:

为了使得 PRASE 框架可以适配尽量多的 embedding-based 方法,我们规定只要其可以输出实体对齐结构和实体向量,就可以应用于 PRASE 框架中。即 K 轮次 SE 模块输出实体对齐结果 \tilde{\mathcal{Y}}^{\text{E}} 和其对应的相似度打分 \text{S}(e\equiv e')~\text{with}~(e,e')\in\tilde{\mathcal{Y}}^{\text{E}} 作为 K+1 轮次 PR 模块的输入。因为 SE 模块所采用种子数据来自 PR 模块的输出,因此高置信的种子数据也有利于提升 SE 模块的性能(主要是 Precision)。更多细节参考原文 Section 3.3。

为了更好地模拟现实场景,我们选取 OpenEA [8] 数据集中的大规模且结构复杂(-100K-V2)的版本作为 PRASE 实验所采用的数据集,另外我们也采用了真实场景的 MED-BBK-9K 作为评估模型的重要数据集。在对比模型方面,我们选取 embedding-based 模型作为基线,其中包括 MultiKE [5]、RDGCN [7] 等;同时我们选取 conventional 模型作为基线,包括 PARIS、LogMap。在实验中我们采用精准率、召回率和 F1 值作为评价指标。我们同时实现了 PRASE-BootEA(BootEA as SE module)和 PRASE-MultiKE(MultiKE as SE module)这两个模型。主实验结果如下图所示:

可以看到,两个 PRASE 模型的性能均大幅超过对比基线模型(包括 embedding-based 和 conventional)。排除过于简单的 D-Y 数据集,在双语数据集 EN-FR-100K 和 EN-DE-100K 、以及跨知识图谱的 D-W-100K 数据集上,PRASE 模型在 F1 值上超越基线模型 3 个点,并且可以看到相较于 PARIS,PRASE 模型对于 Recall 召回率的提升是相当显著的,例如 D-W-100K 上的 0.788 提升至 0.855。另外,在真实场景的医疗数据集(MED-BBK-9K)上,可以看到 PRASE 模型的 F1 值达到了 0.711(对比基线模型提升了 0.212)近乎达到了真实场景可用的程度,并且因为其无监督的特点,更加增大了 PRASE 在真实场景的意义

为了更好地探究 PR 模块和 SE 模块的交互方式,我们做了如下的消融实验:将 SE 模块返回给 PR 模块的部分 1)仅保留实体对齐结果「-M」;2)仅保留实体向量「-E」。其实验结果如下图所示:

可以看到,PRASE-X-E 的精准率通常要优于 PRASE-X-M,而 PRASE-X-M 虽然相较于基线提升了召回率,但是还是会牺牲部分精准率。而 -E 和 -M 都用(即 PRASE 原本架构)可以最大限度提升召回率并维持高精准率。

接下来我们又分析了 PRASE 框架中迭代轮次 K 的影响,随着 K 的增大,训练时间会增大,而 PRASE 整体性能却没有显著提升(如下图所示)。因此在实际场景中,我们推荐选择 K=1 或者 K=2 即可,更多的迭代轮次可以根据实际情况调整。

更多的 ablation studies 以及数据集细节可以参考原文 Section 4。

小结:

这篇工作充分分析了现有 embedding-based 方法和 conventional 方法各自的特点以及融合的可能性,并首次提出了融合概率推理(PR)和图谱建模(SE)的无监督知识图谱对齐技术,该技术在多个开放领域数据集均验证了其 state-of-the-art 的性能,另外,在我们提出的医疗领域数据集(MED-BBK-9K)上,其性能达到了 0.711 的 F1 值,大幅超越了之前模型。因此 PRASE 框架从性能和无监督训练方式上,均满足医疗领域落地的需求

探索四:知识图谱对齐工具(PRASEMap)

PRASEMap: A Probabilistic Reasoning and Semantic Embedding based Knowledge Graph Alignment System @ CIKM 2021

延续 IJCAI 2021 的工作,PRASE 框架已经证明了其落地的可行性,但是在运行效率上,PRASE 框架还是存在着运行时间过长的问题:例如 PRASE-BootEA/PRASE-MultiKE 在 D-W-100K [8] 上跑一个迭代轮次分别需要 15 个小时(~54370s)和 91 分钟(~5519s)。

因此,为了加快 PRASE 框架的运行效率并向学界/业界提供一个即时可用的知识图谱对齐工具,我们基于 PRASE 框架开发了 PRASEMap,用 C++ 重构了其中复杂计算的部分并原生实现了更多 SE 模块,以提升运行效率并提高工具可用性。PRASEMap 在 MED-BBK-9K 上迭代一轮的时间开销为 13.7s,相较之前有明显提升。

PRASEMap 主要包括了如下的功能点:

  1. 提供了一套完整的知识图谱对齐系统,可以在预设或用户自行上传的知识图谱之间预测并输出对齐结果;
  2. 提供了一个注册和登陆的界面系统,方便用户随时创建、监控、继续他们的知识图谱对齐任务;
  3. 提供了一个直观的知识图谱展示系统,用来展示部分对齐知识图谱,其中关键关系以及实体节点属性也通过简单的交互方式呈现给用户。

PRASEMap 的整体框架如下图所示:

我们将 PRASEMap 部署成一个在线可用的 Web App,欢迎大家访问链接prasemap.qizhy.com/,其后端引擎采用 SpringBoot、Mybatis 和 Redis开发,前端界面采用 Vue.js 和 antv/g6 开发。系统预设的知识图谱对齐数据集包括开放领域数据集以及医疗领域数据集 MED-BBK-9K。

下图展示了知识图谱对齐之后的展示界面,其中包括一个对齐的中心实体节点及其周围 one-hop 的近邻实体节点。可以看到当某个实体节点对齐时(如下图中的「Florin_Tene」和「Florin_Tene」),其周围临近的实体节点也存在大量的对齐关系。

PRASEMap 提供了两种运行模式:全自动模型和半自动模式。

  1. 全自动模式:即对于指定的知识图谱(预设或用户上传),PRASEMap 运行指定迭代轮次之后输出知识图谱对齐结果,供用户下载。
  2. 半自动模式:相较于全自动模式提供额外的人工标注过程,即用户可以在迭代轮次之间修正 PRASEMap 预测的实体对齐结果,其人工标注界面如下图所示:

为了方便用户进行标注,PRASEMap 额外提供了对单个知识图谱中实体的可视化展示(上图右侧的 Visualization 按钮),方便用户充分了解该实体,单个知识图谱中实体的展示界面如下图所示:

我们在医疗领域数据集 MED-BBK-9K 上验证人工标注结果对最终引擎效果的提升,实验结果如下图所示,可以看到少量的人工标注确实可以帮助整个引擎提升最终的性能,但是目前人工标注并没有起到一定的「杠杆作用」去实现更多错误对齐的纠正(例如最后一列标注了100条,引擎最终也只多预测对了109条对齐实体)。在未来改进中,我们也会尝试引入主动学习的策略去选取更加具有「杠杆作用」的错误对齐用于人工标注。

目前我们正在积极维护 PRASEMap,预期在未来加入更多的功能。关于 PRASEMap 的更多内容详见原文。

小结:

这篇工作承接 IJCAI 2021的工作,将 PRASE 框架进一步优化衍生开发出一套完整可用的知识图谱对齐系统 PRASEMap(https://prasemap.qizhy.com/)。PRASEMap 优化了运行效率,提供了人性化的交互界面,并支持用户上传知识图谱及下载对齐结果,另外 PRASEMap 也提供了用户标注的界面,进一步提升了引擎预测的准确率以及整套工具的可用性。至此,面向医疗领域的 PRASEMap 模型已经可以在性能指标(F1值超越基线)、效率指标(运行时间缩短)和使用方式(无需种子数据)上均满足真实场景的需求。

总结:

面向医疗领域的知识图谱对齐技术,可以使我们有序可控地提升医疗知识图谱的规模和覆盖度,并且由于相对更低的医疗垂域知识图谱维护成本,知识图谱对齐技术能够满足我们对于知识图谱质量和规模的双重要求,进而帮助我们向知识驱动的医疗人工智能迈进。

贡献者:

我们感谢以下 co-author 在模型创新及论文撰写中做出的贡献:陈矫彦、陈曦、郑冶枫、向玥佳、赖盛章、齐志远、刘华罗。

我们的工作:

  1. Ziheng Zhang, Jiaoyan Chen, Xi Chen, Hualuo Liu, Yuejia Xiang, Bo Liu, and Yefeng Zheng. An Industry Evaluation of Embedding-based Entity Alignment. In Proceedings of COLING 2020 (Industry Track).
  2. Yuejia Xiang, Ziheng Zhang, Jiaoyan Chen, Xi Chen, Zhenxi Lin, and Yefeng Zheng. OntoEA: Ontology-guided Entity Alignment via Joint Knowledge Graph Embedding. In Proceedings of Findings of ACL 2021.
  3. Zhiyuan Qi, Ziheng Zhang, Jiaoyan Chen, Xi Chen, Yuejia Xiang, Ningyu Zhang, and Yefeng Zheng. Unsupervised Knowledge Graph Alignment by Probabilistic Reasoning and Semantic Embedding. In Proceedings of IJCAI 2021.
  4. Zhiyuan Qi, Ziheng Zhang, Jiaoyan Chen, Xi Chen, and Yefeng Zheng. PRASEMap: A Probabilistic Reasoning and Semantic Embedding based Knowledge Graph Alignment System. In Proceedings of CIKM 2021 (Demo Track).

其他参考文献:

  1. Ernesto Jime ́nez-Ruiz and Bernardo Cuenca Grau. LogMap: Logic-based and scalable ontology matching. In Proceedings of ISWC 2011.
  2. Fabian M. Suchanek, Serge Abiteboul, and Pierre Senellart. PARIS: Probabilistic Alignment of Relations, Instances, and Schema. In Proceedings of VLDB 2012.
  3. Zequn Sun, Wei Hu, Qingheng Zhang, and Yuzhong Qu. Bootstrapping Entity Alignment with Knowledge Graph Embedding. In Proceedings of IJCAI 2018.
  4. Junheng Hao, Muhao Chen, Wenchao Yu, Yizhou Sun, and Wei Wang. Universal Representation Learning of Knowledge Bases by Jointly Embedding Instances and Ontological Concepts. In Proceedings of KDD 2019.
  5. Qingheng Zhang, Zequn Sun, Wei Hu, Muhao Chen, Lingbing Guo, and Yuzhong Qu. Multi-view Knowledge Graph Embedding for Entity Alignment. In Proceedings of IJCAI 2019.
  6. Yuting Wu, Xiao Liu, Yansong Feng, Zheng Wang, Rui Yan, and Dongyan Zhao. Relation-aware Entity Alignment for Heterogeneous Knowledge Graphs. In Proceedings of IJCAI 2019.
  7. Lingbing Guo, Zequn Sun, and Wei Hu. Learning to Exploit Long-term Relational Dependencies in Knowledge Graphs. In Proceedings of ICML 2019.
  8. Zequn Sun, Qingheng Zhang, Wei Hu, Chengming Wang, Muhao Chen, Farahnaz Akrami, and Chengkai Li. A Benchmarking Study of Embedding-based Entity Alignment for Knowledge Graphs. In Proceedings of VLDB 2020.
  9. 粤港澳大湾区数字经济研究院, idea.edu.cn/platform-me

发布于 2021-08-15 20:51