文章目录
前言
近期企业对非结构化数据的重视和运用,尤其是对消费者针对商品的各种形式的反馈信息开始变得普遍起来。本部分的分析案例提取了京东上某手机产品的评论数数据来演示整个文本分析的过程。数据提取码:227t和参考书(第十二章内容)提取码:fvyn 在链接里面。
一、R语言的中文分词及处理
我们这里提取了京东上某手机品牌的数据,直接存储为文本文件格式,每行为一条评论(数据提在Kettle文件夹中,文件名称是“1-手机评论文本源文件”,需要手动将其复制到12.1 R处理相关文件)
#R_SplitWord.R
install.packages("jiebaR")#安装jiebaR 包
library(jiebaR)#导入该包
setwd("C:/Users/dell/Desktop/《Tableau商业分析从新手到高手》数据源文件/第12章/12.1 R处理相关文件")#设置默认路径
wordsplit<-worker(stop_word = "stopCn.txt",encoding = 'UTF-8',bylines = TRUE)#设置分词器
outputfile = segment("1-手机评论文本源文件.csv",wordsplit)
#1-手机评论文本源文件.segment.2021-01-27_09_52_14
获得的分词文件内容如图所示:
可以看到,每句占据一个单元格,并且切出的每个词之间以空格间隔。这种格式还不能支持后续的分析,接下来我们需要用到之前已经介绍过的ETL工具——Kettle做后续处理。
二、应用Kettle进行后续处理
强调:Kettle中每一种封装的功能组件叫做"步骤",在很多其他软件中叫做“功能节点”。
自定义分词输出2导出的文件为原始数据分词列格式.txt.
三、分词文件的Tableau可视化分析
1、新建数据连接
导入原始数据分词列格式.txt,同时为了进一步的语义分析,连接一个中文词汇情感标注文件情感词汇本体.xlsx,采用左连接的方式,保留所有分词结果,结果如图所示:
2、特征合并观察仪表盘
总体来看,正面和中性图形面积最大,说明这两类评价居多。从评论级性数量看出,词性为adj的最多,其中使用i惯用语(diom)和网络用语(nw)的群体,他们都是负面评价居多,可能这两部分人会构成一个特殊需求的消费群体,应该提供一些特殊的手机来满足。从情感类观察可以看出,降序排列后可以发现好的评价居多,但否定评价也占一定比重,情绪上正面的居多(好和乐)。
文本分析更多依赖于适应行业和场景的适当的字典,这种字典可以自己逐渐总结,也可以寻找各种公开资源,然后人工改造。在此提供一份自定义的手机测评字典,并且关键词归纳为了几大类。
四、R语言增加自定义用户字典参数
library("jiebaRD")
setwd("C:/Users/dell/Desktop/《Tableau商业分析从新手到高手》数据源文件/第12章/12.1 R处理相关文件")
wordsplit<-worker(user ="./手机字典.txt",
output ="./wordPhone" ,
stop_word = "stopCn.txt",
encoding = 'UTF-8',bylines = TRUE
) #分词器
new_user_word(wordsplit,c("4G","4g","3g","3G","GB")) #自定义新词
outputfile = segment("1.csv",wordsplit)#就是1-手机评论文本源文件.csv
我们打开wordPhone看一下,可以看出数字和“GB”,“g”分开来了:
打开之前的kettle文件,修改分词数据源连接到wordPhone和输出文件节点,重新生成一个自定义分词列格式文件自定义分词列格式.txt。
六、Tableau自定义分词分析
1、新建数据源
连接自定义分词列格式.txt和自定义分词分类.xlsx,连接方式为“内部连接”。我们只分析自定义的词语,所以定义文件连接为内部连接,提取所有和自定义词典匹配的评论数据,这样就获取了评论分词的两级归类和情感倾向。
2、不同类别的正负评价数量
首先构建一个新的计数字段——情感方向技术,负向为-1,正向为1,这样获得的计数汇总总会有正负方向,方便可视化。
可以明确看到,平台上销售的手机,促销和价格以及总体评价不错,说明在整个性价比感觉上,用户还算满足。但是性能配置、功能性、可靠性和稳定性方面,虽然总体评论的频次不高,但负面评价较多,这也说明之前标准分词时候发现的问题:即,非技术人群、“外行小白”,多数觉得可以;但偏技术人群对产品的总体评价不高。
总结
这个文本分析就告一段落。我们可以发现非结构化数据中虽然蕴藏着丰富的信息,但也需要耗费大量的精力反复处理和分析。对于文本分析,首要环节是要有适合场景的分词字典。