CN108563624A - 一种基于深度学习的自然语言生成方法 - Google Patents
一种基于深度学习的自然语言生成方法 Download PDFInfo
- Publication number
- CN108563624A CN108563624A CN201810005504.0A CN201810005504A CN108563624A CN 108563624 A CN108563624 A CN 108563624A CN 201810005504 A CN201810005504 A CN 201810005504A CN 108563624 A CN108563624 A CN 108563624A
- Authority
- CN
- China
- Prior art keywords
- word
- comment
- hidden state
- state vector
- news
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于深度学习的自然语言生成方法,包括使用已有的新闻和评论对评论生成装置进行训练,训练阶段包括以下步骤:S1,将已有的新闻和评论中的词进行向量化处理,获取新闻中各词对应的词向量和评论中各词对应的词向量;S2,获取新闻中各词的隐藏状态向量;S3,获取评论中各词的隐藏状态向量;S4,对于评论中的各词均进行处理,得到各词的新的隐藏状态向量;S5,根据步骤S4得到的评论中各词的新的隐藏状态向量预测各词对应的下一个词:根据当前词的隐藏状态向量得到词表内选中各个词的概率,取概率最大的词作为生成的评论中的当前词的下一个词。本发明可针对给定的新闻生成对应的新闻评论,且评论中取词的准确性较高。
Description
【技术领域】
本发明涉及计算机应用领域,特别是涉及一种基于深度学习的自然语言生成方法。
【背景技术】
自然语言生成属于人工智能和计算语言的交叉学科,其目的旨在使机器生成可理解的人类语言文本。自然语言生成技术的进步有助于构建强人工智能系统,并增进对人类语言的理解。传统的自然语言生成技术已经成功应用于多个领域,如自动新闻写作,使得机器可以自动生成体育赛事报道,并具有快速,准确的特点,腾讯,百度,今日头条等公司都开发了相应的写稿机器人。还有自动天气预报生成,对话系统中的自动回复生成等等,通过自然语言生成技术的应用,大大减小了人工的参与程度,并且保证了信息的实时发布。
但是传统的语言生成技术也存在一定的问题,其多是利用一些领域专家手工定制的模板进行生成,这就导致生成系统无法在不同领域进行泛化,比如生成体育赛事报道的系统,就无法生成财经报道。其次,传统的语言技术生成的文本缺乏人类语言的变化,千篇一律,很容易使读者丧失兴趣。并且,模板定制仍然需要耗费较多的人力,而且一般需要领域专家完成。最重要的是,这种基于模板的传统语言生成技术比较适用于格式较为固定的文本的生成,如赛事报道,其通常都有一些固定的格式,可通过人工专家总结出来相应的生成模板。但是对于一些比较自由的文本,这种技术就难以适用。
近来基于循环神经网络的自然语言生成技术得到了越来越多的学者的关注,并显示了其在自然生成方面的巨大潜力,与基于模板的传统语言生成技术相比,其有很多优点。基于循环神经网络的生成技术最小化了人工参与程度,提供了一个端到端的解决方案,可以自动从数据中学习输入到输出的映射。正是由于其诸多优点,这种新的生成技术很快应用于许多领域,如自动写诗,百度,微软都开发了自动写诗机器人,生成的诗歌足以以假乱真。还有图片视频描述生成,即给定一个图片或一段视频来自动生成针对图片或视频的描述,所有这些背后的核心技术都是基于循环神经网络的生成技术。
以上背景技术内容的公开仅用于辅助理解本发明的发明构思及技术方案,其并不必然属于本专利申请的现有技术,在没有明确的证据表明上述内容在本专利申请的申请日已经公开的情况下,上述背景技术不应当用于评价本申请的新颖性和创造性。
【发明内容】
本发明所要解决的技术问题是:弥补上述现有技术的不足,提出一种基于深度学习的自然语言生成方法,可针对给定的新闻生成对应的新闻评论,且评论中取词的准确性较高。
本发明的技术问题通过以下的技术方案予以解决:
一种基于深度学习的自然语言生成方法,包括使用已有的新闻和评论对评论生成装置进行训练,所述训练阶段包括以下步骤:S1,将已有的新闻和评论中的词进行向量化处理,获取新闻中各词对应的词向量和评论中各词对应的词向量;S2,将新闻中各词对应的词向量输入双向循环的神经网络结构中,获取新闻中各词的隐藏状态向量;S3,将评论中的各词对应的词向量输入单向循环的神经网络结构中,获取评论中各词的隐藏状态向量;S4,对于评论中的各词均进行如下处理,得到各词的新的隐藏状态向量:S41,分析当前词与新闻中各个词之间的相似程度,根据相似程度对新闻各个词的隐藏状态向量加权相加,得到的值作为新闻上下文向量;S42,根据当前词的隐藏状态向量通过门函数计算得到一个位于0到1之间的概率值;S43,以所述概率值将步骤S41计算得到的新闻上下文向量更新到当前词的隐藏状态向量中,得到当前词的新的隐藏状态向量;S5,根据步骤S4得到的评论中各词的新的隐藏状态向量预测各词对应的下一个词:根据当前词的隐藏状态向量得到词表内选中各个词的概率,取概率最大的词作为生成的评论中的当前词的下一个词。
本发明与现有技术对比的有益效果是:
本发明的基于深度学习的自然语言生成方法,利用循环神经网络构建编码模块和解码模块,利用门函数构建门注意力模块,从已有的新闻和评论数据中进行训练以学习评论模式。训练过程中,以评论中词与新闻中词的相似程度对新闻中各词的隐藏状态向量进行加权相加,同时由门函数计算一个概率值,以该概率值将加权得到的新闻上下文向量更新评论中词的隐藏状态向量,得到新的隐藏状态,其不仅对新闻上下文的不同部分赋予了不同权重,并且通过概率的设置有选择地使用上下文,从而其包含了更为精确的上下文信息,这样,可使得隐藏状态向量更为准确,预测得到的下一个词也更为准确。本发明的方法对新闻进行编码,并解码生成相应的评论,从而可解决自动新闻评论生成问题,极大地减小人工参与程度,无需编制模板,并且可以生成情感多样的评论。
【附图说明】
图1是本发明具体实施方式的自然语言生成装置的结构示意图;
图2是本发明具体实施方式的编码模块和解码模块的结构示意图;
图3是本发明具体实施方式的门注意力模块和情感控制模块的结构示意图。
【具体实施方式】
下面结合具体实施方式并对照附图对本发明做进一步详细说明。
如图1所示,本具体实施方式的基于深度学习的用于生成新闻评论的自然语言生成装置包括评论生成装置和评论判别装置组成。其中,评论生成装置包括四个子模块:编码模块,解码模块,门注意力模块和情感控制模块。评论生成装置是对输入的新闻文档生成对应的新闻评论。评论判别装置包括两个子模块:特征提取模块和特征分类模块。评论判别装置用于对输入的评论进行真假判断,以区分真实评论和生成的评论,并得到一个反馈值,用于改进评论生成装置。
各个装置及模块的连接关系如图1所示,新闻文档首先经编码模块处理,编码模块的作用是将新闻文档编码成可以代表新闻语义含义的隐藏向量,并作为解码模块中的上下文向量。接着开始解码处理,解码模块的作用是根据上下文向量解码出代表评论单词的隐藏向量,此向量即可用于预测评论的生成。门注意力模块的作用是确保对新闻文档进行更好的分析,对新闻文档的不同部分使用不同权重以得到更精确的上下文向量,并根据此上下文向量更新评论单词的隐藏向量。最后,情感控制模块的作用是对生成评论的情感进行控制,可以控制生成正面或负面的评论。评论判别装置的作用是尽可能地区分真实的评论和生成的评论,并给出一个反馈值,用于改进评论生成装置。下面分别介绍各个模块。
第一,编码模块。
该模块将输入的新闻文档中的单词向量转化为对应的隐藏向量序列,并得到整个新闻文档的隐藏向量。
如图2所示,左侧为编码模块结构图,采用双向循环神经网络结构,网络单元采用长短时记忆单元(LSTM)。LSTM可以高效地处理序列信息,记忆序列中重要的信息,遗忘序列中不重要的信息,并且可有效地避免深度学习学习过程中的梯度消失或爆炸问题。
将单词的词向量依次正向输入到正向的LSTM单元(图2中的LSTM_F模块)中,得到其正向隐藏状态向量。同样,将单词的词向量依次反向输入到反向的LSTM单元(图2中的LSTM_B模块)中,得到其反向的隐藏状态向量。将每个单词的正向隐藏状态向量和反向隐藏状态向量连接起来得到每个单词最终的隐藏状态向量。采用双向LSTM单元可使最终的隐藏状态向量包含每个单词前后两个方向的上下文信息,这样最终的隐藏状态向量包含的信息更丰富。
得到的每个词最终的隐藏状态向量用于后续的门注意力模块中。同时,将新闻文档最后一个单词的隐藏状态向量作为整个新闻文档的隐藏状态向量,以用于输入解码模块中用于解码模块的初始化。
第二,解码模块。
本模块完成根据输入的当前的评论单词及当前的隐藏状态,得到新的隐藏状态,此隐藏状态可用于预测生成下一个评论单词。这样逐字生成,我们就可以得到各个评论单词对应的隐藏状态,并用于之后生成评论序列。如图2所示,右侧为解码模块结构图,解码模块采用单向的循环神经网络结构,网络单元采用LSTM单元。
首先,使用编码模块得到的新闻文档隐藏向量初始化解码模块的隐藏状态,此时解码模块便包含了整个新闻文档的语义信息,可用于指导评论的生成。
评论单词的词向量输入到LSTM单元中,即可得到对应的评论单词的隐藏状态向量序列。评论隐藏状态向量中包含了当输入当前评论单词时要生成的下一个单词的语义信息,因而可以用来预测下一个评论单词。
第三,门注意力模块。
本模块用于根据编码模块得到的新闻上下文向量对评论词的隐藏状态向量进行优化处理。如使用新闻单词序列的最后一个单词的隐藏状态代表整个新闻的语义信息必然存在缺陷,因为这种方法丢失了新闻文档中的很多信息。为了增强评论与新闻之间的相关性,需要高效地处理上下文。
评论中的不同单词往往聚焦于新闻上下文的不同部分,因此应自适应地使用上下文,为此引入了门注意力模块,实现生成评论中的每个词时聚焦于新闻的不同部分。同时,也考虑到不是生成所有词时都需要参考新闻上下文,比如一些功能词,如“的”,“了”这些词。因此,应有选择地使用上下文,为此设置了门机制,实现在生成评论中的每个词时有选择地使用新闻上下文。如下说明门注意力的计算过程。门注意力模块的结构如图3所示。
首先,根据当前解码模块输出的第j个评论词的隐藏状态计算与新闻中各个词的隐藏状态的相似性分数。隐藏状态是各个词的语义表示,所以通过该相似度计算,可得到当前评论词与新闻中各个词之间的重要程度。
根据当前评论词的隐藏状态与新闻中各个词的重要程度,对新闻各个单词的隐藏状态加权相加得到一个新的新闻上下文向量,与之前简单的使用最后一个单词的隐藏状态相比,这个新的上下文向量包含了更丰富的信息。
同时,根据当前评论词的隐藏状态向量通过门函数计算出一个0到1之间的概率值,表示生成下一个评论单词的是否需要受新闻上下文向量的影响。
以一定的概率将新的新闻上下文向量更新到当前评论词的隐藏状态向量中,与原来的隐藏状态向量相比,新的隐藏状态包含了更为精确的上下文信息,其不仅对新闻上下文的不同部分赋予了不同权重,并且是有选择地使用上下文。
第四,情感控制模块。
本模块用于完成生成不同情感的评论。一条新闻常常对应多条评论,尤其是那些热点新闻,评论数据更多。而在这些评论之间,它们的情感极性往往是不同的,有正面的评论,有负面的评论,也有中性的评论。为了控制生成评论的情感极性,引入了情感控制模块。
本具体实施方式中定义了三种情感:正面,负面和中性。并采用one-hot表示得到一个三维的情感向量。接着通过一个非线性转换,将情感向量融入到评论词的隐藏状态中得到一个新的隐藏向量。这个新的隐藏向量不仅包含了评论序列的历史信息,也包含了情感极性信息,可以用于更准确地预测下一个单词。
第五,评论判别装置。
生成式对抗网络由Goodfellow等人提出,已经成功在应用在许多计算机视觉任务中,其通过对抗训练的思想,大大提升了原有神经网络的性能。基于此,本具体实施方式中还引入了评论判别装置。评论判别装置用于区分真实评论与算法生成的评论,它会对输入的评论给出一个评价分数,分数越高代表越真实。这个评价分数反馈到评论生成装置中用于进一步改善评论生成装置的性能,使生成装置倾向于生成分数更高的评论,从而使生成的评论更接近于真实的评论。评论判别装置采用了卷积神经网络结构,因为卷积神经网络在分类问题中有很好的性能。
特征提取模块,用于完成从新闻文本序列和评论文本序列中抽取出文本的特征表示向量,该向量蕴含了评论的真假信息。具体地,首先,将新闻文本序列与评论文本序列连接起来,并通过嵌入矩阵得到其嵌入表示序列。接着,对嵌入表示序列进行卷积操作来提取特征。为了捕获复杂的特征,优选使用不同大小的多个卷积核来提取特征。最后,对不同的特征图进行一个max pooling操作,得到最终的特征表示向量。
特征分类模块,用于根据特征表示向量来计算输入评论为真实评论的概率。具体地,得到文本序列的特征表示向量之后,使用一个全连接层根据当前特征表示向量来计算评论为真实评论的概率。通过最小化预测标签与真实标签之间的交叉熵来优化评论判别装置。
如上为各模块的介绍,如下为深度学习过程。
深度学习一般包括两个阶段:训练阶段和生成阶段。图1为自然语言生成装置在训练阶段的连接关系,即通过现有已有的新闻及对应的评论对对评论生成装置和评论判别装置进行训练,训练结束后就得到了训练好的评论生成装置和评论判别装置。训练过程中,使用对抗训练对评论生成装置和评论判别装置进行学习。在训练开始阶段,使用最大似然估计对评论生成装置进行训练直到其收敛,接着利用评论生成装置生成的评论与真实评论对评论判别装置进行训练直到收敛。此时就分别完成了评论生成装置和评论判别装置的预训练。之后开始对抗训练,对评论生成装置训练一定步数后,再对评论判别装置进行一定步数的训练,交替进行,直到收敛。
生成阶段即利用训练好的评论生成装置和评论判别装置,将给定的新的新闻文档输入编码模块,即可生成对应的评论。
训练阶段包括以下过程:
S1,将已有的新闻和评论中的词进行向量化处理,获取新闻中各词对应的词向量和评论中各词对应的词向量。
该步骤中,可从一些新闻网页或者新闻客户端抓取一些新闻文档和评论作为已有的新闻和评论进行输入。对抓取的所有的新闻文档使用分词工具分词,并统计各个词的频率,将频率较高的N个词作为词表,如20万,那么每个单词就可以从1-20万进行编号,其它的低频词都替换为一个单词UNK。当然,也可使用现有已有的用于自然语言生成过程中的深度学习训练用的词表。向量化处理时,可将单词在词表中的序列首先通过独热编码转换为对应的指示向量序列,接着通过嵌入矩阵处理所述指示向量序列得到各单词的嵌入表示,作为各单词的向量。通过向量化处理过程,可实现从离散文本到连续向量的转换。
具体地,对于新闻文本中的词序列通过独热编码(one-hot)转换后的得到的指示向量x1,x2,...,xm(x1表示第1个词的指示向量,x2表示第2个词的指示向量,以此类推),通过嵌入矩阵得到其嵌入表示,计算过程如下:
其中,是嵌入矩阵,l是嵌入矩阵的维数,V是词表的大小。
同样地,对于评论文本中的词序列y1,y2,...,yn,也可得到其嵌入表示:
此处,对于新闻文本和评论文本的向量化,使用的是相同的嵌入矩阵E。
S2,将新闻中各词对应的词向量输入双向循环的神经网络结构中,获取新闻中各词的隐藏状态向量。
该步骤中,双向循环的神经网络结构即为图1中的编码模块。本具体实施方式中,编码模块采用LSTM单元。对于LSTM单元,假设当前时刻输入为xt,其单元内的计算过程如下:
it=σ(Wxixt+Whiht-1)
ft=σ(Wxfxt+Whfht-1)
ot=σ(Wxoxt+Whoht-1)
gt=tanh(Wxcxt+Whcht-1)
ct=ft⊙ct-1+it⊙gt
ht=ot⊙tanh(ct)
也即,对于输入xt,得到输出ht。
因此,对于步骤S1中得到的新闻文本的嵌入表示序列,依次输入到编码模块中得到前向隐藏状态序列如下:其中,是k维向量(k由预设得到,预设值可通过多次训练评论生成装置后确定得到),LSTMf表示前向LSTM单元。同时,为了捕获序列的反向信息,将序列反向输入后向LSTM单元,得到后向隐藏状态序列如下:其中,是k维向量,LSTMb表示后向LSTM单元。将前向及后向隐藏状态表示连接起来,就得到了新闻文本序列的隐藏状态表示:其中,是单词xi的隐藏状态表示。通过编码模块的上述处理,可将新闻文本序列转化成一个隐藏状态向量表示,这个向量可作为解码模块生成评论时的上下文向量。
此外,本具体实施方式中,将新闻文本序列的最后一个词的隐藏状态表示作为整个新闻的隐藏状态表示hc=hm,输入到解码模块中用于初始化解码模块。
S3,将评论中的各词对应的词向量输入单向循环的神经网络结构中,获取评论中各词的隐藏状态向量。
解码模块采用单向循环的神经网络结构,本具体实施方式中采用单层的LSTM网络。首先,使用编码模块得到的新闻上下文向量hc初始化解码模块。接着,将步骤S1中得到的评论文本序列的嵌入表示依次输入到解码模块中,得到其隐藏状态表示:其中,是第j个单词的隐藏状态表示。
S4,对于评论中的各词均进行如下处理,得到各词的新的隐藏状态向量:S41,分析当前词与新闻中各个词之间的相似程度,根据相似程度对新闻各个词的隐藏状态向量加权相加,得到的值作为新闻上下文向量;S42,根据当前词的隐藏状态向量通过门函数计算得到一个位于0到1之间的概率值;S43,以所述概率值将步骤S41计算得到的新闻上下文向量更新到当前词的隐藏状态向量中,得到当前词的新的隐藏状态向量。
该步骤中,即是将步骤S3得到的评论中的词的隐藏状态表示进行优化。为了保证评论与新闻之间的相关性,需要高效地处理上下文。评论中的不同单词往往聚焦于新闻上下文的不同部分。因此应自适应地使用上下文,为此引入了注意力模型,实现生成评论中的每个词时对聚集于新闻的不同部分。同时也应考虑到不时生成所有词时都需要参考新闻上下文,比如一些功能词,如“的”,“了”这些词。因此方法应有选择地使用上下文,为此我们引入了门机制,实现在生成评论中的每个词时有选择地使用新闻上下文。如下,详细阐述门机制和注意力机制的计算过程,从而对编码模块得到的上下文向量以及解码模块得到的隐藏状态向量进行进一步的优化处理。
以当前的评论词为第j个词为例进行说明。首先,根据当前的解码模块隐藏状态Sj计算与新闻文本中各个词隐藏状态的相似性分数如下:
dij=vTtanh(Whhi+Wssj)
其中,为标量化参数,是权重系数,上述三个参数均是经过训练后确定得到。另外,k表示向量的维数,预设得到。
接着,将该相似性分数归一化:
然后,以归一化后的值作为加权系数,得到重新加权后的新闻上下文向量如下:
其中,k表示预设的向量维数。
接着,通过门函数计算出一个概率以表示是否需要参考上下文:
mj=σ(Gsj+b0)
其中,σ(·)表示sigmoid函数,即使用sigmoid函数作为门函数,为sigmoid函数中的权重系数,b0为sigmoid函数中的偏置参数。此处的G和b0也均是通过训练后确定得到。
最后,优化得到的新的隐藏状态计算如下:
其中,为融合阶段的权重系数,b1为融合阶段的偏置参数,[.,.]表示将两个向量连接起来。同样地,Wg和b1也均是通过训练后确定得到。与原来的隐藏状态Sj相比,新的隐藏状态包含了更为精确的上下文信息,其不仅对新闻上下文的不同部分赋予了不同权重,并且是有选择地使用上下文。
S4',将评论中的各词的情感信息融入到步骤S4得到的各词的新的隐藏状态向量中,得到进一步新的隐藏状态向量。
一条新闻常常对应多条评论,尤其是那些热点新闻,评论数据更多。而在这些评论之间,它们的情感极性往往是不同的,有正面的评论,有负面的评论,也有中性的评论。该步骤中,即是将情感信息融入到隐藏状态向量中,从而控制生成评论的情感极性。该步骤对应前述情感控制模块。
本具体实施方式定义三种情感:正面,负面和中性。并采用one-hot表示得到一个三维的情感向量。通过这种处理,可以得到有三级大小的情感极性向量r。然后通过如下等式,将情感信息融入到隐藏向量中。
其中,为融合阶段的权重系数,k为预设的维数,表示步骤S4得到的第j个词的新的隐藏状态向量。得到的进一步新的隐藏状态向量sr不仅包含了评论序列的历史信息,也包含了情感极性信息,可以用来预测下一个单词。
S5,根据得到的评论中各词的新的隐藏状态向量预测各词对应的下一个词:根据当前词的隐藏状态向量得到词表内选中各个词的概率,取概率最大的词作为生成的评论中的当前词的下一个词。
具体地,根据如下式子得到词表内选中各个词的概率:p(yj+1|y≤j)∝exp(Wsr),其中,sr表示步骤S4'中得到的第j个词的进一步新的隐藏状态向量,W表示映射参数,用于对sr的大小进行转换,其中,V是词表的大小,k表示预设的向量维数;exp表示指数函数;p(yj+1|y≤j)表示词表内各个词被选中作为下一个词的概率。
这样,对于当前词第j个词,通过上述计算可得到p,其内容即对应词表中各个词的概率值,即被选中作为第j个词的下一个词的概率值。从这些概率值中,取概率最大的词作为生成的评论中的当前词的下一个词。例如,当前单词为“中”,sr中的内容即存储了当知道了“中”之后,下一个要生成词的语义信息。这个语义信息与“国”最相近,与其它词相差较远,因而确定下一个词为“国”。
本具体实施方式中,对新闻文章的编码向量化,然后对新闻文章施加门注意力机制,优选地,还对生成评论的情感控制,最终提供一个自动化写作的方法。本具体实施方式的自然语言生成方法,可以从已有评论数据中自动学习评论模式,相对传统的基于规则的自然语言生成方法,极大地减小人工参与程度,无需编制模板,并且可以生成情感多样的评论。此外,通过门注意力机制,可生成精确度较高的评论文本。本方法可以用来构建智能评论辅助写作系统,即可以为用户生成一些候选评论,用户可以从中选择,并进行进一步的修改,从而使评论写作过程更加人性化。本方法也可以用于新闻推荐系统,为新闻生成特定的评论,并将新闻与评论一起推荐给用户,吸引用户阅读。
进一步优选地,本具体实施方式中的自然语言生成方法还包括使用评论判别装置对所述评论生成装置进行优化。优化阶段包括:通过所述评论判别装置对所述评论生成装置生成的评论产生一个评价分数,将该评价分数反馈到所述评论生成装置中,优化所述评论生成装置以在下一次生成评价分数更高的评论。
生成式对抗网络由Goodfellow等人提出,已经成功在应用在许多计算机视觉任务中,其通过对抗训练的思想,大大提升了原有神经网络的性能。基于此,本具体实施方式中引入了评论判别装置。评论判别装置用来区分真实评论与算法生成的评论,它会对输入的评论给出一个评价分数,分数越高代表越真实。这个评价分数反馈到生成器中用于进一步改善生成器的性能,使生成器倾向于生成分数更高的评论,从而使生成的评论更接近于真实的评论。本具体实施方式中评论判别装置采用卷积神经网络结构,因为卷积神经网络在分类问题中有很好的性能。评论判别装置包括特征提取模块和特征分类模块。
特征提取模块中,首先将新闻文本序列与评论文本序列连接起来,并通过嵌入矩阵得到其嵌入式表示如下:
X=[e1,e2,...,em,ey1,...,eyn]
其中,是单词的嵌入表示。
接着,对X进行卷积操作得到一个新的特征图:其中,W是卷积核参数,b是卷积偏置参数,代表元素乘操作,f为非线性转换函数。为了捕获复杂的特征,优选地使用不同大小的多个卷积核来提取特征。
最后,对不同的特征图进行一个max pooling操作,得到最终的表示向量:
特征分类模块,得到新闻与评论的特征表示向量之后,使用一个带有sigmoid激活函数的全连接层来计算当前评论为真实评论的概率。通过最小化预测标签与真实标签之间的交叉熵来优化评论判别装置。
当设置有评论判别装置优化评论生成装置时,训练时,使用对抗训练同时对评论生成装置和评论判别装置进行学习。在训练开始阶段,使用最大似然估计对评论生成装置进行训练直到其收敛,接着利用评论生成装置生成的评论与真实评论对评论判别装置进行训练直到收敛。此时就分别完成了评论生成装置和评论判别装置的预训练。接着开始对抗训练,对评论生成装置训练一定步数后,再对评论判别装置进行一定步数的训练,交替进行,直到收敛。通过该对抗训练可训练好评论判别装置,进而可提升生成评论的质量。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下做出若干替代或明显变型,而且性能或用途相同,都应当视为属于本发明的保护范围。
Claims (10)
1.一种基于深度学习的自然语言生成方法,其特征在于:包括使用已有的新闻和评论对评论生成装置进行训练,所述训练阶段包括以下步骤:
S1,将已有的新闻和评论中的词进行向量化处理,获取新闻中各词对应的词向量和评论中各词对应的词向量;
S2,将新闻中各词对应的词向量输入双向循环的神经网络结构中,获取新闻中各词的隐藏状态向量;
S3,将评论中的各词对应的词向量输入单向循环的神经网络结构中,获取评论中各词的隐藏状态向量;
S4,对于评论中的各词均进行如下处理,得到各词的新的隐藏状态向量:S41,分析当前词与新闻中各个词之间的相似程度,根据相似程度对新闻各个词的隐藏状态向量加权相加,得到的值作为新闻上下文向量;S42,根据当前词的隐藏状态向量通过门函数计算得到一个位于0到1之间的概率值;S43,以所述概率值将步骤S41计算得到的新闻上下文向量更新到当前词的隐藏状态向量中,得到当前词的新的隐藏状态向量;
S5,根据步骤S4得到的评论中各词的新的隐藏状态向量预测各词对应的下一个词:根据当前词的隐藏状态向量得到词表内选中各个词的概率,取概率最大的词作为生成的评论中的当前词的下一个词。
2.根据权利要求1所述的基于深度学习的自然语言生成方法,其特征在于:步骤S42中根据如下式子计算得到第j个词对应的概率值mj:mj=σ(Gsj+b0),其中,Sj表示第j个词的隐藏状态向量,σ表示sigmoid函数,G表示sigmoid函数中的权重系数,k表示预设的向量维数,b0表示sigmoid函数中的偏置参数。
3.根据权利要求1所述的基于深度学习的自然语言生成方法,其特征在于:步骤S43中根据如下式子得到第j个词的新的隐藏状态向量其中,Sj表示步骤S3中获取的评论中的第j个词的隐藏状态向量,mj表示第j个词的概率值,表示步骤S41得到的新闻上下文向量,Wg表示融合阶段的权重系数,[.,.]表示将两个向量连接起来,b1表示融合阶段的偏置参数。
4.根据权利要求1所述的基于深度学习的自然语言生成方法,其特征在于:步骤S41包括以下步骤:S41a,计算当前词的隐藏状态向量与新闻中各个词的隐藏状态向量之间的相似性分数;S41b,将得到的多个相似性分数进行归一化处理;S41c,将归一化后的值作为新闻中各个词的隐藏状态向量的加权系数,将各个词的隐藏状态向量加权处理得到新闻上下文向量。
5.根据权利要求4所述的基于深度学习的自然语言生成方法,其特征在于:步骤S41a中根据如下式子计算第j个词的隐藏状态向量与新闻中第i个词的隐藏状态向量之间的相似性分数:dij=vTtanh(Whhi+Wssj),其中,为标量化参数,是权重系数,k表示向量的维数,hi表示新闻中第i个词的隐藏状态向量,Sj表示第j个词的隐藏状态向量;步骤S41b中根据如下式子进行归一化处理:其中,m表示新闻中词的总个数;dij表示相似性分数aij对应的归一化后的值;步骤S41c中,根据如下式子进行加权处理:其中,aij表示步骤S41b中归一化后得到的值,hi表示新闻中第i个词的隐藏状态向量。
6.权利要求1所述的基于深度学习的自然语言生成方法,其特征在于:步骤S4后还包括以下步骤S4',将评论中的各词的情感信息融入到步骤S4得到的各词的新的隐藏状态向量中,得到进一步新的隐藏状态向量;步骤S5为根据步骤S4'得到的评论中各词的进一步新的隐藏状态向量预测各词对应的下一个词。
7.根据权利要求6所述的基于深度学习的自然语言生成方法,其特征在于:步骤S4'中,采用独热编码将各个词的正面、负面和中性情感极性表示成各个词的一个三维情感极性向量,通过如下式子将第j个词的情感极性向量与隐藏状态向量进行融合得到进一步新的隐藏状态向量Sr:其中,分别为融合阶段的权重系数,k表示预设的维数,r表示第j个词的情感极性向量,表示步骤S4得到的第j个词的新的隐藏状态向量。
8.根据权利要求6所述的基于深度学习的自然语言生成方法,其特征在于:步骤S5中,根据如下式子得到词表内选中各个词的概率:p(yj+1|y≤j)∝exp(Wsr),其中,Sr表示步骤S4'中得到的第j个词的进一步新的隐藏状态向量,W表示映射参数,用于对Sr的大小进行转换,其中,V是词表的大小,k表示预设的向量维数;exp表示指数函数,p(yj+1|y≤j)表示词表中各个词被选中作为下一个单词的概率。
9.根据权利要求1所述的基于深度学习的自然语言生成方法,其特征在于:还包括使用评论判别装置对所述评论生成装置进行优化,优化阶段包括:通过所述评论判别装置对所述评论生成装置生成的评论产生一个评价分数,将该评价分数反馈到所述评论生成装置中,优化所述评论生成装置以在下一次生成评价分数更高的评论。
10.根据权利要求1所述的基于深度学习的自然语言生成方法,其特征在于:步骤S2中,所述神经网络结构为LSTM模型,将新闻中各单词对应的词向量依次正向输入到正向的LSTM模型中得到其正向隐藏状态向量,将新闻中各单词的词向量依次反向输入到反向的LSTM模型中得到其反向的隐藏状态向量;将各个单词的正向隐藏状态向量和反向隐藏状态向量连接起来得到各个单词的隐藏状态向量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810005504.0A CN108563624A (zh) | 2018-01-03 | 2018-01-03 | 一种基于深度学习的自然语言生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810005504.0A CN108563624A (zh) | 2018-01-03 | 2018-01-03 | 一种基于深度学习的自然语言生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108563624A true CN108563624A (zh) | 2018-09-21 |
Family
ID=63529591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810005504.0A Pending CN108563624A (zh) | 2018-01-03 | 2018-01-03 | 一种基于深度学习的自然语言生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108563624A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408630A (zh) * | 2018-10-17 | 2019-03-01 | 杭州世平信息科技有限公司 | 一种根据犯罪事实的描述自动生成法院观点的方法 |
CN109598002A (zh) * | 2018-11-15 | 2019-04-09 | 重庆邮电大学 | 基于双向循环神经网络的神经机器翻译方法和系统 |
CN109635273A (zh) * | 2018-10-25 | 2019-04-16 | 平安科技(深圳)有限公司 | 文本关键词提取方法、装置、设备及存储介质 |
CN109698017A (zh) * | 2018-12-12 | 2019-04-30 | 中电健康云科技有限公司 | 医疗病历数据生成方法及装置 |
CN109829055A (zh) * | 2019-02-22 | 2019-05-31 | 苏州大学 | 基于过滤门机制的用户法条预测方法 |
CN110162783A (zh) * | 2019-04-17 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 用于语言处理的循环神经网络中隐状态的生成方法和装置 |
CN110334749A (zh) * | 2019-06-20 | 2019-10-15 | 浙江工业大学 | 基于注意力机制的对抗攻击防御模型、构建方法及应用 |
CN110427618A (zh) * | 2019-07-22 | 2019-11-08 | 清华大学 | 对抗样本生成方法、介质、装置和计算设备 |
CN110688832A (zh) * | 2019-10-10 | 2020-01-14 | 河北省讯飞人工智能研究院 | 一种评论生成方法、装置、设备及存储介质 |
CN111177554A (zh) * | 2019-12-27 | 2020-05-19 | 西安交通大学 | 一种基于生成对抗学习的可解释探索的假新闻识别系统及方法 |
CN111310464A (zh) * | 2020-02-17 | 2020-06-19 | 北京明略软件系统有限公司 | 词向量获取模型生成方法、装置及词向量获取方法、装置 |
CN111414122A (zh) * | 2019-12-26 | 2020-07-14 | 腾讯科技(深圳)有限公司 | 一种智能文本处理方法、装置、电子设备及存储介质 |
CN111723548A (zh) * | 2020-06-10 | 2020-09-29 | 腾讯科技(深圳)有限公司 | 评论扩展方法及装置 |
CN113345575A (zh) * | 2021-05-28 | 2021-09-03 | 浙江连信科技有限公司 | 信息生成方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729459A (zh) * | 2014-01-10 | 2014-04-16 | 北京邮电大学 | 一种构建情感分类模型的方法 |
CN107291696A (zh) * | 2017-06-28 | 2017-10-24 | 达而观信息科技(上海)有限公司 | 一种基于深度学习的评论词情感分析方法及系统 |
-
2018
- 2018-01-03 CN CN201810005504.0A patent/CN108563624A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729459A (zh) * | 2014-01-10 | 2014-04-16 | 北京邮电大学 | 一种构建情感分类模型的方法 |
CN107291696A (zh) * | 2017-06-28 | 2017-10-24 | 达而观信息科技(上海)有限公司 | 一种基于深度学习的评论词情感分析方法及系统 |
Non-Patent Citations (1)
Title |
---|
HAI-TAO ZHENG ET AL: "Automatic Generation of News Comments Based on Gated Attention Neural Networks", 《IEEE ACCESS》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408630B (zh) * | 2018-10-17 | 2021-10-29 | 杭州世平信息科技有限公司 | 一种根据犯罪事实的描述自动生成法院观点的方法 |
CN109408630A (zh) * | 2018-10-17 | 2019-03-01 | 杭州世平信息科技有限公司 | 一种根据犯罪事实的描述自动生成法院观点的方法 |
CN109635273A (zh) * | 2018-10-25 | 2019-04-16 | 平安科技(深圳)有限公司 | 文本关键词提取方法、装置、设备及存储介质 |
CN109598002A (zh) * | 2018-11-15 | 2019-04-09 | 重庆邮电大学 | 基于双向循环神经网络的神经机器翻译方法和系统 |
CN109698017A (zh) * | 2018-12-12 | 2019-04-30 | 中电健康云科技有限公司 | 医疗病历数据生成方法及装置 |
CN109829055A (zh) * | 2019-02-22 | 2019-05-31 | 苏州大学 | 基于过滤门机制的用户法条预测方法 |
CN110162783A (zh) * | 2019-04-17 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 用于语言处理的循环神经网络中隐状态的生成方法和装置 |
CN110334749A (zh) * | 2019-06-20 | 2019-10-15 | 浙江工业大学 | 基于注意力机制的对抗攻击防御模型、构建方法及应用 |
CN110427618A (zh) * | 2019-07-22 | 2019-11-08 | 清华大学 | 对抗样本生成方法、介质、装置和计算设备 |
CN110688832A (zh) * | 2019-10-10 | 2020-01-14 | 河北省讯飞人工智能研究院 | 一种评论生成方法、装置、设备及存储介质 |
CN110688832B (zh) * | 2019-10-10 | 2023-06-09 | 河北省讯飞人工智能研究院 | 一种评论生成方法、装置、设备及存储介质 |
CN111414122A (zh) * | 2019-12-26 | 2020-07-14 | 腾讯科技(深圳)有限公司 | 一种智能文本处理方法、装置、电子设备及存储介质 |
CN111177554A (zh) * | 2019-12-27 | 2020-05-19 | 西安交通大学 | 一种基于生成对抗学习的可解释探索的假新闻识别系统及方法 |
CN111177554B (zh) * | 2019-12-27 | 2022-12-09 | 西安交通大学 | 一种基于生成对抗学习的可解释探索的假新闻识别系统及方法 |
CN111310464A (zh) * | 2020-02-17 | 2020-06-19 | 北京明略软件系统有限公司 | 词向量获取模型生成方法、装置及词向量获取方法、装置 |
CN111310464B (zh) * | 2020-02-17 | 2024-02-02 | 北京明略软件系统有限公司 | 词向量获取模型生成方法、装置及词向量获取方法、装置 |
CN111723548A (zh) * | 2020-06-10 | 2020-09-29 | 腾讯科技(深圳)有限公司 | 评论扩展方法及装置 |
CN111723548B (zh) * | 2020-06-10 | 2024-04-30 | 腾讯科技(深圳)有限公司 | 评论扩展方法及装置 |
CN113345575A (zh) * | 2021-05-28 | 2021-09-03 | 浙江连信科技有限公司 | 信息生成方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108563624A (zh) | 一种基于深度学习的自然语言生成方法 | |
CN109299262B (zh) | 一种融合多粒度信息的文本蕴含关系识别方法 | |
Xiao et al. | Skeleton-based Chinese sign language recognition and generation for bidirectional communication between deaf and hearing people | |
CN108229582A (zh) | 一种面向医学领域的多任务命名实体识别对抗训练方法 | |
CN108875807A (zh) | 一种基于多注意力多尺度的图像描述方法 | |
CN110334354A (zh) | 一种中文关系抽取方法 | |
CN108024158A (zh) | 利用视觉注意力机制的有监督视频摘要提取方法 | |
CN112561064B (zh) | 基于owkbc模型的知识库补全方法 | |
CN107679491A (zh) | 一种融合多模态数据的3d卷积神经网络手语识别方法 | |
CN109241255A (zh) | 一种基于深度学习的意图识别方法 | |
CN111695779A (zh) | 一种知识追踪方法、装置及存储介质 | |
CN108171198A (zh) | 基于非对称多层lstm的连续手语视频自动翻译方法 | |
CN112527966B (zh) | 基于Bi-GRU神经网络和自注意力机制的网络文本情感分析方法 | |
CN111274398A (zh) | 一种方面级用户产品评论情感分析方法及系统 | |
CN109670036A (zh) | 一种新闻评论自动生成方法及其装置 | |
CN110851760B (zh) | 在web3D环境融入视觉问答的人机交互系统 | |
CN107066445A (zh) | 一种属性情感词向量的深度学习方法 | |
CN110263174B (zh) | —基于焦点关注的主题类别分析方法 | |
CN111966800A (zh) | 情感对话生成方法、装置及情感对话模型训练方法、装置 | |
CN110569823B (zh) | 一种基于rnn的手语识别与骨架生成方法 | |
CN110727844B (zh) | 一种基于生成对抗网络的在线评论商品特征观点提取方法 | |
CN112052889B (zh) | 基于双门控递归单元解码的喉镜图像识别方法 | |
CN112905762A (zh) | 一种基于同等注意力图网络的视觉问答方法 | |
CN112527993A (zh) | 一种跨媒体层次化深度视频问答推理框架 | |
CN111046157B (zh) | 一种基于平衡分布的通用英文人机对话生成方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180921 |