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

开放性文本生成方法以及存储介质

2022-08-21 19:20:08 来源:中国专利 TAG:


1.本发明涉及自然语言处理领域,具体涉及一种开放性文本生成方法以及存储介质。


背景技术:

2.生成尽可能真实的长文本一直是人工智能领域的一个目标,同是有着广泛的应用需求。而作为完全使用机器生成长文本的方式,生成质量一直饱受关注。现阶段能生成较好文本质量的生成系统使用神经网络语言模型加解码算法这一生成框架。该生成框架进行文本生成的过程分为两步:第一步利用语言模型生成条件概率分布;第二步利用解码算法从该概率分布中选择一个字符。虽然目前在语言模型建模方面取得了长足的进步,但解码算法一直被报告为生成过程中的技术细节。
3.由于对生成文本的多样性有所需求,因此通常使用随机解码类算法从模型生成的概率分布中进行字符选择。但随机解码算法有一个缺点:文本虽然表面看起来通顺,但却能被专家或者专门的识别程序识别,且生成的长文本仍会有偏离主题,文本退化和相互矛盾的问题,即会发生严重的文本退化。这是由于随机类解码算法在解码阶段没有起到应有的作用,即将更多的控制信息交给解码工作而不是进行随机采样可以提高文本生成的质量。
4.目前最主要的开放性文本生成解码算法主要有以下几种:
5.1.完全随机采样:完全随机采样方法利用多项式采样方法对概率分布中的所有词进行采样,其采样结果数是词表的大小,每个词的权重为概率分布中的概率。由于采样过程中混杂了建模不准确的低频词,完全随机采样生成的文本可读性和通顺程度较差,并在生成过程中造成严重的文本退化。
6.2.温度采样:温度采样生成方法是通过温度参数来重新塑造概率分布后进行采样。给定求概率分布softmax函数前的逻辑值和和温度参数t,在温度参数t的控制下,softmax函数会将字符的概率进行重新估计。温度采样利用指数函数的非线性缩放功能使得概率分布向高概率字符倾斜,降低了概率分布中低概率词被采样算法捕获的可能性。实验分析表明,虽然降低温度参数t的值可以提高生成质量,但它同样会减少多样性,因此,通常在其他采样算法之前利用温度采样方法来重新塑造概率分布,以部分缓解随机采样算法中的文本退化问题。
7.3.top-k采样:作为一种流行的随机采样算法,可以将top-k采样定义为在每个时间步骤中,根据概率分布中的相对概率,从前k大个可能的概率分布内的字符中进行采样。topk采样算法实现直白简单,虽然topk采样比在完整的概率分布中进行随机采样生成的文本质量要高得多,然而在不同的语境需要使用不同大小的k,而动态的选择合适的k是一个困难的问题。
8.4.核采样:核采样算法的主要思想是利用概率分布的形状来确定要需要采样的字符集,从而解决了topk采样中的问题。核采样中的方法只选择概率最高的字符,其采样集的大小根据每个时间步生成的概率分布动态调整。其采样的部分是概率分布中概率最高的部
分。
9.无论是温度采样更改概率分布,还是topk采样和核采样选择特定目标的字符进行采样,目标是一致的,即提高“高概率词”的影响,并降低“低概率词”的影响。这种高概率选择倾向和采样过程中的随机性会导致文本生成质量的持续性下降。
10.现有的开放性文本生成算法主要利用按照语言模型生成概率分布中字符的概率大小进行采样,生成的文本面临着长文本退化,逻辑一致性差,事实不一致等问题,且不能通过调整这些算法本身的参数来进行修正。因此期望在生成过程中的解码步骤因此更多控制信息来提高文本生成的质量。


技术实现要素:

11.为了解决或缓解上述部分或全部技术问题,本发明是通过如下技术方案实现的:
12.一种开放性文本生成方法,该开放性文本生成方法包括如下步骤:
13.步骤1:词编码步骤,用于对文本进行预处理,以及文本的预编码,获得词编码的结果。
14.步骤2:语言模型处理步骤,用于根据词编码的结果,生成下个词的概率分布。
15.步骤3:中间处理步骤,用于处理下个词的概率分布和语言模型中最后一个解码器层的隐层向量序列以提供给解码步骤,以执行训练或字符预测。
16.步骤4:解码步骤,用于根据语言模型处理步骤对文本的编码提供的输入进行训练或者字符预测以生成文本。
17.在某类实施例中,所述语言模型采用的是基于transformer语言模型。
18.在某类实施例中,所述中间处理步骤包括:
19.子步骤1):将隐层向量序列作为输入a;
20.子步骤2):根据文本的字符序列和语言模型输出的下个词概率分布序列,计算得到文本的信息量序列,并将该文本信息量序列作为作为训练目标y;
21.子步骤3):将训练目标y右移并在首位补0得到输出信息序列b;
22.子步骤4):根据下个词概率分布序列,计算每个概率分布的熵得到熵序列c;
23.子步骤5):将输入信息量序列b和熵序列c进行拼接处理作为解码模型的信息嵌入a,将语言模型输出的最后一层logistics向量作为语义嵌入熵序列c,信息嵌入、语义嵌入与训练目标作为中间处理层的输出结果。
24.在某类实施例中,所述解码步骤包括如下子步骤:
25.a)对输入的信息嵌入a和语义嵌入c进行线性映射并投影到相同维度得到a

和c

,初始化距离嵌入p,将a

,c

,p相加得到解码模型的语义理解目标s;
26.b)利用m个包含多头注意力层和前向连接层的transformer解码模块对合并后的语义理解目标s进行处理,其中m为正整数;
27.c)将m个transformer解码模块最终输出的语义向量映射为一个一维的预测信息量序列,并与真实信息量序列进行拟合,使用l1正则损失来拟合误差;
28.d)在生成阶段,从最后一个词的概率分布dn中选择信息量最接近解码模块输出的预测信息量p
n 1
的字符作为生成的字符。
29.在某类实施例中,在生成阶段,通过如下方式获取生成的字符:从下个词的概率分
布中选择最接近的k个字符进行采样来得到候选字符,k为用户自定义筛选数。
30.在某类实施例中,该开放性文本生成方法还包括如下步骤:清洗步骤,其被用于清洗训练文本。
31.在某类实施例中,利用如前任意一项所述的开放性文本生成方法,迭代式地生成不同长度的文本,在遇到结束符或者用户定义长度时结束。
32.一种存储介质,该存储介质上存储有计算机可读代码,处理器读取该计算机可读代码,用于执行前述任意一项所述的开放式文本生成方法。
33.本发明的部分或全部实施例,具有如下有益技术效果:
34.1)本发明在文本生成解码方法过程中引入更多的控制信息。在开放性文本生成方法中选用主流的生成框架和语言模型,提出了基于深度神经模型的解码方法,并在此基础上利用语言模型和语料训练该解码模型。相较于之前的解码方法,该解码模型在静态评价指标和文本生成人工评价方面都取得了更好的效果,被证明能够提升文本生成质量。
35.2)该方法在训练阶段通过拟合文本在语言模型产生的信息序列来进行训练解码模型,在生成阶段根据解码模型预测的字符信息从概率分布中进行选择,拥有最大和多样性等不同的解码方法。
36.更多的有益效果将在优选实施例中作进一步的介绍。
37.以上披露的技术方案/特征,旨在对具体实施方式部分中所描述的技术方案、技术特征进行概括,因而记载的范围可能不完全相同。但是该部分披露的这些新的技术方案同样属于本发明文件所公开的众多技术方案的一部分,该部分披露的技术特征与后续具体实施方式部分公开的技术特征、未在说明书中明确描述的附图中的部分内容,以相互合理组合的方式披露更多的技术方案。
38.本发明任意位置所披露的所有技术特征所组合出的技术方案,用于支撑对技术方案的概括、专利文件的修改、技术方案的披露。
附图说明
39.图1是开放性文本生成方法的整体流程;
40.图2是语言模型处理步骤的具体流程;
41.图3是中间处理步骤的示意图;
42.图4是解码步骤的示意图。
具体实施方式
43.由于不能穷尽描述各种替代方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案中的要点内容进行清楚、完整地描述。对于下文未详细披露的其它的技术方案和细节,一般均属于本领域通过常规手段即可实现的技术目标或技术特征,限于篇幅,本发明不对其详细介绍。
44.除非是除法的含义,本发明中任意位置的“/”均表示逻辑“或”。本发明任意位置中的“第一”、“第二”等序号仅仅用于描述上的区分标记,并不暗示时间或空间上的绝对顺序,也不暗示冠以这种序号的术语与冠以其它定语的相同术语必然是不同的指代。
45.本发明会对各种用于组合成各种不同具体实施例的要点进行描述,这些要点将被
组合至各种方法、产品中。在本发明中,即便仅在介绍方法/产品方案时所描述的要点,意味着对应的产品/方法方案也明确地包括该技术特征。
46.本发明中任意位置处描述存在或包括某步骤、模块、特征时,并不暗示这种存在是排它性地唯一存在,本领域技术人员完全可以根据本发明所披露的技术方案而辅以其它技术手段而获得其它实施例;基于本发明中具体实施例描述的要点,本领域技术人员完全可以对某些技术特征施加替换、删减、增加、组合、调换顺序等手段,获得一个仍遵循本发明构思的技术方案。这些未脱离本发明技术构思的方案也在本发明保护范围之内。
47.图1展示了本发明开放性文本生成方法的整体流程。本发明公开的开放性文本生成方法包括:
48.步骤1:词编码步骤,用于对文本进行预处理,以及文本的预编码,获得词编码的结果。
49.步骤2:语言模型处理步骤,用于根据词编码的结果,生成下个词的概率分布(即概率表)。
50.步骤3:中间处理步骤,用于处理下个词的概率分布和语言模型中最后一个解码器层的隐层向量序列以提供给解码步骤,以执行训练或字符预测。
51.步骤4:解码步骤,用于根据语言模型处理步骤对文本的编码提供的输入进行训练或者字符预测以生成文本。
52.可选地,本发明还包括:清洗步骤,其被用于清洗训练文本。
53.进一步地,利用前述的文本生成方法,迭代式地生成不同长度的文本,在遇到结束符或者用户定义长度时结束。
54.图2公开了前述的语言模型处理步骤的具体流程。在输入语言模型前,包括还可以包括如下步骤:
55.对文本语料进行清洗,按照子词编码方法建立子词表,根据子词表对输入文本进行分词。
56.根据前述分词的结果,将其输入语言模型。举例地,本发明的语言模型为transformer语言模型,基于该语言模型执行如下具体的语言模型处理步骤:
57.子步骤a):将训练集中的序列打乱并依次批量输入transformer语言模型;
58.子步骤b):transformer语言模型对输入执行编码预处理操作,将其转化为词嵌入,然后再合并位置嵌入信息得到上下文嵌入。
59.子步骤c):将预处理后得到的上下词嵌入输入神经网络,分别与三个权重矩阵运算得到q、k、v三个矩阵,q、k、v分别经过自注意力模块得到每个字符与其他字符之间的注意力分数矩阵,运算方式如下:
[0060][0061]
其中q是目标词矩阵,k是关键词矩阵,v是原始特征,dk为一个query和key向量的维度,i为序号标记,1≤i≤n,m为自回归式的掩码矩阵,n为当前序列长度;
[0062]
子步骤d):将z
1~n
拼接(concat)后传入线性层得到一个具有与多头注意力层输入矩阵x同维度的最终输出z。
[0063]
子步骤e):将z输入多层感知机层p得到中间输出向量,多层感知机模块使用两层
全连接层对结果进行处理,输出与输入的维度一致,之后是残差与正则层操作,残差操作是指输入输出相加,正则操作是指对输入进行正则化处理,即将神经元的输入转化为均值方差都符合特定分布的输出x:
[0064]
x=layernorm(p(z) z)
[0065]
子步骤f):从子步骤c)作为循环的开始,子步骤e)的输出作为下一次循环的输入,循环执行n次后结束并得到隐层向量序列输出o,其中n为正整数。
[0066]
子步骤g):将隐层向量序列输出o经过线性层映射为词表大小的向量后采用softmax进行归一化操作得到语言模型输出的下个词概率分布集合d。
[0067]
以上未详尽描述的内容,属于本领域技术人员所熟知的内容,在此不再赘述。此外,transformer语言模型和解码网络的网络结构和训练过程可以进行调整,比如改变网络的层数、改变每层网络的维度、调整学习率都可以实现本实用新型的方案,解码网络的解码参数也可以进行调整,本发明不以某种具体的参数组合为限制。
[0068]
参考图3,其公开了中间处理步骤的示意图。中间处理层对语言模型输出的的下个词的概率分布d和隐层向量序列o进行处理得到解码模型的输入、输出供解码模型进行训练。该中间处理步骤包括如下子步骤:
[0069]
子步骤1):将隐层向量序列作为输入a。
[0070]
子步骤2):根据文本的字符序列i和语言模型输出的下个词概率分布序列d,
[0071]
计算得到文本的信息量序列,并将该文本信息量序列作为训练目标y。
[0072]
子步骤3):将训练目标y右移并在首位补0得到输入信息量序列b。
[0073]
子步骤4):根据下个词的概率分布序列d,计算对应的每个概率分布的熵得到熵序列e。
[0074]
子步骤5):将输入信息量序列b和熵序列c进行拼接处理作为解码模型的信息嵌入a,将语言模型输出的最后一层logistics向量作为语义嵌入c,信息嵌入,语义嵌入与训练目标作为中间处理层的输出结果。
[0075]
参考图4,其公开了解码步骤的示意图。将中间处理层输出的的信息嵌入a、语义嵌入c,与训练目标y,一起输入解码模块,并对解码模块进行训练,在文本生成的过程中根据输入和训练好的解码模型对下一个字符进行信息量预测,并从概率分布中选择最接近预测的字符作为输出文本。
[0076]
本发明的解码步骤包括如下子步骤:
[0077]
a)对输入的信息嵌入a和语义嵌入c进行线性映射并投影到相同维度得到a

和c

,初始化距离嵌入p,将a

,c

,p相加得到解码模型的语义理解目标s。
[0078]
b)利用m个包含多头注意力层和前向连接层的transformer解码模块对合并后的语义理解目标s进行处理,其中m为正整数。该部分的结构与处理过程,与前述语言模型相同。
[0079]
c)将m个transformer解码模块最终输出的语义向量映射为一个一维的预测信息量序列,并与真实信息量序列进行拟合,使用l1正则损失来拟合误差,可保障拟合的稳定性,其中l1正则损失被定义为:
[0080][0081]
其中,y表示真实信息量序列,p表示解码模块输出的预测信息量序列,j为当前字
符在序列中的位置标识,n为序列的长度。
[0082]
d)在生成阶段,从最后一个词的概率分布dn中选择信息量最接近解码模块输出的预测信息量p
n 1
的字符作为生成的字符,选择的字符t
n 1
定义如下:
[0083][0084]
其中n为序号标号。
[0085]
可选地,为了满足多样性需求也可以从概率分布中选择最接近的k个字符进行采样来得到候选字符,k为用户自定义筛选数,多样性需求下的字符选择如下所示:
[0086][0087]
由此,完成了开放式文本生成的全部步骤。
[0088]
此外,本发明还公开一种存储介质,该存储介质上存储有计算机可读代码,处理器读取该计算机可读代码,用于执行前述的任意一种开放式文本生成方法。
[0089]
尽管已经参考本发明的具体特征和实施例描述了本发明,但是在不脱离本发明的情况下仍可以对其进行各种修改、组合、替换。本发明的保护范围旨在不限于说明书中描述的过程、机器、制造、物质组成、装置、方法和步骤的特定实施例,并且这些方法、模块可能还被实施在相关联、相互依赖、相互配合、前/后级的一个或多个产品、方法当中。
[0090]
因此,说明书和附图应简单地视为由所附权利要求限定的技术方案的部分实施例的介绍,因而应根据最大合理解释原则对所附权利要求解读,并旨在尽可能涵盖本发明公开范围内的所有修改、变化、组合或等同物,同时还应避免不合常理的解读方式。
[0091]
为了实现更好的技术效果或出于某些应用的需求,本领域技术人员可能在本发明的基础之上,对技术方案做出进一步的改进。然而,即便该部分改进/设计具有创造性或/和进步性,只要依赖本发明的技术构思,覆盖了权利要求所限定的技术特征,该技术方案同样应落入本发明的保护范围之内。
[0092]
所附的权利要求中所提及的若干技术特征可能存在替代的技术特征,或者对某些技术流程的顺序、物质组织顺序可以重组。本领域普通技术人员知晓本发明后,容易想到该些替换手段,或者改变技术流程的顺序、物质组织顺序,然后采用了基本相同的手段,解决基本相同的技术问题,达到基本相同的技术效果,因此即便权利要求中明确限定了上述手段或/和顺序,然而该些修饰、改变、替换,均应依据等同原则而落入权利要求的保护范围。
[0093]
结合本文中所公开的实施例中描述的各方法步骤或模块,能够以硬件、软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用或设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为在本发明所要求保护的范围之外。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献