tokyowebmining5 yokkuns

Post on 02-Aug-2015

2.122 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

はじめてでもわかる Yahoo! Web API 入門

@yokkuns: 里 洋平第 5 回 データマイニング +WEB 勉強会@

東京2010/06/20

AGENDA

自己紹介Web API とはデータ構造Yahoo! の API の紹介

検索テキスト解析

宣伝まとめ

自己紹介

id : yokkuns名前 : 里 洋平所属 : tkul 、 Tokyo.R 、数式ニヤニヤ勉強会確率統計とかデータマイニング、機械学習

など勉強中です。プログラミング言語は、 C/C++/Perl/Ruby/PH

P/R/JS/Java とかやってます。 @kakeibot の開発者で Tokyo.R の主催者。 最近、 Android アプリにも手を出し始めまし

Web API とは

Web API とは

Web API とはWeb API の分類

Web API とは

自分以外の誰かが作ったデータやプログラムを自分のコンテンツの中で使うための技術

複数の API を連携させて独自の価値を持つコンテンツを作ることはマッシュアップと呼ばれてる

Web API の分類

検索系 API変換系 API認証系 API表現系 API

検索系 API

最も典型的な APIあるキーワードに関するデータを取得

Amazon 商品検索Yahoo! ウェブ検索

変換系 API

データを別の形式に変換する API漢字変換翻訳日本語解析郵便番号を住所に

認証系

自分のコンテンツに他のサービスのアカウントでアクセス制限を加えることが出来るAPIOpenIDOAuth

表現系

情報を表現・操作するための部品をコンテンツに埋め込むことが出来る APIYouTubeニコニコ動画slideshare

JavaScript プログラムや、 Flash ファイルをHTML から呼び出す

データ構造

データ構造

XMLJSONPHPSerialize

データ構造

XMLJSONPHPSerialize

XML

コンピュータ間のデータのやり取りにおいて古くから使われてきたデータ構造

シンプルで厳密な文法を持っているため、コンピュータで処理しやすい

タグ名やタグの構造を自由に定義出来るので人間にも理解しやすい

XML 文書の構造

<?xml version=“1.0” encoding=“UTF-8”?><!DOCTYPE ItemList SYSTEM “good.dtd”><ItemList> <Item code=“0001”> <name> 液晶テレビ </name> <price>250000</price> </Item> <Item code=“0002”> <name> プラズマテレビ </name> <price>500000</price> </Item></ItemList>

XML 文書の構造

<?xml version=“1.0” encoding=“UTF-8”?><!DOCTYPE ItemList SYSTEM “good.dtd”><ItemList> <Item code=“0001”> <name> 液晶テレビ </name> <price>250000</price> </Item> <Item code=“0002”> <name> プラズマテレビ </name> <price>500000</price> </Item></ItemList>

XML 宣言

XML 文書の構造

<?xml version=“1.0” encoding=“UTF-8”?><!DOCTYPE ItemList SYSTEM “good.dtd”><ItemList> <Item code=“0001”> <name> 液晶テレビ </name> <price>250000</price> </Item> <Item code=“0002”> <name> プラズマテレビ </name> <price>500000</price> </Item></ItemList>

XML 宣言DTD

XML 文書の構造

<?xml version=“1.0” encoding=“UTF-8”?><!DOCTYPE ItemList SYSTEM “good.dtd”><ItemList> <Item code=“0001”> <name> 液晶テレビ </name> <price>250000</price> </Item> <Item code=“0002”> <name> プラズマテレビ </name> <price>500000</price> </Item></ItemList>

XML 宣言DTD

XMLインスタンス

データ構造

XMLJSONPHPSerialize

JSON

JavaScript のオブジェクトを記述する文法と同じ書式

Ajax と XML は相性が悪いので、 XML に代わる軽量な形式として提案されたJavaScript で XML を扱うのは計算量、コーディ

ング作業ともに面倒Ajax によく使われる

JavaScript での利用方法は、 eval 関数を使うだけなので簡単

JSON の構造

{ “Book” : { “Title” : “Web API マッシュアップブック” , “Author” : [“ 関正秀” , “ まえだひさこ” , “ 加藤貴之” ], “Form” : { “size” : “B5”, “page” : 328, }, “isOut” : false }}

データ構造

XMLJSONPHPSerialize

PHP Serialize

PHP の値をテキスト表現したものPHP では、 unserialize() 関数使うだけPHP で開発しているなら、便利!

PHP Serialize の構造a:1:{ s:4:"Book";a:4:{ s:5:"Title";s:38:"Web API マッシュアップブック "; s:6:"Author";a:3:{ i:0;s:9:" 関正秀 "; i:1;s:18:" まえだひさこ "; i:2;s:12:" 加藤貴之 "; } s:4:"Form";a:2:{ s:4:"size";s:2:"B5"; s:4:"page";i:328; } s:5:"isOut";b:0; } }

Yahoo! デベロッパネットワーク

Yahoo! Web API を使うには

Yahoo! の API を使用するには、アプリケーション ID が必要

Yahoo! デベロッパネットワークにいって、登録(無料)するだけ

Yahoo! Web API を使うには

Yahoo! の API を使用するには、アプリケーション ID が必要

Yahoo! デベロッパネットワークにいって、登録(無料)するだけ

簡単!

登録までの流れ

登録までの流れ

ヤフーのサービス名 + !

Yahoo! の API 一覧

検索

Yahoo! の検索系の API

ウェブ検索画像検索動画検索関連検索ワードブログ検索

ウェブ検索

ウェブ上に公開されているページを検索する機能を提供する API

リクエスト URL : http://search.yahooapis.jp/WebSearchService/V1/webSearch

制限24 時間中 1 つのアプリケーション ID につき

50000 件

ウェブ検索

必須パラメータappidquery

リクエスト例http://search.yahooapis.jp/WebSearchService/V1/web

Search?appid= <appid>&query=tokyowebmining

レスポンス例

画像検索

画像検索 Web API は、ウェブ上に公開されている画像を検索する機能を提供する API

リクエスト URLhttp://search.yahooapis.jp/ImageSearchService/V1/

imageSearch

制限24 時間中 1 つのアプリケーション ID につき

50000 件

画像検索

必須パラメータappidquery

リクエスト例http://search.yahooapis.jp/ImageSearchService/V1/im

ageSearch?appid=<appid>&query=panda

レスポンス例

動画検索

動画検索 Web API は、ウェブ上に公開されている動画を検索する機能を提供 する API

リクエスト URLhttp://search.yahooapis.jp/VideoSearchService/V1/

videoSearch

制限24 時間中 1 つのアプリケーション ID につき

50000 件

Yahoo! 動画検索 API

必須パラメータappidquery

リクエスト例http://search.yahooapis.jp/VideoSearchService/V1/vid

eoSearch?appid=<appid>&query=panda

レスポンス例

関連検索ワード

実際に Yahoo! 検索で使用されたキーワード情報をもとに、指定されたキーワードとよく組み合わせて検索されるキーワード情報などを抽出する機能を提供 API

リクエスト URLhttp://search.yahooapis.jp/AssistSearchService/V1/

webunitSearch

制限24 時間中 1 つのアプリケーション ID につき

50000 件

関連検索ワード

必須パラメータappidquery

リクエスト例http://search.yahooapis.jp/AssistSearchService/V1/we

bunitSearch?appid=<appid>&query=yahoo

レスポンス例

ブログ検索

ウェブ上に公開されているブログを検索する機能を提供する API

リクエスト URLhttp://search.yahooapis.jp/BlogSearchService/V1/

blogSearch

制限24 時間中 1 つのアプリケーション ID につき

50000 件

ブログ検索

必須パラメータappidquery

レスポンス選択output

xmlphpjson

リクエスト例

レスポンス例

テキスト解析

Yahoo! の変換系の API

テキスト解析日本語形態素解析キーフレーズ抽出日本語係り受け解析

日本語形態素解析

日本語文を形態素に分割し、品詞、読みがなの付与、統計情報を取得できる機能を提供する API

リクエスト URLhttp://jlp.yahooapis.jp/MAService/V1/parse

制限24 時間以内で 1 つのアプリケーション ID につ

き 50000 件1 リクエストの最大サイズが 100KB

日本語形態素解析

必須パラメータappidsentence

リクエスト例http://jlp.yahooapis.jp/MAService/V1/parse?appid=<a

ppid>&sentence= 庭には二羽ニワトリがいる

レスポンス例

キーフレーズ抽出

日本語文を解析し、特徴的な表現(キーフレーズ)を抽出 する API

リクエスト URLhttp://jlp.yahooapis.jp/KeyphraseService/V1/extract

制限24 時間以内で 1 つのアプリケーション ID につき

50000 件 1 リクエストの最大サイズを 100KB

キーフレーズ抽出必須パラメータ

appidsentence

レスポンス形式選択xmljsonphp

リクエスト例http://jlp.yahooapis.jp/KeyphraseService/V1/extract?a

ppid=y-project&sentence= 東京ミッドタウンから国立新美術館まで歩いて 5 分で着きます。

レスポンス例

係り受け解析 API

日本語文の係り受け関係を解析する機能を提供する API

リクエスト URLhttp://jlp.yahooapis.jp/DAService/V1/parse

制限24 時間以内で 1 つのアプリケーション ID につき

50000 件1 リクエストの最大サイズを 4KB

日本語係り受け解析

必須パラメータappidsentense

リクエスト例http://jlp.yahooapis.jp/DAService/V1/parse?appid=<a

ppid>&sentence= 庭には二羽ニワトリがいる

レスポンス例

利用例

自己紹介

id : yokkuns名前 : 里 洋平所属 : tkul 、 Tokyo.R 、数式ニヤニヤ勉強会確率統計とかデータマイニング、機械学習

など勉強中です。プログラミング言語は、 C/C++/Perl/Ruby/PH

P/R/JS/Java とかやってます。 @kakeibot の開発者で Tokyo.R の主催者。 最近、 Android アプリにも手を出し始めまし

kakeibot の紹介

Twitter の bot支出をリプライすると、自動で分類して記

録するYahoo! のウェブ検索 API とキーフレーズ AP

I を使ってる

Kakeibot の機能

@kakeibot 食費 670 円

Kakeibot の機能

@kakeibot 食費 670 円

Kakeibot の機能

@kakeibot 食費 670 円

Kakeibot の機能

@kakeibot 弁当 500 円

Kakeibot の機能

@kakeibot 弁当 500 円

Kakeibot の機能

@kakeibot アナログの目覚まし時計を買ったら 500 円だった

Kakeibot の機能

@kakeibot アナログの目覚まし時計を買ったら 500 円だった

利用例 - kakeibot

学習分類

利用例 - kakeibot

学習分類

kakeibot – 学習

サンプル

kakeibot – 学習

サンプル

Web API

ウェブ検索 APIで検索

kakeibot – 学習

サンプル

Web API

検索結果

kakeibot – 学習

サンプル

Web API

検索結果をキーフレーズ API に

kakeibot – 学習

サンプル

Web API

特徴的な表現(キーフレーズ)

kakeibot – 学習

サンプル

Web API

辞書学習データ

利用例 - kakeibot

学習分類

kakeibot – 分類

入力 Web API

辞書学習データ

kakeibot – 分類

入力 Web API

辞書学習データ

辞書を検索

kakeibot – 分類

入力 Web API

辞書学習データ

DB に登録

入力されたものが、既に辞書にあった場合

kakeibot – 分類

入力 Web API

辞書学習データ

結果

入力されたものが、既に辞書にあった場合

kakeibot – 分類

入力 Web API

辞書学習データ

入力されたものが、辞書に無かった場合

ウェブ検索 APIで検索

kakeibot – 分類

入力 Web API

辞書学習データ

入力されたものが、辞書に無かった場合

検索結果

kakeibot – 分類

入力 Web API

辞書学習データ

入力されたものが、辞書に無かった場合

キーフレーズ APIに投げる

kakeibot – 分類

入力 Web API

辞書学習データ

入力されたものが、辞書に無かった場合

特徴的な表現(キーフレーズ)

kakeibot – 分類

入力 Web API

辞書学習データ

入力されたものが、辞書に無かった場合

類似度計算

kakeibot – 分類

入力 Web API

辞書学習データ

入力されたものが、辞書に無かった場合

DB に登録

kakeibot – 分類

入力 Web API

辞書学習データ

入力されたものが、辞書に無かった場合

結果

宣伝

R 勉強会 @ 東京( Tokyo.R#06 )

http://atnd.org/events/5441

R 勉強会 @ 東京 #07 以降

発表者募集中です!

数式ニヤニヤ勉強会

7/28 ~ 7/3 のどこかで開催予定!

ライブ告知

8/14 (土)にライブ出ることになりました!

ご清聴ありがとうございました

参考文献

Web API実践リファレンスブック

top related