jieba库——红楼梦名字分词
1 import jieba 2 txt = open("D:\作业\python 作业\jieba分词\红楼梦.txt","r",encoding = 'ansi').read() 3 words = jieba.lcut(txt) #精确模式进行分词 4 count = {} #创建空字典 5 for word in words: 6 if len(word) ==1: 7 continue 8 else: 9 count[word] =count.get(word,0) +1 #遍历所有词,每出现一次加1 10 cut = ['什么','一个','我们','那里','你们','如今','说道','知道','起来','姑娘','这里','出来', 11 '他们','众人','自己','一面','只见','两个','没有','怎么','不是','不知','这个','听见', 12 '这样','进来','东西','告诉','就是','咱们','回来','大家','只是','只得','这些','不敢', 13 '丫头','出去','所以','不过','的话','不好','鸳鸯','探春','一时','不能','过来','心里', 14 '银子','如此','今日','几个','二人','答应','还有','只管','说话','这么','一回','那边'] 15 for j in range(60): 16 del count[cut[j]] 17 paixu = list(count.items()) #将键值对转换成列表 18 paixu.sort(key=lambda word:word[1],reverse = True) #将出现的词语进行排序 19 for i in range(20): 20 word,counts = paixu[i] 21 print("{0:<5} {1:>5}".format(word,counts))
结果:
jieba分词的三种模式
- 精确模式:把文本精确的切分开,不存在冗余单词
- 全模式:把文本中所有可能的词语都扫描出来,有冗余
- 搜索引擎模式:在精确模式基础上,对长词再次切分