CN116069876A - 基于知识图谱的问答方法、装置、设备及存储介质 - Google Patents
基于知识图谱的问答方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116069876A CN116069876A CN202310081010.1A CN202310081010A CN116069876A CN 116069876 A CN116069876 A CN 116069876A CN 202310081010 A CN202310081010 A CN 202310081010A CN 116069876 A CN116069876 A CN 116069876A
- Authority
- CN
- China
- Prior art keywords
- path
- entity
- hop
- paths
- question
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/288—Entity relationship models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/027—Frames
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于知识图谱的问答方法、装置、设备及存储介质,本申请在生成多跳路径集合时采用了逐跳路径搜索方式,剔除掉与问题句子无关的路径,避免路径数量***,保证了方案应对复杂问题的可行性。并且,通过生成多跳路径集合和约束路径集合,可以得到问题句子所有可能的答案路径,最终通过计算与问题句子的相似度,筛选相似度最高的路径的答案实体作为最终答案,提升了答案实体检索的全面性和准确性。
Description
技术领域
本申请涉及自然语言处理技术领域,更具体的说,是涉及一种基于知识图谱的问答方法、装置、设备及存储介质。
背景技术
随着计算机和互联网的广泛应用,人类产生、创造的数据量呈***式增长,理解与应用这些数据所需的成本也随之增加。因此,如何高效而准确地处理海量异质数据成为了一个亟待解决的问题。知识图谱以结构化的“知识”来存储与表示海量数据,作为承载底层海量知识并支持上层智能应用的重要载体,它在智能时代中扮演了极其重要的角色。然而,由于知识图谱高度结构化的特点,我们常常需要构建结构化查询语句(SPARQL等)来查找相关知识,这为普通用户使用知识图谱造成了不便。因此,在知识图谱上进行自然语言问答(KBQA)近年来成为了前者的热门应用之一。
现有的知识图谱问答方法主要聚焦于解决简单问题,简单问题是指可以使用单个三元组推理出答案的问题,例如,对于“浙江的省会是哪里?”这一问题,我们可以通过知识图谱中的单个三元组<浙江,省会,杭州>得到答案是<杭州>这个实体。但是复杂问题更加契合现实中的复杂场景。复杂问题主要有两种类型,一是带约束的问题:例如:“谁是第一届温网男单冠军?”。该问题中的"第一届"表示一种对答案实体的约束。二是多跳问题:例如:“张三主演电影的导演是哪些人?”。该问题需要使用多个三元组所形成的多跳推理路径才能够回答。例如:通过这些三元组<张三,主演,xx故事>,<xx故事,导演,李四>,我们推理出<李四>是一个正确答案。
现有知识图谱问答主要采用语义解析(Semantic Parsing)类方法,旨在将问题解析为可执行的图数据库查询语句(如SPARQL),然后通过执行该语句找到答案。对于简单问题,语义解析类方法旨在将问题解析为一个头实体h与一个关系r,即(h,r,?)的形式。例如,对于“张三的出生地是哪里?”这一问题,可以解析出头实体<张三>与关系<出生地>,并得到伪查询语句<张三,出生地,?>。随后通过执行该查询语句得到答案<上海>。但是,对于复杂问题,由于其不能简单解析为上述单个三元组的形式,因此,现有技术难以应对复杂的问题。
发明内容
鉴于上述问题,提出了本申请以便提供一种基于知识图谱的问答方法、装置、设备及存储介质,以实现基于知识图谱,对给定的简答问题或复杂问题给出答案的目的。具体方案如下:
第一方面,提供了一种基于知识图谱的问答方法,包括:
确定问题句子所指向的知识图谱中的候选实体;
从各所述候选实体中筛选得到与所述问题句子所链接的目标实体;
在所述知识图谱中以所述目标实体为起点,按照逐跳路径搜索的方式,搜索得到多跳路径集合,其中,在每跳路径搜索过程,将当前的多跳路径与当前的多跳路径的答案实体的各一跳路径分别组合得到若干组合路径,并选取与所述问题句子相似度满足设定条件的组合路径作为下一刻的多跳路径;
基于所述多跳路径集合中两两多跳路径的组合,得到约束路径集合;
计算所述多跳路径集合和所述约束路径集合中每条路径与所述问题句子的相似度,并选取相似度最高的路径的答案实体作为最终答案。
第二方面,提供了一种基于知识图谱的问答装置,包括:
候选实体确定单元,用于确定问题句子所指向的知识图谱中的候选实体;
实体链接单元,用于从各所述候选实体中筛选得到与所述问题句子所链接的目标实体;
多跳路径搜索单元,用于在所述知识图谱中以所述目标实体为起点,按照逐跳路径搜索的方式,搜索得到多跳路径集合,其中,在每跳路径搜索过程,将当前的多跳路径与当前的多跳路径的答案实体的各一跳路径分别组合得到若干组合路径,并选取与所述问题句子相似度满足设定条件的组合路径作为下一刻的多跳路径;
约束路径获取单元,用于基于所述多跳路径集合中两两多跳路径的组合,得到约束路径集合;
答案实体选取单元,用于计算所述多跳路径集合和所述约束路径集合中每条路径与所述问题句子的相似度,并选取相似度最高的路径的答案实体作为最终答案。
第三方面,提供了一种基于知识图谱的问答设备,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如上所述的基于知识图谱的问答方法的各个步骤。
第四方面,提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上所述的基于知识图谱的问答方法的各个步骤。
借由上述技术方案,本申请对于问题句子确定其所指向的知识图谱中的候选实体,进一步通过实体链接,从各候选实体中筛选出与问题句子所链接的目标实体。考虑到一些复杂问题属于多跳问题或带约束的问题,对于多跳问题,其答案在知识图谱中对应多跳路径,因此本申请在知识图谱中以目标实体为起点,采用逐跳路径搜索的方式,搜索得到多跳路径集合,其中,在每跳路径搜索过程,将当前的多跳路径与当前的多跳路径的答案实体的各一跳路径分别组合得到若干组合路径,并选取与问题句子相似度满足设定条件的组合路径作为下一刻的多跳路径,采用该逐跳路径搜索的方式可以有效结合知识图谱本身的结构信息,并且将相似度打分嵌入到多跳路径生成过程,每一跳仅筛选与问题句子相似度满足设定条件的路径,可以有效剔除掉与问题句子无关的路径,避免路径数量***。对于带约束的问题,其答案在知识图谱中对应约束路径,而约束路径可以基于多跳路径转化得到,因此,本申请在得到多跳路径集合后,基于多跳路径集合中两两多跳路径的组合,得到约束路径集合,由此,由多跳路径集合和约束路径集合,可以包含问题句子的所有可能的答案路径。最后,计算上述两个集合中每条路径与问题句子的相似度,选取相似度最高的路径的答案实体作为最终答案。
采用本申请的方案,由于在生成多跳路径集合时采用了逐跳路径搜索方式,剔除掉与问题句子无关的路径,避免路径数量***,保证了方案应对复杂问题的可行性。并且,通过生成多跳路径集合和约束路径集合,可以得到问题句子所有可能的答案路径,最终通过计算与问题句子的相似度,筛选相似度最高的路径的答案实体作为最终答案,提升了答案实体检索的全面性和准确性。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本申请实施例提供的基于知识图谱的问答方法的一流程示意图;
图2示例了部分多跳路径及约束路径的示意图;
图3为本申请实施例提供的一种搜索多跳路径集合的方法流程示意图;
图4为本申请实施例提供的一种得到约束路径集合的方法流程示意图;
图5示例了一种基于知识图谱进行问答的实例流程示意图;
图6为本申请实施例提供的另一种得到约束路径集合的方法流程示意图;
图7示例了一种句子相似度计算模型的训练样本实例示意图;
图8示例了一种采用序列标注结构的实体关键字识别模型示意图;
图9示例了一种基于seq2seq的实体生成模型示意图;
图10示例了一种实体链接模型示意图;
图11为本申请实施例提供的一种基于知识图谱的问答装置结构示意图;
图12为本申请实施例提供的基于知识图谱的问答设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供了一种基于知识图谱的问答方案,可以基于知识图谱来搜索到与问题句子所匹配的答案实体。
本申请方案可以基于具备数据处理能力的终端实现,该终端可以是手机、电脑、服务器、云端等。
在介绍本申请的方案之前,首先对知识图谱的概念进行说明:
知识图谱可以看作是三元组的集合,每个三元组triples均是由subject、predicate和object组成。知识图谱中的三元组主要包括两种,一种是关系三元组relationtriples,另一种是属性三元组attribute triples。其中,relation triples中的subject和object均是实体,predicate表示关系。而attribute triples中的subject是实体,而object则是属性值(value,即属性节点),该属性值通常是一个数值或者文本,其中predicate表示属性。示例如,“张三的爸爸是张二”,其中“张二”就是实体。“张三的年龄是二十四”,其中“二十四”就是属性节点。
本案中在基于知识图谱进行问答时,不需要区分实体和属性节点,因此为了便于表述,将两种类型的三元组中的subject和object均统一称为实体。
接下来,结合图1所述,本申请的基于知识图谱的问答方法可以包括如下步骤:
步骤S100、确定问题句子所指向的知识图谱中的候选实体。
其中,问题句子即由提出的问题对应的句子文本。示例如“杭州的省会是哪个城市”即为一条问题句子。
知识图谱为预先构建的知识图谱,其可以是与当前提问场景所匹配的领域知识图谱。知识图谱中包含大量的实体,为了基于知识图谱来解答问题,本步骤中首先确定问题句子所指向的知识图谱中的实体,作为候选实体。这一步骤也可以理解为候选实体召回的过程,即召回问题句子中可能指向的知识图谱的实体。本步骤可以理解为一个粗粒度的筛选候选实体的过程。
步骤S110、从各所述候选实体中筛选得到与所述问题句子所链接的目标实体。
具体地,考虑到上一步骤中确定的候选实体中可能会包含噪音实体,其会干扰后续查找答案实体的过程,而且候选实体过多也会导致后续计算耗时过长,因此,本步骤中可以通过实体链接对各候选实体进行排序过滤,从中筛选得到与问题句子所链接的目标实体。
实体链接的过程可以理解为:将问题句子中的一个“指称”链接到知识图谱中的一个正确实体的过程。其中“指称”是指问题句子中可能是实体的文本片段。实体链接过程因为知识图谱中实体数量庞大,因此在实体链接之前,需要经过上述步骤S100来初步筛选得到候选实体,候选实体经过进一步筛选,得到与问题句子中的“指称”所链接的目标实体,简称为得到与问题句子所链接的目标实体。
需要说明的是,一个“指称”所链接的目标实体的数量可以是一个或多个,如果为了保证容错率,一个“指称”可以链接多个概率得分更高的目标实体。
步骤S120、在所述知识图谱中以所述目标实体为起点,按照逐跳路径搜索的方式,搜索得到多跳路径集合。
其中,在每跳路径搜索过程,将当前的多跳路径与当前的多跳路径的答案实体的各一跳路径分别组合得到若干组合路径,并选取与所述问题句子相似度满足设定条件的组合路径作为下一刻的多跳路径。
本步骤中,可以将各个时刻的多跳路径组合为多跳路径集合。
知识图谱问答的本质是在问题句子所链接的目标实体周围查找答案实体,连接目标实体和答案实体的关系和节点称之为路径。对于一些复杂问题,其所链接的目标实体和答案实体之间的路径可以归纳为多跳路径和约束路径两种类型。
其中,多跳路径包括一个三元组对应的路径,也包括多个三元组对应的路径,示例如:(浙江,省会,?)是一个多跳路径,(安徽,省会,合肥)-(合肥,著名景点,?)也是一个多跳路径。参照图2,图2左侧示例了部分多跳路径,其中E表示实体,P表示predicate(关系或属性),A表示答案实体。
约束路径指包括多个实体共同约束的路径。参照图2,图2右侧示例了部分约束路径,其,E、P、A的含义参照上述介绍。
以图2右侧的第一个约束路径为例,其对应的问题句子可以是“火柴头的组成成分中哪种是助燃剂?”或者可以是“既是火柴头的组成成分又是助燃剂的是什么?”等。
对于多跳路径而言,若遍历每个节点的所有路径,随着中间节点数目的增加,总路径数量将呈指数级增长,这对于算法来说几乎是无法承受的。为此,本步骤中提出一种按照逐跳路径搜索的方式,以模拟人类的推理策略逐步生成多跳路径。
采用该逐跳路径搜索的方式可以有效结合知识图谱本身的结构信息,并且将相似度打分嵌入到多跳路径生成过程,每一跳仅筛选与问题句子相似度满足设定条件的路径,可以有效剔除掉与问题句子无关的路径,避免路径数量***,在达到设定终止条件后可以终止搜索,得到最终的多跳路径集合。
步骤S130、基于所述多跳路径集合中两两多跳路径的组合,得到约束路径集合。
具体地,结合图2示例的约束路径和多跳路径分析可知,约束路径可以通过多跳路径转化得到,具体的,约束路径可以由多跳路径组合表示。
比如图2中第一种约束路径可以由两条一跳路径合并得到,第二种约束路径可以由一条一跳路径和一条二跳路径合并得到,第三种约束路径可以由两条三跳路径合并得到,第三种约束路径由两条四跳路径合并得到,还有更多的约束路径并未在上图2中列出,比如三实体约束路径,它可以由两个两实体约束路径合并得到。
为此,本步骤中基于上一步骤得到的多跳路径集合,对其中两两多跳路径进行组合,得到约束路径集合。
由此,由多跳路径集合和约束路径集合,可以包含问题句子的所有可能的答案路径。
步骤S140、计算所述多跳路径集合和所述约束路径集合中每条路径与所述问题句子的相似度,并选取相似度最高的路径的答案实体作为最终答案。
具体地,计算上述两个集合中每条路径与问题句子的相似度,选取相似度最高的路径的答案实体作为最终答案,提升了答案实体检索的全面性和准确性。
本申请实施例提供的基于知识图谱的问答方法,过程中采用逐跳路径搜索的方式可以有效结合知识图谱本身的结构信息,并且将相似度打分嵌入到多跳路径生成过程,每一跳仅筛选与问题句子相似度满足设定条件的路径,可以有效剔除掉与问题句子无关的路径,避免路径数量***。对于带约束的问题,其答案在知识图谱中对应约束路径,而约束路径可以基于多跳路径转化得到,因此,本申请在得到多跳路径集合后,基于多跳路径集合中两两多跳路径的组合,得到约束路径集合,由此,由多跳路径集合和约束路径集合,可以包含问题句子的所有可能的答案路径。最后,计算上述两个集合中每条路径与问题句子的相似度,选取相似度最高的路径的答案实体作为最终答案。
采用本申请的方法,由于在生成多跳路径集合时采用了逐跳路径搜索方式,剔除掉与问题句子无关的路径,避免路径数量***,保证了方案应对复杂问题的可行性。并且,通过生成多跳路径集合和约束路径集合,可以得到问题句子所有可能的答案路径,最终通过计算与问题句子的相似度,筛选相似度最高的路径的答案实体作为最终答案,提升了答案实体检索的全面性和准确性。
在本申请的一些实施例中,对上述步骤S120,在所述知识图谱中以所述目标实体为起点,按照逐跳路径搜索的方式,搜索得到多跳路径集合的过程进行说明。结合图3所示,其可以包括如下步骤:
步骤S200、在知识图谱中召回当前的多跳路径的答案实体的一跳路径。
具体地,随着逐跳路径搜索可以得到不同时刻的多跳路径。多跳路径可以理解为从目标实体出发,至当前搜索到的实体之间的路径。
需要说明的是,初始时刻的多跳路径为空,仅有问题句子在知识图谱中所链接的目标实体,因此初始时刻多跳路径的答案实体即为目标实体,所召回的即为目标实体的一跳路径。
本步骤中召回的一跳路径可以是一条或多条,具体根据当前的多跳路径的答案实体,在知识图谱中的下一跳路径的数量而定。
步骤S210、将各一跳路径分别与当前的多跳路径组合得到若干组合路径。
具体地,在上一步骤召回了多跳路径的答案实体的一跳路径后,将各一跳路径分别与当前的多跳路径组合,得到若干个组合路径。
步骤S220、计算各组合路径与所述问题句子的相似度。
具体地,上一步骤中将各个一跳路径分别与多跳路径组合,因此可以得到多个组合路径。而其中部分一跳路径可能并非正确的路径,因此,本步骤中为了减少多跳路径的数量,计算组合路径与问题句子的相似度,该相似度衡量了组合路径成为问题句子的正确路径的可能性。
其中,关于路径与问题句子的相似度的计算过程,详细参照下文。
步骤S230、选取相似度最高的top-K1个组合路径作为下一刻的多跳路径,添加至多跳路径集合。
具体地,本步骤中以组合路径与问题句子的相似度作为筛选条件,选取相似度最高的top-K1个组合路径,作为往下继续搜寻的多跳路径,也即作为下一刻的多跳路径,并将其添加至多跳路径集合中。
这里,K1可以根据算法对计算速度和精度的平衡性要求而设定,一般性的,为了防止错误累积,K1可以取值为10或其它数值。
进一步可选的,考虑到部分答案实体包含的实体数量巨大,示例如“知识库中有哪些美食?”,其中知识图谱中美食可能有很多种,比如“麻婆豆腐”、“可乐鸡翅”、“蛋糕”等等,其答案实体数量巨大。并且很少有问题句子以多个实体作为中间节点,因此可以设置一个数量阈值,在上述步骤S220计算相似度之前,进一步将组合路径的答案实体的数量超过设定数量阈值的组合路径去除。以排除掉此类大概率不属于正确路径的组合路径,减少后续计算量。
步骤S240、判断是否满足第一终止条件,若是,算法结束,得到最终的多跳路径集合,若否,返回上述步骤S200。
本实施例中可以设置多种不同形式的第一终止条件,示例如第一终止条件可以包括如下几种条件中的任意一种或多种的组合:
1)、多跳路径集合中最长的多跳路径的跳数达到设定跳数阈值N1,也即,本申请可以规定最多召回的N1跳路径。
2)、各组合路径与所述问题句子的相似度均小于设定相似度阈值。
其中,相似度阈值可以根据实际需要而设定,示例如设置为0.5或其他数值。
通过设置上述第一终止条件,可以达到减少计算量的目的。
在本申请的一些实施例中,对上述步骤S130,基于所述多跳路径集合中两两多跳路径的组合,得到约束路径集合的过程进行说明。结合图4所示,其可以包括如下步骤:
步骤S300、将所述多跳路径集合中,两两多跳路径的答案实体求交集。
具体地,前文已经说明过,约束路径可以由多跳路径组合得到。两条多跳路径若可以组合为约束路径,则两条多跳路径的答案实体必须存在交集。为此,本步骤中将前述得到的多跳路径集合中,两两多跳路径的答案实体求交集,以确定交集是否为空。
步骤S310、将交集不为空的两两多跳路径求并集,作为约束路径。
具体地,若存在两个多跳路径的答案实体交集不为空,则可以将该两个多跳路径求并集,结果作为约束路径。
步骤S320、计算各条所述约束路径与所述问题句子的相似度,选取相似度最高的top-K2条约束路径,加入约束路径集合。
接下来,通过一个具体例子对上述得到约束路径集合的过程进行说明。
定义问题句子为“提出绝对指令的哲学家是哪个国家的?”,知识图谱中的部分实体和关系如图5所示。
首先通过实体链接确定知识图谱中与问题句子所链接的目标实体包括“绝对指令”和“哲学家”。
则分别从上述两个目标实体出发,基于知识图谱得到的多跳路径集合如图5所示,其示例了两条多跳路径,分别为:“绝对指令-提出人-康德-国籍-德国”、“哲学家-职业-(康德、孔子、笛卡尔)-国籍-(德国、中国、法国)”。
在此基础上,将上述两条多跳路径的答案实体求交集,可以确定交集中包括“德国”,也即并集不为空,则将两条多跳路径求并集,得到约束路径如图5最下方所示。
进一步的,上述图4示例的方案可以得到由两个实体约束的路径。而某些复杂的问题可能会涉及到由三个或更多实体约束的路径作为正确路径,为此,本申请实施例中进一步提供了另一种得到约束路径集合的实施方式,结合图6所示,在前述步骤S300-S320的基础上,方法还可以进一步包括以下处理步骤:
步骤S330、将所述约束路径集合中两两约束路径的答案实体求交集。
步骤S340、将交集不为空的两两约束路径求并集,作为新的约束路径。
步骤S350、计算各条所述新的约束路径与所述问题句子的相似度,选取相似度最高的top-K2条新的约束路径,加入约束路径集合。
步骤S360、判断是否满足第二终止条件,若是,结束,得到最终的约束路径集合,若否,返回执行前述步骤S330,将所述约束路径集合中两两约束路径的答案实体求交集的步骤。
本实施例中可以设置多种不同形式的第二终止条件,示例如第二终止条件可以包括如下几种条件中的任意一种或多种的组合:
1)、算法迭代次数达到设定迭代次数阈值,也即,本申请可以规定最多迭代的次数。通过设置该迭代次数阈值,可以得到由3个以上的实体所约束的路径,并且,随着迭代次数的增加,所得到的约束路径中作为约束条件的实体的数量也会越多。
考虑实际问题对应约束路径中作为约束条件的实体的数量,本申请可以选择将上述迭代次数阈值设置为2或其它数值。
2)、各条新的约束路径与所述问题句子的相似度均小于设定相似度阈值。
其中,相似度阈值可以根据实际需要而设定,示例如设置为0.5或其他数值。
在上述实施例介绍的基于知识图谱的问答方法中,存在多个地方需要计算一条路径与问题句子的相似度的过程,示例如前述步骤S140中,计算所述多跳路径集合和所述约束路径集合中每条路径与所述问题句子的相似度、前述步骤S220中,计算各组合路径与所述问题句子的相似度、前述步骤S320中,计算各条所述约束路径与所述问题句子的相似度等,为此,本实施例中提供了一种计算一条路径与问题句子的相似度的可选实施方式。
本实施例中,提供了一种采用预训练模型对路径与问题句子相似度进行打分的方案。其中,预训练模型可以采用BERT或其它结构的神经网络模型,这里,定义该预训练模型为句子相似度计算模型,则计算路径与问题句子的相似度的过程,可以包括:
首先,将问题句子及路径拼接成输入信息,其中路径包括各个三元组的信息。
输入信息可以表示为:Question[SEP]Entity1$relationship1$?a#Entity2$relationship2$?a#?b$relationship3$Entity3…的形式。
其中,Question为问题句子,[SEP]为问题句子与路径间的间隔符,一条路径包括若干个三元组,三元组间用“#”分隔,三元组内部实体Entity和关系relationship之间通过“$”分隔。路径中间答案实体和最终答案实体用“?+字母”表示。
进一步,利用预训练的句子相似度计算模型处理所述输入信息,得到模型预测的所述待计算的路径与所述问题句子的相似度得分。
具体地,以句子相似度计算模型采用BERT预训练模型结构为例,则将输入训练输入到模型,并取CLS位置向量输出,经过全连接层,最后sigmoid激活得到路径与问题句子的相似度得分。
接下来,对上述句子相似度计算模型的训练过程进行说明。
模型训练过程可以包括如下处理步骤:
S1、获取训练样本。
其中,所述训练样本包括知识图谱中与训练问句对应的正确路径、所述正确路径中的部分路径、与所述正确路径不同的错误路径。其中,所述正确路径为从与训练问句链接的目标实体至与训练问句匹配的答案实体的路径。
训练样本所包含的三类路径(错误路径、正确路径的部分路径、正确路径)中,错误路径是指无法通过该路径得出训练问句对应的正确答案实体的路径,错误路径可以采用随机生成的方式,如对于一个二跳问题,首先生成k个错误的一跳路径,再根据正确的一跳问题生成k个错误路径,由上述2k条错误路径作为第一类错误路径的训练样本。
参照图7,其示例了对于“提出绝对指令的哲学家是哪个国家的?”这个问题句子,所生成的三类训练样本,其中第一类为错误路径、第二类为正确路径的部分路径、第三类为正确路径(图7中仅示例了部分路径,并非为全部的训练样本)。
S2、为所述训练样本中的正确路径、正确路径中的部分路径及错误路径分别设置不同的样本标签。
具体地,为了有监督的训练模型,需要为不同类型的训练样本设置不同的样本标签,示例如,为错误路径设置第一样本标签,如标签设置为0,为正确路径中的部分路径设置第二样本标签,如标签设置为1,为正确路径设置第三样本标签,如标签设置为2。
S3、将所述训练问句与每一个训练样本拼接,并输入至句子相似度计算模型,得到模型预测的训练样本与所述训练问句的相似度得分。
S4、基于模型预测的训练样本与所述训练问句的相似度得分,及训练样本的样本标签,计算损失反向传播训练模型参数。
具体地,可以根据训练样本的样本标签采用交叉熵损失计算损失,并反向传播训练模型参数,直至达到设定收敛条件后,得到训练后的句子相似度计算模型。
考虑到候选实体的召回也会直接影响后续实体链接、路径生成的准确度,而自然语言问答中经常会出现,用户对于问题句子的描述不规范,问题句子字面上可能不包含知识图谱中的实体等问题,这就为候选实体的召回提升了难度。
为此,本实施例中提供了一种候选实体召回方法,也即前述步骤S100,确定问题句子所指向的知识图谱中的候选实体的可选实现方式。
本实施例中提供了几种不同的候选实体召回策略,几种召回策略可以选择其中任意一种或几种的结合,接下来,分别对不同的召回策略进行介绍。
第一种候选实体召回策略:基于实体关键字识别模型的候选实体召回。
对于候选实体召回而言,问题句子中每个字并非同等重要,因此本实施例中可以先精准捕捉问题句子中的关键信息,以便针对问题句子进行准确的理解和推理。本实施例中可以预训练实体关键字识别模型,其可以采用序列标注模型BERT+CRF的网络结构,或其他可选的神经网络结构。该实体关键字识别模型和传统的命名实体识别模型有所不同,实体关键字识别模型仅关注问题句子和正确的答案实体重叠的字,而非连续完整的词。例如,“A市的独角兽星空馆旗舰店能便宜点吗?”,答案实体是“A市独角兽星空艺术馆旗舰店”,答案实体在问题句子中不但不连续而且不完整,使用传统的命名实体识别模型无法正确地标注,使用本实施例的实体关键字识别模型,则会标注“南京独角兽星空馆旗舰店”几个字,后续可以再经过模糊匹配找到正确的答案实体。
为此,基于实体关键字识别模型的候选实体召回过程,可以包括:
S1、利用预训练的实体关键字识别模型处理所述问题句子,得到模型输出的所述问题句子中属于实体词的关键字,由各关键字组成目标文本片段。
其中,所述实体关键字识别模型为,以训练问句作为训练样本,以训练问句与对应的实体词重叠的字作为关键字样本标签,训练得到。
S2、采用模糊匹配方式,确定所述知识图谱中与所述目标文本片段匹配的候选实体。
图8示例了一种采用序列标注结构的实体关键字识别模型示意图。
其输入包括问题句子中各个分词对应的词嵌入表示,Tok1-TokN,N表示问题句子的长度。实体关键字识别模型主体采用BERT预训练模型作为主干网络,并采用序列标注的形式,输出问题句子中各个分词的标注结果。
图8中,将问题句子中的实体关键字标注为1,其余字标注为0。
在训练上述实体关键字识别模型时,可以首先构建训练数据。具体地,将训练问句与对应的答案实体求交集,得到训练问句中的实体关键字,并将训练问句中的实体关键字和其余字分别采用不同标签进行标记,示例如,实体关键字标记为1,其余字标注为0。
将上述训练问句输入模型,利用模型获得训练问句中每个分词的上下文相关向量表示,从而得到一个状态分数,该分数再通过条件随机场CRF建模标注之间的约束关系,再通过构建的标签反向传播训练模型参数。
本实施例提供的基于实体关键字识别模型的候选实体召回策略,通过预训练的实体关键字识别模型,得到问题句子中的实体关键字,进一步采用模糊匹配的方式得到知识图谱中匹配的候选实体,可以提升候选实体召回的准确性。
第二种候选实体召回策略:基于实体生成的候选实体召回。
具体地,实际场景中部分问题句子中可能并不包含与句子所链接的目标实体重叠的字词,需要经过理解才能正确获得候选实体。例如,问题句子为“数据库里有哪些好吃的?”,该问题句子所应链接的目标实体应该是“美食”,但是该目标实体的字词并未出现在问题句子中,而仅仅是目标实体的别名“好吃的”出现在问题句子中。
为了应对此类问题,本实施例中提供了一种通过模型来生成候选实体的方案。具体地,本实施例可以预训训练模糊实体生成模型,该模型以训练问句作为训练样本,以训练问句所指代的实体及实体别名作为模糊实体样本标签,训练得到。
考虑到作为样本标签的实体及实体别名并不要求序列长度对等,为此本实施例中可以采用基于seq2seq的实体生成模型,模型结构如图9所示。
Seq2Seq是一个Encoder-Decoder结构的神经网络,它的输入是一个序列,输出也是一个序列。Seq2Seq模型包含三个基础部分,即Encoder、Decoder以及连接两者的中间状态向量C(也可以称之为语义编码C),Encoder通过学习输入,将其编码成一个固定大小的状态向量C,继而将C传给Decoder,Decoder再通过对状态向量C的学习来进行输出对应的序列。
本实施例中,基于实体生成的候选实体召回的过程,具体可以包括:
S1、利用预训练的模糊实体生成模型处理所述问题句子,得到模型输出的所述问题句子所指代的模糊实体。
S2、采用模糊匹配方式,确定所述知识图谱中与所述模糊实体匹配的候选实体。
本实施例提供的基于实体生成的候选实体召回策略,通过预训练的模糊实体生成模型,可以生成问题句子所指代的模糊实体,进而采用模糊匹配的方式得到知识图谱中与模糊实体匹配的候选实体,对于问题句子中不包含与句子所链接的目标实体的子词的情况,采用本实施例的策略可以提升候选实体召回的准确性。
上述第一种和第二种候选实体召回策略中,均涉及到采用模糊匹配方式确定知识图谱中所匹配的候选实体的过程,对应第一种策略中即:采用模糊匹配方式确定知识图谱中与由实体关键字组成的目标文本片段所匹配的候选实体,对应第二种策略中即:采用模糊匹配方式,确定所述知识图谱中与所述模糊实体匹配的候选实体。
为了便于方案理解,本实施例中进一步对模糊匹配过程进行说明。
经过第一种策略的实体关键字识别得到的由实体关键字组成的目标文本片段,以及经过第二种策略的实体生成所得到的模糊实体,均无法保证一定是完整、准确的实体,比如问题句子“中国最早的诗歌总集在内容上可以划分为哪几类?”,在知识图谱中所链接的目标实体为“<中国最早的一步诗歌总集>”。但是,经过上述实体关键字识别模型所得到的文本片段可能是“最早的诗歌总集”。因此,为了弥补模型可能出现的错误,提高容错率,在上述得到由实体关键字组成的目标文本片段及得到模糊实体之后,可以通过模糊匹配的方式获取知识图谱中匹配的候选实体。
定义上述待模糊匹配的目标文本片段和模糊实体统称为待匹配文本。
模糊匹配的过程可以包括:
S1、建立字到知识图谱中实体的倒排索引,按照待匹配文本中出现的字来召回知识图谱中匹配的较高的初步候选实体。
S2、对于待匹配文本为目标文本片段的情况,求解目标文本片段中各子片段与初步候选实体的jaccard相似度系数,得到系数得分最高的目标子片段及目标初步候选实体,将该目标子片段作为该目标初步候选实体的指称。对于待匹配文本为模糊实体的情况,直接将模糊实体作为指称。
S3、将上一步骤得到的指称与S1中得到的初步候选实体计算编辑距离,按照编辑距离选取距离最短的top-M个初步候选实体,作为最终的候选实体,完成模糊匹配过程。
第三种候选实体召回策略:基于词典和规则的候选实体召回。
将问题句子与预设词典中的实体进行匹配,得到词典中相匹配的候选实体,作为问题句子所指向的知识图谱中的候选实体,其中,所述预设词典包括所述知识图谱中的实体。
具体地,可以将知识图谱中的实体在大小写上归一、时间/日期上归一、以及去掉标点符号等处理后,加入到词典中,以提升候选实体的召回率。
在本申请的一些实施例中,进一步对上述步骤S110,从各所述候选实体中筛选得到与所述问题句子所链接的目标实体的过程进行说明,具体过程可以包括如下步骤:
对于每一候选实体执行下述S1-S3的处理操作:
S1、在所述知识图谱中查找所述候选实体的所有一跳路径及其答案实体。
S2、计算由所述候选实体、一跳路径及其答案实体组成的文本与所述问题句子的字符相似度,并选取满足设定字符相似度条件的一跳路径及其答案实体,由选取的每个一跳路径及其答案实体组成一度关系。
具体地,为了筛选知识图谱中候选实体周围有效信息,本步骤中计算候选实体、一跳路径及其答案实体组成的文本与问题句子的字符相似度,并选取满足条件的一跳路径及答案实体,组成一度关系,该一度关系可以理解为筛选得到的有效信息。
可以理解的是,满足设定字符相似度条件的一跳路径及其答案实体可能不止一个,因此,由每个一跳路径及其答案实体组成一条一度关系,可以得到若干条一度关系。
S3、基于所述问题句子、所述候选实体及各所述一度关系,确定所述候选实体作为目标实体的概率。
具体地,本步骤中可以基于候选实体及其周围筛选到的有效信息,以及问题句子,确定该候选实体作为目标实体的概率得分。
一种可选的方式下,可以基于预训练的实体链接模型,来计算候选实体作为目标实体的概率得分。
具体地,可以预先训练实体链接模型,该模型以训练问句在知识图谱中所链接到的实体作为正例样本,以训练问句在知识图谱中无法链接到的实体作为负例样本训练得到。
将问题句子、候选实体及各所述一度关系进行拼接,并输入至实体链接模型,得到模型输出的候选实体作为目标实体的概率。
其中,问题句子、候选实体及各所述一度关系进行拼接的过程,可以表示为:Question[SEP]Entity$relationship1#relationship2#relationship3的形式,其中,Question表示问题句子,[SEP]表示间隔符,Entity表示候选实体,relationship表示一度关系,多个不同的一度关系之间可以通过#分隔。
图10示例了一种实体链接模型示意图,其主体采用BERT预训练模型。将问题句子、候选实体及各所述一度关系进行拼接后输入模型,得到输入中各个分词的嵌入表示,并经过模型处理后,取CLS位置向量输出,经过全连接层,最后sigmoid激活得到候选实体作为目标实体的概率得分,并根据该概率得分的大小,输出候选实体的分类结果Class Label,也即是否属于目标实体的分类结果。
S4、筛选概率满足设定概率条件的各候选实体,作为与所述问题句子所链接的目标实体。
按照前述步骤S1-S3可以得到每个候选实体的概率得分,本步骤中可以筛选满足设定概率条件的候选实体,作为与问题句子所链接的目标实体。
其中,设定概率条件可以是概率得分超过设定得分阈值,或者是,筛选概率得分最高的TOP-K3个候选实体作为目标实体。
可以理解的是,K3设置的越大,后续答案实体的召回率就越高,但是后续搜索答案实体的计算量也会同步提升。因此,可以根据实际情况平衡答案实体的召回率和计算量,来设置K3的数量,示例如,将其设置为2或其他数值。
下面对本申请实施例提供的基于知识图谱的问答装置进行描述,下文描述的基于知识图谱的问答装置与上文描述的基于知识图谱的问答方法可相互对应参照。
参见图11,图11为本申请实施例公开的一种基于知识图谱的问答装置结构示意图。
如图11所示,该装置可以包括:
候选实体确定单元11,用于确定问题句子所指向的知识图谱中的候选实体;
实体链接单元12,用于从各所述候选实体中筛选得到与所述问题句子所链接的目标实体;
多跳路径搜索单元13,用于在所述知识图谱中以所述目标实体为起点,按照逐跳路径搜索的方式,搜索得到多跳路径集合,其中,在每跳路径搜索过程,将当前的多跳路径与当前的多跳路径的答案实体的各一跳路径分别组合得到若干组合路径,并选取与所述问题句子相似度满足设定条件的组合路径作为下一刻的多跳路径;
约束路径获取单元14,用于基于所述多跳路径集合中两两多跳路径的组合,得到约束路径集合;
答案实体选取单元15,用于计算所述多跳路径集合和所述约束路径集合中每条路径与所述问题句子的相似度,并选取相似度最高的路径的答案实体作为最终答案。
可选的,上述多跳路径搜索单元在所述知识图谱中以所述目标实体为起点,按照逐跳路径搜索的方式,搜索得到多跳路径集合的过程,可以包括:
在所述知识图谱中召回当前的多跳路径的答案实体的一跳路径,将各一跳路径分别与当前的多跳路径组合得到若干组合路径,其中,初始时刻的多跳路径为空,初始时刻的多跳路径的答案实体为所述目标实体;
计算各组合路径与所述问题句子的相似度;
选取相似度最高的top-K1个组合路径作为下一刻的多跳路径,添加至多跳路径集合,并返回执行在所述知识图谱中召回当前的多跳路径的答案实体的一跳路径的步骤,直至满足第一终止条件,得到最终的多跳路径集合。
可选的,上述多跳路径搜索单元在所述计算各组合路径与所述问题句子的相似度之前,还可以用于:
将组合路径的答案实体的数量超过设定数量阈值的组合路径去除。
可选的,上述第一终止条件可以包括:
多跳路径集合中最长的多跳路径的跳数达到设定跳数阈值;
和/或,
各组合路径与所述问题句子的相似度均小于设定相似度阈值。
可选的,上述约束路径获取单元基于所述多跳路径集合中两两多跳路径的组合,得到约束路径集合的过程,可以包括:
将所述多跳路径集合中,两两多跳路径的答案实体求交集;
将交集不为空的两两多跳路径求并集,作为约束路径,并计算各条所述约束路径与所述问题句子的相似度,选取相似度最高的top-K2条约束路径,加入约束路径集合。
可选的,上述约束路径获取单元还可以用于:
将所述约束路径集合中两两约束路径的答案实体求交集;
将交集不为空的两两约束路径求并集,作为新的约束路径,并计算各条所述新的约束路径与所述问题句子的相似度,选取相似度最高的top-K2条新的约束路径,加入约束路径集合,返回执行将所述约束路径集合中两两约束路径的答案实体求交集的步骤,直至满足第二终止条件,得到最终的约束路径集合。
可选的,上述第二终止条件可以包括:
算法迭代次数达到设定迭代次数阈值;
和/或,
各条新的约束路径与所述问题句子的相似度均小于设定相似度阈值。
可选的,上述多跳路径搜索单元、约束路径获取单元及答案实体选取单元计算路径与所述问题句子的相似度的过程,可以包括:
将所述问题句子、待计算的路径拼接成输入信息,所述待计算的路径包括各个三元组的信息;
利用预训练的句子相似度计算模型处理所述输入信息,得到模型预测的所述待计算的路径与所述问题句子的相似度得分。
可选的,本申请装置还可以包括:句子相似度计算模型训练单元,其训练句子相似度计算模型的过程可以包括:
获取训练样本,所述训练样本包括知识图谱中与训练问句对应的正确路径、所述正确路径中的部分路径、与所述正确路径不同的错误路径,其中,所述正确路径为从与训练问句链接的目标实体至与训练问句匹配的答案实体的路径;
为所述训练样本中的正确路径、正确路径中的部分路径及错误路径分别设置不同的样本标签;
将所述训练问句与每一个训练样本拼接,并输入至句子相似度计算模型,得到模型预测的训练样本与所述训练问句的相似度得分;
基于模型预测的训练样本与所述训练问句的相似度得分,及训练样本的样本标签,计算损失反向传播训练模型参数。
可选的,上述候选实体确定单元确定问题句子所指向的知识图谱中的候选实体的过程,可以包括:
利用预训练的实体关键字识别模型处理所述问题句子,得到模型输出的所述问题句子中属于实体词的关键字,由各关键字组成目标文本片段;
其中,所述实体关键字识别模型为,以训练问句作为训练样本,以训练问句与对应的实体词重叠的字作为关键字样本标签,训练得到;
采用模糊匹配方式,确定所述知识图谱中与所述目标文本片段匹配的候选实体。
可选的,上述候选实体确定单元确定问题句子所指向的知识图谱中的候选实体的过程,还可以包括:
利用预训练的模糊实体生成模型处理所述问题句子,得到模型输出的所述问题句子所指代的模糊实体;
其中,所述模糊实体生成模型为,以训练问句作为训练样本,以训练问句所指代的实体及实体别名作为模糊实体样本标签,训练得到;
采用模糊匹配方式,确定所述知识图谱中与所述模糊实体匹配的候选实体。
可选的,上述候选实体确定单元确定问题句子所指向的知识图谱中的候选实体的过程,还可以包括:
将所述问题句子与预设词典中的实体进行匹配,得到词典中相匹配的候选实体,作为问题句子所指向的知识图谱中的候选实体,其中,所述预设词典包括所述知识图谱中的实体。
可选的,上述实体链接单元从各所述候选实体中筛选得到与所述问题句子所链接的目标实体的过程,可以包括:
对于每一所述候选实体,在所述知识图谱中查找所述候选实体的所有一跳路径及其答案实体;
计算由所述候选实体、一跳路径及其答案实体组成的文本与所述问题句子的字符相似度,并选取满足设定字符相似度条件的一跳路径及其答案实体,由选取的每个一跳路径及其答案实体组成一度关系;
基于所述问题句子、所述候选实体及各所述一度关系,确定所述候选实体作为目标实体的概率;
筛选概率满足设定概率条件的各候选实体,作为与所述问题句子所链接的目标实体。
可选的,上述实体链接单元基于所述问题句子、所述候选实体及各所述一度关系,确定所述候选实体作为目标实体的概率的过程,可以包括:
将所述问题句子、所述候选实体及各所述一度关系进行拼接,并输入至预训练的实体链接模型,得到模型输出的所述候选实体作为目标实体的概率;
其中,所述实体链接模型为,以训练问句在所述知识图谱中所链接到的实体作为正例样本,以训练问句在所述知识图谱中无法链接到的实体作为负例样本训练得到。
本申请实施例提供的基于知识图谱的问答装置可应用于基于知识图谱的问答设备,如终端:手机、电脑等。可选的,图12示出了基于知识图谱的问答设备的硬件结构框图,参照图12,基于知识图谱的问答设备的硬件结构可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4;
在本申请实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:实现前述实施例中基于知识图谱的问答方法的各个步骤。
本申请实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:
实现前述实施例中基于知识图谱的问答方法的各个步骤。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以根据需要进行组合,且相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (17)
1.一种基于知识图谱的问答方法,其特征在于,包括:
确定问题句子所指向的知识图谱中的候选实体;
从各所述候选实体中筛选得到与所述问题句子所链接的目标实体;
在所述知识图谱中以所述目标实体为起点,按照逐跳路径搜索的方式,搜索得到多跳路径集合,其中,在每跳路径搜索过程,将当前的多跳路径与当前的多跳路径的答案实体的各一跳路径分别组合得到若干组合路径,并选取与所述问题句子相似度满足设定条件的组合路径作为下一刻的多跳路径;
基于所述多跳路径集合中两两多跳路径的组合,得到约束路径集合;
计算所述多跳路径集合和所述约束路径集合中每条路径与所述问题句子的相似度,并选取相似度最高的路径的答案实体作为最终答案。
2.根据权利要求1所述的方法,其特征在于,在所述知识图谱中以所述目标实体为起点,按照逐跳路径搜索的方式,搜索得到多跳路径集合的过程,包括:
在所述知识图谱中召回当前的多跳路径的答案实体的一跳路径,将各一跳路径分别与当前的多跳路径组合得到若干组合路径,其中,初始时刻的多跳路径为空,初始时刻的多跳路径的答案实体为所述目标实体;
计算各组合路径与所述问题句子的相似度;
选取相似度最高的top-K1个组合路径作为下一刻的多跳路径,添加至多跳路径集合,并返回执行在所述知识图谱中召回当前的多跳路径的答案实体的一跳路径的步骤,直至满足第一终止条件,得到最终的多跳路径集合。
3.根据权利要求2所述的方法,其特征在于,在所述计算各组合路径与所述问题句子的相似度之前,还包括:
将组合路径的答案实体的数量超过设定数量阈值的组合路径去除。
4.根据权利要求2所述的方法,其特征在于,所述第一终止条件包括:
多跳路径集合中最长的多跳路径的跳数达到设定跳数阈值;
和/或,
各组合路径与所述问题句子的相似度均小于设定相似度阈值。
5.根据权利要求1所述的方法,其特征在于,基于所述多跳路径集合中两两多跳路径的组合,得到约束路径集合的过程,包括:
将所述多跳路径集合中,两两多跳路径的答案实体求交集;
将交集不为空的两两多跳路径求并集,作为约束路径,并计算各条所述约束路径与所述问题句子的相似度,选取相似度最高的top-K2条约束路径,加入约束路径集合。
6.根据权利要求5所述的方法,其特征在于,还包括:
将所述约束路径集合中两两约束路径的答案实体求交集;
将交集不为空的两两约束路径求并集,作为新的约束路径,并计算各条所述新的约束路径与所述问题句子的相似度,选取相似度最高的top-K2条新的约束路径,加入约束路径集合,返回执行将所述约束路径集合中两两约束路径的答案实体求交集的步骤,直至满足第二终止条件,得到最终的约束路径集合。
7.根据权利要求6所述的方法,其特征在于,所述第二终止条件包括:
算法迭代次数达到设定迭代次数阈值;
和/或,
各条新的约束路径与所述问题句子的相似度均小于设定相似度阈值。
8.根据权利要求1所述的方法,其特征在于,任意一条路径与所述问题句子的相似度的计算过程,包括:
将所述问题句子、待计算的路径拼接成输入信息,所述待计算的路径包括各个三元组的信息;
利用预训练的句子相似度计算模型处理所述输入信息,得到模型预测的所述待计算的路径与所述问题句子的相似度得分。
9.根据权利要求8所述的方法,其特征在于,所述句子相似度计算模型的训练过程,包括:
获取训练样本,所述训练样本包括知识图谱中与训练问句对应的正确路径、所述正确路径中的部分路径、与所述正确路径不同的错误路径,其中,所述正确路径为从与训练问句链接的目标实体至与训练问句匹配的答案实体的路径;
为所述训练样本中的正确路径、正确路径中的部分路径及错误路径分别设置不同的样本标签;
将所述训练问句与每一个训练样本拼接,并输入至句子相似度计算模型,得到模型预测的训练样本与所述训练问句的相似度得分;
基于模型预测的训练样本与所述训练问句的相似度得分,及训练样本的样本标签,计算损失反向传播训练模型参数。
10.根据权利要求1-9任一项所述的方法,其特征在于,所述确定问题句子所指向的知识图谱中的候选实体,包括:
利用预训练的实体关键字识别模型处理所述问题句子,得到模型输出的所述问题句子中属于实体词的关键字,由各关键字组成目标文本片段;
其中,所述实体关键字识别模型为,以训练问句作为训练样本,以训练问句与对应的实体词重叠的字作为关键字样本标签,训练得到;
采用模糊匹配方式,确定所述知识图谱中与所述目标文本片段匹配的候选实体。
11.根据权利要求10所述的方法,其特征在于,所述确定问题句子所指向的知识图谱中的候选实体,还包括:
利用预训练的模糊实体生成模型处理所述问题句子,得到模型输出的所述问题句子所指代的模糊实体;
其中,所述模糊实体生成模型为,以训练问句作为训练样本,以训练问句所指代的实体及实体别名作为模糊实体样本标签,训练得到;
采用模糊匹配方式,确定所述知识图谱中与所述模糊实体匹配的候选实体。
12.根据权利要求10所述的方法,其特征在于,所述确定问题句子所指向的知识图谱中的候选实体,还包括:
将所述问题句子与预设词典中的实体进行匹配,得到词典中相匹配的候选实体,作为问题句子所指向的知识图谱中的候选实体,其中,所述预设词典包括所述知识图谱中的实体。
13.根据权利要求1-9任一项所述的方法,其特征在于,从各所述候选实体中筛选得到与所述问题句子所链接的目标实体的过程,包括:
对于每一所述候选实体,在所述知识图谱中查找所述候选实体的所有一跳路径及其答案实体;
计算由所述候选实体、一跳路径及其答案实体组成的文本与所述问题句子的字符相似度,并选取满足设定字符相似度条件的一跳路径及其答案实体,由选取的每个一跳路径及其答案实体组成一度关系;
基于所述问题句子、所述候选实体及各所述一度关系,确定所述候选实体作为目标实体的概率;
筛选概率满足设定概率条件的各候选实体,作为与所述问题句子所链接的目标实体。
14.根据权利要求13所述的方法,其特征在于,所述基于所述问题句子、所述候选实体及各所述一度关系,确定所述候选实体作为目标实体的概率,包括:
将所述问题句子、所述候选实体及各所述一度关系进行拼接,并输入至预训练的实体链接模型,得到模型输出的所述候选实体作为目标实体的概率;
其中,所述实体链接模型为,以训练问句在所述知识图谱中所链接到的实体作为正例样本,以训练问句在所述知识图谱中无法链接到的实体作为负例样本训练得到。
15.一种基于知识图谱的问答装置,其特征在于,包括:
候选实体确定单元,用于确定问题句子所指向的知识图谱中的候选实体;
实体链接单元,用于从各所述候选实体中筛选得到与所述问题句子所链接的目标实体;
多跳路径搜索单元,用于在所述知识图谱中以所述目标实体为起点,按照逐跳路径搜索的方式,搜索得到多跳路径集合,其中,在每跳路径搜索过程,将当前的多跳路径与当前的多跳路径的答案实体的各一跳路径分别组合得到若干组合路径,并选取与所述问题句子相似度满足设定条件的组合路径作为下一刻的多跳路径;
约束路径获取单元,用于基于所述多跳路径集合中两两多跳路径的组合,得到约束路径集合;
答案实体选取单元,用于计算所述多跳路径集合和所述约束路径集合中每条路径与所述问题句子的相似度,并选取相似度最高的路径的答案实体作为最终答案。
16.一种基于知识图谱的问答设备,其特征在于,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如权利要求1~14中任一项所述的基于知识图谱的问答方法的各个步骤。
17.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1~14中任一项所述的基于知识图谱的问答方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310081010.1A CN116069876A (zh) | 2023-01-16 | 2023-01-16 | 基于知识图谱的问答方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310081010.1A CN116069876A (zh) | 2023-01-16 | 2023-01-16 | 基于知识图谱的问答方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116069876A true CN116069876A (zh) | 2023-05-05 |
Family
ID=86169557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310081010.1A Pending CN116069876A (zh) | 2023-01-16 | 2023-01-16 | 基于知识图谱的问答方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116069876A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116825361A (zh) * | 2023-08-25 | 2023-09-29 | 佛山市龙生光启科技有限公司 | 一种基于面部识别的全自动心理状态评估*** |
-
2023
- 2023-01-16 CN CN202310081010.1A patent/CN116069876A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116825361A (zh) * | 2023-08-25 | 2023-09-29 | 佛山市龙生光启科技有限公司 | 一种基于面部识别的全自动心理状态评估*** |
CN116825361B (zh) * | 2023-08-25 | 2023-11-14 | 湘南学院 | 一种基于面部识别的全自动心理状态评估*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109885660B (zh) | 一种知识图谱赋能的基于信息检索的问答***和方法 | |
CN111597314B (zh) | 推理问答方法、装置以及设备 | |
CN110121706B (zh) | 提供会话中的响应 | |
US20220405480A1 (en) | Text sentiment analysis method based on multi-level graph pooling | |
WO2018157804A1 (zh) | 一种问题的应答方法及装置 | |
CN112650840A (zh) | 一种基于知识图谱推理的医疗智能问答处理方法及*** | |
Xiong et al. | Knowledge graph question answering with semantic oriented fusion model | |
CN106446162A (zh) | 一种面向领域的本体知识库文本检索方法 | |
CN115269857A (zh) | 一种基于文档关系抽取的知识图谱构建方法和装置 | |
CN115599899B (zh) | 基于飞行器知识图谱的智能问答方法、***、设备及介质 | |
CN112328800A (zh) | 自动生成编程规范问题答案的***及方法 | |
CN112632250A (zh) | 一种多文档场景下问答方法及*** | |
CN110851584A (zh) | 一种法律条文精准推荐***和方法 | |
CN114077673A (zh) | 一种基于btbc模型的知识图谱构建方法 | |
CN115599902A (zh) | 一种基于知识图谱的油气百科问答方法及*** | |
CN114238645A (zh) | 一种基于bert孪生注意力网络与融合图嵌入特征的关系选择方法 | |
CN115470328A (zh) | 基于知识图谱的开放领域问答方法及相关设备 | |
CN115982338A (zh) | 一种基于查询路径排序的领域知识图谱问答方法及*** | |
CN117648429A (zh) | 基于多模态自适应检索式增强大模型的问答方法及*** | |
CN116069876A (zh) | 基于知识图谱的问答方法、装置、设备及存储介质 | |
CN112417170B (zh) | 面向不完备知识图谱的关系链接方法 | |
CN110969005A (zh) | 一种确定实体语料之间的相似性的方法及装置 | |
CN114372454A (zh) | 文本信息抽取方法、模型训练方法、装置及存储介质 | |
CN109582802B (zh) | 一种实体嵌入方法、装置、介质及设备 | |
KR102439321B1 (ko) | 문장 의미를 분석하여 찾아주는 시맨틱 분석 제공 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |