智能问答召回方法、装置、计算机设备及存储介质与流程

文档序号:29696681发布日期:2022-04-16 13:14阅读:78来源:国知局
智能问答召回方法、装置、计算机设备及存储介质与流程

1.本技术涉及人工智能技术领域,尤其涉及一种智能问答召回方法、装置、计算机设备及存储介质。


背景技术:

2.智能问答系统以一问一答的形式可以对网站用户所需要的提问知识进行精确定位。通过与网站用户进行交互,智能问答系统可以为网站用户提供个性化的信息服务。智能问答系统包括相关问答推送、焦点问题自动排行、在线客服问答等方面,这些都与计算句子的相似度密切相关,根据句子相似度予以打分,完成推送回答、排序、在线回答等任务。
3.近年来,智能问答系统主要通过预训练语言模型来对语料库进行预训练,再根据具体的问答句子选择任务进行微调得以实现。然而,当前通过对预训练语言模型进行微调的方法,在保证问答匹配效率的同时,往往准确度不高;在确保问答匹配的准确率时,却又因为交叉编码的特征,无法实现高效地问答匹配。


技术实现要素:

4.本技术实施例的目的在于提出一种智能问答召回方法、装置、计算机设备及存储介质,以解决当前问答匹配系统无法在确保问答匹配的准确率的同时,提高问答召回效率的技术问题。
5.为了解决上述技术问题,本技术实施例提供一种智能问答召回方法,采用了如下所述的技术方案:
6.获取预设数据集,对所述预设数据集中的训练问题进行分词处理,得到第一词语集合,对所述预设数据集中的候选答案进行分词处理,得到第二词语集合;
7.构建基础问答模型,所述基础问答模型包括左编码层、右编码层、第一注意力层、聚合层和第二注意力层,将所述第一词语集合输入至所述基础问答模型的左编码层,编码得到第一编码向量,将所述第二词语集合输入至所述基础问答模型的右编码层,编码得到第二编码向量;
8.基于所述基础问答模型的第一注意力层对所述第一编码向量进行注意力计算,得到所述训练问题对应的问题编码向量,基于所述基础问答模型的聚合层中的聚合函数对所述第二编码向量进行计算,得到所述候选答案对应的候选答案表征向量;
9.根据所述基础问答模型的第二注意力层对所述问题编码向量和所述候选答案表征向量进行注意力计算,得到问题表征向量,计算所述问题表征向量和所述候选答案表征向量的相似度,基于所述相似度对所述基础问答模型进行训练,得到目标问答模型;
10.在接受到待处理问题时,将所述待处理问题和所述候选答案输入所述目标问答模型,得到所述待处理问题对应的目标召回语句。
11.进一步的,所述基于所述基础问答模型的第一注意力层对所述第一编码向量进行注意力计算,得到所述训练问题对应的问题编码向量,基于所述基础问答模型的聚合层中
的聚合函数对所述第二编码向量进行计算,得到所述候选答案对应的候选答案表征向量的步骤包括:
12.获取所述第一编码向量对应的枚举向量,根据所述第一编码向量和所述枚举向量进行注意力计算,得到所述问题编码向量;
13.获取预设的聚合函数,根据所述聚合函数对所述第二编码向量进行聚合,得到所述第二编码向量的候选答案表征。
14.进一步的,所述获取所述第一编码向量对应的枚举向量的步骤包括:
15.获取随机初始值和所述第一编码向量的维度;
16.从所述第一编码向量中选取所述随机初始值个数的向量作为所述枚举向量,并将所述第一编码向量的维度作为所述枚举向量的向量维度。
17.进一步的,所述构建基础问答模型的步骤包括:
18.获取预训练完成的预编码层,将所述预编码层作为所述基础问答模型的左编码层和右编码层;
19.获取预设的第一注意力函数和激活函数,根据所述第一注意力函数构建第一注意力层,根据所述激活函数构建聚合层;
20.获取第二注意力函数,根据所述第二注意力函数构建第二注意力层,组合所述左编码层、所述右编码层、所述第一注意力层、所述聚合层和所述第二注意力层为所述基础问答模型。
21.进一步的,所述获取预训练完成的预编码层的步骤包括:
22.获取在线语料库和基础预训练语言模型,根据所述在线语料库对所述基础预训练语言模型进行训练,得到目标预训练语言模型,将所述目标预训练语言模型的编码层作为所述预训练完成的预编码层。
23.进一步的,所述基于所述相似度对所述基础问答模型进行训练,得到目标问答模型的步骤包括:
24.根据所述预设训练集,获取所述训练问题与所述候选答案的匹配度标签;
25.根据所述匹配度标签和所述相似度计算所述基础问答模型的损失函数,在所述损失函数收敛时,确定所述基础问答模型训练完成,得到所述目标问答模型。
26.进一步的,所述将所述待处理问题和所述候选答案输入所述目标问答模型,得到所述待处理问题对应的目标召回语句的步骤包括:
27.将所述待处理问题拆分成由多个词语组成的词集合,根据所述目标问答模型的目标编码层对所述词集合进行编码,得到第三编码向量;
28.选取所述第三编码向量的问题枚举向量,根据所述目标问答模型中的第一注意力层对所述第三编码向量和所述问题枚举向量进行注意力计算,得到待处理编码向量;
29.获取存储的所有所述候选答案表征向量,根据所述目标问答模型中的第二注意力层对所述待处理编码向量和所述候选答案表征向量计算,得到所述待处理问题的待处理表征向量;
30.计算所述待处理表征向量和所述候选答案表征向量的目标相似度,确定最大值的目标相似度对应的候选答案为所述待处理问题的目标召回语句。
31.为了解决上述技术问题,本技术实施例还提供一种智能问答召回装置,采用了如
下所述的技术方案:
32.分词模块,用于获取预设数据集,对所述预设数据集中的训练问题进行分词处理,得到第一词语集合,对所述预设数据集中的候选答案进行分词处理,得到第二词语集合;
33.编码模块,用于构建基础问答模型,所述基础问答模型包括左编码层、右编码层、第一注意力层、聚合层和第二注意力层,将所述第一词语集合输入至所述基础问答模型的左编码层,编码得到第一编码向量,将所述第二词语集合输入至所述基础问答模型的右编码层,编码得到第二编码向量;
34.计算模块,用于基于所述基础问答模型的第一注意力层对所述第一编码向量进行注意力计算,得到所述训练问题对应的问题编码向量,基于所述基础问答模型的聚合层中的聚合函数对所述第二编码向量进行计算,得到所述候选答案对应的候选答案表征向量;
35.训练模块,用于根据所述基础问答模型的第二注意力层对所述问题编码向量和所述候选答案表征向量进行注意力计算,得到问题表征向量,计算所述问题表征向量和所述候选答案表征向量的相似度,基于所述相似度对所述基础问答模型进行训练,得到目标问答模型;
36.召回模块,用于在接受到待处理问题时,将所述待处理问题和所述候选答案输入所述目标问答模型,根据所述目标问答模型对所述待处理问题和所述候选答案进行计算,得到所述待处理问题对应的目标召回语句。
37.为了解决上述技术问题,本技术实施例还提供一种计算机设备,采用了如下所述的技术方案:
38.获取预设数据集,对所述预设数据集中的训练问题进行分词处理,得到第一词语集合,对所述预设数据集中的候选答案进行分词处理,得到第二词语集合;
39.构建基础问答模型,所述基础问答模型包括左编码层、右编码层、第一注意力层、聚合层和第二注意力层,将所述第一词语集合输入至所述基础问答模型的左编码层,编码得到第一编码向量,将所述第二词语集合输入至所述基础问答模型的右编码层,编码得到第二编码向量;
40.基于所述基础问答模型的第一注意力层对所述第一编码向量进行注意力计算,得到所述训练问题对应的问题编码向量,基于所述基础问答模型的聚合层中的聚合函数对所述第二编码向量进行计算,得到所述候选答案对应的候选答案表征向量;
41.根据所述基础问答模型的第二注意力层对所述问题编码向量和所述候选答案表征向量进行注意力计算,得到问题表征向量,计算所述问题表征向量和所述候选答案表征向量的相似度,基于所述相似度对所述基础问答模型进行训练,得到目标问答模型;
42.在接受到待处理问题时,将所述待处理问题和所述候选答案输入所述目标问答模型,得到所述待处理问题对应的目标召回语句。
43.为了解决上述技术问题,本技术实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
44.获取预设数据集,对所述预设数据集中的训练问题进行分词处理,得到第一词语集合,对所述预设数据集中的候选答案进行分词处理,得到第二词语集合;
45.构建基础问答模型,所述基础问答模型包括左编码层、右编码层、第一注意力层、聚合层和第二注意力层,将所述第一词语集合输入至所述基础问答模型的左编码层,编码
得到第一编码向量,将所述第二词语集合输入至所述基础问答模型的右编码层,编码得到第二编码向量;
46.基于所述基础问答模型的第一注意力层对所述第一编码向量进行注意力计算,得到所述训练问题对应的问题编码向量,基于所述基础问答模型的聚合层中的聚合函数对所述第二编码向量进行计算,得到所述候选答案对应的候选答案表征向量;
47.根据所述基础问答模型的第二注意力层对所述问题编码向量和所述候选答案表征向量进行注意力计算,得到问题表征向量,计算所述问题表征向量和所述候选答案表征向量的相似度,基于所述相似度对所述基础问答模型进行训练,得到目标问答模型;
48.在接受到待处理问题时,将所述待处理问题和所述候选答案输入所述目标问答模型,得到所述待处理问题对应的目标召回语句。
49.本技术提出的智能问答召回方法,通过获取预设数据集,对所述预设数据集中的训练问题进行分词处理,得到第一词语集合,对所述预设数据集中的候选答案进行分词处理,得到第二词语集合;构建基础问答模型,所述基础问答模型包括左编码层、右编码层、第一注意力层、聚合层和第二注意力层,将所述第一词语集合输入至所述基础问答模型的左编码层,编码得到第一编码向量,将所述第二词语集合输入至所述基础问答模型的右编码层,编码得到第二编码向量,使得通过编码层能够对词进行精确地表达;之后,基于所述基础问答模型的第一注意力层对所述第一编码向量进行注意力计算,得到所述训练问题对应的问题编码向量,基于所述基础问答模型的聚合层中的聚合函数对所述第二编码向量进行计算,得到所述候选答案对应的候选答案表征向量,通过注意力计算可以使得计算得到向量能够包含更多的语义信息;而后,根据所述基础问答模型的第二注意力层对所述问题编码向量和所述候选答案表征向量进行注意力计算,得到问题表征向量,计算所述问题表征向量和所述候选答案表征向量的相似度,基于所述相似度对所述基础问答模型进行训练,得到目标问答模型;在接受到待处理问题时,将所述待处理问题和所述候选答案输入所述目标问答模型,得到所述待处理问题对应的目标召回语句,由此,实现了对问答的高效召回,使得在保证问答召回的准确率的同时,降低了问答召回的时长,提高了问答召回的效率,进一步实现了机器的智能问答。
附图说明
50.为了更清楚地说明本技术中的方案,下面将对本技术实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
51.图1是本技术可以应用于其中的示例性系统架构图;
52.图2根据本技术的智能问答召回方法的一个实施例的流程图;
53.图3是根据本技术的智能问答召回装置的一个实施例的结构示意图;
54.图4是根据本技术的计算机设备的一个实施例的结构示意图。
55.附图标记:智能问答召回装置300、分词模块301、编码模块302、计算模块303、训练模块304以及召回模块305。
具体实施方式
56.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术;本技术的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本技术的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
57.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
58.为了使本技术领域的人员更好地理解本技术方案,下面将结合附图,对本技术实施例中的技术方案进行清楚、完整地描述。
59.如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
60.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
61.终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、mp3播放器(moving picture expertsgroup audio layer iii,动态影像专家压缩标准音频层面3)、mp4(moving pictureexperts group audio layer iv,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
62.服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
63.需要说明的是,本技术实施例所提供的智能问答召回方法一般由服务器/终端设备执行,相应地,智能问答召回装置一般设置于服务器/终端设备中。
64.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
65.继续参考图2,示出了根据本技术的智能问答召回的方法的一个实施例的流程图。所述的智能问答召回方法,包括以下步骤:
66.步骤s201,获取预设数据集,对所述预设数据集中的训练问题进行分词处理,得到第一词语集合,对所述预设数据集中的候选答案进行分词处理,得到第二词语集合;
67.在本实施例中,预设数据集为预先采集得到的数据组合而成的数据集,该预设数据集中包括训练问题、候选答案和标签数据,其中,训练问题x、候选答案y和标签数据l组成一组三元数据,用(x,y,l)表示;预设数据集中包括多组三元数据。在得到预设数据集时,以组为单位对预设数据集中每组三元数据的训练问题进行分词处理,得到每组三元数据对应的第一词语集合;对每组三元数据中训练问题对应的候选答案进行分词处理,得到每组三
元数据对应的第二词语集合。
68.步骤s202,构建基础问答模型,所述基础问答模型包括左编码层、右编码层、第一注意力层、聚合层和第二注意力层,将所述第一词语集合输入至所述基础问答模型的左编码层,编码得到第一编码向量,将所述第二词语集合输入至所述基础问答模型的右编码层,编码得到第二编码向量;
69.在本实施例中,基础问答模型为初始设定的问答模型,包括左编码层、右编码层、第一注意力层、聚合层以及第二注意力层,每个层的参数均为初始参数,该初始参数可以为随机参数或默认参数。在得到第一词语集合时,将该第一词语集合输入至该基础问答模型的左编码层,其中,该左编码层和右编码层的结构相同,均采用bert(预训练语言模型)的编码结构,根据该左编码层对第一词语集合中的词进行编码,得到第一编码向量;根据该右编码层对第二词语集合中的词进行编码,得到第二编码向量。
70.步骤s203,基于所述基础问答模型的第一注意力层对所述第一编码向量进行注意力计算,得到所述训练问题对应的问题编码向量,基于所述基础问答模型的聚合层中的聚合函数对所述第二编码向量进行计算,得到所述候选答案对应的候选答案表征向量;
71.在本实施例中,第一注意力层为对训练问题对应的第一编码向量进行注意力,得到训练问题对应的问题编码向量。具体地,获取三个不同的预设权重参数,将该预设权重参数分别与该第一编码向量进行相乘,得到对应的三个不同的权重参数,如第一权重参数q、第二权重参数k和第三权重参数v;计算第一权重参数q和第二权重参数k之间的点乘,得到点乘结果,将该点乘结果除以预设值,得到输出结果;之后,对该输出结果进行归一化,将归一化结果与该第三权重参数相乘,最终得到当前注意力头的子编码向量;计算每个注意力头的子编码向量,对所有的子编码向量进行拼接,即得到最终的问题编码向量。除此之外,还可从第一编码向量中选取预设个数和维度的向量作为枚举向量,将该枚举向量作为训练问题对应的第一权重参数q;第二权重参数k和第三权重参数v的仍然通过不同的预设权重参数与第一编码向量计算得到。同时,基于该基础问答模型的聚合层中的聚合函数(如agg函数)对该训练问题对应的候选的答案的第二编码向量进行聚合,得到该候选答案对应的候选答案表征向量。
72.步骤s204,根据所述基础问答模型的第二注意力层对所述问题编码向量和所述候选答案表征向量进行注意力计算,得到问题表征向量,计算所述问题表征向量和所述候选答案表征向量的相似度,基于所述相似度对所述基础问答模型进行训练,得到目标问答模型;
73.在本实施例中,在得到问题编码向量和候选答案表征向量时,将该候选答案表征向量作为第二注意力层进行注意力计算的第一信息参数q,将问题编码向量与两个不同预设权重参数计算得到的权重参数,作为第二信息参数k和第三信息参数v。计算第一信息参数q和第二信息参数k之间的点乘,得到点乘结果,将该点乘结果除以预设值,得到输出结果,通过预设值可以使得得到输出结果具有更稳定的梯度;之后,对该输出结果进行归一化,将归一化结果与该第三信息参数v相乘,最终得到当前注意力头的子编码向量;计算每个注意力头的子编码向量,对所有的子编码向量进行拼接,即得到最终的候选答案表征向量。计算该问题表征向量和该候选答案表征向量的相似度,根据该相似度对该基础训练模型进行训练,其中,该问题表征向量和该候选答案表征向量的相似度可以通过计算问题表
征向量和候选答案表征向量的余弦夹角得到。
74.根据问题表征向量和候选答案表征向量的相似度对基础问答模型进行训练。具体地,获取预设的损失函数,该损失函数可以为交叉熵函数、均方差损失函数和平均绝对误差损失函数等。根据预设数据集中训练数据与候选答案的标签数据和该相似度,通过该损失函数计算损失值;根据该损失值对基础问答模型的各项初始参数进行调整,得到调整后的基础问答模型,之后,将预设数据集中的数据投入至调整后的基础问答模型中,按照上述基础问答模型计算损失值的方式,计算得到该调整后的基础问答模型的损失值,重复上述步骤计算每次调整后的基础问答模型的损失值,直至该损失值为最小值。在损失值为最小值时,确定该损失值最小时的模型为目标问答模型。该目标问答模型的结构与基础问答模型的结构相同,各项参数不同。
75.步骤s205,在接受到待处理问题时,将所述待处理问题和所述候选答案输入所述目标问答模型,得到所述待处理问题对应的目标召回语句。
76.在本实施例中,在接收到待处理问题时,根据该目标问答模型计算该待处理问题与候选答案的匹配度,选取其中匹配度最高的候选答案为该待处理问题的目标召回语句。
77.需要强调的是,为进一步保证上述目标召回语句的私密和安全性,上述目标召回语句还可以存储于一区块链的节点中。
78.本技术所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
79.本实施例实现了对问答的高效召回,使得在保证问答召回的准确率的同时,降低了问答召回的时长,提高了问答召回的效率,进一步实现了机器的智能问答。
80.在本实施例的一些可选的实现方式中,上述基于所述基础问答模型的第一注意力层对所述第一编码向量进行注意力计算,得到所述训练问题对应的问题编码向量,基于所述基础问答模型的聚合层中的聚合函数对所述第二编码向量进行计算,得到所述候选答案对应的候选答案表征向量的步骤包括:
81.获取所述第一编码向量对应的枚举向量,根据所述第一编码向量和所述枚举向量进行注意力计算,得到所述问题编码向量;
82.获取预设的聚合函数,根据所述聚合函数对所述第二编码向量进行聚合,得到所述第二编码向量的候选答案表征。
83.在本实施例中,枚举向量为从第一编码向量中选取的向量,在得到第一编码向量时,可以从该第一编码向量中随机选取预设个数和维度的向量作为枚举向量;也可以计算该第一编码向量的维度和个数,通过训练参数对该枚举向量的枚举个数进行训练,得到最终的枚举个数,将该枚举个数作为每次从第一编码向量中选取的枚举向量的个数。在得到枚举向量时,将该枚举向量作为训练问题的第一权重参数q,根据该第一权重参数q和第二权重参数k进行相似度计算得到相似度结果,根据该相似度结果对第三权重参数v进行加权求和计算,得到训练问题对应的问题编码向量。其中,该第二权重参数k和第三权重参数v通过第一编码向量和不同的预设权重参数计算得到。
84.由于本实施例中的基础问答模型的结构为双塔结构,即在对训练问题进行处理的同时,可以对候选答案进行处理。因此,在对枚举向量和第一编码向量进行注意力计算,得到训练问题对应的问题编码向量的同时,获取预设的聚合函数,根据该聚合函数对候选答案对应的第二编码向量进行聚合,将该第二编码向量的向量个数聚合为一个向量,得到该第二编码向量对应的候选答案表征。
85.本实施例通过对第一编码向量和枚举向量进行计算,得到问题编码向量;通过聚合函数对第二编码向量进行计算,得到候选答案表征,实现了对训练问题和候选答案各自的语义表征,使得得到的问题编码向量和候选答案表征向量能够更精确地表达训练问题和候选答案的语义信息,进一步提高了问答召回的准确率和效率。
86.在本实施例的一些可选的实现方式中,上述获取所述第一编码向量对应的枚举向量的步骤包括:
87.获取随机初始值和所述第一编码向量的维度;
88.从所述第一编码向量中选取所述随机初始值个数的向量作为所述枚举向量,并将所述第一编码向量的维度作为所述枚举向量的向量维度。
89.在本实施例中,在计算第一编码向量对应的枚举向量时,获取随机初始值和第一编码向量的维度,其中,随机初始值为随机选取的初始个数值,第一编码向量的维度为该第一编码向量的向量维度。将该随机初始值作为枚举向量的总向量个数,从该第一编码向量中按序从小到大或者从大到小,选取随机初始值个数的向量作为枚举向量,并将该第一编码向量的维度作为该枚举向量的向量维度。
90.本实施例通过选取第一编码向量对应的枚举向量,使得通过该枚举向量能够对第一编码向量进行精确地注意力计算,使得自注意计算得到问题编码向量能够更精确地表达训练问题的语义信息。
91.在本实施例的一些可选的实现方式中,上述构建基础问答模型的步骤包括:
92.获取预训练完成的预编码层,将所述预编码层作为所述基础问答模型的左编码层和右编码层;
93.获取预设的第一注意力函数和激活函数,根据所述第一注意力函数构建第一注意力层,根据所述激活函数构建聚合层;
94.获取第二注意力函数,根据所述第二注意力函数构建第二注意力层,组合所述左编码层、所述右编码层、所述第一注意力层、所述聚合层和所述第二注意力层为所述基础问答模型。
95.在本实施例中,在构建基础问答模型时,获取预训练完成的预编码层,将该预编码层作为该基础问答模型的左编码层和右编码层,该左编码层与该右编码层为并列的编码层,可以同时对接收到的数据进行处理。例如,在左编码层对训练问题进行编码时,该右编码层可以同时对候选答案进行编码。之后,获取预设的第一注意力函数和激活函数,将该第一注意力函数作为第一注意力层,将该激活函数作为聚合层;在通过该第一注意力层对第一编码向量进行计算的同时,通过该聚合层计算第二编码向量。最后,获取第二注意力函数,将该第二注意力函数作为第二注意力层,该第二注意力函数和第一注意力函数可以为同一函数,亦可为不同函数。通过该第二注意力层对第一注意力层计算得到的问题编码向量和聚合层计算得到的候选答案表征向量进行计算,得到问题表征向量。组合该第一基础
编码层、第二基础编码层、第一注意力层、聚合层和第二注意力层即得到该基础问答模型。
96.本实施例通过构建基础问答模型,使得通过训练问题和候选答案对该基础问答模型得到的目标问答模型能够对问题进行精确召回计算,提高了问答召回的效率和准确率。
97.在本实施例的一些可选的实现方式中,上述获取预训练完成的预编码层的步骤包括:
98.获取在线语料库和基础预训练语言模型,根据所述在线语料库对所述基础预训练语言模型进行训练,得到目标预训练语言模型,将所述目标预训练语言模型的编码层作为所述预训练完成的预编码层。
99.在本实施例中,预编码层为经过预训练的编码层,该预编码层可通过对基础预训练语言模型训练得到。具体地,获取在线语料库(如reddit)和基础预训练语言模型(bert模型),根据该在线语料库对该基础预训练语言模型进行训练;在该基础预训练语言模型训练完成时,确定该训练完成的基础预训练语言模型为目标预训练语言模型。获取该目标预训练语言模型的编码层,将该目标预训练语言模型的编码层作为基础问答模型的预编码层,该目标预训练语言模型的编码层即为预训练完成的预编码层。
100.本实施例通过在线语料库对基础预训练语言模型进行训练,得到预编码层,使得通过该预编码层能够对接收到的训练问题和候选答案进行更精确地编码,进一步使得编码结果能够更精确的表示训练问题和候选答案,从而提高了问答召回的准确率。
101.在本实施例的一些可选的实现方式中,上述基于所述相似度对所述基础问答模型进行训练,得到目标问答模型的步骤包括:
102.根据所述预设训练集,获取所述训练问题与所述候选答案的匹配度标签;
103.根据所述匹配度标签和所述相似度计算所述基础问答模型的损失函数,在所述损失函数收敛时,确定所述基础问答模型训练完成,得到所述目标问答模型。
104.在本实施例中,在计算得到问题表征向量和候选答案表征向量的相似度时,获取预设训练集,该预设训练集中包括训练问题和候选答案的匹配度标签,从该预设训练集中提取该匹配度标签。根据该匹配度标签和相似度计算基础问答模型的损失函数,在该损失函数收敛时,确定该基础问答模型训练完成,该训练完成的基础问答模型即为目标问答模型。
105.本实施例通过对基础问答模型进行训练,使得训练完成的基础问答模型能够对问答进行精确召回。
106.在本实施例的一些可选的实现方式中,上述将所述待处理问题和所述候选答案输入所述目标问答模型,得到所述待处理问题对应的目标召回语句的步骤包括:
107.将所述待处理问题拆分成由多个词语组成的词集合,根据所述目标问答模型的目标编码层对所述词集合进行编码,得到第三编码向量;
108.选取所述第三编码向量的问题枚举向量,根据所述目标问答模型中的第一注意力层对所述第三编码向量和所述问题枚举向量进行注意力计算,得到待处理编码向量;
109.获取存储的所有所述候选答案表征向量,根据所述目标问答模型中的第二注意力层对所述待处理编码向量和所述候选答案表征向量计算,得到所述待处理问题的待处理表征向量;
110.计算所述待处理表征向量和所述候选答案表征向量的目标相似度,确定最大值的
目标相似度对应的候选答案为所述待处理问题的目标召回语句。
111.在本实施例中,待处理问题为接收到的需要进行召回的问题,在接收到待处理问题时,对该待处理问题进行分词处理,得到该待处理问题对应的多个词语组成的词集合。输入该词集合至目标问答模型的目标编码层(即左编码层),根据该目标编码层对该词集合进行编码,得到第三编码向量。从该第三编码向量中选取若干向量作为该待处理问题对应的问题枚举向量,该问题枚举向量的选取方式与上述第一编码向量对应的枚举向量的选取方式相同;根据目标问答模型中的第一注意力层对该第三编码向量和问题枚举向量进行注意力计算,得到待处理编码向量。获取存储的所有候选答案对应的候选答案表征向量,或者将候选答案输入与待处理问题同时输入至目标问答模型,基于目标问答模型的右编码层和聚合层对该候选答案进行计算,得到候选答案表征向量。根据目标问答模型中的第二注意力层对该待处理编码向量和候选答案表征向量计算,得到该待处理问题的待处理表征向量;计算待处理表征向量和候选答案表征向量的目标相似度,该最大值的目标相似度对应的候选答案即为该待处理问题的目标召回语句。
112.本实施例通过目标问答模型对待处理问题进行计算,实现了对待处理问题的精确召回,并提高了问题召回的效率。
113.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)等非易失性存储介质,或随机存储记忆体(random access memory,ram)等。
114.应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
115.进一步参考图3,作为对上述图2所示方法的实现,本技术提供了一种智能问答召回装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
116.如图3所示,本实施例所述的智能问答召回装置300包括:分词模块301、编码模块302、计算模块303、训练模块304以及召回模块305。其中:
117.分词模块301,用于获取预设数据集,对所述预设数据集中的训练问题进行分词处理,得到第一词语集合,对所述预设数据集中的候选答案进行分词处理,得到第二词语集合;
118.在本实施例中,预设数据集为预先采集得到的数据组合而成的数据集,该预设数据集中包括训练问题、候选答案和标签数据,其中,训练问题x、候选答案y和标签数据l组成一组三元数据,用(x,y,l)表示;预设数据集中包括多组三元数据。在得到预设数据集时,以组为单位对预设数据集中每组三元数据的训练问题进行分词处理,得到每组三元数据对应的第一词语集合;对每组三元数据中训练问题对应的候选答案进行分词处理,得到每组三
元数据对应的第二词语集合。
119.编码模块302,用于构建基础问答模型,所述基础问答模型包括左编码层、右编码层、第一注意力层、聚合层和第二注意力层,将所述第一词语集合输入至所述基础问答模型的左编码层,编码得到第一编码向量,将所述第二词语集合输入至所述基础问答模型的右编码层,编码得到第二编码向量;
120.在本实施例的一些可选的实现方式中,编码模块302包括:
121.第一获取单元,用于获取预训练完成的预编码层,将所述预编码层作为所述基础问答模型的左编码层和右编码层;
122.构建单元,用于获取预设的第一注意力函数和激活函数,根据所述第一注意力函数构建第一注意力层,根据所述激活函数构建聚合层;
123.组合单元,用于获取第二注意力函数,根据所述第二注意力函数构建第二注意力层,组合所述左编码层、所述右编码层、所述第一注意力层、所述聚合层和所述第二注意力层为所述基础问答模型。
124.在本实施例的一些可选的实现方式中,第一获取单元包括:
125.训练子单元,用于获取在线语料库和基础预训练语言模型,根据所述在线语料库对所述基础预训练语言模型进行训练,得到目标预训练语言模型,将所述目标预训练语言模型的编码层作为所述预训练完成的预编码层
126.在本实施例中,基础问答模型为初始设定的问答模型,包括左编码层、右编码层、第一注意力层、聚合层以及第二注意力层,每个层的参数均为初始参数,该初始参数可以为随机参数或默认参数。在得到第一词语集合时,将该第一词语集合输入至该基础问答模型的左编码层,其中,该左编码层和右编码层的结构相同,均采用bert(预训练语言模型)的编码结构,根据该左编码层对第一词语集合中的词进行编码,得到第一编码向量;根据该右编码层对第二词语集合中的词进行编码,得到第二编码向量。
127.计算模块303,用于基于所述基础问答模型的第一注意力层对所述第一编码向量进行注意力计算,得到所述训练问题对应的问题编码向量,基于所述基础问答模型的聚合层中的聚合函数对所述第二编码向量进行计算,得到所述候选答案对应的候选答案表征向量;
128.在本实施例的一些可选的实现方式中,计算模块303包括:
129.第二获取单元,用于获取所述第一编码向量对应的枚举向量,根据所述第一编码向量和所述枚举向量进行注意力计算,得到所述问题编码向量;
130.聚合单元,用于获取预设的聚合函数,根据所述聚合函数对所述第二编码向量进行聚合,得到所述第二编码向量的候选答案表征。
131.在本实施例的一些可选的实现方式中,第二获取单元包括:
132.获取子单元,用于获取随机初始值和所述第一编码向量的维度;
133.确认单元,用于从所述第一编码向量中选取所述随机初始值个数的向量作为所述枚举向量,并将所述第一编码向量的维度作为所述枚举向量的向量维度。
134.在本实施例中,第一注意力层为对训练问题对应的第一编码向量进行注意力,得到训练问题对应的问题编码向量。具体地,获取三个不同的预设权重参数,将该预设权重参数分别与该第一编码向量进行相乘,得到对应的三个不同的权重参数,如第一权重参数q、
第二权重参数k和第三权重参数v;计算第一权重参数q和第二权重参数k之间的点乘,得到点乘结果,将该点乘结果除以预设值,得到输出结果之后,对该输出结果进行归一化,将归一化结果与该第三权重参数相乘,最终得到当前注意力头的子编码向量;计算每个注意力头的子编码向量,对所有的子编码向量进行拼接,即得到最终的问题编码向量。除此之外,还可从第一编码向量中选取预设个数和维度的向量作为枚举向量,将该枚举向量作为训练问题对应的第一权重参数q;第二权重参数k和第三权重参数v的仍然通过不同的预设权重参数与第一编码向量计算得到。同时,基于该基础问答模型的聚合层中的聚合函数(如agg函数)对该训练问题对应的候选的答案的第二编码向量进行聚合,得到该候选答案对应的候选答案表征向量。
135.训练模块304,用于根据所述基础问答模型的第二注意力层对所述问题编码向量和所述候选答案表征向量进行注意力计算,得到问题表征向量,计算所述问题表征向量和所述候选答案表征向量的相似度,基于所述相似度对所述基础问答模型进行训练,得到目标问答模型;
136.在本实施例的一些可选的实现方式中,训练模块304包括:
137.第三获取单元,用于根据所述预设训练集,获取所述训练问题与所述候选答案的匹配度标签;
138.第一计算单元,用于根据所述匹配度标签和所述相似度计算所述基础问答模型的损失函数,在所述损失函数收敛时,确定所述基础问答模型训练完成,得到所述目标问答模型。
139.在本实施例中,在得到问题编码向量和候选答案表征向量时,将该候选答案表征向量作为第二注意力层进行注意力计算的第一信息参数q,将问题编码向量与两个不同预设权重参数计算得到的权重参数,作为第二信息参数k和第三信息参数v。计算第一信息参数q和第二信息参数k之间的点乘,得到点乘结果,将该点乘结果除以预设值,得到输出结果,通过预设值可以使得得到的输出结果具有更稳定的梯度;之后,对该输出结果进行归一化,将归一化结果与该第三信息参数v相乘,最终得到当前注意力头的子编码向量;计算每个注意力头的子编码向量,对所有的子编码向量进行拼接,即得到最终的候选答案表征向量。计算该问题表征向量和该候选答案表征向量的相似度,根据该相似度对该基础训练模型进行训练,其中,该问题表征向量和该候选答案表征向量的相似度可以通过计算问题表征向量和候选答案表征向量的余弦夹角得到。
140.根据问题表征向量和候选答案表征向量的相似度对基础问答模型进行训练。具体地,获取预设的损失函数,该损失函数可以为交叉熵函数、均方差损失函数和平均绝对误差损失函数等。根据预设数据集中训练数据与候选答案的标签数据和该相似度,通过该损失函数计算损失值;根据该损失值对基础问答模型的各项初始参数进行调整,得到调整后的基础问答模型,之后,将预设数据集中的数据投入至调整后的基础问答模型中,按照上述基础问答模型计算损失值的方式,计算得到该调整后的基础问答模型的损失值,重复上述步骤计算每次调整后的基础问答模型的损失值,直至该损失值为最小值。在损失值为最小值时,确定该损失值最小时的模型为目标问答模型。该目标问答模型的结构与基础问答模型的结构相同,各项参数不同。
141.召回模块305,用于在接受到待处理问题时,将所述待处理问题和所述候选答案输
入所述目标问答模型,得到所述待处理问题对应的目标召回语句。
142.在本实施例的一些可选的实现方式中,召回模块305包括:
143.拆分单元,用于将所述待处理问题拆分成由多个词语组成的词集合,根据所述目标问答模型的目标编码层对所述词集合进行编码,得到第三编码向量;
144.第二计算单元,用于选取所述第三编码向量的问题枚举向量,根据所述目标问答模型中的第一注意力层对所述第三编码向量和所述问题枚举向量进行注意力计算,得到待处理编码向量;
145.第三计算单元,用于获取存储的所有所述候选答案表征向量,根据所述目标问答模型中的第二注意力层对所述待处理编码向量和所述候选答案表征向量计算,得到所述待处理问题的待处理表征向量;
146.第四计算单元,用于计算所述待处理表征向量和所述候选答案表征向量的目标相似度,确定最大值的目标相似度对应的候选答案为所述待处理问题的目标召回语句。
147.在本实施例中,在接收到待处理问题时,根据该目标问答模型计算该待处理问题与候选答案的匹配度,选取其中匹配度最高的候选答案为该待处理问题的目标召回语句。
148.需要强调的是,为进一步保证上述目标召回语句的私密和安全性,上述目标召回语句还可以存储于一区块链的节点中。
149.本技术所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
150.本实施例提出的智能问答召回装置,实现了对问答的高效召回,使得在保证问答召回的准确率的同时,降低了问答召回的时长,提高了问答召回的效率,进一步实现了机器的智能问答。
151.为解决上述技术问题,本技术实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
152.所述计算机设备6包括通过系统总线相互通信连接存储器61、处理器62、网络接口63。需要指出的是,图中仅示出了具有组件61-63的计算机设备6,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(application specific integrated circuit,asic)、可编程门阵列(field-programmable gate array,fpga)、数字处理器(digital signal processor,dsp)、嵌入式设备等。
153.所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
154.所述存储器61至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存
储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器61可以是所述计算机设备6的内部存储单元,例如该计算机设备6的硬盘或内存。在另一些实施例中,所述存储器61也可以是所述计算机设备6的外部存储设备,例如该计算机设备6上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。当然,所述存储器61还可以既包括所述计算机设备6的内部存储单元也包括其外部存储设备。本实施例中,所述存储器61通常用于存储安装于所述计算机设备6的操作系统和各类应用软件,例如智能问答召回方法的计算机可读指令等。此外,所述存储器61还可以用于暂时地存储已经输出或者将要输出的各类数据。
155.所述处理器62在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器62通常用于控制所述计算机设备6的总体操作。本实施例中,所述处理器62用于运行所述存储器61中存储的计算机可读指令或者处理数据,例如运行所述智能问答召回方法的计算机可读指令。
156.所述网络接口63可包括无线网络接口或有线网络接口,该网络接口63通常用于在所述计算机设备6与其他电子设备之间建立通信连接。
157.本实施例提出的计算机设备,实现了对问答的高效召回,使得在保证问答召回的准确率的同时,降低了问答召回的时长,提高了问答召回的效率,进一步实现了机器的智能问答。
158.本技术还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的智能问答召回方法的步骤。
159.本实施例提出的计算机可读存储介质,实现了对问答的高效召回,使得在保证问答召回的准确率的同时,降低了问答召回的时长,提高了问答召回的效率,进一步实现了机器的智能问答。
160.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例所述的方法。
161.显然,以上所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例,附图中给出了本技术的较佳实施例,但并不限制本技术的专利范围。本技术可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本技术的公开内容的理解更加透彻全面。尽管参照前述实施例对本技术进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本技术说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本技术专利保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1