# 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") # 输出到文件