ITmedia ガジェット 過去記事一覧
検索
特集

声から感情がまる分かり!?――「ココロスキャン」の感情検出の仕組みとは

セガの「音声感情測定器ココロスキャン」では、人の声から感情を検出してその結果を表示してくれるという。この技術は、日本SGIとAGIが開発した「ST」という技術を使っているとか。「STってなに?」ということで、日本SGIにおじゃましてみた。

PC用表示 関連情報
advertisement

 セガが2007年夏に発売を予定している「音声感情測定器ココロスキャン」(以下、ココロスキャン)は、プレーヤーの発話音声に含まれる「喜び」、「怒り」、「がっかり(落胆)」、「平常心」、「興奮」といった5つの要素の度合いからココロの動きを認識し、誰でも手軽にココロの測定を行ったり、ココロの変化を利用したゲームを楽しむことができるという。ところで、人の声から感情を検出するというのは、いったいどのように実現しているのだろう。「ココロスキャン」に採用されている感情検出システム「感性制御技術 ST for ニンテンドーDS」の開発に携わった日本SGIにお邪魔して、その仕組みを伺ってきた。

声から人間の感情を読み取る

 日本SGIといえば、コンピュータグラフィックス、それも3Dグラフィックスを核としたプロ向けグラフィックワークステーションを送り出すメーカーというイメージだ。とはいえそれは日本SGIの過去の姿であり、現在はネットワークやセキュリティ、医学・科学・生物などの科学技術分野などさまざまな分野で活躍するシステム開発会社である。また最近ではロボットの分野にも積極的に取り組んでいることでも知られている。

 そんな日本SGIが、関連会社であるAGIとともに開発したのが、コンピュータに人の感情を理解させて反応させる「感性制御技術ST」だ。英語表記である「Sensibility Technology」の頭文字を取って「ST」とも呼ばれている。

 コンピュータに人の感情を理解させて反応させる、というフレーズからピンと来る人もいるかもしれないが、もともとSTはロボット向けの技術として開発されたものである。人間とロボットの関係をより深めるためには、ロボットがもっと人間のことを理解できるようにする必要がある。そのために、人間の感性(感情)を理解する仕組みが開始されたというわけだ。

画像 日本SGI 戦略事業推進本部 執行役員 本部長 大塚寛氏

 では、STではどのように人間の感情を理解しているのか。日本SGIの大塚寛氏は「通常、私たちは相手の声だけでなく、表情や身振りなど、さまざまな要素を組み合わせることによって、その時の相手の感情を読み取っているんです。それに対しSTでは、人間の声だけで感情を理解するようになってます」と語る。人間が発する声から、「喜び」、「怒り」、「哀しみ」、「平常」、「興奮」、「笑い」という6種類の感情を理解するという。

 本当に声だけで感情を理解できるのか、そう思う人も多いかもしれない。とはいえ、我々も声だけで相手の感情を読み取るということをよくやっている。例えば電話だ。電話でしゃべっている相手の声を聞いて、相手が怒っているのか、また喜んでいるのかが分かる、といった経験はないだろうか。付き合いの長い相手であれば、怒っている時や喜んでいる時の声のトーンがどう変化するのか記憶していて、そこから相手の感情を想像しているという場合もある。しかし、初めて電話で話す相手の感情も何となくだが伝わってくる。つまり我々人間は、声だけでも感情を読み取ることができている可能性が高い。

 そこで、感情と声との相関関係に仮説を立て、その仮説を元に開発されたのがSTなのである。また、実際にこの仮説を証明するために、国のプロジェクトとして感情(脳の状態)と声との相関関係についての研究も進められているそうだ。そして、完成されたSTをエンターテインメント用途に応用させるために開発されたのが、ココロスキャンに採用された「感性制御技術 ST for ニンテンドーDS」というわけである。

言葉を認識することなく感情を理解する

画像 日本SGI 戦略事業推進本部 ユーザーインターフェイス事業推進 テクニカルグループ マネージャー 森永久之氏

 では、STが声で感情を理解する仕組みはどうなっているのか。日本SGIの森永久之氏によると「実は、STが声から感情を理解する過程で、音声認識は全く行っていないんです。音声認識によって言葉の内容を理解し、そこから感情を認識しているのではなく、言葉を”音”として取り込み解析することによって感情を導き出しているんです」とのこと。

 まず、さまざまな感情の声のサンプルを多数用意する。次に、その声を大勢の被験者に聞いてもらい、全員が同じ感情を感じ取ったサンプルのみを抽出。そして、抽出したサンプルの声の抑揚の変化を時系列に見ることによって、感じ取った感情ごとに独自のパラメータを算出する。例えば、事前に被験者全員が怒った状態の声であると認識したサンプルを抽出し、そのサンプルから算出したパラメータを怒りのパラメータのサンプルとして分類する。算出するパラメータは、声の周波数や強さなどをもとに数十種類にも及ぶそうだ。

 この作業を、全6種類の感情ごとに数万種類という膨大な数のサンプルを用意して行い統計を取ることによって、感情ごとのパラメータのパターンが導き出される。あとは、統計で得られたパラメータのパターンと、実際に取り込んだ声から算出されたパラメータとを照らし合わせることによって、その声を発する人の感情を導き出す、というのが基本的な仕組みである。


画像 PC版のSTの実行画面。入力した音声を解析して、どういった感情でしゃべっているのかをグラフで表示する。同時に複数の感情が検出されているが、その中で最も強いものを結果として出力することになる

 ちなみにSTには、音声認識システムに用意されているような”辞書”に相当するものは実装されていない。事前に取った感情ごとのパラメータのパターンがロジック化されて実装されており、取り込んだ声から算出したパラメータをいちいちサンプルのパターンと比較することなく、ロジックを通すだけで答えが導き出されるようになっている。そのため、非常に軽量かつ高速に処理が行え、ニンテンドーDSのような比較的処理能力の低いゲーム機に応用しても、優れたパフォーマンスで感情を認識できるというわけだ。

 STが感情を読み取れる言語は、現時点では日本語だけとされている。これは、サンプルを取っている声のほとんどが日本語だから、ということだそうだ。もちろん、多国の声も多数のサンプルを取ることによって対応が聞くはずだ。実際に日本語以外の言語でテストを行ったところでは、比較的良好な結果が得られているそうである。

 ところで、STが感情を理解する精度は、人間が声だけを聞いて相手の感情を理解するのとほぼ同程度だそうだ。これは、ある声を大勢の人間が聞いて、その大多数が判断した感情とほぼ一致するような精度、ということだ。なぜ、精度に関してややあいまいな表現になっているのか。それは、人間でも聞く人によって判断する感情に違いが見られるからだそうだ。声を聞く人の主観によって、判断される感情が大きく左右される。ある人が怒っている状態でしゃべっていても、聞く人によっては、その人が怒っていない状態でしゃべっているように聞こえることもある。また、同じ人が同じ声を聞いた場合でも、聞く人の感情が異なれば違った聞こえ方になることもあるだろう。もちろんSTは常に同じ答えを導き出すはずだが、人間の認識があいまいである以上、精度を謳っても意味がない。そのため、STの精度もややあいまいな表現になっているわけだ。

感情を分析しているのではなく、あくまでも解析しているだけ

画像 人間は、言葉の意味だけでなく声の抑揚の変化からしゃべる人の感情を想像する能力を持つ。そこで、感情の違いで声が大きく影響を受けると仮説を立て、感情ごとに声のパターンを算出することで、声から感情を検出するというのがSTの基本原理だ

 本当に声だけで感情が分かるのか。そう思う人もいるかもしれない。そこは筆者も疑問を感じていた部分である。ただ実際には、STはしゃべっている人の実際の感情を分析して導き出しているのではないそうだ。STは、ある声を聞いた場合に、大多数の人が、その声の主がこういう感情でしゃべっているんだろうな、と思うものを解析によって示しているに過ぎないというのである。

 例えば、ある人が本当に怒っている状態でしゃべった声と、声優や俳優が平常心の状態で怒ったようにしゃべっている声を聞いた場合、おそらくほとんどの人が、どちらの声の主も「怒っている」と感じ取るはずだ。それと同じように、STでもどちらの声も「怒り」の感情であるという結果が導き出されるのである。つまり、声の主の本当の感情は平常心でありながら、怒っていると感じ取ることも十分起こり得るというわけだ。

 しかし、これで問題があるというわけではない。だいいち、人の心は科学的に定義できるようなものではない。科学的な定義が存在しない以上、本心というものを分析することは不可能。STはあくまでも、声がどういった感情に聞こえているのかを示すためのものであり、実際の本心は基本的には関係ないのである。

 ただ、アニメの声優の声やドラマの俳優の声などをSTに通してみると、例えば怒っている声でも“喜び”の感情が検出されることがあるそうだ。これは、声優や俳優が演技を行っている場合、その役に感情移入していると思うが、そのことが声優や俳優にとっては喜びの感情を感じている、つまり“悦に入っている”状態で発せられた声であることが要因かもしれない。とはいえ、なぜそういった現象が起こるのかはよく分からないそうだ。感情が科学的に定義できていない以上、この現象について説明することは不可能なのだろう。ただ、筆者の個人的な印象では、STが優れた感情認識能力を持つからこそ起こる非常に面白い現象であると感じた。

ニンテンドーDS版は本体の処理能力に合わせて最適化

 STは、もともとはWindowsまたはLinux上で動作するシステムとして開発されたものだ。それに対しニンテンドーDS版である「感性制御技術 ST for ニンテンドーDS」は、基本の設計思想はしっかり受け継ぎつつ、ニンテンドーDSに合わせたカスタマイズが施されているそうだ。

 まず、PCと比較してニンテンドーDSは処理能力が大きく落ちる。そこで、ニンテンドーDSの処理能力でもPC/Linux版と同等またはそれ以上の精度の結果が得られるように、ロジックや処理エンジンの最適化を施すとともに、サンプルとなる声も全く新しく取り直したそうだ。また、認識できる感情の種類は5種類だが、PC/Linux版で「哀しみ」という感情がDS版では「がっかり」という感情に変更されている。この「がっかり」とは、「哀しみ」から「泣く」感情を抜き取ったようなイメージのものだそうだ。これは、セガ側からの要望だったそうで、おそらくココロスキャンのゲーム内容に沿った変更と考えていいだろう。

 さらに、利用環境に合わせたチューニングも行われているそうだ。DSで遊ぶ場合、そこが静かな環境であるとは限らない。友達と一緒に遊んだり、テレビの付いているリビングで遊んだりと、さまざまな騒音のある環境で遊ぶことも十分に考えられる。そこで、周囲に騒音があるような環境でも、目的の声だけを取り出して処理できるようにしているそうだ。

画像 STは、ニンテンドーDS向けだけでなく、コールセンターでの感情モニタリングや空間演出など、すでにいろいろな用途に応用されている
画像 ST for ニンテンドーDSは、PC版の基本仕様を受け継ぎつつ、ニンテンドーDSの処理能力に合わせてエンジンのカスタマイズが施されている

 実際に「ココロスキャン」のテスト版をプレイさせてもらったが、認識力の高さはもちろん、その処理速度の速さには驚いた。ゲーム中では、画面で指示される言葉をテンポ良くしゃべっていくことになるのだが、そのテンポが乱されることなく、本当にスムーズにゲームが進んでいくのはとても気持ちがいい。ただ、静かな会議室で、全員に注目されている中でのプレイだったこともあって、緊張して自分を捨てきることができなかったのが悔やまれるところ。ココロスキャンは、自分を捨てて感情むき出しでプレイすることが、最大限楽しむためのポイントだ。実際にプレイするときには、ちょっとだけ自分を捨ててみてもらいたい。

画像画像画像 「ココロスキャン」の画面
(C)SEGA

 STは、PC/Linux版に加えてDS版が開発されたわけだが、もちろんこれで完成というわけではない。さらに多くの感情を検出できるように機能面を向上させるのはもちろんのこと、今後は他のプラットフォームにもどんどん移植していく予定だそうだ。もしかしたら、他のゲーム機でもSTを利用したゲームが登場してくるかもしれない。また、STの開発だけでなく、人間の感情とは何なのか、というテーマについても、国の機関と共同で研究を進めていくそうだ。将来、人間の感情がどういったものなのか、その糸口が見つかれば、ロボットと人とのコミュニケーションがスムーズに行えるようになるだけでなく、ロボットが感情を持つということも夢ではなくなるだろう。

関連キーワード

ニンテンドーDS | セガ | SGI


Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る