一种用于生成标题的神经网络建模方法及装置技术领域
本发明实施例涉及自然语言处理以及文本自动摘要技术领域,具体涉及一种用于
生成标题的神经网络建模方法及装置。
背景技术
自动文摘是指利用计算机,自动得到能够涵盖源文本核心思想,且准确、连贯的摘
要。自动文当摘要技术主要分为两类:抽取式和摘要式。前者直接从原文档中选择部分句
子,组合作为文摘,虽具有简便的特性,但无法在较短的长度限制之内给出一个凝练且连贯
的文摘。相反,摘要式文摘试图理解原文档的语义,从而生成一个语句不完全来自于原文档
的文摘。当要求文摘的长度特别短,短到一个句子级别时,这个任务被称作标题生成。摘要
式文摘需要正确理解原文档并且给出一个适当的表示,然后在这个表示的基础上逐步生成
相应的文摘。以往的方法依赖原文档的语言学结构,如语义分析或句法分析,去理解原文
档。但由于相关技术的不完善导致文摘质量较差。
近年来,深度学习技术在机器翻译等自然语言处理领域进展迅速,在自动文摘方
面也初见成效。如基于神经网络的标题生成模型,通过一个巨大的神经网络,将一篇文档作
为模型的输入,为这篇文档输出一个精炼的句子作为其标题。此类模型具有以下优点:1、模
型是完全数据驱动的,不需要任何人工标注和额外的语言学信息;2、模型是完全端到端的,
无需对潜在的语言学结构建模,从而避免了错误传播。除此之外,引入注意力机制进一步提
升了模型效果。
尽管相比于传统的标题生成模型,神经网络标题生成模型进来取得了较大的进
展,但仍面临一个严重的问题:现有的神经网络标题生成模型的参数通常在训练数据上通
过极大似然估计训练优化。这样的训练方式仅在词级别对模型参数进行优化,难以保证模
型的稳定性。除此之外,这种训练方式也没有将评价指标考虑在训练过程中,从而不能把握
全局信息。
发明内容
本发明实施例的一个目的是用于解决现有的神经网络模型仅在词级别进行优化,
导致生成的标题精确度低的问题。
本发明实施例提出了一种用于生成标题的神经网络建模方法,包括:
获取多个样本文档,以及各样本文档对应的标准标题;
将各样本文档输入至所述待优化模型中,由所述待优化模型根据接收到的各样本
文档输出与各样本文档对应的参考标题;
对各样本文档对应的参考标题和标准标题进行匹配处理,以获取参考标题和标准
标题之间的语义差距;
根据各样本文档对应的语义差距对所述待优化模型中的目标参数进行优化。
可选地,所述待优化模型根据接收到的各样本文档输出与各样本文档对应的参考
标题步骤具体包括:
对样本文档的单词进行向量化处理,获取各单词对应的词向量;
根据各单词对应的词向量获取所述样本文档对应的文档向量,以及输入所述文档
向量的过程中待优化模型的各时刻隐藏状态;
根据所述待优化模型的各时刻的隐藏状态,获取所述目标文档的标题。
可选地,所述根据各单词对应的词向量获取所述样本文档对应的文档向量,以及
输入所述文档向量的过程中待优化模型的各时刻隐藏状态的步骤具体包括:
判断当前时刻是否为初始时刻;
若是,则获取当前时刻输入的词向量,并根据当前时刻输入的词向量,获取所述待
优化模型当前时刻的隐藏状态;
若否,则获取当前时刻输入的词向量和前一时刻的隐藏状态,并根据当前时刻输
入的词向量和前一时刻的隐藏状态,获取所述待优化模型当前时刻的隐藏状态。
可选地,所述根据各单词对应的词向量获取所述样本文档对应的文档向量,以及
输入所述文档向量的过程中待优化模型的各时刻隐藏状态的步骤具体包括:
获取各时刻输入的词向量,结合以下公式,获取在输入词向量的过程中所述待优
化模型各时刻的隐藏状态:
![]()
其中,hi为所述待优化模型第i时刻的隐藏状态,hi-1为所述待优化模型第i-1时刻
的隐藏状态,zi和hi-1均为第i时刻输入的词向量和第i-1时刻的隐藏状态之间的关系函数。
可选地,所述根据所述待优化模型的各时刻的隐藏状态,获取所述目标文档的标
题的步骤具体包括:
判断当前时刻是否为初始时刻;
若是,则根据当前时刻的隐藏状态,获取当前时刻生成各标题词的概率,并根据生
成各标题词的概率输出标题词;
若否,则根据当前时刻和前一时刻的隐藏状态,获取当前时刻生成各标题词的概
率,并根据生成各标题词的概率输出标题词。
本发明还提出了一种用于生成标题的神经网络建模装置包括:
第一获取模块,用于获取多个样本文档,以及各样本文档对应的标准标题;
第二获取模块,用于获取将各样本文档输入至所述待优化模型中,由所述待优化
模型根据接收到的各样本文档输出与各样本文档对应的参考标题;
匹配模块,用于对各样本文档对应的参考标题和标准标题进行匹配处理,以获取
参考标题和标准标题之间的语义差距;
优化模块,用于根据各样本文档对应的语义差距对所述待优化模型中的目标参数
进行优化。
可选地,所述待优化模型,具体用于对样本文档的单词进行向量化处理,获取各单
词对应的词向量;根据各单词对应的词向量获取所述样本文档对应的文档向量,以及输入
所述文档向量的过程中待优化模型的各时刻隐藏状态;根据所述待优化模型的各时刻的隐
藏状态,获取所述目标文档的标题。
可选地,所述待优化模型,具体用于判断当前时刻是否为初始时刻;若是,则获取
当前时刻输入的词向量,并根据当前时刻输入的词向量,获取所述待优化模型当前时刻的
隐藏状态;若否,则获取当前时刻输入的词向量和前一时刻的隐藏状态,并根据当前时刻输
入的词向量和前一时刻的隐藏状态,获取所述待优化模型当前时刻的隐藏状态。
可选地,所述待优化模型,具体用于获取各时刻输入的词向量,结合以下公式,获
取在输入词向量的过程中所述待优化模型各时刻的隐藏状态:
![]()
其中,hi为所述待优化模型第i时刻的隐藏状态,hi-1为所述待优化模型第i-1时刻
的隐藏状态,zi和hi-1均为第i时刻输入的词向量和第i-1时刻的隐藏状态之间的关系函数。
可选地,所述待优化模型,具体用于判断当前时刻是否为初始时刻;若是,则根据
当前时刻的隐藏状态,获取当前时刻生成各标题词的概率,并根据生成各标题词的概率输
出标题词;若否,则根据当前时刻和前一时刻的隐藏状态,获取当前时刻生成各标题词的概
率,并根据生成各标题词的概率输出标题词。
由上述技术方案可知,本发明实施例提出的一种用于生成标题的神经网络建模方
法及装置基于参考标题和标准标题之间的语义差距,从句子级别对待优化模型中的参数进
行优化,与仅在词级别优化待优化模型的现有技术相比,具有提高模型稳定性、提高标题生
成准确度的优点。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理
解为对本发明进行任何限制,在附图中:
图1示出了本发明一实施例提供的一种用于生成标题的神经网络建模方法的流程
示意图;
图2示出了本发明一实施例提供的一种用于生成标题的神经网络建模方法中待优
化模型的工作流程图;
图3示出了本发明一实施例提供的一种用于生成标题的神经网络建模方法的原理
图;
图4示出了本发明一实施例提供的一种用于生成标题的神经网络建模装置的结构
示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例
中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是
本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人
员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了本发明一实施例提供的一种用于生成标题的神经网络建模方法的流程
示意图,参见图1,该用于生成标题的神经网络建模方法,包括:
110、获取多个样本文档,以及各样本文档对应的标准标题;
120、将各样本文档输入至所述待优化模型中,由所述待优化模型根据接收到的各
样本文档输出与各样本文档对应的参考标题;
130、对各样本文档对应的参考标题和标准标题进行匹配处理,以获取参考标题和
标准标题之间的语义差距;
140、根据各样本文档对应的语义差距对所述待优化模型中的目标参数进行优化。
需要说明的是,每一个样本文档均有与之对应的标准标题,基于这种关联关系,以
多个样本文档及其标准标题构建样本集;
以样本文档为输入,待优化模型输出参考标题;
对比同一样本文档的参考标题和标准标题,得出参考标题和标准标题的语义差
距,并基于语义差距对待优化模型进行优化。
本发明实施例基于参考标题和标准标题之间的语义差距,从句子级别对待优化模
型中的参数进行优化,与仅在词级别优化待优化模型的现有技术相比,具有提高模型稳定
性、提高标题生成准确度的优点。
图2示出了本发明一实施例提供的一种用于生成标题的神经网络建模方法中待优
化模型的工作流程图,下面参照图2对上述待优化模型的工作过程进行详细说明:
210、对样本文档的单词进行向量化处理,获取各单词对应的词向量;
220、根据各单词对应的词向量获取所述样本文档对应的文档向量,以及输入所述
文档向量的过程中待优化模型的各时刻隐藏状态;
230、根据所述待优化模型的各时刻的隐藏状态,获取所述目标文档的标题。
本实施例中,步骤220具体包括:
判断当前时刻是否为初始时刻;
若是,则获取当前时刻输入的词向量,并根据当前时刻输入的词向量,获取所述待
优化模型当前时刻的隐藏状态;
若否,则获取当前时刻输入的词向量和前一时刻的隐藏状态,并根据当前时刻输
入的词向量和前一时刻的隐藏状态,获取所述待优化模型当前时刻的隐藏状态。
其对应的实现公式如下:
![]()
其中,hi为所述待优化模型第i时刻的隐藏状态,hi-1为所述待优化模型第i-1时刻
的隐藏状态,zi和hi-1均为第i时刻输入的词向量和第i-1时刻的隐藏状态之间的关系函数。
本实施例中,步骤230具体包括:
判断当前时刻是否为初始时刻;
若是,则根据当前时刻的隐藏状态,获取当前时刻生成各标题词的概率,并根据生
成各标题词的概率输出标题词;
若否,则根据当前时刻和前一时刻的隐藏状态,获取当前时刻生成各标题词的概
率,并根据生成各标题词的概率输出标题词。
图3示出了本发明一实施例提供的一种用于生成标题的神经网络建模方法的原理
图,本方案中待优化模型包括:待优化模型包括编码器和解码器;
本实施例采用双向循环神经网络作为编码器,采用单向循环神经网络作为解码
器;
下面参照图3对本方案的原理进行详细说明:
A、输入样本文档,采用双向循环神经网络作为编码器,得到文档向量表示;
A1、对输入的样本文档的单词进行向量化处理,得到词向量;
循环神经网络的输入为文档中所有单词所对应的词向量。因此首先需要将每个单
词通过一个词向量矩阵映射得到其相应的词向量。令
![]()
其中,x表示样本文档,Vx表示输入样本文档大小,xt是0-1向量,1的位置对应该词
在词典中的位置,M表示样本文档的长度。
则循环神经网络的输入为:
Ex=(Ex1,Ex2,…,ExM)
其中,
为词向量映射矩阵,d表示词向量维度。
A2、采用Gated Recurrent Unit(GRU)作为循环神经网络激活函数。
循环神经网络是对传统前馈神经网络的一种改进,可以处理变长的输入序列。在
每一个输入时刻i,其相应的隐藏节点输出不仅考虑这一时刻的输入,还将过去的输出信息
融合进来。设hi为i时刻的隐藏状态,其更新公式为:
![]()
其中,g是一个光滑的有界函数,如sigmoid函数。尽管这样的循环神经网络可以处
理变长序列,但在训练过程中存在梯度消失(gradient vanishing)或梯度爆炸(gradient
exploding)的问题,导致模型处理较长的序列时效果。GRU在隐藏状态计算中引入重置门
(reset gate)和更新门(update gate)改进这一问题。
在i时刻,隐藏状态hi由
![]()
其中,
hi-1=tanh(WExi+U[ri·hi-1])
zi=σ(WzExi+Uzhi-1)
ri=σ(WrExi+Urhi-1)
W,Wz,Wr∈Rn×d和U,Uz,Ur∈Rn×n是权重矩阵,n表示隐藏单元大小。
A3、采用双向循环神经网络对样本文档进行编码,获得固定长度的文档向量。
双向循环神经网络是对单向循环神经网络的进一步改进,不仅考虑过去的信息,
还考虑未来的信息。例如在预测一句话的语义时,需要根据上下文进行预测。双向循环神经
网络由前向循环神经网络和后向循环神经网络叠加在一起组成,即
![]()
其中
及
分别表示前向网络和后向网络在i时刻由A2中公式计算得到的隐藏状
态。则
![]()
作为该样本文档的向量表示输入到解码器中。
B、采用单向循环神经网络作为解码器,根据文档向量表示和解码器的隐藏状态,
逐步生成标题。
B1、计算在j时刻的隐藏状态;
采用单向循环神经网络作为解码器,则j时刻隐藏的隐藏状态为:
sj=(1-zj)·sj-1+zj·sj-1
sj-1=tanh(WEyj+U[rj·sj-1]+Ccj
zj=σ(WzEyj-1+Uzsj+Czcj)
rj=σ(WrEyj-1+Ursj+Crcj)
其中,W,Wz,Wr∈Rn×d,U,Uz,Ur∈Rn×n和C,Cz,Cr∈Rn×2n是权重矩阵,n表示隐藏单元
大小,cj为上下文向量,yj-1是解码器上一步产生的输出。
B2、采用注意力机制定义上下文向量;
上下文向量cj通过编码器部分得到的隐藏状态和解码器在j-1时刻得到的隐藏状
态计算,具体如下:
![]()
其中,
![]()
![]()
hi是A3部分定义的编码器隐藏状态,va∈Rp,Wa∈Rp×n,Ua∈Rp×2n是权重矩阵,aj即注
意力向量。
B3、定义j时刻产生词yj的概率;
根据解码器隐藏状态sj、上下文向量cj和(j-1)时刻的输出词yj-1定义j时刻产生词
yj的概率为:
![]()
如此,模型逐词产生标题
![]()
的概率为
![]()
其中,N<M,vY表示输出标题集词表大小,y<j=(y1,y2,…,yj-1),θ为所有模型参数。
C、利用最小风险训练方法优化待优化模型的目标参数。
C1、定义损失函数;
![]()
其中,y(x;θ)表示给定输入文档x和参数θ,模型生成的一组标题,Ey(x;θ)为对应
的数学期望。Δ(y′;y)表示标准标题y和模型生成标题y′之间的语义差距,即风险函数。
C2、定义风险函数,并通过随机梯度下降学习和更新模型参数;
由于标题本质上来讲是一个摘要问题,因此我们使用摘要领域的自动评价标准
ROUGE来定义风险函数。我们考虑两种ROUGE评测指标,分别是ROUGE-N和ROUGE-L作为风险
函数。
![]()
![]()
其中,
![]()
Lcs(y′;y)表示标准标题y和模型生成标题y′之间的最长公共子串。我们定义Δ
(y′;y)=-ROUGE-{1,2,L}。
C2、通过随机梯度下降学习和更新模型参数。
可见,本发明实施例不但利用神经网络模型以数据驱动的方式为文档自动生成标
题,还可以从句子级别把握全局信息,解决了以往模型仅在词级别学习和更新模型参数的
问题,提高模型的稳定性,具有良好的实用性。
对于方法实施方式,为了简单描述,故将其都表述为一系列的动作组合,但是本领
域技术人员应该知悉,本发明实施方式并不受所描述的动作顺序的限制,因为依据本发明
实施方式,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,
说明书中所描述的实施方式均属于优选实施方式,所涉及的动作并不一定是本发明实施方
式所必须的。
图4示出了本发明一实施例提供的一种用于生成标题的神经网络建模装置的结构
示意图,参见图4,该用于生成标题的神经网络建模装置,包括:第一获取模块41、第二获取
模块42、匹配模块43、以及优化模块,其中;
第一获取模块41,用于获取多个样本文档,以及各样本文档对应的标准标题;
第二获取模块42,用于获取将各样本文档输入至所述待优化模型中,由所述待优
化模型根据接收到的各样本文档输出与各样本文档对应的参考标题;
匹配模块43,用于对各样本文档对应的参考标题和标准标题进行匹配处理,以获
取参考标题和标准标题之间的语义差距;
优化模块44,用于根据各样本文档对应的语义差距对所述待优化模型中的目标参
数进行优化。
本发明实施例基于参考标题和标准标题之间的语义差距,从句子级别对待优化模
型中的参数进行优化,与仅在词级别优化待优化模型的现有技术相比,具有提高模型稳定
性、提高标题生成准确度的优点。
本实施例中,所述待优化模型,具体用于对样本文档的单词进行向量化处理,获取
各单词对应的词向量;根据各单词对应的词向量获取所述样本文档对应的文档向量,以及
输入所述文档向量的过程中待优化模型的各时刻隐藏状态;根据所述待优化模型的各时刻
的隐藏状态,获取所述目标文档的标题。
对于装置实施方式而言,由于其与方法实施方式基本相似,所以描述的比较简单,
相关之处参见方法实施方式的部分说明即可。
应当注意的是,在本发明的装置的各个部件中,根据其要实现的功能而对其中的
部件进行了逻辑划分,但是,本发明不受限于此,可以根据需要对各个部件进行重新划分或
者组合。
本发明的各个部件实施方式可以以硬件实现,或者以在一个或者多个处理器上运
行的软件模块实现,或者以它们的组合实现。本装置中,PC通过实现因特网对设备或者装置
远程控制,精准的控制设备或者装置每个操作的步骤。本发明还可以实现为用于执行这里
所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产
品)。这样实现本发明的程序可以存储在计算机可读介质上,并且程序产生的文件或文档具
有可统计性,产生数据报告和cpk报告等,能对功放进行批量测试并统计。应该注意的是上
述实施方式对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所
附权利要求的范围的情况下可设计出替换实施方式。在权利要求中,不应将位于括号之间
的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元
件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借
助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置
的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、
第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发
明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求
所限定的范围之内。