中文分词
- 下载一中文长篇小说,并转换成UTF-8编码。
- 使用jieba库,进行中文词频统计,输出TOP20的词及出现次数。
- 排除一些无意义词、合并同一词。
- 对词频统计结果做简单的解读。
import jieba #读入待分析的字符串 fo=open('红楼梦前五十回.txt','r',encoding='utf-8') str=fo.read() fo.close() #分解提取单词 for i in ''',。?!、:“”‘’"'-\n\u3000''': str=str.replace(i,'') words=list(jieba.cut(str)) #排除语法型词汇 dic={} exp=set(['','什么','怎么','一个','两个','这里','那里','如今']) keys=set(words)-exp #创建计数字典 for i in keys: if(len(i)>1): dic[i]=words.count(i) items=list(dic.items()) #排序 items.sort(key=lambda x:x[1],reverse=True) #输出TOP(20) print('输出TOP20:') for i in range(20): print(items[i])
足以看出红楼梦中的主角以宝玉、贾母、凤姐、王夫人、老太太和黛玉为主,并有多次众人相聚聊天。