PHPで日本語の形態素解析

Pocket

対訳データベースの実装に際し、中国語の原文と日本語の訳文を形態素解析で単語単位にばらし、それをインデックスにしようとしたのですが、PHPで形態素解析ってどういうライブラリがあるのかしらん、と疑問の壁に激突したのでメモ。

中国語のテキストを単語単位にばらすのは、北辞郎の一括検索で実装したことがあるので、これがほぼそのまま使えますが、問題は日本語です。これまでやったことがないのでざっと調べてみたところ、以下の3つが候補として上がりました。

  1. MeCab: Yet Another Part-of-Speech and Morphological Analyzer
  2. Yahoo!デベロッパーネットワーク 形態素解析
  3. Igo プロジェクト

日本語の形態素解析なら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件のコメント

  1. ピンバック: 中国姓氏辞典 | karak

コメントする

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください