カテゴリー
ネットのサービス

NSFW画像検知APIの優劣比較

NSFW(Not safe for work = 職場閲覧不適)画像、わかりやすい言い方だとエロ画像ですが、画像を渡すとその画像がエロかどうか判定してくれる API というの、結構たくさんあるんですね。

なぜこの種のAPIに需要があるかというと、ユーザー投稿型のwebサービス運営において、広く見せられないような画像を投稿されることが運用の大きな障害となるからでしょうね。悪意のあるユーザーや考えなしのユーザーによって法に触れたりサービスのイメージが悪化するような画像を投稿され、さらにそのことがソーシャルメディアで喧伝されたりすれば、サイトの評判に関わります。

Facebook や twitter のような超大手なら、画像の判定もいくらでも内製できるでしょうが、そうでない小さなサービスでは、多少お金を払ってでも簡易に判定を外部に任せたいところでしょう。

…と、書いていたら、Tumblr が(おそらく Apple に iPhone アプリを禁止された影響で)アダルトな投稿を禁じるという方針転換を発表し、同時に開始したアダルト画像のフィルタリングの誤判定がひどいらしいので、NSFW 判定は多数のエンジニアを抱える大手でも難しい分野なのでしょう。

そんな画像検知のAPI を、Aditya Ananthram さんが、API の検出精度を実験したり、価格を比較したりしてくれています。

調査対象のAPIはなんと11個。このまとまったリストだけでも、取っ掛かりとしてはありがたいですね。

また、セーフ/アウトのアウトの種類もいろいろあるようで、API によっても分類は異なりそうですが、以下のようなカテゴリ分けで判定を試みています。

  • Explicit Nudity (露骨なヌード)
  • Suggestive Nudity (思わせぶりなヌード – 隠すところは隠しているが… みたいなやつ)
  • Porn/sexual act (ポルノ/性行為)
  • Simulated/Animated porn (CGやアニメのポルノ)
  • Gore/Violence (流血/暴力)
  • Safe for Work (職場で問題ない)

実験するにあたって、当然、本物の NSFW 画像が必要となります。ブログ記事自体は必要なところはボカシが入っていて、SFW(safe for work = 職場安全)ですけど、中にGoogle Documents へのリンクがあり、リンク先には今回使用された、正しく分類されたデータが入っています。追試とかしたい方は注意してください。

カテゴリごとに強いAPIはありますが、Google のものがおおむね良い成績を上げたそうで、さすがというところでしょうか。また、Gore/Violence や Safe for Work というカテゴリはどのAPIでも判定は難しいようで、各APIでも誤判定が多かったそうです。このへんは元のテストデータにしても正解かどうか意見がわかれそうですし、「職場で問題ないかどうか」なんて普遍的にわかるものでもないですからね。

擬陽性・偽陰性の多寡を並べたグラフ(Overall Comparison セクション内)や、呼び出し回数に対する価格(Pricing セクション内)などもまとめられているのでこれらを併せて比較することで、予算と精度からどのAPIを調べてみるといいかの手がかりが得られそうです。

カテゴリー
データ

米Yahoo!の株価/為替APIが停止

アメリカの株価や各通貨の交換レートが取得できる、米Yahoo! の finance API が、エラーを返すようになっていました。どうやら 2017-10-31 からこの状態になっているようです。

止まったのは REST API と、CSV によるダウンロードの両方。こういうエラーメッセージが帰ってきます。

このサービスは利用規約に違反して使われていたことにわたしたちは気づきました。そのため、サービスは終了しました。今後の市況や株価データのリサーチには finance.yahoo.com をお使いください

It has come to our attention that this service is being used in violation of the Yahoo Terms of Service. As such, the service is being discontinued. For all future markets and equities data research, please refer to finance.yahoo.com.

株価や為替のデータが無料で参照できる API として、オープンソースのツールなどもこの API を多く使っていたため、遮断から後で動かなくなったサイトや、困っているエンドユーザーが多いようです。Github で CSV ダウンロードのURLを検索すると、2万件以上ヒットしました。

ニュースサイトでも、「Yahoo のAPIが返事しないので…」というエラーを出してるところがありました。こんな感じで、API を使って表示しているサイトでエラーやデータ無しの状況が広がっていそうです。

米Yahoo のユーザーサポートページでは、APIの復活を望むコメントが寄せられ、それへの投票が呼びかけられています。

リアルタイム性の高い株価データは、高価な元データをYahoo! が購入し、それを無料で10年以上も配っていたわけで、メディアとしてAOLと統合された Yahoo! には維持が難しかったのかもしれません。

予告なしに突然止まったことに憤る人も多いですが、ビジネスとして仕方が無かったのかもしれません。

代替

reddit や Hacker News でいくつか替わりに使えそうな、無料あるいは無料枠のあるサービスやAPIが紹介されています。

株価に関しては、

為替に関しては、

などの名前が上がっています。呼び出し回数の上限があったり、数分前のデータだったりと、無料なだけにいろいろ制約があるかもしれません。まあ、それほど重要な使い方をしているなら、有料のAPIを購読しなさいということですね。

# 本当に取れるかは確認してません

カテゴリー
データ

イギリス中の自転車事故などを地図上で一望できるwebサービス

Bikedata は、イギリスにおける自転車に関するデータを地図上にプロットした、インタラクティブな情報地図です。

この画面では、道路のどの場所で自転車事故が発生したことがあるか、が、ピンクのマーカーで示されています。

通勤やツーリングの計画を立てる時に、事故が頻発するところを知って避ける、といった使い方もできるでしょうね。スマートフォンアプリなどで、事故の多い場所に近づいたら注意をうながす、みたいなものを作ったりもできるかもしれません。

サイトでは、事故の他にも、交通量、自転車の盗難、駐輪場、サイクルレーンの写真、など、様々な自転車に関するデータを表示することができます。

さらに、このサイトのソースはGPLv3 で公開されています。

元データは国によるもの

イギリス政府のデータ公開サイトに、道路の安全データ(Rode Safety Data)というのがあり、ここではSTATS19 という書類で報告された2005年から2014年までの事故のデータが公開されているようです。

100Mぐらいあるデータを見てみたら、こんな感じで緯度経度や日時、事故の状況を表すフラグを持つレコードが大量にあるCSVファイルでした。

こういったデータが公にされているのはいいですね。このデータを API 化して自転車事故について Cyclestreets.net が提供し、それを Google Maps APIなどを使って可視化したのが今回のサービス、ということになります。

via Maps Mania