一种新闻标题自动生成方法与流程

专利2022-06-29  104


本发明属于新闻文本处理的
技术领域
,具体地说,本发明涉及一种新闻标题自动生成方法。
背景技术
:当今世界是互联网大数据时代,海量的信息充斥互联网,互联网用户从互联网上获取信息,一般通过主动使用搜索引擎搜索信息、或者被动接受app推送的新闻信息,而这些一般都是通过新闻标题的形式来描述信息内容。因此通过新闻标题这种方式,对新闻标题的关键性、精准性、简短性等提出了高要求和高标准。然而有些人为了吸引眼球和热度,弄虚作假胡夸海口制造虚假标题;还有些人制作信息不严谨,存在标题和新闻内容严重不符合。这些问题的存在导致读者常常从标题打开文本获取信息时,读者花费了大量时间和精力却得不到有价值的、所需要的信息。让用户不仅无法快速获得信息,甚至还造成了大量的信息冗余,导致信息获取效率的大大降低。目前主要的新闻标题方法主要是新闻标题抽取式方法和生成式方法这两种。新闻标题抽取式一般采用基于统计或者规则的方法,从原新闻中抽取句子出来生成标题,这种方法获得的标题流畅度良好,但是概括性不能让人满意。新闻标题生成式方法,在理解原新闻基础上,按自己的话语生成新的标题,这种方法获得的新闻标题可以概况原文内容,然而流畅性还有问题。针对新闻标题的存在的这些问题,研究一种新的方法,来获得更流畅,更概括的新闻标题成为了眼下亟需解决的一个技术问题。技术实现要素:本发明针对上述现存的问题,提出了一种基于seq2seq attention框架加融合方法训练的新闻标题自动生成。本发明的所述的模型基于最近几年提出的深度学习encoder-decoder(编码器解码器)框架,运用融合方法对模型进行改进,使其能够获得更多的语义信息,和生成更高质量的新闻标题。为实现上述发明,本发明的流程如下所示。(1):获取新闻文本数据,对新闻文本数据处理并划分数据集;(2):对新闻文本数据进行预处理,生成词向量词典;(3):构建编-解码网络,其中编码器网络使用双向gru递归神经网络对预处理后的新闻文本数据进行编码;解码网络利用gru网络加注意力机制对编码进行解码;(4):利用融合方法对编-解码网络进行训练,把待分析新闻数据输入训练完成的编-解码网络,根据词汇表和此时的单词概率分布生成新闻标题。优选的,所述步骤s1包括:(1.1):从新浪新闻网站爬取新闻数据;(1.2):只保留新闻文本数据;(1.3):选取新闻文本数据第一段和第二段作为article,如果内容超过预选取的长度s,则进行截断处理,如果长度不够s,那么就使用0进行填充。(1.4):选取新闻网页标签中的摘要部分作为title,如果该新闻文本数据没有摘要,则将使用从该新闻文本数据article中抽取第一条作为title。(1.5):对新闻数据进行划分数据集操作,按照9:1的比例分别对title和article对应划分为训练集和测试集。优选的,所述步骤s2包括:对数据集使用分词工具进行分词,使用word2vec词向量工具对新闻文本数据进行词向量化并生成词向量词表。优选的,所述步骤s3编码器编码包括如下:(3.1)编码器模型公式如下所示:rt=σ(wr[ht-1,xt] br)zt=σ(wz[ht-1,xt] bz)其中zt表示更新门、rt表示重置门、ht表示输出门、表示候选状态,ht-1表示前一时间步t-1的隐藏状态,xt表示经过步骤2处理后的文本数据,σ表示激活函数sigmoid,tanh表示激活函数,表示权重参数矩阵,表示偏差系数。(3.2)编码器采用双向结构编码,句子经过步骤2转换成词向量的形式输入编码器,由前向后的gru网络顺序读句子中的每一个词,得到前向隐藏状态序列从后向前的gru网络倒序读句中的每一个词,得后向隐藏状态序列把前向网络和后向网络各自的最后一个隐藏状态连接,作为编码器最终编码输出表示s,把编码器得到的编码表示s传递给解码器进行解码,其中s表示如下:其中n表示句子长度,表示向前序列最后的一个隐藏状态,表示后向序列最后的一个隐藏状态,表示连接操作。(3.3)将前向和后向结构的隐藏状态向量相连接,连接得到的向量作为双向编码器的隐藏状态序列h=(h1,h2,···hn),双向编码器隐藏状态序列(h1,h2,···hn)在解码器中计算上下文向量ct的时候使用,具体计算如下:优选的,所述步骤s3进一步包括解码器解码过程如下:(3.4):解码器接受编码器最终状态输出表示s,开始进行解码;(3.5):单向gru解码器根据当前时间步t的输入yt、解码器前一时间步t-1的隐藏状态mt-1和上下文向量ct生成当前时间步t的隐藏状态mt,计算公式如下:mt=g(mt-1 yt ct)其中(t=0时yt=s,t>0时yt=dt-1),g表示隐藏层的一系列变换,计算如公式(1)-(4);(3.6):上下文向量ct计算公式如下所示:et,j=vt·tanh(w1mt w2hj)其中hj表示双向编码器的隐藏状态序列h的第j个隐藏状态,mt表示步骤(4.2)得到的解码器的第t个隐藏状态,et,j表示了mt和hj的对齐相似度;at,j表示对齐相似度进行归一化后获得的hj的权重;(v,w1,w2表示参数矩阵)。(3.7):根据上下文向量ct及解码器隐藏状态mt生成向量dt;其中σ表示激活函数sigmoid,表示参数矩阵,表示偏差系数;(3.8)将步骤(4.4)的向量dt依次连接全连接层和softmax层,得到输出向量dt在词汇表向量中的概率分布,softmax公式为:p(pt)=softmax(dt*wk bk)其中wk是全连接层的权重矩阵,bk是偏差系数,softmax是softmax()函数,pt表示分布式词向量,p(pt)表示概率分布;优选的,所述步骤(4)网络训练过程包括如下:(4.1)在训练rnn做序列生成任务时,最常用的方法为定向比照,在解码的每个时间步以最大化似然估计作为目标进行网络的训练。最大化似然估计等价于最小化下面的损失函数:其中n表示序列长度,表示正确生成标题中第t个单词,xml表示新闻文本训练数据标题标签。(4.2)设置两种规则,ys是根据分布采样得到的输出序列,yg是根据分布贪婪得到的输出序列,再根据ys和yg计算r(ys)和r(yg),得到奖励期望损失函数lrl:其中xs表示当前输出序列中上一步的输出,表示贪婪搜索生成标题序列过程中,第t步选择p(pt)中概率最大一个,即为输出序列yg中的第t个元素,表示集束搜索生成标题序列过程中,第t步选择p(pt)中概率最大的前k个作为第t步的元素,优选k≤5,直到t=n时选每步概率和最大的序列即为最终输出序列ys,r(*)表示得到的预测标题序列的评价得分,评价得分是指预测标题与title标题使用评价指标rouge-1得到的评价分数;(4.3)合并极大似然lml和最小化负奖励期望lrl,得到融合学习方法的最终损失计算函数llos,γ∈[0,1]是一个比例参数。llos=(1-γ)lml γlrl(4.4)使用优化器来对llos进行迭代优化训练,网络参数循环更新,直到迭代达到目标次数,训练结束,保存训练模型。优选的,所述步骤(4)进一步包括利用训练好的模型参数生成新闻标题:先构建测试模型,方法如步骤(3.1)-(3.8),再提取训练模型保存的参数给测试模型;然后把待分析新闻数据输入测试模型,根据词汇表和此时的单词概率分布生成新闻标题。与现有的技术方法相比较,本发明的优点是:1、利用gru来进行编码解码,充分利用了递归神经网络长期记忆的同时,可以减少参数,提高运算速度。2、模型中使用了基于全部权值的注意力机制,考虑到长句子序列中每个词的重要性影响大小不同,将句子的权重信息充分考虑进去,从而在长句子生成新闻标题时充分考虑每一个词的关注度,使得生成的标题对原文的理解更充分。3、最后使用融合训练方法来进行模型训练,获得生成的标题与目标title的一种动态交互,通过这种交互反馈提高模型训练效果。本发明基于深度学习模型,加入融合训练方法进行训练,所述方法合理可靠,可以有效的提高新闻标题生成的准确性、流畅性和概括性,具有良好的应用前景。附图说明图1本发明实施例的一种新闻标题的自动生成方法的流程图。图2本发明实施例的新闻文本数据生成词典的流程图图3本发明实施例的融合方法训练的流程图。图4本发明实施例的k=3集束搜索采样流程图。具体实施方式以下结合具体实施对以上方案做进一步说明。本实施例是用于说明本发明的内容,而不是用来限制本发明的内容。本实施例子中的各个条件可以根据具体实际情况进行其他各个方向的调整。本实施例提供一种新闻标题自动生成方法,通过输入新闻生成标题。完整的流程如图1所示,所设计的融合方法训练流程如图3所示。首先获取新闻数据,进行数据集划分;然后预处理输入文本,使用分词工具对新闻文本数据分词、去除停用词;接着根据word2vec算法,生成一个相应的词向量词典;再接着使用双向编码器对输入序列的词向量编码;紧接着使用解码器gru加注意力机制进行循环解码;最后使用融合方法训练模型,生成最终新闻标题。以一个新闻数据集为例,本发明的具体实施步骤如下:步骤(1)获取新闻文本数据,对新闻文本数据处理并划分数据集。步骤(1.1)可以使用现有的一些新闻数据语料,如cnn/daily-mail、搜狗新闻语料等,也可以选择自行从新闻网站上面爬取新闻数据。这里选择使用爬虫软件从新浪网站上爬取中文新闻数据,得到新闻文本数据。同时新闻数据中也有一些缺陷存在,例如有的新闻数据过于简短,只有一句话,有的有图片没有文本,对于这些新闻数据,我们删除它。另外有些新闻文本数据长篇大论,选取这种新闻文本数据第一段和第二段作为article。步骤(1.2)选择网页标签类别为title的文本内容作为新闻实际标题。如果该新闻网页标签类别title为空,则将从该新闻数据的article中选取第一条作为该新闻的实际标题。步骤(1.3)最终得到200000条新闻article和新闻title组合,把它们按照9:1的比例划分为train集和test集。步骤(2)对新闻文本数据进行预处理,生成词向量词典。步骤(2.1)将全部新闻文本数据,使用jieba分词工具加载中文停用词表,去除停用词进行分词。对于article句子使用‘,’‘。’‘!’‘?’来进行分句,每一句长度定为22词,如果超过则进行截断处理,如果不够则使用0来进行填充。每一个新闻article不超过10句,新闻title不超过1句。步骤(2.2)使用word2vec工具,得到向量词典。参数设置如下表所示:sizewindowsghsiter30051110步骤(2.3)词表长度设置为50000,词表维度为300,在词表中添加“begin”“end”“unk”“pad”这几个辅助词。在训练和测试阶段都将使用这个词表。步骤(3)构建编-解码网络,其中编码器网络使用双向gru递归神经网络对预处理后的新闻文本数据进行编码;解码网络利用gru网络加注意力机制对编码进行解码;步骤(3.1)使用步骤3所述的编码器模型。步骤(3.2)利用步骤2得到的词向量词典来代替句子序列中的词,然后把他们按照句子中词的顺序连接起来成为句子向量序列。编码器采用双向结构编码。前向编码器从句子开头依次输入一个词向量,前向编码器gru根据输入的词向量、上一时间步的隐藏状态生成当前时间步的隐藏状态从而得到一个的隐藏状态序列后向的编码器gru从句子最后一个词开始反向依次读入句子中的每个词向量,每一步产生向后的的隐藏状态从而得到一个隐藏状态序列依次把前向编码器的隐藏状态与后向编码器的隐藏状态连接得到双向编码器gru的双向联合的状态序列。其中公式(1-1)表示前向编码器的前向计算过程;公式(1-2)表示后向编码器的后向计算过程;公式(1-4)表示前向和后向依次连接的得到双向编码器的各个隐藏状态步骤(3.3)前向编码器gru最后一个隐藏状态和后向编码器gru的最后一个隐藏状态连接起来得到双向编码器gru最终的输出状态ht。计算公式如下所示:其中公式(1-3)表示前向编码器最后和后向编码器最后一个连接得到编码器最终输出状态,这个状态给解码器;步骤(3.4)(3.4):解码器接受编码器最终状态输出表示s,开始进行解码;步骤(3.5)解码器是一个gru神经网络,解码器在训练、测试、验证阶段接受上一时刻的title输入和上一时刻的隐藏状态生成这一时刻的隐藏状态。解码层第一个数据接受编码器的输出句子向量s,然后解码生成第一个隐藏状态。公式如下:mt=g(mt-1 yt ct)(2-1)其中公式(2-1)表示训练、测试、验证阶段解码器解码生成隐藏状态。步骤(3.6)注意力采用bahdanau全注意力方式进行计算。在解码器解码阶段,每一时刻的注意力权重由前一时间步的隐藏状态和编码器各个时间步隐藏状态点乘并做归一化变换去求得ct。步骤(3.7)再将隐藏状态计算输出状态dt,其中公式(2-2)表示解码器输出。步骤(3.8)解码器输出向量dt输入全连接层再接softmax层,得到输出向量dt在词汇表向量中的概率分布p(pt)。步骤(4)融合方法进行训练如下。步骤(4.1)极大似然的损失函数:其中n表示序列长度,表示正确生成标题中第t个单词,xml表示新闻文本训练数据标题标签。步骤(4.2)负奖励期望损失函数lrl。其中xs表示当前输出序列中上一步的输出,表示贪婪搜索生成标题序列过程中,第t步选择p(pt)中概率最大一个,即为输出序列yg中的第t个元素,表示集束搜索生成标题序列过程中,第t步选择p(pt)中概率最大的前k个作为第t步的元素,直到t=n时选每步概率和最大的序列即为最终输出序列ys,r(ys)、r(yg)表示得到的预测标题序列的评价得分,评价得分是指预测标题与title标题使用评价指标rouge-1得到的评价分数;步骤(4.3)合并极大似然lml和最小化负奖励期望lrl,得到融合学习方法的最终损失计算函数llos,γ∈[0,1]是一个比例参数。llos=(1-γ)lml γlrl步骤(4.4)优化使用gradientdescentoptimizer优化器,学习率采用0.0005,直到迭代次数结束,模型训练完成,保村训练模型。步骤(4)进一步包括生成新闻标题:构建测试模型,方法如步骤(3.1)-(3.8),再提取训练模型保存的参数给测试模型;然后把待分析新闻数据输入测试模型,根据词汇表和此时的单词概率分布生成新闻标题。为了说明本发明所述方法的优势,在具体实施过程中,我们在多种不同方法上进行对比试验,对比包括seq2seq attention point、text-rank、seq2seq、seq2seq attention、seq2seq attention my。其中seq2seq attention my代表本发明所述的方法,text-rank代表基于机器学习的抽取式新闻标题生成方法,该方法在目前新闻标题中最为常用。另外,实施过程中还选择了广泛使用的基于深度学习端到端框架的seq2seq attention方法进行对比实验。使用duc--2004数据集,利用rouge-1、rouge-2、rouge-l这些指标数,分析译文和参考译文共同出现的程度。这里面rouge-1、rouge-2分别表示一元组、二元组,rouge-l表示最长子序列共现的程度。表1、我们的模型和其他生成方法rouge得分结果rouge-1rouge-2rouge-ltext-rank24.5810.9222.14seq2seq28.9812.0128.76seq2seq attention31.1212.2330.52seq2seq attention point35.7914.8932.18seq2seq attention my38.7817.7135.61根据表1所示,本发明的seq2seq attention my方法,在rouge评价指标中几种评估分数相比之前的几种方法各个方面都有了一定的提升,证明本发明方法真实有效。上述实例只是为了说明本发明的发明特点及发明构思,其目的在于让了解此技术的人员能够获悉本发明的
发明内容,但并不能因此而限制本发明的保护范围。凡根据本发明方法所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。当前第1页1 2 3 
技术特征:

1.一种新闻标题自动生成方法,其特征在于,包括以下步骤:

(1):获取新闻文本数据,对新闻文本数据处理并划分数据集;

(2):对新闻文本数据进行预处理,生成词向量词典;

(3):构建编-解码网络,其中编码器网络使用双向gru递归神经网络对预处理后的新闻文本数据进行编码;解码网络利用gru网络加注意力机制对编码进行解码;

(4):利用融合方法对编-解码网络进行训练,把待分析新闻数据输入训练完成的编-解码网络,根据词汇表和此时的单词概率分布生成新闻标题。

2.根据权利要求1所述的一种新闻标题自动生成方法,其特征在于,所述步骤(1)包括:

(1.1):从新闻网站上爬取新闻数据;

(1.2):只保留新闻文本数据;

(1.3):选取新闻文本数据第一段和第二段作为article,如果内容超过预选取的长度s,则进行截断处理,如果长度不够s,那么就进行0填充;

(1.4):选取新闻网页标签中的摘要部分作为title,如果该新闻文网页标签中没有摘要,则将从该新闻文本数据的article中抽取第一条作为title;

(1.5):对新闻数据进行划分数据集操作,按照9:1的比例分别对title和article对应划分为训练集和测试集。

3.根据权利要求1所述的一种新闻标题自动生成方法,其特征在于,所述步骤(2)进一步包括:

对数据集使用分词工具进行分词,去除停用词,使用word2vec工具对数据进行词向量化生成词表。

4.根据权利要求1所述的一种新闻标题自动生成方法,其特征在于,所述步骤(3)使用双向gru递归神经网络对预处理后的新闻文本数据进行编码:

(3.1)编码器模型如下所示:

rt=σ(wr[ht-1,xt] br)(1)

zt=σ(wz[ht-1,xt] bz)(2)

其中zt表示更新门、rt表示重置门、ht表示输出门、表示候选状态,ht-1表示前一时间步t-1的隐藏状态,xt表示经过步骤2处理后的文本数据,σ表示激活函数sigmoid,tanh表示激活函数,表示权重参数矩阵,表示偏差系数。

(3.2)编码器采用双向结构编码,句子经过步骤2转换成词向量的形式输入编码器,由前向后的gru网络顺序读句子中的每一个词,得到前向隐藏状态序列从后向前的gru网络倒序读句中的每一个词,得后向隐藏状态序列把前向网络和后向网络各自的最后一个隐藏状态连接,作为编码器最终编码输出表示s,把编码器得到的编码表示s传递给解码器进行解码,其中s表示如下:

其中n表示句子长度,表示向前序列最后的一个隐藏状态,表示后向序列最后的一个隐藏状态,表示连接操作。

(3.3)将前向和后向结构的隐藏状态向量相连接,连接得到的向量作为双向编码器的隐藏状态序列h=(h1,h2,···hn),双向编码器隐藏状态序列(h1,h2,···hn)在解码器中计算上下文向量ct的时候使用,具体计算如下:

5.根据权利要求1所述的一种新闻标题自动生成方法,其特征在于,所述步骤(3)进一步包括解码器解码过程如下:

(3.4):解码器接受编码器最终状态输出表示s,开始进行解码;

(3.5):单向gru解码器根据当前时间步t的输入yt、解码器前一时间步t-1的隐藏状态mt-1和上下文向量ct生成当前时间步t的隐藏状态mt,计算公式如下:

mt=g(mt-1 yt ct)

其中,t=0时yt=s,t>0时yt=dt-1,g表示隐藏层的一系列变换,计算如公式(1)-(4);

(3.6)上下文向量ct计算公式如下所示:

et,m=vt·tahh(w1mt w2hm)

其中hj表示双向编码器的隐藏状态序列h的第j个隐藏状态,mt表示步骤(3.5)得到的解码器的第t个隐藏状态,et,j表示了mt和hj的对齐相似度;at,j表示对齐相似度进行归一化后获得的hj的权重;v,w1,w2表示参数矩阵;

(3.7):根据上下文向量ct及解码器隐藏状态mt生成输出向量dt;

其中σ表示激活函数sigmoid,表示参数矩阵,表示偏差系数;

(3.8):向量dt依次连接全连接层和softmax层,得到输出向量dt在词汇表向量中的概率分布,softmax公式为:

p(pt)=softmax(dt*wk bk)

其中wk是全连接层的权重矩阵,bk是偏差系数,softmax是softmax()函数,pt表示分布式词向量,p(pt)表示概率分布。

6.根据权利要求1所述的一种新闻标题自动生成方法,其特征在于,所述步骤(4)所述的训练过程如下:

(4.1)极大似然的损失函数:

其中n表示序列长度,表示正确生成标题中第t个单词,xml表示新闻文本训练数据标题标签。

(4.2)最小化负奖励期望的损失函数lrl:

其中xs表示当前输出序列中上一步的输出,表示贪婪搜索生成标题序列过程中,第t步选择p(pt)中概率最大一个,即为输出序列yg中的第t个元素,表示集束搜索生成标题序列过程中,第t步选择p(pt)中概率最大的前k个作为第t步的元素,直到t=n时选每步概率和最大的序列即为最终输出序列ys,r(*)表示得到的预测标题序列的评价得分,评价得分是指预测标题与title标题使用评价指标rouge-1得到的评价分数;

(4.3)合并极大似然lml和最小化负奖励期望lrl,得到融合学习方法的损失函数llos,γ∈[0,1]是一个比例参数。

llos=(1-γ)lml γlrl

(4.4)使用优化器来对llos进行迭代优化训练,网络参数循环更新,直到迭代达到目标次数,训练结束,保存训练模型。

技术总结
本发明是一种新闻标题自动生成方法,利用从新闻网站抽取的新闻数据,使用深度学习框架和融合训练方法生成高质量的新闻标题。具体包括以下步骤:(1)获取新闻文本数据,对新闻文本数据处理并划分数据集;(2)对新闻文本数据进行预处理,生成词向量词典;(3)构建编‑解码网络,其中编码器网络进行编码,解码网络对编码进行解码;(4)利用融合方法对编‑解码网络进行训练,把待分析新闻数据输入训练完成的编‑解码网络生成新闻标题。本发明方法对新闻文本数据的理解更充分,可有效提高新闻文本标题的评价得分,具有广泛的应用场景。

技术研发人员:罗成;蒋宗礼
受保护的技术使用者:北京工业大学
技术研发日:2020.01.22
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-54845.html

最新回复(0)