一种个性化情感摘要的计算方法与装置与流程

文档序号:17740908发布日期:2019-05-24 20:05阅读:220来源:国知局
本发明涉及网络信息领域,特别涉及一种个性化情感摘要的计算方法与装置。
背景技术
::情感摘要的目的是给一篇或者是多篇评论生成一个简要的摘要。给定一篇评论,由于不同的用户有着不同的经历以及不同的想法,导致他们会关注评论的不同内容。图1给出了酒店评论的一个例子。用户a可能是商务出行,他对酒店的位置和房间的关注多于对酒店价格的关注,而用户b可能是穷游,因此在选择酒店时更关注于酒店的价格。不仅如此,不同用户也有他们各自的用词习惯,用户c可能就经常总结会用一些显示表达他情感的词来总结他的评论,然而用户a和用户b却不这么做。传统的情感摘要系统仅仅关注评论内容,生成的摘要对于所有的用户都是一样的。而个性化的情感摘要可以针对不同的读者,生成不同的摘要。这些摘要可以直接反映读者对产品要素的不同偏好,应该能更有助于他们选择产品。鉴于此,提出本发明。技术实现要素:本发明提供个性化情感摘要的计算方法与装置,用于解决传统的情感摘要系统仅仅关注评论内容,生成的摘要对于所有的用户都是一样,而不具备个性化的问题。为了达到上述目的,根据本发明的第一个方面,提供一种个性化情感摘要的计算方法,并采用如下具体方案:一种个性化情感摘要的计算方法包括:基于用户评论数据信息构建数据集;基于预设要素信息对所述数据集进行过滤,得到过滤结果;通过用户敏感编码器,对所述过滤结果使用双向lstm进行编码后,基于用户选择机制从所述过滤结果中,获取用户关注度高的评论内容进行建模,得到建模结果;通过用户敏感解码器对所述建模结果进行解码,并输入用户向量及用户特定词汇至所述解码器的词汇预测阶段,使得所述解码器输出个性化情感摘要。根据本发明的另外一个发明,提供一种个性化情感摘要的计算装置,并采用如下技术方案:一种情感摘要的个性化计算装置包括:构建模块,用于基于用户评论数据信息构建数据集;过滤模块,用于基于预设要素信息对所述数据集进行过滤,得到过滤结果;编码模块,用于通过用户敏感编码器,对所述过滤结果使用双向lstm进行编码后,基于用户选择机制从所述过滤结果中,获取用户关注度高的评论内容进行建模,得到建模结果;解码模块,用于通过用户敏感解码器对所述建模结果进行解码,并输入用户向量及用户特定词汇至所述解码器的词汇预测阶段,使得所述解码器输出个性化情感摘要。本发明的通过用户敏感编码器与用户敏感解码器,对红红评论数据信息进行编码解码处理,在生成情感摘要时增添用户向量及用户特定词汇,生成个性化情感摘要。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明
背景技术
:个性化情感摘要示例;图2为本发明实施例所述的个性化情感摘要的计算方法流程图;图3为本发明实施例所述的用户敏感的序列结构图;图4为本发明实施例所述的用户特定词表现规模对模型的影响示意图;图5为本发明实施例所述的个性化情感摘要的计算装置结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。图2为本发明实施例所述的个性化情感摘要的计算方法流程图。参见图2所示,一种个性化情感摘要的计算方法包括:s101:基于用户评论数据信息构建数据集;s103:基于预设要素信息对所述数据集进行过滤,得到过滤结果;s105:通过用户敏感编码器,对所述过滤结果使用双向lstm进行编码后,基于用户选择机制从所述过滤结果中,获取用户关注度高的评论内容进行建模,得到建模结果;s107:通过用户敏感解码器对所述建模结果进行解码,并输入用户向量及用户特定词汇至所述解码器的词汇预测阶段,使得所述解码器输出个性化情感摘要。具体而言,步骤s101中,基于用户评论数据信息构建数据集,本步骤构建了一个数据集并将其命名为tripset。tripset可以从网站上抓取,例如猫途鹰网站,用户在猫途鹰网站上经常会写评论并给评论一个标题。评论的标题可以看成是发表评论的用户对评论内容的一个精炼的总结,因此可以将这个标题作为该评论的摘要内容。从猎途鹰网站上抓取了2832872用户-评论-摘要三元组。在步骤s103中,基于预设要素信息对所述数据集进行过滤,得到过滤结果;由于数据集中的这些数据存在着大量的噪音,由于用户在撰写标题时并没有任何约束,用户可以任意的给出标题,这就导致了很多没有意义的标题,例如″notmyfirstchoice″,″iwillbebackagain″和″twiceinonetrip″等。为了过滤这些噪音样本,在步骤s103中提出了三个过滤器:要素过滤器:要素过滤器是为了过滤那些没有描述任何要素的标题。对于酒店领域,可以人工定义了6类要素及其种子词:位置、服务、房间、价格、设施和食物,详细信息可参见表1。然后采用文献提出的要素分割算法,自动拓展种子词,并标注评论标题的要素类别。最后过滤掉那些没有被标注任何要素的题目。长度过滤器:长度过滤器是为了过滤那些过短的题目,这里设定如果评论的题目的词汇数目小于5,则删除它。压缩比过滤器:压缩比过滤器是为了过滤那些评论长度与题目长度比值过大的评论数据,这里设置的压缩比阈值为50,如果评论的长度与评论题目长度比值大于这个阈值,则删除它。表1人工定义的要素及其关键词使用完这些过滤器之后,只保留了那些发表评论超过20篇用户的评论,最终得到了536255的用户-评论-摘要三元组的tripset数据集。表2中给出了的一些统计信息。随机从tripset中选取了1000条评论进行人工分析,来查看摘要中涉及的要素是否全都在评论中出现过。最终发现90%以上的摘要涉及的要素全都在评论中出现过,这也就明tripset的可靠性。随机从这个数据集抽取5000篇做测试集,500篇做开发集剩下的做训练集。表2tripset的统计信息通过上述过滤后,在步骤s105中,通过用户敏感编码器,对所述过滤结果使用双向lstm进行编码后,基于用户选择机制从所述过滤结果中,获取用户关注度高的评论内容进行建模,得到建模结果。首先,数据集d是由m个用户-评论-摘要三元组,每个三元组包含了一条评论x,评论的发布者u,以及u对x总结形成的摘要y。评论x包含了n个词汇,分别是{x,x2,...,xn},其中xi∈vs并且v是源端词表。摘要y包含了i≤n个汇,它们分别是{y1,y2...,yl},其中yi∈vt并且v是目标端的词表。个性化情感摘要的目的是从评论x自动生成摘要y并考虑用户u在对评论摘要过程中的特定习惯。具体参见图3所示,给定评论x,编码器首先将评论内部的词汇xi映射成词向量xi,然后评论内部所有词汇的词向量将依次进入编码模块(一个单层的双向lstm),从而得到词汇xi的隐层表示hi。具体来说,基于用户的选择机制网络的输入是用户向量u和编码端的隐层状态hi,输出的是一个门向量来过滤hi。gatei=σ(wk[hi;u]+bk)(1)其中wk和bk是这个选择机制的参数,[;]是连接符号,σ表示的是sigmoid活函数,并且指的是逐位相乘的操作。h’i指的是保留hi信息的量,称为源端隐层向量。从式(1)可以知道gatei是一个每个维度值都属于0到1的一个向量。因此,可以利用||gatei||2来刻画这个过滤器对hi的过滤程度,称之为2范数门值。这个值越高表明hi′保留了大部分hi的信息,也就意味着词汇xi,对用户u是重要的。反之则意味着h’i只保留了很少的hi信息,也就意味着词汇xi被过滤了,对用户u是不重要的。在步骤s107中,通过用户敏感解码器对所述建模结果进行解码,并输入用户向量及用户特定词汇至所述解码器的词汇预测阶段,使得所述解码器输出个性化情感摘要。具体仍然参见图3所示,在使用用户敏感的编码器对源端信息过滤之后,对于评论x中的词汇xi而言,可以得到新的源端隐层向量h’i。在t时刻的解码过程中,解码器仍然可以通过首先接受上一时刻解码出的词向量生成t时刻的解码状态st,然后用该向量去关注源端的所有新的隐层状态h’i得到t时刻的上下文向量c’t,具体计算公式如(3)所示。其中,wc,w’c,bc和vta是这个注意力层的参数。et,i使用用户敏感编码器过滤后编码器顶层的隐藏状态,包含了待输入到连接层的隐藏向量。ct,t时刻的上下文向量,和要素at相关的句子i的表示。当用户对评论进行摘要时,不同用户有着各自的词表,因此很自然的想法是将用户特定词汇表融入到词汇预测模块,影响词汇的概率分布pvoc,然而用户特定词汇表中各个词汇的作用应该也有所差异,因此这里使用一个注意力机制来从u中抽取重要的词汇并得到用户词表表示mt。mt=∑kβt,kuk(8)其中,wm,w’m,bm和是模型参数。gt,k,将含有用户特定词汇表的隐藏向量输入全连接层。βt,i为t时刻对第i个隐状态的归一化权重。接下来,将mt和用户向量u都融入读出状态rt中,并得到式(9)与(10)rt′=wr′[c′t;st;u;mt]+br′(9)pvoc=softmax(wort+bo)(10)其中,wr′和br′是模型参数。r′t:融入用户词表表示mt和用户向量u更新过的rtp′voc:利用新的rt′更新过的t时刻生成词汇的概率。分别将用户向量u和用户词表表示mt添加进r’t的策略称为用户预测策略(userpredictionstrategy)和用户记忆预测策略(usermemorypredictionstrategy),如图3中的②和③所示。为了验证上述技术方案的有效性,从猫途鹰网站上抓取并构建了一个新的情感摘要数据集,称为tripset。tripset包含了19400个用户发布的536255条评论及其摘要。定量以及人工评测的结果显示uasn在情感摘要上取得了好的结果,主要优势具有以下三点:(1)第一次提出个性化情感摘要这个问题,并提出了一个基于seq2seq的用户敏感模型来解决它。(2)本章提出了基于用户的选择机制在对评论进行摘要过程中对评论内容根据用户关注的差异进行过滤。(3)为每一个用户构建了一个用户特定词汇表,并首次将它应用到个性化情感摘要中,使得个性化情感摘要系统在对评论生成摘要时可以充分考虑用户的用词习惯。作为优选的实施方式,在所述通过用户敏感解码器对所述建模结果进行解码,并输入用户向量及用户特定词汇至所述解码器的词汇预测阶段,使得所述解码器输出个性化情感摘要之后,所述个性化计算方法还包括:使用软复制机制,在生成所述个性化情感摘要时,从所述用户评论信息中复制所述个性化情感摘要。所述使用软复制机制,在生成所述个性化情感摘要时,从所述用户评论信息中复制所述个性化情感摘要包括:t时刻词汇生成的概率为pmgn∈[0,1],由上下文向量c’t,解码状态向量st,和词表状态向量mt,通过式(11)计算得到:pmgn=σ(wmg[c′t;st;mt]+bmg))11)其中wmg,bmg是模型参数;词汇生成概率pmgn作为一个软开关,用于决定是从目标端词表中vt生成一个词汇,还是从用户特定词汇表中拷贝一个词汇,(12)其中式(12)用于从目标端词表中vt生成一个词汇。具体而言,uasn使用了一个软复制的机制,在生成摘要时直接从用户相关的词汇中复制,这是我们第四种考虑用户的策略,称为用户记忆生成策略(usermemorygenerationstrategy),如图3中的④所示。t时刻词汇生成的概率为pmgn∈[0,1],可以由上下文向量c’t,解码状态向量st,和词表状态向量mt,通过式(11)计算得到。pmgn=σ(wmg[c′t;st;mt]+bmg)(11)其中wmg,bmg是模型参数。接下来,词汇生成概率pmgn可以作为一个软开关,它来决定是从目标端词表中vt生成一个词汇(见式(12)的第一部分)还是从用户特定词汇表中拷贝一个词汇(式(12)第二部分)。作为优选的实施方式,所述用户特定词汇表的构建方法包括:将训练集中各个用户发布的所有评论和摘要合并在一起组成一篇大文档,每个用户一篇文档;计算文档中出现的每个词汇的tf-idf值,进而为用户u选出该值最高的k个词汇组成该用户的用户特定词汇表。具体来说,本发明实施例从两个角度对用户进行建模:(1)用户向量,我们将u编码成向量u,并把u考虑进uasn。(2)用户特定词汇表,它是从用户u发布过的评论和摘要中整理和收集了k个用户u最相关的词汇组成为了构建首先将训练集中各个用户发布的所有评论和摘要合并在一起组成一篇大文档,每个用户一篇文档。然后可以计算文档中出现的每个词汇的tf-idf值,进而为用户u选出该值最高的k个词汇组成他的用户特定词汇表。使用tf-idf值区分不同的词汇是希望能够选择一些用户特定并且广泛使用的词汇。得到这k个词汇之后,将它们映射成向量那么u就是对于用户u构建的用户特定词汇表。本发明提供的一种情感摘要的个性化计算装置包括:构建模块50,用于基于用户评论数据信息构建数据集。过滤模块52,用于基于预设要素信息对所述数据集进行过滤,得到过滤结果;编码模块54,用于通过用户敏感编码器,对所述过滤结果使用双向lstm进行编码后,基于用户选择机制从所述过滤结果中,获取用户关注度高的评论内容进行建模,得到建模结果;解码模块56,用于通过用户敏感解码器对所述建模结果进行解码,并输入用户向量及用户特定词汇至所述解码器的词汇预测阶段,使得所述解码器输出个性化情感摘要。所述编码模块54还用于:基于用户的选择机制网络的输入是用户向量u和编码端的隐层状态hi,输出的是一个门向量来过滤hi:gatei=σ(wk[hi;u]+bk)(1)其中wk和bk是这个选择机制的参数,[;]是连接符号,σ表示的是sigmoid活函数,并且指的是逐位相乘的操作,h′i指的是保留hi信息的量,称为源端隐层向量。为了验证上述技术方案的效果,以下从评价指标、对比方法、实现细节以及模型的效果进行说明。(1)评价指标本发明采用rouge的f1值作为评价指标,并通过pyrouge工具包来计算该值。(2)对比方法大部分情感摘要的工作都关注于多文档的情感摘要,而本发明关注的单文档情感摘要,因此uasn无法与这些情感摘要的工作进行对比,这里比较传统文本摘要比较流行的几种方法:a、lead-1是一种抽取式的方法,它从评论中抽取第一句话作为摘要。b、lexrank是一种基于pagerank算法计算文本重要程度的无监督学习方法,也是一种很流行的抽取式的方法。c、seq2seq+att是基于注意力机制的序列到序列模型。d、seass采用了一个选择性编码网络来从评论中选择重要的句子或词汇帮助文本摘要,并在句子摘要这个任务取得了当时最好的效果。e、pgn采用了一个拷贝机制从评论中直接复制词汇来生成摘要,并在文档级别摘要上取得了当时最好的效果。(3)细节实现在实验中,词向量和用户向量维度都设为128,并将lstm内部所有隐层状态的大小设为256。为了提高系统的鲁棒性,本发明采用了概率为0.2的dropout策略。训练过程中,利用开发集的损失来使用早期停止策略(earlystopping)。测试时,摘要结果是通过搜索空间大小为5的柱搜索算法得到。批处理的大小设置为128,并采用学习率为0.001的adam算法进行参数更新。对源端和目标端使用了同一个词表,其规模为30000。对于过长的评论,我们截取了前200个词,这样做是为了对训练和测试进行加速。然而实验表明发现,该操作也能提升模型的效果。通过开发集来选择用户特定词表的规模,并设置它为200。(4)实验结果表3给出了实验结果,其中″rg″表示rouge,该表格上半部分的模型是基于抽取式的方法,下半部分的模型都是基于生成式的方法。最好的结果用加粗显示,符号“*”表示uasn模型显著优于所有基线系统。表3各个系统的实验结果对抽取式方法,lead-1取得了最好的结果。但尽管如此,它在rouge-1,rouge2和rouge-l上也仅取得了12.77%,2.98%和11.27%的f1值。主要的原因是tripset里面的摘要都比较简短并且内容一般都会覆盖很多句子。这也正是为什么本章提出的用户敏感的情感摘要模型要基于生成式的方法来实现的原因。对生成式的方法而言,seq2seq+att比其他抽取式的方法都好。将选择机制添加到seq2seq+att之后,seass的效果反而下降的。主要的原因是seass提出的选择机制是为了句子摘要服务的,可能并不适合文档摘要。文献里输入句子的平均长度都小于40个词,然而tripset中评论的输入平均长度为154。尽管如此,这种选择机制对于摘要系统非常关键,因此我们提出了基于用户的选择机制来对输入进行过滤。当将拷贝机制加入到seq2seq+att之后,pgn取得了更好的结果。最后,在将本章提出的4种基于用户的策略融入到seq2seq+att之后,uasn在rouge-1,rouge-2和rouge-l上取得了24.78%,7.75%和22.66%的f1值,显著优于其他方法。与seq2seq+at对比,uasn在rouge1,rouge2和rouge-l上分别有2.69%,1.36%和2.3%提升,这显示对用户相关特点进行建模可以很有效的提高情感摘要的质量。我们的模型也在rouge-1,rouge-2和rouge-l分别超过pgn2.27%,0.86%和1.87%,并取得了情感摘要最好的结果。(5)关于要素覆盖度的人工评测前面的实验表明uasn生成的摘要在词汇和短语级别的自动评价上要优于其他模型,但uasn是一个融入了用户的个性化模型,我们想观察它生成的摘要在要素层面的评价是否也能优于其它模型。因为用户关注的要素一般会出现在参考摘要中,如果uasn生成摘要描述的要素与参考摘要描述的要素一致性优于其他模型,则可以推断出uasn不仅对用户的用词偏好进行了建模,也考虑了用户对不同要素的关注差异。基于此,于是设计了该关于要素覆盖度的人工实验。要素标签的组成是由表1提供的6个要素(位置、服务、房间、价格、设施和食物)和1个描述酒店整体领域的″酒店″要素组成。给定一个摘要,我们需要从这7个要素标签中人工对其进行标注。以下是人工标注的两个例子例子1:friendlystaffwithgoodroom(服务、房间)例子2:agreathotelincitycenter(酒店、位置)表4各个系统要素层的准确率、召回率和f1为了进行人工实验,首先从测试集中随机抽取1000个用户-评论-摘要三元组。然后利用seq2seq+att,pgn和uasn这三个模型对这1000个三元组的评论生成情感摘要,并邀请了两个同学对这些系统生成的摘要以及参考摘要进行要素标注。最后,统计了要素层各个系统的准确率、召回率和f值,并在表4中给出各个系统的效果。实验结果表明uasn很大幅度优于其他的模型(seq2seq+att和pgn),这也就表明u可以捕捉到要素层面的用户偏好。(6)模型分析a.不同用户策略的效果本发明提出了4种基于用户的策略来构建用户敏感的情感摘要系统,这4种策略分别是用户选择策略(uselect)、用户预测策略(upre)、用户记忆预测策略(ump)、用户记忆生成策略(umg)。为了测试各种策略对于个性化情感摘要的影响,本小节对uasn进行了消融测试,将这四种策略分别从uasn中删除、或者分别只添加这四个策略的某一种,查看实验结果并进行对比分析。表5给出了实验结果,其中每一行是uasn的一个变体,对于每一种策略会对应符号“√”或者是“_”,前者表明该变体考虑了这种策略,后者则没有考虑。当这四种策略都没有考虑时,uasn就退化成了seq2seq+att(即表中的第1行)。表5各种策略对情感摘要的影响首先,当只添加一种用户策略的模型(第2-5行)都会比seq2seq+at在rouge1,rouge-2和rouge-l至少有0.83%,0.41%和0.77%的提升。这也就意味着这些用户策略都能提升情感摘要的效果。其中用户预测策略和用户记忆预测策略是两种最有效的用户策略,主要原因是它们能直接影响uasn的词汇预测模块。其次,当从uasn中删除一种用户策略时(第6-9行),所有的模型相比uasn都基本有下降。也就意味着我们这4种策略是互补的,它们之间没有冗余。其中互补最为明显的策略是用户选择策略,当它被删除时,uasn在rouge-1rouge2和rouge-l分别有了1.55%,1.11%和1.49%的下降。主要原因是本章提出的4种策略中,只有这种策略作用在uasn的编码模块中,其他策略都作用在ussn的解码模块中。最后,当所有基于用户的策略都考虑进seq2seq+att,uasn能取得最好的实验结果。b.用户特定词表规模对模型的影响表5中给出了用户特定词表的规模对用户记忆预测策略(ump)和用户记忆生成策略(umg)的影响,发现:首先,不管通过ump还是umg的方式将用户特定词表融入seq2seq+att,都会取得情感摘要的效果提升,即使在这个词表规模很小的时候(比如说只有50个词)。其次,ump的效果总是要比umg的效果好,主要原因是ump能直接影响解码器的词汇预测模块。最后,将用户词表规模大小设为200,因为seq2seq+att+ump+umg在这个词表规模下在开发集上取得最好的效果。c.基于用户选择机制的可视化为了验证uasn能从评论中为用户选择重要的词汇,本小节在表6中给出了基于用户选择机制的可视化,其中,词汇的背景色越深意味着该词汇对应的2范数门值余越高,表明基于用户的选择机制对该词的过滤程度越低,意味着这个词汇越重要。表6基干用户选择机制的可视化从用户a给出的标准摘要可以看出,用户a比较关注服务和房间,而基于用户的选择机制选出来比较重要的词汇是“impressed”、“staff”、“bed”和“perfect”,也就反映这个用户a对这两个要素的体验,这也就说明uasn可以从评论中挖掘出对用户重要的词汇。d.示例分析表7中给出了来自tripset测试集的一个样例的各个模型的输出结果。表7示例分析首先,尽管评论描述了用户b关于房间、食物、服务和位置的态度,而参考摘要中只包含了关于房间和位置的描述,也就意味着用户b更关注这两类要素,实际上,我们从训练集中观祭了用户b发布的所有评论,也发现了这个规律,他的评论和参考摘要的80%内容都会描述这两类要素。已有的方法没有对用户进行建模(seq2seq+at和pgn),因此也就无法捕捉到用户b对这两类要素的偏好,这也就导致了它们的输出结果会生成一些描述其他要素的词汇,如描述服务的“staf”。然而本章提出的个性化模型可以捕捉到这样的用户偏好,能正确生成用户摘要。其次,由于词汇“comfortable”没有出现在评论内容中,这个词相对来说较难生成。但是,它出现在用户b特定词表中,考虑了这个词表之后的uasn模型可以准确的生成这个词汇。本发明提出了情感摘要的个性化问题。给定同一篇评论,可以为根据不同用户对评论内容的关注差异以及他们的用词习惯生成不同的摘要。为了解决这个问题,本章提出了用户敏感的序列网络,该模型在编码阶段采用了基于用户的选择机制在对评论根据用户关注的差异进行过滤,在解码阶段融合了用户相关词汇表以生成个性化的情感摘要。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
:的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1