Juman++を使って形態素解析を行い、頻出回数順にソートします
ちなみにTwitterのjsonを読み込んでます
import json import re from glob import glob from pyknp import Juman def counter(text, d): jumanapp = Juman() result = jumanapp.analysis(text) for mrph in result.mrph_list(): if mrph.genkei in d: d[mrph.genkei] = d[mrph.genkei] + 1 else: d[mrph.genkei] = 1 filenames = glob('/Users/ssab/go/src/research/twitter/json/*.json') d = dict() for i, filename in enumerate(filenames): f = open(filename, 'r') tweet_text = json.load(f)['full_text'] text = re.sub( r'(https?://[\w/:%#\$&\?\(\)~\.=\+\-]+)|(RT@.*?:)|([ | ])', '', tweet_text ) counter(text, d) f.close() print(sorted(d.items(), key=lambda x: x[1], reverse=True))
出力
[('する', 3), ('を', 3), ('に', 2), ('インタフェース', 2), ('若い', 1), ('うち', 1), ('から', 1), ('毎日', 1), ('コツコツ', 1), ('続ける', 1), ('こと', 1), ('で', 1), ('老後', 1), ('2000万', 1), ('円', 1), ('用意', 1), ('ぬ', 1), ('済む', 1), ('ようだ', 1), ('なる', 1), ('ソリューション', 1), ('同じだ', 1), ('メソッド', 1), ('シグネチャ', 1), ('持つ', 1), ('複数', 1), ('の', 1), ('embeded', 1), ('作れる', 1), ('様', 1), ('proposal', 1), ('どま', 1), ('そ', 1), ('は', 1), ('こうして', 1), ('生まれる', 1), ('。', 1)]