話題の感情解析APIを使ってみる

MicrosoftのProject Oxfordで人の感情を解析するサービスを始めたようなので、使ってみます。


無料プランでは、1分あたり20回、1ヶ月あたり10000回まで利用できます。



Subscription-Keyの取得

APIを使用するには、Subscription-Keyが必要になります。
https://www.projectoxford.ai/emotion
のタイトル部分にある「Subscribe >」を押して、取得しましょう。
その際、マイクロソフトアカウントと、Project Oxfordがそれにアクセスして良いかの認証が必要となります。
アカウントにログイン(または新規作成)して、アクセスを承認すると、Subscription-Keyが取得できます。
PrimaryとSecondaryともらえますが、使うのは一つです。
メモしましょう。

使用方法

お手軽には、Web上にある写真をURL指定で解析してもらう、でしょうか。
Test Consoleがあるので、それを使うのがお手軽です。

  1. 上記ページの「Documentation」を押す
  2. Emotion APIs Documentation左メニューの「API Reference」を押す
  3. Emotion Recognitionの注意事項を読む(以下のような内容)
    1. 対応形式は、JPEG, PNG, GIF(the first frame), BMP
    2. サイズは、4MBまで
    3. 検出した顔の大きさは、36x36 〜 4096x4096 pixelsまで
    4. 1画像あたり64まで顔を検出する
  4. 「Open API Testing Console」を押す
    1. Request parametersのfaceRectanglesはオプションなので、ほっといてOK
    2. Content-Typeはそのまま「application/json
    3. Ocp-Apim-Subscription-Keyに、先ほど取得したキーを入れる
    4. Request bodyのurlの内容を、解析したい画像のURLに変更する
    5. 「Send」すると、、、結果が返ってくる


というわけで、HTTPリクエストが組み立てられるなら、PowerShellでも何でもOK。
写真をリクエストに入れる場合は、application/octet-streamでOKです。


人の顔色を伺うシステムができてしまいますね。
判定は、

怒り(Anger)
軽蔑(Contempt
嫌悪(Disgust)
恐怖(Fear)
幸福(Happiness)
無表情(Neutral)
悲しい(Sadness)
驚き(Surprise)

なんですけど、、、眠い、とかないのか、、、。
数値は1が最高っぽくて、指数表記のケースもあるので注意。