本发明涉及自然语言处理领域,尤其涉及一种情感分析方法、装置、电子设备及存储介质。
背景技术:
情感分析是自然语言处理领域的重要分支。近些年,由于互联网的普及与发展,情感分析被用到越来越多的领域之中。一般情况下,主观性文本中的情感词是表现该文本情感的核心,情感词典构建作为情感分析领域的一个重要的基础性任务,能够为情感分析任务提供巨大的帮助。构建特定领域的中文情感词典能够有效提升特定领域情感分析的效果。
情感分析通常利用词向量这一强而有效的特征表示方法来构建情感词典,利用现有的词向量学习方法往往可以获得一份通用性强的词向量,进而获得通用性的情感词典。但是现有方法往往忽略了词语所在上下文的语义情感信息以及词语本身的部首和音位等内在情感信息,并且对于不同领域的情感分类,通用性的情感词典并不能很好地反应所属领域词语的情感特征,可扩展性差,泛化能力不强。
技术实现要素:
为了克服现有技术的不足,本发明的目的之一在于提供一种泛化能力强的情感分析方法,其根据文本语料、分句情感极性、种子情感词典、部首集和音位集训练cbow扩展模型,获得包含上下文语义情感信息、词语部首和音位信息的向量矩阵,基于向量矩阵和种子情感词典训练得到情感分类器,进一步得到文本语料所属领域的情感词典,从而实现对特定领域文本的情感分析。
本发明的目的之一采用以下技术方案实现:
获取文本语料,基于所述文本语料得到分句情感极性和候选词典;
获取种子情感词典、部首集和音位集,基于所述文本语料、所述分句情感极性、所述种子情感词典、所述部首集和所述音位集训练cbow扩展模型,通过训练完成的cbow扩展模型得到向量矩阵,所述向量矩阵包括词向量矩阵、部首向量矩阵和音位向量矩阵;
基于所述向量矩阵和所述种子情感词典训练前馈神经网络,得到情感分类器,根据所述候选词典和所述情感分类器,得到所述文本语料所属领域的情感词典,基于所述情感词典对所属领域的文本进行情感分析。
进一步地,基于所述文本语料得到分句情感极性和候选词典,包括:
对所述文本语料进行清洗并分句,对每个分句标注分句情感极性;
对所述文本语料进行分词,得到有效分词,统计所述有效分词出现的词频,将词频大于预设的词频阈值的有效分词作为候选词,所述候选词构成候选词典。
进一步地,基于所述文本语料、所述分句情感极性、所述种子情感词典、所述部首集和所述音位集训练cbow扩展模型,通过训练完成的cbow扩展模型得到向量矩阵,包括:
将所述文本语料分词得到目标词,m是所述目标词的数量,目标词记为xi(i=1,...,m),目标词xi的向量wi由目标词xi的词向量
随机初始化向量矩阵w,基于cbow扩展模型,应用上下文目标函数,计算基于上下文得到目标词xi的向量wi的对数概率f1;
其中,d是目标词xi在所述文本语料中出现的次数,
应用分句极性目标函数,计算目标词xi所在分句sei的分句情感极性对数概率f2;
其中,sei是目标词xi所在的分句,si是分句sei中包含的词语对应的词向量平均值,s是分句sei在所述文本语料中出现的次数,spoli是分句sei对应的分句情感极性;
在所述种子情感词典中查找所述目标词xi进行标记,统计标记次数c,将标记对应的情感极性作为目标词xi的标记情感极性poli,应用词极性目标函数,计算目标词xi的词情感极性对数概率f3;
其中,
应用整体目标函数,计算所述目标词xi(i=1,...,m)语义和情感极性的整体概率f;
f(wi)=f1(wi)+f2(sei)+f3(wi);
其中,f1(wi)是基于上下文得到目标词xi的向量wi的对数概率,f2(sei)是目标词xi所在分句sei的分句情感极性对数概率,f3(wi)是目标词xi的词情感极性对数概率;
根据整体目标函数f(wi)和随机梯度上升法训练cbow扩展模型,基于训练完成的cbow扩展模型得到所有目标词xi(i=1,...,m)的向量wi,并构成向量矩阵w。
进一步地,基于所述向量矩阵和所述种子情感词典训练前馈神经网络,得到情感分类器,包括:
在所述向量矩阵中查找所述种子情感词典对应的种子向量矩阵;
根据所述种子向量矩阵和所述种子向量矩阵对应的情感极性训练前馈神经网络,将训练完成的前馈神经网络作为情感分类器。
进一步地,所述种子向量矩阵包括种子词向量矩阵、种子部首向量矩阵和种子音位向量矩阵。
进一步地,根据所述候选词典和所述情感分类器,得到所述文本语料所属领域的情感词典,包括:
在所述向量矩阵中查找所述候选词典对应的候选向量矩阵;
将所述候选向量矩阵输入所述情感分类器,生成所述候选词典对应的情感词典。
进一步地,基于所述情感词典对所属领域的文本进行情感分析,包括:
对所述文本进行分句和分词,得到情感词语和所述情感词语所在的分句;
在所述情感词典中查找所述情感词语的情感极性,根据所述情感极性和所述分句中的否定词和程度词,得到所述文本的情感分值;
根据所述情感分值和预设的情感阈值,得到所述文本的情感极性。
本发明的目的之二在于提供一种情感分析装置,其根据文本语料、分句情感极性、种子情感词典、部首集和音位集训练cbow扩展模型,获得包含上下文语义情感信息、词语部首和音位信息的向量矩阵,基于向量矩阵和种子情感词典训练得到情感分类器,进一步得到文本语料所属领域的情感词典,从而实现对特定领域文本的情感分析。
本发明的目的之二采用以下技术方案实现:
一种情感分析装置,其包括:
语料采集模块,用于获取文本语料,基于所述文本语料得到分句情感极性和候选词典;
向量训练模块,用于获取种子情感词典、部首集和音位集,基于所述文本语料、所述分句情感极性、所述种子情感词典、所述部首集和所述音位集训练cbow扩展模型,通过训练完成的cbow扩展模型得到向量矩阵,所述向量矩阵包括词向量矩阵、部首向量矩阵和音位向量矩阵;
情感分析模块,用于基于所述向量矩阵和所述种子情感词典训练前馈神经网络,得到情感分类器,根据所述候选词典和所述情感分类器,得到所述文本语料所属领域的情感词典,基于所述情感词典对所属领域的文本进行情感分析。
本发明的目的之三在于提供执行发明目的之一的电子设备,其包括处理器、存储介质以及计算机程序,所述计算机程序存储于存储介质中,所述计算机程序被处理器执行时本发明目的之一的情感分析方法。
本发明的目的之四在于提供存储发明目的之一的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明目的之一的情感分析方法。
相比现有技术,本发明的有益效果在于:
本发明根据某领域文本语料及其分句情感极性、通用领域的种子情感词典、部首集和音位集训练cbow扩展模型,获得包括词向量矩阵、部首向量矩阵和音位向量矩阵的向量矩阵,该向量矩阵同时包含了词语在特定领域的语义情感信息和词语本身的部首音位等内在情感信息;根据该向量矩阵和种子情感词典训练得到的情感分类器,能够有效映射词语与情感极性的关系;根据该情感分类器和文本语料的候选词典,获得语料所属领域的中文情感词典,能够有效提升特定领域情感分析的效果。这种方法在情感分析时能够有效地识别情感词语,同时适用任意领域的情感分析,可扩展性好,泛化能力强。
附图说明
图1为本发明实施例一的情感分析方法流程图;
图2为本发明实施例二的文本语料处理流程图;
图3为本发明实施例三的cbow扩展模型的结构示意图;
图4为本发明实施例三的cbow扩展模型训练的流程图;
图5为本发明实施例五的情感分析装置的结构框图;
图6为本发明实施例六的电子设备的结构框图。
具体实施方式
以下将结合附图,对本发明进行更为详细的描述,需要说明的是,以下参照附图对本发明进行的描述仅是示意性的,而非限制性的。各个不同实施例之间可以进行相互组合,以构成未在以下描述中示出的其他实施例。
实施例一
实施例一提供了一种情感分析方法,旨在通过基于特定领域的对话文本语料获得候选词典和分句情感极性,根据文本语料上下文语义和分句情感极性结合通用性的种子情感词典、部首集和音位集,训练cbow扩展模型得到包括词向量矩阵、部首向量矩阵和音位向量矩阵的向量矩阵,根据该向量矩阵和种子情感词典训练得到的情感分类器,进而获得文本语料所属领域的情感词典,实现对特定领域文本的情感分析。这种情感分析方法获得的情感词典具有通用情感词典的情感信息、词语本身部首和音位等内在情感信息,同时包含了特定领域的语义情感信息,可以有效识别特定领域的情感词语,提升特定领域情感分析的效果,并且适用任意领域的情感分析,泛化能力强。
请参照图1所示,一种情感分析方法,包括以下步骤:
s110、获取文本语料,基于所述文本语料得到分句情感极性和候选词典。
获取包括但不限于手机、保险、电力服务、航空、汽车等领域的客服对话文本语料,该文本语料包括该领域相关的社交网络平台和电商平台上,用户与人工客服或智能客服机器人对话获得的文本信息,还包括该领域场景的合法授权音频中,用户与客服语音对话转换的文本信息。
实时对文本语料进行情感标注,从而准确获取该领域用户对话语料所对应的情感信息。对文本语料进行处理,获得分句情感极性和候选词典,候选词典中包括该领域中符合预设要求的候选词,候选词包括该领域的特有词语。
s120、获取种子情感词典、部首集和音位集,基于所述文本语料、所述分句情感极性、所述种子情感词典、所述部首集和所述音位集训练cbow扩展模型,通过训练完成的cbow扩展模型得到向量矩阵,所述向量矩阵包括词向量矩阵、部首向量矩阵和音位向量矩阵。
种子情感词典包括知网情感词典、台湾大学情感词典、清华大学情感词典、大连理工情感词典等通用情感词典中的一种或几种,并且可以通过同义词关系、反义词关系对种子情感词典进行扩展。部首集包括汉字的部首信息以及部首本身固有的褒义或义情感信息,比如部首“心”构成的汉字代表一定的心理活动,包含部首“心”的“悲伤”“惭愧”“愉快”“恬静”等词语具有相应的情感色彩,部首集可以是统计部首在褒贬词中出现的词频自行创建的,也可以是调用已有的部首集,这里不做限定。音位集包括拼音的音位信息以及音位本身固有的情感信息,同样地,音位集可以是自行创建的,也可以是调用已有的音位集。
cbow模型用于基于词语的上下文预测词语,能有效提取词语在文本中的上下文语义。cbow扩展模型是对cbow模型的扩展,cbow扩展模型训练的对象是文本中所有词语的向量,cbow扩展模型的输入包括文本中单个词语的上下文及字符构成、词语所在的分句情感极性信息、词语在种子情感词典中对应的标记情感极性以及词语本身的部首和音位情感信息。
文本语料中包括m个词语,通过对cbow扩展模型的训练,获得文本语料中每个词语xi(i=1,...,m)的向量
s130、基于所述向量矩阵和所述种子情感词典训练前馈神经网络,得到情感分类器,根据所述候选词典和所述情感分类器,得到所述文本语料所属领域的情感词典,基于所述情感词典对所属领域的文本进行情感分析。
在向量矩阵中查找种子情感词典中的所有词语对应的向量,并构成种子向量矩阵,该种子向量矩阵包括种子词向量矩阵、种子部首向量矩阵和种子音位向量矩阵,该种子向量矩阵包含了语义情感信息和部首音位等内在情感信息。
根据种子向量矩阵作为神经网络的输入,种子向量矩阵对应的情感极性作为神经网络的输出,训练前馈神经网络。将种子向量矩阵经过神经网络输出的预测值与种子向量矩阵对应的情感极性相减,得到的差值通过反向传播更新神经网络参数,当差值达到预设阈值,完成神经网络模型的迭代训练。将训练完成的前馈神经网络作为情感分类器。
在向量矩阵中查找候选词典中的所有词语对应的向量,并构成候选向量矩阵,将候选向量矩阵输入情感分类器生成所属领域的情感词典,该情感词典不仅具有通用情感词典的情感特性,同时还有该领域特有的语义情感特性、词语部首和音位情感信息。
对文本所属领域的待分析文本进行分句和分词,查找文本词语在情感词典中对应的情感极性,并结合上下文中的否定词、程度词等对句子的情感打分。比如,情感词典中的情感极性分为积极、消极或中性,对应的情感分值分别为1、-1、0,出现否定词情感分值乘以-1,程度词按照程度分别将情感分值乘以不同的程度分值,得到文本的情感分值。
比较所属领域文本的情感分值和预设的情感阈值,得到文本的情感极性。比如情感阈值分为积极阈值和消极阈值,当情感分值大于积极阈值时,文本的情感极性为积极;当情感分值小于消极阈值时,文本的情感极性为消极;否则,文本的情感极性为中性。并且情感分值越高越积极,越低越消极,从而实现对文本情感的量化分析,有效提升对特定领域文本的情感分析效果。
实施例二
实施例二是在实施例一基础上进行的改进,请参照图2,对文本语料处理,得到分句情感极性和候选词典,可以有效识别该领域的特有词语和常用新词。
s1101、对所述文本语料进行清洗并分句,对每个分句标注分句情感极性。
对获取的特定领域的文本语料进行清洗,对清洗后的文本语料进行裁剪,获得文本语料的分句,根据在获取文本语料的同时进行的实时情感标注,对分句情感极性进行标注。
s1102、对所述文本语料进行分词,得到有效分词。
利用分词工具对文本语料进行中文分词,比如结巴分词工具;也可以通过一定的技术手段对构词进行统计或概率计算对文本语料进行分词,例如,申请号为200710076147.9的中国发明专利公开了一种中文分词方法及系统;申请号为201010293427.7的中国发明专利公开了中文分词方法及系统等。
进一步地,对获得的分词进行停用词过滤,得到有效分词。可以采用哈工大停用词表、百度停用词表等常用停用词表对分词进行过滤,也可以通过一定的技术手段计算概率识别停用词过滤分词,例如,申请号为201010607997.9的中国发明专利公开了自动过滤停用词的方法。
s1103、统计所述有效分词出现的词频,将词频大于预设的词频阈值的有效分词作为候选词,由候选词构成候选词典。
词频阈值根据文本语料所属领域的语言规律设置的。候选词包括该领域的特有词语和常用的新词,便于定位文本的情感词汇,进而实现对文本的有效分析,由所有候选词构成候选词典。
实施例三
实施例三是在实施例一或/和实施例二的基础上进行的改进,基于文本语料的语义和情感极性、种子情感词典的通用情感极性、词语部首和音位情感信息训练cbow扩展模型,获得包括词向量矩阵、部首向量矩阵和音位向量矩阵的向量矩阵,该向量矩阵同时包含了词语在特定领域的语义情感信息和词语本身的部首音位等内在情感信息,进而获得特定领域的情感词典,有效提升文本情感分析的效果。
采用分词工具或通过一定的技术手段对文本语料分词得到目标词,m是目标词的数量,目标词记为xi(i=1,...,m),目标词xi的向量wi由目标词xi的词向量
随机初始化向量矩阵w,预设窗口大小为2n,请参照图3,基于cbow扩展模型学习目标词xi(i=1,...,m),应用上下文目标函数,计算基于上下文得到目标词xi的向量wi的对数概率f1。
其中,d是目标词xi在所述文本语料中出现的次数,
应用上下文词函数l1计算基于上下文词语
其中,
其中,
其中,
其中,
应用分句极性目标函数,计算目标词xi所在分句sei的分句情感极性对数概率f2。
其中,sei是目标词xi所在的分句,si是分句sei中包含的词语对应的词向量平均值,s是分句sei在所述文本语料中出现的次数,spoli是分句sei对应的分句情感极性。
在所述种子情感词典中查找所述目标词xi进行标记,统计标记次数c,将标记对应的情感极性作为目标词xi的标记情感极性poli。因为种子情感词典中的词语是唯一不重复的,在种子情感词典中包含目标词xi,则标记次数c为1,在种子情感词典中标记对应的情感极性作为该目标词的标记情感极性poli;在种子情感词典中不包含目标词xi,则标记次数c为0,该词在种子情感词典中没有对应的情感极性,标记情感极性为中性。
应用词极性目标函数,计算目标词xi的词情感极性对数概率f3。
其中,
应用整体目标函数,计算所述目标词xi(i=1,...,m)语义和情感极性的整体概率f。
f(wi)=f1(wi)+f2(sei)+f3(wi);
其中,f1(wi)是基于上下文得到目标词xi的向量wi的对数概率,f2(sei)是目标词xi所在分句sei的分句情感极性对数概率,f3(wi)是目标词xi的词情感极性对数概率。
请参照图4,根据整体目标函数f(wi)和随机梯度上升法训练cbow扩展模型,对模型参数和向量矩阵w进行更新,通过训练完成的cbow扩展模型得到所有目标词xi(i=1,...,m)的向量wi,由所有目标词xi(i=1,...,m)的向量wi构成所述向量矩阵。该向量矩阵包含了特定领域的语义特性和情感特性、通用情感词典的情感信息、词语部首和音位内在情感信息,进而有效构造特定领域的情感词典。
实施例四
实施例四是在实施例一至三任意一个或多个的基础上进行的改进,将种子向量矩阵分为训练矩阵和测试矩阵,对前馈神经网络进行训练和检验,以获得高质量的神经网络模型作为情感分类器,向量输入该情感分类器可以准确获得对应的情感极性。
在向量矩阵中查找种子情感词典中的所有词语对应的向量,并构成种子向量矩阵,该种子向量矩阵包括种子词向量矩阵、种子部首向量矩阵和种子音位向量矩阵。将种子向量矩阵随机分为训练矩阵和测试矩阵,对前馈神经网络进行训练和检验,以获得高质量的神经网络模型作为情感分类器。
将训练矩阵作为神经网络的输入,训练矩阵对应的词语情感极性作为神经网络的输出,训练前馈神经网络。将训练矩阵经过神经网络输出的预测值与训练矩阵在种子词典中对应的情感极性相减,得到的差值通过反向传播更新神经网络参数,当差值达到预设阈值,完成神经网络模型的迭代训练。
将测试矩阵输入训练好的神经网络模型得到预测值,将该预测值与测试矩阵在种子词典中对应词语的情感极性相减,得到测试差值。当测试差值大于预设测试阈值,对前馈神经网络的模型参数重新初始化并进行模型训练;当测试差值小于预设测试阈值,则该模型质量好,则将训练完成的神经网络作为情感分类器。
该情感分类器通过种子情感词语的训练和检验,能够有效映射向量与情感极性的关系,特定领域的词向量输入该情感分类器可以准确获得对应的情感极性。
实施例五
实施例五公开了一种对应上述实施例的一种情感分析装置,为上述实施例的虚拟装置结构,请参照图5所示,包括:
语料采集模块210,用于获取文本语料,基于所述文本语料得到分句情感极性和候选词典;
向量训练模块220,用于获取种子情感词典、部首集和音位集,基于所述文本语料、所述分句情感极性、所述种子情感词典、所述部首集和所述音位集训练cbow扩展模型,通过训练完成的cbow扩展模型得到向量矩阵,所述向量矩阵包括词向量矩阵、部首向量矩阵和音位向量矩阵;
情感分析模块230,用于基于所述向量矩阵和所述种子情感词典训练前馈神经网络,得到情感分类器,根据所述候选词典和所述情感分类器,得到所述文本语料所属领域的情感词典,基于所述情感词典对所属领域的文本进行情感分析。
实施例六
图6为本发明实施例六提供的一种电子设备的结构示意图,如图6所示,该电子设备包括处理器310、存储器320、输入装置330和输出装置340;计算机设备中处理器310的数量可以是一个或多个,图6中以一个处理器310为例;电子设备中的处理器310、存储器320、输入装置330和输出装置340可以通过总线或其他方式连接,图6中以通过总线连接为例。
存储器320作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的情感分析方法对应的程序指令/模块(例如,情感分析方法装置中的语料采集模块210、向量训练模块220和情感分析模块230)。处理器310通过运行存储在存储器320中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述实施例一至实施例四的情感分析方法。
存储器320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器320可进一步包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置330可用于接收文本语料、种子情感词典等。输出装置340可包括显示屏等显示设备。
实施例七
本发明实施例七还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行情感分析方法,该方法包括:
获取文本语料,基于所述文本语料得到分句情感极性和候选词典;
获取种子情感词典、部首集和音位集,基于所述文本语料、所述分句情感极性、所述种子情感词典、所述部首集和所述音位集训练cbow扩展模型,通过训练完成的cbow扩展模型得到向量矩阵,所述向量矩阵包括词向量矩阵、部首向量矩阵和音位向量矩阵;
基于所述向量矩阵和所述种子情感词典训练前馈神经网络,得到情感分类器,根据所述候选词典和所述情感分类器,得到所述文本语料所属领域的情感词典,基于所述情感词典对所属领域的文本进行情感分析。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的基于情感分析方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台电子设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述基于情感分析方法装置实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。