首页> 中国专利> 微博中网络新词抽取方法和微博情感分析方法及系统

微博中网络新词抽取方法和微博情感分析方法及系统

摘要

本发明公开了一种针对网络微博进行情感分析的方法,针对传统情感分析中所存在的对突发事件多元化情感表示不足问题,提出了基于多维向量的表示模型来进行情感分析的方法。结合临床心理学情感检测表抽取情感词初始化情感分析向量,其次利用基于大规模语料库和统计的方法自动发现微博中的网络新词,自动吸收能表达情感的网络新词与情感标识符,不断扩充情感向量,并建立情感向量的层次化结构;最后基于已有的向量模型,对微博文本进行多角度情感分析和时序分析。

著录项

  • 公开/公告号CN103559233A

    专利类型发明专利

  • 公开/公告日2014-02-05

    原文格式PDF

  • 申请/专利权人 中国人民解放军国防科学技术大学;

    申请/专利号CN201310506561.4

  • 发明设计人 张鲁民;贾焰;周斌;韩毅;

    申请日2013-10-24

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

  • 代理机构11280 北京泛华伟业知识产权代理有限公司;

  • 代理人王勇

  • 地址 410073 湖南省长沙市开福区德雅路109号国防科学技术大学

  • 入库时间 2024-02-19 22:14:31

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-05-31

    授权

    授权

  • 2014-03-12

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

    实质审查的生效

  • 2014-02-05

    公开

    公开

说明书

技术领域

本发明属于数据挖掘领域,尤其涉及针对微博数据的情感分析方法。

背景技术

随着互联网和通信技术的发展,以新闻报道为代表的长文本已经不再是人们获得信息源的唯一途径。《2010年中国互联网舆情分析报告》调查显示,2010年年度网络热点事件中关于“腾讯与360大战”话题,新浪微博的回复量达到260万条,“上海世博会”的相关评论也达到106万条,远远超过新闻报道、社区、论坛的数目。2011年7月23日温州动车事件,新浪微博相关评论达到282万,腾讯微博也有684万回复量。可见微博已经成为社会舆论传播的重要媒介之一,对微博进行情感分析,是掌握网民对突发事件的情感反馈的主要手段。

情感分析,又称意见挖掘,是对带有情感色彩的主观性文本进行分析、处理归纳和推理的过程。目前情感分析的主要研究点在于对文本的倾向性进行分析,即挖掘网络文本内容蕴含的各种情感、信念、态度、意见和情感等属性信息。目前国内外对于文本倾向性的研究从方法上可大致分为两类:基于统计的文本倾向性研究方法和基于语义规则的文本倾向性研究方法。

基于统计的文本倾向性研究方法的核心思想是首先人工标注一些文档的倾向性,并将这些已标注文档作为训练集,再通过机器学习的方法构造一个褒贬两类分类器。最后使用构造好的褒贬两类分类器对待分析文档进行分类,从而识别出该文档的倾向性。有研究者使用标准的机器学习技术对文本分类工作进行了研究,比较了朴素贝叶斯(Native Bayes)、最大熵(Maximum Entropy)及支持向量机(Support Vector Machines)方法在文本分类上的效果,并提出了将分类结果按照语义倾向性强度进行细分的方法。

基于语义规则的文本倾向性研究方法主要有两种。第一种是先对待分析文本中的形容词或能够体现主观色彩的短语进行抽取,然后对抽取出来的形容词或短语逐一进行倾向性判断并赋予一个倾向值,最后将上述所有倾向值累加起来得到文章的总体文本倾向性。有研究者对形容词作倾向性分析,利用词汇之间的连词训练生成词汇间的同义或反义倾向的连接图,然后用聚类的方法将词汇聚成褒义和贬义两类。也有研究者使用两个词汇“excellent”与“poor”作为基准词来判断其它词汇的语义倾向,通过PMI_IR(Pointwise Mutual Information and Information Retrieval,逐点互信息和信息检索)方法,计算词语的情感倾向值,根据给定的阈值把词语划分为褒义和贬义两个类别。也有研究者直接使用已有的本体知识库判断词的倾向性,如使用英文的WordNet及中文的HowNet来计算待估词与已选定的基准词对的语义距离,进而判断待估词的倾向性。第二种基于语义的文本倾向性的研究方法是预先建立一个倾向性语义模式库,有时还会附带一个倾向性字典。然后将待估文档参照语义模式库做模式匹配,最后累加所有匹配模式对应的倾向性值从而得到整个文档的倾向性。

上述研究无论采用监督学习还是无监督学习的方法,其对文本的情感分析都可以抽象成一个三元分类问题,即将文本的情感分为积极、消极、中立(或者正面、负面、中立)。实际上,用户在同一文本中往往体现出多元化的情感,例如微博“此次汶川地震我深深被大自然的力量震惊了,深切同情遇难同胞,,实际上体现出了两种情感“震惊”与“同情”,传统文本的三元分类对这种多元化的情感表征存在严重不足。目前,许多研究人员已经意识到这个不足,例如有研究者针对博客采用向量的表示方法对多元化情感进行建模,但其研究是基于表情符号来构建向量,并未充分利用内容信息进行分析研究。

发明内容

针对上述问题,本发明提出了一种基于能够充分表征多元化情感的多维向量来对微博情感进行分析的方法。

本发明的目的是通过以下技术方案实现的:

一方面,本发明提供了一种微博情感分析方法,该方法包括

步骤1,确定情感向量E,所述情感向量E由多个能够表示情感的情感词构成;

步骤2,对于待分析的每条博文M,建立该博文的情感向量EM=<xM1,XM2,…,XMi,…>;其中,如果情感向量E中第i个情感词属于该博文M的关键词集合,则EM中对应的第i个元素XMi取值为1,否则取值为0;

步骤3,基于博文的情感向量来得到对事件的情感分布。

上述方法中,所述步骤1中所述情感向量E中的情感词可以是从临床心理学中的情感检测表中抽取出的能够表示情感的情感词。

上述方法中,所述步骤1中所述情感向量E中还可包括能表达情感的表情符号。

上述方法中,所述步骤1还可包括对微博数据流进行监测,定期从微博语料库中抽取网络新词,并从中选择能表示情感的网络新词添加到情感向量E中。

上述方法中,所述从微博语料库中抽取网络新词可包括以下步骤:

步骤1)基于N-gram将微博语料库中的每条博文切分成多个候选词,从而形成候选词集合;

步骤2)从候选词集合中删除词典中已有的词;

步骤3)从候选词集合中选择出现频率高的前K个候选词并计算其互信息;

步骤4)从所述K个候选词中选择其互信息大于互信息阈值的候选词来构成网络新词候选集。

上述方法中,还可包括步骤5)分别对两个或更多个微博语料库执行步骤1)至4)以得到多个网络新词候选集,并选择在多个网络新词候选集中共同出现的词作为网络新词。

上述方法中,在所述步骤1)之前还可包括对微博语料库进行预处理的步骤,其包括:对于仅转发的博文,进行直接合并,只保留一个样本;对于转发并评论的博文,将转发内容去除,只保留评论内容;对于拷贝信息源,提取主要关键词,作为一条微博进行处理。

上述方法中,所述步骤2)还可包括从候选词集合中删除出现频率低于预定阈值的词。

上述方法中,所述步骤3可包括对与事件相关的所有博文的情感向量求和,以分析在该事件中公众的主流情感及在情感向量的各维度上的情感分布比例。

上述方法中,还可包括基于情感向量E建立情感向量层次结构,所述情感向量层次结构包括顶层、中间层、底层和倾向性层,其中底层为由多个情感词构成情感向量E,中间层是底层情感词的聚类,并隶属于顶层类别,顶层分为基本情绪、复合情绪和其他情绪三类型,倾向性层为每个情感词的情感倾向,分为积极、消极、中立三类。

上述方法中,还可包括对于待分析的每条博文M,分别建立该博文的顶层情感向量、中间层情感向量、底层情感向量和倾向层情感向量的步骤,其中上层的情感向量可由下层的情感向量聚合而成。

上述方法中,所述步骤3还可包括将博文的情感向量按照时间粒度进行聚合,以得到情感随时间的变化趋势。

上述方法中,所述步骤3还可包括基于所建立的博文的情感向量,统计各个事件中属于各情感的博文占与该事件相关的所有博文的比例。

又一方面,本发明提供了一种微博情感分析系统,包括:

情感向量确定模块,用于确定情感向量E,所述情感向量E由多个能够表示情感的情感词构成;

微博情感向量建立模块,用于对于待分析的每条博文M,建立该博文的情感向量EM=<XM1,XM2,…,XMi,…>;其中,如果情感向量E中第i个情感词属于该博文M的关键词集合,则EM中对应的第i个元素XMi取值为1,否则取值为0;

情感分析模块,用于基于博文的情感向量来得到对事件的情感分布。

其中,所述情感向量确定模块还可用于对微博数据流进行监测,定期从微博语料库抽取网络新词,并从中选择能表示情感的网络新词添加到情感向量E中。

一方面,本发明提供了一种基于微博语料库抽取网络新词的方法,所述方法包括:

步骤1)基于N-gram将微博语料库中的每条博文切分成多个候选词,从而形成候选词集合;

步骤2)从候选词集合中删除词典中已有的词;

步骤3)从候选词集合中选择出现频率高的前K个候选词并计算其互信息;

步骤4)从所述K个候选词中选择其互信息大于互信息阈值的候选词来构成网络新词候选集。

上述抽取网络新词的方法还可包括步骤5)分别对两个或更多个微博语料库执行步骤1)至4)以得到多个网络新词候选集,并选择在多个网络新词候选集中共同出现的词作为网络新词。

上述抽取网络新词的方法中,在所述步骤1)之前还可包括对微博语料库进行预处理的步骤,其包括:对于仅转发的博文,进行直接合并,只保留一个样本;对于转发并评论的博文,将转发内容去除,只保留评论内容;对于拷贝信息源,提取主要关键词,作为一条微博进行处理。

上述抽取网络新词的方法,所述步骤2)还可包括从候选词集合中删除出现频率低于预定阈值的词。

又一方面,本发明提供了一种基于微博语料库抽取网络新词的设备,所述设备包括:

用于基于N-gram将微博语料库中的每条博文切分成多个候选词,从而形成候选词集合的装置;

用于从候选词集合中删除词典中已有的词的装置;

用于从候选词集合中选择出现频率高的前K个候选词并计算其互信息的装置;

用于从所述K个候选词中选择其互信息大于互信息阈值的候选词来构成网络新词候选集的装置。

该设备还可包括用于从两个或更多个微博语料库得到多个网络新词候选集中选择在多个网络新词候选集中共同出现的词作为网络新词的装置。

与现有技术相比,本发明的优点在于:

基于能够充分表征多元化情感的多维向量来对微博情感进行分析,能有效对多元化情感进行表示。采用与临床心理学相结合的方法构建情感向量,并对微博数据流进行检测,自动发现并吸收能表示情感的网络新词来更新情感向量,不仅具有一定的权威性,同时也可以保证情感向量的全面性。建立情感向量的层次化结构,避免了情感向量的稀疏性;同时基于情感向量的层次结构,可对微博进行的多层次分析,能从不同角度反应公众对突发事件的情感态度。

附图说明

以下参照附图对本发明实施例作进一步说明,其中:

图1为根据本发明实施例的抽取网络新词的方法的流程图;

图2为根据本发明实施例的情感向量的层次化结构示意图;

图3为根据本发明实施例的三种典型情感在不同事件上的分布图;

图4为根据本发明实施例的情感向量时序分析图。

具体实施方式

为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

在本发明的一个实施例中,提供了一种基于多维情感向量对微博进行情感分析方法。在介绍该方法的具体实施方式之前,首先介绍下文中使用的微博情感向量的定义:对于每条博文M,M=<Time,WordSet>;其中Time(也可以简记为T)表示博文M的发表时间;WordSet表示博文M的关键词集合,WordSet={KeyWord1,KeyWord2,…,KeyWordK},KeyWordi(1≤i≤K)表示博文M经分词、去除停用词后的关键词;其中,K为大于0的整数,其指示博文M中所含关键词的个数。假设E为包含多个情感词的情感向量,E=<word1,word2,……,wordN>,其中wordi(1≤i≤N)表示第i个情感形容词;N为大于0的整数,其指示情感向量E中包含的情感形容词的个数。则相应地对于博文M,M的情感向量EM可以表示为:EM=<XM1,XM2,……,XMN>;其中,如果E中第i个情感词属于该博文M的关键词集合,则EM中对应的第i个元素XMi取值为1,否则取值为0,即:

相对于传统的三元分类方法,这样的情感向量可有效地表征多元化的情感。可以采用多种方式来构建上述的情感向量。例如,在一个实施例中,可以基于传统正规的情感形容词来构建情感向量,例如可以从词典中抽取能表达情感的形容词来构建情感向量。又例如,也可以从临床心理学中为检测用户情感而制定的《情感检测表》中抽取能表达情感的形容词作为情感向量,目前该情感检测表包括212个形容词,因此所建立的情感向量包含212个元素。这样即能避免手工收集情感词的繁琐工作,又具有一定的权威性。但是,这样的情感向量虽然是基于传统正规情感形容词构建而成,具有一定的权威性,但对于微博而言,在情感表达的全面性上尚存不足。这是因为在微博流中,随着网络新词的不断涌现,情感的表达方式也更加多样化,如现在流行的“坑爹”,一词表达了作者的不满和怨恨情感,“给力”表达了用户的积极态度和对某种事件或做法的支持与肯定。

考虑到微博信息实时动态更新的特点,在又一个实施例中,提供了一种可自动更新的多维情感向量构建方法,不断检测和自动吸收能表达作者情感的网络新词,扩展和丰富情感向量,主要包括新词发现和情感新词吸收两个部分。该方法首先根据临床心理学中为检测用户情感而制定的《情感检测表》,从中抽取能表达情感的212个形容词来初始化情感向量。然后,通过对微博数据流进行监测,基于大规模语料库采用统计的方法,自动发现并吸收能够表示情感的网络新词,来更新情感向量,以保证情感向量的全面性。

图1给出了根据本发明一个实施例的一种基于微博语料库抽取网络新词的方法。该方法主要包括下列步骤:使用n-gram方法将语料库中的每条博文切分成多个候选词;接着基于词典和词频从多个侯选词中删除词典中已存在的词和很少使用的词;然后,基于候选词的词频和互信息进行进一步的筛选,最后在两个或更多个微博平台进行交叉验证,选择在两个或更多微博平台上共同出现的词作为新词。

更具体地,可以利用API分别收集1000万条新浪微博和1000万条Twitter数据分别作为语料库。由于微博文本语料规模巨大,可以先对微博语料库进行预处理操作。数据预处理的目的主要是为合并内容重复和相似的博文。在利用API收集的语料库中,单条微博有可能大量重复出现,主要有以下两个方面的原因:一是转发(可以通过文本内容特征来识别,twitter中以“RT”为标识,新浪微博中以“转发”为标识)。在新浪微博中,有些博文的转发次数能达到几十次,甚至上百次,若不进行处理则严重影响新词发现的准确度。转发包括仅转发和转发并评论两种情况,对于仅转发,可以采用直接合并的方法,只保留一个样本。对于转发并评论的博文,可以将转发内容去除,只保留评论内容。二是拷贝信息源,如用户A和用户B同时从信息源S处获得信息(S为新闻或者微博),但A、B同时发表新内容,造成文本极度相似。例如在“日本地震中”,博文“据说此次日本地震韩国友人很给力!去日本救援派了5个人2条狗的救援队,到了东京狗就跑丢了一只,现在5个人在找狗……”一文被原创发表次数为6440次。对于此种情况,可以提取主要关键词,作为一条微博进行处理。

继续参考图1,对进行预处理后的微博预料库进行n-gram切分。也就是利用n-gram思想对博文进行n元切分词。N-gram是大词汇连续语音识别中常用的一种语言模型,其根据马尔科夫假设一个词的出现仅仅依赖于它前面出现的有限的一个或者几个词。给定词序列T=W1W2…Wn,根据条件概率公式其出现的概率P(T)为:

P(T)=P(W1W2…Wn)

=P(W1)P(W2|W1)P(W3|W1W2)…P(Wn|W1W2…Wn-1)

>P(Wn|W1W2···Wn-1)C(W1W2···Wn)C(W1W2···Wn-1)>

其中C(W1W2…Wn)表示序列W1W2…Wn出现的次数;依次取n=2,3,4,对微博内容进行n-gram切分获得候选词集合setA,该集合中实际上是包括由2个字、3个字和4个字组成的候选词。由于经N-gram切分而形成的候选集规模很大,可以采用如下方法对经N-gram切分形成的候选词集合setA进行裁剪,从而降低待处理的文本语料对内存容量的需求:1)若Wi…Wi+n-1在字典中存在,则以n为窗口包含Wi与Wi+n-1在内的所有字符序列不参与setA的构成;2)每处理N条博文数据,检测setA中候选词的出现的频率,即候选词的词频,若小于设定的阈值,则直接将其从setA中去除。其中该阈值可以是根据系统具体情况或用户需求来设置,也可以是经验值。例如,假设N设定为100万,可以将阈值设定为50,即若某个候选词在100万条微博中连50次都没有出现过,则该候选词从serA中删除。

接着,鉴于网络新词应具有一定程度的出现频率,且构成新词的字符间存在较强的相关性。采用词频和互信息相结合的方法来对经裁剪的候选词集合setA继续进行剪枝,也就是继续对候选词集合setA中的候选词进行筛选。词频(Term Frequency,TF)指示某个词是否经常被使用。由于之前进行了预处理操作,从而不必担心单条微博多次重复出现造成的问题。互信息(MI)用于度量两个词/字之间的相关性,例如,字符串W1,W2之间的互信息为:

>MI(W1,W2)=logP(W1W2)P(W1)*P(W2)>

其中P(W)表示字符串W出现的概率,例如,P(W1)表示字符串W1出现的概率,P(W1W2)表示字符串W1W2出现的概率,等等。依次类推,对于n=3的情况,字符串W1,W2,W2之间的互信息为:

>MI(W1,W2,W3)=logP(W1W2W3)P(W1W2)*P(W2W3).>

因此,可以采用互信息来衡量构成候选词的各字符之间的相关性。从经裁剪的候选词集合setA中选择词频高的前k个候选词,选择其互信息大于互信息阈值的候选词构成候选集setB。例如,可依据词频选取setA中的topK个候选词,计算其互信息值,假设互信息阈值设定为0,选取符合该阈值条件的候选词构成候选集setB。表1示出了一个候选集setB,从Twitter抽取的某个语料库中抽取10个候选词及其TF和MI信息:

表1

WordTFMIWordTFMI杯具312951.603996伤不起73342.21308给力229111.37036悲催71131.867617蛋疼119441.567467萝莉60461.879493脑残90881.232178盆友36071.188391坑爹83462.23041内牛满面30053.518869

当然,为保证新词发现的准确性,可以设定较高的互信息阈值,以保证准确率。

最后,为进一步保证新词发现的准确性,可以在两个或多个微博平台进行交叉验证,从而抽取出网络新词。虽然微博平台之间架构存在一定差异,但网络用语的差异性比较小。可以基于多个微博平台来执行上文所述的抽取候选词集合setB的步骤,以进行多平台交叉验证。例如,可以基于新浪微博和Twitter平台,分别利用上述方法形成候选词集合setB1与setB2。取setB1与setB2中的元素进行交叉验证,检测新词的共现程度,也就是检测某个新词是否同时出现在setB1和setB2中。例如,可以选择在setB1和setB2中共同出现的若干个词作为网络新词。

这些所抽取出的网络新词,有的可以表达情感,而有的不能表达情感。由于情感向量是后面各项工作的基础,其精度将直接影响结果的准确性,因此,采用半监督学习的方式,遵循“人在回路中”的原则,由人工判定所抽取的网络新词是否能表达情感。实际上,虽然网络新词不断出现,但更新速度并不快,能表达用户情感的网络词更少。所以,可以由用户来对于经上述方法形成的网络新词的候选集进行人工审核,将能表达情感的新词加入情感向量。而不能表达情感的词可以作为网络新词,也可以例如加入分词器的自定义词典,使得分词器在下一次遇到这个词时能顺利把它识别出来,从而提高分词器的准确度。

另外,经发明人对于大量微博内容的分析发现,表情符号的使用在很大程度上反应了作者的情感,如“挤眼”“微笑”表达了喜悦的情感等。因此,在一些实施例中,也可以吸收能表达情感的表情符号加入情感向量。例如,以上文提到的包括212个形容词的初始情感向量为例,该情感向量可以吸收“杯具”“给力”“脑残”“坑爹”“蛋疼”“悲催”“伤不起”“内牛满面”“浮云”等12个网络新词及60个情感符号,从而其长度变为284。应理解,随着微博数据的不断变化,上述抽取网络新词的过程可以周期性地,或根据用户需要重复执行,以自动更新和不断丰富情感向量的内容。

上文主要讨论了如何建立多维的情感向量,以及如何基于对微博数据流的监测来抽取网络新词,以自动更新情感向量。下面主要讨论如何在所建立的多维情感向量基础上对微博进行情感分析。如上文提到的,这样的多维情感向量可以表征多元化情感。例如,可以基于上文所建立的多维情感向量进行对某个事件进行整体分析,即分析某个突发的事件中公众的主要情感,从而更容易发现事件的主流情感,对情感分布进行宏观把握。假设C表示针对某个突发事件的所有的博文的集合,M表示该集合中的博文,则该事件的整体情感向量Ec=∑M∈CEM=<xC1,xC2,…,xCN>,其中,xci=∑MxMi。可以从EC可以看出在该突发事件中每个维度上的情感分布。可见,基于博文的情感向量进行计算,可以很容易地得到对与该事件相关的包含某个情感词的博文数量的统计,以及包含该情感词的博文在与事件相关的所有博文中所占的比例。例如,上文提到的xci表示该事件中包含第i个情感词的博文数量,xci/|C|可表示包含第i个情感词的博文在与事件相关的所有博文中所占的比例(其中|C|表示集合C中元素的总数),从而可以分析在该事件中公众的主流情感及情感分布。以收集2011年3月11日到3月20日有关日本地震的84万新浪微博数据为例,表2示出了前10种主要的公众情绪分布。可以看出,在此次日本地震事件中,公众情感以同情、恐惧、忧愁、敬佩为主。

表2

编号情感博文数目比例编号情感博文数目比例1同情3192717.056心慌104145.562恐惧162058.657羞愧98435.263忧愁159298.518着急97025.184敬佩141687.579烦恼78984.225惊奇109935.8710失望77694.15

如上文所构建的情感向量虽然可以表征多元化的情感,但是情感向量本身维度大且向量稀疏,分析难度大且对情感分类表征比较单调。因此,在本发明的又一个实施例中,提供了一种基于情感向量的层次化结构对微博进行多元情感分析的方法。根据临床心理学中的分法,喜怒哀惧为人类的四种基本情绪,通过基本情绪的组合可以生成很多复合情绪,每个情感词属于某个情绪类别,共37个情绪类别。图2给出了根据本发明的情感向量的层次化结构的示意图。情感向量的层次化结构主要包括顶层、中间层、底层和倾向性层四个部分。顶层分为基本情绪、复合情绪和其他情绪三类型,中间层是最底层情感词的聚类,并隶属于顶层类型,共计37个类别。底层情感向量是由多个情感词构成的情感向量,例如,如上文所述的包括284个情感词的情感向量。倾向性层为每个情感词的情感倾向,分为积极、消极、中立三类。从而,对于该层次结构的每一层,可定义相应层的情感向量,如中间层情感向量可表示为:

>Em=<wordSet1,wordSet2,......,wordSetNm>>

其中,wordSeti={wordi1,wordi2,…wordim},wordi1,wordi2,…wordim代表底层属于同一类别的多个情感词;Nm为中间层类别数目,例如Nm=37。对每条微博,其中间层情感向量可定义为:>EMm=<xM1m,xM2m,...,xMNmm>;>其中,

类似地,也可以定义顶层情感向量和倾向层情感向量,二者长度均为3。

基于图2所示的情感向量的层次化结构,对微博情感分析可以在不同粒度上进行,如分析“积极情感/消极情感”的比例,或者只在“喜、怒、哀、惧”四种基本情感上进行分析,而不关心具体的某个特定情感词。可以采用多种方式来构建上述的层次化结构的情感向量。在此,考虑两个主要因素:一是如何构建初始的层次化结构。二是当加入新的情感词时如何自动更新层次化结构。例如,可以采用自底向上的聚类方法,对于如上文所述的底层的情感词,采用机器学习和人工判断相结合的方法进行聚类,以保证聚类的准确性。在聚类时,基于知网的语义距离来计算底层情感向量中任意两个词之间的语义相似性,根据该语义相似性对情感词进行聚类。例如,可人工选择一定数目的情感词作为训练集,训练得到相似性阈值,根据得到的相似性阈值采用基于递归的最大子图发现的方法进行聚类,即聚类结构中任意两者语义相似性都大于阈值。对于新加入情感向量的新的情感词,采用基于FP-growth树的关联规则的数据挖掘方法,设定一定支持度和置信度,根据新词与已有情感词的语义距离和频繁共现模式共同决定该节点在层次结构中的位置。继续参考图2,为满足传统情感分析中的倾向性分析需求,在本发明的实施例中,还对每个情感词进行极性标注,分为积极、消极、中立三种情感倾向,如喜悦、感激、自信等属于积极情感,同情、羡慕、敬佩属于中立情感,怨恨、羞愧、心慌等属于消极情感等等。由于层次性结构是基于自底向上的方法构建而成,从而计算微博情感向量时只需对其下层情感向量进行聚合即可,而不用重新进行计算。

下面主要讨论基于情感向量的层次化结构对微博进行多元情感分析的方法。例如,可以基于情感向量的层次性结构,对突发事件进行多层次多角度情感分析方法。也就是可以进行下列分析过程:可以基于底层情感向量进行事件整体分析,如上文结合表2所述的,事件整体分析可利用最底层情感向量分析突发事件中公众的主要情感,从而更容易发现事件的主流情感,情感分布进行宏观把握。也可以基于底层或中间层情感向量进行相关事件分析,以分析情感在不同事件上的分布。也可以基于情感向量层次结构的每一层进行情感向量的时序分析,分析情感随时间的变化趋势。

仍以上文收集2011年3月11日到3月20日有关日本地震的84万新浪微博数据为基础对上述情感分析过程及效果进行说明。基于底层情感向量的事件整体分析可参考上文结合表2的描述。在此将“日本地震”看成一个话题,且由很多事件构成。TDT(话题检测与追踪,Topic Detection andTracking)所关心的话题不是一个大的领域(如美国的对华政策)或者某一类事件(如恐怖活动),而是一个很具体的“事件(Event)”,如美国911事件、江泽民访美等等。为了区别于语言学上的概念,TDT评测会议对“话题”进行了定义:所谓话题(Topic),就是一个核心事件或活动以及与之直接相关的事件或活动。而一个事件(Event)通常由某些原因、条件引起,发生在特定时间、地点,涉及某些对象(人或物),并可能伴随某些必然结果)。在上述数据基础上,采用聚类的方法发现该“日本地震”话题主要包含的事件如表3所示:

表3

相关事件情感分析可以利用中间层情感向量,分析情感在不同事件上的分布。分别统计涉及各个事件的博文,分析在不同事件之间某个维度的情感分布。图3示出了在表3所示的6个事件上三种典型情感类别“同情”、“胆怯”“敬佩”的情感分布。竖轴表示每个事件中属于该情感的博文占与该事件相关的所有博文的比例。属于“同情”的博文的数量可以是包含底层情感向量中属于“同情”类别的情感词的博文的总和。由此可见计算中层情感向量时只需对其下层情感向量进行聚合即可。从图3可以看出,“同情”情感更多地分布在事件2“震源/震级/伤亡”和事件1“地震引发海啸”;“胆怯”情感更多地分布在事件1、2和5,而在事件3“救援工作”上“胆怯”的比例非常低;对于事件3“救援工作”更多地表示“敬佩”。也可以看出对于“同情”这一情感,相关事件从高到低排序为事件2、1、3、4、5、6;对于“胆怯”这一情感,相关事件从高到低排序为事件1、2、5、4、6、3;对于“敬佩”这一情感,相关事件从高到低排序为事件3、2、4、1、5、6。

时序分析可以将情感向量按照时间粒度进行聚合,以分析情感随时间的变化趋势,图4为五种典型情感随时间的变化曲线,其中横轴的时间粒度设置为天,纵轴表示博文数量。例如对中间层情感向量以“天”为单位进行聚合,可以得到中间层情感随时间变化的趋势,而且可以看出突发事件与公众情绪之间的关联。如图4所示,在3月11日地震发生后,“同情”、“忧愁”的情绪急速增加,到3月19日和20日,这两种情绪逐渐回复正常。在3月16和17日“紧张”和“羞愧”的情绪急速增加,这是因为“抢盐事件”的谣言在3月16日出现,在3月17日被广泛传播。

在本发明的又一个实施例中,还提供了一种微博情感分析系统,该系统包括情感向量确定模块、微博情感向量建立模块、情感分析模块。其中,情感向量确定模块可用于确定情感向量E,所述情感向量E由多个能够表示情感的情感词构成;还可以用于对微博数据流进行监测,定期从微博语料库抽取网络新词,并从中选择能表示情感的网络新词添加到情感向量E中。微博情感向量建立模块可用于对于待分析的每条博文M,建立该博文的情感向量。情感分析模块采用上文讨论的方法基于博文的情感向量来得到对事件的情感分布。

在本发明的又一个实施例中,还提供了一种采用上文讨论的抽取网络新词的方法基于微博语料库抽取网络新词的设备,所述设备可包括:用于基于N-gram将微博语料库中的每条博文切分成多个候选词,从而形成候选词集合的装置;用于从候选词集合中删除词典中已有的词的装置;用于从候选词集合中选择出现频率高的前K个候选词并计算其互信息的装置;以及用于从所述K个候选词中选择其互信息大于互信息阈值的候选词来构成网络新词候选集的装置。该设备还可包括用于从两个或更多个微博语料库得到多个网络新词候选集中选择在多个网络新词候选集中共同出现的词作为网络新词的装置。

虽然本发明已经通过优选实施例进行了描述,然而本发明并非局限于这里所描述的实施例,在不脱离本发明范围的情况下还包括所作出的各种改变以及变化。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号