文章を投げるだけでキーフレーズを抽出して返してくれる、Yahooデベロッパーネットワークのキーフレーズ抽出APIを使ってみた。
利用制限は、1日あたり50000リクエストまでと割と太っ腹。
以下のようなサンプルを書いて試してみた。
//解析したい本文 $sentence = ' 僕の名前はバフ。 Yahooデベロッパーネットワークのキーワード抽出APIを使ってみるよ。 これはテストの文章だよ。 テスト用の文章を考えるのがとても面倒。 ある程度の文章量がないと意味なさそうだし、難しいよね。悩む。 ちなみに今、「逮捕しちゃうぞ」のアニメをバンダイチャンネル(見放題プラン)で視聴中。 OVAが5話、TV版、1期が51話、2期が26話、3期が24話で全部で100話以上あるので割と良い暇つぶしになる。 てか、美幸が可愛すぎてツライ。 '; $queryArr = array( 'appid' => 'アプリケーションID', //アプリケーションID。 'sentence' => $sentence, 'output' => 'php'//レスポンスの形式(オプション)。省略時はXML。 ); $query = http_build_query($queryArr); $result = unserialize(file_get_contents('http://jlp.yahooapis.jp/KeyphraseService/V1/extract?' . $query)); var_dump($result);
結果はこんな感じ。
array(20) { ["Yahooデベロッパーネットワーク"]=> int(100) ["文章"]=> int(88) ["バンダイチャンネル"]=> int(88) ["キーワード抽出API"]=> int(81) ["見放題プラン"]=> int(80) ["テスト"]=> int(71) ["ツライ"]=> int(67) ["美幸"]=> int(67) ["バフ"]=> int(65) ["良い暇つぶし"]=> int(59) ["文章量"]=> int(45) ["OVA"]=> int(44) ["アニメ"]=> int(43) ["テスト用"]=> int(42) ["だし"]=> int(41) ["視聴中"]=> int(40) ["TV版"]=> int(35) ["全部"]=> int(32) ["名前"]=> int(30) ["100話以上"]=> int(26) }
重要度を表すスコア付きで返してくれる。
検索とかのインデックス作成に用いるなら、形態素解析APIとかのが使えるかな〜。