基于眼动注意力的抽象文本标题生成方法与流程

文档序号:17741079发布日期:2019-05-24 20:06阅读:213来源:国知局
基于眼动注意力的抽象文本标题生成方法与流程

本公开属于自然语言处理以及文本自动摘要领域,特别涉及一种基于眼动注意力的抽象文本标题生成方法。



背景技术:

近年来,随着在线平台的普及,用户每天都会浏览到大量的文本信息。然而,如果文本过于冗长,用户就会感觉阅读变得乏味。鉴于文本标题可以给用户提供文本最基本的信息,同时可以节省用户浏览文本的时间。因此,人们希望通过生成高质量的标题来挖掘文本的重点信息,从而解决信息过载问题。不幸的是,人工生成文本标题需要耗费相当多的人力、时间等资源。不仅如此,“标题党”的横行甚至让用户不能通过标题了解到文本的真实信息。因此,如何自动生成高质量的标题是一项很有意义的研究。

已有的标题生成方法按照生成标题的方式可以分成抽取式方法和生成式方法。顾名思义,抽取式方法是将源文本中最能说明主要内容的句子或单词原封不动的选取出来,再将选取出来的句子连接在一起当作标题。因为利用抽取式方法获得的标题句子是源文本中现有的句子,所以可以避免产生语法问题和逻辑问题。但抽取式方法过于依赖语言学和人工标注,并且通常需要抽取多个句子才能得到源文本完整的信息,不能保持良好的压缩率,从而导致标题质量不高。不仅如此,抽取式方法无法保证标题的连贯性、一致性。比如源句子中包含了代词,简单的抽取、拼接多个句子后根本无法获知代词指的是什么。

相比之下,生成式方法不直接将源文本中的句子作为标题。而是对源文本的语法,语义等信息进行融合,在理解源文本的基础上对源文本的内容进行取舍,裁剪和拼接,最后生成标题。此外,生成的标题中还会包含源文本中没有出现过的单词和短语。因此,生成式方法更符合人工生成标题的过程,但是却不能很好地抓住文本重点信息。同时,上述方法大多利用语法、语境等语言学知识抓住文本的重要信息,缺乏考虑用户的注意力在文本上的停留时间,忽略了譬如眼动数据的人类基础行为数据,导致生成的标题表达能力受限。



技术实现要素:

为了解决上述问题,本公开提供了一种基于眼动注意力的文本标题生成方法,所述方法包括如下步骤:

s100:将源文本的文字序列进行词嵌入操作后把它输入到双向编码器;

s200:所述双向编码器从源文本的嵌入表示中提取上下文语义向量;

s300:根据单词阅读时间计算单词和句子的眼动注意力权重;

s400:将步骤s200得到的上下文语义向量作为解码器第一层的初始状态,先计算解码器的第一层每个隐层状态与双向编码器所有的隐层状态匹配度;再利用所得到的匹配度,进一步计算单词的注意力上下文权重;进而根据所述注意力上下文权重、所述单词和句子的眼动注意力权重和双向编码器的隐藏状态计算得到眼动注意力上下文权重向量;

s500:把所述眼动注意力上下文权重向量、解码器第一层在当前时刻的隐藏状态和解码器第二层在上一时刻的隐藏状态输入到解码器第二层中生成相应的标题。

上述技术方案为了减少编码过程中的信息损失,增加语义向量包含信息的完整性,构建双向编码器来结合源文本的上下文内容,生成上下文语义向量。进而,考虑到眼球跟踪信息的行为数据可以有助于生成高质量的标题,解码器采用了基于眼动注意力机制构建,根据注意力权重捕捉源文本重点信息。

附图说明

图1是本公开一个实施例中所提供的一种基于眼动注意力的文本标题生成方法的流程图;

图2是本公开一个实施例中所提供的一种基于眼动注意力的文本标题生成方法的框架图;

图3是本公开一个实施例中所提供的一种注意力解码器的工作流程;

图4是本公开一个实施例中本方法和其他模型方法在gigaword测试集上生成的标题得到的rouge分数;

图5是本公开一个实施例中本方法和其他模型方法在duc-2003测试集上得到的rouge分数;

图6是本公开一个实施例中本方法和其他模型方法在duc-2004测试集上得到的rouge分数;

图7是本公开一个实施例中本方法和其他模型方法在msr测试集上得到的rouge分数;

图8(a)-图8(c)是本公开一个实施例中本方法和其他模型方法在不同句子长度上的rouge分数。

具体实施方式

参见图1,在一个实施例中,其公开了一种基于眼动注意力的文本标题生成方法,所述方法包括如下步骤:

s100:将源文本的文字序列进行词嵌入操作后把它输入到双向编码器;

s200:所述双向编码器从源文本的嵌入表示中提取上下文语义向量;

s300:根据单词阅读时间计算单词和句子的眼动注意力权重;

s400:将步骤s200得到的上下文语义向量作为解码器第一层的初始状态,先计算解码器的第一层每个隐层状态与双向编码器所有的隐层状态匹配度;再利用所得到的匹配度,进一步计算单词的注意力上下文权重;进而根据所述注意力上下文权重、所述单词和句子的眼动注意力权重和双向编码器的隐藏状态计算得到眼动注意力上下文权重向量;

s500:把所述眼动注意力上下文权重向量、解码器第一层在当前时刻的隐藏状态和解码器第二层在上一时刻的隐藏状态输入到解码器第二层中生成相应的标题。

就该实施例而言,首先,为了寻找注意力停留时间和文本单词重要性的关联,建立了眼动注意力机制。眼动注意力,是指根据人在阅读文本时产生的眼动数据信息,例如,在文本中某个单词上的停留时间,来判断单词重要程度的一种注意力机制。

基于眼动数据建立文本单词、句子和阅读时间的映射关系,根据不同单词、句子的阅读时间计算单词和句子的注意力权重,权重较高的单词、句子得到更多的关注。其次,为了生成高质量的文本标题,基于双向编码器生成上下文语义向量,然后考虑用户阅读文本单词、句子的注意力停留时间,把眼动注意力上下文权重向量和上下文语义向量结合融入解码器生成标题。

在另一个实施例中,步骤s100中的词嵌入方式为:使用在训练过程中自动学习的word2vec词嵌入数据和使用预训练的glove词嵌入数据。

在另一个实施例中,所述双向编码器采用双向门控循环单元bigru。

通常,传统的循环神经网络神经元在处理文本序列时都是按从左到右的顺序单向处理,即只根据上一时间步的隐藏状态和当前的输入生成当前时间步的隐藏状态。但是结合文本上下文理解源文本能提高生成标题的质量。因此,如图2所示应用双向门控循环单元(bigru)构建双向神经网络编码器,基于源文本的上下文来得到编码器的隐藏状态。

在另一个实施例中,步骤s200进一步包括:

s201:所述双向门控循环单元bigru的前向gru从左到右读取输入的文字序列,得到前向隐藏层序列;后向gru从右到左读取输入的文字序列,得到后向隐藏层序列;

s202:由所述前向隐藏层序列和所述后向隐藏层序列合并得到所述双向编码器的隐藏状态;

s203:所述双向编码器根据所有时间步的隐藏状态生成上下文语义向量。

就该实施例而言,前向gru从左到右读取输入的文本序列,得到前向隐藏层序列后向gru从右到左读取输入文本,得到后向隐藏层序列初始的隐藏状态由下式计算:

其中,xi代表在第i个时间步时的输入,分别代表上一个时间步的前向和后向隐藏状态。然后,编码器的隐藏状态由前向隐藏层和后向隐藏层串联合并(concatenation)得到:

最终,编码器根据所有时间步的隐藏状态生成上下文语义向量c:

其中,m代表时间步的总数。接下来,上下文语义向量被输入到注意力解码器进行解码处理,生成最有可能是标题的单词序列。

在另一个实施例中,步骤s300进一步包括:

s301:根据眼动数据进行回归预测,分析出源文本中每个单词的阅读时间;

s302:基于单词的阅读时间计算出不同单词的眼动注意力权重;

s303:基于单词的阅读时间计算出不同句子的眼动注意力权重。

在另一个实施例中,步骤s301进一步包括:

s3001:基于深度神经网络的回归分析方法,使用眼动数据作为训练数据;

s3002:利用神经元自动学习文本的潜在特征,确定源文本中的单词和阅读时间的映射关系。

在另一个实施例中,所述的回归分析方法包括:elman循环神经网络神经元ernn,长短时记忆lstm神经元和门控循环单元gru。

假定一篇文本用d表示,由1个句子构成:d={s1,s2,...,sj,...,sl}。其中的一个句子sj由一串单词序列组成:其中k是sj的长度。sj中每个单词的预测阅读时间用tj表示:的特征向量在预测回归方法的学习过程中,确定单词的阅读时间tk和单词的特征向量的映射函数g如下:其中wf是特征f的权重。

选择elman循环神经网络神经元ernn,长短时记忆lstm神经元和门控循环单元gru这三个神经元中最好的来进行单词阅读时间预测的回归分析,下文的标题生成过程则只使用gru。

ernn的数学表达式如下:

其中的ht代表当前时间步的隐藏状态,σ(·)是sigmoid函数,w代表权重矩阵,⊙表示哈达马积,ht-1表示上一时间步的隐藏状态,e∈rd×v是词嵌入矩阵,上标d表示词嵌入的维度,b代表偏置向量。

lstm通过门机制来学习不同单词间的依赖关系,lstm的原理如下式所示:

ct=ft⊙ct-1+it⊙lt(6)

ht=ot⊙θ(ct)(7)

其中的it是输入门,ft是遗忘门,ot是输出门,候选记忆单元用lt表示;θ(·)是双曲正切激活函数,当前时间步的输入和记忆单元分别用xt和ct表示。

其中,这里的w代表的是输入门,遗忘门,输出门,候选记忆单元t的权重矩阵,它是ht-1和ext的两个权重矩阵拼接而成的。ht-1和ext的权重矩阵是神经网络在训练过程中自动学习到的。

gru通过引入重置门rt和更新门zt来更好地捕获输入序列的长期依赖关系。gru的运算过程如下式所示:

kt=θ(wk·[rt⊙ht-1,ext]+bk)(9)

ht=ht-1⊙(1-zt)+kt⊙zt(10)

其中,ht和kt是隐藏状态和候选激活,wk代表kt的权重矩阵。

在另一个实施例中,步骤s302中的所述单词的眼动注意力权重采用公式计算得到,其中,是单词的眼动注意力权重,代表的阅读时间,k代表句子sj的长度,1≤z≤k,表示句子sj的第i个单词,sj表示源文本中的第j个句子。

在另一个实施例中,步骤s302中的所述句子的眼动注意力权重采用公式计算得到,其中,是句子sj的眼动注意力权重,l代表句子的数量,代表的阅读时间,k代表句子sj的长度,表示句子sj的第i个单词,sj表示源文本中的第j个句子。

在另一个实施例中,步骤s400中的眼动注意力上下文权重向量是采用如下具体步骤获得的:

s401:采用能量函数计算解码器的第一层每个隐层状态与双向编码器所有的隐层状态匹配度,其中ei,j是对应的源文本的单词对即将生成的目标单词的影响力,v是权重向量,和ve是权重矩阵,代表编码器第一层在第i-1个时间步时的隐藏状态,代表编码器在第j个时间步的隐藏状态,b是偏置向量,g和r是标量参数,θ(·)是双曲正切激活函数;

s402:利用上述能量函数得到的匹配度,进一步计算单词的注意力上下文权重;

s403:把所述注意力上下文权重、所述单词和句子的眼动注意力权重和双向编码器的隐藏状态通过加权线性组合得到眼动注意力上下文权重向量。

其中,这里的权重向量和权重矩阵都是神经网络在训练过程中自动学习的参数。

就该实施例而言,注意力上下文权重根据如下公式计算得到:

这里的是归一化指数函数。眼动注意力上下文权重向量通过下列公式计算得到:

这里的是单词的眼动注意力权重,表示句子so的第j个单词,so表示源文本中的第o个句子,是句子sj的眼动注意力权重。

注意力解码器的工作流程如图3所示,在解码器的初始状态,第一层神经网络把编码器的最后一个隐藏状态作为初始输入,把上下文语义向量c当作初始隐藏状态,生成后续的隐藏状态。解码器的第一层神经网络在第i个时间步的隐藏状态由下列公式计算:

其中的yi-1和分别是解码器上一时间步的输出和隐藏状态。在解码器的第二层,解码器综合考虑上一时间步的隐藏状态当前时间步上解码器第一层的隐藏状态眼动注意力上下文权重向量生成当前隐藏状态

然后,我们利用构建出读出状态rt,读出状态通过归一化指数函数来得到生成目标单词yt的可能性:

在解码过程中,我们的解码器综合考虑源文本的语法信息和眼动信息,抓住源文本的重要部分,进行单词预测,得到一段单词序列,这一段单词序列被我们当作源文本的标题。其中,是当前隐藏状态的权重矩阵,wic是眼动注意力上下文权重向量的权重矩阵,wt是读出状态rt的权重矩阵。

以下实施例通过实验的方式进行分析基于眼动注意力的文本标题生成方法(fa-ath)的准确性以及有效性。

在另一个实施例中,选择合适的数据集进行实验。

首先,单词阅读时间预测方法把dundee、geco和iitb数据集当作训练集。这三个数据集是目前比较流行的眼动数据集,能很好的模拟真实场景。表1是这三个数据集的统计信息。

表1

其次,把英文gigaword数据集当作训练集。英文gigaword数据集是最大的英文语料库,这个数据集包含了来自如美联社、纽约时报等多家信息发布平台的文本内容和对应的标题。

此外,使用英文gigaword、duc和msrabstractivetextcompression作为测试集。

使用了rushetal.(2015)提供的脚本对gigaword语料库进行预处理,创建了1951个随机抽样子集。

duc语料库由来自美联社、纽约时报和新华社等新闻平台的文本数据组成。我们使用的duc测试集包含两部分:duc-2003和duc-2004。

msrabstractivetextcompression测试集是toutanova等人发布的一个标题生成任务数据集。其中的每篇文本包含多个不同质量的标题,这些标题有着不同的标识来代表标题的质量。我们把数据集中被标识为“14”、“21”、“22”和“24”的低质量标题删除。

在另一个实施例中,选择与基于眼动注意力的文本标题生成方法工作类似的经典模型进行实验。该经典模型包括如下:pre是一种抽取出源文本的前75个字节来当作标题的模型。top是采用无监督的主题检测(utd)方法筛选关键词生成标题的模型。moses+是一个基于机器翻译模型moses的标题生成模型。abs是一个包含cnn编码器和注意力解码器的模型,abs+是它的优化模型。ras是基于注意力编码器和rnn解码器构建的模型。fs2s和fs5s是通过增加pos、ner等标签来增强编码能力的模型。summ-h是一种基于多层次的注意力机制来生成标题的模型。l-nmt是采用双层lstm搭配global&localattention的seq2seq模型。s2s-a是一种基于标准的注意力机制的文本标题生成模型。seass是以bigru为编码器,注意力gru为decoder的模型。

在另一个实施例中,为了数值化地衡量基于眼动注意力的文本标题生成方法和其他经典模型的性能,选择两种评价标准分别评估得到的单词预测时间的准确性和生成的标题的质量。

首先,使用均方根误差(rmse)作为预测单词阅读时间方法的评估指标,rmse能反映预测值和真实值的偏差,rmse的值越小,说明预测的单词阅读时间越接近阅读单词所需要的真实时间,即所提方法越有效。rmse的计算如下:

其中的表示阅读一个单词所需要耗费的实际时间,tk表示预测的时间,m代表源文本的单词数。

其次,为了评价生成的标题的质量,使用文本标题生成任务常用的rouge评估指标。使用rouge-n-f和rouge-l-f对在gigaword和msr-atc测试集上生成的标题进行评估;对于duc测试集,使用rouge-n-recall和rouge-l-recall来衡量生成标题的质量。rouge-n-recall(nr)和rouge-n-f1(nf)根据标准标题和生成标题中的单词共现次数来判断生成标题的质量。计算方法如下:

其中,n是n-gram的类型,nig、nih和nigr分别代表标准标题和生成标题里的n-gram总数和它们的n-gram共现总数。g代表的是生成的标题,s代表的是标准的标题,这里的g(n-gram)和s(n-gram)分别代表的是生成标题和标准标题里的n-gram。

rouge-l-recall(lr)和rouge-l-f(lf)由下列式子计算:

这里的lcs(s,g)是标准标题和生成标题的最长公共子序列的长度,len(s)和len(g)分别表示标准标题和生成标题的长度。根据官方的rougetoolkit,得到的所有rouge分数都有95%的置信区间。

最后,为了进一步研究标题生成模型在解决信息过载问题上的性能,我们根据以下公式计算了空间节省率(rss):

这里的m代表源文本的单词数,n代表生成标题的单词数。

在另一个实施例中,定义训练过程中的初始化操作。使用泽维尔方式的高斯分布初始化模型参数,把批处理大小设置为64并总共训练了10轮(epochs)。编码器的隐藏状态的维度设置为256,并使用预训练的100维glove嵌入初始化单词嵌入,使用adam作为优化算法,并且优化算法的学习率定为0.001。解码器的维度设置为512,dropout设置为0.2,词汇表大小设置为60000个词,没有包含在词汇表里的单词用<unk>替换,并且用#替换数据集里的所有数字。在测试集上生成标题时,使用波束搜索算法(beamsearch)生成多个标题候选项以获得更好的结果,设置beamsize为1和5,当beamsize为1时,解码器使用贪婪算法得到标题单词。本方法是基于keras实现的。在gtx1080tigpu上进行了实验,模型每个epoch的训练时间在3.5-4小时之间。

在另一个实施例中,详细阐述了阅读时间预测结果和分析。表2显示了利用不同的词嵌入方式和神经元实现的阅读时间预测方法的rmse结果。从表2可以看出。首先,通过自动学习的词嵌入得到的结果要优于使用预训练的词嵌入得到的,这一定程度上可以归结于文本差异问题。其次,利用ernn预测的单词阅读时间更接近真实的阅读时间。这可能是因为单词的阅读时间更依赖于单词的字母数量和语义等特征而不是深层次的上下文特征。良好的rmse分数证明了阅读时间预测方法所得结果的准确性。

表2

在另一个实施例中,详细阐述了基于眼动注意力的文本标题生成方法和经典标题生成模型之间的实验结果分析。本方法和经典标题生成模型分别在gigaword、duc和msratc测试集上得到的rouge分数。如图4所示,本方法在gigaword测试集上得到的rouge分数与其他经典模型相比都有很大的优势。相对于经典的abs模型,本方法有6.22个rouge-1的增益和3.85个rouge-l的增益。与seass模型相比,本方法提升了3.57个rouge-1分数。

图5、图6显示了本方法和经典标题生成模型分别在duc2003和duc2004测试集上得到的rouge分数,(extract)和(bow)分别代表使用抽取方法和词袋编码的abs+模型。可以看出,本方法在duc2003上取得的rouge分数比其他模型都要好,在duc2004上的rouge-l分数要比abs+基线模型高出2.94分。

图7是在msr测试集上的rouge分数,(g)和(b)分别代表使用贪婪算法和集束搜索算法得到的标题。不难发现,rouge-1、rouge-2、rouge-l的结果表明,本方法比seass模型分别高出1.9、0.26和2.73分。

以5为间隔将gigaword测试集按照不同的句子长度分组,得到15个不同的组,并且在这些组上测试本方法的性能,如图8(a)-图8(c)所示。本方法的rouge总是出现在s2s-a模型之上。总之,这些结果表明,在不同句子长度的文本中,本方法能生成质量更高的标题。

表3显示了标准标题和使用基于注意力的文本标题生成方法所生成标题对四个数据集源文本的压缩率。可以注意到,本方法生成的标题在四个测试集上的压缩率比标准标题分别高出了4.8%、9.9%、9%和1.3%,与s2s模型生成的标题相比,也有一些提升。

表3

总之,首先,本方法在四个测试集上的表现要比基于其他注意力机制的基准模型更好,这证明本文所提出的眼动注意力机制是有效的。其次,标题的质量不能单看某一个rouge指标,例如pre在gigaword测试集上得到了极高的rouge-1分数,但是rouge-2和rouge-l的得分却非常低。这是自然的,因为pre模型是单纯的抽取文本的前75个字节来当作标题。因此,pre生成的标题和标准标题的1-grams有可能会很高。但是,过低的rouge-2和rouge-l分数代表pre生成的标题的信息表达能力不好。相比之下,本方法在rouge-1、rouge-2和rouge-l上都能取得良好的分数,这证明了本方法的优越性。再次,本方法能在保持良好的rouge分数的情况下,用更短的文字说明主要内容,证明通过本方法生成的标题语言更加简练。

在另一个实施例中,为了进一步证明本方法的有效性,对基于眼动注意力的文本标题生成方法所生成的标题进行人工分析。表4是本方法和其他经典模型在gigaword测试集上生成的标题及其对应的标准标题。从表4可以看出:(1)本方法能够捕捉到文本的重要部分。例如在第一个输出中,主要信息是大卫·纳尔班迪安表示他对能够参加温布尔顿网球公开赛持乐观态度。本方法不仅成功找到了源文本的主要信息,甚至根据学习到的经验推理出源文本蕴含的深层信息是大卫·纳尔班迪安将重返温布尔顿,相对的,s2s-a生成的标题让人感到困惑。(2)本方法能够理解复杂文本的含义并且非常准确地使用单词短语。在第三个例子中,源文本包含了一个转折,s2s-a误解了源文本的含义,并生成了一个荒谬的标题。相反,本方法克服了这个问题,成功抓住源文本的主要内容是通用汽车希望避免罢工。(3)如最后一组所示,s2s-a生成的标题通常会出现连续重复的单词或短语,这显然是不符合语法且让人困惑的。而在表4中,本方法没有出现这个问题。

表4

综上所述,这些例子都表明了基于眼动注意力的文本标题生成方法能生成高质量的标题,进一步验证了在文本标题生成过程中考虑眼动注意力机制的必要性。

尽管以上结合附图对本发明的实施方案进行了描述,但本发明并不局限于上述的具体实施方案和应用领域,上述的具体实施方案仅仅是示意性的、指导性的,而不是限制性的。本领域的普通技术人员在本说明书的启示下和在不脱离本发明权利要求所保护的范围的情况下,还可以做出很多种的形式,这些均属于本发明保护之列。

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