一种基于自注意力机制的标点符号预测方法与流程

文档序号:17289193发布日期:2019-04-03 03:49阅读:1452来源:国知局
一种基于自注意力机制的标点符号预测方法与流程

本发明涉及自然语言处理领域,更具体的,涉及一种基于自注意力机制的标点符号预测方法。



背景技术:

随着深度学习的发展,近年来,许多学者提出使用神经网络来做标点符号预测,一般神经网络模型包括两个步骤:第一步是使用循环神经网络、卷积神经网络、注意力机制来产生具有上下文信息的文本表达;第二步是根据第一步生成的富含上下文信息的表达,在对每个词进行标点符号预测时,使用归一化指数函数或者条件随机场算出每个词后逗号、句号、问号、无标点符号的得分,从这四个得分中选择得分最高的类作为这个词的标记,从而得到一个合理的标点符号序列。

其中,卷积神经网络在应用中难以捕捉到每个词的语义信息以及位置信息,而循环神经网络在训练的过程中容易产生梯度消失、长期依赖和过拟合的问题,提升了模型的训练难度。而在使用传统的注意力机制时,不能学习到文本序列的不同表示子空间的信息。



技术实现要素:

本发明为克服上述现有技术在预测文本标点符号时存在容易产生梯度消失、长期依赖和过拟合且计算量过大的技术问题,提供一种基于自注意力机制的标点符号预测方法。

为解决上述技术问题,本发明的技术方案如下:

一种基于自注意力机制的标点符号预测方法,包括以下步骤:

s1:基于自动语音识别技术进行语音识别,得到无标点符号文本;

s2:对无标点符号文本进行处理,得到文本序列;

s3:构建标点符号预测模型,将文本序列导入模型中,完成文本序列的标点符号预测。

其中,在步骤s3中,所述标点符号预测模型包括字符嵌入层、词嵌入层、上下文信息嵌入层、自注意力层和输出层;其中:

所述字符嵌入层对每个单词中的字符序列做一维卷积,对卷积的结果做最大池化,即可得到对应单词的字符级向量;

所述词嵌入层通过预训练的glove词向量将每个词映射为一个词级的高维向量;词向量结合对应的字符级向量形成一个既有词级信息又有字符级信息的向量;

所述上下文信息嵌入层通过3层稠密连接的双向长短期记忆网络获得序列的信息表达;

所述自注意力层计算每一个词对序列中其他词的注意力,对序列中的每一个词分配不同的权重,从而得到一个具有权重信息的向量序列;

所述输出层通过归一化指数函数对具有权重信息的向量序列进行处理,完成对每个词的标点符号预测,并输出预测结果。

其中,在上下文信息嵌入层中,所述3层稠密连接的双向长短期记忆网络分别为第一层双向长短期记忆网络、第二层双向长短期记忆网络和第三层双向长短期记忆网络;其中,

第一层双向长短期记忆网络输入端接收所述词嵌入层输出的向量信息;

第二层双向长短期记忆网络输入端接收所述词嵌入层输出的向量信息的同时,接收第一层双向长短期记忆网络的输出信息;

第三层双向长短期记忆网络输入端接收所述词嵌入层输出的向量信息的同时,还同时接收第一层双向长短期记忆网络、第二层双向长短期记忆网络的输出信息;

第三层双向长短期记忆网络输出序列的信息表达传送至所述自注意力层。

其中,所述自注意力层为多头自注意力机制,具体包括以下步骤:

设头的个数为h,序列单词个数为n,序列维数为d,上下文信息嵌入层的输出序列为q、k、v,其中q=k=v,q∈rn×d,k∈rn×d,v∈rn×d

q、k、v经过线性变换后对d维进行分割,每个头内q、k、v注意力计算公式为:

每个头的输入mi为:

mi=attention(qwiq,kwik,vwiv);

其中,wiq∈rn×d/h,wik∈rn×d/h,wiv∈rn×d/h;得到每个头的attention后,将h个头的attention结果进行拼接,得到拼接结果m,即:

m=concat(m1,...,mh);

其中,m∈rn×d,对拼接结果做线性变化,有:

y=mw;

其中,w为自定义的参数矩阵,w∈rd×4,y为线性变换后的结果。

上述方案中,利用3层稠密连接的双向长短期记忆网络,每一层双向长短期记忆网络的输出都被传递到最后一层双向长短期记忆网络,从而缓解了梯度消失得问题;且每一层双向长短期记忆网络都可以获取原始的输入序列,故其需要的参数少,容易获得更好的效果。

上述方案中,使用多头自注意力机制,仅需序列对自身做attention计算即可,同时可以学习到不同表示子空间的信息,捕获长距离依赖关系。在长距离依赖上,由于自注意力机制是每个词和所有词都要进行attention计算,故词间最大的路径长都是1。

与现有技术相比,本发明技术方案的有益效果是:

本发明提供的一种基于自注意力机制的标点符号预测方法,通过构建标点符号预测模型,实现了对语音识别文本的标点符号预测,有效缓解了梯度消失的问题,加强了特征传递,有效建立文本长期依赖的关系;同时,相比之前的模型无需额外的参数,有效减少了传递的数据量,降低参数的训练难度。

附图说明

图1为本发明方法流程图;

图2为稠密连接的双向长短期记忆网络结构示意图。

具体实施方式

附图仅用于示例性说明,不能理解为对本专利的限制;

为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;

对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

下面结合附图和实施例对本发明的技术方案做进一步的说明。

实施例1

如图1所示,一种基于自注意力机制的标点符号预测方法,包括以下步骤:

s1:基于自动语音识别技术进行语音识别,得到无标点符号文本;

s2:对无标点符号文本进行排序处理,得到文本序列;

s3:构建标点符号预测模型,将文本序列导入模型中,完成文本序列的标点符号预测。

在具体实施过程中,模型输入的文本序列为x1,x2,...,xt,代表t个单词,输出序列为y1,y2,...,yt,为每个单词做标记;其中,yt=0代表这个词后面无标点符号,yt=1代表这个词后面是逗号,yt=2代表这个词后面是句号,yt=3代表这个词后面是问号。

更具体的,在步骤s3中,所述标点符号预测模型包括字符嵌入层、词嵌入层、上下文信息嵌入层、自注意力层和输出层;其中:

所述字符嵌入层对每个单词中的字符序列做一维卷积,对卷积的结果做最大池化,即可得到对应单词的字符级向量;

所述词嵌入层通过预训练的glove词向量将每个词映射为一个词级的高维向量;词向量结合对应的字符级向量形成一个既有词级信息又有字符级信息的向量;

所述上下文信息嵌入层通过3层稠密连接的双向长短期记忆网络获得序列的信息表达;

所述自注意力层计算每一个词对序列中其他词的注意力,对序列中的每一个词分配不同的权重,从而得到一个具有权重信息的向量序列;

所述输出层通过归一化指数函数对具有权重信息的向量序列进行处理,完成对每个词的标点符号预测,并输出预测结果。

更具体的,如图2所示,在上下文信息嵌入层中,所述3层稠密连接的双向长短期记忆网络分别为第一层双向长短期记忆网络、第二层双向长短期记忆网络和第三层双向长短期记忆网络;其中,

第一层双向长短期记忆网络输入端接收所述词嵌入层输出的向量信息;

第二层双向长短期记忆网络输入端接收所述词嵌入层输出的向量信息的同时,接收第一层双向长短期记忆网络的输出信息;

第三层双向长短期记忆网络输入端接收所述词嵌入层输出的向量信息的同时,还同时接收第一层双向长短期记忆网络、第二层双向长短期记忆网络的输出信息;

第三层双向长短期记忆网络输出序列的信息表达传送至所述自注意力层。更

具体的,所述自注意力层为多头自注意力机制,具体包括以下步骤:

设头的个数为h,序列单词个数为n,序列维数为d,上下文信息嵌入层的输出序列为q、k、v,其中q=k=v,q∈rn×d,k∈rn×d,v∈rn×d

q、k、v经过线性变换后对d维进行分割,每个头内q、k、v注意力计算公式为:

每个头的输入mi为:

mi=attention(qwiq,kwik,vwiv);

其中,wiq∈rn×d/h,wik∈rn×d/h,wiv∈rn×d/h;得到每个头的attention后,将h个头的attention结果进行拼接,得到拼接结果m,即:

m=concat(m1,...,mh);

其中,m∈rn×d,对拼接结果做线性变化,有:

y=mw;

其中,w为自定义的参数矩阵,w∈rd×4,y为线性变换后的结果。

在具体实施过程中,利用3层稠密连接的双向长短期记忆网络,每一层双向长短期记忆网络的输出都被传递到最后一层双向长短期记忆网络,从而缓解了梯度消失得问题;且每一层双向长短期记忆网络都可以获取原始的输入序列,故其需要的参数少,容易获得更好的效果。

在具体实施过程中,使用多头自注意力机制,仅需序列对自身做attention计算即可,同时可以学习到不同表示子空间的信息,捕获长距离依赖关系。在长距离依赖上,由于自注意力机制是每个词和所有词都要进行attention计算,故词间最大的路径长都是1。

在具体实施过程中,通过构建标点符号预测模型,实现了对语音识别文本的标点符号预测,有效缓解了梯度消失的问题,加强了特征传递,有效建立文本长期依赖的关系;同时,相比之前的模型无需额外的参数,有效减少了传递的数据量,降低参数的训练难度。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1