CN117332097B - 一种基于时空语义约束的知识问答方法、装置和产品 - Google Patents
一种基于时空语义约束的知识问答方法、装置和产品 Download PDFInfo
- Publication number
- CN117332097B CN117332097B CN202311616473.XA CN202311616473A CN117332097B CN 117332097 B CN117332097 B CN 117332097B CN 202311616473 A CN202311616473 A CN 202311616473A CN 117332097 B CN117332097 B CN 117332097B
- Authority
- CN
- China
- Prior art keywords
- query
- question
- target
- query path
- constraint
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000012549 training Methods 0.000 claims abstract description 67
- 238000000605 extraction Methods 0.000 claims abstract description 60
- 230000004927 fusion Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 15
- 238000013138 pruning Methods 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 10
- 230000000694 effects Effects 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 6
- 230000014509 gene expression Effects 0.000 description 6
- 239000000047 product Substances 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012163 sequencing technique Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000001228 spectrum Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 244000141353 Prunus domestica Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Animal Behavior & Ethology (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种基于时空语义约束的知识问答方法、装置和产品,涉及知识问答技术领域,该方法为:对自然语言问句进行信息抽取,得到抽取结果,所述抽取结果包括实体、谓词、查询对象、显式时间约束、显式地点约束、次序约束、隐式时间约束、隐式地点约束;定义通用查询路径,将抽取结果进行组合编排,生成多个候选查询路径;在目标时空知识图谱中执行每一个候选查询路径,将搜索得到的查询结果与标准答案进行对比,根据对比结果,确定正确查询路径;利用正确查询路径和自然语言问句,进行模型训练,得到查询路径生成模型;将用户的目标问句输入查询路径生成模型,得到目标查询路径,在目标时空知识图谱中执行目标查询路径,得到目标答案。
Description
技术领域
本申请涉及知识问答技术领域,特别是一种基于时空语义约束的知识问答方法、装置和产品。
背景技术
知识图谱是一种通过“节点-关系-节点”组成的知识管理架构,用于对领域实体关系数据进行有效管理。在一些特定领域,知识图谱中会涵盖各类复杂语义的文本信息,实体和关系会在时空维度上动态变化,需要面向领域应用的时空知识图谱模型来实现这种时空动态变化数据的存储、管理和计算。
然而,在通过知识图谱执行知识问答的过程中,相关技术往往难以处理复杂时空语义约束下的知识问答问题,即,当问句中存在语义较为复杂的时空限制条件时,往往难以在知识图谱中直接查询得到相应的答案,问答正确率较低。
因此,有必要开发一种基于时空语义约束的知识问答方法、装置和产品,以提高知识问答准确率。
发明内容
鉴于上述问题,本申请实施例提供了一种基于时空语义约束的知识问答方法、装置和产品,以便克服上述问题或者至少部分地解决上述问题。
本申请实施例的第一方面,提供了一种基于时空语义约束的知识问答方法,包括:
对自然语言问句进行信息抽取,得到抽取结果,所述抽取结果包括实体、谓词、查询对象、显式时间约束、显式地点约束、次序约束、隐式时间约束、隐式地点约束;
定义通用查询路径,将所述抽取结果进行组合编排,生成多个候选查询路径;
在目标时空知识图谱中执行每一个所述候选查询路径,将搜索得到的查询结果与标准答案进行对比,根据对比结果,从所述多个候选查询路径中确定正确查询路径;
利用所述正确查询路径和所述自然语言问句,进行模型训练,得到查询路径生成模型;
将用户的目标问句输入所述查询路径生成模型,得到目标查询路径,在所述目标时空知识图谱中执行所述目标查询路径,得到目标答案。
在一种可能的实施方式中,所述对自然语言问句进行信息抽取,得到抽取结果,包括:
通过AC自动机、ES引擎和嵌入语言模型,对所述自然语言问句进行关键词召回,生成关键词召回结果;
通过向量引擎,依据语义相似度对所述自然语言问句进行向量召回,生成向量召回结果;
对所述关键词召回结果和所述向量召回结果进行加权融合,得到所述抽取结果。
在一种可能的实施方式中,所述通过AC自动机、ES引擎和嵌入语言模型,对所述自然语言问句进行关键词召回,生成关键词召回结果,包括:
通过所述AC自动机,对所述自然语言问句进行关键词召回,得到第一关键词召回结果;
通过所述ES引擎,对所述自然语言问句进行关键词召回,将召回的第一个五元组作为第二关键词召回结果;
通过所述嵌入语言模型,对所述自然语言问句进行关键词召回,基于得到的多个五元组中的前n个五元组,统计实体出现次数,将出现次数最多的k个实体作为第三关键词召回结果,其中k和n分别为大于1的正整数;
将所述第二关键词召回结果和所述第三关键词召回结果进行加权融合,得到候选实体集;
将所述候选实体集和所述第一关键词召回结果进行结合,得到所述关键词召回结果。
在一种可能的实施方式中,所述候选查询路径包括以下一项或多项:
次序约束信息,表示所述自然语言问句是否按照时间顺序取查询结果的第一个、最后一个、或全部;
显式时间约束信息,表示在所述自然语言问句中直接存在的时间约束信息,包括:时间约束的粒度、时间约束的方向、时间值;
隐式时间约束信息,表示不在所述自然语言问句中直接存在,但包含在语义中的时间约束信息,包括:时间约束的粒度、时间约束的方向和通过三元组查询获取的隐式时间值;
显式地点约束信息,表示在所述自然语言问句中直接存在的位置约束信息,包括:地点约束的粒度、地点约束的方向、地点值;
隐式地点约束信息,表示不在所述自然语言问句中直接存在,但包含在语义中的位置约束信息,包括:地点约束的粒度、地点约束的方向和通过三元组查询获取的隐式地点值;
主查询信息,表示所述自然语言问句中查询目标的信息,包括查询目标和通过三元组查询获取的隐式查询信息。
在一种可能的实施方式中,在执行每一个所述候选查询路径之前,所述方法还包括:
对所述多个候选查询路径中违背预设规则的错误查询路径进行剪枝;
根据所述候选查询路径所对应的实体或谓词在所述抽取结果中的优先级,对剪枝后的候选查询路径进行优先级排序;
所述从所述多个候选查询路径中确定正确查询路径,包括:
在从所述多个候选查询路径中确定出多个正确的候选查询路径的情况下,将所述多个正确的候选查询路径中优先级最高的候选查询路径确定为所述正确查询路径。
在一种可能的实施方式中,所述查询路径生成模型包括T5模型和BERT模型,所述利用所述正确查询路径和所述自然语言问句,进行模型训练包括:
以所述自然语言问句为输入的训练样本,以对应的所述正确查询路径为标签,对所述T5模型进行训练;
以所述自然语言问句和对应的所述候选查询路径为输入的训练样本,以所述候选查询路径是否为所述正确查询路径为标签,对所述BERT模型进行训练。
在一种可能的实施方式中,所述将用户的目标问句输入所述查询路径生成模型,得到目标查询路径,在所述目标时空知识图谱中执行所述目标查询路径,得到目标答案,包括:
将所述用户的目标问句输入所述T5模型,得到第一目标查询路径;
将所述用户的目标问句和所述目标问句的候选查询路径输入所述BERT模型,得到第二目标查询路径;
在所述目标时空图谱中分别执行所述第一目标查询路径和所述第二目标查询路径,得到多个候选目标答案;
将所述多个候选目标答案融合,得到所述目标答案。
本申请实施例第二方面还提供了一种基于时空语义约束的知识问答装置,所述装置包括:
信息抽取模块,用于对自然语言问句进行信息抽取,得到抽取结果,所述抽取结果包括实体、谓词、查询对象、显式时间约束、显式地点约束、次序约束、隐式时间约束、隐式地点约束;
候选查询路径生成模块,用于定义通用查询路径,将所述抽取结果进行组合编排,生成多个候选查询路径;
正确查询路径确定模块,用于在目标时空知识图谱中执行每一个所述候选查询路径,将搜索得到的查询结果与标准答案进行对比,根据对比结果,从所述多个候选查询路径中确定正确查询路径;
训练模块,用于利用所述正确查询路径和所述自然语言问句,进行模型训练,得到查询路径生成模型;
知识问答模块,用于将用户的目标问句输入所述查询路径生成模型,得到目标查询路径,在所述目标时空知识图谱中执行所述目标查询路径,得到目标答案。
在一种可能的实施方式中,所述信息抽取模块包括:
关键词召回子模块,用于通过AC自动机、ES引擎和嵌入语言模型,对所述自然语言问句进行关键词召回,生成关键词召回结果;
向量召回子模块,用于通过向量引擎,依据语义相似度对所述自然语言问句进行向量召回,生成向量召回结果;
召回结果融合子模块,用于对所述关键词召回结果和所述向量召回结果进行加权融合,得到所述抽取结果。
在一种可能的实施方式中,所述关键词召回子模块,包括:
第一关键词召回单元,用于通过所述AC自动机,对所述自然语言问句进行关键词召回,得到第一关键词召回结果;
第二关键词召回单元,用于通过所述ES引擎,对所述自然语言问句进行关键词召回,将召回的第一个五元组作为第二关键词召回结果;
第三关键词召回单元,用于通过所述嵌入语言模型,对所述自然语言问句进行关键词召回,基于得到的多个五元组中的前n个五元组,统计实体出现次数,将出现次数最多的k个实体作为第三关键词召回结果,其中k和n分别为大于1的正整数;
关键词召回融合单元,用于将所述第二关键词召回结果和所述第三关键词召回结果进行加权融合,得到候选实体集;
召回结果结合单元,用于将所述候选实体集和所述第一关键词召回结果进行结合,得到所述关键词召回结果。
在一种可能的实施方式中,所述候选查询路径包括以下一项或多项:
次序约束信息,表示所述自然语言问句是否按照时间顺序取查询结果的第一个、最后一个、或全部;
显式时间约束信息,表示在所述自然语言问句中直接存在的时间约束信息,包括:时间约束的粒度、时间约束的方向、时间值;
隐式时间约束信息,表示不在所述自然语言问句中直接存在,但包含在语义中的时间约束信息,包括:时间约束的粒度、时间约束的方向和通过三元组查询获取的隐式时间值;
显式地点约束信息,表示在所述自然语言问句中直接存在的位置约束信息,包括:地点约束的粒度、地点约束的方向、地点值;
隐式地点约束信息,表示不在所述自然语言问句中直接存在,但包含在语义中的位置约束信息,包括:地点约束的粒度、地点约束的方向和通过三元组查询获取的隐式地点值;
主查询信息,表示所述自然语言问句中查询目标的信息,包括查询目标和通过三元组查询获取的隐式查询信息。
在一种可能的实施方式中,所述装置还包括:
剪枝模块,用于在执行每一个所述候选查询路径之前,对所述多个候选查询路径中违背预设规则的错误查询路径进行剪枝;
优先级排序模块,用于根据所述候选查询路径所对应的实体或谓词在所述抽取结果中的优先级,对剪枝后的候选查询路径进行优先级排序;
所述正确查询路径确定模块,包括:
正确查询路径确定子模块,用于在从所述多个候选查询路径中确定出多个正确的候选查询路径的情况下,将所述多个正确的候选查询路径中优先级最高的候选查询路径确定为所述正确查询路径。
在一种可能的实施方式中,所述查询路径生成模型包括T5模型和BERT模型,所述训练模块包括:
T5模型训练子模块,用于以所述自然语言问句为输入的训练样本,以对应的所述正确查询路径为标签,对所述T5模型进行训练;
BERT模型训练子模块,用于以所述自然语言问句和对应的所述候选查询路径为输入的训练样本,以所述候选查询路径是否为所述正确查询路径为标签,对所述BERT模型进行训练。
在一种可能的实施方式中,所述知识问答模块包括:
第一知识问答子模块,用于将所述用户的目标问句输入所述T5模型,得到第一目标查询路径;
第二知识问答子模块,用于将所述用户的目标问句和所述目标问句的候选查询路径输入所述BERT模型,得到第二目标查询路径;
查询路径执行子模块,用于在所述目标时空图谱中分别执行所述第一目标查询路径和所述第二目标查询路径,得到多个候选目标答案;
答案融合子模块,用于将所述多个候选目标答案融合,得到所述目标答案。
本申请实施例第三方面还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上的计算机程序,所述处理器执行所述计算机程序以实现本申请实施例第一方面所述的基于时空语义约束的知识问答方法中的步骤。
本申请实施例第四方面还提供了一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现本申请实施例第一方面所述的基于时空语义约束的知识问答方法中的步骤。
本申请实施例第五方面还提供了一种计算机程序产品,所述计算机程序产品在电子设备上运行时,使处理器执行时实现如本申请实施例第一方面所述的基于时空语义约束的知识问答方法中的步骤。
本申请实施例提供的一种基于时空语义约束的知识问答方法,包括:对自然语言问句进行信息抽取,得到抽取结果,所述抽取结果包括实体、谓词、查询对象、显式时间约束、显式地点约束、次序约束、隐式时间约束、隐式地点约束;定义通用查询路径,将所述抽取结果进行组合编排,生成多个候选查询路径;在目标时空知识图谱中执行每一个所述候选查询路径,将搜索得到的查询结果与标准答案进行对比,根据对比结果,从所述多个候选查询路径中确定正确查询路径;利用所述正确查询路径和所述自然语言问句,进行模型训练,得到查询路径生成模型;将用户的目标问句输入所述查询路径生成模型,得到目标查询路径,在所述目标时空知识图谱中执行所述目标查询路径,得到目标答案。
本申请通过从自然语言问句中抽取得到多粒度的时空信息(显式时间约束、显式地点约束、次序约束、隐式时间约束、隐式地点约束),从而实现对问句的复杂语义进行解析,召回得到更为准确的实体和谓词,有利于提高最终答案查询的准确率;并且,本申请通过定义通用查询路径形式化语言,简化了自然语言问句与答案之间的对应关系,具有普遍通用性,适用于各领域的文本知识问答应用。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种基于时空语义约束的知识问答方法的步骤流程图;
图2是本申请实施例提供的一种信息抽取的流程示意图;
图3是本申请实施例提供的一种查询路径的生成流程示意图;
图4是本申请实施例提供的一种答案生成的流程示意图;
图5是本申请实施例提供的一种查询路径生成模型的训练过程示意图;
图6是本申请实施例提供的一种知识问答装置的结构示意图;
图7是本申请实施例提供的一种电子设备的示意图。
具体实施方式
下面将结合本申请实施例中的附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整地传达给本领域的技术人员。
知识图谱是一种通过“节点-关系-节点”组成的知识管理架构,用于对领域实体关系数据进行有效管理。在一些特定领域,知识图谱中会涵盖各类复杂语义的文本信息,实体和关系会在时空维度上动态变化,需要面向领域应用的时空知识图谱模型来实现这种时空动态变化数据的存储、管理和计算。具体的,更为复杂的时空知识图谱是由多个五元组相互关联构成,每个五元组格式可以表示为<头实体,关系,尾实体,时间,地点>。
然而,在通过知识图谱执行知识问答的过程中,相关技术往往难以处理复杂时空语义约束下的知识问答问题,即,当问句中存在语义较为复杂的时空限制条件时,往往难以在知识图谱中直接查询得到相应的答案,问答正确率较低。
鉴于上述问题,本申请实施例提出一种基于时空语义约束的知识问答方法、装置和产品,以解决上述复杂时空语义约束下,查询语句准确率较低等问题。下面结合附图,通过一些实施例及其应用场景对本申请实施例提供的基于时空语义约束的知识问答方法进行详细地说明。
本申请实施例第一方面提供了一种基于时空语义约束的知识问答方法,参照图1,图1为本申请实施例提供的一种基于时空语义约束的知识问答方法的步骤流程图,如图1所示,所述方法包括:
步骤S101,对自然语言问句进行信息抽取,得到抽取结果,所述抽取结果包括实体、谓词、查询对象、显式时间约束、显式地点约束、次序约束、隐式时间约束、隐式地点约束。
知识问答技术用于对输入的自然语言问句,从时空知识图谱中查询得到对应的答案。然而,自然语言问句中除了简单的三元组信息(主语、谓语和宾语),往往还包含了更为复杂的语义信息,例如时间约束、地点约束和次序约束等。示例性的,对于自然语言问句“用户A何时在北京举办了活动a?”,除主语“用户A”、谓语“举办”和宾语“活动a”,还包含了显式的地点约束“在北京”。在相关知识问答技术中,对于此类存在复杂时空语义约束的问句处理困难,往往忽略了其中包含的显式或隐式时空约束等信息,导致最终查询得到的答案准确率较低。基于上述示例,若该用户A分别于2000年在上海举办了一次活动a,于2010年在北京再次举办了一次活动a,按照传统知识问答方法,忽略问句中的地点约束“在北京”,则容易将其理解为“用户A何时举办了活动a?”,进而选择“2000年”,从而得到错误答案。在知识问答技术中,主要存在如下问题:复杂时空语义约束下的自然语言问句中,时空粒度多样、约束表达形式灵活、显式隐式混合嵌套,语义解析难度较大;自然语言问句中,实体表达、谓词表达、时间表达和地点表达的形式丰富多样,识别召回难度大;训练集数据只有问句与最终答案,没有中间查询语句,导致无法通过语义解析的方式直接训练模型,需要通过答案反推其中蕴含的复杂查询逻辑表达式。
本申请实施例充分考虑到了复杂时空语义约束对知识问答准确率的影响,提出基于一定数量的训练集,训练机器学习模型,使得该模型能够有效处理复杂时空语义约束下的知识问答问题。具体的,对训练集中的自然语言问句进行信息抽取,从自然语言问句中抽取得到多个实体和谓词,进而整合得到多粒度的抽取结果(实体、谓词、查询对象、显式时间约束、显式地点约束、次序约束、隐式时间约束、隐式地点约束),达到尽可能多的从该问句中抽取得到有用信息的目的。
在一种可能的实施方式中,所述步骤S101,对自然语言问句进行信息抽取,得到抽取结果,包括:
步骤S1011,通过AC自动机、ES引擎和嵌入语言模型,对所述自然语言问句进行关键词召回,生成关键词召回结果。
参照图2,图2示出了一种信息抽取的流程示意图,如图2所示,本实施例将自然语言问句通过多模匹配(Aho-Corasick automaton,AC)自动机、可扩展检索(ElasticSearch,ES)引擎和嵌入语言模型(Sentence Embedding,又称为句嵌入表征模型)等多种手段,依据关键词进行召回,从中准确解析识别出实体相关的关键词要素。具体的,由于字典规模有限,AC自动机可能抽取不到实体;ES引擎容易受关键词影响,如果谓词较长,则可能将错误的五元组排在前面;嵌入语言模型能够综合考虑语义,但当谓词较短,且变化形式较大时(如同义谓词),则可能召回错误的五元组。所以在利用AC自动机进行信息抽取的基础上,本申请实施例还结合了ES引擎和嵌入语言模型,通过整合三者的召回结果,得到更为准确的自然语言问句的实体抽取结果(即图2中的关键词召回结果)。
在一种可能的实施方式中,所述步骤S1011,通过AC自动机、ES引擎和嵌入语言模型,对所述自然语言问句进行关键词召回,生成关键词召回结果,包括:
通过所述AC自动机,对所述自然语言问句进行关键词召回,得到第一关键词召回结果。
通过所述ES引擎,对所述自然语言问句进行关键词召回,将召回的第一个五元组作为第二关键词召回结果。
通过所述嵌入语言模型,对所述自然语言问句进行关键词召回,基于得到的多个五元组中的前n个五元组,统计实体出现次数,将出现次数最多的k个实体作为第三关键词召回结果,其中k和n分别为大于1的正整数。
将所述第二关键词召回结果和所述第三关键词召回结果进行加权融合,得到候选实体集;
将所述候选实体集和所述第一关键词召回结果进行结合,得到所述关键词召回结果。
在本实施例中,首先利用AC自动机进行实体抽取,得到第一关键词召回结果。然后融合ES引擎和嵌入语言模型的召回结果,具体的,选取ES引擎召回的第一个五元组(第二关键词召回结果),然后基于嵌入语言模型召回的前n个五元组(例如前50个五元组),统计这n个五元组中的实体出现次数,排序后返回频次较大的候选实体(例如将排序中的前k个实体确定为候选实体);最后将二者(ES引擎召回的第一个五元组和嵌入语言模型召回的候选实体)加权融合纳入候选实体集。最后结合AC自动机召回得到的第一关键词召回结果,得到最终的关键词召回结果。
通过测试发现,基于AC自动机的匹配方式所得到的召回结果的准确率为0.96,召回率却只有0.73。而融合了ES引擎和嵌入语言模型的召回方法的准确率只有0.79,但召回率达到了0.97。本申请实施例将两种方案进行结合,以提高召回实体的准确率和召回率。
步骤S1012,通过向量引擎,依据语义相似度对所述自然语言问句进行向量召回,生成向量召回结果。
如图2所示,在本实施例中,通过向量引擎(例如hkunlp/Instructor-xl模型)生成嵌入向量,得到向量召回结果。具体的,由于时空图谱五元组拼接生成的语句与查询语句之间存在大量冗余信息(实体信息、时间信息、描述信息等不属于谓词的信息),本实施例通过将上述冗余信息从自然语言问句中剔除,得到关于谓词的信息,并将该关于谓词的信息,与时空知识图谱所有五元组中的谓词信息,通过计算语义相似度,召回与问句嵌入向量相似的向量,得到向量召回结果。
步骤S1013,对所述关键词召回结果和所述向量召回结果进行加权融合,得到所述抽取结果。
通过步骤S1011抽取得到实体,通过步骤S1012抽取得到谓词,然后将两者进行加权融合,通过实体与谓语的组合得到对应的显式时间约束、显式地点约束、次序约束、隐式时间约束、隐式地点约束等信息,从而生成抽取结果。
步骤S102,定义通用查询路径,将所述抽取结果进行组合编排,生成多个候选查询路径。
查询路径表示用于在知识图谱中执行查询操作的语言。根据步骤S101从自然语言问句中获取到的抽取结果(实体、谓词、时间、地点等信息要素),基于预先设置的通用查询路径,通过遍历的方式,将抽取结果中的信息进行组合,将每个组合的信息填入通用查询路径,从而得到多个候选查询路径,生成候选查询路径集。其中,通用查询路径为预先定义的时空领域的查询路径模板,表示自然语言问句与答案之间的对应关系。本申请实施例通过设计时空领域通用查询路径形式化语言,极大简化了自然语言问句与答案之间的对应,具有普遍通用性。
在本实施例中,一条完整的通用查询路径包括六个部分:次序约束、显式时间约束、隐式时间约束、显式地点约束、隐式地点约束和主查询信息。
其中,次序约束表示查询对象的次序信息,往往表示为“第k个”、“第k次”,当存在多个查询结果时,可以根据次序约束确定取其中的第一个、最后一个或全部的查询结果。示例性的,对于自然语言问句“用户A何时在北京首次举办了活动a?”,其中的次序约束为“首次”,若用户A在北京先后一共举办了3场活动a,则所需要的答案为第一次举办活动a的时间。在该通用查询路径中,对于次序约束的取值有三种:当该次序约束取值为0,表示取查询结果按时间升序排列后的第一个查询结果;当该次序约束取值为-1,表示取查询结果按时间升序排列后的最后一个;当该次序约束取值为1,表示取查询结果的全部。按照上述示例,对于自然语言问句“用户A何时在北京首次举办了活动a?”,在对应的查询路径中,次序约束的取值为0。
显式时间约束表示在自然语言问句中直接存在的时间约束,往往表示为查询对象的发生时间,可以根据显式时间约束确定该自然语言问句中对查询对象的时间约束的粒度col,时间限制的方向op和具体的时间值value。示例性的,对于自然语言问句“用户A在2013年之前举办了几次活动a?”,其中的显式时间约束为“在2013年之前”,若用户A一共举办了10场活动a,其中有4场是在2013年之前举办的,则所需要的答案为4次。在该通用查询路径中,对于显式时间约束的取值有三个部分:时间约束的粒度col的取值为年、月或日;时间限制的方向op的取值为之前、之后或之内;具体的时间值value的取值与时间约束的粒度col有关,当col取值为年时,value的取值为年份数值(如2005),当col取值为月时,value的取值为年份和月份的数值(如200501),当col取值为日时,value的取值为年份、月份和日期的具体数值(如20050101)。
隐式时间约束表示不在自然语言问句中直接存在,无法直接得到具体时间值,但包含在语义中的时间约束,在问句中的格式类似于“在发生事件B之前/之后”。与显式时间约束相似,根据该隐式时间约束可以确定该自然语言问句中对查询对象的时间约束的粒度col,时间限制的方向op,两者不同的地方在于,隐式时间约束的时间值es、P、eo,需要通过三元组<主体, 谓语, 客体>查询来获取,在问句中并不直接存在,es、P、eo分别代表一个三元组中的主体、谓语和客体。
显式地点约束,表示在自然语言问句中直接存在的位置约束,往往表示为查询对象的发生地点,可以根据显式地点约束确定该自然语言问句中对查询对象的地点约束的粒度col和具体的地点值value。示例性的,对于自然语言问句“用户A在北京举办了几次活动a?”,其中的显式地点约束为“在北京”,若用户A一共举办了10场活动a,其中有4场是在北京举办的,则所需要的答案为4次。在该通用查询路径中,对于显式地点约束的取值有两个部分:地点约束的粒度col的取值为省、市等位置划分单位;具体的地点值value的取值为具体的地点名称,与地点约束的粒度col有关。
隐式地点约束,表示不在自然语言问句中直接存在,无法直接得到具体地点值,但包含在语义中的位置约束,在问句中的格式类似于“在发生事件B的位置”。与显式地点约束相似,根据该隐式地点约束可以确定该自然语言问句中对查询对象的地点约束的粒度col,两者不同的地方在于,隐式地点约束的地点值es、P、eo,需要通过三元组<主体,谓语,客体>查询来获取,在问句中并不直接存在,es、P、eo分别代表一个三元组中的主体、谓语和客体。
主查询表示查询目标的主体,即问句中排除各种约束后,所得到的主体、谓词和客体。示例性的,对于自然语言问句“用户A何时在北京首次举办了活动a?”,其中的主查询为“用户A举办活动a的时间”。可以根据主查询确定该自然语言问句中查询的项col和隐式查询信息es、P、eo,其中,查询的项表示查询对象的类型,可选择主体、客体、年、月、日、省、市等,隐式查询信息es、P、eo需要通过三元组<主体,谓语,客体>查询来获取,在问句中并不直接存在,es、P、eo分别代表一个三元组中的主体、谓语和客体,隐式查询信息es、P、eo与查询的项col有关,当col为主体时,es 应为None;当col为客体时,eo应为None。
由此,基于上述定义的通用查询路径,将步骤S101得到的抽取结果中的各个信息要素以遍历的方式进行组合,生成多条候选查询路径,每一种组合表示一条候选查询路径。在一种可能的实施方式中,所述候选查询路径包括以下一项或多项:
次序约束信息,表示所述自然语言问句是否按照时间顺序取查询结果的第一个、最后一个、或全部。示例性的,对于自然语言问句“谁是2005年第1个先于人物A对对象B进行行为D的人?”,确定查询路径中的次序约束为“第一个”,对应的,次序约束信息表示为次序约束的取值为0,即取查询结果中的第一个查询结果。
显式时间约束信息,表示在所述自然语言问句中直接存在的时间约束信息,包括:时间约束的粒度、时间约束的方向、时间值。按照上述示例的自然语言问句“谁是2005年第1个先于人物A对对象B进行行为D的人?”,确定查询路径中的显式时间约束为“2005年”,对应的,显式时间约束信息表示为时间约束的粒度取值为“年”,时间约束的方向为“之内”,时间值为“2005”。
隐式时间约束信息,表示不在所述自然语言问句中直接存在,但包含在语义中的时间约束信息,包括:时间约束的粒度、时间约束的方向和通过三元组查询获取的隐式时间值。按照上述示例的自然语言问句“谁是2005年第1个在城市C先于人物A对对象B进行行为D的人?”,确定查询路径中的隐式时间约束为“先于人物A对对象B进行行为D”,对应的隐式时间约束信息表示为时间约束的方向为“先于”,通过三元组<主体,谓语,客体>查询获取得到的隐式时间值为<人物A,行为D,对象B>。
显式地点约束信息,表示在所述自然语言问句中直接存在的位置约束信息,包括:地点约束的粒度、具体的地点值。按照上述示例的自然语言问句“谁是2005年第1个在城市C先于人物A对对象B进行行为D的人?”,确定查询路径中的显式地点约束为“在城市C”,对应的显式地点约束信息表示为地点约束的粒度为“城市”,具体的地点值为“城市C”。
隐式地点约束信息,表示不在所述自然语言问句中直接存在,但包含在语义中的位置约束信息,包括:地点约束的粒度、地点约束的方向和通过三元组查询获取的隐式地点值。示例性的,对于自然语言问句“用户A何时在他结识他的妻子的城市举办了活动a?”,确定查询路径中的隐式地点约束为“在他结识他的妻子的城市”,对应的隐式地点约束信息表示为地点约束的粒度为“城市”,具体的地点值为<用户A,结识,用户A的妻子>。
主查询信息,表示所述自然语言问句中查询目标的信息,包括查询目标和通过三元组查询获取的隐式查询信息。按照上述示例的自然语言问句“谁是2005年第1个在城市C先于人物A对对象B进行行为D的人?”,确定查询路径中的主查询问题为“谁对对象B进行行为D”,对应的主查询信息表示为查询目标为“主体”,通过三元组查询获取的隐式查询信息为<None,行为D,对象B>。
该查询路径有效反映了带有隐式时间约束、显式空间约束且具有首次或末次特征的条件下,查询路径对复杂自然语言问题的表征能力。
在一种可能的实施方式中,在获取到多个候选查询路径之后,在执行每一个所述候选查询路径之前,所述方法还包括:
对所述多个候选查询路径中违背预设规则的错误查询路径进行剪枝。在得到的多个候选查询路径中,有的能从时空知识图谱中搜索到问题对应的答案,有的则不能。按照预先设定的规则,可以从多个候选查询路径中确定出存在明显错误的错误查询路径,从而根据已有的时空图谱知识,对其进行剪枝操作,将其从候选查询路径集中删除,解决了候选查询路径数量爆炸问题,实现对查询路径的优化。
步骤S103,在目标时空知识图谱中执行每一个所述候选查询路径,将搜索得到的查询结果与标准答案进行对比,根据对比结果,从所述多个候选查询路径中确定正确查询路径。
参照图3,图3示出了一种查询路径的生成流程示意图,如图3所示,本实施例基于信息抽取得到的实体、谓词、时间、地点等信息要素,生成候选查询路径并对其进行剪枝,在剪枝后执行候选查询路径。具体的,由于候选查询路径中存在错误查询路径(无法在时空知识图谱中查询得到正确答案的查询路径)和正确查询路径(能够在时空知识图谱中查询得到正确答案的查询路径)。本实施例对候选查询路径进行正确性校验,通过对候选查询路径在时空知识图谱中执行查询操作,得到查询结果,然后将查询结果和训练集标准答案(该自然语言问句的标准答案)进行比对,如果两者保持一致,则该候选查询路径是正确的查询路径,为其添加查询路径正确性校验标签,如果两者不一致,则该候选查询路径为错误查询路径,为其添加查询路径错误性校验标签。
在一种可能的实施方式中,在目标时空知识图谱中执行每一个所述候选查询路径之前,所述方法还包括:
根据所述候选查询路径所对应的实体或谓词在所述抽取结果中的优先级,对剪枝后的候选查询路径进行优先级排序。
所述从所述多个候选查询路径中确定正确查询路径,包括:
在从所述多个候选查询路径中确定出多个正确的候选查询路径的情况下,将所述多个正确的候选查询路径中优先级最高的候选查询路径确定为所述正确查询路径。
在对候选查询路径进行剪枝优化后,还对候选查询路径进行了粗粒度的优先级排序,以确保正确的候选查询路径尽可能地靠前。具体的,在对自然语言问句进行信息抽取得到抽取结果时,对其中的实体和谓词,按照出现频率从高到低,进行优先级排序。由此,对于多个候选查询路径,可以依据该候选查询路径中的实体或谓词的优先级,对多个候选查询路径进行优先级排序。
在对候选查询路径进行正确性验证后,如果一个自然语言问句对应有多个正确的候选查询路径(即该候选查询路径的查询结果与标准答案一致),则可以按照这多个正确查询路径之间的优先级排序,从中选择优先级最高的第一个候选查询路径确定为正确查询路径,并将其作为后续训练模型的训练样本和标签。
步骤S104,利用所述正确查询路径和所述自然语言问句,进行模型训练,得到查询路径生成模型。
在一种可能的实施方式中,所述查询路径生成模型包括T5模型和BERT模型,所述利用所述正确查询路径和所述自然语言问句,进行模型训练包括:
以所述自然语言问句为输入的训练样本,以对应的所述正确查询路径为标签,对所述T5模型进行训练。
以所述自然语言问句和对应的所述候选查询路径为输入的训练样本,以所述候选查询路径是否为所述正确查询路径为标签,对所述BERT模型进行训练。
在本实施例中,查询路径生成模型包括文本到文本转换(Transfer Text-to-TextTransformer,T5)模型和双向语言表征生成(Bidirectional Encoder Representationfrom Transformers,BERT)模型,将自然语言问句作为输入的训练样本,以对应的正确查询路径为标签,对T5模型进行训练,从而使得训练后的T5模型能够根据输入的自然语言问句,输出对应的查询路径的模板字符串。T5模型的特点是学习难度更大,可以学习到问句中的模式,对未见实体泛化性好。
另一方面,为了提升T5模型从无标记问句(测试集数据)中生成正确查询路径的准确率,本实施例将额外使用独立的BERT模型,对同一自然语言问句生成的所有候选查询路径进行排序分类操作。将自然语言问句和候选查询路径拼接成的字符串作为输入的训练样本,以该候选查询路径是否为该自然语言问句的正确查询路径为标签,对BERT模型进行训练,从而得到训练后的BERT模型能够根据输入的自然语言问句和查询路径,对计算自然语言问句与查询路径之间的匹配程序,从而按照匹配程度的高低对查询路径集中的多条查询路径进行排序,将其中匹配程序高的多条查询路径确定为正确查询路径,将匹配程度低的多条查询路径确定为错误查询路径。BERT模型的特点是学习难度低,直接根据语义匹配选择正确答案,对召回要求较高。具体的,通过在前一步中将所有(训练和验证集数据)候选查询路径查询到的答案和标准答案进行比对,标记了正确的模板,基于标记数据用来训练BERT实现一致性衡量任务,使得BERT模型能够将候选查询路径与原问题语句拼接之后,进行一致性衡量,如果两语句语义吻合说明该查询路径生成正确,反之不正确,提高了无标记问句(测试集数据)中生成正确查询路径的准确率。由此,本实施例通过将T5生成模型与BERT排序模型相结合,实现优势互补,提高了复杂自然语言问答的准确率。
步骤S105,将用户的目标问句输入所述查询路径生成模型,得到目标查询路径,在所述目标时空知识图谱中执行所述目标查询路径,得到目标答案。
在一种可能的实施方式中,所述步骤S105,将用户的目标问句输入所述查询路径生成模型,得到目标查询路径,在所述目标时空知识图谱中执行所述目标查询路径,得到目标答案,包括:
将所述用户的目标问句输入所述T5模型,得到第一目标查询路径;
将所述用户的目标问句和所述目标问句的候选查询路径输入所述BERT模型,得到第二目标查询路径;
在所述目标时空图谱中分别执行所述第一目标查询路径和所述第二目标查询路径,得到多个候选目标答案;
将所述多个候选目标答案融合,得到所述目标答案。
在本实施例中,在训练得到查询路径生成模型之后,可以将其用于执行知识问答,参照图4,图4示出了一种答案生成的流程示意图,如图4所示,将属于自然语言问句的目标问句输入该模型(即分别输入训练完成的T5模型和BERT模型),T5模型可以根据目标问句生成对应的查询路径(即第一目标查询路径),为了进一步提高查询路径的准确率,BERT模型可以执行分类任务,基于目标问句与该目标问句的多条候选查询路径(在本实施例中,可以按照步骤S101和步骤S102的方式获取目标问句的多条候选查询路径。),计算目标问句与每条候选查询路径的匹配程度,从而对多条候选查询路径按照匹配程度进行排序,从中确定出多个与目标问句匹配的查询路径(即第二目标查询路径),作为T5模型输出结果的补充。然后分别在目标时光图谱中执行第一目标查询路径和第二目标查询路径,得到对应的T5模型的生成模型答案和BERT模型的排序模型答案(即多个候选目标答案),将两者进行融合(如图4所示的答案融合),得到目标答案。
参照图5,图5示出了一种查询路径生成模型的训练过程示意图,如图5所示,本申请实施例对输入的自然语言问句进行多粒度的信息抽取,通过实体解析引擎、谓词解析引擎、时间解析引擎和地点解析引擎等,得到包括实体、谓词、查询对象、时间约束、地点约束、次序约束等多个信息要素的抽取结果,然后定义时空领域通用查询路径模板,涵盖多粒度时间信息、多粒度空间信息、次序约束、显式/隐式时间约束、显式/隐式空间约束等,生成候选查询路径集连接自然语言问句与问题答案(对应图5中的生成基于时空逻辑模板的查询路径)。然后将生成的候选查询路径进行剪枝优化,通过候选查询路径从时空知识图谱中搜索相应答案,并对准确答案进行对比,形成查询路径正确性校验标签。最后,将自然语言问句、候选路径集及对应正确性校验标签作为训练样本和标签,分别进行基于T5模型的查询路径生成训练和基于BERT模型的查询路径排序训练,将训练完成的两个模型作为查询路径生成模型。在执行知识问答阶段,根据用户输入的目标问句,生成对应的候选查询路径,利用查询路径生成模型得到多条正确的目标查询路径(具体的,将目标问句输入T5模型,得到第一目标查询路径,将目标问句与候选查询路径输入BERT模型,得到多条第二目标查询路径),将二者(第一目标查询路径和第二目标查询路径)在时空知识图谱上的查询结果融合,形成最终问题答案。
本申请实施例通过上述方法在复杂时空语义约束下的自然语言问句中,通过融合AC自动机、ES引擎、嵌入语言模型等技术无监督实现了高准确率的实体识别和谓词识别。并且,本申请实施例设计了时空领域的通用查询路径形式化语言,极大简化了自然语言问句与答案之间的对应,具有普遍通用性。此外,本申请实施例将T5生成模型与BERT排序模型相结合,实现优势互补,大大提高了知识问答中的复杂自然语言问答(尤其是具有复杂时空语义约束的问答)的准确率。本申请实施例所提出的知识问答方法应用更为广泛,利用复杂时空语义约束下的多粒度知识问答技术,基于时空语义增强的知识图谱,开展知识挖掘研究,能够指导事件时空关联、脉络发现、统计分析等应用,对于多实体关联、多事件交织、多时序约束、多地点重叠情况下领域事件认知推理具有重要意义,可广泛应用于金融风险防控、社会安全治理等领域。
下表为按照本申请实施的方法和相关方法进行知识问答,所得到的答案的准确率的计算结果。表1为对于具有简单时空约束的自然语言问句,在时空知识图谱中查询答案的准确率对比结果。
表1
如下表2为对于具有复杂时空约束的自然语言问句,在时空知识图谱中查询答案的准确率对比结果。
表2
本申请实施例第二方面还提供了一种基于时空语义约束的知识问答装置,参照图6,图6示出了一种知识问答装置的结构示意图,如图6所示,所述装置包括:
信息抽取模块,用于对自然语言问句进行信息抽取,得到抽取结果,所述抽取结果包括实体、谓词、查询对象、显式时间约束、显式地点约束、次序约束、隐式时间约束、隐式地点约束;
候选查询路径生成模块,用于定义通用查询路径,将所述抽取结果进行组合编排,生成多个候选查询路径;
正确查询路径确定模块,用于在目标时空知识图谱中执行每一个所述候选查询路径,将搜索得到的查询结果与标准答案进行对比,根据对比结果,从所述多个候选查询路径中确定正确查询路径;
训练模块,用于利用所述正确查询路径和所述自然语言问句,进行模型训练,得到查询路径生成模型;
知识问答模块,用于将用户的目标问句输入所述查询路径生成模型,得到目标查询路径,在所述目标时空知识图谱中执行所述目标查询路径,得到目标答案。
在一种可能的实施方式中,所述信息抽取模块包括:
关键词召回子模块,用于通过AC自动机、ES引擎和嵌入语言模型,对所述自然语言问句进行关键词召回,生成关键词召回结果;
向量召回子模块,用于通过向量引擎,依据语义相似度对所述自然语言问句进行向量召回,生成向量召回结果;
召回结果融合子模块,用于对所述关键词召回结果和所述向量召回结果进行加权融合,得到所述抽取结果。
在一种可能的实施方式中,所述关键词召回子模块,包括:
第一关键词召回单元,用于通过所述AC自动机,对所述自然语言问句进行关键词召回,得到第一关键词召回结果;
第二关键词召回单元,用于通过所述ES引擎,对所述自然语言问句进行关键词召回,将召回的第一个五元组作为第二关键词召回结果;
第三关键词召回单元,用于通过所述嵌入语言模型,对所述自然语言问句进行关键词召回,基于得到的多个五元组中的前n个五元组,统计实体出现次数,将出现次数最多的k个实体作为第三关键词召回结果,其中k和n分别为大于1的正整数;
关键词召回融合单元,用于将所述第二关键词召回结果和所述第三关键词召回结果进行加权融合,得到候选实体集;
召回结果结合单元,用于将所述候选实体集和所述第一关键词召回结果进行结合,得到所述关键词召回结果。
在一种可能的实施方式中,所述候选查询路径包括以下一项或多项:
次序约束信息,表示所述自然语言问句是否按照时间顺序取查询结果的第一个、最后一个、或全部;
显式时间约束信息,表示在所述自然语言问句中直接存在的时间约束信息,包括:时间约束的粒度、时间约束的方向、时间值;
隐式时间约束信息,表示不在所述自然语言问句中直接存在,但包含在语义中的时间约束信息,包括:时间约束的粒度、时间约束的方向和通过三元组查询获取的隐式时间值;
显式地点约束信息,表示在所述自然语言问句中直接存在的位置约束信息,包括:地点约束的粒度、地点约束的方向、地点值;
隐式地点约束信息,表示不在所述自然语言问句中直接存在,但包含在语义中的位置约束信息,包括:地点约束的粒度、地点约束的方向和通过三元组查询获取的隐式地点值;
主查询信息,表示所述自然语言问句中查询目标的信息,包括查询目标和通过三元组查询获取的隐式查询信息。
在一种可能的实施方式中,所述装置还包括:
剪枝模块,用于在执行每一个所述候选查询路径之前,对所述多个候选查询路径中违背预设规则的错误查询路径进行剪枝;
优先级排序模块,用于根据所述候选查询路径所对应的实体或谓词在所述抽取结果中的优先级,对剪枝后的候选查询路径进行优先级排序;
所述正确查询路径确定模块,包括:
正确查询路径确定子模块,用于在从所述多个候选查询路径中确定出多个正确的候选查询路径的情况下,将所述多个正确的候选查询路径中优先级最高的候选查询路径确定为所述正确查询路径。
在一种可能的实施方式中,所述查询路径生成模型包括T5模型和BERT模型,所述训练模块包括:
T5模型训练子模块,用于以所述自然语言问句为输入的训练样本,以对应的所述正确查询路径为标签,对所述T5模型进行训练;
BERT模型训练子模块,用于以所述自然语言问句和对应的所述候选查询路径为输入的训练样本,以所述候选查询路径是否为所述正确查询路径为标签,对所述BERT模型进行训练。
在一种可能的实施方式中,所述知识问答模块包括:
第一知识问答子模块,用于将所述用户的目标问句输入所述T5模型,得到第一目标查询路径;
第二知识问答子模块,用于将所述用户的目标问句和所述目标问句的候选查询路径输入所述BERT模型,得到第二目标查询路径;
查询路径执行子模块,用于在所述目标时空图谱中分别执行所述第一目标查询路径和所述第二目标查询路径,得到多个候选目标答案;
答案融合子模块,用于将所述多个候选目标答案融合,得到所述目标答案。
本申请实施例还提供了一种电子设备,参照图7,图7是本申请实施例提出的电子设备的示意图。如图7所示,电子设备100包括:存储器110和处理器120,存储器110与处理器120之间通过总线通信连接,存储器110中存储有计算机程序,该计算机程序可在处理器120上运行,进而实现本申请实施例公开的基于时空语义约束的知识问答方法中的步骤。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现如本申请实施例公开的基于时空语义约束的知识问答方法中的步骤。
本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在电子设备上运行时,使处理器执行时实现如本申请实施例所公开的基于时空语义约束的知识问答方法的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本申请实施例是参照根据本申请实施例的方法、装置、电子设备和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种基于时空语义约束的知识问答方法、装置和产品,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (8)
1.一种基于时空语义约束的知识问答方法,其特征在于,所述方法包括:
对自然语言问句进行信息抽取,得到抽取结果,所述抽取结果包括实体、谓词、查询对象、显式时间约束、显式地点约束、次序约束、隐式时间约束、隐式地点约束;
定义通用查询路径,将所述抽取结果进行组合编排,生成多个候选查询路径;
在目标时空知识图谱中执行每一个所述候选查询路径,将搜索得到的查询结果与标准答案进行对比,根据对比结果,从所述多个候选查询路径中确定正确查询路径;
利用所述正确查询路径和所述自然语言问句,进行模型训练,得到查询路径生成模型;
将用户的目标问句输入所述查询路径生成模型,得到目标查询路径,在所述目标时空知识图谱中执行所述目标查询路径,得到目标答案;
其中,所述查询路径生成模型包括T5模型和BERT模型,所述利用所述正确查询路径和所述自然语言问句,进行模型训练,包括:
以所述自然语言问句为输入的训练样本,以对应的所述正确查询路径为标签,对所述T5模型进行训练;
以所述自然语言问句和对应的所述候选查询路径为输入的训练样本,以所述候选查询路径是否为所述正确查询路径为标签,对所述BERT模型进行训练;
所述将用户的目标问句输入所述查询路径生成模型,得到目标查询路径,在所述目标时空知识图谱中执行所述目标查询路径,得到目标答案,包括:
将所述用户的目标问句输入所述T5模型,得到第一目标查询路径;
将所述用户的目标问句和所述目标问句的候选查询路径输入所述BERT模型,得到第二目标查询路径;
在所述目标时空图谱中分别执行所述第一目标查询路径和所述第二目标查询路径,得到多个候选目标答案;
将所述多个候选目标答案融合,得到所述目标答案。
2.根据权利要求1所述的基于时空语义约束的知识问答方法,其特征在于,所述对自然语言问句进行信息抽取,得到抽取结果,包括:
通过AC自动机、ES引擎和嵌入语言模型,对所述自然语言问句进行关键词召回,生成关键词召回结果;
通过向量引擎,依据语义相似度对所述自然语言问句进行向量召回,生成向量召回结果;
对所述关键词召回结果和所述向量召回结果进行加权融合,得到所述抽取结果。
3.根据权利要求2所述的基于时空语义约束的知识问答方法,其特征在于,所述通过AC自动机、ES引擎和嵌入语言模型,对所述自然语言问句进行关键词召回,生成关键词召回结果,包括:
通过所述AC自动机,对所述自然语言问句进行关键词召回,得到第一关键词召回结果;
通过所述ES引擎,对所述自然语言问句进行关键词召回,将召回的第一个五元组作为第二关键词召回结果;
通过所述嵌入语言模型,对所述自然语言问句进行关键词召回,基于得到的多个五元组中的前n个五元组,统计实体出现次数,将出现次数最多的k个实体作为第三关键词召回结果,其中k和n分别为大于1的正整数;
将所述第二关键词召回结果和所述第三关键词召回结果进行加权融合,得到候选实体集;
将所述候选实体集和所述第一关键词召回结果进行结合,得到所述关键词召回结果。
4.根据权利要求1所述的基于时空语义约束的知识问答方法,其特征在于,所述候选查询路径包括以下一项或多项:
次序约束信息,表示所述自然语言问句是否按照时间顺序取查询结果的第一个、最后一个、或全部;
显式时间约束信息,表示在所述自然语言问句中直接存在的时间约束信息,包括:时间约束的粒度、时间约束的方向、时间值;
隐式时间约束信息,表示不在所述自然语言问句中直接存在,但包含在语义中的时间约束信息,包括:时间约束的粒度、时间约束的方向和通过三元组查询获取的隐式时间值;
显式地点约束信息,表示在所述自然语言问句中直接存在的位置约束信息,包括:地点约束的粒度、地点约束的方向、地点值;
隐式地点约束信息,表示不在所述自然语言问句中直接存在,但包含在语义中的位置约束信息,包括:地点约束的粒度、地点约束的方向和通过三元组查询获取的隐式地点值;
主查询信息,表示所述自然语言问句中查询目标的信息,包括查询目标和通过三元组查询获取的隐式查询信息。
5.根据权利要求1所述的基于时空语义约束的知识问答方法,其特征在于,在执行每一个所述候选查询路径之前,所述方法还包括:
对所述多个候选查询路径中违背预设规则的错误查询路径进行剪枝;
根据所述候选查询路径所对应的实体或谓词在所述抽取结果中的优先级,对剪枝后的候选查询路径进行优先级排序;
所述从所述多个候选查询路径中确定正确查询路径,包括:
在从所述多个候选查询路径中确定出多个正确的候选查询路径的情况下,将所述多个正确的候选查询路径中优先级最高的候选查询路径确定为所述正确查询路径。
6.一种基于时空语义约束的知识问答装置,其特征在于,所述装置包括:
信息抽取模块,用于对自然语言问句进行信息抽取,得到抽取结果,所述抽取结果包括实体、谓词、查询对象、显式时间约束、显式地点约束、次序约束、隐式时间约束、隐式地点约束;
候选查询路径生成模块,用于定义通用查询路径,将所述抽取结果进行组合编排,生成多个候选查询路径;
正确查询路径确定模块,用于在目标时空知识图谱中执行每一个所述候选查询路径,将搜索得到的查询结果与标准答案进行对比,根据对比结果,从所述多个候选查询路径中确定正确查询路径;
训练模块,用于利用所述正确查询路径和所述自然语言问句,进行模型训练,得到查询路径生成模型;
知识问答模块,用于将用户的目标问句输入所述查询路径生成模型,得到目标查询路径,在所述目标时空知识图谱中执行所述目标查询路径,得到目标答案;
所述查询路径生成模型包括T5模型和BERT模型,所述训练模块包括:
T5模型训练子模块,用于以所述自然语言问句为输入的训练样本,以对应的所述正确查询路径为标签,对所述T5模型进行训练;
BERT模型训练子模块,用于以所述自然语言问句和对应的所述候选查询路径为输入的训练样本,以所述候选查询路径是否为所述正确查询路径为标签,对所述BERT模型进行训练;
所述知识问答模块包括:
第一知识问答子模块,用于将所述用户的目标问句输入所述T5模型,得到第一目标查询路径;
第二知识问答子模块,用于将所述用户的目标问句和所述目标问句的候选查询路径输入所述BERT模型,得到第二目标查询路径;
查询路径执行子模块,用于在所述目标时空图谱中分别执行所述第一目标查询路径和所述第二目标查询路径,得到多个候选目标答案;
答案融合子模块,用于将所述多个候选目标答案融合,得到所述目标答案。
7.一种电子设备,包括存储器、处理器及存储在所述存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1-5中任一项所述的基于时空语义约束的知识问答方法。
8.一种计算机可读存储介质,其上存储有计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1-5中任一项所述的基于时空语义约束的知识问答方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311616473.XA CN117332097B (zh) | 2023-11-30 | 2023-11-30 | 一种基于时空语义约束的知识问答方法、装置和产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311616473.XA CN117332097B (zh) | 2023-11-30 | 2023-11-30 | 一种基于时空语义约束的知识问答方法、装置和产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117332097A CN117332097A (zh) | 2024-01-02 |
CN117332097B true CN117332097B (zh) | 2024-03-01 |
Family
ID=89277716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311616473.XA Active CN117332097B (zh) | 2023-11-30 | 2023-11-30 | 一种基于时空语义约束的知识问答方法、装置和产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117332097B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701253A (zh) * | 2016-03-04 | 2016-06-22 | 南京大学 | 中文自然语言问句语义化的知识库自动问答方法 |
CN112989004A (zh) * | 2021-04-09 | 2021-06-18 | 苏州爱语认知智能科技有限公司 | 面向知识图谱问答的查询图排序方法及系统 |
CN113742447A (zh) * | 2021-07-19 | 2021-12-03 | 暨南大学 | 基于查询路径生成的知识图谱问答方法、介质和设备 |
CN114860884A (zh) * | 2022-05-23 | 2022-08-05 | 中国科学院空天信息创新研究院 | 一种面向动态分析的时空知识图谱构建系统和方法 |
CN116186228A (zh) * | 2023-03-10 | 2023-05-30 | 南京云问网络技术有限公司 | 基于深度语义解析的复杂知识库问答方法与系统 |
CN116860991A (zh) * | 2023-06-26 | 2023-10-10 | 江西师范大学 | 面向api推荐的基于知识图谱驱动路径优化的意图澄清方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230169361A1 (en) * | 2021-11-29 | 2023-06-01 | Accenture Global Solutions Limited | Generating answers to multi-hop constraint-based questions from knowledge graphs |
-
2023
- 2023-11-30 CN CN202311616473.XA patent/CN117332097B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701253A (zh) * | 2016-03-04 | 2016-06-22 | 南京大学 | 中文自然语言问句语义化的知识库自动问答方法 |
CN112989004A (zh) * | 2021-04-09 | 2021-06-18 | 苏州爱语认知智能科技有限公司 | 面向知识图谱问答的查询图排序方法及系统 |
CN113742447A (zh) * | 2021-07-19 | 2021-12-03 | 暨南大学 | 基于查询路径生成的知识图谱问答方法、介质和设备 |
CN114860884A (zh) * | 2022-05-23 | 2022-08-05 | 中国科学院空天信息创新研究院 | 一种面向动态分析的时空知识图谱构建系统和方法 |
CN116186228A (zh) * | 2023-03-10 | 2023-05-30 | 南京云问网络技术有限公司 | 基于深度语义解析的复杂知识库问答方法与系统 |
CN116860991A (zh) * | 2023-06-26 | 2023-10-10 | 江西师范大学 | 面向api推荐的基于知识图谱驱动路径优化的意图澄清方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117332097A (zh) | 2024-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109472033B (zh) | 文本中的实体关系抽取方法及系统、存储介质、电子设备 | |
AU2019263758B2 (en) | Systems and methods for generating a contextually and conversationally correct response to a query | |
WO2021253904A1 (zh) | 测试案例集生成方法、装置、设备及计算机可读存储介质 | |
CN110968699B (zh) | 一种基于事理推荐的逻辑图谱构建及预警方法和装置 | |
CN109240901B (zh) | 性能分析方法、性能分析装置、存储介质和电子设备 | |
Chen et al. | BigGorilla: An open-source ecosystem for data preparation and integration. | |
WO2021213314A1 (zh) | 数据处理方法、装置及计算机可读存储介质 | |
Upadhyay et al. | Annotating derivations: A new evaluation strategy and dataset for algebra word problems | |
CN107436864A (zh) | 一种基于Word2Vec的中文问答语义相似度计算方法 | |
CN110765277B (zh) | 一种基于知识图谱的移动端的在线设备故障诊断方法 | |
CN112328800A (zh) | 自动生成编程规范问题答案的系统及方法 | |
CN104133855A (zh) | 一种输入法智能联想的方法及装置 | |
CN109522396B (zh) | 一种面向国防科技领域的知识处理方法及系统 | |
CN113722478A (zh) | 多维度特征融合相似事件计算方法、系统及电子设备 | |
CN116485597B (zh) | 基于岗位能力模型的标准化实训方法 | |
CN115858807A (zh) | 一种基于航空装备故障知识图谱的问答系统 | |
CN111666374A (zh) | 一种在深度语言模型中融入额外知识信息的方法 | |
Sun | A natural language interface for querying graph databases | |
CN114491209A (zh) | 基于互联网信息抓取的企业业务标签挖掘的方法和系统 | |
CN112685544A (zh) | 电信信息的查询方法、装置、设备和介质 | |
AU2019290658B2 (en) | Systems and methods for identifying and linking events in structured proceedings | |
CN117332097B (zh) | 一种基于时空语义约束的知识问答方法、装置和产品 | |
TW201502812A (zh) | 文本摘要編輯系統、文本摘要評量系統及其方法 | |
CN115827847A (zh) | 知识图谱构建方法、装置、电子设备和存储介质 | |
CN115062126A (zh) | 一种语句分析方法、装置、电子设备及可读存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |