python数据挖掘之中文分词和可视化展示(NLP应用初探)

主要应用场景:快速提取用户评论中关注的焦点,直接反应品牌或产品的主观感受,方便市场、运营、产品等相关人员收集市场信息,有针对性的调整或优化产品、策略等。

比如本次练习用到的数据是抓的淘宝一个爆款面膜的部分评论,一眼就能看出消费者关心的是啥,可以直接拖到文末看效果图,是不是很神奇?

本文用到两个第三方库,jieba、wordcloud、numpy,推荐pip方式安装(如命令行下:pip install jieba)。

这里的PIL库单独安装会出问题,传说PIL不支持python3了,网上又说出了个增强版pillow,直接安装依然不行,后来发现PIL已经存在了,不知道啥时候装的,怀疑装wxpython的时候装的。。。。持续怀疑中

import jieba
from wordcloud import WordCloud
from PIL import Image
import numpy as np
# 分别导入模块,注意大小写


wt = jieba.cut(open('data/tb0507mm.txt','r',encoding='utf-8').read(), cut_all=False)
# jieba分词,采取的模式是精准模式,True是全模式

这个地方总是会忘记read(),打开文件之后要读取出来!!!注意编码格式

wt = '/'.join(wt)

中文词意的多样性和复杂性导致我们提取出来的词不一定都是我们想要的,所以需要过滤,这里我们引入一个停词库来过滤掉一些不重要的词,类似“的、了、吗、吧、呢、啊、呀。。。。”这种无意义的词。先把停词库里的词装进列表,作为的参数丢到WordCloud里去。

with open('public/sps.txt','r',encoding='utf-8') as f:
    stopwords = []
    for i in f:
        stopwords.append(i.strip())
        
# print(stopwords[100:105]) 测试下看读的对不对
stopwords.append('面膜')
# 针对性的增加停词

mask_bg = np.array(Image.open('data/bg_mm.jpg'))
# 把图片转换成多维数组,主要用来自定义生成的词云形状,
# 另外图片还是有点要求的,白底,形状内填充部分为黑色

wd = WordCloud(width=800,
               height=600,
               background_color='white',
               font_path='data/simhei.ttf',
               stopwords=stopwords,
               collocations=False,
               mask=mask_bg,
               random_state=30).generate(wt)

解释下WordCloud中的常用参数: 长宽和背景色就不解释了 font_path:这个是指定字体路径,wordcloud对中文支持完全是个垮的,如果输出的是英文,这个参数可以忽略,中文的话,最好加上去;
stopwords:停词库,参数类型为列表,会将存储在列表中的词过滤掉,可省略;
collocations:是一个布尔类型,统计搭配词,默认True,但是在True的时候会出现个问题,就是词云中会出现重复的词,所以这里就False了,可省略;
mask: 一个遮罩,可以自定义词云形状,传入的是一个多维数组,一般会用PIL模块中的image读取,之后用numpy的array()来转换,看上面例子,可省略;
random_state:随机展示,图形内颜色之类的,配色方案,可省略。

wd.to_file('data/tb0507.png')
# 生成词云图片

稍微扩展下,jieba支持自定义词库,先不要管jieba的分词原理,总之jieba目录下有个dict.txt的词库,打开看了就知道词库的结构是 【词 词频 词性】,所以可以直接在这个词库里面追加自定义的词,比如【不明觉厉 3 n】,保存后重新加载一下jieba。当然这个方法有点那个什么,所以还有个正常点的挂载自定义词库的法子:

jieba.load_userdict('textfilename.txt')

load_userdict()方法挂载自定义词库,据说数据量大的时候会很慢,解决方案是追加到jieba自己的词库文件里面去,很粗暴,但有效,也是没试过,以后有机会再说。

展示下效果(看我自己画的一个面膜,O(∩_∩)O):


自定义图云形状
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,907评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,987评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,298评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,586评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,633评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,488评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,275评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,176评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,619评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,819评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,932评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,655评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,265评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,871评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,994评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,095评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,884评论 2 354

推荐阅读更多精彩内容

  • jieba分词,学习,为了全面了解该模块,,预设学习路线:官方文档——优秀博客文章——实践学习 官方文档部分 (文...
    竹林徒儿阅读 4,118评论 1 12
  • 实验目的 学习如何读取一个文件 学习如何使用DataFrame 学习jieba中文分词组件及停用词处理原理 了解J...
    _黑冰_阅读 67,519评论 18 66
  • 在接下来的分词练习中将使用到四川大学公共管理学院的一篇新闻进行练习,文本如下: 为贯彻落实党的十九大精神,不断提升...
    nicokani阅读 1,233评论 0 4
  • 老天越来越石人,越物化 缺少神的怜悯,同情 和神性。老天越来越像中国男人 变的单调, 刻板,娘娘腔。 没有了北方粗...
    刀客十三阅读 193评论 0 3
  • “夫人,夫人,老爷回来了。”春兰急急地从外跑来,手里还提着一个精致的小木盒,满脸的喜气。刘夫人放下手里的...
    忙着可爱的依依酱阅读 1,212评论 4 22