基于TF-IDF加权的卷积神经网络文本情感分类模型

2021-12-14 07:46李昌兵李晓光
重庆理工大学学报(自然科学) 2021年11期
关键词:权值类别卷积

李昌兵,赵 玲,李晓光,王 利

(重庆邮电大学 电子商务与现代物流重点实验室, 重庆 400065)

互联网技术的快速发展极大地方便了人们的生活,网络消费成为当下最流行的活动之一。对网络产品在线评论进行分析是驱动产品优化改进、改善用户体验的有效途径[1]。其中,情感分析作为关键技术可以提取评论者的态度,从而发现潜在问题,因而受到不少学者的广泛关注和研究[2]。

情感分类作为一种情感分析方法,目的是识别在线评论中包含的情感极性[3]。情感分类任务中常用的技术主要包括基于情感词典和基于机器学习的方法[4]。前者基于人工构建的情感词典来判断文本的情感倾向性,简单地累积句子的情感,没有考虑上下文语义信息,且词典的领域局限性较大[5]。后者能够考虑上下文的语义信息,对文本的情感倾向判断更为准确。传统的机器学习算法如决策树[6]、朴素贝叶斯[7]等,这些算法适用的数据集较小,容易产生过拟合,且依赖于人工抽取特征。深度学习方法因具有强大的特征学习能力,能够克服人工提取特征的困难,在情感分类任务中应用广泛。卷积神经网络[8]、递归神经网络[9]、长短期记忆网络[10]等深度神经网络等应用于情感分类并取得了很好的效果。Sharma等[11]通过实验对比发现,卷积神经网络更适合短文本的分类。

基于深度学习模型的情感分类任务中,如何高效地表现文本是一个难点。Word2Vec作为主要方法,将词语在向量空间转化成能表达语义关系的低维稠密向量[12]。在Word2Vec模型中,缺乏考虑词语本身区分类别的能力,而相关研究发现,词语的权重会对分类效果产生极大的影响[13]。TF-IDF根据词语的词频(TF)和逆文档频率(IDF)来计算词语的权重,以体现词语在文本中的相对重要性,在文本分类领域中应用广泛,Word2Vec模型则关注的是词语上下文之间的语义关系[14]。

由于这2种方法在词语表示上是互补的,因此,本文提出利用TF-IDF加权Word2Vec获得文本的向量化表示,对具有类别区分能力的词语赋予较高的权重,基于获取的词向量,利用卷积神经网络挖掘文本从局部到全局的特征并进行分类,这些认为对文本分类有重要贡献的词语被更好地挖掘出来,有助于分类效果的提升。然而,基于TF-IDF的词语权重计算方式只考虑词语在整个语料库中出现的逆文档频率,忽略了词语在不同类别间的分布对词语区分类别的能力的影响。针对这个问题,提出考虑类别权重的改进TF-IDF的方法。利用改进的TF-IDF算法计算文本词语的权值,加权其基于Word2Vec模型获得的词向量来表示文本,既保留了词语上下文之间的语义关系,又利用了词语本身对区分类别的贡献,最后采用卷积神经网络算法强大的特征学习能力[15],完成分类任务。

1 相关技术

1.1 TF-IDF

TF-IDF,即词频-逆文档频率,词频(TF)是词语在文本中出现的频率,逆文档频率(IDF)是文档频率的倒数。计算公式为:

TF-IDFi, j=TFi, j×IDFi

(1)

(2)

(3)

式中:ni, j是词语ti在j类所有文本中出现的次数;∑knk, j是j类所有文本词语出现的次数总和;N是数据集中的文本总数;ni为包含词语ti的文本数。

1.2 Word2Vec

图1 Skip-gram模型结构示意图

1.3 卷积神经网络

卷积神经网络(CNN)是一种前馈神经网络,它的基本结构包括输入层、卷积层、池化层和全连接层。图2为用于在线评论文本分类的CNN模型结构。

图2 CNN模型结构示意图

在利用CNN进行文本情感分类时,输入是由词语的词向量构成的文本向量表示矩阵。对于一个长度为n的文本,则构成一个n×d的矩阵,d为词向量的维度。在卷积层,使用卷积核对输入层的词向量矩阵进行卷积操作,提取文本特征。模型会更加关注到类别区分能力更强的特征。池化层的目的是通过降维获得文本的重要特征同时提高运算速率。全连接层对卷积、池化得到的特征值进行全连接操作,并映射到样本标记空间,全连接层在CNN中起到“分类器”的作用。

2 TF-IDF的问题及改进

在文本情感分类任务中,词语本身也具有区分类别的能力。TF-IDF本质上就是词语的权重,词语权重的大小体现了词语在文本中的相对重要性。用TF-IDF加权词向量,加权后的文本向量表示促使卷积神经网络更好地进行特征提取。

由式(3),IDF将数据集中所有文本作为一类处理,包含某词语的文本数越多,赋予该词语的权重越小,词语的类别区分能力越小。然而,在文本分类问题中,IDF将所有文本作为一类计算词语权重的方式存在以下2个缺陷:第一,IDF缺乏考虑词语在不同类别间的分布情况,当某类中含有词语的文本数越多,而在其他类中包含该词语的文本数越少时,说明该词语能够更好地表示该类别,具有较好的类别区分能力,应该赋予该词语更高的IDF值;第二,词语在某类的TF-IDF缺乏考虑词语在其他类别出现的词频-逆文档频率的影响。事实上,如果词语只出现在某一类,那么它的类别区分能力是最强的。

针对以上缺陷,本文将数据集分为j类和非j类,考虑词语在不同类别间的分布[17],词语ti在j类中改进的IDF公式为:

(4)

式中:mi, j为j类中包含词语ti的文档数:ki, j-为非j类中包含词语ti的文档数。改进后的IDF值随mi, j的增大而增大,随ki, j-的增大而减小。如果j类中包含词语ti的文档数越多,而在非j类中包含词语ti的文档数越少,则词语ti更能够代表j类,在文本情感分类任务中,词语ti更具有类别区分能力,对j类中的词语ti应该赋予更高的权值,体现了对第一个缺陷的改进思想。针对缺陷二,重新设计的TF-IDF如式(5)所示,词语ti在j类中改进的TF-IDF权值为:

(5)

式中:I-TF-IDFi, j为词语ti在j类中的改进后的TF-IDF权值。为避免非j类中不存在词语ti时分母为0,分母加1。若词语ti只出现在j类,分母为1;若词语ti出现在j类和非j类,则分母大于1。在前者情况下,词语ti的分类能力更强,权值更大,在后者情况下,I-TF-IDFi, j随着词语ti在非j类中的权值的增大而减小。体现了改进的思想,即如果词语ti只出现在j类中,则词语ti的类别区分能力最强,随着词语ti在非j类中的权值的增大,词语ti代表j类的能力减弱,赋予它的权值相应减小。式(5)即提出的改进的TF-IDF算法。

3 ITIW-CNN模型构建

在文本情感分类任务中,构建较好的文本向量表示十分重要。提出的ITIW-CNN模型通过利用改进的TF-IDF计算文本词语的权值,然后加权Word2Vec词嵌入向量,以此作为词语的向量表示。基于此获得文本的向量表示矩阵,利用卷积神经网络来挖掘文本特征并进行文本情感分类。ITIW-CNN模型如图3所示。

图3 ITIW-CNN模型框图

3.1 输入层

在输入层,输入的是基于改进的TF-IDF加权Word2Vec词向量构成的文本向量表示矩阵。Word2Vec模型可以很好地体现词语间语义上下文的关联,但是没有体现出文本中每个词语之间的权重差异。TF-IDF算法主要考虑词语在文本中的重要性,但是忽略了词语之间的语义关系。为了构建更好的文本向量表示,综合考虑词语在文本中的相对重要性以及词语上下文之间的语义关系,提出将改进后的TF-IDF和Word2Vec向量进行加权,从而得到加权后的词语向量表示。如式(6)所示。

ITIWj(i)=I-TF-IDFi, j×Word2Vec(i)

(6)

基于改进的TF-IDF算法的加权词向量表示具体描述如下:

① 利用I-TF-IDF算法计算文本中词语的权值。

② 使用预处理后的评论文本数据集对Word2Vec模型进行训练,得到文本的词向量,Word2Vec(i)即词语ti的词向量。

③ 将词语的I-TF-IDFi, j权值乘以其对应的Word2Vec词向量,得到加权的词向量表示ITIWj(i)如式(6)所示。以词语向量构成的文本向量表示矩阵作为CNN模型输入层的输入。提出的文本向量如图4所示。

图4 文本向量框图

3.2 卷积层

在卷积层,使用卷积核提取文本特征。在抽取特征时,将词语作为文本的最小粒度,因此卷积核的宽度要与词向量的维度相同,高度h自行设置。一个大小为h×d的卷积核Wh×d一次卷积过程的计算公式为:

ci=f(Wh×d·ITIWi:i+h-1+bi)

(7)

式中:ITIWi:i+h-1表示第i行到第i+h-1行的词语的ITIW向量构成的矩阵,将其与卷积核进行卷积操作,加上偏置项bi后经过激活函数f变换得到相应的特征ci。改进后的I-TF-IDF加权Word2Vec得到的词语的ITIW向量的值越大,卷积操作之后提取的特征ci的值越大,表示这个特征越重要,卷积神经网络能够挖掘到对文本情感分类越重要的特征。一条文本经过卷积操作后,得到的是一个n-h+1维的向量Cj,计算公式为:

Cj=[c1,c2,…,cn-h+1]T

(8)

3.3 池化层

在池化层,对卷积后得到的较大维度特征向量进行池化操作,最常见的池化方法有最大池化法、平均池化法。以上是一个卷积核对一条输入文本的卷积池化操作,假设卷积核有m个,经过多次卷积池化操作,全连接层将得到的m个特征所对应的特征值进行全连接操作,得到最终的特征向量为:

(9)

3.4 输出层

在输出层,将得到的最终的特征向量通过softmax函数映射为情感类别概率,概率值最大的类别即为预测的文本的情感分类结果。计算公式为:

y=softmax(W(s)z+b)

(10)

其中,W(s)和b分别表示权重和偏置。

4 实验及分析

4.1 实验数据

实验数据来源于谭松波酒店评论语料,语料规模为10 000条,并标注了正负情感。其中情感极性为正的评论有7 000条,情感极性为负的评论有3 000条。

对数据进行预处理,由于在线网络平台上的评论较为随意,因此首先要从在线评论中过滤掉垃圾评论和无用评论。例如“好评好评”“差差差差差”等无意义的评论。其次对语料进行去重处理,去除重复的文本,得到正类评论5 322条和负类评论2 443条。由于中文词汇之间没有空格分隔,本文采用jieba工具对文本进行中文分词,以词语作为文本的组成要素。分词后使用哈工大停用词表对文本进行去停用词操作,去除一些与情感分类无关的词。然后利用预处理后的全部数据进行词向量训练。训练模型使用Gensim中Word2Vec模块的skip-gram模型,设置训练向量的维度为300,设置上下文窗口大小为5,迭代次数为10,训练得到词向量库。

4.2 模型参数设置

使用Pytorch深度学习框架实现基于卷积神经网络模型的文本分类。Pytorch是torch的python版本,是由Facebook开源的神经网络框架,在深度学习领域有着广泛的应用。卷积神经网络模型的参数设置如表1所示。

表1 卷积神经网络(CNN)参数设置

4.3 结果分析

4.3.1评价指标

本实验采用的评估分类模型的指标为精确率(precision)、召回率(recall)、F1值和模型分类的准确率(accuracy)。表2是描述上述4个指标混淆矩阵的类别,计算公式如式(11)~(14)。

表2 混淆矩阵类别

(11)

(12)

(13)

(14)

式中:a为正确分类的正文本数量;b为错误分类的正文本数量;c为错误分类的负文本数量;d为正确分类的负文本数量。

4.3.2性能对比及分析

采取5折交叉验证的方式进行实验,分别采用Word2Vec词向量结合传统的决策树分类模型(文献[6]),Word2Vec词向量结合CNN(文献[15]),传统的TF-IDF加权Word2vec词向量结合CNN(TIW-CNN),与提出的ITIW-CNN模型进行实验对比,结果如表3所示。

表3 文本情感分类结果 %

通过表3得出的结果发现,在谭松波酒店评论语料中,卷积神经网络模型的分类效果在精确率、召回率、F1值和模型的准确率方面均比传统的决策树算法的分类效果好。ITIW-CNN模型相较于传统词向量表示结合卷积神经网络的分类模型在各个指标上都有一定的提高。ITIW-CNN模型的F1值和模型分类的准确率分别达到了94.77%和92.80%,分别比文献[15]高9.31%和13.62%,比TIW-CNN高2.77%和3.98%,验证了本文提出的ITIW-CNN模型的有效性。改进的TF-IDF考虑了词语的类别代表力,Word2Vec体现了上下文之间的语义关系,用改进的TF-IDF对词向量加权,加权后的词向量不仅很好地表示了文本的语义信息,而且考虑了词语区分类别的能力,在利用卷积神经网络算法进行分类的时候,对分类有重要贡献的特征被挖掘出来,提升了文本的情感分类效果。

本文中提出的ITIW-CNN模型与TIW-CNN模型在谭松波酒店评论语料上训练得到的交叉熵损失函数曲线如图5所示。

图5 损失函数曲线

图5中,横坐标表示CNN迭代次数,纵坐标表示损失函数值。从图5中可以看出,随着迭代次数的增加,TIW-CNN算法与本文中提出的ITIW-CNN模型训练得到的交叉熵损失函数都在逐渐下降并趋于平缓,模型逐渐收敛。ITIW-CNN模型在数据集训练中得到的损失函数值的下降速率与TIW-CNN模型差别不大,但损失函数值明显小于TIW-CNN模型,说明基于类别权重改进后的I-TF-IDF加权Word2Vec得到的向量有助于卷积神经网络挖掘文本的特征,CNN模型的分类性能有所提高,证明了本文提出的ITIW-CNN模型的有效性。

5 结论

对在线评论的情感分类问题进行了研究。为了充分提取文本数据的有效信息和免去人工抽取特征的繁杂,采用深度学习卷积神经网络的文本分类方法。Word2Vec作为文本表示的主要方法,解决了词与词之间语义缺失的问题,但是缺乏考虑词语本身区分类别的能力对情感分类的重要影响。TF-IDF作为词语权重的传统的计算方式存在一定的缺陷。本文考虑了类内频繁出现的词语的类别代表度和某类中的词语在其他类中出现的词频和逆文档频率的大小对该类中词语的类别区分度的影响,提出了一种改进的TF-IDF算法。改进的TF-IDF算法考虑了词语与类别的依存关系。基于改进的TF-IDF加权Word2Vec词向量的文本表示方法在CNN情感分类模型上取得了更好的分类效果,原因是加权后的词向量可以更高效地表示文本,在运用卷积神经网络学习文本的特征时,挖掘出对文本分类贡献更大的特征。

未来可在语料规模更大的数据集上进行实验,验证方法的有效性,并深入研究如何解决情感多分类问题。

猜你喜欢
权值类别卷积
基于全卷积神经网络的猪背膘厚快速准确测定
一种融合时间权值和用户行为序列的电影推荐模型
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
一起去图书馆吧
简析基于概率预测的网络数学模型建构
财务风险跟踪评价方法初探
基于洪泛查询的最短路径算法在智能交通系统中的应用
选相纸 打照片