Python中文詞頻統(tǒng)計

今天看到的一個統(tǒng)計,統(tǒng)計的金庸小說里面的高頻詞語。想著看了一周python,試試看能不能統(tǒng)計。
網(wǎng)上找的代碼,調(diào)整順序拼接了一下,分詞庫是結(jié)巴分詞。
解決了python2.7中字典顯示中文亂碼的問題
分詞代碼:https://github.com/imwilsonxu/mao
頻率統(tǒng)計:https://github.com/aolingwen/0006
結(jié)巴分詞: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)


最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • # Python 資源大全中文版 我想很多程序員應該記得 GitHub 上有一個 Awesome - XXX 系列...
    aimaile閱讀 26,842評論 6 427
  • 常用概念: 自然語言處理(NLP) 數(shù)據(jù)挖掘 推薦算法 用戶畫像 知識圖譜 信息檢索 文本分類 常用技術: 詞級別...
    御風之星閱讀 10,010評論 1 25
  • 1)ICTCLAS 最早的中文開源分詞項目之一,由中科院計算所的張華平、劉群所開發(fā),采用C/C++編寫,算法基于《...
    MobotStone閱讀 6,086評論 1 15
  • 導語 拷貝忍者汪汪卡今天嗅到了一個好玩的引導界面。由于有些產(chǎn)品的復雜性,很多應用當用戶第一次打開的時候都是一臉懵逼...
    李汪汪汪俠閱讀 362評論 0 0
  • 十月的早上還是很冷,上午十點多太陽還沒有出來,湖面很靜,水很清。沿途有跑步的,登山的,騎行的,遛狗的,攝影的……人...
    civilian閱讀 449評論 0 0

友情鏈接更多精彩內(nèi)容