# pip install jieba
import jieba input="我來到北京大學" seg_list=jieba.cut(input) print("默認精確模式:"+"/".join(seg_list)) seg_list=jieba.cut(input,cut_all=True) print("全模式:"+"/".join(seg_list))
默認精確模式:我/來到/北京大學 全模式:我/來到/北京/北京大學/大學
# 不導入自定義的字典,有可能會致使分詞結果不是本身想要的 input="故宮的著名景點包括乾清宮、太和殿和黃琉璃瓦等" seg_list=jieba.cut(input) print("精確模式:"+"/".join(seg_list)) seg_list=jieba.cut(input,cut_all=True) print("全模式:"+"/".join(input))
精確模式:故宮/的/著名景點/包括/乾/清宮/、/太和殿/和/黃/琉璃瓦/等 全模式:故/宮/的/著/名/景/點/包/括/乾/清/宮/、/太/和/殿/和/黃/琉/璃/瓦/等
乾/清宮
被拆開了,咱們想要的是乾清宮
導入自定義的字典python
jieba.load_userdict("./data/mydict.txt") #若是詞比較少那麼也能夠用 #jieba.add_word("乾清宮") seg_list=jieba.cut(input) print("精確模式:"+"/ ".join(seg_list)) seg_list=jieba.cut(input,cut_all=True) print("全模式"+" / ".join(seg_list))
精確模式:故宮/ 的/ 著名景點/ 包括/ 乾清宮/ 、/ 太和殿/ 和/ 黃琉璃瓦/ 等 全模式故宮 / 的 / 著名 / 著名景點 / 景點 / 包括 / 乾清宮 / 清宮 / 、 / 太和 / 太和殿 / 和 / 黃琉璃瓦 / 琉璃 / 琉璃瓦 / 等
乾清宮
精確模式和全模式都被順利拆分出來了import jieba.analyse tags=jieba.analyse.extract_tags(input,topK=5) print("關鍵詞"+" / ".join(tags)) # 打印出關鍵詞的權重 tags=jieba.analyse.extract_tags(input,topK=5,withWeight=True) for tag,weight in tags: print('{}-{}'.format(tag,weight))
關鍵詞著名景點 / 乾清宮 / 黃琉璃瓦 / 太和殿 / 故宮 著名景點-2.3167796086666668 乾清宮-1.9924612504833332 黃琉璃瓦-1.9924612504833332 太和殿-1.6938346722833335 故宮-1.5411195503033335
import jieba.posseg as pseg words=pseg.cut(input) for word,flag in words: print('{}-{}'.format(word,flag))
故宮-n 的-uj 著名景點-n 包括-v 乾清宮-n 、-x 太和殿-nr 和-c 黃琉璃瓦-n 等-u
import jieba from wordcloud import WordCloud import imageio from collections import Counter import matplotlib.pyplot as plt def getFileContent(path): with open(path,'r',encoding='utf-8') as f: return f.read() input=getFileContent('./data/19Congress.txt') # 中止詞 stop_text=getFileContent('./data/stopwords.txt') stopwords={line.strip() for line in stop_text} data={} seg_list=jieba.cut(input,cut_all=False) for word in seg_list: if len(word)>=2: if not data.__contains__(word): data[word]=0 data[word]+=1 word_clouds=WordCloud( background_color='white',#背景 max_words=400, width=600, height=400, mask=imageio.imread('./data/mapofChina.jpg'), #背景圖 stopwords=stopwords, font_path=r'./data/SimHei.ttf', # 字體 ).generate_from_frequencies(data) plt.figure(figsize=(18,16)) plt.imshow(word_clouds) plt.axis(False) plt.show() word_clouds.to_file("test.jpg") # 輸出到文件