Sentiment Analysis Based on Ceramic Product Reviews
In this paper, sentiment analysis of review texts is conducted based on the review data of ceramic products. The main research of this paper is to apply machine learning methods to classify the sentiment of ceramic product review texts, and the machine learning sentiment classification models used are: plain Bayesian (NB), support vector machine (SVM), artificial neural network (ANN) and random forest (RF). A comparative analysis was conducted after sentiment classification, and the comparative analysis revealed that: 1) under this dataset, the Word2vec word vector text feature representation method is more suitable for text feature representation than the two text feature representation methods of word frequency matrix and TF-IDF; 2) under this dataset, among the four sentiment classification models, artificial neural network (ANN) has the worst classification effect and support vector machine (SVM) has the best classification effect. In summary, for the sentiment classification of ceramic product review texts, among all combinations of these three text feature representation methods and four machine learning sentiment classification models in this dataset, the combination of Word2vec word vector method and support vector machine has the best sentiment classification effect.
Sentiment Analysis
我国一直以来就是陶瓷文明的发祥地,闻名于世的陶瓷古国,拥有深厚的陶瓷文化底蕴和悠久的制瓷历史,陶瓷产业更是作为我国优势产业之一。随着电子商务、社交媒体等技术的不断发展,网络上对于陶瓷产品的评论越来越多。在网上购物后,用户往往会对所购买的陶瓷产品发表一些有价值的评论。但是,评论数据的数据量众多,用户往往很难直接从海量的评论数据中找到自己需要的信息,陶瓷商家也无法直接从海量的评论数据中得到有效的用户反馈。对于用户和陶瓷商家来说,对陶瓷产品评论进行情感分析是十分必要的。对陶瓷产品的评论进行情感分析不但能给用户提供购买参考,还能帮助陶瓷企业了解用户对自己产品的感受,这将有助于陶瓷企业对产品进行改进和升级,在一定程度上促进了产品销量的提升和市场力的提高。
评论文本情感分析也称之为评论文本意见挖掘或者评论文本情感倾向分析,它是分析、处理、归纳和推理带有感情色彩的主观评论文本的过程
评论文本情感分类一般会应用自然语言处理等方法,如统计学、机器学习等。在将评论文本数据转化为可输入的矢量后,通过不同情境下的情感分类算法来进行情感归类,得到所研究评论文本的情绪倾向。进行评论文本情感分类的流程一般为:获取评论文本数据、评论文本数据预处理、将评论文本数据转换成输入矢量、应用情感分类方法进行情感分类、情感分类效果评估及结果分析。根据分类方法的不同,评论文本情感分类可以分为三大类。第一类,基于规则的评论文本情感分类。第二类,基于机器学习的评论文本情感分类。第三类,基于深度学习的评论文本情感分类。
本文研究的是应用机器学习方法对陶瓷产品评论文本进行情感分类,研究流程图如
爬虫可以根据自己设定的规则来自动地抓取产品评论数据。通过网络爬虫技术可以对电商平台上的产品评论数据进行抓取。本文利用PyCharm编写爬虫程序来对陶瓷产品的评论文本数据进行采集。本文主要是爬取京东平台上陶瓷咖啡杯的评论文本数据,本文选取了三款不同的陶瓷咖啡杯,这三款不同的陶瓷咖啡杯分别为:瓷魂陶瓷咖啡杯、贝瑟斯陶瓷咖啡杯、传旗陶瓷咖啡杯。对其评论文本数据进行了爬取。
本文通过爬虫获取到瓷魂陶瓷咖啡杯、贝瑟斯陶瓷咖啡杯、传旗陶瓷咖啡杯的评论文本数据的数据量分为3000条、3000条、1836条。本文将爬取到的评论文本数据保存在CSV文件中,一列为评论文本,一列为评论类型。评论类型有好评、中评、差评,其分别用1、0、−1来表示。爬取到的部分评论文本数据如
评论文本 |
评论类型 |
杯子质量不好,杯子盖是坏的 |
−1 |
差的不要的,杯角泛黄还有磨损 |
−1 |
杯口有瑕疵。 |
0 |
有很多瑕疵 不光滑 |
0 |
很漂亮。很赞物有所值。哈 |
1 |
杯子不错 很好看 手感也不错 |
1 |
在陶瓷产品评论文本的情感分类中,评论文本数据的预处理是至关重要的。在获取陶瓷产品评论文本原始数据后必须要对其进行预处理,其原因为陶瓷产品文本评论原始数据中存在着很多价值量低的数据,而且还有噪声问题。假如不先对该原始数据进行预处理而直接进入后续的操作,这很可能会导致处理效率和精度极低。
获取到的评论文本为中文文本,因此,可采用中文文本预处理的方式来进行预处理。中文文本数据预处理的步骤一般为:数据清洗、中文分词、去除停用词。如有需要还需进行词频统计。
数据的清洗分为去除缺失值、去重、机械压缩去词、短句删除。去除缺失值就是去掉含有缺失值的数据。去重的工作主要是删除评论文本数据集合中重复的数据,而且对系统的默认评论文本数据值进行处理。像“此用户未填写评价内容”这种系统默认的评论文本数据值对评论文本情感分类是没有任何意义的。在对原始数据进行去除缺失值和去重处理后,其语料的质量语句得到了很大的提高。但这对于评论文本情感分类来说还是远远不够。还需要对其进行机械压缩去词,进一步提高语料的质量。机械压缩去词的目的就是要删除评论语句中重复的词汇。这些评论语句中重复的词汇在分词后词频会明显增加,这将会影响数据可视化的效果和最终的结果分析。在机械压缩去词后要进行的操作便是短句去除了,短句去除负责将评论文本数据中长度较短的数据进行删除。在经过去除缺失值、去重、机械压缩去词、短句删除这一系列处理后,数据清洗的工作就算完成了。
本文对获取到的原始数据进行数据清洗后,瓷魂陶瓷咖啡杯的评论文本数据其数据量由3000变为2967,贝瑟斯陶瓷咖啡杯的评论文本数据其数量由3000变为2974,传旗陶瓷咖啡杯的评论文本数据其数据量由1836变为1803。
中文文本数据预处理中最关键的一步便是中文分词,它通过一定的规则将连贯的句子划分成了一个个的词汇。本文通过编写python代码对数据清洗后的陶瓷产品评论数据进行分词处理。在此过程中应用到了jieba分词库。jieba分词可以说是目前较主流的分词工具,jieba分词有精确模式、全模式和搜索引擎模式,jieba分词在对评论文本进行分词时往往采用精确模式。本文对数据清洗后的陶瓷产品评论文本进行分词,选择的便是jieba分词的精确模式。在对获取到的瓷魂陶瓷咖啡杯、贝瑟斯陶瓷咖啡杯、传旗陶瓷咖啡杯评论文本数据进行数据清洗后,利用jieba分词对清洗后的评论文本数据进行分词。其中,对清洗后的瓷魂陶瓷咖啡杯评论文本数据进行分词后的效果如
一般来说,评论文本中会含有许多介词、虚词、介词等词汇,比如“啦”、“的”、“吧”。这些词汇往往是高频词,它们在评论文本中频繁出现,但它们却并没有什么真正的意义,而且它们对评论文本的情感分类也没有什么多大的意义,这些词汇被称为停用词
本文在原有的常用停用词表中加入一些对于陶瓷咖啡杯评论文本情感分类无意义的词汇,比如“京东”、“东西”、“盖子”,构建新的停用词表,该停用词表如
数据可视化是指要将数据以直观的图形展现出来,它的目的是发现隐藏在数据中的规律与现象。数据可视化有助于人们在海量的数据中更快地发现需要的信息。为了更加直观地了解瓷魂陶瓷咖啡杯、贝瑟斯陶瓷咖啡杯、传旗陶瓷咖啡杯的评论文本信息,本文对预处理后的评论文本数据进行了数据可视化。所选择的数据可视化操作为词云图。瓷魂陶瓷咖啡杯的评论文本词云图如
从图中可以清晰地看到“质量”、“包装”、“手感”、“做工”、“喜欢”等字眼。从用户角度来说,图中反映出用户目前不仅关注该陶瓷咖啡杯产品的质量,还关注其包装、产品外观以及使用手感等。从商家的角度来看,图中可以看出该陶瓷咖啡杯的卖点主要为产品质量、包装、产品外观以及使用手感。
用词频矩阵来进行文本特征表示可以说是一种经典的文本特征表示方法了,它通过统计文档各个词汇出现的频率,将文档转换成一个稀疏矩阵。矩阵中的每行表示一个文档,每列表示一个词汇,矩阵中的每个元素则表示对应的文档中该词汇出现的次数或频率。
TF-IDF方法是目前常用的文本特征表示方法,它考虑了一个词汇在文档中出现的频率和在整个数据集中出现的频率(逆文档频率),以此来调整词汇的权重,便于更好地表示文档的特征。TF-IDF方法它通过分配权重来反映每个词的重要程度。词汇在文本中出现的次数越多,说明该词汇的重要程度越高
相比于词频矩阵文本特征表示和TF-IDF文本特征表示,Word2vec是一种更加高级的文本特征表示方法。Word2vec文本特征表示是一种基于神经网络训练的文本特征表示方法,它通过学习每个词汇的嵌入向量,将词汇之间的语义关系编码到向量空间,并且通过向量之间的相似度来度量词汇的相似性
支持向量机能够将分类问题转换成求解最大化分类间隔问题。用支持向量机进行评论文本情感分类的原理是先将评论文本转换向量形式,即将每个评论文本表示成一个向量,其中每个向量有多个维度,每个维度代表某个特定的词汇在评论文本中出现的情况。然后,需要找到一个超平面,该超平面负责将进行训练的评论文本划分成多个情感类别。支持向量机的思想为找到最优的超平面,使得离超平面最近的几个点到该超平面的距离最大。这些距离最近的点便称之为支持向量。在进行训练时,支持向量机会找到一个最大间隔的超平面,使得各个情感类别之间的距离最大化。
朴素贝叶斯是一种基于概率论的分类模型。朴素贝叶斯可以根据评论文本中出现的词汇与情感标签的关系,对评论文本进行情感分类。朴素贝叶斯分为高斯朴素贝叶斯、伯努利朴素贝叶斯和决策树朴素贝叶斯三种。其中,高斯朴素贝叶斯主要面对输入为连续型的情况,通过假设高斯分布计算类条件概率;伯努利朴素贝叶斯主要面对输入为离散型的情况,将特征二值化;决策树朴素贝叶斯主要面对输入为离散型的情况,例如一个词汇在不同文档中出现的次数。由此可见,在评论文本情感分类中,文本特征表示方法的不同将导致选择的朴素贝叶斯也不同。利用词频矩阵、TF-IDF模型进行文本特征表示时,采用决策树朴素贝叶斯进行情感分类。利用Word2vec进行文本特征表示时,采用伯努利朴素贝叶斯进行情感分类。
随机森林是基于许多决策树组成的集成分类模型。对于随机森林评论文本情感分类的具体实现是首先对评论文本数据进行文本特征表示,然后构建多个决策树进行情感分类,它以每颗决策树的情感分类结果作为随机森林的最终结果。对于每个决策树,其会从文本特征中随机选取一部分特征,将其作为决策树的输入数据,然后利用信息熵和信息增益等指标划分出每一个节点,直至达到叶子节点。决策树的生成采用的是随机取样中的重复有放回抽样技术。在生成多个决策树后,随机森林会使用投票法来集成它们的情感分类结果,在评论文本情感分类中,随机森林多是采用投票的方式来判断最终的情感分类结果,即将所有决策树的情感分类结果进行投票,当某种情感分类结果的票数超过一半时,随机森林便会把该情感分类结果作为最终的结果。
在对陶瓷产品评论文本进行情感分类时,先根据训练集的评论文本向量训练好随机森林,然后输入测试集的评论文本向量,随机森林将该测试评论文本向量输入到构建好的每一棵决策树中,最后通过投票的方式来获得整个随机森林的情感分类结果。
人工神经网络的基本组成单位是神经元,它是对生物神经元的抽象模拟,由输入层、中间层和输出层三部分构成,每个神经元接收输入信号,并通过激活函数对输入信号进行处理,产生输出信号,同时将信号传递给下一个神经元。在情感分类中,对于每个神经元,可以将输入的评论文本向量映射为多个数字或者二元数值。在构建人工神经网络时还需要确定网络结构,其包括神经元的数量和连接方式等。常用的网络结构有前馈神经网络、递归神经网络、卷积神经网络等。在情感分类中通常使用的是前馈神经网络。人工神经网络除了神经元和网络结构,其激活函数也是至关重要的。常用的激活函数有Sigmoid、ReLU、Tanh等。人工神经网络可以通过反向传播算法来进行迭代优化、修正网络模型的权重和偏置值。
文本特征表示方法 分类方法 |
词频矩阵 |
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 |
文本特征表示方法 分类方法 |
词频矩阵 |
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 |
文本特征表示方法 分类方法 |
词频矩阵 |
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 (准确率)为情感分类模型的评估指标。情感分类模型的评估指标一般是基于混淆矩阵得到的,混淆矩阵如
预测标签 |
预测标签 |
||
1 (正例) |
0 (负例) |
||
真实标签 |
1 (正例) |
TP |
FN |
真实标签 |
0 (负例) |
FP |
TN |
(5.1)
从
从
综上可知,对于陶瓷产品评论文本的情感分类,在此数据集下,这三种文本特征表示方法和四种机器学习情感分类模型的所有组合中,Word2vec词向量方法和支持向量机的组合的情感分类效果最好。
景德镇陶瓷大学大学生创新创业项目资助(编号:202310408018);景德镇市科学技术项目资助(编号:20212GYZD009-05)。