基于多层注意力机制的循环神经网络生成标题的方法转让专利

申请号 : CN201810993623.1

文献号 : CN109214003B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王小明谢杰航庞光垚王新燕林亚光

申请人 : 陕西师范大学

摘要 :

一种基于多层注意力机制的循环神经网络生成标题的方法,其中所述循环神经网络包括过滤层,编码器,注意力机制和解码器四部分,所述方法包括如下步骤:S100:将源文本输入到所述过滤层的多个摘要生成方法后生成多个粗度摘要;S200:将所述多个粗度摘要再分别输入到所述编码器中编码,输出各自的隐藏层表示序列;S300:合并所述隐藏层表示序列,生成表示整个文档的重要信息的总结语义,利用注意力上下文对生成的粗度摘要和编码器内的单词给予关注;S400:把所述注意力上下文和所述总结语义输入到所述解码器中生成相应的标题。该方法相较于现有方法,提高了生成的标题的准确性和可读性。

权利要求 :

1.一种基于多层注意力机制的循环神经网络生成标题的方法,其中所述循环神经网络包括过滤层,编码器,注意力机制和解码器四部分,所述方法包括如下步骤:S100:将源文本输入到所述过滤层的多个摘要生成方法后生成多个粗度摘要;

S200:将所述多个粗度摘要再分别输入到所述编码器中编码,输出各自的隐藏层表示序列;

S300:合并所述隐藏层表示序列,生成表示整个文档的重要信息的总结语义,利用注意力上下文对生成的粗度摘要和编码器内的单词给予关注;

S400:把所述注意力上下文和所述总结语义输入到所述解码器中生成相应的标题。

2.根据权利要求1所述的方法,步骤S100进一步包括:所述的摘要方法包括TF、TextRank、LexRank和SumBasic。

3.根据权利要求2所述的方法,其中,

TF是一种利用关键词来衡量句子重要程度的方法,如果一条句子包含的关键词越多就说明这个句子越重要;

TextRank是一种用于文本的基于图的排序算法,通过把文本分割成若干组成单元并建立图模型,利用投票机制对文本中的重要成分进行排序,仅利用单篇文本本身的信息即可实现关键词提取、文摘;

LexRank是一种基于图的方法,该方法在句子的图形表示下计算句子的权重,并且认为如果一个句子与很多其他句子相似,那么这个句子就是比较重要的;

SumBasic是一种基于词频的总结系统。

4.根据权利要求1所述的方法,其中,

该方法应用于新闻标题的生成。

5.根据权利要求1所述的方法,步骤S200进一步包括:所述编码器采用双向门控循环神经元BiGRU。

6.根据权利要求1所述的方法,步骤S400进一步包括:所述解码器采用两层门控循环神经元GRU。

7.根据权利要求1所述的方法,其中:

所述的隐藏层表示序列中的第i个语义表示 由公式 计算得到,所述的总结语义 由公式 计算得到,其中, 表示T时间步时编码器的隐藏状态,N是总时间步数,M代表粗度摘要的数量。

8.根据权利要求7所述的方法,其中:

t时间步的隐藏状态 由前向隐藏状态 和后向隐藏状态 共同决定:其中,编码器利用双向门控循环神经元BiGRU将时间步为t时的输入xt和上一个时间步的隐藏状态 往前向与后向映射。

9.根据权利要求8所述的方法,其中,

门控循环神经元GRU根据以下公式更新参数:zt=σ(Wz·[xt,ht-1]+bz)rt=σ(Wr·[xt,ht-1]+br)kt=tanh(Wk·[rt⊙ht-1,xt]+bk)ht=ht-1⊙(1-zt)+kt⊙zt其中的zt是更新门,rt是重置门,kt是候选记忆单元,ht是双向门控循环神经元BiGRU在时间步t时的隐藏状态,xt是在时间步t时接受的输入,ht-1表示在时间步t-1时的隐藏状态,W和b分别表示模型的权重矩阵和偏差值,并使用下标z,r,k来区分更新、重置和候选记忆单元,[]表示两个向量相连接,·表示向量的点积,⊙表示矩阵元素依次相乘,tanh是双曲正切激活函数,σ是sigmoid函数。

10.根据权利要求1所述的方法,其中,

解码器中,在时间步t输出的标题单词yt按以下公式计算得到:其中ξ是softmax函数,W是权重矩阵,b代表偏差值, 代表第二层的隐藏状态;

第二层的隐藏状态是由公式 计算得到,其中,表示第一层的隐藏状态, 表示上一个时间步的第二层隐藏状态,at表示注意力上下文;

注意力上下文at是由公式 计算得到,其中, 表示时间步为t时第i个粗度摘要的权重, 表示时间步为t时在粗度摘要i中的单词j的权重, 表示编码器在为粗度摘要i中的单词j编码时的隐藏状态;

时间步为t时第i个粗度摘要的权重 由公式 计算得到,时间步为t时在粗度摘要i中的单词j的权重 由公式 计算得到,第一层的隐藏状态 由公式 计算得到,其中,m是粗度摘要的个数,n是粗度摘要i的单词数量,yt-1表示时间步t-1输出的标题单词, 表示上一个时间步的隐藏状态。

说明书 :

基于多层注意力机制的循环神经网络生成标题的方法

技术领域

[0001] 本公开属于自然语言处理以及文本自动摘要领域,特别涉及一种基于多层注意力机制的循环神经网络生成标题的方法。

背景技术

[0002] 近年来,随着云计算、大数据、物联网等技术的飞速发展,人类社会已经进入数据体量大、数据传输便捷、数据种类多样、数据价值高的大数据时代。面对数量极其庞大的数据,人们期望能够只花费少量时间就能获取大量的信息。文本数据作为信息的主要载体,如何从浩如烟海的长文本数据中挖掘出主要的信息是至关重要的。
[0003] 当源文本是一篇文档,而生成的压缩版文本是一个句子时,这个过程是摘要生成中特殊的一类,叫做标题生成,这个任务的难点在于需要生成足够简短流畅同时包含源文本主要信息的文本。
[0004] 在最近几年,随着机器学习的快速发展,基于深度神经网络的序列到序列模型(也叫编码器-解码器模型),已应用于机器翻译、自动文摘、问答等自然语言处理任务中,并且取得了很大的成就。传统的序列到序列是有很多弊端的,首先编码器将输入编码为固定大小状态向量的过程实际上是一个“信息有损压缩”的过程,如果信息量越大,那么这个转化向量的过程对信息的损失就越大,同时,随着序列长度的增加,意味着时间维度上的序列很长,循环神经网络模型也会出现梯度弥散。最后,基础的模型连接编码器和解码器模块的组件仅仅是一个固定大小的状态向量,这使得解码器无法直接去关注到输入信息的更多细节。因此,为了解决传统的序列到序列模型中的信息丢失问题,引入注意力机制。序列到序列+注意力模型模拟人脑的注意力机制,通过对输入的每个部分进行编码表示,每次产生输出时,解码器都会“关注”相关的部分。在实践中,这意味着计算所有编码器隐藏状态的注意权值,然后将加权平均值作为新的上下文向量。但是传统的序列到序列+注意力模型在处理标题生成任务时依然存在生成的标题句子语法错误、语意不明的缺点,有三个因素导致了这个结果:第一,由于源文本过长导致循环神经网络很难抓住源文本中的所有信息,第二,普通的循环神经网络无法结合上下文信息以及语法特征来完成标题生成任务,第三,传统的注意力机制对源文本的“关注”的细化程度不足。

发明内容

[0005] 为了解决上述问题,本公开提供了一种基于多层注意力机制的循环神经网络生成标题的方法,其中所述循环神经网络包括过滤层,编码器,注意力机制和解码器四部分,所述方法包括如下步骤:
[0006] S100:将源文本输入到所述过滤层的多个摘要生成方法后生成多个粗度摘要;
[0007] S200:将所述多个粗度摘要再分别输入到所述编码器中编码,输出各自的隐藏层表示序列;
[0008] S300:合并所述隐藏层表示序列,生成表示整个文档的重要信息的总结语义,利用注意力上下文对生成的粗度摘要和编码器内的单词给予关注;
[0009] S400:把所述注意力上下文和所述总结语义输入到所述解码器中生成相应的标题。
[0010] 上述技术方案拓展了普通的序列到序列模型,以双向门控循环神经元(bidirectional gate recurrent unit,BiGRU)代替普通的循环神经网络神经元,构建双向神经网络编码器,让模型能结合上下文信息,学习到潜在的语法规律,增强生成标题的可读性。同时,为了能更准确的识别出长文本中的重要信息,将标准的注意力机制改进为能对文本中的句子和单词都赋予权重的多层注意力模型,每次产生输出时,解码器“关注”的部分更加全面,增加生成标题的准确性。

附图说明

[0011] 图1是本公开一个实施例中所提供的一种基于多层注意力机制的循环神经网络生成标题的方法的框架图;
[0012] 图2是本公开一个实施例中本模型和基准线方法在DUC-2004测试集上得到的ROUGE-RECALL分数;
[0013] 图3是本公开一个实施例中本模型和基准线方法在DUC-2004测试集上得到的ROUGE-F1分数。

具体实施方式

[0014] 在大数据时代,新闻网站每分甚至每秒都会更新大量的新闻,用户想要及时获取最新的资讯,但仔细阅读每一篇新闻中的内容显得费时费力,用户期望有一种新的阅读方式能够只阅读少量的文字就能知晓整篇文章的主要信息。包含源文本主要信息而且长度仅有一句的标题恰好能满足用户的需要,自动生成标题系统不需要靠人工生成标题,节省了大量人力,让用户只需要阅读标题就能够获取新闻的主要信息,提高用户的阅读效率。
[0015] 在标题生成任务中,用X={x1,x2,...,xm}表示输入的源文本内容,其中的m表示源文本的长度,xi表示源文本里的第i个单词,xi∈V,V代表词汇表,标题生成系统通过输出Y={y1,y2,...,yn}来总结X,其中yj表示生成的标题中的第j个单词,n(n<m)表示标题的长度。
[0016] 本方法中的基于多层注意力机制的循环神经网络模型加入过滤层来解决了长文本信息弥散的问题;编码器以双向门控循环神经元BiGRU为神经元,解决传统的序列到序列模型中存在的无法结合上下文信息的问题;构建多层注意力机制对单词和句子给予不同程度的关注,解决传统的注意力机制对源文本的关注不够细化的问题。
[0017] 在一个实施例中,其公开一种基于多层注意力机制的循环神经网络生成标题的方法,其中所述循环神经网络包括过滤层,编码器,注意力机制和解码器四部分,所述方法包括如下步骤:
[0018] S100:将源文本输入到所述过滤层的多个摘要生成方法后生成多个粗度摘要;
[0019] S200:将所述多个粗度摘要再分别输入到所述编码器中编码,输出各自的隐藏层表示序列;
[0020] S300:合并所述隐藏层表示序列,生成表示整个文档的重要信息的总结语义,利用注意力上下文对生成的粗度摘要和编码器内的单词给予关注;
[0021] S400:把所述注意力上下文和所述总结语义输入到所述解码器中生成相应的标题。
[0022] 如图1所示是模型整体框架,从左到右由过滤层,编码器,注意力机制,解码器四个模块构成。在一个实施例中,先将源文本X输入到四个摘要方法后生成粗度摘要S1,S2,S3,S4;将上述四个粗度摘要再分别输入到编码器中编码,输出各自的隐藏层表示序列合并隐藏层表示序列,生成表示整个文档的重要信息的总结语义 利用注意力上下文at对生成的粗度摘要和编码器内的单词给予关注;把注意力上下文at和总结语义 输入到解码器中生成相应的标题Y。
[0023] 在另一个实施例中,所述的摘要方法是TF、TextRank、LexRank和SumBasic。其中,TF是一种利用关键词来衡量句子重要程度的方法,如果一条句子包含的关键词越多就说明这个句子越重要;TextRank是一种用于文本的基于图的排序算法,通过把文本分割成若干组成单元并建立图模型,利用投票机制对文本中的重要成分进行排序,仅利用单篇文本本身的信息即可实现关键词提取、文摘;LexRank也是一种基于图的方法,该方法在句子的图形表示下计算句子的权重,并且认为如果一个句子与很多其他句子相似,那么这个句子就是比较重要的;SumBasic是一种基于词频的总结系统,SumBasic基本超越了2004年DUC的许多总结系统,并且在2005年的MSE评估中表现得非常好,这证明了在总结生成任务中,频率本身是一个强大的特性。
[0024] 在过滤层,先应用多种经过良好研究的文档摘要技术来识别文档的多个重要语句,然后再进一步将这些重要语句抽象为一个标题。使用多个摘要方法能更好地涵盖了文档的重要信息,因此该方法不会严重依赖于某个特定摘要方法的性能。
[0025] 在另一个实施例中,所述的隐藏层表示序列 中的第i个语义表示由公式 计算得到,所述的总结语义 由公式 计算得到,其
中, 表示T时间步肘编码器的隐藏状态,N是总时间步数,M代表粗度摘要的数量。t时间步的隐藏状态 由前向隐藏状态 和后向隐藏状态 共同决定:
[0026]
[0027]
[0028]
[0029] 其中,编码器利用双向门控循环神经元BiGRU将时间步为t时的输入xt和上一个时间步的隐藏状态 往前向与后向映射。
[0030] 门控循环神经元GRU根据以下公式更新参数:
[0031] zt=σ(Wz·[xt,ht-1]+bz)
[0032] rt=σ(Wr·[xt,ht-1]+br)
[0033] kt=tanh(W·[rt⊙ht-1,xt]+bh)
[0034] ht=ht-1⊙(1-zt)+kt⊙zt
[0035] 其中的zt是更新门,rt是重置门,kt是候选记忆单元,ht是双向门控循环神经元BiGRU在时间步t时的隐藏状态,xt是在时间步t时接受的输入,ht-1表示在时间步t-1时的隐藏状态,W和b分别表示模型的权重矩阵和偏差值,并使用下标z,r,k来区分更新、重置和候选记忆单元,[]表示两个向量相连接,·表示向量的点积,⊙表示矩阵元素依次相乘,tanh是双曲正切激活函数,σ是sigmoid函数。
[0036] 在另一个实施例中,解码器中,在时间步t输出的标题单词yt按以下公式计算得到:
[0037]
[0038] 其中ξ是softmax函数,W是转换矩阵,b代表偏差值, 代表第二层的隐藏状态。
[0039] 第二层的隐藏状态是由公式 计算得到,其中, 表示第一层的隐藏状态, 表示上一个时间步的第二层隐藏状态,at表示注意力上下文。
[0040] 注意力上下文at是由公式 计算得到,其中, 表示时间步为t时第i个粗度摘要的权重, 表示时间步为t时在粗度摘要i中的单词j的权重。
[0041] 时间步为t时第i个粗度摘要的权重 由公式 计算得到,时间步为t时在粗度摘要i中的单词j的权重 由公式 计算得到,第一
层的隐藏状态 由公式 计算得到,其中,m是粗度摘要的个数,n
是粗度摘要i的单词数量,yt-1表示时间步t-1输出的标题单词, 表示上一个时间步的隐藏状态。
[0042] 下面实施例结合附图2-3进行阐述。
[0043] 在Gigawords语料库上训练基于多层注意力机制的循环神经网络模型,这个语料库是基于注释英语Gigaword数据库所编写的英语句子摘要语料库。DUC-2004语料库作为测试集,DUC-2004一共有500篇来自纽约时报和美联社的新闻,每个新闻都有由四个专家所写的四个总结。
[0044] 应用ROUGE(Recall-Oriented Understudy for Gisting Evaluation)作为评价指标。ROUGE是一种基于摘要中n元词的共现信息来判断总结优劣的方法,现被广泛应用于总结评测任务中。ROUGE有一系列的评价尺度,我们使用ROUGE-1,ROUGE-2和ROUGE-L作为评价指标。
[0045] 为了测试基于多层注意力机制的循环神经网络模型的性能,使用以下多种基准模型和本模型进行对比,通过本模型和基准线方法在DUC-2004测试集上得到的ROUGE recall分数进行比较,这些基准线方法大多都是序列到序列+注意力模型的变种:
[0046] ABS是提出的基于注意力的神经网络模型。ABS使用卷积神经网络编码器和NNLM解码器来完成标题生成任务
[0047] ABS+是在ABS的基础上进一步在Gigaword数据集上训练,在DUC-2003数据集上调试,结合了一个额外的对数线性提取总结模型和手工制作的特征。
[0048] PRE是一种简单的标题生成方法,它把输入的前75个字符作为标题输出。
[0049] TOP采用了一种基于语言学驱动的的标题生成系统,它采用了一种无监督的主题检测算法,将整篇文章的关键短语附加到压缩输出。
[0050] lvt2k和lvt5k是一种能利用注意力编解码器递归神经网络的模型。
[0051] SU-HI是一种基于注意力神经网络的由粗度到精度模型。
[0052] L-NMT是一种采用两层LSTM序列到序列+全局和局部注意力机制的模型。
[0053] SEASS是以BiGRU为编码器,基于注意力机制BiGRU的为解码器的神经网络模型。
[0054] 从图2看出,本模型在ROUGE-1召回率这一项上比著名的ABS模型高出了2.27,即使ABS模型也使用了注意力机制,普通的注意力模型在标题生成任务里能力有限,不能带来明显的改进。在ROUGE-L召回率这一项上,本方法比基准线方法SEASS要高出3.55,SEASS虽然使用了BiGRU作为编码器,带有注意力机制的BiGRU为解码器,但对源文本的关注不够细化,当源文本过长时,生成的标题效果降低。这证明了对源文本使用分层次的关注结构以及将普通的循环神经网络神经元改为BiGRU确实在标题生成任务中产生了正面的作用。
[0055] 从图3可见,在ROUGE-1召回率这一项上,本模型要比Luong-NMT方法高出3.97,即使Luong-NMT模型使用了采用两层LSTM组成的序列到序列+全局和局部注意力机制的模型,但是LSTM对上下文的信息结合度不够,学习潜在语法结构的能力不足,这证明了本方法的BiGRU神经元要优于普通的LSTM神经元,同样对源文本使用不同层次的关注架构对标题的生成有积极的作用。
[0056] 尽管以上结合附图对本发明的实施方案进行了描述,但本发明并不局限于上述的具体实施方案和应用领域,上述的具体实施方案仅仅是示意性的、指导性的,而不是限制性的。本领域的普通技术人员在本说明书的启示下和在不脱离本发明权利要求所保护的范围的情况下,还可以做出很多种的形式,这些均属于本发明保护之列。