■日本語形態素解析とは

形態素解析 - Wikipedia -に、詳細説明があります。
簡単に言うと、日本語の構文を分析して、各パーツの品詞(名詞、動詞、形容詞、助詞など)に分け、例えば、名詞の使われている順にページ内でどんな言葉が一番使われているのかを決定し、それにあわせた広告を表示したり(コンテンツマッチ型の広告)することができるわけです。
一番有名なサービスが、googleのadsense。


日本語形態素解析というのは、古くからあるサービスで、
比較的メジャーなのを挙げてみると、
MeCab、ChaSen、JUMAN、KAKASI
なんてのがあります。
どれも、UNIX(LINUX)にインストールするタイプなので、レンタルサーバー利用者には使用できない、というのが難点です。
MeCab の開発経緯を見ていただくと、日本語形態素解析の技術の移り変わりが見て取れます。
MeCabを自分のサーバーに導入して、WebAPIを公開してくれている方もいるのですが、それなりに負荷のかかるサービスなので、ちょっと気が引けます。
アメリカのYahooでは、Term Extraction Documentation for Yahoo! Search Web ServicesというWebサービスを展開していて、このホームページでも、YahooContentAnalysisを使ってみるというページで紹介済みです。
そこでも、和文が通ればなあ、と書いたのですが、待望の日本語対応サービスが登場、ということになります。

■日本語形態素解析Webサービスを使ってみる

では、実際に、日本語形態素解析Webサービス「Web MA」を使ってみましょう。
WebAPIに送信するリクエストは、
「http://api.jlp.yahoo.co.jp/MAService/V1/parse」
詳細パラメータは、日本語形態素解析Webサービスにありますので、必要なパラメータを付加して、最終的なリクエストを作成することになります。
解析する文字は、
「庭には二羽鶏がいる」
です。
サンプルリクエストを、
http://api.jlp.yahoo.co.jp/MAService/V1/parse&appid=appid&results=ma,uniq&filter=9|10&sentence=%E5%BA%AD%E3%81%AB%E3%81%AF%E4%BA%8C%E7%BE%BD%E9%B6%8F%E3%81%8C%E3%81%84%E3%82%8B
としてみた(名詞と動詞だけを取得)場合の、
サンプルソース
$sentence = '庭には二羽鶏がいる';
$req = "http://api.jlp.yahoo.co.jp/MAService/V1/parse";
$req .= "?appid=" . 'appid' . '&results=ma,uniq' . '&filter=9|10' . '&sentence=' . urlencode($sentence);
$data = file_get_contents($req);
if( !empty($data) ){
	$xml = simplexml_load_string($data);
}
あまりにもシンプルに使えるのでアレですが、簡単に説明すると、
appid:自分のアプリケーションIDを指定します。登録には、YahooIDが必要なので、ない方はYahooIDを作成する必要があります。YahooIDを作成したら、アプリケーションID登録フォームでアプリケーションIDを登録すればOKです。
リクエスト($req)を組み立てたら、file_get_contents()に渡して、simplexml_load_string()でXMLをパース、という流れです。
なお、実際には、file_get_contents()を直接コールするのではなく、自作のキャッシュ対応版file_get_contents()を作成しておいて、それを呼ぶようにしておくと、リクエスト回数を減らせるので、利用制限回数を回避できる可能性が高くなります。この辺の話しは、ブログに書いてあるので、そちらを参照してください。
返却XML
上記サンプルをコールして得られるXMLは、以下のとおりです。
こんな感じで、名詞の語句と動詞の語句に分解されるので、自分の用途に応じて利用するだけです。
関連検索ワードと組み合わせたり、画像検索と組み合わせたりするだけでも、面白いし、
自分専用のadsenseもどきを作ってみたりすることも可能です。
アプリケーションIDのリクエスト制限とセンテンスの長さ制限に注意しながら、様々なアプリケーションが作成できますね。




■お知らせと連絡先

このウェブサイトで取り上げて欲しい話題や分かりにくい点などありましたら、
以下のメールアドレス宛にメッセージをいただければ、参考にさせていただきます。

メールアドレスは、work_komiあっとまーくyahoo.co.jpです。
(「あっとまーく」は、半角英数のあっとまーくに変換してね。)

また、XBOXをお使いの方は、ゲーマータグ(akbox)にてフレンドリクエストを受け付けています。