一种双注意力训练序列生成方法、装置及可读存储介质与流程

文档序号:26589336发布日期:2021-09-10 20:22阅读:103来源:国知局
一种双注意力训练序列生成方法、装置及可读存储介质与流程

1.本发明涉及计算机深度学习领域,尤其涉及一种双注意力训练序列生成方法、装置及可读存储介质。


背景技术:

2.随着计算机领域的不断发展,各种基于机器学习的技术也在不断革新。
3.深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。
4.在自然语言处理深度学习技术发挥着举足轻重的作用,通过深度学习技术对自然语言处理可以使机器完成相应的问答、记录、查询等操作,在现如今智能服务领域有着极其广阔的运用。
5.一方面,对于学习模型的构建能影响自然语言处理的能力,另一方面,学习模型的输入训练数据也对自然语言处理能力有着直接影响,在进行模型训练前,我们都需要对训练数据进行筛选,标注,预处理等操作,目的就是时输入的训练数据能训练出我们想要的模型。针对训练数据的处理便成为提高自然语言处理能力的关键所在。
6.现有技术通常采用iobes对槽值序列进行标注,槽值标签种类过多,模型训练拟合较为困难,且未对槽值标签信息进行有效的利用,但采用io、ioe1等:方案时又未能对各类标签进行有效的区分。
7.为此,申请号为:cn202011024360.7的发明申请提供了一种深度学习序列标注方法、装置及计算机可读存储介质;该申请利用初始化的embedding层将待处理文本的句子中的每个字进行预处理,获取所述待处理文本中的每个字的字向量;通过bi

lstm层对所述字向量进行处理,获取所述待处理文本的文本特征;通过softmax层对所述文本特征进行处理,获取所述文本特征的预测标注位置;通过loss层对所述文本特征的预测标注位置进行处理,完成所述待处理文本的序列标注。该申请在于提出了一种新的计算loss值的方法,提高在深度学习中序列标注的准确性,但是,槽值标签种类过多依旧过多,且训练序列只包含了一种注意力信息。
8.因此,有必要提供一种新的,能有效利用槽值,且能减少槽值标签种类的训练序列生成方法来解决上述技术问题。


技术实现要素:

9.为解决上述技术问题,本发明提供的一种双注意力训练序列生成方法,其特征在于,通过构建面向输入文本中字符的重要度和输入文本中字符对应槽值关联度的双注意力机制模型来生成对应输入文本的双注意力训练序列,所述双注意力训练序列用于供面向语
言理解的深度学习模型进行训练学习;
10.所述双注意力机制模型用于包括对输入文本的向量转换,对输入文本本向量的维度转换,对输入文本矩阵的关联转换和对输入文本中字符的重要度、输入文本中字符对应槽值关联度进行状态关联;
11.所述双注意力机制模型包括字符

隐状态路径、槽值

query值路径和状态关联路径;
12.通过字符

隐状态路径得到输入文本的关联隐状态矩阵,所述关联隐状态矩阵用于衡量输入文本中各字符的重要度;
13.通过槽值

query值路径得到槽值序列的释义矩阵,释义矩阵用于衡量输入文本中字符对应槽值关联度;
14.状态关联路径用于将释义矩阵和关联隐状态矩阵进行状态关联,并得到关联状态矩阵,所述关联状态矩阵用于生成双注意力训练序列。
15.作为更进一步的解决方案,所述双注意力机制模型包括输入文本层、embedding层、bi

lstm层、query值释义层、bi

attention层、dense层和softmax函数层;
16.所述输入文本层包括文本

向量转化层和文本

槽值标注层;所述文本

向量转化层通过字符

索引字典将输入文本转化成以索引为元素的输入文本向量;所述文本

槽值标注层用于对输入文本中各字符的槽值进行标注,并得到与输入文本所对应的槽值序列;
17.所述embedding层用于对输入文本中的每个字符进行预处理,得到所述输入文本中的每个字符的字向量并组成向量矩阵,按维度需求将低纬度向量映射到高纬度向量并组成高纬度向量的映射矩阵;
18.所述bi

lstm层包括前向lstm和后向lstm;所述bilstm层将经embedding层转换的高纬向量矩阵输入到bilstm层中,将前向lstm输出的隐向量与后向lstm在各个位置的隐状态向量按位进行拼接,得到前后关联的隐状态向量;
19.所述query值释义层用于对输入文本所对应的槽值序列进行槽值释义,释义内容保存至各槽值元素释义向量中;
20.所述bi

attention层用于分析输入文本中字符的重要度和输入文本中字符对应槽值关联度,并得到包含字符的重要度和槽值关联度双注意力的双注意力训练序列;
21.所述dense层用于通过线性变换对输入向量进行维度变换,并将设定维度向量进行输出;
22.所述softmax函数层通过归一化指数函数分别对输入向量中各元素的权值占比进行计算,并根据权值占比进行分类输出。
23.作为更进一步的解决方案,所述双注意力机制模型通过字符

隐状态路径得到关联隐状态矩阵,所述字符

隐状态路径步骤如下:
24.通过所述输入文本层将输入文本转化为输入文本向量
25.将输入文本向量输入到embedding层,并通过embedding层将输入文本向量转化成与槽值序列维度相同的输入文本矩阵;
26.将输入文本矩阵输入给bi

lstm层;bi

lstm层通过前向lstm和后向lstm得到输入文本矩阵的前向隐状态向量和后向隐状态向量;
27.bi

lstm层将前向隐状态向量和后向隐状态向量按照在元素对应位置进行拼接,
得到前后关联的关联隐状态向量;
28.通过bi

lstm层得到输入文本矩阵中各输入文本向量的关联隐状态向量,并组成关联隐状态矩阵。
29.作为更进一步的解决方案,所述双注意力机制模型通过槽值

query值路径得到释义矩阵,所述槽值

query值路径步骤如下:
30.通过对输入文本中各字符进行槽值标注,得到对应的槽值序列;
31.通过query值释义层对槽值序列中各槽值元素进行释义,释义内容保存至各槽值元素释义向量中;
32.通过槽值元素和对应的释义向量得到释义矩阵。
33.作为更进一步的解决方案,所述槽值标注通过人工和/或机器进行标注;所述释义向量中的释义内容包括槽值的同义替换词、槽值的文意释义、槽值的替换词关联度信息和与槽值对应的释义信息,所述释义向量的维度与释义内容量成正比。
34.作为更进一步的解决方案,所述双注意力机制模型通过状态关联路径得到关联状态矩阵,所述状态关联路径步骤如下:
35.将关联隐状态矩阵与释义矩阵做矩阵乘法得到关联状态矩阵;
36.对关联状态矩阵做重要状态向求和,得到字符重要状态向量;
37.通过softmax函数层求出字符重要状态向量中各字符在输入文本中的重要度权重值;
38.将各字符在输入文本中的重要度权重值作为向量元素,得到字符重要度向量;
39.对关联状态矩阵做关联状态向求和,得到槽值关联状态向量;
40.通过softmax函数层求出槽值关联状态向量中各槽值与对应字符的关联度权重值;
41.将各槽值与对应字符的关联度权重值作为向量元素,得到槽值关联度向量;
42.将字符重要度向量与槽值关联度向量在末项维度进行首尾拼接,得到双注意力向量。
43.作为更进一步的解决方案,所述重要状态向、和关联状态向通过如下步骤进行确定:
44.将输入文本向量的向量元素设置为关联隐状态矩阵的行向元素,关联隐状态矩阵的列向通过embedding层进行扩充;
45.将槽值元素设置为释义矩阵的行向元素,槽值元素对应释义向量的向量元素设置为释义矩阵的列向元素;
46.关联状态矩阵的行向则为关联状态向;关联状态矩阵的列向则为重要状态向。
47.作为更进一步的解决方案,在将双注意力向量供以面向语言理解的深度学习模型进行训练学习前还需进行双序列标注,所述双序列标注包括如下步骤:
48.将双注意力向量通过iob2法进行标注,并得到原始标注序列;
49.将原始标注序列的标注前缀去除,并将去除前缀的原始标注序列分为起始标注序列和结束标注序列;
50.起始标注序列用于对同一类型标注的起始标注进行记录,对于连续出现的多个同一类型标注只保留第一个出现的标注;
51.结束标注序列用于对同一类型标注的结束标注进行记录,对于连续出现的多个同一类型标注只保留最后一个出现的标注。
52.作为更进一步的解决方案,本发明提供一种双注意力训练序列生成装置,所述电子设备包括至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的双注意力训练序列生成方法。
53.作为更进一步的解决方案,本发明提供一种双注意力训练序列生成计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上所述的双注意力训练序列生成方法。
54.与相关技术相比较,本发明提供的一种双注意力训练序列生成方法、装置及可读存储介质具有如下有益效果:
55.1、本发明通过构建面向输入文本中字符的重要度和输入文本中字符对应槽值关联度的双注意力机制模型来生成对应输入文本的双注意力训练序列,槽值关联度根据槽值的query释义矩阵作为先验知识进行衡量,能使训练序列同时具备重要度特征和关联度特征;
56.2、本发明通过bi

lstm层使训练序列前后关联,并计算其权重占比,从而得到输入文本中字符的重要度,将该训练序列作为训练数据能得到对重要信息关注度更好的模型;
57.3、本发明通过双序列标注法减少了传统标注法所使用到的槽值标签数目,有助于训练模型的拟合和效率提升。
附图说明
58.图1为本发明提供的一种双注意力训练序列生成方法的较佳实施例系统示意图;
59.图2为本发明提供的一种双注意力训练序列生成方法的较佳实施例状态关联路径示意图;
60.图3为本发明提供的一种双注意力训练序列生成方法的较佳实施例双序列标注流程示意图。
具体实施方式
61.下面结合附图和实施方式对本发明作进一步说明。
62.如图1至图3所示,本发明一种双注意力训练序列生成方法,其特征在于,通过构建面向输入文本中字符的重要度和输入文本中字符对应槽值关联度的双注意力机制模型来生成对应输入文本的双注意力训练序列,所述双注意力训练序列用于供面向语言理解的深度学习模型进行训练学习;所述双注意力机制模型用于包括对输入文本的向量转换,对输入文本本向量的维度转换,对输入文本矩阵的关联转换和对输入文本中字符的重要度、输入文本中字符对应槽值关联度进行状态关联;所述双注意力机制模型包括字符

隐状态路径、槽值

query值路径和状态关联路径;通过字符

隐状态路径得到输入文本的关联隐状态矩阵,所述关联隐状态矩阵用于衡量输入文本中各字符的重要度;通过槽值

query值路径得到槽值序列的释义矩阵,释义矩阵用于衡量输入文本中字符对应槽值关联度;状态关联路径用于将释义矩阵和关联隐状态矩阵进行状态关联,并得到关联状态矩阵,所述关联状
态矩阵用于生成双注意力训练序列。
63.需要说明的是:双注意力机制能使训练数据兼顾两方面的特征,对于自然语言识别有着积极作用,自然语言中的信息并非全部重要,故我们需要对输入本文中各字符的重要度进行评估,有侧重地去理解重要的字符,而不是那么重要的内容对模型的影响应该较小,同时,输入文本中字符对应槽值并不是完全匹配,不能单一认为字符对应的槽值就是和字符严格对应的,故我们需要对字符对应槽值进行评估,并通过输入文本中字符对应槽值关联度来反应匹配程度,并且我们可以通过选择评分最高的标签来填充槽值;而对最佳槽值填充通过softmax函数进行选择。
64.作为更进一步的解决方案,所述双注意力机制模型包括输入文本层、embedding层、bi

lstm层、query值释义层、bi

attention层、dense层和softmax函数层;
65.所述输入文本层包括文本

向量转化层和文本

槽值标注层;所述文本

向量转化层通过字符

索引字典将输入文本转化成以索引为元素的输入文本向量;所述文本

槽值标注层用于对输入文本中各字符的槽值进行标注,并得到与输入文本所对应的槽值序列;
66.所述embedding层用于对输入文本中的每个字符进行预处理,得到所述输入文本中的每个字符的字向量并组成向量矩阵,按维度需求将低纬度向量映射到高纬度向量并组成高纬度向量的映射矩阵;
67.所述bi

lstm层包括前向lstm和后向lstm;所述bilstm层将经embedding层转换的高纬向量矩阵输入到bilstm层中,将前向lstm输出的隐向量与后向lstm在各个位置的隐状态向量按位进行拼接,得到前后关联的隐状态向量;
68.所述query值释义层用于对输入文本所对应的槽值序列进行槽值释义,释义内容保存至各槽值元素释义向量中;
69.所述bi

attention层用于分析输入文本中字符的重要度和输入文本中字符对应槽值关联度,并得到包含字符的重要度和槽值关联度双注意力的双注意力训练序列;
70.所述dense层用于通过线性变换对输入向量进行维度变换,并将设定维度向量进行输出;
71.所述softmax函数层通过归一化指数函数分别对输入向量中各元素的权值占比进行计算,并根据权值占比进行分类输出。
72.需要说明的是:字符

隐状态路径主要是用于将输入文本中的字符进行前后关联,输入文本中的各字符受前后文影响,其重要程度也不尽相同,例如输入文本:“我明天要去上海,那里的天气怎么样?”中,“那里”所代指的明显是“上海”,但若不进行前后文关联,模型便无法将两者产生联系,本实施例通过bi

lstm层将前后文产生联系,有助于模型的训练。
73.作为更进一步的解决方案,所述双注意力机制模型通过字符

隐状态路径得到关联隐状态矩阵,所述字符

隐状态路径步骤如下:
74.通过所述输入文本层将输入文本转化为输入文本向量
75.将输入文本向量输入到embedding层,并通过embedding层将输入文本向量转化成与槽值序列维度相同的输入文本矩阵;
76.将输入文本矩阵输入给bi

lstm层;bi

lstm层通过前向lstm和后向lstm得到输入文本矩阵的前向隐状态向量和后向隐状态向量;
77.bi

lstm层将前向隐状态向量和后向隐状态向量按照在元素对应位置进行拼接,得到前后关联的关联隐状态向量;
78.通过bi

lstm层得到输入文本矩阵中各输入文本向量的关联隐状态向量,并组成关联隐状态矩阵。
79.需要说明的是:槽值

query值路径主要是对槽值的定义进行详细释义,并提供可以替代的,相似的其他槽值进行替换,分别计算其关联度,将最高关联度的向量进行输出并用于机器学习。
80.作为更进一步的解决方案,所述双注意力机制模型通过槽值

query值路径得到释义矩阵,所述槽值

query值路径步骤如下:
81.通过对输入文本中各字符进行槽值标注,得到对应的槽值序列;
82.通过query值释义层对槽值序列中各槽值元素进行释义,释义内容保存至各槽值元素释义向量中;
83.通过槽值元素和对应的释义向量得到释义矩阵。
84.作为更进一步的解决方案,所述槽值标注通过人工和/或机器进行标注;所述释义向量中的释义内容包括槽值的同义替换词、槽值的文意释义、槽值的替换词关联度信息和与槽值对应的释义信息,所述释义向量的维度与释义内容量成正比。
85.作为更进一步的解决方案,所述双注意力机制模型通过状态关联路径得到关联状态矩阵,所述状态关联路径步骤如下:
86.将关联隐状态矩阵与释义矩阵做矩阵乘法得到关联状态矩阵;
87.对关联状态矩阵做重要状态向求和,得到字符重要状态向量;
88.通过softmax函数层求出字符重要状态向量中各字符在输入文本中的重要度权重值;
89.将各字符在输入文本中的重要度权重值作为向量元素,得到字符重要度向量;
90.对关联状态矩阵做关联状态向求和,得到槽值关联状态向量;
91.通过softmax函数层求出槽值关联状态向量中各槽值与对应字符的关联度权重值;
92.将各槽值与对应字符的关联度权重值作为向量元素,得到槽值关联度向量;
93.将字符重要度向量与槽值关联度向量在末项维度进行首尾拼接,得到双注意力向量。
94.作为更进一步的解决方案,所述重要状态向、和关联状态向通过如下步骤进行确定:
95.将输入文本向量的向量元素设置为关联隐状态矩阵的行向元素,关联隐状态矩阵的列向通过embedding层进行扩充;
96.将槽值元素设置为释义矩阵的行向元素,槽值元素对应释义向量的向量元素设置为释义矩阵的列向元素;
97.关联状态矩阵的行向则为关联状态向;关联状态矩阵的列向则为重要状态向。
98.需要说明的是:关联状态向和重要状态向是根据关联隐状态矩阵和释义矩阵的横纵坐标元素决定的,本实施选择上述方式,固定将关联状态矩阵的行向作为关联状态向;关联状态矩阵的列向作为重要状态向,方便执行。
99.需要说明的是:将字符重要度向量与槽值关联度向量进行拼接会得到两倍于最开始输入文本槽值序列维度的双注意力向量,我们可通过dense层降维还原为初始维度。
100.作为更进一步的解决方案,在将双注意力向量供以面向语言理解的深度学习模型进行训练学习前还需进行双序列标注,所述双序列标注包括如下步骤:
101.将双注意力向量通过dense层降维还原为初始维度,初始维度与槽值序列相同;
102.将双注意力向量通过iob2法进行标注,并得到原始标注序列;
103.将原始标注序列的标注前缀去除,并将去除前缀的原始标注序列分为起始标注序列和结束标注序列;
104.起始标注序列用于对同一类型标注的起始标注进行记录,对于连续出现的多个同一类型标注只保留第一个出现的标注;
105.结束标注序列用于对同一类型标注的结束标注进行记录,对于连续出现的多个同一类型标注只保留最后一个出现的标注。
106.需要说明的是:在训练前我们需要对训练数据进行标注,以便模型知道槽值在其序列当中所处的位置,现有标注方法有:iob1、ioe1、ioe2、iobes、io等,常用的有iob2、iobs和iobes,但是采用传统标注方法会存在标签数目众多,从而影响模型的效率,例如iobes就包含了5种标签,文本块由单个字符组成的时候,使用s标签来表示,由一个以上的字符组成时,首字符总是使用b标签,尾字符总是使用e标签,中间的字符使用i标签,o,即other,表示其他,用于标记无关字符。为了解决以上问题,本实施例通过双序列标注法对训练数据进行标注,例如:
107.通过iob2进行标注的原始标签为:“o o o o o b

restaurant_type o b

city i

city b

state o b

party_size_description i

party_size_description i

party_size_description i

party_size_description”。
108.则去掉前缀后的原始标签为“o o o o o restaurant_type o city city state o party_size_description party_size_description party_size_description party_size_description”。
109.起始标注序列用于对同一类型标注的起始标注进行记录,对于连续出现的多个同一类型标注只保留第一个出现的标注,则起始序列为:“o o o o o restaurant_type o city o state o party_size_description o o o”。
110.结束标注序列用于对同一类型标注的结束标注进行记录,对于连续出现的多个同一类型标注只保留最后一个出现的标注,则结束标注序列为:“o o o o o restaurant_type o o city state o o o o party_size_description”。
111.通过起始序列和结束标注序列就能确定各槽值的对应位置,且所涉及到的标签只有用于标记无关字符o,能使模型的学习效率更高。
112.作为更进一步的解决方案,本发明提供一种双注意力训练序列生成装置,所述电子设备包括至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的双注意力训练序列生成方法。
113.作为更进一步的解决方案,本发明提供一种双注意力训练序列生成计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上所述的
双注意力训练序列生成方法。
114.以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1