ただいま検索エンジンの開発中でして、検索エンジンの開発にはクローラーがダウンロードしたデータ(文章)を形態素解析する必要があります。(その後データベースなどにぶちこむ)
形態素解析といえば、ChaSenやMeCabなどのオープンソースが有名ですが、いかんせんインストール作業が面倒。なので今回はYAHOO!日本語形態素解析Web APIを使ってみました。
ちょっと使ってみた感じ、APIとは思えないほどサクサク動きました。しかし、検索エンジンのデータベース作成に使えるかどうか考えると色々と問題点が・・・
と、API特有の制限がでてきました。
検索エンジンのデータベース作成のために使うとなるとかなり大量のデータの解析を行わなければならないので、リクエスト回数の制限とサイズの制限はきつい。
さらに、ネット上のいろいろな文章を解析する必要があるので、ちょっと特殊な文字が入っちゃうとエラーがでてくるところもきついです。
なので、今後はおとなしくMeCabを使おうかなと考えています。
以下はPHPからYAHOO!日本語形態素解析Web APIを使ったサンプルコードです。
$query = "ここに解析したい文章を入力"; $apiKey = "Yahoo!デベロッパーネットワークで取得したAPIキー"; $url = "http://jlp.yahooapis.jp/MAService/V1/parse?appid=" . $apiKey . "&sentence=" . $query; $rss = file_get_contents($url); $xml = simplexml_load_string($rss); foreach($xml->ma_result->word_list->word as $item) { echo $item->surface . " " . $item->pos; echo "<br />"; // $item->surfaceに解析後の単語、$item->posにその単語の品詞が入っているので、後は好きな用に処理すればよし。今回は単語と品詞を表示するだけ。 }
アプリケーションID取得方法や詳しいGETパラメータなどは以下のYahoo!デベロッパーネットワークのページを見てね。
http://developer.yahoo.co.jp/webapi/jlp/ma/v1/parse.html