Yahoo! 日本語形態素解析 API を使った PHP プログラムを作ってみた
ブログ記事のキーワード出現頻度を調べたくて、Yahoo! が提供している日本語形態素解析 API を使ったプログラムを作ってみました。
Yahoo! 日本語形態素解析API はこちら を参照してください。
前手順としてまず Yahoo!デベロッパーネットワーク アプリケーションの管理 から「Yahoo! アプリケーション ID」を取得しておいてください。
実際に動かせるプログラムのサンプルを載せておきます。
$api = 'http://jlp.yahooapis.jp/MAService/V1/parse';
$appid = '<Yahoo!アプリケーションID>';
$params = array(
'sentence' => $_POST('textArticle'),
'results' => 'uniq',
'filter' => '1|2|3|4|5|6|7|8|9|10'
);
$ch = curl_init($api);
curl_setopt_array($ch, array(
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_USERAGENT => "Yahoo AppID: $appid",
CURLOPT_POSTFIELDS => http_build_query($params),
));
$result = curl_exec($ch);
curl_close($ch);
$xml = new SimpleXMLElement($result);
echo htmlspecialchars(print_r($xml, true));
CURL を使って POST リクエストを投げ、戻り値である XML データを SimpleXML で解析するというものです。
Yahoo! の API を使うポイントとしては、CURLOPT_USERAGENT の指定をするぐらいでしょうか。
パラメーターには、出現頻度情報を取得したいので results に uniq を指定し、filter には助詞・助動詞・カッコなどを省く値を指定しています。
あとは、通常の CURL のプログラムと変わらず、API へ渡すべきパラメーターを PHP の連想配列から http_build_query() 関数で生成し、CURLOPT_POSTFIELDS へ渡しています。
最後に print_r() の第二引数に true を渡して文字列化し、HTML の整形を行って表示させています。
echo 部分を下記の様に書き換えれば、table タグで表にした結果を得ることができますね。
echo '<table border="1">';
echo '<tr><th>出現数</th><th>単語</th></tr>';
foreach ( $xml->uniq_result->word_list->word as $node) {
echo '<tr>';
echo "<td style='text-align:right;'>{$node->count}</td>";
echo "<td>{$node->surface}</td>";
echo "</tr>n";
}
echo '</table>';
まとめ
XML の技術が出たときは XML ウェブサービスが全体だったので、SOAP などを中心とした技術基盤を構築するだけで大変でした。
PHP で XML を扱うにも、DOM をベースとした操作だったのですごく冗長でつまらなかったものです(笑)
今はウェブサービスも多くが REST 形式で取得できますし、XML も簡単に連想配列の入れ子構造に変換できるので、便利になりましたね。
10年集客し続けられるサイトを、ワードプレスで自作する9つのポイント プレゼント
あなたは、24時間365日、自分の代わりに集客し続けてくれるWebサイトを作りたい!と思ったことはありませんか?
私はこれまで500以上のWebサイトの構築と運営のご相談に乗ってきましたが、Webサイトを作ってもうまく集客できない人には、ある一つの特徴があります。
それは、「先を見越してサイトを構築していないこと」です。
Webサイトで集客するためには、構築ではなく「どう運用するか」が重要です。
しかし、重要なポイントを知らずにサイトを自分で構築したり、業者に頼んで作ってもらってしまうと、あとから全く集客に向いていないサイトになっていたということがよく起こります。
そこで今回、期間限定で
『10年集客し続けられるサイトをワードプレスで自作する9つのポイント』
について、過去に相談に乗ってきた具体的な失敗事例と成功事例を元にしてお伝えします。
・ワードプレスを使いこなせるコツを知りたい!
・自分にピッタリのサーバーを撰びたい!
・無料ブログとの違いを知りたい!
・あとで悔しくならない初期設定をしておきたい!
・プラグイン選びの方法を知っておきたい!
・SEO対策をワードプレスで行うポイントを知りたい!
・自分でデザインできる方法を知りたい!
という方は今すぐ無料でダウンロードしてください。
期間限定で、無料公開しています。
※登録後に表示される利用条件に沿ってご利用ください