(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-25
(45)【発行日】2024-11-05
(54)【発明の名称】感情推定装置
(51)【国際特許分類】
G06N 20/20 20190101AFI20241028BHJP
G06N 3/04 20230101ALI20241028BHJP
G06N 3/08 20230101ALI20241028BHJP
【FI】
G06N20/20
G06N3/04 100
G06N3/08
(21)【出願番号】P 2020182166
(22)【出願日】2020-10-30
【審査請求日】2023-08-29
【新規性喪失の例外の表示】特許法第30条第2項適用 令和2年8月29日、MDPI Sensors(オンライン論文誌)にて発表
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成31年度、国立研究開発法人科学技術振興機構、戦略的創造研究推進事業 総括実施型研究ERATO「石黒共生ヒューマンロボットインタラクションプロジェクト」協働研究、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】393031586
【氏名又は名称】株式会社国際電気通信基礎技術研究所
(74)【代理人】
【識別番号】100099933
【氏名又は名称】清水 敏
(72)【発明者】
【氏名】フ ショウゼン
(72)【発明者】
【氏名】劉 超然
(72)【発明者】
【氏名】イシイ カルロス トシノリ
【審査官】北川 純次
(56)【参考文献】
【文献】特開2018-072876(JP,A)
【文献】石渡 太智 ほか,Relational Graph Attention Networksを利用した感情認識の検討,FIT2020 第19回情報科学技術フォーラム 講演論文集 第2分冊,2020年08月18日,pp. 167-168
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00 - 99/00
(57)【特許請求の範囲】
【請求項1】
人の情報表示及び情報伝達に関する複数種類のモダリティについて得られる素性間に存在する関連性により、前記複数種類のモダリティの素性の各々を更新する更新手段と、
前記更新手段により更新された前記複数種類のモダリティの前記素性を用いて、前記人の感情を推定するための感情推定手段とを含む、感情推定装置
であって、
前記感情推定装置はニューラルネットワークにより構成され、
前記更新手段は、
前記複数種類のモダリティについて得られる前記素性間に存在する前記関連性を、前記素性をノードとし、各ノードを接続するエッジを有するグラフニューラルネットワークにおけるノード間のアテンションとして算出するアテンション算出手段と、
前記ノードの各々について、前記アテンション算出手段により算出される前記アテンションの内、当該ノードに隣接する隣接ノードの各々からのアテンションを用いて当該ノードの素性を更新する素性更新手段とを含む、感情推定装置。
【請求項2】
前記素性更新手段が算出する、隣接するノード間のアテンションは、アテンションの方向により異なる、請求項
1に記載の感情推定装置。
【請求項3】
前記更新手段は、前記複数種類のモダリティから感情を表す素性ベクトルを算出する個別のニューラルネットワークの、最終隠れ層の状態を前記素性として受ける、請求項
2に記載の感情推定装置。
【請求項4】
前記個別のニューラルネットワークは、前記複数種類のモダリティの時系列に関する双方向ニューラルネットワークを含み、
前記更新手段は、前記双方
向ニューラルネットワークの、順方向の前記最終隠れ層の状態を表すベクトルと、逆方向の前記最終隠れ層の状態を表すベクトルとを連接したものを前記素性として受ける、請求項
3に記載の感情推定装置。
【請求項5】
前記アテンション算出手段は、
各々が全結合ニューラルネットワークからなり、各々が前記複数種類のモダリティの前記素性間に存在する前記関連性を、前記素性をノードとし、各ノードを接続するエッジを有するグラフネットワークにおけるノード間のアテンションとして算出する、複数のアテンション算出ヘッドと、
前記ノードの各々について、前記複数のアテンション算出ヘッドにより算出される前記アテンションの内、当該ノードに隣接する隣接ノードの各々からのアテンションの平均を当該ノードに対する前記アテンションとして算出する平均算出手段とを含む、請求項
3又は請求項
4に記載の感情推定装置。
【請求項6】
前記更新手段は、i番目のノードの素性をEh
i、アテンション算出ヘッドの数をK、前記モダリティの種類の数をNとして、以下の式によりi番目のノードの素性Eh
iを更新する、請求項
5に記載の感情推定装置。
【数1】
ただし、σ()は非線形の活性化関数を表し、Wは学習により得られる線形変換の重み、aは重みベクトル、aの右肩のTはベクトルの転置、記号「||」はベクトルの連接、をそれぞれ表す。
【請求項7】
前記複数種類のモダリティは、表情の時系列、発話音声、及び発話テキストの内の少なくとも2つからなる任意の組み合わせを含む、請求項1から請求項
6のいずれか1項に記載の感情推定装置。
【請求項8】
前記複数種類のモダリティは、表情の時系列、発話音声、及び発話テキストを含む、請求項1から請求項
6のいずれか1項に記載の感情推定装置。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は感情推定技術に関し、特に複数種類のモダリティの情報を用いて人の感情を推定する感情推定装置、感情推定方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
最近は、感情推定に関する研究が進みつつある。感情推定とは、人が他の人等とコミュニケーションを行っているときのその人の声、表情、身体動作、発話の内容等に基づいて人の内部状態を推定することである。人の感情を推定することで、例えば人と対話するエージェントの動作を制御したり、逆にエージェントの動作を制御することで相手にエージェントがどのような感情を抱いているかを伝達したりできる。
【0003】
人が他の人等とコミュニケーションするチャネルとして、上記したように声、顔(表情)、身体動作、発話の内容等があるが、これらはそれぞれモダリティと呼ばれる。人の声、表情、身体動作、及び発話等、複数のモダリティのいずれか一つから人の感情を推定する技術はシングル・モダリティによる感情推定技術である。複数のモダリティから人の感情を推定する技術はマルチ・モダリティによる感情推定技術と呼ばれる。
【0004】
シングル・モダリティによる感情推定技術として、これまで様々な手法が研究されている。例えば後掲の非特許文献1、2は表情を用いる。非特許文献3、4は発話音声を用いる。非特許文献5、6は身体の動きを用いる。非特許文献7は発話の内容であるテキストを用いる。
【0005】
従来の研究では、こうした感情推定の技術のためのデータとして、例えば俳優等に特定の感情を表すような発話をするよう依頼し、そこから得られたものを用いていた。しかしそのようにして意図的に感情を表現した発話、表情、動作等は、日常的に見られるコミュニケーションでの表現より大げさで強すぎることが多い。そのため、そうした発話から得たデータを用いると、日常的なコミュニケーションに伴う感情の表現を正確に捉えられないという問題があった。そのため最近では、意図的に感情を表現した発話から得たデータではなく、日常的なコミュニケーションから得た画像、音声等を感情推定のための基礎的データとする研究者が多くなっている。
【0006】
こうしたデータを用いた場合、上記したようなシングル・モダリティのデータから感情推定を行う場合には、その精度が不十分であるという問題がある。実際のところ、人のコミュニケーションはマルチ・モダリティなものであって、その内の一つのモダリティのみを用いても感情推定を十分な精度で行うことは難しい。したがって、マルチ・モダリティによる感情推定を行うことで精度を高くできる可能性がある。
【0007】
マルチ・モダリティによる感情推定技術として、後掲の非特許文献8-13に開示されたものがある。これらでは、個々のシングル・モダリティによる感情推定モデルから得られた素性を単純に連接(concatenate)したもの、又は平均をとったものを素性として感情推定を行うマルチ・モダリティの感情推定モデルを提案している。
【先行技術文献】
【非特許文献】
【0008】
【文献】Byeon, Y.H.; Kwak, K.C. Facial expression recognition using 3d convolutional neural network. Int. J. Adv. Comput. Sci. Appl. 2014, 5.
【文献】Zhang, S.; Pan, X.; Cui, Y.; Zhao, X.; Liu, L. Learning affective video features for facial expression recognition via hybrid deep learning. IEEE Access 2019, 7, 32297-32304.
【文献】Lotfian, R.; Busso, C. Curriculum learning for speech emotion recognition from crowdsourced labels. IEEE/ACM Trans. Audio Speech Lang. Process. 2019, 27, 815-826.
【文献】Fu, C.; Dissanayake, T.; Hosoda, K.; Maekawa, T.; Ishiguro, H. Similarity of Speech Emotion in Different Languages Revealed by a Neural Network with Attention. In Proceedings of the 2020 IEEE 14th International Conference on Semantic Computing (ICSC), San Diego, CA, USA, 3-5 February 2020; pp. 381-386.
【文献】Ahmed, F.; Gavrilova, M.L. Two-layer feature selection algorithm for recognizing human emotions from 3d motion analysis. In Proceedings of the Computer Graphics International Conference, Calgary, AB, Canada, 17-20 June 2019; Springer: Cham, Switzerland, 2019; pp. 53-67.
【文献】Ajili, I.; Mallem, M.; Didier, J.Y. Human motions and emotions recognition inspired by LMA qualities. Vis. Comput. 2019, 35, 1411-1426.
【文献】Hazarika, D.; Poria, S.; Zimmermann, R.; Mihalcea, R. Emotion Recognition in Conversations with Transfer Learning from Generative Conversation Modeling. arXiv 2019, arXiv:1910.04980
【文献】Asghar, M.A.; Khan, M.J.; Amin, Y.; Rizwan, M.; Rahman, M.; Badnava, S.; Mirjavadi, S.S. EEG-Based Multi-Modal Emotion Recognition using Bag of Deep Features: An Optimal Feature Selection Approach. Sensors 2019, 19, 5218.
【文献】Tsiourti, C.; Weiss, A.; Wac, K.; Vincze, M. Multimodal integration of emotional signals from voice, body, and context: Effects of (in) congruence on emotion recognition and attitudes towards robots. Int. J. Soc. Robot. 2019, 11, 555-573.
【文献】Majumder, N.; Poria, S.; Hazarika, D.; Mihalcea, R.; Gelbukh, A.; Cambria, E. Dialoguernn: An attentive rnn for emotion detection in conversations. In Proceedings of the AAAI Conference on Artificial Intelligence, Honolulu, HI, USA, 27 January-1 February 2019; Volume 33, pp. 6818-6825.
【文献】Le, D.; Aldeneh, Z.; Provost, E.M. Discretized Continuous Speech Emotion Recognition with Multi-Task Deep Recurrent Neural Network. In Proceedings of the Interspeech, Stockholm, Sweden, 20-24 August 2017; pp. 1108-1112.
【文献】Sahu, G. Multimodal Speech Emotion Recognition and Ambiguity Resolution. arXiv 2019, arXiv:1904.06022.
【文献】Li, J.L.; Lee, C.C. Attentive to Individual: A Multimodal Emotion Recognition Network with Personalized Attention Profile. In Proceedings of the Interspeech, Graz, Austria, 15-19 September 2019; pp. 211-215.
【発明の概要】
【発明が解決しようとする課題】
【0009】
マルチ・モダリティによる感情推定技術により、シングル・モダリティの場合と比較して精度は高くなった。しかし、マルチ・モダリティの場合、シングル・モダリティのモデルの個々の出力をどのように組み合わせれば精度を高めることができるかという問題がある。各モダリティの間には何らかの関連があるはずであり、そうした関連を用いて感情推定に用いることができれば、精度をより高くできる可能性がある。
【0010】
したがってこの発明の目的は、シングル・モダリティのモデルの出力を組み合わせて感情推定の精度をより高めることができる感情推定装置を提供することである。
【課題を解決するための手段】
【0011】
本発明の第1の局面に係る感情推定装置は、人の情報表示及び情報伝達に関する複数種類のモダリティについて得られる素性間に存在する関連性により、複数種類のモダリティの素性の各々を更新する更新手段と、更新手段により更新された複数種類のモダリティの素性を用いて、人の感情を推定するための感情推定手段とを含む。
【0012】
好ましくは、感情推定装置はニューラルネットワークにより構成される。
【0013】
より好ましくは、更新手段は、複数種類のモダリティについて得られる素性間に存在する関連性を、素性をノードとし、各ノードを接続するエッジを有するグラフニューラルネットワークにおけるノード間のアテンションとして算出するアテンション算出手段と、ノードの各々について、アテンション算出手段により算出されるアテンションの内、当該ノードに隣接する隣接ノードの各々からのアテンションを用いて当該ノードの素性を更新する素性更新手段とを含む。
【0014】
さらに好ましくは、素性更新手段が算出する、隣接するノード間のアテンションは、アテンションの方向により異なる。
【0015】
好ましくは、更新手段は、複数種類のモダリティから感情を表す素性ベクトルを算出する個別のニューラルネットワークの、最終隠れ層の状態を素性として受ける。
【0016】
より好ましくは、個別のニューラルネットワークは、複数種類のモダリティの時系列に関する双方向ニューラルネットワークを含み、更新手段は、双方向のニューラルネットワークの、順方向の最終隠れ層の状態を表すベクトルと、逆方向の最終隠れ層の状態を表すベクトルとを連接したものを素性として受ける。
【0017】
さらに好ましくは、アテンション算出手段は、各々が全結合ニューラルネットワークからなり、各々が複数種類のモダリティの素性間に存在する関連性を、素性をノードとし、各ノードを接続するエッジを有するグラフネットワークにおけるノード間のアテンションとして算出する、複数のアテンション算出ヘッドと、ノードの各々について、複数のアテンション算出ヘッドにより算出されるアテンションの内、当該ノードに隣接する隣接ノードの各々からのアテンションの平均を当該ノードに対するアテンションとして算出する平均算出手段とを含む。
【0018】
好ましくは、更新手段は、i番目のノードの素性をEhi、アテンション算出ヘッドの数をK、モダリティの種類の数をNとして、以下の式によりi番目のノードの素性Ehiを更新する。
【0019】
【数1】
ただし、σ()は非線形の活性化関数を表し、Wは学習により得られる線形変換の重み、aは重みベクトル、aの右肩のTはベクトルの転置、記号「||」はベクトルの連接、をそれぞれ表す。
【0020】
より好ましくは、複数種類のモダリティは、表情の時系列、発話音声、及び発話テキストの内の少なくとも2つからなる任意の組み合わせを含む。
【0021】
さらに好ましくは、複数種類のモダリティは、表情の時系列、発話音声、及び発話テキストを含む。
【0022】
本発明の第2の局面に係る感情推定方法は、人の情報表示及び情報伝達に関する複数種類のモダリティについて得られる素性間に存在する関連性により、複数種類のモダリティの素性の各々を更新するステップと、更新するステップにおいて更新された複数種類のモダリティの素性を用いて、人の感情を推定するステップとを含む。
【0023】
本発明の第3の局面に係るコンピュータプログラムは、コンピュータを、人の情報表示及び情報伝達に関する複数種類のモダリティについて得られる素性間に存在する関連性により、複数種類のモダリティの素性の各々を更新する更新手段と、更新手段により更新された複数種類のモダリティの素性を用いて、人の感情を推定するための感情推定手段として機能させる。
【発明の効果】
【0024】
この発明によれば、シングル・モダリティのモデルの出力を組み合わせて感情推定の精度をより高めることができる感情推定装置を提供できる。この発明の上記及び他の目的、特徴、局面及び利点は、添付の図面と関連して理解されるこの発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【0025】
【
図1】
図1は、この発明の第1の実施形態に係るマルチ・モダリティ感情推定システムの概略構成を示す模式的ブロック図である。
【
図2】
図2は、
図1に示すマルチヘッドGATの構成を示すブロック図である。
【
図3】
図3は、
図2に示す更新部のより詳しい構成を示すブロック図である。
【
図4】
図4は、
図1に示すマルチ・モダリティ感情推定システムの訓練の流れを示すフローチャートである。
【
図5】
図5は、
図1及び
図2に示すマルチヘッドGATの訓練をするためのプログラムの制御構造を示すフローチャートである。
【
図6】
図6は、GATによる素性の更新を実現するプログラムの制御構造を示すフローチャートである。
【
図7】
図7は、
図1に示すマルチ・モダリティ感情推定システムの感情推定時の動作を説明するためのブロック図である。
【
図8】
図8は、この発明の各実施形態を実現するコンピュータシステムの外観を示す図である。
【
図9】
図9は、
図8に外観を示すコンピュータシステムのハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【0026】
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。
【0027】
<第1の実施形態>
[構成]
この実施形態では、表情、発話音声、及び発話の内容であるテキストの3つのモダリティを用いて感情推定を行う。感情推定にはGATを使用してこれら3つのモダリティの情報を融合して感情推定を行う。GATを用いることにより、これら3つのモダリティ相互の関係に基づいて各モダリティの特徴が強調され、感情推定の精度を高める。
【0028】
図1に第1の実施形態に係るマルチ・モダリティ感情推定システム50の概略構成図を示す。
図1を参照して、マルチ・モダリティ感情推定システム50は、感情推定の対象となる人物の発話時の表情データの時系列を受けて表情素性72、74等の時系列を出力する表情モデル60と、同じ人物の発話時のテキストからテキスト素性ベクトル82を出力するテキストモデル62と、同じ人物の発話時の音声データを受けて音声素性76、78等の時系列を抽出する音声モデル64とを含む。
【0029】
マルチ・モダリティ感情推定システム50はさらに、表情素性72及び表情素性74等を連接した表情素性ベクトル80、音声素性76及び音声素性78等を連接した音声素性ベクトル84、及びテキスト素性ベクトル82を受けて、後述するGATにより感情推定のための処理を行うように訓練される、グラフニューラルネットワークからなるマルチヘッドGAT66と、マルチヘッドGAT66の出力を受けて最終的な感情推定結果70を出力するように訓練される全結合層68とを含む。
【0030】
表情モデル60、テキストモデル62、及び音声モデル64等は、素性ベクトルを出力できるものであれば既存のものを用いてよい。それらが互いに異なる考え方のモデルであってもよい。また、訓練もそれぞれ別々に行ってよい。後述する実験において使用したモデルについては実験結果の説明に記載している。
【0031】
この実施形態では、各モデルとして個別のニューラルネットワークを用いており、ニューラルネットワークの最終層の隠れ状態をフラット化したものを素性ベクトルとして用いる。
【0032】
図2を参照して、マルチヘッドGAT66は、いずれも表情モデル60、テキストモデル62、及び音声モデル64からの素性ベクトルを受ける更新部100、102及び更新部104を含む。
【0033】
更新部100、102、及び更新部104は互いに同じ構成を持っている。ただし、更新部100はテキストモデル62及び音声モデル64の出力を用いて表情モデル60の出力を更新する。更新部102は表情モデル60及び音声モデル64の出力を用いてテキストモデル62の出力を更新する。更新部104は表情モデル60及びテキストモデル62の出力を用いて音声モデル64の出力を更新する。
【0034】
この更新は、GATによるものである。GATは通常使用されているニューラルネットワークとはトポロジが異なる。通常使用されているニューラルネットワークは複数の層を含み、各層は複数のノードを含む。ノード数は層によって異なることもあるし同じこともある。基本的には、ノード間の接続は、層内の各ノードと、その層に隣接する上下の層内の各ノードとの間に設けられる。したがってノードの配列は基本的には格子を形成している。
【0035】
しかし、現実世界の情報の間の関係は、このような格子型のトポロジに限らない。例えばソーシャルネットワーク、交通機関のネットワーク、道路ネットワークのようなネットワークは格子型ではない。しかし、いずれの場合も、ノードと2つのノードを結ぶエッジとの集合によりネットワークが定義されているという共通性がある。こうした図形は一般的にはグラフと呼ばれる。グラフを数学的に扱う分野がグラフ理論である。
【0036】
このようにグラフを構成するネットワークを扱うニューラルネットワークは、グラフニューラルネットワーク(GNN)と呼ばれる。この実施形態では、異なるモダリティからの隠れ層から得た隠れ素性をノード、各ノード間の関係をエッジとして扱うGNNを考え、このGNNにおいて各モダリティの素性の値をノード間の関連性に基づいて強調するためにグラフアテンションネットワーク(GAT)を採用する。
【0037】
具体的には、
図2を参照して、表情モデル60から得られる表情素性をA、テキストモデル62から得られるテキスト素性をB、音声モデル64から得られる音声素性をCとする。A、B、CをノードとするGNNを考える。更新部100、102及び更新部104はいずれも、後述の式にしたがってモダリティ間の関係にしたがって素性A、B及びCを更新する。
【0038】
図2に示す更新部100、102及び更新部104は、どの素性について更新するかという点を除き、いずれも同じ構成を持つ。したがって説明を簡略にするために、ここでは更新部100についてのみその構成を説明する。
【0039】
図3を参照して、更新部100は、いずれも素性A、B及びCを受け、素性Aの値を素性B及びCを用いて更新するための複数のヘッド120、122、…、124を含む。これらは全く同じ構成を持っている。しかし、GNNの学習時にこれらのパラメータが乱数により初期化され、その後に学習が行われるため、最終的には異なるパラメータを持ち、異なる演算でノード間のアテンションを計算し、そのアテンションを用いて素性Aを更新する。ヘッド120が出力する値を素性A′
1、ヘッド122が出力する値を素性A′
2、以下同様にして、ヘッド124が出力する値を素性A′
8とする。ヘッド120、122、…、124は以下の式により素性Aの値を更新する。以下の式では、Kは更新部100、102、更新部104が持つアテンションヘッドの数(この実施形態ではK=8)、Wは訓練によりパラメータを学習する線形変換の重み、a∈R
2nfは重みベクトル、Nはモダリティの数(この実施形態ではN=3)をそれぞれ表す。
【0040】
【数2】
Eh
i∈R
nefはi番目のモダリティの隠れ素性ベクトルを、縦の2本線の記号はベクトルの連接(concatenation)を、σ()はシグモイド関数を、それぞれ表す。またEh
1はA、Eh
2はB、Eh
3はCをそれぞれ表す。
【0041】
更新部100はさらに、ヘッド120、122、…、124が算出した更新後の素性A′1、A′2、…A′8の平均を算出し素性A′として出力するための平均算出部126を含む。
【0042】
図2に示す更新部102及び更新部104がそれぞれ上記した処理と同じ処理を素性B及び素性Cに対して行うことで、更新後の素性A′、B′、C′が更新部100、102、及び更新部104から出力される。これらは連接されてマルチヘッドGAT66の出力となり、全結合層68に入力される。上記式において、添字iと添字jとが非対称であることから分かるように、ノード間のアテンションはその方向により異なる。
【0043】
マルチ・モダリティ感情推定システム50の訓練は以下のようにして行う。
図4はマルチ・モダリティ感情推定システム50を訓練するための処理の流れを示すフローチャートである。このフローチャートにしたがった処理は、一つのプログラムで実現してもよいし、複数のプログラムとそれら複数のプログラムを所定の順番で又は並列に実行するプログラムで実現してもよい。又は、個々のステップを別々のプログラムで実現し、
図4に示されるように順番に、又は並列にそれらプログラムを実行させるようにしてもよい。
【0044】
図4を参照してこのプログラムは、予め
図1及び
図2に示す表情モデル60、テキストモデル62及び音声モデル64のための訓練データを準備して訓練データ記憶装置150に記憶させた後に実行される。このプログラムは、訓練データ記憶装置150に保存されている訓練データの数が少ないときに、所定の方法で訓練データの数を増加させる(拡張する)ステップ160と、ステップ160の後に、訓練データ記憶装置150に記憶された訓練データを用いて表情モデル60、テキストモデル62、及び音声モデル64の訓練を互いに並列に行うステップ162、164及びステップ166と、これら訓練が十分に行われ表情モデル60、テキストモデル62、及び音声モデル64による感情推定の精度がそれぞれ所定のしきい値以上となったことに応答して、表情モデル60、テキストモデル62及び音声モデル64を用いてマルチヘッドGAT66及び全結合層68の訓練を行うステップ168とを含む。
【0045】
ステップ162、164、及びステップ166の訓練は、それぞれのモデルに応じて適切な既存の方法で行えばよい。
【0046】
図5を参照して、
図4のステップ168は、以下に説明するステップ202を全訓練データに対して実行するステップ200と、ステップ200により訓練されたマルチヘッドGAT66及び全結合層68のパラメータが収束したか否か、すなわち、前回のステップ202の実行後のパラメータと今回の実行後のパラメータとの差の絶対値の合計が所定のしきい値となったか否かを判定し、判定が否定なら制御をステップ200に戻して再度訓練を実行し、判定が肯定ならマルチヘッドGAT66及び全結合層68の訓練を終了させるステップ204とを含む。なお、ステップ200に先立って、マルチヘッドGAT66及び全結合層68のパラメータを例えば乱数により初期化する。
【0047】
ステップ202は、今回のステップ202の実行においてまだ訓練データとして使用されていないデータからランダムに所定数のサンプルからなるミニバッチをサンプリングするステップ220と、ステップ220でサンプリングされたミニバッチ内の全訓練データに対してステップ224を実行し、その実行ごとに生ずる教師データとマルチヘッドGAT66の出力との誤差を累積するステップ222と、ステップ222の完了後に、ステップ222の処理で累積されていた誤差を用い、誤差逆伝播法によりマルチヘッドGAT66を構成するGNNのパラメータの更新を行って処理中のミニバッチに対するステップ202の処理を終了するステップ226とを含む。なお、ステップ220では、ミニバッチの訓練データについて誤差を累積する変数の値が0にクリアされる。
【0048】
ステップ224は、表情モデル60を用いて訓練データに対する表情素性を算出するステップ240と、ステップ240と並列に、テキストモデル62を用いて訓練データに対するテキスト素性を算出するステップ242と、ステップ240及びステップ242と並列に、音声モデル64を用いて訓練データに対する音声素性を算出するステップ244とを含む。
【0049】
ステップ224はさらに、ステップ240、242及びステップ244でそれぞれ算出された素性を用い、GATによる素性の更新を行うステップ246と、ステップ246でそれぞれ更新された素性を全結合層68に入力することによりその出力として感情推定結果70を推定するステップ248と、ステップ248で全結合層68により推定された感情推定結果70と、訓練データに付与された教師データとの間の誤差を累積してステップ224の実行を終了するステップ250とを含む。ステップ250の処理が終了した時点でまだミニバッチ内の訓練データが残っていればステップ224が繰り返される。
【0050】
図6に、
図5のステップ246の詳細を示す。
図6を参照して、ステップ246で実行されるGATによる素性の更新処理は、GATによる素性の更新を表情素性、テキスト素性及び音声素性について実行し、各素性について8個の更新後素性を算出するステップ280と、ステップ280でそれぞれ算出された8個の表情素性、8個のテキスト素性及び8個の音声素性の各々について平均値を算出するステップ282と、ステップ282で算出された更新後の8個の表情素性ベクトルの平均、8個のテキスト素性ベクトルの平均、及び8個の音声素性ベクトルの平均を結合してこのステップ246の処理を終了するステップ284とを含む。
【0051】
ステップ280は、
図3に示す更新部100の8個のヘッド120、122、…、124により、表情素性に対する更新処理を並行して行い、更新された8個の表情素性A′
1、A′
2、…、A′
8を算出するステップ300と、ステップ300と同様、
図2に示す更新部102により更新された8個のテキスト素性B′
1、B′
2、…、B′
8を算出するステップ302と、
図2に示す更新部104により更新された8個の音声素性C′
1、C′
2、…、C′
8を算出するステップ304とを含む。こうした処理は、
図2に示す更新部100、102及び更新部104がいずれも8個のヘッドを含むため、互いに並列に実行できる。
【0052】
ステップ282は、ステップ300で算出された8個の表情素性A′1、A′2、…、A′8の平均である更新後の表情素性A′を算出するステップ310と、ステップ302で算出された8個のテキスト素性B′1、B′2、…、B′8の平均である更新後のテキスト素性B′を算出するステップ312と、ステップ304において算出された8個の音声素性C′1、C′2、…、C′8の平均である更新後の音声素性C′を算出するステップ314とを含む。
【0053】
[動作]
マルチ・モダリティ感情推定システム50の動作には2つのフェーズがある。第1は訓練フェーズ、第2はテストフェーズである。
【0054】
訓練フェーズはさらに、個別の表情モデル60、テキストモデル62及び音声モデル64の訓練を行う個別訓練フェーズと、訓練が終了した表情モデル60、テキストモデル62及び音声モデル64を用いてマルチヘッドGAT66の訓練を行う統合訓練フェーズである。
【0055】
〔個別訓練フェーズ〕
個別の表情モデル60、テキストモデル62及び音声モデル64については、前述したとおり、
図4のステップ162、164及びステップ166に示すように、それぞれの採用したモデルに応じて訓練を行えばよい。これらは順番に行うことも、並行して行うこともできる。これらについて十分な訓練が完了した後、マルチヘッドGAT66の訓練が可能になる。
【0056】
〔統合訓練フェーズ〕
統合訓練は、表情モデル60、テキストモデル62及び音声モデル64について十分な訓練が終わった後(
図4のステップ168)に行われる。
【0057】
図5を参照して、統合訓練では、まだ訓練データとして使用されていないデータからランダムに所定数のサンプルからなるミニバッチをサンプリングする(ステップ220)。ステップ220でサンプリングされたミニバッチ内の全訓練データに対してステップ224を実行する。
【0058】
すなわち、訓練データの内、顔画像データから表情素性を算出し(ステップ240)、テキストデータからテキスト素性を算出し(ステップ242)、音声データから音声素性を算出する(ステップ244)。
図6を参照して、ステップ280のステップ300において、
図2に示す更新部100により、テキスト素性B及び音声素性Cを用いて表情素性Aを更新し、更新後の表情素性A′を出力する。より具体的には、
図3に示すように、8個のヘッド120、122、…、124においてそれぞれテキスト素性B及び音声素性Cを用いて表情素性Aを更新し、更新後の表情素性A′
1、A′
2、…、A′
8を出力する。同様にして、ステップ280のステップ302において、
図2に示す更新部102により、表情素性A及び音声素性Cを用いてテキスト素性Bを更新し、更新後のテキスト画像素性B′を出力する。ステップ280のステップ304において、
図2に示す更新部104により、表情素性A及びテキスト素性Bを用いて音声素性Aを更新し、更新後の音声素性C′を出力する。
【0059】
そして、
図6のステップ282で平均化した表情素性A′、テキスト素性B′、及び音声素性C′を算出する。ステップ284でこれらの素性ベクトルを結合して1つの素性ベクトルとする。
【0060】
図5を参照して、ステップ246で得られた結合後の素性ベクトルを
図2に示す全結合層68に入力し、その出力として感情推定結果70を得る。
図5のステップ250において、感情推定結果70と訓練データの正解ラベルとの差を誤差として求め、誤差を蓄積してこの訓練データに対するステップ224の処理を終了する。
【0061】
以上、ステップ224の処理をステップ220でサンプリングされたミニバッチ内の全訓練データに対して実行するとステップ222の処理が終了する。終了後、ステップ226において、蓄積された誤差を用いて、誤差逆伝播法によりマルチヘッドGAT66及び全結合層68のパラメータの更新を行う。
【0062】
以上の処理を訓練データの全体にわたって繰り返し、訓練データの全体に対する処理が終了した時点で、ステップ204において、更新後のパラメータの値と更新前のパラメータ(前回のステップ200の処理が完了した時点でのパラメータ)の値との差が算出される。この差が所定のしきい値以下であれば訓練が終了する。差がしきい値より大きければ制御は再びステップ200に戻り、ステップ200の処理が実行される。
【0063】
[実験]
上記した第1の実施形態に係るマルチ・モダリティ感情推定システム50について、以下のような条件で実験を行った。
【0064】
〔音声〕
実験では、処理対象となるユーザの発話の最大長さを6.5秒とした。6.5秒より長い発話は6.5秒で打ち切り、6.5秒より短い発話については音声の末尾に0をパディングした。サンプリングレートは16000Hzとした。各フレームについて、長さ8000、ホップ長400の離散コサイン変換を行った。メルスペクトログラムの尺度段階は384に設定した。
【0065】
訓練サンプル数の不均衡を是正するために、エントロピー重み法に基づくデータ拡張を行った。A∈Rm×nを抽出されたスペクトログラムとする。nはタイムステップ数を示し、mはメルスケールを示す。A内の各要素について以下の式(1)により正規化した。xijはメルスペクトログラムのオリジナルの要素を示し、pijは正規化後の要素を示す。
【0066】
【0067】
この後、以下の式(2)及び(3)を用いて拡張後のサンプルを得た。式(3)内の「alpha」は定数であり、以下の実験では2に設定した。
【0068】
【数4】
大まかにいえば、上記式による変換により、メルスペクトログラムの各尺度のもとの値をスケールし直し、大きな情報エントロピーを有する特徴を強調したことになる。情報エントロピーの値が小さなものについても無視はせずある値を割り当てた。
【0069】
〔表情〕
各発話の映像内の各フレームから顔部分を抽出し、各発話長に基づき平均した間隔で10フレームを選択した。実験では、空間-時間素性を抽出するために、非特許文献10に開示された方法を用いた。この方法は、非特許文献2に示された3D-CNNを用いるものである。
【0070】
3D-CNNは事前学習された表情の認識モデルであり、入力ストリームの別々の2つのチャネル、すなわち静的なフレームレベルでクロップされた顔画像を処理する空間的CNNネットワーク部と、オプティカルフロー画像を処理する時間的CNNネットワーク部である。これら2つの部分により空間-時間素性を抽出した後、これらを統合ネットワークにより統合した。以下の実験では、素性としてこの統合ネットワークの隠れ層の出力を用いた。
【0071】
〔テキスト〕
各発話の書き起こしをベクトルに変換し各文をトークン化するために、WordPieceトークナイザ(https://github.com/google/sentencepiece)を用いた。このトークナイザは言語処理モデルとして著名なBERTでも用いられている。BERTについては以下の文献を参照されたい。
【0072】
《参考文献1》
Devlin, J.; Chang, M.W.; Lee, K.; Toutanova, K. Bert: Pre-training of deep bidirectional transformers for language understanding. arXiv 2018, arXiv:1810.04805.
【0073】
各発話の感情は、全体の時系列情報から決定されたが、そのようなシーケンス情報では決定的に重要なある特定のタイムステップがある。サンプルの各タイムステップの間の関係を考慮してこの決定的に重要なタイムステップを選択するために、感情エンコーダ-デコーダ(EED)と呼ばれる、自然言語による翻訳分野の以下の文献に触発されたものを用いた。
【0074】
《参考文献2》
Bahdanau, D.; Cho, K.; Bengio, Y. Neural machine translation by jointly learning to align and translate. arXiv 2014, arXiv:1409.0473.
【0075】
エンコーディング段階ではエンコーダへの入力が行列X=[x1,x2,…,xt]、ただしxt∈Rnfであるものとする。以下の式(4)及び(5)は、隠れ状態hiを算出するための流れを示す。→W、→Wz、→Wr∈Rnh×nf、→U、→Uz、→Ur∈Rnh×nhは重み行列である(「→」は式中では上記記載においてこの記号の直後の文字の直上に記載されている。)。ただしnh及びnfはそれぞれ直前の層からの隠れユニットと素性の数を示す。nfはモダリティごとに異なることに注意が必要である。各モダリティに関する素性数については以下のテーブル1を参照されたい。
【0076】
【表1】
また上記記載及び式(4)(5)において各文字の直上に記載された矢印の内、順方向の矢印「→」は前向きの時系列シーケンス処理を示し、逆方向の矢印「←」は後ろ向きの時系列シーケンス処理を示す。
【0077】
【0078】
nefは隠れ感情素性の数(長さ)である。隠れ感情ベクトルを算出するため、エンコーディング段階から得られた隠れ層をフラット化し、ボトルネックとして全結合層を採用した。
【0079】
実験では、モダリティにより異なるニューラルネットワークをユニ・モダリティモデル(ユニ・モデル)として実装した。各話者のタイムステップtとt-1のデータを入力として各ユニ・モデルを別々に訓練した。
【0080】
〔音声〕
音声についてタイムステップt-1及びtのメルスペクトログラムを抽出し、双方向LSTMに入力して時系列情報を処理した。続いてマルチヘッドアテンション層により、タイムステップ間の関係を強調する処理を並列に行った。強調処理後の隠れ層の値をEEDに入力し感情の判定に最も寄与する情報を選択させた。性能改善のためにマルチタスク訓練を行った。この感情モデルは、感情ラベルの分類に加えて、同時に話者の性別も認識し、女性と男性の間のピッチの違いによる影響を考慮するようにした。
【0081】
〔表情〕
映像から話者の顔部分を抽出した後、3D-CNNにデータを入力し、空間-時間的素性を含む隠れベクトルを得た。3D-CNNによれば、各映像フレームから適切な素性を抽出できるのに加え、各フレーム内における顔の特徴(空間部)とフレーム間のオプティカルフロー(時間部)を個別に考慮した空間-時間的素性を抽出できる。表情の分析プロセスには、空間部を個別にファインチューンするため、VGGモデルを採用した。時間部はビデオメッセージ全体を順に処理する。この場合の入力は、フレーム画像、並びに高さ及び重みの次元数である。訓練後の空間-時間的CNNの素性を融合させるため、識別素性をあわせて学習するための全結合ニューラルネットワークを採用した。この素性をEEDにより処理し、感情を推定するために重要な情報を選択した。
【0082】
〔テキスト〕
テキストによる感情分析には、以下の文献に記載されたSeMemNNを採用し、最初から訓練した。
【0083】
《参考文献3》
Fu, C.; Liu, C.; Ishi, C.; Yoshikawa, Y.; Ishiguro, H. SeMemNN: A Semantic Matrix-Based Memory Neural Network for Text Classification. In Proceedings of the 2020 IEEE 14th International Conference on Semantic Computing (ICSC), San Diego, CA, USA, 3-5 February 2020; pp. 123-127.
【0084】
SeMemNNでは、2つの入力が協働し、アドレス用行列及び意味的行列を生成する。アドレス行列は意味的行列から対応する情報を読み出すためのアドレスベクトルを生成するためのものである。SeMemNNによれば、タイムステップt-1とtとにおけるテキストがアドレス用行列を生成し、意味的行列はタイムステップtにおけるテキストから個別に生成される。GATのマルチヘッド設計により、様々な感情に対する音声、表情、及びテキストモダリティの間の関係を収集した。この操作は複数のモダリティの間で行われ、かつ各モダリティをノードとみなすので、これをマルチヘッドモダリティ間グラフアテンションと名付けた。
【0085】
〔マルチ・モデル〕
音声、表情、及びテキストの各モダリティのためのユニ・モデルを、感情認識タスクによりエンド・ツー・エンド方式で別々に訓練した。これらユニ・モデルの訓練が十分に行われた後、各モダリティから隠れ層を抽出し、マルチヘッドGATによりこれら3つのモダリティの間の関係を以下の式(6)により計算した。この式については既に説明済である。
【0086】
【0087】
〔使用したデータセット〕
実験では、以下の参考文献に記載のInteractive emotional dyadic motion capture database(IEMOCAP)を使用した。その構成を以下のテーブル2に示す。各訓練データに対して以下のいずれか1つのラベルが付されている。
【0088】
【0089】
《参考文献4》
Busso, C.; Bulut, M.; Lee, C.C.; Kazemzadeh, A.; Mower, E.; Kim, S.; Chang, J.N.; Lee, S.; Narayanan, S.S. IEMOCAP: Interactive emotional dyadic motion capture database. Lang. Resour. Eval. 2008, 42, 335.
【0090】
このデータセットは、10人の発話者による双方向の対話の映像を含む。各映像は単一の二者の組み合わせについての対話を含み、発話ごとに分割され、感情ラベルが付されている。実験では、このデータセットを約80/20の比率で訓練セットとテストセットとに分割した。訓練セットは5810サンプル、テストサンプルは1623サンプルである。
【0091】
実験ではKeras(https://keras.io/)を用いて全体のニューラルネットワークを実装し、オプティマイザとしてadam(https://keras.io/api/optimizers/adam/)を用いた。学習率は0.0001に設定した。BLSTMのセル数は128とし、マルチヘッドアテンションヘッドを8個とした。
【0092】
音声モデルについては各タスクでの重みを1とした。他のハイパーパラメータについては前出のテーブル1に示したとおりである。音声、表情、及びテキストモデルで訓練するパラメータ数はそれぞれ1360万、1330万、2480万である。最終のマルチ・モデルに関して訓練するパラメータ数は5180万である。
【0093】
〔比較対象〕
この実験では、上記実施形態について設定を種々に変えたものにより得られた結果と、以下のように実施形態自身の変形例と、さらに他の技術とを比較した。
【0094】
・音声サンプルの拡張。音声サンプルを拡張してモデルを訓練した場合と、拡張せず訓練した場合とを比較。
【0095】
・EEDをLSTMで置換。上記実施形態で使用したEEDはLSTMに類似している。しかし、EEDではLSTMに訓練対象となる行列Uを追加して時系列情報を分析し、各タイムステップでの線形変換を学習するようにした。したがって、比較のためにEEDを双方向LSTMで置換したものを作成した。
【0096】
・SeMemNNとBERTの比較。テキスト分類の分野ではBERTの卓越した性能が知られている。しかし、BERTをテキスト感情認識に適用した例はほとんどない。そこでSeMemNNを事前学習済のBERTで置換した場合の性能を比較した。
【0097】
・DialogueRNN。これは非特許文献10に記載されている、リカレント型ニューラルネットワークであり、会話時のグローバルな文脈を考慮して話者の状態をトラッキングする2つのGRUと、感情状態の流れをトラッキングするもう一つのGRUとを用いたものである。
【0098】
・DialogueGCN。これは以下の文献に記載されているもので、グラフ今ボリュー書なるネットワーク(GCN)を用い、対話者の自己及び相手への依存性を文脈情報で高めたものである。
【0099】
《参考文献5》
Ghosal, D.; Majumder, N.; Poria, S.; Chhaya, N.; Gelbukh, A. Dialoguegcn: A graph convolutional neural network for emotion recognition in conversation. arXiv 2019, arXiv:1908.11540.
【0100】
〔実験結果〕
・音声感情認識
最初に音声のユニ・モデルについての結果をテーブル3に示す。テーブル3において、AMは音声モデル(発話感情認識モデル)を示す。添字EEDはEEDを用いた音声モデルを示し、添字LSTMはLSTMを用いた音声モデルを示す。Augは拡張した訓練データを用いて訓練したモデルであることを示し、Oriは拡張なしの訓練データを用いて訓練したモデルであることを示す。
【0101】
【表3】
この表から、EEDを用いた、かつ訓練データを拡張したものが他よりも高い性能を示したことが分かる。
【0102】
拡張した訓練データを用いて訓練した場合には、EEDを用いたものはLSTMを採用したものと比較してhappy,sad,excited,frustratedでより高い性能を示し、その差は8.15%、7%、1.31%、及び6.97%であった。重み付けした平均精度も54.04%から56.30%に改善し、F1スコアも53.34%から55.73%に改善した。
【0103】
拡張前の訓練データで訓練した場合、EEDを用いたものはLSTMを用いたものと比較してneutral,angry,excited,frustratedでより高い性能を示し、その差は9.86%,0.57%,13.92%,5.47%であった。重み付け平均精度は47.87%から52.11%に改善し、F1スコアも46.91%から51.21%に改善した。
【0104】
訓練データを拡張した場合、EEDを採用すると、拡張しない場合と比較してhappy,sad,neutral,angry,frustratedで高い性能を示し、その差は3.67%、15.12%、0.79%、0.83%、9.67%であった。重み付け平均精度は52.11%から56.30%に改善し、F1スコアも51.21%から55.73%に改善した。
【0105】
訓練データを拡張してLSTMを採用すると、拡張しない場合と比較してsad,neutral,angry,excited,frustratedで高い性能を示し、その差は0.46%、11.8%、8.42%、4.41%及び8.17%であった。重み付け平均精度は47.87%から54.04%に改善し、F1スコアも46.91%から53.34%に改善した。
【0106】
・表情感情認識
テーブル4は、表情感情認識モデルによる結果を示す。VMはVisual Model(顔表情認識モデル)を示す。添字EEDはEEDを用いたモデルを示し、添字LSTMはEEDをLSTMで置換したモデルを示す。
【0107】
【表4】
テーブル4から、EEDを採用したモデルのほうが高い性能を示すことが分かる。EEDを採用したモデルは、LSTMを採用したモデルと比較してsad,neutral,angry,excitedで高い性能を示し、その差は5.25%、4.01%、6.17%、9.69%であった。また重み付け平均精度は1.48%、F1スコアは3.34%改善した。
【0108】
・テキスト感情認識
テーブル5はテキスト感情認識モデルの結果を示す。TMはテキストモデルを示し、添字SeMemNNはSeMemNNを採用したテキストモデルと、添字BERTは英語で事前学習したBERTを採用したテキストモデルを示す。
【0109】
【表5】
この結果から、SeMemNNを用いたモデルがBERTを用いたものよりかなり高い性能を示すことが分かる。重み付け平均精度では39.62%から52.99%への改善が見られ、F1スコアも36.13%から51.51%に改善した。またどの感情カテゴリでも、SeMemNNを用いた方がBERTを用いたものよりも10%以上高い精度を示しており、特にAngryでは30ポイント程度の精度の改善が見られた。この結果、少なくともIEMOCAPのデータセットに関してはSeMemNNを用いた方がBERTよりも感情テキスト認識には適していることが分かった。
【0110】
・マルチ・モダリティ
マルチ・モデルとしては、以上の実験で最も高い性能が得られたユニ・モデル(VMEED,AMEED_Aug,TMSeMemNN)を組み合わせた。テーブル6にその結果を示す。
【0111】
【0112】
これらの内、MulMDenseは上記実施形態のGATを用いないものである。MulMDenseの重み付け平均精度は67.26、重み付けF1スコアは66.74であった。これに対して比較対象のDialogueRNNの平均精度は63.40、平均F1スコアは62.75であり、またDialogueGCN及びの平均精度は65.25、平均F1スコアは64.18であった。MulMDenseはDialogueGCNと比較して平均精度及びF1スコアの双方において2%以上の改善となっており、またDialogueRNNと比較すると平均精度及びF1スコアの双方において約5.5%の改善となっている。この性能改善の大部分は、ユニ・モデルの性能によるものと思われる。
【0113】
これに対し、MulMGATは、MulMDenseに上記実施形態で説明したGATを加えたマルチ・モデルである。テーブル6から分かるように、MulMGATの性能はさらに高くなり、平均精度で69.88、平均F1スコアで68.31という値を示した。これはMulMDenseと比較して、さらに2.5%改善した値である。個々の感情ラベルを調べると、happy,neutral,angry,frustratedにおいて従来技術より高い精度を示した。これらの中でもhappyという感情ラベルでは、DialogueGCNよりも47%も高いという大きな改善を示した。さらにMulMDenseと比較すると、GATを採用したMulMGATではhappy,angry,及びfrustratedという感情ラベルで少なくとも5%以上の改善を示している。
【0114】
以上から、上記実施形態で説明したGATによりモダリティ間の関連性を用いて各モダリティの素性を強調することにより、マルチ・モダリティによる感情認識の精度をより高められることが確認できた。
【0115】
[変形例]
なお、上記実施形態では、表情、音声、発話テキストという3種類のモダリティを用いている。しかしこの発明はそのような実施形態には限定されない。これら3種類のモダリティの内、少なくとも2つを含む任意の組み合わせを用いてもよい。また、上記3種類のモダリティに加えて、又はこれらのいずれかに代えて、体全体の動き、若しくは頭部、腕、手又は胴体の動き、体温又はその分布等をモダリティとして採用してもよい。
【0116】
[コンピュータによる実現]
図8は、上記各実施形態を実現するコンピュータシステムの外観図である。
図9は、
図8に示すコンピュータシステムのハードウェアブロック図である。
【0117】
図8を参照して、このコンピュータシステム950は、DVDドライブ1002を有するコンピュータ970と、いずれもコンピュータ970に接続された、ユーザと対話するためのキーボード974、マウス976、及びモニタ972とを含む。もちろんこれはユーザ対話のための構成の一例であって、ユーザ対話に利用できる一般のハードウェア及びソフトウェア(例えばタッチパネル、音声入力、ポインティングデバイス一般)であればどのようなものも利用できる。
【0118】
図9を参照して、コンピュータ970は、DVDドライブ1002に加えて、CPU990と、GPU992と、CPU990、GPU992、DVDドライブ1002に接続されたバス1010と、バス1010に接続され、コンピュータ970のブートアッププログラム等を記憶するROM996と、バス1010に接続され、プログラムを構成する命令、システムプログラム、及び作業データ等を記憶するRAM998と、バス1010に接続された不揮発性メモリであるHDD1000とを含む。HDD1000は、CPU990及びGPU992が実行するプログラム、並びにCPU990及びGPU992が実行するプログラムが使用するデータ等を記憶するためのものである。コンピュータ970はさらに、他端末との通信を可能とするネットワーク986への接続を提供するネットワークI/F1008と、USBメモリ984が着脱可能で、USBメモリ984とコンピュータ970内の各部との通信を提供するUSBポート1006とを含む。
【0119】
コンピュータ970はさらに、マイク982及びスピーカ980とバス1010とに接続され、CPU990により生成されRAM998又はHDD1000に保存された音声信号、映像信号及びテキストデータをCPU990の指示にしたがって読み出し、アナログ変換及び増幅処理をしてスピーカ980を駆動したり、マイク982からのアナログの音声信号をデジタル化し、RAM998又はHDD1000の、CPU990により指定される任意のアドレスに保存したりするための音声I/F1004を含む。
【0120】
上記実施形態では、
図2に示す表情モデル60、テキストモデル62、音声モデル64、マルチヘッドGAT66、全結合層68、発話信号、映像信号、テキストデータ等のデータ及びパラメータ等は、いずれも例えば
図9に示すHDD1000、RAM998、DVD978又はUSBメモリ984、若しくはネットワークI/F1008及びネットワーク986を介して接続された図示しない外部装置の記憶媒体等に格納される。典型的には、これらのデータ及びパラメータ等は、例えば外部からHDD1000に書込まれコンピュータ970の実行時にはRAM998にロードされる。
【0121】
このコンピュータシステムを、
図1に示す表情モデル60、テキストモデル62、音声モデル64を個別に訓練する訓練装置、訓練後の表情モデル60、テキストモデル62、及び音声モデル64を用いてマルチヘッドGAT66及び全結合層68の訓練を行う訓練装置、さらに訓練後の表情モデル60、テキストモデル62、音声モデル64、マルチヘッドGAT66及び全結合層68を用いたマルチ・モダリティ感情認識装置及びその各構成要素の機能を実現するよう動作させるためのコンピュータプログラムは、DVDドライブ1002に装着されるDVD978に記憶され、DVDドライブ1002からHDD1000に転送される。又は、このプログラムはUSBメモリ984に記憶され、USBメモリ984をUSBポート1006に装着し、プログラムをHDD1000に転送する。又は、このプログラムはネットワーク986を通じてコンピュータ970に送信されHDD1000に記憶されてもよい。
【0122】
プログラムは実行のときにRAM998にロードされる。もちろん、キーボード974、モニタ972及びマウス976を用いてソースプログラムを入力し、コンパイルした後のオブジェクトプログラムをHDD1000に格納してもよい。スクリプト言語の場合には、キーボード974等を用いて入力したスクリプトをHDD1000に格納してもよい。仮想マシン上で動作するプログラムの場合には、仮想マシンとして機能するプログラムを予めコンピュータ970にインストールしておく必要がある。
【0123】
CPU990は、その内部のプログラムカウンタと呼ばれるレジスタ(図示せず)により示されるアドレスにしたがってRAM998からプログラムを読み出して命令を解釈し、命令の実行に必要なデータを命令により指定されるアドレスにしたがってRAM998、HDD1000又はそれ以外の機器から読み出して命令により指定される処理を実行する。CPU990は、実行結果のデータを、RAM998、HDD1000、CPU990内のレジスタ等、プログラムにより指定されるアドレスに格納する。このとき、プログラムカウンタの値もプログラムによって更新される。コンピュータプログラムは、DVD978から、USBメモリ984から、又はネットワークを介して、RAM998に直接にロードしてもよい。なお、CPU990が実行するプログラムの中で、一部のタスク(主として数値計算)については、プログラムに含まれる命令により、又はCPU990による命令実行時の解析結果にしたがって、GPU992にディスパッチされる。
【0124】
コンピュータ970により上記した各実施形態に係る各部の機能を実現するプログラムは、それら機能を実現するようコンピュータ970を動作させるように記述され配列された複数の命令を含む。この命令を実行するのに必要な基本的機能のいくつかはコンピュータ970上で動作するオペレーティングシステム(OS)若しくはサードパーティのプログラム、又はコンピュータ970にインストールされる各種ツールキットのモジュールにより提供される。したがって、このプログラムはこの実施形態のシステム及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令の中で、所望の結果が得られるように制御されたやり方で適切な機能又は「プログラミング・ツール・キット」の機能を呼出すことにより、上記した各装置及びその構成要素としての動作を実行する命令のみを含んでいればよい。そのためのコンピュータ970の動作方法は周知であるので、ここでは繰返さない。
【0125】
なお、GPU992は並列処理を行うことが可能であり、機械学習に伴う多量の計算を同時並列的又はパイプライン的に実行できる。例えばプログラムのコンパイル時にプログラム中で発見された並列的計算要素、又はプログラムの実行時に発見された並列的計算要素は、随時、CPU990からGPU992にディスパッチされ、実行され、その結果が直接に、又はRAM998の所定アドレスを介してCPU990に返され、プログラム中の所定の変数に代入される。
【0126】
今回開示された実施形態は単に例示であって、本発明が上記した実施形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
【符号の説明】
【0127】
50 マルチ・モダリティ感情推定システム
60 表情モデル
62 テキストモデル
64 音声モデル
66 マルチヘッドGAT
68 全結合層
70 感情推定結果
72、74 表情素性
76、78 音声素性
80 表情素性ベクトル
82 テキスト素性ベクトル
84 音声素性ベクトル
100、102、104 更新部
120、122、124 ヘッド
126 平均算出部
150 訓練データ記憶装置