一种利用预训练模型的吉布斯受限文本摘要生成方法
技术领域
本发明涉及文本摘要生成
技术领域
,具体地说,涉及一种利用预训练模型的吉布斯受限文本摘要生成方法。背景技术
在当今网络高度发达的大背景下,互联网上每天都会产生数以亿计的数据流量,铺天盖地的信息流充斥着我们的生活,如何从信息流中提取我们需要的信息至关重要。自2012年移动互联网进入高速发展阶段以来,文本信息量呈井喷式、指数级、爆炸性增长,庞大的文本信息使得人们在网络上浏览时花费大量时间,极大提高了用户的阅读成本和获取重要信息的成本。如何解决从过量信息中快速提取文本数据中的关键信息,已经成为各行业的迫切需要。文本摘要是一篇文章的核心内容的简要表述,可以提高用户从海量数据中查找和阅读的效率,但是传统摘要都是由人工提取生成,成本过高且效率低下,由此自动文本摘要技术应运而生。
自动文本摘要技术的出现可以有效缓解该问题,作为自然语言处理和人工智能领域的重要研究内容之一,自动文本摘要可以利用计算机自动地从长文本或文本集合中提炼出一段能准确反映原文中心内容的简洁连贯的短文。自动文本摘要是人们利用机器理解人类语言的重要技术手段,是自然语言处理的重要任务之一,其研究价值重大,意义深远。一个好的摘要往往包含三个特点:
(1)简洁性概括。对于短文本而言,摘要长度一般不超过原文的一半或者更少。对于长文本而言,摘要往往也不超过其三分之一。
(2)阐述重要性。摘要一般要涵盖文本重要信息,方可表达原文本的中心思想。
(3)冗余度消除。好的生成摘要不应该啰嗦,是对原文重要信息的简要概述,好的算法生成的摘要应该消除重复冗余的文本。
自动文本摘要是利用计算机实现自动文本分析、内容总结和摘要生成的技术,是解决目前信息过剩的一种重要手段,能够帮助人类快速、准确、全面的从文本中获取关键信息,目前在文档摘要生成、舆论舆情监督、新闻标题生成以及复杂问题问答等方面取得了广泛的应用,在商业和政务服务上面都具有重要的实际应用意义。主要分为抽取式方法和生成式方法两种形式。
抽取式文本摘要方法(Extractive Text Summarization Method)主要是通过概率统计学原理统计并分析文本的特征,挖掘文本的潜意语义信息等。主要是利用相关算法或者语言模型对输入文本进行模型训练,然后运用概率学知识选取和抽取源文本中相关短语和句子,重新组合成新的句子或者段落,从而生文本成摘要。基于抽取式的文本摘要的主要步骤分为:
(1)内容选择。主要基于统计学特征或者语言模型实现。
(2)信息排序。一般是计算词语的词频或者句子的互信息重要性来进行排序。
(3)根据重要性构建句子,输出摘要。
抽取式摘要生成方法是一种简单、直接的文本摘要生成方法。其核心在于内容选择,尽管对于关键内容的选择较难,但是更易于实现。另外,句子连贯性通常较差,很难保证摘要的连贯性,但由于句子都是直接从原文中抽取得到,就不会出现过多的重复文本,基本能够理解到其含义,句子的可读性较好。
生成式文本摘要方法(Abstractive Text Summarization Method)现在主要是利用深度学习相关知识对源文本进行建模,通过训练模型来对文本进行分析、理解,可以在训练词汇表中选择不同于原文的相似词或者相似短语,进一步阐述文本中的关键信息,表达文本的核心内容和主题思想,从而生成摘要。与抽取式文本摘要不同,生成式摘要主要是利用训练好的语言模型理解文章内容,从词语和句子层面上对文本进行压缩、提炼和理解,最终生成文本摘要。与抽取式方法相比,生成式方法与人类阅读和理解文本的过程更相似。同时,可以发现生成式方法更加依赖于对文本的理解和释义,而机器本身缺乏对文本信息的理解能力和人的先验性知识的储备,因此如何设计模型或方法让机器对文本进行摘要生成,是一项更为复杂、困难和具有挑战性的任务。
最近几年,由数据驱动的序列到序列(Sequence-to-Sequence,Seq2Seq)的深度学习方法在诸多研究领域取得重要突破,得到广泛关注,自然语言处理取得了重大成就和进步。当前深度学习的出现虽然带动了文本摘要的发展,但是生成的文本摘要往往存在语义缺失、生成重复、未登录词、一词多义、可读性较差、摘要难以评估等问题,需要进一步研究和亟待解决。文本摘要生成任务的发展任重而道远,仍是一项极具难度和挑战性的任务,需要大家的共同努力。
发明内容
本发明的内容是提供一种利用预训练模型的吉布斯受限文本摘要生成方法,其能够克服现有技术的某种或某些缺陷。
根据本发明的一种利用预训练模型的吉布斯受限文本摘要生成方法,其利用Trans-BLSTM模型进行训练和生成文本摘要,Trans-LSTM模型的训练流程如下:
(1)首先使用预训练语言模型Bert对文本的源序列x={x1,x2,...,xn}进行词向量化,同时加入相对位置编码,得到文本的Word Embedding;
(2)在编码器阶段,利用多头注意力机制和Bi-LSTM来提取特征,训练模型,对模型进行微调,得到编码器的输出;
(3)和编码器端源序列的词嵌入方法一样,加入相对位置编码,得到目标序列y={y1,y2,...,ym}的Word Embedding;
(4)解码器端的结构采用的是Transformer的解码器结构,参数和Transformer的保持一致;
(5)通过训练得到Attention矩阵,将Attention矩阵输入全连接层,然后经过Softmax计算得到词汇表的概率表示;
(6)最后,通过解码算法得到输出序列,解码器端融入LDA模型进行关键词提取,结合Gibbs采样算法来提取生成摘要。
作为优选,Trans-BLSTM模型将Transformer编码器部分的FFN(·)层改用Bi-LSTM并连接一个Linear层,而解码器部分保持不变。
作为优选,相对位置编码的计算如下式所示:
其中,i、j表示词表中对应位置索引,2k表示偶数维度,2k+1表示奇数维度,dz表示每个单个Attention的隐藏层的维度。
作为优选,步骤(6)中,先用LDA模型从文本中提取关键词,然后选择得分最高分的作为开始标记;同时,将已经预测的句子加入到负候选集,下一次预测的时候,如果其在负候选集,我们就重复一次Gibbs采样算法。
作为优选,结合Gibbs采样算法的解码器端的流程如下:
初始状态为x0=[x0,1,x0,2,...,x0,n],t时刻状态为xt=[xt,1,xt,2,...,xt,n],通过如下流程采样xt+1:
1)从[xt,1,xt,2,...,xt,n]中采样第i个位置的xt,i,并将其从序列中替换为[MASK],得到序列xt,-i=[xt,1,xt,2,...,xt,i-1,[MASK],xt,i+1,...,x0,n];
2)计算xt,i在MLM模型中的生成概率分布pt+1;
3)从pt+1中采样一个y;
4)用y替换xt,i,就得到xt+1=xt,[xt,i=y]=[xt,1,xt,2,...,xt,i-1,y,xt,i+1,...,x0,n]。
本发明具有以下优点:
(1)提出了Trans-BLSTM模型的文本生成模型,结合预训练语言模型,对我们的模型进行微调。
(2)改进编码器端的结构,将前馈神经网络层修改为Bi-LSTM来提高特征提取能力。
(3)对位置编码的改进,利用了相对位置编码,加入了文本的相对位置关系,增加了模型位置特征的提取能力。
(4)引入Gibbs采样算法,通过结合Bert和Gibbs采样算法,使得训练和预测相统一,减少训练偏差。
(5)加入LDA主题模型,利用LDA主题模型提取关键信息,提高了模型的生成质量。
附图说明
图1为实施例1中Trans-LSTM模型的训练流程图;
图2为实施例1中相对位置编码参考示意图;
图3为实施例1中学习率学习曲线图;
图4为实施例1中Trans-LSTM训练损失曲线图。
具体实施方式
为进一步了解本发明的内容,结合附图和实施例对本发明作详细描述。应当理解的是,实施例仅仅是对本发明进行解释而并非限定。
实施例1
如图1所示,本实施例提供了一种利用预训练模型的吉布斯受限文本摘要生成方法,其利用Trans-BLSTM模型进行训练和生成文本摘要,Trans-BLSTM模型将Transformer编码器部分的FFN(·)层改用Bi-LSTM并连接一个Linear层,而解码器部分保持不变。Trans-LSTM模型的训练流程如下:
(1)首先使用预训练语言模型Bert对文本的源序列x={x1,x2,...,xn}进行词向量化,同时加入相对位置编码,得到文本的Word Embedding;
(2)在编码器阶段,利用多头注意力机制和Bi-LSTM来提取特征,训练模型,对模型进行微调,得到编码器的输出;
(3)和编码器端源序列的词嵌入方法一样,加入相对位置编码,得到目标序列y={y1,y2,...,ym}的Word Embedding;
(4)解码器端的结构采用的是Transformer的解码器结构,参数和Transformer的保持一致;
(5)通过训练得到Attention矩阵,将Attention矩阵输入全连接层,然后经过Softmax计算得到词汇表的概率表示;
(6)最后,通过解码算法得到输出序列,解码器端融入LDA模型进行关键词提取,结合Gibbs采样算法来提取生成摘要。
绝对位置编码(Absolute Position Representations)是指在位置编码过程采用统一的计算公式来计算位置编码值。相对位置编码(Relative Position Represen-tations)是指根据一定的规则可以动态的调整位置编码的值。采用绝对位置编码会根据位置索引的奇偶性来计算位置编码的值,在整个训练过程中都是固定不变的,不会根据上下文环境发生改变,只跟词语在词表中的位置索引有关系。而相对位置编码结构一般是根据相对位置公式变化而来的,对于参考标准不一样,最后的编码也就不一样。如图2所示。
相对位置编码的计算如下式所示:
其中,i、j表示词表中对应位置索引,2k表示偶数维度,2k+1表示奇数维度,dz表示每个单个Attention的隐藏层的维度。
很多时候,我们需要根据一些特定的信息来生成目标文本,用数学的话说就是条件语言模型,不过我们无法得到足够多的语料对去直接监督训练一个条件语言模型,而是只能训练一个无条件的语言模型,但我们又可以人为地设计一个指标来定量描述和之间的联系。那么在这种情况下,如何根据无条件的语言模型和之间的联系来做有条件的文本生成,便成为了我们的研究对象。我们可以称之为受限文本生成(Constrained TextGeneration)。
Gibbs算法在计算p(y|xt,i)的时候,在t时刻将第i个位置的xt,i拿掉,然后根据剩下的序列去预测第i个位置的概率,这和Bert中的MLM特别相似。因此,我们提出设想是不是可以将Bert和Gibbs采样算法结合起来,解码器端采用Gibbs采样算法来对文本进行采样,就与Bert的MLM模型训练一样的。由此,结合Gibbs采样算法的解码器端的流程可做如下描述:
初始状态为x0=[x0,1,x0,2,...,x0,n],t时刻状态为xt=[xt,1,xt,2,...,xt,n],通过如下流程采样xt+1:
1)从[xt,1,xt,2,...,xt,n]中采样第i个位置的xt,i,并将其从序列中替换为[MASK],得到序列xt,-i=[xt,1,xt,2,...,xt,i-1,[MASK],xt,i+1,...,x0,n];
2)计算xt,i在MLM模型中的生成概率分布pt+1;
3)从pt+1中采样一个y;
4)用y替换xt,i,就得到xt+1=xt,[xt,i=y]=[xt,1,xt,2,...,xt,i-1,y,xt,i+1,...,x0,n]。
由于加入Gibbs采样算法的模型在训练的时候,我们必须事先知道预测的序列长度,但是往往序列长度是不一样的,由此我们通过在解码器端融入LDA模型,先用LDA模型从文本中提取关键词,然后选择得分最高分的作为开始标记。同时,我们采样上一章的负候选集合的思想,将已经预测的句子加入到负候选集,下一次预测的时候,如果其在负候选集,我们就重复一次Gibbs采样算法。这样就可以避免一些重复生成问题。
实验结果和分析
数据集介绍
采用英文数据集CNN/Daily Mail数据集,该数据集是Hermann等人从美国有线新闻网和每日邮报网中收集的大约100万条新闻数据作为机器阅读理解语料库,每篇文章都有一个人工写作的多句摘要。后续Nallapati等人在Hermann基础之上构建了用于训练文本摘要生成模型的CNN/Daily Mail数据集。CNN/Daily Mail文本摘要数据集的划分情况如表1所示:
表1 CNN/Daily Mail数据集
Data
Summary Pairs
Training Set
28,6817
Validation Set
13,368
Test Set
11,487
Trainning Set是语料库的主要组成部分,是模型的训练集,共计有28,6817对49电子科技大学硕士学位论文<text,summaries>文本摘要对。
Validation Set用作模型的验证集,共计包含28,6817对<text,summaries>文本摘要对。
Test Set用作模型的测试集,用来验证模型的效果,共计包含13,368对<text,summaries>文本摘要对。
CNN/DailyMail最初是做阅读理解常用的数据集,它的原始数据包括原文和人工产生的摘要和答案,后来修正得到多句摘要。CNN/Daily Mail是长文本的摘要数据集,数据规模庞大,每个长篇文档包含多个句子的摘要。平均每篇text有766个单词和29.74个句子,平均每个summary有53个单词和3.72个句子。
数据预处理
源文件数据是以列表、字典嵌套存入文本和摘要对,我们在分词之前提取出<文本,摘要>对,然后再用分词工具分词。由于数据量庞大,我们将数据集切割成多个小文件进行存储,以方便后续处理。本实验用的Stanford的CoreNLP工具包对英文文本进行分词处理。我们按句子对文本进行处理,对于每个句子我们用<p>来做标记。
实验环境配置以及参数设置模型涉及神经网络,需要大量运算,我们采用了GPU来运算我们的模型。
本文实验所采用的配置如表2所示。
表2实验硬件配置表
硬件设备
配置
CPU
Intel(R)CPU i9-9900K 8核16线程
GPU
NVIDIA GeForce 2080(8GB)x2
Memory
64GB
SSD
256GB
HDD
3TB
实验模型涉及的代码都是基于Pytorch1.4深度学习平台开发和训练,模型参数配置如表3所示。
表3 Trans-LSTM模型参数设置表
参数名
中文释义
参数设置
voc_size
词汇表大小
30522
word_vec
词向量维度
768
learning_rate
学习率
2e-3
train_steps
训练步数
100000
warmup_steps
加快学习步数
10000
dropout
中途退出
0.1
batch_size
批大小
128
optimizer
优化器
Adam
BeamSerach_size
集束搜索束宽
3
词汇表大小选择Transformer默认的30000。根据文本词语的长度分布和句子的长度,词向量维度选择的也是768,LSTM隐藏层的维度也是768。优化器选择Adam,并设置参数β1=0.9,β2=0.999。经过多次验证,集束搜索大小选择的束为3效果最好。
结果对比分析
由于预训练的原因,编码器部分的概率分布一般是趋于平稳的,而解码器部分还没训练好,必认会导致训练不匹配,微调时训练不平稳。为了使得模型编码器部分不过拟合,解码器部分不欠拟合,我们分别设置编码器和解码器的学习率。如下式所示:
lren=originalen·min(step-0.5,step·warmupen -1.5)
lrde=originalde·min(step-0.5,step·warmupde -1.5)
其中,对于编码器部分我们设置originalen=2e-3,warmupen=20,000,对于解码器部分我们设置originalde=0.1,warmupen=10,000。随着训练迭代次数的增加学习率开始降低,学习率逐步趋于平稳。学习率曲线如图3所示。
本文构建的Trans-BLSTM模型在两张RTX2080GPU上总共跑了200000个Steps,花了大概46.6个小时,模型训练的loss曲线如图4所示。
由于预训练的原因,文本分布保持了一定平稳,所以对于加入了Gibbs采样以后,模型并没有得到太大的区别。另外,在模型训练中,我们发现Trans-BLSTM+Gibbs模型出现了过拟合,因此我们选择了中间第10,0000步的模型参数来生成摘要,并计算ROUGE得分。
摘要评估用的是ROUGE评价方法,调用pyrouge工具包分别就ROUGE-1、ROUGE-2、ROUGE-L指标对生成摘要打分。结果如表4所示:
表4 ROUGE-N和ROUGE-L评价情况
指标
平均得分
置信度
ROUGE-1
Average_R:0.51699
(95%-conf.int.0.51429-0.51989)
ROUGE-1
Average_P:0.37607
(95%-conf.int.0.37354-0.37847)
ROUGE-1
Average_F:0.42090
(95%-conf.int.0.41874-0.42323)
ROUGE-2
Average_R:0.23734
(95%-conf.int.0.23459-0.24022)
ROUGE-2
Average_P:0.17352
(95%-conf.int.0.17129-0.17568)
ROUGE-2
Average_F:0.19346
(95%-conf.int.0.19128-0.19579)
ROUGE-L
Average_R:0.47311
(95%-conf.int.0.47034-0.47602)
ROUGE-L
Average_P:0.34482
(95%-conf.int.0.34233-0.34724)
ROUGE-L
Average_F:0.38561
(95%-conf.int.0.38343-0.38791)
我们先用设计的Trans-LSTM模型跑了一遍,然后在解码器端加入Gibbs采样方法再跑了一边。由于采样算法是基于预训练语言模型的,会导致我们的采样分布不准确,所以我们后面加入了LDA主题模型提取的关键词来进行对比分析。为充分评估我们模型的效果,与目前比较流行的几种模型进行比较。我们将模型与其他公开的在CNN/Daily Mail数据集上做的实验结果进行对比分析,更加全面评估我们的模型,结果如表5所示。
表5本实验模型与部分公开实验模型效果对比
Model
ROUGE-1
ROUGE-2
ROUGE-L
PGNet+Cov
39.53
17.28
37.98
Transformer
40.21
17.76
37.0
Trans-BLSTM
40.15
18.07
38.66
+Gibbs
41.32
18.29
39.17
+Gibbs+LDA
42.09
19.34
38.56
我们的模型与PGNet+COV模型相比,有较大提升,说明了我们模型具有良好结果。同时我们的基线模型Trans-LSTM与Transformer基本模型得分差不多,说明我们基于Transformer的改进是有效果的。另外,在加入了Gibbs采样以后,我们的模型效果得到了进一步提升。
由表可知,我们的基线模型Trans-BLSTM与Transformer模型得分差不多,说明我们模型基于Transformer的改进是有效果的,同时也表明基于Bert预训练语言模型做文本生成任务也是可行的。引入Gibbs采样算法主要是对解码算法进行优化调整,相比于Trans-BLSTM模型的集束搜索算法,Gibbs采样算法能更大可能从原文获得词语,因此模型效果得到了进一步提升,同时也表明了Gibbs采样算法与MLM模型保持了训练与预测的一致性。在利用LDA主题模型进行初始化预测序列后,模型相对于单纯采用[MASK]初始化有一定的性能提升(+0.77ROUGE-1,+1.05ROUGE-2,+0.39ROUGE-L),结果表明句子初始化是有效果的。但是我们的模型与BertSumEXT模型相比还是有一定差距,后面将会进一步研究模型的不足,提升模型的生成质量。
为了直观的了解文本生成摘要,我们展示其中一个例子,从人工角度分析摘要的质量如何。模型的生成摘要如表6所示。
表6 Trans-LSTM模型生成摘要示例
对比发现,我们的模型基本能得到和参考摘要一样的主要信息,说明了模型在一定情况下的效果比较好。
以上示意性的对本发明及其实施方式进行了描述,该描述没有限制性,附图中所示的也只是本发明的实施方式之一,实际的结构并不局限于此。所以,如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种文本聚类处理方法及系统