APP下载

基于字向量的短文本情感分类研究*

2023-12-28贾钰峰章蓬伟邵小青

微处理机 2023年6期
关键词:短文向量分类

贾钰峰,李 容,章蓬伟,邵小青

(1.新疆科技学院信息科学与工程学院,库尔勒 841300;2.新疆科技学院马克思主义学院,库尔勒 841300)

1 引 言

文本分类是自然语言处理领域最广泛应用的技术,包括事件抽取、意图识别、问答任务、情感分析等。其中情感评论分析是一个重要分支和研究方向,它研究的是如何在海量的繁杂信息中快速且准确地获取用户对事物的情感好恶,从而更加高效地分析数据。随着移动互联网技术的蓬勃发展,以即时消息、文章标题、手机短消息、微博交互、商品评论、视频弹幕等为代表的短文本信息增长非常迅速,数据规模已然非常庞大。这些评论文本整体较短,长度较随意,更接近口语化,往往包含着个人情绪状态和观点态度。对这些评论性的短文本的研究显然具有很大的应用价值。由于中文文字内涵的丰富,这些短文本信息是由各类不同的网络用语、多译词性、特殊符号等组成,导致短文本整体具有稀疏性和上下文缺失等特性,对其进行有效地分类和分析具有必要性和挑战性。本研究选用经典的文本分类模型,包括TextCNN[1]、TextRNN[2]、FastText[3]、TextRC NN[4]、DPCNN[5]、Transformer[6]和BiLSTM_Attention[7],全面比较了基于字向量作为输入的各模型在短文本(甚至是超短文本)中的情感分类情况。研究主要考查短文本在相同数据集、相同预处理和超参数配置的情况下,各模型之间的效率和质量。

2 研究背景

情感分析的核心是分类,目前文本分类的主流是传统机器学习方法和深度学习方法[8]。基于传统的机器学习方法主要依靠特征提取和分类模型的组合。在构建特征的过程中,往往需要人工干预完成,否则很难习得文本的特征。可利用相似语料对文本信息进行扩展,进而得到特征向量;用信息增益的计算方式来选择特征,提高分类准确率。也可对词向量进行加权处理,区分不同字词的重要程度,提高分类文本的准确率和效率。由于不同任务对文本特征要求不一,所以方式的选择还要视具体问题情况而定。文本分类属于有监督学习中的分类问题,传统机器学习分类器有SVM、决策树、逻辑回归、集成学习等。

深度学习改变了传统的特征工程方法,在文本分类中通过端到端的训练,可以自动地从原始文本数据中学习到有价值的特征。这种方法的优点在于可以处理高维数据,同时无需人工进行繁琐的特征选择和提取。此外,深度学习模型具有强大的非线性分类能力,可以处理复杂的文本分类任务。然而,深度学习模型对数据质量和数量有较高的要求,模型的训练也需要大量的计算资源和时间,对于计算能力有限的系统来说有一定的制约。随着计算机性能的不断提升,以及设计出了更多、更高效的深度学习模型,对自然语言处理的理解和操作能力有极大的提高。尽管存在一些挑战和限制,但随着技术的不断进步深度学习在文本分类领域将带来更多的价值。

本研究的整体研究流程如图1 所示。其主要目标为分析短文本在各经典模型之间的运行情况,根据运行结果指标指导今后在其它短文本领域的泛化性和迁移性,为新领域短文本匹配模型提供有价值的信息。

图1 研究流程图

为了更好达到此目标,需要满足以下要求:其一,尽量用简约和不需要重新构造的方式构建特征,尽量用少的流程或者直接实现端到端的分类方式。其二,能够处理海量数据和特有领域数据,能够随着数据的发展不断迭代更新。其三,能够对文本的稀疏性和上下文信息的缺失有很好的泛化性,以符合短文本的特点[9]。通过查阅资料和分析[10-11],发现深度学习满足对短文本的情感分类需求,它也是当前文本分类的主流。目前深度学习模型的分类表现往往优于传统的机器学习模型。为了简化,不对传统机器学习模型进行比较。目前经典的深度学习文本分类模型有TextCNN、TextRNN、FastText、TextRCNN、BiLSTM_Attention、DPCNN 及Transformer,在基于字向量的基础上,运用上述模型对短文本(不超过200个字)进行情感分类。

3 相关模型

3.1 TextCNN 模型

TextCNN 模型应用最为广泛,尤其在工业领域有相当成熟的应用,已经取得较为优异的输出效果。其网络结构较为简单,模型数据流动描述如表1。

表1 TextCNN 模型数据描述

TextCNN 在文本分类中的模型结构简单,对文本浅层特征抽取能力强,因此在处理短文本时,表现较好。采用多个卷积,有利于提取多种特征;最大池化将提取到最重要的信息加以保留。该模型也具有较少的参数数目和较快的计算速度。

然而TextCNN 也存在着缺点,包括模型可解释性不强,在调优模型时很难根据训练的结果去针对性地调整具体的特征。

3.2 TextRNN 模型

TextRNN 模型是一种基于循环神经网络(RNN)的文本分类模型,具有良好的性能。该模型避免了CNN 算法中不能延展序列长度的缺陷,能够更好地捕捉上下文信息,有利于捕获文本语义;可以灵活地采用多种结构,比如在双向RNN 的基础上再叠加一个单向的RNN,或者把双向RNN 在每一个时间步长上的两个隐藏状态进行拼接,作为上层单向RNN 每一个时间步长上的一个输入。

TextRNN 模型也存在一些缺点,例如在处理较长文本时,后一个时刻的输出会依赖前一个时刻的输出,因此无法并行处理,需要按顺序处理文本,导致其训练速度较慢。同时,RNN 在处理序列信息时,有时会偏向最后输入的信息,这就可能导致早期信息丢失的情况发生。

3.3 FastText 模型

FastText 除了可以进行文本分类,还可用于词向量学习、序列标注任务等。该模型在多种文本分类任务中表现出色,如情感分析、垃圾邮件过滤等,其分类准确率与传统的文本分类算法相当或更优;对于较长的文本和噪声文本具有较好的鲁棒性;支持多种语言,并能够处理不同长度的文本。只需要提供文本数据和标签,就可以进行训练和分类,而无需对文本进行过多的预处理。

FastText 模型的缺点包括对于超出单词级别的信息建模能力相对较弱,以及较长文本训练过程中的复杂度增加。

3.4 TextRCNN 模型

TextRCNN 模型的目的是解决RNN 在处理长文本时存在的偏置问题,以及CNN 在确定文本中具有最大池化层的识别性短语时可能存在的局限性。该模型结合了RNN 和CNN 的优点,它能够通过双向循环和最大池化层减少噪声,更准确地捕捉文本的语义,并保留更大范围的词序信息;结合RNN 和CNN 的优点,既可以捕获词序信息,也可以减少参数空间;能够处理任意长度的序列,而不需要对输入进行预处理或缩短序列长度。

总之,TextRCNN 模型在文本分类任务中具有捕捉上下文信息、处理任意长度序列、端到端训练和可解释性等优点。

3.5 BiLSTM+Attention 模型

BiLSTM+Attention 模型结合了BiLSTM(双向长短期记忆网络)和注意力机制,通常用于自然语言处理(NLP)任务,如文本分类、序列标注等。该模型的网络结构如图2 所示。

图2 BiLSTM+Attention 模型网络结构图

此模型在文本分类中的优点包括:BiLSTM 模型可以同时考虑过去和未来的信息,更全面地捕捉序列数据中的特征信息;Attention 机制能够更好地处理序列数据之间的关系,为BiLSTM 网络提高预测准确率;BiLSTM+Attention 的可解释性较强,可以更好地理解文本分类的决策过程。

该模型的缺点则包括:可能受到过长文本或复杂句式的困扰,导致训练速度和分类效率下降。

3.6 DPCNN 模型

DPCNN 模型是一种深度卷积神经网络,在文本分类中的优点包括:采用层级特征提取方式,能够适应不同长度的文本输入,从字、词、n-gram 等多个层次提取文本特征,具有较强的特征表达能力;采用了高效的训练方法,如层级权重初始化、多尺度卷积和池化等,能够快速收敛并获得较好的效果。

DPCNN 模型在文本分类和相关任务中表现出色,尤其适用于长文本的分类任务。但其计算复杂度和参数数量限制了其在实际应用中的推广。

3.7 Transformer 模型

Transformer 模型在文本分类任务中具有高效性,其使用自注意力机制来实现对输入序列的编码和表示学习,相比于传统的递归神经网络(RNN)或卷积神经网络(CNN)等,获得了更高的并行性和计算效率。因此,模型在处理长序列和大规模数据时具有明显的优势。

该模型还具有上下文感知能力,使用自注意力机制来实现对输入序列的编码和表示学习,可以捕捉序列中不同位置之间的依赖关系,实现上下文感知,提高模型的准确性和鲁棒性。

模型的通用性也较高,可以应用于多种自然语言处理任务,不需要为每个任务单独设计模型结构。然而Transformer 模型需要大量的训练数据和计算资源,对于小规模或特定领域的任务可能无法取得理想的效果。

4 研究分析

4.1 评论文本的特点

研究选取某外卖平台评论信息作为短文本的情感分析语料。评论信息在短文本中极具代表性和丰富性,具有真实场景化的鲜明特点。评论文本比较跳跃,表达口语化,往往不遵守语法规则,语言比较新颖,内容稀疏,上下文信息缺乏。有时还会包含拼写错误、网络流行用语以及特殊表情、符号等。

评论文本的字符跨度大。评论最短一般由一个字、词甚至一个标点符号或者几个词或几个短语组成来表明自己的态度。短小评论占全部评论中的大多数。最长的评论可达上千字,但长文本极少出现。评论的文本长度与数量之间呈现出幂律关系。

评论文本具有多种意义。短文本增长非常迅速,数据规模庞大,存在一词多义和一义多词的特点,造成了语义难以明辨,理解偏差无法消解。内容中往往包含评论人的喜怒哀乐。

4.2 文本预处理

文本预处理主要针对一些无实际意义的词进行识别和剔除,例如大量的停用词或噪声等,从而能够降低其对预处理的影响程度。中文语义较复杂,具有更高的信息量,相比类似英文的拼写文字,很难进行精确的分词,模型评估效果也会低于英文模型。

文本分类的预处理包括:分词、降噪、剔除停用词等。中文的分词会造成更多的低频词出现,对于短文本是无法很好的学习到词语意义的。分词提高了出现的频率,比字有着更广泛的包含性,所以可以学到更多的词性。中文评论的降噪对长文本具有很好的凸显特征的作用,但是对于短文本,只要语料够多,分出的字完全可以涵盖所有的文字和表达方式。对于短文本评论中的符号、表情或者一个字的评论其实也是带有评论者想表述的意思。所以为了增加未来对于各领域不同评论的鲁棒性,提高泛化适应能力,没有对文本做任何的额外处理。仅仅只做一个分词处理,并使用现成的预训练字向量作为模型的输入值。

4.3 字向量的优越性

文本对其分词天然含有词语间语义的信息,对于长文本可以增加信息量。但是对于评论性的短文本,反而分字的优越性更大,所以使用了搜狗公布的预训练字向量[12],后续所有模型均是根据预训练字向量提取出文本对应的字向量作为模型的输入。字向量示例如表2 所示。

表2 字向量示例

通过分析认为分字具有如下的优越性:

对于不同的短文本数据集的任意模型来说,分字会减少低频字的出现,可以弱化评论的跳跃性。只要使用充足的训练集,分字所分割出的文字完全可以囊括日常评论所需的所有文字和符号。

分字分割出的文字通常出现在多种不同的语境中,这样,模型训练出的文字语义就是这些文字在多种语境中的综合,具有广泛的适用性。

机器学习提高文本分类效果主要体现在数据集和模型两个方面。仅仅使用字向量可以降低语料的数量,提高出现的频率,从而提高泛化性能。

5 实验及结果分析

在实验中,使用了双核Intel®CoreTMi7-7500U CPU@2.70 GHz 和16G RAM 的电脑,运行系统为Windows2010, 编程语言为Python3, 深度学习库为PyTorch,参考中文文本分类源码[13]。

5.1 数据集

实验使用的数据集是Github 官网上开源的某外卖平台中文情感分析语料共11987 条(其中5 个字以内超短文本数1892 条)[14],数据集整体符合评价指标。测试集、训练集和验证集中没有相互重复和交叉数据,它们按照60%:20%:20%的比例进行随机抽取。最终得到训练集7192 条,测试集2397 条,验证集2398 条。其中,正向评论文本数7987 条,负向评论文本数3999 条。

5.2 实验评估

由于模型较多,仅将FastTest 模型每隔32 次迭代计算得到的测试集和训练集的准确率记录下来,并绘制在折线图中,得到如图3 所示的结果图。随着迭代次数的提高,迭代准确率越来越准确并有逐步趋于稳定的趋势。为了避免过拟合,在迭代第1344次时终止了迭代。

图3 FastTest 模型训练过程中准确率变化图

为得到更好的评价模型,选择的模型评估指标有:准确率(Accuracy, A)、召回率(Recall, R)、F1 分数(F1Score, F1)。通过实验得到各模型对比指标,结果如表3。

表3 各模型评估指标对比

从表中可以看出,本文引用的模型在各个指标上的结果都较好(准确率最低为85.11%),同时模型间指标的差异也较小(浮动在5%以内),这表明针对短文本进行字向量的输入是可行的,也说明模型具有很强的拟合能力和泛化能力。其中,TextCNN 和FastTest 在短文本数据的分类处理上比其他模型稍微优秀一些。有此表现可能是由于TextCNN 和Fast Test 在处理短文本时具有更好的特征提取能力。至此,可以得出结论,在短文本情感分析方面,以字切分具有很好的表现,对于评论性的短文本,不做任何处理,仅仅用字向量作为特征直接输入,利用神经网络端到端的特性,即可达到较好的分类效果。

6 结束语

针对评论性短文本的特征,分析了字向量的优势,同时对各模型在外卖数据集的正负情感分类进行验证,检验了模型在短文本方面的效果,均能较良好地完成了识别任务。研究为未来利用迁移学习的方式在其它短文本评论领域进行分类提供了有价值的参考。不过对于短文本自身的定义和建构同样需要进一步完善,其内涵也有待进一步挖掘。对于短文本自身的定义和建构,后续研究工作还应包括:利用模型预测出文本的情感正负倾向后,更进一步研究正负情感的程度,以及正负文本观点的主题内容;在长文本方面的表现还需进一步探索;在情感分析也应考虑到情感的程度或者中性观点的存在。

猜你喜欢

短文向量分类
向量的分解
分类算一算
聚焦“向量与三角”创新题
分类讨论求坐标
KEYS
数据分析中的分类讨论
Keys
教你一招:数的分类
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线