はじめてのAI
感情を読み取る人工知能「Emotion API」を20分で学んでみる
AIについて本気で学び始めて約1カ月。「AIってなぁに?」からはじまった私も、日本マイクロソフトテクニカルエバンジェリスト大田昌幸(おおたまさゆき)先生に手とり足とり教えてもらって、ついにAIが使えるようになりました。
最初に挑戦したのは、Microsoftが公開している「Face API」。これを使うと、写真から年齢と性別が認識できるようになります。しかも勉強時間は30分! これまで「へー」と見ていたものを、自分の手で作れるようになると楽しくなります。そんなわけで、一通りのAPIをいじってみたいと思います。
今回学ぶのは、同じくMicrosoftが公開している「Emotion API」です。Emotion APIは、顔を認識し感情を分析してくれるAPI。Emotion APIに画像を送ると、平常状態、怒り、軽蔑、嫌気、恐怖、幸福、悲しみ、驚きの8種類の感情を認識してくれます。
これらの感情は、文化が違っても普遍的に伝達される表情とされているようです。「Face API」同様、今回も「Emotion API」の「API Reference」を見ながら勉強していきます。
連載一覧
第1回:AIってなぁに?
第2回:Amazon、Google、IBM、Microsoftが公開する「AIを使うための手段」一覧
第3回:30分でAIが使えるようになる 写真から年齢と性別を認識する「Face API」を試してみた
第4回(今回):感情を読み取る人工知能「Emotion API」を20分で学んでみる
第5回(予定):「Face API」と「Emotion API」を使ってどんなことができるの? 取材してきた
前回と同じく、APIを試すのに「Postman」を使いたいと思います。「Postman? なにそれおいしいの?」という方は、前回の記事を参考にインストールしてみてください。
「Emotion API」を使ってみる
Face API同様、「Emotion API」の公式ページを見ると、「API Reference」と書かれたボタンがあります。これをクリックすると、APIを使うための仕様や操作方法などが書かれたページに行きます。ここに書かれているRequest URL、ヘッダー情報(Request headers)、ボディ情報(Request body)などをPostmanに入れていきます。
まず、「Request URL」の「https://westus.api.cognitive.microsoft.com/emotion/v1.0/recognize」を、PostmanのURL記入用の場所にコピー&ペーストします。POST MethodなのでPOSTを指定し、実行すると以下のような画面になります。
続いて、「Request headers」のリファレンスを見ます。「Ocp-Apim-Subscription-Key」は、APIにアクセスするためのサブスクリプションキーを作って入力してくださいという項目です。こちらのキーの作り方は前回の記事に細かく記載しているので、詳しい説明は省きますが(前回記事参照)、「Emotion - Preview」の項目のチェックボックスと利用規約にチェックを入れて「Subscribe」を押します。キーの一覧(「Key 1:XXXXXXXXXXXXXXXXXXXXXXXXXXX」など)が出てくるので、その隣にあるCopyをクリックします。。
キーを作ったら、PostmanのHeadersの「Ocp-Apim-Subscription-Key」と書かれている横の欄にペーストします。「Content-Type」には、送信するBodyのデータがJSON形式なので「application/json」と入れます。ここまでの操作をするとこんな画面になるはずです。
最後にPostmanの「Body」をクリックし、ラジオボタンで「raw」を選び、認識したい画像のURLをJSON形式で入れます。今回もおなじみの海苔をくわえた 水着写真 を使ってみます。
「Send」を押して成功すると(HTTPステータスコードがResponse 200の場合)、画像から認識された顔の位置情報と、それぞれの顔の“感情スコア”が数値として返ってきます。解析が失敗してしまうと、エラーコード「Response 400 Bad Request」(解析エラー)、「Response 401 Unauthorized」(認証が必要)、「Response 403 Forbidden」(アクセスの禁止)、「Response 429 Too Many Requests」(指定した時間内に多くのリクエストがあり解析不能)のいずれかが返ってきます。今回は"neutral"の数値が高い(95%)という結果が返ってきました。つまり、この水着写真の表情は「平常状態」ということになります。
[
{
"faceRectangle": {
"height": 148,
"left": 52,
"top": 93,
"width": 148
},
"scores": {
"anger": 0.000478341826,
"contempt": 0.00760934362,
"disgust": 0.000534534454,
"fear": 0.000138350166,
"happiness": 0.009713962,
"neutral": 0.9521246,
"sadness": 0.02834625,
"surprise": 0.00105463516
}
}
]
成功した場合このような数値が返ってきます
それぞれの数値は「確率」を表していて、開発者はこの数値を使って感情情報をサービスなどに組み込んでいます。例えば、「angerとsadnessがいずれも70%を超えていた場合、怒っていて悲しい」などです。このしきい値を「70%」にするのか「50%」にするのかという確率の部分は、開発者の判断にゆだねられています。
次回は、これまで勉強して使えるようになった「Face API」や「Emotion API」を使って監視カメラ録画サービスを提供しているアロバに取材に行きます。これらのAPIは実際の社会でどんなふうに利用されているのでしょうか……?
【次回予告】「Face API」「Emotion API」を使っている企業を取材!
(太田智美)
筆者プロフィール:太田智美
小学3年生より国立音楽大学附属小学校に編入。小・中・高とピアノを専攻し、大学では音楽学と音楽教育(教員免許取得)を専攻し卒業。その後、慶應義塾大学大学院メディアデザイン研究科に入学。人と人とのコミュニケーションで発生するイベントに対して偶然性の音楽を生成するアルゴリズム「おところりん」を生み出し修了した。
大学院を修了後、2011年にアイティメディアに入社。営業配属を経て、2012年より@IT統括部に所属し、技術者コミュニティ支援やイベント運営・記事執筆などに携わり、2014年4月から2016年3月までねとらぼ編集部に所属。2016年4月よりITmedia ニュースに配属。プライベートでは2014年11月から、ロボット「Pepper」と生活を共にし、ロボットパートナーとして活動している。2016年4月21日にヒトとロボットの音楽ユニット「mirai capsule」を結成。
教えてくれた先生:大田昌幸(おおたまさゆき)先生
スタートアップでのWeb開発経験を経て、2011年に日本マイクロソフトに入社。現在はソリューション開発企業向けのテクニカル エバンジェリストとして活動。東京工業大学や慶應義塾大学にて非常勤講師の経験も持つ。AzureなどのMicrosoft製品に加えて、社外の技術も加えた新規ソリューション開発を企業とともに企画・実現する活動に取り組んでいる。Twitterアカウントは@masota0517。
Copyright © ITmedia, Inc. All Rights Reserved.
はじめてのAI
AIの基礎的な知識から自分でAI技術を活用できるまで勉強していきます。
この記事の著者
こんなメディアも見られています
ITmedia NEWSに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
SpecialPR
本日の新着記事
アクセスランキング
-
1
陸自が「イオンモール熊本」内部をドローン撮影 防衛省が映像公開
-
2
熊本「通れた道」マップ、トヨタが公開 ホンダも「通行実績情報マップ」
-
3
「Xが情報収集に役立たない……」熊本地震で不満の声続出 「Twitterを返して」
-
4
PayPayアプリで熊本地震への寄付が可能に 最短3ステップ・1円から
-
5
葛西臨海水族園のクロマグロ大量死の原因は 「複数の要因が複合的に作用」
-
6
Anthropicのミュトス、暗号アルゴリズムの新たな攻撃法を発見――耐量子署名「HAWK」の強度を半減
-
7
TSMC熊本工場、段階的に通常操業へ 熊本の地震で一時中断、従業員の無事確認 台湾報道
-
8
熊本で非常時Wi-Fi「00000JAPAN」発動中 KDDIが無料開放、他社ユーザーも利用可
-
9
イオンモール熊本内部の様子も──自衛隊や警察庁、救助活動の動画・写真をSNSで積極発信
-
10
農水省の“クソダサ”ポスター話題 「AIよりよっぽど良い」の声も 担当者に狙いを聞いた
ITmedia NEWS SNS
インフォメーション
注目情報をチェック
ITmediaNEWSをフォロー
あなたにおすすめの記事PR