Python中文词频统计

作者: 流欲 | 来源:发表于2016-11-03 21:14 被阅读3137次

今天看到的一个统计,统计的金庸小说里面的高频词语。想着看了一周python,试试看能不能统计。
网上找的代码,调整顺序拼接了一下,分词库是结巴分词。
解决了python2.7中字典显示中文乱码的问题
分词代码:https://github.com/imwilsonxu/mao
频率统计:https://github.com/aolingwen/0006
结巴分词:https://github.com/fxsjy/jieba

# -*- coding: utf-8 -*-
import json
import re
import jieba
from collections import Counter

class StatWords(object):
        def statTopN(self,path, n):
                file = open(path,'r')
                wordDict = {}
                content = file.read()
                wordlist = re.split('[\s\ \\,\;\.\!\n]+', content)
                for word in wordlist:
                        if word in wordDict:
                                wordDict[word]=wordDict[word]+1
                        else:
                                wordDict[word] = 1
                count = Counter(wordDict)
                print json.dumps(count.most_common()[:n], encoding="UTF-8", ensure_ascii=False)
                
STOPWORDS = [u'的', u'地', u'得', u'而', u'了', u'在', u'是', u'我', u'有', u'和', 
u'就',  u'不', u'人', u'都', u'一', u'一个', u'上', u'也', u'很', u'到', u'说', u'要',
 u'去', u'你',  u'会', u'着', u'没有', u'看', u'好', u'自己', u'这']
PUNCTUATIONS = [u'。', u',', u'“', u'”', u'…', u'?', u'!', u'、', u';', u'(', 
u')',u'?',u':']
#黑名单
f_in = open('file_in.txt')
f_out = open('file_out.txt', 'w')
#f_in原文档,f_out分词后的文档
try:
    for l in f_in:
        seg_list = jieba.cut(l)
        # print "/".join(seg_list)
        
        for seg in seg_list:
            if seg not in STOPWORDS and seg not in PUNCTUATIONS:
                f_out.write(seg.encode('utf-8', 'strict') + "\n")

finally:
    f_in.close()
    f_out.close()

if __name__ == '__main__':
       s = StatWords()
       s.statTopN("file_out.txt",10)


相关文章

  • Python 词频统计-中文分词

    中文分词: 我的家乡可以分为 我 的 家乡 停用词 数据处理,需要过来的词语和子 如web,网址等 语气助词、副词...

  • Python中文词频统计

    今天看到的一个统计,统计的金庸小说里面的高频词语。想着看了一周python,试试看能不能统计。网上找的代码,调整顺...

  • Python中文分词及词频统计

    中文分词 中文分词(Chinese Word Segmentation),将中文语句切割成单独的词组。英文使用空格...

  • 开启自学人生

    day6 姓名:邓超 学号:1901010076 学习:封装统计英文词频的函数+封装统计中文词频的函数。 总结:1...

  • python统计词频

    一、最终目的 统计四六级真题中四六级词汇出现的频率,并提取对应的例句,最终保存到SQL数据库中。 二、处理过程 1...

  • python统计词频

    一、使用re库进行识别 1、代码 2、参考 python--10行代码搞定词频统计python:统计历年英语四六级...

  • python 词频统计

    """Count words.""" def count_words(s, n): """Return the...

  • Python | 词频统计

    最近工作蛮忙的,就简单练习一下python基础吧。 本周的练习是词频统计,主要使用了以下几个函数: text.sp...

  • Python词频统计

    场景: 现在要统计一个文本中的词频,然后按照频率的降序进行排列

  • Python词频统计

    1.合并数据文件 2.词频统计

网友评论

    本文标题:Python中文词频统计

    本文链接:https://www.haomeiwen.com/subject/ssriuttx.html