【国等の委託研究の成果に係る記載事項】(出願人による申告)平成23年4月1日付け、支出負担行為担当官 総務省大臣官房会計課企画官、研究テーマ「ライフサポート型ロボット技術に関する研究開発」に関する委託研究、産業技術力強化法第19条の適用を受ける特許出願
(58)【調査した分野】(Int.Cl.,DB名)
前記第2の尤度は、前記テキスト切片候補の再生時間に基づく尤度と、前記再生時間と前記ジェスチャ時間との比に基づく尤度との積である、請求項1記載のシナリオ生成装置。
前記選択手段は、前記第1および前記第2の尤度に加えて、前記テキスト切片候補中に存在するキーワードに基づく第3の尤度の乗算により、尤度を算出する、請求項1または2記載のシナリオ生成装置。
前記第1ないし第3の尤度は、それぞれに対応する尤度評価モジュールにより算出され、前記選択手段に対して、前記尤度評価モジュールを登録するための手段をさらに備える、請求項3に記載のシナリオ生成装置。
【発明を実施するための形態】
【0023】
以下、本発明の実施の形態のシナリオ生成システムの構成について、図に従って説明する。なお、以下の実施の形態において、同じ符号を付した構成要素および処理工程は、同一または相当するものであり、必要でない場合は、その説明は繰り返さない。
【0024】
以下に説明するように、本実施の形態では、人間の心理モデルを再現するのではなく、作成されたロボットの音声とジェスチャの組み合わせのデータを収集し、そのパターンを抽出することで、確率的に音声とジェスチャの組み合わせを生成する。人同士の会話におけるジェスチャと発話の既存概念をあえて導入せず、過去の履歴データを元に発話とジェスチャを組み合わせることで、対象となるコミュニケーションロボットに合わせた、より実用的なシナリオ生成システムを開発することができる。
【0025】
また、本実施の形態では、履歴データを用いる上で、SOA(Service-Oriented Architecture) を用いたロボットの音声とジェスチャのアサインシステムを構築するものとしている。
【0026】
近年、業務上、一処理に相当するソフトウェアをサービスと見立て、それらのサービスをネットワーク上で連携させてシステムの全体を構築していくサービス指向アーキテクチャ(SOA) を用いたシステムが次々と発表されてきている。これらのシステムは、2つの大きな利点をもつ。
【0027】
第1の利点は、システムを利用するユーザが必要とするコンピュータリソースが少ないことである。これらのシステムが必要とするサービスは、ほとんどの処理がネットワーク上にあるサーバで実行されるため、ユーザはブラウザを開くだけでサービスを利用できることが多い。
【0028】
第2の利点は、ユーザの利用履歴をサービス提供側が収集できることである。サービスがどのように利用されているかを解析することで、より進んだサービスを提供していくことができる。
【0029】
これら2つの利点は、ロボットを使ったシステムがまさに必要とするものである。ユーザの要求に応えたサービスを実現するには、音声認識、音声合成、顔認識、位置取得など様々な処理を行わなければならない。
【0030】
これらをそれぞれのユーザローカルの環境に全て導入することは相当のコンピュータリソースを必要とし、サービスが普及する上での大きな壁になっている。また、ロボットがどのような行動をとるべきかを決定し、そのインタフェースを継続的に開発していくには、膨大な量のユーザ・操作者の利用履歴の収集と分析が不可欠であると考えられる。
【0031】
したがって、SOAベースのシステムで、以下に説明するような手法を運用することで、ユーザの編集履歴を収集し、発展的にロボットの音声とジェスチャのアサインシステムを開発していくことが望ましい。
【0032】
以下では、ロボットの行動(音声とジェスチャの組み合わせ)を生成するモデルを、ユーザの編集履歴から構築することを目的として、これらSOAベースのロボットサービスのシステム構成とその流れについて説明する。
【0033】
ただし、本発明は、このようなSOAベースのシステムのシステムに必ずしも限定されるものではなく、SOAベースのシステムにおける各サービスと等価な機能を実現できるものであれば、他のシステム構成であってもよい。
【0034】
また、以下の説明において、「コンピュータエージェント」とは、物理的な実在としてのロボットにおいて、発話とジェスチャとを組み合わせたシナリオに従って、このようなロボットに、対応する発話およびジェスチャを実行させるためのソフトウェアプログラムでありうる。ただし、「コンピュータエージェント」とは、より一般的には、制御対象に対して、シナリオに従って、対応する発話およびジェスチャを実行させるためのソフトウェアプログラムであってもよい。この場合、「制御対象」とは、発話またはジェスチャに対する自由度が人間に比べて少ないものであって、物理的な実体としての視覚対象に限らず、たとえば、ディスプレイ上に表示されるキャラクタ画像のような視覚対象であってもよい。
【0035】
(コミュニケーションロボットのための発話とジェスチャのアサインパターンの抽出)
図1は、コミュニケーションロボットのための発話とジェスチャのアサインパターンの抽出とその発展的開発の流れを示す図である。
【0036】
図1に示されるように、本実施の形態のシナリオ生成システムは、クライエント装置側で実行されるユーザインタフェース部10と、サーバ装置2000側で実行されるロボット命令生成(Robot Instruction Generation, 以下、RIGと呼ぶ)サービス部30と、データベース及びデータストレージ(Data Base and Data Storage, 以下、DBDSと呼ぶ)サービス部40と、そして音声とジェスチャのアサイン評価(Speech-Gesture Assignment Evaluation, 以下、SGAEと呼ぶ)サービス部50との4つのコンポーネントから構成される。
【0037】
ユーザ2は、クライエント装置のブラウザ上のインタフェース10から、RIGサービス部30を用いてロボットの命令(音声とジェスチャの組み合わせ) を作成することができる。RIGサービス30で生成されたリソースとその音声とジェスチャの組み合わせ情報は、DBDSサービス部40により、データベースまたはストレージサーバ等の記憶装置により構成される記憶部42に登録される。
【0038】
特に限定されないが、ユーザインタフェース部10からRIGサービス部30への情報の受け渡しは、REST API(Representational State Transfer Application Programming Interface)を用いることができる。
【0039】
SGAEサービス部50は、記憶部42に蓄積されている、入力テキストデータに対するテキスト切片とジェスチャの情報に基づいて、それらの組合せの各々について特徴量を抽出し、入力値として用いる。そして、内部に登録された各尤度評価モジュール54によって、ロボットの音声とジェスチャの組み合わせの尤度を計算し、生成部56により、シナリオを、後に説明する手順にしたがって、生成する。なお、計算された尤度やシナリオについては、生成部56からユーザインタフェース部10に、送信される。
【0040】
本システムには、ロボット命令生成のためのインタフェースのユーザ以外に、ジェスチャのクリエータ4と、尤度評価サービスの分析者(開発者)6が介在する。
【0041】
ジェスチャのクリエータ4は、文字通り、ロボットのジェスチャを専用のツールで作成して、DBDSサービス部40に登録する人のことをさす。ジェスチャのクリエータ4は、インタフェースを使うユーザがその役割を兼ねてもよい。しかし、作成にはロボットの軸配置などを把握するなど専門となる知識が必要となり、役割を明確化するために、ここでは、別の存在として定義するものとする。特に限定されないが、ジェスチャのクリエータ4も、専用のインタフェースにより、ネットワークを介して、ジェスチャを制御するための情報をDBDSサービス部40に登録することが可能である。
【0042】
ロボットの命令を作るユーザ2は、ジェスチャクリエータ4の作成したジェスチャを用い、シナリオ生成システムにより、そのジェスチャと音声を割り当てることでロボットの命令を作成する。
【0043】
特に限定はされないが、本実施の形態では、特定のロボットに限定されずに、より広範囲なロボットに適用できるようにするため、ロボットのジェスチャは自動的に生成できず、登録されるものであるという立場で説明することとする。
【0044】
一方、分析者6は、SGAEサービス部50を実現するために、蓄積された履歴データを解析し、各尤度評価モジュールを定義し登録する人のことをさす。ロボットの音声とジェスチャの割り当てには、様々な要素が介在すると考えられ、システムは一度の実装で完成するものではなく、発展的に開発されていくものだと考えられる。このような発展的な開発のために、SGAEサービス部50は学習を継続的に行い、その結果を定期的に反映するフレームワークになる。分析者6は、尤度評価モジュール54とそのパラメータ算出モジュール(図示せず)をSGAEサービス部50に実装し、システムに組み込む。パラメータ算出モジュールは、特に限定されないが、たとえば、最小二乗法に基づく構成とすることができる。システムは定期的に、履歴データからパラメータ算出モジュールに基づいて、パラメータを更新し、その結果を尤度評価モジュール54に反映する。このようなステップを繰り返すことで、全体のサービスは自動化しつつも、尤度評価モジュール54の追加、パラメータの更新による発展的開発が可能になる。
【0045】
(ハードウェアの構成)
図2は、サーバ装置2000のコンピュータシステムのブロック図である。
【0046】
図2において、サーバ装置2000のコンピュータ本体2010は、メモリドライブ2020、ディスクドライブ2030に加えて、CPU2040と、ディスクドライブ2030及びメモリドライブ2020に接続されたバス2050と、ブートアッププログラム等のプログラムを記憶するためのROM2060とに接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM2070と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク(HDD)2080と、ネットワーク等を介して外部機器、たとえば、ストレージサーバ等と通信するための通信インタフェース2090とを含む。
【0047】
CPU2040が、プログラムに基づいて実行する演算処理により、上述したRIGサービス部30、DBDSサービス部40、SGAEサービス部50の機能が実現される。
【0048】
サーバ装置2000に、上述した実施の形態の情報処理装置等の機能を実行させるプログラムは、CD−ROM2200、またはメモリ媒体2210に記憶されて、ディスクドライブ2030またはメモリドライブ2020に挿入され、さらにハードディスク2080に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ本体2010に送信され、ハードディスク2080に記憶されても良い。プログラムは実行の際にRAM2070にロードされる。
【0049】
サーバ装置2000は、さらに、入力装置としてのキーボード2100およびマウス2110と、出力装置としてのディスプレイ2120とを備える。
【0050】
上述したようなサーバーとして機能するためのプログラムは、コンピュータ本体2010に、情報処理装置等の機能を実行させるオペレーティングシステム(OS)は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。サーバ装置2000がどのように動作するかは周知であり、詳細な説明は省略する。
【0051】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【0052】
なお、ユーザインタフェース部10を実行するクライエント装置についても、基本的なハードウェア構成は、
図2の構成と同様である。
(発話へのジェスチャのアサイン処理)
以下、テキストデータから、発話にジェスチャを割り当てる処理について、説明する。
【0053】
図3は、発話へのジェスチャのアサイン処理を説明するためのフローチャートである。
【0054】
以下では、テキストとして、以下のようなものを例にとることにする。すなわち、ユーザインタフェース部10より、以下のようなテキストデータが入力されるものとする。
【0055】
「この研究は、人がコミュニケーションロボットの発話とジェスチャを割り当てるときのパターンを抽出し、自動化するシステムの構築を目指します。そして、そのシステムを発展的に開発していく手法を提案します。従来のコミュニケーションロボットにおける発話とジェスチャのアサイン手法は、人同士の会話における発話とジェスチャの役割を分析し、その役割をモデル化することでロボットに実装されてきました。しかし、…」
図3を参照して、発話へのジェスチャのアサイン処理が開始されると(S100)、RIGサービス部30では、まず、上述したテキストデータについて、最初から所定の長さ分のデータを抜き出す。ここでは、たとえば、2センテンス分のデータを取り出すものとする。もちろん、何センテンス分のデータを抽出するかは、特に、限定されるものではない。
【0056】
RIGサービス部30は、続いて、この2センテンス分のテキストデータから、終端パターン(たとえば、日本語では、句点や読点、英語であれば、カンマやピリオド)に基づいて、テキストデータを分割した複数のテキスト切片を作成する(S102)。
【0057】
上述したテキストの例では、たとえば、以下のようになる。
【0058】
切片1:「この研究は、」
切片2:「この研究は、人がコミュニケーションロボットの発話とジェスチャを割り当てるときのパターンを抽出し、」
切片3:「この研究は、人がコミュニケーションロボットの発話とジェスチャを割り当てるときのパターンを抽出し、自動化するシステムの構築を目指します。」
切片4:「この研究は、人がコミュニケーションロボットの発話とジェスチャを割り当てるときのパターンを抽出し、自動化するシステムの構築を目指します。そして、」
切片5:「この研究は、人がコミュニケーションロボットの発話とジェスチャを割り当てるときのパターンを抽出し、自動化するシステムの構築を目指します。そして、そのシステムを発展的に開発していく手法を提案します。」
なお、「終端パターン」とは、後に説明するように、人間がコンピュータエージェントの発話として、一定以上の確率でテキストを区切る傾向のあるテキスト中の特定パターンのことを意味し、上述したような句点や読点、あるいは、カンマやピリオドに必ずしも限定されるものではない。
【0059】
なお、説明としては、テキスト切片は、i個得られたものとする。
【0060】
さらに、RIGサービス部30は、予め登録されたj個のジェスチャと、上記i個のテキスト切片との(i×j)個の組合せの候補を生成し、DBDSサービス部によりこれらの候補データをデータストレージに格納する(S102)。
【0061】
続いて、SGAEサービス部50は、後に詳しく説明するような、各候補データに対応するような尤度評価モジュール1〜m(mは2以上の整数)のそれぞれの尤度をすべて乗算することで、各候補データについての尤度を算出する(S104)。
【0062】
なお、尤度評価モジュールとしては、以下のようなものを用いることができる。
【0063】
1)実験的・経験的に得られた「終端パターン」でテキストを区切る尤度を計算する尤度評価モジュール1
尤度評価モジュール1以外に、少なくとも1つ、以下のような尤度評価モジュールを、予め実験的・経験的に得られた尤度に基づいて構成しおき、尤度評価モジュール1に組み合わせることができる。
【0064】
2)テキスト中のキーワードに対して対応するジェスチャを割り当てる尤度を計算する尤度評価モジュール2
3)ジェスチャの再生時間に対して、これを選択する尤度を計算する尤度評価モジュール3
4)テキスト切片の音声の再生時間とジェスチャの再生時間の比率に基づき、音声とジェスチャを組み合わせる尤度を計算する尤度評価モジュール4
なお、尤度評価モジュールとしては、テキスト切片とジェスチャについて、他の要因に基づく尤度を考慮する場合には、必要に応じて、他の尤度評価モジュールを追加することが可能である。
【0065】
続いて、SGAEサービス部50は、最も尤度の高い候補を選択する(S106)。
【0066】
SGAEサービス部50は、候補として選択済みのテキスト切片が、入力されたテキストデータの最終端まで到達したかを判断し(S108)、最終端に到達していなければ、処理をステップS102に戻す。
【0067】
一方、最終端に到達していれば、たとえば、サーバ装置2000において、生成部56が、最も尤度の高い候補を順次連ねることによりシナリオを生成する。
【0068】
たとえば、最初に、切片2が選択された場合は、次には、切片2よりも後のテキストについて、再び、2センテンス分のテキストについて、ステップS102からS106までの処理を繰り返す。
【0069】
図4は、作成されるシナリオの例を示す概念図である。
【0070】
図4に示すように、シナリオは、入力されたテキストについて、順次、尤度の高いテキスト切片とジェスチャを特定するジェスチャIDとの組合せを、テキストの再生順に並べたものである。
【0071】
(シナリオ生成装置のプロトタイプの構成)
図1では、シナリオ生成装置において、クライエント装置側ではユーザインタフェース部10が機能し、サーバ装置側では、RIGサービス部30、DBDSサービス部40、SGAEサービス部50を、SOAベースのシステムとして構成するものとした。
【0072】
以下では、
図1に示したシナリオ生成装置の機能の実現性を検討するためのプロトタイプの構成について説明する。ただし、以下のようなプロトタイプの構成において、ロボット命令生成の機能として、
図1で説明したSGAEサービス部50のシナリオ自動生成の機能を合わせもつものとして、シナリオ生成装置を実現することも可能である。
【0073】
図5は、シナリオ生成装置のプロトタイプの構成を説明するための概念図である。
【0074】
図5に示した構成は、
図1に示したシナリオ生成装置の構成を簡略して実現したものである。以下の説明では、主として、
図5に示したプロトタイプの構成による実験結果について説明する。
【0075】
図5を参照して、システムは、ユーザインタフェース(UI)アプリケーション部(以下、UI部)10と、ロボット命令生成(RIG)サーバ30と、データベース・データストレージ(DBDS)部40と、そして、ロボットレンダラー部3000の4つのモジュールから成り立つ。
【0076】
特に限定されないが、ロボット命令生成(RIG)サーバ30と、DBDS部40と、ロボットレンダラー部3000とは、それぞれ、別のサーバ装置上で動作することが可能である。あるいは、これらは、同一のサーバ装置上で動作させる構成としてもよい。
【0077】
さらに、たとえば、ロボットレンダラー部3000の機能は、クライエント装置側で実行してもよい。すなわち、
図3に示した各部の機能を、サーバ装置とクライエント装置とで、どのようにして分散して処理するかは、特に限定されない。あるいは、すべての機能を1つのコンピュータ装置上で実行してもよい。
【0078】
シナリオ生成のためのシステムは、UI部10への入力を受けて、以下の2通りの処理を行う。
【0079】
(1)UI部10への入力を受けて、ロボットの命令を生成する。この処理はUI部10と、ロボット命令生成サーバ30を用いて行われ、その結果は、DBDS部40に格納される。これらの処理過程は
図3中、実線の矢印で表される。
【0080】
(2)UI部10への入力を受けて、ロボットの動作を制御を行う。この処理はUI部10と、DBDS部40、ロボットレンダラー部3000を用いて行われる。これら処理過程は
図3中、点線の矢印で表される。
【0081】
ロボットの命令の生成は、以下の手順で行われる。
【0082】
まず、UI部10は、入力されたテキストを元にロボットの音声を生成し、その合成音声情報をDBDS部40のデータベースに登録する。同時に、合成された音声は、DBDS部40のデータストレージサーバに保存される。次に、UI部10で選択されたジェスチャIDに基づいて、データベース上に登録されたジェスチャ情報を取得する。最後に、合成した音声とジェスチャのモーションを組み合わせて、ロボット命令(シナリオ)を生成し、DBDS部40のデータベースに登録する。ここでも、ジェスチャのモーションを制御するための情報は、予めジェスチャクリエータにより作成され、それぞれ、ジェスチャIDと関連付けられて、DBDS部40に格納されているものとする。
【0083】
一方、ロボットの行動制御は、次の手順で行われる。
【0084】
まず、UI部10は、Webソケットクライアントを用いて、ロボットレンダラー3000上のWebソケットサーバに、あるIDで特定されるロボット命令の再生を指示する。ロボットレンダラー3000上のWebソケットサーバ3002はその指示を受けて、命令解析モジュール3004に、ロボット命令のIDを送る。命令解析モジュール3004は、受け取ったロボット命令のIDをキーとして、ロボット命令生成サーバ30の命令シリアライズモジュール38に命令内容を問い合わせ、その内容をダウンロードする。命令解析モジュール3004は、命令内容を解析し、必要な音声、ジェスチャファイルのURI情報を取り出し、リソースマネージャ3008に指示して、そのリソースをDBDS部40のデータストレージサーバからダウンロードする。最後に、命令解析モジュール3004は、命令の実行を、アクチュエータコントローラ3006に指示する。アクチュエータコントローラ3006はリソースマネージャ3008が確保したリソースを用いて、ロボット1000にモーションの命令を送り、音声とジェスチャを再生する。なお、一度、リソースマネージャ3008によって取得された音声、ジェスチャのリソースは重複してダウンロードされることはない。
【0085】
以上の処理を行うことで、実装したプロトタイプシステムは、ロボットの命令を生成するとともに、その命令を蓄積するという処理と、その命令の実行という処理の双方を行うことができる。
【0086】
(ロボット)
本実施の形態では、システムが制御するロボットとして、robovie(登録商標)mR2を用いるものとして説明する。
【0087】
図6は、robovie(登録商標)mR2の外観示す図である。
図6(a)は正面図を、
図6(b)は側面図を、
図6(c)は、ロボットの自由度を示す。
【0088】
このロボットは、机の上に置いて使うことを想定して、設計されており、その高さは30.0cm、半径は15.0cm、重量は2.0kgである。人間の上半身をもとに設計されており、頭部に3自由度、目に2自由度、まぶたに2自由度、腕に4自由度、腰に1 自由度の動作軸を持つ。ロボットの特徴として、腹部にipod touch/iphone(登録商標)接続のための空間があり、そこにipod touch/iphone(登録商標)を格納することで、携帯端末からシリアルケーブルを介して、ロボットの制御をおこなうことができる点がある。制御ソフトウェアを携帯端末側で実行させることでパソコンを介さずにロボットを制御することが可能となる。以上の特徴により、robovie(登録商標)mR2 は可搬性に優れ、家庭環境にも容易に導入できるロボットとなっている。本実施の形態で説明する実験においては、ユーザが手軽にロボットの再生コンテンツ(音声、モーションの組み合わせ) を作成できる環境を目指し、
図3のシステムを用いてrobovie(登録商標) mR2 の再生コンテンツを作成した。
【0089】
(ユーザインタフェースの設計)
図7は、シナリオ生成のプロトタイプシステムのUI部10でのユーザインタフェースを示す図である。
【0090】
システムにおけるテキストとジェスチャのアサインは、命令生成ウィンドウを基準に行われる。ウィンドウは、命令番号、合成ボタン、テキストを入力するためのテキストエリア、ジェスチャを選択するチェックボックスから成り立つ。命令番号は、組み合わされた音声とジェスチャが再生される順番を示す。ユーザはテキストエリアにテキストを入力し、チェックボックス中からジェスチャひとつを選択する。
【0091】
その後、合成ボタンを押すことで、ロボットの音声とジェスチャのアサインを行うことができる。合成が完了すると、システムは確認画面を出し、合成が終了したことをユーザに通知する。また、合成ボタンのラベル名を「合成」から「再生」に変更する。ユーザは再生ボタンを押すことで、割り当てた音声とジェスチャの組み合わせが妥当であるかどうかを確認することができる。ジェスチャと音声の割り当ては何度でもやり直すことができ、ユーザは自分で納得するまで、合成する音声の長さと割り当てるジェスチャの長さを調整することができる。命令生成ウィンドウは、UI部10上部の「追加」ボタンで追加することができる。命令生成ウィンドウ順番に作成していくことで、最終的に再生したい文章全体の音声とジェスチャの組み合わせを作成する。
【0092】
(音声とジェスチャのアサインの評価(SGAE))
図1に示したサービスの設計音声とジェスチャのアサイン評価(SGAE)サービスは、DBDSサービス部40に登録されたロボットの音声とジェスチャの履歴に基づいて、登録された複数の尤度評価モジュールが算出する尤度の総乗から、音声とジェスチャの組み合わせを評価する。ここでは、本実施の形態における尤度評価モジュールの設計方法について述べる。
【0093】
尤度評価モジュールiの尤度をLiとすると、SGAEサービス50が最終的に算出する尤度L は以下の式で与えられる。
【0094】
【数1】
尤度評価モジュールがどのように尤度を算出すかは、様々な方法が考えられるが、本実施の形態では、以下の2つのどちらかで尤度を算出・決定することとする。
【0095】
1)非連続のデータが与えられた場合:ルールベースの尤度決定
2)連続するデータが与えられた場合:確率密度関数を基にした尤度算出
ルールベースによる尤度決定は、非連続なデータの分析に用いる。本実施の形態では、主にアサインされた音声の元となるテキストを分析するときに用いる。これまでの既存研究においても、テキストを文法解析、もしくは形態素解析し、そこに含まれるキーワードや品詞を元にアサインするジェスチャを決める手法が採用されてきた。本実施の形態においても、テキストを形態素解析し、得られたジェスチャのアサインパターンを基に尤度評価モジュールを定義する。
【0096】
一方、確率密度関数による尤度算出は、連続した値を分析する際に用いる。音声の再生時間や、ジェスチャの再生時間、またはそれらの比率など、数値によって分析できるものは確率密度関数により、そのパターンを近似する。
【0097】
このような分析に最も用いられる確率分布は、ガウス分布(正規分布)であるが、解析して得られたデータは、必ずしも左右対称の分布を示さない。むしろ、その分布は、左右非対称で偏りを示す場合が多い。このような要求を満たすため、本実施の形態では、近似式として、ジョンソンSU分布を用いた。ジョンソンSU分布は、歪度(分布の非対称性)と尖度(裾の厚さ)を適当に与えることで正規分布の形状をかなり自由に操作できるという特徴を持ち、その確率密度関数は以下の式(2)で与えられる。
【0098】
【数2】
確率密度関数(2) は、γ,δ,λ、ε の4変数によって、その中心、裾の広がり、歪度、尖度を決定することができる。
【0099】
図8は、様々なパラメータ値におけるジョンソンSU分布を示す図である。
【0100】
図8に示すように、ジョンソンSU分布により、様々な分布を定義することが可能である。
【0101】
これらルールベースと、確率密度関数を用いた近似式のいずれかの手法を用いることで本実施の形態では、SGAEサービス部50の尤度評価モジュールを設計する。
【0102】
(SGAEサービス部50構築のためのデータ収集)
本実施の形態で提案するロボットの音声とジェスチャのアサイン評価(SGAE) サービス部50は、過去に構築されたロボットの命令(音声とジェスチャの組み合わせ)から、アサインされた組み合わせを評価する。従って、SGAEサービス部50を構築するためには、予めユーザによるロボット命令の生成履歴が必要となる。
【0103】
これらSGAEサービス部50の尤度評価モジュールに必要な履歴データを収集するために実験を行なった。実験において、被験者は、
図5で説明したプロトタイプシステムを用いて、教示されたドキュメントの文章を分割し、分割したそれぞれの文にジェスチャをアサインした。分割された文章、文章に割り当てられたジェスチャはシステム中のデータベースに保存される。実験後、データベースに格納された情報に基づいて、尤度評価モジュールを定義した。
【0104】
(実験概要)
図9は、実験環境を示す図である。
【0105】
実験では、被験者はテーブルの正面に座り、ラップトップを制御する。ラップトップには、
図5で述べたプロトタイプシステムのUI部10が立ち上がっており、robovie(登録商標) mR2 の発話とジェスチャをアサインすることができる。
【0106】
図9中、右側のディスプレイは、説明に必要な画像が描画される(画像がディスプレイに描画されているかどうかは実験条件によって異なる)。今回の実験では、大学生の男女27名(男性:13名、女性:14名)に参加してもらい、ロボットの発話とジェスチャのアサイン作業を行った後、アンケートに答えてもらった。
【0107】
(実験手順)
実験手順は次のとおりである。
【0108】
(1)まず、実験者は、被験者にこれからロボットに説明させる文章を手渡す。
【0109】
(2)被験者はまずロボットに説明させる文章を音読し、その内容を把握する。
【0110】
(3)実験者は、実際に最初の2文を作成しながら(これら実験者が作成したコンテンツは解析対象から外される)、被験者に実装したプロトタイプシステムのユーザインタフェースの使い方を説明し、質問を受け付ける。
【0111】
(4)被験者は、与えられた文章をロボットが説明できるよう、ロボットの命令(音声とジェスチャの組み合わせ)を文章分、作成する。
【0112】
(5)全ての命令の作成が終了し、再生確認を終えたら、アンケートに記述する。
【0113】
本実施の形態では、ジェスチャのパターンとして、ジェスチャの種類と共に、その再生時間の長さについても着目した。そこで、時系列別のジェスチャと文章を組み合わせる条件1と、種類の違うモーションと文章を組み合わせる条件2の計2種類の条件で音声とジェスチャのアサインを行なった。それぞれの条件について、その詳細を表1にまとめる。
【0114】
【表1】
各条件において、ロボットの命令の元となる文章は、文章構造によるテキスト分割のパターンを分析するため、複雑な文章構造になりやすい専門的な内容を説明するものとし、ウィキペディアのページから取得した文章に基づいて作成した。それぞれの文章は、音声合成ソフトXimeraで音声合成すると、その長さは60.0秒程度の内容となり、誤差は0.5秒以内である。
【0115】
なお、Ximeraについては、以下の文献に開示がある。
【0116】
文献:H. Kawai, T. Toda, J. Ni, M. Tsuzaki, and K. Tokuda, ”Ximera: A New Tts from ATR Based on Corpus-Based Technologies,”ISCA Speech Synthesis Workshop, pp. 179-184, 2004.
一方、ジェスチャについては、2つのパターンを用意した。条件1では、再生時間の違いによるユーザの選択傾向を分析することを目的として、2.0秒から20.0秒までの2.0 秒ごと、計10種類の繰り返しジェスチャを用意した。ジェスチャの種類によってアサインが変わらないよう、ジェスチャのクリエータには、話者のイメージを表現する表象的ジェスチャにはならないように注意し、体の一部を交互に動かす繰り返しジェスチャとして作成してもらった。
【0117】
一方、条件2では、エンブレム(”byebye”)、表象的(直示的(指さし)、および描写的ジェスチャ)、繰り返しジェスチャをアサインしてもらった。これらのジェスチャは、それぞれ音声の長さに対応できるように、5.0 秒、10.0秒の2種類の選択肢を用意した。直示的ジェスチャは指し示す対象が必要となるため、条件2においてはディスプレイに、糖尿病による合併症を説明する図が表示される(図の内容は、文章の内容と対応する)。
【0118】
(実験データを用いたSGAEサービス部50の尤度決定モジュールの構成)
以下では、実験で収集した音声とジェスチャのアサイン履歴に基づいて、SGAEサービス部50の尤度評価モジュールを定義する。本実施の形態では、ルールベースの評価を2通り、確率密度に基づく評価を2通り、計4つの分析を行った。それぞれの内容を以下に示す。
【0119】
1)文章構造解析に基づく、テキスト終端パターンの分析
2)ジェスチャとキーワードのアサインパターンの分析
3)ジェスチャの再生時間に基づく、アサインパターンの分析
4)音声とジェスチャの再生時間の比率に基づく、アサインパターンの分析
分析によって得られたルール、もしくは近似式から決定される尤度の総積(式(1)) から、音声とジェスチャの組み合わせを評価する。
【0120】
(文章構造解析に基づく、テキスト終端パターンによる分析)
実験で得られたデータを分析すると、音声の元となるテキストの分割パターンに、文章構造の影響、特に句読点の影響が顕著に見られた。本節では、入力されたテキストの終端パターンから、尤度を決定するルールを導く。分析は、実験条件1,2 全ての音声とジェスチャの組み合わせを対象として行なった。
【0121】
被験者が分割したテキストの終端をみると、そのほとんどが、句読点で分割されていた。
【0122】
特に句点「。」では、ほぼ100%の確率で分割されており、顕著なパターンといえる。次に読点「、」による分割が多い。逆に、句読点以外の場所で分割されているケースは、稀であった。読点による分割は、その前にくる文章構造から、その分割割合に偏りが見られた。読点の前の文章構造のパターンは様々であったが、本実施の形態では、その中でも分割の割合が高い、動詞と前置詞の組み合わせ、動詞句(あるいは動詞節)による読点分割と、それ以外の読点分割に分けてその割合を計算した。句点、読点(動詞句、動詞句以外)、その他による分割の割合を、表2に示す。表2に示されるように、隣接するパターンの割合を比較すると、2.0倍程度の開きがあることがわかる。
【0123】
文章構造に基づく尤度評価モジュールは、表2に示されるパターンと割合を用いて、与えられたロボットの音声とジェスチャの組み合わせの尤度を決定する。
【0124】
【表2】
(人が自身で説明する場合とロボットの行動を生成する場合におけるテキスト終端パターンの違いの検証)
本実施の形態が提案する手法の有効性を示すためには、提案手法を使って人−人と人−ロボットのデータでそれぞれモデル化した場合,尤度関数のパラメータが全く異なったものになることと共に、モデル化に使用したロボットを制御する場合には提案手法のほうが良い結果をもたらすことを示す必要がある。
【0125】
ジェスチャに関して、人とロボットのジェスチャを合わせて、対照実験を設定することが困難であるため、このモジュールを例に挙げて、人の自身の行動モデルと作成者の音声とジェスチャをアサインするモデルのパラメータが異なることを示し、その有効性を検証する。
【0126】
人の自身の行動モデルと、ロボットの音声とジェスチャをアサインする際のモデルの違いについて調べるために、実験の教示時に被験者がシナリオを朗読した音声の解析を行なった。解析では、2人の解析者を用意し、朗読に使用したシナリオに対して、「被験者の朗読を聞き、文章を区切っていると思う部分に斜線を入れる」ように教示した。そして、2人の被験者が共に、「文章を区切っている」と解釈した部分をテキストの終端とし、本文中の「文章構造解析に基づく、テキスト終端パターンによる分析」と同様に、句点、読点(動詞句区切り)、読点(動詞句区切り以外)、その他に分類して、その平均値と割合を求めた。表3に、朗読の解析結果とアサインの解析結果のデータの比較を示す。
【0127】
【表3】
表3において、平均値は、被験者が一つのシナリオについて入れた該当する終端パターンの平均値を示す。割合は、該当する終端パターンの全終端パターンにおける割合を表す(アサインにおける割合は、シナリオ中に存在する該当の終端パターンの総数と、実際にその終端パターンで区切られた数の割合を示すため、母数が異なる)。表3に示されるように、それぞれの句点の平均値は、ほぼ同一になるもののその他の終端パターンについては、アサイン時は句点の平均値から減少していくのに対し、朗読時は増加し、必然的にその割合も変化する。
【0128】
この違いは、人が自身で朗読するときは、イントネーションや緩急をつけて、文章の区切りをつけられるのに対し、ロボットにおいては音声合成機能(本実施の形態においては、音声合成ソフトXimera)の限界のため、そのような表現が難しいことに起因すると考えられる。つまり、表現の多様性が保証されている環境下においては、人は文章を短く切って説明しようとするのに対し、区切りの表現手段が限られている環境下においては、文章を長く区切るように方針を転換していると考えられる。
【0129】
以上の結果より、人が自身で発話する場合とロボットに表現させる場合では、その文章の区切り方についてパターンが異なることが示された。このような文章の区切り間隔に関する方針の転換は、聞き手にとってどのような効果を及ぼすのかを以下さらに検討する。上記の仮説を検証するために、被験者が作成したシナリオの中で、音声とジェスチャの組み合わせの長さの平均が、a)最も長いシナリオと、b)最も短いシナリオを、実験を行った9名(男性4 名、女性5名) の被験者に比較してもらい、どちらが好ましいか評価してもらった。結果、全ての被験者がa)のシナリオの方が良いと回答した。以上の結果より、ロボットの音声とジェスチャのアサインにおける文章区切りの方針転換は、聞き手に対しても好ましい印象を与える効果を持つといえる。
(ジェスチャとキーワードのアサインパターンの分析)
音声に対して割り当てられるジェスチャは、ランダムな確率になるのかについて以下検討する。これまでの関連研究では、あるキーワードが音声テキスト中に含まれると、エンブレムや表象などのジェスチャが適用されるアルゴリズムを採用しているシステムが多い。音声テキスト中のあるキーワードやその組み合わせによって、特定の種類のジェスチャがアサインされる傾向があることは自明のことであると考えられる。
【0130】
ここでも、音声テキスト中に含まれるキーワードとジェスチャのアサインパターンを分析し、ルールベースに尤度を決定する尤度評価モジュールを定義する。これまで既存研究で分類されたジェスチャの種類はあえて使わず、登録された個別のジェスチャとキーワードの関係のみによって尤度を決定する方針を採る。
【0131】
本実施の形態では、形態素解析ソフトChasenを利用して、アサインされたテキストを形態素解析し、名詞、動詞、形容詞、副詞、接続詞の6種類の品詞に関して、それぞれのワードにアサインされたジェスチャとその割合を分析し、マトリックスを作成した。
【0132】
なお、Chasenについては、以下に開示がある。
【0133】
文献:松本裕治,北内啓,山下達雄,平野善隆,松田寛, 高岡一馬, 浅原正幸, ”日本語形態素解析システム『茶筌』version 2.2.1 使用説明書,”, Dec, 2000.
分析された結果の中で特に特徴的なキーワード、「バイバイ」と「図」に関して、アサインされたジェスチャのラベルと、その割合を表4、表5に示す。
【0135】
【表5】
アサインされているジェスチャの中で、ラベルに”byebye”が含まれるジェスチャは、ロボットが手を振るエンブレムジェスチャである。後半のshort/long でその長さが5 秒であるか、10秒であるかが示される。対して、”point”が含まれるジェスチャは、ロボットがディスプレイを見ながら、指をさす直示的ジェスチャであり、長さに関する定義は”byebye”のものと同様である。最後に”high”を含むジェスチャは両手を頭の高さまで広げ、下ろすという、大きさや程度が大きいことを示すための描画的ジェスチャである。これらの例から、本節で定義したキーワードとジェスチャのアサインが機能していることが確認できたと考える。
【0136】
テキストを解析する際、複数のキーワード(名詞、動詞、形容詞、副詞、接続詞)が抽出される場合がある。この場合は、それぞれのキーワードのマトリックスを解析し、もっとも候補ジェスチャが少ないもの(候補ジェスチャが少ないということは、あるジェスチャが選択的にアサインされていることを意味する)を採用する。また、該当するマトリックスがひとつもない場合は、1.0を返すこととする。
【0137】
テキストとジェスチャのアサインパターンに基づく尤度評価モジュールは、表4, 5 に示されるパターンと割合に代表される関係マトリックス群を用いて、与えられたロボットの音声とジェスチャの組み合わせの尤度を決定する。
(ジェスチャの再生時間に基づく、アサインパターンの分析)
本実施の形態では、ロボットのジェスチャは、自動生成するものではなく、ジェスチャのクリエータによって作成され、DBDSサービス部40に登録されるものである。
【0138】
ロボットのジェスチャを作ることを仮定したとき、どれくらいの長さのモーションがユーザに好まれるかということについてはまだ明らかにされていない。ここでは、ジェスチャの長さに対する被験者の選択傾向を評価する尤度評価モジュールを定義する。
【0139】
まず、実験の条件1において、割り振られた全てのジェスチャに関して、選択された回数を求めた。課題の特性上、文章を短く区切り、短いジェスチャを割り当てるとより多くのロボット命令を作れる。そのため、短いジェスチャが選択される回数は長いジェスチャと比べて増加する傾向にある。この不均衡を解消するため、選択傾向の評価には、それぞれのジェスチャが選択された回数に、そのジェスチャが文章全体に占める割合を乗算した値Egi を用いた。Egi はi 番目のジェスチャgi の評価値を表し、以下の式によって与えられる。
【0140】
【数3】
ここで、cgi は全ての試行を通してそのジェスチャが採用された数、dgi は該当するジェスチャの長さ、式の分母は音声の長さdsj の総和、つまり、文章の長さ(実験条件により、60.0 秒程度となる) を表す(分割後の音声の平均時間は7.0秒となった)。
【0141】
図10は、式(3)で得られた各評価値を式(4)で正規化したNgi をプロットしたものである。
【0142】
【数4】
これらの分布を近似するジョンソンSU分布のパラメータγ,δ,λ、εを最小二乗法を用いて、以下の式(5)のように求めた。
【0143】
【数5】
このようにして得られたパラメータによるジョンソンSU分布の推移を
図10に示す。プロットされている値に比べて、近似曲線が低い位置にあるのは、プロットされている点はその値の合計が1.0になるのに対し、近似式はその面積が1.0になる関数であるためである。
【0144】
ジェスチャの再生時間に基づく尤度評価モジュールは、式(2)とパラメータ式(5)によって定義される確率密度関数に基づき、与えられたロボットの音声とジェスチャの組み合わせの尤度を決定する。
【0145】
この尤度評価モジュールは、ジェスチャの再生時間に基づいているが、
図10に示される分布の意味は、音声とジェスチャの組み合わせの長さ(再生時間)が短すぎれば、より長い組み合わせを模索し、逆に長すぎれば、より短い組み合わせを模索するという人の選択傾向だと考えられる。
【0146】
今回の実験において、その長短の判断が分かれる境目は10.0秒付近だということが示された。従って、この尤度評価モジュールを導入することで、システムは発話音声が10.0秒以下になった場合、より長い組み合わせを探し、逆に10.0秒以上になった場合はより短い組み合わさを模索するように動作する。
(音声とジェスチャの再生時間の比率に基づく、アサインパターンの分析)
ロボットの音声とジェスチャをアサインするとき、ユーザの観点から重要であると考えられる要因の一つが、音声とジェスチャの再生時間の比率である。ユーザはなるべく、音声とジェスチャの長さが一致するように組み合わせを決定するものと考えられる。本節では、音声とジェスチャの再生時間に基づく、尤度評価モジュールを定義する。
【0147】
図11は、実験で得られた全ての試行(条件1,条件2を含む)の、各命令における音声とジェスチャの再生時間の比率のヒストグラムを示す図である。
【0148】
命令i における、比率ri は以下の式(6)で計算される。
【0149】
【数6】
ここで、si は、命令i における音声の再生時間、giは、命令i におけるジェスチャの再生時間を表す。
【0150】
図11を見ると、比率1.0までは正規分布に対応した増加を見せるが、1.0を越えたところで、急激に値が減少する傾向が見える。このヒストグラムの分布を近似するジョンソンSU分布のパラメータγ,δ,λ、εを最小二乗法を用いて、以下の式(7)のように求めた。
【0151】
【数7】
上記、パラメータによって近似される確率密度の分布が
図11に示される。
【0152】
ジェスチャと音声の再生時間の比率に基づく尤度評価モジュールは、式(2)とパラメータ式(7)によって定義される確率密度関数に基づき、与えられたロボットの音声とジェスチャの組み合わせの尤度を決定する。
(ジョンソンSU分布による近似の有効性の検証)
本実施の形態では、プロトタイプシステムによって得られた音声とジェスチャの組み合わせの履歴データのパターンが、ガウス分布による近似と比較して、尖度が違ったり、歪んでいたり、左右非対称である場合においても、より正確にその分布を近似できるようにジョンソンSU分布を用いて、近似を行なった。本節では、その有効性について検証する。
【0153】
図12および
図13は、正規分布とジョンソンSU分布による尤度評価モデル近似曲線を示す図である。
【0154】
図中、点線によって示される曲線が、ガウス分布による近似曲線である。対して、実線によって示される曲線がジョンソンSU分布による近似曲線である。
【0155】
図12を見るとわかるように、ジェスチャの再生時間の選択傾向の近似に関しては、2つの近似にあまり変化はなかった(ジョンソンSU分布の方が残差がわずかに小さい)。
【0156】
対して、
図13から、ジェスチャと音声の再生時間の比率分布に関しては、ジョンソンSU分布の方がその特徴を捉えていることがわかる。ジェスチャと音声の再生時間の比率の分布は、比率が1.0を越えた時点で発生確率が急速に低下する傾向がある(歪んでいる)。本実施の形態で提案したジョンソンSU分布による近似はその特徴を捉えることができたと考える。
(SGAEサービス部50のシミュレーション)
上記、実験データを元にして構成したSGAEサービス50の尤度評価モジュールが出力する尤度の総積が、実際に適切な音声とジェスチャの組み合わせを提示できるのか、厳密に検証することは非常に難しい問題である。
【0157】
音声とジェスチャの組み合わせ総数は、相当な数に達し、それら全てを検証することは困難である。
【0158】
対して、モジュール一つ一つの評価をすることは、サービス全体の評価につながらない。例えば、キーワードのみでジェスチャを選択したとしても、音声とジェスチャの長さの比率が1.0から極端に遠くなれば、その組み合わせに対する評価は低くなると考えられる。一方、音声とジェスチャの比率を一定に保とうとすれば、文章構造を反映してテキストを分割することが困難になる。
【0159】
ここでは、SGAEサービス部50の簡単な検証のため、シミュレーションを行い、特徴的な組み合わせを作成した3名の被験者の音声とジェスチャの組み合わせを、別の被験者が評価し、評価が高い組み合わせと、算出される尤度が高い組み合わせが一致することを確認する。
【0160】
(シミュレーション手順)
シミュレーションでは、条件1のシナリオと条件2のシナリオの2種類のシナリオに関して、それぞれ被験者たちが作ったジェスチャと音声の組み合わせの尤度を求め、その平均を求めた。そして、それぞれのシナリオについて、以下の3種類をを選出した。
【0161】
Min.上述したように定義した尤度評価モジュールによって算出した尤度の平均が最も低いシナリオ
Mid.上述したように定義した尤度評価モジュールによって算出した尤度の平均が中間値であるシナリオ
Max.上述したように定義した尤度評価モジュールによって算出した尤度の平均が最も高いシナリオ
そして、男女9名(うち、男性3名、女性6名) の被験者が3つのシナリオを評価し、聞き取りやすいと思った順に不等号・等号を用いて並び替えてもらった。表6に、用いた不等号と、そのスコアを示す。
【0162】
【表6】
それぞれのシナリオの評価方法は、次のとおりである。
【0163】
(1)一番、評価が低いシナリオのスコアを1とする
(2)一番低いシナリオから、加算スコアに基づいて、スコアを順に加算していく
例えば、Max.> Min.>> Mid.という評価をした場合、シナリオMid.の評価1.0、Min.の評価は3.0、Max.の評価は4.0となる。
(シミュレーション結果)
図14および
図15は、算出した各シナリオのスコアをANOVA(一要因被験者内分析) を用いて評価した。評価結果を示す図である。
【0164】
図14に示されるように、条件1のシナリオに対する評価では、評価のスコアに対して、有意な差が確認された(p < .01; F = 10.77)。また、多重比較検定(LSD) において、尤度の平均が最大のシナリオが、尤度の平均が最小のシナリオより評価が有意に高いこと(p < .05)、また、尤度の平均が中間値であるシナリオが、平均値が最小のシナリオより評価が有意に高いこと(p < .05) が確認された。以上の結果より、尤度の平均が最小値のシナリオより、中間値、最大値のシナリオの方が高く評価されることが示された。条件1のシナリオにおいては、尤度が中間値のシナリオと最大値のシナリオ間には、有意な差は確認できなかった。
【0165】
一方、
図15に示すように、条件2のシナリオに対する評価でも、スコアに対して、有意な差が確認された(p < .05; F = 4.90)。
【0166】
また、多重比較検定において、尤度の平均が最大のシナリオが、尤度の平均が中間値のシナリオと比べて評価が有意に高いこと(p < .05) が示された。他の条件間には有意な差は確認できなかった。
【0167】
以上により、少なくとも、尤度が最大のスコアとなるシナリオは、ユーザにとって、好ましいとの評価を受けていることがわかる。
【0168】
したがって、入力された文章を分割して、作成し得るロボットの命令(音声とジェスチャの組み合わせ)をSGAEサービス部50を用いて評価し、もっとも高い尤度を持つ組み合わせを選択していくことで、ロボットの命令生成を自動化することが可能である。
【0169】
シナリオ生成装置によれば、たとえば、ブログのテキストを身振り手振りを交えながら、説明してくれるロボットサービスを作ることが可能になる。ひいては、膨大な量のhtmlコンテンツをロボットサービスに取り込むことが可能になる。
【0170】
しかも、ジェスチャクリエータ4や、分析者6が、ロボットコンテンツの作成者2とは、独立した存在であるので、シナリオ生成装置を利用して、システムを発展的に開発していくことが可能となる。
【0171】
今回開示された実施の形態は、本発明を具体的に実施するための構成の例示であって、本発明の技術的範囲を制限するものではない。本発明の技術的範囲は、実施の形態の説明ではなく、特許請求の範囲によって示されるものであり、特許請求の範囲の文言上の範囲および均等の意味の範囲内での変更が含まれることが意図される。