APIでWebサイトを比較するみなさんこんにちは。エンジニアの佐藤です。APIの活用について書かせていただきたいと思います。チャットボットが電話をかけて音声で美容室を予約するデモがあり、先進的事例として話題になりました。なると「この種の単純作業はAIに置き換わり、失業が社会問題になるのではないか。」という不安が募ります。筆者の知っている範囲では、コンピュータの認識能力の柔軟性は、未だ人間には遠く及ばないと思います。現時点で既に人間が追い越されている特性もあると思います。スピードと評価の安定性です。24時間休みなく多数の画像判断を完全に一定の基準で実行することは、人間にはできません。コンピュータは十八番です。筆者が選んだのは、大手リテールサイトのR社とA社です。どちらもホームページには100枚以上の商品などの画像があり、商品ジャンルも多岐にわたっています。比較しようにも、評価観点が定まりそうにありません。APIでラベル検出させてみます。APIでラベル検出させます。結果はすべてPostgresqlに保存し、SQL言語でクエリして評価します。そのレスポンスは以下のように、「何が」「どのくらい確からしく」写っていたのかを答えてくれるというものです。...この通りレスポンスには複数のラベルが返され、色や形状など、様々な観点が含まれています。(やはり単発では、コンピュータは人間にはかなわないのです。)なお、ラベル検出を行う場合は、追加料金を払うことなく「セーフサーチ」チェックも仕掛けることができます。これはアダルト画像などを検出するもので、上記の卓上クリップ扇風機の写真の場合は、以下のような結果になります。"VERY_UNLIKELY"}セーフサーチについては、以下のサイトに仕様が書かれています。一応計数してみましょう。661661種類、4917個ものラベル検出があったわけですが、この結果をどうやって取りまとめたものでしょうか?一番単純な方法は、「ラベルごとにスコアを加算する」やり方です。これをサイト画像全体について集計すると、どんな画像が多いのかを摑むことができそうです。以下のような結果になりました。rows)結果は両サイトでよく似ています。両サイトともリテールサイトですから、「product」や「brand」が上位に来るのは当然です。画像の中には商品画像だけでなく、Webサイト自身のフレームやアイコンも多量に含まれている他、商品写真にも文字が埋め込まれているものが多数あります。このため「font」「text」「line」や色名も共通で上位に入っています。傾向を指摘するとすれば、R社の「logo」と、A社の「technology」です。R社のサイトが企画サイトへのポータルサイトの機能を重視したデザインになっているのに対し、A社のサイトは家電の写真が大写しになっていました。このような大雑把なやり方でも、少しは両サイトの傾向の違いが出ていると言えるのではないでしょうか。言え、もう少しなんとかならないでしょうか。次に思いついた方法は、サイトごと、各ラベルごとに1~100までの相対スコアを計算し、これを相互に比較する方法です。あるサイトで最も合計スコアの高いラベルには100を、最も合計スコアが低いラベルには0を設定します。ラベルごとに突き合わせれば、片方のサイトで扱いの小さい(または無い)ラベルが他方のサイトでは大きく取り上げられている、などの傾向がわかるかもしれません。この結果はなかなか興味深いものとなりました。91今度ははっきり以下の傾向が見て取れます。coloring確かにA社のサイトには、ミネラルウォーターとおもちゃが多いのです。両サイトとも衣料品がかなりのスペースを占めています。この時のR社サイトには食材販売企画の広告が多く、これが「recipe」と認識されたと考えられます。水とおもちゃ・家電重視のA社と、食品と美容重視のR社という傾向が、かなりはっきりと抽出されました。今回は大手リテール業者のトップサイトのため、セーフサーチで問題が指摘された画像はほとんどありませんでした。POSSIBLE」となった商品があり、それは「目元エステ家電」でした。商品紹介画像では女性が仰向けになって分厚いアイマスクのような商品を装着していたので、誤解されてしまったようです。この指摘、わからないでもありません。今回評価した画像の中ではこの画像以上に指摘されそうな画像はありませんでしたので、これはこれで正しい評価と言えます。APIは既成のモデルを使用しますので、ラベルの結果については受け入れるしかありません。使い方のノウハウが蓄積できれば実用になりそうだ、というのが筆者の感想です。既成AIサービスを効果的に使うには、それなりの経験を積む必要があるのかもしれません。最後までお読みいただき、ありがとうございました。17日目はsi...2018-07-14クラウドインスタンスでAndroid仮想デバイスを「ハードウェア仮想化付きで」動かすみなさんこんにちは。エンジニアの佐藤です。エンジニアの佐藤です。専門知識に合格しました月別アーカイブはてなブログをはじめよう!flect_techさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。