中文语义分割
统计并排序:把一篇文章的词按词语分析,按出现次数排序。
首先需要安装jieba库,该库中lcut,cut是典型的中文分词的函数。
其次就是collections库,该库里有一个函数Counter输出的是一个dict,能够实现计数并排序的功能(有点强大)。
方法1
import jieba
mport collections
txt = open(r'新建文本文档.txt', 'r', encoding='utf-8').read() //文件名改为自己的文件名
wordsls = jieba.lcut(txt)
count = collections.Counter(wordsls)
print(count)
//这种方法的缺点是会识别出句号,的,了等这样的词,所以需要去掉一些词,改进后的代码会以会去掉这些词,只保留两个或两个以上字的词。
方法2
import jieba
txt = open(r'新建文本文档.txt', 'r', encoding='utf-8').read()
wordsls = jieba.lcut(txt)
wcdict = {}
for word in wordsls:
if len(word) == 1:
continue
else:
wcdict[word] = wcdict.get(word, 0) + 1
# word在wcdict中没有找到对应的词语,则返回0
wcls=list(wcdict.items()) //变成列表为了方便排序
wcls.sort(key=lambda x: x[1], reverse=True) //[(word,num)],x[1]表示以num排序,如果x[0]就是表示以word排序
for i in range(25): //输出出现频次排序在前25的词
print(wcls[i])