実験室

しょこたん語風変換(ベータ) 


解説

使ったライブラリは、下記。
require_once("HTTP/Request.php");
require_once("XML/Unserializer.php");
HTTP::Requestを使って、Yahoo!APIテキスト解析WebサービスからRSSドキュメントを取得。Yahoo!APIのアドレスにGETパラメタを指定して、そのアドレスをパースする、という手もあるけど、それだとGETの文字制限があるのでPOSTでやりたかったので(Yahoo!APIでは、100KBまでの制限があるみたいだけど)。
$api = 'http://api.jlp.yahoo.co.jp/MAService/V1/parse';
$text=htmlspecialchars($_REQUEST["text"]);
$req = new HTTP_Request();
$req->setMethod(HTTP_REQUEST_METHOD_POST);
$req->addPostData('appid', '自分のYahoo!API ID');
//取得したいパラメタを列挙
$req->addPostData('response','surface,baseform,pos,reading');
これで下記のコードでXMLドキュメントが取得できます。
$doc=$req->getResponseBody();
あとは、パースすればOKです。
$rss = new XML_Unserializer();
$rss->unserialize($req->getResponseBody());
$data = $rss->getUnserializedData();
$wd = $data["ma_result"]["word_list"]["word"];
foreach ($wd as $key => $value) {
  $surface  = $value["surface"];
  $pos      = $value["pos"];
  $baseform = $value["baseform"];
  echo "語句 : $surface | 品詞 : $pos | 原型 : $baseform <br /> ";
}
とても、簡単にできました。ショコタンの癖を探す方が何倍も難しいですわ。

ケータイ版はこちら!

ケータイ版QRコード