30歳過ぎから工学 vol.2

http://d.hatena.ne.jp/j130s/ から移行しました.オープンソースロボットソフトウェア技術者兼主夫. 高校・大学学部文系-->何となくソフトウェア開発業-->退職・渡米,テキサス州でシステムズ工学修士取得,しかし実装の方が楽しいと気付き縁があったロボティクス業界で再就職.現在 Texas 州内の産業用オートメーションのスタートアップに Georgia 州から遠隔勤務.

install MeCab on OSX

日本語形態素解析エンジンの MecabMac へのインストールにかなり手間取ったので下線以降にメモします.
ちなみにこの Mecab, 前職では 2年前から実験モジュール開発によく使いましたが, Mecab が悪かった訳では無いものの, 本稼働システムへの搭載には至りませんでした. 他でも実稼働しているシステム内で使われているという話を私は知らなかったので, 勝手に MeCab (や他の OSS の言語処理モジュール)は IT系研究者の実験システム構築用である, という印象を持ってましたが, どうもまさに今手元で使っている Mac OSX だとか, iPhone には標準で搭載されてるようです(開発者工藤拓氏のぶろぐ). 商用の, しかも爆発的に売れている製品内で使われているって, 凄いですね. 憧れます. しかし私はプログラマではないのでその夢は諦めますが.
何故今プログラマちっくなことをしているか?せっかく年末で気持ち的余裕があるので, やりたくても出来なかった, 以前遊びで作ったけどそこそこ使えるコンピュータプログラムを OSS (オープンソース. Mac OS X とは違うのでご注意を!) にするためです.


  • MeCab のインストール

このサイトにある通りの順番でうまく行きます. 上記サイトにもあるとおり make でエラーが出るものの, 無視します.
なおこのサイトにもありますが, mecab のバージョンは今日時点で最新の 0.97 だと make install でエラーが出てうまく行かないので 0.96 を使います.

MeCab 単独で使いたいなら上記作業で終了ですが, Java で書いたプログラム内で MeCab を使わせたいので binding もインストールします.
このサイトにある通りの順番でうまく行きます. mecab-java もバージョンは 0.96 にします*1. Makefile をサイト記載の通りに書き換え, 更に "missing separator. Stop" と make がエラーを出すので, このサイトのように tab を当該の行に挿入したら無事 MeCab.jar が生成されました.

  • eclipse でプログラム作成・実行する場合の設定

このサイトを参考に設定する.


後は Eclipse の実行時に環境変数を与えるべく、実行クラスのプロパティの Run/Debug Settings の Environment に DYLD_LIBRARY_PATH を設定することと、JRE System Library をビルド時の環境と同様の Java5 に設定すれば、するりと動きました。

DYLD_LIBRARY_PATHには

/Users/shohu/src/mecab-java-0.96

のように、バインディングをインストールしたディレクトリを指定する。

  • 成功した環境

eclipse 3.4.1
mecab 0.96
bash 3.2.17(1)-release (i386-apple-darwin9.0)
i686-apple-darwin9-gcc-4.0.1
Mac OS X 10.5.6 Darwin 9.6.0
実行例


今日のアーリントンは大雨のち晴れ,気温は 20℃近くまで上がりました.

今日 名詞,副詞可能,*,*,*,*,今日,キョウ,キョー
の 助詞,連体化,*,*,*,*,の,ノ,ノ
アーリントン 名詞,固有名詞,地域,一般,*,*,アーリントン,アーリントン,アーリントン
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
大雨 名詞,一般,*,*,*,*,大雨,オオアメ,オーアメ
のち 名詞,副詞可能,*,*,*,*,のち,ノチ,ノチ
晴れ 動詞,自立,*,*,一段,連用形,晴れる,ハレ,ハレ
, 記号,読点,*,*,*,*,,,,,,
気温 名詞,一般,*,*,*,*,気温,キオン,キオン
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
20 名詞,数,*,*,*,*,*
℃ 名詞,サ変接続,*,*,*,*,*
近く 形容詞,自立,*,*,形容詞・アウオ段,連用テ接続,近い,チカク,チカク
まで 助詞,副助詞,*,*,*,*,まで,マデ,マデ
上がり 動詞,自立,*,*,五段・ラ行,連用形,上がる,アガリ,アガリ
まし 助動詞,*,*,*,特殊・マス,連用形,ます,マシ,マシ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
. 記号,句点,*,*,*,*,.,.,.
EOS

*1:MeCab を 0.96 にしたため, 合わせたまでです. 最新版で動くかどうかは未試行