python文本分析实现-1

本人目前正在做一个为景点打标签的项目,项目数据来源是使用 八爪鱼从马蜂窝上爬取的景点评论数据,目前的想法是先从个别代表性的景点入手,先摸索清楚流程,然后再应用到其他景点,所以先爬取了“广州塔”、“广州长隆野生动物世界”,“广东省博物馆”三个景点的数据,情况如下:

下面我将详细的讲诉实现过程,因为是针对初学者所以有些啰嗦,不过也都是我自己填过的坑,希望对大家有帮助。

在开始之前我先交代下我的环境,我使用的是python3,编辑器为jupyter,以下内容都是基于此(python 2和3有些语法区别)。

由于涉及到中文内容,所以一定要设置好字符集编码,在程序开头加入:

1 数据准备

数据爬下来之后是存放成csv文件的,文件名为:comments.csv,以下将分两种情况来介绍如何读取数据。

1.1 当数据存放目录与工作目录一致时

这时读取数据是非常简单的,直接用read_csv就可以

1.2 当数据存放目录与工作目录不一致时

这时就复杂一些,需要手工指定文件路径,读取也有两种方式

a:就是先分别指定路径和文件名,然后拼接起来,用read函数读入表中,但是这样读取会有个问题,就是data类型为str,后续分析时需要转化为dataframe,转化过程中总出现数据溢出报错,个人觉得可能是有些中文句子比较长的原因吧,后来就放弃这种方式。

b:为了解决上述问题,用read_csv读取数据,这样出来的数据类型就是dataframe啦

总结:对于初学者数据类型问题还是挺烦人的。

2 数据清洗

2.1 字段选择及重命名

由于有些字段对分析无用,过滤掉,字段名为中文,重命名为英文

2.2去除评论中非[中文|英文|数字]字符

处理后的对比,可以看到文本中的标点及换行等字符都被清洗

2.3划分好评和差评

根据星级打分,将评论划分为好评和差评

2.4加载停用词并删除

python 自带的有停词库,当然你也可以根据需要自定义停用词典,这里我自定义字典为custom_stopwords.txt,里面放的是我认为无关紧要的词

3分词

python自带词库,但是对于个性化的需求是无法满足的,也需要根据实际情况构建词库(这个工作绝对是个苦力活),custom_dict.txt这是我构建的,后续还会不断更新优化。

这里我们使用的是jieba分词,先加载自定义词库

对评论数据进行分词

提取出来名词和形容词

4 词频统计

从词频靠前的词来看,长隆的特色是野生动物和小火车,当然这还是初步分词,还不能构建出特征标签,还需要结合段落和句子来分析,最终构建出标签(类似于园区大,适合小朋友之类的标签),这个后续再细讲。

5,词云

统计出词频后,可以构建词云,以下为汉溪长隆好评的词云

未完待续

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180930G0AYJF00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券