金伟的python学习笔记--分词与词云

python金伟的学习笔记


用学习强国部分题库制作的词云.jpeg
  1. 分词技术(jieba分词)

  2. 安装:pip install jieba

  3. 算法介绍:

结巴中文分词涉及到的算法包括:

(1) 基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG);

(2) 采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合;

(3) 对于未登录词,采用了基于汉字成词能力的HMM模型,使用了Viterbi算法。

  1. 分词模式:

  2. 精确模式:试图将句子最精确地切开,适合文本分析;

jieba.cut(text,cut_all=False)

  1. 全模式:把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义问题;

jieba.cut(text,cut_all=Ture)

  1. 搜索引擎模式:在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。

jieba.cut_for_search(text)

import jieba# 全模式text = "我来到北京清华大学"seg_list = jieba.cut(text, cut_all=True)print(u"[全模式]: ", "/ ".join(seg_list))# 精确模式seg_list = jieba.cut(text, cut_all=False)print(u"[精确模式]: ", "/ ".join(seg_list))# 默认是精确模式seg_list = jieba.cut(text)print(u"[默认模式]: ", "/ ".join(seg_list))# 搜索引擎模式seg_list = jieba.cut_for_search(text)print(u"[搜索引擎模式]: ", "/ ".join(seg_list))
  1. 添加字典
jieba.load_userdict(file_name) #file_name为自定义词典的路径

字典的格式,后面的次数和词性可以省略

乾清宫 1 n黄琉璃瓦 1 n
  1. 去除停用词

比如“的”、“是”、“而且”、“但是”、”非常“等。这些字或词即被称为Stop Words(停用词)。

import jieba# 去除停用词stopwords = {}.fromkeys(['的', '包括', '等', '是'])text = "故宫的著名景点包括乾清宫、太和殿和午门等。其中乾清宫非常精美,午门是紫禁城的正门。"# 精确模式segs = jieba.cut(text, cut_all=False)final = ''for seg in segs:    if seg not in stopwords:            final += segprint (final)seg_list = jieba.cut(final, cut_all=False)print ("/ ".join(seg_list))
  1. 关键词提取

https://blog.csdn.net/qq_35531549/article/details/88909731

1、两种分词算法

基于jieba分词技术的关键词提取,在import的时候要注意:import jieba.analyse,而不是import jieba。

关键词提取主要分为两种算法:

  • 基于TF-IDF:jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=())

第一个参数:待提取关键词的文本

第二个参数:返回关键词的数量,重要性从高到低排序

第三个参数:是否同时返回每个关键词的权重#

第四个参数:词性过滤,为空表示不过滤,若提供则仅返回符合词性要求的关键词

  • 基于TextRank:jieba.analyse.textrank(sentence, topK=20, withWeight=False, allowPOS=(‘ns’, ‘n’, ‘vn’, ‘v’))

同样是四个参数,但allowPOS默认为('ns', 'n', 'vn', 'v')# 即仅提取地名、名词、动名词、动词

#coding:utf-8# 关键词提取import jieba.analyse# 字符串前面加u表示使用unicode编码content = '中国特色社会主义是我们党领导的伟大事业,全面推进党的建设新的伟大工程,是这一伟大事业取得胜利的关键所在。党坚强有力,事业才能兴旺发达,国家才能繁荣稳定,人民才能幸福安康。党的十八大以来,我们党坚持党要管党、从严治党,凝心聚力、直击积弊、扶正祛邪,党的建设开创新局面,党风政风呈现新气象。习近平总书记围绕从严管党治党提出一系列新的重要思想,为全面推进党的建设新的伟大工程进一步指明了方向。'# 第一个参数:待提取关键词的文本# 第二个参数:返回关键词的数量,重要性从高到低排序# 第三个参数:是否同时返回每个关键词的权重# 第四个参数:词性过滤,为空表示不过滤,若提供则仅返回符合词性要求的关键词keywords = jieba.analyse.extract_tags(content, topK=20, withWeight=True, allowPOS=())print("*" * 64)print("关键词提取,不过滤'ns', 'n', 'vn', 'v'","*"*30)print("*" * 64)# 访问提取结果for item in keywords:   # 分别为关键词和相应的权重   print(item[0], item[1])# 同样是四个参数,但allowPOS默认为('ns', 'n', 'vn', 'v')# 即仅提取地名、名词、动名词、动词keywords = jieba.analyse.textrank(content, topK=20, withWeight=True, allowPOS=('ns', 'n', 'vn', 'v'))print("*" * 64)print("关键词提取,过滤'ns', 'n', 'vn', 'v'","*"*30)print("*" * 64)# 访问提取结果for item in keywords:   # 分别为关键词和相应的权重   print(item[0], item[1])

2、词性标注

# 词性标注# 加载jieba.posseg并取个别名,方便调用import jieba.posseg as psegwords = pseg.cut("我爱北京天安门")print("词性标注","*" * 80)for word, flag in words:    # 格式化模版并传入参数    print('%s, %s' % (word, flag))
1\. 名词 (1个一类,7个二类,5个三类)n 名词nr 人名nr1 汉语姓氏nr2 汉语名字nrj 日语人名nrf 音译人名ns 地名nsf 音译地名nt 机构团体名nz 其它专名nl 名词性惯用语ng 名词性语素 2\. 时间词(1个一类,1个二类)t 时间词tg 时间词性语素 3\. 处所词(1个一类)s 处所词 (家中、门外、境内、西方……) 4\. 方位词(1个一类)f 方位词 5\. 动词(1个一类,9个二类)v 动词vd 副动词vn 名动词vshi 动词“是”vyou 动词“有”vf 趋向动词vx 形式动词vi 不及物动词(内动词)vl 动词性惯用语vg 动词性语素 6\. 形容词(1个一类,4个二类)a 形容词ad 副形词an 名形词ag 形容词性语素al 形容词性惯用语 7\. 区别词(1个一类,2个二类)b 区别词 (主要、整个、所有……)bl 区别词性惯用语 8\. 状态词(1个一类)z 状态词 9\. 代词(1个一类,4个二类,6个三类)r 代词rr 人称代词rz 指示代词rzt 时间指示代词rzs 处所指示代词rzv 谓词性指示代词ry 疑问代词ryt 时间疑问代词rys 处所疑问代词ryv 谓词性疑问代词rg 代词性语素 10\. 数词(1个一类,1个二类)m 数词mq 数量词 11\. 量词(1个一类,2个二类)q 量词qv 动量词qt 时量词 12\. 副词(1个一类)d 副词 13\. 介词(1个一类,2个二类)p 介词pba 介词“把”pbei 介词“被” 14\. 连词(1个一类,1个二类)c 连词cc 并列连词 15\. 助词(1个一类,15个二类)u 助词uzhe 着ule 了 喽uguo 过ude1 的 底ude2 地ude3 得usuo 所udeng 等 等等 云云uyy 一样 一般 似的 般udh 的话uls 来讲 来说 而言 说来uzhi 之ulian 连 (“连小学生都会”) 16\. 叹词(1个一类)e 叹词 17\. 语气词(1个一类)y 语气词(delete yg) 18\. 拟声词(1个一类)o 拟声词 19\. 前缀(1个一类)h 前缀 20\. 后缀(1个一类)k 后缀 21\. 字符串(1个一类,2个二类)x 字符串xx 非语素字xu 网址URL 22\. 标点符号(1个一类,16个二类)w 标点符号wkz 左括号,全角:( 〔 [ { 《 【 〖 〈 半角:( [ { <wky 右括号,全角:) 〕 ] } 》 】 〗 〉 半角: ) ] { >wyz 左引号,全角:“ ‘ 『wyy 右引号,全角:” ’ 』wj 句号,全角:。ww 问号,全角:? 半角:?wt 叹号,全角:! 半角:!wd 逗号,全角:, 半角:,wf 分号,全角:; 半角: ;wn 顿号,全角:、wm 冒号,全角:: 半角: :ws 省略号,全角:…… …wp 破折号,全角:—— -- ——- 半角:--- ----wb 百分号千分号,全角:% ‰ 半角:%wh 单位符号,全角:¥ $ £ ° ℃ 半角:$
  1. 基于jieba词云

需要的模块:jieba wordcloud matplotlib以及jieba.analyse

  • txt文本
  • 字体(simhei.ttf)
  • 词云背景图片(背景色需要设置,与展现词云的形状有关)
import matplotlib.pyplot as pltimport jieba.analysefrom wordcloud import WordCloud#1.读取文档内容text = open(r'C:\Users\Administrator\Desktop\题库.txt','r',encoding='utf-8').read()#2.关键词提取cut_text =jieba.analyse.textrank(text,topK=50,withWeight=False,allowPOS=('ns','n','vn','v'))# print(type(cut_text))# print(next(cut_text))# print(next(cut_text))#3.以空格拼接起来result = " ".join(cut_text)# print(result)# 4.生成词云wc = WordCloud(    font_path='simhei.ttf',     #字体路劲    background_color='white',   #背景颜色    width=1000,    height=600,    max_font_size=50,            #字体大小    min_font_size=10,    mask=plt.imread(r'C:\Users\Administrator\Desktop\无标题2.jpg'),  #背景图片    max_words=50)wc.generate(result)wc.to_file('jielun.png')    #图片保存#5.显示图片plt.figure('jielun')   #图片显示的名字plt.imshow(wc)plt.axis('off')        #关闭坐标plt.show()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,651评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,468评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,931评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,218评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,234评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,198评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,084评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,926评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,341评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,563评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,731评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,430评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,036评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,676评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,829评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,743评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,629评论 2 354

推荐阅读更多精彩内容