[api] yahoo形態素解析のサンプル
今更ながらどんなものなんか興味を持ったのでサンプル(XML処理すらしてない..( ゚Д゚))を作ってみました。 サンプルはこちら テキスト内の名詞と動詞に反応します
使用方法は簡単なのですが、文字処理(UTF-8)で色々とはまってそこそこ面倒でした(php.iniの設定とか..レンタルサーバー内部だったし慣れてないし(ノ∀`))
とりあえずソースはこんな感じです( ・∀・)..(XMLのパーサーどれつかったらいいか知らない...)。昔はpreg_match_allとかで正規表現ごり押しで、データ取ってたりしてたのですが、あまりにもみすぼらしいのできちんとライブラリなど使ってこれからは処理させるようにするつもり...
<html> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <head> <title>yahoo形態素解析のサンプル</title> <style> body { font-family: 'Osaka'; } h3 { font-family: 'Osaka'; color:#1f1f1c; } </style> <body> <h3>yahoo形態素解析のサンプルです</h3> <form action="t_form.php" method="POST"> <input type="text" width="30" value="今日はいい天気です" name=input> <input type="submit" value="送信"> </form> <?php require_once('HTTP/Request.php'); $sentence = mb_convert_encoding($_POST["input"], "UTF-8"); $app_id = 'you app id!'; $url = 'http://api.jlp.yahoo.co.jp/MAService/V1/parse'; $request = new HTTP_Request($url); $request->addQueryString('appid', $app_id); $request->addQueryString('results', 'ma,uniq'); $request->addQueryString('filter', '9|10'); $request->addQueryString('sentence', $sentence); if (PEAR::isError($request->sendRequest())) { die('request failed'); } echo $request->getResponseBody(); ?> </body> </html>
とりあえず簡易サンプルということで作ってみましたが、きちんとした形に整理してまたなんかつくるつもりです..
あと少し作ってみて面白いと思ったのは、今日→きょうという風にきちんと変換されるようになってることです。 膨大なデータベースがあるからこそできる芸当ですよね..
形態素解析は面白いので、アイディアとやる気次第ではかなり面白いサービスができる予感がする..