使用胶囊神经网络构建知识图谱的系统与方法与流程
未命名
08-15
阅读:72
评论:0
使用胶囊神经网络构建知识图谱的系统与方法
1.交叉引用
2.本公开要求于2020年12月9日提交的美国专利申请no.17/116,906的优先权,其全部内容通过引用并入本文。
3.在本公开的描述中引用和讨论了一些参考文献,其可能包括专利、专利申请和各种出版物。提供此类参考文献的引用和/或讨论仅用于阐明本公开的描述,并不承认任何此类参考文献相对于本公开是现有技术。在本说明书中引用的或讨论的所有参考文献通过引用整体并入本文,并且与每篇参考文献通过引用单独并入的程度相同。
技术领域
4.本公开总体上涉及自然语言处理领域,更具体地,涉及使用胶囊神经网络从非结构化文本构建知识图谱的系统和方法。
背景技术:
5.本文提供的背景描述是为了概括地呈现本公开的上下文。在本背景部分描述的范围内,目前发明人的工作、以及在提交申请时可能不符合已有技术的描述方面,既不明确也不隐含地承认为相对于本公开是已有的。
6.知识图谱(kg,knowledge graph)表示实体(真实世界的对象、事件、情境或抽象概念)的相互链接的描述的集合。它们实现了自动化推理,例如,能够从观察到的证据中推断出未观察到的事实,并进行逻辑“跳跃”,并使数据适于在图谱分析中工作数十年。如今,知识图谱是我们日常生活中使用的许多工具的核心,例如语音助手(alexa、siri或谷歌助手)、直观搜索应用程序(谷歌、百度)和在线商店推荐程序(亚马逊、京东)。构建和使用知识图谱已被证明对许多与语言学和社会科学相关的计算任务有效。例如,结构化的知识被用作生成可解释和可控文本的种子。然而,由于设计和集成所有复杂组件(包括实体提取、关系提取、以及缺失链接预测)的系统复杂性,从非结构化文本构建kg是具有挑战性的。
7.知识图谱构造[1]-[3]通常考虑以下任务:1)知识识别,2)实体映射,3)三元组提取,以及4)谓词映射。尽管这些系统将大量信息提取到知识图谱中,但它们错过了链接预测和推断,它们构建的kg远未完整。
[0008]
此外,这些现有的系统和方法分别为每个任务设计和实现算法和模型,并将任务松散地连接到流水线中。通常,这样的系统构建过程包括3个步骤:1)分别用带注释的数据集训练每个模型;2)对非结构化文本数据集进行处理,并对提取的实体和关系进行集成,将它们存储为三元组;以及3)基于提取的三元组推理新知识。每个组件独立工作,每个步骤中的错误都会传播到下游步骤。此外,整个系统的复杂性很高。
[0009]
对于缺失链接预测任务,许多方法,例如transe[4]、transh[5]、transr[2]、transd[6]、stranse[7]、transparse[8]、dismult[9]、complex[10]以及capse[11],都提出了学习将实体和关系表示为向量的嵌入模型。基于所学习的向量表示,与无效三元组相比,有效三元组获得更高的合理性分数。然而,除了capse[11]之外,这些嵌入模型使用包括加
法、减法或乘法在内的直接运算符来编码实体之间的线性关系,这可能是不够的。另一方面,capse使用动态路由算法在两个胶囊层之间动态路由信息。由于高级实体的复杂的各种语义表面形式,这不足以从低级实体高质量地构建高级实体。
[0010]
因此,本领域存在解决上述缺陷和不足的未解决需求。
技术实现要素:
[0011]
在某些方面,本公开涉及一种用于知识图谱构建和用于使用知识图谱的系统。在某些实施例中,该系统包括计算设备。计算设备包括处理器和存储计算机可执行代码的存储设备。计算机可执行代码在处理器处执行时被配置为:
[0012]
提供第一数量的实体、第二数量的关系、以及多个文档,多个文档中的每个文档包括至少一个句子;
[0013]
将至少一个句子中的每个句子转换为第三数量的句子嵌入,即第三数量的句子嵌入层;
[0014]
形成第三数量的初级胶囊层,第三数量的初级胶囊层中的每个初级胶囊层对应于第三数量的句子嵌入中的一个句子嵌入(在某些实施例中,第三数量的句子嵌入层被直接视为第三数量的初级胶囊层);
[0015]
使用集合变换器从第三数量的初级胶囊层学习第一数量的实体胶囊层和第二数量的关系胶囊层,来自第一数量的实体胶囊层的第i实体和第j实体和来自第二数量的关系胶囊层的第m关系形成头实体-尾实体-关系三元组,其中,i,j和m是正整数,i和j可以在几百到几千或更多的范围内,m可以在3~50的范围内;
[0016]
将实体空间中的第i实体投影到第m关系空间中以形成第i投影、将实体空间内的第j实体投影进第m关系空间以形成第j投影,并且如果第i投影(向量)和第m个关系(向量)的和基本上等于第j投影(向量),则确定第i实体和第j实体存在第m关系,其中,存在一个实体空间和第二数量的关系空间;以及
[0017]
使用所确定的三元组来构建知识图谱,例如第i实体、第j实体和第m关系三元组。
[0018]
在某些实施例中,集合变换器包括编码器和解码器,编码器包括多个自注意力块(sab),解码器包括多头注意力池化(pma)块和多个sba。
[0019]
在某些实施例中,计算机可执行代码被配置为使用投影矩阵将第i实体和第j实体投影到第m关系空间中,投影矩阵在由计算机可执行代码定义的整个模型的训练期间被学习。
[0020]
在某些实施例中,计算机可执行代码被配置为通过以下方式将至少一个句子中的每个句子转换为第三数量的句子嵌入:
[0021]
将所述至少一个句子中的分词编码为多个独热向量,多个独热向量中的每个独热向量对应于至少一个句子中的一个分词,其中,分词包括词和可选的标点;
[0022]
将多个独热向量中的每个独热向量嵌入到词嵌入中;
[0023]
对词嵌入执行lstm以获得多个特征向量,每个特征向量对应于所述至少一个句子中的一个分词;以及
[0024]
对多个特征向量执行自结构注意,以获得第三数量的句子嵌入(句子嵌入层)。
[0025]
在某些实施例中,使用word2vec来执行将多个独热向量中的每个独热向量嵌入到
词嵌入中的步骤。
[0026]
在某些实施例中,计算机可执行代码被配置为通过以下方式将至少一个句子中的每个句子转换为第三数量的句子嵌入:
[0027]
将至少一个句子中的分词编码为多个独热向量,多个独热向量中的每个独热向量对应于至少一个句子中的一个分词,其中,分词包括词和可选的标点;
[0028]
通过变换器变换独热向量以获得多个特征向量,每个特征向量对应于至少一个句子中的一个分词;以及
[0029]
对多个特征向量执行自结构注意,以获得第三数量的句子嵌入。
[0030]
在某些实施例中,变换器包括基于变换器的双向编码器表示(bert)。
[0031]
在某些实施例中,多个文档是产品描述,实体是多个产品,关系包括多个产品之间的匹配关系,计算机可执行代码还被配置为:
[0032]
在接收到查询产品时,使用查询产品查询知识图谱,以获得与查询产品对应的查询实体以及与查询实体具有匹配关系的匹配实体;以及
[0033]
向查询产品提供匹配产品,其中,匹配产品对应于匹配实体。
[0034]
匹配实体的编号可以是一个或多个。在某些实施例中,查询产品和若干匹配产品形成一套服装。
[0035]
在某些实施例中,多个文档是产品问题和回答,实体是多个产品问题和多个产品回答,关系包括将多个产品回答中的一个产品回答链接到多个产品问题中的一个产品问题的真实关系,计算机可执行代码还被配置为:
[0036]
在接收到产品问题时,使用产品问题查询知识图谱以获得一个产品问题实体,并获得产品回答实体中与产品问题实体具有真实关系的产品回答实体;以及
[0037]
提供对产品问题的回答,其中,回答对应于一个产品回答实体。
[0038]
在某些实施例中,多个文档是产品服务请求和回答,实体是多个产品服务请求实体和多个产品服务回答实体,关系包括将多个产品服务请求实体中的一个产品服务请求实体链接到多个产品服务回答实体中的一个产品服务回答实体的真实关系,计算机可执行代码还被配置为:
[0039]
在接收到产品服务请求时,使用产品服务请求查询知识图谱以获得产品服务请求实体中的一个产品服务请求实体,并获得产品服务回答实体中与产品服务请求实体具有真实关系的产品服务回答实体;以及
[0040]
提供对产品服务请求的回答,其中,回答对应于产品服务回答实体。
[0041]
在某些方面,本公开涉及一种方法。在某些实施例中,该方法包括:
[0042]
通过计算设备提供第一数量的实体、第二数量的关系、以及多个文档,多个文档中的每个文档包括至少一个句子;
[0043]
通过计算设备将至少一个句子中的每个句子转换为第三数量的句子嵌入,即第三数量的句子嵌入层;
[0044]
通过计算设备形成第三数量的初级胶囊层,第三数量的初级胶囊层中的每个初级胶囊层对应于第三数量的句子嵌入中的一个句子嵌入(在某些实施例中,第三数量的句子嵌入层被直接视为第三数量的初级胶囊层);
[0045]
通过计算设备使用集合变换器从第三数量的初级胶囊层学习第一数量的实体胶
囊层和第二数量的关系胶囊层,来自第一数量的实体胶囊层的第i实体和第j实体和来自第二数量的关系胶囊层的第m关系形成头实体-尾实体-关系三元组;
[0046]
通过计算设备将实体空间中的第i实体投影到第m关系空间中以形成第i投影,将实体空间中的第j实体投影到第m关系空间中以形成第j个投影,如果第i投影(向量)和m关系(向量)的和基本上等于第j投影(向量),则确定第i实体和第j实体存在第m关系;以及
[0047]
使用所确定的三元组来构建知识图谱,其中,三元组中的头实体和尾实体在三元组中具有对应关系。
[0048]
在某些实施例中,集合变换器包括编码器和解码器,编码器包括多个自注意力块(sab),解码器包括多头注意力池化pma块和多个sba。
[0049]
在某些实施例中,将至少一个句子中的每个句子转换为第三数量的句子嵌入的步骤包括:
[0050]
将至少一个句子中的分词编码为多个独热向量,多个独热向量中的每个独热向量对应于所述至少一个句子中的一个分词,其中,分词包括词和可选的标点;
[0051]
将多个独热向量中的每个独热向量嵌入到词嵌入中;
[0052]
对词嵌入执行lstm以获得多个特征向量,每个特征向量对应于至少一个句子中的一个分词;以及
[0053]
对多个特征向量执行自结构注意,以获得第三数量的句子嵌入,即第三数量的句子嵌入层。
[0054]
在某些实施例中,将至少一个句子中的每个句子转换为第三数量的句子嵌入的步骤包括:
[0055]
将至少一个句子中的分词编码为多个独热向量,多个独热向量中的每个独热向量对应于至少一个句子中的一个分词,其中,分词包括词和标点;
[0056]
通过变换器变换独热向量以获得多个特征向量,每个特征向量对应于至少一个句子中的一个词;以及
[0057]
对多个特征向量执行自结构注意,以获得第三数量的句子嵌入,即第三数量的句子嵌入层。
[0058]
在某些实施例中,多个文档是诸如服装匹配之类的产品描述,实体是多个产品,关系包括多个产品之间的匹配关系,方法还包括:
[0059]
在接收到查询产品时,使用查询产品查询知识图谱,以获得与查询产品相对应的查询实体以及与查询实体具有匹配关系的至少一个匹配实体;以及
[0060]
提供与至少一个匹配实体相对应的匹配产品。
[0061]
在某些实施例中,多个文档是产品问题和回答,实体是多个产品问题和多个产品回答,关系包括将多个产品回答中的一个产品回答链接到多个产品问题中的一个产品问题的真实关系,方法还包括:
[0062]
在接收到产品问题时,使用产品间题查询知识图谱以获得产品问题实体中的一个产品问题实体,并获得产品回答实体中与产品问题实体具有真实关系的产品回答实体;以及
[0063]
提供对产品问题的回答,其中,回答对应于产品回答实体。
[0064]
在某些实施例中,多个文档是产品服务请求和回答,实体是多个产品服务请求实
体和多个产品服务回答实体,关系包括将多个产品服务请求实体中的一个产品服务请求实体链接到多个产品服务回答实体中的一个产品服务回答实体的真实关系,方法还包括:
[0065]
在接收到产品服务请求时,使用产品服务请求查询知识图谱以获得与产品服务请求对应的一个产品服务请求实体,并获得产品服务回答实体中与产品服务请求实体中具有真实关系的产品服务回答实体;以及
[0066]
提供对产品服务请求的回答,其中,回答对应于产品服务回答实体。
[0067]
在某些方面,本公开涉及存储计算机可执行代码的非暂时性计算机可读介质。在某些实施例中,计算机可执行代码在计算设备的处理器处执行时被配置为执行上述方法。
[0068]
本公开的这些和其他方面将从以下结合以下附图及其说明的优选实施方案的描述中变得清楚,尽管在不偏离本公开的新颖概念的精神和范围的情况下其中的变体和修改可能会受到影响。
附图说明
[0069]
通过详细描述和附图将更加充分地理解本公开。这些附图示出了本公开的一个或多个实施例,并且与书面描述一起用于解释本公开的原理。在可能的情况下,在整个附图中使用相同的附图标记来指代实施例的相同或相似的组件,在附图中:
[0070]
图1示意性地示出了根据本公开的某些实施例的用于知识图谱构建和利用的系统。
[0071]
图2示意性地示出了根据本公开的某些实施例的知识学习模块的架构。
[0072]
图3示意性地示出了根据本公开的某些实施例的关系推断机制。
[0073]
图4示意性地示出了根据本公开的某些实施例的知识图谱学习的训练。
[0074]
图5示意性地示出了根据本公开的某些实施例的知识图谱的构造或完成以及使用该知识图谱。
具体实施方式
[0075]
在以下示例中更具体地描述本公开,这些示例仅旨在作为说明,因为其中的许多修改和变化对本领域技术人员来说将是显而易见的。现在详细描述本公开的各种实施例。参考附图,在整套附图中,相同的数词(如果有的话)指示相同的组件。
[0076]
本说明书中使用的术语在本领域中、在本公开的上下文中以及在使用每个术语的特定上下文中通常具有它们的普通含义。除非另有定义,本文使用的所有技术术语和科学术语具有与本公开内容所属领域的普通技术人员通常理解的相同的含义。在冲突的情况下,以包括定义的本文为准。用于描述本公开的某些术语在下文或说明书中的其他地方讨论,以向从业者提供关于本公开的描述的额外指导。为了方便起见,可以突出显示某些术语,例如使用斜体和/或引号。使用突出显示对术语的范围和含义没有影响;在相同的上下文中,无论是否突出显示,术语的范围和含义都是相同的。可以理解,同样的事情可以用不止一种方式表达出来。因此,替代语言和同义词可用于此处讨论的任何一个或多个术语,一个或多个同义词的使用不排除使用其他同义词。本说明书中任何地方的示例的使用,包括本文讨论的任何术语的示例,仅是说明性的,决不限制本公开内容或任何示例性术语的范围和含义。同样,本公开不限于本说明书中给出的各种实施例。
[0077]
除非上下文另有明确规定,否则本文的描述中和整个权利要求中所使用“一个”、“一”和“所述”的含义包括复数。如本文所述,术语“包含”、“包括”、“携带”、“具有”、“含有”、“涉及”等应理解为开放式的,即意味着包括但不限于。
[0078]
如本文所述,短语a、b和c中的至少一个应解释为表示逻辑(a或b或c),使用非排外性逻辑或(or)。应当理解,在不改变本公开的原理的情况下,方法内的一个或多个步骤可以以不同的顺序(或同时)执行。
[0079]
如本文所述,术语“模块”或“单元”可以指示属于或包括专用集成电路(application specific integrated circuit,asic);电子电路;组合逻辑电路;现场可编程门阵列(field programmable gate array,fpga);执行代码的(共享的、专用的或组)处理器;提供所描述功能的其他合适的硬件组件;或以上部分或全部的组合,例如在片上系统中。术语模块或单元可以包括存储由处理器执行的代码的(共享的、专用的或组)存储器。
[0080]
本文使用的术语“代码”可以包括软件、固件和/或微代码,并且可以指代程序、例程、函数、类和/或对象。上面使用的术语“共享”意味着可以使用单个(共享)处理器执行来自多个模块的一些代码或所有代码。此外,来自多个模块的一些代码或所有代码可以存储在单个(共享)存储器中。上面使用的术语“组”意味着可以使用处理器组执行来自单个模块的一些代码或所有代码。此外,可以使用存储器组来存储来自单个模块的一些代码或所有代码。
[0081]
如本文所述,术语“接口”通常是指在组件之间的交互点处用于执行组件之间的数据通信的通信工具或装置。一般而言,接口可以既适用在硬件层面又适用在软件层面,且接口可以是单向接口或双向接口。物理硬件接口的示例可以包括电连接器、总线、端口、电缆、端子和其他i/o(input/output)设备或组件。例如,与接口通信的组件可以是计算机系统的多个组件或外围设备。
[0082]
本公开涉及计算机系统。如附图所示,计算机组件可以包括物理硬件组件,其使用实线框示出,以及虚拟软件组件,其使用虚线框示出。本领域普通技术人员将理解,除非另有说明,否则这些计算机组件可以以软件、固件或硬件组件或其组合的形式来实现,但不限于这些形式。
[0083]
本文描述的装置、系统和方法可以通过由一个或多个处理器执行的一个或多个计算机程序来实现。计算机程序包括存储在非暂时性有形计算机可读介质上的可由处理器执行的指令。计算机程序还可包括存储的数据。非暂时性有形计算机可读介质的非限制性示例是非易失性存储器、磁存储和光存储。
[0084]
在下文中参考附图更全面地描述本公开,其中示出了本公开的实施例。然而,本公开可以以许多不同的形式体现并且不应被解释为限于这里阐述的实施例;相反,提供这些实施例是为了使本公开彻底和完整,并将本公开的范围充分传达给本领域技术人员。
[0085]
在某些方面,本公开提供了一种集成知识识别、映射、三元组提取、以及缺失链接预测和推断的统一框架。该统一框架创造性地结合了胶囊网络、集合变换器、实体和关系空间以从非结构化文本中构建知识图谱(kg)。本公开用胶囊神经元表示知识图谱中的实体和关系,用集合变换器学习嵌入,并预测统一框架中缺失的链接。集合变换器负责从低级实体和关系构建高级实体和关系。胶囊网络和集合变换器使系统能够有效地处理各种语义表面形式以及复杂实体和关系之间的交互。基于该表示,本公开还提供了一种学习策略,该学习
策略为相应的神经网络提供了同时自动学习知识图谱中实体和关系的表示的能力。胶囊网络、集合变换器以及分离的实体和关系空间的使用在kg构建中优于相关技术。
[0086]
图1示意性地示出了根据本公开的某些实施例的用于知识图谱构建和利用的系统。如图1所示,系统100包括计算设备110。在某些实施例中,计算设备110可以是生成内容计划的服务器计算机、集群、云计算机、通用计算机、无头计算机或专用计算机。计算设备110可以包括但不限于处理器112、存储器114和存储设备116。在某些实施例中,计算设备110可以包括其他硬件组件和软件组件(未示出)以执行其相应的任务。这些硬件组件和软件组件的示例可以包括但不限于其他所需的存储器、接口、总线、输入/输出(i/o)模块或设备、网络接口、以及外围设备。
[0087]
处理器112可以是中央处理单元(central processing unit,cpu),该中央处理单元用于控制计算设备110的操作。在某些实施例中,处理器112可以执行计算设备110的操作系统(operatingsystem,o s)或其他应用程序。在某些实施例中,计算设备110可以具有一个以上cpu作为处理器,例如两个cpu、四个cpu、八个cpu或任何合适数量的cpu。存储器114可以是易失性存储器,例如随机存取存储器(random-access memory,ram),用于在计算设备110的运行期间存储数据和信息。在某些实施例中,存储器114可以是易失性存储器阵列。在某些实施例中,计算设备110可以在一个以上处理器112和/或一个以上存储器114上运行。存储设备116是非易失性数据存储介质或设备。存储设备116的示例可以包括闪存、存储卡、usb驱动器、固态驱动器或其他类型的非易失性存储设备,例如硬盘驱动器、软盘、光盘驱动器或任何其他类型的数据存储设备。在某些实施例中,计算设备110可以具有一个以上存储设备116。在某些实施例中,计算设备110还可以包括远程存储设备116。
[0088]
存储设备116存储计算机可执行代码。计算机可执行代码包括知识图谱应用程序118。知识图谱应用程序118包括代码或指令,当在处理器112处执行时,这些代码或指令生成用于知识图谱构建的知识,构造知识图谱,并利用知识图谱来执行相关功能。在某些实施例中,知识图谱应用程序118可以不是可执行代码,而是以与可执行代码的功能相对应的电路形式。通过提供电路而不是可执行代码,极大地提高了知识图谱应用程序118的操作速度。在某些实施例中,如图1所示,知识图谱应用程序118包括数据准备模块120、知识学习模块130、知识图谱构建模块150、功能模块160和用户接口170。
[0089]
数据准备模块120被配置为准备用于训练知识学习模块130的训练数据,向知识学习模块130提供推断数据以推断知识,并将训练数据或推断数据发送给知识学习模块130。对于每个知识图谱,都预定义了大量的实体和少量的关系。训练数据包括训练文档,每个训练文档可以包括一个或多个句子,每个句子可以具有标记的实体以及标记的实体之间的关系(如果可用)。训练语句、实体标签和关系标签可以用作训练知识学习模块130的输入。在训练好之后,训练好的知识学习模块130可以用于实体和标签的预测和推断。因此,数据准备模块120还被配置为准备推断数据。推断数据包括大量文档,每个文档可以具有一个或多个句子。这些句子没有被标记实体和关系。在某些实施例中,训练数据和推断数据是相同类型的,例如产品描述数据、客户评论数据或客户服务数据。
[0090]
知识学习模块130被配置为,在从数据准备模块120接收到训练数据时,执行训练,在训练好之后并在接收到推断数据时,推断实体和关系,并将推断的实体和关系发送到关系确定模块150。图2示意性地示出了根据本公开的某些实施例的知识学习模块130的详细
架构。
[0091]
如图2所示,输入文本输入131。例如,文本输入131是训练数据或推断数据的句子。句子包括多个连续的词,训练数据或推断数据中的每个句子中的词的数量可以不同。知识学习模块130被配置为将句子转换为独热编码表示{w1,w2,...,wi,....,w
t
},其中,t是句子中的分词的数量,分词包括词和标点。
[0092]
在某些实施例中,知识学习模块130被配置为将独热表示嵌入到词嵌入序列:e={e1,e2,...,ei,...,e
t
}。每个独热词表示都有一个相应的词嵌入。这里,ei是表示文档中第i词的d维词嵌入的向量。为了获得词嵌入表示e,知识学习模块130首先查找嵌入矩阵其中,v是固定大小的词汇表,d
emb
是词嵌入的大小。矩阵w
wrd
是要与模型一起学习的参数,dw
mb
是要由用户选择的超参数。知识学习模块130通过使用矩阵向量积ei=w
wrd
vi将词wi转换为其词嵌入ei,其中,vi是v中词wi索引的向量。在某些实施例中,词嵌入层可以是word2vec。在词嵌入之后,知识学习模块130还被配置为将词嵌入{e1,e2,...,ei,...,e
t
}馈送到长短期记忆(long short-term memory,lstm)编码器132,以捕获序列中词之间的依赖性,lstm编码器132的输出是一组特征向量{u1,u2,...,ui,...,u
t
},其中,ui对给定句子中第i词的语义进行编码。lstm编码器132可以是单向lstm或双向lstm。
[0093]
备选地,知识学习模块130不使用lstm层,而是被配置为使用变换器编码器来捕获句子中词之间的依赖性,这可以使用注意力机制。具体地,独热编码表示{w1,w2,...,wi,...,w
t
}被输入到变换器编码器132,变换器编码器132输出特征向量组133{u1,u2,...,ui,...,u
t
}。在某些实施例中,变换器编码器132是基于变换器的双向编码器表示(bidirectional encoder representations from transformers,bert)。
[0094]
特征向量组133{u1,u2,...,ui,...,u
t
}被输入到自结构注意134,自结构注意134将特征向量转换为固定长度的句子嵌入135,固定长度的句子嵌入135被直接用作固定长度的初级胶囊142。特别地,自结构注意134将整个特征嵌入u={u1,u2,...,ui,...,u
t
}作为输入,并输出权重a的向量:
[0095]
a=softmax(w
s2
tanh(w
s1ut
))
ꢀꢀ
(1)
[0096]
这里,w
s1
是具有t乘u(单向lstm编码器132)或t乘2u(双向lstm编码器32)形状的权重矩阵,其中,t或t是分词的总数,u是lstm编码器132的隐藏状态向量的数量,w
s2
是r乘t权重矩阵,r是可以任意设置的超参数。在这种设置中,本公开使用softmax分类器来预测句子s的离散类y的标签。分类器将词嵌入e作为输入,u是lstm编码器132的隐藏状态向量:
[0097]
以及
[0098][0099]
这里,a
(s)
u是固定长度的句子嵌入135,b
(s)
是偏置参数。
[0100]
固定长度的句子嵌入135是2d矩阵的形式,并被视为初级胶囊136。矩阵的每一行都涉及句子的一部分。在获得初级胶囊136之后,知识学习模块130还被配置为使用集合变换器机制来学习初级胶囊136与抽象实体和关系胶囊之间的关系,获得实体/关系胶囊142。如图2所示,集合变换器包括编码器137和解码器139。编码器137包括多个自注意力块(sab)138,解码器139包括多头注意力池化(pma)块140和多个sab 141。编码器137对初级胶囊136
进行编码以获得经编码的初级胶囊,解码器139使用经编码的初级胶囊和实体/关系种子嵌入来计算实体/关系胶囊。请注意,可以随机设置实体/关系种子嵌入的预定义数量的值以初始化训练,实体/关系种子的数量等于获得的实体/关系胶囊的数量。因为实体/关系种子嵌入的信息存储在模型中,所以在接下来的训练过程中不需要输入实体/关系种子嵌入。
[0101]
sab是一种特殊类型的多头注意力块(mab)。mab是对transformer[19]的编码器块的自适应,没有位置编码和dropout。注意力函数可以描述为将查询和一组键值对映射到输出,其中查询、键、值、以及输出都是向量。输出被计算为值的加权和,其中,分配给每个值的权重是由查询与相应键的兼容性函数计算的。输入由查询和维度dk的键以及维度d
kv
的值组成:
[0102]
以及
[0103]
multihead(q,k,v)=concat(head1,...headh)woꢀꢀ
(5)
[0104]
其中,投影为参数矩阵和和
[0105]
mab(x,y)=layernorm(h+rff(h))
ꢀꢀ
(6)
[0106]
其中,h=layernorm(x+multihead(x,y,y))。rff是任何行式前馈层(即,它独立且相同地处理每个实例),layernorm是层归一化[20]。
[0107]
sab(x):=mab(x,x)
ꢀꢀ
(7)
[0108]
具有种子假设向量的pma被定义为:
[0109]
pmak(z)=mab(s,rff(z))
ꢀꢀ
(8)
[0110]
其中,k表示k个假设实体或关系向量,z表示输入集合向量。
[0111]
在获得实体/关系胶囊149之后,知识学习模块130还被配置为通过关系推断规则143调节模型。特别地,在学习过程中,知识学习模块130尝试结合分类损失和关系推断损失优化损失函数:
[0112]
l=lc+lrꢀꢀ
(9)
[0113]
对于分类损失,本公开使用了交叉熵损失。对于多类别分类,本公开使用多类别交叉熵损失。对于多标签分类,本公开使用二进制交叉熵损失。
[0114]
作为新颖特征,知识学习模块130被配置为对不同空间(即,实体空间和关系空间)中的实体和关系进行建模,并在关系空间中执行转换。对于每个三元组(h,r,t),实体嵌入设置为关系嵌入设置为对于每个关系r,本公开设置了投影矩阵投影矩阵可以将实体从实体空间投影到关系空间,并在训练期间被学习。
[0115]
利用映射矩阵,本公开将实体的投影向量定义为:
[0116]hr
=hmrꢀꢀ
(10),以及
[0117]
tr=tmrꢀꢀ
(11)
[0118]
得分函数相应地被定义为:
[0119][0120]
本公开将以下基于边际的得分函数定义为训练目标:
[0121]
lr=∑
(h,r,t)∈s
∑
(h
′
,r,t
′
)∈s
′
max(0,fr(h,t)+γ-fr(h
′
,t
′
))
ꢀꢀ
(13)
[0122]
其中,max(x,y)旨在获得x和y之间的最大值,γ是边际,s是正确三元组的集合,s
′
是不正确三元组的集合。
[0123]
图3示意性地示出了根据本公开的某些实施例的关系推断机制的基本思想。如图3所示,对于每个三元组(h,r,t),首先通过操作mr将实体空间中的实体投影到r关系空间中作为hr和tr,然后hr+r=tr。特定于关系的投影可以使实际保持关系(表示为实心圆)的头/尾实体彼此靠近,也可以远离那些不保持关系(表示为实心三角形)的头/尾实体。在某些实施例中,接近度是预定义的,例如,在关系向量r的值的5%内。在获得头-尾-关系三元组之后,知识学习模块130还被配置为将三元组发送到知识图谱构建模块150。
[0124]
简言之,知识学习模块130被配置为通过输入文本、将文本编码到初级胶囊层、执行集合变换器以获得实体/关系胶囊层、执行关系推断以推断关系、将推断的关系与标记的关系进行比较(计算损失)来训练学习模型,以便调整用于编码的参数、集合变换器、以及投影矩阵。在训练之后,知识学习模块130可以使用新输入的文本来推断关系,新推断的关系被发送到知识图谱构建模块150。
[0125]
知识图谱构建模块150被配置为,在接收到三元组时,构建新的知识图谱或使用所获得的三元组来完成可用的知识图谱。所构建或完成的知识图谱对于功能模块160是可访问的。
[0126]
功能模块160被配置为,当知识图谱被构建或基本上完整时,使用知识图谱来执行某些功能。功能模块160可以存储在计算设备110或与计算设备110通信的任何其他计算设备中。在某些实施例中,功能是服装推荐,使用服装匹配文档来构建知识图谱。知识图谱包括服装实体,边代表匹配,属于同一套装的服装由边链接。当客户在电子商务平台中购买服装时,功能模块160被配置为使用所购买的服装查询知识图谱,获得与查询服装相匹配的服装,并向客户推荐查询到的服装。
[0127]
在某些实施例中,功能是提供对客户问题的回答,使用客户问题和回答文档来构建知识图谱。知识图谱包括问题实体和回答实体,边表示问题的合适回答。当客户在电子商务平台中购买产品时,功能模块160被配置为使用该问题查询知识图谱,获得针对该问题的定制的回答,并将回答提供给客户。在某些实施例中,知识图谱包括与不同类型的产品相对应的子图,使得提供给客户的回答可以更准确。
[0128]
在某些实施例中,功能是向客户请求提供服务,使用客户服务文档来构建知识图谱。知识图谱包括服务请求实体和服务实体,以及可选地指向特定服务的服务提供商的链接。边表示针对服务请求的合适服务。当客户寻求产品的服务时,功能模块160被配置为使用服务请求查询知识图谱,获得针对该请求的定制的服务,并将服务提供商链接到该请求。在某些实施例中,功能还可以包括为客户与服务提供商进行服务预约。在某些实施例中,功能还可以包括故障检修处理。知识图谱包括与服务请求相关的故障检修实体,功能模块160被配置为提供与服务请求相对应的故障检修指令。在向服务提供商寻求帮助之前,客户可能能够根据所提供的指令来解决他的问题。
[0129]
用户接口170被配置为在计算设备110或远程终端上提供用户接口或图形用户接
口。在某些实施例中,系统管理员的用户可以为计算设备110配置参数,特别是在知识图谱应用程序118中使用的参数,这些参数包括例如知识学习模块130的超参数、初级胶囊层的数量、编码器137中的sab的数量、解码器139中的sab的数量,实体和关系等。
[0130]
图4示意性地示出了根据本公开的某些实施例的知识图谱学习的训练。在某些实施例中,如图4所示的方法400可以在如图1所示的计算设备110上实现。应该特别注意的是,除非在本公开中另有说明,否则该方法的步骤可以以不同的顺序排列,因此并不限于如图4所示的顺序。
[0131]
在过程402,数据准备模块120准备用于构建或完成知识图谱的训练数据,并将训练数据发送到知识学习模块130。知识图谱的实体和标签是预定义的。训练数据包括多个文档,每个文档有一个或多个句子。对每个句子中的实体和关系进行标记。数据准备模块120可以按批次提供用于训练的训练数据,每个批次例如包括10个标记的句子。
[0132]
在过程404,在接收到该批训练数据时,知识学习模块130将每个句子中的t个分词(包括词和标点)转换为顺序的独热编码表示{w1,w2,...,wi,...,w
t
},并将独热编码表示发送到知识学习模块130的词嵌入模块。训练中的每个句子基本上是独立处理的,然而,来自一批句子的信息被协同使用,以在每次训练迭代中调整模型参数。
[0133]
在过程406,词嵌入模块将顺序的独热编码表示{w1,w2,...,wi,...,w
t
}嵌入到词嵌入序列{e1,e2,...,ei,...,e
t
}中,并将词嵌入序列发送到lstm编码器132。词嵌入是从词汇表中提取的,每个词嵌入都具有预定义的维度。词嵌入参数将在训练期间学习。词嵌入可以是word2vec。
[0134]
在过程408,在接收到词嵌入时,lstm编码器132将词嵌入{e1,e2,...,ei,...,e
t
}编码为特征向量{u1,u2,...,ui,...,u
t
},并将特征向量发送到自结构注意134。特征向量是lstm编码器132的隐藏向量,并包括词的特征和词在句子中的语义关系。在某些实施例中,过程406和过程408也可以由变换器执行,变换器直接从独热向量{w1,w2,...,wi,...,w
t
}中学习特征向量{u1,u2,...,ui,...,u
t
}。在某些实施例中,变换器是bert。
[0135]
在过程410,在接收到特征向量时,自结构注意134将特征向量{u1,u2,...,ui,...,u
t
}转换为句子嵌入135。句子嵌入135被视为初级胶囊136,初级胶囊136经过编码器137。句子嵌入135具有独立于句子长度的固定长度。句子嵌入135被用作初级胶囊136,其具有固定数量的初级胶囊。初级胶囊136中胶囊的重要性对于不同的句子可以是不同的。
[0136]
在过程412,编码器137对初级胶囊136进行编码以获得经编码的初级胶囊,并将经编码的初级囊发送到解码器139。编码器137包括多个sab 138,sab 138的数量可以根据要学习的知识而变化。
[0137]
在过程414,解码器139的pma 140处理编码的初级胶囊和种子实体/关系嵌入,并在进一步应用sab 141之后,获得实体/关系胶囊。种子实体/关系嵌入定义了要构建的知识图谱的所有实体和关系,实体/关系胶囊的总数是预定义数量的实体和关系的总数。在某些实施例中,种子实体/关系嵌入可以是随机值嵌入或空嵌入。种子实体/关系嵌入在训练启动期间被用作输入,在启动之后不需要输入种子实体/关系嵌入。
[0138]
在过程416,在获得实体/关系胶囊之后,对于每个头实体-关系-尾实体三元组,知识学习模块130使用操作mr将头实体和尾实体从实体空间投影到对应的关系空间,以获得投影的头实体hr和投影的尾实体tr,如果hr+r=tr,确定头实体和尾实体之间存在关系。在
某些实施例中,操作mr的值在训练启动期间可以是随机的或空的,并将在随后的训练过程中被学习。请注意,针对所有实体有一个实体空间,每个关系都有自己的关系空间。
[0139]
在过程418,知识学习模块130基于所获得的头实体-尾实体关系来计算损失,基于损失来调整模型的参数,并运行另一次训练迭代以最小化损失。
[0140]
可以针对同一批训练数据迭代地执行过程402至过程418,以进行预定迭代,或者直到参数收敛。然后,知识学习模块130使用另一批训练数据进行训练。在使用所有训练数据完成训练后,模型训练好。在某些实施例中,系统100可以使用某些标准来评估训练,如果满足这些标准,则模型被认为是训练好的。
[0141]
图5示意性地示出了根据本公开的某些实施例构建或完成知识图谱并使用该知识图谱。在某些实施例中,如图5所示的方法500可以在如图1所示的计算设备110上实现。应该特别注意的是,除非在本公开中另有说明,否则该方法的步骤可以以不同的顺序排列,因此并不限于如图5所示的顺序。
[0142]
在过程502,数据准备模块120准备用于构建或完成知识图谱的学习数据,并将学习数据发送到知识学习模块130。学习数据包括大量的文档,每个文档有一个或多个句子。学习数据可以按批次提供学习数据,每个批次可以包括例如10个句子。
[0143]
在步骤504,知识学习模块130将每个句子中的词转换为独热向量,将独热向量嵌入到顺序的词嵌入中,通过lstm对词嵌入进行编码以获得特征向量,对特征向量执行自结构注意以获得固定长度的句子嵌入,将固定长度的句子嵌入视为初级胶囊,对初级胶囊执行集合变换器,得到实体/关系胶囊,并利用关系推断从得到的实体/关系胶囊中提取头实体-关系-尾实体信息。过程504基本上对应于过程404~过程416。但没有用于比较的真实实体和关系标签,不需要调整模型参数。通过以上过程,每个句子中的实体和关系可以通过学习过程的一个操作来学习,不需要对每个三元组、每个实体或每个关系进行一轮学习。因此,学习过程是有效的。
[0144]
在步骤506,在从学习数据中学习头实体-关系-尾实体三元组之后,知识图谱构建模块150使用所学习的三元组来构建或完成知识图谱。所构建或完成的知识图谱对于功能模块160是可用的。
[0145]
在过程508,功能模块160使用知识图谱来执行功能。在某些实施例中,知识图谱是关于服装匹配的,每个实体是一件服装,关系或边指示服装是否属于同一套装。当客户从电子商务平台评价或购买服装时,功能模块160使用评价或购买的服装作为查询来查询知识图谱,找到与评价或购买的服装相匹配的服装,并向客户推荐从知识图谱中找到的服装,例如,通过向客户推送服装的消息,或者当顾客进入电子商务平台时向客户展示推荐的服装。
[0146]
在某些实施例中,知识图谱是关于产品的问题和回答,实体包括产品和产品的特征,关系或边是产品是否具有相应的特征。功能模块160向客户提供问题和回答界面,例如聊天框。当客户对产品感兴趣并询问关于该产品的特征的问题时,功能模块160使用该产品和该问题作为对知识图谱的查询,以获得该产品的相应特征,并将相应特征包括在对客户的回答中。
[0147]
在某些实施例中,知识图谱是关于产品的服务请求,实体包括产品、对产品的服务请求、以及服务请求的服务解决方案。关系或边将产品实体和相应的服务解决方案链接起来。服务解决方案可以包括针对服务请求的指令或者服务提供商对该服务请求的联系方
entity and relation embeddings for knowledge graph completion,proceedings of the twenty-ninth aaai conference on artificial intelligence,2015,2181-2187.
[0155]
[3]ryan clancy,ihab f.ilyas,and jimmy lin,knowledge graph construction from unstructured text with applications to fact verification and beyond,proceedings of the second workshop on fact extraction and verification(fever),2019,39-46.
[0156]
[4]antonine bordes,nicolas usunier,alberto garcia-duran,jason weston,and oksana yakhnenko,translating embeddings for modeling multi-relational data,advances in neural information processing systems,2013,2787-2795.
[0157]
[5]zhen wang,jianwen zhang,jianlin feng,and zheng chen,knowledge graph embedding by translating on hyperplanes,proceedings of the twenty-eighth aaai conference on artificial intelligence,2014,1112-1119.
[0158]
[6]guoliang ji,shizhu he,lihheng xu,kang liu,and jun zhao,knowledge graph embedding via dynamic mapping matrix,proceedings of the 53rd annual meeting of the association for computational linguistics and the 7th international joint conference on natural language processing,2015,687-696.
[0159]
[7]dat quoc nguyen,kairit sirts,lizhen qu,and mark johnson,stranse:a novel embedding model of entities and relationships in knowledge bases,proceedings of naacl hlt 2016,2016,460-466.
[0160]
[8]guoliang ji,kang liu,shizhu he,and jun zhao,knowledge graph completion with adaptive sparse transfer matrix,proceedings of the thirtieth aaai conference on artificialintelligence,2016,985-991.
[0161]
[9]bishan yang,wen-tau yih,xiaodong he,jianfeng gao,and li deng,embedding entities and relationsfor learning and inference in knowledge bases,2014,arxiv1412.6575.
[0162]
[10]theo trouillon,johannes welbl,sebastian riedel,eric gaussier,and guillaume bouchard,complex embeddingsfor simple link prediction,
[0163]
proceedings of machine learning research,2016.
[0164]
[11]dai quoc nguyen,thanh vu,tu dinh nguyen,dat quoc nguyen,and dinh phung,a capsule network-based embedding model for knowledge graph completion and search personalization,proceedings of naacl-hlt 2019,2019,2180-2189.
[0165]
[12]sara sabour,nicholas frosst,and geoffrey e.hinton,dynamic routing between capsules,nips 2017,2017,3857-3867.
[0166]
[13]geoffrey hinton,sara sabour,and nicholas frosst,matrix capsules with em routing,iclr,2018,1-15.
[0167]
[14]yao-huang hubert tsai,nitish srivastava,hanlin goh,and ruslan salakhutdinov,capsules with inverted dot-product attention routing,2020,arxiv:2002.04764.
[0168]
[15]wei zhao,haiyun peng,steffen eger,erik cambria,and min yang,
towards scalable and reliable capsule networks for challenging nlp applications,2019,1549-1559.
[0169]
[16]zhuang chen,and tieyun qian,transfer capsule network for aspect level sentiment classification,proceedings of the 57th annual meeting of the association for computational linguistics,2019,547-556.
[0170]
[17]wei zhao,jianbo ye,min yang,zeyang lei,soufei,and zhou zhao,investigating capsule networks with dynamic routing for text classification,proceedings of the 2018conference on empirical methods in natural language processing,2018,3110-3119.
[0171]
[18]juho lee,yoonho lee,jungtaek kim,adam r.kosiorek,seungjin choi,and yee whye teh,set transforimer:a framework for attention-based permutation-invariant neural networks,proceedings of the 36
th international conference on machine learning,2019.
[0172]
[19]ashish vaswani et al.,attention is all you need,noios 2017,2017,5999-6009.
[0173]
[20]jimmy lei ba,jamie ryan kiros,and geoffrey e.hinton,layer normalization,2016,arxiv:1607.06450.
技术特征:
1.一种用于知识图谱构建的系统,其中,所述系统包括计算设备,所述计算设备包括处理器和存储计算机可执行代码的存储设备,所述计算机可执行代码在所述处理器处执行时被配置为:提供第一数量的实体、第二数量的关系、以及多个文档,所述多个文档中的每个文档包括至少一个句子;将所述至少一个句子中的每个句子转换为第三数量的句子嵌入;形成所述第三数量的初级胶囊层,所述第三数量的初级胶囊层中的每个初级胶囊层对应于所述第三数量的句子嵌入中的一个句子嵌入;使用集合变换器从所述第三数量的初级胶囊层学习所述第一数量的实体胶囊层和所述第二数量的关系胶囊层,来自所述第一数量的实体胶囊层的第i实体和第j实体和来自所述第二数量的关系胶囊层的第m关系形成头实体-尾实体-关系三元组;将实体空间中的所述第i实体投影到第m关系空间中以形成第i投影,将所述实体空间中的所述第j实体投影到所述第m关系空间中以形成第j投影,如果所述第i投影和所述m关系的和基本上等于所述第j投影,则确定所述第i实体和所述第j实体存在所述第m关系;以及使用所确定的第m关系来构建所述知识图谱。2.根据权利要求1所述的系统,其中,所述集合变换器包括编码器和解码器,所述编码器包括多个自注意力块sab,所述解码器包括多头注意力池化pma块和多个sba。3.根据权利要求1所述的系统,其中,所述计算机可执行代码被配置为使用投影矩阵将所述第i实体和所述第j实体投影到所述第m关系空间中,所述投影矩阵在训练期间被学习。4.根据权利要求1所述的系统,其中,所述计算机可执行代码被配置为通过以下方式将所述至少一个句子中的每个句子转换为所述第三数量的句子嵌入:将所述至少一个句子中的分词编码为多个独热向量,所述多个独热向量中的每个独热向量对应于所述至少一个句子中的一个分词,其中,所述分词包括词和标点;将所述多个独热向量中的每个独热向量嵌入到词嵌入中;对所述词嵌入执行lstm以获得多个特征向量,每个特征向量对应于所述至少一个句子中的一个分词;以及对所述多个特征向量执行自结构注意,以获得所述第三数量的句子嵌入。5.根据权利要求4所述的系统,其中,使用word2vec来执行将所述多个独热向量中的每个独热向量嵌入到所述词嵌入中的步骤。6.根据权利要求1所述的系统,其中,所述计算机可执行代码被配置为通过以下方式将所述至少一个句子中的每个句子转换为所述第三数量的句子嵌入:将所述至少一个句子中的词编码为多个独热向量,所述多个独热向量中的每个独热向量对应于所述至少一个句子中的一个分词,其中,所述分词包括词和标点;通过变换器变换独热向量以获得多个特征向量,每个特征向量对应于所述至少一个句子中的一个分词;以及对所述多个特征向量执行自结构注意,以获得所述第三数量的句子嵌入。7.根据权利要求6所述的系统,其中,所述变换器包括基于变换器的双向编码器表示bert。
8.根据权利要求1所述的系统,其中,所述多个文档是产品描述,所述实体是多个产品,所述关系包括所述多个产品之间的匹配关系,所述计算机可执行代码还被配置为:在接收到查询产品时,使用所述查询产品查询所述知识图谱,以获得与所述查询产品相对应的查询实体以及与所述查询实体具有所述匹配关系的匹配实体;以及提供与所述匹配实体相对应的匹配产品。9.根据权利要求1所述的系统,其中,所述多个文档是产品问题和回答,所述实体是多个产品问题和多个产品回答,所述关系包括将所述多个产品回答中的一个产品回答链接到所述多个产品问题中的一个产品问题的真实关系,所述计算机可执行代码进一步被配置为:在接收到产品问题时,使用所述产品问题查询所述知识图谱以获得多个产品问题实体中的一个产品问题实体,并获得多个产品回答实体中与所述产品问题实体具有所述真实关系的产品回答实体;以及提供与所述产品回答实体对应的回答。10.根据权利要求1所述的系统,其中,所述多个文档是产品服务请求和回答,所述实体是多个产品服务请求实体和多个产品服务回答实体,所述关系包括将所述多个产品服务请求实体中的一个产品服务请求实体链接到所述多个产品服务回答实体中的一个产品服务回答实体的真实关系,所述计算机可执行代码进一步被配置为:在接收到产品服务请求时,使用所述产品服务请求查询所述知识图谱以获得所述产品服务请求实体中的一个产品服务请求实体,并获得所述产品服务回答实体中与所述产品服务请求实体具有所述真实关系的产品服务回答实体;以及提供与所述产品服务回答实体对应的回答。11.一种方法,包括:通过计算设备提供第一数量的实体、第二数量的关系、以及多个文档,所述多个文档中的每个文档包括至少一个句子;通过所述计算设备将所述至少一个句子中的每个句子转换为第三数量的句子嵌入;通过所述计算设备形成所述第三数量的初级胶囊层,所述第三数量的初级胶囊层中的每个初级胶囊层对应于所述第三数量的句子嵌入中的一个句子嵌入;通过所述计算设备使用集合变换器从所述第三数量的初级胶囊层学习所述第一数量的实体胶囊层和所述第二数量的关系胶囊层,来自所述第一数量的实体胶囊层的第i实体和第j实体和来自所述第二数量的关系胶囊层的第m关系形成头实体-尾实体-关系三元组;通过所述计算设备将实体空间中的所述第i实体投影到第m关系空间中以形成第i投影,将所述实体空间中的所述第j实体投影到所述第m关系空间中以形成第j投影,如果所述第i投影和所述m关系的和基本上等于所述第j投影,则确定所述第i实体和所述第j实体存在所述第m关系;以及使用所确定的第m关系来构建所述知识图谱。12.根据权利要求11所述的方法,其中,所述集合变换器包括编码器和解码器,所述编码器包括多个自注意力块sab,所述解码器包括多头注意力池化pma块和多个sba。13.根据权利要求11所述的方法,其中,将所述至少一个句子中的每个句子转换为第三数量的句子嵌入的步骤包括:
将所述至少一个句子中的分词编码为多个独热向量,所述多个独热向量中的每个独热向量对应于所述至少一个句子中的一个分词;将所述多个独热向量中的每个独热向量嵌入到词嵌入中;对所述词嵌入执行lstm以获得多个特征向量,每个特征向量对应于所述至少一个句子中的一个分词;以及对所述多个特征向量执行自结构注意,以获得所述第三数量的句子嵌入。14.根据权利要求11所述的方法,其中,将所述至少一个句子中的每个句子转换为第三数量的句子嵌入的步骤包括:将所述至少一个句子中的分词编码为多个独热向量,所述多个独热向量中的每个独热向量对应于所述至少一个句子中的一个分词;通过变换器变换独热向量以获得多个特征向量,每个特征向量对应于所述至少一个句子中的一个词;以及对所述多个特征向量执行自结构注意,以获得所述第三数量的句子嵌入。15.根据权利要求11所述的方法,其中,所述多个文档是产品描述,所述实体是多个产品,所述关系包括所述多种产品之间的匹配,所述方法还包括:在接收到查询产品时,使用所述查询产品查询所述知识图谱,以获得与所述查询产品相对应的查询实体以及与所述查询实体具有所述匹配关系的至少一个匹配实体;以及提供与所述至少一个匹配实体相对应的匹配产品。16.根据权利要求11所述的方法,其中,所述多个文档是产品问题和回答,所述实体是多个产品问题和多个产品回答,所述关系包括将所述多个产品回答中的一个产品回答链接到所述多个产品问题中的一个产品问题的真实关系,所述方法还包括:在接收到产品问题时,使用所述产品问题查询所述知识图谱以获得产品问题实体中的一个产品问题实体,并获得产品回答实体中与所述产品问题实体具有所述真实关系的产品回答实体;以及提供与所述产品回答实体对应的回答。17.根据权利要求1所述的方法,其中,所述多个文档是产品服务请求和回答,所述实体是多个产品服务请求实体和多个产品服务回答实体,所述关系包括将所述多个产品服务请求实体中的一个产品服务请求实体链接到所述多个产品服务回答实体中的一个产品服务回答实体的真实关系,所述方法还包括:在接收到产品服务请求时,使用所述产品服务请求查询所述知识图谱以获得所述产品服务请求实体中的一个产品服务请求实体,并获得所述产品服务回答实体中与所述产品服务请求实体具有所述真实关系的产品服务回答实体;以及提供与所述产品服务回答实体对应的回答。18.一种存储计算机可执行代码的非暂时性计算机可读介质,其中,所述计算机可执行代码在计算设备的处理器处执行时被配置为:提供第一数量的实体、第二数量的关系、以及多个文档,所述多个文档中的每个文档包括至少一个句子;将所述至少一个句子中的每个句子转换为第三数量的句子嵌入;形成所述第三数量的初级胶囊层,所述第三数量的初级胶囊层中的每个初级胶囊层对
应于所述第三数量的句子嵌入中的一个句子嵌入;使用集合变换器从所述第三数量的初级胶囊层学习所述第一数量的实体胶囊层和所述第二数量的关系胶囊层,来自所述第一数量的实体胶囊层第i实体和第j实体和来自所述第二数量的关系胶囊层第m关系形成头实体-尾实体-关系三元组;将实体空间中的所述第i实体投影到第m关系空间中以形成第i投影,将所述实体空间中的所述第j实体投影在所述第m关系空间中以形成第j投影,如果所述第i投影和所述m关系的和基本上等于所述第j投影,则确定所述第i实体和所述第j实体存在所述第m关系;以及使用所确定的第m关系来构建所述知识图谱。19.根据权利要求18所述的非暂时性计算机可读介质,其中,所述集合变换器包括编码器和解码器,所述编码器包括多个自注意力块sab,所述解码器包括多头注意力池化pma块和多个sba。20.根据权利要求18所述的非暂时性计算机可读介质,其中,所述计算机可执行代码被配置为通过以下方式将所述至少一个句子中的每个句子转换为所述第三数量的句子嵌入:将所述至少一个句子中的词编码为多个独热向量,所述多个独热向量中的每个独热向量对应于所述至少一个句子中的一个分词;将所述多个独热向量中的每个独热向量嵌入到词嵌入中;对所述词嵌入执行lstm以获得多个特征向量,每个特征向量对应于所述至少一个句子中的一个分词;以及对所述多个特征向量执行自结构注意,以获得所述第三数量的句子嵌入。
技术总结
提供了一种用于知识图谱构建的系统。该系统包括计算设备。计算设备具有处理器和存储计算机可执行代码的存储设备。计算机可执行代码在处理器处执行时被配置为:定义知识图谱的实体和关系;提供具有句子的文件;将句子转换为固定长度的句子嵌入,并将句子嵌入视为初级胶囊层;使用集合变换器从初级胶囊层学习实体胶囊和关系胶囊;对于每个三元组,将头实体和尾实体从实体空间投影到特定的关系空间,当投影的头实体向量和关系向量的和基本上等于投影的尾实体向量时,确定存在关系;以及使用头实体、尾实体和所确定的关系来构建知识图谱。尾实体和所确定的关系来构建知识图谱。尾实体和所确定的关系来构建知识图谱。
技术研发人员:刘石竹 李旻 樊晓川 宁广涵 周辉
受保护的技术使用者:京东美国科技公司
技术研发日:2021.11.18
技术公布日:2023/8/13
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
