卒研メモ: Google Cloud Vision API

 情報セミナー2の自由制作のテーマとして,Google Cloud Vision APIを使った画像認識ツールの製作を行ってくれたのがK君です。基本有料ですが,1,000回/月までは無料で使えるとのこと。

 東海道五十三次の袋井宿の画像を解析してみると,「水辺」「旅行」「木」「空」「イラスト」「アート」等の単語が出てきます。残念ながら地名までは特定できていませんが,画像認識ツールとしては相当優秀ですね。

 結果はJSON形式で取得できるので,無料で使える範囲で他のサービスとの組み合わせができると面白そうです。

卒研メモ:openBD Search API実装

 毎年この時期は3年生の情報セミナー2の時間を利用して好きなものを作るようにしています。本年度は懸案だったopenBDの検索用API(openBD Search API)の実装を行ってみました。処理の流れを図示したものが下記になります。

 ⓪~⑥までの処理内容を書き出してみます。

⓪ openBD.jpから全書誌情報をダウンロードします。こちらのPythonスクリプトを土台として,MySQLに書誌情報を突っ込むように改良しました(Thanks Aくん)。
① ユーザからの検索要求を受け付けるWebフォームは,API gatewayにPOST(GETでもいいはず)できる仕様であれば言語は問いません。サンプルとして,JavaScriptからXMLHttpRequest関数を使って実装してみました。
② API gatewayに検索情報をPOSTします。この際,Webフォームを設置してあるサーバのドメイン向けに発行したAPIキーも一緒に送付する必要があります。
③ API gatewayでは,受診したAPIキーをRefererと合わせて認証し,通った場合のみ検索を実行します。
④ MySQLサーバで検索され,マッチしたデータはAPI gatewayに送られます。
⑤ 検索データをJSON形式に加工してWebサーバに送付します。
⑥ JSONデータをどのように表示するかはWebサーバ側で決めます。

 検索結果をJSON形式にした理由は,元々のopenBDの書誌情報がJSONで記述されているからです。今のところ混ぜて使う予定はありませんが,「検索機能付きopenbd.jpもどき」のようなものを作る際には楽になるかと。

 ちょっとトラブったのは,XMLHttpRequest関数が,デフォルトでは別ドメインへのアクセスを許容していないという仕様の問題。API gateway側で”Access-Control-Allow-Origin: アクセス許可ドメイン”をHTTPヘッダに追記すればよいとのことなので,JSON検索結果を返す直前に発行するようにしました。これで別ドメインからのアクセスがAJAXで可能になりました(その分,セキュリティホールを増やしているとも言える)。

 その他,APIキー発行システムを作ったり,大本のPHPスクリプトがバレないようにApacheのエイリアスを設定したりして,何とか今風のWeb APIっぽく実装出来たハズです。外部公開も可能な状態ではありますが,サーバの付加やopenBDの今後を見ながら考えていくことにしたいところです。つか,これ単独だと大して面白くないんで,SNS APIを通じて世評と組み合わせられるような仕組みに使えればいいかなぁと夢想中。

2018年初挨拶

 明けましておめでとうございます。
 本年も,高性能計算研究室(幸谷研究室)をよろしくお願い致します。

 お隣の山も,とうとう姿を消しました。

 2017年初はまだこんもりした塊↓があっただけに,感慨深いですね。

 私物のau iPhoneの繋がりが良くなったり,電波時計が電波を見失ってぐるぐるする現象がなくなったのは,この山の消滅が関係しているのでしょうか。

 本年は本研究室から情報処理学会の全国大会に3件の報告を出すことになりました。昨年の夏に行った電気電子情報関係学会東海支部連合大会の報告に引き続いての学会発表です。Webプログラミングがらみでいろいろできるようになってきたのは喜ばしいことで,今後もこの方向であれこれやっていきたいと考えております。

 今後とも末永くお付き合い下さい。よろしくお願い致します。