一种基于序列到序列模型的中文文本摘要生成方法技术

技术编号:23983700 阅读:63 留言:0更新日期:2020-04-29 12:31
本发明专利技术公开了一种基于序列到序列模型的中文文本摘要生成方法,首先对文本进行按字切分并填充到固定长度,对字向量进行高斯随机初始化;将文本编码后输入双向长短期记忆网络(LSTM),最后的输出状态作为预编码;对字向量按照不同的窗口大小做卷积神经网络(CNN),输出作为窗口词向量;构建编码器,构造一个双向LSTM,预编码作为其初始化参数,上一步的窗口词向量作为输入;构建解码器,使用单向LSTM并结合注意力机制生成文本。本发明专利技术改进了传统的序列到序列模型中的编码器,使模型在编码阶段能够获得更多的原文本的信息,最终解码出更好的文本摘要,并使用了更小细粒度的字向量,更适合中文文本。

A method of Chinese Text Summarization Based on sequence to sequence model

【技术实现步骤摘要】
一种基于序列到序列模型的中文文本摘要生成方法
本专利技术涉及深度学习、自然语言处理的
,尤其是指一种基于序列到序列模型的中文文本摘要生成方法。
技术介绍
文本自动生成摘要技术,其任务的主要内容为:对一个较长文本,通过模型最终生成一个较短文本,并能概括源文本的主要内容。目前主流的文本摘要方式分为两种,抽取式和生成式。抽取式指利用算法从原文中寻找跟主要思想最接近的一条或几条句子,是一种比较成熟的方案,但由于抽取式摘要的所有内容均由原文本中提取拼凑,生成的摘要可读性和流畅性差强人意,距离实际应用还有不小的距离。生成式的摘要生成模型利用深度学习,通过大规模文本数据的训练,编码获取文本的主要信息,并能解码生成较为流畅的摘要。但在训练中会出现过拟合的情况,对于一些重要的词汇,会在生成的摘要中重复出现,且词汇表是有限的,对于不在词汇表中生僻词汇,只能用“未知”代替,使得摘要的可读性不高。传统的抽取式摘要方法大致分为贪心算法,基于图的方法,和基于约束优化方法。其中Textrank排序算法以其简洁、高效的特点被工业界广泛运用。大体思想是先去除文章中的一些停用词,之后对句子的相似度进行度量,计算每一句相对另一句的相似度得分,迭代传播,直到误差小于0.0001。再对上述得到的关键语句进行排序,便能得到想要的摘要。抽取式摘要主要考虑单词词频,并没有过多的语义信息,无法建立文本段落中的完整语义信息。生成式摘要方法则主要依靠深度神经网络结构实现,2014年由GoogleBrain团队提出的序列到序列模型(Sequence-to-Sequence),开启了NLP中端到端网络的火热研究。序列到序列模型已经成功的应用到各种自然语言处理任务中,其主要结构包括编码器和解码器,经典的序列到序列模型中,编码器和解码都是由循环神经网络(RNN)或长短期记忆网络(LSTM)构成,编码器将原文本编码成一个表示向量,提取原文本中的语义信息,解码器负责解码这个向量,生成文本摘要。但是由于“长距离依赖”问题的存在,RNN到最后一个时间步输入单词的时候,已经丢失了相当一部分的信息。这时候编码生成的语义向量同样也丢失了大量信息,就导致生成的摘要不够准确。这里就引入了注意力机制,其最初应用于图像识别,模仿人看图像时,目光的焦点在不同的物体上移动。当神经网络对图像进行识别时,每次集中于部分特征上,识别更加准确。利用权重去衡量特征的重要性,因此,注意力模型的结果就是在每次识别时,首先计算每个特征的权值,然后对特征进行加权求和,权值越大,该特征对当前识别的贡献就大。基于深度学习模型的生成式方法在最终生成的摘要上会有更好的表现,但也会存在丢失一些重要信息,语义不连贯等问题,目前大部分的改进方案是从解码器入手,改进解码方式和调整注意力机制,但是作用仍然十分有限,并且训练时间较长。
技术实现思路
本专利技术的目的在于克服现有技术的缺点与不足,提出一种基于序列到序列模型的中文文本摘要生成方法,基于序列到序列模型的生成式算法,避免了抽取式的拼凑复制型的结果,实现端到端的训练方式,简化了特征工程和模型训练的难度,通过预编码和滑动窗口卷积,强化编码器的作用,可以减少预训练词向量的麻烦,增强文本编码的效果,获得更好的摘要效果。为实现上述目的,本专利技术所提供的技术方案为:一种基于序列到序列模型的中文文本摘要生成方法,包括以下步骤:1)对原始微博数据进行处理生成训练数据和字表,利用字表初始化字向量;2)将原文本通过字向量转为向量表示,输入基于双向LSTM(长短期记忆网络)的预编码器,输出最后的隐藏向量;3)构建序列到序列模型的主要结构编码器,将原文本通过字向量转为向量表示,输入基于CNN和双向LSTM的编码器,双向LSTM使用预编码器的隐藏向量进行初始化,然后输出每一步的输出向量和最后的隐藏向量;4)构建序列到序列模型的主要结构解码器,其基于单向LSTM,对编码器的隐藏向量进行解码,再对编码器的每一步输出利用注意力机制计算,最后输出每一步摘要字符的概率向量;5)在训练阶段,通过损失函数计算损失并通过深度学习算法优化;6)在测试阶段,利用解码器输出的概率向量,生成最后的摘要文本。在步骤1)中,将原始微博数据的原文本和摘要文本分别进行按字切分处理,其中英文单词和数字不做切分,并将其分别填充到固定长度,且使其一一对应作为一个训练样本;从处理后的数据中构造一个字表,利用字表构造字向量,首先确定其维度,然后利用高斯分布随机初始化,并设置为能够训练,对摘要文本按照字表做one-hot向量表示作为标签。在步骤2)中,将原文本通过字表的字向量转为向量表示,输入基于双向LSTM的预编码器,获取原文本的语义信息,输出网络的隐藏状态。在步骤3)中,将原文本通过字表的字向量转为向量表示,输入基于CNN和双向LSTM的编码器;其中,编码器的结构首先是一个CNN,会有多个不同大小的卷积核,即滑动窗口卷积;然后将该多个不同卷积核的输出向量拼接起来,输入双向LSTM结构中,这里的双向LSTM的初始隐藏状态使用预编码器最后的隐藏状态作为初始化参数;最后在LSTM网络输出每一步的输出和最后的隐藏状态。在步骤4)中,将编码器的隐藏状态输入基于单向LSTM的解码器,再利用注意力机制,衡量编码器每一步的输出的重要性,在每一步t,注意力机制的计算公式如下:at=softmax(et)式中,vT、Wh、Ws、battn均是要训练的参数,hi是编码器第i步的输出,st是解码器的每一步输出,at是t步的注意力向量,ht*是通过注意力机制生成的上下文向量;最后将它们通过MLP(多层感知器)映射到目标词汇表空间,得到每一步摘要字符的概率向量,具体计算如下:P(w)=Pvocab(w)式中,V'、V、b'、b均是要训练的参数,Pvocab则是所有字符的概率分布,P(w)则是生成字符w的概率。在步骤5)中,训练阶段将最后输出的概率向量与摘要文本的one-hot向量通过损失函数计算损失,整个训练目标则是尽可能接近真实的文本摘要,若为当前步t的真实摘要单词,则要使得尽量大,即选择生成的概率最大;对于每一步t的训练目标,使用负对数似然函数作为损失函数,即:其中,loss是总损失,T是解码的总步数;同时为了解决关键词重复生成的问题,在损失函数中加了一个惩罚项,对生成过的字降低其重要性,惩罚项及最终损失函数定义如下:其中,ct是t步的惩罚项,at是t步的注意力向量,i为编码器的每一步,λ为惩罚项的所占比重;训练方法使用了随机梯度下降法,设置学习率为0.001,训练100代;将训练样本随机打乱,生成批量数据输入,每批量有32个样本,对于每批量数据X,数据放入前面构建的序列到序列模型中,正向计算后通过损失函数计算损失,然后通过对随机梯度下降法反向传播对模型中的参数进行更新,包括字向量,以使得字向量本文档来自技高网
...

【技术保护点】
1.一种基于序列到序列模型的中文文本摘要生成方法,其特征在于,包括以下步骤:/n1)对原始微博数据进行处理生成训练数据和字表,利用字表初始化字向量;/n2)将原文本通过字向量转为向量表示,输入基于双向LSTM的预编码器,输出最后的隐藏向量;/n3)构建序列到序列模型的主要结构编码器,将原文本通过字向量转为向量表示,输入基于CNN和双向LSTM的编码器,双向LSTM使用预编码器的隐藏向量进行初始化,然后输出每一步的输出向量和最后的隐藏向量;/n4)构建序列到序列模型的主要结构解码器,其基于单向LSTM,对编码器的隐藏向量进行解码,再对编码器的每一步输出利用注意力机制计算,最后输出每一步摘要字符的概率向量;/n5)在训练阶段,通过损失函数计算损失并通过深度学习算法优化;/n6)在测试阶段,利用解码器输出的概率向量,生成最后的摘要文本。/n

【技术特征摘要】
1.一种基于序列到序列模型的中文文本摘要生成方法,其特征在于,包括以下步骤:
1)对原始微博数据进行处理生成训练数据和字表,利用字表初始化字向量;
2)将原文本通过字向量转为向量表示,输入基于双向LSTM的预编码器,输出最后的隐藏向量;
3)构建序列到序列模型的主要结构编码器,将原文本通过字向量转为向量表示,输入基于CNN和双向LSTM的编码器,双向LSTM使用预编码器的隐藏向量进行初始化,然后输出每一步的输出向量和最后的隐藏向量;
4)构建序列到序列模型的主要结构解码器,其基于单向LSTM,对编码器的隐藏向量进行解码,再对编码器的每一步输出利用注意力机制计算,最后输出每一步摘要字符的概率向量;
5)在训练阶段,通过损失函数计算损失并通过深度学习算法优化;
6)在测试阶段,利用解码器输出的概率向量,生成最后的摘要文本。


2.根据权利要求1所述的一种基于序列到序列模型的中文文本摘要生成方法,其特征在于:在步骤1)中,将原始微博数据的原文本和摘要文本分别进行按字切分处理,其中英文单词和数字不做切分,并将其分别填充到固定长度,且使其一一对应作为一个训练样本;从处理后的数据中构造一个字表,利用字表构造字向量,首先确定其维度,然后利用高斯分布随机初始化,并设置为能够训练,对摘要文本按照字表做one-hot向量表示作为标签。


3.根据权利要求1所述的一种基于序列到序列模型的中文文本摘要生成方法,其特征在于:在步骤2)中,将原文本通过字表的字向量转为向量表示,输入基于双向LSTM的预编码器,获取原文本的语义信息,输出网络的隐藏状态。


4.根据权利要求1所述的一种基于序列到序列模型的中文文本摘要生成方法,其特征在于:在步骤3)中,将原文本通过字表的字向量转为向量表示,输入基于CNN和双向LSTM的编码器;其中,编码器的结构首先是一个CNN,会有多个不同大小的卷积核,即滑动窗口卷积;然后将该多个不同卷积核的输出向量拼接起来,输入双向LSTM结构中,这里的双向LSTM的初始隐藏状态使用预编码器最后的隐藏状态作为初始化参数;最后在LSTM网络输出每一步的输出和最后的隐藏状态。


5.根据权利要求1所述的一种基于序列到序列模型的中文文本摘要生...

【专利技术属性】
技术研发人员:尹叶龙邓辉舫
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1