首页> 中国专利> 知识图谱问答问句实体链接方法、装置、设备及介质

知识图谱问答问句实体链接方法、装置、设备及介质

摘要

本公开提供了一种知识图谱问答问句实体链接方法,可以应用于人工智能技术领域。该方法包括:获取用户问句;提取用户问句中的实体提及;从知识图谱中检索出与实体提及匹配的T个候选实体;获取T个候选实体中每个候选实体的实体差异化编码表示,其中,实体差异化编码表示是基于候选实体的编码表示与候选实体的N个相似实体的编码表示的差异得到的;基于实体提及的编码表示与T个候选实体中每个候选实体的实体差异化编码表示,计算实体提及与每个候选实体的第二相似度;以及确定T个候选实体中第二相似度最大的候选实体,为实体提及的链接实体。本公开还提供了一种知识图谱问答问句实体链接装置、设备、存储介质和程序产品。

著录项

  • 公开/公告号CN114880991A

    专利类型发明专利

  • 公开/公告日2022-08-09

    原文格式PDF

  • 申请/专利号CN202210649330.8

  • 发明设计人 汪美玲;

    申请日2022-06-08

  • 分类号G06F40/134(2020.01);G06F40/126(2020.01);G06F16/36(2019.01);G06F16/335(2019.01);G06F16/332(2019.01);

  • 代理机构中科专利商标代理有限责任公司 11021;

  • 代理人赵婷

  • 地址 071700 河北省保定市中国(河北)自由贸易试验区雄安片区容城县雄安市民服务中心企业办公区C栋第1层111单元

  • 入库时间 2023-06-19 16:19:08

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-26

    实质审查的生效 IPC(主分类):G06F40/134 专利申请号:2022106493308 申请日:20220608

    实质审查的生效

  • 2022-08-09

    公开

    发明专利申请公布

说明书

技术领域

本公开涉及人工智能技术领域,更具体地涉及一种知识图谱问答问句实体链接方法、装置、设备、介质和程序产品。

背景技术

知识图谱问答是知识图谱的典型应用形式之一,可以针对用户输入的一个自然语言问句进行语义理解,之后从知识图谱中查询、推理得出相应的答案,以满足用户的需求。在知识图谱问答过程中,问句实体链接包括实体提及抽取与实体消歧两个步骤。其中,实体提及抽取指的是,从用户问句中抽取出用于表述实体的字符串,该实体提及的字符串可能与知识图谱中的实体的名称字符串相同,或者也可能不同。实体消歧指的是,在抽取到实体提及后,要将实体提及确链接到知识图谱中的唯一实体的过程。

相关技术中,进行实体链接时通常基于如下两种方案进行:

(1)基于知识图谱上下文表示的问句实体链接方法,该方法利用实体在知识图谱中的相关实体、关系等关联性信息扩充实体的原有表示,对知识图谱的图结构实施特征表示学习,其学习得到的实体编码表示融合了关联性信息,之后利用该实体编码表示进行后续的实体提及识别、实体消歧步骤;

(2)基于实体描述表示的问句实体链接方法,该方法将实体的描述文本(通常包含解释说明实体的内容)扩充知识图谱中实体的原有描述,之后将扩充后的实体描述,例如包括实体名称和实体描述的文本,输入到文本编码器中得到实体编码表示,之后利用该实体编码表示进行后续的实体提及识别、实体消歧步骤。

在实现本公开构思的过程中,发明人发现上述两种方案中至少存在如下问题:各个实体单独进行编码表示后与用户问句进行比较和匹配时,与正确实体较相似的其他实体也有较高的匹配度,容易导致错误的链接结果。

发明内容

鉴于上述问题,本公开提供了可以提高实体链接结果正确性的知识图谱问答问句实体链接方法、装置、设备、介质和程序产品。

本公开实施例的第一方面,提供了一种一种知识图谱问答问句实体链接方法。所述方法包括:获取用户问句;提取所述用户问句中的实体提及,所述实体提及为知识图谱中的实体在所述用户问句中的字符串表述;从所述知识图谱中检索出与所述实体提及匹配的T个候选实体,其中,T为大于1的整数;获取所述T个候选实体中每个候选实体的实体差异化编码表示;其中,所述实体差异化编码表示是基于所述候选实体的编码表示与所述候选实体的N个相似实体的编码表示的差异得到的,其中,所述N个相似实体为所述知识图谱中与所述候选实体的第一相似度满足预设条件的N个实体,其中,N为大于或等于1的整数;获取所述实体提及的编码表示;基于所述实体提及的编码表示与所述T个候选实体中每个候选实体的所述实体差异化编码表示,计算所述实体提及与每个候选实体的第二相似度;以及确定所述T个候选实体中所述第二相似度最大的候选实体,为所述实体提及的链接实体。

根据本公开的实施例,所述获取所述T个候选实体中每个候选实体的实体差异化编码表示包括:从所述知识图谱中获取所述候选实体对应的所述N个相似实体;获取所述候选实体和所述N个相似实体各自的编码表示;以及基于所述候选实体的编码表示分别与所述N个相似实体的编码表示的差异信息,得到所述实体差异化编码表示。

根据本公开的实施例,所述基于所述候选实体的编码表示分别与所述N个相似实体的编码表示的差异信息,得到所述实体差异化编码表示包括:计算所述候选实体的编码表示对应的向量与所述N个相似实体中每个相似实体的编码表示对应的向量的差,得到与每个相似实体对应的表示差向量;其中,与所述N个相似实体一一对应得到N个所述表示差向量;以及基于N个所述表示差向量,得到所述实体差异化编码表示。

根据本公开的实施例,所述基于N个所述表示差向量,得到所述实体差异化编码表示包括:将N个所述表示差向量按位求平均,得到平均表示差向量,其中,以所述平均表示差向量作为所述实体差异化编码表示。

根据本公开的实施例,所述基于N个所述表示差向量,得到所述实体差异化编码表示包括:利用第二编码器编码所述用户问句的字符串,得到所述用户问句的编码表示矩阵;通过每个所述表示差向量和所述用户问句的编码表示矩阵相乘再加和,得到所述表示差向量与所述用户问句的匹配度;归一化处理N个所述表示差向量各自对应的所述匹配度,得到与每个所述表示差向量对应的权重系数;通过所述候选实体的编码表示对应的向量,减去利用所述权重系数对与所述表示差向量差对应的相似实体的编码表示进行权重调节后的向量,得到用户交互表示差向量;其中,与所述N个相似实体一一对应得到N个所述用户交互表示差向量;以及对N个所述用户交互表示差向量按位求平均,得到平均交互表示差向量,其中,以所述平均交互表示差向量作为所述实体差异化编码表示。

根据本公开的实施例,所述从所述知识图谱中获取所述候选实体对应的所述N个相似实体包括:基于所述候选实体的编码表示与所述知识图谱中的其他实体的编码表示,计算所述候选实体与所述知识图谱中的其他实体的所述第一相似度;以及从所述知识图谱中选择所述第一相似度满足所述预设条件的N个实体,得到所述候选实体对应的所述N个相似实体。

根据本公开的实施例,在所述获取用户问句之前,所述方法还包括:利用第一文本编码器编码所述知识图谱中的实体,得到所述知识图谱中的实体的编码表示。

根据本公开的实施例,所述提取所述用户问句中的实体提及还包括:利用全连接神经网络预测所述用户问句中的所述实体提及及其预测概率。所述方法还包括:归一化处理与所述T个候选实体分别对应的T个所述第二相似度,得到表征所述T个候选实体中每个候选实体链接正确的链接概率;以及在所述实体提及的预测概率与所述实体提及的链接实体的链接概率的乘积大于概率阈值时,确定所述实体提及及其链接实体的链接关系可信。

根据本公开的实施例,所述从所述知识图谱中检索出与所述实体提及匹配的T个候选实体包括:基于所述实体提及的字符串与所述知识图谱中的实体的名称字符串的对比,计算匹配分数;以及从所述知识图谱中筛选出所述匹配分数最高的T个实体,以得到所述T个候选实体。

根据本公开的实施例,所述获取所述实体提及的编码表示包括:利用第二编码器编码所述用户问句的字符串,得到所述用户问句的编码表示矩阵;从所述用户问句的编码表示矩阵中,截取与所述实体提及的字符串所处位置范围对应的向量,得到所述实体提及对应的编码矩阵;以及对所述实体提及对应的编码矩阵中的向量按位求平均,得到所述实体提及的编码表示。

根据本公开的实施例,所述方法还包括:利用第一文本编码器编码所述知识图谱中的实体,得到所述知识图谱中的实体的编码表示;其中,所述第一相似度为基于实体的编码表示的向量计算得到的;利用第二文本编码器编码所述用户问句的字符串,得到所述用户问句的编码表示矩阵;其中,所述实体提及的编码表示是基于从所述用户问句的编码表示矩阵中,截取与所述实体提及的字符串在所述用户问句中的位置范围对应的向量而得到的;以及利用全连接神经网络预测所述用户问句中的所述实体提及。其中,所述第一文本编码器、第二文本编码器以及所述全连接神经网络是协同训练得到的,其中,训练过程中使用的样本数据包括所述知识图谱、样本用户问句和所述样本用户问句中的正确实体提及及其正确链接实体。

本公开实施例的第二方面,提供了一种知识图谱问答问句实体链接装置。所述装置包括第一获取模块、第一提取模块、匹配模块、第二获取模块、第三获取模块、第二相似度计算模块和链接模块。所述第一获取模块用于获取用户问句。第一提取模块用于提取用户问句中的实体提及,所述实体提及为知识图谱中的实体在所述用户问句中的字符串表述。匹配模块用于从所述知识图谱中检索出与所述实体提及匹配的T个候选实体,其中,T为大于1的整数。第二获取模块用于获取所述T个候选实体中每个候选实体的实体差异化编码表示;其中,所述实体差异化编码表示是基于所述候选实体的编码表示与所述候选实体的N个相似实体的编码表示的差异得到的,其中,所述N个相似实体为所述知识图谱中与所述候选实体的第一相似度满足预设条件的N个实体,其中,N为大于或等于1的整数。第三获取模块用于获取所述实体提及的编码表示。第二相似度计算模块用于基于所述实体提及的编码表示与所述T个候选实体中每个候选实体的所述实体差异化编码表示,计算所述实体提及与每个候选实体的第二相似度。链接模块用于确定所述T个候选实体中所述第二相似度最大的候选实体,为所述实体提及的链接实体。

根据本公开的实施例,所述第二获取模块还用于:从所述知识图谱中获取所述候选实体对应的所述N个相似实体;获取所述候选实体和所述N个相似实体各自的编码表示;以及基于所述候选实体的编码表示分别与所述N个相似实体的编码表示的差异信息,得到所述实体差异化编码表示。

根据本公开的实施例,所述基于所述候选实体的编码表示分别与所述N个相似实体的编码表示的差异信息,得到所述实体差异化编码表示包括:计算所述候选实体的编码表示对应的向量与所述N个相似实体中每个相似实体的编码表示对应的向量的差,得到与每个相似实体对应的表示差向量;其中,与所述N个相似实体一一对应得到N个所述表示差向量;以及基于N个所述表示差向量,得到所述实体差异化编码表示。

根据本公开的实施例,所述装置还包括第一文本编码器。所述第一文本编码器用于编码所述知识图谱中的实体,得到所述知识图谱中的实体的编码表示。

根据本公开的实施例,所述装置还包括第一相似度计算模块。所述第一相似度计算模块用于:基于所述候选实体的编码表示与所述知识图谱中的其他实体的编码表示,计算所述候选实体与所述知识图谱中的其他实体的所述第一相似度;以及从所述知识图谱中选择所述第一相似度满足所述预设条件的N个实体,得到所述候选实体对应的所述N个相似实体。

根据本公开的实施例,所述装置还包括第二文本编码器。所述第二文本编码器用于编码所述用户问句的字符串,得到所述用户问句的编码表示矩阵。相应地,所述第三获取模块用于:从所述用户问句的编码表示矩阵中,截取与所述实体提及的字符串在所述用户问句中的位置范围对应的向量组,得到所述实体提及对应的编码矩阵;以及对所述实体提及对应的编码矩阵中的向量按位求平均,得到所述实体提及的编码表示。

根据本公开的实施例,所述第一文本编码器、第二文本编码器以及所述全连接神经网络是协同训练得到的,其中,训练过程中使用的样本数据包括所述知识图谱、样本用户问句和所述样本用户问句中的正确实体提及及其正确链接实体。

本公开实施例的第三方面,提供了一种电子设备。所述电子设备包括一个或多个处理器和一个或多个存储器。所述一个或多个存储器用于存储一个或多个程序。其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述方法。

本公开实施例的第四方面,还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述方法。

本公开的实施例第五方面,还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述方法。

附图说明

通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:

图1示意性示出了根据本公开实施例的知识图谱问答问句实体链接方法、装置、设备、介质和程序产品的应用场景图;

图2示意性示出了根据本公开一实施例的知识图谱问答问句实体链接方法的流程图;

图3示意性示出了根据本公开实施例的问答问句实体链接方法中获取实体差异化编码表示的流程图;

图4示意性示出了根据本公开一实施例的问答问句实体链接方法中得到实体差异化编码表示的流程图;

图5示意性示出了根据本公开另一实施例的问答问句实体链接方法中得到实体差异化编码表示的流程图;

图6示意性示出了根据本公开另一实施例的知识图谱问答问句实体链接方法的流程图;

图7示意性示出了根据本公开再一实施例的知识图谱问答问句实体链接方法的流程图;

图8示意性示出了根据本公开又一实施例的知识图谱问答问句实体链接方法的流程图;

图9示意性示出了图8所示的知识图谱问答问句实体链接方法中数据流示意图;

图10示意性示出了根据本公开实施例的知识图谱问答问句实体链接装置的结构框图;以及

图11示意性示出了适于实现根据本公开实施例的知识图谱问答问句实体链接方法的电子设备的框图。

具体实施方式

以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。

在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。

在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。

在本文中所使用的术语解释如下:

知识图谱:是结构化的语义知识库,以符号形式描述物理世界中的概念、实体及其相互关系,在数据层面,知识图谱以具有类型和属性的实体为节点、以实体与实体之间的关系为边,构成异构图结构。

实体:指客观世界中具体的对象,例如人名、地名、组织机构名,类别名例如“人类”、“动物”、“植物”不是实体。

实体提及:指代表同一个实体的相同或不同字符串表述,例如“美国”是一个实体,美国、美利坚合众国是“美国”的两个不同实体提及。

编码:利用深度学习网络将自然语言转化为实数矩阵。

全连接神经网络:最基本的神经网络,使输入Di维向量经过变换得到Do维向量。

训练:通过有标签样本/正确样例来学习(确定)模型的权重和偏差的理想值。

损失函数/loss损失:将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。

梯度反向传播:用来训练人工神经网络的常见方法,该方法对神经网络中所有权重计算损失函数的梯度,用来更新权值以最小化损失函数。

第一文本编码器和第二文本编码器:均为自然语言理解文本编码器模型,输入自然语言语句,经过训练可得到语句中各个组成单元的编码表示(可以表示为向量)。其中,在本文中,第一文本编码器为用于编码知识图谱中的实体的文本编码器,第二文本编码器为用于编码用户问句或实体提及的文本编码器。第一文本编码器和第二文本编码器输出的每个组成单元的编码向量的维度相同,例如,均为h维,其中,h为整数。

组成单元:是文本编码器对语言文本中的字符串进行编码时的编码粒度,可以是字符、单词、分词或子词等,根据实际需要预先设置。

本公开的实施例提供了一种知识图谱问答问句实体链接方法、装置、设备、介质和程序产品。根据本公开实施例,可以根据知识图谱中的实体与其相似实体的编码表示的差异来得到实体的实体差异化编码表示,然后可以依据该实体差异化编码表示与用户问句进行比较和匹配,进行后续的实体消歧步骤。由于实体差异化编码表示引入了实体与其相似实体的差异信息,从而使得在与用户问句匹配所得的匹配结果中,可以凸显每个实体与其相似实体的差异,从而可以在一定程度上减少甚至避免相关技术中存在的用户问句与正确实体相似的其他实体也有较高的匹配度的问题,以此方式提升实体链接中实体消歧的效果,提高实体链接的准确率。

图1示意性示出了根据本公开实施例的知识图谱问答问句实体链接方法、装置、设备、存储介质和程序产品的应用场景图。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。

如图1所示,根据该实施例的应用场景100可以包括至少一个终端设备(图中示出了三个,终端设备101、102、103)、网络104和服务器105。网络104为在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。

终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。服务器105中可以部署有知识图谱。

用户可以使用终端设备101、102、103向服务器105发送用户问句。服务器105可以针对用户问句进行语义理解,之后从知识图谱中查询、推理得出相应的答案,并发送给终端设备101、102、103,从而实现知识图谱智能问答。

需要说明的是,本公开实施例所提供的知识图谱问答问句实体链接方法一般可以由服务器105执行。相应地,本公开实施例所提供的知识图谱问答问句实体链接装置一般可以设置于服务器105中。本公开实施例所提供的知识图谱问答问句实体链接方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的知识图谱问答问句实体链接装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

以下将基于图1描述的场景,通过图2~图9对本公开实施例的知识图谱问答问句实体链接方法进行详细描述。

图2示意性示出了根据本公开一实施例的知识图谱问答问句实体链接方法的流程图。

如图2所示,根据该实施例的知识图谱问答问句实体链接方法可以包括操作S210~操作S270。

在操作S210,获取用户问句。

在操作S220,提取用户问句中的实体提及,实体提及为知识图谱中的实体在用户问句中的字符串表述。在一个实施例中,可以利用训练好的全连接神经网络预测用户问句中的实体提及。

在操作S230,从知识图谱中检索出与实体提及匹配的T个候选实体,其中,T为大于1的整数。可以通过模糊匹配的方式匹配出T个候选实体。其中,模糊匹配是一种近似地(而不是精确地)查找与模式匹配的字符串的技术。

在一个实施中,可以基于实体提及的字符串与知识图谱中的实体的名称字符串的对比,计算匹配分数,然后从知识图谱中筛选出匹配分数最高的T个实体作为T个候选实体。实体提及的字符串与实体的名称字符串的对比,例如可以是比较实体提及的字符串与实体的名称字符串中的字符或字符组合的重合占比,或者根据实体提及的字符串与实体的名称字符串的差异确定出编辑距离,以编辑距离的大小作为匹配分数。

在操作S240,获取T个候选实体中每个候选实体的实体差异化编码表示。其中,实体差异化编码表示是基于候选实体的编码表示与候选实体的N个相似实体的编码表示的差异得到的,其中,N个相似实体为知识图谱中与候选实体的第一相似度满足预设条件的N个实体,其中,N为大于或等于1的整数。

在一个实施例中,第一相似度可以根据两个实体的实体名称和/或实体描述信息的字符或字符组合的重合占比来确定。

在另一实施例中,第一相似度可以是每个实体与其他实体的编码表示对应的向量之间的相似度(例如,以向量内积、夹角或余弦相似度来表征)。从而对每个实体可以筛选出与其最为相似的N个实体,或者筛选出与其相似度达到阈值(例如90%)的实体。

其中,可以利用第一文本编码器按照统一规则编码知识图谱中的实体,得到每个实体的编码表示。

当第一文本编码器为预训练的语言表征模型(Bidirectional EncoderRepresentation From Transformers,简称Bert)时,第一文本编码器编码知识图谱中的实体的过程可以是:将实体名称与实体的描述信息(包括但不限于实体的描述文本、和/或实体在知识图谱中的相关联的实体及其关系等关联性信息)拼接为一个字符串,例如“[CLS]实体名称[ENT]描述信息[SEP]”,其中[CLS]代表字符串的起始符、[ENT]代表实体名称与描述信息的分隔符、[SEP]代表字符串的结尾符,输出是编码矩阵。然后从第一文本编码器输出的编码矩阵中取[CLS]位置对应的编码向量(如果有多个向量,则对该多个向量按位求均值),得到实体的编码表示,维度为h,其中h可以设置,例如为768或1024。

可以理解,操作S240中每个候选实体的N个相似实体可以是在操作S240之前离线选择好等待使用的,也可以是在操作S230中确定了候选实体之后再实时筛选得到的。

根据本公开的实施例,实体差异化编码表示是基于候选实体的编码表示与候选实体的N个相似实体的编码表示的差异得到的。

基于候选实体的编码表示和N个相似实体的编码表示的差异得到实体差异化编码表示可以是,对候选实体的编码表示和每个相似实体的编码表示进行求差运算,得到候选实体与每个相似实体的差异信息,然后可以基于该差异信息得到该实体差异化编码表示。

基于该差异信息得到实体差异化编码表示的方式,可以是以该差异信息的编码作为实体差异化编码表示,或者也可以是进一步处理该差异信息,并基于进一步处理后的差异信息来得到实体差异化编码表示,或者还可以融合该差异信息与利用第一文本编码器编码实体得到的编码表示,得到该实体差异化编码表示。

在操作S250,获取实体提及的编码表示。

在一个实施例中,可以利用第二文本编码器编码实体提及,以获得第二文本编码器的输出。

在另一个实施例中,可以先利用第二编码器编码用户问句的字符串,得到用户问句的编码表示矩阵,然后从用户问句的编码表示矩阵中,截取与实体提及的字符串在用户问句中的位置范围对应的向量组,得到实体提及对应的编码矩阵,接下来对实体提及对应的编码矩阵中的向量按位求平均,得到实体提及的编码表示。这样得到的实体提及的编码表示,结合了实体提及所在的上下文语言环境,使得所得的实体提及的编码表示,更能反映出实体提及在用户问句中的真实含义,符合自然语言理解中通常需要结合具体的语境进行语言理解的习惯。

在操作S260,基于实体提及的编码表示与T个候选实体中每个候选实体的实体差异化编码表示,计算实体提及与每个候选实体的第二相似度。该第二相似度例如可以是通过实体提及的编码表示对应的向量,与每个候选实体的实体差异化编码表示对应的向量之间的内积、夹角或余弦相似度等参数来表征。

在操作S270,确定T个候选实体中第二相似度最大的候选实体,为实体提及的链接实体。由于实体差异化编码表示引入了实体与其相似实体的编码表示的差异信息,在基于候选实体的实体差异化编码表示与实体提及匹配时,所得的匹配结果可以凸显每个候选实体与其相似实体的差异,降低甚至避免正确实体以及与其相似的其他实体与用户问句链接时容易导致的混淆,提升实体链接中实体消歧的效果,提高实体链接的准确率。

相关技术中,基于知识图谱上下文表示的问句实体链接方法和基于实体描述表示的问句实体链接方法中,各个实体单独进行编码、缺少与相似实体的差异对比信息,容易导致错误链接。与此相比,本公开实施例的方法在实体消歧步骤中,所使用的实体的实体差异化编码表示中融合了相似实体的差异信息,优化实体的编码表示进而提升实体链接的效果。

根据本公开的实施例,可以在操作S210~操作S270之前,协同训练操作S210~操作S270中所使用的第一文本编码器、第二文本编码器以及全连接神经网络等机器学习模型。其中,训练过程中使用的样本数据可以包括知识图谱、样本用户问句和样本用户问句中的正确实体提及及其正确链接实体。其中,在训练过程中可以通过对比操作S270预测出的实体提及及其链接实体、与正确实体提及及其正确链接实体的差异,来得到损失函数的损失值,然后通过梯度反向传播算法,实现各个机器学习模型的训练。

图3示意性示出了根据本公开实施例的问答问句实体链接方法中操作S240获取实体差异化编码表示的流程图。

如图3所示,根据该实施例操作S240可以包括操作S241~操作S243。

在操作S241,从知识图谱中获取候选实体对应的N个相似实体。

在一个实施例中,可以基于候选实体的编码表示与知识图谱中的其他实体的编码表示,计算候选实体与知识图谱中的其他实体的第一相似度。然后从知识图谱中选择第一相似度满足预设条件的N个实体,得到候选实体对应的N个相似实体。在一些实施例中,可以通过向量内积、或者向量夹角、或者向量余弦相似度等来表征第一相似度。

该预设条件可以是将第一相似度从大到小排序后,排序在前N的实体。其中,当以不同的参数表征该第一相似度时,第一相似度的大小对应的物理意义不同。例如,当以向量内积表征第一相似度时,内积越大意味着两个向量越相似,即第一相似度越大;当以向量夹角表征第一相似度时,向量夹角越小意味着两个向量越相似,即第一相似度越大;当以余弦相似度表征第一相似度时,余弦值越大意味着两个向量越相似,即第一相似度越大。

或者该预设条件也可以是第一相似度超过预定阈值。当以不同的参数(内积、向量夹角、或余弦相似度)表征该第一相似度时,该预定阈值可以根据对应的参数来设置。

在操作S242,获取候选实体和N个相似实体各自的编码表示。

在操作S243,基于候选实体的编码表示分别与N个相似实体的编码表示的差异信息,得到实体差异化编码表示。

例如,可以仅基于该差异信息,得到实体差异化编码表示。或者,可以融合该差异信息与利用第一文本编码器编码得到的候选实体的编码表示,得到实体差异化编码表示。再或者,还可以通过该差异信息与用户问句的匹配度处理该差异信息,得到实体差异化编码表示;又或者,可以基于该差异信息与用户问句的匹配度处理该差异信息后,再与利用第一文本编码器编码得到的候选实体的编码表示融合,得到实体差异化编码表示。其中不同的方式得到的实体差异化编码表示,对实体链接效果的提升程度有所不同,可以根据实际需要进行选择。

在一个实施例中,操作S243中可以计算候选实体的编码表示对应的向量与N个相似实体中每个相似实体的编码表示对应的向量的差,得到与每个相似实体对应的表示差向量。其中,与N个相似实体一一对应得到N个表示差向量,然后基于N个表示差向量,得到实体差异化编码表示。

图4示意性示出了根据本公开一实施例的问答问句实体链接方法中操作S243得到实体差异化编码表示的流程图。

如图4所示,根据该实施例操作S243可以包括操作S401~操作S402。

首先在操作S401,计算候选实体的编码表示对应的向量与N个相似实体中每个相似实体的编码表示对应的向量的差,得到与每个相似实体对应的表示差向量。其中,与N个相似实体一一对应得到N个表示差向量。

然后在操作S402,将N个表示差向量按位求平均,得到平均表示差向量,其中,以平均表示差向量作为实体差异化编码表示。

在一个实施例中,可以将候选实体e的编码表示对应的向量复制N行,得到矩阵Me。N个相似实体的编码表示对应的向量可以按行向量组合成矩阵Ms,然后通过按位相减得到矩阵De=Me-Ms。其中矩阵De中的每个行向量即为一个相似实体对应的表示差向量。对矩阵De的所有行向量按位求平均,就可以得到平均表示差向量。在该实施例中,可以以该平均表示差向量作为候选实体e的实体差异化编码表示。

图5示意性示出了根据本公开另一实施例的问答问句实体链接方法中操作S243得到实体差异化编码表示的流程图。

如图5所示,根据该实施例操作S243可以包括操作S401和操作S502~操作S506。

首先在操作S401,计算候选实体的编码表示对应的向量与N个相似实体中每个相似实体的编码表示对应的向量的差,得到与每个相似实体对应的表示差向量。其中,与N个相似实体一一对应得到N个表示差向量。N个表示差向量可以组成矩阵De。

接下来在操作S502,利用第二编码器编码用户问句的字符串,得到用户问句的编码表示矩阵。用户问句的编码表示为维度q_len*h的矩阵Mq,其中q_len为用户问句中切分出的组成单元的个数,h为每个组成单元对应的向量的维度,h为整数。

然后在操作S503,通过每个表示差向量和用户问句的编码表示矩阵相乘再加和,得到表示差向量与用户问句的匹配度。

在一个运算实例中,为了便于矩阵乘法和批量处理,可以先计算De与Mq转置的矩阵乘积,得到维度为N*q_len的矩阵,该矩阵中每一行向量即为每个相似实体对应的表示差向量与Mq相乘所得的向量。然后可以将该矩阵中的每一行加和,得到N*1维的矩阵。其中,该N*1维的矩阵中每一行的值即每个相似实体对应的表示差向量与用户问句的匹配度。

接下来在操作S504,归一化处理N个表示差向量各自对应的匹配度,得到与每个表示差向量对应的权重系数。

例如,可以归一化处理上述N*1维的矩阵中的元素,得到与N个相似实体对应的权重矩阵We。

然后在操作S505,通过候选实体的编码表示对应的向量,减去利用权重系数对与表示差向量差对应的相似实体的编码表示进行权重调节后的向量,得到用户交互表示差向量。其中,与N个相似实体一一对应得到N个用户交互表示差向量。

之后在操作S506,对N个用户交互表示差向量按位求平均,得到平均交互表示差向量,其中,以平均交互表示差向量作为实体差异化编码表示。

在一个实施例中,可以通过如下公式(1)一次性运算来实现上述操作S505和操作S506,其中,

实体e的实体差异化编码表示=e的编码表示-We

式(1)中,e的编码表示为利用第一文本编码器对知识图谱中的实体按照统一规则独立编码得到的编码表示;

We

Ms为N个相似实体的编码表示对应的向量按行组合成矩阵。

该实施例中,在获取候选实体的实体差异化编码表示时,通过相似实体的差异信息与用户问句进行匹配运算,得到该差异信息与用户问句的匹配度,然后将该匹配度作为该差异信息的权重系数,据此来调整该实体差异化编码表示中对应的差异信息的权重,并且将通过权重调节后的差异与候选识别的编码表示相融合,使得实体差异化编码表示中可以体现出候选实体与N个相似实体在用户问句语境环境中的差异。从而当在操作S260和S270与用户问句中实体提及进行匹配链接时,更具有针对性,能够有效提高实体链接的针对性。

图6示意性示出了根据本公开另一实施例的知识图谱问答问句实体链接方法的流程图。

如图6所示,根据该实施例的知识图谱问答问句实体链接方法,在操作S210~操作S270之前,还可以包括操作S610~操作S630。

首先在操作S610,利用第一文本编码器编码知识图谱中的实体,得到知识图谱中的实体的编码表示。

然后在操作S620,基于每个实体的编码表示与知识图谱中的其他实体的编码表示,计算每个实体与知识图谱中的其他实体的第一相似度。

接下来在操作S630,从知识图谱中选择第一相似度满足预设条件的N个实体,得到每个实体对应的N个相似实体。

根据本公开的实施例,可以在将知识图谱用于用户问答互动之前,对知识图谱中的实体进行离线编码并筛选出相似实体,这样可以提高知识图谱问答时与用户实时交互的效率。

图7示意性示出了根据本公开再一实施例的知识图谱问答问句实体链接方法的流程图。

如图7所示,根据该实施例的知识图谱问答问句实体链接方法可以包括操作S210、操作S720、操作S230~操作S270和操作S780~操作S790。

在操作S210,获取用户问句。

接下来在操作S720,利用全连接神经网络预测用户问句中的实体提及及其预测概率。其中,操作S720是操作S220的一个具体实施例。

接下来通过操作S230~操作S270,从知识图谱中检索出实体提及匹配的T个候选实体,并基于实体提及的编码表示与每个候选实体的实体差异化编码表示来计算每个候选实体与实体提及的第二相似度,并将该第二相似度最大的候选实体,确定为实体提及的链接实体。操作S230~操作S270的具体内容可以参考前文的描述,此处不再赘述。

然后在操作S780,归一化处理与T个候选实体分别对应的T个第二相似度,得到表征T个候选实体中每个候选实体链接正确的链接概率。

接下来在操作S790,在实体提及的预测概率与实体提及的链接实体的链接概率的乘积大于概率阈值时,确定实体提及及其链接实体的链接关系可信。

其中,当乘积大于概率阈值时,可以认为操作S270中预测出的实体提及与其链接实体的可信度满足要求,可以输出该实体提及与其链接实体。而当乘积不大于概率阈值时,可以认为操作S270中预测出的实体提及与其链接实体的可信度过低,此时可以删掉该实体提及与其链接实体。

这样,当利用操作S790输出的实体提及与其链接实体,对用户问句进行答复时,可以提高知识图谱问答的准确率。

接下来结合图8和图9的具体实施例,来示例性说明本公开实施例的知识图谱问答问句实体链接方法的应用。其中,在图8和图9的示例中,以“吉林松花江文化节的开幕时间”作为用户问句。可以理解,图8和图9的示例进行示意性的,不对本公开构成限定。

图8示意性示出了根据本公开再一实施例的知识图谱问答问句实体链接方法的流程图。图9示意性示出了图8所示的知识图谱问答问句实体链接方法中数据流转示意图。

如图8所示,结合图9,该实施例的知识图谱问答问句实体链接方法可以包括步骤S1~S7。

步骤S1:实体离线编码。该步骤为前述操作S610的具体实施例,参考图9,具体过程如下:

(1)输入:知识图谱中全部实体的集合;

(2)输出:知识图谱中每个实体的编码表示,即h维实数向量,其中h为整数;

(3)编码过程:基于各个实体的实体描述文本或知识图谱中的实体、关系等上下文信息(例如,可以从知识图谱中抽取与实体相关联的三元组信息<实体1,关系,实体2>,加工成文本作为输入),进行实体离线编码;

利用实体名称和实体描述文本进行实体编码的过程为:将实体名称字符串与实体描述文本字符串拼接为一个字符串,输入到第一文本编码器进行向量编码,并从输出获取到实体名称字符串对应的编码作为实体的编码表示。以Bert作为第一文本编码器的编码的过程为:

1)将实体名称及其实体描述文本拼接为字符串:“[CLS]实体名称[ENT]实体描述文本[SEP]”,其中[CLS]代表字符串的起始符、[ENT]代表实体名称与实体描述的分隔符、[SEP]代表字符串的结尾符;

2)将该字符串输入到Bert进行向量编码,并取[CLS]位置的输出编码作为实体的编码,维度为h,h例如可以取768或1024;

例如将“吉林省”和“吉林市”分别利用其实体名称和描述文本拼接为字符串“[CLS]吉林省[ENT]吉林省,是中国省级行政区,省会是长春。[SEP]”、“[CLS]吉林市[ENT]吉林市,别称北国江城,是吉林省辖地级市。[SEP],,之后输入到Bert进行向量编码,并取[CLS]位置的输出编码作为实体的编码表示。

步骤S2:相似实体离线选择。该步骤可以是前述操作S620和操作S630的具体实施例,参考图9,该步骤的具体过程如下:

(1)输入:S1输出的每个实体的编码表示,即h维实数向量;

(2)输出:每个实体e的N个相似实体的集合Se,N为整数;

(3)选择过程:基于实体的编码表示计算每两个实体之间的第一相似度,进而离线选出与每个实体最相似的N个实体(即,N个相似实体)。具体地,针对每个实体e,计算e与所有其他实体的编码表示对应的h维向量的内积,并选出内积最大的N个实体添加到Se。

步骤S3:用户问句编码。该步骤利用第二文本编码器进行编码,结合图9,具体过程如下:

(1)输入:用户问句的字符串,例如“吉林松花江文化节的开幕时间”;

(2)输出:用户问句的编码表示即q_len*h维实数矩阵Mq,其中q_len、h为整数,q_len为将用户问句按照预先设置的组成单元切分得到的组成单元序列长度、h为每个组成单元对应的向量的维度;

(3)编码过程:将用户问句的字符串输入到第二文本编码器进行向量编码,并从输出获取到各个组成单元的编码。

例如,以Bert文本编码器作为第二文本编码器,以组成单元为字符,进行用户问句编码的过程为:

(3.1)将用户问句拼接为字符串:“[CLS]用户问句[SEP]”;

(3.2)将上述字符串输入到Bert进行向量编码,并从输出获取到字符串中各个字符的编码。

例如,针对用户问句“吉林松花江文化节的开幕时间”,利用Bert编码器得到的Mq为13*h维实数矩阵,其中,该问句中包含了13个字符。

步骤S4:实体差异化编码。该步骤为前述操作S240和操作S243的具体实施例。参考图9,该步骤的实现过程如下:

(1)输入:S1输出的每个实体的编码表示(即h维实数向量)、S2输出的每个实体e的N个相似实体的集合Se、S3输出的用户问句的编码表示(即q_len*h维实数矩阵Mq);

(2)输出:每个实体的差异化编码表示,为h维实数向量;

(3)编码过程:首先计算每个实体与其相似实体的编码表示的差异信息,之后计算该差异信息相对于用户问句的编码的重要性权重,最后基于差异信息和重要性权重计算实体的实体差异化编码。在一个实施例中,具体计算过程可以是,针对每个实体e:

(3.1)计算e与Se中每个实体的向量表示差De。具体地,首先以Se中每个实体的编码表示为行向量,构造N*h维矩阵Ms;然后将实体e的编码表示作为行向量,复制N次,构造N*h维矩阵Me。然后计算De=Me-Ms,其中减法-为矩阵逐行按位相减,De为N*h维矩阵。De中的每一个行向量即为e与一个相似实体的编码表示的差异信息;

(3.2)计算De相对于用户问句的编码表示的重要性权重We。具体地,先计算De与Mq转置的矩阵乘积,得到N*q_len的矩阵,之后将该矩阵中的每一行向量中的元素夹和,得到N*1矩阵,该N*1矩阵中每一个元素可以表征为e的一个相似实体对应的差异信息与用户问句的匹配度。接下来通过softmax归一化算法,归一化处理该N*1矩阵中的元素,得到维度为N*1的权重矩阵We;

(3.3)以上述公式(1)计算e的实体差异化编码表示,即e的实体差异化编码表示=S1输出的e的编码表示-We

步骤S5:实体提及预测。该步骤为前文描述的操作S220或S720的具体实施例。参考图9,可以利用全连接神经网络来预测用户问句中的实体提及,具体实现过程如下:

(1)输入:S3输出的用户问句的编码表示,即q_len*h维实数矩阵Mq;

(2)输出:用户问句的M个(实体提及,预测概率)两元组。

(3)预测过程:

(3.1)针对0<=i<=q_len-1,计算问句中第i个组成单元(例如上例中的第i个字符)作为实体提及起始单元的概率ps(i),具体是经过一个全连接神经网络将每个单元对应的向量转换为一个概率值,其中全连接神经网络例如1层全连接网络Mq*Ws+bs,其中Ws为h*1矩阵、bs为实数;

(3.2)针对0<=i<=q_len-1,计算问句中第i个组成单元(例如上例中的第i个字符)作为实体提及结束单元的概率pe(i),具体是经过一个全连接神经网络将每个单元对应的向量转换为一个概率值,其中全连接神经网络例如1层全连接网络Mq*We+be,其中We为h*1矩阵、be为实数;

(3.3)针对0<=i<=q_len-1,计算问句中第i个组成单元(例如上例中的第i个字符)作为实体提及组成单元的概率pm(i),具体是经过一个全连接神经网络将每个单元对应的向量转换为一个概率值,其中全连接神经网络例如1层全连接网络Mq*Wm+bm,其中Wm为h*1矩阵、bm为实数;

(3.4)针对0<=i<=j<=q_len-1,计算问句中任意连续单元区间[i,j](例如上例中的第i到第j个字符之间的区间)作为实体提及的概率p([i,j]),具体:该概率=sigmoid(ps(i)+pe(j)+sumi<=t<=j(pm(t)));

(3.5)按照概率p([i,j])选出top M个连续单元区间作为实体提及候选;

例如针对问句“吉林松花江文化节的开幕时间”,将针对“吉林”、“林松”、“松花”、“松花江”等连续单元区间计算概率,并选出M=3个概率最大的区间及对应的概率值,例如(“吉林”,0.6)、(“松花江”,0.3)等。

步骤S6:候选实体召回。该步骤为前述操作S230的具体实施例,参考图9,具体实现过程如下:

(1)输入:S5输出的用户问句的M个实体提及及其预测概率;

(2)输出:针对用户问句中的每一个实体提及,返回T个候选实体;

(3)召回过程:具体地,针对每个实体提及m,

(3.1)利用匹配方法,分别与每个实体进行模糊匹配,计算匹配分数f;

例如当基于实体提及字符串与实体名称字符串的编辑距离计算f,实体提及“吉林”与实体“吉林市”的编辑距离匹配分数f=1、“吉林省”的编辑距离匹配分数f=1、“长春市”的编辑距离匹配分数f=3;

(3.2)按照匹配分数f,筛选最匹配的T个候选实体。例如当基于实体提及字符串与实体名称字符串的编辑距离计算匹配分数f,f越小表示越匹配,实体“吉林”与“长春市”相比,实体提及“吉林”与“吉林市”、“吉林省”更匹配。

步骤S7:实体提及的编码表示-实体差异化编码表示的匹配排序。该步骤为前述操作S260、操作S270、操作S780和操作S790的具体实施例。参考图9,具体实现过程如下:

(1)输入:S3输出的用户问句的编码表示(即q_len*h维实数矩阵Mq)、S5输出的用户问句的M个实体提及其预测概率、S6输出的每一个实体提及对应的T个候选实体、S4输出的每个实体的实体差异化编码表示(即h维向量);

(2)输出:用户问句对应的(实体提及、链接实体)集合;

(3)计算过程:

(3.1)针对每个实体提及m,根据用户问句的编码表示Mq,计算m的编码表示。实体提及m的编码表示等于从Mq中截取其所包含的组成单元的编码向量,然后按位求均值;

(3.2)针对每个实体提及m的T个候选实体,从S4输出的实体差异化编码表示结果中查询,得到T个候选实体的实体差异化编码表示;

(3.3)针对每个实体提及m以及其T个候选实体,分别计算m的编码表示与候选实体的实体差异化编码表示的内积,然后再通过softmax归一化处理,得到T个候选实体的链接概率分布,并依据链接该概率选出链接概率最高的候选实体,形成(实体提及、链接实体)二元组。对于用户问句中的M个实体提及,则相应的形成M个(实体提及、链接实体)二元组;

(3.4)针对每个实体提及m,计算该实体提及的预测概率与其链接实体的链接概率的乘积,并从M个(实体提及、链接实体)二元组中中删掉该概乘积<概率阈值的元素,其中,剩余(实体提及、候选实体)二元组形成集合输出。

从图9可以看出,本公开实施例的方案中,在步骤S1使用到了第一文本编码器,在步骤S3中使用到了第二文本编码器,在步骤S5中使用到了全连接神经网络。其中,该第一文本编码器、第二文本编码器以及全连接神经网络可以通过协同训练得到。在训练过程中,训练过程中使用的样本数据包括知识图谱、样本用户问句和样本用户问句中的正确实体提及及其正确链接实体。在每一轮训练中,执行上述步骤S1~S7所包含的步骤之后,计算损失值。其中,损失值等于正确实体提及预测结果的交叉熵损失与正确链接实体的Log似然损失之和,其中,交叉熵损失、Log似然损失是两种损失函数,是用来衡量神经网络的预测值与真实值偏差的一种方式。然后基于损失值进行梯度反向传播,实现方法模型的训练。

可见,根据本公开实施例,基于相似实体表示差异建模来的知识图谱问答问句实体链接方法,以用户问句、知识图谱中的实体集合为输入,首先采用第一编码器对实体进行离线编码,并基于实体的编码表示计算第一相似度进而离线选出每个实体的N个相似实体,之后采用第二编码器进行用户问句编码,并基于相似实体的编码差异及其相对于用户问句编码的重要性权重,计算实体差异化编码,与此同时进行实体提及预测、候选实体召回,接下来基于实体提及编码和实体差异化编码的匹配排序,选择与每个实体提及最匹配的候选实体作为链接实体,最后返回实体提及以及链接到的知识图谱中实体作为实体链接的结果。以此方式,可以在各个实体的编码表示中融合与其相似实体的差异信息,优化实体的编码表示进而提升实体链接的效果。

基于上述各个实施例的知识图谱问答问句实体链接方法,本公开实施例还提供了一种知识图谱问答问句实体链接装置。以下将结合图10对该装置进行详细描述。

图10示意性示出了根据本公开实施例的知识图谱问答问句实体链接装置1000的结构框图。

如图10所示,根据本公开的实施例,装置1000可以包括第一获取模块1010、第一提取模块1020、匹配模块1030、第二获取模块1040、第三获取模块1050、第二相似度计算模块1060和链接模块1070。根据本公开的另一些实施例,该装置1000还可以进一步包括第一文本编码器1080、第二文本编码器1090和第一相似度计算模块10100中的至少之一。该装置1000可以用于实现参考图2~图9所描述的方法。

第一获取模块1010用于获取用户问句。在一个实施例中,第一获取模块1010可以用于执行前文描述的操作S210。

第一提取模块1020用于提取用户问句中的实体提及,实体提及为知识图谱中的实体在用户问句中的字符串表述。在一个实施例中,第一提取模块1020可以执行前文描述的操作S220。

根据本公开的一些实施例,第一提取模块1020可以包括全连接神经网络。该全连接神经网络用于预测用户问句中的实体提及及其预测概率。相应地,该第一提取模块1020可以执行前文描述的操作S720。

匹配模块1030用于从知识图谱中检索出与实体提及匹配的T个候选实体,其中,T为大于1的整数。在一个实施例中,匹配模块1030可以执行前文描述的操作S230。

第二获取模块1040用于获取T个候选实体中每个候选实体的实体差异化编码表示。其中,实体差异化编码表示是基于候选实体的编码表示与候选实体的N个相似实体的编码表示的差异得到的,其中,N个相似实体为知识图谱中与候选实体的第一相似度满足预设条件的N个实体,其中,N为大于或等于1的整数。在一个实施例中,第二获取模块1040可以执行前文描述的操作S240。

根据本公开的实施例,第二获取模块1040具体可以用于:从知识图谱中获取候选实体对应的N个相似实体;获取候选实体和N个相似实体各自的编码表示;以及基于候选实体的编码表示分别与N个相似实体的编码表示的差异信息,得到实体差异化编码表示。

根据本公开的实施例,第一相似度计算模块10100用于:基于候选实体的编码表示与知识图谱中的其他实体的编码表示,计算候选实体与知识图谱中的其他实体的第一相似度。相应地,第二获取模块1040可以用于从知识图谱中选择第一相似度满足预设条件的N个实体,得到候选实体对应的N个相似实体。在一个实施例中,第一相似度计算模块10100可以执行前文描述的操作S620,以及第二获取模块1040可以用于执行前文描述的操作S630。

第三获取模块1050用于获取实体提及的编码表示。在一个实施例中,第三获取模块1050可以执行前文描述的操作S250。

根据本公开的一些实施例,第二文本编码器1090用于编码用户问句的字符串,得到用户问句的编码表示矩阵。相应地,第三获取模块1050用于:从用户问句的编码表示矩阵中,截取与实体提及的字符串在用户问句中的位置范围对应的向量组,得到实体提及对应的编码矩阵;以及对实体提及对应的编码矩阵中的向量按位求平均,得到实体提及的编码表示。

第二相似度计算模块1060用于基于实体提及的编码表示与T个候选实体中每个候选实体的实体差异化编码表示,计算实体提及与每个候选实体的第二相似度。在一个实施例中,第二相似度计算模块1060可以执行前文描述的操作S260。

链接模块1070用于确定T个候选实体中第二相似度最大的候选实体,为实体提及的链接实体。在一个实施例中,链接模块1070可以执行前文描述的操作S270。在另一些实施例中,链接模块1070还可以执行前文描述的操作S780和操作S790。

第一文本编码器1080用于编码知识图谱中的实体,得到知识图谱中的实体的编码表示。在一个实施例中,第一文本编码器1080可以执行前文描述的操作S610。

根据本公开的实施例,装置1000还可以包括训练模块。该训练模块可以用于协同训练第一文本编码器1080、第二文本编码器1090以及全连接神经网络,其中,在训练过程中使用的样本数据包括知识图谱、样本用户问句和样本用户问句中的正确实体提及及其正确链接实体。

根据本公开的实施例,第一获取模块1010、第一提取模块1020、匹配模块1030、第二获取模块1040、第三获取模块1050、第二相似度计算模块1060、链接模块1070、第一文本编码器1080、第二文本编码器1090、第一相似度计算模块10100、全连接神经网络和训练模块中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一获取模块1010、第一提取模块1020、匹配模块1030、第二获取模块1040、第三获取模块1050、第二相似度计算模块1060、链接模块1070、第一文本编码器1080、第二文本编码器1090、第一相似度计算模块10100、全连接神经网络和训练模块中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一获取模块1010、第一提取模块1020、匹配模块1030、第二获取模块1040、第三获取模块1050、第二相似度计算模块1060、链接模块1070、第一文本编码器1080、第二文本编码器1090、第一相似度计算模块10100、全连接神经网络和训练模块中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

图11示意性示出了适于实现根据本公开实施例的知识图谱问答问句实体链接方法的电子设备的框图。

如图11所示,根据本公开实施例的电子设备1100包括处理器1101,其可以根据存储在只读存储器(ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(RAM)1103中的程序而执行各种适当的动作和处理。处理器1101例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器1101还可以包括用于缓存用途的板载存储器。处理器1101可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

在RAM 1103中,存储有电子设备1100操作所需的各种程序和数据。处理器1101、ROM 1102以及RAM 1103通过总线1104彼此相连。处理器1101通过执行ROM 1102和/或RAM1103中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 1102和RAM 1103以外的一个或多个存储器中。处理器1101也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。

根据本公开的实施例,电子设备1100还可以包括输入/输出(I/O)接口1105,输入/输出(I/O)接口1105也连接至总线1104。电子设备1100还可以包括连接至I/O接口1105的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。

本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。

根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1102和/或RAM 1103和/或ROM 1102和RAM 1103以外的一个或多个存储器。

本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的方法。

在该计算机程序被处理器1101执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。

在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1109被下载和安装,和/或从可拆卸介质1111被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。

在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被处理器1101执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。

根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。

以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号