使用python对中文文档进行词频统计

来源:互联网 发布:超星网络课程登录入口 编辑:程序博客网 时间:2024/05/21 10:42
1、使用jieba先对中文文档进行分词处理

需要处理的clean_data.csv文件内容(三列)

http://you.ctrip.com/travels/1322/1360550.html   地中海邮轮+罗马深度自由行      宅猫行天下     
http://you.ctrip.com/travels/1400/1600356.html  柏林&安纳西     老鼠m

import sysreload(sys)sys.setdefaultencoding("utf-8")import jiebaimport jieba.analysewf = open('clean_title.txt','w+')for line in open('/root/clean_data/clean_data.csv'):    item = line.strip('\n\r').split('\t') //制表格切分    # print item[1]    tags = jieba.analyse.extract_tags(item[1]) //jieba分词    tagsw = ",".join(tags) //逗号连接切分的词    wf.write(tagsw)wf.close()

输出的clean_title.txt内容

邮轮,地中海,深度,罗马,自由纳西,柏林签证,步行,三天,批准申根,手把手,签证,申请,如何赞爆,法兰,穿越,葡萄酒,风景,河谷,世界欧洲颜色,一种,国家,一个水族箱,帕劳,七日,上帝奥林匹亚,跑步圣托,里尼,文明古国,探访,爱琴海,魅力,希腊

2、统计词频

#!/usr/bin/python# -*- coding:utf-8 -*-word_lst = []word_dict= {}with open('/root/clean_data/clean_title.txt') as wf,open("word.txt",'w') as wf2: //打开文件    for word in wf:        word_lst.append(word.split(',')) //使用逗号进行切分        for item in word_lst:             for item2 in item:                if item2 not in word_dict: //统计数量                    word_dict[item2] = 1                else:                    word_dict[item2] += 1    for key in word_dict:        print key,word_dict[key]        wf2.write(key+' '+str(word_dict[key])+'\n') //写入文档

结果:

最后 4欧洲幽蓝 1集美 1葡萄牙法多 1工地 1知道湖光山色 1神圣 7欧洲少女瑞士加游 1

根据词汇数量排序查看:

cat word.txt |sort -nr -k 2|more

神圣 7最后 4欧洲幽蓝 1集美 1葡萄牙法多 1工地 1知道湖光山色 1欧洲少女瑞士加游 1

0 0
原创粉丝点击