法律状态公告日
法律状态信息
法律状态
2020-06-26
授权
授权
2018-04-20
实质审查的生效 IPC(主分类):G06F17/24 申请日:20171026
实质审查的生效
2018-03-27
公开
公开
技术领域
本发明属于自然语言处理技术领域,涉及文本简化方法,具体涉及一种基于词向量查询模型的文本简化方法。
背景技术
许多现有的文本简化算法使用基于序列到序列(sequence-to-sequence)的生成模型,这些文本简化算法基于深度学习技术,从神经网络机器翻译算法演化而来,通过观察大规模的源语言到目标语言的训练语料对,经过一定时间的训练后,可以自动对文本进行简化。但是,由于传统的序列到序列算法在解码器中生成词的时候,只是通过一个大矩阵乘法的方式将隐层表征映射到词汇列表中,词语的语义并没有被充分利用。而且,通过一个大的矩阵来进行映射使得整个网络结构中使用了数量巨大的参数(词汇量一般会很大),导致模型训练和收敛的速度变慢,训练时间长,占用较多内存资源,文本简化的效率低下。
发明内容
为了克服上述现有技术的不足,本发明提供一种基于词向量查询模型的文本简化方法,通过改进经典的序列到序列(sequence-to-sequence)模型解决文本简化问题。使用本发明方法,在简化过程中生成的词语与原句更具有语义相关性,且能使模型参数更快的收敛,进而加快了训练速度。
本发明提供的技术方案是:
一种基于词向量查询模型的文本简化方法,在序列到序列(sequence-to-sequence)的模型的基础上,通过在解码时参照注意力机制得到解码器的隐状态和所有词汇的词向量的相关度,将隐状态和相关度作为下一步待生成的词语的可能性的度量;通过改进经典序列到序列算法中的生成算法,以检索词向量的方式产生目标输出;再通过训练最大化标准答案与预测词语的负对数似然函数,由此生成完整的经过简化的文本;包括如下步骤:
A.设计文本编码器,利用深度循环神经网络(Recurrent Neural Network)对原文本进行压缩,得到原文本的每个时刻的隐层向量表示,记为ht,即原文本经文本编码器进行压缩后得到的一系列信息;
B.设计简化文本解码生成器,在第一个时刻输入原文本的最后一个时刻的隐层向量hn和起始句子开始的标识符,利用深度循环神经网络(Recurrent>t和文本编码器得到的对源文本每一时刻的隐层表示通过注意力机制获得的上下文向量ct,表示为式1:
式1~式2中,hi为第i时刻的隐层向量;hj为第j时刻的隐层向量;N为原文本中字词的个数;
C.利用文本编码器得到的上下文向量ct和简化文本解码生成器当前的隐层状态st,经过网络结构求得词表中每个词的检索相关度p(yt):
qt=tanh(Wc[st;ct])>
P(yt)=softmax(f(qt,ei))>
其中,Wc和Wa是可训练的参数矩阵,st是t时刻解码器的隐层向量,ct是t时刻通过注意力机制获得的上下文向量,ei是词表中第i个词的词向量。
根据检索相关度p(yt)输出当前时刻预测的词语yt:
yt=argmax(Wost)>
其中,Wo是可训练的参数矩阵,st是t时刻解码器的隐层向量。
循环重复式(1)到式(6)的操作,直至生成一个保留的结束符号,即为一段完整的经过简化的文本;
D.在训练生成简化文本的模型(文本编码器和简化文本解码生成器)时,需要最小化步骤C预测的词语yt与人工标注的参考词语的对数似然。模型的训练使用亚当(Adam)优化算法。在训练过程中,先随机选取训练数据中的若干个样本,对这些样本依照文本编码器和简化文本解码生成器计算目标函数,目标函数表示为:
其中,
E.每在训练数据集上训练一轮后,在另外的测试数据集上进行测试,当在测试数据集上生成的文本达到最佳准确率时(即达到最好效果时)停止训练,并保留式(1)到式(6)中的模型参数作为优选的模型参数,即可得到训练好的文本编码器和简化文本解码生成器。
利用上述训练好的文本编码器和简化文本解码生成器,即可对待简化文本数据进行简化,生成与原句更具有语义相关性的词语,快速得到完整的简化文本。
作为一种优选方案,步骤A的实现方法为使用深度神经网络中的长短时记忆网络(LSTM),在开始时刻输入原文本中的一个字到长短时记忆网络(LSTM),将这个字压缩成一个向量,然后将压缩后得到的向量传入下一时刻;下一时刻循环神经网络输入上一时刻的压缩向量和原文本的下一个字,将二者压缩成新的向量传入下一时刻;在压缩完所有文本后得到的每一时刻的编码向量,即是文本解码器在解码时需要的信息;
作为一种优选方案,所述步骤B的实现方法采用深度神经网络中的长短时记忆网络(LSTM)。长短时记忆网络(LSTM)在第一个时刻输入一个开始的标识符,然后在接下来的每一时刻通过检索相关度的方式,对比所有词汇的词向量和当前时刻解码器的隐藏层表示及编码器隐藏层的上下文表示,输出当前时刻依照式(5)算出的分数最高的词,经过一定时刻后输出结束的标识符,简化文本解码生成器即可生成一段完整的简化文本。
作为一种优选方案,所述步骤C的实现方式为:使用鲁昂(Luong)方式的注意力机制,首先按照经典的序列到序列模型中的方法,获得基于注意力机制的源文本的上下文向量ct,之后将ct和解码器当前的隐藏层状态st合并,经过矩阵乘法的线性转化和非线性操作,得到对当前状态的描述,以这个状态与词汇表中的所有词向量对比相关度,得到每个词的相关度得分,这个分数可以使用向量内积或者双向线性变换的方式得到。最后得分最高的词语被作为当前时刻应该输出的词。
与现有技术相比,本发明的有益效果是:
本发明提供一种基于词向量检索模型的文本简化生成方法,通过对比所有词汇的词向量与当前状态的相关度,得到当前输出可能性最大的词;再通过训练来最大化标准目标文本与实际预测文本的负对数似然度,最终学习得到生成简化文本的模型。使用本发明技术方案生成简化文本,能够提高生成文本的质量和准确度,并且与经典序列到序列方法相比,大幅减少了参数个数,进而降低了训练时间和内存占用。
附图说明
图1是本发明提供的简化文本方法的流程框图。
图2是本发明实施例中简化文本实施过程的示意图;
其中,ht为文本编码器第t时刻的隐层向量,ct是t时刻通过注意力机制获得的上下文向量,st是t时刻简化文本解码生成器的隐层向量;当输入文本为“此番测验犹如刀山火海”时,文本编码器将文本压缩成隐层向量ht和上下文向量ct,然后简化文本解码生成器依照隐层向量ht和上下文向量ct对词表中的词向量进行查询,依次生成“测验”、“很”、“难”,形成简化文本。
具体实施方式
下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。
本发明提供一种基于词向量检索模型的文本简化生成方法,图1是本发明提供方法的流程框图,图2是本发明具体实施示意图,通过改进经典序列到序列算法中的生成算法,以检索词向量的方式产生目标输出;再通过训练最大化标准答案与预测词语的负对数似然,由此生成完整的经过简化的文本。
以下实施例以简化维基百科中的文字为例,原文如下:
“Depending on the context,another closely-related meaning ofconstituent is that of a citizen residing in the area governed,represented,orotherwise served by a politician;sometimes this is restricted to citizens whoelected the politician.”
经过本发明的文本简化方法,生成的文字如下:
“Depending on the context,another closely-related meaning ofconstituent is that of a citizen who lives
in the area governed,represented,or otherwise served by a politician;sometimes the word is restricted
to citizens who elected the politician.”
采用本发明方法,可按以下步骤实施:
A.设计文本编码器,利用深度神经网络将原文本进行压缩,得到每个时刻对应的编码向量;具体方式为使用深度神经网络中的长短时记忆网络模型,将上述维基百科文本的每个词依次输入网络,得到每个时刻对应的隐层表示ht。
具体地,使用深度神经网络中的长短时记忆网络(LSTM),在开始时刻输入原文本中的一个字词到长短时记忆网络(LSTM),将这个字词压缩成一个向量,然后将压缩后得到的向量传入下一时刻;下一时刻循环神经网络输入上一时刻的压缩向量和原文本的下一个字词,将二者压缩成新的向量传入下一时刻;在压缩完所有文本后得到的每一时刻的编码向量,即是简化文本解码器在解码时需要的信息;本实施例的时刻数为句子的字词个数;每个时刻对应的隐层向量为长短时记忆网络(LSTM)将字词压缩成的向量。
B.设计简化文本解码生成器,通过长短时记忆网络在第一个时刻输入一个开始的标识符,然后在接下来的每一时刻通过检索相关度的方式,对比所有词汇的词向量和当前时刻解码器的隐藏层表示及编码器隐藏层的上下文表示,输出当前时刻最符合的词,经过一定时刻后输出结束的标识符,解码生成器即可生成一段完整的简化文本。具体方式为先使用深度神经网络中的长短时记忆网络模型,输入文本编码器生成的编码向量,然后生成文本的第一个词“depending”,利用生成完第一个词后解码器的隐层状态,结合编码器得到的源文本的上下文向量,以检索词向量的方式,得到第二个词“on”,依次类推直到生成一个代表句子结束的标识符,这样就能得到一段生成的经过简化的文本。
C.在优化文本编码器和简化文本解码生成器的模型参数(即式1到式6中的参数)时,最大化步骤B得到的预测文本与人工标注的参考文本的负对数似然。目标函数具体表示如式7:
其中,为训练数据中的正确简化文本,p(yt)为解码生成器预测出简化文本的概率。训练的目标是最大化模型的目标函数:先计算目标函数的梯度,再使用亚当(Adam)优化算法依照梯度更新模型的参数。
D.简化文本解码生成器生成的文本即为本方法所需生成的简化文本。
本发明具体实施中,文本编码器所用的循环神经网络的参数为词向量维度256,隐藏层维度256;解码生成器的参数与文本编码器一致且共享词向量,即词向量维度256,隐藏层维度256,生成词表大小限制到为50000最常用的单词。
需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
机译: 使用词向量表示的基于语义的查询的方法和系统
机译: 词向量表示的基于语义的查询方法和系统
机译: 基于模型的开发的模型简化方法