1,关于本notebook
1.1 背景说明
本文是系列文章中的第三篇,前两篇是
1.
集搜客数据分析:分析电商评论发现消费者话题-数据采集篇 zhuanlan.zhihu.com
2.
集搜客数据分析:分析电商评论发现消费者话题 -分词和情感分析篇 zhuanlan.zhihu.com
电商网站上的商品评论的话题相对来说变化很小,基本上在一个固定的范围之内。几年前做过一个手机用户消费者洞察系统,在一个品类内部,消费者的话题可以分成两个大角度来分析,一个是消费者感知角度,就是消费者针对手机产品的各种功能的感受表达;另一个是产品特征角度。从两种角度出发可以设定更细的分类。下图是一个可视化结果。
也就是说,商品评论的话题范围很窄,其实可以不用LDA话题分析,大不了按照电商网站上的商品品类,分别建立话题类别。
相比之下,微博上的用户言论就很发散,上一篇《 微博内容分词后怎样用JupyterNotebook做LDA主题模型分析 》用pyLDAvis可视化解读分析出来的主题其实不太容易,虽然可以调整pyLDAvis的相关性计算参数看到更合理的解释,但是,为了降低学习难度,我提出了一种简化的方法,就是先手工选词,记录在这篇《 微博内容分词并手工选词后用JupyterNotebook做LDA主题分析 》,这些技巧是否符合分析的要求,有待实验验证。在当时的消费者洞察分析项目中效果很好。所以,本篇依然先选词再分析。
1.2 数据源说明
原始数据是从天猫,京东,苏宁上用GooSeeker网络爬虫采集的关于“iphone12”的用户评论数据。将要分析的评论内容以Excel格式导入 GooSeeker分词和文本分析软件 ,几分钟后就能得到词频词性表和分词效果表。可以利用软件界面做人工选词,还可以生成共词矩阵,选词匹配表和社交关系图。另外情感分析也可自动执行,也可以配置自己的情感词库和文本分类关键词。
下图显示的是从集搜客分词和文本分析软件导出的分词效果表数据,下面我们会读取这个excel并且把”打标词”这一列”做处理和转换,每个单元格按Gensim的要求转换成一个列表。然后调用Gensim库做LDA主题分析。
1.3 使用方法
基本操作顺序是:
1. 在GooSeeker分词和文本分析软件上进行任务创建并导入包含原始内容的excel,并导出选词匹配表
2. 将导出的选词匹配表放在本notebook的data/raw文件夹中
3. 从头到尾执行本notebook的单元
注意:每个notebook项目目录都预先规划好了,具体参看 Jupyter Notebook项目目录规划参考 。如果要做多个分析项目,把整个模板目录专门拷贝一份给每个分析项目。
1.4 简要技术说明
在每个功能项单元,如果不需要关心的编程细节,将注明【编程细节】。
本notebook主要实现以下几个步骤:
1. 读取data/raw文件夹中的从分词工具导出的选词匹配表
2. 对选词匹配表进行基本的预处理
3. 使用Gensim库做LDA主题模型实验
2,第三方库
本notebook使用了gensim库和pyLDAvis库,gensim库用于生成BOW词袋和做LDA主题提取, pyLDAvis库用于LDA主题结果的可视化。
请安装下面2个第3方库:
pip install -i https:// pypi.tuna.tsinghua.edu.cn /simple gensim #国内安装使用清华的源,速度快
pip install -i https:// pypi.tuna.tsinghua.edu.cn /simple pyLDAvis
3,准备程序环境
导入必要的Python程序包,设定要分析的文件名变量。使用以下变量对应GooSeeker分词结果表:
file_word_freq:词频表
file_seg_effect: 分词效果表
file_word_choice_matrix: 选词矩阵表
file_word_choice_match: 选词匹配表
file_word_choice_result: 选词结果表
file_co_word_matrix: 共词矩阵表
【编程细节】本节下面的代码将对上述词频表名变量赋值
4,检测data\raw目录下是否有选词匹配表
5,读取选词匹配表
以下的演示以GooSeeker分词和文本分析软件生成的选词匹配excel表为例,需要把选词匹配表放到本notebook的data/raw文件夹下
选词匹配表已经把每个句子对应的所有选词放到了“打标词”字段,词与词之间用逗号间隔,所以,只需要执行split,就能分成词数组
6,对读取到的选词数据(语料库)进行预处理
去除纯数字和只有一个字的词
7,使用Gensim库进行主题模型实验
7.1 根据处理后的语料库生成唯一性词典
7.2 显示词典的前10行
7.3 生成矢量列表(list of vectors)
7.4 使用Gensim库的models.LdaModel方法进行主题建模
注意:本步骤的运行时间长短,和语料库的大小有关。语料库大的话,需要等待的时间会相应比较长。运行完成后会看到提示显示:LDA建模运行结束
7.5 显示提取出的每个主题的相关词
建模后,会生成每篇文档对应每个主题的概率
7.6 显示前10篇文档
8,根据提取的模型数据进行可视化
已经上面提取的3个主题下的词,作者依据自己的理解总结为:
主题1:运行速度和拍照效果
主题2:手感和外观
主题3:购买相关:价格,快递
9,本次实验存在的问题及下一步的实验
1.由于本次实验使用的语料库(iphone12用户评论)总共只有几千条,并且先用集搜客文本分词和情感分析软件做好了分词,所以对电脑资源的消耗不大,所有的数据都是加载到内存处理的。实际的分析项目,需要考虑性能问题,这个可以参考Gensim的官方文档
2.对于pyLDAvis可视化的结果,应该怎样解读, 是否和语料库的来源,性质和研究目的有关? 待进一步学习实践
Be First to Comment