一种嵌入逻辑规则的循环神经网络文本情感分析方法与流程

文档序号:11519614阅读:499来源:国知局
一种嵌入逻辑规则的循环神经网络文本情感分析方法与流程

本发明涉及一种数据处理技术领域,尤其是一种在循环神经网络(recurrentneuralnetworks,rnns)中嵌入逻辑规则的文本情感分析方法。



背景技术:

随着互联网技术的发展以及web2.0的兴起,互联网逐步由静态的信息载体转变为人们获取信息,发表观点,感情交流的平台,人们通过在网上分享、评论、表达自身对于各种事物的意见、看法,比如对电影、新闻、股票等的评论,这些评论对于政府、企业、消费者等的重要性不言而喻,然而随着在线评论数据爆炸式地增长,依靠人工对海量文本数据进行采集、处理、分析、预测是不切实际的,因此利用自动化工具,快速从大量文本中获取有价值的信息已经成为人们的迫切需求,文本情感分析的任务也应运而生。

文本情感分析在实际生活中有着广泛的应用:在推荐系统中,对购买相关产品的用户的在线评论信息进行自动整理,情感分类,分析和挑选出值得推荐的产品和服务,推荐给其他的用户;在过滤系统中,自动过滤一些对政府和商业机构不利的文字信息,并且鉴别出撰稿者的情感倾向、政治倾向及态度、观点和看法,例如,根据文本中反映出的作者情感进行分类,对攻击政府及个人的微博、e-mail可以实现自动屏蔽的功能;在问答系统中,对询问者问题中透露的感情色彩进行分析和文本分类,采用尽量合适的语气回复,防止答案情感色彩出错而适得其反,例如,心里咨询平台,错误的感情色彩可能使咨询者失去生命;在舆情系统中,互联网具有开放性、虚拟性、发散性等特点,它逐渐成为舆情话题产生和传播的主要场所,网络信息对社会的直接影响越来越大,有时关系到国家信息安全,因此人们需要使用舆情分析技术对舆情信息进行监控,此外,文本情感分析还可以用于有害信息过滤,产品在线跟踪和质量评价、电影书籍评论、行文报道评论、事件分析、股票评论、敌对信息检测、企业情报分析等方面。

文本情感分析(倾向性分析、意见抽取、意见挖掘、情感挖掘、主观分析)是对带有感情色彩的主观性文本进行分析、处理、归纳、和推理的过程,如从评论文本中分析用户对“笔记本电脑”的“屏幕、处理器、重量、内存、电源”等属性的情感倾向。从不同立场、出发点、个人态度和喜好出发,人们在看待不同的对象和事件时所表达的态度、意见和情感的倾向性是存在差异的。一般地,按照处理文本的粒度不同,文本情感分析分为词语级、短语级、句子级、篇章级以及多篇章级等几个研究层次。

word2vec是google于2013年提出的基于深度神经网络语言模型训练词向量的开源工具。它可以从大量文本中进行无监督学习,将词表征为实数值向量,相比之前的词袋(bag-of-words)表示法,它通过把词映射到k维的向量空间,可以更好的捕捉上下文语义信息,实验证明将学习到的词向量作为应用于自然语言处理任务中,对于提高自然语言任务的效率又很大的帮助。

文本情感分析的研究方法主要有两种:一种是情感词典和规则相结合;另一种是基于机器学习方法,传统的机器学习方法主要采用贝叶斯、支持向量机或最大熵,这些方法都伴随着大量的手动特征工程且具有任务特殊性,特征选择的好坏直接影响到了文本情感分析的正确与否,不同的任务选择的特征又各不相同,很多学者开始思考,更加适合的方法。后来循环神经网络作为一个序列模型,在机器识别、语音翻译、问答等都取得了突破性的成果,让越来越多的人相信循环神经网络可以是一个很好的语言模型。但由于循环神经网络有着梯度消失的问题,通俗点就是后面的时间节点对前面的时间节点的信息感知力弱,为了解决这个问题,后来在循环神经网络中引入了“门”的概念就有了长短时记忆网络(lstm)。

循环神经网络作为序列模型已经在众多自然语言处理任务中取得了巨大的成功以及广泛应用,例如,语言识别、机器翻译、情感分析、实体识别等,这让越来越多的人相信循环神经网络可以是一个很好的语言模型,然而循环神经网络仍存在着很多缺点,例如,循环神经网络的训练需要消耗大量的时间,高精度的模型依赖于大量的数据,单纯的数据学习常常导致不可解释性以及反直觉性。



技术实现要素:

针对现有技术的不足,本发明提供一种训练精度高的嵌入逻辑规则的循环神经网络文本情感分析方法。

本发明的技术方案为:一种嵌入逻辑规则的循环神经网络文本情感分析方法,其特征在于,包括以下步骤:

s1)、运用数据采集工具抓取用于训练的文本语料,将文本语料进行情感类别标记,然后将情感标记的文本语料分为训练集语料、测试集语料两个集合,

s2)、结合文本语料相关的词典和ansj分词工具对步骤s1)中的训练集语料和测试集语料进行分词处理,以及去停用词处理;

s3)、采用word2vec算法对步骤s2)中做分词处理、去掉停用词后的训练集语料和测试集语料进行训练,得到相应的词向量;

s4)、将步骤s2)中做分词、去掉停用词处理后的训练集语料和测试集语料输入现有的知识库进行分析处理,输出得到由元素(εk,xi,xj)组成的三元组集合triple,并结合概率图模型得到节点xi与xj之间的概率关系p(xj|xi),其中,xi与xj表示由一条有向边xi→xj连接的节点对,每个词表示为一个节点,p(xj|xi)表示节点xi到节点xj且xj发生的概率,并且记该逻辑规则为εk;

例如,输入词为x1→x2→x3→x4→x5,则p(x1)=1,该边逻辑规则记为ε1,该边逻辑规则记为ε2,该边逻辑规则记为ε3;

s5)、在t时刻,将三元组集合triple的元素(εk,xi,xj)向量化后得到将xt输入logic-lstm网络与logic-rnn网络构建得到嵌入一阶逻辑规则的循环神经网络中训练出情感分析模型,logic-lstm网络具体如下:

其中,δ为sigmoid激活函数,操作符⊙表示乘积操作,it、ict表示输入门,ft、fct表示忘记门,ot、oct表示输出门,表示更新门,

隐含层的输出向量ht∈rh,传递到下一个时刻的隐含层向量为hct∈rh,wi(wi′)、wf(wf′)、wo(wo′)、wc(wc′)∈rh×d,ui(ui′)、uf(u′f)、uo(uo′)、uc(uc′)∈rh×h为模型的训练参数,其中h、d分别表示隐含层的维度以及输入的维度;

logic-rnn网络具体如下:

其中,f为非线性激活函数,u(u′)、w(w′)∈rh×d为模型的训练参数,stst表示隐含层的输出,表示传递到下一个时刻的隐含层输出,mask为屏蔽矩阵,通过屏蔽矩阵mask防止冗余信息传递到下一个时刻,cem(xt,mask)表示两个相同维度矩阵xt,mask对应元素相乘;

s6)、将步骤s4)生成的训练集语料的逻辑规则结合步骤s3)训练好的词向量输入到步骤s5)构建的嵌入一阶逻辑规则的循环神经网络中,通过将logic-lstm网络和logic-rnn网络的输出连接到softmax函数,从而训练出情感分析模型,通过softmax函数输出概率值向量作为模型输出结果;

s7)、将步骤s4)生成的测试集语料的逻辑规则结合步骤s3)训练好的词向量输入到步骤s6)训练好的情感分析模型中,对测试集语料进行情感分类。

所述的知识库为知识图谱或者句法依存树,句法依存树可以采用stanfordparser或者ltp-cloud生成。

本发明的有益效果为:运用概率图模型描述一阶逻辑规则,更好的利用现有的知识库,提出了一种在循环神经网络(recurrentneuralnetworks)中嵌入逻辑规则的方法,并通过修改传统的循环神经网络结构,去除循环神经网络的反馈环中的冗余信息;通过将一阶逻辑规则嵌入到循环神经网络中,一方面可以达到控制循环神经网络的训练方向,更倾向人的直觉,另一方面提高了文本情感分析的精度,而且训练时间短,训练简单;此外,可以在一定程度上缓解rnn的梯度消失问题,当训练样本较小时,该方法的效果会更加显著;

另外,该方法应用广泛,可以用于自然语言处理、机器学习的其他领域,例如实体识别、机器翻译、问答、语音识别、人群异常点检测等。

附图说明

图1为本发明的流程示意图;

图2为本发明的情感分析模型图。

具体实施方式

下面结合附图对本发明的具体实施方式作进一步说明:

如图1、图2所示,一种嵌入逻辑规则的循环神经网络文本情感分析方法,其特征在于,包括以下步骤:

s1)、运用数据采集工具抓取用于训练的文本语料,将文本语料进行情感类别标记,然后将情感标记的文本语料分为训练集语料、测试集语料两个集合,

s2)、结合文本语料相关的词典和ansj分词工具对步骤s1)中的训练集语料和测试集语料进行分词处理,以及去停用词处理;

s3)、采用word2vec算法对步骤s2)中做分词处理、去掉停用词后的训练集语料和测试集语料进行训练,得到相应的词向量;

s4)、将步骤s2)中做分词、去掉停用词处理后的训练集语料和测试集语料输入现有的知识库进行分析处理,输出得到由元素(εk,xi,xj)组成的三元组集合triple,并结合概率图模型得到节点xi与xj之间的概率关系p(xj|xi),其中,xi与xj表示由一条有向边xi→xj连接的节点对,每个词表示为一个节点,p(xj|xi)表示节点xi到节点xj且xj发生的概率,该边逻辑规则记为εk;

例如,输入词为x1→x2→x3→x4→x5,则p(x1)=1,该边逻辑规则记为ε1,该边逻辑规则记为ε2,该边逻辑规则记为ε3;

s5)、在t时刻,将三元组集合triple元素(εk,xi,xj)向量化后得到将xt输入logic-lstm网络与logic-rnn网络构建得到嵌入一阶逻辑规则的循环神经网络中训练出情感分析模型,logic-lstm网络具体如下:

其中,δ为sigmoid激活函数,操作符⊙表示乘积操作,it、ict表示输入门,ft、fct表示忘记门,ot、oct表示输出门,表示更新门,

隐含层的输出向量ht∈rh,传递到下一个时刻的隐含层向量为hct∈rh,wi(wi′)、wf(wf′)、wo(wo′)、wc(wc′)∈rh×d,ui(ui′)、uf(u′f)、uo(uo′)、uc(uc′)∈rh×h为模型的训练参数,其中h、d分别表示隐含层的维度以及输入的维度;

logic-rnn网络具体如下:

其中,f为非线性激活函数,u(u′)、w(w′)∈rh×d为模型的训练参数,stst表示隐含层的输出,表示传递到下一个时刻的隐含层输出,mask为屏蔽矩阵,通过屏蔽矩阵防止冗余信息传递到下一个时刻,cem(xt,mask)表示两个相同维度矩阵xt,mask对应元素相乘;

s6)、将步骤s4)生成的训练集语料的逻辑规则结合步骤s3)训练好的词向量输入到步骤s5)构建的嵌入一阶逻辑规则的循环神经网络中,通过将logic-lstm网络和logic-rnn网络的输出连接到softmax函数,从而训练出情感分析模型,通过softmax函数输出概率值向量作为模型输出结果;

s7)、将步骤s4)生成的测试集语料的逻辑规则结合步骤s3)训练好的词向量输入到步骤s6)训练好的情感分析模型中,对测试集语料进行情感分类。

所述的知识库为知识图谱或者句法依存树,句法依存树可以采用stanfordparser或者ltp-cloud生成。

上述实施例和说明书中描述的只是说明本发明的原理和最佳实施例,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。

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