2.5.jieba分词工具、Jieba安装、全模式/精确模式、添加自定义词典、关键词抽取、词性标注、词云展示
生活随笔
收集整理的這篇文章主要介紹了
2.5.jieba分词工具、Jieba安装、全模式/精确模式、添加自定义词典、关键词抽取、词性标注、词云展示
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2.5.jieba分詞工具
2.5.1.Jieba安裝
2.5.2.全模式/精確模式
2.5.3.添加自定義詞典
2.5.4.關鍵詞抽取
2.5.5.詞性標注
2.5.6.詞云展示
2.5.jieba分詞工具
2.5.1.Jieba安裝
(base) C:\Users\toto>pip install jieba -i https://pypi.tuna.tsinghua.edu.cn/simple Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple Collecting jiebaDownloading https://pypi.tuna.tsinghua.edu.cn/packages/c6/cb/18eeb235f833b726522d7ebed54f2278ce28ba9438e3135ab0278d9792a2/jieba-0.42.1.tar.gz (19.2 MB)|████████████████████████████████| 19.2 MB 1.6 MB/s Building wheels for collected packages: jiebaBuilding wheel for jieba (setup.py) ... doneCreated wheel for jieba: filename=jieba-0.42.1-py3-none-any.whl size=19314482 sha256=7b583750a861096d11049bab33ec1efe91b8a89be8df8ae53e1540070c50e6caStored in directory: c:\users\toto\appdata\local\pip\cache\wheels\f3\30\86\64b88bf0241f0132806c61b1e2686b44f1327bfc5642f9d77d Successfully built jieba Installing collected packages: jieba Successfully installed jieba-0.42.1(base) C:\Users\toto>2.5.2.全模式/精確模式
import jiebaseg_list = jieba.cut("我來到北京清華大學", cut_all=True) print("全模式:" + "/".join(seg_list)) # 全模式 ''' 輸出結果: 全模式:我/來到/北京/清華/清華大學/華大/大學 '''seg_list = jieba.cut("我來到北京清華大學", cut_all=False) print("精確模式:" + "/".join(seg_list)) # 精確模式 """ 輸出結果: 精確模式:我/來到/北京/清華大學 """seg_list = jieba.cut("他來到了網易杭研大廈") # 默認是精確模式 print(",".join(seg_list)) ''' 輸出結果: 他,來到,了,網易,杭研,大廈 '''2.5.3.添加自定義詞典
import jiebatext = "故宮的著名景點包括乾清宮、太和殿和黃琉璃瓦等"# 全模式 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)) ''' 輸出結果: [精確模式]: 故宮/的/著名景點/包括/乾/清宮/、/太和殿/和/黃/琉璃瓦/等 '''從上面可以看到的是”乾清宮”被分開了
下面開始添加自定義詞典
2.5.4.關鍵詞抽取
import jieba import jieba.analyse# mydict.txt為自定義詞典,mydict.txt的文件格式需要是UTF-8,在保存文件的時候,設置文件格式為UTF-8 jieba.load_userdict("./data/mydict.txt")# 也可以用jieba.add_word("乾清宮")text = "故宮的著名景點包括乾清宮、太和殿和黃琉璃瓦等"# 精確模式 seg_list = jieba.cut(text, cut_all=False) print(u"[精確模式]", "/".join(seg_list)) ''' [精確模式] 故宮/的/著名景點/包括/乾清宮/、/太和殿/和/黃琉璃瓦/等 '''# 獲取關鍵詞 tags = jieba.analyse.extract_tags(text, topK=5) print(u"關鍵詞:") print(" ".join(tags)) """ 關鍵詞: 著名景點 乾清宮 黃琉璃瓦 太和殿 故宮 """tags = jieba.analyse.extract_tags(text, topK=5, withWeight=True) for word, weight in tags:print(word, weight) ''' 著名景點 2.3167796086666668 乾清宮 1.9924612504833332 黃琉璃瓦 1.9924612504833332 太和殿 1.6938346722833335 故宮 1.5411195503033335 '''2.5.5.詞性標注
import jieba import jieba.posseg as psegwords = pseg.cut("我愛北京天安門") for word, flag in words:print("%s %s" % (word, flag))''' 我 r 愛 v 北京 ns 天安門 ns '''2.5.6.詞云展示
數據準備:
代碼:
import jieba # pip install jieba -i https://pypi.tuna.tsinghua.edu.cn/simple from wordcloud import WordCloud# scipy.misc中已經沒有imread了,用imageio來替代 #from scipy.misc import imread # 可以使用: #import imageio # Img = imageio.imread(img) from imageio import imreadfrom collections import Counter import matplotlib.pyplot as pltdata = {}text_file = open('./data/19Congress.txt', 'r', encoding='utf-8') text = text_file.read() with open('./data/stopwords.txt', encoding='utf-8') as file:stopwords = {line.strip() for line in file}seg_list = jieba.cut(text, cut_all=False) for word in seg_list:if len(word) >= 2:if not data.__contains__(word):data[word] = 0data[word] += 1 # print(data)my_wordcloud = WordCloud(background_color='white', # 設置背景顏色max_words=400, # 設置最大實現的字數font_path=r'./data/SimHei.ttf', # 設置字體格式,如不設置顯示不了中文mask=imread('./data/mapofChina.jpg'), # 指定在什么圖片上畫width=1000,height=1000,stopwords=stopwords ).generate_from_frequencies(data)plt.figure(figsize=(18, 16)) plt.imshow(my_wordcloud) plt.axis('off') plt.show() # 展示詞云 my_wordcloud.to_file('result.jpg') text_file.close()顯示結果:
總結
以上是生活随笔為你收集整理的2.5.jieba分词工具、Jieba安装、全模式/精确模式、添加自定义词典、关键词抽取、词性标注、词云展示的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: a股s股h股什么意思
- 下一篇: 3.商品可视化展示与文本处理