分享

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

 dbn9981 2018-09-24
      版权声明:原创文章,欢迎转载但请备注来源及原文链接 https://blog.csdn.net/levy_cui/article/details/53129506
1、使用jieba先对中文文档进行分词处理

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

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

  1. import sys
  2. reload(sys)
  3. sys.setdefaultencoding("utf-8")
  4. import jieba
  5. import jieba.analyse
  6. wf = open('clean_title.txt','w+')
  7. for line in open('/root/clean_data/clean_data.csv'):
  8. item = line.strip('\n\r').split('\t') //制表格切分
  9. # print item[1]
  10. tags = jieba.analyse.extract_tags(item[1]) //jieba分词
  11. tagsw = ",".join(tags) //逗号连接切分的词
  12. wf.write(tagsw)
  13. wf.close()

输出的clean_title.txt内容

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

2、统计词频

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

结果:

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

根据词汇数量排序查看:

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

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多