用于知识库补全的端到端的结构感知卷积网络
文献发布时间:2023-06-19 10:22:47
相关申请的交叉引用
本申请要求于2018年9月4日提交的美国临时专利申请No.62/726,962的优先权和利益,其全部内容通过引用并入本文。
在本公开的描述中引用和讨论了可能包括专利、专利申请和各种出版物的一些参考文献。提供此类参考文献的引用和/或讨论仅是为了阐明本公开的描述,而不是承认任何此类参考文献是本文描述的公开的“现有技术”。在本说明书中引用和讨论的所有参考文献均通过引用将其全部内容并入本文,其程度与每个参考文献通过引用单独并入的程度相同。
技术领域
本公开总体上涉及知识库(KB),更具体地,涉及使用端到端的结构感知卷积网络(SACN)补全KB的系统和方法。
背景技术
本文提供的背景技术描述是出于从总体上呈现本公开的背景的目的。在该背景技术部分中所描述的范围内,当前署名的发明人的工作以及在递交申请时可能无法视为现有技术的描述内容,既未明确也未暗示将其作为本公开的现有技术。
近年来,已经建立了诸如Freebase、DBpedia、NELL和YAGO3等的大规模知识库(KB),以存储关于共同事实的结构化信息。KB是多关系图,其节点代表实体,边代表实体之间的关系。关系以(s,r,o)三元组的形式进行组织(例如,实体或主体s=Abraham Lincoln,关系r=出生日期,实体或客体o=02-12-1809)。这些KB广泛用于网络搜索、推荐、问题解答等领域。尽管这些KB已经包含有数百万个实体和三元组,但与现有事实和真实世界中新增的知识相比,它们还远远不够完整。因此,已经对知识库的补全进行了积极的研究,以基于现有三元组预测新的三元组,从而进一步扩展KB。
知识库补全最新活跃的研究领域之一是知识图谱嵌入。知识图谱嵌入在连续的低维向量空间中对实体和关系的语义编码(称为嵌入)。然后,将这些嵌入用于新关系预测。从简单有效的TransE方法开始,已经提出了许多知识图谱嵌入方法,例如,TransH、TransR、DistMult、TransD、ComplEx和STransE。许多调查给出了对这些嵌入方法的详细信息和比较。
最新的ConvE模型在多层的嵌入和非线性特征上使用了二维卷积,并在用于知识图谱链接预测的若干个共同基准数据集上实现了目前最高水平的表现。在ConvE中,将s和r的嵌入进行重组(reshape)并串接(concatenate)到输入矩阵中并馈送到卷积层。n×n卷积滤波器用于输出跨不同维度的嵌入实体的特征图。因此,ConvE不能像TransE一样通过加法嵌入向量运算e
此外,ConvE不会将知识图谱中的连接结构合并到嵌入空间中。另一方面,图卷积网络(GCN)最近已成为创建节点嵌入的有效工具,其针对每个节点在图邻域中聚合局部信息。GCN模型还有其他有益效果。GCN模型还可以利用与节点关联的属性。GCN模型可以在针对每个节点计算卷积时施加相同的聚合方案,可以被认为是一种正则化方法,并且还可以提高效率。
因此,在本领域中存在解决上述缺陷和不足的未解决的需求。
发明内容
一方面,本公开涉及一种用于知识库补全的方法,包括:
将知识库编码为实体嵌入和关系嵌入,所述知识库包括实体和所述实体之间的关系,其中,所述实体嵌入基于图卷积网络GCN进行编码,所述图卷积网络针对至少一些不同类型的关系具有不同的权重,所述GCN被称为加权GCN即WGCN;
通过卷积网络对所述嵌入进行解码以进行关系预测,其中,所述卷积网络被配置为将一维1D卷积滤波器应用于所述嵌入,所述卷积网络被称为Conv-TransE;以及
基于所述关系预测,至少部分地补全所述知识库。
在某些实施例中,该方法还包括在训练过程中自适应地学习所述WGCN中的权重。
在某些实施例中,至少一些所述实体具有各自的属性,该方法还包括:在编码时,将所述属性处理为如同所述实体一样的所述知识库中的节点。
在某些实施例中,关系嵌入基于一层神经网络进行编码。
在某些实施例中,各个关系嵌入具有与各个实体嵌入的维度相同的维度。
在某些实施例中,Conv-TransE被配置为保持所述实体与所述关系之间的过渡特性。
在某些实施例中,解码包括:针对所述实体嵌入中的一个实体嵌入作为向量和所述关系嵌入中的一个关系嵌入作为向量的情况,分别在一个实体嵌入和一个关系嵌入上应用内核,以进行1D卷积以得到两个结果向量,以及对所述两个结果向量进行加权求和。
在某些实施例中,该方法还包括:将所述向量中的每个向量补位为补位版本,其中,所述卷积在所述向量的补位版本上执行。
在某些实施例中,该方法还包括:在训练过程中自适应地学习所述内核。
另一方面,本公开涉及一种用于知识库补全的系统,包括计算设备,所述计算设备具有处理器、存储器以及存储有计算机可执行代码的存储设备,其中,计算机可执行代码包括:
编码器,被配置为将知识库编码为实体嵌入和关系嵌入,所述知识库包括实体和所述实体之间的关系,其中,所述实体嵌入基于图卷积网络GCN进行编码,所述图卷积网络针对至少一些不同类型的关系具有不同的权重,所述GCN被称为加权GCN即WGCN;以及
解码器,被配置为通过卷积网络对所述嵌入进行解码以进行关系预测,其中,所述卷积网络被配置为将一维1D卷积滤波器应用于所述嵌入,所述卷积网络被称为Conv-TransE,
其中,所述处理器被配置为基于所述关系预测,至少部分地补全所述知识库。
在某些实施例中,编码器被配置为在训练过程中自适应地学习所述WGCN中的权重。
在某些实施例中,至少一些所述实体具有各自的属性,并且其中,所述编码器被配置为在编码时,将所述属性处理为如同所述实体一样的所述知识库中的节点。
在某些实施例中,编码器被配置为基于一层神经网络对所述关系嵌入进行编码。
在某些实施例中,编码器被配置为将各个关系嵌入与各个实体嵌入编码为具有相同的维度。
在某些实施例中,Conv-TransE被配置为保持所述实体与所述关系之间的过渡特性。
在某些实施例中,解码器被配置为针对所述实体嵌入中的一个实体嵌入作为向量和所述关系嵌入中的一个关系嵌入作为向量的情况,分别在一个实体嵌入和一个关系嵌入上应用内核,以进行1D卷积以得到两个结果向量,以及对所述两个结果向量进行加权求和。
在某些实施例中,解码器还被配置为将所述向量中的每个向量补位为补位版本,其中,所述卷积在所述向量的补位版本上执行。
在某些实施例中,解码器还被配置为在训练过程中自适应地学习所述内核。
另一方面,本公开涉及一种非暂时性计算机可读介质,存储有计算机可执行代码,计算机可执行代码被处理器执行时,被配置为:
将知识库编码为实体嵌入和关系嵌入,所述知识库包括实体和所述实体之间的关系,其中,所述实体嵌入基于图卷积网络GCN进行编码,所述图卷积网络针对至少一些不同类型的关系具有不同的权重,所述GCN被称为加权GCN即WGCN;
通过卷积网络对所述嵌入进行解码以进行关系预测,其中,所述卷积网络被配置为将一维1D卷积滤波器应用于所述嵌入,所述卷积网络被称为Conv-TransE;以及
基于所述关系预测,至少部分地补全所述知识库。
根据以下结合附图及其说明文字对优选实施例的描述,本公开的这些和其他方面将变得显而易见,尽管在不脱离本公开的新颖构思的精神和范围的情况下,其中的变化和修改可能被影响。
附图说明
通过详细描述和附图,将更加全面地理解本公开,在附图中:
图1示意性示出了根据本公开的某些实施例的系统。
图2是KB的示例的简化示意图。
图3是示意性示出了根据本公开的某些实施例的KB补全布置的框图。
图4示意性示出了根据本公开的某些实施例的聚合运算。
图5示意性示出了根据本公开的某些实施例的单个WGCN层。
图6示意性示出了根据本公开的某些实施例的包括串接的L个WGCN层的编码器布置。
图7示意性示出了根据本公开的某些实施例的由单个WGCN层执行的运算的图形表示。
图8示意性示出了根据本公开的某些实施例的解码器布置。
图9示意性示出了根据本公开的某些实施例的由KB补全布置执行的运算的图形表示。
图10A和图10B示出了“Conv-TransE”、“SACN”和“SACN+Attr”模型的收敛。
图11示意性示出了根据本公开的某些实施例的用于知识图谱补全的工作流。
图12示意性示出了根据本公开的某些实施例的计算设备。
具体实施方式
以下示例中更具体地描述了本公开,这些示例仅旨在举例说明,其中的许多修改和变化对本领域技术人员而言是显而易见的。现在详细描述本公开的各种实施例。参考附图,贯穿附图,相同的数字表示相同的部件。如本文的说明中及整个权利要求中所使用的,“一”、“一个”和“所述”的含义包括复数形式,除非上下文另外明确指出。此外,如本文的说明及整个权利要求中所使用的,“在...中”的含义包括“在...中”和“在...上”,除非上下文另外明确指出。此外,为了方便读者,在说明中可能使用标题或副标题,这不会影响本公开的范围。另外,以下对本说明中使用的一些术语进行更具体地定义。
本说明书中使用的术语在本公开的上下文中以及在使用各术语的特定上下文中通常具有其本领域的普通含义。在下文或说明书的其他位置讨论了用于描述本公开的一些术语,以向从业者提供关于本公开的描述的附加指导。应当理解,可以以一种以上的方式陈述同一事物。因此,备选的语言和同义词可用于本文讨论的任何一个或多个术语,术语是否在此阐述或讨论也没有任何特殊意义。在此提供了某些术语的同义词,但一个或多个同义词的列举不排除使用其他同义词。在本说明书中任何位置使用的示例,包括在此讨论的任何术语的示例,仅是示例性的,绝不限制本公开或任何示例性术语的范围和含义。同样,本公开不限于本说明书中给出的各种实施例。
本文中使用的所有术语(包括技术和科学术语)具有与本公开所属领域的普通技术人员通常理解的相同含义,除非另外定义。还应当理解,诸如在常用词典中定义的术语应被解释为具有与它们在相关领域和本公开的上下文中的含义一致的含义,而不应以理想化或过于刻板的方式来解释,除非在本文中明确定义。
如本文所使用的,“大约”、“左右”、“大致”或“接近”应通常是指在给定值或范围的百分之二十以内,优选地为百分之十以内,更优选地为百分之五以内。这里给出的数值是近似的,意指如果没有明确说明,则可以对术语“大约”、“左右”、“大致”或“接近”进行推断。
如本文所使用的,“多个”是指两个或更多个。
如本文所使用的,术语“包括”、“包含”、“承载”、“具有”、“含有”、“涉及”等应被理解为开放式的,即意指包括但不限于。
如本文所使用的,短语“A、B和C中的至少一个”应被解释为表示使用非排他性逻辑“或”的逻辑(A或B或C)。应当理解,在不改变本公开的原理的情况下,可以以不同的顺序(或同时)执行方法内的一个或多个步骤。如本文所使用的,术语“和/或”包括一个或多个相关联的所列项目的任意和所有组合。
如本文所使用的,术语“模块”可以指代以下各项的一部分或包括专用集成电路(ASIC)、电子电路、组合逻辑电路、现场可编程门阵列(FPGA)、执行代码的处理器(共享的、专用的或处理器组)、提供上述功能的其他合适的硬件部件、或上述一些或全部的组合,例如在片上系统中。术语“模块”可以包括存储由处理器执行的代码的存储器(共享的、专用的或存储器组)。
如本文所使用的,术语“代码”可以包括软件、固件和/或微代码,并且可以指代程序、例程、功能、类和/或对象。如上文所使用的,术语“共享”是指可以使用单个(共享)处理器执行来自多个模块的一些或全部代码。另外,来自多个模块的一些或全部代码可以由单个(共享)存储器存储。如上文所使用的,术语“组”是指可以使用一组处理器执行来自单个模块的一些或全部代码。另外,可以使用一组存储器存储来自单个模块的一些或全部代码。
如本文所使用的,术语“接口”通常指代在部件之间的交互点处用于在部件之间执行数据通信的通信工具或装置。通常,接口可以适用于硬件和软件,并且可以是单向接口或双向接口。物理硬件接口的示例可以包括电连接器、总线、端口、缆线、终端和其他I/O设备或部件。与接口通信的部件例如可以是计算机系统的多个部件或外围设备。
本公开涉及计算机系统。如附图所示,计算机部件可以包括物理硬件部件(其被示出为实线框)和虚拟软件部件(其被示出为虚线框)。本领域普通技术人员应理解,除非另外指出,否则这些计算机部件的实现方式实现可以是但不限于软件、固件或硬件部件或三者的任意组合的形式。
本文描述的装置、系统和方法可以由一个或多个处理器执行的一个或多个计算机程序来实现。计算机程序包括存储在非暂时性有形计算机可读介质上的处理器可执行指令。计算机程序还可以包括存储的数据。非暂时性有形计算机可读介质的非限制性示例包括非易失性存储器、磁性存储器和光学存储器。
现在将在下文中参考附图更加全面地描述本公开,在附图中示出了本公开的实施例。然而,本公开可以以许多不同的形式来体现,并且不应被解释为限于本文阐述的实施例;相反,提供这些实施例是为了使本公开透彻和完整,并且向本领域技术人员充分传达本公开的范围。
图1示意性示出了根据本公开的某些实施例的系统。如图1所示,系统100包括网络101以及经由网络101互连的终端设备103、105、107、服务器109、111和数据库113。需要注意的是,这些部件的数量和布置仅用于说明目的。在不脱离本公开的范围的情况下,部件可以具有其他布置和数量。
网络101是用于在例如终端设备103、105、107、服务器109、111和数据库113之间提供通信链路的介质。在一些实施例中,网络101可以包括有线或无线通信链路、光纤、缆线等。在一些实施例中,网络101可以包括互联网、局域网(LAN)、广域网(WAN)或蜂窝电信网络中的至少一种。网络101可以是同构网络或异构网络。
终端设备103、105、107可以被它们各自的用户用于彼此交互,和/或与服务器109、111交互,以例如接收/发送信息。在某些实施例中,终端设备103、105、107中的至少一些可以在其上安装有各种应用(APP),例如,在线购物APP、网络浏览器APP、搜索引擎APP、即时通讯(IM)APP、电子邮件APP以及社交网络APP。在一些实施例中,终端设备103、105、107可以包括具有输入/输出(I/O)设备的电子设备。I/O设备可以包括输入设备(例如,键盘或小键盘)、输出设备(例如,显示器或扬声器)和/或集成输入输出设备(例如,触摸屏)。此类电子设备可以包括但不限于智能电话、平板计算机、膝上型计算机或台式计算机。
服务器109、111是用于提供各种服务的服务器。服务器109、111中的每个服务器可以是通用计算机、大型计算机、分布式计算平台或其任意组合。在某些实施例中,服务器109、111中的任何服务器可以是独立的计算系统或装置,或者可以是较大系统的一部分或子系统。在某些实施例中,服务器109、111中的任意服务器可以通过分布式技术、云技术等实现。因此,服务器109、111中的至少一个不限于所示出的单个集成实体,而是可以包括(例如通过网络101)互连的实体(例如,计算平台、存储设备等),并由此彼此协作以执行例如下文中描述的功能。
在某些实施例中,服务器之一(例如,服务器109)可以包括支持与网页相关的服务(例如,网页浏览)的Web服务器。Web服务器109可以包括一个或多个计算机系统,被配置为通过网络101将诸如网站和媒体文件之类的文档托管和/或提供给终端设备103、105、107中的一个或多个。在一些实施例中,Web服务器109可以通过网络101从终端设备103、105、107中的任何一个接收一个或多个搜索查询。Web服务器109可以包括或可以连接到数据库113和搜索引擎(未示出)。Web服务器109可以通过如下操作来对查询进行响应:从数据库113中定位和搜索数据,生成搜索结果,并通过网络101将搜索结果发送给提交查询的终端设备。
在某些实施例中,服务器之一(例如,服务器111)可以包括知识服务器,该知识服务器支持与知识库(KB)有关的服务,例如,KB建立、KB维护、KB补全等。在某些实施例中,知识服务器111可以实现或提供用于创建和更新KB的一个或多个引擎。知识服务器111可以包括硬件部件、软件部件或其组合,以执行数据挖掘、KB创建和更新、KB补全或其他与KB相关的功能。例如,知识服务器111可以包括一个或多个硬件和/或软件部件,被配置为分析存储在数据库113中的文档以从这些文档中挖掘实体和这些实体之间的实体关系,并基于这些实体和实体关系生成一个或多个KB。知识服务器111的部件可以是专用于其各自功能的专用部件,或是由一些代码或程序配置以执行期望功能的通用部件。
数据库113被配置为存储各种数据。数据库113中存储的数据可以接收自终端设备103、105、107、服务器109、111或任何其他数据源(例如,数据存储介质、用户输入等)中的一个或多个。所存储的数据可以采取各种形式,包括但不限于文本、图像、视频文件、音频文件、网页等。在一些实施例中,数据库113可以存储一个或多个KB,该一个或多个KB可以由知识服务器111来创建和/或更新。
如图所示,数据库113可以包括一个或多个逻辑上和/或物理上分离的数据库。这些数据库中的至少一些数据库可以通过例如网络101互连。每个数据库可以使用一个或多个计算机可读存储介质、存储区域网络等来实现。此外,可以使用诸如SQL、MySQL、DB2之类的各种类型的数据库技术来维护和查询数据库113。
图2是KB的示例的非常简化示意图。如图2所示,KB 200可以包括多个实体(由气泡表示)202以及各个实体202之间的关系204。KB 200可以存储在如图1所示的数据库113中。KB 200也称为知识图谱,在知识图谱中,实体202构成图的节点,关系204构成图的边。如背景技术所述,关系可以以(s,r,o)三元组的形式进行组织。实体之间的已知关系由实线204表示。如图2所示,KB 200可以具有数目众多的已知的关系204,但是一些实体之间的关系可能是未知的。未知关系由虚线206指示。本文中描述的技术可以通过预测至少一些未知关系(关系或链接预测),在一定程度上实现了对KB 200的补全。
链接预测问题可以形式化为逐点学习排序问题,其目的是学习评分函数ψ。给定输入三元组x=(s,r,o),其评分ψ(x)∈R与x编码的事实为真的可能性成正比。
神经链接预测模型可以看作是由编码部件(或“编码器”)和评分部件(或“解码器”)组成的多层神经网络。给定输入三元组(s,r,o),编码部件将实体s,o映射为它们的分布式嵌入表示e
更具体地,可以将图形表示映射到(低维)向量空间表示,称为“嵌入”。知识图谱嵌入学习一直是一个活跃的研究领域,其直接应用于知识库的补全(即链接预测)和关系提取。TransE通过将实体和关系均投影到相同的嵌入向量空间中,并具有平移约束e
最新的KG嵌入模型是ConvE和ConvKB。ConvE是第一个在不同嵌入维度的嵌入上使用二维2D卷积的模型,以期望提取更多的特征交互。而ConvKB提出利用一维1D卷积替换ConvE中的2D卷积,将卷积约束在相同的嵌入维度内,以保持TransE的平移性质。尽管ConvKB显示为优于ConvE,但在两个数据集FB15k-237和WN18RR上的结果并不一致。ConvE和ConvKB的另一个主要区别在于用于训练模型的损失函数。ConvE使用的交叉熵损失可以通过解码器中的1-N评分加速,而ConvKB使用的铰链损失是根据正样例(positive examples)和抽样的负样例(sampled negative examples)计算的。本文提出使用ConvE的解码器,因为可以容易地将图卷积网络(GCN)的编码器和ConvE的解码器集成到一个端到端的训练框架中,而ConvKB不适合本公开的方法。
最新的ConvE模型在嵌入和多层非线性特征上使用了2D卷积,并在用于知识图谱链接预测的若干共同基准数据集上实现了目前最高水平的表现。在ConvE中,将s和r的嵌入进行重组(reshape)并串接(concatenate)到输入矩阵中并馈送到卷积层。在实验中,使用3×3卷积滤波器来输出跨不同维度的嵌入实体的特征图。因此,ConvE不能像TransE一样通过加法嵌入向量运算e
针对知识库补全,这些神经嵌入模型在效率和可伸缩性方面都实现了良好的性能。然而,这些方法仅对关系三元组建模,而忽略了与图节点关联的大量属性,例如,人的年龄或音乐的发布地区。此外,这些模型不在嵌入空间中强加任何大规模结构,即完全忽略知识图谱结构。所提出的结构感知卷积网络(SACN)通过使用图卷积网络(GCN)的变体作为编码器和使用ConvE的变体作为解码器,在端到端的训练框架中来解决这两个问题。
最早提出的GCN是在傅立叶域中定义图卷积运算的。然而,这里的图拉普拉斯算子的本征分解(eigendecomposition)会导致大量的计算。后来,引入了平滑参数光谱滤波器,以实现空间域中的定位和计算效率。最近,通过切比雪夫多项式的一阶近似简化了这些光谱方法。空间图卷积方法直接在图上定义卷积,通过使用邻接矩阵对所有空间上近邻的节点特征求和。
GCN模型最大问题在于伸缩为大图的巨大内存需求。然而,开发了一种称为PinSage的数据有效的GCN算法,该算法结合了有效的随机游走和图卷积,以生成结合了图结构和节点特征信息的节点嵌入。对Pinterest数据的实验是迄今为止最大的深度图嵌入应用,拥有30亿个节点和180亿条边。这一成功为基于GCN的新一代Web级推荐系统创造了条件。因此,相信所提出的模型也可以利用大图结构以及Conv-TransE的高效性。
图3是示意性示出了根据本公开的某些实施例的KB补全布置的框图。图3中所示的框可以由硬件模块、软件部件或二者的组合来实现。因此,图3所示的框图可以是硬件装置的配置,或者是由例如计算设备执行的方法的流程,或二者的混合。因此,将图3所示的框图300称为“布置”。
图3中的布置300包括编码器310。编码器310配置为以知识图谱的形式将输入KB映射或编码为嵌入(即,向量)。这里,考虑无向图G=(V,E),其中V是节点集合,|V|=N(即节点数为N),
知识图谱可以是包括有多种类型的关系的多关系图。根据本公开的某些实施例,多关系图可以被视为多个单关系子图,其中每个子图需要特定类型的关系并且具有各自对应的邻接矩阵。更具体地,基于关系的类型,节点之间的连接结构可以不同。例如,两个节点可以通过它们之间的第一类型的关系彼此关联,但在这两个节点之间没有第二类型的关系。换句话说,这两个节点通过表示第一类型的关系的边连接,但是不通过表示第二类型的关系的边连接。也就是说,在针对第一类型的关系的子图中,这两个节点是相邻的,但是在针对第二类型的关系的子图中是不相邻的。因此,与不同类型的关系相对应的不同子图的邻接矩阵可以不同,进而可以存在与各个子图或各个关系类型相对应的多个邻接矩阵。
根据本公开的某些实施例,图3中的编码器310中配置有GCN。GCN提供了一种通过利用图连通结构学习图节点嵌入的方法。这里,通过在聚合时对至少一些不同类型的关系进行不同权重的加权,来对常规GCN进行扩展。这种扩展可以称为加权GCN或WGCN。WGCN可以控制聚合中使用的相邻节点的信息量。换句话说,WGCN确定在组合GCN嵌入时要赋予每个子图多大权重。可以在WGCN的训练过程中自适应地学习这些权重。
图4示意性示出了根据本公开的某些实施例的据聚合运算。
如图4所示,示出了包括节点A、B、…、H以及它们之间的一些边的简化图。在该图中,仅出于说明目的,讨论的节点A以黑色显示,其他节点B、…、H以灰色显示。在该示例中,节点A连接到节点B、C、D和E中的每个节点或与节点B、C、D和E中的每个节点相邻。如上所述,边AB、AC、AD和AE可以是不同类型的关系。在该示例中,出于说明目的,显示了三种类型的关系,包括边AB和AC所属的r
图5示意性示出了根据本公开的某些实施例的单个WGCN层。如图5所示,WGCN层500被配置为神经网络,更具体地,本质上为如上文所述的图卷积网络。WGCN层500可以接收KB的嵌入,特别是节点的嵌入,作为输入。如上所述,可以针对各个节点执行聚合运算,其中,分别应用与各个类型的关系相对应的各个权重。出于说明的目的,图5通过虚线示出了在3个节点(最左侧的节点)上进行的聚合运算。WGCN层500可以基于激活函数输出各个节点的优化嵌入。根据一些实施例,可以应用丢弃(dropout)以一定概率(丢弃率)丢弃一些神经元。
根据本公开的某些实施例,可以堆叠多个(例如,3个或5个)WGCN层以实现深度GCN模型。图6示意性示出了根据本公开的某些实施例的包括串接的L个WGCN层的编码器布置。
如图6所示,编码器310包括若干WGCN层500-1、500-2、…、500-L,每个层可以如以上结合图5所述进行配置。编码器310的输入311可以包括KB的嵌入(特别地,节点的嵌入),编码器310的输出313可以包括优化的嵌入。
更具体地,第l个WGCN层500-l将来自前一层500-(l-1)的每个节点的长度为F
如上所述,WGCN层500-1、…、500-L中的每个WCGN层计算每个节点的嵌入。WGCN层聚合KB关系中指定的相邻实体节点的嵌入。根据该层中的α
其中
其中,
在方程式(1)中,将所有相邻节点的输入向量相加,而不是节点v
第l层的输出是节点特征矩阵:
可以将上述过程组织为如图7所示的矩阵乘法,以通过邻接矩阵同时计算所有节点的嵌入。对于每个关系(边)类型,邻接矩阵A
其中,I是单位矩阵。通常,A
H
根据一些其他实施例,也可以通过将A与自身相乘来考虑更高阶的邻居。
此外,KB图的至少一些节点通常与若干属性相关联,例如,以(实体,关系,属性)三元组的形式。因此,在KB中既有实体节点又有属性节点。这种三元组的示例可以是(s=Tom,r=群体.个人.性别,a=男),其中性别是与个人相关的属性。如果使用向量来表示节点属性,则可能存在两个问题限制向量的使用。首先,每个节点的属性的数量通常很少,并且一个节点的属性可能与另一节点的属性不同。因此,属性向量将非常稀疏。其次,属性向量中的0值可能具有不明确的含义:节点不具有该特定属性,或者节点缺失该属性的值。0值将影响嵌入的准确性。在这里,提出了一种更好的方法来组合节点属性。
根据某些实施例,实体属性在知识图谱中由另一种称为属性节点的节点集合表示。属性节点充当链接相关实体的“桥梁”。实体嵌入可以通过这些“桥”进行传输,以将实体的属性合并到其嵌入中。因为这些属性表现为三元组,所以以类似于实体在关系三元组中的表示方式来表示属性。然而,每种类型的属性对应一个节点。例如,在以上示例中,性别由单个节点表示,而不是由“男性”和“女性”两个节点表示。这样,WGCN不仅可以在KB图中利用图连通结构(关系和关系类型),而且可以有效地利用节点属性。这就是将WGCN方法被命名为结构感知GCN的原因。
根据某些实施例,通过上述WGCN将KB的节点以及关系编码为它们各自的嵌入。关系嵌入可以具有与实体嵌入相同的维度。换句话说,关系嵌入的维数等于F
布置300还包括解码器320。解码器320被配置为对来自编码器310的嵌入进行解码以对三元组(s,r,o)进行评分,以用于链接预测。根据某些实施例,基于ConvE模型来配置解码器320,同时保持与TransE模型一致的过渡特性。因此,称该模型为Conv-TransE模型。
原始TransE模型直接学习嵌入向量e
图8示意性示出了根据本公开的某些实施例的解码器布置。如图8所示,与ConvE模型类似,解码器320包括(平移)卷积层823和全连接层825。
解码器320的输入821是编码器310的输出,包括节点的嵌入以及关系的嵌入。如果这些嵌入具有与上述相同的维度,则可以堆叠这些嵌入。因此,对于解码器320,输入821包括两个嵌入矩阵:一个
平移卷积层823被配置为对输入嵌入执行卷积运算或将卷积滤波器应用于输入嵌入。ConvE模型具有将每个嵌入向量重组为矩阵形式的重组步骤,以便可以应用二维(2D)卷积滤波器。与ConvE模型不同,平移卷积层823去除了重组步骤,同时将各个嵌入保持为向量形式,以便可以应用一维(1D)卷积滤波器来保持过渡特性。因此,将这一层称为“平移”卷积层。
在卷积运算中,最简单的内核可以是e
根据某些实施例,可以使用小批量随机训练算法。在这种情况下,解码器首先可以对嵌入矩阵执行查找操作,以检索用于小批量中的三元组的输入e
更具体地,给定C个不同的内核,其中第c个内核由ω
其中K是内核宽度,n对输出向量中的项进行索引,n∈[0,F
在上述方程式(6)中,
全连接层825被配置为例如通过将输出向量串接来将特征图矩阵M(e
最后,评分函数定义如下:
ψ(e
其中,f表示非线性函数(由网络实现)。解码器320的输出827可以是三元组(s,r,o)的评分,或者也可以是实体s和o通过关系r彼此相关联的事实为真的概率。
在解码器320中,卷积滤波器和矩阵W的参数可以独立于实体s和o以及关系r的参数。
在训练过程中,将logistic sigmoid函数σ应用于评分,即p(e
其中,t是标签向量,对于1对1评分,维度为R
在表1中,总结了几种最新模型使用的评分函数。向量e
表1:评分函数
图9示意性示出了根据本公开的某些实施例的由布置300执行的运算的图形表示。如图9所示,对于编码器,多个WGCN层的堆叠构建了一个深度节点嵌入模型,以获取实体/节点嵌入矩阵。此外,关系/边嵌入矩阵是通过一个一层的神经网络学习的。对于解码器,将e
这里,应当注意,由方程式(6)表示的卷积在图9中被示出为两个分开的运算,一个用于在各嵌入e
根据实施例,提出的SACN模型利用了知识图谱节点连通性、节点属性和关系类型。WGCN中的可学习的权重有助于从相邻图节点收集自适应信息量。节点属性被添加为附加节点,并容易地集成到WGCN中。另外,Conv-TransE保持实体和关系之间的过渡特性,以学习用于链接预测任务的平移嵌入。
提出的SCAN模型在一些数据集上进行了测试。这里,使用了三个基准数据集(FB15k-237、WN18RR和FB15k-237-Attr)来评估链接预测的性能。
FB15k-237FB15k-237数据集包含有知识库关系三元组和Freebase实体对的文字说明。知识库三元组源自Freebase,是FB15K的子集。去除了FB15k-237中的逆关系。
WN18RR WN18RR是从WN18创建的,是WordNet的子集。WN18由18个关系和40,943个实体组成。然而,许多文本三元组是通过将训练集中的三元组反转获得的。因此,创建WN18RR数据集是为了确保评估数据集不包含逆关系,能够测试泄漏。WN18RR包含有93,003个三元组,其中包含40,943个实体和11个关系。
先前的大多数方法仅对实体和关系进行建模,而忽略了大量实体的属性信息。本公开的方法可以容易地对大量实体属性三元组进行建模。为了证明有效性,从FB24k数据集中提取属性三元组,以构建评估数据集,称为FB15k-237-Attr。
FB24k FB24k基于Freebase数据集构建。FB24k仅选择出现至少30个三元组的实体和关系。实体数量为23634,关系数量为673。此外,从原始数据集中去除了逆关系。在FB24k数据集中,提供了属性三元组。FB24k包含有207,151个属性三元组和314个属性。
FB15k-237-Attr从FB24k中提取FB15k-237中实体的属性三元组。在映射期间,来自原始14,541个实体的7,589个节点具有节点属性。最后,从FB24k中提取了78334个属性三元组。这些三元组包括203个属性和247个关系。基于这些属性三元组,创建了FB15k-237-Attr数据集,其中包括14,541个实体节点、203个属性节点、484个关系。所有的78334个属性三元组都与来自FB15k-237的训练边集合组合。
表2:数据集统计
Conv-TransE、SACN模型的超参数由训练期间的网格搜索确定。手动地指定超参数范围:学习率{0.01,0.005,0.003,0.001}、丢弃率{0.0,0.1,0.2,0.3,0.4;0.5}、嵌入大小{100,200,300}、内核数量{50,100,200,300}和内核大小{1×2,3×2,5×2}。3×2内核意味着利用1×3内核单独计算卷积,然后对两个得到的向量进行加权求和。
这里,所有模型都使用两层WGCN。对于不同的数据集,获得出色表现的组合超参数设置是不同的。对于FB15k-237,将SACN的丢弃率设置为0.2,将内核数量设置为100,将学习率设置为0.003,并将嵌入大小设置为200。如果运行Conv-TransE模型,则将嵌入大小降为100,将内核数量降为50,并将丢弃率提高到0.4。当使用FB15k-237-Attr数据集时,将丢弃率提高到0.3,并将内核数量增加到300。对于WN18RR数据集,将超参数中的丢弃率设置为0.2,内核数量设置为300,学习率设置为0.003,嵌入大小设置为200,以使SACN表现良好。使用Conv-TransE模型时,相同的设置仍然表现良好。
与ConvE相同,每个数据都拆分为训练、验证和测试三个集合。使用Adam(Adadptive Moment)算法来训练模型。该模型由PyTorch实施,并在具有NVIDIA Tesla P40图形处理单元(GPU)的Red Hat Linux 4.8.5系统上运行。
评估协议实验使用排名在前1、3和10(Hits@1、Hits@3、Hits@10)的正确实体比例和平均倒数排名(MRR)作为度量。此外,由于知识图谱中可能存在一些损坏的三元组,因此使用过滤后的设置,即在排名之前筛选出所有有效的三元组。
链接预测表3中示出了在标准FB15k-237、WN18RR和FB15k-237-Attr上的结果。表3报告了四种不同基础模型和本公开中两个模型在三个知识图谱数据集上的Hits@10、Hits@3、Hits@1和MRR结果。FB15k-237-Attr数据集用于证明节点属性的有效性。因此,在FB15k-237-Attr中运行SACN,以在FB15k-237上比较SACN的结果。
表3:针对FB15k-237、WN18RR和FB15k-237Attr数据集的连接预测
注:DisMult(Yang等人,2014);ComplEx(Trouillon等人,2016);R-GCN(Schlichtkrull等人,2018),ConvE(Dettmers等人,2017).
首先,将Conv-TransE模型与四个基础模型进行比较。通过比较所有基础方法,ConvE的性能最优。在FB15k-237数据集中,Conv-TransE模型在测试中,将ConvE在Hits@10上提高了4.1%,将ConvE在Hits@3上提高了5.7%。在WN18RR数据集中,Conv-TransE在测试中,将ConvE在Hits@10上提高了8.3%,将ConvE在Hits@3上提高了9.3%。基于这些结果,得出使用神经网络的Conv-TransE保留了实体和关系之间的过渡特性,并获得了更好的性能。
其次,将结构信息添加到本公开的SACN模型中。在表3中,通过比较所有基础方法,SACN在测试数据集中也获得了较好的表现。在FB15k-237中,与ConvE相比,SACN模型在测试中,将Hits@10值提高了10.2%,将Hits@3值提高了11.4%,将Hits@1值提高了8.3%,将MRR值提高了9.4%。在WN18RR数据集中,与ConvE相比,SACN模型在测试中,将Hits@10值提高了12.5%,将Hits@3值提高了11.6%,将Hits@1值提高了10.3%,将MRR值提高了2.2%。
接下来,将节点属性添加到SACN模型中,即,使用FB15k-237-Attr来训练模型。性能再次得到改进。本公开的模型通过属性,将ConvE的Hits@10提高了12.2%,将Hits@3提高了14.3%,将Hits@1提高了12.5%,并将MRR提高了12.5%。
收敛分析图10A和图10B示出了“Conv-TransE”、“SACN”和“SACN+Attr”模型的收敛。可以看出,经过几个相延(epoch)后,SACN(红线)总是比Conv-TransE(黄线)更优。在大约120个相延后,SACN的性能仍在不断提高。然而,Conv-TransE的最优表现在120个相延左右。这两个模型之间的差距证明了结构信息是有用的。使用FB15k-237-Attr数据集时,“SACN+Attr”的性能要优于“SACN”模型。
内核大小分析在表4中,在模型中检查了不同的内核大小。“1×2”的内核是指在实体向量的一个属性和关系向量的对应属性之间平移知识或信息。如果将内核大小增加到“s×2”,其中s={1,3,5},则会在实体向量中的s个属性的组合与关系向量中的s个属性的组合之间平移信息。如表4所示,收集属性信息的大图有助于提高性能。可以通过在FB15k-237和FB15k-237-Attr数据集中增加内核大小来改进Hits@1、Hits@3、Hits@10和MRR的所有值。然而,最佳内核大小可以取决于任务。
表4:FB15k-237和FB15k-237-Attr数据集的内核大小分析“SACN+Attr”指使用FB15k-237-Attr数据集的SACN
节点入度分析知识图谱中节点的入度是连接到该节点的边数。入度较大的节点意味着其具有更多的相邻节点,相比其他入度较小的节点,这类节点可以接收更多的信息。如表5所示,针对不同的入度范围,有不同的节点集。计算Hits@10和Hits@3的平均评分。随着入度范围的增加,Hits@10和Hits@3的平均值将会增加。另外,入度较小的节点将受益于SACN模型。例如,参考节点入度范围[1,100],SACN的Hits@10和Hits@3优于Conv-TransE模型。原因是较小入度的节点通过利用知识图谱结构进行节点嵌入的WGCN获取全局信息。
表5:使用FB15k-237数据集进行节点入度研究
引入端到端的结构感知卷积网络(SACN)。编码网络是利用知识图谱连通结构、节点属性和关系类型的加权图卷积网络。WGCN具有可学习的权重,并且具有从相邻图节点收集自适应的信息量的优势。另外,将节点属性添加为图的节点,以便将属性转换为知识结构信息,该信息易于集成到节点嵌入中。SACN的评分网络是卷积神经模型,称为Conv-TransE。该模型使用卷积网络将关系建模为平移运算,并获取实体和关系之间的过渡特性。本公开还证明了Conv-TransE本身已经达到了最优的性能。与诸如ConvE之类的最新模型相比,SACN的性能提高约10%。
图11是根据本公开的某些实施例的用于知识图谱补全的工作流的概览。如图11所示,SACN工作流包括加权图卷积网络(WGCN)作为编码器和Conv-TransE作为解码器。来自KG的原始图用作WGCN编码器的输入。原始图可以包括用于不同边类型的图邻接矩阵和图节点特征矩阵。编码器可以将多关系KB图视为多个单关系子图;使用可学习的加权邻接矩阵来控制来自相邻节点的信息量;并基于图结构更新节点嵌入。利用知识图谱节点结构,编码器通过关系类型学习两个相邻节点之间的交互强度,并利用图节点的属性,得到并输出节点嵌入矩阵。
Conv-TransE用作解码器。解码器是参数有效的卷积神经网络模型,计算速度快。解码器保留实体和关系之间的过渡特性。例如,解码器的输入是节点“自由女神像”的嵌入和边“位于”的嵌入。层学些针对(自由女神像,位于)的若干个嵌入,并通过全连接层将它们组合为嵌入。神经网络预测尾部实体并输出其他节点的概率。如果概率最高的节点是“纽约”,则意味着预测链接正确(自由女神像,位于,纽约)。
本公开的SACN模型是端到端的神经网络模型,以利用图结构并保留用于知识图谱/库补全的平移特性。
图12示意性示出了根据本公开的某些实施例的计算设备。如图12所示,计算设备1200包括中央处理单元(CPU)1201。CPU 1201被配置为根据存储在只读存储器(ROM)1202中或从存储器1208加载到随机存取存储器(RAM)1203中的程序执行各种动作和处理。RAM1203具有计算设备1200的操作所需的各种程序和数据。CPU 1201、ROM 1202和RAM 1203经由总线1204彼此互连。此外,I/O接口1205连接到总线1204。
在某些实施例中,计算设备1200还包括以下中的至少一个或多个:输入设备1206(例如,键盘或鼠标)、输出设备1207(例如,液晶显示器(LCD)、发光二极管(LED)、有机发光二极管(OLED)或扬声器)、存储器1208(例如,硬盘驱动器(HDD))和通信接口1209(例如,LAN卡或调制解调器)。通信接口1209连接到I/O接口1205,通信接口1209通过诸如互联网之类的网络进行通信。在某些实施例中,驱动器1210也连接到I/O接口1205。可拆卸介质1211(例如,HDD、光盘或半导体存储器)可以被安装在驱动器1210上,从而可以将存储在驱动器1210上的程序安装到存储器1208中。
在某些实施例中,本文描述的处理流程可以以软件实现。软件可以经由通信接口1209从网络下载或从可拆卸介质1211读取,然后安装在计算设备中。当运行软件时,计算设备1200将执行处理流程。
在另一方面,本公开涉及一种存储计算机可执行代码的非暂时性计算机可读介质。当代码在系统的一个或多个处理器处执行时,可以执行如上所述的方法。在某些实施例中,非暂时性计算机可读介质可以包括但不限于任何物理或虚拟存储介质。
前述示例性实施例的描述仅出于说明和描述的目的给出了本公开,而不旨在穷举或将本公开限制为所公开的精确形式。根据以上教导,许多修改和变化是可能的。
选择和描述实施例是为了解释本公开的原理及其实际应用,以便使本领域的其他技术人员能够利用本公开和各种实施例并进行各种修改,以适合于预期的特定用途。在不脱离本公开的精神和范围的情况下,备选实施例对于本公开所属领域的技术人员将变得显而易见。因此,本公开的范围由所附权利要求而不是前述说明和其中描述的示例性实施例限定。
- 用于知识库补全的端到端的结构感知卷积网络
- 用于为时间感知的端到端分组流网络提供网络安全性的方法和装置