1. 引言
我国一直以来就是陶瓷文明的发祥地,闻名于世的陶瓷古国,拥有深厚的陶瓷文化底蕴和悠久的制瓷历史,陶瓷产业更是作为我国优势产业之一。随着电子商务、社交媒体等技术的不断发展,网络上对于陶瓷产品的评论越来越多。在网上购物后,用户往往会对所购买的陶瓷产品发表一些有价值的评论。但是,评论数据的数据量众多,用户往往很难直接从海量的评论数据中找到自己需要的信息,陶瓷商家也无法直接从海量的评论数据中得到有效的用户反馈。对于用户和陶瓷商家来说,对陶瓷产品评论进行情感分析是十分必要的。对陶瓷产品的评论进行情感分析不但能给用户提供购买参考,还能帮助陶瓷企业了解用户对自己产品的感受,这将有助于陶瓷企业对产品进行改进和升级,在一定程度上促进了产品销量的提升和市场力的提高。
2. 评论文本情感分析
评论文本情感分析也称之为评论文本意见挖掘或者评论文本情感倾向分析,它是分析、处理、归纳和推理带有感情色彩的主观评论文本的过程[1]。评论文本情感分类可以说是评论文本情感分析技术的核心,它主要负责评论文本的情感倾向判断,即按照评论文本所表达的含义和反映出来的情感信息,将评论文本分成正、负两种或者多种类型。对于陶瓷产品评论文本情感分类来说,就是根据陶瓷产品的评论文本来判断用户对陶瓷产品的情感倾向。
评论文本情感分类一般会应用自然语言处理等方法,如统计学、机器学习等。在将评论文本数据转化为可输入的矢量后,通过不同情境下的情感分类算法来进行情感归类,得到所研究评论文本的情绪倾向。进行评论文本情感分类的流程一般为:获取评论文本数据、评论文本数据预处理、将评论文本数据转换成输入矢量、应用情感分类方法进行情感分类、情感分类效果评估及结果分析。根据分类方法的不同,评论文本情感分类可以分为三大类。第一类,基于规则的评论文本情感分类。第二类,基于机器学习的评论文本情感分类。第三类,基于深度学习的评论文本情感分类。
本文研究的是应用机器学习方法对陶瓷产品评论文本进行情感分类,研究流程图如图1所示。所采用的机器学习模型为:朴素贝叶斯(NB)、支持向量机(SVM)、人工神经网络(ANN)和随机森林(RF)。
Figure 1.Flow chart of emotion classification of ceramic product review texts
图1.陶瓷产品评论文本情感分类流程图
3. 数据的获取与处理
3.1. 数据的获取
爬虫可以根据自己设定的规则来自动地抓取产品评论数据。通过网络爬虫技术可以对电商平台上的产品评论数据进行抓取。本文利用PyCharm编写爬虫程序来对陶瓷产品的评论文本数据进行采集。本文主要是爬取京东平台上陶瓷咖啡杯的评论文本数据,本文选取了三款不同的陶瓷咖啡杯,这三款不同的陶瓷咖啡杯分别为:瓷魂陶瓷咖啡杯、贝瑟斯陶瓷咖啡杯、传旗陶瓷咖啡杯。对其评论文本数据进行了爬取。
本文通过爬虫获取到瓷魂陶瓷咖啡杯、贝瑟斯陶瓷咖啡杯、传旗陶瓷咖啡杯的评论文本数据的数据量分为3000条、3000条、1836条。本文将爬取到的评论文本数据保存在CSV文件中,一列为评论文本,一列为评论类型。评论类型有好评、中评、差评,其分别用1、0、−1来表示。爬取到的部分评论文本数据如表1所示。
Table 1.Partial comment text data
表1.部分评论文本数据
评论文本 |
评论类型 |
杯子质量不好,杯子盖是坏的 |
−1 |
差的不要的,杯角泛黄还有磨损 |
−1 |
杯口有瑕疵。 |
0 |
有很多瑕疵 不光滑 |
0 |
很漂亮。很赞物有所值。哈 |
1 |
杯子不错 很好看 手感也不错 |
1 |
3.2. 数据的预处理
在陶瓷产品评论文本的情感分类中,评论文本数据的预处理是至关重要的。在获取陶瓷产品评论文本原始数据后必须要对其进行预处理,其原因为陶瓷产品文本评论原始数据中存在着很多价值量低的数据,而且还有噪声问题。假如不先对该原始数据进行预处理而直接进入后续的操作,这很可能会导致处理效率和精度极低。
获取到的评论文本为中文文本,因此,可采用中文文本预处理的方式来进行预处理。中文文本数据预处理的步骤一般为:数据清洗、中文分词、去除停用词。如有需要还需进行词频统计。
数据的清洗分为去除缺失值、去重、机械压缩去词、短句删除。去除缺失值就是去掉含有缺失值的数据。去重的工作主要是删除评论文本数据集合中重复的数据,而且对系统的默认评论文本数据值进行处理。像“此用户未填写评价内容”这种系统默认的评论文本数据值对评论文本情感分类是没有任何意义的。在对原始数据进行去除缺失值和去重处理后,其语料的质量语句得到了很大的提高。但这对于评论文本情感分类来说还是远远不够。还需要对其进行机械压缩去词,进一步提高语料的质量。机械压缩去词的目的就是要删除评论语句中重复的词汇。这些评论语句中重复的词汇在分词后词频会明显增加,这将会影响数据可视化的效果和最终的结果分析。在机械压缩去词后要进行的操作便是短句去除了,短句去除负责将评论文本数据中长度较短的数据进行删除。在经过去除缺失值、去重、机械压缩去词、短句删除这一系列处理后,数据清洗的工作就算完成了。
本文对获取到的原始数据进行数据清洗后,瓷魂陶瓷咖啡杯的评论文本数据其数据量由3000变为2967,贝瑟斯陶瓷咖啡杯的评论文本数据其数量由3000变为2974,传旗陶瓷咖啡杯的评论文本数据其数据量由1836变为1803。
中文文本数据预处理中最关键的一步便是中文分词,它通过一定的规则将连贯的句子划分成了一个个的词汇。本文通过编写python代码对数据清洗后的陶瓷产品评论数据进行分词处理。在此过程中应用到了jieba分词库。jieba分词可以说是目前较主流的分词工具,jieba分词有精确模式、全模式和搜索引擎模式,jieba分词在对评论文本进行分词时往往采用精确模式。本文对数据清洗后的陶瓷产品评论文本进行分词,选择的便是jieba分词的精确模式。在对获取到的瓷魂陶瓷咖啡杯、贝瑟斯陶瓷咖啡杯、传旗陶瓷咖啡杯评论文本数据进行数据清洗后,利用jieba分词对清洗后的评论文本数据进行分词。其中,对清洗后的瓷魂陶瓷咖啡杯评论文本数据进行分词后的效果如图2所示。
Figure 2.Word segmentation effect diagram
图2.分词效果图
一般来说,评论文本中会含有许多介词、虚词、介词等词汇,比如“啦”、“的”、“吧”。这些词汇往往是高频词,它们在评论文本中频繁出现,但它们却并没有什么真正的意义,而且它们对评论文本的情感分类也没有什么多大的意义,这些词汇被称为停用词[2]。对评论文本中的停用词进行去除是非常有必要的。在分词后,用分词后的词汇与停用词表进行匹配,就可以过滤掉停用词。
本文在原有的常用停用词表中加入一些对于陶瓷咖啡杯评论文本情感分类无意义的词汇,比如“京东”、“东西”、“盖子”,构建新的停用词表,该停用词表如图3所示。该停用词表中包含1901个停用词。
Figure 3.Stop word list
图3.停用词表
3.3. 数据的可视化
数据可视化是指要将数据以直观的图形展现出来,它的目的是发现隐藏在数据中的规律与现象。数据可视化有助于人们在海量的数据中更快地发现需要的信息。为了更加直观地了解瓷魂陶瓷咖啡杯、贝瑟斯陶瓷咖啡杯、传旗陶瓷咖啡杯的评论文本信息,本文对预处理后的评论文本数据进行了数据可视化。所选择的数据可视化操作为词云图。瓷魂陶瓷咖啡杯的评论文本词云图如图4所示。
Figure 4.Word cloud diagram of porcelain soul ceramic coffee cup review texts
图4.瓷魂陶瓷咖啡杯的评论文本词云图
从图中可以清晰地看到“质量”、“包装”、“手感”、“做工”、“喜欢”等字眼。从用户角度来说,图中反映出用户目前不仅关注该陶瓷咖啡杯产品的质量,还关注其包装、产品外观以及使用手感等。从商家的角度来看,图中可以看出该陶瓷咖啡杯的卖点主要为产品质量、包装、产品外观以及使用手感。
4. 文本特征表示
4.1. 词频矩阵
用词频矩阵来进行文本特征表示可以说是一种经典的文本特征表示方法了,它通过统计文档各个词汇出现的频率,将文档转换成一个稀疏矩阵。矩阵中的每行表示一个文档,每列表示一个词汇,矩阵中的每个元素则表示对应的文档中该词汇出现的次数或频率。
4.2. TF-IDF
TF-IDF方法是目前常用的文本特征表示方法,它考虑了一个词汇在文档中出现的频率和在整个数据集中出现的频率(逆文档频率),以此来调整词汇的权重,便于更好地表示文档的特征。TF-IDF方法它通过分配权重来反映每个词的重要程度。词汇在文本中出现的次数越多,说明该词汇的重要程度越高[3]。词汇的重要程度不仅受词汇在文本中出现次数的影响,还受词汇在语料库中出现频率的影响。词汇在语料库中出现的频率越高,其重要程度会越低。
4.3. Word2vec词向量
相比于词频矩阵文本特征表示和TF-IDF文本特征表示,Word2vec是一种更加高级的文本特征表示方法。Word2vec文本特征表示是一种基于神经网络训练的文本特征表示方法,它通过学习每个词汇的嵌入向量,将词汇之间的语义关系编码到向量空间,并且通过向量之间的相似度来度量词汇的相似性[4]。它可以将每个词汇从one-hot编码的形式转换成一个向量,从而方便进行机器学习和深度学习任务。Word2vec的主要思想是让相似的词汇在向量空间中的距离更近,不同类的词汇在向量空间中的距离更远。Word2vec词向量方法进行文本特征表示主要有连续词袋模型(CBOW)和Skip-gram模型,在评论文本分类中常常应用的是Skip-gram模型。
5. 模型构建
5.1. 支持向量机
支持向量机能够将分类问题转换成求解最大化分类间隔问题。用支持向量机进行评论文本情感分类的原理是先将评论文本转换向量形式,即将每个评论文本表示成一个向量,其中每个向量有多个维度,每个维度代表某个特定的词汇在评论文本中出现的情况。然后,需要找到一个超平面,该超平面负责将进行训练的评论文本划分成多个情感类别。支持向量机的思想为找到最优的超平面,使得离超平面最近的几个点到该超平面的距离最大。这些距离最近的点便称之为支持向量。在进行训练时,支持向量机会找到一个最大间隔的超平面,使得各个情感类别之间的距离最大化。
5.2. 朴素贝叶斯
朴素贝叶斯是一种基于概率论的分类模型。朴素贝叶斯可以根据评论文本中出现的词汇与情感标签的关系,对评论文本进行情感分类。朴素贝叶斯分为高斯朴素贝叶斯、伯努利朴素贝叶斯和决策树朴素贝叶斯三种。其中,高斯朴素贝叶斯主要面对输入为连续型的情况,通过假设高斯分布计算类条件概率;伯努利朴素贝叶斯主要面对输入为离散型的情况,将特征二值化;决策树朴素贝叶斯主要面对输入为离散型的情况,例如一个词汇在不同文档中出现的次数。由此可见,在评论文本情感分类中,文本特征表示方法的不同将导致选择的朴素贝叶斯也不同。利用词频矩阵、TF-IDF模型进行文本特征表示时,采用决策树朴素贝叶斯进行情感分类。利用Word2vec进行文本特征表示时,采用伯努利朴素贝叶斯进行情感分类。
5.3. 随机森林
随机森林是基于许多决策树组成的集成分类模型。对于随机森林评论文本情感分类的具体实现是首先对评论文本数据进行文本特征表示,然后构建多个决策树进行情感分类,它以每颗决策树的情感分类结果作为随机森林的最终结果。对于每个决策树,其会从文本特征中随机选取一部分特征,将其作为决策树的输入数据,然后利用信息熵和信息增益等指标划分出每一个节点,直至达到叶子节点。决策树的生成采用的是随机取样中的重复有放回抽样技术。在生成多个决策树后,随机森林会使用投票法来集成它们的情感分类结果,在评论文本情感分类中,随机森林多是采用投票的方式来判断最终的情感分类结果,即将所有决策树的情感分类结果进行投票,当某种情感分类结果的票数超过一半时,随机森林便会把该情感分类结果作为最终的结果。
在对陶瓷产品评论文本进行情感分类时,先根据训练集的评论文本向量训练好随机森林,然后输入测试集的评论文本向量,随机森林将该测试评论文本向量输入到构建好的每一棵决策树中,最后通过投票的方式来获得整个随机森林的情感分类结果。
5.4. 人工神经网络
人工神经网络的基本组成单位是神经元,它是对生物神经元的抽象模拟,由输入层、中间层和输出层三部分构成,每个神经元接收输入信号,并通过激活函数对输入信号进行处理,产生输出信号,同时将信号传递给下一个神经元。在情感分类中,对于每个神经元,可以将输入的评论文本向量映射为多个数字或者二元数值。在构建人工神经网络时还需要确定网络结构,其包括神经元的数量和连接方式等。常用的网络结构有前馈神经网络、递归神经网络、卷积神经网络等。在情感分类中通常使用的是前馈神经网络。人工神经网络除了神经元和网络结构,其激活函数也是至关重要的。常用的激活函数有Sigmoid、ReLU、Tanh等。人工神经网络可以通过反向传播算法来进行迭代优化、修正网络模型的权重和偏置值。
6. 实验与结果分析
为了对陶瓷产品评论文本的情感分类进行研究,本文针对瓷魂陶瓷咖啡杯、贝瑟斯陶瓷咖啡杯、传旗陶瓷咖啡杯这三款产品的评论文本数据,利用词频矩阵、TF-IDF模型和Word2vec词向量模型进行文本特征表示。在文本特征表示后,应用机器学习方法中的支持向量机、朴素贝叶斯、随机森林和人工神经网络进行情感分类。最后进行模型评估。其模型评估得到的Accuracy (准确率)如表2~4所示。
Table 2.Sentiment classification accuracy of porcelain soul ceramic coffee cup review texts
表2.瓷魂陶瓷咖啡杯评论文本的情感分类准确率
文本特征表示方法 分类方法 |
词频矩阵 |
TF-IDF |
Word2vec词向量 |
支持向量机 |
0.69 |
0.71 |
0.73 |
朴素贝叶斯 |
0.69 |
0.70 |
0.70 |
随机森林 |
0.66 |
0.69 |
0.72 |
人工神经网络 |
0.60 |
0.59 |
0.62 |
Table 3.Sentiment classification accuracy of Bethes ceramic coffee cup review texts
表3.贝瑟斯陶瓷咖啡杯评论文本的情感分类准确率
文本特征表示方法 分类方法 |
词频矩阵 |
TF-IDF |
Word2vec词向量 |
支持向量机 |
0.72 |
0.73 |
0.74 |
朴素贝叶斯 |
0.71 |
0.70 |
0.72 |
随机森林 |
0.69 |
0.71 |
0.73 |
人工神经网络 |
0.63 |
0.63 |
0.61 |
Table 4.Sentiment classification accuracy of Chuanqi ceramic coffee cup review texts
表4.传旗陶瓷咖啡杯评论文本的情感分类准确率
文本特征表示方法 分类方法 |
词频矩阵 |
TF-IDF |
Word2vec词向量 |
支持向量机 |
0.77 |
0.81 |
0.81 |
朴素贝叶斯 |
0.80 |
0.78 |
0.81 |
随机森林 |
0.81 |
0.82 |
0.82 |
人工神经网络 |
0.77 |
0.72 |
0.78 |
Accuracy (准确率)为情感分类模型的评估指标。情感分类模型的评估指标一般是基于混淆矩阵得到的,混淆矩阵如表5所示。
Table 5.Confusion matrix table
表5.混淆矩阵表
|
|
预测标签 |
预测标签 |
|
|
1 (正例) |
0 (负例) |
真实标签 |
1 (正例) |
TP |
FN |
真实标签 |
0 (负例) |
FP |
TN |
表5中,TP表示为被正确分类的正例评论文本数,TN表示为被正确分类的负例评论文本数,FP表示被错误分类的正例评论文本数,FN表示被错误分类的负例评论文本数[5]。Accuracy (准确率)能够很好地反映正确分类的评论文本所占的比重,通过Accuracy (准确率)能够更好地比较各个情感分类模型的分类效果差异。其计算公式见式(5.1):
(5.1)
从表2~4中横向Accuracy (准确率)数值可以看出,针对瓷魂陶瓷咖啡杯、贝瑟斯陶瓷咖啡杯、传旗陶瓷咖啡杯的评论文本数据,在此数据集下,应用支持向量机、朴素贝叶斯、随机森林、人工神经网络来进行情感分类时,词频矩阵、TF-IDF模型、Word2vec词向量模型这三种文本特征表示方法中,Word2vec词向量模型更适合用来对评论文本数据进行文本特征表示。
从表2和表3第一列、第二列、第三列的Accuracy (准确率)数值可以看出,针对瓷魂陶瓷咖啡杯、贝瑟斯陶瓷咖啡杯的评论文本数据,在此数据集中,利用词频矩阵[6]、TF-ID模型、Word2vec词向量进行文本特征表示的三种情况,都是用支持向量机进行情感分类的分类效果最好,应用人工神经网络进行情感分类的分类效果最差。
从表4第一列、第二列、第三列的Accuracy (准确率)数值可以看出,针对传旗陶瓷咖啡杯的评论文本数据,在此数据集中,利用词频矩阵、TF-ID模型、Word2vec词向量进行文本特征表示的三种情况,都是用随机森林进行情感分类的分类效果最好[7],用人工神经网络进行情感分类的分类效果最差。
从表2和表3中观察的结果与从表4观察的结果有所不同。结果有所不同的主要原因为瓷魂陶瓷咖啡杯、贝瑟斯陶瓷咖啡杯的评论文本数据的数据量与传旗陶瓷咖啡杯的评论文本数据的数据量差异较大。从总体上看,对于陶瓷产品评论文本情感分类,在此数据集中,应用词频矩阵、TF-ID模型、Word2vec词向量进行文本特征表示时[8],支持向量机、朴素贝叶斯、随机森林、人工神经网络四种机器学习情感分类模型中,支持向量机进行情感分类的分类效果最好,人工神经网络进行情感分类的分类效果最差。
综上可知,对于陶瓷产品评论文本的情感分类,在此数据集下,这三种文本特征表示方法和四种机器学习情感分类模型的所有组合中,Word2vec词向量方法和支持向量机的组合的情感分类效果最好。
基金项目
景德镇陶瓷大学大学生创新创业项目资助(编号:202310408018);景德镇市科学技术项目资助(编号:20212GYZD009-05)。