対訳データベースの実装に際し、中国語の原文と日本語の訳文を形態素解析で単語単位にばらし、それをインデックスにしようとしたのですが、PHPで形態素解析ってどういうライブラリがあるのかしらん、と疑問の壁に激突したのでメモ。
中国語のテキストを単語単位にばらすのは、北辞郎の一括検索で実装したことがあるので、これがほぼそのまま使えますが、問題は日本語です。これまでやったことがないのでざっと調べてみたところ、以下の3つが候補として上がりました。
日本語の形態素解析ならMeCabという選択肢で間違いないと思うのですが、私が使っているXserverはtelnetが使えず、インストールが大変そうなので今回は却下しました(参考:じょしかい!!: 日本語形態素解析(mecab + php))。
2つめのYahoo!デベロッパーネットワークが提供している形態素解析サービスは、手元で何もする必要がなく、APIを叩いて返ってくるXMLを解析すればOKなので手軽です。いちおう利用制限もあるものの、1日のリクエスト回数の上限が50000回とのことですで、普通に使っている限りひっかかることはないでしょう。
3つめのIgoは、JavaとCommon Lispで実装された形態素解析器です。Igo-phpというPHP実装があり、PHPで形態素解析とMySQLで全文検索 | Life is Real.で紹介されている手順でさくっと導入することができます。自分のプロジェクトに組み込むのも簡単です。
導入の手軽さでいうとYahoo > Igo > Mecab という感じでしょうか。当初はYahooのサービスを使おうと思っていたのですが、Igoが簡単に導入できたのでこちらを使うことにしました。ライブラリがとてもコンパクトで好感度大です。
1件のコメント