日本語の文章から、特徴的な表現を取得できるAPIです。
リクエストURL:https://jlp.yahooapis.jp/KeyphraseService/V1/extract
GETではクエリの最大長を超える恐れがあるため、対象のテキストが長くなるならばPOSTでリクエストします。Yahoo!デベロッパーネットワーク:WebAPIの使い方(POSTリクエスト) - Yahoo!デベロッパーネットワーク
パラメータ | 説明 |
---|---|
appid(必須) | アプリケーションID |
sentence(必須) | 解析対象のテキスト |
output | レスポンス形式
|
callback | JSONPとして出力する際のコールバック関数名 |
フィールド | 説明 |
---|---|
ResultSet | すべての抽出結果 |
Result | 個々の抽出結果 |
Keyphrase | キーフレーズ |
Score | キーフレーズの重要度 |
以下は「sentence=東京ミッドタウンから国立新美術館まで歩いて5分で着きます。」へのレスポンスです。
<?xml version="1.0" encoding="UTF-8"?> <ResultSet xmlns="urn:yahoo:jp:jlp:KeyphraseService" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:yahoo:jp:jlp:KeyphraseService http://jlp.yahooapis.jp/KeyphraseService/V1/extract.xsd"> <Result> <Keyphrase>国立新美術館</Keyphrase> <Score>100</Score> </Result> <Result> <Keyphrase>東京ミッドタウン</Keyphrase> <Score>72</Score> </Result> <Result> <Keyphrase>5分
a:3:{s:18:"国立新美術館";i:100;s:24:"東京ミッドタウン";i:72;s:4:"5分";i:10;}
{"\u56fd\u7acb\u65b0\u7f8e\u8853\u9928":100,"\u6771\u4eac\u30df\u30c3\u30c9\u30bf\u30a6\u30f3":72,"5\u5206":10}
レスポンス形式に「PHPserialize」を指定して、PHPで処理します。
$sentence = '東京ミッドタウンから国立新美術館まで歩いて5分で着きます。'; $url = 'https://jlp.yahooapis.jp/KeyphraseService/V1/extract' .'?appid='.APPLICATION_ID .'&sentence='.urlencode( $sentence ) .'&output=php'; // リクエストを送り、レスポンスを取得する $response = file_get_contents( $url ); // レスポンスを逆シリアル化する $phrases = unserialize( $response ); print_r( $phrases );
逆シリアル化された結果は、
Array ( [国立新美術館] => 100 [東京ミッドタウン] => 72 [5分] => 10 )
のように、キーフレーズとその重要度からなる配列に格納されます。
リクエスト時にはパラメータはエンコードして渡すため、UTF-8の「あ」の1文字でも「%E3%81%82」の9バイト必要です。