一种基于自动编码的文本表示学习方法、系统及电子设备与流程

文档序号:17321267发布日期:2019-04-05 21:33阅读:178来源:国知局
一种基于自动编码的文本表示学习方法、系统及电子设备与流程

本申请属于文本表示学习技术领域,特别涉及一种基于自动编码的文本表示学习方法、系统及电子设备。



背景技术:

在自然语言处理任务中,文本表示作为数据处理的基础步骤,引起了广泛的研究。在自然语言处理的实际应用中,若能对输入的文本进行精确的表达往往能提高自然语言处理的效率和效果。

在无监督文本表达中,最早的文本表示方法为词袋法(bag-of-words)。词袋法用一个one-hot向量来表示文本中出现的每一个词,此one-hot向量的每一维代表一个文本中的词,若维度对应的词为当前词,则此维度的值为1,否则为0。因此,在词袋法中,每一个词被表示为一个高维的,只有一个维度值为1而其他维度值为0的向量,向量长度为文本中出现过的词的数量。另外,隐性语义分析(latentsemanticanalysis)[evangelopoulosne.latentsemanticanalysis[j].annualreviewofinformationscience&technology,2013,4(6):683-692.]的方法先构造词频矩阵,再运用矩阵降维,矩阵分解的方法来习得词语的向量表达。其次,word2vec[goldbergy,levyo.word2vecexplained:derivingmikolovetal.'snegative-samplingword-embeddingmethod[j].eprintarxiv,2014.]的方法通过材料库中每个词的上下文,采用神经网络学习一个语言模型,根据学习得到的语言模型得到每个词语的表达。word2vec方法构造成的词语表达能够包含词语的语义及语法信息。

在文本表达方面,现有技术中也提出了很多基于机器学习和统计的方法。然而,现有的方法虽然可以学习出词语的向量表达,但对训练数据运用的不充分导致学习出的向量表达不够精确,另外,简单的将词语表达的连接作为文本表达也使得最终的表达缺失了对应文本的独特信息。具体来说,现有的文本表达方法存在以下几点不足:

1)词袋法的表达使得最终的表达为稀疏且高维的,容易使数据产生维度灾难而影响最终的自然语言处理任务的效果。且在词袋法中,无法表示词与词之间的关系。例如‘电脑’和‘计算机’在词袋法中被视为完全不同的词。

2)词袋法及隐性语义模型,或者其他基于矩阵分解的词向量学习法无法有效利用词语的语序信息。例如,‘thedogisinfrontofthecat’(狗在猫前面)和‘thecatisinfrontofthedog’(猫在狗前面),在构造词袋表示或者词频矩阵时,这两句话的表示是一样的,以致习得的表达是无法利用语序信息的。

3)现有的文本表达方法多为简单的将其中的词向量连接,这种表达方法无法有效的表达文本的全局信息。

4)因为每个文本长度不同,通过拼接词向量的方法而产生的文本表达长短不一。在后续自然语言任务的处理中,不得不使用截断或者填充的方法来构造定长输入,影响任务效果。

基于现有文本表达方法的不足,本申请设计了一个无监督模型的文本表达学习网络,利用基于神经网络的自编码器生成对给定文本的定长向量表达。



技术实现要素:

本申请提供了一种基于自动编码的文本表示学习方法、系统及电子设备,旨在至少在一定程度上解决现有技术中的上述技术问题之一。

为了解决上述问题,本申请提供了如下技术方案:

一种基于自动编码的文本表示学习方法,包括以下步骤:

步骤a:使用编码器对原始文本进行编码,生成原始文本编码后的向量表达,并通过编码矩阵输出编码后的文本;

步骤b:随机删除所述原始文本中的词,并将被删除的词的词向量置0,将未被删除的词使用预训练好的词向量表示,得到新的文本;

步骤c:将所述编码后的文本与新的文本输入到解码器中,并通过解码矩阵预测所述被删除的在时间片t的待预测词的向量表达。

本申请实施例采取的技术方案还包括:所述步骤a还包括:将所述原始文本中的每个词用预训练好的词向量表示;具体为:设所述原始文本d由n个词组成,d=[w1,w2,...,wi,...,wn],wi为所述原始文本中的第f个词,采用word2vec模型得到每个词的低维向量表达,将所述原始文本中的每个词通过训练好的向量映射到低维空间中。

本申请实施例采取的技术方案还包括:在所述步骤a中,所述编码器为长短期记忆网络lstm;设xi为词wi的低维向量表达,所述长短期记忆网络lstm中的隐含状态zi更新公式为:

上述公式中,θe表示编码器的待训练参数;

然后,通过如下公式作为原始文本的向量表达:

e=tanh(wezn+be)

上述公式中,we为一个可训练的编码矩阵,be为可训练的偏置值,zn为第n个隐含状态。

本申请实施例采取的技术方案还包括:在所述步骤c中,所述解码器为双向长短期记忆的编码网络bi-lstm,所述双向长短期记忆的编码网络bi-lstm通过被预测词的上下文和原始文本的编码来预测被预测词的隐含表达。

本申请实施例采取的技术方案还包括:在所述步骤c中,所述通过解码矩阵预测所述被删除的在时间片t的待预测词的向量表达具体为:假设所述新的文本为{x′1,...,x′n},xzero为一个长度等于|xt|的全0向量:

设xt为位于时间片t的待预测词的实际词向量表达,n为文本长度,dccodenet为解码网络,则通过解码器预测的词向量表达为:

本申请实施例采取的另一技术方案为:一种基于自动编码的文本表示学习系统,包括:

文本编码模块:用于使用编码器对原始文本进行编码,生成原始文本编码后的向量表达,并通过编码矩阵输出编码后的文本;

文本删除模块:用于随机删除所述原始文本中的词,并将被删除的词的词向量置0,将未被删除的词使用预训练好的词向量表示,得到新的文本;

文本解码模块:用于将所述编码后的文本与新的文本输入到解码器中,并通过解码矩阵预测所述被删除的在时间片t的待预测词的向量表达。

本申请实施例采取的技术方案还包括文本预处理模块,所述文本预处理模块用于将所述原始文本中的每个词用预训练好的词向量表示;具体为:设所述原始文本d由n个词组成,d=[w1,w2,...,wi,...,wn],wi为所述原始文本中的第i个词,采用word2vec模型得到每个词的低维向量表达,将所述原始文本中的每个词通过训练好的向量映射到低维空间中。

本申请实施例采取的技术方案还包括:所述编码器为长短期记忆网络lstm;设xi为词wi的低维向量表达,所述长短期记忆网络lstm中的隐含状态zi更新公式为:

上述公式中,θe表示编码器的待训练参数;

然后,通过如下公式作为原始文本的向量表达:

e=tanh(wezn+be)

上述公式中,we为一个可训练的编码矩阵,be为可训练的偏置值,zn为第n个隐含状态。

本申请实施例采取的技术方案还包括:所述解码器为双向长短期记忆的编码网络bi-lstm,所述双向长短期记忆的编码网络bi-lstm通过被预测词的上下文和原始文本的编码来预测被预测词的隐含表达。

本申请实施例采取的技术方案还包括:所述文本解码模块通过解码矩阵预测所述被删除的在时间片t的待预测词的向量表达具体为:假设所述新的文本为{x′1,...,x′n},xzero为一个长度等于|xt|的全0向量:

设xt为位于时间片t的待预测词的实际词向量表达,n为文本长度,decodenet为解码网络,则通过解码器预测的词向量表达为:

本申请实施例采取的又一技术方案为:一种电子设备,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的基于自动编码的文本表示学习方法的以下操作:

步骤a:使用编码器对原始文本进行编码,生成原始文本编码后的向量表达,并通过编码矩阵输出编码后的文本;

步骤b:随机删除所述原始文本中的词,并将被删除的词的词向量置0,将未被删除的词使用预训练好的词向量表示,得到新的文本;

步骤c:将所述编码后的文本与新的文本输入到解码器中,并通过解码矩阵预测所述被删除的在时间片t的待预测词的向量表达。

相对于现有技术,本申请实施例产生的有益效果在于:本申请实施例的基于自动编码的文本表示学习方法、系统及电子设备采用字谜游戏的方法,结合基于神经网络的自动编码机制,生成给定文本更精确的向量表达。实验结果表明,本申请能提高文本分类、信息抽取等自然语言任务的准确率,改进自然语言处理任务的效果。

附图说明

图1是本申请实施例的基于自动编码的文本表示学习方法的流程图;

图2是本申请实施例的基于自动编码的文本表示学习系统的结构示意图;

图3是本申请实施例提供的基于自动编码的文本表示学习方法的硬件设备结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。

为了解决现有技术中存在的问题,受到字谜游戏的启发,本申请设计了文本编码网络(documentencodingnetwork,den)。该网络是一种运用自动编码框架结合无监督学习的文本表达方法,利用基于神经网络的自编码器生成给定文本的定长向量表达。给定一个文本,该网络首先随机删掉一些原始文本中的词,然后通过剩下的词尝试使用自编码器重构原始文本。如果训练后的自编码器能比较好的重构出原始文本,表示学习后的自编码器已经习得原始文本的语言模型,则可通过将原始文本的词向量输入到自编码器中得到原始文本的向量表达。

具体地,请参阅图1,是本申请实施例的基于自动编码的文本表示学习方法的流程图。本申请实施例的基于自动编码的文本表示学习方法包括以下步骤:

步骤100:将原始文本中的每个词用预训练好的词向量表示,并将词向量表示后的原始文本输入到编码器中;

步骤100中,设原始文本d由n个词组成,d=[w1,w2,...,wi,...,wn],wi为文本中的第i个词,采用word2vec模型得到每个词的低维向量表达,将原始文本中的每个词通过训练好的向量映射到低维空间中。

步骤200:使用编码器对输入的原始文本进行编码,生成原始文本编码后的向量表达;

步骤200中,本申请实施例采用长短期记忆网络lstm(longshort-termmemory)作为编码器,假设xi为词wi的低维向量表达,长短期记忆网络lstm中的隐含状态zi可以通过如下公式得到更新:

公式(1)中,θe表示编码器的待训练参数。

然后,可以通过如下公式作为原始文本编码后的向量表达:

e=tanh(wezn+be)(2)

公式(2)中,we为一个可训练的编码矩阵,be为可训练的偏置值,zn为第n个隐含状态。

步骤300:将编码器的输出输入到编码矩阵中,通过编码矩阵输出编码后的文本;

步骤400:随机删除原始文本中一定数量的词,并将被删除的词的词向量置0,将未被删除的词使用预训练好的词向量表示,得到新的文本;

步骤500:将编码后的文本与新的文本输入到解码器中,并通过一个解码矩阵得到被删除的在时间片t的待预测词向量表达

步骤500中,受到字谜游戏的启发,本申请通过对给定文本随机删除一些词来平衡已知信息和未知信息,通过用不完整的文本表达预测完整文本的编码来训练解码器。例如,输入的不完整文本为[三,-,-,在,-,上,走],需要通过解码器来预测文本中缺失的部分。

假设随机删除部分词后的新的文本为{x′1,...,x′n},xzero为一个长度等于|xt|的全0向量:

设xt为位于时间片t的待预测词的实际词向量表达,n为文本长度,decodenet为解码网络,则通过解码器预测的词向量表达为:

本申请实施例中,采用双向(前向和后向)长短期记忆的编码网络bi-lstm作为解码器,双向长短期记忆的编码网络bi-lstm通过被预测词的上下文和给定文本的编码来预测被预测词的隐含表达。

分别为前向长短期记忆网络和反向长短期记忆网络的参数,则:

然后可以通过下式得到

公式(7)中,的串联,wp为可训练的解码矩阵,bp为可训练的偏置值,为t时刻前向网络神经元中的值,为t时刻反向网络神经元中的值。

在解码器训练过程中,以待预测词向量表达与实际词向量表达xt的差值作为训练的损失函数,损失函数设置为:

公式(8)中,cj为表示当前词wj是否被删除的参数:

对于有n个文本的训练集,对编码器及解码器联合,进行端到端的训练,训练目标函数为:

公式(10)中,θe为编码器的参数,θd为解码器的参数,训练过程可用梯度下降等方法实现。

请参阅图2,是本申请实施例的基于自动编码的文本表示学习系统的结构示意图。本申请实施例的基于自动编码的文本表示学习系统包括文本预处理模块、文本编码模块、文本删除模块和文本解码模块。

文本预处理模块:用于将原始文本中的每个词用预训练好的词向量表示,并将词向量表示后的原始文本输入到编码器中;其中,设原始文本d由n个词组成,d=[w1,w2,...,wi,...,wn],wi为文本中的第i个词,采用word2vec模型得到每个词的低维向量表达,将原始文本中的每个词通过训练好的向量映射到低维空间中。

文本编码模块:用于使用编码器对输入的原始文本进行编码,生成原始文本编码后的向量表达,将编码器的输出输入到编码矩阵中,通过编码矩阵输出编码后的文本;本申请实施例采用长短期记忆网络lstm(longshort-termmemory)作为编码器,假设xi为词wi的低维向量表达,长短期记忆网络lstm中的隐含状态zi可以通过如下公式得到更新:

公式(1)中,θe表示编码器的待训练参数。

然后,可以通过如下公式作为原始文本编码后的向量表达:

e=tanh(wezn+be)(2)

公式(2)中,we为一个可训练的编码矩阵,be为可训练的偏置值,zn为第n个隐含状态。

文本删除模块:用于随机删除原始文本中一定数量的词,并将被删除的词的词向量置0,将未被删除的词使用预训练好的词向量表示,得到新的文本;

文本解码模块:用于将编码后的文本与新的文本输入到解码器中,并通过一个解码矩阵得到被删除的在时间片t的待预测词向量表达其中,本申请受到字谜游戏的启发,通过对给定文本随机删除一些词来平衡已知信息和未知信息,通过用不完整的文本表达预测完整文本的编码来训练解码器。例如,输入的不完整文本为[三,-,-,在,-,上,走],需要通过解码器来预测文本中缺失的部分。

假设随机删除部分词后的新的文本为{x′1,...,x′n},xzero为一个长度等于|xt|的全0向量:

设xt为位于时间片t的待预测词的实际词向量表达,n为文本长度,decodenet为解码网络,则通过解码器预测的词向量表达为:

本申请实施例中,采用双向(前向和后向)长短期记忆的编码网络bi-lstm作为解码器,双向长短期记忆的编码网络bi-lstm通过被预测词的上下文和给定文本的编码来预测被预测词的隐含表达。

分别为前向长短期记忆网络和反向长短期记忆网络的参数,则:

然后可以通过下式得到

公式(7)中,的串联,wp为可训练的解码矩阵,bp为可训练的偏置值,为t时刻前向网络神经元中的值,为t时刻反向网络神经元中的值。

在解码器训练过程中,以待预测词向量表达与实际词向量表达xt的差值作为训练的损失函数,损失函数设置为:

公式(8)中,cj为表示当前词wj是否被删除的参数:

对于有n个文本的训练集,对编码器及解码器联合,进行端到端的训练,训练目标函数为:

公式(10)中,θe为编码器的参数,θd为解码器的参数,训练过程可用梯度下降等方法实现。

为了验证本申请的可行性和有效性,以下通过实验对本申请和现有方法在文档分类和文档检索两个自然语言处理任务上的效果进行了比较。参与比较的现有方法包括段落向量(paragraphvector,pv)[le,quoc,andt.mikolov.″distributedrepresentationsofsentencesanddocuments.″internationalconferenceoninternationalconferenceonmachinelearningjmlr.org,2014:ii-1188.]、skip-thought(st)[kirosr,zhuy,salakhutdinovr,etal.skip-thoughtvectors[j].computerscience,2015,28.]、tf-idf[wuhc,lukrwp,wongkf,etal.interpretingtf-idftermweightsasmakingrelevancedecisions[j].acmtransactionsoninformationsystems,2008,26(3):55-59.]、latentdirichletallocation(lda)[bleidm,ngay,jordanmi.latentdirichletallocation[j].journalofmachinelearningresearch,2012,3:993-1022.]和隐性语义分析(latentsemanticanalysis,lsa)[evangelopoulosne.latentsemanticanalysis[j].annualreviewofinformationscience&technology,2013,4(6):683-692.]。对于本申请提出方法的实验,使用word2vec模型预训练词向量和随机生成词向量两种方法。

实验参数部分,使用预训练的或者随机生成的100维词向量连接作为给定文本的输入,编码器长短期记忆网络lstm的隐含单元数设为512,解码器双向长短期记忆网络bi-lstm的隐含单元数设为256,最后生成的文本表达设置为64维。参与比较的方法参数设置和原文章中一致。

实验数据集采用20newsgroups数据集,此数据集包含20个新闻主题的18845篇文档,实验中使用10443篇文档作为训练集,6973篇文档作为测试集。另外,在训练过程中随机抽取10%的训练数据作为验证数据集。数据集中文档的平均长度为92.8个词,整个数据集包含41,877个不同的词。

在文本分类任务中,将学习出的文本表达结合一个逻辑回归分类器(logisticregression)来判断输入文本属于哪个话题,实验结果如表1所示:

表1文档分类任务结果比较

在文档提取任务中,将测试集中的文档作为查询,计算此文档与训练集中的所有文档的余弦相似度,再依据余弦相似度的值从高到低进行排序,选取前25/50/100的文档作为提取出的相关文档。若提取出的文档与输入文档为同一话题下的,则为提取正确,否则为提取错误。实验结果如表2所示:

表2文档提取任务结果比较

实验结果表明,本申请实施例的基于自动编码的文本表示学习方法对于分类任务与文档提取任务都能更好的表达给定文本,从而改进具体自然语言处理任务的效果。

本申请实施例中涉及的神经网络部分都可以由神经网络的其他变种替代,例如,编码器部分除了用长短期记忆lstm也可以用双向长短期记忆bilstm、门循环单元gru等。

图3是本申请实施例提供的基于自动编码的文本表示学习方法的硬件设备结构示意图。如图3所示,该设备包括一个或多个处理器以及存储器。以一个处理器为例,该设备还可以包括:输入系统和输出系统。

处理器、存储器、输入系统和输出系统可以通过总线或者其他方式连接,图3中以通过总线连接为例。

存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例的处理方法。

存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理系统。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入系统可接收输入的数字或字符信息,以及产生信号输入。输出系统可包括显示屏等显示设备。

所述一个或者多个模块存储在所述存储器中,当被所述一个或者多个处理器执行时,执行上述任一方法实施例的以下操作:

步骤a:使用编码器对原始文本进行编码,生成原始文本编码后的向量表达,并通过编码矩阵输出编码后的文本;

步骤b:随机删除所述原始文本中的词,并将被删除的词的词向量置0,将未被删除的词使用预训练好的词向量表示,得到新的文本;

步骤c:将所述编码后的文本与新的文本输入到解码器中,并通过解码矩阵预测所述被删除的在时间片t的待预测词的向量表达。

上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例提供的方法。

本申请实施例提供了一种非暂态(非易失性)计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行以下操作:

步骤a:使用编码器对原始文本进行编码,生成原始文本编码后的向量表达,并通过编码矩阵输出编码后的文本;

步骤b:随机删除所述原始文本中的词,并将被删除的词的词向量置0,将未被删除的词使用预训练好的词向量表示,得到新的文本;

步骤c:将所述编码后的文本与新的文本输入到解码器中,并通过解码矩阵预测所述被删除的在时间片t的待预测词的向量表达。

本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行以下操作:

步骤a:使用编码器对原始文本进行编码,生成原始文本编码后的向量表达,并通过编码矩阵输出编码后的文本;

步骤b:随机删除所述原始文本中的词,并将被删除的词的词向量置0,将未被删除的词使用预训练好的词向量表示,得到新的文本;

步骤c:将所述编码后的文本与新的文本输入到解码器中,并通过解码矩阵预测所述被删除的在时间片t的待预测词的向量表达。

本申请实施例的基于自动编码的文本表示学习方法、系统及电子设备采用字谜游戏的方法,结合基于神经网络的自动编码机制,生成给定文本更精确的向量表达。实验结果表明,本申请能提高文本分类、信息抽取等自然语言任务的准确率,改进自然语言处理任务的效果。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本申请中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本申请所示的这些实施例,而是要符合与本申请所公开的原理和新颖特点相一致的最宽的范围。

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