知识融合算法

网友投稿 1164 2022-05-30

知识融合算法

算法背景

随着知识图谱的不断发展,不同机构、不同个人都可以自由地构建所需的知识图谱。但是各个知识图谱的数据来源和关注领域各不相同,导致图谱的质量参差不齐。知识融合通过对相关知识图谱的对齐、关联和合并,使其成为一个有机整体,是一种提供更全面知识共享的重要方法。下文会从概念融合、实体对齐、属性对齐和属性值融合这四个步骤进行简单介绍。

概念融合

概念融合是将多个知识图谱的概念层级体系进行融合,这一步的关键在于找到等价概念。由于概念层级体系非常重要且规模可控,目前主流的系统主要采用人工的方法进行匹配以保证融合的质量。例如“DBpedia”通过众包的方式为不同语种的知识图谱上的概念建立等价关系,如英文概念“Book”和希腊文概念“βιβλίο”。

然而,不同知识图谱的概念层级体系除了包含等价概念外,还包含各自图谱特有的概念。如概念“玄幻小说”只在中文概念中出现,而不会在其他语言的概念集合中出现。处理上述问题有两种融合策略:一种以“DBpedia”为代表,只以其中一个概念层级体系为主,另一个概念层级体系中特有的概念将被过滤掉;另一种以“XLORE” 为代表,保留所有的概念,只将等价的概念合并。

实体对齐

实体对齐是判断来自两个知识图谱的实体是否等价,这是知识图谱融合最关键的步骤。如图1,实体对齐的具体流程可以分为数据预处理、分块、成对对齐和集体对齐四个模块。

图 1 实体对齐具体流程

其中,数据预处理是为了解决实体命名不统一的问题,主要方法包括去除实体名称上的标点符号、进行同义词扩展等。分块是通过启发式策略将不同知识图谱中相似实体分配到相同的块中,减少实体间两两比对的次数。例如,根据实体所属的概念进行分块,“人物”和“建筑”两个概念下的实体是不可能等价的,可以分配到不同的块中。实体对齐的方法又分为成对对齐和集体(协同)对齐。成对对齐只根据一个实体对中的两个实体本身的信息进行匹配,本质上是一个二元分类问题。监督学习的成对对齐方法可以利用已有的部分知识图谱间的等价实体对作为训练集,定义人工特征训练分类器,包括支持向量机、决策树、神经网络等方法,无监督学习的成对对齐方法主要根据现有的知识进行实体的相似度判断,如翻译词典、同义词典、实体名称相似度(Jaccard系数、Dice系数和编辑距离等)等。而集体对齐会考虑整个知识图谱的信息进行匹配。该方法主要分为两种:一种是基于相似度传播的方法,基本思路是基于初始匹配经过迭代计算产生新的匹配。另一种是基于概率模型的方法,基本思路是将全局实体匹配的概率最大化,常用的方法包括贝叶斯网络、LDA、条件随机场和马尔可夫逻辑网等。

现在较为流行的是基于表示学习的方法。通过多个知识库联合表示学习,将实体对齐问题转化为两个知识图谱中的实体相似度计算问题。在图2中,该模型提出了两个知识图谱之间实体对齐的框架,由谓词对齐模块,嵌入学习模块和实体对齐模块组成。它利用知识图谱中存在的大量属性三元组生成属性字符嵌入,通过基于实体的属性计算实体之间的相似性,将实体嵌入从两个知识图谱移位到同一空间中。这样,来自不同知识图谱的相似实体将会有相似的向量表示,因此可通过向量相似度获得潜在实体对齐对。此外,模型设定相似度阈值来过滤潜在实体对齐对,得到最终的对齐结果。

图 2 基于属性字符嵌入的实体对齐模型

属性对齐

属性对齐是指将不同知识图谱中的等价属性合并为同一属性,通常采用“生成+过滤+验证“的基本思路。

在生成步骤中,为全部属性两两计算相似度,得到候选的等价属性对。常用的方法有基于属性名称的相似性计算(如度量字符串相似度的指标,包括Jaccard系数、Dice系数和编辑距离等);基于外部同义词词库(如同义词字典和百度汉语等)的方法;基于属性取值相似度(包括属性值集合的相似度和属性值类型的相似度)的方法。在过滤步骤中设计启发式规则,过滤掉其中的错误等价属性对。最后交由人工对最终结果进行验证。对于每个等价属性对,使用两者中出现频次较高的那个属性名称来表示这对等价属性。此外,由于多个知识图谱中存在着大量的等价实体,还可以利用一些统计信息来对齐属性,如属性对应的实体-属性值集合的重叠程度等。

属性值融合

在对齐属性后,需要对来自不同知识图谱的同一实体的同一属性的属性值进行合并。融合前首先需要对属性值进行命名规范化,然后根据属性是单值还是多值,分为单值属性融合(如出生日期、性别等)和多值属性融合(如职业、代表作品等)。

单值属性有唯一的属性值,根据这一性质可以利用投票的方法得到最有可能的结果。图3提出了一种基于异构信息网络的真值发现方法,异构信息网络中构建了三类节点,第一类节点为知识图谱,第二类节点为三元组事实,第三类节点为对象(即三元组中的实体-属性对)。每个知识图谱都存在大量的三元组,这些三元组的平均准确率决定了知识图谱的质量,而知识图谱的质量也可以用来估计三元组的准确率。当一个对象存在多个属性值时,如果大多数高质量的知识图谱都支持其中某一属性值,那么这个属性值很可能就是这个对象的真值。

图 3 基于异构信息的单值属性的属性值融合

图4给出了对于知识图谱的质量估计:

图 4 知识图谱的质量估计

在此基础上,可以通过迭代的方法来计算每个知识图谱的质量Q(k)和每个三元组的准确率P(t)。在初始化过程中,为每个知识图谱设置相同的质量值(如知识图谱的平均质量估计值),然后进入迭代计算。在每轮迭代中,首先通过知识图谱的质量来计算每个三元组的准确率,然后根据所有三元组的准确率来重新计算每个知识图谱的质量。依次迭代,直至收敛,即每个指标的变化值都小于某个阈值。

对于多值属性的融合,可以考虑多策略融合的方法,包括直接合并策略、投票策略(大多数投票、一致性投票和加权投票)和自定义融合策略(以可信度高的知识图谱中属性的属性值作为基准,将其他知识图谱中属性的属性值通过启发式的方式加入)。

知识图谱

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Oracle到国产数据库DM的迁移案例
下一篇:【蓝桥杯Java_C组·从零开始卷】第四节、一维数组与二维数组
相关文章