感情解析AI技術の舞台裏:感情のデータ化(第二回)

こんにちは。株式会社シーエーシーEmpath事業推進室の西田です。

 私たちが保有する音声感情解析エンジンEmpathは、音声等の物理的な特徴量から気分の状態を独自のアルゴリズムで判定するプログラムです。数万人の音声データベースを元に喜怒哀楽や気分の浮き沈みを判定します。

 こちらの記事は、音声解析AIによって音声から感情を自動で判定できるようにするためには、具体的にどのようなデータをどのように作成すればよいのかについてご紹介するシリーズです。第2回目の今回は、感情のデータ化において最も重要な「アノテーション」という作業についてお話します。

感情のラベルとアノテーション

 前回ご紹介したようなEkmanやPlutchikの基本感情の理論を参照することに決めたなら、次に基本感情を捉えることのできる尺度を作り、機械学習データを作るために、その尺度で「アノテーション」という作業を行う必要があります。そして、これこそがデータ作りの肝心な部分です。

 では、Ekmanの基本感情である怒り、恐怖、驚き、悲しみ、嫌悪、幸せを例にとってみましょう。これらの6つの感情と音声の関係についてのデータを作るためには、まず何をしたらよいのでしょうか。

 単純化してご説明すると、音声データ一つひとつに対して「この音声は『怒り』に聴こえる」「この音声は『恐怖』に聴こえる」というように、「感情のラベル」をつける作業を行います。この作業を行う人をアノテーター、この作業のことをアノテーションと呼んでいます。英単語annotateとは「注釈をつける」という意味であるため、音声に付与される感情を「感情のラベル」と呼ぶことが多い、というわけです。

 さて、ここで読者のみなさん一人ひとりに質問させてください。あなたは、どのような声で怒り、恐怖、驚き、悲しみ、嫌悪、幸せを表現しますか。あなたが怒りを感じているときの声と、嫌悪を感じているときの声は、どのように違いますか。怒りと悲しみを両方感じているとき、どのような声でその気持ちを表現しますか。また、そういった感情を、あなたの目の前の人ならどのような声で表現するでしょうか。それは、あなたと全く同じだと思いますか。それともあなたの感情の表現の仕方と、あなた以外の人の表現の仕方は異なっていますか。異なっているとしたら、どのくらい、どのように異なっていますか。

 このようなことを考えると、感情を声から判断するということは、そう簡単な作業ではないんだということがわかりますね。なぜなら、何の感情をどのような声で表現するかということは、もちろん人によって異なりますし、ある個人のなかでさえも、時間や場所によって異なるだろうからです(家族に対して怒りを表現する場合と、出会って日が浅い人に向けて怒りを表現する場合は、異なる表現になりそうです。それに、子どもの頃の怒りの表現と、成人し成熟したあとの怒りの表現もまた異なるでしょう)。さらには、声に含まれる感情を知ろうとするとき、自分自身の声と感情から考える場合と、自分以外の人の声と感情から考える場合とでは、少し違った考え方になるのも明らかですね。

 なぜ、声から感情を判定することは難しいのか。それは、声も感情も、目に見えないものであるから、という理由が最たるものであると思います。2つのものを関連させたデータを作りたいとき、どちらも目に見えるものなら、せめてどちらか一方が目に見えるものであるなら、もっと話は単純です。例えば、発汗の程度と心拍数は、どちらも計測数値という信頼できる指標によって目で見ることができるので、人が手に汗握るとき、心拍数も上昇する傾向があるという関係性を見出すことは容易でしょう。あるいは、感情という目に見えないものでも、表情との関連についてなら、まだ話は簡単です。表情は目に見えるので、私から見たAさんの表情も、Bさんから見たAさんの表情も、口角の上がり具合や目の開き具合についての指標をあらかじめ共有しておけば、感情と表情の関連についての合意はとれやすいはずです。一枚の表情の写真からその人の感情を判断するときに重視する点は人によって微妙に異なるとしても、表情に対して感情ラベルをつける場合は、おおよそのところは合意できるのではないでしょうか。

 一方で声についてはどうでしょうか。声の大きさ、抑揚、話すスピードなどは、非常に大雑把な指標(大きい・小さい、速い・遅い)を使ってなら、判断を他人と共有することができます。しかし、実際の声には私たちがストレートに認識できる範囲以上の情報が含まれています。あえてそれらを可視化すると、音声波形やスペクトログラムによって表現されることになるのですが、これらを見たとしても、「波形のこの部分が怒りで、この部分が悲しみだ」などとすぐに言えるようになるには、相当な長い時間ずっと波形データと向き合う必要があります。また、各感情がとる典型的な波形を知っていたとしても、私たちが扱う音声は、一つの発話が長くて数秒になることもありますし、一つの発話内で感情が微細に変化する場合もありますので、波形のパターンを覚えきってからアノテーションをするという道はかなり険しいといえるでしょう。

 さらに厄介なのは、音声には言語という情報が含まれており、音の聴こえかたと言語内容が食い違ったりずれていたりする場合がかなり多いことです。たとえば、「私は怒りを感じます」と発話された音声がいかにも悲しんでいそうな声だった場合、この音声には聴こえたとおり悲しみのラベルをつけるべきでしょうか。それとも発話者自身が怒りを感じると言っているのだから怒りのラベルをつけるべきでしょうか。私がアノテーションの設計者だとすれば、この音声には悲しみのラベルをつけますが、そうしてしまうと、(発話者が正直に自分の気持ちを報告しているという前提のうえでですが、)「怒りを感じるときに悲しんでいるような声を出す人がいる」という現実を削ぎ落としてしまうことになります。このような現実の切り取りが許容できるものであるかどうかは、そもそも感情解析によって何を実現したいのか、というアノテーション作業以前の設計思想に関わる問いになりますね。

 さて、今回は音声から感情を分析するということがいかに複雑で難しいことなのかについてご説明しました。機械学習のためのデータ作りにおいて、感情のアノテーションという作業は非常に難しく、しかし最も重要なものであることがお分かりいただけたかと思います。次回はこの難しさに私たちがどう立ち向かっているのかについてお話します。

弊社が開発する音声感情解析AI Empathの詳細についてはこちらから↓
音声感情解析AI Empath (webempath.com)

DMでも情報発信しております。
DMの配信登録はこちらから

記事に関するお問い合わせはこちらから↓

株式会社シーエーシー
Empath事業推進室
mail:empath_info@cac.co.jp