问答处理方法、装置、计算机设备和可读存储介质与流程

文档序号:29067983发布日期:2022-03-01 20:05阅读:73来源:国知局
问答处理方法、装置、计算机设备和可读存储介质与流程

1.本发明涉及人工智能技术领域,尤其涉及一种问答处理方法、装置、计算机设备和可读存储介质。


背景技术:

2.基于文档的问答(machine reading comprehension question answering,mrcqa)是指给定文档库,通过理解用户的问题,从文档中找到能够回答用户问题的答案的过程。这里进行mrcqa处理的前提是答案在文档中可以明确找到,且最好是一个连续的片段,基于文档的问答处理方法通常用来解决能从大量无结构化文本中寻找到问题的答案。
3.目前,针对问答处理方法,通常采用机器学习模型进行处理,其中,机器学习模型是一个由简单函数组成的复杂的函数,建立在问答处理方法中使用的机器学习模型时,通常先设计一个机器学习模型的架构,然后用计算机从给定的问答训练数据中训练得到架构的参数,这些参数保证训练得到的机器学习模型能够在实际问答处理过程中达到设计预期的效果,并且具有泛化能力。发明人对此研究发现,由于问答处理方法中使用的机器学习模型的参数数量非常庞大,在训练过程中容易出现过拟合的现象,进而使得得到的机器学习模型并不能准确的进行问答处理,从而造成问答处理方法准确率低的技术问题。
4.因此,如何提升问答处理方法准确率,成为本领域亟需解决的技术问题。


技术实现要素:

5.本发明的目的是提供一种问答处理方法、装置、计算机设备和可读存储介质,用于解决现有技术中的上述技术问题。
6.一方面,为实现上述目的,本发明提供了一种问答处理方法。
7.该问答处理方法包括:获取目标文档的问题部分和内容部分,其中,所述内容部分包括至少两个文本块;根据所述问题部分和所述内容部分构建初始输入向量;将所述初始输入向量输入至预设的问答机器模型,其中,所述问答机器模型包括预训练模型层、注意力模型层和最终输出层,所述预训练模型层用于对输入的所述初始输入向量处理后得到第一词向量,并输出至所述注意力模型层和所述最终输出层,所述注意力模型层用于对输入的所述第一词向量处理后得到第二词向量,并输出至所述最终输出层,所述第二词向量用于表征第一词语对所述第一词语所在文本块中其他词语的注意力大小,所述第一词语为所述内容部分的一个词语,所述最终输出层用于根据所述第一词向量和所述第二词向量输出问答结果信息;以及根据所述问答结果信息确定所述内容部分是否包括所述问题部分对应的答案和所述答案在所述内容部分中的位置。
8.进一步地,所述文本块为一个段落或一个句子。
9.进一步地,所述第二词向量还用于表征所述第一词语对所述问题部分中词语的注意力大小。
10.进一步地,所述注意力模型层采用以下步骤根据所述第一词向量计算所述第二词
向量:将所述第一词向量输入第一全连接函数得到第一向量;将所述第一词向量输入第二全连接函数得到第二向量;将所述第一词向量输入第三全连接函数得到第三向量,其中,所述第一全连接函数、所述第二全连接函数和所述第三全连接函数分别为所述注意力模型层中不同的全连接函数;根据所述问题部分和所述文本块构建注意力矩阵;根据所述第一向量、所述第二向量、所述第三向量和所述注意力矩阵计算所述第二词向量。
11.进一步地,采用以下公式计算所述第二词向量:
12.h

=[h
′1,h
′2,...,h
′a]=l(c(w1,w2,...,wn))
[0013]
wi=a
ivi
[0014][0015]
v=[v1,v2,...,vn]=l1(h)
[0016]
q=[q1,q2,...,qn]=l2(h)
[0017]
k=[k1,k2,

,kn]=l3(h)
[0018]
h=[h
l
,h2,

,hn],
[0019]
采用以下公式计算所述最终输出层的输入:
[0020][0021][0022]
其中,h

为所述第二词向量,n为所述初始输入向量的处理阈值,c为拼接函数,l为全连接函数,v为所述第一向量,l1为所述第一全连接函数,h为所述第一词向量,s为归一化函数,m为所述注意力矩阵,q为所述第二向量,l2为所述第二全连接函数,k为所述第三向量,l3为所述第三全连接函数,dk为归一化常量,i=1,2,

n,为所述最终输出层的输入,α为预设权重。
[0023]
进一步地,根据所述问题部分和所述文本块构建注意力矩阵的步骤包括:构建n*n的矩阵m0;构建对应问题标志位的问题标志矩阵,并将所述问题标志矩阵设置为所述矩阵m0的第一个矩阵块,其中,所述第一个矩阵块为1*1的矩阵;构建对应所述问题部分的问题矩阵,并将所述问题矩阵设置为所述矩阵m0的第二个矩阵块,其中,所述第二个矩阵块为qu*qu的矩阵,qu为所述问题部分中词语的数量;构建对应所述内容起始标志位的内容起始标志矩阵,并将所述内容起始标志矩阵设置为所述矩阵m0的第三个矩阵块,其中,所述第三个矩阵块为1*1的矩阵;构建对应所述文本块的文本矩阵,并将所述文本矩阵设置为所述矩阵m0的第四个矩阵块,其中,所述第四个矩阵块为an*an的矩阵,an为所述文本块中词语的数量;构建对应所述内容终止标志位的内容终止标志矩阵,并将所述内容终止标志矩阵设置为所述矩阵m0的第五个矩阵块,其中,所述第三个矩阵块为1*1的矩阵,其中,所述第一个矩阵块至所述第五个矩阵块中元素均为1,且所述第一个矩阵块至所述第五个矩阵块在所述矩阵m0的行方向上依次设置;设置所述矩阵m0中与所述第二个矩阵块位于相同列且与所述第四个矩阵块位于相同行的元素为1;设置所述矩阵m0中其他位置的元素均为0。
[0024]
进一步地,所述问答结果信息包括第一概率,第二概率向量和第三概率向量,其中,所述第一概率为所述内容部分包括所述答案的概率,所述第二概率向量包括所述内容部分的每个词语为所述答案起始词语的概率,所述第三概率向量包括所述内容部分的每个
词语为所述答案终止词语的概率,根据所述问答结果信息确定所述内容部分是否包括所述问题部分对应的答案和所述答案在所述内容部分中的位置的步骤包括:判断所述第一概率是否大于预设概率阈值,且当所述第一概率大于所述预设概率阈值时,所述内容部分包括所述答案;获取所述第二概率向量中的最大概率值所对应的词语,作为所述答案的起始词语;获取所述第三概率向量中的最大概率值所对应的词语,作为所述答案的终止词语;获取所述起始词语和所述终止词语之间的部分,得到所述答案。
[0025]
另一方面,为实现上述目的,本发明提供了一种问答处理装置。
[0026]
该问答处理装置包括:获取模块,用于获取目标文档的问题部分和内容部分,其中,所述内容部分包括至少两个文本块;处理模块,用于根据所述问题部分和所述内容部分构建初始输入向量;输入模块,用于将所述初始输入向量输入至预设的问答机器模型,其中,所述问答机器模型包括预训练模型层、注意力模型层和最终输出层,所述预训练模型层用于对输入的所述初始输入向量处理后得到第一词向量,并输出至所述注意力模型层和所述最终输出层,所述注意力模型层用于对输入的所述第一词向量处理后得到第二词向量,并输出至所述最终输出层,所述第二词向量用于表征第一词语对所述第一词语所在文本块中其他词语的注意力大小,所述第一词语为所述内容部分的一个词语,所述最终输出层用于根据所述第一词向量和所述第二词向量输出问答结果信息;以及确定模块,用于根据所述问答结果信息确定所述内容部分是否包括所述问题部分对应的答案和所述答案在所述内容部分中的位置。
[0027]
为实现上述目的,本发明还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。
[0028]
为实现上述目的,本发明还提供计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
[0029]
本发明提供的问答处理方法、装置、计算机设备和可读存储介质,预设问答机器模型,问答机器模型包括预训练模型层、注意力模型层和最终输出层,在获取到目标文档的问题部分和内容部分时,将根据该问题部分和内容部分构建的初始输入向量输入至问答机器模型后,预训练模型层对初始输入向量进行处理而得到第一词向量,并将第一词向量输出至注意力模型层和最终输出层,注意力模型层对第一词向量进行处理而得到第二词向量,并将第二词向量输出至最终输出层,最终输出层根据第一词向量和第二词向量输出问答结果信息,最终输出层的输出也即问答机器模型的输出,最后根据问答结果信息来确定目标文档的内容部分是否包括问题部分对应的答案,以及当包括答案时,该答案在内容部分中的位置。其中,作为本发明重要的发明点,内容部分包括至少两个文本块,第二词向量表征的是词语对其所在文本块中其他词语的注意力大小,也即,对内容部分进行了分块,通过注意力模型层将注意力参数约束在一个文本块中,与现有技术中注意力计算范围是整体文本相比,本发明有效减少问答机器模型的参数,减少问答机器模型训练过程的过拟合,有利于得到准确的问答机器模型,提升问答机器模型的准确性,也即提升问答处理方法准确率。
附图说明
[0030]
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通
技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0031]
图1为本发明实施例一提供的问答处理方法的流程图;
[0032]
图2为本发明实施例一提供的问答处理方法中注意力矩阵的示意图;
[0033]
图3为本发明实施例二提供的问答处理装置的框图;
[0034]
图4为本发明实施例三提供的计算机设备的硬件结构图。
具体实施方式
[0035]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0036]
为了提升问答处理准确率,发明人对现有技术中用于问答处理的机器学习模型进行了如下的研究:现有技术在问答处理中通常采用基于注意力的神经网络模型,其中,注意力的计算范围是文档的内容部分的整体文本,而实际上,当文本中两个词语之间的距离较远时,一个词语对另一个词语的注意力会非常小,如果减小注意力的计算范围,也即缩小注意力针对的两个词语之间的距离,会减少神经网络模型的参数,从而也就减小了训练过程中的过拟合,进而提升神经网络模型的准确性,提升问答处理方法准确率。
[0037]
基于此,本发明提出了一种问答处理方法、装置、计算机设备和可读存储介质,在本发明提供的问题处理方法中,首先获取目标文档的问题部分和内容部分,该内容部分包括至少两个文本块,然后根据问题部分和内容部分构建初始输入向量,将初始输入向量输入至预设的问答机器模型,最后根据问答机器模型的输出向量,也即问答结果信息,确定内容部分是否包括问题部分对应的答案和答案在内容部分中的位置,其中,问答机器模型包括预训练模型层、注意力模型层和最终输出层,预训练模型层的输入包括初始输入向量,预训练模型层的输出包括第一词向量,预训练模型层用于对初始输入向量处理后得到第一词向量,注意力模型层的输入包括第一词向量,注意力模型层的输出包括第二词向量,注意力模型层用于对第一词向量处理后得到第二词向量,最终输出层的输入包括第一词向量和第二词向量,最终输出层用于根据第一词向量和第二词向量输出问答结果信息,最终输出层输出的问答结果信息也即问答机器模型的输出向量,根据问答结果信息可确定内容部分是否包括问题部分对应的答案和答案在内容部分中的位置。其中,注意力模型层输出的第二词向量用于表征的是一个词语对该词语所在文本块中其他词语的注意力大小,也即,将注意力参数约束在一个文本块中,从而能够有效减少参数,减少过拟合,同时将注意力重点放到文本块内部,提升神经网络模型的准确性,提升问答处理方法准确率。
[0038]
关于本发明提供的问答处理方法、装置、计算机设备和可读存储介质的具体实施例,将在下文中详细描述。
[0039]
实施例一
[0040]
本发明实施例提供了一种问答处理方法,通过该方法,能够提升问答处理的准确性,具体地,图1为本发明实施例一提供的问答处理方法的流程图,如图1所示,该实施例提供的问答处理方法包括如下的步骤s101至步骤s104。
[0041]
步骤s101:获取目标文档的问题部分和内容部分。
[0042]
其中,目标文档可以为用于阅读理解的文本,内容部分包括至少两个文本块。内容部分包括的各个文本块的词语数量可以相同,也可以不同,例如,内容部分为一个文档时,可以根据文档的逻辑架构划分文本块,例如文档的一个章、一个节、一个段落或者一个句子,均可以作为一个文本块。或者,可以对文档进行自然语义分析,将语义关联性强的部分作为一个文本块。
[0043]
步骤s102:根据问题部分和内容部分构建初始输入向量。
[0044]
具体地,对问题部分和内容部分分别进行分词,将每个词语作为初始输入向量的一个维度,同时,在问题部分的词语之前、问题部分的词语和内容部分的词语之间,以及内容部分的词语之后,分别设置标志位。
[0045]
例如,根据问题部分和内容部分构建的初始输入向量为:[cls]+question+[sep]+context+[sep],其中,[cls]、[sep]和[sep]均为标志位,question包括的是问题部分的词语,context包括的是内容部分的词语。
[0046]
步骤s103:将初始输入向量输入至预设的问答机器模型。
[0047]
其中,问答机器模型包括预训练模型层、注意力模型层和最终输出层。
[0048]
预训练模型层的输入包括初始输入向量,预训练模型层的输出包括第一词向量,预训练模型层用于对输入的初始输入向量处理后得到第一词向量,并输出至注意力模型层和最终输出层。
[0049]
注意力模型层的输入包括第一词向量,注意力模型层的输出包括第二词向量,第二词向量用于表征第一词语对第一词语所在文本块中其他词语的注意力大小,第一词语为内容部分的一个词语,注意力模型层用于对输入的第一词向量处理后得到第二词向量,并输出至最终输出层。
[0050]
最终输出层的输入包括第一词向量和第二词向量,最终输出层用于根据第一词向量和第二词向量输出问答结果信息。
[0051]
具体而言,问答机器模型的输入也即预训练模型层的输入,预训练模型层的输出也即注意力模型层的输入,预训练模型层的输出和注意力模型层的输出叠加后,作为最终输出层的输入,最终输出层的输出也即问答机器模型的输出。
[0052]
其中,预训练模型层将初始输入向量中的每个词语进行转换,输出每个词语对应的第一词向量,注意力模型层根据第一词向量计算每个词语对其所在文本块中其他词语的注意力大小,得到第二词向量,最终输出层根据第一词向量和第二词向量的叠加,按照文档任务的目标,输出能够表征内容部分是否包括问题部分对应的答案和答案在内容部分中的位置的问答结果信息,从而能够根据该问答结果信息确定内容部分是否包括该答案以及答案位置。
[0053]
此外,该问答机器模型需要先经过训练。在训练时,首先构建具有上述预训练模型层、注意力模型层和最终输出层的初始问答机器模型,获取训练数据,然后通过训练数据对该初始问答机器模型进行训练,以确定初始问答机器模型中参数的值,也即得到该步骤s103中所需的问答机器模型。
[0054]
具体地,训练数据包括多个训练样本,每个训练样本包括问题部分和内容部分。针对每个训练样本,首先按照上述步骤s102同样的方法,根据训练样本中的问题部分和内容
部分构建训练输入向量,然后根据在内容部分中是否包括问题部分对应的答案以及答案在内容部分中的位置,构建训练输出向量,将训练输入向量作为初始问答机器模型的输入,将训练输出向量作为初始问答机器模型的输出。通过多个训练样本对初始问答机器模型进行训练,其中,在训练过程中,可以根据梯度下降的方法确定初始问答机器模型中参数的最佳值,以确定最佳的问答机器模型。
[0055]
步骤s104:根据问答结果信息确定内容部分是否包括问题部分对应的答案和答案在内容部分中的位置。
[0056]
可选地,最终输出层的输出,也即问答结果信息,包括表征内容部分是否包括答案的概率,此概率的值大于等于0且小于等于1,且值越大,内容部分包括答案的可能性越大;最终输出层的输出还包括针对内容部分的每个词语,表征该词语为答案起始词语的概率,同样,此概率的值也大于等于0且小于等于1,且值越大,该概率对应的词语为答案起始词语的可能性越大;最终输出层的输出还包括针对内容部分的每个词语,表征该词语为答案终止词语的概率,同样,此概率的值也大于等于0且小于等于1,且值越大,该概率对应的词语为答案终止词语的可能性越大。在该步骤中,根据表征内容部分是否包括答案的概率确定内容部分是否包括问题部分对应的答案,根据每个词语为答案起始词语的概率和答案终止词语的概率,来确定答案的起始词语和终止词语。
[0057]
相应地,在训练过程中,根据在内容部分中是否包括问题部分对应的答案以及答案在内容部分中的位置构建训练输出向量时,当内容部分中包括问题部分对应的答案,表征内容部分是否包括答案的概率值为1,内容部分中作为答案起始词语所对应的表征其为答案起始词语的概率值为1,内容部分中其他词语所对应的表征其为答案起始词语的概率值为0,内容部分中作为答案终止词语所对应的表征其为答案终止词语的概率值为1,内容部分中其他词语所对应的表征其为答案终止词语的概率值为0;当内容部分中不包括问题部分对应的答案,表征内容部分是否包括答案的概率的值为0,内容部分中每个词语所对应的表征其为答案起始词语的概率和表征其为答案终止词语的概率的值均为0,完成训练输出向量的构建。
[0058]
在该实施例提供的问答处理方法中,预设问答机器模型,问答机器模型包括预训练模型层、注意力模型层和最终输出层,在获取到目标文档的问题部分和内容部分时,将根据该问题部分和内容部分构建的初始输入向量输入至问答机器模型后,预训练模型层将初始输入向量转换为第一词向量输入至注意力模型层,注意力模型层输出第二词向量,第一词向量和第二词向量叠加后输入至最终输出层,最终输出层输出的问答结果信息,也即问答机器模型的输出,可根据问答结果信息来确定目标文档的内容部分是否包括问题部分对应的答案,以及当包括答案时,该答案在内容部分中的位置。其中,作为本发明重要的发明点,内容部分包括至少两个文本块,第二词向量表征的是词语对其所在文本块中其他词语的注意力大小,也即,对内容部分进行了分块,通过注意力模型层将注意力参数约束在一个文本块中,与现有技术中注意力计算范围是整体文本相比,有效减少问答机器模型的参数,减少问答机器模型训练过程的过拟合,有利于得到准确的问答机器模型,提升问答机器模型的准确性,也即提升问答处理方法准确率。
[0059]
可选地,在一种实施例中,第二词向量还用于表征第一词语对问题部分中词语的注意力大小。
[0060]
具体而言,在该实施例中,针对每个词语,其对应的第一词向量包括该词语对问题部分和其所在文本块中词语的注意力大小,由于问题部分与答案的语义关联性较强,因此,采用该实施例提供的问答处理方法,将第二词向量设置为还用于表征词语对问题部分中词语的注意力大小,使得答案中词语对应的第一词向量和非答案中词语对应的第一词向量之间的差异增加,进而有助于提升确定答案的准确性。
[0061]
可选地,在一种实施例中,注意力模型层采用以下步骤根据第一词向量计算第二词向量:将第一词向量输入第一全连接函数得到第一向量;将第一词向量输入第二全连接函数得到第二向量;将第一词向量输入第三全连接函数得到第三向量,其中,第一全连接函数、第二全连接函数和第三全连接函数分别为注意力模型层中的不同的全连接函数;根据问题部分和文本块构建注意力矩阵;根据第一向量、第二向量、第三向量和注意力矩阵计算第二词向量。其中,需要说明的是,该处“不同的全连接函数”具体可以为相同过得函数模型且具有不同的参数值,或者也可以为不同的函数模型,本技术对此并不进行限定。
[0062]
可选地,在一种实施例中,采用以下公式计算第二词向量:
[0063]h′
=[h
′1,h
′2,...,h
′n]=l(c(w1,w2,...,wn))
[0064]
wi=a
ivi
[0065][0066]
v=[v1,v2,...,vn]=l1(h)
[0067]
q=[q1,q2,...,qn]=l2(h)
[0068]
k=[k1,k2,...,kn]=l3(h)
[0069]
h=[h1,h2,...,hn],
[0070]
采用以下公式计算最终输出层的输入:
[0071][0072][0073]
其中,h

为第二词向量,n为初始输入向量的处理阈值,c为拼接函数,l为全连接函数,v为第一向量,l1为第一全连接函数,h为第一词向量,s为归一化函数,m为注意力矩阵,q为第二向量,l2为第二全连接函数,k为第三向量,l3为第三全连接函数,dk为归一化常量,i=1,2,...n,为最终输出层的输入,α为预设权重。
[0074]
可选地,在一种实施例中,根据问题部分和文本块构建注意力矩阵的步骤包括:构建n*n的矩阵m0;构建对应问题标志位的问题标志矩阵,并将问题标志矩阵设置为矩阵m0的第一个矩阵块,其中,第一个矩阵块为1*1的矩阵;构建对应问题部分的问题矩阵,并将问题矩阵设置为矩阵m0的第二个矩阵块,其中,第二个矩阵块为qu*qu的矩阵,qu为问题部分中词语的数量;构建对应内容起始标志位的内容起始标志矩阵,并将内容起始标志矩阵设置为矩阵m0的第三个矩阵块,其中,第三个矩阵块为1*1的矩阵;构建对应文本块的文本矩阵,并将文本矩阵设置为矩阵m0的第四个矩阵块,其中,第四个矩阵块为an*an的矩阵,an为文本块中词语的数量;构建对应内容终止标志位的内容终止标志矩阵,并将内容终止标志矩阵设置为矩阵m0的第五个矩阵块,其中,第三个矩阵块为1*1的矩阵,其中,第一个矩阵块至第五个矩阵块中元素均为1,且第一个矩阵块至第五个矩阵块在矩阵m0的行方向上依次设
置;设置矩阵m0中与第二个矩阵块位于相同列且与第四个矩阵块位于相同行的元素为1;设置矩阵m0中其他位置的元素均为0,得到注意力矩阵m,通过该注意力矩阵m,能够实现将注意力参数约束在一个文本块中。
[0075]
例如,图2为本发明实施例一提供的问答处理方法中注意力矩阵的示意图,如图2所示,n=512时,在构建注意力矩阵m时,先构建512*512的方矩阵m0,然后设置方矩阵m0中每个元素的值,得到矩阵m,具体步骤如下:
[0076]
构建对应问题标志位的问题标志矩阵,该问题标志矩阵设置为矩阵m0的第一个矩阵块,第一个矩阵块为1*1的矩阵,作为方矩阵m0的第一行第一列的元素,该元素的值为1;
[0077]
构建对应问题部分的问题矩阵,该问题矩阵设置为矩阵m0的第二个矩阵块,问题部分包括20个词语,该第二个矩阵块为20*20的矩阵,设置于第一个矩阵块之后,也即作为方矩阵m0的第2行至第21行且第2列至第21列的元素,这部分元素的值设置为1;
[0078]
构建对应内容起始标志位的内容起始标志矩阵,该内容起始标志矩阵设置为矩阵m0的第三个矩阵块,第三个矩阵块为1*1的矩阵,作为方矩阵m0的第22行第22列的元素,该元素的值为1;
[0079]
构建对应各个文本块的文本矩阵,内容部分包括多个文本块时,针对每个文本块分别构建一个文本矩阵,其中,每个文本矩阵分别形成矩阵m0的第四个矩阵块,内容部分包括两个文本块,第一个文本块包括200个词语,第一个文本块对应的第四个矩阵块为200*200的矩阵,作为方矩阵m0的第23行至第222行且第23列至第222列的元素,第二个文本块包括150个词语,第二个文本块对应的第四个矩阵块为150*150的矩阵,作为方矩阵m0的第223行至第372行且第223列至第372列的元素,这部分元素的值均设置为1;
[0080]
构建对应内容终止标志位的内容终止标志矩阵,该内容终止标志矩阵设置为矩阵m0的第五个矩阵块,第五个矩阵块为1*1的矩阵,作为方矩阵m0的第373行第373列的元素,该元素的值为1;
[0081]
设置矩阵m0中的第23行至第372行且第2列至第21列的元素为1;
[0082]
设置矩阵m0中,除上述位置之外的其他位置的元素均为0,得到注意力矩阵m。
[0083]
可选地,在一种实施例中,问答结果信息包括第一概率,第二概率向量和第三概率向量,其中,第一概率为内容部分包括答案的概率,第二概率向量包括内容部分的每个词语为答案起始词语的概率,第三概率向量包括内容部分的每个词语为答案终止词语的概率,根据问答结果信息确定内容部分是否包括问题部分对应的答案和答案在内容部分中的位置的步骤包括:判断第一概率是否大于预设概率阈值,且当第一概率大于预设概率阈值时,内容部分包括答案,其中,预设概率阈值为无量纲参数,可设置为大于0.5且小于1;获取第二概率向量中的最大概率值所对应的词语,作为答案的起始词语;获取第三概率向量中的最大概率值所对应的词语,作为答案的终止词语;获取起始词语和终止词语之间的部分,得到答案。
[0084]
实施例二
[0085]
对应于上述实施例一,本发明实施例二提供了一种问答处理装置,技术特征细节和相应的技术效果描述可参考上述实施例一,该处不再赘述,图3为本发明实施例二提供的问答处理装置的框图,如图3所示,该装置包括:获取模块201、处理模块202、输入模块203和确定模块204。
[0086]
获取模块201用于获取目标文档的问题部分和内容部分,其中,内容部分包括至少两个文本块;处理模块202用于根据问题部分和内容部分构建初始输入向量;输入模块203用于将初始输入向量输入至预设的问答机器模型,其中,问答机器模型包括预训练模型层、注意力模型层和最终输出层,预训练模型层用于对输入的初始输入向量处理后得到第一词向量,并输出至注意力模型层和最终输出层,注意力模型层用于对输入的第一词向量处理后得到第二词向量,并输出至最终输出层,第二词向量用于表征第一词语对第一词语所在文本块中其他词语的注意力大小,第一词语为内容部分的一个词语,最终输出层用于根据第一词向量和第二词向量输出问答结果信息;以及确定模块204用于根据问答结果信息确定内容部分是否包括问题部分对应的答案和答案在内容部分中的位置。
[0087]
可选地,在一种实施例中,文本块为一个段落或一个句子。
[0088]
可选地,在一种实施例中,第二词向量还用于表征第一词语对问题部分中词语的注意力大小。
[0089]
可选地,在一种实施例中,注意力模型层采用以下步骤根据第一词向量计算第二词向量:将第一词向量输入第一全连接函数得到第一向量;将第一词向量输入第二全连接函数得到第二向量;将第一词向量输入第三全连接函数得到第三向量,其中,第一全连接函数、第二全连接函数和第三全连接函数分别为注意力模型层中不同的全连接函数;根据问题部分和文本块构建注意力矩阵;根据第一向量、第二向量、第三向量和注意力矩阵计算第二词向量。
[0090]
可选地,在一种实施例中,采用以下公式计算第二词向量:
[0091]h′
=[h
′1,h
′2,...,h
′n]=l(c(w1,w2,...,wn))
[0092]
wi=a
ivi
[0093][0094]
v=[v1,v2,...,vn]=l1(h)
[0095]
q=[q1,q2,...,qn]=l2(h)
[0096]
k=[k1,k2,...,kn]=l3(h)
[0097]
h=[h1,h2,...,hn],
[0098]
采用以下公式计算最终输出层的输入:
[0099][0100][0101]
其中,h

为第二词向量,n为初始输入向量的处理阈值,c为拼接函数,l为全连接函数,v为第一向量,l1为第一全连接函数,h为第一词向量,s为归一化函数,m为注意力矩阵,q为第二向量,l2为第二全连接函数,k为第三向量,l3为第三全连接函数,dk为归一化常量,i=1,2,

n,为最终输出层的输入,α为预设权重。
[0102]
可选地,在一种实施例中,根据问题部分和文本块构建注意力矩阵的步骤包括:构建n*n的矩阵m0;构建对应问题标志位的问题标志矩阵,并将问题标志矩阵设置为矩阵m0的第一个矩阵块,其中,第一个矩阵块为1*1的矩阵;构建对应问题部分的问题矩阵,并将问题矩阵设置为矩阵m0的第二个矩阵块,其中,第二个矩阵块为qu*qu的矩阵,qu为问题部分中
词语的数量;构建对应内容起始标志位的内容起始标志矩阵,并将内容起始标志矩阵设置为矩阵m0的第三个矩阵块,其中,第三个矩阵块为1*1的矩阵;构建对应文本块的文本矩阵,并将文本矩阵设置为矩阵m0的第四个矩阵块,其中,第四个矩阵块为an*an的矩阵,an为文本块中词语的数量;构建对应内容终止标志位的内容终止标志矩阵,并将内容终止标志矩阵设置为矩阵m0的第五个矩阵块,其中,第三个矩阵块为1*1的矩阵,其中,第一个矩阵块至第五个矩阵块中元素均为1,且第一个矩阵块至第五个矩阵块在矩阵m0的行方向上依次设置;设置矩阵m0中与第二个矩阵块位于相同列且与第四个矩阵块位于相同行的元素为1;设置矩阵m0中其他位置的元素均为0。
[0103]
可选地,在一种实施例中,问答结果信息包括第一概率,第二概率向量和第三概率向量,其中,第一概率为内容部分包括答案的概率,第二概率向量包括内容部分的每个词语为答案起始词语概率,第三概率向量包括内容部分的每个词语为答案终止词语的概率,确定模块204包括判断单元,第一获取单元,第二获取单元和第三获取单元,其中,判断单元用于判断第一概率是否大于预设概率阈值,且当第一概率大于预设概率阈值时,内容部分包括答案;第一获取单元用于获取第二概率向量中的最大概率值所对应的词语,作为答案的起始词语;第二获取单元用于获取第三概率向量中的最大概率值所对应的词语,作为答案的终止词语;第三获取单元用于获取起始词语和终止词语之间的部分,得到答案。
[0104]
实施例三
[0105]
本实施例三还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图4所示,本实施例的计算机设备01至少包括但不限于:可通过系统总线相互通信连接的存储器011、处理器012,如图4所示。需要指出的是,图4仅示出了具有组件存储器011和处理器012的计算机设备01,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
[0106]
本实施例中,存储器011(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器011可以是计算机设备01的内部存储单元,例如该计算机设备01的硬盘或内存。在另一些实施例中,存储器011也可以是计算机设备01的外部存储设备,例如该计算机设备01上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。当然,存储器011还可以既包括计算机设备01的内部存储单元也包括其外部存储设备。本实施例中,存储器011通常用于存储安装于计算机设备01的操作系统和各类应用软件,例如实施例二的问答处理装置的程序代码等。此外,存储器011还可以用于暂时地存储已经输出或者将要输出的各类数据。
[0107]
处理器012在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器012通常用于控制计算机设备01的总体操作。本实施例中,处理器012用于运行存储器011中存储的程序代码或者处理数据,例如问答处理方法等。
[0108]
实施例四
[0109]
本实施例四还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储
器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘、服务器、app应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储问答处理装置,被处理器执行时实现实施例一的问答处理方法。
[0110]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0111]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0112]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
[0113]
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1