基于Adaboost和分类器加权融合的微博情感极性判别方法与流程

文档序号:14155799阅读:192来源:国知局

本发明属于自然语言处理中的文本情感分析技术领域,特别是涉及一种基于adaboost和分类器加权融合的微博情感极性判别方法。



背景技术:

在信息急速膨胀的互联网时代,越来越多的用户倾向于通过互联网来分享自己的观点或体验,所以社交网络中存在着大量的带有主观情感色彩的短文本。新浪微博是为大众提供娱乐休闲生活服务的信息分享和交流平台,目前新浪微博的活跃用户数保持在2亿左右,其继承了传统论坛、博客等形式的优点,结合手机等移动终端,使信息能够实时快速发布和获取。微博集娱乐、社交、营销于一身,已经从满足人们“弱关系”的社交需求上逐渐演变成为大众化的舆论平台,成为一个最重要的实时信息源和一种影响力日益增强的网络舆论传播中心,越来越多机构及公众人物都通过微博来发布或传播信息。

情感分析,也称为意见挖掘(opinionmining),是对有情感色彩的文本进行分析、处理、归纳和应用的过程,涉及到自然语言处理、机器学习、信息抽取、统计学等多个研究领域。将微博这种新型的社交媒体与情感分析技术相结合,具有很高的研究价值和广泛的应用前景。

微博情感分析可以应用于以下几类场景中:

(1)舆情监控。舆情是指在一定的范围内,某一个具有影响力的社会热点事件发生后,大众对该事件的评价、态度、意见和情绪的总和。微博对社会及政治热点事件有强大的反应能力,可以在极短的时间内迅速积累阅读量和讨论数。

(2)市场预测。消费者购买产品或服务时,往往会参考其他用户发表的评论来决定自己的消费意图。同时,商家也可以通过评论来获取用户对产品的满意度和改进方案,制定相应的商业策略。微博中包含大量的评论信息,可以为股票走势预测、电影票房预测和产品迭代方案等提供数据支撑。

(3)人工智能系统。微博情感分析可以推动人工智能系统的发展,例如:推荐系统可避免推荐有大量负面反馈的项目;自动问答系统可以将人机对话中人的情绪识别出来,使系统得出更加正确的答案,从而智能水平得到提高;机器翻译系统通过情感分析技术可以在不同的语言构成的语料中保持情感一致,使机器翻译准确率得到提高,翻译结果更符合人类日常交流。

目前,中文文本情感分析方法主要有基于语义理解和基于机器学习两类方法。但这两种方法应用于微博情感分析后面临以下两个问题:①基于语义理解的方法用构建基准褒贬词库和定义表达规则的方法对语料进行模式匹配,对于表达方式复杂、不规则的微博文本处理上有很大的局限性。②基于机器学习的方法受限于所选择的分类器性能和特征选取方法,不同训练集可能会得到差异较大的分类器。



技术实现要素:

为了解决上述问题,本发明的目的在于提供一种基于adaboost和分类器加权融合的微博情感极性判别方法。

为了达到上述目的,本发明提供的基于adaboost和分类器加权融合的微博情感极性判别方法包括按顺序进行的下列步骤:

(1)对互联网上的微博文本进行抓取、人工标注情感极性、预处理和分词操作;

(2)利用向量空间模型将上述词语用特征向量表示,并使用卡方统计值进行特征选取;

(3)根据上述步骤(2)选取的特征,对上述步骤(1)中得到的语句进行特征权重表示,构建出每条微博文本对应的特征向量;

(4)将步骤(3)中得到的特征向量输入到支持向量机、决策树和朴素贝叶斯三种不同的基本分类器中进行情感极性判别,由此对基本分类器进行训练,获得不同基本分类器的准确率;

(5)将步骤(4)中经过训练的基本分类器应用adaboost学习方法进行提升,并将提升后的分类器与上述基本分类器的准确率相比来判断是否有提高,若有提高,保留应用adaboost后的分类器,否则保留基本分类器;

(6)将步骤(5)得到的基本分类器和应用adaboost提升后的分类器进行加权融合,最终得到微博文本情感极性。

在步骤(1)中,所述的对互联网上的微博文本进行抓取、人工标注情感极性、预处理和分词操作的方法是:采用网络爬虫的方法将互联网上微博用户所发表的多条微博文本抓取到本地数据库中作为数据集,然后人工标注出每条微博文本的正负极性而形成正向情感文件和负向情感文件,之后逐条对微博文本进行预处理操作,以去除网页链接、转发、回复微博时的微博用户名、话题标签、特殊字符在内的与情感表达无关的噪声信息;微博文本经过预处理后称为语句;之后利用分词工具对上述语句进行分词而得到词语,将词语作为特征表示的最小单元;分词工具使用java开源分词工具ansj。

在步骤(2)中,所述的利用向量空间模型将上述词语用特征向量表示,并使用卡方统计值进行特征选取的方法是:首先将文本中出现的所有词语进行排序,形成一个一定规模的可查编号的词典;其中某个词语在该词典中出现的序号就是它在特征向量中的维度;对于一个数据集中某一条特定的微博文本,经过分词后,该词语出现一次,就将该词语对应的特征向量维度填入某个值,从而实现词语的特征向量表示;然后计算数据集中每一个特征的卡方统计值,并按照大小进行排序,然后分别选取卡方统计值大小为前n个、2n个……数n个特征维数下的特征,并分别计算每一特征维数下所有正向情感文件和负向情感文件的准确率、召回率、f值以及综合准确率,最后选取最高综合准确率对应的特征维数为最佳特征维数。

在步骤(3)中,所述的根据上述步骤(2)选取的特征,对上述步骤(1)中得到的语句进行特征权重表示,构建出每条微博文本对应的特征向量的方法是:对上述步骤(2)选取的特征进行赋值以形成最终的特征向量,即特征权重表示。

在步骤(5)中,所述的将步骤(4)中经过训练的基本分类器应用adaboost学习方法进行提升的方法是:关注前一轮弱分类器中被错误分类的样本,把错分类的样本权重提高,同时把正确分类的样本权重降低,调整权重后再进行下一个分类器的训练。

在步骤(6)中,所述的将步骤(5)得到的基本分类器和应用adaboost提升后的分类器进行加权融合,最终得到微博文本情感极性的方法是:分类器加权融合的过程是选择不同种类的分类器对同一数据集进行训练,再通过合适的度量方法将这些分类器的结果组合在一起;加权融合为不同分类器设置权重,将分类器判定的概率函数乘以其对应的权值后进行汇总来得到最终结果;最后通过比较分类器的正向准确率和负向准确率的大小来确定微博文本的情感极性。

本发明提供的基于adaboost和分类器加权融合的微博情感极性判别方法具有以下优点:(1)本发明利用特征选择和特征表示方法找到了最佳方案,在较低的特征维度下选用布尔值达到了较好的效果,大大降低了计算量。(2)利用adaboost方法对单一分类器进行了提升,使弱分类器的性能得到提高。(3)将三种分类器进行加权投票组合,结合了不同分类器的优势,克服了单一分类器的缺陷。

附图说明

图1为本发明提供的基于adaboost和分类器加权融合的微博情感极性判别方法流程图。

具体实施方式

下面结合附图和具体实施例对本发明提供的基于adaboost和分类器加权融合的微博情感极性判别方法进行详细说明。

如图1所示,本发明提供的基于adaboost和分类器加权融合的微博情感极性判别方法包括按顺序进行的下列步骤:

(1)对互联网上的微博文本进行抓取、人工标注情感极性、预处理和分词操作;

采用网络爬虫的方法将互联网上微博用户所发表的多条微博文本抓取到本地数据库中作为数据集,然后人工标注出每条微博文本的正负极性而形成正向情感文件和负向情感文件,之后逐条对微博文本进行预处理操作,以去除网页链接、转发、回复微博时的微博用户名、话题标签、特殊字符在内的与情感表达无关的噪声信息,例如:(1)网页链接,形如“http://t.cn/rtj0wwn”等,由于不包含有用信息,因此在预处理时去除。(2)转发、回复微博时的微博用户名,形如“@李琼子:回复@草图匠老王:这事儿归精神病院管警察叔叔不管”,其中@符号后的微博用户名需要去除;微博文本经过预处理后称为语句;

之后利用分词工具对上述语句进行分词而得到词语,将词语作为特征表示的最小单元。分词工具使用java开源分词工具ansj。

(2)利用向量空间模型将上述词语用特征向量表示,并使用卡方(chi)统计值进行特征选取;

应用机器学习方法进行文本情感分析时,计算机不能直接识别中文字符,需要将文本进行向量表示之后再作为训练数据送入分类器中。机器学习中广泛使用的文本表示方法是向量空间模型(vectorspacemodel,vsm),又称作词袋模型。向量空间模型是自然语言处理中常用的一种文本表示方法,它将文本看作是一系列词语的集合,将文本中出现的所有词语进行排序,就可以形成一个一定规模的可查编号的词典。其中某个词语在该词典中出现的序号就是它在特征向量中的维度。对于一个数据集中某一条特定的微博文本,经过分词后,该词语出现一次,就将该词语对应的特征向量维度填入某个值,从而实现词语的特征向量表示。

但是,如果把文本中出现的所有词语都当作一个向量,随着数据量的增加,会产生巨大的特征维数。选取大量的特征对分类器进行训练,会使训练数据数量显得相对不足,反而会降低分类效果,导致分类模型失效。对分类器作用较大的往往都是少量特征,大部分特征是冗余的,在预处理过程中虽然已经去掉了一部分噪声信息,但仍存在许多对分类结果没有贡献的特征,这会导致计算量的增大,造成资源浪费。因此,需要在保持文本信息不丢失的情况下尽可能减少要处理的特征,使空间向量的维数降低,达到提升分类效果和提高计算效率的目的,这个过程就被称作特征选取,或特征抽取、特征降维。

选取出的特征应该具有如下特点:对待分类文本的区分能力强,包含足够的信息量用以表示文本信息,且容易实现分离。chi统计通过衡量特征与类别之间的关联程度来进行特征选取,是一种文本分类领域常用的特征选择方法。若特征t与类别ci相互独立,则表明特征t对类别ci完全没有表征作用,即不能用特征t判断该文本是否属于类别ci。chi统计值的计算公式如下:

其中,n表示数据集中的文本总数,n11表示该文本中包含特征t且类别是ci的文本数,n10表示该文本中包含特征t但类别不是ci的文本数,n01表示该文本中不包含特征t且类别是ci的文本数,n00表示该文本中不包含特征t且类别不是ci的文本数。

最佳特征维数取决于分类准确率。按照式(1)计算数据集中每一个特征的chi统计值,并按照大小进行排序,然后分别选取chi统计值大小为前n个、2n个……数n个特征维数下的特征,并分别计算每一特征维数下所有正向情感文件和负向情感文件的准确率、召回率、f值以及综合准确率,最后选取最高综合准确率对应的特征维数为最佳特征维数。

例如,当分类器选取为svm时,分别选取chi统计值的大小为前500、1000、1500、2000、2500、3000的特征,并分别计算每一特征维数下所有正向情感文件和负向情感文件的准确率、召回率、f值以及综合准确率,实验结果如表1所示。从实验结果中可以看出,svm分类器在特征维数等于1000时取得了最佳效果,验证了上述特征选择的有效性,可以依赖少量的信息量丰富的特征降低运算量,达到理想的分类准确率。

表1不同特征维数的实验结果

(3)根据上述步骤(2)选取的特征,对上述步骤(1)中得到的语句进行特征权重表示,构建出每条微博文本对应的特征向量;

特征选取完毕之后,需要对特征进行赋值以形成最终的特征向量,即特征权重表示,本方法验证了布尔值和tf-idf两种特征表示方法。

1)布尔值:

该方法定义了一个二值函数f:t→{0,1},采用布尔表达式对语句进行表示。在某个语句中特征向量的权重是一个布尔值,语句表示的结果是0和1的集合,又称为one-hot编码方式。即对于某一个语句d={f(t1),f(t2),…,f(tn)},

2)词频逆文本频率(tf-idf):

tf-idf综合了词频和逆文本频率两种特征权重的性质,词频选择特征在语句中出现的次数作为该词语表示的特征向量维度的权重,逆文本频率的表达式如(3)所示,其中n表示训练集中的样本总数,dfi表示含有特征ti的语句总数。tf-idf计算公式如式(4)所示:

以svm分类器为例,选取chi统计值为前1000的特征,为了验证不同特征表示方法的实验效果,分别将布尔值和tf-idf用于特征表示,实验结果如表2所示。

表2不同特征权重表示方法的实验结果

从实验结果中可以看出,svm分类器在选取tf-idf表示时对负向情感文本的分类情况不理想,综合分析语句特点,得出原因为在微博文本表达中,正向情感文本表达丰富,而负向情感文本表达方式较少,且负向倾向不如正向明显。基于这种情况本发明对特征选取方法进行改进,用tf-idf作为正向情感文本的特征权重表示方法,用布尔值作为负向情感文本的特征权重表示方法,取得了良好的效果,如表3所示。

表3两种特征权重表示方法结合的实验结果

两种特征表示方法结合的方式使实验结果明显提高,验证了tf-idf权重表示方式的有效性。由于测试数据需要选取与训练数据相同的特征权重表示方式,本方法中测试数据已知标签,但这种方法无法用于对未知标签的文本预测,没有实际应用价值。因此,本发明选择布尔值作为权重表示方法。

(4)将步骤(3)中得到的特征向量输入到支持向量机、决策树和朴素贝叶斯三种不同的基本分类器中进行情感极性判别,由此对基本分类器进行训练,获得不同基本分类器的准确率;

支持向量机(svm)是一种针对线性分类的最佳准则,通过非线性映射把样本映射到高维空间中,从而将原本的线性不可分问题转化为高维空间的线性可分问题。由于svm在解决非线性和小样本的模式识别问题中优势明显,因此被广泛应用在图像分类、手写字识别、文本分类及生物特征识别等领域,并取得了良好的效果。

决策树(decisiontree)是一种根据概率分析的图解实现决策的树形结构算法。决策树的构成包括结点和有向边,其中结点分为内部结点和叶子结点,内部节点为特征或属性,外部结点为某一类别。

朴素贝叶斯算法是统计学中贝叶斯决策理论的一部分,它根据统计知识判断某一预测样本所属的分类。贝叶斯推断建立在主观判断的基础上,即可以不需客观依据先估计出一个值,然后根据实际结果不断修正,具有计算速度快的优点。

为了验证不同基本分类器的实验效果,选取chi统计值前1000的特征,布尔值用于特征权重表示,三种基本分类器的实验结果如表4所示。从实验结果中可以看出,在特征选取和特征权重表示方法相同的情况下,朴素贝叶斯分类器和svm分类器均取得了良好的效果,决策树分类器准确率较低。

表4不同基本分类器的实验结果

(5)将步骤(4)中经过训练的基本分类器应用adaboost学习方法进行提升,并将提升后的分类器与上述基本分类器的准确率相比来判断是否有提高,若有提高,保留应用adaboost后的分类器,否则保留基本分类器;

首先采用adaboost学习方法对经过训练的基本分类器进行提升,adaboost(adaptiveboosting)是提升(boosting)方法的一种。对分类问题来说,找到一个粗糙的分类规则,即弱分类器要比找到一个精确的分类规则,即强分类器要容易,提升方法就是从弱分类器开始,反复迭代得到强分类器的过程。adaboost的做法是,关注前一轮弱分类器中被错误分类的样本,把错分类的样本权重提高,同时把正确分类的样本权重降低,调整权重后再进行下一个分类器的训练。

由于adaboost对弱分类器的提升效果明显,对强分类器效果较差,需要对比提升前后分类器的准确率是否得到提高。若准确率持平,则放弃本步骤,以减小计算量,只保留准确率得到提高的分类器。

为了验证利用adaboost学习方法对朴素贝叶斯、支持向量机和决策树分类器的提升效果,将布尔值和tf-idf用于特征表示,选取chi统计值为前1000的特征,分别对三种分类器使用adaboost进行提升,提升前后的实验结果如表5所示。

表5对不同基本分类器进行adaboost提升前后的实验结果

从实验结果可以看出,adaboost学习方法对朴素贝叶斯和svm的提升结果远远没有对决策树分类器的提升效果明显。因为朴素贝叶斯和svm分类器已经达到了强分类器的水平,而决策树分类器与前两种分类器相比,算法流程简单,计算量小,作为基本分类器效果不佳,因此用adaboost学习后效果改善明显。为了避免计算资源的浪费,通过本实验后,只对决策树分类器进行adaboost学习,用于后续分类器融合步骤。

(6)将步骤(5)得到的基本分类器和应用adaboost提升后的分类器进行加权融合,最终得到微博文本情感极性。

分类器加权融合的过程是选择不同种类的分类器对同一数据集进行训练,再通过合适的度量方法将这些分类器的结果组合在一起,克服单一分类器的固有缺陷,达到准确率提升的目的。加权融合为不同分类器设置权重,将分类器判定的概率函数乘以其对应的权值后进行汇总来得到最终结果。假设xi为第i个分类器,ppos(i)为第i个分类器的正向情感文本准确率,pneg(i)为第i个分类器的负向情感文本准确率,p(pos|xi)和p(neg|xi)分别为第i个分类器将待测微博文本分为正向情感文本和负向情感文本的概率,p(pos)和p(neg)分别为最终分类器将待测微博文本分为正向情感文本和负向情感文本的概率,计算公式如(5)、(6)所示。

当p(pos)>p(neg)时,判断该微博文本为正向情感文本,反之为负向情感文本。

经过对分类器、特征选择、特征权重表示和adaboost提升效果的验证,本方法选定为以朴素贝叶斯、svm和经过adaboost提升后的决策树分类器进行加权融合,实验结果如表6所示。

表6本方法最终实验结果

从实验结果中可知,利用本发明提供的基于adaboost和分类器加权投票的情感极性判别方法获得的正向情感文本、负向情感文本的f值和综合准确率与上述步骤中任意方法相比,都达到了最高水平。经过加权投票规则的分类器融合后,结合了三种基本分类器的优势,从而取得了最佳效果。

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