ニート道

働きたくないでござる。

Yahooデベロッパーネットワークのキーフレーズ抽出APIを使ってみた。

文章を投げるだけでキーフレーズを抽出して返してくれる、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とかのが使えるかな〜。