iPhoneからMeCabを呼びたい(2)

前回の続き。

きまぐれ日記のエントリのコードを動かしてみた。

価格とスペック、WindowsもインストールできるとのことでMacBookを購入
価格|と|スペック|、|Windows|も|インストール|で|き|る|と|の|こと|で|MacBook|を|購入|

おおお…! 感動。

iPhone用の辞書を使ってみる

続いて、iPhone用の辞書でやってみる。
パスは以下。

/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.0.sdk/usr/lib/dic/ja/im/

結果は残念なことに…。ライブラリを追加する際にiOSから選べなかったので、iPhoneプロジェクトにしないとダメなのかも。

結果。

価格とスペック、WindowsもインストールできるとのことでMacBookを購入
プログラムはシグナルを受信しました:“EXC_BAD_ACCESS”。

iPhoneプロジェクトでやってみる

iPhoneプロジェクトでやってみても、mecab_sparse_tonode2で落ちる。
libmecab_em.dylibというライブラリを使っているんだけど、「em」は恐らくembedで、機能が制限されているのではなかろうか…?
libmecabra.dylibはなんだろう?
uggg… 振り出しに戻る。

=> 間違いを発見。誤ってmac用の辞書を使っていました。
iPhone用の辞書に直したところ…!

今日|は|台風|の|ため|、|四ツ谷駅|は|水浸|し|で|し|た|。|

うひょー! 動いた!!
うわぁぁぁぁい!!!!
次は解析結果を取ってみよう!

解析結果見てみる

サンプルで出しているのと同じ情報を出してみる。

surface:[今日] feature:[補助] 0 4 rcAttr:1817 lcAttr:1817 posid:6482 chartype:0 stat:1 cost:1961
surface:[は] feature:[羽] 4 6 rcAttr:1583 lcAttr:1583 posid:15520 chartype:5 stat:0 cost:3209
surface:[台風] feature:[補助] 6 10 rcAttr:1817 lcAttr:1817 posid:6482 chartype:0 stat:1 cost:3858
surface:[の] feature:[盧] 10 12 rcAttr:1576 lcAttr:1576 posid:18300 chartype:5 stat:0 cost:4660
surface:[ため] feature:[ため] 12 16 rcAttr:1575 lcAttr:1575 posid:16869 chartype:5 stat:0 cost:41
surface:[、] feature:[,] 16 18 rcAttr:1822 lcAttr:1822 posid:8000 chartype:2 stat:0 cost:-575
surface:[四ツ谷駅] feature:[補助記号] 18 26 rcAttr:1817 lcAttr:1817 posid:6482 chartype:0 stat:1 cost:1356
surface:[は] feature:[羽] 26 28 rcAttr:1583 lcAttr:1583 posid:15520 chartype:5 stat:0 cost:2604
surface:[水浸] feature:[補助] 28 32 rcAttr:1817 lcAttr:1817 posid:6482 chartype:0 stat:1 cost:3253
surface:[し] feature:[し] 32 34 rcAttr:1223 lcAttr:1223 posid:4465 chartype:5 stat:0 cost:4875
surface:[で] feature:[で] 34 36 rcAttr:461 lcAttr:461 posid:6756 chartype:5 stat:0 cost:-1069
surface:[し] feature:[し] 36 38 rcAttr:1223 lcAttr:1223 posid:4465 chartype:5 stat:0 cost:-1124
surface:[た] feature:[た] 38 40 rcAttr:159 lcAttr:159 posid:4244 chartype:5 stat:0 cost:-5313
surface:[。] feature:[.] 40 42 rcAttr:1818 lcAttr:1818 posid:8000 chartype:2 stat:0 cost:-8997

おおー!できたできた!
mecab_node_tのパラメータの意味は調べないとわからないけど、やりたいことはできそうだ!
mecab_node_tのid, isbest, sentence_length, alpha, beta, prob, token はMECAB_APPLE_ENHANCEMENTのコメントともに、コメントアウトされていて使えない。tokenが使えないのはまずいかもしれない?

謝辞

高橋さん、いつもありがとうございます。