APP下载

基于LDA—加权Word2Vec组合的机器学习情感分类模型研究

2022-12-08陈登建杜飞霞吴瑞雪杨秀璋

现代计算机 2022年18期
关键词:文档向量分类

陈登建,杜飞霞,吴瑞雪,杨秀璋,夏 换

(1.贵州财经大学信息学院,贵阳 550025;2.贵州财经大学贵州省经济系统仿真重点实验室,贵阳 550025)

0 引言

互联网技术的蓬勃发展,为用户在各大社交平台上发表自己的观点提供了便利,因此使得各平台出现大量用户主观评论文本。其中评论文本包含用户自身建议和情感,蕴含潜在的商业价值。通过分析用户生成数据,一方面可以帮助小企业快速了解用户偏好,获取用户意见,以提高服务质量[1];另一方面这类信息通常也包含市场需求,对于大型企业来说,通过分析这类信息,挖掘蓝海市场,剖析市场竞争态势,分析用户对企业的关注焦点,以此作为参考意见,辅助企业制定合理的市场竞争策略,提升企业形象[2]。

现今用户评论文本情感研究具有重要的学术意义与现实价值,越来越多的学者对其进行研究。文本的情感研究可以分为情感分类与情感分析两类,情感分析是对某个主题下用户态度的分析,情感分类则是对用户不同情感倾向的判断,分辨用户情绪是积极还是消极[3]。用户评论文本的情感分类,是用挖掘技术对蕴含用户个人主观意见的文本进行分类[4]。识别文本的情感极性,对不同极性的文本进行区分[5]。情感分类并不同于以往的文本分类模型,情感分类模型更加关注文本中用户所表达的观点、态度、偏好等相关信息[6]。

但是在线评论文本是用户生成数据,存在规范性不足的问题。以往的学者对短文本的情感分类进行探究,提出多种特征表示方法,扩充短文本的特征,而长评论文本的研究却相对较少。当用户发布的评论文本长度过长时,就会包含较多的噪音字符,涉及多个主题,导致传统的算法对这类文本的情感分类的准确率降低[7]。近年来,学者们大多都借助深度学习的方法提高长文本的分类效率。张宇昂等[8]借助CNN-BiLSTM的神经网络模型,融合文本的上下文特征和局部特征,提高分类准确率。王浩镔等[9]借助Seq2Seq,提取文本的词语与语义特征,将多级特征与Seq2Seq结合,提高分类效率。卢玲等[10]借助Attention模型提取句子的词语贡献度,对文本进行过滤,然后构建CNN神经网络,实现对长文本的分类。但是,由于神经网络存在模型训练需要大量的语料数据,模型的训练成本太高,模型不具备可解释性等问题,所以模型并不具备普适性与便捷性。

针对上述问题,本文提出了一种基于LDAWord2Vec组合特征的算法。该方法借助LDA对长评论文本进行LDA特征提取,借助Word2Vec构建词的向量空间,利用TF-IDF分配词权重,能够有效解决文本的主题过多的问题,提升情感分类器的准确度和召回率。

1 相关工作

现今情感分类主要通过情感词典和机器学习这两类方法实现。基于情感词典的分类方法,主要通过词典中定义的情感词,结合自定义的情感计算规则,判定情感倾向的方法[11]。情感词典由人工构建,不仅耗费大量的人力物力,且容易受到人的主观因素的影响,这种情感分类方法对于不同领域的语料具有局限性[12]。基于机器学习的情感分类,主要借助分类算法实现情感分类。该方法需要构建情感特征向量,通过大量已经标注的样本训练模型,最后运用分类算法实现对测试样本的情感倾向预测[13]。Pang等[14]最先从文本中抽取不同的情感词特征,然后借助机器学习分类算法实现情感分类。相较于英文,中文情感分类任务的难度更高——中文语法更加复杂,中文分词的准确率更低,从而导致中文文本更难准确地实现情感分类[15]。

由于LDA主题模型在中文处理上的优秀表现,众多学者将其应用于中文的情感分类任务。毛龙龙[16]提出一种融合LDA主题模型的情感分析方法,通过不同特征对文本进行主题聚类,如选择表情符号个数、情感词个数、是否出现否定词等六个特征,根据不同的主题类别训练不同的情感分类模型。苏莹等[17]提出一种面向无指导的情感分析方法,借助Naive Bayesian与LDA,生成独立的特征,实现对网络文本的情感分类。冯勇等[18]提出一种高效的情感分类模型,借助LDA主题分析的结果,对原有的特征词典进行补充,提高模型的分类效率。

传统的文本特征表示方法,缺乏上下文语义分析,将其用于文本表示,容易出现高纬度、高稀疏等问题。Word2Vec是现今主流的词向量模型,可以提高文本的分类准确率。马思丹等[19]借助词向量的优点,提出加权Word2Vec的模型,改善传统模型的文本分类效率。也有学者将Word2Vec与LDA模型结合,提高了文本的分类效率。张群等[20]提出LDA与Word2Vec融合的方法,通过拼接词向量与LDA融合的短文本特征,解决短文本的特征稀疏问题。陈磊等[21]借助Word2Vec改善LF-LDA的主题分布,将LF-LDA生成的主题向量与Word2Vec的词向量相结合来表示文本特征,提高文本的分类效率。徐守坤等[22]借助LDA构建主题词集,利用Word2Vec获取主题词集的相似词汇,根据词的相似度分配词权重,提高主题挖掘的准确率。

综上所述,现今短评论文本的分类研究已经十分透彻,而长评论文本的情感分类研究却较少。因此,本文提出借助LDA实现对长评论文本的特征提取,结合Word2Vec和TF-IDF提升长评论文本情感分类的准确率与召回率。

2 情感分类模型构建

2.1 基本流程

本文的实验技术流程如图1所示。主要包括数据预处理、构建LDA特征词库、构建长文本特征表达、构建情感分类模型、模型效果评价五个部分。

2.2 LDA主题特征提取

LDA(latent dirichlet allocaion)主题模型是Blei等[23]于2003年提出的三层贝叶斯模型,该模型认为文档由多个主题组成,不同主题是词向量空间上的分布,不同的主题被视为不同特征词聚集的结果。LDA是一个无监督的主题生成模型,其概率表达如图2所示。其中D是语料库数据集,N是单个主题的训练数据,K为主题数。

该模型实现步骤如下:

(1)文档的主题服从参数α下的Dirichlet分布,当前文档θd的从Dirichlet(α)分布为抽样得到。

(2)文档的特征词的分布服从参数β的Dirichlet分布,主题k的从Dirichlet(β)分布为抽样得到。

(3)文档的特征词,从主题分布中获得其主题分布Zdn从multi(θd)中抽样得到。

(4)文档d中的特征词wdn服从multi(φzdn)。

在训练主题模型前,借助困惑度确定最佳主题数K。困惑度是信息领域的理论,可以阐述为属于不同主题文档的不确定性程度。困惑度越低,主题就越清晰。本文为保证模型的准确性,通过绘制Perplexity与Number of Topic的曲线,获得最佳主题数K。

照其相关性从大到小对K主题下的主题词进行排序,取得每个主题下前300个词作为当前主题的特征词,构成语料库的特征词库,实现文本的特征提取,主题词的相关性计算公式如下:

式(1)中p(w|t)表示词w属于当前主题t的概率,λ为调节参数。

2.3 Word2Vec词向量模型

计算机不能识别文本,只有被编码向量化后的文本才可以被计算。传统的文本向量化方式有BOW(Bag of Words)模型,但该模型仅仅统计词的频次,忽略不同词在文本中的重要性。且不能表达词与词之间的关系,导致语义特征缺失。Word2Vec是Google在2003年发布的词向量模型,可以实现在大规模语料数据中通过CBOW或Skip-gram训练生成每个词的向量特征。CBOW通过输入词的上下文向量来预知当前词出现的概率,而Skip-gram则是通过当前词预测出上下文出现的概率[24],如图3所示。

2.4 TF-IDF词权重算法

本模型选择TF-IDF词权重算法对Word2 Vec得到的词向量进行加权,该算法是由词频TF(term frequency)与逆文档频率IDF(inverse document frequency)组成,体现不同词在文档中的重要性。TF即当前词在此文档中的出现频次,计算公式如下:

式(2)中分子的数值表示当前文档中ti一词的出现频次,分母是当前文档中所有词的出现频次的总和。

IDF用于衡量每个词在当前文档的普遍重要性,用于过滤常用词的干扰,计算公式如下:

式(3)中分母表示出现当前词ti的文档数量之和,N为所有文档数量的总和。

结合TF和IDF,计算得出各个词的权重,计算公式如下:

3 实验分析

本文使用人工标签的酒店评论数据。将评论数据进行初步人工筛选,为保证样本的类别均衡,取积极和消极的长评论文本各1500条,实验数据的每个文本长度如图4所示,其中橫坐标为单词数分布区间,纵坐标的左轴为文本数,右轴为累积占比。

借助Jieba对实验数据集进行分词,使用词云对积极与消极的文本进行初步观测,结果如图5所示。

其中“酒店”“房间”等词为关键词,积极评论词云中,用户的评论主要围绕房间的居住环境、价格、地理位置、卫生等主题;消极评论词云中,用户的评论主要围绕服务态度、卫生、隔音效果、价格等主题。

3.1 构建长评论文本的LDA特征表达

为了提高模型的准确性,计算不同的主题数K所对应的困惑度,困惑度和主题数之间的关系曲线如图6所示。随着主题数的上升,困惑度随之下降,当K=6时,混乱程度达到最低,确定最佳的主题数为6。

将实验数据集导入主题数为6的LDA主题模型进行文本聚类,初始设置λ值为0,利用公式(1)计算得到不同主题词与当前主题的相关度。根据相关性对每个词进行排序输出,选择前300的特征词用于代表当前主题。最终构建出用户评论中关注的六类主题,且每一个主题词表示用户阐述该主题时常用的主题词。将主题词汇总,构建出主题词库,实现对当前语料的特征提取,部分结果见表1。

表1 LDA特征提取结果示例

依据特征词库,构建长评论文本的LDA特征表达。将每一条长评论文本依据特征词库进行过滤,筛选掉不在特征词库中出现的词汇,缩减文本长度,去除不重要词汇的干扰,具体操作如表2所示。

表2 LDA的特征表达示例

3.2 Word2Vec和TF-IDF构建文本特征

为更好地突出文本中的情感特征,将TFIDF与Word2Vec结合实现LDA特征表达文本的词向量表达。将上述得到的LDA特征表达文本作为输入,训练CBOW模型,设置Word2Vec词向量维度为100维,Windows size为5,借助神经网络迭代,预测当前词的概率,计算损失函数,修正模型,得到每个词的词向量表示,如公式(5)和公式(6)所示。

式(5)中wi表示预测中心词,s表示设置的窗口大小。

P(wi|wi-s,…,wi+s)表示用上下文预测中心词wi的概率,计算公式如下所示:

式(6)中w0是上下文向量取均值的结果,dict为字典。

通过损失函数不断迭代修正参数得到每个词向量表示,通过式(4)计算得到每个词的权重,将TF-IDF作为权重与词向量结合,得到每个词的向量特征,将所有词的向量相加,取均值,作为长文本的句向量。

利用PCA算法将长文本的特征向量降为2维的空间向量,对应文本的积极和消极标签作为颜色参数,绘制传统文本特征TF-IDF与LDA-Word2Vec的长文本特征图,结果如图7与图8所示,其中五角形为积极文本特征词分布范围,圆形为消极文本特征词分布范围。

传统文本向量特征表达的长评论文本的正负评论文本的分类效果并不是很好,有大量积极与消极的文本交织在一起,部分样本消极的文本出现在积极文本的位置。而经过LDA特征提取后的长文本的特征的分类效果更优,分类边界更清晰。

3.3 模型评估

本文选择Precision、Recall作为实验模型的性能评估指标。其中Precision表示预测所有类别中,预测正确类别的样本比例。Recall表示预测当前这个类别中,预测正确的样本比例,具体公式如下所示:

式(7)和式(8)中TP表示预测正确的正样数,FN表示预测错误的正样本数,TN表示预测正确的负样数,FP表示预测错误的负样本数。

本文主要选择机器学习中SVM、Logistic、RandomForest、KNN、Bayesian作 为 情 感 分 类器,不同类型分类算法的结果见表3。可知,RandomFoest和Bayesian相较于其他算法,准确率和召回率都更优秀,而KNN的分类准确率最低。通过实验可以证明,本文提出的方法相较于传统的TF-IDF和Word2Vec,在情感分类的准确率与召回率方面都体现出优秀的水平,可以较大程度上完成对长评论文本的情感分类。

表3 模型评估

4 结语

本文将LDA模型引入到长文本的特征提取中,提出LDA与加权Word2Vec的组合特征的情感分类方法。本模型认为用户的长评论是基于不同主题词下有目的选取词汇表达自己的主观意见。借助LDA主题模型,获取长文本语料的主题特征词库,对文本进行特征提取,将处理后的文本输入到CBOW的词向量模型中进行训练,使用TF-IDF对每个词进行权重分配,有效解决了长文本导致的文本情感分类效率低的难题,实验证明本文提出的方法优于传统方法。

本文的模型提高了机器学习经典算法的情感分类效率,但是还存在可以改进的空间。模型对特征词的选择影响模型的精度,且并未深入考虑情感词汇的不同权重,只考虑了主题之间的上下文关系,因此下一步重点挖掘不同情感词汇对于用户长文本的情感倾向影响。

猜你喜欢

文档向量分类
浅谈Matlab与Word文档的应用接口
向量的分解
有人一声不吭向你扔了个文档
聚焦“向量与三角”创新题
按需分类
教你一招:数的分类
说说分类那些事
Word文档 高效分合有高招
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线