その人を表す特徴的な単語

gwibberにあるデータからなんか統計処理できないかと考えてみた。

お題

Twitterで(勝手に)フォローしてる人固有の特徴的な単語上位3つを挙げる

結果

頻度の高い方順に5人抽出しました。

ID 1 2 3
mitukiii 金沢 screen mitukiii
repeatedly gakisp Andrei 学歴
SubaruG const decltype
ponkotuy eneloop mAh ポンコツ
littlestone71 hakone

なんとなくそういうイメージな人からどうしてそうなったのかよく分からない人までいますが、おおよそ違和感のない感じになっています。

方法は

  1. gwibber収集データからつぶやきを取得*1
  2. MeCabで名詞を抽出*2
  3. 人ごとに単語のTF-IDF積*3を計算して並べる

といった感じ。

以前はこの後にきちゃなくて遅いソースを載せていたのですが、gwibberからのデータが大量でも処理できるよう、データベースに格納するようにしたら、すっかりスパゲッティになってしまいました。とりあえずgithubに移動してあります。

https://github.com/nekomusha/public/tree/hatena20110117/twitter_statistics/src

実行にはPython用O/R mapperであるSQLAlchemyが必要です。

*1:「gwibberでtwitterid:nekomusha6:20110112:1294826232

*2:ubuntu & python形態素解析id:nekomusha6:20110112:1294782745

*3:その人がその単語をつぶやいた回数(TF)と全人数をその単語をつぶやいたことのある人数で割ったもの(IDF)の積