NLP开发系列相关文章编写如下:
自然语言处理 (Natural Language Processing) 是人工智能(AI)的一个子领域。自然语言处理(NLP)就是在机器语言和人类语言之间沟通的桥梁,以实现人机交流的目的。
“词云”由美国西北大学新闻学副教授、新媒体专业主任里奇·戈登(Rich Gordon)于2006年最先使用。
词云图的构成元素是词汇、颜色、图形、大小,其中颜色代表了不同的词汇,它通过颜色深浅、气泡大小等容易判断度量的大小,以关键词字体的大小直接展示数据的数值大小,使图表具有直观、有趣的效果。它可以过滤掉源文本中大量的无用信息,使读者只要一眼扫过文本就可以读懂报告的主要内容。
pip install wordcloud
or
pip install wordcloud -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
import matplotlib.pyplot as plt
import wordcloud
# 数据获取
with open("d:\西游记.txt", 'r', encoding='gbk')as f:
text = f.read()
wc = wordcloud.WordCloud(background_color="white",
font_path="C:\\Windows\\Fonts\\simhei.ttf",
width=500, height=500)
wc.generate(text)
wc.to_file("pywcloud.png")
fig = plt.figure()
# 设置窗口标题
# fig.canvas.set_window_title("爱看书的小沐")
# fig.canvas.manager.window.setWindowTitle("爱看书的小沐")
fig.canvas.manager.window.title("西游记的词云 - 爱看书的小沐")
plt.imshow(wc, interpolation='catrom')
plt.axis('off')
plt.show()
import matplotlib.pyplot as plt
import jieba
import wordcloud
# 提取数据
with open("d:\西游记.txt", 'r', encoding='gbk')as f:
text = f.read()
wc = wordcloud.WordCloud(
font_path="C:\\Windows\\Fonts\\simhei.ttf",
width=500, height=500)
wc.generate(" ".join(jieba.lcut(text)))
wc.to_file("wc.png")
fig = plt.figure()
fig.canvas.manager.window.title("西游记的词云 - 爱看书的小沐")
plt.imshow(wc, interpolation='catrom')
plt.axis('off')
plt.show()
import matplotlib.pyplot as plt
import jieba
import wordcloud
from PIL import Image
import numpy as np
# 数据获取
with open("d:\西游记.txt", 'r', encoding='gbk')as f:
text = f.read()
font = r'C:\Windows\Fonts\simhei.ttf'
sep_list = jieba.lcut_for_search(text)
sep_list = " ".join(sep_list)
wc = wordcloud.WordCloud(
scale=5, # 调整图片大小
font_path=font, # 使用的字体库
max_words=100, # 词云显示的最大词数
margin=1, # 字体之间的间距
mask=np.array(Image.open("d:\heart.png")), # 背景图片
background_color='white', # 背景颜色
max_font_size=200,
# min_font_size=1,
# stopwords=STOPWORDS, #屏蔽的内容
collocations=False, # 避免重复单词
width=1000, height=1000 # 图像宽高,字间距
)
wc.generate(sep_list)
wc.to_file("wc.png")
fig = plt.figure()
fig.canvas.manager.window.title("西游记的词云 - 爱看书的小沐")
plt.imshow(wc, interpolation='catrom')
plt.axis('off')
plt.show()
https://pyecharts.org/#/
Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了。
pyecharts是基于echarts的python库,能够绘制多种交互式图表,和其他可视化库不一样,pyecharts支持链式调用。也就是说添加图表元素、修改图表配置,只需要简单的调用组件即可。
pip(3) install pyecharts
$ git clone https://github.com/pyecharts/pyecharts.git
$ cd pyecharts
$ pip install -r requirements.txt
$ python setup.py install
# 或者执行 python install.py
from pyecharts.charts import Bar
bar = Bar()
bar.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
bar.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
# render 会生成本地 HTML 文件,默认会在当前目录生成 render.html 文件
# 也可以传入路径参数,如 bar.render("mycharts.html")
bar.render()
import pyecharts.options as opts
from pyecharts.charts import WordCloud
data = [
("爱看书的小沐", "999"),
("爱发呆的戈戈", "888"),
("供气质量", "777"),
("生活用水管理", "688"),
("一次供水问题", "588"),
("交通运输", "516"),
("城市交通", "515"),
("环境保护", "483"),
("房地产管理", "462"),
("城乡建设", "449"),
("社会保障", "407"),
("文体与教育管理", "406"),
("公共安全", "406"),
("公交运输管理", "386"),
("出租车运营管理", "385"),
("供热管理", "375"),
("市容环卫", "355"),
("自然资源管理", "355"),
("粉尘污染", "335"),
("噪声污染", "324"),
("土地资源管理", "304"),
("物业服务与管理", "304"),
("医疗卫生", "284"),
("粉煤灰污染", "284"),
("占道", "284"),
("供热发展", "254"),
("农村土地规划管理", "254"),
("生活噪音", "253"),
("供热单位影响", "253"),
("城市供电", "223"),
("房屋质量与安全", "223"),
("燃气管理", "152"),
("教育管理", "152"),
("县区、开发区", "152"),
("宏观经济", "152"),
("教育管理", "112"),
("社会保障", "112"),
("生活用水管理", "112"),
("物业服务与管理", "112"),
("分类列表", "112"),
("农业生产", "112"),
("二次供水问题", "112"),
("城市公共设施", "92"),
("拆迁政策咨询", "92"),
("物业服务", "92"),
("物业管理", "92"),
("社会保障保险管理", "92"),
("低保管理", "92"),
("文娱市场管理", "72"),
("城市交通秩序管理", "72"),
("执法争议", "72"),
("商业烟尘污染", "72"),
("占道堆放", "71"),
("地上设施", "71"),
("水质", "71"),
("无水", "71"),
("供热单位影响", "71"),
]
(
WordCloud()
.add(series_name="热点分析", data_pair=data, word_size_range=[6, 66])
.set_global_opts(
title_opts=opts.TitleOpts(
title="热点分析", title_textstyle_opts=opts.TextStyleOpts(font_size=23)
),
tooltip_opts=opts.TooltipOpts(is_show=True),
)
.render("basic_wordcloud.html")
)
from pyecharts import options as opts
from pyecharts.charts import WordCloud
from pyecharts.globals import SymbolType
words = [
("爱看书的小沐", 10000),
("爱发呆的戈戈", 6181),
("Amy Schumer", 4386),
("Jurassic World", 4055),
("Charter Communications", 2467),
("Chick Fil A", 2244),
("Planet Fitness", 1868),
("Pitch Perfect", 1484),
("Express", 1112),
("Home", 865),
("Johnny Depp", 847),
("Lena Dunham", 582),
("Lewis Hamilton", 555),
("KXAN", 550),
("Mary Ellen Mark", 462),
("Farrah Abraham", 366),
("Rita Ora", 360),
("Serena Williams", 282),
("NCAA baseball tournament", 273),
("Point Break", 265),
]
c = (
WordCloud()
.add("", words, word_size_range=[20, 100], shape=SymbolType.DIAMOND)
.set_global_opts(title_opts=opts.TitleOpts(title="WordCloud-shape-diamond"))
.render("wordcloud_diamond.html")
)
from pyecharts import options as opts
from pyecharts.charts import WordCloud
words = [
("爱看书的小沐", 1446),
("爱发呆的戈戈", 1328),
("汽车", 928),
("视频", 906),
("电视", 825),
("Lover Boy 88", 514),
("动漫", 486),
("音乐", 53),
("直播", 163),
("广播电台", 86),
("戏曲曲艺", 17),
("演出票务", 6),
("给陌生的你听", 1),
("懒洋洋", 1437),
("商业财经", 422),
("娱乐八卦", 353),
("军事", 331),
("科技资讯", 313),
("社会时政", 307),
("时尚", 43),
("网络奇闻", 15),
("旅游出行", 438),
("景点类型", 957),
("花鸟萌宠", 914),
("绿植花卉", 311),
("狗", 257),
("其他宠物", 131),
("水族", 125),
("猫", 122),
("动物", 81),
("鸟", 67),
("创业", 363),
("目标职位", 162),
("目标行业", 50),
("兼职", 21),
("期望年薪", 20),
("实习", 16),
("雇主类型", 10),
("星座运势", 789),
("星座", 316),
("公益", 90),
]
c = (
WordCloud()
.add(
"",
words,
word_size_range=[20, 100],
textstyle_opts=opts.TextStyleOpts(font_family="cursive"),
)
.set_global_opts(title_opts=opts.TitleOpts(title="WordCloud-自定义文字样式"))
.render("wordcloud_custom_font_style.html")
)
官方地址:
https://github.com/minimaxir/stylecloud
Python package + CLI to generate stylistic wordclouds, including gradients and icon shapes!
stylecloud is a Python package that leverages the popular word_cloud package, adding useful features to create truly unique word clouds!
pip install stylecloud
or
pip install stylecloud -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
import stylecloud
stylecloud.gen_stylecloud(file_path=r'D:\jianai.txt')
import stylecloud
stylecloud.gen_stylecloud(file_path=r'D:\jianai.txt', icon_name='fas fa-apple-alt')
import stylecloud
from stop_words import get_stop_words
stop_words = get_stop_words('english')
stylecloud.gen_stylecloud(file_path='D:\jianai.txt',
icon_name='fas fa-apple-alt',
palette='cartocolors.qualitative.Pastel_3',
background_color='black',
output_name='apple.png',
collocations=False,
custom_stopwords=stop_words)
import stylecloud
stylecloud.gen_stylecloud(file_path=r'D:\jianai.txt', icon_name='fas fa-camera')
import stylecloud
stylecloud.gen_stylecloud(file_path=r'D:\jianai.txt', icon_name='fas fa-dolly')
import stylecloud
stylecloud.gen_stylecloud(file_path=r'D:\jianai.txt', icon_name='fas fa-smile')
如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;
╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;
o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;
(✿◡‿◡)
感谢各位大佬童鞋们的支持!
( ´ ▽´ )ノ ( ´ ▽´)っ!!!