ポスター要旨間で単語出現頻度解析

 前回トーゴーの日のポスター要旨をパースするところまでできたので、今回はそれを利用して、MaCabに渡して単語ごとに分けてからそれぞれの出現頻度を解析するRubyモジュールを作成しました。
 まずMeCabRubyバインディングをまだインストールしていなかったので、MeCabのホームページよりダウンロードしてきてREADMEに従ってインストールしました。その後付属のtest.rbを実行してみたのですがMeCabパーサを呼び出すところでエラーとなってしまいました。
 どうやらインストール時に作成されたMakefileに問題があるようでした。

LIBS = $(LIBRUBYARG_SHARED) -lstdc++ -lmecab -lpthread -ldl -lm -L/usr/local/lib

とパスを追加してやって再度インストールしたら上手く行くようになりました。
 MeCabRubyから呼び出せるようになったので、早速以前作成した出現頻度解析のPerlモジュールを参考にしながら、全ポスター要旨に現れる単語の出現頻度を数えるRubyモジュール"mecabFreq.rb"を作成しました。

tagger = MeCab::Tagger.new
n = tagger.parseToNode("要旨の内容")

while n = n.next do
処理
end

 このような感じで全ての要旨を順番に渡して解析するだけのコードですが、”データベース”と"ゲノム情報データベース"のように、ある単語が別の単語の中に含まれる場合に、お互いの出現頻度値を加算し合うという動作が入っています。
 頻度値の上位からいくつかを示します。


データ 369
データベース 242
ゲノム情報データベース 192
微生物比較ゲノムデータベースMBGD 174
疾患ゲノムデータベース 169
データベース一括横断検索Sagace医薬基盤研究所 162
ヒト脳疾患画像統合データベース構築 161
ヒト脳疾患画像統合データベース 161
ゲノムデータベース 160
ヒトゲノムバリエーションデータベース 159
ゲノムデータベースGene Trek in Prokaryote Space 158
RA感受性ゲノム多型データベースRAvariome 158
比較ゲノム解析データベース−SALAD database 157
関節リウマチ感受性ゲノム多型データベース 155
生命科学データベース横断検索 154
微生物統合データベース 154
データベース横断検索システム 152
生命科学系データベース 151
国際塩基配列データベース 150
糖鎖関連データベース 150


 次回以降クラスタリングできるように単語を選択することを考えたいと思います。