LDA模型是一种表示文档层与主题层,主题层与词汇层之间的联系的三层贝叶斯模型。LDA模型通常将每一篇文档以一种概率分布来确定主题,以概率分布的形式表示每个主题。其拓扑结构如下图所示:
图1 LDA主题模型拓扑结构图
本文基于语义网络分析的方法对于商品评论做初步分析,从统计学习的角度来看,使用机器学习方法可以量化主题特征词的出现频率。通过量化主题特征词之间的出现频率,建立LDA主题模型,在小米10手机的文本评论中挖掘更多隐藏的和潜在的信息,挖掘小米10手机所具有的特殊属性。
1.1 LDA主题模型介绍
Blei等学者通过大量的研究,在2003年提出了一个生成主题模型,并将该模型命名为潜在Dirichlet分配(LDA)模型,简称主题模型。它可以有效地提取文本主题,并对文本评论数据进行文本挖掘建模分析。LDA主题模型添加了概率信息并优化了传统空间矢量模型。通过LDA主题建模分析,可以挖掘文本信息背后的潜在主题,然后分析文本特征词。
LDA模型将每个文档视为单词频率向量,然后在数学上将文本注释数据信息矢量化为易于建模的数字信息,然后建立一个单词袋模型,LDA模型图如下所示。
图2 LDA模型图
1.2 LDA主题模型实现
本文建立LDA主题模型,采用Gibbs抽样估计LDA主题模型的参数。在LDA主题模型中,必须确定Dirichlet函数的先验参数和的两个变量的最佳参数,以及确定主题数的值,通过实证分析,将Dirichlet函数的先验参数的经验值设置为,β的经验值设置为0.1,值设置为50。
本文将手机评论数据文本分为正面和负面评价两个文本,综合考虑分词粒度对于文本主题抽取的影响。基于情感字典的方法,导入情感词典对于评论语句进行打分,将文本评论数据分成三种不同的情感结果,生成积极、消极和中性情感三种情感结果,并删除中性的情感结果。
本文仅对正面情感结果和负面情感结果建立LDA主题模型,挖掘产品评论背后的隐藏的、潜在的信息。对正面和负面情感结果两文本分词处理后,保存成积极情绪和消极情绪两个文本,编写LDA主题模型程序,并且导入停用词文档,使用Python的Gensim库生成LDA主题模型的主题抽取结果。
使用Python中的Gensim库将如上的评论文本聚为三个主题,且每个主题下生成十个词语,以及该词语在该主题下所对应的概率,如下表挖掘出小米10手机正面和负面评价文本中的潜在主题。
抽取小米10手机正面评价的三个潜在主题,我们可以得出:
主题一中包含屏幕、速度、外观、运行等高频特征词,主要反映小米10手机屏幕大、外观漂亮、运行速度快的特点;
主题二中包含屏幕、效果、音效等高频特征词,主要反映小米10手机屏幕大、使用效果不错、音效很好;
主题三中包含拍照、外观、屏幕等高频特征词,主要反映小米10手机的拍照功能好、外观漂亮、屏幕大。
抽取小米10手机负面评价的三个潜在主题,我们可以得出:
主题一中包含摄像头、重启等高频特征词,主要反映的是小米10手机摄像头存在缺陷、屏幕不太好、手机经常重启等;
主题二中包含信号、发热、网络等高频特征词,主要反映的是小米10手机信号太差、手机经常发热、网络差;
主题三中包含待机时间、耳机、时不时等高频特征词,主要反映的是小米10手机待机时间短、耳机时不时会出现故障。
综上所述,对于正面和负面手机评论文本的主题抽取,以及依据高频特征词出现的概率,得出,小米10手机具有手机屏幕大、运行速度快、外观漂亮、拍照功能好的性能优势,同时,小米10手机手机也反映出信号差、发热、网络差、待机时间短的不足。
PS:由于本例编写的python代码过长,将本专辑所有的代码封装在后台保存,附加爬取的京东商品评论数据。
公众号后台回复
京东商品评论
获取封装代码和文本数据