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

一种多任务学习的答案选择和问题分类的方法及系统

2022-12-06 19:06:21 来源:中国专利 TAG:


1.本发明涉及人工智能领域,具体涉及一种多任务学习的答案选择和问题分类的方法及系统,以及一种多任务学习的答案选择和问题分类的模型训练的方法及系统。


背景技术:

2.对于人工智能领域,问题分类是一个重要的研究领域,答案选择也是一个重要的研究领域。答案选择任务旨在选择包含确切答案的最合适的句子,而问题分类任务则需基于语义关系的特定领域分类法,根据一组预定义类别,将问题归为其中一个类别。针对这两个任务分别进行任务设计和训练各种模型既耗时又昂贵。


技术实现要素:

3.针对上述问题,本发明提供一种多任务学习的答案选择和问题分类的方法及系统,以及一种多任务学习的答案选择和问题分类的模型训练的方法及系统,下面具体说明。
4.根据第一方面,一种实施例提供一种多任务学习的答案选择和问题分类的方法,包括:
5.获取输入信息;所述输入信息包括待分类的问题,或者问题及对应的一组候选答案;
6.将所述输入信息输入到多任务学习的答案选择和问题分类的模型中;
7.当所述输入信息为待分类的问题时,则所述多任务学习的答案选择和问题分类的模型输出问题的分类,当所述输入信息为问题及对应的一组候选答案,则多任务学习的答案选择和问题分类的模型输出从所述候选答案所选取的答案;
8.其中,所述多任务学习的答案选择和问题分类的模型通过以下方式被训练:
9.获取训练集;所述训练集至少包括问题,问题的标签,问题对应的一组候选答案;
10.通过嵌入层将问题和候选答案分别转换为问题嵌入向量wq和答案嵌入向量wa;
11.将所述问题嵌入向量wq和答案嵌入向量wa分别输入到双向长短期记忆网络中,以分别得到问题的初始上下文句子表示hq和答案的初始上下文句子表示ha;
12.对于答案选择任务:
13.通过问题嵌入向量wq、答案嵌入向量wa和共享注意力矩阵uq,计算关联性矩阵f;
14.对所述关联性矩阵f的行和列分别进行最大池化操作,以分别生成问题的基于上下文的注意力向量fq和答案的基于上下文的注意力向量fa;
15.根据问题的初始上下文句子表示hq和问题的基于上下文的注意力向量fq计算问题的句子表示q
out
;根据答案的初始上下文句子表示ha和答案的基于上下文的注意力向量fa计算答案的句子表示a
out

16.计算问题的句子表示q
out
和答案的句子表示a
out
之间的双线性相似性得分s(q
out
;a
out
);
17.至少根据问题的句子表示q
out
、答案的句子表示a
out
和双线性相似性得分s(q
out
;aout
)生成隐含层向量表示x;
18.将隐含层向量表示x输入到隐藏层;
19.对隐藏层的输出通过答案选择任务的softmax层进行二元分类;
20.对于问题分类任务:
21.将问题的初始上下文句子表示hq作为注意力机制的输入,以得到权重wc;
22.根据权重wc和问题的初始上下文句子表示hq计算得到问题的句子表示q;
23.基于所述问题的句子表示q,生成所述共享注意力矩阵uq;
24.将所述问题的句子表示q,输入到完全连接层;
25.对完全连接层的输出通过问题分类任务的softmax层进行二元分类;
26.对于标签,获取标签嵌入向量l,并计算标签嵌入向量l和隐含层向量表示x之间的相似度s;
27.将相似度s大于阈值的标签嵌入向量l输入到多层感知器中,得到伪标签,以更新所述训练集。
28.根据第二方面,一种实施例提供一种多任务学习的答案选择和问题分类的方法,包括:
29.获取输入信息;所述输入信息包括待分类的问题,或者问题及对应的一组候选答案;
30.将所述输入信息输入到多任务学习的答案选择和问题分类的模型中;
31.当所述输入信息为待分类的问题时,则所述多任务学习的答案选择和问题分类的模型输出问题的分类,当所述输入信息为问题及对应的一组候选答案,则多任务学习的答案选择和问题分类的模型输出从所述候选答案所选取的答案;
32.其中,所述多任务学习的答案选择和问题分类的模型通过以下方式被训练:
33.获取训练集;所述训练集至少包括问题,问题的标签,问题对应的一组候选答案;
34.通过嵌入层将问题和候选答案分别转换为问题嵌入向量wq和答案嵌入向量wa;
35.将所述问题嵌入向量wq和答案嵌入向量wa分别输入到双向长短期记忆网络中,以分别得到问题的初始上下文句子表示hq和答案的初始上下文句子表示ha;
36.对于答案选择任务:
37.通过问题嵌入向量wq、答案嵌入向量wa和注意力矩阵u,计算关联性矩阵f;
38.对所述关联性矩阵f的行和列分别进行最大池化操作,以分别生成问题的基于上下文的注意力向量fq和答案的基于上下文的注意力向量fa;
39.根据问题的初始上下文句子表示hq和问题的基于上下文的注意力向量fq计算问题的句子表示q
out
;根据答案的初始上下文句子表示ha和答案的基于上下文的注意力向量fa计算答案的句子表示a
out

40.计算问题的句子表示q
out
和答案的句子表示a
out
之间的双线性相似性得分s(q
out
;a
out
);
41.至少根据问题的句子表示q
out
、答案的句子表示a
out
和双线性相似性得分s(q
out
;a
out
)生成隐含层向量表示x;
42.将隐含层向量表示x输入到隐藏层;
43.对隐藏层的输出通过答案选择任务的softmax层进行二元分类;
44.对于问题分类任务:
45.将问题的初始上下文句子表示hq输入到完全连接层;
46.对完全连接层的输出通过问题分类任务的softmax层进行二元分类;
47.对于标签,获取标签嵌入向量l,并计算标签嵌入向量l和隐含层向量表示x之间的相似度s;
48.将相似度s大于阈值的标签嵌入向量l输入到多层感知器中,得到伪标签,以更新所述训练集。
49.根据第三方面,一种实施例提供一种多任务学习的答案选择和问题分类的模型训练的方法,包括:
50.获取训练集;所述训练集至少包括问题,问题的标签,问题对应的一组候选答案;
51.通过嵌入层将问题和候选答案分别转换为问题嵌入向量wq和答案嵌入向量wa;
52.将所述问题嵌入向量wq和答案嵌入向量wa分别输入到双向长短期记忆网络中,以分别得到问题的初始上下文句子表示hq和答案的初始上下文句子表示ha;
53.对于答案选择任务:
54.通过问题嵌入向量wq、答案嵌入向量wa和共享注意力矩阵uq,计算关联性矩阵f;
55.对所述关联性矩阵f的行和列分别进行最大池化操作,以分别生成问题的基于上下文的注意力向量fq和答案的基于上下文的注意力向量fa;
56.根据问题的初始上下文句子表示hq和问题的基于上下文的注意力向量fq计算问题的句子表示q
out
;根据答案的初始上下文句子表示ha和答案的基于上下文的注意力向量fa计算答案的句子表示a
out

57.计算问题的句子表示q
out
和答案的句子表示a
out
之间的双线性相似性得分s(q
out
;a
out
);
58.至少根据问题的句子表示q
out
、答案的句子表示a
out
和双线性相似性得分s(q
out
;a
out
)生成隐含层向量表示x;
59.将隐含层向量表示x输入到隐藏层;
60.对隐藏层的输出通过答案选择任务的softmax层进行二元分类;
61.对于问题分类任务:
62.将问题的初始上下文句子表示hq作为注意力机制的输入,以得到权重wc;
63.根据权重wc和问题的初始上下文句子表示hq计算得到问题的句子表示q;
64.基于所述问题的句子表示q,生成所述共享注意力矩阵uq;
65.将所述问题的句子表示q,输入到完全连接层;
66.对完全连接层的输出通过问题分类任务的softmax层进行二元分类;
67.对于标签,获取并将标签嵌入向量l输入到共享标签嵌入网络,以计算标签嵌入向量l和隐含层向量表示x之间的相似度s;
68.将相似度s大于阈值的标签嵌入向量l输入到共享标签嵌入网络的多层感知器中,得到伪标签,以更新所述训练集;
69.获取答案选择任务的损失函数、问题分类任务的损失函数和共享标签嵌入网络的损失函数,并将这三个损失函数相加得到总损失函数;根据总损失函数进行训练。
70.根据第四方面,一种实施例提供一种多任务学习的答案选择和问题分类的模型训
练的方法,包括:
71.获取训练集;所述训练集至少包括问题,问题的标签,问题对应的一组候选答案;
72.通过嵌入层将问题和候选答案分别转换为问题嵌入向量wq和答案嵌入向量wa;
73.将所述问题嵌入向量wq和答案嵌入向量wa分别输入到双向长短期记忆网络中,以分别得到问题的初始上下文句子表示hq和答案的初始上下文句子表示ha;
74.对于答案选择任务:
75.通过问题嵌入向量wq、答案嵌入向量wa和注意力矩阵u,计算关联性矩阵f;
76.对所述关联性矩阵f的行和列分别进行最大池化操作,以分别生成问题的基于上下文的注意力向量fq和答案的基于上下文的注意力向量fa;
77.根据问题的初始上下文句子表示hq和问题的基于上下文的注意力向量fq计算问题的句子表示q
out
;根据答案的初始上下文句子表示ha和答案的基于上下文的注意力向量fa计算答案的句子表示a
out

78.计算问题的句子表示q
out
和答案的句子表示a
out
之间的双线性相似性得分s(q
out
;a
out
);
79.至少根据问题的句子表示q
out
、答案的句子表示a
out
和双线性相似性得分s(q
out
;a
out
)生成隐含层向量表示x;
80.将隐含层向量表示x输入到隐藏层;
81.对隐藏层的输出通过答案选择任务的softmax层进行二元分类;
82.对于问题分类任务:
83.将问题的初始上下文句子表示hq输入到完全连接层;
84.对完全连接层的输出通过问题分类任务的softmax层进行二元分类;
85.对于标签,获取标签嵌入向量l,并计算标签嵌入向量l和隐含层向量表示x之间的相似度s;
86.将相似度s大于阈值的标签嵌入向量l输入到多层感知器中,得到伪标签,以更新所述训练集;
87.获取答案选择任务的损失函数、问题分类任务的损失函数和共享标签嵌入网络的损失函数,并将这三个损失函数相加得到总损失函数;根据总损失函数进行训练。
88.一实施例中,所述伪标签包括未被标签的问题的伪标签,和/或,答案的伪标签。
89.一实施例中,所述至少根据问题的句子表示q
out
、答案的句子表示a
out
和双线性相似性得分s(q
out
;a
out
)生成隐含层向量表示x,包括:
90.根据问题的句子表示q
out
、问题的伪标签、答案的句子表示a
out
、答案的伪标签和双线性相似性得分s(q
out
;a
out
)生成隐含层向量表示x。
91.根据第五方面,一种实施例提供一种多任务学习的答案选择和问题分类的系统,包括:
92.存储器,用于存储程序;
93.处理器,用于通过执行所述存储器存储的程序以实现本文任一实施例所述的多任务学习的答案选择和问题分类的方法。
94.根据第六方面,一种实施例提供一种多任务学习的答案选择和问题分类的模型训练的系统,,包括:
95.存储器,用于存储程序;
96.处理器,用于通过执行所述存储器存储的程序以实现本文中任一实施例所述的多任务学习的答案选择和问题分类的模型训练的方法。
97.根据第七方面,一种实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有程序,所述程序能够被处理器执行以实现如本文中任一实施例所述的方法。
98.依据上述实施例的多任务学习的答案选择和问题分类的方法及系统,以及多任务学习的答案选择和问题分类的模型训练的方法及系统,以及计算机可读存储介质,通过问题分类任务中包含的有用信息,为未标记的答案句子提供伪标签,从而辅助答案选择进行预测,并提高两个任务(例如答案选择任务和问题分类任务)的泛化性能。。
附图说明
99.图1为一种实施例的基本的多任务网络的结构示意图;
100.图2为一种实施例的在基本的多任务网络的基础上加入共享任务网络的结构示意图;
101.图3为一种实施例的在基本的多任务网络的基础上加入共享标签嵌入网络的结构示意图;
102.图4为一种实施例的在基本的多任务网络的基础上加入共享任务网络和共享标签嵌入网络的结构示意图;
103.图5为一种实施例的多任务学习的答案选择和问题分类的模型训练的方法的流程图;
104.图6为一种实施例的多任务学习的答案选择和问题分类的模型训练的方法的流程图;
105.图7为一种实施例的多任务学习的答案选择和问题分类的模型训练的方法的流程图;
106.图8为一种实施例的多任务学习的答案选择和问题分类的方法的流程图;
107.图9为一种实施例的多任务学习的答案选择和问题分类的系统的结构示意图;
108.图10为一种实施例的多任务学习的答案选择和问题分类的模型训练的系统的结构示意图。
具体实施方式
109.下面通过具体实施方式结合附图对本发明作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本技术能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本技术相关的一些操作并没有在说明书中显示或者描述,这是为了避免本技术的核心部分被过多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。
110.另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易
见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。
111.本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。而本技术所说“连接”、“联接”,如无特别说明,均包括直接和间接连接(联接)。
112.考虑到答案选择任务和问题分类任务的训练样本都可以从相同分布数据中得出的,并且本明发现,通过引入外部知识而提升答案选择任务的性能;因此,引入来自问题分类任务的上下文信息和类别信息可望增强答案选择任务的性能。针对这种情况,发明人考虑引入多任务学习来训练这两个任务,即通过多任务学习框架来探讨问题分类和答案选择两个子任务。
113.多任务学习是一种学习范例,它利用不同任务中包含的有用信息来帮助提高所有任务的性能。多任务学习已在许多自然语言处理应用程序中取得成功,包括语义解析,文本标准化,神经机器翻译和关键短语边界分类。
114.一些实施例中,本发明提供一种基于多任务学习的答案选择和问题分类的模型,包括:(1)探索用于答案选择和问题分类的多任务学习方法;(2)充分利用问题类别信息和任务之间的转移标签。(1)中的多任务学习方法,其核心思想是通过在知识层面上研究任务间的交互从而改进两个子任务的性能。(2)中问题类别信息和任务之间伪标签的利用,其为文本与外部知识相互指导,交互学习,从而增强不同任务间的交互。
115.一些具体实施例中,本发明首先提出一个基本的多任务网络,以实现不同任务之间的相互交互——例如实现答案选择任务和问题分类任务的相互交互,即基本的多任务网络可以包括答案选择网络和问题分类网络;其中,问题分类网络将问题作为输入并返回预定义的类别标签,而答案选择网络则将一对问题-答案作为输入以进行二元分类,即判断该答案是否适合于该问题;进一步,本发明设计了一个共享任务网络,关注和利用两个任务(例如答案选择任务和问题分类任务)之间的语义和交互信息;进一步地,本发明提出了一个共享标签嵌入网络,该网络通过问题分类任务中包含的有用信息,为未标记的答案句子提供伪标签,从而辅助答案选择进行预测,并提高两个任务(例如答案选择任务和问题分类任务)的泛化性能。
116.本发明一些实施例中提供一种多任务学习的答案选择和问题分类的模型,其主要包括三个网络:基本的多任务网络,共享任务网络,共享标签嵌入网络;为了充分说明本发明,下面按照设计过程一步一步进行说明。
117.主要设计过程如下:
118.步骤s10:设计基本的多任务网络,即设计答案选择和问题分类多任务网络;
119.步骤s20:再在基本的多任务网络的基础上,设计和引入共享任务网络来关注答案选择和问题分类任务之间的关键信息,并采用问题类别信息以改进细粒度的问题分类任务的表示学习;
120.步骤s30:再在基本的多任务网络的基础上,设计和引入共享标签嵌入网络,为未标记的答案句子提供伪标签来以实现对答案选择的辅助预测,从而利用问题分类中所包含的有用信息。
121.可以理解地,步骤s20和步骤s30是独立的,在一些例子中,多任务学习的答案选择
和问题分类的模型中可能是主要包括基本的多任务网络,共享任务网络;也可以是主要包括基本的多任务网络,共享标签嵌入网络。下面对各步骤具体进行说明。
122.请参照图1,对于步骤s10,设计基本的答案选择和问题分类多任务网络;具体涉及s11~s14,下面详细说明。
123.步骤s11:给定一个问题q和一组候选答案a={a1,a2,

,an},首先使用嵌入层将其转换为向量表示,然后将这些嵌入向量输入到基本的多任务网络当中。对于给定的句子,其单词被转换为嵌入表示,字符特征和位置特征也转换为实值表示。因此,单词表示为:
[0124][0125]
其中表示串联操作,串联操作是指将后一条向量直接连接到前一条向量的,例如如l表示句子的长度,u是指隐藏单元的数量,即隐含层或者说隐藏层所包含的单元的数量,r表示实数集;w
word
、w
char
、w
pos
分别指单词的向量、单词的词性的实值、单词在句子中的位置的实值。在本文提出的基本网络中,答案选择和问题分类任务都采用了共享的嵌入层,即答案选择网络和问题分类网络都采用一个共同的嵌入层。
[0126]
步骤s12:采用双向长短期记忆网络来对问题和答案进行编码。问题句子的单词编码器层输入是问题序列向量wq={w1,w2,

,w
lq
},括号中的w1,w2,

,w
lq
表示组成问题句子的各单词的向量,例如可以为(1)中的或w
word
;答案句子的单词编码器层输入是答案序列向量wd={w1,w2,

,w
la
},类似地,括号中的w1,w2,

,w
la
表示组成答案句子的各单词的向量,例如可以为(1)中的或w
word
。第i个单词的输出是其中和是分别是前向网络和后向网络的输出。因此,对于问题和答案的初始上下文句子表示分别为:
[0127]hq
=bilstm(wq)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0128]
ha=bilstm(wa)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0129]
其中,hq为问题的初始上下文句子表示,ha为答案的初始上下文句子表示,bilstm()表示双向长短期记忆网络的计算、运算或者说函数。
[0130]
步骤s13:对于答案选择任务或网络,本采用双向注意机制来交互式学习问题和答案的表示。通过问题的嵌入wq和答案的嵌入wa,并通过引入一个注意力矩阵来计算关联性矩阵
[0131][0132]
tanh()表示激活函数。
[0133]
再利用关联性矩阵f的行和列分别进行最大池化操作,以分别生成问题和答案的基于上下文的注意力向量和问题和答案的句子表示为:
[0134]qout
=h
qfq
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0135]aout
=hafaꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0136]
其中,q
out
为问题的句子表示;fq为问题的基于上下文的注意力向量;a
out
为答案的
句子表示;fa为答案的基于上下文的注意力向量。
[0137]
再计算注意问题向量即q
out
和注意答案向量a
out
之间的双线性相似性得分:
[0138][0139]
其中是要学习的相似度矩阵。据此,隐藏层或者说隐含层的输入为x=[q
out
:s(q
out
;a
out
):a
out
],然后隐藏层的输出通过softmax函数层进行二元分类:
[0140]ys
=softmax(wsx bs)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0141]
其中和是要学习的参数;softmax()表示softmax函数。x=[q
out
:s(q
out
;a
out
):a
out
]中“:”表示串联操作。
[0142]
可以利用以最小化交叉熵损失函数对答案选择任务或者说答案选择网络进行训练:
[0143][0144]
其中ps是softmax层的输出。θ包含网络的所有参数,是l2正则化。ys表示softmax层进行二元分类的结果,是这一类还是另一类;ps表示softmax层的输出,是一个概率值;ys和ps这两者的下标i,表示序号。
[0145]
训练损失函数可衡量模型对训练数据的预测能力,正则项会评价模型的复杂性,这有助于避免过拟合。
[0146]
步骤s14:对于问题分类任务或网络,将完全连接层放置于双向长短期记忆网络层之后,即双向长短期记忆网络层的输出为完全连接层的输入,完全连接层的输出为softmax层的输入;因此在问题分类网络中,完全连接层的输出根据问题的标签(即问题分类标签)通过softmax层进行分类:
[0147]
yc=softmax(h
qmcbq
)
ꢀꢀꢀꢀꢀꢀ
(10)
[0148]hq
是问题的表示,mc是可学习的权重矩阵,bq是偏差矢量;yc是问题多分类的结果,如why问题,which问题,what问题等。
[0149]
一实施例中的目标是使损失函数最小化:
[0150][0151]
其中pc是各问题类别的概率分布;ys和ps这两者的下标i,表示序号。问题分类任务和答案选择任务(即基本的多任务网络、基本的多任务网络)的总损失可计算为:
[0152][0153]
以上对于步骤s10设计基本的答案选择和问题分类多任务网络进行了一个说明。下面对步骤s20在基本的多任务网络的基础上设计和引入共享任务网络进行说明。
[0154]
请参照图2,对于步骤s20,在问题分类任务、网络或者说问题分类的基本网络当中加入一个共享任务网络,以改善问题的表示学习,并向答案选择任务提供更多的问题相关
信息;从图中可以看到,双向长短记忆网络的输出是共享任务网络的输入,共享任务网络的输出是完全连接层的输入;步骤s20具体涉及s21~s22,下面详细说明。
[0155]
步骤s21:与基本的多任务模型相同,先使用双向长短期记忆网络处理问题句子并获得单个问题中相邻单词之间的依存关系。
[0156]
然后,将所有隐藏单元的状态串联起来作为注意力机制的输入,其输出是权重wc的向量:
[0157]
wc=softmax(w
c2
tanh(w
c1hq
))
ꢀꢀꢀꢀ
(13)
[0158]
其中是权重矩阵,u是隐藏单位大小。中是参数的权重矩阵,da和r是可以任意设置的超参数。在常规注意力机制中,w
c2
通常是属于的向量。考虑到一个句子可能包含组成整个句子的多个语义成分,本发明通过扩展r引入w
c2
。因此,问题的最终表示更能反映句子的特定组成部分如单词或短语等。问题句子的表示q为:
[0159]
q=wchqꢀꢀꢀꢀꢀꢀꢀꢀ
(14)
[0160]
一些例子中,在步骤s10中基本的答案选择和问题分类多任务网络中的hq可以更新为q,例如公式(10)中的hq可以更新为q。
[0161]
步骤s22:问题的类型信息包含在问题表示中,这有助于减少潜在答案的搜索空间,从而使答案的选择更加有效和准确。一些实施例中,利用q及其问题类型信息,生成一个共享的注意力矩阵,如下所示:
[0162]
uq=ucq u
ꢀꢀꢀꢀꢀꢀꢀ
(15)
[0163]
其中uc是可学习的权重矩阵,u是等式(4)中提到的注意力矩阵,可用于计算问题和答案的相关性。本发明一些实施例中,用uq代替u进行公式(4)的计算。当设置uc=0,ucq=0时,共享任务矩阵uq等效于u。引入共享任务网络的一个重要目的,就是将注意力矩阵u更新为共享注意力矩阵uq;也即使用共享注意力矩阵uq来代替注意力矩阵u。
[0164]
步骤s30在基本的多任务网络的基础上设计和引入共享标签嵌入网络,以学习标签嵌入之间的传递函数,从而能够利用带注释的数据集以及未被标记的数据;这具体涉及s31~s33,下面详细说明。其中图3为在基本的多任务网络的基础上设计和引入共享标签嵌入网络,图4为在基本的多任务网络的基础上设计和引入共享任务网络和共享标签嵌入网络例子。
[0165]
步骤s31:共享标签嵌入网络在带标签的问题数据集中进行训练。与上述使用softmax层的方法不一样,一些实施例中,引入了一个相似度计算函数来测量标签嵌入向量l和隐藏表示x=[q
out
:s(q
out
;a
out
):a
out
]之间的相似度:
[0166]
s=l
·
x
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(16)
[0167]
其中“·”是点积,是标签嵌入矩阵,标签嵌入向量lj组成标签嵌入矩阵l,d
l
是标签嵌入向量的维度。
[0168]
步骤s32:标签嵌入向量学习标签之间的关系,而概率分布pj则对细粒度信息进行编码。问题句子的标签嵌入oq(指问题的伪标签)可通过softmax函数获得:
[0169][0170]
将标签的嵌入向量lj输入到多层感知器中,该标签通过对数似然函数进行训练,以生成用于问题分类的问题伪标签:
[0171][0172]
一些实施例中,并不是将所有而是将相似度s比较高的标签嵌入向量输入到多层感知器中,从而得到伪标签。
[0173]
步骤s33:将损失项添加到公式(12)中所示的多任务学习损失中,即:
[0174][0175]
通过将答案句子替换问题句子作为问题分类任务或者说网络的输入,还可以从多层感知器中获得答案的伪标记嵌入oa。为了充分利用标签信息,一些实施例中,可以将这些标签嵌入视为隐藏层的输入,并将它们嵌入到现有的向量中:
[0176]
x=[q
out
:oq:s(q
out
;a
out
):a
out
:oa]
ꢀꢀꢀꢀꢀꢀ
(20)
[0177]
公式(20)中的x可以用来更新或者说替换隐藏层或者说隐含层的输入,即更新或替换公式(8)和/或公式(16)中的x。
[0178]
共享标签嵌入网络的一个作用是:获取没有标签的问题的伪标签,以及当将答案替换问题输入到问题分类任务时,可以获取答案的伪标签,然后将具有伪标签的问题,具有伪标签的答案作问题分类任务的训练集;共享标签嵌入网络的另一个作用是:通过考虑伪标签来构建隐藏层或者说隐含层的输入x,例如公式(20)中的x可以用来更新或者说替换隐藏层或者说隐含层的输入,即更新或替换公式(8)和/或公式(16)中的x。
[0179]
因此,本发明一些实施例中提供了一种基于多任务学习中的答案选择和问题分类模型;利用新型的答案选择和问题分类的多任务学习架构实现两个任务之间的相互交互;实现共享任务网络来关注两个任务之间的关键信息,并采用问题类别信息以改进细粒度的问题分类任务的表示学习;实现共享标签嵌入网络,为未标记的答案句子提供伪标签来以实现对答案选择的辅助预测,从而利用问题分类中所包含的有用信息来提高多任务学习的普适性。本发明一些实施例极大程度地解决了在文本背景知识不足情况下问答系统准确率不高的问题,并对其他自然语言处理任务中存在的相同问题具有一定的借鉴意义。
[0180]
请参照图5,一些实施例中公开一种多任务学习的答案选择和问题分类的模型训练的方法,包括以下步骤:
[0181]
步骤100:获取训练集;所述训练集至少包括问题,问题的标签(即问题的类别标签,例如如why问题,which问题,what问题等),问题对应的一组候选答案;
[0182]
步骤102:通过嵌入层将问题和候选答案分别转换为问题嵌入向量wq和答案嵌入向量wa。
[0183]
例如,给定一个问题q和一组候选答案a={a1,a2,

,an},首先使用嵌入层将其转换为向量表示,然后将这些嵌入向量输入到基本的多任务网络当中。对于给定的句子,其单
词被转换为嵌入表示,字符特征和位置特征也转换为实值表示。因此,单词表示为公式的含义解释见上文的公式(1);然后形成问题嵌入向量wq或者说问题序列向量wq={w1,w2,

,w
lq
},和答案嵌入向量wa或者说答案序列向量wa={w1,w2,

,w
la
}。
[0184]
步骤104:将问题嵌入向量wq和答案嵌入向量wa分别输入到双向长短期记忆网络中,以分别得到问题的初始上下文句子表示hq和答案的初始上下文句子表示ha。
[0185]
对于答案选择任务:
[0186]
步骤110:通过问题嵌入向量wq、答案嵌入向量wa和共享注意力矩阵uq,计算关联性矩阵f,例如:
[0187][0188]
步骤111:对关联性矩阵f的行和列分别进行最大池化操作,以分别生成问题的基于上下文的注意力向量fq和答案的基于上下文的注意力向量fa。
[0189]
步骤112:根据问题的初始上下文句子表示hq和问题的基于上下文的注意力向量fq计算问题的句子表示q
out
=h
qfq
;根据答案的初始上下文句子表示ha和答案的基于上下文的注意力向量fa计算答案的句子表示a
out
=hafa。
[0190]
步骤113:计算问题的句子表示q
out
和答案的句子表示a
out
之间的双线性相似性得分s(q
out
;a
out
),例如
[0191]
步骤114:至少根据问题的句子表示q
out
、答案的句子表示a
out
和双线性相似性得分s(q
out
;a
out
)生成隐含层向量表示x。
[0192]
例如,一些实施例中,步骤114根据问题的句子表示q
out
、答案的句子表示a
out
和双线性相似性得分s(q
out
;a
out
)生成隐含层向量表示x;例如x=[q
out
:s(q
out
;a
out
):a
out
]。
[0193]
再例如,一些实施例中,步骤114根据问题的句子表示q
out
、问题的伪标签、答案的句子表示a
out
、答案的伪标签和双线性相似性得分s(q
out
;a
oot
)生成隐含层向量表示x;例如x=[q
tut
:oq:s(q
out
;a
out
):a
out
:oa]。
[0194]
步骤115:将隐含层向量表示x输入到隐藏层。
[0195]
步骤116:对隐藏层的输出通过答案选择任务的softmax层进行二元分类,例如ys=softmax(wsx bs)。
[0196]
对于问题分类任务,在问题分类任务或者说问题分类网络中可以引入共享任务网络,也可以引入共享标签嵌入网络,还可以同时引入共享任务网络和共享标签嵌入网络;其中,共享任务网络包括注意力机制和计算共享注意力矩阵;共享标签嵌入网络包括标签嵌入与隐藏表示之间相似度计算函数和多层感知器。
[0197]
一、请参照图4和图5,先说明同时引入共享任务网络和共享标签嵌入网络的情况:
[0198]
步骤120:将问题的初始上下文句子表示hq作为注意力机制的输入,以得到权重wc;例如wc=softmax(w
c2
tanh(w
c1hq
))。
[0199]
步骤121:根据权重wc和问题的初始上下文句子表示hq计算得到问题的句子表示q;例如q=wchq。
[0200]
步骤122:基于所述问题的句子表示q,生成所述共享注意力矩阵uq;例如,uq=ucq u;
[0201]
步骤123:将问题的句子表示q,输入到完全连接层。
[0202]
步骤120至步骤123是关于共享任务网络的一些步骤,在基本的多任务网络中,问题分类网络的双向长短期记忆网络的输出为完全连接层的输入,而以引入共享任务网络后,双向长短期记忆网络的输出为共享任务网络的输入,共享任务网络的输出为完全连接层的输入。
[0203]
步骤125:对完全连接层的输出通过问题分类任务的softmax层进行二元分类。例如yc=softmax(h
qmcbq
),或者,例如yc=softmax(qm
cbq
)。
[0204]
步骤130:对于标签,获取并将标签嵌入向量l输入到共享标签嵌入网络,以计算标签嵌入向量l和隐含层向量表示x之间的相似度s,例如s=l
·
x,其中x=[q
out
:s(q
out
;a
out
):a
out
]或者x=[q
out
:oq:s(q
out
;a
out
):a
out
:oa]。
[0205]
步骤131:将标签嵌入向量l输入到共享标签嵌入网络的多层感知器中,得到伪标签,以更新所述训练集。一些实施例中,可以将相似度s大于阈值的标签嵌入向量l输入到共享标签嵌入网络的多层感知器中。
[0206]
一些实施例中,伪标签包括未被标签的问题的伪标签,和/或,答案的伪标签。将问题句子尤其是未被标签的问题句子输入到问题分类任务中,可以得到未被标签的问题的伪标签;类似地,将通过将答案句子替换问题句子作为问题分类任务或者说网络的输入,还可以从多层感知器中获得答案的伪标签。oq表示问题的伪标签或者说伪标签嵌入(向量/表示);oa表示答案的伪标签或者说伪标签嵌入(向量/表示)。
[0207]
二、请参照图2和图6,再说明只引入共享任务网络的情况:
[0208]
步骤120:将问题的初始上下文句子表示hq作为注意力机制的输入,以得到权重wc;例如wc=softmax(w
c2
tanh(w
c1hq
))。
[0209]
步骤121:根据权重wc和问题的初始上下文句子表示hq计算得到问题的句子表示q;例如q=wchq。
[0210]
步骤122:基于所述问题的句子表示q,生成所述共享注意力矩阵uq;例如,uq=ucq u;
[0211]
步骤123:将问题的句子表示q,输入到完全连接层。
[0212]
步骤120至步骤123是关于共享任务网络的一些步骤,在基本的多任务网络中,问题分类网络的双向长短期记忆网络的输出为完全连接层的输入,而以引入共享任务网络后,双向长短期记忆网络的输出为共享任务网络的输入,共享任务网络的输出为完全连接层的输入。
[0213]
步骤125:对完全连接层的输出通过问题分类任务的softmax层进行二元分类。例如yc=softmax(h
qmcbq
),或者,例如yc=softmax(qm
cbq
)。
[0214]
三、请参照图3和图7,再说明只引入共享标签嵌入网络的情况:
[0215]
步骤124:将问题的初始上下文句子表示hq输入到完全连接层。
[0216]
步骤125:对完全连接层的输出通过问题分类任务的softmax层进行二元分类。例如yc=softmax(h
qmcbq
)。
[0217]
步骤130:对于标签,获取并将标签嵌入向量l输入到共享标签嵌入网络,以计算标签嵌入向量l和隐含层向量表示x之间的相似度s,例如s=l
·
x,其中x=[q
out
:s(q
out
;a
out
):a
out
]或者x=[q
out
:oq:s(q
out
;a
out
):a
out
:oa]。
[0218]
步骤131:将标签嵌入向量l输入到共享标签嵌入网络的多层感知器中,得到伪标签,以更新所述训练集。一些实施例中,可以将相似度s大于阈值的标签嵌入向量l输入到共享标签嵌入网络的多层感知器中。
[0219]
一些实施例中,伪标签包括未被标签的问题的伪标签,和/或,答案的伪标签。将问题句子尤其是未被标签的问题句子输入到问题分类任务中,可以得到未被标签的问题的伪标签;类似地,将通过将答案句子替换问题句子作为问题分类任务或者说网络的输入,还可以从多层感知器中获得答案的伪标签。oq表示问题的伪标签或者说伪标签嵌入(向量/表示);oa表示答案的伪标签或者说伪标签嵌入(向量/表示)。
[0220]
以上就是多任务学习的答案选择和问题分类的模型训练的方法的一些说明。
[0221]
在选择培训的损失函数时,本领域技术人员可以根据需求来选择,例如获取答案选择任务的损失函数、问题分类任务的损失函数和共享标签嵌入网络的损失函数,并将这三个损失函数相加得到总损失函数;根据总损失函数进行训练:
[0222][0223][0224][0225][0226]
其中,分别为总损失函数、答案选择任务的损失函数、问题分类任务的损失函数和共享标签嵌入网络的损失函数。
[0227]
本发明一些实施例中还公开了一种多任务学习的答案选择和问题分类的方法,请参照图8,该方法包括以下步骤:
[0228]
步骤200:获取输入信息;所述输入信息包括待分类的问题,或者问题及对应的一组候选答案。
[0229]
步骤210:将所述输入信息输入到多任务学习的答案选择和问题分类的模型中。
[0230]
步骤210中所涉及的多任务学习的答案选择和问题分类的模型可以通过本文中任一实施例的多任务学习的答案选择和问题分类的模型训练的方法进行训练,在此不再赘述。
[0231]
步骤220:多任务学习的答案选择和问题分类的模型输出相应信息。例如当所述输入信息为待分类的问题时,则所述多任务学习的答案选择和问题分类的模型输出问题的分类,当所述输入信息为问题及对应的一组候选答案,则多任务学习的答案选择和问题分类的模型输出从所述候选答案所选取的答案。
[0232]
请参照图9,一些实施例中还公开了一种多任务学习的答案选择和问题分类的系统,包括存储器300和处理器310,其中存储器300用于存储程序;处理器310用于通过执行所述存储器300存储的程序以实现本文中任一实施例所述的多任务学习的答案选择和问题分
类的方法。
[0233]
请参照图10,一些实施例中还公开了一种多任务学习的答案选择和问题分类的模型训练的系统,包括存储器400和处理器410,其中存储器400用于存储程序;处理器410用于通过执行所述存储器400存储的程序以实现本文中任一实施例所述的多任务学习的答案选择和问题分类的模型训练的方法。
[0234]
本发明一些实施例中提出一个基本的答案选择和问题分类多任务网络,实现两个任务之间的相互交互;设计一个共享任务网络来关注答案选择和问题分类任务之间的关键信息,并采用问题类别信息以改进细粒度的问题分类任务的表示学习;提出一个共享标签嵌入网络,为未标记的答案句子提供伪标签来以实现对答案选择的辅助预测,从而利用问题分类中所包含的有用信息来提高多任务学习的普适性。利用本发明可有效地提高答案选择及其辅助任务问题分类的性能,问题类别信息和伪标签也有助于提升两个任务的表示和增强任务间的关联。
[0235]
本文参照了各种示范实施例进行说明。然而,本领域的技术人员将认识到,在不脱离本文范围的情况下,可以对示范性实施例做出改变和修正。例如,各种操作步骤以及用于执行操作步骤的组件,可以根据特定的应用或考虑与系统的操作相关联的任何数量的成本函数以不同的方式实现(例如一个或多个步骤可以被删除、修改或结合到其他步骤中)。
[0236]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。另外,如本领域技术人员所理解的,本文的原理可以反映在计算机可读存储介质上的计算机程序产品中,该可读存储介质预装有计算机可读程序代码。任何有形的、非暂时性的计算机可读存储介质皆可被使用,包括磁存储设备(硬盘、软盘等)、光学存储设备(cd至rom、dvd、blu ray盘等)、闪存和/或诸如此类。这些计算机程序指令可被加载到通用计算机、专用计算机或其他可编程数据处理设备上以形成机器,使得这些在计算机上或其他可编程数据处理装置上执行的指令可以生成实现指定的功能的装置。这些计算机程序指令也可以存储在计算机可读存储器中,该计算机可读存储器可以指示计算机或其他可编程数据处理设备以特定的方式运行,这样存储在计算机可读存储器中的指令就可以形成一件制造品,包括实现指定功能的实现装置。计算机程序指令也可以加载到计算机或其他可编程数据处理设备上,从而在计算机或其他可编程设备上执行一系列操作步骤以产生一个计算机实现的进程,使得在计算机或其他可编程设备上执行的指令可以提供用于实现指定功能的步骤。
[0237]
虽然在各种实施例中已经示出了本文的原理,但是许多特别适用于特定环境和操作要求的结构、布置、比例、元件、材料和部件的修改可以在不脱离本披露的原则和范围内使用。以上修改和其他改变或修正将被包含在本文的范围之内。
[0238]
前述具体说明已参照各种实施例进行了描述。然而,本领域技术人员将认识到,可以在不脱离本披露的范围的情况下进行各种修正和改变。因此,对于本披露的考虑将是说明性的而非限制性的意义上的,并且所有这些修改都将被包含在其范围内。同样,有关于各种实施例的优点、其他优点和问题的解决方案已如上所述。然而,益处、优点、问题的解决方案以及任何能产生这些的要素,或使其变得更明确的解决方案都不应被解释为关键的、必需的或必要的。本文中所用的术语“包括”和其任何其他变体,皆属于非排他性包含,这样包括要素列表的过程、方法、文章或设备不仅包括这些要素,还包括未明确列出的或不属于该过程、方法、系统、文章或设备的其他要素。此外,本文中所使用的术语“耦合”和其任何其他
变体都是指物理连接、电连接、磁连接、光连接、通信连接、功能连接和/或任何其他连接。
[0239]
具有本领域技术的人将认识到,在不脱离本发明的基本原理的情况下,可以对上述实施例的细节进行许多改变。因此,本发明的范围应仅由权利要求确定。
再多了解一些

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

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

相关文献