%pip install jieba
精确模式
jieba.lcut(text,cul_all=False)
全局模式
全模式 把句子中所有的可以成词的词语都扫描出来,速度非常快,但是不能解决歧义
jieba.lcut(text,cul_all=True)
搜索引擎模式
搜索引擎模式,是在精确划分的基础上,再进行全模式划分,,提高召唤率,适合用于搜索引擎分词。
jieba.lcut_for_search(text)
展示三种模式
text2 = '落霞与孤鹜齐飞,秋水共长天一色'
print('精确搜索','/'.join(jieba.lcut(text2,cut_all=False)))
print('全模式','/'.join(jieba.lcut(text2,cut_all=True)))
print('搜索引擎模式','/'.join(jieba.lcut_for_search(text2)))
"""
精确搜索 落霞与孤鹜齐飞/,/秋水共长天一色
全模式 落霞/落霞与孤鹜齐飞/,/秋水/秋水共长天一色/长天/天一/一色
搜索引擎模式 落霞/落霞与孤鹜齐飞/,/秋水/长天/天一/一色/秋水共长天一色
"""
如果有一些网络热词,能够被识别出来,不要被切分开,就要进行自定义一个词典,这个词典本身是txt文档,然后先试用jieba.load_userdict(‘文档地址’),再根据需求,使用jieba中任意一个模式进行切分。
text3 = '我是来自妈妈省的蓝色妖姬唱着只因你太美而来'
jieba.load_userdict('dict.txt')
print('精确模式','/'.join(jieba.lcut(text3,cut_all=False)))
print('全模式','/'.join(jieba.lcut(text3,cut_all=True)))
print('搜索引擎模式','/'.join(jieba.lcut_for_search(text3)))
"""
精确模式 我/是/来自/妈妈/省/的/蓝色妖姬/唱/着/只/因/你/太美而来
全模式 我/是/来自/妈妈/省/的/蓝色/蓝色妖姬/妖姬/唱/着/只因/你/太美/而来
搜索引擎模式 我/是/来自/妈妈/省/的/蓝色/妖姬/蓝色妖姬/唱/着/只/因/你/太美/而来/太美而来
"""
import jieba
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
import matplotlib.pyplot as plt
# 从列表中处理 拿到抖音数据里面的个性签名内容,使用结巴对语句进行切分
dou_yin_data = pd.read_csv('./douyin.csv')
# 哈工大、四川大学、百度等都有发布的停用词文件 可以在网上自行获取
# 读取停用词
stop_words_list = pd.read_csv('./stopwords.txt',encoding='gbk',header=None)
for statement in dou_yin_data.signature:
print(statement)
# 只保留中文数据
good_words = dou_yin_data.signature.str.replace(r'[^\u4e00-\u9f5a]','')
# 产生字符串
content = ''
for statement in good_words :
if type(statement) != str:
continue
words = jieba.lcut(statement,cut_all=False)
for word in words:
if word not in stop_words:
if word not in stop_words_list:
content += word + ' '
## 字符串切分,产生最终绘制词云的数据
import_words = Series(content.split(' ')).value_counts()[10:310]
# 绘制词云
from PIL import Image
import wordcloud
# 制作抖音大V签名的词云图
# 舆论分析 评论分析 反馈分析 建议分析
# 读取nd array 的图片
bgimg = np.array(Image.open('./bgimg.png'))
# 词云提取图片颜色生成器
genclr = wordcloud.ImageColorGenerator(bgimg)
wc = wordcloud.WordCloud(font_path='./FZZJ-LongYTJW.TTF',# 设置字体
background_color='#D4F6CC', # 背景颜色
max_words=200,
max_font_size=300,
min_font_size=5,
random_state=42,
mask=bgimg,
color_func=genclr)
# 渲染词云的文体
wc.generate_from_frequencies(import_words)
plt.figure(figsize=(18,18))
plt.imshow(wc)
plt.axis('off')