Yahoo!デベロッパーネットワーク(YDN)にキーフレーズ抽出APIが登場しました。
テキストを渡すとそこに含まれる重要そうなフレーズを抽出してくれるAPIです。
公開から一ヶ月ほど経っていて目新しさはないのですが、ハックしてみたのでご報告。
- Yahoo!デベロッパーネットワーク
http://developer.yahoo.co.jp/
- Yahoo!デベロッパーネットワーク - テキスト解析 - キーフレーズ抽出
http://developer.yahoo.co.jp/webapi/jlp/keyphrase/v1/extract.html
- キーフレーズ抽出API の紹介 (Yahoo! JAPAN Tech Blog)
http://techblog.yahoo.co.jp/web/_api/api_6/
§
Yahoo! キーフレーズAPIを使って YeNikki を改造しました。
YeNikki (http://yapi.ta2o.net/yenikki/) は、
Yahoo! JAPAN API を利用した自動絵日記システムで、
2005年12月1日に公開したネタサイトです。
テキストが入力されると、
その中から重要そうな単語(名詞)を取り出し、
それら検索キーとして画像検索APIに投げて画像を取って来て、
それらの画像を表示するという「自動絵日記」的なサイトです。
もう少し具体的に仕組みを解説します:
(1) 入力されたテキストをサーバ側で動いている形態素解析システム茶筌(ChaSen)で解析し名詞だけ取り出します。
(2) 事前に調べておいた25万語ほどの単語についてDF値を使い、1で得られたそれぞれの名詞についてのTF-IDF値を得て、その値により重要単語を選び出します。
(3) あとは、その単語で画像検索&Ajaxでの表示を行います。
で、キーフレーズ抽出APIを使うと、
前述の(1)と(2)の処理が、
URLを1回叩くだけで済んでしまうのです!
素晴らしい!
さらに、得られるのは単語ではなくフレーズなのです。
例えば「東京都内」は形態素解析すると「東京」と「都内」に分割されてしまうのですが、キーフレーズ抽出APIだと複合名詞やらいろいろな処理をしてくれるので、「東京都内」という塊で取り出してくれるのです。
YeNikki みたいなサービスにはうってつけです。
素晴らしい!
コードの一部を載せておきます。
Perlを使ったAPI呼び出し関数とその結果の利用部分(サンプル)です。
(http://e.developer.yahoo.co.jp/webservices/register_application)
テキストを渡すとそこに含まれる重要そうなフレーズを抽出してくれるAPIです。
公開から一ヶ月ほど経っていて目新しさはないのですが、ハックしてみたのでご報告。
- Yahoo!デベロッパーネットワーク
http://developer.yahoo.co.jp/
- Yahoo!デベロッパーネットワーク - テキスト解析 - キーフレーズ抽出
http://developer.yahoo.co.jp/webapi/jlp/keyphrase/v1/extract.html
- キーフレーズ抽出API の紹介 (Yahoo! JAPAN Tech Blog)
http://techblog.yahoo.co.jp/web/_api/api_6/
§
Yahoo! キーフレーズAPIを使って YeNikki を改造しました。
YeNikki (http://yapi.ta2o.net/yenikki/) は、
Yahoo! JAPAN API を利用した自動絵日記システムで、
2005年12月1日に公開したネタサイトです。
テキストが入力されると、
その中から重要そうな単語(名詞)を取り出し、
それら検索キーとして画像検索APIに投げて画像を取って来て、
それらの画像を表示するという「自動絵日記」的なサイトです。
もう少し具体的に仕組みを解説します:
(1) 入力されたテキストをサーバ側で動いている形態素解析システム茶筌(ChaSen)で解析し名詞だけ取り出します。
(2) 事前に調べておいた25万語ほどの単語についてDF値を使い、1で得られたそれぞれの名詞についてのTF-IDF値を得て、その値により重要単語を選び出します。
(3) あとは、その単語で画像検索&Ajaxでの表示を行います。
で、キーフレーズ抽出APIを使うと、
前述の(1)と(2)の処理が、
URLを1回叩くだけで済んでしまうのです!
素晴らしい!
さらに、得られるのは単語ではなくフレーズなのです。
例えば「東京都内」は形態素解析すると「東京」と「都内」に分割されてしまうのですが、キーフレーズ抽出APIだと複合名詞やらいろいろな処理をしてくれるので、「東京都内」という塊で取り出してくれるのです。
YeNikki みたいなサービスにはうってつけです。
素晴らしい!
コードの一部を載せておきます。
Perlを使ったAPI呼び出し関数とその結果の利用部分(サンプル)です。
appid は自分で取得したものをご利用ください。# INPUT: my $sentence = "東北新幹線で七夕祭りに!"; # OUTPUT: 東北新幹線 (100), 七夕祭り (97) my $r_ref = yapikp({sentence => $sentence}); foreach my $ri (@$r_ref) { my $k = $ri->{Keyphrase}; my $s = $ri->{Score}; print "$k ($s)\n"; } ... sub yapikp { my ($args_ref) = @_; my $s = URI::Escape::uri_escape($args_ref->{sentence}) || ""; return [] unless $s; my $url = "http://jlp.yahooapis.jp/KeyphraseService/V1/extract?" ."appid=YahooDemo&sentence=$s"; my $response = get($url); return [] unless $response; my $xmlsimple = XML::Simple->new(ForceArray => [ 'Result' ]); my $xml = $xmlsimple->XMLin($response); return [] unless $xml->{Result}; return $xml->{Result}; }
(http://e.developer.yahoo.co.jp/webservices/register_application)