一种基于自然语言实体关系的智能问答推理方法和系统

文档序号:27914370发布日期:2021-12-11 10:15阅读:97来源:国知局
一种基于自然语言实体关系的智能问答推理方法和系统

1.本发明属于自然语言处理领域,更具体地,涉及一种基于自然语言实体关系的智能问答推理方法和系统。


背景技术:

2.随着信息化产业的蓬勃飞速发展,人们对于各个领域的信息搜索和分析的需求也是与日俱增。面对互联网每日以惊人速度增长的信息和内容,如何从这些爆炸的信息中快速检索出人们想要的东西也变得愈发重要和迫切。这里面涉及到查询时的易用度和精准度的权衡:一方面,虽然可以设计和使用结构化的查询语言来精准描述自己的目标并快速获取到想要的结果,但是掌握并灵活地应用这些专业查询语言会使得学习成本陡然上升,因此并不适用于一般的用户和从业者;另一方面,使用常用的搜索引擎,人们可以用自然语言描述自己的问题并获取结果,这种检索方式简单且符合人类逻辑,但搜索引擎返回的结果往往是纷繁复杂、眼花缭乱的,包含很多冗余和错误的页面,要求查询者自己去遴选甄别出所需要的特定信息,这无疑增加了使用者的负担;更进一步的,由于用户检索时使用的是自然语言,这里面通常包含着复杂的语义内涵以及隐去了的常识性背景知识,而主流的搜索引擎一般都是基于关键词来完成内容检索任务,这进一步降低了搜索结果的准确率和召回率。
3.因此,一个理想的检索系统应该能同时具备简单易用和精准结果两个特性,而这正是智能问答系统所具备和要解决的。智能问答系统能够接受用户以自然语言输入的提问和描述,经过分析和推理后给出一个准确而简明的答案,而非冗杂的网页以供用户甄选,所以智能问答系统是比搜索引擎更为高效和易用的,也越来越受到多方的关注。此外在构建问答系统时需要额外的信息数据库提供问答决策支持。近年来一些产品化的问答系统也应运而生,例如apple公司的siri助手、google公司的google now应用。智能问答利用自然语言处理(nlp)技术,能够充分理解用户提交的查询语句,深入挖掘其中信息之间的语义联系,然后更为精确地返还给用户理想的结果。
4.在这其中,语料库的构建和决策推理信息的生成也面临着一些问题和挑战:通常的语料信息库是搜集自各种网页文本,然后进行数据清洗和结构化处理,例如处理为典型的rdf三元组结构。高度结构化的语料库在结点检索时较方便,也有利于自动推理,但是其缺点是难以大规模生成和保持数据时效性的更新,且面对复杂语义的自然语言时不能够很好的采样出一个连接密集的网络化结构数据,特别是面对实际需求时更是捉襟见肘,面对这些巨量的数据也变得越来越不现实。由此推广至其他有类似需求的行业也是一样的,故而相关行业从业者也迫切希望能够借助人工智能技术来构建领域高效智能的信息处理系统以便能够把握行业动态、增加自己的竞争能力。


技术实现要素:

5.针对现有技术的缺陷和改进需求,本发明提供了一种基于自然语言实体关系的智
能问答推理方法和系统,其目的在于将海量的文本数据直接作为数据源,从其中自动生成问题相关的、基于自然语言实体连接关系的决策数据,并交由智能问答系统进行推理和给出准确结果。
6.为实现上述目的,按照本发明的第一方面,提供了一种基于自然语言实体关系的智能问答推理方法,所述方法包括:
7.一、实体关系语料库构建阶段:
8.对语料库中每一条语句进行分词操作;从分词后的语句中提取实体词;
9.以提取到的实体词为基础,若两个实体出现在同一自然语句中,则该条自然语句作为连接这两个实体的边,构成实体关系;对语料库中实体连接关系进行汇总,形成实体关系语料库;
10.二、训练阶段:
11.构建智能推理深度学习模型,所述智能推理深度学习模型包括:bert模型,用于对实体连接关系数据进行词向量编码,并对图结构本身进行信息的编码融合,这些数据转换为向量结构后发送至图神经网络;图神经网络,用于对向量结构进行学习,根据语言信息本身进行理解完成推理,并给出最终的答案;
12.使用mask遮盖机制将文本随机遮蔽掉部分内容,通过文章上下文来预测被遮盖的词是什么,依次初步训练bert模型相应的参数;从语料库中随机选取几万条连续的句子对和不连续的句子对组成两个集合,让bert去识别预测那些句子对是连续的而那些不是,得到预训练好的bert模型;采用训练样本集训练图神经网络,训练样本包括问题、答案以及若干反例;
13.三、应用阶段:
14.对输入的问题语句进行分词和实体词提取,得到问题实体词;从实体关系语料库中获得问题相关的实体连接关系图;以问题相关的实体连接关系图作为推理决策数据,输入智能推理深度学习模型进行推理,将评分最高的结点作为最终答案结点的输出。
15.优选地,所述从分词后的语句中提取实体词,包括:
16.s16:给定已经分好词的句子s={w1,w2,w3,...,w
n
},按照n

gram算法收集可能出现的实体词(w1),(w2),...,(w
n
)、(w1w2),(w2w3),...,(w
n
‑1w
n
)、
……
、(w1w2w3...w
n
);
17.s17:计算实体的识别概率为pr(w)=anchor(w)/freq(w),若pr(w)低于选取实体识别概率阈值γ
ed
,则筛除,其中,w表示n

gram词,freq(w)表示w在整个语料库中出现的频数;anchor(w)表示w在整个语料库中以锚点形式出现的频数;
18.s18:计算句子中其他词汇w2对实体的支持程度其中,pr(e'|w2)是先验概率,entity(w)表示词汇w所有可能指向的实体集合,表示两个实体的关联度,n
p
(w2)表示所有包含实体w2的页面的集合的元素个数;
19.s19:对于计算w
k
与其可能的实体词的匹配契合程度分数为其中,w
k
表示句子s提取到的锚点集合中的词汇,entity(w
k
)表示w
k
对应的所有可能的实体集合;
20.s110:词汇最终对应的实体为其中,entity(s)表示句子s最终对应的实体集合,γ1表示约束实体的先验概率的阈值,γ2表示筛选掉较低分数的阈值。
21.有益效果:本发明设计了中文语句的实体提取方法。通过实体提取算法可以从中文语句中提炼出有效的实体,为后续任务打下基础,并使得在推理时深层次挖掘实体之间的联系变得可行。
22.优选地,两个实体的关联度为
[0023][0024]
其中,n
p
=|∪
w
pages(w)|表示语料库中所有页面的总数。
[0025]
优选地,对得到的实体进一步筛选,具体如下:
[0026]
(1)分别计算实体识别概率pr(e)以及所度量的实体与句子间的关联度r(e,s):
[0027][0028]
(2)取二者的算术平均数作为最终筛选的指标
[0029]
(3)若表示阈值,则筛去,得到实体集合
[0030]
优选地,所述形成实体关系包括:
[0031]
s21:对任意a
p
∈a以及对任意e
q
∈e,a={a1,a2,...,a
k
}表示经检索后与这些实体有关联的可能的答案实体集合,e={e1,e2,...,e
n
}表示提取到的实体词集合,从语料库中包含二者联系的所有句子作为两个实体连接的关系,则得到集合其中,|s
p,q
|=n
p,q
,n
p,q
表示句子的个数;
[0032]
s22:当但时,依然认为是有效的实体关系,对e
q
也是同理,其中,表示设e
p
对应的文档;
[0033]
s23:将语料库包含的所有实体e及其连接的边v,以及边上的自然语言语句s共同存入语义网络数据库中,构成图结构g=(e,v,s)。
[0034]
有益效果:本发明设计了基于自然语言实体连接关系的生成方法,避免了前期对文本的结构化处理,使得数据来源变得更加广泛,以及不依赖于前期人工标注数据,使得后续的问答系统能够应对复杂查询问题成为了可能。
[0035]
优选地,所述问题相关的实体连接关系图的获得方式包括:
[0036]
s34:分析问题q可能包含的实体得到集合e
q
={e1,e2,...,e
n
};
[0037]
s35:在语义网络数据库g中寻找与之有边连接的其他实体e
i

[0038]
s36:查询后得到与问题q相关的其他实体集合二者的并集构成问题相关的实体连接关系图结点e
q

e
q
∪e
other
,此外,与它们直接的连接边v
q
以及边上关联的
自然语言语句s
q
共同构成一个问题q相关的子图即实体连接关系图。
[0039]
优选地,所述输入智能推理深度学习模型进行推理,将评分最高的结点作为最终答案结点的输出:
[0040]
s410:输入的实体关系图分成问题描述q、结点词e、连接边上的自然语言句子s以及对诸结点的附加描述信息t;
[0041]
s411:将输入的数据中的q、s和t使用bert的分词器bert

tokenizer进行分词,并通过bert进行词嵌入向量编码{v1,v2,...,v
n
}=bert{w1,w2,...,w
n
};
[0042]
s412:使用门控递归循环神经网络gru单元依次对词嵌入向量进行基于注意力机制的编码操作,依次得到向量{h1,h2,...,h
n
}=gru{v1,v2,...,v
n
};
[0043]
s413:每一个输出结果h
i
,定义其注意力权重α
i
为α
i
=expwh
i
/∑
j
expwh
j
,其中,权重矩阵w通过gnn学习得到;
[0044]
s414:使用注意力机制,对所有的输出进行加权,得到最终的输出h
o
=∑
i
α
i
h
i

[0045]
s415:对于s输出采用其向量的平均值;
[0046]
s416:在参数迭代学习过程中,对问题、语句和附加信息结点的向量表示变量各自使用图卷积神经网络进行学习;
[0047]
s417:在图神经网络进过多层迭代输出后,候选节点的输出表示融合本轮和上一轮的所有的问题结点、附加信息、语句文本的信息;
[0048]
s418:经过图神经网络的若干轮操作后,得到答案候选实体结点e
c
的输出{h
c
:c∈c},使用sigmoid函数将它们映射为一个实数作为答案的概率,取最大的结果作为正确答案a:其中,score(h
c
)是通过接入一个多层感知机来获得。
[0049]
优选地,s41中的信息具体包括:
[0050]
问题文本q:它是一段中文自然语言的描述;
[0051]
问题实体q
i
:这些是通过实体提取算法从问题文本q中提取出来的;
[0052]
反例结点f
i
:反例是与诸问题结点q
i
有关联的结点,有证据表明它们似乎也可以作为答案,但实际上并不是问题的真正答案;反例结点有助于在图神经网络训练时提供足够的信息以帮助网络模型做出正确的判断;
[0053]
答案结点a:即问题描述q的真正答案,从而e
other
={a}∪f
i
,以及e
q
=q
i
∪e
other

[0054]
自然语言句子关联e
i
:是对结点是否是问题答案的一种佐证信息,可以在推理时提供信息支持;
[0055]
附加信息t
i
:每个实体结点和候选结点都可以附带一个附加信息,用于进一步描述结点,并提供更丰富的语义信息。
[0056]
优选地,步骤s47中参数迭代时的计算过程为:
[0057]
对于顶点n,设其附加信息为t,则设顶点的向量表示是将分别输入到图卷积神经网络中进行传播计算,即第r轮迭代有其中,句子向量是多个论据向量的平均值,而问题结点n
q
的向量表示融合了本轮产生的问题向量以及与上一轮的自身输出做了
叠加,并通过图卷积神经网络做了计算;第r轮迭代完成后,得到将作点乘,并通过sigmoid函数归一化后得到一个数值p
n
,其计算方法为:以为权重,计算候选结点的第r轮迭代形式记作量化结果就是候选实体n
c
的表示。
[0058]
为实现上述目的,按照本发明的第二方面,提供了一种基于自然语言实体关系的智能问答推理系统,计算机可读存储介质和处理器;
[0059]
所述计算机可读存储介质用于存储可执行指令;
[0060]
所述处理器用于读取所述计算机可读存储介质中存储的可执行指令,执行第一方面所述的基于自然语言实体关系的智能问答推理方法。
[0061]
总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
[0062]
本发明使用bert预训练语言模型和图神经网络技术,设计基于自然语言实体连接关系的智能问答推理算法。一个良好的推理算法可以充分理解用户问题的内容并给出准确的答案。推理算法的基本思想就是给每一个可能是答案的结点进行评分然后输出最高分的作为结果。
附图说明
[0063]
图1是本发明提供的一种基于自然语言实体关系的智能问答推理方法的流程示意图;
[0064]
图2是本发明实施例中基于自然语言实体关系的语义网络数据库的生成流程示意图;
[0065]
图3是本发明实施例中学习参数迭代的流程示意图;
[0066]
图4是本发明实施例中智能问答推理模型的结构示意图。
具体实施方式
[0067]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0068]
本发明提供了一种基于自然语言实体关系的智能问答推理方法,如图1所示,整个流程包括:语料库实体提取、语料库实体关系数据库生成、用户问题的分析与实体关系图生成、智能问答推理结果,具体包括:
[0069]
s1:将原始语料库中每一条语句都进行分词操作,然后利用实体提取算法进行实体词的提取;
[0070]
s2:以自然语句作为实体关联的边,形成实体关系,对语料库中实体连接关系进行收集和汇总,形成基于自然语言实体关系的语义网络数据库;
[0071]
s3:根据用户提交的问题描述,进行问题实体词提取,并从语义网络数据库中获得实体连接关系图结构;
[0072]
s4:设计基于bert预训练语言模型和图神经网络的智能推理深度学习模型;;以问题相关的实体连接图输入网络进行推理,并通过多层感知机进行结果的筛选给出最终的答案。
[0073]
进一步地,所述步骤s1中的实体提取算法步骤包括:
[0074]
s11:给定输入已经分好词的句子s={w1,w2,w3,...,w
n
},按照n

gram算法来收集可能出现的实体词(w1),(w2),...,(w
n
)、(w1w2),(w2w3),...,(w
n
‑1w
n
)、
……
、(w1w2w3...w
n
)。
[0075]
s12:设词汇w,令freq(w)表示w在整个语料库中出现的频数;anchor(w)表示w在整个语料库中以实体链接形式出现的频数,定义实体的识别概率为pr(w)=anchor(w)/freq(w),选取实体识别概率阈值γ
ed
,如果pr(w)低于γ
ed
则筛选掉。
[0076]
s13:设词汇w1的所有可能实体集合是entity(w1),定义句子中其他词汇w2对实体的支持程度为其中,pr(e'|w2)是先验概率,表示两个实体的关联度。
[0077]
s14:设词汇w
k
,它对应的所有可能的实体集合记为entity(w
k
),对于定义w
k
与其可能的实体词的匹配契合程度分数为它是句子中其他词汇对其支持程度的和。
[0078]
s15:词汇最终对应的实体为句子s最终对应的实体集合记作entity(s)。
[0079]
如图2所示,实体关系数据库的生成具体包括:
[0080]
s21:设通过对语料库中语句s进行实体提后得到实体集合e={e1,e2,...,e
n
}。
[0081]
s22:对任意e
p
∈e以及对任意e
q
∈e,从语料库中包含二者联系的任何句子作为两个实体连接的关系。
[0082]
s23:设这样的句子共有n
p,q
个,则其中,|s
p,q
|=n
p,q

[0083]
s24:此外,假设e
p
对应的文档是且当但时,我们依然认为是有效的实体关系,因为此时假设隐式地包含了e
p
,对e
q
也是同理。
[0084]
s25:将语料库包含的所有实体e及其连接的边v,以及边上的自然语言语句s共同存入语义网络数据库中,形成一个图结构g=(e,v,s)。
[0085]
此外用户的问题生成实体连接关系图的步骤包括:
[0086]
s31:分析问题q可能包含的实体得到集合e
q
={e1,e2,...,e
n
}。
[0087]
s32:在语义网络数据库g中寻找与之有边连接的其他实体e
i

[0088]
s33:查询后得到与问题q相关的其他实体集合二者的并集构成问题相关的实体连接关系图结点e
q

e
q
∪e
other
,此外,与它们直接的连接边v
q
以及边上关联的自然语言语句s
q
共同构成一个问题q相关的子图即实体连接关系图;
[0089]
智能问答推理的过程如图4所示,主要包括:
[0090]
s41:输入的实体关系图可以分成问题描述q、结点词e、连接边上的自然语言句子s以及对诸结点的附加描述信息t。
[0091]
s42:将输入的数据中的q、s和t使用bert的分词器bert

tokenizer进行分词,并通过bert进行词嵌入向量编码{v1,v2,...,v
n
}=bert{w1,w2,...,w
n
},如图3所示。
[0092]
s43:使用门控递归循环神经网络gru单元依次对词嵌入向量进行基于注意力机制的编码操作,依次得到向量{h1,h2,...,h
n
}=gru{v1,v2,...,v
n
}。
[0093]
s44:每一个输出结果h
i
,定义其注意力权重α
i
为α
i
=expwh
i
/∑
j
expwh
j
,其中权重矩阵w是可以通过gnn学习得到。
[0094]
s45:使用注意力机制,我们对所有的输出进行加权,得到最终的输出h
o
=∑
i
α
i
h
i
,如图3所示。
[0095]
s46:特别地,由于两个结点直接连接的自然语言句子不止一条,因此对于s输出采用其向量的平均值。
[0096]
s47:推理模型的主体是一个图神经网络,由三部分组成:输入表示、参数学习以及结点信息融合学习;在参数迭代学习过程中,对问题、语句和附加信息结点的向量表示变量各自使用图卷积神经网络进行学习。
[0097]
s48:在图神经网络进过多层迭代输出后,候选节点的输出表示融合了本轮和上一轮的所有的问题结点、附加信息、语句文本的信息,将它们放在一起充分的予以考虑,量化结果就是候选实体n
c
的表示。
[0098]
s49:经过图神经网络的若干轮操作后,我们得到答案候选实体结点e
c
的输出{h
c
:c∈c},使用sigmoid函数将它们映射为一个实数作为答案的概率,取最大的结果作为正确答案a:其中score(h
c
)是通过接入一个多层感知机来获得。
[0099]
进一步地,所述步骤s41中:输入数据具体包括:问题文本q:它是一段中文自然语言的描述;问题实体q
i
:这些是通过实体提取算法从问题文本q中提取出来的;反例结点f
i
:反例是与诸问题结点q
i
有关联的结点,有证据表明它们似乎也可以作为答案,但实际上并不是问题的真正答案,它们有助于在图神经网络训练时提供足够的信息以帮助网络模型做出正确的判断;答案结点a:即问题描述q的真正答案;自然语言句子关联e
i
:是对结点是否是问题答案的一种佐证信息,可以在推理时提供信息支持;附加信息t
i
:每个实体结点和候选结点都可以附带一个附加信息,用于进一步描述结点,并提供更丰富的语义信息。
[0100]
所述步骤s47中参数迭代时的计算过程是,由gru模块生成的初始表示向量分别是问题文本、附加信息和自然语言句子,然而考虑到附加信息是对实体结点的说明,实体结点反应在图上就是顶点,因此对于顶点n,设其附加信息为t,则设顶点的向量表示是在这里将问题向量与附加信息相加,这样结点向量就融合了问题的语义信息。注意到这些顶点包括问题实体结点以及答案候选结点(此时包括正确答案和作为反例的错误答案),必要时使用n
q
,n
c
加以区分。
[0101]
将分别输入到图卷积神经网络中进行传播计算,即第r轮迭代有
其中句子向量是多个论据向量的平均值,而问题结点n
q
的向量表示融合了本轮产生的问题向量以及与上一轮的自身输出做了叠加,并通过图卷积神经网络做了计算。
[0102]
第r轮迭代完成后,得到了为了衡量结点n
c
是否是正确答案,我们将作点乘,并通过sigmoid函数归一化后得到一个数值p
n
,其计算方法为:其直观意义在于点乘后结果同时包含了问题和支持候选结点n
c
的句子信息,综合这些信息并量化它,于是就可以作为候选结点n
c
是正确答案的置信度或者是权重,显然权重越大表明这个结点越有可能是正确答案。然后,以为权重,就可以计算候选结点的第r轮迭代形式记作它融合了本轮和上一轮的所有的问题结点、附加信息、语句文本的信息,将它们放在一起充分的予以考虑,量化结果就是候选实体n
c
的表示。
[0103]
本发明提供了一种基于自然语言实体关系的智能问答推理系统,包括:
[0104]
语料库预处理模块:语料库文本处理的过程,包括:繁简转换、格式转换、标签记号的去除、锚点扩增以及中文分词共五个步骤,最终得到可用的分词后语料库;
[0105]
实体提取模块:利用实体提取算法进行实体词的提取,以自然语句作为实体关联的边,形成实体关系,对语料库中实体连接关系进行收集和汇总,形成基于自然语言实体关系的语义网络数据库;
[0106]
实体连接关系图生成模块:根据用户提交的问题描述,进行问题实体词提取,并从语义网络数据库中获得实体连接关系图结构;
[0107]
智能问答推理模块:根据用户的问题,将相关的实体连接图输入图神经网络进行推理发现,并通过多层感知机进行结果的筛选给出最终的答案。
[0108]
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1