文本情感分析方法和装置与流程

文档序号:18465601发布日期:2019-08-17 02:25阅读:218来源:国知局
文本情感分析方法和装置与流程

本发明涉及计算机应用技术,特别是涉及一种文本情感分析方法和装置。



背景技术:

文本情感分析是指对具有人为主观情感色彩文本材料进行处理、分析和推理的过程。文本情感分析主要的应用场景是对用户关于某个主题的评论文本进行处理和分析。比如,人们在打算去一个餐馆吃饭之间之前,通常会去看网上关于餐馆的评论,再决定是否去这个餐馆吃饭。文本情感分析也是当前网络舆情分析(例如′产品评价′数据挖掘)等领域的重要任务,需要对文本中用户表达的观点、喜好等情感极性进行判断。这些带有情感极性的主观性文本主要是指用户对产品、餐馆或者服务的评论,这些评论可以对潜在的消费者在购买产品、进行消费和服务时提供决策依据。

目前,针对情感信息文本有多个层面的解析如篇章级、段落级、句子级、词语级。文本情感倾向分析主要有两大类方法:第一种是基于情感词典的方法;第二种是基于机器学习的方法。前者需要用到情感词典(中文的情感词典主要有中国知网发布的hownet和台湾大学ntusd两个情感词典),计算的方法计算普通词语与种子词语的相似度,然后判断句子的情感倾向。第二种是基于机器学习的方法,利用机器学习算法进行文本情感信息分类、文本情感信息抽取、文本情感信息分析等。鉴于互联网发展的日趋成熟,大数据时代要求更加细致而精准地对网络文本进行多方面的情感分析,做到对情感词语的多方面精准归类,从而把握无论是对短句还是长文的情感倾向。

文本情感分析对挖掘用户潜在的需求和改善产品及服务都有极大的帮助,但是这些评论每天都在大量地增长,依靠人工对其分析不但成本高、而且时间上也存在滞后性,因此需要使用合适的智能算法分析这些文本的情感极性。

如图1所示,现有的多方面文本情感分析方案通常分为三个步骤进行:①对评论对象的方面(aspect)及其对应情感词进行识别;②对识别出的评论对象的多个方面进行情感极性分析,即将情感词的极性依据事先定义的情感值进行分类,例如分类为正向极性或负向极性;③对分类结果进行汇总(聚集)。

现有的多方面文本情感分析方案通常存在下述问题:

首先,情感分析很难进行细粒度的情感分析。目前很多方法是针对句子级别或者篇章级别的情感分析,很难分析句子内部多方面相互冲突的情况。而用户评论,不仅仅是单一的评论,例如对餐馆的评论可能包括食物、服务、地点、环境等等多方面(aspect)的评论。这些多方面的评论中可能包含相互冲突的多方面情感,例如一个用户对餐馆的评价可能是“某某餐馆的食物很好,但是服务很差...”,针对这种一个句子里包含相互冲突的多方面情感,基于子级别或者篇章级别的情感分析,无法对其进行有效、精准的情感分类挖掘。

其次,针对网络短评,这种大都为非正式场合的短文本语料,在只考虑正面倾向和负面倾向的情况下,实现文本倾向性的分类。由于短文本噪声大、新词多、缩写频繁、有自己的固定搭配、上下文信息有限,做分词歧义明显,利用上述现有的多方面文本情感分析方案,实现文本倾向性的分类,往往得到的是不好的切分。



技术实现要素:

有鉴于此,本发明的主要目的在于提供一种文本情感分析方法和装置,可以对文本进行有效、精准地情感分析。

为了达到上述目的,本发明提出的技术方案为:

一种文本情感分析方法,包括:

a、获取需要进行情感分析的文本,并获取所述文本包含的分词;

b、对于每个所述分词,计算该分词在预设词典中的词向量,并根据该词向量,计算该分词与所述词典中其他词汇之间的相似度;

c、标注每个所述分词的词性,将指定词性的所述分词确定为候选的情感分析目标词;

d、利用候选的情感分析目标词的所述相似度,从所述候选的情感分析目标词中提取出所述文本对应的方面aspect;

e、根据所述候选的情感分析目标词和所述方面,利用分段卷积神经网络对所述文本进行情感极性分析。

较佳地,所述获取需要进行情感分析的文本包括:

利用网页解析器对所述文本所在网页进行清洗和解析;将解析结果中的非文本信息删除,得到所述文本。

较佳地,所述获取所述文本包含的分词包括:

对所述文本按照完整句子进行分割;

对于所述分割得到的每个句子,利用预设的分词工具进行分词处理,得到构成该句子的分词。

较佳地,所述步骤b包括:

对于每个所述分词,利用word2vec的cbow模型,计算该分词在所述词典中的词向量;通过计算余弦夹角,得到该分词与所述词典中其他词汇之间的相似度。

较佳地,所述指定词性包括:名词、动词、形容词和副词。

较佳地,所述步骤d包括:

从预设的种子方面词库中,获取所述文本所属领域对应的种子方面词;所述种子方面词库中的词包含在所述词典中;

对于每个所述候选的情感分析目标词,逐一将该目标词与每个所述种子方面词之间的所述相似度和预设的相似阈值进行比较,如果所述相似度大于所述相似阈值,则将对应的种子方面词,作为所述文本对应的方面。

较佳地,所述步骤a之后,所述步骤d之前进一步包括:

利用词频-逆文档频率tf-idf算法,从所述分词中提取种子方面词;

将所提取出的种子方面词加入至所述种子方面词库中。

较佳地,所述步骤e包括:

利用所述候选的情感分析目标词,构建词序列h;将所述词序列h中的每个词作为基于注意力的卷积神经网络模型的一个输入状态,依次输入至所述卷积神经网络模型的卷积层;其中,h={h1,...,ht,...,ht},1≤t≤t;ht为词序列h中的第t个词,t为所述候选的情感分析目标词的数量;

所述卷积神经网络模型的卷积层利用随机初始化的上下文向量a,按照计算每个所述输入状态ht的权重at;按照构造所述文本的文本表示向量v,并输出至所述卷积神经网络模型的池化层;其中,et=tanh(w·ht+b),w为模型中的权重,b为模型中的偏置,tanh()为双曲正切函数;

所述卷积神经网络模型的池化层,采用分段池化的方式,对所述文本表示向量v进行池化处理,得到所述文本的特征向量,并输出至所述卷积神经网络模型的情感计算层;

所述卷积神经网络模型的情感计算层,将每个所述方面作为一个情感标签,根据所述文本的特征向量,对于每个情感标签,利用softmax分类器,构建该情感标签的得分向量,并按照将该得分向量转化为条件概率分布,其中,i=1,2,...,c,c表示情感方面标签的数目,pi(x)表示第i个情感方面标签的条件概率分布,xi表示第i个情感方面标签的得分向量。

较佳地,所述采用分段池化的方式,对所述文本表示向量v进行池化处理,得到所述文本的特征向量包括:

将所述文本表示向量v平均分割成c段,并确定每段向量中的最大值;

将所有段向量的最大值拼接为一个向量,并对该向量进行tanh函数运算,得到所述文本的特征向量。

一种文本情感分析装置,包括:

分词提取单元,用于获取需要进行情感分析的文本,并获取所述文本包含的分词;

相似度计算单元,用于对于每个所述分词,计算该分词在预设词典中的词向量,并根据该词向量,计算该分词与所述词典中其他词汇之间的相似度;

目标词提取单元,用于标注每个所述分词的词性,将指定词性的所述分词确定为候选的情感分析目标词;

方面提取单元,用于利用候选的情感分析目标词的所述相似度,从所述候选的情感分析目标词中提取出所述文本对应的方面aspect;

情感极性分析单元,用于根据所述候选的情感分析目标词和所述方面,利用分段卷积神经网络对所述文本进行情感极性分析。

较佳地,所述分词提取单元,用于在获取需要进行情感分析的文本时,利用网页解析器对所述文本所在网页进行清洗和解析,将解析结果中的非文本信息删除,得到所述文本。

较佳地,所述分词提取单元,用于在获取所述文本包含的分词时,对所述文本按照完整句子进行分割,对于所述分割得到的每个句子,利用预设的分词工具进行分词处理,得到构成该句子的分词。

较佳地,所述相似度计算单元,用于对于每个所述分词,利用word2vec的cbow模型,计算该分词在所述词典中的词向量,并通过计算余弦夹角,得到该分词与所述词典中其他词汇之间的相似度。

较佳地,所述指定词性包括:名词、动词、形容词和副词。

较佳地,所述方面提取单元,用于从预设的种子方面词库中,获取所述文本所属领域对应的种子方面词;所述种子方面词库中的词包含在所述词典中;对于每个所述候选的情感分析目标词,逐一将该目标词与每个所述种子方面词之间的所述相似度和预设的相似阈值进行比较,如果所述相似度大于所述相似阈值,则将对应的种子方面词,作为所述文本对应的方面。

较佳地,所述装置进一步包括种子方面词库更新单元:

利用词频-逆文档频率tf-idf算法,从所述分词中提取种子方面词;

将所提取出的种子方面词加入至所述种子方面词库中。

较佳地,所述情感极性分析单元,用于利用所述候选的情感分析目标词,构建词序列h;将所述词序列h中的每个词作为基于注意力的卷积神经网络模型的一个输入状态,依次输入至所述卷积神经网络模型的卷积层;其中,h={h1,...,ht,...,ht},1≤t≤t;ht为词序列h中的第t个词,t为所述候选的情感分析目标词的数量;通过所述卷积神经网络模型的卷积层,利用随机初始化的上下文向量a,按照计算每个所述输入状态ht的权重at;按照构造所述文本的文本表示向量v,并输出至所述卷积神经网络模型的池化层;其中,et=tanh(w·ht+b),w为模型中的权重,b为模型中的偏置,tanh()为双曲正切函数;通过所述卷积神经网络模型的池化层,采用分段池化的方式,对所述文本表示向量v进行池化处理,得到所述文本的特征向量,并输出至所述卷积神经网络模型的情感计算层;通过所述卷积神经网络模型的情感计算层,将每个所述方面作为一个情感标签,根据所述文本的特征向量,对于每个情感标签,利用softmax分类器,构建该情感标签的得分向量,并按照将该得分向量转化为条件概率分布,其中,i=1,2,...,c,c表示情感方面标签的数目,pi(x)表示第i个情感方面标签的条件概率分布,xi表示第i个情感方面标签的得分向量。

较佳地,所述情感极性分析单元,用于在通过所述卷积神经网络模型的池化层,采用分段池化的方式,对所述文本表示向量v进行池化处理时,将所述文本表示向量v平均分割成c段,并确定每段向量中的最大值;将所有段向量的最大值拼接为一个向量,并对该向量进行tanh函数运算,得到所述文本的特征向量。

综上所述,本发明提出的文本情感分析方法和装置,利用分段卷积神经网络,深入句子内部对文本进行细粒度的多方面情感分析,能够对文本进行有效、精准地情感分析。

附图说明

图1为现有的多方面文本情感分析方法流程示意图;

图2为本发明实施例的方法流程示意图;

图3为本发明实施例的装置结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。

本发明的核心思想是:基于注意力和分段卷积神经网络的方法,挖掘句子内容词语间的关联信息,并利用分段卷积进行多方面文本情感分析。

图2为本发明实施例的流程示意图,如图2所示,该实施例实现的文本情感分析方法主要包括:

步骤201、获取需要进行情感分析的文本,并获取所述文本包含的分词。

本步骤,用于对待分析的文本进行解析,以便在后续过程中,利用分词进行细粒度的情感分析,以达到对文本进行有效、精准地情感分析的目的。

较佳地,可以采用下述方法获取需要进行情感分析的文本:

利用网页解析器对所述文本所在网页进行清洗和解析;将解析结果中的非文本信息删除,得到所述文本。

上述方法中,需要对文本所在的网页进行清洗、解析,将html网页解析成文本,仅保留有用的文本信息,以便进一步基于有用的文本信息,获取更细粒度的用于情感分析的分词。

上述对网页进行清洗和解析的具体方法,为本领域技术人员所掌握,在此不再赘述。

较佳地,可以采用下述方法获取所述文本包含的分词:

对所述文本按照完整句子进行分割;对于所述分割得到的每个句子,利用预设的分词工具进行分词处理,得到构成该句子的分词。

上述方法中,先将文本进行分句,得到若干句子,然后再利用分词工具(如:结巴分词工具)对每个句子进行中文分词。具体的分句和分词方法,为本领域技术人员所掌握,在此不再赘述。

步骤202、对于每个所述分词,计算该分词在预设词典中的词向量,并根据该词向量,计算该分词与所述词典中其他词汇之间的相似度。

本步骤,用于确定步骤201得到的每个分词的词向量,并计算每个分词与预设词典中的每个词汇之间的相似度。

较佳地,本步骤可以采用下述方法实现:

对于每个所述分词,利用word2vec的cbow模型,计算该分词在所述词典中的词向量;通过计算余弦夹角,得到该分词与所述词典中其他词汇之间的相似度。

步骤203、标注每个所述分词的词性,将指定词性的所述分词确定为候选的情感分析目标词。

本步骤,用于根据指定的词性从步骤201所到的分词集合中筛选出后续步骤中用于情感分析的目标词,即候选的情感分析目标词。

较佳地,为了增强情感分析的准确性,所述指定词性至少包括:名词、动词、形容词和副词。例如,例如,对于文本:“...餐馆食物很好,但是服务较差...”,可以得到“餐馆”“食物”“很”“好”“但是”“服务”“较差”等一系列词作为候选的情感分析目标词。

步骤204、利用候选的情感分析目标词的所述相似度,从所述候选的情感分析目标词中提取出所述文本对应的方面aspect。

本步骤中,将进一步从步骤203得到的候选的情感分析目标词中,确定当前文本包含了哪些方面,以便在后续步骤中,可以基于这些方面利用卷积神经网络对文本起行细粒度的情感极性分析。

在实际应用中,对于某个餐馆的评价、或者对某个产品、某项服务的评价,很多词具有明确的方面(aspect)属性。例如,在对餐馆的评价中,词“食物”,“服务”,“位置”等,这些都可以作为对餐馆评论的种子方面(seedaspect)。

较佳地,本步骤可以采用下述方法实现:

从预设的种子方面词库中,获取所述文本所属领域对应的种子方面词;所述种子方面词库中的词包含在所述词典中;

对于每个所述候选的情感分析目标词,逐一将该目标词与每个所述种子方面词之间的所述相似度和预设的相似阈值进行比较,如果所述相似度大于所述相似阈值,则将对应的种子方面词,作为所述文本对应的方面。

上述方法中,需要先从预设的种子方面词库中提取出文本所属应用领域的种子方面词(这些词也包含在所述词典中),然后再根据步骤102得到的相似度,判断每个所述候选的情感分析目标词与这些种子方面词之间的相似度是否大于一定阈值,如果是,则将该对应的种子方面词,作为所述文本对应的方面。

具体地,所述相似阈值可由本领域技术人员根据实际需要设置合适取值,只要能确保对文本对应的方面进行准确识别即可。

进一步地,为了使种子方面词库更全面,在实际应用中还可以根据当前的文本对种子方面词库进行实时的更新。具体地,可以采用下述方法实现这一目的:

在所述步骤201之后以及所述步骤204之前进一步包括利用当前的文本对所述种子方面词库进行更新的过程,具体如下:

利用词频-逆文档频率tf-idf算法,从所述分词中提取种子方面词;将所提取出的种子方面词加入至所述种子方面词库中。

步骤205、根据所述候选的情感分析目标词和所述方面,利用分段卷积神经网络对所述文本进行情感极性分析。

本步骤,利用分段卷积神经网络对所述文本进行情感极性分析,细化了情感分析的粒度,可以对句子内部多方面相互冲突的情况进行准确、有效的情感分析。

较佳地,本步骤可以采用下述方法实现:

步骤2051、利用所述候选的情感分析目标词,构建词序列h;将所述词序列h中的每个词作为基于注意力的卷积神经网络模型的一个输入状态,依次输入至所述卷积神经网络模型的卷积层。

其中,h={h1,...,ht,...,ht},1≤t≤t。

ht为词序列h中的第t个词。

t为所述候选的情感分析目标词的数量。

步骤2052、所述卷积神经网络模型的卷积层利用随机初始化的上下文向量a,按照计算每个所述输入状态ht的权重at;按照构造所述文本的文本表示向量v,并输出至所述卷积神经网络模型的池化层。

其中,et=tanh(w·ht+b),w为模型中的权重。b为模型中的偏置。

tanh()为双曲正切函数。

上述方法中,基于注意力的卷积神经网络模型中的每一时刻的输入状态和一个随机初始化的上下文向量a有关,a可以看作是对输入的一种表示。

所述w、b和a一起作为模型训练过程中的参数,通过不断训练学习得到。通过以上基于注意力的卷积神经网络模型,可以为输入构造一个定长的上下文相关的文本表示向量,向量中的信息包含各个输入状态的重要程度。

步骤2053、所述卷积神经网络模型的池化层,采用分段池化的方式,对所述文本表示向量v进行池化处理,得到所述文本的特征向量,并输出至所述卷积神经网络模型的情感计算层。

本步骤中,与传统的卷积神经网络方法所不同的是,这里采用分段池化的方式进行池化处理。传统的卷积神经网络方法在执行池化操作的时候,往往是在一个卷积向量中选取一个最大值代表该卷积向量的最显著特征。这里,为了更准确地挖掘文本的细粒度情感极性,将利用句子所具有的结构特性,采用分段的方式来捕获不同结构的关键特征,即,将一个卷积向量平均分为若干段,然后再在每一段中取最大值。对所有的卷积向量分段都进行同样的操作,然后将这些取出的最大值拼接为一个向量,并对该向量做一个非线性的运算(tanh函数运算),将最终得到的向量作为当前文本句子的特征表示。较佳地,针对上述目的,可以采用下述方法,采用分段池化的方式,对所述文本表示向量v进行池化处理,得到所述文本的特征向量:

将所述文本表示向量v平均分割成c段,并确定每段向量中的最大值;将所有段向量的最大值拼接为一个向量,并对该向量进行tanh函数运算,得到所述文本的特征向量。

上述方法中,需要将文本表示向量v分割成若干段,该分段的数量与步骤204中所得到的方面数量相对应,这样,可以确保文本的特征向量更全面的包含文本的各个方面对应的特征,从而可以在后续步骤中准确地获得各个方面所对应的情感极性。

步骤2054、所述卷积神经网络模型的情感计算层,将每个所述方面作为一个情感标签,根据所述文本的特征向量,对于每个情感标签,利用softmax分类器,构建该情感标签的得分向量,并按照将该得分向量转化为条件概率分布。

其中,i=1,2,...,c,c表示情感方面标签的数目,pi(x)表示第i个情感方面标签的条件概率分布,xi表示第i个情感方面标签的得分向量。

本步骤中,需要将步骤204中提取出的每个方面作为一个情感标签,计算每个情感标签确定其得分向量,从而可以得到各个方面对应的条件概率分布,从而可以准确地得到文本的各个方面对应的情感极性。

通过上述实施例,可以看出,本发明采用基于注意力机制的卷积神经网络,通过对每一个输入状态进行加权,为输入文本构造了一个上下文相关的文本表示向量。其次,采用分段池化的方法,捕获句子的不同结构的关键特征,将卷积向量分为若干段,取出的最大值拼接为一个向量,作为当前文本句子的特征表示。如此,通过深入句子内部进行细粒度的多方面情感分析,能够对句子内部多方面相互冲突的情况进行准确、有效的情感分析。

图3为与上述方法相对应的一种文本情感分析装置结构示意图,如图3所示,该装置包括:

分词提取单元301,用于获取需要进行情感分析的文本,并获取所述文本包含的分词;

相似度计算单元302,用于对于每个所述分词,计算该分词在预设词典中的词向量,并根据该词向量,计算该分词与所述词典中其他词汇之间的相似度;

目标词提取单元303,用于标注每个所述分词的词性,将指定词性的所述分词确定为候选的情感分析目标词;

方面提取单元304,用于利用候选的情感分析目标词的所述相似度,从所述候选的情感分析目标词中提取出所述文本对应的方面aspect;

情感极性分析单元305,用于根据所述候选的情感分析目标词和所述方面,利用分段卷积神经网络对所述文本进行情感极性分析。

较佳地,所述分词提取单元301,用于在获取需要进行情感分析的文本时,利用网页解析器对所述文本所在网页进行清洗和解析,将解析结果中的非文本信息删除,得到所述文本。

较佳地,所述分词提取单元301,用于在获取所述文本包含的分词时,对所述文本按照完整句子进行分割,对于所述分割得到的每个句子,利用预设的分词工具进行分词处理,得到构成该句子的分词。

较佳地,所述相似度计算单元302,用于对于每个所述分词,利用word2vec的cbow模型,计算该分词在所述词典中的词向量,并通过计算余弦夹角,得到该分词与所述词典中其他词汇之间的相似度。

较佳地,所述指定词性包括:名词、动词、形容词和副词。

较佳地,所述方面提取单元304,用于从预设的种子方面词库中,获取所述文本所属领域对应的种子方面词;所述种子方面词库中的词包含在所述词典中;对于每个所述候选的情感分析目标词,逐一将该目标词与每个所述种子方面词之间的所述相似度和预设的相似阈值进行比较,如果所述相似度大于所述相似阈值,则将对应的种子方面词,作为所述文本对应的方面。

较佳地,所述装置进一步包括种子方面词库更新单元306:

利用词频-逆文档频率tf-idf算法,从所述分词中提取种子方面词;

将所提取出的种子方面词加入至所述种子方面词库中。

较佳地,所述情感极性分析单元305,用于利用所述候选的情感分析目标词,构建词序列h;将所述词序列h中的每个词作为基于注意力的卷积神经网络模型的一个输入状态,依次输入至所述卷积神经网络模型的卷积层;其中,h={h1,...,ht,...,ht},1≤t≤t;ht为词序列h中的第t个词,t为所述候选的情感分析目标词的数量;通过所述卷积神经网络模型的卷积层,利用随机初始化的上下文向量a,按照汁算每个所述输入状态ht的权重at;按照构造所述文本的文本表示向量v,并输出至所述卷积神经网络模型的池化层;其中,et=tanh(w·ht+b),w为模型中的权重,b为模型中的偏置,tanh()为双曲正切函数;通过所述卷积神经网络模型的池化层,采用分段池化的方式,对所述文本表示向量v进行池化处理,得到所述文本的特征向量,并输出至所述卷积神经网络模型的情感计算层;通过所述卷积神经网络模型的情感计算层,将每个所述方面作为一个情感标签,根据所述文本的特征向量,对于每个情感标签,利用softmax分类器,构建该情感标签的得分向量,并按照将该得分向量转化为条件概率分布,其中,i=1,2,...,c,c表示情感方面标签的数目,pi(x)表示第i个情感方面标签的条件概率分布,xi表示第i个情感方面标签的得分向量。

较佳地,所述情感极性分析单元305,用于在通过所述卷积神经网络模型的池化层,采用分段池化的方式,对所述文本表示向量v进行池化处理时,将所述文本表示向量v平均分割成c段,并确定每段向量中的最大值;将所有段向量的最大值拼接为一个向量,并对该向量进行tanh函数运算,得到所述文本的特征向量。

综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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