观点提取方法及装置与流程

文档序号:18885508发布日期:2019-10-15 20:50阅读:128来源:国知局
观点提取方法及装置与流程

本公开涉及计算机技术领域,尤其涉及一种观点提取方法及装置。



背景技术:

随着社交网络、移动互联网的不断普及,人们发布信息的成本越来越低,越来越多的用户乐于在互联网上分享自己的观点,这些观点对于舆情分析以及基于大数据的预测有着重要的意义。然而,相关技术中,观点提取结果的准确度较低。



技术实现要素:

有鉴于此,本公开提出了一种观点提取方法及装置,能够准确地获取观点提取结果。

根据本公开的一方面,提供了一种观点提取方法,所述方法通过网络模型实现,所述网络模型包括编码模块以及解码模块,所述方法包括:

获取待提取对象的特征信息;

将所述特征信息输入所述编码模块中进行处理,确定所述待提取对象的编码信息;

将所述编码信息输入所述解码模块中进行处理,确定所述待提取对象的观点提取结果,

其中,所述编码模块及所述解码模块分别包括循环神经网络。

在一种可能的实现方式中,所述网络模型还包括嵌入模块,

其中,获取待提取对象的特征信息,包括:

确定所述待提取对象的多个初始信息;

将所述多个初始信息输入所述嵌入模块进行向量化处理,确定所述多个初始信息的向量信息;

将所述向量信息确定为所述特征信息。

在一种可能的实现方式中,所述编码模块包括第一隐藏层,所述特征信息包括t个编码时序的特征信息,

其中,将所述特征信息输入所述编码模块中进行处理,确定所述待提取对象的编码信息,包括:

将所述t个编码时序的特征信息输入所述第一隐藏层中进行处理,将第t个编码时序的第一隐藏层的处理结果确定为所述待提取对象的编码信息,

其中,t为正整数。

在一种可能的实现方式中,所述解码模块包括第二隐藏层和输出层,所述输出层输出n个解码时序的观点提取结果,

其中,将所述编码信息输入所述解码模块中进行处理,确定所述待提取对象的观点提取结果,包括:

将第i-1个解码时序的隐藏层结果、第i-1个解码时序的观点提取结果以及所述编码信息输入到所述第二隐藏层中进行处理,确定第i个解码时序的隐藏层结果;

将所述编码信息、第i-1个解码时序的观点提取结果以及所述第i个解码时序的隐藏层结果输入到所述输出层中进行处理,确定第i个解码时序的观点提取结果,

其中,n以及i为正整数,n≥i≥1。

在一种可能的实现方式中,所述方法还包括:

获取样本对象的特征信息;

将所述样本对象的特征信息输入初始网络模型中进行处理,获取训练结果,其中,所述初始网络模型包括编码模块以及解码模块,所述编码模块及所述解码模块分别包括循环神经网络;

根据所述训练结果以及期望结果,确定模型损失;

根据所述模型损失,调整所述初始网络模型中的参数权重,确定调整后的网络模型;

在所述模型损失满足训练条件的情况下,将调整后的网络模型确定为最终的网络模型。

在一种可能的实现方式中,所述待提取对象包括视频评论、商品评论、新闻评论中的一种。

根据本公开的另一方面,提供了一种观点提取装置,所述装置通过网络模型实现,所述网络模型包括编码模块以及解码模块,所述装置包括:

特征信息获取单元,用于获取待提取对象的特征信息;

编码信息确定单元,用于将所述特征信息输入所述编码模块中进行处理,确定所述待提取对象的编码信息;

提取结果确定单元,用于将所述编码信息输入所述解码模块中进行处理,确定所述待提取对象的观点提取结果,

其中,所述编码模块及所述解码模块分别包括循环神经网络。

在一种可能的实现方式中,所述网络模型还包括嵌入模块,

其中,所述特征信息获取单元包括:

初始信息确定子单元,用于确定所述待提取对象的多个初始信息;

向量信息确定子单元,用于将所述多个初始信息输入所述嵌入模块进行向量化处理,确定所述多个初始信息的向量信息;

特征信息确定子单元,用于将所述向量信息确定为所述特征信息。

在一种可能的实现方式中,所述编码模块包括第一隐藏层,所述特征信息包括t个编码时序的特征信息,

其中,所述编码信息确定单元包括:

第一确定子单元,用于将所述t个编码时序的特征信息输入所述第一隐藏层中进行处理,将第t个编码时序的第一隐藏层的处理结果确定为所述待提取对象的编码信息,

其中,t为正整数。

在一种可能的实现方式中,所述解码模块包括第二隐藏层和输出层,所述输出层输出n个解码时序的观点提取结果,

其中,所述提取结果确定单元包括:

第二确定子单元,用于将第i-1个解码时序的隐藏层结果、第i-1个解码时序的观点提取结果以及所述编码信息输入到所述第二隐藏层中进行处理,确定第i个解码时序的隐藏层结果;

第三确定子单元,用于将所述编码信息、第i-1个解码时序的观点提取结果以及所述第i个解码时序的隐藏层结果输入到所述输出层中进行处理,确定第i个解码时序的观点提取结果,

其中,n以及i为正整数,n≥i≥1。

在一种可能的实现方式中,所述装置还包括:

特征信息获取单元,用于获取样本对象的特征信息;

训练结果获取单元,用于将所述样本对象的特征信息输入初始网络模型中进行处理,获取训练结果,其中,所述初始网络模型包括编码模块以及解码模块,所述编码模块及所述解码模块分别包括循环神经网络;

模型损失确定单元,用于根据所述训练结果以及期望结果,确定模型损失;

参数权重调整单元,用于根据所述模型损失,调整所述初始网络模型中的参数权重,确定调整后的网络模型;

网络模型确定单元,用于在所述模型损失满足训练条件的情况下,将调整后的网络模型确定为最终的网络模型。

在一种可能的实现方式中,所述待提取对象包括视频评论、商品评论、新闻评论中的一种。

根据本公开的另一方面,提供了一种观点提取装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行上述方法。

根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述观点提取方法。

根据本公开实施例,能够获取待提取对象的特征信息,将特征信息输入编码模块中进行处理,确定待提取对象的编码信息,将编码信息输入解码模块中进行处理,确定待提取对象的观点提取结果,通过利用网络模型实现获取待提取对象的观点提取结果,提高了观点提取结果的准确度。

根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。

附图说明

包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。

图1是根据一示例性实施例示出的一种观点提取方法的流程图。

图2是根据一示例性实施例示出的一种观点提取方法的流程图。

图3是根据一示例性实施例示出的一种观点提取方法的网络模型的示意图。

图4是根据一示例性实施例示出的一种观点提取方法的流程图。

图5是根据一示例性实施例示出的一种观点提取方法的流程图。

图6是根据一示例性实施例示出的一种观点提取装置的框图。

图7是根据一示例性实施例示出的一种观点提取装置的框图。

图8是根据一示例性实施例示出的一种观点提取装置的框图。

具体实施方式

以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。

另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。

图1是根据一示例性实施例示出的一种观点提取方法的流程图。该方法可应用于服务器中。如图1所示,根据本公开实施例的观点提取方法通过网络模型实现,所述网络模型包括编码模块以及解码模块,该方法包括:

在步骤s11中,获取待提取对象的特征信息;

在步骤s12中,将所述特征信息输入所述编码模块中进行处理,确定所述待提取对象的编码信息;

在步骤s13中,将所述编码信息输入所述解码模块中进行处理,确定所述待提取对象的观点提取结果,

其中,所述编码模块及所述解码模块分别包括循环神经网络。

根据本公开实施例,能够获取待提取对象的特征信息,将特征信息输入编码模块中进行处理,确定待提取对象的编码信息,将编码信息输入解码模块中进行处理,确定待提取对象的观点提取结果,通过利用网络模型实现获取待提取对象的观点提取结果,提高了观点提取结果的准确度。

举例来说,服务器获取待提取对象的特征信息,并将所述特征信息输入网络模型中进行处理,例如,将所述特征信息输入所述编码模块中进行处理,确定所述待提取对象的编码信息,将所述编码信息输入所述解码模块中进行处理,获取所述待提取对象的观点提取结果。其中,所述网络模型是训练好的可用于进行观点提取的网络模型。该网络模型包括编码模块以及解码模块,其中,所述编码模块及所述解码模块分别包括循环神经网络。本领域技术人员应理解,循环神经网络可以包括多种形式,例如,可以为长短期记忆网络(longshort-termmemory,lstm),也可以为任意一种lstm的变种,例如,双向长短期记忆循环神经网络(bi-directionallongshort-termmemory,bi-lstm)、门控循环单元(gatedrecurrentunit,gru)等。另外,观点提取结果也可以包括多种形式,例如,观点提取结果可以包括表示对象属性的评价对象(例如,剧情、票价、特效等)以及用户描述评价对象的评价词(例如,不错、很炫、太贵等)所构成的短语,本公开对此不作限制。

在一种可能的实现方式中,所述待提取对象包括视频评论、商品评论、新闻评论中的一种。

举例来说,待提取对象可以包括视频评论、商品评论、新闻评论中的一种。例如,用户针对某电影的评论为:“剧情不错,特效很炫,就是票价太贵了”。此时,该评论可以为待提取对象。服务器可以获取上述评论的特征信息。这样,服务器针对用户的评论进行观点提取。本领域技术人员应理解,待提取对象可以包括用户针对各类内容的评论,不限于视频评论、商品评论、新闻评论等,只要是包含用户观点的内容即可,本公开对此不作限制。

图2是根据一示例性实施例示出的一种观点提取方法的流程图。在一种可能的实现方式中,所述网络模型还包括嵌入模块,如图2所示,步骤s11可以包括:

在步骤s111中,确定所述待提取对象的多个初始信息。

举例来说,服务器可以确定所述待提取对象的多个初始信息。例如,用户的评论原文为“剧情不错,特效很炫,就是票价太贵了”,服务器可以将该评论原文所包含的多个字确定为所述待提取对象的多个初始信息。服务器还可以针对该评论原文进行分词处理,例如,分词处理得到:剧情、不错、特效、很炫、就是、票价、太贵了。此时,服务器可以将分词处理得到的多个词确定为所述待提取对象的多个初始信息。本公开对待提取对象的多个初始信息的形式不作限制。

在步骤s112中,将所述多个初始信息输入所述嵌入模块进行向量化处理,确定所述多个初始信息的向量信息;

在步骤s113中,将所述向量信息确定为所述特征信息。

举例来说,所述网络模型还可以包括嵌入模块,服务器可以将所述多个初始信息输入所述嵌入模块进行向量化处理,确定所述多个初始信息的向量信息,并将所述向量信息确定为所述特征信息。例如,待提取对象的多个初始信息为经过分词处理得到的多个词,网络模型的嵌入模块可以对多个词进行向量化处理,例如,通过word2vec词嵌入技术对多个词进行向量化处理,将每个词转化为一个高位空间的向量,例如,确定多个词的k维向量信息。其中,词义越相近的词对应的向量距离越近。服务器可以将所述向量信息确定为所述特征信息。

通过这种方式,可以较准确地获取待提取对象的特征信息。本领域技术人员应理解,可以通过多种方式获取待提取对象的特征信息,例如,嵌入模块包括可以通过训练好的word2vec,实现对多个初始信息进行向量化处理,确定多个初始信息的k维向量信息,还可以通过glove模型等对多个初始信息进行向量化处理,也可以使用字向量。例如,未对待提取对象进行分词处理,待提取对象的初始信息为待提取对象所包含的多个字,则服务器可以确定多个初始信息对应的字向量,只要可以获取待提取对象的特征信息即可,本公开对此不作限制。

图3是根据一示例性实施例示出的一种观点提取方法的网络模型的示意图。在一种可能的实现方式中,如图3所示,所述网络模型包括编码模块以及解码模块。所述编码模块包括第一隐藏层,所述解码模块包括第二隐藏层和输出层,其中,第一隐藏层、第二隐藏层的数量可以根据对网络模型准确度的需求以及计算量的大小来确定,例如,可以包括1到3层,本公开对此不作限制。

如图1所示,在步骤s12中,将所述特征信息输入所述编码模块中进行处理,确定所述待提取对象的编码信息。

举例来说,服务器可以将所述特征信息输入所述编码模块中进行处理,确定所述待提取对象的编码信息。例如,该特征信息为包括多个编码时序的输入序列,编码模块可以对包括多个编码时序的输入序列进行处理,得到多个编码时序的第一隐藏层的处理结果,并确定待提取对象的编码信息。例如,待提取对象的特征信息为一个输入序列,该输入序列包括t个编码时序,例如,输入序列x=(x1,…,xt)。将该t个编码时序的特征信息输入网络模型中进行处理,例如,经过编码模块的第一隐藏层处理后,可以确定待提取对象的t个编码时序的第一隐藏层的处理结果。

下面给出一个示例性的第t个编码时序的第一隐藏层的处理结果确定公式(1):

ht=f(xt,ht-1)(1)

在公式(1)中,xt表示输入序列t个编码时序中的第t个编码时序,其中,t为正整数,t≥t≥1。ht-1表示编码模块第t-1个编码时序的第一隐藏层的处理结果,f表示某种非线性函数,例如,通常使用lstm计算单元作为f,本公开对此不作限制。ht表示编码模块第t个编码时序的第一隐藏层的处理结果。

在一种可能的实现方式中,可以根据待提取对象的t个编码时序的第一隐藏层的处理结果,确定所述待提取对象的编码信息。

举例来说,服务器可以根据待提取对象的t个编码时序的第一隐藏层的处理结果,确定所述待提取对象的编码信息。

下面给出一个示例性的待提取对象的编码信息确定公式(2):

c=q(h1,…ht)(2)

在公式(2)中,c表示待提取对象的编码信息,h1表示第1个编码时序的第一隐藏层的处理结果,ht表示第t个编码时序的第一隐藏层的处理结果。q表示某种非线性函数,本公开对此不作限制。

通过这种方式,网络模型的编码模块可以根据待提取对象的包括t个编码时序的特征信息,得到t个编码时序的第一隐藏层的处理结果,根据t个编码时序的第一隐藏层的处理结果,确定待提取对象的编码信息。t个编码时序的第一隐藏层的处理结果包含了输入序列t个编码时序的全部信息,通过t个编码时序的第一隐藏层的处理结果确定的待提取对象的编码信息可以较好地表达输入序列,以准确提取观点。本领域技术人员应理解,可以通过多种方式确定待提取对象的编码信息,例如,如前文所述通过输入序列的t个编码时序的第一隐藏层的处理结果确定所述编码信息,也可以直接将第t个编码时序的第一隐藏层的处理结果确定为所述编码信息,本公开对此不作限制。

图4是根据一示例性实施例示出的一种观点提取方法的流程图。在一种可能的实现方式中,如图4所示,步骤s12可以包括:

在步骤s121中,将所述t个编码时序的特征信息输入所述第一隐藏层中进行处理,将第t个编码时序的第一隐藏层的处理结果确定为所述待提取对象的编码信息,

其中,t为正整数。

举例来说,服务器可以将t个编码时序的特征信息输入所述第一隐藏层中进行处理,将第t个编码时序的第一隐藏层的处理结果确定为所述待提取对象的编码信息。

下面给出一个示例性的待提取对象的编码信息确定公式(3):

c=q(h1,…ht)=ht(3)

在公式(3)中,c表示待提取对象的编码信息,h1表示第1个编码时序的第一隐藏层的处理结果,ht表示第t个编码时序的第一隐藏层的处理结果。q表示某种非线性函数,本公开对此不作限制。

通过这种方式,将输入序列第t个编码时序(最后一个编码时序)的第一隐藏层的处理结果确定为所述待提取对象的编码信息,利用循环网络最后一个时序的处理结果综合考虑了前面每一个时序的输入信息,从而同时保证根据第t个编码时序的第一隐藏层的处理结果确定的待提取对象的编码信息具有全面性高,处理复杂度低,处理速度快等特点。本公开对待提取对象的编码信息的确定方式不作限制。

如图1所示,在步骤s13中,将所述编码信息输入所述解码模块中进行处理,确定所述待提取对象的观点提取结果。

举例来说,服务器可以将编码信息输入所述解码模块中进行处理,确定所述待提取对象的观点提取结果,例如,由多个解码时序的输出序列(解码结果)所构成的观点提取结果。

通过这种方式,可以实现待提取对象到观点提取结果的端到端的提取,将待提取对象的特征信息输入到网络模型中进行处理,通过网络模型的编码模块和解码模块进行处理就可以获取观点提取结果,保证该观点提取的流程较少,可以尽可能地减少流程之间的错误传递,且利用网络模型实现待提取对象到观点提取结果的提取,无需依赖额外的信息,例如,无需依赖种子词、词性、句法依存信息等,也无需人工归纳特征,降低外界因素干扰,从而较大程度的提高了观点提取结果的准确度。本领域技术人员应理解,将待提取对象的多个初始信息输入训练好的网络模型,经过网络模型的编码模块和解码模块处理,可以得到待提取对象的观点提取结果,本公开对网络模型的编码模块和解码模块的形式以及处理过程不作限制。

在一种可能的实现方式中,待提取对象的t个编码时序的编码信息输入解码模块中进行处理,所述解码模块的输出层输出n个解码时序的观点提取结果。

举例来说,解码模块的输出层输出n个解码时序的观点提取结果,例如,y=(y1,…yn),t以及n为正整数,t≥n。其中,解码模块输出层输出的可以为一个长度为词典大小|v|的独热码one-hot向量。该词典可以是通过较大预料练出来的词典,该词典包含的词语数量可以包括几百到几万,本公开对此不作限制。

在一种可能的实现方式中,将所述编码信息输入所述解码模块中进行处理,确定所述待提取对象的观点提取结果(步骤s13)可以包括:

将第i-1个解码时序的隐藏层结果、第i-1个解码时序的观点提取结果以及所述编码信息输入到所述第二隐藏层中进行处理,确定第i个解码时序的隐藏层结果;

将所述编码信息、第i-1个解码时序的观点提取结果以及所述第i个解码时序的隐藏层结果输入到所述输出层中进行处理,确定第i个解码时序的观点提取结果,

其中,n以及i为正整数,n≥i≥1。

举例来说,服务器可以将所述编码信息输入所述解码模块中进行处理,确定所述待提取对象的观点提取结果。现以服务器确定第i个解码时序的观点提取结果为例进行说明。

在一种可能的实现方式中,服务器可以将第i-1个解码时序的隐藏层结果、第i-1个解码时序的观点提取结果以及所述编码信息输入到所述第二隐藏层中进行处理,确定第i个解码时序的隐藏层结果。

下面给出一个示例性的第i个解码时序的隐藏层结果确定公式(4):

si=f(si-1,yi-1,c)(4)

在公式(4)中,si表示第i个解码时序的隐藏层结果,si-1表示第i-1个解码时序的隐藏层结果,yi-1表示第i-1个解码时序的观点提取结果,c表示编码信息,其中,i为正整数,n≥i≥1。

举例来说,服务器可以将所述编码信息c输入所述解码模块中进行处理,例如,如图3所示,给解码模块输入一个起始信号y0(例如,特殊符号<s>),解码模块开始第1个解码时序,则可以根据公式(4)确定第1个解码时序的隐藏层结果s1。

通过这种方式,可以确定当前解码时序的隐藏层结果。

在一种可能的实现方式中,服务器可以将所述编码信息、第i-1个解码时序的观点提取结果以及所述第i个解码时序的隐藏层结果输入到所述输出层中进行处理,确定第i个解码时序的观点提取结果。

下面给出一个示例性的第i个解码时序的观点提取结果确定公式(5):

p(yi|y1,…,yi-1,c)=g(yi-1,si,c)(5)

在公式(5)中,p(yi|y1,…,yi-1,c)表示对于第i个解码时序,选择概率最高的输出结果作为第i个解码时序的观点提取结果yi。g表示非线性函数,yi-1表示第i-1个解码时序的观点提取结果,si表示第i个解码时序的隐藏层结果,c表示编码信息。

举例来说,可以根据y0、s1以及c,计算得到第1个解码时序的输出结果的概率分布,并将概率最高的词或字作为当前第1个解码时序的观点提取结果y1。例如,解码模块输出层输出长度为词典大小的one-hot向量包括1万个词,可以将其中概率最高的的词或字作为当前第1个解码时序的观点提取结果y1。

通过这种方式,在第i个解码时序的解码过程中,将所述编码信息、第i-1个解码时序的观点提取结果以及所述第i个解码时序的隐藏层结果输入到所述输出层中进行处理,确定第i个解码时序的观点提取结果,利用根据当前第i个解码时序的隐藏层结果、第i-1个解码时序的观点提取结果和编码信息,确定第i个解码时序的观点提取结果,可以提高观点提取结果的准确度。

在一种可能的实现方式中,解码模块从第1个解码时序开始,依次计算各解码时序的输出结果的概率分布,并将概率最高的词或字确定为各解码时序的观点提取结果,直到结束信号,例如,特殊符号</s>,得到最终的包括多个时序的观点提取结果。

下面给出一个示例性的待提取对象的观点提取结果确定公式(6):

在公式(6)中,p(y)表示选择概率最高的输出结果作为观点提取结果y(包括n个解码时序的输出序列),p(yiy1,…,yi-1,c)表示对于第i个解码时序,选择概率最高的输出结果作为第i个解码时序的观点提取结果yi,c表示编码信息,yi表示第i个解码时序的观点提取结果,i、n为正整数,i为变量,n≥i≥1。

通过这种方式,可以较准确地获取观点提取结果。本领域技术人员应理解,可以通过多种方式实现将特征信息输入编码模块中进行处理,确定待提取对象的编码信息,并将编码信息输入解码模块中进行处理,确定待提取对象的观点提取结果,本公开对此不作限制。

图5是根据一示例性实施例示出的一种观点提取方法的流程图。在一种可能的实现方式中,如图5所示,所述方法还包括:

在步骤s14中,获取样本对象的特征信息。

举例来说,服务器可以获取样本对象的特征信息。例如,希望训练得到的网络模型可用于对用户的视频评论进行观点提取,则可以获取多组用户的视频评论的样本对象。其中,样本对象的形式可以包括用户的视频评论原文以及用户观点。例如,视频评论原文为:“剧情确实没新意”,该用户观点为:“剧情没新意”,则样本对象可以为包括视频评论原文以及用户观点的二元组。

服务器可以对二元组中的视频评论原文以及用户观点进行分词,然后利用网络模型的嵌入模块将二者分别向量化处理,将每个词表示成一个固定长度(例如,k维)的向量,一句话可以被表示为一组向量。本领域技术人员应理解,服务器可以通过多种方式获取样本对象的特征信息,如前文所述,可以先对样本对象进行分词处理,并通过嵌入模块将词进行向量化处理,也可以无需进行分词处理,通过嵌入模块将样本对象中所包含的字进行字向量处理,只要可以获取样本对象的特征信息即可,本公开对此不作限制。

在步骤s15中,将所述样本对象的特征信息输入初始网络模型中进行处理,获取训练结果,其中,所述初始网络模型包括编码模块以及解码模块,所述编码模块及所述解码模块分别包括循环神经网络。

举例来说,服务器可以将样本对象的特征信息输入初始网络模型中进行处理,获取训练结果,其中,所述初始网络模型包括编码模块以及解码模块,所述编码模块及所述解码模块分别包括循环神经网络。其中,网络模型的结构和形式如前文所述,在此不再赘述。服务器将样本对象的特征信息输入初始网络模型中进行处理,获取的训练结果可能包括多个时序的训练结果。

在步骤s16中,根据所述训练结果以及期望结果,确定模型损失。

举例来说,样本对象为:视频评论原文“剧情确实没新意”,用户观点“剧情没新意”二元组。视频评论原文“剧情确实没新意”的特征信息输入初始网络模型中进行处理,获取包括多个时序的训练结果,例如,获取3个时序的训练结果。服务器可以根据所述训练结果以及期望结果,确定模型损失。其中,期望结果可以是指如前文所述的解码部分输出层是一个长度为词典大小|v|的独热码one-hot向量,该词典中可以包括多个词语,例如,包括“剧情”、“没”以及“新意”这三个词。在训练过程中,例如,在第1个解码时序,期望结果为“剧情”这一词在解码模块输出层的one-hot向量中,该词对应的维度为1,其他维度保持0。在第2个解码时序,期望结果为“没”这一字在解码模块输出层的one-hot向量中,该字对应的维度为1,其他维度保持0。

在一种可能的实现方式中,训练过程中,第1个解码时序的实际的训练结果为该one-hot向量中概率最高的词,例如,为“剧情”这一词,但可能该词对应的维度可能并不为1,仅是接近1,则可以根据第1个解码时序期望结果和训练结果,确定当前第1个解码时序的模型损失。

通过分别确定各个时序的损失,根据各个时序的损失,可以确定模型损失。例如,将各个时序的损失相加,确定模型损失。

下面给出一个示例性的模型损失的确定公式(7):

在公式(6)中,x表示输入序列,y表示输出序列,p(y|x)表示给定x时,输出y的概率,n表示有n个解码时序,i表示第i个解码时序,yi表示第i个解码时序的观点提取结果(输出结果),si表示第i个解码时序的隐藏层结果,c表示编码信息,p可以是softmax函数。

这样,可以确定模型损失,以调整网络模型中的参数权重。本领域技术人员应理解,网络模型的损失函数可以包括多种结构和形式,不限于上述示例,只要可以确定网络模型的损失,并通过网络模型中的参数权重,使得损失函数尽可能小即可,本公开对此不作限制。

在步骤s17中,根据所述模型损失,调整所述初始网络模型中的参数权重,确定调整后的网络模型。

举例来说,可以采用反向传播算法,例如,bptt(backpropagationthroughtime)算法,基于该模型损失,对该初始网络模型的参数权重求梯度,并基于该梯度来调整初始网络模型中的参数权重。

当网络模型需要进行满足设定的迭代训练次数时,在每次的迭代训练中,重复上述步骤。

在步骤s18中,在所述模型损失满足训练条件的情况下,将调整后的网络模型确定为最终的网络模型。

在一种可能的实现方式中,训练条件包括设定的迭代训练次数,和/或设定的收敛条件。

通过这种方式,根据样本对象的特征信息与初始网络模型进行训练,可以得到满足训练条件的网络模型,得到的网络模型能够更好的实现待提取对象到观点提取结果的端到端的提取,将待提取对象的特征信息输入到网络模型中进行处理,通过网络模型的编码模块和解码模块进行处理就可以获取观点提取结果,保证该观点提取的流程较少,可以尽可能地减少流程之间的错误传递,且利用网络模型实现待提取对象到观点提取结果的提取,无需依赖额外的信息,例如,无需依赖种子词、词性、句法依存信息等,也无需人工归纳特征,降低外界因素干扰,从而较大程度的提高了观点提取结果的准确度。

其中,训练得到的网络模型可以较准确地提取用户评论原文中的用户观点,该用户观点不限制为单一情感极性(例如,正向、负向、中性等)的观点。例如,该用户观点可以包括用户评论原文中的分别代表多个情感极性的多个观点,从而实现对用户评论对象的多个属性上的观点提取,该观点提取结果可用于进行细粒度的情感分析,挖掘用户评价原文的价值,本公开对观点提取结果的应用场景不作限制。

应用示例

以下结合“用户的观点提取”作为一个示例性应用场景,给出根据本公开实施例的应用示例,以便于理解观点提取方法的流程。本领域技术人员应理解,以下应用示例仅仅是出于便于理解本公开实施例的目的,不应视为对本公开实施例的限制。

在该应用示例中,训练如图3所示的网络模型。服务器获取样本对象的特征信息。例如,服务器可以对样本对象中的用户视频评论原文和用户观点进行分词处理,确定各自对应的多个词。服务器可以通过网络模型中的嵌入模块将用户视频评论原文和用户观点的多个词语分别向量化处理,例如,利用word2vec将每个词表示成一个k维的向量。

在该应用示例中,服务器可以将所述样本对象的特征信息输入初始网络模型中进行处理,获取训练结果,其中,所述初始网络模型包括编码模块以及解码模块,所述编码模块及所述解码模块分别包括循环神经网络。例如,初始网络模型可以包括编码模块以及解码模块,所述编码模块及所述解码模块分别包括循环神经网络,其中,循环神经网络可以为任意一种循环神经网络,例如,为lstm。

在该应用示例中,服务器可以根据所述训练结果以及期望结果,确定模型损失。例如,针对某一样本对象的训练结果包括多个时序,服务器可以根据该样本对象中的多个时序的期望结果以及多个时序的训练结果,分别确定各个时序的损失,并将各个时序的损失相加,确定模型损失。

在该应用示例中,服务器可以根据所述模型损失,调整所述初始网络模型中的参数权重,确定调整后的网络模型。例如,可以采用反向传播算法,例如,bptt(backpropagationthroughtime)算法,基于该模型损失,对该初始网络模型的参数权重求梯度,并基于该梯度来调整初始网络模型中的参数权重。

在该应用示例中,服务器可以在所述模型损失满足训练条件的情况下,将调整后的网络模型确定为最终的网络模型。例如,训练条件包括设定的收敛条件,在网络模型收敛时,将收敛的网络模型确定为最终的网络模型。

在该应用示例中,服务器可以获取待提取对象的特征信息,例如,待提取对象为用户视频评论原文“剧情很不错,特效也很炫,就是票价太贵了”,服务器可以对该待提取对象进行分词处理,将分词处理得到的多个词确定为该待提取对象的多个初始信息,并将多个初始信息输入网络模型的嵌入模块进行向量化处理,例如,将该句评论向量化处理为一组向量。服务器可以将所述特征信息输入网络模型中进行处理,获取所述待提取对象的观点提取结果,例如,观点提取结果为:剧情不错,特效炫,票价贵。

根据本公开实施例,能够获取待提取对象的特征信息,将特征信息输入编码模块中进行处理,确定待提取对象的编码信息,将编码信息输入解码模块中进行处理,确定待提取对象的观点提取结果,通过利用网络模型实现获取待提取对象的观点提取结果,提高了观点提取结果的准确度。

图6是根据一示例性实施例示出的一种观点提取装置的框图。如图6所示,所述观点提取装置包括:

特征信息获取单元21,用于获取待提取对象的特征信息;

编码信息确定单元22,用于将所述特征信息输入所述编码模块中进行处理,确定所述待提取对象的编码信息;

提取结果确定单元23,用于将所述编码信息输入所述解码模块中进行处理,确定所述待提取对象的观点提取结果,

其中,所述编码模块及所述解码模块分别包括循环神经网络。

图7是根据一示例性实施例示出的一种观点提取装置的框图。如图7所示,在一种可能的实现方式中,所述网络模型还包括嵌入模块,

其中,所述特征信息获取单元21包括:

初始信息确定子单元211,用于确定所述待提取对象的多个初始信息;

向量信息确定子单元212,用于将所述多个初始信息输入所述嵌入模块进行向量化处理,确定所述多个初始信息的向量信息;

特征信息确定子单元213,用于将所述向量信息确定为所述特征信息。

如图7所示,在一种可能的实现方式中,所述编码模块包括第一隐藏层,所述特征信息包括t个编码时序的特征信息,

其中,所述编码信息确定单元22包括:

第一确定子单元221,用于将所述t个编码时序的特征信息输入所述第一隐藏层中进行处理,将第t个编码时序的第一隐藏层的处理结果确定为所述待提取对象的编码信息,

其中,t为正整数。

在一种可能的实现方式中,所述解码模块包括第二隐藏层和输出层,所述输出层输出n个解码时序的观点提取结果,

其中,所述提取结果确定单元23包括:

第二确定子单元,用于将第i-1个解码时序的隐藏层结果、第i-1个解码时序的观点提取结果以及所述编码信息输入到所述第二隐藏层中进行处理,确定第i个解码时序的隐藏层结果;

第三确定子单元,用于将所述编码信息、第i-1个解码时序的观点提取结果以及所述第i个解码时序的隐藏层结果输入到所述输出层中进行处理,确定第i个解码时序的观点提取结果,

其中,n以及i为正整数,n≥i≥1。

如图7所示,在一种可能的实现方式中,所述装置还包括:

特征信息获取单元24,用于获取样本对象的特征信息;

训练结果获取单元25,用于将所述样本对象的特征信息输入初始网络模型中进行处理,获取训练结果,其中,所述初始网络模型包括编码模块以及解码模块,所述编码模块及所述解码模块分别包括循环神经网络;

模型损失确定单元26,用于根据所述训练结果以及期望结果,确定模型损失;

参数权重调整单元27,用于根据所述模型损失,调整所述初始网络模型中的参数权重,确定调整后的网络模型;

网络模型确定单元28,用于在所述模型损失满足训练条件的情况下,将调整后的网络模型确定为最终的网络模型。

在一种可能的实现方式中,所述待提取对象包括视频评论、商品评论、新闻评论中的一种。

图8是根据一示例性实施例示出的一种观点提取装置的框图。例如,装置1900可以被提供为一服务器。参照图8,装置1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。

装置1900还可以包括一个电源组件1926被配置为执行装置1900的电源管理,一个有线或无线网络接口1950被配置为将装置1900连接到网络,和一个输入输出(i/o)接口1958。装置1900可以操作基于存储在存储器1932的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。

在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由装置1900的处理组件1922执行以完成上述方法。

本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。

这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

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