jieba文本分词,去除停用词,添加用户词
import jieba
from collections import Counter
from wordcloud import WordCloud
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np
import jieba.analyse
from pyquery import PyQuery santi_text = open('./santi.txt', 'r', encoding='utf-8').read() #读取本地文档 jieba.enable_parallel(4) # 开启并行分词模式,参数为并行进程数 jieba.load_userdict('./userdict.txt')#加载外部 用户词典 # 创建停用词list
def stopwordslist(filepath):
stopwords = [line.strip() for line in open(filepath, 'r', encoding='utf-8').readlines()]
return stopwords # 对句子去除停用词
def movestopwords(sentence):
stopwords = stopwordslist('./stop_words.txt') # 这里加载停用词的路径
santi_words =[x for x in sentence if len(x) >1 and x not in stopwords] return santi_words def main():
words = jieba.cut(PyQuery(santi_text).text()) #去除HTML标签
word_list = movestopwords(words) # 去除停用词
words_split = " ".join(word_list) #列表解析为字符串 print('以下是tf-tdf算法-------------------------------------------------')
keywords_tf = jieba.analyse.extract_tags(words_split, topK=100, withWeight=True,allowPOS=('ns', 'n', 'vn', 'v')) # tf-tdf算法
for item in keywords_tf:
print(item[0],item[1]) print('以下是textrank算法-------------------------------------------------')
keywords_rank = jieba.analyse.textrank(words_split, topK=100, withWeight=True,allowPOS=('ns', 'n', 'vn', 'v')) #textrank算法
for item in keywords_rank:
print(item[0],item[1]) print('以下是纯词频统计-------------------------------------------------')
mycount = Counter(word_list) # 统计词频
for key, val in mycount.most_common(100): # 有序(返回前10个)
print(key, val) #alice_mask = np.array(Image.open("./zhihu.png")) #遮罩
wc = WordCloud(
# width=800,
# height=600,
background_color="#000000", # 设置背景颜色
max_words=50, # 词的最大数(默认为200)
max_font_size=400, # 最大字体尺寸
min_font_size=10, # 最小字体尺寸(默认为4)
#colormap='bone', # string or matplotlib colormap, default="viridis"
random_state=42, # 设置有多少种随机生成状态,即有多少种配色方案
#mask=plt.imread("./zhihu.png"), # 读取遮罩图片!!
#mask=alice_mask, #设置遮罩
font_path='./SimHei.ttf'
) my_wordcloud = wc.generate(words_split) #按词频生成词云
plt.imshow(my_wordcloud) #展示词云
plt.axis("off") #去除横纵轴
plt.show()
wc.to_file('zzz.png') # 保存图片文件 if __name__ == '__main__':
main()
jieba文本分词,去除停用词,添加用户词的更多相关文章
- [Python]jieba切词 添加字典 去除停用词、单字 python 2020.2.10
源码如下: import jieba import io import re #jieba.load_userdict("E:/xinxi2.txt") patton=re.com ...
- python jieba分词(添加停用词,用户字典 取词频
中文分词一般使用jieba分词 1.安装 pip install jieba 2.大致了解jieba分词 包括jieba分词的3种模式 全模式 import jieba seg_list = jieb ...
- (3.1)用ictclas4j进行中文分词,并去除停用词
酒店评论情感分析系统——用ictclas4j进行中文分词,并去除停用词 ictclas4j是中科院计算所开发的中文分词工具ICTCLAS的Java版本,因其分词准确率较高,而备受青睐. 注:ictcl ...
- python去除停用词(结巴分词下)
python 去除停用词 结巴分词 import jieba #stopwords = {}.fromkeys([ line.rstrip() for line in open('stopword. ...
- R系列:分词、去停用词、画词云(词云形状可自定义)
附注:不要问我为什么写这么快,是16年写的. R的优点:免费.界面友好(个人认为没有matlab友好,matlab在我心中就是统计软件中极简主义的代表).小(压缩包就几十M,MATLAB.R2009b ...
- NLP实现文本分词+在线词云实现工具
实现文本分词+在线词云实现工具 词云是NLP中比较简单而且效果较好的一种表达方式,说到可视化,R语言当仍不让,可见R语言︱文本挖掘——词云wordcloud2包 当然用代码写词云还是比较费劲的,网上也 ...
- seo与python大数据结合给文本分词并提取高频词
最近研究seo和python如何结合,参考网上的一些资料,写的这个程序. 目的:分析某个行业(例如:圆柱模板)用户最关心的一些词,根据需求去自动调整TDK,以及栏目,内容页的规划 使用方法: 1.下载 ...
- 更新几篇之前写在公众号上的文章:线性可分时SVM理论推导;关联分析做捆绑销售和推荐;分词、去停用词和画词云
适合阅读人群:有一定的数学基础. 这几篇文章是16年写的,之前发布在个人公众号上,公众号现已弃用.回过头来再看这几篇文章,发现写的过于稚嫩,思考也不全面,这说明我又进步了,但还是作为学习笔记记在这里了 ...
- jieba中文分词(python)
问题小结 1.安装 需要用到python,根据python2.7选择适当的安装包.先下载http://pypi.python.org/pypi/jieba/ ,解压后运行python setup.py ...
随机推荐
- OpenCV学习笔记——imread、imwrite以及imshow
1.imread Loads an image from a file. 从文件中读取图像. C++: Mat imread(const string& filename, int flags ...
- web.config详解(转载)
该文为转载 原文地址:http://www.cnblogs.com/gaoweipeng/archive/2009/05/17/1458762.html 花了点时间整理了一下ASP.NET Web.c ...
- Linux安装weblogic
一.软件安装 1. 安装前的准备工作 1.1 首先请确认您要安装的WebLogic版本所在的平台已通过了BEA的认证,完整的认证平台列表请参考 http://e-docs.bea.com/wls/ce ...
- jQuery之基本选择器
1. 是什么? - 有特定格式的字符串2. 作用 - 用来查找特定页面元素3. 基本选择器 - #id : id选择器 - element : 元素选择器 - .class : 属性选择器 - * : ...
- 【第八周】beta阶段事后诸葛亮会议
本文由宫成荣,武志远共同编写 组名: 新蜂 组长: 武志远 组员: 宫成荣 谢孝淼 杨柳 李峤 项目名称: java俄罗斯方块NEO 会议时间:2016.11.15 18:00~18:40 会议地点: ...
- 如何让TEdit在获取输入焦点后selectAll?
关于网友提出的“ 如何让TEdit在获取输入焦点后selectAll?”问题疑问,本网通过在网上对“ 如何让TEdit在获取输入焦点后selectAll?”有关的相关答案进行了整理,供用户进行参考,详 ...
- linux下面Zookeeper的单机模式(standalone)
1.下载 zk下载地址 http://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/ 我用的是http://mirrors.tuna.tsinghua.e ...
- java利用poi读取excel异常问题
最近一个web工程需要完成一个小功能,利用文件上传然后读取文件内容写入到数据库,这里是操作的excel文件,excel文件分两种后缀,03版本的xls和之后的xlsx,现在大家一般都拿非常好用的插件直 ...
- MySQL慢查询日志ES索引模板
{ "template": "mysql-slow-log-*", "settings": { "index": { & ...
- 除了GPS外的4种获得用户地理位置数据的方法
纯粹的GPS解决方案以及它所生成的经纬度标签是地理位置数据的公认标准.但是至少还有4种方法可以获得地理位置数据: 1.手机信号塔数据:当移动设备的GPS芯片不能接收到GPS信号时,移动设备就需要与它所 ...