发明内容
本发明的目的是提供一种知识图谱的语义问答方法、装置、计算机设备及存储介质,旨在解决现有知识图谱的问答系统查询出的答案质量还有待提高的问题文本。
第一方面,本发明实施例提供了一种知识图谱的语义问答方法,其包括:
接收用户输入的问题文本;
将所述问题文本输入预测模型,输出所述问题文本的核心实体;
将所述核心实体与知识图谱中的候选实体进行特征对比,得到所述核心实体在知识图谱中对应的核心节点;
基于所述核心节点,在所述知识图谱上向外扩展节点,并对扩展的节点的关系进行过滤,构建得到多个候选子图;
将多个所述候选子图分别输入图卷积网络,输出每个候选子图的得分,选用最高得分的候选子图作为答案子图;
根据所述答案子图,套用模板生成答案。
第二方面,本发明实施例提供了一种知识图谱的语义问答装置,其包括:
接收单元,接收用户输入的问题文本;
预测单元,用于将所述问题文本输入预测模型,输出所述问题文本的核心实体;
对比单元,用于将所述核心实体与知识图谱中的候选实体进行特征对比,得到所述核心实体在知识图谱中对应的核心节点;
构建单元,用于基于所述核心节点,在所述知识图谱上向外扩展节点,并对扩展的节点的关系进行过滤,构建得到多个候选子图;
选用单元,用于将多个所述候选子图分别输入图卷积网络,输出每个候选子图的得分,选用最高得分的候选子图作为答案子图;
生成单元,用于根据所述答案子图,套用模板生成答案。
第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的知识图谱的语义问答方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的知识图谱的语义问答方法。
本发明实施例公开了知识图谱的语义问答方法、装置、计算机设备及存储介质。该方法包括接收用户输入的问题文本;将问题文本输入预测模型,输出问题文本的核心实体;将核心实体与知识图谱中的候选实体进行特征对比,得到核心实体在知识图谱中对应的核心节点;基于核心节点,在知识图谱上向外扩展节点,并对扩展的节点的关系进行过滤,构建得到多个候选子图;将多个候选子图分别输入图卷积网络,输出每个候选子图的得分,选用最高得分的候选子图作为答案子图;根据答案子图,套用模板生成答案。本发明实施例提供的方法减少了流水线模式中的效果损失,在处理过程中尽可能的保留信息,具有提高最终答案的质量的优点。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1为本发明实施例提供的知识图谱的语义问答方法的流程示意图;
如图1所示,该方法包括步骤S101~S106。
S101、接收用户输入的问题文本。所述问题文本中包含多个字、词以及字和词之间的关系,通过接收所述问题文本后解析出该问题文本中的字、词以及字和词之间的关系,并用于在知识图谱中查询并得到对应的答案。
S102、将所述问题文本输入预测模型,输出所述问题文本的核心实体。
本实施例中,所述预测模型包括双向神经网络模型和span预测模型(预训练语言模型),将所述问题文本输入预测模型后,通过所述双向神经网络模型和span预测模型对问题文本进行预处理,并输出所述问题文本的核心实体,所述核心实体中包含所述问题文本的关键信息,也是所述问题文本区别于其他问题的关键点。
在一实施例中,如图2所示,所述步骤S102包括:
S201、将所述问题文本进行向量化处理得到词向量和字向量,将所述词向量和字向量进行组合得到二维矩阵;
S202、将所述二维矩阵输入预测模型,利用所述预测模型的双向神经网络对所述二维矩阵进行语义特征提取,输出所述问题文本的每个位置的特征向量;
S203、对每个位置的特征向量进行预测,得到每一位置为起始位置或终止位置的概率,并根据概率确认所述核心实体的起始位置和终止位置。
本实施例中,所述预测模型包括输入层、语义表示层以及输出层;具体的,在输入层:输入的是所述问题文本的词向量和字向量,需要将所述词向量和字向量之间做一个变化,举例来说,如限定所述问题文本为60个字,每个字的维度为100,每个字对应的每个词的维度也为100维,字向量经过不同尺度的卷积核进行卷积,如[(2*100),(3*100)]等,可得到不同的字之间组合的向量,再经过一个self-attention(自注意力编码机制),得到一个词下面的字向量构成的一个100维的表示,然后和词原来的100维向量进行相加,如此这个词获得一个新的100维向量的表示,那么整体问题文本的输入就是一个(60,100)的二维矩阵。
在语义表示层:主要对所述二维矩阵进行语义特征的提取,这里面使用的是双向神经网络的结构,其步长为30,隐层神经元节点个数为100个,则对于前向神经网络和后向神经网络的每个隐层分别输出(1,100)维的特征,这里分别记为Hf,Hb,并将Hf和Hb进行拼接,获得(30,200)维的句子的隐层特征输出H;然后对输出的(30,200)维的特征矩阵做一个self_attention的操作,计算每个隐层对于整个句子的一个影响权重,最终对整个隐层输出特征矩阵做一个全连接变换,获得200维向量,构成该问题文本的每个位置的语义特征向量表示。
在输出层:进行Span预测,也就是语义特征向量分析的过程,具体为将所述问题文本的每个位置的语义特征向量乘以一个200*2的参数矩阵,得到1*2的结果,分别表示该位置是核心实体的起始、终止的概率;并根据得到的概率选出所述问题文本的核心实体。
S103、将所述核心实体与知识图谱中的候选实体进行特征对比,得到所述核心实体在知识图谱中对应的核心节点。
本实施例中,分别对所述核心实体和多个所述候选实体进行编码,分别得到核心实体的特征向量和多个所述候选实体的特征向量;再将所述核心实体的特征向量和多个所述候选实体的特征向量进行对比,得到所述核心实体在知识图谱中对应的核心节点,也就是将所述核心实体在知识图谱中进行实体链接的过程。
在一实施例中,如图3所示,所述步骤S103包括:
S301、将所述核心实体进行编码得到对应的特征向量,再对该特征向量进行最大池化操作;
S302、将多个所述候选实体分别进行编码得到多个对应的特征向量;
S303、将所述核心实体的特征向量与所有候选实体的特征向量进行相似度对比,选取相似度最高的候选实体作为核心实体在知识图谱中对应的核心节点。
本实施例中,使用bilstm(Bi-directional Long Short-Term Memory,由前向神经网络与后向神经网络组合而成)对所述核心实体进行编码,得到对应的特征向量,再对该特征向量进行最大池化操作(将一个n*200的矩阵,取每行的最大值,得到1*200的结果);使用graph embeding(一种图编码方法)对多个所述候选实体进行编码,得到对应的多个特征向量;最后将所述核心实体的特征向量与所有候选实体的特征向量进行相似度对比,选取相似度最高的候选实体作为核心实体在知识图谱中对应的核心节点。
S104、基于所述核心节点,在所述知识图谱上向外扩展节点,并对扩展的节点的关系进行过滤,构建得到多个候选子图。
本实施例中,在知识图谱中基于所述核心节点往外扩展寻找关联的其他节点的关系,逐步获取其他节点的关系,并对获取的其他节点的关系进行过滤,得到与所述核心节点关联的关系,最后根据关联的节点的关系进行构建并得到多个候选子图。
在一实施例中,所述步骤S104包括:
以所述核心节点为出发点往外扩展搜寻其他节点,根据其他节点的关系与所述问题文本的相似度,确定是否保留其他节点的关系,并根据搜寻到的其他节点和保留的节点的关系构建多个候选子图。
本实施例中,以所述核心节点为出发点,在知识图谱中基于出发点往外扩展寻找关联的其他节点的关系,每次往外扩展两层,逐步获取其他节点的关系,并将获取的其他节点的关系与所述问题文本进行相似度判断,并根据判断结果保留关联的其他节点的关系,以及剔除未关联的其他节点的关系,最后根据关联的节点的关系进行构建并得到多个候选子图。
在一实施例中,如图4所示,所述步骤S104包括:
S401、以所述核心节点为出发点往外扩展搜寻并获取其他节点;
S402、获取搜寻到的其他节点的关系,并计算所述关系与所述问题文本的相似度,判断计算出的相似度是否大于预设相似度阈值,并将大于预设相似度阈值的节点的关系保留,将小于或等于预设相似度阈值的节点的关系剔除,并根据搜寻到的其他节点和保留的节点的关系构建多个候选子图。
本实施例中,在知识图谱中基于出发点往外扩展寻找关联的其他节点的关系时,鉴于部分节点的关系数过多,如果过多扩展容易导致爆炸,故引入剪枝操作:将搜寻到的其他节点的关系分别与所述问题文本进行相似度计算,并得到对应的相似度值,然后将得到的相似度值与预设相似度阈值进行对比,若所述相似度值大于预设相似度阈值,则说明该相似度值对应的节点的关系与所述问题文本关联,即所述问题文本中存在该关系并将该节点的关系保留,若所述相似度值小于或等于预设相似度阈值,则说明该相似度值对应的节点的关系与所述问题文本未关联,直接剔除该节点的关系;最后将保留的节点的关系构建多个候选子图。需要说明的是,每一所述候选子图中可以由一个或多个临近的关系构成。
S105、将多个所述候选子图分别输入图卷积网络,输出每个候选子图的得分,选用最高得分的候选子图作为答案子图。
本实施例中,得到的多个所述候选子图中,需要选取出最合适的候选子图作为所述问题文本的答案子图,具体可通过图卷积网络输出每一所述候选子图的得分,得分越高表示答案越准确,最后选用得分最高的候选子图作为答案子图即可。
在一实施例中,如图5所示,所述步骤S105包括:
S501、分别将每一候选子图输入图卷积网络,进行多次卷积变换后,输出卷积后的候选子图;
S502、将卷积后的候选子图与编码后的所述核心实体对应的特征向量进行拼接,再进行卷积编码;
S503、将卷积编码后的每一所述候选子图的向量进行全连接变换并得到对应的分数,并选取最高分数对应的候选子图作为答案子图。
本实施例中,答案子图的选取过程:先将每一候选子图输入图卷积网络进行卷积变换,如图6所示,对输入的候选子图经过多次的图神经网络卷积,激活函数采用relu,最终得到一个跟输入同样大小的图;然后将卷积后的候选子图与编码后的所述核心实体对应的特征向量进行拼接,再进行一次卷积编码,目的是为了混合问题文本和图信息;最后将拼接后的候选子图的特征向量进行全连接变换得到分数,具体的变换过程:将每个候选子图的节点关系用一个向量表示,并将该向量以一个[200,1]的参数矩阵,得到一个分数;最后利用Softmax函数将这些分数中的最大值对应的候选子图作为答案子图。其中,Softmax函数是常用于训练的一种最大值平滑函数。
S106、根据所述答案子图,套用模板生成答案。即确认了所述答案子图对应的问题为用户输入的所述问题文本,将所述答案子图对应的问题的答案作为所述问题文本的答案并返回。
本发明实施例还提供一种知识图谱的语义问答装置,该知识图谱的语义问答装置用于执行前述知识图谱的语义问答方法的任一实施例。具体地,请参阅图7,图7是本发明实施例提供的知识图谱的语义问答装置的示意性框图。
如图7所示,知识图谱的语义问答装置700,包括:接收单元701、预测单元702、对比单元703、构建单元704、选用单元705以及生成单元706。
接收单元701,用于接收用户输入的问题文本;
预测单元702,用于将所述问题文本输入预测模型,输出所述问题文本的核心实体;
对比单元703,用于将所述核心实体与知识图谱中的候选实体进行特征对比,得到所述核心实体在知识图谱中对应的核心节点;
构建单元704,用于基于所述核心节点,在所述知识图谱上向外扩展节点,并对扩展的节点的关系进行过滤,构建得到多个候选子图;
选用单元705,用于将多个所述候选子图分别输入图卷积网络,输出每个候选子图的得分,选用最高得分的候选子图作为答案子图;
生成单元706,用于根据所述答案子图,套用模板生成答案。
该装置在输入问题文本到查询答案子图的过程中,减少流水线模式中的效果损失,在处理过程中尽可能的保留信息,具有提高最终答案的质量的优点。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上述知识图谱的语义问答装置可以实现为计算机程序的形式,该计算机程序可以在如图8所示的计算机设备上运行。
请参阅图8,图8是本发明实施例提供的计算机设备的示意性框图。该计算机设备800是服务器,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图8,该计算机设备800包括通过系统总线801连接的处理器802、存储器和网络接口805,其中,存储器可以包括非易失性存储介质803和内存储器804。
该非易失性存储介质803可存储操作系统8031和计算机程序8032。该计算机程序8032被执行时,可使得处理器802执行知识图谱的语义问答方法。
该处理器802用于提供计算和控制能力,支撑整个计算机设备800的运行。
该内存储器804为非易失性存储介质803中的计算机程序8032的运行提供环境,该计算机程序8032被处理器802执行时,可使得处理器802执行知识图谱的语义问答方法。
该网络接口805用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图8中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备800的限定,具体的计算机设备800可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域技术人员可以理解,图8中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图8所示实施例一致,在此不再赘述。
应当理解,在本发明实施例中,处理器802可以是中央处理单元(CentralProcessing Unit,CPU),该处理器802还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本发明实施例的知识图谱的语义问答方法。
所述存储介质为实体的、非瞬时性的存储介质,例如可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的实体存储介质。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。