日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jieba的使用

發布時間:2024/10/8 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jieba的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

jieba是一個在中文自然語言處理中用的最多的工具包之一,它以分詞起家,目前已經能夠實現包括分詞、詞性標注以及命名實體識別等多種功能。既然Jieba是以分詞起家,我們自然要首先學習Jieba的中文分詞功能。Jieba提供了三種分詞模式:

  • 精確模式 : 在該模式下,Jieba會將句子進行最精確的切分

  • 全模式 : 把句子中所有可以成詞的詞語都掃描出來,優點在于該模式非常快,缺點也很明顯,就是不能有效解決歧義的問題

  • 搜索引擎模式 :在精確模式的基礎上,對長詞進行再次切分,該模式適合用于搜索引擎構建索引的分詞

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))str = "我是一個中國人" word1 = jieba.cut_for_search(str) # 搜索引擎模式 for item in word1:print(item) OUT: 全模式: 我/ 來到/ 北京/ 清華/ 清華大學/ 華大/ 大學 精確模式: 我/ 來到/ 北京/ 清華大學 我, 來到, 北京, 清華大學 我 是 一個 中國 人

有些結巴詞庫并沒有該詞,所以有時需要添加自定義詞典
添加自定義詞典

# mydict.txt 內容 # 乾清宮 1 n # 詞 分成1個 詞性 # 黃琉璃瓦 1 n jieba.load_userdict("./data/mydict.txt") #需UTF-8,可以在另存為里面設置 #也可以用jieba.add_word("乾清宮") 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)) OUT: [全模式]: 故宮/ 的/ 著名/ 著名景點/ 景點/ 包括/ 乾清宮/ 清宮/ / / 太和/ 太和殿/ 和/ 黃琉璃瓦/ 琉璃/ 琉璃瓦/ 等 [精確模式]: 故宮/ 的/ 著名景點/ 包括/ 乾清宮/ 、/ 太和殿/ 和/ 黃琉璃瓦/ 等

關鍵詞抽取

import jieba.analyse # 用于analyse這個包 seg_list = jieba.cut(text, cut_all=False) print (u"分詞結果:") print ("/".join(seg_list)) text = "故宮的著名景點包括乾清宮、太和殿和黃琉璃瓦等" #獲取關鍵詞 tags = jieba.analyse.extract_tags(text, topK=5) #前5 個 print (u"關鍵詞:") print (" ".join(tags)) OUT: 分詞結果: 故宮/的/著名景點/包括/乾清宮/、/太和殿/和/黃琉璃瓦/等 關鍵詞: 著名景點 乾清宮 黃琉璃瓦 太和殿 故宮

打印關鍵詞

tags = jieba.analyse.extract_tags(text, topK=5, withWeight=True) #顯示比重 for word, weight in tags:print(word, weight) OUT: 著名景點 2.3167796086666668 乾清宮 1.9924612504833332 黃琉璃瓦 1.9924612504833332 太和殿 1.6938346722833335 故宮 1.5411195503033335

詞性標注

import jieba.posseg as psegwords = pseg.cut("我愛北京天安門") for word, flag in words:print("%s %s" % (word, flag)) OUTL 我 r 愛 v 北京 ns 天安門 ns

詞云展示

import jieba from wordcloud import WordCloud from scipy.misc import imread from 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()

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的jieba的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。