CN110134947A - 一种基于不平衡多源数据的情感分类方法及系统 - Google Patents

一种基于不平衡多源数据的情感分类方法及系统 Download PDF

Info

Publication number
CN110134947A
CN110134947A CN201910307654.1A CN201910307654A CN110134947A CN 110134947 A CN110134947 A CN 110134947A CN 201910307654 A CN201910307654 A CN 201910307654A CN 110134947 A CN110134947 A CN 110134947A
Authority
CN
China
Prior art keywords
data
training
model
loss function
neural network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910307654.1A
Other languages
English (en)
Other versions
CN110134947B (zh
Inventor
李鹏霄
时磊
张琳
王海洋
程光
柳毅
赵媛
赵晓航
王元杰
王艳华
李雪梅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
National Computer Network and Information Security Management Center
Original Assignee
Institute of Computing Technology of CAS
National Computer Network and Information Security Management Center
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS, National Computer Network and Information Security Management Center filed Critical Institute of Computing Technology of CAS
Priority to CN201910307654.1A priority Critical patent/CN110134947B/zh
Publication of CN110134947A publication Critical patent/CN110134947A/zh
Application granted granted Critical
Publication of CN110134947B publication Critical patent/CN110134947B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提出一种基于不平衡多源数据的情感分类方法,包括:获取来自多个数据源的训练数据,其中训练数据包含多条文本数据,每条文本数据具有情感类型标签和其对应的数据源;按数据源对训练数据进行分类,以集合每个数据源对应的文本数据作为第一数据集,根据每个第一数据集中各情感类型标签的数量,统计每个第一数据集中情感类型的标准差,选择标准差最小的第一数据作为预训练集,其余第一数据集作为后续训练集;以预训练集训练神经网络模型的权值直到损失函数收敛,输出神经网络模型作为预分类模型,以后续训练集继续训练预分类模型直到损失函数收敛,输出预分类模型作为最终分类模型;将待情感分类文本数据输入最终分类模型,得到其情感类型。

Description

一种基于不平衡多源数据的情感分类方法及系统
技术领域
本发明涉及文本分析领域,具体涉及一种基于不平衡多源数据的情感分类方法及系统。
背景技术
情感分类是情感分析技术的核心问题,其目标是判断评论中的情感取向,按区分情感的粒度可分为两种分类问题:1)正/负(positive/negative)二分类或者正面/负面/中立(positive/negative/neutral)三分类。2)多元分类,如对新闻评论进行“乐观”、“悲伤”、“愤怒”、“惊讶”四元情感分类,对商品评论进行1星~5星五元情感分类等。
按技术路线分为5类:1)基于词典的方法2)基于机器学习的方法3)词典与机器学习混合的方法4)基于弱标注信息的方法5)基于深度学习的方法。
基于词典方法的核心模式是“词典+规则”,即以情感词典作为判断情感极性的主要依据,同时兼顾评论数据中的句法结构,设计相应的判断规则(如but从句与主句情感极性相反)基于词典的情感分类方法本质上依赖于情感词典和判断规则的质量,而两者都需要人工设计。因此这类方法的优劣很大程度上取决于人工设计和先验知识,推广能力较差。
基于机器学习技术的情感分类研究工作:1)特征发明是此类研究工作的核心。情感分类任务中常用到的特征有n-gram特征(unigrams,bigrams,trigrams)、Part-of-Speech(POS)特征、句法特征、TF-IDF特征等,但是该方法依赖人工设计,受人为因素影响,推广能力差,在某一领域表现优秀的特征不一定在其他领域也表现优秀。2)基于机器学习的情感分类方法多使用经典分类模型如支持向量机、朴素贝叶斯、最大熵模型等,其中多数分类模型的性能依赖于标注数据集的质量,而获取高质量的标注数据需要耗费大量的人工成本。
词典与机器学习混合的情感分类方法思路有两种:1)将“词典+规则”视为简单的分类器,然后融合多种不同分类器进行情感分类2)将词典信息作为一种特征与现有特征(句法特征、POS特征等)进行结合,然后选择最优的特征组合进行情感分类。
基于弱标注信息的情感分类方法从用户产生的数据中挖掘有助于训练情感分类器的信息,如评论的评分、微博中的表情符号等。由于互联网用户的“标注”行为没有统一标准,具有较大的随意性,所以将这种标注信息称为弱标注信息。
基于深度学习的情感分类方法,针对情感分类问题的机器学习方法有两个步骤:1)从海量评论语料中学习出语义词向量2)通过不同的语义合成方法用词向量得到所对应句子或文档的特征表达。
韩东红等在基于情感词典的分类方法上,加入微博情感表情特征,采用朴素贝叶斯算法训练分类器建立基于情感词典和情感表情的朴素贝叶斯分类分类算法SL-SE-NB。
张树武等提出一种基于卷积注意力机制网络的实体级别情感分类方法,所述方法通过对目标文本进行处理获得文本矩阵以及目标实体向量;将文本矩阵以及目标实体向量进行预处理获得文本特征向量;将文本特征向量以及文本矩阵进行预处理获得新的文本特征向量;重复M次步骤S30,获得M次文本特征向量;将所有文本特征向量拼接后进行线性变换,输入激活函数,获得文本属于各个感情类别的概率。
在文本情感分类传统模型的思路简单易懂,而且稳定性也比较强,然而存在着两个难以克服的问题:一、精度问题,传统思路差强人意,若进一步提高精度,却缺乏比较好的方法;二、背景知识问题,传统思路需要事先提取好情感词典,而这一步骤,往往需要大量的人工操作才能保证准确率,并且做这个事情的人,不仅仅要是数据挖掘专家,还需要语言学家,这个背景知识依赖性问题会阻碍着自然语言处理的进步。深度学习很大程度上解决了这个问题,它允许人们在几乎“零背景”的前提下,为某个领域的实际问题建立模型。
发明内容
本发明的目的是解决微信、微博、网页数据情感分类问题,提出一种基于微信、微博网页数据情感分类的神经网络设计。网络由三部分串联组成,分别为嵌入(embedding)层、循环神经网络(RNN)层、全连接层。Embedding层后再送入RNN层,RNN层每个门控循环单元(GRU)的输入都是200个神经元,输出256个神经元,共有两层,两层间使用了p=0.5的随机失活(dropout)。将每层中最后一个GRU的输出拼起来作为全连接层的输入,即全连接层的输入为512个神经元。全连接层具体结构为512—dropout—512—100—ReLU—dropout—100—32—ReLU—dropout—32—4,最后输出的四个神经元可以看作输入文章属于四类中每一类的可能性的表示。本发明在训练数据构建方面通过复制或削减数据达到数据的均衡,设置不同的参数值及损失函数权重,并采用了分层、分时段的学习率的策略。实验显示这样做能显著地提升模型表现。
针对现有技术的不足,本发明提出一种基于不平衡多源数据的情感分类方法,其中包括:
步骤1、获取来自多个数据源的训练数据,其中该训练数据包含多条文本数据,每条该文本数据具有情感类型标签和其对应的数据源;
步骤2、按数据源对该训练数据进行分类,以集合每个数据源对应的文本数据作为第一数据集,根据每个该第一数据集中各情感类型标签的数量,统计每个该第一数据集中情感类型的标准差,选择标准差最小的第一数据作为预训练集,其余第一数据集作为后续训练集;
步骤3、以该预训练集训练神经网络模型的权值直到损失函数收敛,输出该神经网络模型作为预分类模型,以该后续训练集继续训练该预分类模型直到损失函数收敛,输出该预分类模型作为最终分类模型;
步骤4、将待情感分类的文本数据输入至该最终分类模型,以得到该待情感分类的文本数据的情感类型。
所述的基于不平衡多源数据的情感分类方法,其中步骤3中该神经网络模型由embedding层、RNN层、全连接层串联组成,该RNN层每个GRU的输入均是200个神经元,输出256个神经元,共有两层该RNN层,将每层中最后一个GRU的输出拼接后作为该全连接层的输入。
所述的基于不平衡多源数据的情感分类方法,其中步骤3中该损失函数为:
式中x[j]表示全连接层最后一层j个神经元的输出,class表示该情感类型标签,x[class]是该情感类型标签对应的神经元输出,weight该情感类型标签对应的权重。
所述的基于不平衡多源数据的情感分类方法,其中该步骤3还包括:在计算出该损失函数后,通过下式更新该神经网络模型或该预分类模型中权值:
式中θ为权值,L(θ)为损失函数,α为学习率。
所述的任意一种基于不平衡多源数据的情感分类方法,该步骤3包括:
步骤31、集合预设数量的文本数据作为输入正向传播后,会计算该损失函数,之后进行反向传播调整神经网络模型的参数使该损失函数最小化;
步骤32、判断神经网络模型是否收敛,若是,则终止训练,保存当前该神经网络模型的参数,否则判断反向传播的次数是否达到预设阈值,若是,则终止训练,保存当前该神经网络模型的参数,否则继续执行该步骤31。
本发明还提出了一种基于不平衡多源数据的情感分类系统,其中包括:
模块1、获取来自多个数据源的训练数据,其中该训练数据包含多条文本数据,每条该文本数据具有情感类型标签和其对应的数据源;
模块2、按数据源对该训练数据进行分类,以集合每个数据源对应的文本数据作为第一数据集,根据每个该第一数据集中各情感类型标签的数量,统计每个该第一数据集中情感类型的标准差,选择标准差最小的第一数据作为预训练集,其余第一数据集作为后续训练集;
模块3、以该预训练集训练神经网络模型的权值直到损失函数收敛,输出该神经网络模型作为预分类模型,以该后续训练集继续训练该预分类模型直到损失函数收敛,输出该预分类模型作为最终分类模型;
模块4、将待情感分类的文本数据输入至该最终分类模型,以得到该待情感分类的文本数据的情感类型。
所述的基于不平衡多源数据的情感分类系统,其中模块3中该神经网络模型由embedding层、RNN层、全连接层串联组成,该RNN层每个GRU的输入均是200个神经元,输出256个神经元,共有两层该RNN层,将每层中最后一个GRU的输出拼接后作为该全连接层的输入。
所述的基于不平衡多源数据的情感分类系统,其中模块3中该损失函数为:
式中x[j]表示全连接层最后一层j个神经元的输出,class表示该情感类型标签,x[class]是该情感类型标签对应的神经元输出,weight该情感类型标签对应的权重。
所述的基于不平衡多源数据的情感分类系统,其中该模块3还包括:在计算出该损失函数后,通过下式更新该神经网络模型或该预分类模型中权值:
式中θ为权值,L(θ)为损失函数,α为学习率。
所述的任意一种基于不平衡多源数据的情感分类系统,该模块3包括:
模块31、集合预设数量的文本数据作为输入正向传播后,会计算该损失函数,之后进行反向传播调整神经网络模型的参数使该损失函数最小化;
模块32、判断神经网络模型是否收敛,若是,则终止训练,保存当前该神经网络模型的参数,否则判断反向传播的次数是否达到预设阈值,若是,则终止训练,保存当前该神经网络模型的参数,否则继续执行该模块31。
由以上方案可知,本发明的技术效果在于:
本发明在微博、微信、网页数据不均衡的情况下,通过复制或削减数据达到数据的均衡。并计算损失函数时对类别施以不同的权重。在训练微信和网页的网络时是加载微博的网络进行训练,而不是重新初始化一个新网络训练。实验显示这样做能显著地提升模型表现。
微博模型在验证集上的结果F1值为97.70%,平衡错误率BER为0.54%,查准率PRC95.74%,查全率REC99.74%,真阳性TPR99.74%,真阴性TNR 99.19%。
微信模型在验证集上的结果F1值为99.39%,平衡错误率BER为1.21%,查准率PRC91.96%,查全率REC99.97%,真阳性TPR 99.97%,真阴性TNR 99.92%。
网页模型在验证集上的结果F1值为94.96%,平衡错误率BER为0.06%,查准率PRC98.81%,查全率REC98.17%,真阳性TPR 98.17%,真阴性TNR99.42%。
在验证集上的结果我们可以看到F1值、查准率PRC、查全率REC、真阳性TPR、真阴性TNR均较高,平衡错误率BER较低。说明模型在不均衡数据上取得了不错的效果。
附图说明
图1为本发明网络结构图;
图2为本发明训练流程图;
图3为微博验证结果图;
图4为微信验证结果图;
图5为网页验证结果图。
具体实施方式
本发明的最初灵感来源于实际项目,项目中使用的数据包括微信、微博及网页数据,各种感情色彩的数据存在分布不均衡的现象,因此在处理数据的过程中使用复制及部分选取数据的方法。GRU可以看作LSTM的简化版本,由于参数量更小、运算量更小因此能节约训练时间且更不容易过拟合,本发明的方法基于GRU算法。为了达到更好的情感分类性能,在参数设置、模型选择及学习策略等方面进行尝试,最终提出了本发明中的方法。
本发明提出一种基于GRU的深度学习模型,在训练数据构建方面通过复制或削减数据达到数据的均衡,设置不同的参数值及损失函数权重,并采用了分层、分时段的学习率的策略。实验显示这样做能显著地提升模型表现。为让本发明的上述特征和效果能阐述的更明确易懂,下文特举实施例,并配合说明书附图作详细说明如下。
本发明本发明提出的一种利用深度学习GRU进行情感分类的方法。数据来源为存储在ElasticSearch中的微信、微博及网页数据。网络由三部分串联组成,分别为embedding层、RNN层、全连接层。Embedding层后再送入RNN层,RNN层每个GRU的输入都是200个神经元,输出256个神经元,共有两层GRU,两层间使用了p=0.5的dropout。将每层中最后一个GRU的输出拼起来作为全连接层的输入,即全连接层的输入为512个神经元。全连接层具体结构为512—dropout—512—100—ReLU—dropout—100—32—ReLU—dropout—32—4,最后输出的四个神经元可以看作输入文章属于四类中每一类的可能性的表示。
所谓过拟合(over-fitting)其实就是所建的机器学习模型或者是深度学习模型在训练样本中表现得过于优越,导致在验证数据集以及测试数据集中表现不佳。过拟合是深度学习的常见问题。dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃。如dropout=0.5,在每次训练的时候使用dropout,每个神经元有百分之五十的概率被移除,这样可以使得一个神经元的训练不依赖于另外一个神经元,同样也就使得特征之间的协同作用被减弱,从而通过阻止某些特征的协同作用来缓解过拟合。
ReLu代表线性整流函数(Rectified Linear Unit,ReLU),引入Relu的目的包括:第一,采用sigmoid等函数,算激活函数时(指数运算),计算量大,反向传播求误差梯度时,求导涉及除法,计算量相对大,而采用Relu激活函数,整个过程的计算量节省很多。第二,对于深层网络,sigmoid函数反向传播时,很容易就会出现梯度消失的情况,这种情况会造成信息丢失。第三,Relu会使一部分神经元的输出为0,这样就造成了网络的稀疏性,并且减少了参数的相互依存关系,缓解了过拟合问题的发生。
网络结构图如图1所示。所进行的的实验包含三个步骤:预处理、模型训练和性能评价。
步骤1、预处理:
从ElasticSearch中导出微信、微博及网页数据,对其进行预处理,去除转义字符、网页链接等,并进行分词。处理后的得到的微博、微信及网页数据的各类数据如下表1所示。其中不属于负、正、中的其他情绪本申请将其看成噪音,比如广告。情感分类的对象在微博中是一条微博,网页则是的包含title和正文内容,微信则是一条微信。
表1微博、微信及网页数据
微博 微信 网页
噪音 264537 170376 657144
203830 166944 96839
93453 62300 90733
25767 2604 5846
上表是四类数据的分布,可以看到微信和网页端的数据中负面样本相比微博比较匮乏。为了提高对负面评论的识别能力,调整比例使数据集分布更均匀。训练微信模型时的数据集使用了全部负面微信数据和三分之二的其他三类微信数据,并将负面数据复制了7倍。训练微博模型时的数据集(训练集和验证集)使用了全部微博数据,并将负面数据复制了4倍。网页数据:训练网页模型时的数据集使用了全部负面网页数据、四分之一的噪音网页数据和二分之一的其他两类网页数据,并将负面数据复制了3倍。
在划分数据集时每一类分别划分,比例为训练集:验证集=4:1。本发明中没有划分测试集,这是因为测试集的划分会使得可用于训练和验证的数据减少,降低模型质量;而且测试集本身完全不参与网络训练,仅仅是作为网络真实分类能力的评估。这样做虽然失去了一个最终客观评估模型的标准(验证集也可以在一定程度上评估模型),但是能增加可用训练数据,这在数据不足时是十分重要的。
步骤2、网络模型:
网络有三部分串联组成,分别为embedding层、RNN层、全连接层。
Embedding层将输入文章的字词转换成固定维度的词向量,将字的概念转化成计算机能读懂的向量。此层的参数使用word2vec方法训练出的词向量初始化,从而大幅减轻网络的学习难度。理论上网络可以不包含embedding,直接利用某种方法(如词向量生成模型,例如word2vec)获得输入文章的词向量表示,然后投入RNN层即可。但是将embedding加入网络中更符合神经网络端对端的思想,效果也更好,受词向量表示方法的影响也要小得多。因此先使用word2vec算法对针对整个数据集训练得到包含44809个词的词表和每个词对应的200维词向量(训练参数为min_count=1500,window=8,iter=5,epochs=5),编号为1-44809,然后在加入编号0,对应的词向量全为0值,用来表示词表中没有的词或者填充文章。根据词表将分词后文章的每个词转化成对应的编号,作为投入网络embedding层的数据,而使用之前获得的44810*200的矩阵初始化embedding层,从而完成从词到向量的转变。
RNN层用以处理序列的输入,通过按时序处理每一个词提取出文章的情感倾向。常用的RNN结构包括LSTM和GRU两类,GRU可以看作LSTM的简化版本,由于参数量更小、运算量更小因此能节约训练时间且更不容易过拟合。RNN层每个GRU的输入都是200个神经元,输出256个神经元,共有两层,两层间使用了p=0.5的dropout。
全连接层利用RNN层提取到的信息将文章分成正面、中性、负面、噪音四类,因为每个GRU提取到的信息都会传递给下一个GRU,这里只使用最后一个GRU单元的输出作为全连接层的输入。将每层中最后一个GRU的输出拼起来作为全连接层的输入,即全连接层的输入为512个神经元。全连接层具体结构为512—dropout—512—100—ReLU—dropout—100—32—ReLU—dropout—32—4,其中dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃。ReLu表示ReLu激活函数,激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数。最后输出的四个神经元可以看作输入文章属于四类中每一类的可能性的表示(并非可能性,再加上softmax层才是可能性,由于使用的CrossEntropyLoss损失函数包含了softmax操作,因此网络本身没有加入softmax层)。网络中没有使用BatchNormalization,这是因为BN并不适合RNN;而经实验,全连接层中只使用dropout效果优于只使用BN以及同时使用dropout和BN。
在确定神经网络的结构后,我们就可以把训练集投入网络训练网络的权值。网络给出的分类结果自然与真实标签有一定差距,损失函数就是为了量化这个差距而存在的。神经网络训练或者优化的过程就是最小化损失函数的过程,损失函数越小,说明模型的预测值就越接近真实值,模型的准确性也就越好。本发明使用的损失函数如式(1)所示:
式中x[j]表示全连接层最后一层j个神经元的输出(一共有j类),class表示真实标签,即训练数据中预先标记好的情感类型标签,x[class]指的是真实标签对应的神经元输出。
针对训练集样本分布不均的情况,本发明为损失函数添加权重,使网络更加重视某一类或者某几类样本的分类错误,即
weight预设的该情感类型标签对应的权重。微信模型在计算损失函数时对负面、正面、中性、噪音样本分别施以3、1、1、1的权重。微博模型在计算损失函数时对负面、正面、中性、噪音样本分别施以2、1、1、1的权重。网页数据模型在计算损失函数时对负面、正面、中性、噪音样本分别施以3、1、1、1的权重。
在训练的过程中,每batchsize(128)个网站作为输入正向传播后,会计算损失函数,之后进行反向传播调整模型参数使损失函数最小化。本发明使用AMSGrad优化器来更新和计算影响模型训练和模型输出的网络参数最小化损失。再输入batcsize个网站,正向传播后计算损失函数,反向传播调整模型参数。本发明将epoch值预先设置为30,当一个完整的数据集通过了神经网络一次并且返回了一次,这个过程称为一个epoch,如果观察到网络收敛可以提前终止程序。学习率是指导我们该如何通过损失函数的梯度调整网络权重的超参数。学习率越低,损失函数的变化速度就越慢。前两个epoch中RNN、全连接层学习率为0.001,embedding层学习率为0;之后RNN层、全连接层学习率不变,embedding层学习率为0.0002。这是因为embedding层按word2vec的训练结果初始化权值,因此有比较高的置信度,而一开始其他层的权值是随机初始化,梯度反向传播到embedding层时基本可以看作噪音,因此采用一开始不更新embedding层,后面缓慢更新embedding层的策略。某层学习率设置为0的含义为在反向传播的过程中不更新该层的权值。训练流程如图2所示。
一般来说,在计算出损失函数后,会使用梯度下降更新权值,这一过程可以用式(3)表示:
式中θ为权值,L(θ)为损失函数。而α就是上述学习率(Learning Rate)。可以看出,学习率决定着权值更新的跨度。当学习率太大时,权值更新可能跨过损失函数的极点,使网络的training loss下降变慢或无法下降,甚至导致其上升,网络无法收敛。当学习率太小时,权值的更新就极为缓慢,导致需要花费更多时间训练网络;而且过小的学习率可能使得权值陷入局部最小点甚至是鞍点无法跳出。很多时候,不合理的学习率是的影响trainingloss下降的主要原因。考虑到不同优化器使用的训练方法各不相同,合适的学习率会随着优化器的变化而变化。
训练方法(优化器)
卷积神经网络中最常用也是最简单有效的训练方法——随机梯度下降(Stochastic Gradient Descent)。随机梯度下降简单来说就是每次取一小部分的训练数据送入网络,计算平均梯度并进行梯度下降。其具体过程可以表述如下:
首先从训练集中采集m个样本{x1,x2,…xi,…xm}送入网络,并利用式(4)计算其平均梯度:
其中L为损失函数,然后按式(5)计算权值的更新量:
最后按式(6)更新权值:
θ=θ+Δθ (6)
虽然随机梯度下降是一种经典而且有效的训练方法,但是依然有一些缺陷,科研人员也提出来很多优化方法。Adam算法是目前最常用的自适应学习率的方法,利用梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率。Adam算法在用式(7)计算出平均梯度后,会按式(8)、式(9)和式(10)更新有偏一阶矩估计、有偏二阶矩估计和时间步t:
t=t+1 (10)
式中ρ1和ρ2是矩估计的指数衰减速率,默认分别为0.9和0.999,时间步初始值t=0。然后通过式(11)和式(12)修正一阶矩偏差和二阶矩偏差:
式(13)中σ默认为1*10-8,α(即学习率)建议设置为0.001。式(14)更新参数θ。
θ=θ+Δθ (14)
本发明采用的AMSGrad是ICML2018年提出来的一个Adam的变体,作者声称在很多数据集中取得了优于Adam的效果,具体算法如下:
其中,ft表示损失函数,gt表示梯度,xt表示t时刻的权值。
Pytorch关于AMSGrad的代码为:
1.avg_grads=beta1*avg_grads+(1-beta1)*w.grad
2.avg_squared=beta2*(avg_squared)+(1-beta2)*(w.grad**2)
3.max_squared=max(avg_squared,max_squared)
4.w=w-lr*avg_grads/sqrt(max_squared)
1.评价指标及训练结果
作为最直观最常用的评价标准,正确率(简写为ACC)自然需要纳入评价体现。但是,对于发明中的绝大部分分类问题,正确率并不是一个很好的评价分类器性能的指标,因为实践中大部分数据集是不平衡,比如本发明中负面评论占比很少。而对于不平衡的数据集,正确率主要是被数量占优势的类别的分类效果所决定。因此,我们需要引入其它的评价指标才能全面的评价分类器性能。
因为负面样本占比很少,而我们又比较看重对负面样本的识别能力,我们可以借鉴二分类中的一些评价指标。当文章被分类为负面时,我们记为positive;反之,记为negative。由于分类器并不总是正确,positive中有部分文章是被错误分类的,这些文章称为false positive(简写为FP),而被正确分类的称为true positive(简写为TP)。同理,negative中真实标签为负面的文章记为false negative(简写为FN),其余的记为truenegative(简写为TN)。
通过统计这四种标记的图片数量,我们可以计算出查准率(Precision,简写为PRC):
PRC表示所有被分类为positive的样本中真实标签也为positive的比例,同理,我们也可以计算出查全率(Recall,简写为REC):
REC表示所有真实标签为positive的样本中被正确分类为positive的比例。因此,查全率也有另一个叫法——真阳性率(True Positive Rate,简写为TPR),即:
同理,我们也能计算出真阴性率(True Negative Rate,简写为TNR):
我们主要使用F1分数(F1Score,简写为F1)和平衡错误率(Balanced Error Rate,简写为BER)作为评价指标:
平衡错误率综合考虑了真阳性率和真阴性率,且不会随着样本分布变化而变化;而F1分数更多的关注了标记为positive的样本,并结合了查准率与查全
本发明针对微博、微信、网页数据训练了三个网络模型,在训练微信和网页的网络时是加载微博的网络进行训练,而不是重新初始化一个新网络训练。
微博模型在验证集上的结果如图3所示,可以看到F1值为97.70%,平衡错误率BER为0.54%,查准率PRC 95.74%,查全率REC99.74%,真阳性TPR99.74%,真阴性TNR99.19%。
微信模型在验证集上的结果如图4所示,可以看到F1值为99.39%,平衡错误率BER为1.21%,查准率PRC 91.96%,查全率REC99.97%,真阳性TPR 99.97%,真阴性TNR99.92%。
网页模型在验证集上的结果如图5所示,可以看到F1值为94.96%,平衡错误率BER为0.06%,查准率PRC 98.81%,查全率REC98.17%,真阳性TPR 98.17%,真阴性TNR99.42%。
在验证集上的结果我们可以看到F1值、查准率PRC、查全率REC、真阳性TPR、真阴性TNR均较高,平衡错误率BER较低。说明模型在不均衡数据上取得了不错的效果。进而证明本发明提出的方法在不平衡数据集的情感分类问题有效。
以下为与上述方法实施例对应的系统实施例,本实施方式可与上述实施方式互相配合实施。上述实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在上述实施方式中。
本发明还提出了一种基于不平衡多源数据的情感分类系统,其中包括:
模块1、获取来自多个数据源的训练数据,其中该训练数据包含多条文本数据,每条该文本数据具有情感类型标签和其对应的数据源;
模块2、按数据源对该训练数据进行分类,以集合每个数据源对应的文本数据作为第一数据集,根据每个该第一数据集中各情感类型标签的数量,统计每个该第一数据集中情感类型的标准差,选择标准差最小的第一数据作为预训练集,其余第一数据集作为后续训练集;
模块3、以该预训练集训练神经网络模型的权值直到损失函数收敛,输出该神经网络模型作为预分类模型,以该后续训练集继续训练该预分类模型直到损失函数收敛,输出该预分类模型作为最终分类模型;
模块4、将待情感分类的文本数据输入至该最终分类模型,以得到该待情感分类的文本数据的情感类型。
所述的基于不平衡多源数据的情感分类系统,其中模块3中该神经网络模型由embedding层、RNN层、全连接层串联组成,该RNN层每个GRU的输入均是200个神经元,输出256个神经元,共有两层该RNN层,将每层中最后一个GRU的输出拼接后作为该全连接层的输入。
所述的基于不平衡多源数据的情感分类系统,其中模块3中该损失函数为:
式中x[j]表示全连接层最后一层j个神经元的输出,class表示该情感类型标签,x[class]是该情感类型标签对应的神经元输出,weight该情感类型标签对应的权重。
所述的基于不平衡多源数据的情感分类系统,其中该模块3还包括:在计算出该损失函数后,通过下式更新该神经网络模型或该预分类模型中权值:
式中θ为权值,L(θ)为损失函数,α为学习率。
所述的基于不平衡多源数据的情感分类系统,其中该模块3包括:
模块31、集合预设数量的文本数据作为输入正向传播后,会计算该损失函数,之后进行反向传播调整神经网络模型的参数使该损失函数最小化;
模块32、判断神经网络模型是否收敛,若是,则终止训练,保存当前该神经网络模型的参数,否则判断反向传播的次数是否达到预设阈值,若是,则终止训练,保存当前该神经网络模型的参数,否则继续执行该模块31。
综上本发明发明点包括:
1、本发明提出一种基于微信、微博网页数据情感分类的网络设计。网络由三部分串联组成,分别为embedding层、RNN层、全连接层。Embedding层后再送入RNN层,RNN层每个GRU的输入都是200个神经元,输出256个神经元,共有两层,两层间使用了p=0.5的dropout。将每层中最后一个GRU的输出拼起来作为全连接层的输入,即全连接层的输入为512个神经元。全连接层具体结构为512—dropout—512—100—ReLU—dropout—100—32—ReLU—dropout—32—4,最后输出的四个神经元可以看作输入文章属于四类中每一类的可能性的表示。
2、微信和网页端的数据中负面样本相比微博比较匮乏,在本发明中先训练出针对微博的神经网络,在训练微信和网页的网络时是加载微博的网络进行训练,而不是重新初始化一个新网络训练。实验显示这样做能显著地提升模型表现。
3、本发明使用AMSGrad优化器,并采用了分层、分时段的学习率。前两个epoch中RNN、FC层学习率为0.001,embedding层学习率为0;之后RNN、FC层学习率不变,embedding层学习率为0.0002。这是因为embedding层按word2vec的训练结果初始化权值,因此有比较高的置信度,而一开始其他层的权值是随机初始化,梯度反向传播到embedding层时基本可以看作噪音,因此采用一开始不更新embedding层,后面缓慢更新embedding层的策略。
4、在模型的训练过程中,微博、微信和网页数据出现了正面、负面、中性、噪音数据不均衡的现象。通过复制或削减数据达到数据的均衡。计算损失函数时对类别施以不同的权重。如训练网页模型时的数据集使用了全部负面网页数据、四分之一的噪音网页数据和二分之一的其他两类网页数据,并将负面数据复制了3倍,在计算损失函数时对负面、正面、中性、噪音样本分别施以3、1、1、1的权重。

Claims (10)

1.一种基于不平衡多源数据的情感分类方法,其特征在于,包括:
步骤1、获取来自多个数据源的训练数据,其中该训练数据包含多条文本数据,每条该文本数据具有情感类型标签和其对应的数据源;
步骤2、按数据源对该训练数据进行分类,以集合每个数据源对应的文本数据作为第一数据集,根据每个该第一数据集中各情感类型标签的数量,统计每个该第一数据集中情感类型的标准差,选择标准差最小的第一数据作为预训练集,其余第一数据集作为后续训练集;
步骤3、以该预训练集训练神经网络模型的权值直到损失函数收敛,输出该神经网络模型作为预分类模型,以该后续训练集继续训练该预分类模型直到损失函数收敛,输出该预分类模型作为最终分类模型;
步骤4、将待情感分类的文本数据输入至该最终分类模型,以得到该待情感分类的文本数据的情感类型。
2.如权利要求1所述的基于不平衡多源数据的情感分类方法,其特征在于,步骤3中该神经网络模型由embedding层、RNN层、全连接层串联组成,该RNN层每个GRU的输入均是200个神经元,输出256个神经元,共有两层该RNN层,将每层中最后一个GRU的输出拼接后作为该全连接层的输入。
3.如权利要求2所述的基于不平衡多源数据的情感分类方法,其特征在于,步骤3中该损失函数为:
式中x[j]表示全连接层最后一层j个神经元的输出,class表示该情感类型标签,x[class]是该情感类型标签对应的神经元输出,weight该情感类型标签对应的权重。
4.如权利要求3所述的基于不平衡多源数据的情感分类方法,其特征在于,该步骤3还包括:在计算出该损失函数后,通过下式更新该神经网络模型或该预分类模型中权值:
式中θ为权值,L(θ)为损失函数,α为学习率。
5.如权利要求3或4所述的基于不平衡多源数据的情感分类方法,其特征在于,该步骤3包括:
步骤31、集合预设数量的文本数据作为输入正向传播后,会计算该损失函数,之后进行反向传播调整神经网络模型的参数使该损失函数最小化;
步骤32、判断神经网络模型是否收敛,若是,则终止训练,保存当前该神经网络模型的参数,否则判断反向传播的次数是否达到预设阈值,若是,则终止训练,保存当前该神经网络模型的参数,否则继续执行该步骤31。
6.一种基于不平衡多源数据的情感分类系统,其特征在于,包括:
模块1、获取来自多个数据源的训练数据,其中该训练数据包含多条文本数据,每条该文本数据具有情感类型标签和其对应的数据源;
模块2、按数据源对该训练数据进行分类,以集合每个数据源对应的文本数据作为第一数据集,根据每个该第一数据集中各情感类型标签的数量,统计每个该第一数据集中情感类型的标准差,选择标准差最小的第一数据作为预训练集,其余第一数据集作为后续训练集;
模块3、以该预训练集训练神经网络模型的权值直到损失函数收敛,输出该神经网络模型作为预分类模型,以该后续训练集继续训练该预分类模型直到损失函数收敛,输出该预分类模型作为最终分类模型;
模块4、将待情感分类的文本数据输入至该最终分类模型,以得到该待情感分类的文本数据的情感类型。
7.如权利要求1所述的基于不平衡多源数据的情感分类系统,其特征在于,模块3中该神经网络模型由embedding层、RNN层、全连接层串联组成,该RNN层每个GRU的输入均是200个神经元,输出256个神经元,共有两层该RNN层,将每层中最后一个GRU的输出拼接后作为该全连接层的输入。
8.如权利要求2所述的基于不平衡多源数据的情感分类系统,其特征在于,模块3中该损失函数为:
式中x[j]表示全连接层最后一层j个神经元的输出,class表示该情感类型标签,x[class]是该情感类型标签对应的神经元输出,weight该情感类型标签对应的权重。
9.如权利要求3所述的基于不平衡多源数据的情感分类系统,其特征在于,该模块3还包括:在计算出该损失函数后,通过下式更新该神经网络模型或该预分类模型中权值:
式中θ为权值,L(θ)为损失函数,α为学习率。
10.如权利要求3或4所述的基于不平衡多源数据的情感分类系统,其特征在于,该模块3包括:
模块31、集合预设数量的文本数据作为输入正向传播后,会计算该损失函数,之后进行反向传播调整神经网络模型的参数使该损失函数最小化;
模块32、判断神经网络模型是否收敛,若是,则终止训练,保存当前该神经网络模型的参数,否则判断反向传播的次数是否达到预设阈值,若是,则终止训练,保存当前该神经网络模型的参数,否则继续执行该模块31。
CN201910307654.1A 2019-04-17 2019-04-17 一种基于不平衡多源数据的情感分类方法及系统 Expired - Fee Related CN110134947B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910307654.1A CN110134947B (zh) 2019-04-17 2019-04-17 一种基于不平衡多源数据的情感分类方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910307654.1A CN110134947B (zh) 2019-04-17 2019-04-17 一种基于不平衡多源数据的情感分类方法及系统

Publications (2)

Publication Number Publication Date
CN110134947A true CN110134947A (zh) 2019-08-16
CN110134947B CN110134947B (zh) 2021-03-26

Family

ID=67570185

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910307654.1A Expired - Fee Related CN110134947B (zh) 2019-04-17 2019-04-17 一种基于不平衡多源数据的情感分类方法及系统

Country Status (1)

Country Link
CN (1) CN110134947B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110766439A (zh) * 2019-08-30 2020-02-07 昆山市量子昆慈量子科技有限责任公司 一种酒店网络口碑评价方法、系统及电子设备
CN111046171A (zh) * 2019-08-29 2020-04-21 成都信息工程大学 一种基于细粒度标注数据的情感判别方法
CN111415270A (zh) * 2020-03-03 2020-07-14 浙江万胜智能科技股份有限公司 一种基于lstm学习的电力负荷智能识别方法
CN111538828A (zh) * 2020-04-21 2020-08-14 招商局金融科技有限公司 文本情感分析方法、装置、计算机装置及可读存储介质
CN111966831A (zh) * 2020-08-18 2020-11-20 创新奇智(上海)科技有限公司 一种模型训练方法、文本分类方法、装置及网络模型
CN112819019A (zh) * 2019-11-15 2021-05-18 财团法人资讯工业策进会 分类模型生成装置及其分类模型生成方法
CN113033758A (zh) * 2021-03-24 2021-06-25 北京航空航天大学 针对ct图像分类的神经网络性能评价方法及系统
CN113434628A (zh) * 2021-05-14 2021-09-24 南京信息工程大学 一种基于特征级与传播关系网络的评论文本置信检测方法
CN113610191A (zh) * 2021-09-07 2021-11-05 中原动力智能机器人有限公司 垃圾分类模型建模方法、垃圾分类方法及装置
US11636336B2 (en) 2019-12-04 2023-04-25 Industrial Technology Research Institute Training device and training method for neural network model

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080249764A1 (en) * 2007-03-01 2008-10-09 Microsoft Corporation Smart Sentiment Classifier for Product Reviews
CN105427869A (zh) * 2015-11-02 2016-03-23 北京大学 一种基于深度学习的会话情感自动分析方法
CN107025284A (zh) * 2017-04-06 2017-08-08 中南大学 网络评论文本情感倾向的识别方法及卷积神经网络模型
CN107679234A (zh) * 2017-10-24 2018-02-09 上海携程国际旅行社有限公司 客服信息提供方法、装置、电子设备、存储介质
CN108399158A (zh) * 2018-02-05 2018-08-14 华南理工大学 基于依存树和注意力机制的属性情感分类方法
CN109145304A (zh) * 2018-09-07 2019-01-04 中山大学 一种基于字的中文观点要素情感分析方法
CN109165387A (zh) * 2018-09-20 2019-01-08 南京信息工程大学 一种基于gru神经网络的中文评论情感分析法
CN109597891A (zh) * 2018-11-26 2019-04-09 重庆邮电大学 基于双向长短时记忆神经网络的文本情感分析方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080249764A1 (en) * 2007-03-01 2008-10-09 Microsoft Corporation Smart Sentiment Classifier for Product Reviews
CN105427869A (zh) * 2015-11-02 2016-03-23 北京大学 一种基于深度学习的会话情感自动分析方法
CN107025284A (zh) * 2017-04-06 2017-08-08 中南大学 网络评论文本情感倾向的识别方法及卷积神经网络模型
CN107679234A (zh) * 2017-10-24 2018-02-09 上海携程国际旅行社有限公司 客服信息提供方法、装置、电子设备、存储介质
CN108399158A (zh) * 2018-02-05 2018-08-14 华南理工大学 基于依存树和注意力机制的属性情感分类方法
CN109145304A (zh) * 2018-09-07 2019-01-04 中山大学 一种基于字的中文观点要素情感分析方法
CN109165387A (zh) * 2018-09-20 2019-01-08 南京信息工程大学 一种基于gru神经网络的中文评论情感分析法
CN109597891A (zh) * 2018-11-26 2019-04-09 重庆邮电大学 基于双向长短时记忆神经网络的文本情感分析方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHUHAN WU ET AL.: "Imbalanced Sentiment Classification with Multi-Task Learning", 《CIKM"18》 *
王中卿 等: "基于不平衡数据的中文情感分类", 《中文信息学报》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111046171A (zh) * 2019-08-29 2020-04-21 成都信息工程大学 一种基于细粒度标注数据的情感判别方法
CN110766439A (zh) * 2019-08-30 2020-02-07 昆山市量子昆慈量子科技有限责任公司 一种酒店网络口碑评价方法、系统及电子设备
CN112819019B (zh) * 2019-11-15 2023-06-20 财团法人资讯工业策进会 分类模型生成装置及其分类模型生成方法
CN112819019A (zh) * 2019-11-15 2021-05-18 财团法人资讯工业策进会 分类模型生成装置及其分类模型生成方法
US11636336B2 (en) 2019-12-04 2023-04-25 Industrial Technology Research Institute Training device and training method for neural network model
CN111415270A (zh) * 2020-03-03 2020-07-14 浙江万胜智能科技股份有限公司 一种基于lstm学习的电力负荷智能识别方法
CN111538828A (zh) * 2020-04-21 2020-08-14 招商局金融科技有限公司 文本情感分析方法、装置、计算机装置及可读存储介质
CN111966831A (zh) * 2020-08-18 2020-11-20 创新奇智(上海)科技有限公司 一种模型训练方法、文本分类方法、装置及网络模型
CN113033758A (zh) * 2021-03-24 2021-06-25 北京航空航天大学 针对ct图像分类的神经网络性能评价方法及系统
CN113434628A (zh) * 2021-05-14 2021-09-24 南京信息工程大学 一种基于特征级与传播关系网络的评论文本置信检测方法
CN113434628B (zh) * 2021-05-14 2023-07-25 南京信息工程大学 一种基于特征级与传播关系网络的评论文本置信检测方法
CN113610191A (zh) * 2021-09-07 2021-11-05 中原动力智能机器人有限公司 垃圾分类模型建模方法、垃圾分类方法及装置
CN113610191B (zh) * 2021-09-07 2023-08-29 中原动力智能机器人有限公司 垃圾分类模型建模方法、垃圾分类方法

Also Published As

Publication number Publication date
CN110134947B (zh) 2021-03-26

Similar Documents

Publication Publication Date Title
CN110134947A (zh) 一种基于不平衡多源数据的情感分类方法及系统
CN112001185B (zh) 一种结合中文句法和图卷积神经网络的情感分类方法
CN112001187B (zh) 一种基于中文句法和图卷积神经网络的情感分类系统
CN112001186A (zh) 一种利用图卷积神经网络和中文句法的情感分类方法
CN106599032A (zh) 一种结合稀疏编码和结构感知机的文本事件抽取方法
CN111813895B (zh) 一种基于层次注意力机制和门机制的属性级别情感分析方法
Anand et al. Deep learning and natural language processing in computation for offensive language detection in online social networks by feature selection and ensemble classification techniques
Liu et al. Social network sentiment classification method combined Chinese text syntax with graph convolutional neural network
CN110765769B (zh) 一种基于子句特征的实体属性依赖情感分析方法
Kodiyan et al. Author profiling with bidirectional rnns using attention with grus: notebook for pan at clef 2017
Nisha et al. A comparative analysis of machine learning approaches in personality prediction using MBTI
Zhao et al. Sentimental prediction model of personality based on CNN-LSTM in a social media environment
Gao et al. Sentiment classification for stock news
Niu et al. Sentiment analysis and contrastive experiments of long news texts
Basri et al. A deep learning based sentiment analysis on bang-lish disclosure
Marerngsit et al. A two-stage text-to-emotion depressive disorder screening assistance based on contents from online community
Asgari-Bidhendi et al. PERLEX: A Bilingual Persian‐English Gold Dataset for Relation Extraction
CN115906824A (zh) 一种文本细粒度情感分析方法、系统、介质和计算设备
Kong et al. Construction of microblog-specific chinese sentiment lexicon based on representation learning
Kumar et al. Aspect-Based Sentiment Analysis of Tweets Using Independent Component Analysis (ICA) and Probabilistic Latent Semantic Analysis (pLSA)
Onose et al. A Hierarchical Attention Network for Bots and Gender Profiling.
Kannan et al. Fine-Tuning BERT Based Approach for Multi-Class Sentiment Analysis on Twitter Emotion Data.
Piot-Perez-Abadin et al. Gender Classification Models and Feature Impact for Social Media Author Profiling
Yu et al. Research on Chinese Text Sentiment Classification Process
Sarkar et al. Sentiment analysis in Bengali Text using NLP

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210326

CF01 Termination of patent right due to non-payment of annual fee