一种基于松散条件下协同学习的中文微博情感分析方法转让专利

申请号 : CN201810091745.1

文献号 : CN108228569B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李玉强孙念黎威威

申请人 : 武汉理工大学

摘要 :

本发明涉及一种基于松散条件下协同学习的中文微博情感分析方法,包括:(1)构建初始已标注微博数据集L和未标注微博数据集U;(2)对已标注数据集L和未标注数据集U进行特征提取;(3)构造SVM分类器C1和LSTM分类器C2,利用已标注数据集L对C1、C2分别进行训练;(4)利用训练好的两个分类模型对未标注数据集U进行预测;(5)选择未标注样本加入到训练集,以修正分类模型。本发明的优点在于充分考虑了文本中不确定性和置信度这些信息量,从而能选取对两个分类模型最有帮助的样本数据进行人工标注以减少噪声样本的引入;并且分别从词法信息要素的角度和文本上下文相关的语法角度来构造协同学习的框架,提高分类的准确率。

权利要求 :

1.一种基于松散条件下协同学习的中文微博情感分析方法,其特征在于,包括如下步骤:

步骤1、构建初始已标注微博数据集L和未标注微博数据集U,具体是:从NLP&CC提供的中文微博情感标注语料集得到L′+P2+Q2+W条已标注微博,并从已标注微博语料集中随机选取P1条积极微博和Q1条消极微博作为训练集,再选取P2条积极微博和Q2条消极微博作为测试集,剩下的W条已标注微博作为不确定性样本数据集;

步骤2、对已标注微博数据集L和未标注微博数据集U进行特征提取,特征提取包含:分词、去停用词、特征提取、特征加权,具体是从文本的向量空间模型VSM表示和词向量的分布式特征两个视图进行提取,特征提取基于CHI特征选择,CHI特征选择通过度量特征项t和情感类别c之间的关联度,具体计算公式如下:其中,公式中各个参数的含义,说明如下:M表示已标注微博数据集L中微博的总数;A表示属于类别c,且包含特征项t的微博的数量;B表示不属于类别c,且包含特征项t的微博的数量;C表示属于类别c,但不包含特征项t的微博的数量;D表示不属于类别c,且不包含特征项t的微博的数量;特征加权基于TF-IDF权重计算方法,TF表示某一个特征项在该微博中出现的频率,特征项t的TF值具体计算公式如下:其中,nt,j表示特征项t在微博j中出现的次数,∑knk,j表示微博j中所有特征项出现的次数之和;

IDF表示的是反文档频率,是指如果包含某个特征项的微博越少,IDF越大,说明该特征项具有很好的类别区分能力,特征项t的IDF值具体计算公式如下:其中,N表示所有微博总数,Nt表示包含特征项t的微博总数;TF-IDF的计算公式如下:

TF-IDF=TF*IDF

步骤3、构造SVM分类器C1和LSTM分类器C2,利用已标注微博数据集L对C1、C2分别进行训练,具体是:SVM分类器采用LibSVM工具包实现,LSTM分类模型中,采用word2vec模型训练得到的词向量作为输入,设置词向量的维数,输出包含整个微博文本词序列信息的实值向量,最后利用Softmax函数来得到文本的情感极性;

步骤4、利用训练好的分类模型对未标注微博数据集U进行预测,具体方法是:利用训练好的两个分类模型分别对未标注微博数据集U进行预测,预测值的范围控制在[-1,1]区间,越接近-1说明微博的消极程度越高,越接近1说明微博的积极程度越高,将预测后得到的两个预测置信度进行取平均值得到整体预测置信度;

步骤5、选择未标注样本加入到训练集,以修正分类模型;其中,未标注样本是根据不确定性最高策略和置信度最高策略相结合进行选择,具体包括:首先根据步骤4中的整体预测置信度大小,将样本进行降序排列,选取前m个样本,即为置信度最高的m个样本加入到已标注微博数据集L中;然后选取不确定性最高的n个样本,交由人工标注后,加入到已标注微博数据集L中;其中,不确定性权值的计算公式为:其中,Uncertain(d)表示样本d的不确定性权值,pos表示情感极性为积极的微博样本,neg表示情感极性为消极的微博样本,neu表示情感极性为中性的微博样本,p(yi|d)表示样本d属于类别yi的分类置信度。

说明书 :

一种基于松散条件下协同学习的中文微博情感分析方法

技术领域

[0001] 本发明属于文本情感分析技术领域,尤其涉及一种基于松散条件下协同学习的微博情感分析方法。

背景技术

[0002] 伴随着Web2.0时代的飞速发展,互联网上出现了大量带有情感色彩的文字,微博作为一种以社交方式搭建的平台为大众所接受,且成为信息传播、舆情监控的重要平台。通过对微博情感信息的分析,可以及时掌握用户的态度,这是掌握网络舆情的一个重要手段途径。微博情感分析主要是利用用户发布的微博数据对用户情感倾向加以分析和挖掘,识别出用户发布的文本情感极性,如高兴、悲伤、中立等。
[0003] 在实际分类问题中,能够使用的已标注样本数据少之又少,多数学者选择通过利用未标注数据来解决这个问题,利用未标注数据的主流学习技术分为三种:半监督学习、主动学习和直推学习。半监督学习方法是目前最受国内外学者欢迎的基于机器学习的方法,它采取综合少量已标注样本和大量未标注样本来提高学习性能的机器学习方法,兼顾了人工标注成本和学习效果,被视为监督学习和无监督学习的一种折中方案。在最早的协同学习算法被提出后,很多研究者对其进行了研究并取得了很多进展,使得协同学习成为半监督学习中最重要的风范。
[0004] 主动学习的思想是,在训练过程中,从未标记样本中找出含有较多分类信息的样本,优先标注这些样本,从而让分类系统获得较大的信息增益。主动学习算法的样本数据选择策略是一大研究热点。按照获取样本的工作方式不同可将现有的样本选择策略分为基于流和基于池的策略。在基于流的选择策略中,未标注的样本以数据流的方式逐个提交给学习者,由学习者实时决定是否需要标注当前提交的样本;而在基于池的选择策略中,学习者根据样本选择策略从一个含有未标注样本的历史数据池中选择当前需要标注的样本。但是目前的研究主要是针对单一的选择策略,没有考虑利用文本中的其他信息量,例如置信度。
[0005] Blum等提出的协同学习算法,基于这样的强假设:特征充分且冗余,即满足下列条件的两个特征集:1)一致性,每一个特征集都包含足够的分类信息进行分类学习且分类器的目标函数在每个特征集上都能够训练出一个强分类模型;2)独立性,两个特征集相互条件独立。在特征充分和冗余的情况下,可将其进行自然分裂或合理地划分,此时,协同学习要优于其他半监督学习。但是,在大多数情况下,特征充分冗余的要求往往很难得到满足,所以研究者试图寻找协同学习的变种,来降低这一要求。

发明内容

[0006] 鉴于现有的主动学习样本选择策略单一的问题,围绕半监督学习算法中的协同学习算法,提出利用主动学习的思想对协同学习的自标注样本进行选择,采用不确定性选择策略与最高置信度选择策略相结合的方法选择样本数据加入到训练数据集中,以充分利用样本的信息量。并在此基础上,针对协同学习算法中,充分冗余的特征视图难以满足的这一问题,提出一种基于SVM算法和LSTM算法的松散条件下的协同学习算法模型,来提高中文微博的情感分类的准确率。
[0007] 一种基于松散条件下协同学习的中文微博情感分析方法,其特征在于,包括如下步骤:
[0008] 步骤1、构建初始已标注微博数据集L和未标注微博数据集U,具体是:从NLP&CC提供的中文微博情感标注语料集得到L+P+Q+W条已标注微博,并从从已标注微博语料集中随机选取M条积极微博和N条消极微博作为训练集L,再选取P条积极微博和Q条消极微博作为测试集,剩下的W的条已标注微博作为不确定性样本数据集;
[0009] 步骤2、对已标注微博数据集L和未标注微博数据集U进行特征提取,特征提取包含:分词、去停用词、特征提取、特征加权,具体是从文本的向量空间模型VSM表示和词向量的分布式特征两个视图进行提取,特征提取基于CHI特征选择,CHI特征选择通过度量特征项t和情感类别c之间的关联度,具体计算公式如下:
[0010]
[0011] 其中,公式中各个参数的含义,说明如下:N表示训练集L中微博的总数;A表示在类别c中,包含特征项t的微博数量;B表示类别c中,排除该类别,其他类别包含特征项t的微博的数量;C表示在类别c中,不包含特征项t的微博的数量;D表示在类别c中,不包含特征项t也不在该类别中的微博数量。特征加权基于TF-IDF权重计算方法,TF表示某一个特征项在该微博中出现的频率,特征项t的TF值具体计算公式如下:
[0012]
[0013] 其中,nt,j表示特征项t在微博j中出现的次数,∑knk,j表示微博j中所有特征项出现的次数之和。
[0014] IDF表示的是反文档频率,是指如果包含某个特征项的微博越少,IDF越大,说明该特征项具有很好的类别区分能力,特征项t的IDF值具体计算公式如下:
[0015]
[0016] 其中,N表示所有微博总数,Nt表示包含特征项t的微博总数。TF-IDF的计算公式如下:
[0017] TF-IDF=TF*IDF
[0018] 步骤3、构造SVM分类器C1和LSTM分类器C2,利用已标注微博数据集L对C1、C2分别进行训练,具体是:SVM分类器采用LibSVM工具包实现,LSTM分类模型中,采用word2vec模型训练得到的词向量作为输入,设置词向量的维数(这里设置50),输出包含整个微博文本词序列信息的实值向量,最后利用Softmax函数来得到文本的情感极性;
[0019] 步骤4、利用训练好的分类模型对未标注微博数据集U进行预测,具体方法是:利用训练好的两个分类模型分别对未标注微博数据集U进行预测,预测值的范围控制在[-1,1]区间,越接近-1说明微博的消极程度越高,越接近1说明微博的积极程度越高,将预测后得到的两个预测置信度进行取平均值得到整体预测置信度。
[0020] 步骤5、选择未标注样本加入到训练集,以修正分类模型。其中,未标注样本是根据不确定性最高策略和置信度最高策略相结合进行选择,具体包括:首先根据步骤4中的整体预测置信度大小,将样本进行降序排列,选取前m个样本,即为置信度最高的m个样本加入到已标注微博数据集L中;然后选取不确定性最高的n个样本,交由人工标注后,加入到已标注微博数据集L中。其中,不确定性权值的计算公式为:
[0021]
[0022] 其中,Uncertain(d)表示样本d的不确定性权值,pos表示情感极性为积极的微博样本,neg表示情感极性为消极的微博样本,neu表示情感极性为中性的微博样本,p(yi|d)表示样本d属于类别yi的分类置信度。
[0023] 本发明的优点在于:(1)充分考虑了文本中不确定性和置信度这些信息量,从而能选取对两个分类模型最有帮助的样本数据进行人工标注以减少噪声样本的引入。(2)分别从词法信息要素的角度和文本上下文相关的语法角度来构造协同学习的框架,提高分类的准确率。

附图说明

[0024] 图1为松散条件下的协同学习框架图。
[0025] 图2为不确定策略与置信度最高策略相结合的选择策略框架图。
[0026] 图3为松散条件下协同学习算法流程图。

具体实施方式

[0027] 下面结合附图和具体实施方式对本发明做进一步的描述。
[0028] 如图1所示,本发明实施例提供一种基于松散条件下协同学习的中文微博情感分析方法,包括以下步骤:
[0029] (1)构建初始已标注微博数据集L和未标注微博数据集U(标注表示对文本进行分类;已标注微博表示已经进行了情感分类的微博;未标注微博表示没有进行情感分类的微博):
[0030] 数据集融合了NLP&CC 2015和NLP&CC 2016提供的中文微博情感标注语料集,最后得到16155条已标注微博(8055条积极微博,8100条消极微博)。
[0031] 从已标注微博语料集中随机选取3055条积极微博和3100条消极微博作为训练集L,再选取3000条积极微博和3000条消极微博作为测试集,剩下的4000的条已标注微博作为不确定性样本数据集;
[0032] (2)对已标注数据集L和未标注数据集U进行特征提取:
[0033] 对两个数据集中的数据做文本预处理工作,删除特殊字符和文本中存在的微博表情符号,对微博文本进行分词处理并删除停用词和标点符号。例如,处理前的微博文本如下所示:今天是二十四节气中的小雪,真冷,但是看见下雪了我好开心啊;处理后的微博如下所示:节气/小雪/真冷/下雪/好/开心/。
[0034] 利用向量空间模型将已经提取好的微博文本表示出来,利用TF-IDF权重计算方法得到特征向量中每个关键词的权重;利用词向量的分布式特征进行另一个角度的特征提取。
[0035] (3)利用SVM算法和LSTM算法构造SVM分类器C1和LSTM分类器C2,分别对两个角度提取的所有特征向量进行训练;当训练得到的情感分类正确率达到设置的精度时停止,例如0.95,表示该分类器已经达到训练终止条件。
[0036] (4)利用训练好的两个分类模型对未标注数据集U进行预测(预测过程即svm算法和lstm算法流程),预测时两个分类器会对同一个向量生成两个预测值,此时取这两个预测值的平均值作为整体预测值。
[0037] (5)选择未标注样本加入到训练集,以修正分类模型,其中包括:
[0038] 对数据集中所有数据进行预测后得到的总体预测值的绝对值大小进行降序排序,例如:0.94,-0.27,0.64,0.58,,-0.44,0.97,0.96,排序后得到:0.97,0.96,-0.94,0.64,0.58,-0.44,-0.27,选取前m个样本加入到已标注样本集中,完成置信度最高的选择策略。
[0039] 再取后n个样本进行人工标注后加入到已标注样本中,完成不确定性最高的选择策略,此处后n个样本为置信度最低,即不确定性最高的样本。不确定性权值的计算公式为:
[0040]
[0041] 其中,p(yi|d)表示样本d属于类别yi的分类置信度,通常选取不确定性最高的样本,即分类
[0042] 置信度最低的未标注样本,进行人工标注后加入到训练集中。
[0043] 回到步骤(4)进行下一轮迭代,直至达到终止条件。
[0044] 基于真实的数据集实验,获得分类正确率,将步骤(1)、步骤(2)和步骤(3)中得到的真实数据,应用于步骤(4)和步骤(5)的完整算法中,为每条微博数据进行分析,将分析的结果与人工标注的结果进行比对,采用准确率、召回率、F值作为微博极性评判的标准。
[0045] 为验证本发明的有效性,以及与传统微博情感分析方法相比性能的优劣,进行了对比实验,得到的实验数据如表1和表2所示。
[0046] 表1 基于SVM的主动学习算法的F1值
[0047]
[0048]
[0049] 表2 松散条件下的协同学习算法的F1值
[0050]
[0051] 学习步长相同且迭代次数相同的情况下,表2中协同学习算法的F1值的平均值总是高于表1中对应的F1值的平均值,说明协同学习的分类效果整体要优于基于SVM的主动学习算法。本文提出的松散条件下的协同学习算法在整体性能较主动学习提升了接近8%。主要原因是协同学习结合了SVM分类器和LSTM分类器,协同学习框架中两个分类器在迭代过程中不断将各自的分类信息传递给对方,彼此之间相互学习,致使分类性能有所提升。
[0052] 本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。