一种基于强化学习的文本情感分析方法及系统与流程

文档序号:22916194发布日期:2020-11-13 15:57阅读:343来源:国知局
一种基于强化学习的文本情感分析方法及系统与流程

本发明涉及文本情感分析的技术领域,尤其涉及一种基于强化学习的文本情感分析方法及系统。



背景技术:

互联网技术的发展和人们生活水平的提高,网络进入到千家万户,越来越多的用户喜欢在网上表达自己的观点和看法。如今,电商平台、社交网站、微博、推特等各种互联网平台上存在大量由用户发表的主观性较强、词语精炼的短文本,这些观点和态度在帮助商家掌握市场情况、辅助消费者进行消费决策以及进行企业危机公关,如何完成短文本的情感分析成为当前研究的热门话题。

在现有文本情感分析技术中,主要由基于情感词典的方法和基于机器学习的情感分析方法,其中基于情感词典的方法首先要创建情感词典,然后根据情感词典中的词语或短语的情感倾向和强度信息,实现对文本的情感分类,这种方法的优点在于不需要标注数据集,然而它也存在一些不足之处,比如可扩展性差,不仅依赖于词典的模型和质量,还依赖于规则的优劣,而且情感词典的构建十分复杂,费时费力,匹配过程需要完全精确匹配;而基于机器学习的情感分析方法则存在有效特征选择的困难和有标注训练语料的不足等问题。

鉴于此,如何有效提取文本情感特征,并基于文本情感特征,实现对文本的情感分析,提高文本情感分析的准确率,成为本领域技术人员亟待解决的问题。



技术实现要素:

本发明提供一种基于强化学习的文本情感分析方法,通过提出一种基于强化学习和优化算法的文本情感分析模型,利用情感分析结果作为回报,实现模型参数的训练,并加入情感因子,有效帮助模型选择符合先验知识的词语情感,最终实现对文本的情感分析。

为实现上述目的,本发明提供的一种基于强化学习的文本情感分析方法,包括:

获取待情感分析文本,利用双向最大匹配法对待情感分析文本进行分词处理,得到待情感分析文本的分词文本;

利用依存关系图来计算分词文本中词语之间的关联强度;

根据词语之间的关联强度,利用textrank算法迭代算出词语的重要度得分,从而得到分词文本中的关键词;

利用哈夫曼树将分词文本关键词转化为词向量;

利用基于强化学习的情感分类模型对词向量进行情感分类,并在情感分类模型中加入情感因子,以进行模型的优化。

可选地,所述利用双向最大匹配法对待情感分析文本进行分词处理,包括:

1)将待情感分析文本句子反转生成逆序句;

2)构建逆序词典,词典中包含了所有可能出现的词,并均以反向顺序进行存储;

3)从逆序句的左侧到右侧进行扫描,以贪心的方式进行词语匹配,若逆序句中的某个字串与逆序词典中的某个词匹配,则在当前位置切分出长度最大的词,并将无法匹配的词单独分开,得到待情感分析文本的分词文本。

可选地,所述利用依存关系图来计算分词文本中词语之间的关联强度,包括:

根据句子的依存句法分析结果对分词文本中的词语构造无向图;

利用词语之间的引力值以及依存关联度计算求得边的权重,所述任意两词wi和wj的依存关联度为:

其中:

len(wi,wj)表示词语wi和wj之间的依存路径长度;

b为超参数;

所述分词文本中词语wi和wj的引力计算公式:

其中:

tfidf(w)是词w的tf-idf值;

d是词wi和wj的词向量之间的欧式距离;

分词文本中两个词语wi和wj之间的关联度为:

weight(wi,wj)=dep(wi,wj)*fgrav(wi,wj)

其中:

dep(wi,wj)为词语wi和wj之间的依存关联度;

fgrav(wi,wj)为词语wi和wj之间的引力值。

可选地,所述利用textrank算法迭代算出词语的重要度得分,包括:

利用textrank算法建立一个无向图g=(v,e),其中v是顶点的集合,e是边的集合,根据下列式子算出顶点wi的得分,并选取得分最高的t个词语作为关键词:

其中:

是与顶点wi有关的集合;

η为阻尼系数;

weight(wi,wj)为词语wi和wj之间的关联度。

可选地,所述利用哈夫曼树将关键词转化为词向量,包括:

取一个5个词大小的窗口当做语境,将所述分词输入到窗口中,并将它们的k维向量加和在一起,形成隐藏层k个节点;

输出层是一个巨大的二叉树,叶节点代表文本关键词中所有的词,语料含有v个独立的词,则二叉树有|v|个叶节点,而这整颗二叉树构建的算法就是哈夫曼树,进一步地,隐层的每一个节点都会跟二叉树的内节点有连边,于是对于二叉树的每一个内节点都会有k条连边,每条边上也会有权值;

因此对于叶节点的每一个字,就会有一个全局唯一的编码,形如“010011”,本发明记左子树为1,右子树为0,从而利用哈夫曼树将分词文本关键词中的所有字利用二进制编码的形式进行表征,得到词向量。

可选地,所述利用基于强化学习的情感分类模型为:

所述基于强化学习的情感分类模型分为强化学习网络部分和情感分类网络部分,其中强化学习网络部分以词序列为输入,并且为每个词语选择一个情感,基于情感的选择,使用相应的通道处理对应的情感,模型使用动作选择和回报的方式进行训练。

可选地,所述利用基于强化学习的情感分类模型对词向量进行情感分类,包括:

1)对于所述词向量,使用状态函数模拟强化学习中智能体的状态变化,上一层的状态会作为一组数据,输入到下一时刻的动作选择和动作评价过程,所述状态函数为:

st=ht

其中:

ct-1为t-1时刻动作评价层细胞单元的参数,该参数在训练阶段进行训练;

ht为t时刻动作评价层细胞隐藏状态,并由智能体状态st进行保存;

xt为t时刻的输入词向量;

为t时刻的lstm模型结构;

2)使用情感动作选择器,以当前词语的词向量作为输入,执行情感动作选择策略:

h′t-1=st-1

outt=f(w′,h′t-1,xt)

其中:

h′t-1为当前动作选择器的状态;

outt为t时刻所输出的动作;

w′为情感动作选择器的参数;

xt为t时刻的输入词向量;

所述情感动作选择器的输出值为一个三维向量,分别代表消极、中性以及积极的情感,本发明选择评分最大的情感作为词向量的情感动作;

通过建立了一个积极词典和一个消极词典,未命中词典的词则默认为中性情感,针对每一个词语,模型以1-ε的概率从己知词典中查找词语并选择对应情感极性,以ε的概率随机选择一个情感:

at=dict[t],p=1-ε

at=random(neg,neu,pos)

其中:

at代表t时刻的情感动作;

neg,neu,pos分别表示消极、中性以及积极的情感动作;

p表示概率;

dict[t]表示第t个词语在情感因子中的极性;

且ε的值会随着迭代次数的增加进行逐步下降;

3)利用评价层对所选择的情感动作进行评价,针对三种不同的情感动作,本发明设计了三个不同的通道:{cneg,cneu,cpos},根据情感动作的倾向性,选择相应的通道进行情感动作的评价,选取其中评分最高的情感动作作为文本情感分析结果,所述评分函数为:

其中:

v表示neg,neu,pos三种情感动作;

表示lstm结构;

表示t-1时刻,v情感动作通道的细胞状态;

ht-1为t-1时刻智能体状态;

4)基于强化学习建立学习策略损失函数,并使用反向传播的方法优化模型中的参数,所述学习策略损失函数为:

l=π(a|st,xt;θ)

其中:

θ为模型的参数;

st表示t时刻模型的状态;

xt为t时刻模型的输入;

a为基于当前状态的情感动作。

此外,为实现上述目的,本发明还提供一种基于强化学习的文本情感分析系统,所述系统包括:

文本获取装置,用于获取待情感分析的文本;

文本处理器,用于利用双向最大匹配法对待情感分析文本进行分词处理,并利用依存关系图来计算分词文本中词语之间的关联强度,同时利用textrank算法迭代算出词语的重要度得分,从而得到分词文本中的关键词;

文本情感分析装置,用于利用哈夫曼树将分词文本关键词转化为词向量,并利用基于强化学习的情感分类模型对词向量进行情感分类。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有文本情感分析程序指令,所述文本情感分析程序指令可被一个或者多个处理器执行,以实现如上所述的基于强化学习的文本情感分析的实现方法的步骤。

相对于现有技术,本发明提出一种基于强化学习的文本情感分析方法,该技术具有以下优势:

首先,本发明基于强化学习构建了一个情感分类模型,从而利用该模型进行情感分类,所述基于强化学习的情感分类模型分为强化学习网络部分和情感分类网络部分,其中强化学习网络部分以词序列为输入,并且为每个词语选择一个情感,基于情感的选择,使用相应的通道处理对应的情感,模型使用动作选择和回报的方式进行训练,相比于现有监督学习算法中有监督学习的训练方式,这种方式可以产生更多的不确定性,更好符合人类的认知过程,本发明所述模型的多通道处理方式,能够更好的利用上下文词语的情感信息,解决了现有机器学习模型下词语情感之间互相独立的缺点,且多个通道拥有相同的细胞结构,并且使得智能体状态随着时刻进行更新,且智能体状态在状态层中单独保存,这种方式使得多个通道共享隐藏状态,但是不共享参数;同时本发明所述模型使用三个不同的通道分别评价三种情感动作选择,目的在于加强不同情感选择之间的差异性,有利于模型学会选择不同的情感。

由于强化学习不存在不变的特定目标,而是以最大化目标奖励为目标。因此在选择动作时,选择当前条件下能带来最优回报的动作往往能得到较优的结果,但这会导致非最优动作无法被探索;相反的,如果每次都随机选择动作,部分潜在最优动作会获得较少的选择,不利于获得最优解。为解决强化学习存在的问题,本发明通过引入情感因子ε进行模型的优化,即通过建立了一个积极词典和一个消极词典,未命中词典的词则默认为中性情感,针对每一个词语,模型以1-ε的概率从己知词典中查找词语并选择对应情感极性,以ε的概率随机选择一个情感,使得模型训练阶段可以探索更多的情感动作选择,同时在模型训练过程中,ε的值会随着迭代次数的增加进行逐步下降,使得模型会更加倾向于利用已知信息。

附图说明

图1为本发明一实施例提供的一种基于强化学习的文本情感分析方法的流程示意图;

图2为本发明一实施例提供的一种基于强化学习的文本情感分析系统的结构示意图;

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

通过提出一种基于强化学习和优化算法的文本情感分析模型,利用情感分析结果作为回报,实现模型参数的训练,并加入情感因子,有效帮助模型选择符合先验知识的词语情感,最终实现对文本的情感分析。参照图1所示,为本发明一实施例提供的基于强化学习的文本情感分析方法示意图。

在本实施例中,基于强化学习的文本情感分析方法包括:

s1、获取待情感分析文本,利用双向最大匹配法对待情感分析文本进行分词处理,得到待情感分析文本的分词文本。

首先,本发明获取待情感分析文本,并利用双向最大匹配法对待情感分析文本进行分词处理,所述双向最大匹配法的算法流程为:

1)将待情感分析文本句子反转生成逆序句;

2)构建逆序词典,词典中包含了所有可能出现的词,并均以反向顺序进行存储;

3)从逆序句的左侧到右侧进行扫描,以贪心的方式进行词语匹配,若逆序句中的某个字串与逆序词典中的某个词匹配,则在当前位置切分出长度最大的词,并将无法匹配的词单独分开,得到待情感分析文本的分词文本。

s2、利用依存关系图来计算分词文本中词语之间的关联强度,并利用textrank算法迭代算出词语的重要度得分,从而得到分词文本中的关键词。

进一步地,本发明根据句子的依存句法分析结果对分词文本中的词语构造无向图,并利用词语之间的引力值以及依存关联度计算求得边的权重,所述任意两词wi和wj的依存关联度为:

其中:

len(wi,wj)表示词语wi和wj之间的依存路径长度;

b是超参数。

进一步地,由于本发明认为2个词之间的语义相似度无法准确衡量词语的重要程度,只有当2个词中至少有一个在文本中出现的频率很高,才能证明2个词很重要。根据万有引力的概念,本发明将词频看作质量,将2个词的词向量间的欧氏距离视为距离,根据万有引力公式来计算2个词之间的引力;由于仅利用词频来衡量文本中某个词的重要程度太过片面,因此本发明引入了idf值,将词频替换为tf-idf值,提出了一种新的词语引力值计算方法,考虑到了更全局性的信息,因此分词文本中词语wi和wj的引力:

其中:

tfidf(w)是词w的tf-idf值;

d是词wi和wj的词向量之间的欧式距离。

因此,分词文本中两个词语wi和wj之间的关联度为:

weight(wi,wj)=dep(wi,wj)*fgrav(wi,wj)

其中:

dep(wi,wj)为词语wi和wj之间的依存关联度;

fgrav(wi,wj)为词语wi和wj之间的引力值。

进一步地,本发明利用textrank算法建立一个无向图g=(v,e),其中v是顶点的集合,e是边的集合,根据下列式子算出顶点wi的得分,并选取得分最高的t个词语作为关键词:

其中:

是与顶点wi有关的集合;

η为阻尼系数;

weight(wi,wj)为词语wi和wj之间的关联度。

s3、利用哈夫曼树将分词文本关键词转化为词向量。

进一步地,本发明取一个5个词大小的窗口当做语境,将所述分词输入到窗口中,并将它们的k维向量加和在一起,形成隐藏层k个节点;

输出层是一个巨大的二叉树,叶节点代表文本关键词中所有的词,语料含有v个独立的词,则二叉树有|v|个叶节点,而这整颗二叉树构建的算法就是哈夫曼树,进一步地,隐层的每一个节点都会跟二叉树的内节点有连边,于是对于二叉树的每一个内节点都会有k条连边,每条边上也会有权值;

因此对于叶节点的每一个字,就会有一个全局唯一的编码,形如“010011”,本发明记左子树为1,右子树为0,从而利用哈夫曼树将分词文本关键词中的所有字利用二进制编码的形式进行表征,得到词向量。

s4、利用基于强化学习的情感分类模型对词向量进行情感分类,并在情感分类模型中加入情感因子,以进行模型的优化。

进一步地,本发明利用基于强化学习的情感分类模型对词向量进行情感分类,所述基于强化学习的情感分类模型分为强化学习网络部分和情感分类网络部分,其中强化学习网络部分以词序列为输入,并且为每个词语选择一个情感,基于情感的选择,使用相应的通道处理对应的情感,模型使用动作选择和回报的方式进行训练,相比于现有监督学习算法中有监督学习的训练方式,这种方式可以产生更多的不确定性,更好符合人类的认知过程,本发明所述模型的多通道处理方式,能够更好的利用上下文词语的情感信息,解决了现有机器学习模型下词语情感之间互相独立的缺点;

详细地,本发明所述基于强化学习的情感分类模型的情感分类步骤为:

1)对于所述词向量,使用状态函数模拟强化学习中智能体的状态变化,上一层的状态会作为一组数据,输入到下一时刻的动作选择和动作评价过程,所述状态函数为:

st=ht

其中:

ct-1为t-1时刻动作评价层细胞单元的参数,该参数在训练阶段进行训练;

ht为t时刻动作评价层细胞隐藏状态,并由智能体状态st进行保存;

xt为t时刻的输入词向量;

为t时刻的lstm模型结构;

2)使用情感动作选择器,以当前词语的词向量作为输入,执行情感动作选择策略:

h′t-1=st-1

outt=f(w′,h′t-1,xt)

其中:

h′t-1为当前动作选择器的状态;

outt为t时刻所输出的动作;

w′为情感动作选择器的参数;

xt为t时刻的输入词向量;

所述情感动作选择器的输出值为一个三维向量,分别代表消极、中性以及积极的情感,本发明选择评分最大的情感作为词向量的情感动作;

进一步地,本发明通过引入情感因子ε进行模型的优化,详细地,本发明通过建立了一个积极词典和一个消极词典,未命中词典的词则默认为中性情感,针对每一个词语,模型以1-ε的概率从己知词典中查找词语并选择对应情感极性,以ε的概率随机选择一个情感:

at=dict[t],p=1-ε

at=random(neg,neu,pos)

其中:

at代表t时刻的情感动作;

neg,neu,pos分别表示消极、中性以及积极的情感动作;

p表示概率;

dict[t]表示第t个词语在情感因子中的极性;

且ε的值会随着迭代次数的增加进行逐步下降;

3)利用评价层对所选择的情感动作进行评价,针对三种不同的情感动作,本发明设计了三个不同的通道:{cneg,cneu,cpos},根据情感动作的倾向性,选择相应的通道进行情感动作的评价,选取其中评分最高的情感动作作为文本情感分析结果,所述评分函数为:

其中:

v表示neg,neu,pos三种情感动作;

表示lstm结构;

表示t-1时刻,v情感动作通道的细胞状态;

ht-1为t-1时刻智能体状态;

三个通道拥有相同的细胞结构,并且使得智能体状态随着时刻进行更新,且智能体状态在状态层中单独保存,这种方式使得三个通道共享隐藏状态,但是不共享参数;同时使用三个不同的通道分别评价三种情感动作选择,目的在于加强不同情感选择之间的差异性,有利于模型学会选择不同的情感;

4)基于强化学习建立学习策略损失函数,并使用反向传播的方法优化模型中的参数,所述学习策略损失函数为:

l=π(a|st,xt;θ)

其中:

θ为模型的参数;

st表示t时刻模型的状态;

xt为t时刻模型的输入;

a为基于当前状态的情感动作。

下面通过一个算法实验来说明本发明的具体实施方式,并对发明的处理方法进行测试。本发明算法的硬件测试环境部署在tensorflow深度学习框架中,处理器为intel(r)core(tm)i5-8700cpu8核,显卡为geforcegtx1060,显存8g,开发环境为python3.7,开发工具为anaconda科学计算库;对比算法模型为bigru、bilstm、sac和dca模型。

在本发明所述算法实验中,数据集为采用流行的中文情感挖掘酒店评论语料chnsenticorp,该语料规模为10000篇。为了方便起见,本实验将语料整理为4个子集。选择chnsenticorp-htl-ba-6000的数据进行实验,该语料为平衡语料,包含正负类各3000篇,并利用对比算法和本发明所提出算法对数据集进行测试,将文本情感情感分析的准确率作为算法的评价指标。

根据实验结果,bigru模型的文本情感情感分析准确率为78.99%,bilstm模型的文本情感情感分析准确率为85.42%,sac模型的文本情感情感分析准确率为83.58%,dca模型的文本情感情感分析准确率为86.42%,本发明所述算法的文本情感情感分析准确率为89.21%,相较于对比算法,本发明所提出的基于强化学习的文本情感分析方法具有更高的情感情感分析准确率。

发明还提供一种基于强化学习的文本情感分析系统。参照图2所示,为本发明一实施例提供的基于强化学习的文本情感分析系统的内部结构示意图。

在本实施例中,所述基于强化学习的文本情感分析系统1至少包括文本获取装置11、文本处理器12、文本情感分析装置13,通信总线14,以及网络接口15。

其中,文本获取装置11可以是pc(personalcomputer,个人电脑),或者是智能手机、平板电脑、便携计算机等终端设备,也可以是一种服务器等。

文本处理器12至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。文本处理器12在一些实施例中可以是基于强化学习的文本情感分析系统1的内部存储单元,例如该基于强化学习的文本情感分析系统1的硬盘。文本处理器12在另一些实施例中也可以是基于强化学习的文本情感分析系统1的外部存储设备,例如基于强化学习的文本情感分析系统1上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,文本处理器12还可以既包括基于强化学习的文本情感分析系统1的内部存储单元也包括外部存储设备。文本处理器12不仅可以用于存储安装于基于强化学习的文本情感分析系统1的应用软件及各类数据,还可以用于暂时地存储已经输出或者将要输出的数据。

文本情感分析装置13在一些实施例中可以是一中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行文本处理器12中存储的程序代码或处理数据,例如文本情感分析程序指令等。

通信总线14用于实现这些组件之间的连接通信。

网络接口15可选的可以包括标准的有线接口、无线接口(如wi-fi接口),通常用于在该系统1与其他电子设备之间建立通信连接。

可选地,该系统1还可以包括用户接口,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在基于强化学习的文本情感分析系统1中处理的信息以及用于显示可视化的用户界面。

图2仅示出了具有组件11-15以及基于强化学习的文本情感分析系统1,本领域技术人员可以理解的是,图1示出的结构并不构成对基于强化学习的文本情感分析系统1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。

在图2所示的装置1实施例中,文本处理器12中存储有基于强化学习的文本情感分析程序指令;文本情感分析装置13执行文本处理器12中存储的文本情感分析程序指令的步骤,与基于强化学习的文本情感分析方法的实现方法相同,在此不作类述。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有文本情感分析程序指令,所述文本情感分析程序指令可被一个或多个处理器执行,以实现如下操作:

获取待情感分析文本,利用双向最大匹配法对待情感分析文本进行分词处理,得到待情感分析文本的分词文本;

利用依存关系图来计算分词文本中词语之间的关联强度;

根据词语之间的关联强度,利用textrank算法迭代算出词语的重要度得分,从而得到分词文本中的关键词;

利用哈夫曼树将分词文本关键词转化为词向量;

利用基于强化学习的情感分类模型对词向量进行情感分类,并在情感分类模型中加入情感因子,以进行模型的优化。

需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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