CN107798126B - 基于知识库的问答处理方法 - Google Patents
基于知识库的问答处理方法 Download PDFInfo
- Publication number
- CN107798126B CN107798126B CN201711111378.9A CN201711111378A CN107798126B CN 107798126 B CN107798126 B CN 107798126B CN 201711111378 A CN201711111378 A CN 201711111378A CN 107798126 B CN107798126 B CN 107798126B
- Authority
- CN
- China
- Prior art keywords
- word
- matching degree
- information pair
- letters
- phrases
- 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
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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于知识库的问答处理方法,包括:根据目标问题和知识库确定候选信息对,所述信息对包括实体的信息及所述实体与其他实体间关系的信息;查询经训练的嵌入表得到所述目标问题和所述候选信息对应的各字母的嵌入位置数据、各单词的嵌入位置数据以及各词组的嵌入位置数据;根据各嵌入位置数据,计算所述目标问题与各候选信息对的匹配程度得分;根据所述目标问题与各候选信息对的匹配程度得分,在所述候选信息对中确定目标信息对;根据所述目标信息对查询知识库,得到所述问题对应的答案。
Description
技术领域
本发明涉及人工智能领域,尤其涉及一种基于知识库的问答处理方法。
背景技术
随着互联网技术的快速发展,人们越来越习惯通过网络获取信息。在此基础上,问答***受到了广泛关注并被大量研究和应用。其中,基于知识库的问答***,以人工或构建的大规模知识库为信息源,能够回答常被人们提出的以知识、事实为基础的问题。
为实现基于知识库的问答,可以采取语义解析方案或深度学习方案。语义解析方案将问题转化为能够被机器理解的逻辑表达式,再利用该表达式查询知识库获得答案。然而,语义解析方案为了排序并返回最佳的逻辑表达式,往往通过人工方式抽取问题和逻辑表达式的特征,且难以脱离一些模板和触发词,因而难以扩展。相较而言,深度学习方案,通过低维实数化的向量抽象问题和候选答案的语义信息,再通过向量相似度计算获得答案的排序。
现有的相关技术中,在深入学习技术中,对问题和答案的处理,往往仅根据问题的词粒度和答案的实体粒度来处理,该处理方式导致回答匹配度不高的情况。
发明内容
本发明提供一种基于知识库的问答处理方法,以解决回答匹配度不高的问题。
根据本发明的第一方面,提供了一种基于知识库的问答处理方法,包括:
根据目标问题和知识库确定候选信息对,所述信息对包括实体的信息及所述实体与其他实体间关系的信息;
查询经训练的嵌入表得到的所述目标问题和所述候选信息对应的各字母的嵌入位置数据、各单词的嵌入位置数据以及各词组的嵌入位置数据;
根据各嵌入位置数据,计算所述目标问题与各候选信息对的匹配程度得分;
根据所述目标问题与各候选信息对的匹配程度得分,在所述候选信息对中确定目标信息对;
根据所述目标信息对查询知识库,得到所述问题对应的答案。
可选的,所述根据目标问题和知识库确定候选信息对,包括:
抽取所述目标问题中的所有词串,词串的长度大于等于1,小于等于所述问题的长度;
确定其中的M个词串;其中,M为大于等于1的任意整数;
根据所述M个词串,在所述知识库中确定K个实体;其中,K为大于等于1的任意整数;
所述候选信息对包括所述K个实体及对应的实体间的关系。
可选的,所述确定其中的M个词串,包括:
删除所述所有词串中包含疑问代词的词串;
删除作为停止词的词串;
保留判断为实体名或判断为实体名一部分的词串;
在保留剩余的词串中选择长度最长的M个词串。
可选的,所述根据所述M个词串,在所述知识库中确定K个实体,包括:
对于每个词串对应的实体,保留在知识库中作为头实体出现在事实中的次数最多的L个实体,以得到所述K个实体。
可选的,所述嵌入表为根据第一预设范围的自然语言数据训练后得到的;
其中,根据第一预设范围的自然语言数据训练得到,包括:
得到未经训练的嵌入表;
在所述第一预设范围内抽取自然语言的句子;
根据所抽取的句子和其中的事实,训练嵌入表;
得到经训练的嵌入表,所述经训练的嵌入表包含问题的字母、单词、词组及其对应的嵌入位置数据,以及信息对的字母、单词、词组及其对应的嵌入位置数据。
可选的,所述根据所抽取的句子和其中的事实,训练嵌入表,包括:
根据所抽取的句子和其中的事实,得到字母、单词和词组的内容,以及对应的嵌入位置数据;
对于得到的字母、单词和词组,根据周围字母、单词和词组以及其下层语义的字母、单词和词组分别对所述得到的字母、单词和词组进行预测;以训练所述得到的字母、单词和词组的嵌入位置数据。
可选的,所述根据各嵌入位置数据,计算所述目标问题与各候选信息对的匹配程度得分,包括:
根据所述目标问题和各候选信息对的上下文的字母、单词和词组,对于其中目标问题和各候选信息对的嵌入位置数据进行调整处理,以得到处理后的嵌入位置数据;
根据所述处理后的嵌入位置数据,以及经训练的注意力模型,确定候选信息对的字母、单词和词组的注意力表达;
根据各候选信息对的字母的注意力表达,确定各候选信息对的字母相对于目标问题中每个字母的重要程度;根据各候选信息对的单词的注意力表达,确定各候选信息对的单词相对于目标问题中每个单词的重要程度;以及:根据各候选信息对的词组的注意力表达,确定各候选信息对的词组相对于目标问题中每个词组的重要程度;
根据所述目标问题中的字母、单词和词组的所述处理后的嵌入位置数据,以及各重要程度,得到:各候选信息对的字母相对于目标问题中字母的字母匹配程度得分;各候选信息对的单词相对于目标问题中单词的单词匹配程度得分;以及各候选信息对的词组相对于目标问题中词组的词组匹配程度得分;
根据所述字母匹配程度得分、单词匹配程度得分、词组匹配程度得分得到每个候选信息对的匹配程度得分。
可选的,所述根据所述字母匹配程度得分、单词匹配程度得分、词组匹配程度得分得到每个候选信息对的匹配程度得分,包括:
对于每个候选信息对,分别通过以下过程确定其匹配程度得分:
针对目标问题中每个单词中的每个字母,根据所述字母匹配程度得分,计算每个单词中各字母的字母匹配程度得分的第一平均值;
比较目标问题中的每个单词的单词匹配程度得分与对应的所述第一平均值,取其中较大的值作为确定的单词的匹配程度得分;
根据所述确定的单词的匹配程度得分,计算每个词组中各单词的确定的单词的匹配程度得分的第二平均值;
比较目标问题中的每个词组的词组匹配程度得分与对应的所述第二平均值,取其中较大的值作为确定的词组的匹配程度得分;
根据所述确定的词组的匹配程度得分,以目标问题对应的词组的匹配程度得分的平均值作为该候选信息对的匹配程度得分。
可选的,所述注意力模型中的参数为根据给定问题、所述给定问题对应的第一信息对以及所述给定问题不对应的第二信息对训练确定,所述给定问题与第一信息对为自所述知识库获得且通过人工标注确定的。
可选的,所述注意力模型中的参数为根据所述给定问题、所述给定问题对应的第一信息对和所述给定问题不对应的第二信息对,以及第二预设范围的自然语言训练确定的,所述给定问题与第一信息对为自所述知识库获得且通过人工标注确定的。。
本发明提供的基于知识库的问答处理方法,通过查询经训练的嵌入表得到的所述目标问题和所述候选信息对应的各字母的嵌入位置数据、各单词的嵌入位置数据以及各词组的嵌入位置数据;以及根据各嵌入位置数据,计算所述目标问题与各候选信息对的匹配程度得分,进而在所述候选信息对中确定目标信息对,本发明以包括字母粒度、单词粒度、词组粒度在内的多粒度方式实现了问答处理,提高了问答的匹配度,从而能够得到更佳的答案。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一基于知识库的问答处理方法的流程示意图一;
图2是本发明一基于知识库的问答处理方法的流程示意图二;
图3是图2中步骤S21的流程示意图;
图4是图2中步骤S22的流程示意图;
图5是图4中步骤S223的流程示意图;
图6是图2中步骤S24的流程示意图;
图7是图5中步骤S249的流程示意图;
图8是本发明一问答对数量与准确率的关系示意图;
图9是本发明一句子-事实对数量与准确率的关系示意图;
图10是本发明一同义问句对数量与准确率的关系示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
实施例1
图1是本发明一基于知识库的问答处理方法的流程示意图一;请参考图1,本实施例提供了一种基于知识库的问答处理方法,包括:
S11:根据目标问题和知识库确定候选信息对,所述信息对包括实体的信息及所述实体与其他实体间关系的信息。
知识库K由一组实体E、一组关系R和一组事实构成。给定问题q,其答案为o。假设且实体s和关系r被问题q显式或隐式地提及,目标是确定s和r,从而利用<s,r,?>查询F,返回结果作为答案。所以,在确定信息对后,即可确定对应的答案。
S12:查询经训练的嵌入表得到的所述目标问题和所述候选信息对应的各字母的嵌入位置数据、各单词的嵌入位置数据以及各词组的嵌入位置数据;
嵌入位置数据,嵌入位置数据可以包含了各字母、单词和词组的嵌入表示,具体的,可以包括字母、单词、词组的嵌入序列,嵌入序列中包括字母、单词、词组的向量数据或其他可表征嵌入位置的数据;嵌入位置数据也可包括嵌入的向量数据或其他可表征嵌入位置的数据而不形成序列。
嵌入表,可以包含问题的字母、单词、词组及其对应的嵌入位置数据,以及信息对的字母、单词、词组及其对应的嵌入位置数据。
S13:根据各嵌入位置数据,计算所述目标问题与各候选信息对的匹配程度得分;匹配程度,可以理解为表征目标问题与候选信息对之间匹配程度的任意数值。
S14:根据所述目标问题与各候选信息对的匹配程度得分,在所述候选信息对中确定目标信息对;在采用统一的匹配程度评分标准的情况下,通过该评分的数值比较,可以在候选信息对中确定目标信息对,举例中,可以采用评分最低或最高的候选信息对作为目标信息对。
S15:根据所述目标信息对查询知识库,得到所述问题对应的答案。
本实施例提供的基于知识库的问答处理方法,通过查询经训练的嵌入表得到的所述目标问题和所述候选信息对应的各字母的嵌入位置数据、各单词的嵌入位置数据以及各词组的嵌入位置数据;以及根据各嵌入位置数据,计算所述目标问题与各候选信息对的匹配程度得分,进而在所述候选信息对中确定目标信息对,本发明以包括字母粒度、单词粒度、词组粒度在内的多粒度方式实现了问答处理,提高了问答的匹配度,从而能够得到更佳的答案。
实施例2
图2是本发明一基于知识库的问答处理方法的流程示意图二;请参考图2,本实施例提供了一种基于知识库的问答处理方法,包括:
S21:根据目标问题和知识库确定候选信息对,所述信息对包括实体信息及对应的实体间关系的信息。
知识库K由一组实体E、一组关系R和一组事实构成。给定问题q,其答案为o。假设且实体s和关系r被问题q显式或隐式地提及,目标是确定s和r,从而利用<s,r,?>查询F,返回结果作为答案。所以,在确定信息对后,即可确定对应的答案。
图3是图2中步骤S21的流程示意图;请参考图3,所述根据目标问题和知识库确定候选信息对,即步骤S21,可以包括:
S211:抽取所述目标问题中的所有词串n-gram,词串n-gram可以理解为任意一个或多个连续单词;词串n-gram的长度大于等于1,小于等于所述问题的长度;若将目标问题记做q,将其视作以下单词序列:
其中,w表示单词,nq(w)表示目标问题中单词的总数量。
词串n-gram,可以理解为单个单词或多个单词的组合。
S212:确定其中的M个词串n-gram;其中,M为大于等于1的任意整数;
所述确定其中的M个词串,即步骤S212,包括:
S2121:删除所述所有词串中包含疑问代词的词串n-gram;疑问代词可以列举为:when、what、where、which、why、how。
S2122:删除作为停止词的词串n-gram;具体的,可以为仅包含一个单词的词串。
S2123:保留判断为实体名或判断为实体名一部分的词串n-gram;其他词串n-gram可删除。
S2124:在保留剩余的词串中选择长度最长的M个词串。具体的实施过程中,可以删除所有是其他词串n-gram子序列的词串n-gram,保留剩余的词串n-gram中最长的五个,即M为5。
S213:根据所述M个词串n-gram,在所述知识库中确定K个实体;其中,K为大于等于1的任意整数;所述候选信息对包括所述K个实体及对应的实体间的关系。
其中,所述根据所述M个词串,在所述知识库中确定K个实体,即步骤S213,可以包括:
对于每个词串n-gram对应的实体,保留在知识库中作为头实体出现在事实中的次数最多的L个实体,以得到所述K个实体,L可以为2;K对应的可以为L与M的乘积,具体可列举为2*5=10。
S22:根据第一预设范围的自然语言数据训练得到经训练的嵌入表;也可理解为嵌入表为根据第一预设范围的自然语言数据训练得到的。
图4是图2中步骤S22的流程示意图;请参考图4,具体过程中,步骤S22可以包括:
S221:得到未经训练的嵌入表。
具体的,可以根据需求建立嵌入表H,在嵌入表的结构中可以列举包括问题的字母内容及其嵌入位置数据、问题的单词内容及其嵌入位置数据、问题的词组内容及其嵌入位置数据、信息对的字母内容及其嵌入位置数据、信息对的单词内容及其嵌入位置数据、信息对的词组内容及其嵌入位置数据;嵌入位置数据可以列举为向量数据。每个字母、单词和词组对应一个相同维度的低维、实数化向量,可以用于表示其在语义空间中的位置。
S222:在所述第一预设范围内抽取自然语言的句子。
具体的,可以从网页中抽取大量句子,保留包含至少一个词组的句子。对于句子s和事实f,可以分别转化,然后查询嵌入表,获得嵌入序列H(s(c))、H(s(w))、H(s(p))、H(f(c))、H(f(w))和H(f(p)),以句子s的字母嵌入序列H(s(c))为例,有其中,w可以表征单词,p可以表征词组,c可以表征字母。s(w)可以理解为表征句子s中的单词,其他标识方式可以依次类推。
查询嵌入表的一种具体实施过程,可以参照以下过程理解,其也可适用于目标问题与候选信息对下对嵌入表的查询,即步骤S23中的查询,也可参照以下过程理解,故而不对其中具体的问题、信息对、字母、单词、词组等进行具体的限定,其仅为一种示例:
对于给定的问题q,可以分别将它转化为字母、单词和词组序列,即和为获得字母序列,需要将问题中的单词拆分成字母,而标点符号和空格也被视为字母;为获得单词序列,需要以空格和标点符号分割内容,保留单词,将标点符号视为单词;为获得词组序列,需要利用提前取得的词组表识别问题中的词组,将它们视为不可分割的整体,然后以空格和标点符号分割内容,保留词组,将单词和标点符号视为词组。
对于给定的信息对a,可以将它转化为字母、单词和词组序列,即和转换方式类似于给定问题的转化,但有以下不同:获得字母和单词序列时,先利用知识库API获得实体的名字,然后将实体和关系中出现的相同字母或单词加以区分,再将实体中的空格、实体与关系的分隔符和关系中的分隔符归一化为空格;获得词组序列时,将实体和关系视为词组,因此信息对对中包含2个词组。
S223:根据所抽取的句子和其中的事实,训练嵌入表;训练嵌入表,可以理解为通过对所抽取自然语言中句子的学习,确定字母、单词和词组可以是什么,以及各字母、单词和词组对应的嵌入位置数据,嵌入位置数据可以包括对应的向量。
图5是图4中步骤S223的流程示意图;请参考图5,步骤S223可以包括:
S2231:根据所抽取的句子和其中的事实,得到字母、单词和词组的内容,以及对应的嵌入位置数据;
S2232:对于得到的字母、单词和词组,根据周围字母、单词和词组以及其下层语义的字母、单词和词组分别对所述得到的字母、单词和词组进行预测;以训练所述得到的字母、单词和词组的嵌入位置数据。
S224:得到经训练的嵌入表,所述经训练的嵌入表包含问题的字母、单词、词组及其对应的嵌入位置数据,以及信息对的字母、单词、词组及其对应的嵌入位置数据。
其中,根据周围字母、单词和词组进行训练的过程可以列举包括如下:
可以建立目标函数:
参照以上举例,将其中表征字母的c替换为表征单词的w,以及表征词组的p,可以对应得到单词、词组的目标函数。为句子s的单词序列s(w)、词组序列s(p)和事实f的字母序列f(c)、单词序列f(w)建立目标函数 和
此外,由于事实f的词组序列f(p)={p1,p2,p3}上下文内容较少,需单独处理,可以建立目标函数:
根据下层语义的字母、单词和词组分别对所述得到的字母、单词和词组进行,可以列举包括如下:
其中GRU表示门控循环单元,它能够利用序列单元的语义和顺序关系抽取一个序列的语义,GRU计算过程如下:
Z=σ(WzcH(ct)+Wzhht-1+bz)
r=σ(WrcH(ct)+Wrhht-1+br)
其中z为更新门,控制分别使用多少候选状态和旧状态用于更新状态,r为重置门,控制旧状态有多少被重置以获得候选状态,为t时刻的候选状态,ht为t时刻的状态。σ和tanh分别为逻辑函数和双曲正切函数,W和b为参数矩阵和向量。
同样地,对小于频率限制的词组、知识库单词、实体和关系,它们的嵌入均有上述公式获得。例如,可以将其中表征字母的c替换为表征单词的w,以及表征词组的p,可以对应得到单词、词组的目标函数。
具体的,可以在低频内容嵌入由下一粒度嵌入组合成的基础上,使用批量梯度下降算法训练嵌入表和门控循环单元。
S23:查询经训练的嵌入表得到的所述目标问题和所述候选信息对应的各字母的嵌入位置数据、各单词的嵌入位置数据以及各词组的嵌入位置数据;
嵌入位置数据,可以包括字母、单词、词组的嵌入序列,嵌入序列中包括字母、单词、词组的向量数据或其他可表征嵌入位置的数据;嵌入位置数据也可包括嵌入的向量数据或其他可表征嵌入位置的数据而不形成序列。
嵌入表,可以包含问题的字母、单词、词组及其对应的嵌入位置数据,以及信息对的字母、单词、词组及其对应的嵌入位置数据。
S24:根据各嵌入位置数据,计算所述目标问题与各候选信息对的匹配程度得分;匹配程度,可以理解为表征目标问题与候选信息对之间匹配程度的任意数值。
图6是图2中步骤S24的流程示意图;请参考图6,所述根据各嵌入位置数据,计算所述目标问题与各候选信息对的匹配程度得分,即步骤S24,可以包括:
S241:根据所述目标问题和各候选信息对的上下文的字母、单词和词组,对于其中目标问题和各候选信息对的嵌入位置数据进行调整处理,以得到处理后的嵌入位置数据。在此之前,还可将目标问题和候选信息对分别转化为字母、单词、词组嵌入序列,即H(q(c))、H(q(w))、H(q(p))、H(a(c))、H(a(w))和H(a(p))。
其嵌入序列可理解为嵌入位置数据。
具体实施过程中,可以使用双向门控循环单元处理上述序列,使每个位置的嵌入能够突出自身语义且融合上下文语义,以以下表征为例:
其中,mi (c)可以理解为问题中字母c的处理后的嵌入位置数据;对应的nj (c)可以理解为信息对中字母c的处理后的嵌入位置数据。表征通过上文中的字母对字母c的嵌入位置数据进行调整处理后的嵌入位置数据;表征通过上文中的字母对字母c的嵌入位置数据进行调整处理后的嵌入位置数据;两者融合后,可以得到对应的mi (c)。
S242:根据所述处理后的嵌入位置数据,以及经训练的注意力模型,确定候选信息对的字母、单词和词组的注意力表达。
S243:根据各候选信息对的字母的注意力表达,确定各候选信息对的字母相对于目标问题中每个字母的重要程度。
S244:根据各候选信息对的单词的注意力表达,确定各候选信息对的单词相对于目标问题中每个单词的重要程度。
S245:根据各候选信息对的词组的注意力表达,确定各候选信息对的词组相对于目标问题中每个词组的重要程度。
S246:根据所述目标问题中的字母、单词和词组的所述处理后的嵌入位置数据,以及各重要程度,得到各候选信息对的字母相对于目标问题中字母的字母匹配程度得分。
S247:根据所述目标问题中的字母、单词和词组的所述处理后的嵌入位置数据,以及各重要程度,得到各候选信息对的单词相对于目标问题中单词的单词匹配程度得分。
S248:根据所述目标问题中的字母、单词和词组的所述处理后的嵌入位置数据,以及各重要程度,得到各候选信息对的词组相对于目标问题中词组的词组匹配程度得分。
对于以上过程,可以具体列举理解:
计算问题q每个字母、单词和词组的得分,表示问题q在相应粒度和位置上与信息对a的匹配程度。首先,使用注意力机制,计算信息对a在字母粒度上的注意力表达:
其中为信息对a在字母粒度位置上经双向门控循环单元处理后的嵌入,即处理后的嵌入位置数据。注意力机制能够根据问题内容调整对信息对内容的注意,从而最大程度地反映二者的匹配。然后,将信息对a的注意力表达和问题q在相应粒度和位置上的表达进行匹配,计算得分:
ri (c)可以理解为问题的第i个字母的字母匹配程度得分。
类似地,可以计算问题q每个字母、单词和词组的得分。需要注意的是,在单词、词组粒度上计算得分,且计算过程中采用的均为处理后的位置嵌入数据。
S249:根据所述字母匹配程度得分、单词匹配程度得分、词组匹配程度得分得到每个候选信息对的匹配程度得分。
所述根据所述字母匹配程度得分、单词匹配程度得分、词组匹配程度得分得到每个候选信息对的匹配程度得分,即步骤S249,可以包括:
对于每个候选信息对,分别通过以下过程确定其匹配程度得分:
S2491:针对目标问题中每个单词中的每个字母,根据所述字母匹配程度得分,计算每个单词中各字母的字母匹配程度得分的第一平均值。
S2492:比较目标问题中的每个单词的单词匹配程度得分与对应的所述第一平均值,取其中较大的值作为确定的单词的匹配程度得分;
后续过程中,类似地,能够对问题q所有单词执行上述过程,在不同单词上保留词或字母序列的匹配得分。对问题q包含的所有词组也执行类似过程,在不同词组上保留更好地支持问题q与信息对a匹配的粒度上的得分。
S2493:根据所述确定的单词的匹配程度得分,计算每个词组中各单词的确定的单词的匹配程度得分的第二平均值;
S2494:比较目标问题中的每个词组的词组匹配程度得分与对应的所述第二平均值,取其中较大的值作为确定的词组的匹配程度得分;
S25:根据所述目标问题与各候选信息对的匹配程度得分,在所述候选信息对中确定目标信息对;在采用统一的匹配程度评分标准的情况下,通过该评分的数值比较,可以在候选信息对中确定目标信息对,举例中,可以采用评分最低或最高的候选信息对作为目标信息对。
S26:根据所述目标信息对查询知识库,得到所述问题对应的答案。
除了以上描述,本实施例还对如何对注意力模型进行训练进行了描述。
所述注意力模型中的参数为根据给定问题、所述给定问题对应的第一信息对以及所述给定问题不对应的第二信息对训练确定,所述给定问题与第一信息对为自所述知识库获得且通过人工标注确定的。
可在知识库中抽取大量的关系对,所述关系对包括问题与信息对;关系对可以表征为:集合QA={(q1,a1),(q2,a2),...,(qn,an)},
基于以上集合,可以建立目标函数:
其中Rq表示对某问题q,任取不与它对应的信息对,数量为KQA,也可对应理解为所述第二信息对;QA可以理解为所述第一信息对。以此为目标函数,利用对应的信息对于不对应的信息对训练注意力模型的参数,可得到对应信息对情况下的匹配参数;
其中,l(q,a,a')=Max(γQA-s(q,a)+s(q,a'),0);
其通过预设的参数γQA与s(q,a)-s(q,a')的差值与0相比较,取较大值。可以理解为铰链损失函数(Hinge loss)形式,表示当正负样例得分差距大于等于某定值时,其中,可以理解为:损失为0,否则损失为该定值与正负样例得分差距之差。
具体的,可以使用批量反向传播算法训练双向门控循环单元和注意力模型。
此外,若知识库中的数据量不够,所述注意力模型中的参数为根据所述给定问题、所述给定问题对应的第一信息对和所述给定问题不对应的第二信息对,以及第二预设范围的自然语言训练确定的,所述给定问题与第一信息对为自所述知识库获得且通过人工标注确定的。
具体实施过程中,可以对从网页中抽取的大量句子进行实体链接,记录数据对,所述数据对包括句子信息以及对应的句子中的实体信息,以及句子中实体提及的起始与终止位置。
选取同时链接了两个实体且这两个实体形成事实的句子,记录对应的数据对。
以多任务学习的方式,将数据对用于双向门控循环单元和注意力模型训练,目标函数为:
交替优化LQA和LSF。
其中,s可以表征句子,f可以表征句子对应的第一事实,f'可以表征句子不对应的第二事实。
相对现有的技术而言,本发明通过综合利用问题和信息对在字母、单词和词组三个粒度上的信息,更好地揭示了问题和“实体-关系”间的关联,因而选取与问题含义更匹配的“实体-关系”对,提升了问答的准确率。
通过与文献提出的方法及本方法的简化版进行比较,可以确定我们提出的多粒度表示和匹配方法在回答准确率上具有明显的优势。实验采用的训练和测试数据集为SimpleQuestions,它包含100842个“问题-事实”对,且被划分为70%用于训练,10%用于验证,而20%用于测试;用于回答问题的知识库为FB2M和FB5M,它们分别包含2150604个实体、6701个关系、14180937条事实和4904397个实体、7523条关系和22441880条事实;用于训练多粒度表达的句子抽取自ClueWeb12数据集;用于补充训练的“句子-事实”对也抽取自ClueWeb12数据集,其中实体链接通过与ClueWeb12配套的FACC1标注数据完成。评价标准为回答准确率,计算方法是如果用于回答问题的知识库事实中的“头实体”和“关系”被正确地选出,则该问题被正确回答。
Methods | FM2M | FB5M |
Memory Networks | 62.7 | 63.9 |
Character-level QA | 70.9 | 70.3 |
CFO | N/A | 75.7 |
Ours | 79 | 78.3 |
表1
其中,表1为本发明一实施例与现有方法的回答准确率的比较。
如表1所示,在与现有方法的比较中,本方法在不同规模的知识库上均获得了最好的准确率。其中,Memory Networks文献(Bordes,A.,Chopra,S.,Usunier,N.,&Weston,J..(2015).Large-scale Simple Question Answering with Memory Networks.CoRR,abs/1506.02075)使用了问题的单词粒度和知识库的实体、关系粒度信息,Character-level QA文献(Golub D,He X.Character-Level Question Answering with Attention[J].arXivpreprint arXiv:1604.00727,2016)使用了问题和知识库的字母粒度信息,CFO文献(Dai,Z.,Li,L.,& Xu,W..(2016).CFO:Conditional Focused Neural Question Answeringwith Large-scale Knowledge Bases.CoRR,abs/1606.01994)使用了实体的类别信息。
Multi-grained | Character-level | Word-level | Phrase-level |
78.3 | 74.0 | 70.3 | 71.2 |
表2
其中,表2为一实施例中与自身简化版本的回答准确率比较。
表2进一步展示了使用不同粒度信息对回答准确率的影响。表格中的后三项为本方法的简化版,分别单独使用了字母、单词和词组粒度信息,在嵌入表的训练过程中省略了若干步骤,并将层次化匹配过程简化为单粒度匹配后求得分平均值。如表2所示,单独使用任一粒度信息,均无法达到综合使用多个粒度信息的效果。而单一粒度中,使用字母粒度效果最好,其原因是SimpleQuestions数据集中的问题,对实体的提及大多直接重复该实体的名字,而关系的种类本身较少,因而利用字母粒度信息能够达到较好的效果,但相比单独使用字母粒度,多粒度方法由于考虑了同义词和词组,能够带来显著的效果提升。单独使用单词或词组粒度,由于只能匹配同义词和词组,缺乏对相似字母序列的匹配,面对没有出现在训练集中的单词和词组效果较差。
图8是本发明一问答对数量与准确率的关系示意图;图9是本发明一句子-事实对数量与准确率的关系示意图;图10是本发明一同义问句对数量与准确率的关系示意图。图8展示了调整用于训练的问答对数量,图9展示了“句子-事实”对数量,或将“句子-事实”替换为同义问句语料后,方法的准确率变化。如图9所示,在使用“句子-事实”对的条件下,减少问答对数量对准确率的影响最初不显著,在减少至8000以下时影响变得显著,说明在使用“句子-事实”对的条件下,仅需较少的问答对就能获得较好的训练效果。而变化“句子-事实”对的数量,或将“句子-事实”对替换为同义问句并改变其数量,可以看到同义问句带来的效果并不如“句子-事实”对显著,由于同义问句能够应对问题的用语变化性,说明只解决用语变化性问题还不够,需要将多粒度和“句子-事实”对结合,在解决用语变化性的同时,提升了可回答问题的覆盖率从而提升准确率。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (9)
1.一种基于知识库的问答处理方法,其特征在于,包括:
根据目标问题和知识库确定候选信息对,所述信息对包括实体的信息及所述实体与其他实体间关系的信息;
查询经训练的嵌入表得到的所述目标问题和所述候选信息对应的各字母的嵌入位置数据、各单词的嵌入位置数据以及各词组的嵌入位置数据,其中,嵌入位置为所述各字母、所述各单词以及所述各词组中任一个对应的相同维度的低维、实数化向量,用于表示所述各字母、所述各单词以及所述各词组中任一个在语义空间中的位置;所述嵌入位置数据为所述各字母、所述各单词以及所述各词组中任一个的所述嵌入位置对应的数据;
根据各嵌入位置数据,计算所述目标问题与各候选信息对的匹配程度得分;
根据所述目标问题与各候选信息对的匹配程度得分,在所述候选信息对中确定目标信息对;
根据所述目标信息对查询知识库,得到所述问题对应的答案;
所述根据各嵌入位置数据,计算所述目标问题与各候选信息对的匹配程度得分,包括:
根据所述目标问题和各候选信息对的上下文的字母、单词和词组,对于其中目标问题和各候选信息对的嵌入位置数据进行调整处理,以得到处理后的嵌入位置数据;
根据所述处理后的嵌入位置数据,以及经训练的注意力模型,确定候选信息对的字母、单词和词组的注意力表达,所述注意力模型用于根据问题调整对应信息对的注意以反映所述问题和所述信息对之间的匹配度;
所述根据所述处理后的嵌入位置数据,以及经训练的注意力模型,确定候选信息对的字母、单词和词组的注意力表达,包括:
根据所述目标问题中的所述字母、所述单词以及所述词组中任一个处理后的嵌入位置数据和所述候选信息对中的所述字母、所述单词以及所述词组中对应的一个处理后的嵌入位置数据,以及基于所述注意力模型的训练确定出的模型常数,应用预设的注意力表达公式计算得到所述候选信息对中的所述字母、所述单词以及所述词组中任一个的注意力表达;
根据各候选信息对的字母的注意力表达,确定各候选信息对的字母相对于目标问题中每个字母的重要程度;根据各候选信息对的单词的注意力表达,确定各候选信息对的单词相对于目标问题中每个单词的重要程度;以及:根据各候选信息对的词组的注意力表达,确定各候选信息对的词组相对于目标问题中每个词组的重要程度;
根据所述目标问题中的字母、单词和词组的所述处理后的嵌入位置数据,以及各重要程度,得到:各候选信息对的字母相对于目标问题中字母的字母匹配程度得分;各候选信息对的单词相对于目标问题中单词的单词匹配程度得分;以及各候选信息对的词组相对于目标问题中词组的词组匹配程度得分;
根据所述字母匹配程度得分、单词匹配程度得分、词组匹配程度得分得到每个候选信息对的匹配程度得分。
2.根据权利要求1所述的方法,其特征在于,所述根据目标问题和知识库确定候选信息对,包括:
抽取所述目标问题中的所有词串,词串的长度大于等于1,小于等于所述问题的长度;
确定其中的M个词串;其中,M为大于等于1的任意整数;
根据所述M个词串,在所述知识库中确定K个实体;其中,K为大于等于1的任意整数;
所述候选信息对包括所述K个实体及对应的实体间的关系。
3.根据权利要求2所述的方法,其特征在于,所述确定其中的M个词串,包括:
删除所述所有词串中包含疑问代词的词串;
删除作为停止词的词串;
保留判断为实体名或判断为实体名一部分的词串;
在保留剩余的词串中选择长度最长的M个词串。
4.根据权利要求2所述的方法,其特征在于,所述根据所述M个词串,在所述知识库中确定K个实体,包括:
对于每个词串对应的实体,保留在知识库中作为头实体出现在事实中的次数最多的L个实体,以得到所述K个实体。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述嵌入表为根据第一预设范围的自然语言数据训练后得到的;
其中,根据第一预设范围的自然语言数据训练得到,包括:
得到未经训练的嵌入表;
在所述第一预设范围内抽取自然语言的句子;
根据所抽取的句子和其中的事实,训练嵌入表;
得到经训练的嵌入表,所述经训练的嵌入表包含问题的字母、单词、词组及其对应的嵌入位置数据,以及信息对的字母、单词、词组及其对应的嵌入位置数据。
6.根据权利要求5所述的方法,其特征在于,所述根据所抽取的句子和其中的事实,训练嵌入表,包括:
根据所抽取的句子和其中的事实,得到字母、单词和词组的内容,以及对应的嵌入位置数据;
对于得到的字母、单词和词组,根据周围字母、单词和词组以及其下层语义的字母、单词和词组分别对所述得到的字母、单词和词组进行预测;以训练所述得到的字母、单词和词组的嵌入位置数据。
7.根据权利要求1所述的方法,其特征在于,所述根据所述字母匹配程度得分、单词匹配程度得分、词组匹配程度得分得到每个候选信息对的匹配程度得分,包括:
对于每个候选信息对,分别通过以下过程确定其匹配程度得分:
针对目标问题中每个单词中的每个字母,根据所述字母匹配程度得分,计算每个单词中各字母的字母匹配程度得分的第一平均值;
比较目标问题中的每个单词的单词匹配程度得分与对应的所述第一平均值,取其中较大的值作为确定的单词的匹配程度得分;
根据所述确定的单词的匹配程度得分,计算每个词组中各单词的确定的单词的匹配程度得分的第二平均值;
比较目标问题中的每个词组的词组匹配程度得分与对应的所述第二平均值,取其中较大的值作为确定的词组的匹配程度得分;
根据所述确定的词组的匹配程度得分,以目标问题对应的词组的匹配程度得分的平均值作为该候选信息对的匹配程度得分。
8.根据权利要求1所述的方法,其特征在于,所述注意力模型中的参数为根据给定问题、所述给定问题对应的第一信息对以及所述给定问题不对应的第二信息对训练确定,所述给定问题与第一信息对为自所述知识库获得且通过人工标注确定的。
9.根据权利要求1所述的方法,其特征在于,所述注意力模型中的参数为根据给定问题、所述给定问题对应的第一信息对和所述给定问题不对应的第二信息对,以及第二预设范围的自然语言训练确定的,所述给定问题与第一信息对为自所述知识库获得且通过人工标注确定的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711111378.9A CN107798126B (zh) | 2017-11-13 | 2017-11-13 | 基于知识库的问答处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711111378.9A CN107798126B (zh) | 2017-11-13 | 2017-11-13 | 基于知识库的问答处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107798126A CN107798126A (zh) | 2018-03-13 |
CN107798126B true CN107798126B (zh) | 2021-11-02 |
Family
ID=61535936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711111378.9A Active CN107798126B (zh) | 2017-11-13 | 2017-11-13 | 基于知识库的问答处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107798126B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108364066B (zh) * | 2017-11-30 | 2019-11-08 | 中国科学院计算技术研究所 | 基于n-gram和wfst模型的人工神经网络芯片及其应用方法 |
CN109002434A (zh) * | 2018-05-31 | 2018-12-14 | 青岛理工大学 | 客服问答匹配方法、服务器及存储介质 |
CN109271504B (zh) * | 2018-11-07 | 2021-06-25 | 爱因互动科技发展(北京)有限公司 | 基于知识图谱的推理对话的方法 |
US11727243B2 (en) * | 2019-01-30 | 2023-08-15 | Baidu Usa Llc | Knowledge-graph-embedding-based question answering |
CN110096567B (zh) * | 2019-03-14 | 2020-12-25 | 中国科学院自动化研究所 | 基于qa知识库推理的多轮对话回复选择方法、*** |
US10991365B2 (en) * | 2019-04-08 | 2021-04-27 | Microsoft Technology Licensing, Llc | Automated speech recognition confidence classifier |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101499277A (zh) * | 2008-07-25 | 2009-08-05 | 中国科学院计算技术研究所 | 一种服务智能导航方法和*** |
CN101986293A (zh) * | 2010-09-03 | 2011-03-16 | 百度在线网络技术(北京)有限公司 | 用于在搜索界面中呈现搜索答案信息的方法及设备 |
CN105786871A (zh) * | 2014-12-23 | 2016-07-20 | 北京奇虎科技有限公司 | 基于搜索词的问答类搜索结果呈现方法和装置 |
-
2017
- 2017-11-13 CN CN201711111378.9A patent/CN107798126B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101499277A (zh) * | 2008-07-25 | 2009-08-05 | 中国科学院计算技术研究所 | 一种服务智能导航方法和*** |
CN101986293A (zh) * | 2010-09-03 | 2011-03-16 | 百度在线网络技术(北京)有限公司 | 用于在搜索界面中呈现搜索答案信息的方法及设备 |
CN105786871A (zh) * | 2014-12-23 | 2016-07-20 | 北京奇虎科技有限公司 | 基于搜索词的问答类搜索结果呈现方法和装置 |
Non-Patent Citations (1)
Title |
---|
周博通 等.基于LSTM 的大规模知识库自动问答.《北京大学学报(自然科学版)》.2017,第54卷(第2期), * |
Also Published As
Publication number | Publication date |
---|---|
CN107798126A (zh) | 2018-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107798126B (zh) | 基于知识库的问答处理方法 | |
US10255275B2 (en) | Method and system for generation of candidate translations | |
JP7164701B2 (ja) | セマンティックテキストデータをタグとマッチングさせる方法、装置、及び命令を格納するコンピュータ読み取り可能な記憶媒体 | |
US6684201B1 (en) | Linguistic disambiguation system and method using string-based pattern training to learn to resolve ambiguity sites | |
CN103154936B (zh) | 用于自动化文本校正的方法和*** | |
US20190317986A1 (en) | Annotated text data expanding method, annotated text data expanding computer-readable storage medium, annotated text data expanding device, and text classification model training method | |
CN107180026B (zh) | 一种基于词嵌入语义映射的事件短语学习方法及装置 | |
Banerjee et al. | WikiWrite: Generating Wikipedia Articles Automatically. | |
CN109615001B (zh) | 一种识别相似文章的方法和装置 | |
Chen et al. | Automatic key term extraction from spoken course lectures using branching entropy and prosodic/semantic features | |
CN113239666B (zh) | 一种文本相似度计算方法及*** | |
CN111859961A (zh) | 一种基于改进TopicRank算法的文本关键词抽取方法 | |
CN113553806A (zh) | 文本数据增强方法、装置、设备和介质 | |
KR101646461B1 (ko) | 딥 러닝을 이용한 한국어 의존 구문 분석 방법 | |
CN117251524A (zh) | 一种基于多策略融合的短文本分类方法 | |
Shams | Semi-supervised classification for natural language processing | |
Nallapati et al. | Sengen: Sentence generating neural variational topic model | |
Asadi et al. | Real-Time Presentation Tracking Using Semantic Keyword Spotting. | |
CN113051886B (zh) | 一种试题查重方法、装置、存储介质及设备 | |
JP5542732B2 (ja) | データ抽出装置、データ抽出方法、及びそのプログラム | |
CN114896382A (zh) | 人工智能问答模型生成方法、问答方法、装置及存储介质 | |
CN110442863B (zh) | 一种短文本语义相似度计算方法及其***、介质 | |
JP5342574B2 (ja) | トピックモデリング装置、トピックモデリング方法、及びプログラム | |
CN114036956A (zh) | 一种旅游知识语义分析方法及装置 | |
CN108829659B (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 |