首页> 中国专利> 一种行业评论数据细粒度情感分析方法

一种行业评论数据细粒度情感分析方法

摘要

本发明是一种行业评论数据细粒度情感分析方法,用于互联网数据分析。本方法是:获取电商行业商品的评论数据;对评论数据进行预处理;建立初始的行业情感词库,利用1-gram和2-gram分别计算词在不同情感极性下的分布;对评论数据进行中文分词;分别基于1-gram、2-gram构建的情感词库,使用联合情绪模型对词进行建模,获取词在不同情感分布下,属于不同主题的概率分布;利用上下文信息重新确定句子中情感词的情感倾向值;利用条件随机场进行命名实体识别,抽取评论特征,计算评论特征评价词的情感倾向值。本发明通过主题、情感两个维度计算评论词的情感,实现行业评论数据的细粒度情感分析,分析结果精度高且更加可解释。

著录项

  • 公开/公告号CN104268197A

    专利类型发明专利

  • 公开/公告日2015-01-07

    原文格式PDF

  • 申请/专利权人 中科嘉速(北京)并行软件有限公司;

    申请/专利号CN201410486635.7

  • 申请日2014-09-22

  • 分类号G06F17/30(20060101);G06F17/27(20060101);

  • 代理机构11121 北京永创新实专利事务所;

  • 代理人祗志洁

  • 地址 100190 北京市海淀区中关村南四街4号

  • 入库时间 2023-12-17 03:57:53

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-06-12

    专利权的转移 IPC(主分类):G06F17/30 登记生效日:20180523 变更前: 变更后: 申请日:20140922

    专利申请权、专利权的转移

  • 2017-11-07

    授权

    授权

  • 2015-02-04

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20140922

    实质审查的生效

  • 2015-01-07

    公开

    公开

说明书

技术领域

本发明属于互联网数据分析领域,涉及评论数据的情感分析技术,具体涉及一种行业评 论数据细粒度情感分析方法。

背景技术

随着大数据时代的到来,越来越多的信息通过网友的群智群力,以众包的方式出现,越 来越多的人喜欢在网上交流他们的意见,因而在网络上出现大量包含倾向性的评论信息,比 如豆瓣的影评、书评,电商网站上产品的评论。商家希望通过信息处理手段来获取这些电子 信息中包含的情感倾向性,以此来获得消费者反馈,修正市场决策。例如,在购买电子商品 之前,人们希望先得知别人对于该商品的评价,优点是什么,缺点是什么,以此作为购买的 重要参考。近年来情感分析成为了信息处理领域中的一个研究热点,但是由于其自身特点, 导致研究进展较为缓慢。

一般的情感分析技术主要是采用监督的方式对互联网文本中的情感进行分,通过提取文 本中包含的情感词,对其进行极性判断,找出文本中对应的情感词特征向量。为计算文本情 感倾向性,通过对这些已知样本进行训练,建立分类模型,对新的评论进行情感倾向的判断。 现有的技术一般分为两种:监督和非监督。监督模型一般采用K最邻近结点算法(KNN)、朴 素贝叶斯和支持向量机(SVM)、最大熵的情感分类模型,其中涉及到情感词的提取和极性判 断,这种方法与情感词词典的构建有很大关系,需要完备的情感词词典。所建立的分类模型 和特定领域有很大关系,对某一个领域构建的模型很可能对另外一个领域不太适用。同时, 构建情感词词典费时费力。由于评论中存在大量的噪音,对训练样本的质量有一定的影响, 使得训练出来的模型受到影响,影响分类的准确度和召回率。非监督模型一般基于主题模型 进行的改进,这种模型的优点是泛化能力较强,并不局限于某一个领域,但是结果精度往往 比较差,缺乏有监督的指导。

一般的情感分析主要研究的是评论的整体态度,但在实际中这种分析粒度较大,比如汽 车评论中,商家不仅希望知道针对一款车型,好评差评分别占比,他更希望知道好在哪,差 在哪。因此一般的情感分析不再适用于这个场景。

发明内容

本发明针对现有非监督模型的分析结果精度差,领域针对性强,所用的情感分析结果粗 糙的问题,提出了一种非监督结合情感词表的行业评论数据细粒度情感分析方法,旨在实现 以比较高的可解释度和精确度来分析普通用户对于研究对象的情感倾向性。

本发明提供的一种行业评论数据细粒度情感分析方法,包括如下步骤:

步骤1:获取电商行业商品的评论数据;

步骤2:对步骤1得到的评论数据进行预处理,包括:根据评论数据长度进行清洗,去 除垃圾广告信息,去除评论数据中的网址,去除自动评论数据;将预处理后的评论数据用于 下面步骤;

步骤3:建立初始的行业情感词库,利用1-gram和2-gram分别计算词在不同情感极性下 的分布,获得1-gram构建的情感词库和2-gram构建的情感词库;

步骤4:对评论数据进行中文分词,去除停用词,获取词集合;

步骤5:为词集合中的所有词建立和对应文档的索引,分别基于1-gram构建的情感词库 和2-gram构建的情感词库,使用联合情绪模型对词进行建模,获取词在不同情感分布下,属 于不同主题的概率分布;

其中使用联合情绪模型对词进行建模,具体是:

对于每一个文档d,选择一个分布πd,πd定义为Dir(γ);

对于文档d下的每一个情感标记la,选择一个分布θd,la,θd,la定义为Dir(α);

对于文档d中的每一个词wi,选择一个情感标记lai和主题zi,lai定义为πd,zi定义为θd,la

从主题zi和情感标记lai所定义的词分布里面选择一个词wi定义为

其中,超参数α、β和γ使用吉布斯抽样方法获取;

步骤6:利用上下文信息重新确定句子中情感词的情感倾向值;

步骤7:利用条件随机场进行命名实体识别,抽取评论特征,对评论特征中的评价词进 行统计,计算评价词的情感倾向值。

本发明的优点与积极效果在于:

(1)本发明的行业评论数据细粒度情感分析方法,通过主题、情感两个维度计算评论词 的情感,对行业评论数据进行细粒度的情感分析,使得分析结果精度较高、更加可解释;

(2)利用Bloom filter和给定的规则集合对海量数据进行预处理,数据处理效率高,有 效精减了数据量;

(3)引入情感因子隐变量,使用改进的主题模型(联合情绪模型)对文档中的词进行建 模,融合情感分析领域最常用的两种模型,结合两者优点,提升结果性能;并分布采用1-gram 和2-gram两种方式分别构建行业情感词典,进行主题模型聚类,获得进行对比分析的结果, 以利于综合获取更加准确的聚类结果;

(4)利用条件随机场进行命名实体识别,实体识别结果好;通过词性等制定规则挖掘实 体及其属性,提高抽取商品特征的准确率。

附图说明

图1是本发明的行业评论数据细粒度情感分析方法的整体流程图;

图2是本发明方法的步骤1和3中利用爬虫程序所进行操作的示意图;

图3是本发明方法步骤5的实现流程图;

图4是本发明的JST使用Gibbs Sampling进行参数推断的示意图;

图5是本发明方法步骤6和7的流程示意图;

图6是对某个商品的评论数据运用本发明方法进行情感分析的结果示意图。

具体实施方式

下面将结合附图和实施例对本发明作进一步的详细说明。

细粒度分析可分两种,一种是句子级别,一种是属性(aspect)级别。由于产品评论一句 话里面往往包含对多个属性的评价,如“质量很好,外观美观,但是很贵”,因此本发明的技 术方案中的细粒度针对的是属性层次的细粒度。

本发明以非监督方式对电商行业评论数据进行细粒度情感分析,提出来一种引入隐变量 的改进的主题模型方法,采用1-gram和2-gram的方式分别建立行业情感词典,同时采用中 文分词技术、命名实体识别技术对评论中的实体特征进行抽取,基于商品属性和实体特征进 行细粒度情感分析,给出商品在细粒度维度下的多维度情感分析结果。

本发明提供的行业评论数据细粒度情感分析方法,基于一种引入隐变量的改进主题模型 聚类的技术进行情感聚类,利用中文分词、命名实体识别技术提取物品细粒度的特征,然后 结合电商行业评论数据进行情感分析,本发明方法流程如图1所示。

步骤1:构建爬虫程序,抓取电商行业的商品的评论数据。本发明实施例中主要从京东、 淘宝和亚马逊抓取数据。如图1和2所示,本步骤包括步骤101和102。

步骤101:构建分布式爬虫程序,对电商网站数据进行页面抓取。

步骤102:根据抓取到的html页面生成页面的dom树结构,根据标签提取爬到页面中包 含的评论数据并存储。

步骤2:对步骤1得到的评论数据进行预处理。(1)利用布隆滤波(Bloom filter)方法对海 量数据进行处理,Bloom filter处理速度很快,适合处理海量数据。(2)利用下面的规则集对 评论数据进一步预处理,去除符合规则1~3的评论数据:规则1:评论数据长度小于5个字; 规则2:评论数据中含有特定的广告词;规则3:基于网络特定回复模板的自动回复;规则4: 评论中含有网址的,去除网址后再重新判断是否符合规则1~3。

步骤201:根据评论长度进行清洗,利用正则表达式和制定的规则集去除垃圾广告信息。

步骤202:利用Bloom filter方法去除重复的评论数据,首先对评论数据利用N个hash 函数映射到位数组中,再对后面的评论计算N个hash值,然后判断该评论数据是否已经存在, 如果后面的评论计算出的hash值存在位数组中,则说明该评论数据已经存在,并将其过滤掉。

步骤203:设计匹配网址的正则表达式,去除评论数据中的网址,再次计算句子的长度, 然后在此基础上进行二次清洗,主要清洗长度不满足规则中设置条件的评论。

步骤204:观察评论数据,统计网络自动评论模板,根据自动评论模板去除评论中包含 的自动评论数据。

步骤3:建立初始行业情感词库。如图2所示,本步骤包括步骤301~步骤303。

步骤301:利用爬虫程序抓取情感领域的专有词汇和百度百科的数据,建立初始的行业 情感词库。

步骤302:利用1-gram计算词在不同情感极性下的分布,得到1-gram构建的情感词库。

步骤303:利用2-gram计算词在不同情感极性下的分布,得到2-gram构建的情感词库。

步骤4:对步骤2预处理后的评论数据进行中文分词处理,获取对应的词集合。对所有 评论数据进行中文分词,去除停用词,获取分词结果。

步骤401:调用中文分词程序分词,然后根据停用词表去除停用词,对其中包含的英文 词进行形态变换,转换到统一的表达形式。

步骤402:计算词的文档频率df,词频tf,以及逆向文件频率idf,对词使用计算公式 log(tf/(idf+1)+1)计算权值,然后与设定的权值阈值比较,进行词集筛选,获取权值大于权值 阈值的词组成的词集,从而得到能够体现评论特征的词集合,同时词集筛选后也适当地降低 了评论数据对应的词集合的维度。

步骤5:引入情感因子隐变量,使用改进的主题模型对文档中的词进行聚类,首次将改 进的联合情绪模型(Joint Sentiment/Topic Model,JST)应用到中文情感分析。如图3所示,步骤 5包括如下四个子步骤。

步骤501:首先处理文档中的词,对所有词建立和对应文档的索引,然后创建文档和词 对应的数据文件。每条评论数据作为一个文档。

步骤502:调用利用1-gram构建的情感词库和利用2-gram构建的情感词库,两个词库将 分别应用到下面的联合情绪模型的聚类过程。

步骤503:JST通过引入隐变量,对隐含狄利克雷分布(latent dirichlet allocation)主题模 型进行改进,对词建模,进行聚类。

JST模型的建模基本过程如下:

For each document d,choose a distributionπd~Dir(γ).\\对于每一个文档d,选择一个分布πd, 定义为Dir(γ));

For each sentiment label la under document d,choose a distributionθd,la~Dir(α).\\对于文档d 下的每一个情感标记la,选择一个分布θd,la,定义为Dir(α);

For each word wi in document d\\对于文档d中的每一个词wi

Choose a sentiment label lai~πd\\选择一个情感标记lai,定义为πd

Choose a topic zi~θd,la\\选择一个主题zi,定义为θd,la

Choose a word wi from the distribution over words defined by the topic zi and sentiment  label lai,\\选择一个从主题zi和情感标记lai所定义的所有词分布里面的词wi定义为

其中,联合情绪模型JST包含的超参数α、β和γ可以看作主题在情感标签中出现次数和 单词在主题下出现次数的先验分布。

本发明改进的JST使用吉布斯抽样方法(Gibbs Sampling)进行超参数推断。假设给定α,β,γ, 吉布斯抽样方法的流程是积出变量θ,φ,π,然后根据这三个变量从后验概率P(z|w,l,d,α,β,γ) 中抽样主题z。如图4所示,D表示文档空间向量,nd表示某个文档d的词空间向量,z表示 主题,l表示情感标记,T表示β的因子,S表示α的惩罚因子,V表示γ的惩罚因子。在抽样 的每一轮过程中,根据以下公式来抽样:

P(zt=j,lt=k|w,z-t,l-t,α,β,γ){Nwt,j,k}-t+β{Nj,k}-t+·{Nj,k,d}-t+α{Nk,d}-t+·{Nk,d}-t+γ{Nd}-t+---(1)

这个公式是Markov Chain Monte Carlo(MCMC)的一种实例,它可以被看作从一条马尔科 夫链中抽样,最终平稳分布为后验概率的马尔科夫过程。公式(1)中,zt表示第t次抽样的 主题,j表示主题j,lt表示第t次抽样的情感标记,k表示情感标记k,w表示词w,z-t表示不 在第t次抽样的主题,l-t表示不在第t次抽样的情感标记,P(zt=j,lt=k|w,z-t,l-t,α,β,γ)表 示在已知α、β、γ、w、z-t和l-t的条件下,第t次抽样主题和情感标记的联合概率密度。wt,j,k表示第t次抽样,在主题j和情感标记k的词w,表示满足条件wt,j,k的概率;Nj,k表示 满足主题j和情感标记k的词的概率,Nj,k,d表示在文档d中满足主题j和情感标记k的词的概 率,Nk,d表示在文档d中满足情感标记k的词的概率,Nd表示在文档d出现的概率。小脚标 -t表示不在第t次抽样,{N*}-t表示为N*满足不在第t次抽样的概率。

吉布斯抽样方法的最大优点是实现起来比较简单,只需要计算三个矩阵θ=T×S× D,φ=V×T×S和π=S×D。

在循环进行一段时间后,从θ、φ和π矩阵中可以计算出情感-主题分布φi,j,k和主题-词分布 θj,k,d和文档-情感分布πk,d

φi,j,k=Ni,j,k+βNi,j,k+,θj,k,d=Nj,k,d+αNj,k,d+,πk,d=Nk,d+γNd+

其中,φi,j,k表示满足主题j和情感标记k的词wi的分布,θj,k,d表示文档d中词满足主题j 和情感标记k的分布,πk,d表示文档d中词满足情感标记k的分布。Ni,j,k表示满足主题j和情 感标记k的词wi的概率。

吉布斯抽样方法实现的伪代码如下:

第1步,初始化V×T×S矩阵φ,T×S×D矩阵θ,以及S×D矩阵π;

1.Initialize V×T×S matrixφ,T×S×D matrixθ,S×D matrixπ

第2步,从1到M做吉布斯抽样;M为总抽样数;每次抽样时从一个文档中读取一个词;

2.For m=1 to M Gibbs sampling iterations do

Read a word w from a document

第3步,对每次抽取的词,根据式(1)计算该词属于某个主题和情感标记的值;

3.Calculate the probability of assigning word w to topic and sentiment label based on equation 1.

第4步,基于式(1)所计算的值为该词抽样出主题j;

4.Sampling a topic j based on the estimated probability obtained

第5步,基于式(1)所计算的值为该词抽样情感标记k;

5.Sampling a sentiment label k

第6步,利用第4步和第5步新的抽样结果更新矩阵φ,θ,π;

6.Update the matrixφ,θ,πwith new sampling result

第7步,返回第3步继续执行,直到所有词均被处理完;

7.Go to step 3 until all words have been processed.

8.End for.

最后聚类得到<情感,主题,词索引>的模型。

步骤504:将生成的<情感,主题,词索引>模型中的词索引进行转换,转换成词本身,得 到不同词在不同情感分布下,属于不同主题的概率分布,作为细粒度情感分析的权重值。

步骤6:利用上下文信息重新评估句子中出现的情感词的情感极性和强弱。

由步骤5得到标记为某个情感的词在某个主题的概率分布,下面标记为某个情感的词称 为情感词。如图5所示,步骤6和7具体如下说明。设定滑动窗口W,在[-W/2,W/2]范围内 计算情感词的互信息,根据互信息测评情感之间的关联度,结合聚类出的情感权重计算一个 情感指标,作为该情感词在该句子中的最终的情感倾向值。

步骤601:选取滑动窗口范围W,即以当前情感词为中心的前W/2及后W/2范围内的词 集合,选出其中的情感词、否定词、程度副词和转折连词,分别计算所选出的这些词对当前 情感词的影响。如果是情感词,计算两个情感词(当前情感词和该情感词)的互信息,判断 两个情感词之前的紧密程度和影响程度。对否定词、程度副词和转折连词,基于规则去判断, 结合原文进行语义分析进行判断这些词是否对当前情感词的情感倾向造成影响以及影响的程 度。

步骤602:根据步骤601,结合当前情感词在不同主题中的情感倾向的权值,同时考虑文 档中出现的主题的概率对当前情感词的情感倾向权值,进行权值加权求和,计算出最终的情 感倾向。

步骤7:实体特征的抽取。基于规则识别出评论数据中对应的商品和商品的属性,对细粒 度信息的情感词抽取和极性判断,做细粒度情感分析。

步骤701:利用条件随机场进行命名实体识别。条件随机场(CRF)由Lafferty等人于2001 年提出,结合了最大熵模型和隐马尔可夫模型的特点,是一种无向图模型,近年来在分词、 词性标注和命名实体识别等序列标注任务中取得了很好的效果。本发明方法使用条件随机场 该模型CRFs在命名实体识别的时候达到了很好的效果。

步骤702:根据命名实体识别结果,对评论中的评论特征进行抽取,本发明采用基于规则 的抽取方式,评论特征表征为<特征,评价词>,采用bootstrapping方法,人工标注种子特征 词和评价词;利用规则挖掘和种子评价词相关的特征词,统计<新特征,种子评价词>的频度; 利用规则挖掘和种子特征词相关的评价词,统计<种子特征,新评价词>的频度;迭代挖掘直 至没有新的<特征,评价词>对产生。这种方法可以有效的提高抽取商品特征的准确率。

步骤703:对抽取的评论特征进行评价词统计,并进行评价词情感极性判断,获取该评 论特征对应的整体的情感倾向值。

如图6所示,为对某个商品的评论数据运用本发明方法进行情感分析的结果示意图;从 该结果中可以看出,对该商品的评论96.83%是正面的、好的(图中标记为Posi),有3.17% 认为该商品不好(图中标记Nega)。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号