Mac OS X LeopardでMeCabとRuby
LeopardでMeCabを使おうとおもったら予想以上にはまったのでメモしとこう。
mecabをmacportsでインストール。
$ sudo port install mecab +utf8
ruby関連はgemインストールしている。portでrb-mecab入れてしまうとrubyまで入ってしまうので、mecab-rubyはmacportsを使わずソースから。
ここでまずはまる。
macportsで入れたmecabのバージョンは0.96。mecab-rubyの最新バージョン0.97をビルドするとエラーになる。mecab本体と同じ0.96にすると問題ない。
そうそう、
http://d.hatena.ne.jp/sky-y/20071230/1199028932
を参考にしてパッチを当ててみたけど当てなくても入った。
で、ソースについてるtest.rbを実行。
$ ruby test.rb
0.96
[省略]
EOS
filename: /usr/lib/mecab/dic/apple/ja/LE/sys.dic
charset: UTF-16LE
size: 304649
type: 0
lsize: 3170
rsize: 3170
version: 102
一見うまくいってるけど形態素解析できてない。
辞書のファイルがmecabインストールしたときのパスになってないようだ。このファイルはデフォルトで入っているのかな?charsetも合ってない。
しばし試したり調べたりするも辞書ファイルを指定する方法わからず。
こうなったら強行策だ。ファイル自体を置き換えてしまおう。
ln -s /opt/local/lib/mecab/dic/ipadic/sys.dic /usr/lib/mecab/dic/apple/ja/LE/sys.dic
なシンボリックリンク張ってやった。ふん!
EUCのときはうまくいかないけどまあいいやUTF8固定で。