Azure AIを用いた感情分析

はじめに

皆さんはAIの感情分析についてどのようなイメージを持っているでしょうか。ここではAzureのAIのサービスである感情分析について詳しく見ていきます。

Microsoft Azure Cognitive Servicesとは

Azureの公式サイトによるとCognitive Servicesは「人間の認知(Cognitive)機能の一部をWeb APIとして利用できるAIパーツ」となっています。これだけ聞くと何だか凄いような、複雑そうでよくわからないようなそんな印象を受けるのではないでしょうか。人間は物事やモノを認知するために見たり聞いたりしますよね?Cognitive Servicesも同じように音声、言語、視覚、Web検索、決定の5つのカテゴリで人間の機能に基づいたサービスを提供しています。5つのカテゴリではありますがカテゴリごとに提供されるサービスが異なり、全27種類のサービスが提供されています。次は各カテゴリでどのようなサービスが提供されているのか見ていきましょう。

音声

音声処理を主とし4種類のサービスを提供しています。例に2つご紹介します。

・Speech to Text

音声を認識しテキストに書き起こします。

・Text to Speech

テキストをリアルな音声に変換します。

言語

テキストから意味を取り出す、翻訳を主とし、5種類のサービスを提供しています。例に2つご紹介します。

・Language Understanding

自然な言語を認識しデバイスに組み込みます。

・Translator

60を超える言語のサポートを可能とし、翻訳します。

視覚

画像、ビデオの分析を主とし、6種類のサービスを提供しています。例に2つご紹介します。

・Face API

顔を認識し感情やポーズの分析をします。後述しますがFaceがこの記事のメインとなるサービスです。

・Video Indexer

音声、映像の分析をし、インデックスの設定もできます。

Web検索

Web上での検索を主とし、9種類のサービスを提供しています。例に2つご紹介します。

・Bing Autosuggest

ユーザーが検索したいワードを全て入力し切る前に予測で候補を挙げます。

・Bing News Search

ニュースを検索するリソースを作成します。

決定

問題が起こる前に分析、提示することを主とし、3つのサービスを提供しています。例に2つご紹介します。

・Anomaly Detecto

APIを介して時系列データを最適な状態に保つためのサポートをします。

・Content Moderator

ユーザーが不快に感じるコンテンツに制限をかけることができます。

Azure Cognitive Servicesまとめ

ここまで5つのジャンルがどのようなことをサポートしてくれるかざっくりまとめさせていただきました。便利な機能がたくさんありましたね。次は先ほどご紹介させていただいた記事のメイン「Face API」について詳しく見ていきたいと思います。

顔、感情分析ツール「Face API」とは

Face APIはAzure Cognitive Servicesの視覚カテゴリに該当するサービスで、画像データから年齢、性別、感情などの情報を取得できます。また人物の画像データをあらかじめ登録しておくことで肌の色や骨格、顔のパーツから個人の特定も可能です。顔の読み取りには「Face – Detect」、感情の読み取りには「returnFaceAttributes」パラメーター、個人の特定には「Face – Identify」を使用します。

顔、感情分析ツール「Face API」の利用方法

Face APIを利用するにはAzureアカウントを作成する必要があります。Azureへのログインが完了したらAzure portalからサービスのセットアップをします。キー(鍵)を取得しなければいけないので、デプロイが終わったらKeysの項目からキーを表示、取得してください。この時2つのキーが表示されますのでどちらかを控えます。実行の際にサンプルプログラムのsubscription keyという部分に先ほど控えたキーを置き換えて使用します。

画像を用いた分析方法

このサービスは初心者でも簡単に触れることができるようにAzure公式でソースコードを公開しています。Face APIクイックスタートからソースコードをコピへして上記のようにキーを置き換え、分析したい画像データ(URL)を入力すれば顔、感情の分析準備完了です。サンプルコードはJava、JavaScript、C#、PHP、Python、Rubyなど様々な言語をサポートしています。

ビデオを用いた分析方法

ビデオでの分析は残念ながら完璧にリアルタイムでというわけにはいきません。若干のタイムラグは発生してしまいます。「ビデオを分析」と言ってもフレームごとの画像をキャプチャし分析するので結局は画像の分析と仕組みは大体同じです。フレームごとの画像をキャプチャするツールは沢山ありますがWindowsならばフォトでもキャプチャすることができます。

分析できる感情

サンプルコードをそのままコピペしただけでも8つの感情を分析することができます。感情分析によって得られる感情は「怒り」、「軽蔑」、「嫌悪」、「恐れ」、「幸せ」、「通常」、「悲しみ」、「驚き」です。感情は0.0〜1.0の間の数値で表されます。他にも髭の有無やメガネの有無、アクセサリーの有無、化粧をしているかなどかなり細かいところまで分析できます。

終わりに

ここまでAzureの顔、感情分析について見てきましたがいかがだったでしょうか。AIなので自動で学習したりということもできますし、可能性は無限大です。もしAIの音声認識や視覚認識で人間の感情がわかるようになれば、言葉を話せない人や、感情を上手く表に出せない人の助けになります。感情のやりとりを機械を通して行うなんてまるでSFの世界のような話ですが近い未来そんな日が来るかもしれませんね。最後まで読んでいただきありがとうございました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

前の記事

Azureの利用料金の仕組み

次の記事

Azure VM費用について