単語解析

巨大な自然言語のテキストデータのことを「コーパス」という。このCagylogicも結構なテキストの量である。

ちょっと、単語に分類して解析してみた。

IMEのAPIを使うと分かち書きして、名詞、動詞くらいの品詞を取ることができる。
Cagylogicの全ログを食って、分かち書きして、単語をカウントするプログラムを書いてみた。

ちなみに、Cagylogicの全ログはテキストファイルで2.5メガある。出現単語総種類数が15924。この中には、HTMLとか、数字とか、記号とかも含まれている。その上、動詞のように活用する単語はすべて別にカウントされている。これらを考慮すると、意味のある単語では、大体、1万くらいだろうか。
すなわち、1万種くらいの単語でCagylogicは記述されている。

力いっぱいロングテールになっていて、出現Topは、「。」句点で、18973回。まぁ「。。。。」のように書いているのもあるから、そら多いわな。

1回しか出現しない単語が、6578種、41.3%を占める。2回まで全体の50%を超える。
10回以下で84%である。って考えると、日本語の単語を2000くらいを知っていれば、僕のBlogは8割がた、読めることになるわけだ。

単純に上位から並べると、どうしても、助詞とか代名詞が上位に出てしまうし、HTMLの構文なども上位に来てしまうので、手作業で名詞だけを抜き出してみた。

人,日本,自分,アメリカ,Computer,もの,こと,場合,本,中,話,ゲーム,データ,表示,感じ,会社,今,問題,今日,必要,部分,Web,記事,サイト,エンジニア,ページ,英語,ファイル上,企業,blog,現在,最近,実際,ソフト,Blog,管理人,勉強,手,コード,時間,仕事,アクセス,先,起動,あと,前,設定,サーバー,チャット,お金,コメント,リスク,リンク,調達,以前,情報,家,地図,技術,部屋,テレビ,給料,機能,簡単,検索,普通,ひとつ,カード,プログラマ,作成,ロボット,インストール,説明,意味,トラックバック,ビザ,確認,日本語,変更,,文章,ホテル,カジノ,あたり,何,画面,やつ,今回,最初,次,逆,パソコン,経験,車,BLOG,子供,内容,面倒

これが、Cagylogic全ログから取り出した、頻出単語上位100位である。

人が574回、面倒が78回出現している。
やっぱりコンピュータ関係、仕事関係の単語が多いねぇ。結構、いろんな分野について書いてるかと思ったけど、案外かたよっているものだ。

ちなみに、代名詞の「僕」が254回、「俺」が199回、「私」が52回。

解析したツールはこちらに置いてある。自己責任で。依存関係をチェックしてないので、どんなDllが必要なのかもよく知らない。少なくとも、.NET Framework2.0は必要。もしかしたら、WindowsSDKも必要かもしれない。言っていることがわからない人は、無理ですから、ダウンロードはやめてください。

ソースはこちら。こいつも自己責任。コンパイルが通らなくても自力で通しましょう。WindowsSDKにincludeとlibを依存しています。まぁ別にWindowsSDKである必要は無いけど。。。

IMEのAPIを使っていると、何故か僕の環境では、Explorer.exeがCPUを持っていってしまう。ということで、でかいファイルを解析すると、OSが固まったような症状になるが、とりあえず動いているので、長時間ほったらかしにして置いてみてください。

「単語解析」への2件のフィードバック

  1. exeで指定するファイルは
    utf8でいいんですよね?
    shift_jisにしてたらうまくいかなくて。。。

  2. ん?
    SHIFT-JISでよかったとおもうけどな。
    今、Vistaの上で試したら「IME Open failed」と言われて、動きませんでした。そういえば、VistaってIMEのAPIって変更されたんだよねぇ。これを書いたときって、XPでしか、動作確認してなかったので。。。

へ返信するコメントをキャンセル

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください