赞
踩
目录
jieba库是优秀的中文分词工具,能对文本进行分词处理
常用函数: lcut 与 cut
lcut 函数 接受一个中文文本字符串,对该文本进行分词处理,返回一个分词列表(推荐使用)
而 jieba.cut 生成的是一个生成器, generator, 可以通过 for 循环来取里面的每一个值
jieba.posseg模块
利用posseg模块分词,标注了分词的词性
词性表
- import jieba
- from jieba import posseg
-
- jieba.setLogLevel(jieba.logging.INFO) # 防止报错
-
- ignores = ['什么','一个','我们','那里','你们','如今', # 忽略指定分词
- '说道','知道','起来','姑娘','这里','出来',
- '他们','众人','自己','一面', '太太','只见',
- '两个','没有','怎么', '不是', '不知','这个',
- '听见', '这样', '进来', '东西', '告诉','就是',
- '咱们', '回来', '大家', '只是', '只得',
- '老爷', '丫头', '这些', '不敢','出去','所以',
- '不过', '的话', '姐姐', '不好']
-
-
- with open("红楼梦.txt", "r", encoding="utf-8") as f:
- txt = f.read()
- words_list = posseg.lcut(txt) # posseg 在对文本分词时,标记词语的词性,
- counts = {} # 利用字典统计词语出现频次
- for word, flag in words_list:
- if len(word) <= 1:
- continue
- if flag == "nr" and word not in ignores:
- if counts.get(word, False):
- counts[word] += 1
- else:
- counts[word] = 1
-
- name_list = list(counts.items()) # 将字典转化成一个键值对列表
- name_list.sort(key=lambda x: x[1], reverse=True) # 按照人物出现频次降序排序
wordcloud库是优秀的词云展示第三方库,以词语为基本单位,通过图形可视化的方式,更加直观和艺术的展示文本
常用函数:
wordcloud.WordCloud()创建一个词云对象,之后的操作基于该对象
常用参数:
font_path : 指定文体文件的路径
max_words:指定词云展示的最大单词数量,默认200
stop_words:指定词云的排除词列表,即不显示的单词列表
background_color:指定词云图片的背景颜色,默认黑色
height, width: 指定词云图片的高,宽
令w= wordcloud.WordCloud(),创建一个词云对象
w.generate(txt) 向词云对象中加载文本
w.generate_from_frequencies(dict) 接受一个包含分词出现次数的字典(string :float),根据分词出现的次数构建词云对象(返回一个词云对象)
w.to_file() 接受一个文件路径,根据词云对象创建一个图像文件 (.png格式或.jpg格式)
- from wordcloud import WordCloud
- def create_wordcloud():
- freq = {name:float(cnt) for name, cnt in name_list} # 将列表转化成字典
- wc = WordCloud(
- font_path="SimHei.ttf", # 文体文件路径
- max_words=100,
- width=2000,
- height=1200,
- )
- word_cloud = wc.generate_from_frequencies(freq) # 根据词语出现频次创建新的词云对象
- word_cloud.to_file("wordcloud.jpg")
-
-
- create_wordcloud()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。