(57)【要約】【課題】アンドロイドの発話時に自然なジェスチャを生成する。【解決手段】ジェスチャ生成部６６は、単語発話時に生ずるジェスチャ機能の確率を規定するジェスチャ機能確率モデル９２と、ジェスチャ機能に伴うジェスチャの確率を、ジェスチャの種類に応じた複数クラスタにつき規定するジェスチャクラスタ確率モデル９４と、入力テキストの各単語につきジェスチャ機能モデル９２をサンプリングし１つのジェスチャ機能を選択するジェスチャ機能サンプリング部１３２と、選択されたジェスチャ機能に応じジェスチャクラスタ確率モデル９４をサンプリングして１つのジェスチャクラスタを選択し、その１つのジェスチャを選択するジェスチャサンプリング部１３４と、選択されたジェスチャをアンドロイドの腕のジェスチャにマッピングするマッピング部とを含む。韻律による拍子ジェスチャを加えたり、談話機能によりジェスチャを制限したりしてもよい。【選択図】図２
2020006482.tif 000002
【特許請求の範囲】
【請求項１】
単語が発話されたときに生ずるジェスチャ機能の確率を規定するジェスチャ機能確率モデルを記憶するためのジェスチャ機能確率モデル記憶手段を含み、
前記ジェスチャ機能は複数個に分類され、
さらに、前記複数個のジェスチャ機能に対応して人間の腕のジェスチャが生ずる確率を、人間の腕の動きの種類に応じた複数個のジェスチャクラスタについてそれぞれ規定するジェスチャクラスタ確率モデルを記憶するためのジェスチャクラスタ確率モデル記憶手段と、
入力された発話テキストの各単語について、当該単語に応じて前記ジェスチャ機能モデルからサンプリングすることにより前記複数個のジェスチャ機能のいずれかを選択するためのジェスチャ機能選択手段と、
前記ジェスチャ機能選択手段により選択された前記ジェスチャ機能に応じて前記ジェスチャクラスタ確率モデルからサンプリングすることにより、前記複数個のジェスチャクラスタのいずれかを選択し、選択されたジェスチャクラスタに属するジェスチャのいずれか１つを選択するためのジェスチャ選択手段と、
前記ジェスチャ選択手段により選択されたジェスチャをアンドロイドの腕のジェスチャにマッピングするためのマッピング手段とを含む、アンドロイドのジェスチャ生成装置。
【請求項２】
さらに、前記発話テキストに対応する音声信号の入力を受け、音声の韻律に基づいて発話の強調位置を検出するための強調位置検出手段と、
前記強調位置を含む所定の時間期間において、アンドロイドの拍子ジェスチャを生成する第１の拍子ジェスチャ生成手段を含み、
前記マッピング手段は、前記ジェスチャ選択手段により選択された腕のジェスチャと前記第１の拍子ジェスチャ生成手段の生成した拍子ジェスチャとを統合したジェスチャを前記アンドロイドの腕のジェスチャにマッピングするための統合ジェスチャマッピング手段を含む、請求項１に記載のアンドロイドのジェスチャ生成装置。
【請求項３】
前記強調位置検出手段は、
前記音声信号の入力を受け、前記音声信号の基本周波数のピークであって、前記発話を行った話者の音声の基本周波数の平均値を超えるピークを検出するためのピーク検出手段と、
前記ピーク検出手段の検出したピーク位置の内、直後に連続する基本周波数の下降値が３セミトーン以上であるピーク位置を前記強調位置として検出するための手段とを含む、請求項２に記載のアンドロイドのジェスチャ生成装置。
【請求項４】
前記第１の拍子ジェスチャ生成手段は、前記強調位置を含む０．７秒〜０．９秒の時間期間において、前記アンドロイドの拍子ジェスチャを生成する第２の拍子ジェスチャ生成手段を含む、請求項２又は請求項３に記載のアンドロイドのジェスチャ生成装置。
【請求項５】
前記第２の拍子ジェスチャ生成手段が前記アンドロイドの前記拍子ジェスチャを生成する前記時間期間は、前記強調位置より第１の期間だけ前の発話位置から、前記強調位置より第２の期間だけ後の発話位置までの間であり、
前記第１の期間は前記第２の期間より長い、請求項４に記載のアンドロイドのジェスチャ生成装置。
【請求項６】
前記第１の期間は０．５５秒であり、前記第２の期間は０．２５秒である、請求項５に記載のアンドロイドのジェスチャ生成装置。
【請求項７】
前記第１の拍子ジェスチャ生成手段は、前記アンドロイドの正立時の高さ方向に、前記所定の時間期間内におよそ１５度の角度まで腕を上げて下ろすジェスチャを生成する、請求項２〜請求項６のいずれかに記載のアンドロイドのジェスチャ生成手段。
【請求項８】
前記ジェスチャ機能確率モデルは、単語が表す概念ごとに、当該概念を表す単語が発話されたときに生ずるジェスチャ機能の確率を規定しており、
前記ジェスチャ機能選択手段は、
前記発話テキストの内、特定の品詞の単語の各々について、その概念を抽出するための概念抽出手段と、
前記概念抽出手段により抽出された概念に応じて前記ジェスチャ機能確率モデルからサンプリングすることにより前記ジェスチャ機能のいずれかを選択するための手段とを含む、請求項１〜請求項７のいずれかに記載のアンドロイドのジェスチャ生成装置。
【請求項９】
前記特定の品詞は、名詞、動詞、副詞及び形容詞である、請求項８に記載のアンドロイドのジェスチャ生成装置。
【請求項１０】
各前記ジェスチャは、ジェスチャ開始前の位置からジェスチャの開始位置まで腕を移動させるための準備区間、ジェスチャ動作を行うストローク区間及び前記ストローク区間の後に腕をジェスチャ終了位置まで戻す終了区間に分割され、さらにジェスチャ動作の後に腕を静止させた状態を保つホールド区間を含むことがあり、
前記マッピング手段は、前記ジェスチャ選択手段がジェスチャを選択したときの単語の開始位置が前記ストローク区間の開始位置に一致するように前記ストローク区間を決定するストローク区間決定手段と、
前記ストローク区間決定手段により決定された前記ストローク区間の前に前記準備区間を設定するための準備区間設定手段と、
前記ストローク区間の後に前記ホールド区間を設定するホールド区間設定手段と、
前記ホールド区間の間に次のジェスチャが設定されているか否かにしたがって、当該次のジェスチャの前記準備区間の開始位置まで腕を移動させる区間を設ける処理と、前記ホールド区間の終了後に前記終了区間を設定する処理とを選択的に実行するための手段と、
前記選択されたジェスチャにしたがって、前記ストローク区間、前記準備区間、前記ホールド区間、及び前記終了区間における前記アンドロイドの腕に対し各区間について前記選択されたジェスチャの動作をマッピングするための手段と含む、請求項１〜請求項９のいずれかに記載のアンドロイドのジェスチャ生成装置。
【請求項１１】
前記マッピング手段が前記アンドロイドの腕の動作をマッピングする際に、前記ジェスチャのデータにより定められるアンドロイドの肘の位置座標を、前記ジェスチャのデータにより定められる肩、肘及び手首の位置、並びに前記アンドロイドの上腕及び前腕の長さにより定められる座標で置換するための肘座標置換手段をさらに含む、請求項１０の記載のアンドロイドのジェスチャ生成装置。
【請求項１２】
前記肘座標置換手段は、前記ジェスチャのデータにより定められる肩及び手首の位置を中心とし、前記アンドロイドの上腕の長さ及び前腕の長さを半径とする球の交円と、前記ジェスチャのデータにより定められる肩、肘及び手首の３次元座標との関係で定められる平面との２交点の３次元座標を求めるための手段と、
前記２交点の内、その３次元座標が前記ジェスチャのデータにより定められる肘の位置に近い方を前記アンドロイドの肘の座標として選択し、前記ジェスチャのデータにより定められる肘の座標と置換するための手段とを含む、請求項１１に記載のアンドロイドのジェスチャ生成装置。
【請求項１３】
前記ジェスチャのデータにより定められる肩、肘及び手首の３次元座標との関係で定められる前記平面は、前記ジェスチャのデータにより定められる肩、肘及び手首の各点を通る平面である、請求項１２に記載のアンドロイドのジェスチャ生成装置。
【請求項１４】
さらに、アンドロイドの各発話に関する談話機能を指定する情報を受け、当該情報により指定された談話機能が予め定める談話機能であるときには、前記ジェスチャ選択手段によるジェスチャ選択を制限するためのジェスチャ制限手段を含む、請求項１〜請求項１３のいずれかに記載のアンドロイドのジェスチャ生成装置。
【請求項１５】
前記予め定める談話機能は、相槌的発話である、請求項１４に記載のアンドロイドのジェスチャ生成装置。
【請求項１６】
コンピュータを、請求項１〜請求項１５のいずれかに記載のジェスチャ生成装置として機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はいわゆるロボットに関し、特に人型ロボットであるアンドロイドのジェスチャ制御に関する。
【背景技術】
【０００２】
最近のコンピュータ・サイエンスの発達により、人形のロボット、いわゆるアンドロイドをコンピュータで制御し動作させる研究が行われている。アンドロイドの動作として最初に考えられるのは、人との対話である。そのための要素技術としては、音声認識技術、対話技術、音声合成技術があるのは言うまでもないが、それ以外にも顔の表情、頭部及び体幹の動作の制御技術等がある。
【０００３】
一方、これらに加えて、人と人との会話では、発話に手（腕）の動きが伴うことが多い。こうした手の動きを本明細書ではハンドジェスチャ又は単にジェスチャと呼ぶ。こうしたジェスチャは話し手の理解を助けることが目的と考えることもできるし、話し手が自分を表現するための動きと考えることもできる。いずれにせよ、人と人との会話ではジェスチャが非常に大きな役割を果たしていると考えられる。
【０００４】
アンドロイドが発話する場合にも、アンドロイドに何らかのハンドジェスチャを行わせることが望ましい。アンドロイドは人に似た外観をしているので、発話とともにハンドジェスチャを行わせることにより、違和感のない会話を人と行うことができると考えられる。ただし、アンドロイドのように人間に近い形の機械の場合には、人の動きと似ているがやや異なる動きをすると「不自然な動き」として相手に捉えられることが多い。そのため、ジェスチャをできるだけ自然なものにする必要がある。
【０００５】
発話と連動してアンドロイドのジェスチャを生成する技術に関連して、ＣＧアニメーションのエージェントの発話に関するジェスチャ生成技術がある。後掲の非特許文献１には、テキストをエージェントのジェスチャ及び発話と同期させる技術が開示されている。非特許文献１によれば、発話の語彙及び統語情報はジェスチャの生成と強く関連しており、ジェスチャの発生を判定するために統語情報が有用であるとされている。このように語彙と強く関連するジェスチャとしては、図像ジェスチャが知られている。図像ジェスチャとは、具体的な物の形又は大きさ、状況若しくは出来事を表現するジェスチャのことをいう。
【０００６】
また、発話と連動するハンドジェスチャ生成においては、音声の韻律情報も関連することが知られている。例えば韻律のフォーカスと拍子ジェスチャ（小刻みな手の動きでリズム又は強調を表現するジェスチャ）との間には一定の関係がある。またジェスチャのストローク（ジェスチャが行われている時間区間）のピークはピッチアクセントとよく一致する。後掲の非特許文献２には、いわゆるボディランゲージの合成に韻律情報を用いる技術が提案されている。この技術では、リアルで思わず人を引き込むような動作が生成できるとされている。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Y.I. Nakano, M. Okamoto, D. Kawahara, Q. Li, T. Nishida. “Converting Text into Agent Animations: Assigning Gestures to Text,” In Proc. Human Language Technology Conference of the North American Association for Computational Linguistics, pp. 153-156, 2004.
【非特許文献２】S. Levine, C. Theobalt, V. Koltun. “Real-Time Prosody-Driven Synthesis of Body Language,” In SIGGRAPH Asia, 2009.
【非特許文献３】F. Petitjean, A. Ketterlin, and P. Gancarski. A global averaging method for dynamic time warping, with applications to clustering. Pattern Recognition, Vol. 44, No. 3, pp. 678-693, 2011.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記したような先行技術からは、語彙ジェスチャが発話中の語彙と関連することが分かる。また拍子ジェスチャは発話の韻律情報と関連することが分かる。しかし従来の技術では、いつ、どの程度だけジェスチャを生成すれば良いかについては明確でない。例えばジェスチャが常に発生するわけでもないので、どのようなときにジェスチャを生成し、どのようなときには生成しないかを明らかにする必要がある。またアンドロイドにそうしたジェスチャを行わせたときに、相手に違和感を生じさせないようにすることも必要だが、そうした観点からの先行技術は見当たらない。
【０００９】
それ故に本発明はアンドロイドの発話時に自然なジェスチャを生成するアンドロイドのジェスチャ生成装置及びコンピュータプログラムを提供することを主な目的とする。
【課題を解決するための手段】
【００１０】
本発明の第１の局面に係るアンドロイドのジェスチャ生成装置は、単語が発話されたときに生ずるジェスチャ機能の確率を規定するジェスチャ機能確率モデルを記憶するためのジェスチャ機能確率モデル記憶手段を含み、ジェスチャ機能は複数個に分類され、さらに、複数個のジェスチャ機能に対応して人間の腕のジェスチャが生ずる確率を、人間の腕の動きの種類に応じた複数個のジェスチャクラスタについてそれぞれ規定するジェスチャクラスタ確率モデルを記憶するためのジェスチャクラスタ確率モデル記憶手段と、入力された発話テキストの各単語について、当該単語に応じてジェスチャ機能モデルからサンプリングすることにより複数個のジェスチャ機能のいずれかを選択するためのジェスチャ機能選択手段と、ジェスチャ機能選択手段により選択されたジェスチャ機能に応じてジェスチャクラスタ確率モデルからサンプリングすることにより複数個のジェスチャクラスタのいずれかを選択し、選択されたジェスチャクラスタに属するジェスチャのいずれか１つを選択するためのジェスチャ選択手段と、ジェスチャ選択手段により選択されたジェスチャをアンドロイドの腕のジェスチャにマッピングするためのマッピング手段とを含む。
【００１１】
好ましくは、アンドロイドのジェスチャ生成装置はさらに、発話テキストに対応する音声信号の入力を受け、音声信号の韻律に基づいて発話の強調位置を検出するための強調位置検出手段と、強調位置を含む所定の時間期間において、アンドロイドの拍子ジェスチャを生成する第１の拍子ジェスチャ生成手段を含み、マッピング手段は、ジェスチャ選択手段により選択された腕のジェスチャと第１の拍子ジェスチャ生成手段の生成した拍子ジェスチャとを統合したジェスチャをアンドロイドの腕のジェスチャにマッピングするための統合ジェスチャマッピング手段を含む。
【００１２】
より好ましくは、強調位置検出手段は、音声信号の入力を受け、音声信号の基本周波数のピークであって、発話を行った話者の音声の基本周波数の平均値を超えるピークを検出するためのピーク検出手段と、ピーク検出手段の検出したピーク位置の内、直後に連続する基本周波数の下降値が３セミトーン以上であるピーク位置を強調位置として検出するための手段とを含む。
【００１３】
さらに好ましくは、第１の拍子ジェスチャ生成手段は、強調位置を含む０．７秒〜０．９秒の時間期間において、アンドロイドの拍子ジェスチャを生成する第２の拍子ジェスチャ生成手段を含む。
【００１４】
好ましくは、第２の拍子ジェスチャ生成手段がアンドロイドの拍子ジェスチャを生成する時間期間は、強調位置より第１の期間だけ前の発話位置から、強調位置より第２の期間だけ後の発話位置までの間であり、第１の期間は第２の期間より長い。
【００１５】
より好ましくは、第１の期間は０．５５秒であり、第２の期間は０．２５秒である。
【００１６】
さらに好ましくは、第１の拍子ジェスチャ生成手段は、アンドロイドの正立時の高さ方向に、所定の時間期間内におよそ１５度の角度まで腕を上げて下ろすジェスチャを生成する。
【００１７】
好ましくは、ジェスチャ機能確率モデルは、単語が表す概念ごとに、当該概念を表す単語が発話されたときに生ずるジェスチャ機能の確率を規定しており、ジェスチャ機能選択手段は、発話テキストの内、特定の品詞の単語の各々について、その概念を抽出するための概念抽出手段と、概念抽出手段により抽出された概念に応じてジェスチャ機能確率モデルからサンプリングすることによりジェスチャ機能のいずれかを選択するための手段とを含む。
【００１８】
より好ましくは、特定の品詞は、名詞、動詞、副詞及び形容詞である。
【００１９】
さらに好ましくは、各ジェスチャは、ジェスチャ開始前の手の位置からジェスチャの開始位置まで腕を移動させるための準備区間、ジェスチャ動作を行うストローク区間、及びストローク区間の後に腕をジェスチャ終了位置まで戻す終了区間に分割され、さらにジェスチャ動作の後に腕を静止させた状態を保つホールド区間を含むことがあり、マッピング手段は、ジェスチャ選択手段がジェスチャを選択したときの単語の開始位置がストローク区間の開始位置に一致するようにストローク区間を決定するストローク区間決定手段と、ストローク区間決定手段により決定されたストローク区間の前に準備区間を設定するための準備区間設定手段と、ストローク区間の後にホールド区間を設定するホールド区間設定手段と、ホールド区間の間に次のジェスチャが設定されているか否かにしたがって、当該次のジェスチャの準備区間の開始位置まで腕を移動させる区間を設ける処理と、ホールド区間の終了後に終了区間を設定する処理とを選択的に実行するための手段と、選択されたジェスチャにしたがって、ストローク区間、準備区間、ホールド区間、及び終了区間におけるアンドロイドの腕に対し、各区間について選択されたジェスチャの動作をマッピングするための手段と含む。
【００２０】
好ましくは、アンドロイドのジェスチャ生成装置は、マッピング手段がアンドロイドの腕の動作をマッピングする際に、ジェスチャのデータにより定められるアンドロイドの肘の位置座標を、ジェスチャのデータにより定められる肩、肘及び手首の位置、並びにアンドロイドの上腕及び前腕の長さにより定められる座標で置換するための肘座標置換手段をさらに含む。
【００２１】
より好ましくは、肘座標置換手段は、ジェスチャのデータにより定められる肩及び手首の位置を中心とし、アンドロイドの上腕の長さ及び前腕の長さを半径とする球の交円と、ジェスチャのデータにより定められる肩、肘及び手首の３次元座標との関係で定められる平面との２交点の３次元座標を求めるための手段と、２交点の内、その３次元座標がジェスチャのデータにより定められる肘の位置に近い方をアンドロイドの肘の座標として選択し、ジェスチャのデータにより定められる肘の座標と置換するための手段とを含む。
【００２２】
さらに好ましくは、ジェスチャのデータにより定められる肩、肘及び手首の３次元座標との関係で定められる平面は、ジェスチャのデータにより定められる肩、肘及び手首の各点を通る平面である。
【００２３】
アンドロイドのジェスチャ生成装置はさらに、アンドロイドの各発話に関する談話機能を指定する情報を受け、当該情報により指定された談話機能が予め定める談話機能であるときには、ジェスチャ選択手段によるジェスチャ選択を制限するためのジェスチャ制限手段を含む。
【００２４】
好ましくは、予め定める談話機能は相槌的発話である。
【００２５】
本発明の第２の局面に係るコンピュータプログラムは、コンピュータを、上記したいずれかのアンドロイドのジェスチャ生成装置として機能させる。
【００２６】
本発明の技術的範囲、その詳細及びその作用と有利な効果は、以下に述べる発明の詳細な説明を、添付した図面とともに参照することでより明確に理解できるであろう。
【図面の簡単な説明】
【００２７】
【図１】図１は、本発明の１実施の形態に係るジェスチャ生成システムの機能的構成を示すブロック図である。
【図２】図２は、図１に示す、テキストによるジェスチャ生成部及びその学習装置の概略構成を示す機能的ブロック図である。
【図３】図３は、学習時に収集する被験者の骨格情報を示す図である。
【図４】図４は、テキストによるジェスチャの時間的構成を示す模式図である。
【図５】図５は、韻律によるジェスチャの時間的構成を示す模式図である。
【図６】図６は、各談話機能に対するジェスチャの生起頻度を示すグラフである。
【図７】図７は、韻律に基づく拍子ジェスチャ生成部の概略構成を示す機能的ブロック図である。
【図８】図８は、アンドロイドの外観と腕のアクチェエータの配置を示す図である。
【図９】図９は、テキストによるジェスチャ生成のための前準備処理を実現するコンピュータプログラムの制御構造を示すフローチャートである。
【図１０】図１０は、一連の発話に対応するテキストによるジェスチャ生成を実現するプログラムの制御構造を示すフローチャートである。
【図１１】図１１は、図１０に示すプログラムの内、各発話についてジェスチャを生成する処理を実現するプログラムの制御構造を示すフローチャートである。
【図１２】図１２は、韻律による拍子ジェスチャ生成のポイントを決定する処理を実現するプログラムの制御構造を示すフローチャートである。
【図１３】図１３は、アンドロイドの腕のジョイントの初期状態を示す模式図である。
【図１４】図１４は、ジョイントごとの座標系の設定方法を説明するための図である。
【図１５】図１５は、隣接するジョイントの座標系の間の関係を説明するための図である。
【図１６】図１６は、アンドロイドの腕へのジェスチャのマッピング時に各ジョイントの角度を決定するためのプログラムの制御構造を示すフローチャートである。
【図１７】図１７は、アンドロイドの肘の位置を決定するプログラムの制御構造を示すフローチャートである。
【図１８】図１８は、アンドロイドの肘の位置の決定方法を説明するための模式図である。
【図１９】図１９は、アンドロイドの肘の位置の決定方法を説明するための模式図である。
【図２０】図２０は、アンドロイドのジェスチャ動作を制御するコンピュータの構成を示すブロック図である。
【図２１】図２１は、学習のためのジェスチャデータを収集する際の設定を説明するための模式図である。
【図２２】図２２は、図２１に示す設定における被験者の姿勢と得られた姿勢データとを示す図である。
【図２３】図２３は、被験者の動きから得たある特定のジェスチャに関するジェスチャクラスタを示すグラフである。
【図２４】図２４は、被験者の動きから得た、他の特定のジェスチャに関するジェスチャクラスタを示すグラフである。
【発明を実施するための形態】
【００２８】
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。
【００２９】
［第１の実施の形態］
＜構成＞
〔全体構成〕
図１は、本願発明の１実施の形態に係るジェスチャ生成システム５０の概略構成を示す。図１を参照して、ジェスチャ生成システム５０は、発話のテキスト６０と発話の談話機能６２とを受けてテキストによるジェスチャを生成する、テキストによるジェスチャ生成部６６と、ジェスチャ生成システム５０に対応する音声信号６４と談話機能６２とを受けて、音声の韻律に基づいて拍子ジェスチャを生成するための、韻律による拍子ジェスチャ生成部６８とを含む。談話機能とは、対話においてその発話が果たす機能のことをいう。談話機能には以下のようなものがある。
【００３０】
【表１】
2020006482.tif 000003
ジェスチャ生成システム５０はさらに、テキストによるジェスチャ生成部６６により生成されたテキストによるジェスチャと、拍子ジェスチャ生成部６８により生成された拍子ジェスチャとを統合するジェスチャ統合部７０と、ジェスチャ統合部７０により統合されたジェスチャにしたがってアンドロイドの上の各ジョイントのアクチュエータに対する指令値を生成し各アクチュエータに出力するアクチュエータ指令値生成部７２とを含む。
【００３１】
〔テキストによるジェスチャ生成部６６〕
図２は、テキストによるジェスチャ生成部６６の概略構成を、テキストによるジェスチャ生成部６６で使用する確率モデルの学習を行うための学習部９０の概略構成とともに示す。
【００３２】
学習部９０は、テキストによるジェスチャ生成部６６のための学習データを記憶する学習データ記憶部１００を含む。学習データは人の発話から収集した音声データであって、この音声データに音声を書き起こしたテキスト、ジェスチャ動作データ、及びジェスチャ機能データ（ジェスチャ機能を示すラベル）が付されたものである。ジェスチャ機能とは、そのジェスチャが持つ機能のことをいう。ジェスチャ機能には以下のようなものがある。
【００３３】
【表２】
2020006482.tif 000004
学習部９０はさらに、学習データ記憶部１００から各発話のテキストデータ１０２を読出し、各単語について日本語のＷｏｒｄＮｅｔ１０８を参照することにより各単語の概念を抽出する単語概念抽出部１１０と、学習データ記憶部１００からジェスチャ機能データ１０４を抽出し、単語概念抽出部１１０が発話の各単語について出力する、抽出された単語概念とあわせて統計的処理を行うことにより、各単語概念に対してどのようなジェスチャ機能がどのような確率で生ずるかに関するジェスチャ機能確率モデル９２（Ｐ（Ｇｆ｜Ｗｃ））を算出するためのジェスチャ機能確率モデル算出部１１４とを含む。ここでＧｆはジェスチャ機能を表し、Ｗｃは抽出された単語概念を表す。
【００３４】
学習部９０はさらに、学習データ記憶部１００に記憶された学習データから動作データ１０６を抽出し、同種のジェスチャごとに、ジェスチャを複数のクラスタに分類し各クラスタの動作データであるジェスチャクラスタデータを出力するためのジェスチャクラスタリング部１１２と、ジェスチャ機能データ１０４と、ジェスチャクラスタリング部１１２が出力するジェスチャクラスタデータとを用い、各ジェスチャ機能についてどのようなジェスチャクラスタがどのような確率で生成されるかに関するジェスチャクラスタ確率モデル９４（Ｐ（Ｇｃ｜Ｇｆ））を算出するジェスチャクラスタ確率モデル算出部１１６とを含む。ここでＧｃはジェスチャクラスタを表す。ジェスチャクラスタについては図２３及び図２４を参照して後述する。
【００３５】
ジェスチャ機能確率モデル９２及びジェスチャクラスタ確率モデル９４はいずれも図示しない記憶装置に記憶される。
【００３６】
本実施の形態では、ジェスチャクラスタリングでは、手の軌跡の距離により各ジェスチャを大、中、小の３クラスに分け、各クラスを２０クラスタずつにクラスタリングした。また、手の軌跡の始点を１０クラスタに分類した。
【００３７】
なお、学習データを準備する作業の例については、動作の欄で説明する。
【００３８】
テキストによるジェスチャ生成部６６は、アンドロイドが発話する各発話のテキストの入力を受けて、その各単語についてＷｏｒｄＮｅｔ１０８を参照して単語概念を抽出し出力するための単語概念抽出部１３０と、単語概念抽出部１３０の出力する、抽出された単語概念が付された各単語について、ジェスチャ機能確率モデル９２から単語概念に対するジェスチャ機能データをサンプリングし、その単語概念に対応するジェスチャ機能を１つ選択するためのジェスチャ機能サンプリング部１３２と、ジェスチャ機能サンプリング部１３２によりサンプリングされたジェスチャ機能について、ジェスチャクラスタ確率モデル算出部１１６により算出されたジェスチャクラスタ確率モデル９４からサンプリングすることにより、そのジェスチャ機能に対するジェスチャクラスタの１つを選択し、さらにそのクラスタに属するジェスチャの１つをランダムにサンプリングし出力するジェスチャサンプリング部１３４とを含む。ジェスチャサンプリング部１３４の出力はジェスチャデータの系列、すなわちジェスチャを表す、腕の各部の３次元座標データの系列となる。
【００３９】
図３に、本実施の形態で使用する３Ｄ骨格データの各点を示す。図３を参照して、ジェスチャを表す点として、アンドロイドの股間を点１として、図３に示すような点０〜点８を使用した。さらに、右手及び左手についてもそれぞれ点９〜２３及び点１４〜２８を使用した。
【００４０】
本実施の形態では、各ジェスチャはジェスチャフレーズに分割し、ジェスチャ機能ごとに表２に示す談話機能ラベルのいずれかを付している。
【００４１】
図４を参照して、各ジェスチャフレーズ２００は、ジェスチャの前のレスト区間２１０に引き続き、準備区間２１２、ストローク区間２１４、ホールド区間２１６及び終了区間２２０を含み、終了区間２２０の後にジェスチャ後のレスト区間２２２となる。これらに関する説明は以下のとおりである。
【００４２】
【表３】
2020006482.tif 000005
なお、図４に示すように、ホールド区間２１６から準備区間２１２に戻る経路２１８をたどる場合もある。これは、１つのジェスチャに続いて被験者が次のジェスチャを行った場合を表す。また最初のレスト区間２１０と最後のレスト区間２２２とにおいて、手の位置は必ずしも同じではない。
【００４３】
ジェスチャのラベルの内、アダプタについては他のジェスチャと異なり、図５に示すようなジェスチャフレーズ２５０を用いた。ここで「アダプタ」とは、個人による癖のことをいう。例えば、口元を手で隠したり、髪の毛を手で触ったりという動作である。図５を参照して、アダプタのためのジェスチャフレーズ２５０は、レスト区間２６０とレスト区間２６４との間に設けられたアダプタ区間２６２を含む。
【００４４】
また、ジェスチャフレーズ２００とは別に、拍子が生成された場合には、ホールド区間２１６内に拍子区間２３０を設ける。拍子が複数生成された場合には図４に示すように連続して（又は所定時間をおいて）拍子区間２３２を設ける。以下同様である。
【００４５】
なお、後述するように、被験者による対話データから発話とジェスチャの生起率との関係を調べたところ、図６に示すようになった。図６の横軸は、表１に示す談話機能の種類を示し、縦軸はその生起率を示す。図６から分かるように、談話機能ｂｃ（応答詞）及びｂｃ２（応答詞以外の相槌的発話）では、ジェスチャの生起率が他の談話機能より低く、ほとんど生起していないことがわかった。一方、発話中のフレーズ（ｋ及びｋ２）ではジェスチャの生起率が最も高く、発話終了のフレーズ（ｇ及びｑ）ではジェスチャの生起率は中間的であることがわかった。これらの談話機能とジェスチャの生起率との関連性の結果を利用して、本実施の形態では、談話機能に応じて、テキストによるジェスチャ生成及び韻律情報による拍子ジェスチャ生成を制限する機能を備えた。具体的には、談話機能が相槌的発話（ｂｃ及びｂｃ２）の場合には、テキストによるジェスチャ生成部６６及び韻律情報による拍子ジェスチャ生成部６８が何らかの動作を生成するような場合でも、ジェスチャを生起させないというスイッチのような働きをする機能を実現した。この仕組については後述する。
【００４６】
〔韻律情報による拍子ジェスチャ生成部６８〕
図７に、韻律による拍子ジェスチャ生成部６８の概略構成を示す。図７を参照して、韻律による拍子ジェスチャ生成部６８は、アンドロイドが発話する音声の入力を受け、その音声の韻律から発話の強調位置である韻律フォーカスを推定しその位置を特定する情報を出力する韻律フォーカス推定部２８０と、韻律フォーカス推定部２８０の出力を受けて、韻律フォーカスの生じた時点を基準に拍子ジェスチャを生成する拍子ジェスチャ生成部２８２とを含む。
【００４７】
拍子ジェスチャ生成部２８２の出力を図１及び図２に示すテキストによるジェスチャ生成部６６の出力に加算することで両者が統合され、アンドロイドのジェスチャが生成される。
【００４８】
図８に、実施の形態で使用するアンドロイドの一例の外観と、このアンドロイドの左腕を構成する各ジョイントの初期状態とを示す。上記したようにして生成されたアンドロイドのジェスチャは、肩、肘、手首、指の３次元座標の時系列データにより表現される。ここでは、アンドロイドの座標系として、アンドロイドの胸を基準点とし、アンドロイドから見て前方にｘ軸が、アンドロイドの左右方向にｙ軸が、上下方向にｚ軸がそれぞれ設定される。この３次元座標を再現するように図８に示す各ジョイントの角度を計算することでジェスチャがアンドロイドの腕により再現される。各ジョイントの角度が分かれば、ジョイントの可動範囲から各ジョイントのアクチュエータへの指令値を計算できる。入力情報としての３次元の座標は、データを収集した被験者の腕の長さによってスケーリングされた値として表現される。このスケーリングにより、ジェスチャを表すデータは腕の伸ばし具合を示すことになるので、ジェスチャの再現度が保たれる。
【００４９】
図８において、胸の中心を基準点とし、基準点からｉ番目のジョイントの座標系行列をＴｉ、行列Ｔｉの座標系のｘ軸、ｙ軸、ｚ軸成分をそれぞれｘｉ、ｙｉ、ｚｉ、回転角度をθｉとする。図１に示すアクチュエータ指令値生成部７２は、ジェスチャ統合部７０により出力されるジェスチャデータを用いて、各ジョイントの座標がジェスチャデータにより特定される座標ｘｉ、ｙｉ、ｚｉとなるようにジョイントの回転角度θｉを順番に計算することでジェスチャデータをアンドロイドの腕にマッピングする。このマッピングの詳細については図１３〜図１９以降を参照して後述する。
【００５０】
〔テキストによるジェスチャ生成の準備作業〕
テキストによるジェスチャ生成部６６により行われるジェスチャ生成の前に、以下のような準備作業が必要になる。図９に、その準備作業をコンピュータのハードウェアとの協働により実現するプログラムの制御構造を示す。図９を参照して、このプログラムは、被験者の対話セッションから得られた書き起こしテキストと、その各単語に付されたジェスチャ機能ラベルとの関係性を計算し、単語の概念が与えられたときにどのジェスチャ機能がどのような確率で生成されるかに関するジェスチャ機能確率モデルを生成するステップ３００と、被験者の対話セッションから得られたジェスチャデータを３次元ジェスチャに変換するステップ３０２と、ジェスチャデータをその軌跡の長さにより大、中、小の３クラスに分類し、各クラスのジェスチャデータを２０のクラスタにクラスタリングし、さらに各ジェスチャの始点を１０クラスにクラスタリングするステップ３０４とを含む。
【００５１】
このプログラムはさらに各ジェスチャ機能ラベルと、そのジェスチャ機能ラベルに対して、各クラスタのジェスチャ動作がどの程度の確率で生じるかに関する関係性を計算し、ジェスチャクラスタ確率モデル９４を生成するステップ３０６と、実際にジェスチャを生成する区間を決定するステップ３０８と、韻律情報から拍子のジェスチャを生成するタイミングを推定するステップ３１０とを含む。
【００５２】
〔テキストによるジェスチャ生成〕
ジェスチャ生成処理を実現するプログラムの制御構造を図１０を参照して説明する。このプログラムは、入力された文章に含まれる文の各々に対して、指定された談話機能がｂｃでもｂｃ２でもないとステップ３３１で判定されたときに限りジェスチャ生成処理３３２を実行する処理を繰返すことにより、入力された文章の全体についてアンドロイドの腕をテキストにしたがって動かすためのジェスチャデータを生成するステップ３３０と、ステップ３３０で生成された各ジェスチャデータについて、ホームポジション（ジェスチャの前後のレスト区間での腕のデフォルト位置）からジェスチャのストロークまでの区間、及びジェスチャ終了からホームポジションへの動作データを生成し、文章全体のジェスチャデータを生成するステップ３３４と、ステップ３３４で生成されたジェスチャデータにしたがってアンドロイドの腕を動かすために、これらジェスチャデータをアンドロイドの動作にマッピングするステップ３３６と、図９にステップ３１０で選択された拍子ジェスチャの生成ポイントの各々において、ジェスチャの始点及び終点を決定して処理を終了するステップ３３８とを含む。
【００５３】
ステップ３３１により示されるように、談話機能が相槌的発話（ｂｃ及びｂｃ２）の場合には、テキストによるジェスチャ生成部６６及び韻律情報による拍子ジェスチャ生成部６８が何らかの動作を生成するような場合でも、ジェスチャを生起させない。すなわちステップ３３１により、ジェスチャ生成機能を制限するスイッチのような機能を実現した。
【００５４】
図１１を参照して、図１０のジェスチャ生成処理３３２は、処理対象の文を形態素解析し形態素列を出力するステップ３６０と、ステップ３６０の処理により出力された形態素の各単語について、図２に示すジェスチャ機能確率モデル算出部１１４により算出されたジェスチャ機能確率モデル９２をサンプリングすることによってジェスチャ機能ラベルを推定するステップ３６２とを含む。ステップ３６２では、単語の内、品詞が形容詞、動詞、名詞、及び副詞のいずれかである場合のみ、その単語に対してジェスチャ機能ラベルを推定する。これ以外のときにはジェスチャは生成しない。
【００５５】
このプログラムはさらに、発話区間内に拍子ジェスチャ生成タイミングがあるか否かを判定して制御を分岐させるステップ３６４と、ステップ３６４の判定が肯定のときに、さらにステップ３６２で推定されたジェスチャ機能ラベルが「ジェスチャなし」か否かを判定し、判定結果に応じて制御の流れを分岐させるステップ３６８と、ステップ３６８の判定が肯定のときに、ジェスチャ機能ラベル付きジェスチャから１つを選択するステップ３６８と、ステップ３６８で選択された拍子ジェスチャの開始地点１フレームをストロークとしてジェスチャとするステップ３７０とを含む。
【００５６】
このプログラムはさらに、直前に他のジェスチャがあるか否かを判定し判定結果に応じて制御の流れを分岐させるステップ３７２と、ステップ３７２の判定が肯定であるときに、直前のジェスチャが属するジェスチャ始点クラスタを選択し、そのジェスチャ始点クラスタから、推定した機能ラベルと同じジェスチャをランダムに選択するステップ３７４と、直前のジェスチャの終点と、生成したジェスチャの始点とを線形補間するステップ３７６とを含む。
【００５７】
このプログラムはさらに、ステップ３７２の判定が否定のときに、図２に示すジェスチャクラスタ確率モデル算出部１１６により生成されたジェスチャクラスタ確率モデル９４を用いてサンプリングすることによりジェスチャ機能からジェスチャクラスタを推定するステップ３７８と、推定されたジェスチャクラスタのジェスチャを選択するステップ３８０と、ステップ３７６の後、及びステップ３８０の後に実行され、ホールドのジェスチャを発話区間に応じてジェスチャに付加して処理を終了するステップ３８２とを含む。
【００５８】
〔韻律による拍子ジェスチャ生成の準備作業〕
図１２に、ステップ３１０のより詳細なフローチャートを示す。図１２を参照して、ステップ３１０は、各発話の音声信号からその基本周波数Ｆ０を抽出するステップ４３０と、予め記憶装置に補間されていた各発話者のＦ０の平均値を算出するステップ４３２と、Ｆ０が平均値を超える位置を選択するステップ４３４と、Ｆ０ピーク位置を検出するステップ４３６と、ステップ４３６で検出された各ピーク位置に対して以下に説明する処理４４０を実行することにより拍子ジェスチャを生成する位置を選択して処理を終了するステップ４３８とを含む。
【００５９】
処理４４０は、そのピーク位置におけるＦ０下降値が３セミトーンより大きいか否かを判定するステップ４６０と、ステップ４６０の判定が肯定のときに、そのＦ０ピーク位置をジェスチャ生成点として選択して処理４４０の実行を終了するステップ４６２とを含む。ステップ４６０の判定が否定であれば拍子ジェスチャを生成せず処理４４０の実行を終了する。
【００６０】
〔ジェスチャのマッピング〕
図１３を参照して、アンドロイドの腕６００を構成する各ジョイントの座標系の設定の仕方について説明する。胸の中心を基準点とし、基準点からｉ番目のジョイントの座標系行列をＴｉ、行列Ｔｉの座標系のｘ軸、ｙ軸、ｚ軸成分をそれぞれｘｉ、ｙｉ、ｚｉ、回転角度をθｉジョイント間の長さをｌｉとする。なお、各ジョイントには図１３に示されるように番号が割り当てられている。
【００６１】
まず、行列Ｔｉのｚ軸成分を設定する。図１４を参照して、θｉの回転方向が右ねじ回転となる軸方向をｚｉの正方向に設定する。ｚｉを設定した後に、ｚｉ−１×ｚｉ≡ｘｉより、ｘ軸を設定する。このとき、外積が０になってｘ軸成分が求められない場合には、前の座標の原点から共通垂線をとることで軸設定を行う。ｘ軸とｚ軸を設定すれば、右手座標系よりｙ軸も設定できる。各ジョイントに座標系を定めることができれば、隣接するジョイント間の座標系の変換行列が求められる。ジョイントＴｉがジョイントＴｉ―１に対してどのような位置にあるのかを考えて変換行列を求める。
【００６２】
図１５に図１４から得られる関係を示す。図１５は、θｉ―１が回転した際、ジョイントＴｉの成分がどのように変化するかを示す。図１４及び図１５より、Ｔｉ−１からＴｉへの変換行列をＡｉとすると行列Ａｉは以下のようになる。
【００６３】
【数１】
2020006482.tif 000006
ｉ番目の各ジョイントの行列ＴｉはＴｉ＝Ｔｉ―１×Ａｉを満たし、一般的には以下のように表される。
【００６４】
【数２】
2020006482.tif 000007
ここでＭはその座標系の軸成分、Ｘ、Ｙ、及びＺは座標を表す。
【００６５】
これらの式で表される隣り合う座標系間の変換行列を順番に掛け合わせていくことで求まる行列が、各ジョイントの座標系の軸成分及び３次元座標を表す。
【００６６】
上のようにして求めた各変換行列に、各ジョイントの角度を与えることでそれぞれのジョイントの３次元座標を求めることができる。このように角度を与えてジョイントの座標を推定することは順運動学と呼ばれる。一方、逆にジョイントの座標を与えて各ジョイントの角度を求めることは逆運動学と呼ばれる。本実施の形態では、逆運動学、内積及び外積を用いることで３点（肩、肘、手首）の３次元座標から各ジョイントの角度計算を行う。右腕の変換行列と座標系は、アンドロイドの座標系におけるｘ−ｙ平面に対して面対称となっている。したがって右腕の各ジョイントに関する変換行列と座標系を求める必要はなく、左腕の座標系を用いることで計算できる。
【００６７】
ここで、肩、肘、手首に対応する座標系はそれぞれＴ４、Ｔ６及びＴ８となり、入力座標として３点の３次元座標が与えられることになる。したがって、これらの３次元位置の等式から各ジョイントの角度を計算できる。ただし、人間とアンドロイドとでは上腕及び前腕の長さが異なる。そのため、人間のジェスチャから得た情報をそのままアンドロイドに適用すると、肘の位置が適切に定められず、手の動きが不自然となる。そこで本実施の形態では、肩及び手首の位置は人間のジェスチャデータから得られた座標を用いることとし、肘の位置は人間のジェスチャデータから得た人間の肩、肘及び手首の３次元座標により定められる平面上に定めるという制約条件の下で決定するようにした。以下、その具体的手順を含めてアンドロイドの各ジョイントの角度を計算する処理を実現するプログラムについて図１６を参照して説明する。
【００６８】
図１６を参照して、このプログラムは、人間のジェスチャから得たジェスチャデータの肩及び手首の３次元座標から、アンドロイドの肘の３次元座標を決定するステップ６２０と、ジョイントθ１及びθ２の回転角度を求めるステップ６２２と、以下順番にジョイントθ４、θ３、θ６、θ５、θ８及びθ７の回転角度をそれぞれ求めるステップ６２４、６２６、６２８、６３０、６３２及び６３４とを含む。
【００６９】
図１７のステップ６２０を実現するプログラムは、図１８に示されるように入力された手首の位置７１０を中心、アンドロイドの前腕の長さを半径とする球７１２と、入力された肩の位置７１４を中心、アンドロイドの上腕の長さを半径とする球７１６との交円７１８を求めるステップ６８０と、この交円７１８と、入力情報として与えられた肩、肘、手首の３点を通る平面との交点７２０及び７２２を求めるステップ６８２と、この２つの交点７２０及び７２２の内、入力された肘の３次元座標位置に近い方の点を肘の位置として、ジェスチャデータの肘座標を置換するステップ６８４とを含む。
【００７０】
この過程を図示すると図１９のようになる。入力された肩、肘及び手首の座標に対応する３次元座標の位置７１０、７５０及び７１４により平面７５２が定まる。一方、ステップ６８２の処理により、この平面上に上記した２つの球の２つの交点７２０及び７２２が求められる。これら２つの交点７２０及び７２２の内、入力された肘の位置７５０に近い点が交点７２２であったものとすれば、入力された肘の位置７５０に代えて交点７２２の位置をアンドロイドの肘の位置として選択する。すなわち肘の位置７５０の３次元座標を交点７２２の３次元座標で置換する。
【００７１】
図１６のステップ６２２以降の処理は、前記した逆運動学により、各ジョイント位置の３次元座標から各ジョイントの回転角度を求めていく処理である。
【００７２】
〔コンピュータによる実現〕
上記した実施の形態に係るジェスチャ生成システム５０及び学習部９０の各機能部は、それぞれコンピュータハードウェアと、そのハードウェア上でＣＰＵ（中央演算処理装置）及びＧＰＵ（Graphics  Processing  Unit）により実行されるプログラムとにより実現できる。図２０に上記各装置及びシステムを実現するコンピュータハードウェアの構成を示す。ＧＰＵは通常は画像処理を行うために使用されるが、このようにＧＰＵを画像処理ではなく通常の演算処理に使用することも可能である。
【００７３】
図２０を参照して、このコンピュータシステム８３０は、メモリポート８５２及びＤＶＤ（Digital  Versatile  Disk）ドライブ８５０を有するコンピュータ８４０と、キーボード８４６と、マウス８４８と、モニタ８４２とを含む。
【００７４】
コンピュータ８４０は、メモリポート８５２及びＤＶＤドライブ８５０に加えて、ＣＰＵ８５６及びＧＰＵ８５８と、ＣＰＵ８５６、ＧＰＵ８５８、メモリポート８５２及びＤＶＤドライブ８５０に接続されたバス８６６と、ブートプログラム等を記憶する読出専用メモリであるＲＯＭ８６０と、バス８６６に接続され、プログラム命令、システムプログラム及び作業データ等を記憶するコンピュータ読出可能な記憶媒体であるランダムアクセスメモリ（ＲＡＭ）８６２と、ハードディスク８５４とを含む。コンピュータ８４０はさらに、いずれもバス８６６に接続され、他端末との通信を可能とするネットワーク８６８への接続を提供するネットワークインターフェイス（Ｉ／Ｆ）８４４と、外部との音声信号の入出力を行うための音声Ｉ／Ｆ８７０とを含む。
【００７５】
コンピュータシステム８３０を上記した実施の形態に係る各装置及びシステムの各機能部として機能させるためのプログラムは、ＤＶＤドライブ８５０又はメモリポート８５２に装着される、いずれもコンピュータ読出可能な記憶媒体であるＤＶＤ８７２又はリムーバブルメモリ８６４に記憶され、さらにハードディスク８５４に転送される。又は、プログラムはネットワーク８６８を通じてコンピュータ８４０に送信されハードディスク８５４に記憶されてもよい。プログラムは実行の際にＲＡＭ８６２にロードされる。ＤＶＤ８７２から、リムーバブルメモリ８６４から又はネットワーク８６８を介して、直接にＲＡＭ８６２にプログラムをロードしてもよい。また、上記処理に必要なデータは、ハードディスク８５４、ＲＡＭ８６２、ＣＰＵ８５６又はＧＰＵ８５８内のレジスタ等の所定のアドレスに記憶され、ＣＰＵ８５６又はＧＰＵ８５８により処理され、プログラムにより指定されるアドレスに格納される。上記プログラムの実行に必要なパラメータは、上記プログラムとあわせて例えばハードディスク８５４に格納されたり、ＤＶＤドライブ８５０及びメモリポート８５２をそれぞれ介してＤＶＤ８７２又はリムーバブルメモリ８６４に格納されたりする。又は、ネットワークＩ／Ｆ８４４を介してネットワーク８６８に接続された他のコンピュータ又は記憶装置に送信される。
【００７６】
このプログラムは、コンピュータ８４０を、上記実施の形態に係る各装置及びシステムとして機能させるための複数の命令からなる命令列を含む。上記各装置及びシステムにおける数値演算処理は、ＣＰＵ８５６及びＧＰＵ８５８を用いて行う。コンピュータ８４０にこの動作を行わせるのに必要な基本的機能のいくつかはコンピュータ８４０上で動作するオペレーティングシステム若しくはサードパーティのプログラム又はコンピュータ８４０にインストールされる、ダイナミックリンク可能な各種プログラミングツールキット又はプログラムライブラリにより提供される。したがって、このプログラム自体はこの実施の形態のシステム、装置及び方法を実現するのに必要な基本的機能全てを必ずしも含まなくてよい。このプログラムは、命令の内、所望の結果が得られるように制御されたやり方で適切な機能又はプログラミングツールキット又はプログラムライブラリ内の適切なプログラムを実行時に動的に呼出すことにより、上記したシステム、装置又は方法としての機能を実現する命令のみを含んでいればよい。もちろん、プログラムのみで必要な機能を全て提供してもよい。
【００７７】
例えば図２に示す学習データ記憶部１００、ジェスチャ機能確率モデル９２及びジェスチャクラスタ確率モデル９４を記憶する記憶装置等はハードディスク８５４に記憶される。またＷｏｒｄＮｅｔ１０８はネットワーク上に存在しており、図２０に示すネットワークＩ／Ｆ８４４を介してアクセスする。入力される音声信号は音声Ｉ／Ｆ８７０によりデジタル化され、ハードディスク８５４に記憶された後、ＣＰＵ８５６及びＧＰＵ８５８により処理される。
【００７８】
＜動作＞
〔学習データの準備〕
学習データは以下のような手順で準備した。なお、以下に述べる手順は一例であってこれ以外の方法でも目的に照らして適切な手順で学習データを準備してもよい。
【００７９】
図２１に、学習データ記憶部１００に記憶する学習データを生成するための音声及びジェスチャデータを収集した際の設定１５０を示す。図２１を参照して、設定１５０では、３人の被験者１６０、１６２及び１６４が会話している間にデータを収録した。具体的には、被験者１６０、１６２及び１６４の音声、映像及びモーションデータを、各被験者が装着したヘッドセットのマイク、ＲＧＢ−ＤＫＩＮＥＣＴセンサ、及び頭部と背中に装着したＩＭＵセンサにより収録した。この設定１５０でのデータ週力は何回かのセッションに分けて行った。各セッションは２０分〜３０分間で、対話のトピックはランダムなものであった。
【００８０】
各発話はフレーズ単位で分割し、ネイティブスピーカによりテキストに書き起こした。本実施の形態では、４人の被験者による８回のセッションで収録したデータから学習データを作成した。各フレーズには談話機能を表すラベルを人手により付した。ここで使用した談話機能ラベルは表１に記載したとおりである。
【００８１】
ジェスチャ動作に関する３Ｄ骨格データ及び２Ｄ骨格をＫＩＮＥＣＴセンサの出力及びＫＩＮＥＣＴセンサのビデオ映像から抽出した。図２２に被験者の映像と、その映像から得られた２Ｄ骨格データの例を示す。３Ｄ骨格データは条件により補正が必要で細かい部分（例えば指）については測定できない。一方、２Ｄ骨格データはより精度が高く、指等に関する情報を得ることもできるが２Ｄデータであるという制約がある。そこで、これらを統合することで、各被験者の肩、肘、手首、及び手の３Ｄ位置を推定する処理を行った。
【００８２】
図３に示すのは、統合後の３Ｄ骨格データの各点である。図３を参照して、点０、１、２、３及び６はＫＩＮＥＣＴの出力から直接得られる。肘及び手首の関節（点４、５、７及び８）についてはＫＩＮＥＣＴから得た３次元骨格データとＫＩＮＥＣＴのビデオ映像から得た２次元骨格データとを統合して計算した。具体的には、例えば肘関節の位置を求める場合、まず肩を中心とし被験者の上腕の長さと同じ半径の球上に肘関節の位置の３Ｄ候補をいくつか定める。これら候補を２Ｄ骨格データの平面に投影し、２Ｄ骨格データ上で肘関節の画像の位置に最も近い位置に投影される３Ｄ候補を肘関節としその位置を求める。同様にして手首及び手の位置についても推定できる。
【００８３】
このようにデータをキャプチャし、分割し、３Ｄデータに変換することで、３Ｄ空間における被験者の肩、肘、手首及び手の位置のベクトル表現が得られ、このベクトル表現の時系列でジェスチャの動きを表すことができる。この際、被験者による位置のずれを、各被験者の両肩の間の距離、首と胴体との間の距離又は腕の長さを用いて正規化した。
【００８４】
ところで、人間のジェスチャは複雑であって、そのパターンは様々である。そこで、キャプチャされたジェスチャの内のストローク区間に関し、前述したとおりｋ平均法によるクラスタリングを行った。ジェスチャデータは時系列データであるため、ベクトル間のユークリッド距離によるクラスタリングは不適切である。そこで、入力時系列について非線形な時間軸の伸長及び縮小が可能な動的タイムワーピング（ＤＴＷ）技術を用いた。この手法は前掲の非特許文献３に基づくものである。
【００８５】
このクラスタリングでは、手の軌跡の距離により各ジェスチャを大、中、小の３クラスに分け、各クラスを２０クラスタずつにクラスタリングした。
【００８６】
図２３及び図２４に、このクラスタリングの結果として得られるストロークの軌跡を視覚化したものを示す。図２３において（Ａ）は左手の垂直方向の大クラスの動きを前方から見たときの各クラスタの軌跡を示し、（Ｂ）は同じ動きを前方から見たときの軌跡を示す。図２４において（Ａ）は右手を置く方向に動かす中クラスの動きを前方から見たときの各クラスタの軌跡を示し、（Ｂ）は同じ動きを前方から見たときの軌跡を示す。
【００８７】
なお、ここで得られるクラスタはあくまでこの実施の形態のために収集したジェスチャデータから得られたものである。ジェスチャデータを収集する条件が異なればこのクラスタも異なってくるのは当然である。またクラスタは動きの大きさによって大、中、小の３クラスに分けたがこれには限定されない。２つ又は４つ以上であってもよい。場合によってはこうしたクラス分けをしない事もあり得る。さらに、各クラスでのクラスタ数を全て２０個としたがこの個数も限定されない。また各クラスに含まれるクラスタを同数とする必要もない。
【００８８】
さらにこのとき、ストローク開始点での両手の３次元位置に対し、コスト関数をユークリッド距離とした１０クラス分類を行った。この結果得られたクラスタを本実施の形態ではジェスチャ始点クラスタと呼んでいる。
【００８９】
〔テキストによるジェスチャ生成部６６の学習〕
テキストによるジェスチャ生成部６６の学習は以下のようにして行われる。図２に示す単語概念抽出部１１０が、学習データ記憶部１００から各発話のテキストデータ１０２を読出し、各単語についてＷｏｒｄＮｅｔ１０８を参照することにより各単語の概念を抽出する。ジェスチャ機能確率モデル算出部１１４は、学習データ記憶部１００からジェスチャ機能データ１０４を抽出し、単語概念抽出部１１０が発話の各単語について出力する、抽出された単語概念ごとに統計的処理を行い、各単語概念に対してどのようなジェスチャ機能が生ずるかに関するジェスチャ機能確率モデル９２（Ｐ（Ｇｆ｜Ｗｃ））を算出する。前述のようにＧｆはジェスチャ機能を表し、Ｗｃは抽出された単語概念を表す。
【００９０】
さらに、ジェスチャクラスタリング部１１２が、学習データ記憶部１００に記憶された学習データから動作データ１０６を抽出し、ジェスチャを複数のクラスタに分類し各クラスタの動作データであるジェスチャクラスタデータを出力する。ここでのクラスタリングでは、各ジェスチャのストローク部分を抽出してストローク部分のみのデータを生成する。このストローク部分の大きさに基づいてストロークを大、中、小の３クラスに分類する。さらに、これらのジェスチャデータを手首のジェスチャ開始時点を原点とするように平行移動し、フレーム長が一定になるように時間方向に対してリサンプリングする。こうして得られたジェスチャデータについて、大、中、小の各クラスについて２０クラスタずつにクラスタリングする。この処理によりジェスチャ動作クラスタが得られる。
【００９１】
さらに、ストローク開始時点での、両手の３次元位置について、コスト関数をユークリッド距離とした１０クラス分類を行ってジェスチャ始点クラスタを生成する。
【００９２】
ジェスチャクラスタ確率モデル算出部１１６は、ジェスチャ機能データ１０４と、ジェスチャクラスタリング部１１２が出力するジェスチャクラスタデータとを用い、各ジェスチャ機能についてどのようなジェスチャクラスタがどのような確率で生成されるかに関するジェスチャクラスタ確率モデル９４（Ｐ（Ｇｃ｜Ｇｆ））を算出する。
【００９３】
〔テキストによるジェスチャ生成〕
テキストによるジェスチャ生成部６６の単語概念抽出部１３０は、アンドロイドが発話する各発話のテキストの入力を受けて、その各単語についてＷｏｒｄＮｅｔ１０８を参照して単語概念を抽出し出力する。ジェスチャ機能サンプリング部１３２は、単語概念抽出部１３０の出力する各単語について、ジェスチャ機能確率モデル算出部１１４により算出されたジェスチャ機能確率モデル９２から、その単語に対応する単語概念に対するジェスチャ機能データをサンプリングし出力する。ジェスチャサンプリング部１３４は、ジェスチャ機能サンプリング部１３２によりサンプリングされたジェスチャ機能について、ジェスチャクラスタ確率モデル９４からサンプリングすることにより、そのジェスチャ機能に対するジェスチャクラスタの１つを選択し、そのジェスチャクラスタに属するジェスチャをランダムに１つ選択し出力する。ジェスチャサンプリング部１３４の出力はジェスチャデータの系列、すなわちジェスチャを表す３次元座標データの系列となる。このジェスチャデータの系列が図１に示すジェスチャ統合部７０に与えられる。
【００９４】
〔韻律による拍子ジェスチャ生成〕
図７を参照して、韻律による拍子ジェスチャ生成部６８の韻律フォーカス推定部２８０は、アンドロイドが発話する音声の入力を受け、基本周波数に基づいて音声の強調位置である韻律フォーカスを推定しその位置を特定する情報を出力する。
【００９５】
より具体的には、図１２に示すように、音声から基本周波数Ｆ０を抽出し（ステップ４３０）、その発話者について予め測定されていた基本周波数の平均値を算出する（ステップ４３２）。そして、音声信号の基本周波数がこの平均値を超える位置を選択する（ステップ４３４）。その区間から基本周波数がピークとなる位置を検出する（ステップ４３６）。
【００９６】
さらに、このようにして検出された各ピーク位置について、その後の基本周波数の下降値が３セミトーンより大きい場合（ステップ４６０でＹＥＳ）にそのピーク位置を韻律による拍子ジェスチャの生成ポイントに選択する（ステップ４６２）。こうして、発話中で拍子ジェスチャを生成すべきポイントが全て特定される（ステップ４３８）。
【００９７】
さらに拍子ジェスチャ生成部２８２は、韻律フォーカス推定部２８０の出力を受けて、韻律フォーカスの生じた単語位置の開始位置と同期させて拍子ジェスチャを生成する。この実施の形態では、ステップ４３８で特定された各ポイントについて、その前の所定時間とその後の所定時間とを拍子ジェスチャの時間期間とする。前の所定時間は後の所定時間より長い方がより動作が自然となる。具体的には、本実施の形態ではステップ４３８で特定されたポイントの前０．５５秒の位置を始点、後ろ０．２５秒を終点とする。拍子ジェスチャ生成部２８２は、こうして定められ始点と終点との間で、予め定められた動き（上下に１５度の角度で手を動かす）である拍子ジェスチャデータを生成し、ジェスチャ統合部７０に出力する。
【００９８】
なお、本実施の形態では、拍子ジェスチャ区間は合計で０．８秒としたが、これには限定されない。他のジェスチャの継続時間の分布から考えて、拍子ジェスチャ区間は０．７秒から０．９秒程度の期間で設けることが望ましい。
【００９９】
また拍子ジェスチャは、拍子ジェスチャ区間内において、アンドロイドの状態が正立している状態で、手首を１５度まで上方に上げ、かつ元の位置まで下げるように生成する。
【０１００】
〔ジェスチャ統合部７０によるジェスチャの統合〕
ジェスチャ統合部７０は、テキストによるジェスチャ生成部６６の出力する、テキストによるジェスチャデータに、拍子ジェスチャ生成部６８が出力するジェスチャデータを重畳しアクチュエータ指令値生成部７２に与える。
【０１０１】
〔ジェスチャのマッピング〕
図１７を参照して、アクチュエータ指令値生成部７２は、ジェスチャ統合部７０からジェスチャデータが与えられると、その各データに対して、手首の位置を中心、アンドロイドの前腕の長さを半径とする球と、アンドロイドの肩の位置を中心、アンドロイドの上腕の長さを半径とする球との交円を求める（ステップ６８０）。この交円と、入力情報として与えられるジェスチャデータの肩、肘、及び手首の３点を通る平面との２つの交点を求める（ステップ６８２）。そして、これら２つの交点の内、入力された肘の位置に近い交点をアンドロイドの肘の位置とする（ステップ６８４）。
【０１０２】
図１６を参照して、以上のようにしてステップ６２０でアンドロイドの肘の位置が決定されると、それに基づいて、図１６に示すステップ６２２〜６３４を順番に実行することによって、アンドロイドの腕の各ジョイントの回転角度を算出し、アクチュエータ指令値として出力する。
【０１０３】
こうした動作を各時点でのジェスチャデータに対して繰返し実行することでアンドロイドの腕が、音声での発話内容に応じたジェスチャを形成する。
【０１０４】
なお、ここでは左腕についてのみ述べたが、同じ方法により右腕に関するジェスチャも生成できることは明らかである。
【０１０５】
上記した実施の形態では、単語の概念を抽出するためにＷｏｒｄＮｅｔを使用した。しかしこれに限らず、単語に対してその上位概念を特定できるようなリソースであればどのようなものを用いても良い。例えばシソーラス、概念辞書等、コンピュータ読取可能なものであればどのようなものを用いても良い。
【０１０６】
また上記実施の形態では、ジェスチャを大、中、小の３クラスに分類し、各クラスについて２０ずつのクラスタにクラスタリングした。しかし本発明はそのような実施の形態には限定されない。ジェスチャをあえてその大きさにより分類しなくてもよいし、２、又は４クラス以上のクラスに分類してもよい。また各クラスのクラスタ数も２０には限定されず、それより少なくともよいし、多くとも良い。また各クラスのクラスタリング数が一致する必要もない。
【０１０７】
同様に、ジェスチャ始点クラスタリングも本実施の形態では１０クラスタで行ったが、クラスタ数が１０に限定されず、それより小さくても、大きくても良いことは当業者には明らかであろう。
【０１０８】
また、上記実施の形態では、アンドロイドの肘位置を決定するにあたって、入力されたジェスチャデータの肩、肘及び手首により決定される平面上にアンドロイドの肘位置が来るような制約を用いた。しかし、アンドロイドの肘位置が厳密にその平面上に乗っていなければならないというわけではない。自然さが失われない範囲で、又はより自然な動きが得られる範囲で、この平面を平行移動させたり、ある軸を中心に回転させたりしてもよいことはいうまでもない。要は、人間のジェスチャから得た肘位置を採用するとアンドロイドの肘位置が決定できないような場合に、アンドロイドのジェスチャが自然に感じられるように、入力データの肩及び手首の位置に対して一定の適切な方法でアンドロイドの肘位置が定められるような方法によって肘位置を決めれば良い。
【０１０９】
［第２の実施の形態］
上記第１の実施の形態に係るジェスチャ生成システム５０は、テキストによるジェスチャ生成部６６と、韻律による拍子ジェスチャ生成部６８とを備え、両者の生成するジェスチャを統合してアンドロイドの腕にジェスチャをマッピングしている。しかし本発明はそのような実施の形態には限定されない。テキストによるジェスチャ生成部６６のみによるジェスチャ生成を行っても良い。
【０１１０】
その場合には、図１に示す拍子ジェスチャ生成部６８及びジェスチャ統合部７０をシステムから削除し、テキストによるジェスチャ生成部６６及びアクチュエータ指令値生成部７２のみを用いれば良い。図１１のフローチャートでは、ステップ３６４〜ステップ３７０の処理が不要になる。
【０１１１】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
【符号の説明】
【０１１２】
５０  ジェスチャ生成システム
６０  テキスト
６２  談話機能
６４  音声信号
６６  テキストによるジェスチャ生成部
６８  拍子ジェスチャ生成部
７０  ジェスチャ統合部
７２  アクチュエータ指令値生成部
９０  学習部
９２  ジェスチャ機能確率モデル
９４  ジェスチャクラスタ確率モデル
１００  学習データ記憶部
１０２  テキストデータ
１０４  ジェスチャ機能データ
１０６  動作データ
１０８  ＷｏｒｄＮｅｔ
１１０、１３０  単語概念抽出部
１１２  ジェスチャクラスタリング部
１１４  ジェスチャ機能確率モデル算出部
１１６  ジェスチャクラスタ確率モデル算出部
１３２  ジェスチャ機能サンプリング部
１３４  ジェスチャサンプリング部
１６０、１６２、１６４  被験者
２００、２５０  ジェスチャフレーズ
２１０、２２２、２６０、２６４  レスト区間
２１２  準備区間
２１４  ストローク区間
２１６  ホールド区間
２２０  終了区間
２３０、２３２  拍子区間
２６２  アダプタ区間
２８０  韻律フォーカス推定部
２８２  拍子ジェスチャ生成部
６００  アンドロイドの腕
７１０  手首の位置
７１４  肩の位置
７１２、７１６  球
７１８  交円
７２０、７２２  交点
【図１】
2020006482.tif 000008
【図２】
2020006482.tif 000009
【図３】
2020006482.tif 000010
【図４】
2020006482.tif 000011
【図５】
2020006482.tif 000012
【図６】
2020006482.tif 000013
【図７】
2020006482.tif 000014
【図８】
2020006482.tif 000015
【図９】
2020006482.tif 000016
【図１０】
2020006482.tif 000017
【図１１】
2020006482.tif 000018
【図１２】
2020006482.tif 000019
【図１３】
2020006482.tif 000020
【図１４】
2020006482.tif 000021
【図１５】
2020006482.tif 000022
【図１６】
2020006482.tif 000023
【図１７】
2020006482.tif 000024
【図１８】
2020006482.tif 000025
【図１９】
2020006482.tif 000026
【図２０】
2020006482.tif 000027
【図２１】
2020006482.tif 000028
【図２２】
2020006482.tif 000029
【図２３】
2020006482.tif 000030
【図２４】
2020006482.tif 000031