默认是 精确匹配 默认模式 试图将句子最精确地切开,适合文本分析; a=jieba.cut("中国是一个伟大的国家") print(list(a)) ['中国', '是', '一个', '伟大', '的', '国家'] a=jieba.cut("中国是一个伟大的国家",cut_all=False) print(list(a)) ['中国', '是', '一个', '伟大', '的', '国家'] # 全匹配 把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义; a=jieba.cut("中国是一个伟大的国家",cut_all=True) print(list(a)) ['中国', '国是', '一个', '伟大', '的', '国家'] 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词 a=jieba.cut_for_search("中国是一个伟大的国家") print(list(a)) ['中国', '是', '一个', '伟大', '的', '国家'] from wordcloud import WordCloud import matplotlib.pyplot as plt #绘制图像的模块 import jieba #jieba分词 import numpy as np from PIL import Image path_img = "111.jpg" #打开文件,记得采用utf-8编码解析中文文字 f = open('111.txt','r',encoding='UTF-8').read() txt=jieba.cut(file) tt=[] #下条主要是为了排除一个字符以下的词,没有这条文本将会分出都是单字 for i in txt: if len(i)>1: tt.append(i) tt # 结巴分词,生成字符串,wordcloud无法直接生成正确的中文词云 #下行代码将分好的列表词,转为空格分隔的字符串 把列表转成字符串 pp=" ".join(tt) background_image = np.array(Image.open(path_img)) exclude={'的','无','可以','权限','建议','暂无'} #这里是不需要的词,要剔除的 wordcloud = WordCloud( stopwords=exclude, #设置字体,不然会出现口字乱码,文字的路径是电脑的字体一般路径,可以换成别的 font_path="C:/Windows/Fonts/simfang.ttf", #设置了背景,宽高 background_color="white",width=1000,height=880,mask=background_image).generate(pp) plt.imshow(wordcloud, interpolation="bilinear") plt.axis("off") plt.show() ----词频统计 file=open("111.txt","r",encoding="utf-8").read() f=jieba.cut(file) z={} for i in f: z[i]=z.get(i,0)+1 z print(sorted(z.items(), key=lambda x: x[1], reverse=True)[:15])