2013年2月25日月曜日

EclipseでMecabを使う(for Mac)

お久しぶりです、みなさん!
旅行の記事を1月中に書くとか大嘘ついたまま2月が終わろうとしています。
大変申し訳ないことに、今回の更新記事はプログラミングの忘備録ですw
自分用のメモなので、結構適当です。
いちいちここでcdコマンド!とか書いてないです。

Eclipseで形態解析をしたいと思い、Mecabを導入することにしました。
ところが、上手く動かずはまりにはまった。

【環境】
OS : Mac OS X 10.7.5
Eclipse : 4.2.0

1.Mecabのインストール
ここからMecab-0.996をダウンロードし、そのままインストールしました。
辞書は推奨になっているやつ。
私はUTF-8でやりたかったので、辞書を構築する時に
% ./configure --with-charset=utf8
こうして文字コードを指定してからmakeしました。
デフォルトはEUCです。

ここまでできたら、ターミナルで
% mecab
を打って、Mecabが動くか確認。
成功すれば、以下のようになります。
% mecab
ヨーロッパ旅行に行きたいです。
ヨーロッパ 名詞,固有名詞,地域,一般,*,*,ヨーロッパ,ヨーロッパ,ヨーロッパ
旅行 名詞,サ変接続,*,*,*,*,旅行,リョコウ,リョコー
助詞,格助詞,一般,*,*,*,に,ニ,ニ
行き 動詞,自立,*,*,五段・カ行促音便,連用形,行く,イキ,イキ
たい 助動詞,*,*,*,特殊・タイ,基本形,たい,タイ,タイ
です 助動詞,*,*,*,特殊・デス,基本形,です,デス,デス
記号,句点,*,*,*,*,。,。,。
EOS

2.Javaでバインディング
はまった、はまった。
何時間かけたか分からないですw
ここからとりあえずmecab-java-0.996をダウンロード。
こっからが大変でした。
とりあえず、以下のブログ記事の通りにやればターミナルでは動くようになります。
MacでMecabのJavaバインドを使用する
本当に助かりましたありがとうございます。
注意点としては、MakeFileの中のJAVA_BASEの部分です。
環境によって変わるようですので、ご自分のパソコンに合わせて設定してください。
jni.hというファイルがあるフォルダを指定するようです。

で、無事にターミナル上で動くようになるはず。

3.Eclipseに導入
プロジェクトを作ったら、とりあえずjarを設定する。
Project -> propaties -> java build path -> Libraries -> add External JARs...
ですね。ほんでもって、
/usr/local/bin/mecab-java
から入れました。
いっつもExtentionsとかに入れてから引っ張ってきてるのでちょっと気持ち悪い。
けど、他にjar突っ込んだら動かなくなりそうで嫌だったのでそのまま引っ張ってきました^p^
そして、
Run -> Run Configurations... -> Environment -> New
で環境変数を設定
Name : DYLD_LIBRARY_PATH
value : /usr/local/bin/mecab-java
で設定して、Apply。
Test.javaを入れてRunすれば、上手いこと動きました。

シリアル通信をJavaでやろうとしたときもRXTXの導入でかなりはまりました。
まぁ、それに比べたら楽だったかな…。
これで、やっとプログラムを書く段階に入れそうです。