发明内容
本申请实施例提供了一种知识图谱的匹配方法和装置,能够基于有向无环图的拓扑结构对两个知识图谱进行自动匹配,提高学情迁移的效率。
第一方面,本申请实施例提供了一种知识图谱的匹配方法,包括以下步骤:获取两个待比较知识图谱,其中,所述待比较知识图谱由有向无环图结构构建得到;提取两个所述待比较知识图谱的每个节点的特征向量以及每个所述节点的出度和/或入度;根据每个所述节点的特征向量以及每个所述节点的出度和/或入度比较任意两个来自不同的所述待比较知识图谱中的所述节点的相似度;基于所述相似度确定两个所述待比较知识图谱的节点匹配结果。
在其中一个实施例中,所述出度包括出度深度,所述入度包括入度深度,其中,所述出度深度表示由所述节点往后推进的出度节点级数,所述入度深度表示由所述节点往前追溯的入度节点级数;分别根据每个所述节点的所述出度节点级数、所述入度节点级数确定其出度节点、入度节点。
在其中一个实施例中,“根据每个所述节点的特征向量以及每个所述节点的出度和/或入度比较任意两个来自不同的所述待比较知识图谱中的节点的相似度”包括:根据每个所述节点的特征向量、出度节点的特征向量和/或入度节点的特征向量计算任意两个来自不同的所述待比较知识图谱中的所述节点的主节点相似度、出度平均相似度和/或入度平均相似度;对所述主节点相似度、所述出度平均相似度和/或所述入度平均相似度进行加权求平均值,得到两个来自不同的所述待比较知识图谱中的所述节点的相似度。
在其中一个实施例中,“基于所述相似度确定两个所述待比较知识图谱的节点匹配结果”包括:以两个所述待比较知识图谱各节点之间的所述相似度构建相似度矩阵,对所述相似度矩阵的每一行或每一列获取相似度最大值的索引,判断所述相似度最大值是否大于匹配阈值,若是,则与所述相似度最大值对应的两个节点匹配成功。
在其中一个实施例中,根据原始知识图谱的节点以及所述节点之间的依赖关系构建基于有向无环图结构的所述待比较知识图谱。
在其中一个实施例中,“提取两个所述待比较知识图谱的每个节点的特征向量”包括:获取两个所述待比较知识图谱的每个节点的描述信息,从所述描述信息中提取特征向量。
在其中一个实施例中,“从所述描述信息中提取特征向量”包括:将所述描述信息进行分词处理,得到多个特征词;计算每个所述特征词的TFIDF值,选取TFIDF值高的特征词作为特征向量。
在其中一个实施例中,所述待比较知识图谱为进行标准化处理后的形成标准形式的知识图谱。
在其中一个实施例中,应用于原始知识图谱的学情迁移,所述节点包括教学知识点,所述描述信息包含知识点的定义、描述、分类、题目信息的至少一种。
第二方面,本申请实施例提供了一种知识图谱的匹配装置,包括:图谱获取模块,用于获取两个待比较知识图谱,其中,所述待比较知识图谱由有向无环图结构构建得到;特征向量提取模块,用于提取两个所述待比较知识图谱的每个节点的特征向量以及每个所述节点的出度和/或入度;相似度比较模块,用于根据每个所述节点的特征向量以及每个所述节点的出度和/或入度比较任意两个来自不同的所述待比较知识图谱中的所述节点的相似度;节点匹配模块,用于基于所述相似度确定两个所述待比较知识图谱的节点匹配结果。
第三方面,本申请实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行第一方面所述的知识图谱的匹配方法。
第四方面,本申请实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为由处理器运行时执行第一方面所述的知识图谱的匹配方法。
本发明的主要贡献和创新点如下:
本方案提出了一种自动化知识图谱匹配技术,通过从知识图谱中的各个节点提取特征向量,并结合节点的入度和出度节点特征构建节点的上下文特征,然后与目标知识图谱中的各个节点的上下文特征进行匹配,找到相似度最高的节点进行匹配,进而完成整个知识图谱的节点自动匹配。
本方案提出的是基于有向无环图的拓扑结构进行匹配,拓扑结构中的每一个节点都是一个知识点,与传统的知识图谱相比,能够基于知识点的上下文特征从而建立知识点的上下文联系,引入节点的出度深度、入度深度计算节点的整体相似度,使得节点间的相似度比较结果更准确。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
实施例一
本申请旨在提出一种通过两个知识图谱间的节点的两两相似度高低撮合匹配完成对两个知识图谱的节点匹配的技术方案,在实现时,通过从知识图谱中的各个节点提取特征向量,并结合节点的入度和出度节点特征构建节点的上下文特征,然后与目标知识图谱中的各个节点的上下文特征进行匹配,找到相似度最高的节点进行匹配,进而完成整个知识图谱的节点自动匹配。
例如,由上述知识图谱为待比较知识图谱为例,通过待比较知识图谱的节点的特征向量、节点的出度及入度能计算得到一个图谱的每一节点与另一图谱的每一节点的相似度,最终以相似度高的节点进行匹配,完成两个知识图谱的自动匹配。
下面通过具体实施例并结合具体的应用场景对本申请进行描述,需要说明的是,上述知识图谱,可以是应用在智能医疗、自适应教育、信息检索/搜索/推荐等领域的多关系图,本方案在此方面并无限制。
下面以知识图谱应用在教学大纲中为例对本申请进行解释说明。
本申请实施例提供一种知识图谱的匹配方法,图1是对应于该方法的流程图,如图1所示,所述方法包括以下步骤S101至S104:
步骤S101、获取两个待比较知识图谱,其中,所述待比较知识图谱由有向无环图结构构建得到。
在本步骤中,通过构建有上下关联关系的有向无环图结构知识图谱从而建立知识点的上下文联系。具体地,在知识图谱的构建技术中,一般通过抽取实体、属性、关系构建实体的三元关系进而形成原始知识图谱。在本方案中的待比较知识图谱与其区别之处在于,将原始知识图谱转换得到由节点、节点之间的方向构成的基于有向无环图的拓扑结构的知识图谱。通过方向可以知道某一节点的上下文关系,例如,在教育领域中,节点为知识点,上下文关系指的是在学习某一知识点前,需要学习该知识点之前所有的知识点,要学习某一知识点之后的知识点,需要学习过该知识点。
在其中一个实施例中,根据原始知识图谱的节点以及所述节点之间的依赖关系构建基于有向无环图结构的所述待比较知识图谱。
在本实施例中,待比较知识图谱指的是将原始知识图谱转换得到的具有前后依赖关系的有向无环图结构的知识图谱,例如,在教育领域可以根据教学大纲及知识点的先后依赖关系,构建出基于教学内容的有向无环图知识图谱。图2是由有向无环图结构构建得到的线性代数领域的知识图谱示例,如图2所示,在该知识图谱中每一节点表示一个知识点,知识点之间通过单向的有向箭头连接,在图2中,有1条指向“矩阵”的有向边和两条以“矩阵”为尾的有向边,表示在学习“矩阵”知识点前需先学习“线性空间”,学习“特征向量”、“行列式”之前需先学习“矩阵”。
在本实施例中,节点之间的上下文关系由节点间的依赖关系决定,该依赖关系指的是知识点的前后依赖,例如,要学习“特征向量”这一章节的内容,需要先学习过矩阵及矩阵之前的所有知识点的课程,做过相关的题目等。建立前后依赖关系的好处是在比较两个节点相似度时不仅仅基于节点本身的信息进行比较,还能依据节点的上下文特征进行匹配,从而比较得出两个节点的相似度。
在其中一个实施例中,所述待比较知识图谱为进行标准化处理后的形成标准形式的知识图谱。
在本实施例中,标准化处理指的是剪掉原始知识图谱中的冗余数据和噪声数据,避免冗余数据和噪声数据对节点的关联造成影响;并对节点进行补全和对齐,形成知识图谱的标准形式,避免多个知识图谱之间的节点信息和属性信息的表达不一致而导致不能成功匹配。将待自动匹配的两个原始知识图谱进行标准化处理后构建出基于有向无环图结构的待比较知识图谱。此处构建的方法可以是人工标注,也可以通过训练模型实现。
在步骤S101之中,通过将以实体、属性、关系构建实体的三元关系表示原始知识图谱转换成以有向无环图结构表示的待比较知识图谱,并进行标准化处理后,得到的最终的待比较知识图谱通过知识点及知识点间的连接方向表示每个知识点与其他知识点的关联关系,为方便后续计算知识点相似度做准备。
步骤S102、提取两个所述待比较知识图谱的每个节点的特征向量以及每个所述节点的出度和/或入度。
在本步骤中,入度指的是以节点为头的边,出度指的是以节点为尾的边,再次参阅图2,在线性代数领域的知识图谱中,“矩阵”的入度包括“线性空间”,“矩阵”的出度包括“行列式”、“特征向量”;“特征值”的入度包括“特征向量”、“矩阵”、“线性空间”,“特征值”没有出度。
特征向量指的是某一节点的相关信息中,最具表征性的、能够用来表示该节点包含的总体信息的特征。
具体地,特征向量的获取方法包括:获取两个所述待比较知识图谱的每个节点的描述信息,从所述描述信息中提取特征向量。
在本实施例中,描述信息本身不是知识图谱中的节点,而是节点的属性信息,例如在教育领域的知识图谱中,节点为知识点,描述信息包括知识点的定义、描述、分类、相关的题目信息等,节点的描述信息越相近,说明相比较的两个节点也越相似。
在本实施例中,将所述描述信息进行分词处理,得到多个特征词;计算每个所述特征词的TFIDF值,选取TFIDF值高的特征词作为特征向量。
具体地,本实施例通过TF-IDF(Term Frequency-Inverse Document Frequency,词频-逆文件频率)获取特征向量。先将描述信息进行分词,构建N-Gram词袋模型并提取特征,其中N的范围通常是1到3。随后将每个节点作为一个document,每个特征作为term,在其所在的知识图谱范围内计算每个特征的TFIDF值。对每个节点的特征根据TFIDF值进行逆排序,选取TFIDF值最高的K项特征作为该节点的特征,其TFIDF值作为该特征的权重值。
在步骤S102之中,通过获取有向无环图结构的待比较知识图谱的待比较节点、该节点的出度、入度及其特征向量构建出节点的上下文特征。
步骤S103、根据每个所述节点的特征向量以及每个所述节点的出度和/或入度比较任意两个来自不同的所述待比较知识图谱中的所述节点的相似度。
在本步骤中,将任意两个来自于待比较知识图谱中的节点进行上下文特征的相似度,计算得到节点相似度,例如,匹配待比较知识图谱g与待比较知识图谱G时,(a,B)表示G中的a节点上下文特征与g中的b节点上下文特征的相似度,(a,B)值越大,表示两个节点越相似。
在本步骤中,所述出度包括出度深度,所述入度包括入度深度,其中,所述出度深度表示由所述节点往后推进的出度节点级数,所述入度深度表示由所述节点往前追溯的入度节点级数;分别根据每个所述节点的所述出度节点级数、所述入度节点级数确定其出度节点、入度节点。
具体地,图3为知识图谱的入度节点、主节点、出度节点划分示例图。参阅图3,图3左边示出了知识图谱G的划分示例,右边示出了知识图谱g的划分示例。在知识图谱G中节点A的出度包括出度深度,入度包括入度深度,其中入度深度为2时,入度节点为C、D、B,入度深度为1时,入度节点为B;在知识图谱g节点a的入度深度为2时,入度节点为b,c,d,入度深度为1时,入度节点为b,c,出度节点与入度节点的计算方式同理。
在其中一个实施例中,“根据每个所述节点的特征向量以及每个所述节点的出度和/或入度比较任意两个来自不同的所述待比较知识图谱中的节点的相似度”包括:根据每个所述节点的特征向量、出度节点的特征向量和/或入度节点的特征向量计算任意两个来自不同的所述待比较知识图谱中的所述节点的主节点相似度、出度平均相似度和/或入度平均相似度;对所述主节点相似度、所述出度平均相似度和/或所述入度平均相似度进行加权求平均值,得到两个来自不同的所述待比较知识图谱中的所述节点的相似度。
在本实施例中,遍历知识图谱G的所有节点,分别与知识图谱g中的各个节点进行相似度计算。当知识图谱G中的节点nodeG与知识图谱g中的节点nodeg进行相似度计算时,先根据参数设置的入度深度和出度深度在各自的知识图谱中选定相应深度的节点。这些节点包含3种类型:入度节点、主节点、出度节点。随后两个知识图谱中的相同类型节点之间两两计算相似度,即G与g的入度之间两两计算、两个主节点计算、出度之间两两计算,分别求出入度平均相似度、主节点相似度和出度平均相似度。然后根据配置项中预设的权重对上述3个相似度再次进行加权求平均值,作为两个目标节点的最终相似度结果。如下面的计算公式所示,G和g分别代表两个知识图谱, in、node,out分别代表知识图谱中的入度、主节点和出度,ω为权重,count为入度或出度节点的数量。如果待对比的两个主节点均没有入度或均没有出度,则对应的ωin、权重变为0,否则按照正常预设值进行计算。这是为了避免因缺少入度或出度节点导致整体相似度值被降低。两个知识图谱各节点之间的相似度计算公式为:
其中,ωin为入度权重;calc_sim(i,j)为任意两个来自不同知识图谱中的入度节点的相似度,i指的是知识图谱G中的任一入度节点,j指的是知识图谱g中的任一入度节点;count(Gin)为知识图谱G的入度节点数量,count(gin)为知识图谱g的入度节点数量;ωnode为主节点权重;calc_sim(nodeG,nodeg)为主节点相似度;ωout为出度权重;calc_sim(m,n)为任意两个来自不同知识图谱中的出度节点的相似度,m指的是知识图谱G中的任一出度节点,n指的是知识图谱g中的任一出度节点; count(Gout)为知识图谱G的出度节点数量,count(gout)为知识图谱g的出度节点数量。
需要说明的是,calc_sim是两个节点的相似度计算函数,函数的输入是两个节点的特征向量,函数的输出是相似度结果,相似度的值范围在0~1之间,函数体可以选择但不局限于Cosin similarity、Jaccard Index等,本实施例对获取到相似度计算值的函数体不进行限制。
在步骤S103之中,引入节点的出度深度、入度深度计算节点的整体相似度,使得节点间的相似度比较结果更准确。
步骤S104、基于所述相似度确定两个所述待比较知识图谱的节点匹配结果。
在本步骤中,计算某一节点与另一待比较知识图谱各节点之间的相似度,相似度越高表示越匹配。
在其中一个实施例中,“基于所述相似度确定两个所述待比较知识图谱的节点匹配结果”包括:以两个所述待比较知识图谱各节点之间的所述相似度构建相似度矩阵,对所述相似度矩阵的每一行或每一列获取相似度最大值的索引,判断所述相似度最大值是否大于匹配阈值,若是,则与所述相似度最大值对应的两个节点匹配成功。
在本实施例中,相似度小于匹配阈值则匹配不成功;假设匹配阈值设为0.75,(a,B)的相似度超过0.75,但并不意味着(a,B)匹配成功,而是要确保(a,B)的相似度是(a,X)和(Y,B)中相似度最高的才算匹配成功,其中X是知识图谱G中的任意未匹配节点,Y是知识图谱g中的任意未匹配节点。
示例性的,记录两个知识图谱各节点之间的相似度,构建相似度矩阵。相似度高且超过匹配阈值的两个节点优先匹配,匹配后的节点不再参与后续匹配,循环匹配直到结束。例如,表1为知识图谱G和知识图谱g的节点相似度计算示例,在表1中选择当前矩阵中相似度最高的两个节点是(A,d),假设设置的匹配阈值为0.75,则认为两个节点匹配成功。匹配成功的节点A和d不再参与接下来的匹配。在剩余的相似矩阵中重复上述操作,直到两个知识图谱的节点匹配完毕或找不到符合条件的节点为止。例如表1中匹配成功的节点按顺序依次是节点(A,d)、(D,f)、(E,g)、(B,c)、(C,e)。
表1
图4展示了两个知识图谱的节点匹配结果,如图4所示,在知识图谱G中的A,D,E,B,C,分别由知识图谱g中的d,f,g,c,e与其相似度最高且高于匹配阈值,则说明两个节点匹配。
将知识图谱G与g的匹配结果应用于原始知识图谱的学情迁移,则所述节点包括教学知识点,在学情迁移时,知识图谱G中的教学知识点A,D,E,B,C可被迁移到知识图谱g中的d,f,g,c,e中,且原始知识图谱教学中的知识点的定义、描述、分类、题目信息的至少一种也被迁移至知识图谱g中。
需要说明的是,由于两个知识图谱的建立体系、颗粒度、节点数量等可能不同,因此出现无法匹配的剩余节点是正常现象。另外可以根据匹配的精度要求,通过修改出入度深度和匹配阈值的参数来调节匹配结果的精度。
综上,本实施例提供了一种知识图谱的匹配方法,将原始知识图谱转换成具有有向无环图结构的待比较知识图谱,通过两个待比较知识图谱中的知识点的上下文特征来比较两个知识点的相似度,若相似度最高且高于匹配阈值,则两个节点匹配,在学情迁移时可直接由原知识图谱转移到新的知识图谱中。通过上述方式,能够实现两个知识图谱间的自动匹配从而加快图谱中数据的迁移效率。
实施例二
基于相同的技术构思,图5示例性的示出了本发明实施例提供的一种知识图谱的匹配装置,包括:
图谱获取模块201,用于获取两个待比较知识图谱,其中,所述待比较知识图谱由有向无环图结构构建得到。
特征向量提取模块202,用于提取两个所述待比较知识图谱的每个节点的特征向量以及每个所述节点的出度和/或入度。
相似度比较模块203,用于根据每个所述节点的特征向量以及每个所述节点的出度和/或入度比较任意两个来自不同的所述待比较知识图谱中的所述节点的相似度。
节点匹配模块204,用于基于所述相似度确定两个所述待比较知识图谱的节点匹配结果。
实施例三
本实施例还提供了一种电子装置,参考图6,包括存储器504和处理器502,该存储器504中存储有计算机程序,该处理器502被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
具体地,上述处理器502可以包括中央处理器(CPU),或者特定集成电路(ApplicationSpecificIntegratedCircuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
其中,存储器504可以包括用于数据或指令的大容量存储器504。举例来说而非限制,存储器504可包括硬盘驱动器(HardDiskDrive,简称为HDD)、软盘驱动器、固态驱动器(SolidStateDrive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(UniversalSerialBus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器504可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器504可在数据处理装置的内部或外部。在特定实施例中,存储器504是非易失性(Non-Volatile)存储器。在特定实施例中,存储器504包括只读存储器(Read-OnlyMemory,简称为ROM)和随机存取存储器(RandomAccessMemory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(ProgrammableRead-OnlyMemory,简称为PROM)、可擦除PROM(ErasableProgrammableRead-OnlyMemory,简称为EPROM)、电可擦除PROM(ElectricallyErasableProgrammableRead-OnlyMemory,简称为EEPROM)、电可改写ROM(ElectricallyAlterableRead-OnlyMemory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(StaticRandom-AccessMemory,简称为SRAM)或动态随机存取存储器(DynamicRandomAccessMemory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器504(FastPageModeDynamicRandomAccessMemory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(ExtendedDateOutDynamicRandomAccessMemory,简称为EDODRAM)、同步动态随机存取内存(SynchronousDynamicRandom-AccessMemory,简称SDRAM)等。
存储器504可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器502所执行的可能的计算机程序指令。
处理器502通过读取并执行存储器504中存储的计算机程序指令,以实现上述实施例中的任意一种知识图谱的匹配方法。
可选地,上述电子装置还可以包括传输设备506以及输入输出设备508,其中,该传输设备506和上述处理器502连接,该输入输出设备508和上述处理器502连接。
传输设备506可以用来经由一个网络接收或者发送数据。上述的网络具体实例可包括电子装置的通信供应商提供的有线或无线网络。在一个实例中,传输设备包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备506可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
输入输出设备508用于输入或输出信息。例如,上述输入输出设备可以是移动终端、显示屏、音箱、麦克、鼠标、键盘或其他设备。在本实施例中,输入的信息可以是待匹配的知识图谱、节点的定义、描述、分类、题目信息等等,输出的信息可以是知识图谱的主节点的特征向量、节点的上下文特征,匹配方法结果、相似度结果等等。
可选地,在本实施例中,上述处理器502可以被设置为通过计算机程序执行以下步骤:
步骤S101、获取两个待比较知识图谱,其中,所述待比较知识图谱由有向无环图结构构建得到;
步骤S102、提取两个所述待比较知识图谱的每个节点的特征向量以及每个所述节点的出度和/或入度;
步骤S103、根据每个所述节点的特征向量以及每个所述节点的出度和/或入度比较任意两个来自不同的所述待比较知识图谱中的所述节点的相似度;
步骤S104、基于所述相似度确定两个所述待比较知识图谱的节点匹配结果。
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
另外,结合上述实施例中的一种知识图谱的匹配方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种知识图谱的匹配方法。
本领域的技术人员应该明白,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。