一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种注意力机制模型的训练方法、装置、设备及存储介质与流程

2022-10-29 03:30:53 来源:中国专利 TAG:


1.本技术涉及自然语言处理领域,尤其涉及一种注意力机制模型的训练方法、装置、设备及存储介质。


背景技术:

2.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
3.人工智能可以应用在自然语言处理(natural language processing,nlp)中,比如对句子进行翻译时,待翻译的句子中任一个单词对于生成某个目标单词来说,影响力都应是不同的。例如,待翻译的句子为“tom chase jerry”,翻译后的目标句子应为“汤姆追逐杰瑞”,输入的每一个单词“tom”、“chase”和“jerry”对于生成目标句子中的单词“杰瑞”来说,影响力都应是不同的。因此通常在模型中引入注意力机制(attention mechanism,am),以使各个输入单词对生成每一个输出单词的影响力都不同。
4.但是,目前传统的注意力机制模型在自然语言处理中,对于句子中相距较远的词语,关系表达比较弱,处理结果准确率较低。


技术实现要素:

5.本技术公开了一种人工智能领域中的注意力机制模型的训练方法、装置、设备及存储介质,所述注意力机制模型的训练方法克服了对于句子中相距较远的词语关系表达比较弱的缺陷,提高了注意力机制模型输出结果的准确率。
6.第一方面,本技术公开了一种注意力机制模型的训练方法,包括:获取多个词向量;确定所述多个词向量之间的依赖关系;基于所述多个词向量之间的依赖关系,对所述注意力机制模型进行训练,获得经训练的注意力机制模型。
7.可以看到,在获取多个词向量后,确定了多个词向量之间的依赖关系,然后,基于多个词向量之间的依赖关系对注意力机制模型进行训练,最终获得经训练的注意力机制模型。相对于传统的注意力机制模型的训练方法,本技术中,在训练注意力机制模型时考虑了多个词向量之间的依赖关系,也就是说,注意力机制模型是基于多个词向量之间的依赖关系训练获得的,因此,避免了对于句子中相距较远的词语来说关系表达比较弱的弊端,提高了模型的精准度。
8.基于第一方面,在可能的实现方式中,所述多个词向量组成至少一个短语或至少一个句子;所述确定所述多个词向量之间的依赖关系,包括:根据依存句法关系,确定所述多个词向量中每个词向量在所述至少一个短语或所述至少一个句子中的结构成分;根据所述结构成分之间的依赖关系,确定所述多个词向量之间的依赖关系。
9.可以理解,多个词向量可以是组成至少一个短语,也可以是组成至少一个句子,可以根据依存句法关系,确定多个词向量中的每个词向量在至少一个短语或至少一个句子中的结构成分,并根据结构成分之间的依赖关系确定多个词向量之间的依赖关系。本技术,充分利用句子结构方面的先验知识,将句法结构信息融入词向量的计算中,增强了词向量之间的关系表达,使得注意力机制模型的训练结果更加准确。
10.基于第一方面,在可能的实现方式中,所述确定所述多个词向量之间的依赖关系,包括:从知识图谱中获取所述多个词向量之间的依赖关系;所述知识图谱中记录了所述多个词向量之间的依赖关系。
11.可以理解,还可以通过知识图谱获得多个词向量之间的依赖关系,其中知识图谱中记录了所述多个词向量之间的依赖关系。从知识图谱中直接获得多个词向量之间的依赖关系,无需计算,节省时间、节省计算资源、便于操作。
12.基于第一方面,在可能的实现方式中,所述基于所述多个词向量之间的依赖关系,对所述注意力机制模型进行训练,获得经训练的注意力机制模型,包括:根据所述多个词向量之间的依赖关系,确定所述多个词向量对应的多个隐藏层的状态之间的依赖关系;根据所述多个词向量对应的多个隐藏层的状态之间的依赖关系,确定所述注意力机制模型中的各个隐藏层的状态;根据所述各个隐藏层的状态,对所述注意力机制模型进行训练,获得所述经训练的注意力机制模型。
13.可以理解,在注意力机制模型的训练中,多个词向量之间的依赖关系的表达体现在多个词向量对应的隐藏层的状态之间的依赖关系的表达。利用多个词向量对应的隐藏层的状态之间的依赖关系,求解各个隐藏层的状态,进而根据各个隐藏层的状态对注意力机制模型进行训练,提高注意力机制模型输出结果的准确率。
14.基于第一方面,在可能的实现方式中,在所述多个词向量包括第一词向量、第二词向量和第三词向量,所述多个词向量之间的依赖关系包括:所述第一词向量依赖于所述第二词向量和所述第三词向量,且所述第一词向量对所述第二词向量的依赖程度大于所述第一词向量对所述第三词向量的依赖程度的情况下,第一隐状态对第二隐状态的依赖程度大于所述第一隐状态对第三隐状态的依赖程度;其中,所述第一隐状态指的是所述第一词向量对应的隐藏层的状态,所述第二隐状态指的是所述第二词向量对应的隐藏层的状态,所述第三隐状态指的是所述第三词向量对应的隐藏层的状态。
15.可以看到,多个词向量所对应的隐藏层的状态之间的依赖关系与多个词向量之间的依赖关系相同,且,词向量之间依赖程度强的,词向量对应的隐藏层的状态之间的依赖程度也强,词向量之间依赖程度弱的,词向量对应的隐藏层的状态之间的依赖程度也弱。
16.基于第一方面,在可能的实现方式中,所述根据所述多个词向量对应的多个隐藏层的状态之间的依赖关系,确定所述注意力机制模型中的各个隐藏层的状态,包括:所述第一隐状态为所述第二隐状态与加权系数w1的乘积和所述第三隐状态与加权系数w2的乘积之和;其中,所述加权系数w1表示所述第一隐状态对所述第二隐状态的依赖程度,所述加权系数w2表示所述第一隐状态对所述第三隐状态的依赖程度。
17.可以理解,某一隐状态等于该隐状态所依赖的隐状态与其对应的加权系数乘积之和。也就是,在计算某一隐状态时,考虑到了该隐状态所依赖的其他隐状态,这样再利用计算出的隐状态值训练注意力机制模型,获得的输出结果更加准确。
18.基于第一方面,在可能的实现方式中,所述方法还包括:获取多个测试词向量;使用所述经训练的注意力机制模型对所述多个测试词向量进行处理,获得处理结果。
19.可以理解,使用经训练的注意力机制模型对多个测试词向量进行处理,能够增加处理结果的准确度。
20.第二方面,本技术提供了一种注意力机制模型的训练装置,包括:获取单元,用于获取多个词向量;确定单元,用于确定所述多个词向量之间的依赖关系;训练单元,用于基于所述多个词向量之间的依赖关系,对所述注意力机制模型进行训练,获得经训练的注意力机制模型。
21.基于第二方面,在可能的实现方式中,所述多个词向量组成至少一个短语或至少一个句子;所述确定单元用于:根据依存句法关系,确定所述多个词向量中每个词向量在所述至少一个短语或所述至少一个句子中的结构成分;根据所述结构成分之间的依赖关系,确定所述多个词向量之间的依赖关系。
22.基于第二方面,在可能的实现方式中,所述确定单元用于:从知识图谱中获取所述多个词向量之间的依赖关系;所述知识图谱中记录了所述多个词向量之间的依赖关系。
23.基于第二方面,在可能的实现方式中,所述训练单元用于:根据所述多个词向量之间的依赖关系,确定所述多个词向量对应的多个隐藏层的状态之间的依赖关系;根据所述多个词向量对应的多个隐藏层的状态之间的依赖关系,确定所述注意力机制模型中的各个隐藏层的状态;根据所述各个隐藏层的状态,对所述注意力机制模型进行训练,获得所述经训练的注意力机制模型。
24.基于第二方面,在可能的实现方式中,在所述多个词向量包括第一词向量、第二词向量和第三词向量,所述多个词向量之间的依赖关系包括:所述第一词向量依赖于所述第二词向量和所述第三词向量,且所述第一词向量对所述第二词向量的依赖程度大于所述第一词向量对所述第三词向量的依赖程度的情况下,所述第一隐状态对所述第二隐状态的依赖程度大于所述第一隐状态对所述第三隐状态的依赖程度;其中,所述第一隐状态指的是所述第一词向量对应的隐藏层的状态,所述第二隐状态指的是所述第二词向量对应的隐藏层的状态,所述第三隐状态指的是所述第三词向量对应的隐藏层的状态。
25.基于第二方面,在可能的实现方式中,所述第一隐状态为所述第二隐状态与加权系数w1的乘积和所述第三隐状态与加权系数w2的乘积之和;其中,所述加权系数w1表示所述第一隐状态对所述第二隐状态的依赖程度,所述加权系数w2表示所述第一隐状态对所述第三隐状态的依赖程度。
26.基于第二方面,在可能的实现方式中,所述获取单元还用于,获取多个测试词向量;所述装置还包括处理单元,所述处理单元用于,使用所述经训练的注意力机制模型对所述多个测试词向量进行处理,获得处理结果。
27.上述第二方面装置中的各个功能单元具体用于实现第一方面及第一方面的任意实现方式中所述的方法。
28.第三方面,本技术提供了一种注意力机制模型的训练设备,包括存储器和处理器,所述存储器用于存储指令,所述处理器用于调用所述存储器中存储的指令,执行上述第一方面及第一方面的任一实现方式中所述的方法。
29.第四方面,本技术提供了一种计算机可读存储介质,包括程序指令,当所述程序指
令在计算机上运行时,使得所述计算机执行上述第一方面及第一方面的任一实现方式中所述的方法。
30.第五方面,本技术提供了一种计算机程序产品,所述计算机程序产品包括计算机程序代码,在所述计算机程序代码被注意力机制模型的训练设备执行时,所述注意力机制模型的训练设备执行前述第一方面或第一方面的任意可能的实现中提供的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述第一方面或第一方面的任意可能的实现中提供的方法的情况下,可以下载该计算机程序产品并在注意力机制模型的训练设备上执行该计算机程序产品。
31.可以看到,首先获取多个词向量,多个词向量组成至少一个短语或至少一个句子,然后根据依存句法关系确定多个词向量之间的依赖关系,其次,基于多个词向量之间的依赖关系对注意力机制模型进行训练,最终获得经训练的注意力机制模型。本技术,充分利用句子结构方面的先验知识,将句法结构融入词向量的计算中,增强了词向量之间关系的表达,使得训练得到的注意力机制模型更加精准,使用经训练的注意力机制模型对测试词向量进行处理时,提高了注意力机制模型输出结果的准确率。
附图说明
32.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
33.图1为本技术提供的一种系统架构示意图;
34.图2为本技术提供的又一种系统架构示意图;
35.图3为本技术提供的一种注意力机制模型示意图;
36.图4为本技术提供的又一种注意力机制模型示意图;
37.图5为本技术提供的一种注意力机制模型的训练方法的流程示意图;
38.图6为本技术提供的一种多个词向量之间依赖关系的示意图;
39.图7为本技术提供的一种多个词向量之间依赖关系的示例图;
40.图8为本技术提供的一种注意力机制模型的测试方法的流程示意图;
41.图9为本技术提供的一种注意力机制模型的训练装置的结构示意图;
42.图10为本技术提供的一种注意力机制模型的训练设备的结构示意图。
具体实施方式
43.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
44.如图1所示,图1为本技术提供的一种系统架构示意图,该系统包括终端设备和数据处理设备。
45.终端设备可以是手机、个人电脑、计算机或可穿戴的电子设备等中的任意一个等。
46.数据处理设备可以是云服务器、网络服务器、应用服务器以及管理服务器等具有数据处理功能的设备或服务器。数据处理设备通过交互接口接收来自终端设备的短语/句子/段落/篇章等,再通过存储数据的存储器以及数据处理的处理器环节进行机器学习,从而实现数据的处理。存储器可以是一个统称,包括本地存储以及存储历史数据的数据库,数
据库可以再数据处理设备上,也可以在其它网络服务器上。
47.比如,终端设备可以是个人电脑,数据处理设备为服务器,服务器通过机器学习等训练方式,具有语言翻译功能。用户可通过终端设备将多个段落的文字上传或输入至数据处理设备中,数据处理设备对输入的文字进行翻译,并将翻译结果发送或输出至终端设备。或者,用户将多个段落的文字输入或发送至终端设备,终端设备先对文字进行处理,将文字转化为数据处理设备可支持的格式,再输入或上传至数据处理设备,由数据处理设备进行处理,并将处理结果发送至终端设备,经终端设备进行格式转化,最终获得翻译后的结果。
48.参见图2,图2为本技术提供的一种系统200架构示意图,下面对该系统200进行介绍。
49.数据采集设备260用于采集训练数据,本技术实施例中的训练数据包括多个词向量,其中,多个词向量可以是构成多个短语的各个词语对应的多个词向量,也可以是构成多个句子或多个段落或多个篇章的各个词语对应的多个词向量。其中,所谓词向量(word vector,wv),指的是自然语言处理中的一组语言建模和特征学习技术的统称,其中来自词汇表的单词或短语可以被映射到实数的向量(a vector of real numbers)。
50.在采集到训练数据之后,数据采集设备260将采集的训练数据存入数据库230中,训练设备220基于数据库230中维护的训练数据训练得到注意力机制模型213。
51.上述经训练的注意力机制模型213可以用于对句子或短语进行翻译,也可以用于提取段落或篇章中的关键词,还可以用于对段落或篇章进行情感分析。例如,数据采集设备260采集多个测试词向量,存入数据库230中,然后数据库中的多个测试词向量通过i/o接口212输入经训练的注意力机制模型213中,经训练的注意力机制模型213对多个测试词向量进行处理,获得处理结果,并通过i/o接口212将处理结果输出。其中,计算模块211用于使用注意力机制模型中的计算规则对输入的多个测试词向量进行处理。
52.可选的,关联功能模块214还可以对处理结果进一步进行操作,并通过i/o接口212将操作结果输出。比如,经训练的注意力机制模型213输出的是翻译后的词向量或关键词语对应的词向量,关联功能模块214可以将翻译后的词向量或关键词语对应的词向量转化为翻译后的词语或关键词语,翻译后的词语或关键词语通过i/o接口212输出。
53.训练设备220训练得到的注意力机制模型213可以应用于不同的系统或设备中,如应用于图2所示的执行设备210,所述执行设备210可以是应用服务器或云服务器集群中的服务器,在图2中,执行设备210配置输入/输出(input/output,i/o)接口212,用于与外部设备进行数据交互,外部设备240通过i/o接口212输入数据,也可以通过i/o接口接收输出数据。
54.在执行设备210对输入数据进行处理,或者在执行设备210的计算模块211执行计算等相关的处理过程中,执行设备210可以调用数据存储系统250中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统250中。
55.需要说明的是,训练设备220可以针对不同的目标或不同的任务,基于不同的训练数据生成相应的注意力机制模型213,该相应的注意力机制模型213可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。
56.下面介绍一下注意力机制模型,参见图3,图3为本技术提供的一种基于编解码架构的注意力机制模型的结构示意图,该注意力机制模型可位于图1系统中的数据处理设备
上,也可位于图2系统中的执行设备210上。图3中,x1、x2、

xm表示输入的词向量,y1、y2、

yn表示输出的词向量,c1、c2、

cn表示的是x1、x2、

xm的语义表示。
57.将词向量x1、x2、

xm输入模型中,模型中的编码部分(编码器)分别对x1、x2、

xm进行编码,获得各个词向量的中间矢量,再利用模型的不同注意力权值矢量对各个词向量的中间矢量进行加权,分别获得语义编码c1、c2、

cn,则,
58.c1=g(a1*f1(x1),b1*f1(x2),

m1*f1(xm))
59.c2=g(a2*f1(x1),b2*f1(x2),

m2*f1(xm))
60.…
61.cn=g(an*f1(x1),bn*f1(x2),

mn*f1(xm))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
62.其中,f1表示编码部分对词向量的变换函数,[a1,b1,

m1]、[a2,b2,

m2]、,

[an,bn,

mn]表示多个注意力权值失量,每个注意力权值矢量中的每个注意力权值表示所对应的输入词向量对所对应的输出词向量的影响力,g表示编码部分对中间矢量的变换函数,通常情况下,g函数为加权求和函数,即,
[0063]
c1=a1*f1(x1) b1*f1(x2)

m1*f1(xm)
[0064]
c2=a2*f1(x1) b2*f1(x2)

m2*f1(xm)
[0065]

[0066]
cn=an*f1(x1) bn*f1(x2)

mn*f1(xm)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0067]
解码部分(解码器)根据语义编码和已经生成的历史信息(对于非第一次迭代来说)生成此时刻的输出,即,
[0068]
y1=f2(c1)
[0069]
y2=f2(c2,y1)
[0070]

[0071]
yn=f2(cn,y1,y2,

y(n-1))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0072]
其中,y1是根据语义编码c1生成的,y2是根据语义编码c2及y1生成的,

yn是根据语义编码cn及y(n-1)生成的。
[0073]
注意力机制模型可以采用多种算法来实现,下面介绍一种常用的算法,采用循环神经网络(recurrent neural network,rnn)实现的注意力机制模型。在介绍注意力机制模型之前,先描述一下rnn的相关概念及原理。
[0074]
rnn是用来处理序列数据的。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,每层之间的节点是无连接的,但是这种普通的神经网络对于很多问题却无能无力。例如,若要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。rnn之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关,具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。理论上,rnn能够对任何长度的序列数据进行处理。
[0075]
对于rnn的训练和对传统的人工神经网络ann训练一样,同样使用bp误差反向传播算法,所不同的是,如果将rnn进行网络展开,那么隐藏层的参数是共享的,而传统神经网络却不是的,并且在使用梯度下降算法中,每一步的输出不仅依赖当前步的网络,并且还依赖
前面若干步网络的状态。比如,在t=4时,还需要向后传递三步,已经后面的三步都需要加上各种的梯度。该学习算法称为基于时间的反向传播算法(back propagation through time,bptt)。
[0076]
无论是卷积神经网络,还是人工神经网络,他们的前提假设都是:元素之间是相互独立的,输入与输出也是独立的。但现实世界中,很多元素都是相互连接的,比如股票随着时间而变化,比如,一个人说:我喜欢旅游,其中最喜欢的地方是喜马拉雅山,以后有机会一定要去__________,这里填空,人类应该都知道是填“喜马拉雅山”。因为人类是根据上下文的内容推断出来的,但机器要做到这一步就相当得难了。因此就有了循环神经网络,循环神经网络的本质是:像人类一样拥有记忆的能力。因此,循环神经网络的输出依赖于当前的输入和记忆。
[0077]
rnn是一个序列到序列的模型,是一类以序列(sequence)数据为输入,在序列的演进方向进行递归(recursion)且所有节点(循环单元)按链式连接的递归神经网络。下面以rnn为例详细介绍一下注意力机制模型的训练过程。参见图4,图4为本技术提供的一种基于rnn的注意力机制模型的结构示意图。注意力机制模型的训练过程如下。
[0078]
1)求解基于rnn的注意力机制模型中编码部分和解码部分各隐藏层的状态(为了便于描述,将隐藏层的状态(the state of the hidden layer)简称为隐状态(hidden state))。
[0079]
将词向量x1、x2、

xj

输入基于rnn的注意力机制模型中,首先,求解各个输入词向量的隐状态,其中,求解xj的隐状态hj时,需要依赖前一时刻的隐状态以及此时刻的输入,例如,在求解x2的隐状态h2时,需要依赖隐状态h1的值和此时刻的输入x2。然后,根据初始注意力权值矢量以及各个输入词向量的隐状态求解获得语义编码矢量c。其次,对语义编码矢量c进行解码,获得此时刻的隐状态h(i-1)、h(i)

,其中,在求解隐状态h(i)时,需要依赖前一层的隐状态h(i-1)以及此时刻的输入y(i-1),而此时刻的输入y(i-1)也是前一层的输出(图中未示出)。
[0080]
2)根据编码部分中的各隐状态与解码部分中的各隐状态,计算输出值与输入值对齐的概率。
[0081]
根据编码部分各个词向量的隐状态与解码部分的各个隐状态,计算输出值与输入值对齐的概率,比如,可以利用如下公式计算获得输出值与输入值对齐的概率。
[0082]
f=e
i,j
=w
t
tanh(wh(i-1) vh(j) b)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0083]
其中,tanh表示状态函数,取值范围为[-1,1],w、b为已知的辅助矢量,w、v为已知的辅助矩阵。
[0084]
例如,将输入词向量x1、x2、x3输入模型中,求解获得x1的隐状态为h1,x2的隐状态为h2,x3的隐状态为h3,解码部分的隐状态包括h1、h2、h3,对隐状态h1、h2、h3解码获得的输出包括y1、y2、y3,则将h1和h1代入公式(6)中进行计算,获得输入x1与输出y1对齐的概率,将h2和h1代入公式(6)中进行计算,获得输入x2与输出y1对齐的概率,将h3和h1代入公式(6)中进行计算,获得输入x1与输出y1对齐的概率;同理,可以分别获得h1、h2、h3与输出y2对齐的概率,以及h1、h2、h3与输出y3对齐的概率。
[0085]
3)对输出值与输入值对齐的概率进行归一化,获得注意力权值矢量。
[0086]
对每一个输出值与输入值对齐的概率通过softmax函数进行归一化,获得符合概
率分布取值区间的注意力权值,其中概率分布取值区间为[0,1],多个注意力权值构成注意力权值矢量。例如softmax函数可以是,
[0087][0088]
其中,e
i,j
表示输出值与输入值对齐的概率,公式(7)中tx为编码部分隐状态中j的最大值。
[0089]
将获得的注意力权值矢量代替初始注意力权值矢量,再次计算语义编码c,然后根据语义编码c计算解码部分的各个隐状态,其次,根据编码部分的各个隐状态与解码部分的各个隐状态,再次计算本次输出值与输入值对齐的概率,将本次输出值与输入值对齐的概率进行归一化,获得本次的注意力权值矢量,

如此循环多次,直至获得的注意力权值矢量收敛,基于rnn的注意力机制模型训练结束,获得训练好的rnn的注意力机制模型。
[0090]
训练好的基于rnn的注意力机制模型,可以用于对句子进行翻译,比如汉译英、英译汉等,还可以用于对句子进行情感分析,情感比如喜欢、不喜欢、中立态度等,还可以用于根据篇章获得摘要等等用途。
[0091]
但是,使用训练好的注意力机制模型(包括上述训练好的基于rnn的注意力机制模型),对句子、短语进行翻译或情感分析时,对于句子或短语中距离较远的词语,例如,主语后存在多个定语或多个状语,导致主语和谓语之间相距较远,在计算中,距离较远的词语所对应的词向量之间的关系表达比较弱,因此得到的翻译结果或分析结果准确率不高。
[0092]
本技术提供了一种注意力机制模型的训练方法,参见图5,图5为本技术提供的一种注意力机制模型的训练方法的流程示意图,所述方法包括但不限于以下内容的描述。
[0093]
s101、获取多个词向量。
[0094]
多个词向量组成一个句子或多个句子或一个短语或多个短语,例如多个词向量分别可以是tom所对应的实数的向量、chase所对应的实数的向量和jerry所对应的实数的向量,多个词向量组成的一个句子为tom chase jerry。
[0095]
多个词向量,可以是通过查询词汇表的单词或短语而获得的实数的向量,也可以是根据某算法设置的编码规则进行编码后获得的实数的向量。
[0096]
s102、确定多个词向量之间的依赖关系。
[0097]
可选的,确定多个词向量之间的依赖关系的方式可以是,首先根据依存句法关系,确定每个词向量在句子或短语中的结构成分,然后根据结构成分之间的依赖关系,确定多个词向量之间的依赖关系。例如,若多个词向量包括第一词向量、第二词向量和第三词向量,根据依存句法关系,确定第一词向量在由第一词向量、第二词向量和第三词向量组成的句子中作宾语,第二词向量在由第一词向量、第二词向量和第三词向量组成的句子中作主语,第三词向量在由第一词向量、第二词向量和第三词向量组成的句子中作谓语,则由依存句法关系中宾语依赖于主语和谓语、谓语依赖于主语,可确定多个词向量之间的依赖关系包括:第一词向量依赖于第二词向量和第三词向量,第三词向量依赖于第二词向量。
[0098]
可选的,可以根据多个词向量之间的依赖关系,生成一条或多条依赖路径,比如,第三词向量

第二词向量,第一词向量

第二词向量、第三词向量,其中符号
“→”
表示依赖。例如,多个词向量包括:tom、chase、jerry,根据依存句法关系,确定词向量chase依赖
tom,词向量jerry依赖tom和chase,依赖路径为:chase

tom,jerry

tom、chase。
[0099]
可选的,多个词向量之间的依赖关系,还可以表示为图6所示的示意图,由图6可知,第一词向量依赖于第二词向量和第三词向量,第三词向量依赖于第二词向量,具体的多个词向量tom、chase、jerry之间的依赖关系如图7所示,由图7可知,chase依赖于tom,jerry依赖于tom和chase。
[0100]
可选的,也可以从知识图谱中获取多个词向量之间的依赖关系,其中知识图谱中建立/保存了多个词向量之间的依赖关系。例如,句子为“a create b”,多个词向量包括a对应的词向量、create对应的词向量和b对应的词向量,知识图谱中建立/保存了a对应的词向量和b对应的词向量之间的依赖关系为b对应的词向量依赖于a对应的词向量,则可以确定a对应的词向量和b对应的词向量之间的依赖关系为b对应的词向量依赖于a对应的词向量。
[0101]
s103、基于多个词向量之间的依赖关系,对注意力机制模型进行训练,获得经训练的注意力机制模型。
[0102]
基于多个词向量之间的依赖关系,对注意力机制模型进行训练,获得经训练的注意力机制模型,包括但不限于如下a1、a2、a3几个步骤。
[0103]
a1、根据多个词向量之间的依赖关系,确定各个词向量对应的隐状态之间的依赖关系。
[0104]
比如,第一词向量、第二词向量和第三词向量之间的依赖关系如图6所示,若第一词向量所对应的隐状态为h3,第二词向量所对应的隐状态为h2,第三词向量所对应的隐状态为h1,则可以确定隐状态h1、h2、h3之间的依赖关系如下:h2

h1,h3

h1、h2。
[0105]
例如,多个词向量tom、chase、jerry之间的依赖关系如图7所示,则tom所对应的隐状态、chase所对应的隐状态、jerry所对应的隐状态之间的依赖关系可以表示为:chase所对应的隐状态

tom所对应的隐状态,jerry所对应的隐状态

tom所对应的隐状态、chase所对应的隐状态。
[0106]
当然,隐状态h1、h2、h3之间的依赖关系也可以类似图6或图7所示的示意图表示,在此不再详述。
[0107]
若第一词向量对第二词向量依赖关系强,对第三词向量依赖关系弱,则第一词向量对应的隐状态h3对第二词向量对应的隐状态h2依赖关系强,对第三词向量对应的隐状态h1依赖关系弱。比如,若jerry对chase依赖关系强,对tom依赖关系弱,则jerry对应的隐状态对chase对应的隐状态依赖关系强,对tom对应的隐状态依赖关系弱。
[0108]
a2、根据各个词向量对应的隐状态之间的依赖关系,确定各个隐状态。
[0109]
首先,根据各个词向量对应的隐状态之间的依赖关系,确定各个词向量对应的隐状态。比如,假设隐状态hj依赖于隐状态hk1、hk2、

hkn(隐状态hk1、hk2、

hkn中不包括前一层的隐状态),在采用rnn的注意力机制模型中,隐状态hj还依赖于前一层的隐状态h(j-1)以及此时刻的输入,则有
[0110]
hj=ω0h(j-1) ω1hk1 ω2hk2

ωnhkn f1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0111]
其中,h(j-1)表示hj前一层的隐状态,ω0、ω1、ω2、

ωn表示各个隐状态的加权系数,也表示hj对各个隐状态的依赖程度,加权系数越大,依赖程度越强,加权系数越小,依赖程度越弱,且ω0 ω1 ω2

ωn=1。函数f1表示模型编码部分对此时刻输入词向量的变换函数。
[0112]
若要获得隐状态hj,则需要知道各个加权系数的值。在一种示例中,ω0=0.5,ω1 ω2

ωn=0.5,可以采用递减法确定ω1、ω2、

ωn的值,比如,若hj对隐状态hk1、hk2、

hkn的依赖程度逐渐减弱,令ω1为ω,递减系数为s=0.9,则ω2=ωs,ωn=ωs
n-1
,可以通过解ω1 ω2

ωn=ω ωs

ωs
n-1
=0.5求得ω的值,从而获得ω1、ω2、

ωn的值,也就获得各个词向量对应的隐状态。实际应用中,可以根据实际情况来调整或设置ω0的值以及递减系数等,这里仅仅用于举例,本技术对各个加权系数的求解方法不做具体限定。
[0113]
根据初始注意力权值矢量和各个词向量对应的隐状态求解获得语义编码c,根据语义编码c及解码函数,获得解码部分各个隐状态的输出,从而确定出模型中的各个隐状态。
[0114]
a3、根据各个隐状态对模型进行训练,获得经训练的注意力机制模型。
[0115]
在获得各个隐状态后,根据各个隐状态对模型进行训练,获得经训练的注意力机制模型,具体内容可参考图4实施例中2)、3)步骤的描述,为了说明书的简洁,在此不再赘述。
[0116]
本技术不仅适用于采用了rnn的注意力机制模型,还适用于其他的引用了注意力机制的模型,比如transform模型。
[0117]
可以看到,首先,通过句法依存关系确定多个词向量之间的依赖关系,或者从知识图谱中直接获得多个词向量之间的依赖关系,然后根据多个词向量之间的依赖关系确定多个词向量对应的隐状态之间的依赖关系,进一步求解获得各个隐状态的值,最后,对注意力机制模型进行多次迭代训练,获得经训练的注意力机制模型。本技术中,充分利用句子结构方面的先验知识,将句法结构融入词向量的计算中,增强了词向量之间关系的表达,使得训练得到的注意力机制模型更加精准。
[0118]
本技术还提供了一种注意力机制模型的测试方法,参见图8,图8为本技术提供的一种注意力机制模型的测试方法的流程示意图,该方法包括但不限于以下内容的描述。
[0119]
s201、获取多个测试词向量。
[0120]
获取多个测试词向量,其中多个测试词向量可以是一个句子或至少一个短语中的多个单词或多个词语对应的词向量,也可以是段落、篇章中的多个单词或多个词语对应的词向量。
[0121]
s202、使用经训练的注意力机制模型对多个测试词向量进行处理,获得处理结果。
[0122]
将多个测试词向量输入经训练的注意力机制模型中,对多个测试词向量进行处理,获得处理结果,其中,处理结果可以是对多个测试词向量翻译后的结果,也可以是从多个测试词向量中提取关键字获得的结果,也可以是根据多个测试词向量进行情感分析的结果。
[0123]
可以看到,使用基于多个词向量之间的依赖关系训练得到的注意力机制模型对测试词向量进行处理,有助于提高结果的准确率。
[0124]
参见图9,图9为本技术提供的一种注意力机制模型的训练装置800的示意图,该装置包括:获取单元801,用于获取多个词向量;确定单元802,用于确定多个词向量之间的依赖关系;训练单元803,用于基于多个词向量之间的依赖关系,对注意力机制模型进行训练,获得经训练的注意力机制模型。
access protocol,soap)协议、简单网络管理协议(simple network management protocol,snmp)协议、公共对象请求代理体系结构(common object request broker architecture,corba)协议以及分布式协议等等。
[0136]
存储器913可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,ram);存储器也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,rom)、快闪存储器(flash memory)、硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd)存储器还可以包括上述种类的存储器的组合。
[0137]
存储节点920包括一个或多个存储控制器921、存储阵列922。其中,存储控制器921和存储阵列922之间可以通过总线923连接。
[0138]
存储控制器921包括一个或者多个通用处理器,其中,通用处理器可以是能够处理电子指令的任何类型的设备,包括cpu、微处理器、微控制器、主处理器、控制器以及asic等等。它能够是仅用于单个存储节点920的专用处理器或者能够与计算节点900或者其它存储节点920共享。可以理解,在本实施例中,每个存储节点包括一个存储控制器,在其他的实施例中,也可以多个存储节点共享一个存储控制器,此处不作具体限定。
[0139]
存储器阵列922可以包括多个存储器。存储器可以是非易失性存储器,例如rom、快闪存储器、hdd或ssd存储器还可以包括上述种类的存储器的组合。例如,存储阵列可以是由多个hdd或者多个sdd组成,或者,存储阵列可以是由hdd以及sdd组成。其中,多个存储器在存储控制器921的协助下按不同的方式组合起来形成存储器组。可选地,存储器阵列922可以包括一个或者多个数据中心。多个数据中心可以设置在同一个地点,或者,分别在不同的地点,此处不作具体限定。存储器阵列922可以存储有程序代码以及程序数据。其中,程序代码包括获取单元801的代码、确定单元802的代码、训练单元803的代码、处理单元804的代码。程序数据包括:词向量、测试词向量、隐状态、注意力权值等等。
[0140]
本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,计算机程序被硬件(例如处理器等)执行,以实现本技术实施例中一种注意力机制模型的训练装置执行的任意一种方法的部分或者全部步骤。
[0141]
本技术实施例还提供一种计算机程序产品,当计算机程序产品被计算机读取并执行时,使得注意力机制模型的训练装置执行本技术实施例中任意一种注意力机制模型的训练方法的部分或全部步骤。
[0142]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多
个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、存储盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态存储盘solid state disk,ssd))等。在所述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0143]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置,也可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
[0144]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本技术实施例方案的目的。
[0145]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0146]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献