はじめに
今回は、機械学習研究者のSechidis氏が、ポスドク研究員としてRoche社で取り組んでいた、発話に込められた感情を機械学習で読み取る試みを紹介します。
具体的には、言葉の中に感情が出にくいパーキンソン病の患者が発した言葉から、そこに込められた感情を機械学習で予測する試みで、機械学習のアルゴリズムに勾配ブースティング決定木(GBDT)と混合エキスパート(MoE)を使った事例です。
パーキンソン病とは
パーキンソン病は、脳の異常のために、体の動きに障害が現れる神経変性疾患です。現在、日本には約15万人の患者がいると言われています。原因が不明の病気で、日本では特定疾患に指定されています。
症状としては、大きく分けると運動症状と非運動症状の2つに分類できます。運動症状としては、手足の震える、動作が遅い・少ない・小さいなどがあります。運動症状としては、感情鈍麻、うつ症状などがあります。
特に運動症状に着目すると、患者の90%は何らかの発話障害を患っており、声が出にくくなる、小さくなる、かすれる、発音がはっきりしなくなる、抑揚がなくなる、などの症状に悩まされています。
プロジェクトの詳細
(1) プロジェクトの概要
パーキンソン病の患者の発する言葉から、患者の感情を読み取るのが難しいことはしばしばあります。
そこで、本取り組みでは、パーキンソン病の患者の言葉に込められた感情を定量化するための、音声感情認識(SER)モデルの構築を目指しました。具体的には、患者が発した言葉をSERモデルに入力し、幸せを感じている確率は75%と言うように、感情を数値化するモデルです。
まず、数秒の一文を発声して、それをMP3ファイルで録音します。このデータを機械学習モデルに入力すれば、発声者はどれくらい幸せを感じているかの確率をスコアで出します。
また、構築したSERモデルを使って、患者と健常者との違いや発話障害レベルが異なるパーキンソン病患者間の違いを調査しています。
(2) プロジェクトの位置づけ
本プロジェクトは、Roche社がリリースしたデジタルバイオマーカーの開発の中で行われたものです。デジタルバイオマーカーは、発話を含めた患者の行動をデジタル情報に変換するための、モバイルセンサーを搭載したデジタル機器のことです。
デジタルバイオマーカーの基本思想は、患者が1カ月または2カ月ごとに病院を訪れて症状をチェックする代わりに、モバイル機器を患者に提供し、機器を通して一日中患者の症状を追跡することです。
また、このデジタル情報と病気の進行状況の相関を調べることで、治療の効果や患者のQOL(クオリティ・オブ・ライフ:生活の質)の改善状況の把握を狙っています。
(3) 音声感情認識(SER)モデルの構築
1) 学習用データの準備
SERモデルの構築には学習用データが必要です。そこで、音声に対して幸せに聞こえる、あるいは、悲しく聞こえる、のラベルを付けたMP3データを用いました。それを使って機械学習モデルを作り、感情が未知の音声の感情を推測します。
ここでの課題は、感情のラベルが付けられた音声のデータベースをどのように見つけるかでしたが、言語や方言など異なる特性を持つ、6つのデータベースを見つけることができました。男性または女性のみの音声であったり、両者が混ざっていたり、データ数が異なっていたりなどデータベースの素性もさまざまで、最小のデータベースは120サンプルでした。
2) データの前処理
機械学習に使うMP3の音声データは、まず波形の前加工を行いました。
パーキンソン病患者はゆっくり話すため、無音部分が長くなる傾向があるからで、SERモデルがこのようなバイアスに左右されないよう、無音部分を削除しました。
その後、波形データから特徴量を作成しました。
波形データのx軸を時間とし、y軸には12の周波数帯ごとのMFCC(メル周波数ケプストラム係数)を取りました。なお、MFCCとは聴覚フィルタに基づく音響分析手法のことです。それぞれの係数について、平均や標準偏差など11の統計量を計算して、1つの録音データからトータルで132の特徴量を抽出し、これを1サンプルのデータとしました。
3) 機械学習モデルの作成と学習
132の特徴量を持ったデータで、機械学習モデルを構築しました。モデル構築には勾配ブースティング決定木を使っています。比較的新しいCatboostライブラリを用い、学習率、木の数、木の深さなどのハイパーパラメータを最適化しました。
ここで問題になってくるのが、どのように6つのデータベースの情報を結合するかです。そこで、情報の結合にあたっては、混合エキスパート(mixture of experts:MoE)というアプローチを活用しました。
混合エキスパートとは、複数のモデルの組み合わせで、それぞれの予測値は加重合計で結び付けられています。ここで用いられる重みは、入力される特徴量に依存しています。
例を見てみましょう(図1)。
図1. 重み付けの例
データベースD1に陽性と陰性がそれぞれ5個のサンプルがあるとし、新規サンプルx’が、陽性か陰性かを予測したいとします。x’は線形判別モデルの判別境界に非常に近いところに存在しているとき(図1左)、このモデルではx’が陽性か陰性かの予測は非常に不確かと言えます。
同じサンプルが、データベースD2の図1右の位置に存在するなら、このサンプルは陽性である可能性が高いと言えます。このような場合、MoEではD1に比べてD2の方により大きな重み付けをします。
学習は、サンプルを学習用、検証用、テスト用に分けて、入れ子構造のクロスバリデーション(Nested CV)で進めました。
さて、モデルの学習にあたっては①で述べた6つのデータベースを使うのですが、ディープラーニングが盛んな現在の考え方であれば、できるだけサンプル数は多い方がよいので、6つすべてのデータベースで学習させたくなります。しかし、データベースが異なれば録音に使った機器も異なっているため、学習ですべてのデータベースを混ぜて使うと、交絡バイアスが生じる可能性があります。そこで、実際に学習で使ったのは3つのデータベースで、残りのデータベースを検証用に使いました。
4) モデルの評価
今回開発したMoEを用いた音声感情認識モデルを評価するため、別の4つの方法で作成したモデルと性能を比較しました。4つの異なる指標で評価しましたが、いずれの指標でもMoEを用いたモデルが最も優れた性能を示しました。
(4) 音声感情認識モデルを用いた感情評価
今回のモデルをコロンビアの病院が公開しているデータベースをに適用し、パーキンソン病患者と健常者の音声に込められた感情を調査しました。
このデータベースは、患者と健常者が各50名分のデータですが、両者の性別、年齢、学齢が一致しており、非常に優れたデータベースです。
1) パーキンソン病患者と健常者の比較実験
i) 第1の実験
「あー」と可能な限り長く発声した音声データをSERモデルに入力して、幸せと感じる度合いを評価しました。評価前は両者に違いはないだろうと予想しており、評価結果は予想通りでした。
ii) 第2の実験
6つの文章を繰り返した音声データを使って、同様の評価を行いました。その結果、いずれの文章においても、健常者の方が患者に比べてより幸せに聞こえることが分かりました。より複雑な会話文を読んだデータを使っても、同じ結果が得られました。
2) パーキンソン病患者同士の比較実験
症状の異なるパーキンソン病患者同士で、同様の実験を行いました。①と同様に、「あー」と発声したデータと、6つの文章を繰り返した音声データを使って評価したところ、①の結果から予想できるように、発話障害が重いほど、幸せと感じる確率は下がることが分かりました。これは、パーキンソン病患者の症状が、どのように幸せに聞こえる確率へ影響を与えるかを丁寧に調査した、最初の例です。
まとめ
・混合エキスパート(MoE)モデルを使って、音声感情認識モデルを構築しました。
・健常者に比べ、パーキンソン病患者の発する言葉は幸せに聞こえないことがわかりました。
・パーキンソン病患者同士で比べると、発話障害の重さが、幸せに聞こえる確率に影響を与えることが分かりました。
5. 参考文献
周波数データから特徴量ベクトルを抽出する
音声認識を紹介するページ