(57)【特許請求の範囲】
【請求項１】
ネットワーク上のサーバと通信回線を介して接続されて、ユーザーとの間で外国語会話を行う外国語会話ロボットであって、
前記ユーザーの顔面を撮像する撮像部と、
前記ユーザーが発した発話音声を認識する音声認識部と、
前記ユーザーに対して発話する発声部と、
前記通信回線を介して前記顔面に関する顔面情報及び前記音声認識部が認識した音声情報を前記サーバへ送信するユーザー情報送信部と、
前記サーバから外国語の応答文情報を受信する応答文情報受信部と、を具備し、
前記ユーザー情報送信部は、前記撮像部が撮像した前記顔面情報を前記サーバに送信し、
ｉ）前記顔面情報に基づいて前記サーバで前記ユーザーが未登録であると特定した場合に、当該サーバが生成した前記ユーザーの氏名を外国語で質問する氏名質問を含む前記応答文情報を前記応答文情報受信部が受信し、
ｉｉ）前記顔面情報に基づいて前記サーバで前記ユーザーが登録済であると特定した場合に、当該サーバが生成した当該ユーザーの氏名を含む外国語の前記応答文情報を前記応答文情報受信部が受信し、
前記発声部は、前記ユーザーが登録済か否かに応じて、当該ユーザーに対して前記氏名質問又は前記ユーザーの氏名を含むスタート発話を外国語で前記ユーザーに対して行い、
前記ユーザー情報送信部は、前記音声認識部が認識した前記スタート発話に対する前記ユーザーの発話した外国語の音声情報を前記サーバに送信し、
前記ユーザーが登録済の場合には前記ユーザーの学習履歴を反映した外国語の前記応答文情報が前記応答文情報受信部で受信されるとともに、
前記ユーザーが未登録の場合には新たに学習の履歴がデータベースに蓄積されることを特徴とする外国語会話ロボット。
【請求項２】
請求項１に記載の外国語会話ロボットと、
前記サーバと、を含む外国語会話システムであって、
前記サーバは、前記ユーザーごとに個別に管理されたデータベースを含み、前記データベースに前記ユーザーとの間の対話に関する情報が記録される外国語会話システム。
【請求項３】
前記サーバは、前記ユーザー情報送信部から受信した前記ユーザーの発話に関する音声情報をテキスト化し、当該テキスト化した音声情報とデータベース内の応答文情報とのマッチングを行い、当該マッチングに基づく適切な応答文を含む前記応答文情報を前記応答文情報受信部へ送信し、
前記外国語会話ロボットは、受信した前記応答文を含む応答文情報に基づいて、前記発声部を介して前記ユーザーに対して発話する請求項２に記載の外国語会話システム。
【請求項４】
前記撮像部は、前記応答文に対する返答中の前記ユーザーを撮像し、
前記ユーザー情報送信部は、前記応答文に対して発話した前記ユーザーの音声情報と共に、前記撮像部が撮像した前記返答中の前記ユーザーの画像情報を前記サーバに送信し、
前記サーバは、前記ユーザー情報送信部から受信した前記ユーザーの画像情報に基づいて前記ユーザーの表情を判定し、当該表情の判定結果に基づいて内容を変化させた次の応答文を含む前記応答文情報を前記応答文情報受信部へ送信する請求項３に記載の外国語会話システム。
【請求項５】
前記サーバは、会話レベルを決定するためのレベル決定用質問を含む応答文情報を前記応答文情報受信部へ送信し、
前記外国語会話ロボットは、受信した前記レベル決定用質問を含む応答文を、前記発声部を介して前記ユーザーに対して発声し、
前記ユーザーが発した前記レベル決定用質問に対する返答に基づいて前記会話レベルが決定され、
前記決定した会話レベルに基づいて前記サーバで前記データベース内の応答文が選択されて前記応答文情報受信部へ送信される請求項３又は４に記載の外国語会話システム。
【請求項６】
外国語会話ロボット又はサーバに、
撮像部を用いてユーザーの顔面を撮像させ、
撮像された前記ユーザーの顔面に関する情報をサーバに通信回線を介して送信させ、
前記顔面に関する情報に基づいて前記ユーザーが未登録であるか特定させ、ｉ）未登録であった場合に前記ユーザーの氏名を外国語で質問する氏名質問を含む外国語の応答文情報を生成させるとともに、ｉｉ）登録済であった場合に前記ユーザーの氏名を含む外国語の応答文情報を生成させ、
発声部を用いて前記ユーザーに対して前記応答文情報に基づく外国語のスタート発話として発声させ、
音声認識部を用いて前記スタート発話に対する前記ユーザーの外国語による発話を音声認識させ、
前記音声認識させた前記ユーザーの発話を前記サーバに前記通信回線を介して送信させ、
前記ユーザーが登録済の場合には前記ユーザーの学習履歴を反映した外国語の前記応答文情報が前記応答文情報受信部で受信されるとともに、
前記ユーザーが未登録の場合には新たに学習の履歴がデータベースに蓄積されることを特徴とする外国語会話プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話型ロボットを用いた技術に関し、より詳しくは、使用者の表情を伺いながら能動的に様々なパターンの音声で対話することが可能な対話ロボット、対話システムおよび対話プログラムに関する。
【背景技術】
【０００２】
情報手段の進歩により、海外の人々と外国語でコミュニケーションを取る機会が増えている。また、輸送手段の進歩により海外に気軽に旅行に行ける時代となり、旅行先の国の言葉を理解したり、話したりする機会も増えている。従って、英語をはじめとする外国語の習得、特に会話力の習得は、年代を問わず重要である。【０００３】
近年ではインターネットを始めとする通信技術の発達に伴い、ネットワークを介して疑似的に会話を行う技術が種々提案されている。
例えば特許文献１では、豊富な応答文を蓄積させた対話型ロボットや、このロボットをコンピューターと接続することによりロボットのほかにキャラクターと対話することができる対話システムが提案されている。【０００４】
一方で、例えば特許文献２では、コンピューターを用いた英会話の学習支援システムにおいて、ユーザ（１０）の情報を管理しているメタエージェント（１１）と、前記ユーザ（１０）に指導を行なう各担当別の教師エージェント（１３）とを有することを特徴とする学習支援システムが提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３９５８２５３号
【特許文献２】特開２００２−３０４１１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した特許文献１や特許文献２に限らず現在の技術では市場のニーズを適切に満たしているとは言えず、以下に述べるごとき種々の課題が存在する。
すなわち、ネットワークを介した疑似的な会話システムを実現する場合、対話する相手は仮想現実の人物であるため、生身の人間と異なって非日常的な雰囲気がどうしても出てしまう。【０００７】
例えば特許文献２では、コンピューターの画面上のキャラクターと対話するだけであるため現実性に乏しく、特にユーザーがこどもの場合は興味を示しにくいといった問題がある。
一方で特許文献１では、対話型ロボットや他のキャラクターとの会話が可能である点において趣向性が高く飽きにくいものの、主として音声でのみユーザーとの間で会話を行っているため単調な会話となってしまう感は否めない。【０００８】
本来、人間同士での会話という行為は、自然に対話が進んで話者同士の感情変化などによっても変化し得るものである。この点において例えば特許文献２で提案されている対話型ロボットを高性能化して膨大な情報を持たせれば、より人間的な対話が実現し得るものの処理動作が遅延する恐れがあり、さらにはロボット自体の価格が非常に高価なものとなってしまう。
このように上記した特許文献を含む従来技術においては、費用がかさまずにユーザーとの間で自然な（あたかも人間同士が会話するような生き生きとした）会話が実現できるレベルのものはなく、まだまだ改善の余地は大きい。
そして上記した英会話などの語学学習に限られず、例えば介護や娯楽などで使用者との間で対話を行うシステムのニーズは将来的に益々増加することが予想される。【０００９】
本発明は、上記した問題を一例に鑑みて為され、ユーザーとの間で自然な対話が実現できる対話ロボットおよび対話システム、並びに対話プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、本発明の一実施形態に係る外国語会話ロボットは、（１）ネットワーク上のサーバと通信回線を介して接続されて、ユーザーとの間で外国語会話を行う外国語会話ロボットであって、前記ユーザーの顔面を撮像する撮像部と、前記ユーザーが発した発話音声を認識する音声認識部と、前記ユーザーに対して発話する発声部と、前記通信回線を介して前記顔面に関する顔面情報及び前記音声認識部が認識した音声情報を前記サーバへ送信するユーザー情報送信部と、前記サーバから外国語の応答文情報を受信する応答文情報受信部と、を具備し、前記ユーザー情報送信部は、前記撮像部が撮像した前記顔面情報を前記サーバに送信し、ｉ）前記顔面情報に基づいて前記サーバで前記ユーザーが未登録であると特定した場合に、当該サーバが生成した前記ユーザーの氏名を外国語で質問する氏名質問を含む前記応答文情報を前記応答文情報受信部が受信し、ｉｉ）前記顔面情報に基づいて前記サーバで前記ユーザーが登録済であると特定した場合に、当該サーバが生成した当該ユーザーの氏名を含む外国語の前記応答文情報を前記応答文情報受信部が受信し、前記発声部は、前記ユーザーが登録済か否かに応じて、当該ユーザーに対して前記氏名質問又は前記ユーザーの氏名を含むスタート発話を外国語で前記ユーザーに対して行い、前記ユーザー情報送信部は、前記音声認識部が認識した前記スタート発話に対する前記ユーザーの発話した外国語の音声情報を前記サーバに送信し、前記ユーザーが登録済の場合には前記ユーザーの学習履歴を反映した外国語の前記応答文情報が前記応答文情報受信部で受信されるとともに、前記ユーザーが未登録の場合には新たに学習の履歴がデータベースに蓄積されることを特徴とする。
【００１１】
さらに上記した課題を解決するため、本発明の一実施形態に係る外国語会話システムは、（２）上記（１）に記載の外国語会話ロボットと、前記サーバと、を含む外国語会話システムであって、前記サーバは、前記ユーザーごとに個別に管理されたデータベースを含み、前記データベースに前記ユーザーとの間の対話に関する情報が記録されることを特徴とする。
【００１２】
また、上記（２）に記載の外国語会話システムにおいては、（３）前記サーバは、前記ユーザー情報送信部から受信した前記ユーザーの発話に関する音声情報をテキスト化し、当該テキスト化した音声情報とデータベース内の応答文情報とのマッチングを行い、当該マッチングに基づく適切な応答文を含む前記応答文情報を前記応答文情報受信部へ送信し、前記外国語会話ロボットは、受信した前記応答文を含む応答文情報に基づいて、前記発声部を介して前記ユーザーに対して発話することが好ましい。
【００１３】
また、上記（３）に記載の外国語会話システムにおいては、（４）前記撮像部は、前記応答文に対する返答中の前記ユーザーを撮像し、前記ユーザー情報送信部は、前記応答文に対して発話した前記ユーザーの音声情報と共に、前記撮像部が撮像した前記返答中の前記ユーザーの画像情報を前記サーバに送信し、前記サーバは、前記ユーザー情報送信部から受信した前記ユーザーの画像情報に基づいて前記ユーザーの表情を判定し、当該表情の判定結果に基づいて内容を変化させた次の応答文を含む前記応答文情報を前記応答文情報受信部へ送信することが好ましい。
【００１４】
また、上記（３）又は（４）に記載の外国語会話システムにおいては、（５）前記サーバは、会話レベルを決定するためのレベル決定用質問を含む応答文情報を前記応答文情報受信部へ送信し、前記外国語会話ロボットは、受信した前記レベル決定用質問を含む応答文を、前記発声部を介して前記ユーザーに対して発声し、前記ユーザーが発した前記レベル決定用質問に対する返答に基づいて前記会話レベルが決定され、前記決定した会話レベルに基づいて前記サーバで前記データベース内の応答文が選択されて前記応答文情報受信部へ送信されることが好ましい。
【００１５】
さらに上記した課題を解決するため、本発明の一実施形態に係る外国語対話プログラムは、外国語会話ロボット又はサーバに、撮像部を用いてユーザーの顔面を撮像させ、撮像された前記ユーザーの顔面に関する情報をサーバに通信回線を介して送信させ、前記顔面に関する情報に基づいて前記ユーザーが未登録であるか特定させ、ｉ）未登録であった場合に前記ユーザーの氏名を外国語で質問する氏名質問を含む外国語の応答文情報を生成させるとともに、ｉｉ）登録済であった場合に前記ユーザーの氏名を含む外国語の応答文情報を生成させ、発声部を用いて前記ユーザーに対して前記応答文情報に基づく外国語のスタート発話として発声させ、音声認識部を用いて前記スタート発話に対する前記ユーザーの外国語による発話を音声認識させ、前記音声認識させた前記ユーザーの発話を前記サーバに前記通信回線を介して送信させ、前記ユーザーが登録済の場合には前記ユーザーの学習履歴を反映した外国語の前記応答文情報が前記応答文情報受信部で受信されるとともに、前記ユーザーが未登録の場合には新たに学習の履歴がデータベースに蓄積されることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、比較的安価な費用で対話ロボットとの対話を行うことができるとともに、この対話ロボットと初めて対話を行うユーザーが自然な形で対話をスタートさせることができ、幅広い年齢層に興味を持って飽きさせずに対話する機会を提供することができる。
【図面の簡単な説明】
【００１７】
【図１】第１実施形態の対話システム１００の全体構成を示す模式図である。
【図２】第１実施形態の対話ロボット１０の構成を示す機能ブロック図である。
【図３】第１実施形態のサーバ２０の構成を示す機能ブロック図である。
【図４】第１実施形態の英会話における初期動作を説明するフローチャートである。
【図５】第１実施形態における会話内容を決定するフローチャートである。
【図６】第２実施形態の対話システム１００´の全体構成を示す模式図である。
【図７】変形例におけるレベル設定の動作フローを説明するフローチャートである。
【図８】変形例におけるレベル設定の動作フローを説明するフローチャートである。
【発明を実施するための形態】
【００１８】
以下では、本発明を実施するための実施形態について、ユーザーがネットワークＮを介したサーバ及び対話ロボットと英会話を行う例を説明する。しかしながら本発明は下記に限定されず、例えば英会話だけでなく他の言語による会話でもよいし、複数台の対話ロボットを用いた例であってもよい。また、本実施形態は、下記のごとき語学学習に限られず、介護や娯楽分野でも対話ロボットとして適用が可能である。
【００１９】
≪第１実施形態≫
＜対話システム１００＞
図１は、実施形態に係る対話システム１００全体の構成を示す模式図である。
本実施形態に係る対話システム１００は、対話ロボット１０、及びサーバ２０を含んで構成されている。そして対話ロボット１０とサーバ２０とは、インターネットなどのネットワークＮを介して互いに通信可能となるように接続されている。そしてユーザーＵは、語学習得などを目的として、サーバ２０と通信可能に接続された対話ロボット１０に対して英会話を行う。
このように本実施形態の対話システム１００は、ユーザーＵの英会話を行うための英会話システムとして機能としている。
【００２０】
詳細は後述するが、この対話システム１００では以下のように情報処理が行われる。すなわち、まずユーザーＵの発話音声は対話ロボット１０の音声認識部を経てインターネット経由でサーバ２０へ送られる。このサーバ２０では、音声変換エンジンによって発話音声がテキスト化される。その後、このテキスト化された発話音声と会話文データベースとのマッチングが行われ、この発話音声に対する最適な応答文が選ばれ、その選ばれた文は音声化エンジンで音声化され、対話ロボット１０に送り込まれて対話ロボット１０が発話する仕組みとなっている。
【００２１】
なお、後述するとおり、対話システム１００は更に情報処理端末５０を含んでいてもよい。この場合には、例えばユーザーＵは、対話ロボット１０だけでなく、情報処理端末５０の画面に表示された仮想人物（ＰＣ上のキャラクター）も含めた複数人との会話を実行することができる。このＰＣ上のキャラクターについては、上記した特許第３９５８２５３号を参照して本実施形態の趣旨に沿った形式で適宜組み入れてもよい。
【００２２】
以下、本実施形態の対話システム１００の各構成について詳細に説明する。
＜対話ロボット１０＞
まず図２を用いて本実施形態の対話ロボット１０の構成および機能を詳述する。
本実施形態の対話ロボット１０は、ネットワークＮ（例えばインターネット）上のサーバ２０と通信回線を介して接続されて、ユーザーＵとの間で英会話を行うロボットである。そして本実施形態の対話ロボット１０は、例えばユーザーＵと英語で対話することができる小鳥の形態を有するロボットである。
【００２３】
同図に示すとおり、この小鳥型の対話ロボット１０は、撮像部１１、音声認識部１２、発声部１３、通信インターフェース１４（ユーザー情報送信部１４ａ、応答文情報受信部１４ｂ）、ＲＯＭ／ＲＡＭ部１５、および電源１６を含んで構成されている。
なお、対話ロボット１０は、後述するサーバ２０における統括制御部３８の機能の一部を、制御部１７として含んでいてもよい。この場合における制御部１７の具体例としては、公知のＣＰＵなどのプロセッサーが例示できる。
【００２４】
撮像部１１は、ユーザーＵの顔面などを撮像する機能を有している。撮像部１１の具体例としては、ＣＣＤやＣＭＯＳなどの画像センサーが搭載されたカメラが例示できる。なお本実施形態では小鳥型の対話ロボット１０の額部周辺にカメラが搭載されているが、例えば小鳥の目が撮像部１１となっていてもよい。小鳥の目が撮像部１１となる場合には、例えば可動式のマブタでレンズ表面を任意のタイミング（例えばユーザーＵを撮像するトリガーとして）でカバーするようにしてもよい。
【００２５】
音声認識部１２は、不図示の集音機（マイクなど）を介してユーザーＵが発した発話音声（話し言葉）を抽出し、この抽出した発話音声をコンピューターが認識可能な文字列として変換する機能を有している。なお、この音声認識部１２が行う音声認識のアルゴリズムについては特に制限はなく、例えば音響モデルを利用した統計的手法や、あるいは隠れマルコフモデルなどに基づく公知のアルゴリズムを適用できる。かような音声認識は、公知の種々のソフトウェアを適用することもできる。さらに音声認識における他の構成例としては、例えば特許３９６８１３３号、特許３３６１７３２号など公知の音声認識技術を適用してもよい。
【００２６】
発生部１３は、ユーザーＵに対して発話する機能を有している。本実施形態における発生部１３はスピーカであり、例えば小鳥型の対話ロボット１０の腹部付近に搭載されている。
後述するとおり、サーバ２０において生成された応答文情報などに基づく発話が、この当該発生部１３を介して行われる。
【００２７】
通信インターフェース１４は、ネットワークＮ（例えばインターネット）などの通信回線を介して他の端末と各種のデータを送受信する機能を有しており、本実施形態ではユーザー情報送信部１４ａと応答文情報受信部１４ｂが含まれている。
【００２８】
このうち、ユーザー情報送信部１４ａは、ユーザーＵに関する情報を上記通信回線によって送信する機能を備えている。なお、「ユーザーＵに関する情報」としては、例えば撮像部１１が取得したユーザーＵを識別するための情報（顔面（表情）に関する画像情報や身体によるジェスチャーなどの画像情報など）や、音声認識部１２が取得したユーザーＵの発話（発声）情報などが含まれる。
一方で応答文情報受信部１４ｂは、後述するサーバ２０が生成した応答文情報を上記通信回線によって受信する機能を備えている。
【００２９】
ＲＯＭ／ＲＡＭ部１５は、各種の情報を記録保持する機能を備えている。なお、この「各種の情報」としては、例えば撮像部１１や音声認識部１２が取得した情報や、通信インターフェース１４を介して受信した情報などが含まれる。本実施形態のＲＯＭ／ＲＡＭ部１５の具体例としては、例えばＥＥＰＲＯＭ、フラッシュメモリなどの不揮発性メモリ、ＳＲＡＭやＤＲＡＭなどの揮発性メモリなどが例示できる。
【００３０】
電源１６は、上記した構成を含む対話ロボット１０の稼働に必要な電力を供給する機能を有している。なお、電源１６としては、公知の商用電源から電力を得るためのコンセントプラグであってもよいし、一次電池または二次電池などの電池であってもよい。
【００３１】
＜サーバ２０＞
次に図３を参照しつつ、本実施形態のサーバ２０の詳細な構成について説明する。
本実施形態のサーバ２０は、インターネットなどのネットワークＮを介して対話ロボット１０と情報通信を行うコンピューターとして機能する。
より具体的にサーバ２０は、アプリケーションサーバ３０と、ストレージサーバ４０とを含んで構成されている。かようなサーバ２０は、機能的に分類すると、通信インターフェース３１、応答文マッチング部３２ａ、応答文音声変換部３２ｂ、応答文情報送信部３２ｃ、発話音声記録部３３、情報解析記録部３４、顔面情報マッチング部３５、会話レベル設定部３６、ＲＯＭ／ＲＡＭ部３７、統括制御部３８およびデータベース４０を含んで構成されている。
【００３２】
通信インターフェース３１は、インターネットなどのネットワークＮに接続する機能を有している。サーバ２０は、この通信インターフェース３１を介して各種の情報の送受信を行うことが可能となっている。
【００３３】
応答文マッチング部３２ａは、発話音声のテキスト化を含む内容解析を行う機能を有するとともに、この解析した発話音声の意味内容に対応する応答文を、後述する応答文データベース４１から選択する。また、サーバ２０が会話レベル設定部３６を構成要素に含む場合には、更に、会話レベル設定部３６が設定した会話レベルに基づいて、ユーザーＵの会話レベルに応じた応答文を応答文データベース４１から選択する機能を有していてもよい。
【００３４】
なお応答文マッチング部３２ａは、ユーザーＵの発話音声の内容解析を行った結果、当該発話音声の意味内容が応答文を選択できる意味内容となっていないと判定された場合には、ユーザーＵに対して再度発話発声を促す旨の応答文を応答文データベース４１から選択して対話ロボット１０へ送信してもよい。
【００３５】
応答文音声変換部３２ｂは、上記の応答文マッチング部３２ａによって選択された応答文を音声データに変換する機能を有している。なお音声データのファイルフォーマットは特に限定されず、ＷＡＶなどの非圧縮形式でもよいし、ＭＰ３やＡＡＣなどの圧縮形式でもよい。かような音声変換は、公知の種々のソフトウェアを適用することもできる。また、応答文音声変換部３２ｂでは、例えばネイティブスピーカーが発声した音声データとなるように変換される。
【００３６】
応答文情報送信部３２ｃは、上記の応答文音声変換部３２ｂによって変換された音声データを応答文情報として対話ロボット１０に向けてネットワークＮを介して送信する機能を有している。
【００３７】
発話音声記録部３３は、応答文マッチング部３２ａによって内容解析がなされた後の発話音声をデータベース４０に記録する機能を有している。より具体的には、発話音声記録部３３は、対話ロボット１０からネットワークＮを介して受信したユーザーＵの発話音声を学習履歴ＤＢ４３に随時記録する。後述するとおり、学習履歴ＤＢ４３はユーザーごとに管理されており、例えば日付、会話した時間、会話の内容（使用したテーマなど）あるいは質問に対する正答率などとともに学習履歴ＤＢ４３へ個別に記録される。このように本実施形態では、サーバ２０は、ユーザーＵごとに個別に管理されたデータベース４０を含み、このデータベース４０にユーザーＵとの間の英会話に関する情報が記録される。
【００３８】
情報解析記録部３４は、主として、対話ロボット１０のユーザー情報送信部１４ａから送信された撮像部１１が取得した画像情報を解析する機能と、当該解析した後の画像情報をデータベース４０に記録する機能を有している。より具体的には、情報解析記録部３４は、ユーザー情報送信部１４ａから受信した上記画像情報に人物が含まれているか解析し、人物が含まれている場合には頭部や上半身の画像などをＩＤ情報ＤＢ４２に記録する。このとき、当該人物を初めてＩＤ情報ＤＢ４２に登録する際には、後述するとおりその人物の氏名情報とともに記録することが好ましい。
【００３９】
なお、取得した画像情報に人物が含まれているか解析をする際には、例えばモルフォロジー処理など公知の人物抽出アルゴリズムが適用できる。また、この人物抽出アルゴリズムでは、抽出した人物の顔面も容易に特定できるので、情報解析記録部３４は特定した顔面情報をＩＤ情報ＤＢ４２に記録してもよい。
【００４０】
顔面情報マッチング部３５は、対話ロボット１０のユーザー情報送信部１４ａから受信したユーザーＵの顔面情報と、ＩＤ情報ＤＢ４２に既に記録されている顔面情報とのマッチングを行う機能を有している。換言すれば、顔面情報マッチング部３５は、ユーザー情報送信部１４ａから受信したユーザーＵの顔面情報が登録されているか未登録であるか判定する機能を有していると言える。
【００４１】
会話レベル設定部３６は、ユーザーＵの質問に対する回答内容に応じて、応答文マッチング部３２ａが応答文データベース４１の中から選択する応答文のレベルを設定する機能を有している。本実施形態の会話レベル設定部３６は、難易度が高い順に複数段階（本実施形態では１２段階）のレベルを設定することが可能となっている。具体的なレベルの設定方法としては、会話レベル設定部３６は、例えば初期値においては中間段階（１２段階であれば真ん中のレベル６）のレベルを設定してもよい。そして設定した以後は、対話ロボット１０からの応答文は判定されたレベルの英文で応答するように制御する。
【００４２】
また、他の具体的なレベルの設定手法としては、例えば中間段階（レベル６）の応答文を用い、この応答文に対して適切な返答をユーザーＵがすればレベルを１つ上げ、誤答となる返答をした場合には１つ下げるなどが考えられる。この応答文と返答の内容は、上記したレベルに対応してそれぞれ複数個の英文例が応答文ＤＢ４１に格納されている。具体的な質問と回答内容の文例は、例えば公知の英語問題集や公開英語テストの試験問題を適用してもよい。
したがって会話レベル設定部３６は、設定するレベルに応じた応答文を応答文ＤＢ４１から抽出するように応答文マッチング部３２ａを制御する一方で、音声認識部１２から受信したユーザーＵの返答が応答文ＤＢ４１内に格納された返答例と一致するかを判定すればよい。
なお、本実施形態の対話システム１００は語学学習としての英会話システムであるため、ユーザーＵからの発話内容の正誤に基づくレベル設定が可能であるが、例えば介護分野に本システムを適用する場合などには会話レベル設定部３６は必ずしも必要ではない。
【００４３】
ＲＯＭ／ＲＡＭ部３７は、サーバ２０内で稼働するソフトウェアや、対話ロボット１０内で稼働するソフトウェアなどを格納する機能を有している。このＲＯＭ／ＲＡＭ部３７の具体例としては、例えばハードディスクドライブや大容量メモリなどが例示できる。
なお、対話ロボット１０で稼働するソフトウェアの一部又は全部は、対話ロボット１０自身で格納する形態でもよく、この場合にはＲＯＭ／ＲＡＭ部３７にはサーバ２０内で稼働する各種のソフトウェアが格納される。
【００４４】
統括制御部３８は、公知のＣＰＵなどのプロセッサーであり、上記したサーバ２０の各構成要素の動作を統括して制御する機能を有している。
【００４５】
データベース４０は、対話システム１００で用いられる各種のデータを記録して保持する機能を有する。本実施形態のデータベース４０は、例えば大容量のハードディスクドライブが例示できる。上述したとおり、本実施形態のデータベース４０は、それぞれ上記した応答文ＤＢ４１、ＩＤ情報ＤＢ４２、及び学習履歴ＤＢ４３が含まれる。このうち、少なくとも学習履歴ＤＢ４３は、登録したユーザーの学習履歴が当該ユーザー毎に個別で管理されるように構成されている。
このうち、応答文ＤＢ４１に蓄積された応答文としては、例えば「おはよう（Ｇｏｏｄ  ｍｏｒｎｉｎｇ）、やあ（Ｈｉ)」などがある。なお、蓄積する応答文における他の例としては、例えば国際公開公報ＷＯ２００５／０７６２５８号や特開２０１２−２１５６４５号公報などに開示された公知の種々の文例や公知のデータ構成を適宜用いてもよい。
なお本実施形態は英会話システムであることから上記のごとき例文が応答文ＤＢ４１に蓄積されるが、例えば介護分野に適用する場合には日常的な会話文例や趣味・娯楽性の話題などが応答文例として蓄積される。すなわち本実施形態の対話システム１００の応答文ＤＢ４１には、その適用される分野（語学学習、介護、娯楽、あるいは受付応対などの業務補助など）に応じて必要とされる例文が蓄積される。
【００４６】
＜対話プログラム＞
上記した対話システム１００に適用されるプログラムは、対話ロボット１０及びサーバ２０のいずれかに、対話ロボット又はサーバに、撮像部を用いてユーザーの顔面を撮像させ、撮像された前記ユーザーの顔面に関する情報をサーバに通信回線を介して送信させ、前記顔面に関する情報に基づいて前記ユーザーが未登録であるか特定させ、ｉ）未登録であった場合に前記ユーザーの氏名を質問する氏名質問を含む応答文情報を生成させるとともに、ｉｉ）登録済であった場合に前記ユーザーの氏名を含む応答文情報を生成させ、発声部を用いて前記ユーザーに対して前記応答文情報に基づくスタート発話として発声させ、音声認識部を用いて前記スタート発話に対する前記ユーザーの発話を音声認識させ、前記音声認識させた前記ユーザーの発話を前記サーバに前記通信回線を介して送信させる。
【００４７】
＜起動初期（ユーザー特定）動作フロー＞
次に図４を用いて、本実施形態における対話システム１００が起動初期におけるユーザー特定動作について詳述する。なお以後に図４〜６で説明されるフローは、サーバ２０の統括制御部３８と、必要に応じて設けられる対話ロボット１０の制御部１７との制御下で実行される。
まずステップＳ１０では、対話ロボット１０と会話（本例では英会話）を所望するユーザーＵが対話ロボット１０の電源スイッチ（不図示）をＯＮにすると、対話ロボット１０のシステムが起動するとともにネットワークＮ（以下、インターネットを例にして説明する）を介してサーバ２０と接続要求を行う。
【００４８】
次いでステップＳ１１では、サーバ２０は、対話ロボット１０からの上記接続要求に基づいて、インターネットを介してＩＤ情報要求を対話ロボット１０に送信する。なお、ＩＤ情報としては、ユーザーＵが特定可能な情報であれば顔面情報や指紋情報など特に限定はないが、特定の容易さを鑑みると例えばユーザーＵの顔面情報であることが好ましい。よって以下では、かようなＩＤ情報の例としてユーザーの顔面に関する顔面情報を用いて説明する。
【００４９】
このＩＤ情報要求を対話ロボット１０が受信すると、次いでステップ１２では、撮像部１１が稼働してユーザーＵのＩＤ情報（以下、顔面情報）を取得する。より具体的には、対話ロボット１０は、正対するユーザーＵの顔面が被写界に入るように撮像部１１（カメラ）を調整して撮像する。
【００５０】
そしてステップＳ１３では、対話ロボット１０のユーザー情報送信部１４ａは、撮像部１１が撮像したユーザーＵの顔面情報をサーバ２０に送信する。
【００５１】
次いでステップＳ１４では、サーバ２０は受信した顔面情報が既に登録されているか未登録であるかを判定する。より具体的には、サーバ２０の顔面情報マッチング部３５は、今回受信した顔面情報がＩＤ情報ＤＢ４２に登録済の顔面情報と一致するかを検索する。なお、このとき顔情報のマッチングは顔面の画像から目立つ特徴を抽出することで識別されるが、例えば主成分分析を使った固有顔、線形判別分析、弾性バンチグラフマッチング、ダイナミックリンク照合など公知のアルゴリズムを適用してもよい。
【００５２】
そしてステップＳ１５では、ｉ）受信した顔面情報に基づいてユーザーＵが未登録であると特定した場合に、ユーザーＵの氏名を質問する氏名質問を含む応答文情報を生成する（Ｓ１５−１）。なお、この「氏名質問」として例えば「Ｗｈａｔ  ｉｓ  ｙｏｕｒ  ｎａｍｅ？」などの例文が応答文ＤＢ４１に格納されており、統括制御部３８は応答文ＤＢ４１にアクセスして氏名質問を含む応答文情報を生成する。その後に、この生成した応答文情報は、インターネットを介して対話ロボット１０の応答文情報受信部１４ｂで受信される。
【００５３】
一方で、ｉｉ）受信した顔面情報に基づいてユーザーＵが登録であると特定した場合に、当該ユーザーＵの氏名を含む応答文情報を生成する（Ｓ１５−２）。なお、この「氏名を含む応答文」として例えば「Ｈｅｌｌｏ，（氏名）．」などの例文が応答文ＤＢ４１に格納されており、統括制御部３８は応答文ＤＢ４１にアクセスするとともに、登録済のユーザーＵの氏名と組み合わせた応答文情報を生成する。その後に、この生成した応答文情報は、インターネットを介して対話ロボット１０の応答文情報受信部１４ｂで受信される。
【００５４】
そしてステップＳ１６においては、応答文情報受信部１４ｂで応答文情報を受信した対話ロボット１０は、発生部１３（スピーカ）を介して、受信した応答文をスタート発話として発声する。
このように本実施形態では、発声部１３は、ユーザーＵが登録済か否かに応じて、当該ユーザーＵに対して氏名を問う氏名質問またはユーザーＵの氏名を含むスタート発話をユーザーＵに対して行う。
【００５５】
次いでステップＳ１７では、発声部１３からのスタート発話に応じた回答がユーザーＵから為されるので、このユーザーＵの発話内容（回答）を音声認識する。より具体的には、対話ロボット１０の音声認識部１２がユーザーＵの回答である発話内容を音声認識する。
【００５６】
そして音声認識されたユーザーＵの発話内容は、続くステップＳ１８においてインターネットを経由してサーバ２０へ送信される。より具体的には、対話ロボット１０のユーザー情報送信部１４ａは、音声認識部１２が認識したスタート発話に対するユーザーの発話した音声情報をサーバ２０に送信する。
【００５７】
そして今回のユーザーＵが初めて登録された場合、続くステップＳ１９においては、サーバ２０の情報解析記録部３４は、受信したユーザーＵの氏名情報をステップＳ１４で用いたＩＤ情報とともにデータベース４０に記録する。より具体的に本実施形態では、ユーザーＵの顔面情報とともに氏名情報がＩＤ情報ＤＢ４２に記録して保存される。なお、氏名情報とともに記録されるＩＤ情報としては、本例では顔面情報であったがステップＳ１４で用いられる情報が指紋情報など他の識別情報の場合には当該他の情報であってもよい。
【００５８】
以上の起動初期（ユーザー特定）動作フローが完了すると、ユーザーＵと対話ロボット１０による会話が開始される。
なお上記ステップＳ１０では、システム起動が行われたことやオンライン化が成功したことを示すＬＥＤなどの表示手段が対話ロボット１０に搭載されていてもよい。この場合、例えばシステム起動、オンラインの順に表示手段の表示色を変化させることが好ましい。
【００５９】
上記で説明したとおり対話ロボット１０の電源スイッチが入ってネットワークＮと接続されたら、対話ロボット１０の撮像部１１が作動して対話ロボット１０の前にいるユーザーＵの顔を撮影する。そして撮像されたユーザーの画像情報は、サーバ２０の情報解析記録部３４と顔面情報マッチング部３５へとネットワークＮを介して送信される。そして顔面情報マッチング部３５では登録済みの顔面画像とマッチングが行われ、ユーザーが登録済みの誰であるかが特定される。
【００６０】
そして顔面情報マッチング部３５で登録済みの顔面画像と一致した場合には、その人物を特定して「Ｈｅｌｌｏ，（名前）」の発話を対話ロボットへ送る。一方で登録済み画像内に同一人物と判定できる顔面画像がなければ、そのユーザーＵは新規登録者として画像を保存し、「Ｗｈａｔ  ｉｓ  ｙｏｕｒ  ｎａｍｅ？」の氏名質問を対話ロボット１０へと送る。そしてユーザーＵがその質問に答えて自己の名前を発話すると、その名前を先ほどの画像とともに登録する。
【００６１】
＜会話内容の決定動作フロー＞
次に図５を用いて、対話システム１００がユーザーＵとの会話内容を決定する動作について詳述する。
【００６２】
まずステップＳ３０では、サーバ２０から英会話の主題を何にするか要求するテーマ要求がインターネットを介して対話ロボット１０に送信される。具体的にサーバ２０の統括制御部３８は、応答文ＤＢ４１の中からテーマ要求に関する応答文を抽出してこの応答文に基づく音声情報を通信インターフェース３１経由で対話ロボット１０に送信する。また、このテーマ要求の内容としては、例えばユーザーＵの母国語で「テーマは何にしますか？」と質問してもよいし、「スポーツ、天気、食事、○○の中からどれにしますか？」など選択肢として提示する質問をしてもよい。また、このテーマ要求自体をユーザーＵの母国語でなく習得言語としての英語で行ってもよい。
【００６３】
次いでステップＳ３１では、対話ロボット１０は、受信したテーマ要求に関する音声情報を発声部１３から発声し、今回行う英会話のテーマ問い合わせをユーザーＵに対して実行する。
そしてステップＳ３２では、音声認識部１２はユーザーＵからのテーマ回答に関する発話を音声認識するとともに、ユーザー情報送信部１４ａは、この音声認識部１２が認識したテーマ回答に関する音声情報をサーバ２０に送信する。
【００６４】
次いでステップＳ３３では、サーバ２０の情報解析記録部３４でテーマ回答に関する音声情報が解析されて、今回学習するテーマが決定される。
そしてステップＳ３３で学習テーマが決定された後は、ステップＳ３４で学習履歴が存在するか否かが判定される。より具体的にサーバ２０の統括制御部３８は、学習履歴ＤＢ４３を参照して、今回のユーザーＵに関して過去に学習した履歴があるかを検索する。そして過去の学習履歴があると判定された場合、ステップＳ３５において、統括制御部３８は、この抽出した学習履歴の内容を今回の英会話に反映させる。具体的な反映内容としては、例えば過去に行った会話レベルを継続することや、既に学習済みのテーマの有無などが挙げられる。
【００６５】
一方で今回のユーザーＵが新規である場合には、学習履歴ＤＢ４３内の履歴は未だゼロなので、今回以降の学習履歴が順次積み上げられることになる。
このようにこのステップＳ３４を経た後は、統括制御部３８の制御の下で発話音声記録部３３などによって、以後のユーザーＵと対話ロボット１０の間の会話の記録・管理が行われる。また、以降のユーザーＵと対話ロボット１０との間の会話が学習履歴ＤＢに記録されるので、ユーザーＵの習熟度や会話レベルなどが学習履歴ＤＢ内で随時更新されていくことになる。
【００６６】
次に、学習履歴の有無確認およびその反映が完了した後は、ステップＳ３６で今回のテーマに関する具体的な英会話が開始される。すなわち、統括制御部３８は、応答文マッチング部３２ａを制御して応答文ＤＢ４１の中から今回のテーマに適した応答文を選択する。そして選択された応答文を応答文音声変換部３２ｂによって音声情報に変換した後、応答文情報送信部３２ｃが通信インターフェース３１経由で応答文情報として対話ロボット１０に送信する。
【００６７】
そしてステップＳ３７では、ステップＳ３６で生成された応答文情報を受信した対話ロボット１０は、撮像部１１を稼働させて上記した応答文に対する返答中のユーザーＵを撮像する。このとき、撮像部１１は、ＲＯＭ／ＲＡＭ部１５を適宜用いて、静止画を１又は複数枚撮影してもよいし回答時の動画を所定時間（例えば数秒〜数分以内）だけ撮影してもよい。
なおこのステップＳ３７は、ユーザーＵが応答文に対する返答する際に常に行ってもよいし、例えば５分毎や１０分毎など任意のタイミングで実行する形態であってもよい。その場合には、後述するステップＳ４０〜Ｓ４２は、このステップＳ３７が起動したタイミングで実行されればよい。
【００６８】
ステップＳ３８では、ステップ３６で生成された応答文情報に基づいて、発声部１３によって応答文が発声される。なお、前述したステップＳ３７とこのステップＳ３８は、その順序が逆であってもよい。
次いでステップＳ３９では、音声認識部１２はユーザーＵからの応答文に対する発話を音声認識するとともに、ユーザー情報送信部１４ａは、この音声認識部１２が認識した応答文に対する発話（応答文に対する回答となる返答文）に関する音声情報をサーバ２０に送信する。
【００６９】
このステップＳ３９と実質的に同時期に、ステップＳ４０では、ステップＳ３７で取得したユーザーＵの画像情報（回答時のユーザーＵの静止画又は動画）がインターネットを介してサーバ２０に送信される。なお、前述したステップＳ３９とこのステップＳ４０は、ほぼ同時に実行されてもよいし、ステップＳ３９が先でも後であってもよい。
このように本実施形態では、対話ロボット１０のユーザー情報送信部１４ａは、応答文に対して発話（返答）したユーザーＵの音声情報と共に、撮像部１１が撮像した返答中のユーザーＵの画像情報をサーバ２０に送信する。
【００７０】
ステップＳ４１では、サーバ２０は、ユーザー情報送信部１４ａから受信したユーザーＵの画像情報に基づいて当該ユーザーＵの表情を判定する。より具体的には、サーバ２０は、例えばユーザーＵの表情から読み取れる感情要素のうち所定値以上の「怒り」や「哀しみ」の数値が検出された場合には、ユーザーＵの表情が困惑している（換言すれば、ユーザーＵがつまらないと感じていたり飽きている）と判定する。
【００７１】
この感情要素の数値化としては、例えばＭｉｃｒｏｓｏｆｔ社が公開した顔認識技術を利用した「Ｅｍｏｔｉｏｎ  ＡＰＩ」などが適用でき、この技術では画像に含まれる顔を認識し、８つの主要な感情要素である「怒り」、「軽蔑」、「恐れ」、「嫌悪」、「幸福」、「中間」、「悲しみ」、「驚き」を数値化している。なお、この数値が高いほど、その感情が強いことを意味する。
また、上記の他の判定手法としては、例えば特開平３−２５２７７５号公報、特開平８−２４９４４７号公報、特開平８−２４９４５３号公報、特開平１０−２５５０４３号公報、特開２００１−０５１３３８号公報等の顔の表情を認識する公知技術を適用し、その表情から「困惑」と関連する感情（「怒り」、「不安」、「憎しみ」など）を抽出して判定するようにしてもよい。
【００７２】
そしてステップＳ４１でユーザーＵの表情が困惑していると判定されたときは、ステップＳ４２において、サーバ２０は会話レベル設定部３６を制御して設定レベルを変更する。より具体的に会話レベル設定部３６は、現在設定している会話レベルから１つ又は複数だけレベルを下げる処理を実行する。そして以後は、この変更した会話レベルに基づいて、応答文マッチング部３２ａが応答文ＤＢ４１から適切な応答文の候補を選択するように制御される。
【００７３】
なお、ステップＳ４１でユーザーＵの表情が困惑していないと判定されたとき、本実施形態では設定レベルは不変となっているが、この態様に限られない。例えばステップＳ４１でユーザーＵの表情から読み取れる感情要素のうち所定値以上の「喜び」や「楽しみ」の数値が検出された場合には、会話レベル設定部３６を制御して設定レベルを上げてもよい。また、この場合においては、設定レベルを上げる前に、統括制御部３８は、設定レベルを上げることを提案する応答文を対話ロボット１０へ送信してもよい。かような設定レベルを上げることを提案する種々の応答文も、応答文ＤＢ４１に予め格納することができる。
このように本実施形態では、ユーザーＵにおける表情の判定結果に応じて、ユーザーＵでなくシステム側が積極的に対話の内容（話題など）やレベルを変更しているとも言える。
【００７４】
次いでステップＳ４３では、ユーザーＵの表情の判定結果に基づいて内容を変化させた次の応答文を含む応答文情報が対話ロボット１０へインターネットを介して送信される。より具体的には、応答文マッチング部３２ａは、設定された会話レベルに基づいて、次の応答文として、応答文ＤＢ４１から適切な応答文の候補を選択する。そしてこの選択された次の応答文を応答文音声変換部３２ｂが音声情報に変換した後で、応答文情報送信部３２ｃによって通信インターフェース３１を介して次の応答文を含む応答文情報が応答文情報受信部１４ｂへ送信される。
なお、このステップＳ４３では、ステップＳ３９でユーザーＵが行った発話に対する文法ミスの指摘や矯正あるいは発音の矯正と訓練を促す応答文を対話ロボット１０に送信してもよい。
【００７５】
なお、ステップＳ４３において、サーバ２０内では以下の処理が実行される。すなわち、まずステップＳ３９においてユーザー情報送信部１４ａから受信したユーザーの発話（返答）に関する音声情報が発話音声記録部３３でテキスト化される。そして当該テキスト化した音声情報と応答文ＤＢ４１の応答文情報とのマッチングが応答文マッチング部３２ａで行われる。さらにこのマッチング結果に基づく適切な応答文を含む応答文情報が、応答文音声変換部３２ｂや応答文情報送信部３２ｃを介して生成されて対話ロボット１０の応答文情報受信部１４ｂへと送信される。
【００７６】
そしてステップＳ４４では、対話ロボット１０は、受信した次の応答文を含む応答文情報に基づいて、発声部１３を介してユーザーＵに対して発話する。
次いでステップＳ４５では、発話された次の応答文に対するユーザーＵの発話（返答）を音声認識部１２が音声認識するとともに、この音声認識されたユーザーＵの発話内容に関する音声情報がユーザー情報送信部１４ａを介してサーバ２０に送信される。
【００７７】
そしてステップＳ４６では、ステップＳ４５で送信された音声情報をサーバ２０が受信した後に、現在行っている英会話のテーマ学習が終了したか否かが判定される。より具体的に統括制御部３８は、応答文ＤＢ４１などを参照して次の応答文が存在するか検索し、テーマ学習が終了したと判定したときは学習を完了する。このとき、インターネットを介して学習が完了した旨の通知を対話ロボット１０に送信して発声部１３で発声してもよい。また、統括制御部３８は、テーマ学習が完了したら会話レベルを更新するなど学習履歴ＤＢ４３の学習履歴を更新する制御を行ってもよい。
【００７８】
一方でステップＳ４６において統括制御部３８がテーマ学習は未だ終了していないと判定したときは、ステップＳ３６に戻り、応答文マッチング部３２ａは応答文ＤＢ４１を参照してユーザーＵの上記返答に対する適切な応答文を選択する制御を繰り返す。
以上説明したとおり、本実施形態では、対話ロボット１０がユーザーＵに会話を投げかけるとき、ユーザーＵの返答中における顔画像を撮影する。そしてユーザーＵが返答している最中の表情がユーザーの発話音声とともにインターネットを介してサーバ２０で受信され、その画像をもとにサーバ２０でユーザーＵの感情を判定する。そして判定の結果、ユーザーＵの表情に応じてそれぞれに適応したレベルの応答文に変化させる点などに主とした特徴がある。
【００７９】
≪第２実施形態≫
以下、図６を用いて本発明の第２実施形態に係る対話システム１００´を説明する。上記第１実施形態では、対話ロボット１０はネットワークＮを介して物理的なサーバ２０と情報通信可能に接続されていたが、本実施形態ではクラウドコンピューティングを活用している点に違いがある。よって、以下では第１実施形態と異なる点を説明し、既述の構成と同じ機能・作用を奏するものは同じ参照番号を付してその説明は適宜省略する。
【００８０】
図６に示すとおり、本実施形態に係る対話システム１００´は、いわゆるクラウドコンピューティングを用いたシステムであって、対話ロボット１０、論理的な仮想サーバ２０´、及び物理的なデータセンター６０を含んで構成されている。対話ロボット１０と仮想サーバ２０´とは、インターネットを介して互いに通信可能となるように接続されている。そしてユーザーＵは、語学習得などを目的として、仮想サーバ２０´と通信可能に接続された対話ロボット１０と英会話を行う。
また、この仮想サーバ２０´は、物理的な各種が配置されたデータセンター６０とネットワークＮを介して接続されている。
【００８１】
そして仮想サーバ２０´内では、論理的な仮想アプリケーションサーバ３０´と、仮想ストレージサーバ４０´とが構成されている。なお、具体的な仮想サーバ２０´の機能は第１実施形態と同じであるので、その説明は省略する。
すなわち本実施形態では、対話ロボット１０は、クラウド内の仮想サーバ２０´とネットワークＮ（例えばインターネット）を介して情報通信を行うこととなっている。
このように本発明は、物理的なサーバ２０と直接情報のやり取りを行う場合に限られず、クラウドコンピューティングを活用して実施することも可能となっている。
【００８２】
上記した各実施形態は、本発明の趣旨を逸脱しない範囲で種々の変形が可能である。以下、各実施形態に適用が可能な変形例について説明する。
【００８３】
＜会話レベルの決定動作フロー＞
以下、図７を用いて変形例に係る会話レベルの決定動作フローを説明する。
なお、図７においては、レベル決定ルーチンであるステップＲ１〜Ｒ７以外のステップＳ３０〜Ｓ４６は、上記した第１実施形態の図５と同じ内容の処理であるので、適宜その説明は省略する。
【００８４】
すなわち、ステップＳ３４及びＳ３５で学習履歴の反映が適宜実行された後で、サーバ２０の統括制御部３８は、ステップＲ１においてレベル決定ルーチンが発動しているかを判定する。このレベル判定ルーチンは、対話ロボット１０がユーザーＵへ質問を数問投げかけ、その質問にユーザーＵがどう答えるかによってユーザーＵの会話レベルを多段階で判定するものである。そしてレベル決定ルーチンで会話レベルが決定された以降の対話ロボット１０からの応答文は、この判定された会話レベルに基づいて応答文ＤＢ４１の中から適切に選択されるようになる。
【００８５】
本変形例では、上記した会話レベル設定部３６が設定する会話レベル（１２段階のレベル）に対応させて、レベル決定ルーチンによる処理が実行される。
なお、レベル決定ルーチンの発動頻度としては特に制限はなく任意のタイミングで発動してもよく、例えばユーザーＵが対話ロボット１０の不図示のスイッチを操作して発動したり、１０分など所定時間毎にレベル決定が行われるように発動したり、あるいは対話ロボット１０が起動された初期に１回だけ発動するようにしてもよい。
【００８６】
ステップＲ１でレベル決定ルーチンが発動されていれば、サーバ２０の会話レベル決定部３６は、応答文マッチング部３２ａを制御して応答文ＤＢ４１からレベル決定用質問を選択して抽出させる。次いで応答文音声変換部３２ｂがこのレベル決定用質問を含む応答文を音声情報に変換した後、変換された音声情報（応答文情報）が応答文情報送信部３２ｃによって通信インターフェース３１を介して対話ロボット１０に送信される。
なお、この会話レベルを決定するためのレベル決定用質問としては、上記公知の英語問題集や公開英語テストの試験問題などに基づいた複数個の英文例が適用でき、かようなレベル決定用質問が応答文ＤＢ４１に格納されている。
【００８７】
次いでステップＲ３では、対話ロボット１０は、受信したレベル決定用質問を含む応答文情報に基づいて、発声部１３によって質問文を発声する。
そして続くステップＲ４では、音声認識部１２がユーザーＵからの質問文に対する発話（返答）を音声認識するとともに、音声認識部１２が認識した質問文に対する発話（質問文に対する回答となる返答）に関する音声情報をユーザー情報送信部１４ａがサーバ２０に送信する。
【００８８】
ステップＲ５では、ユーザーＵからの音声情報を受信したサーバ２０は、ユーザーＵが行った返答の内容に関する正誤を照合する。より具体的には、上記したとおり、対話ロボット１０から受信したユーザーＵの返答が応答文ＤＢ４１内に格納された返答例と一致するかが判定される。
次いでステップＲ６では、サーバ２０で所定の質問数に到達したか否かが判定されて、未だ到達していなければステップＲ２へと戻って質問を繰り返す制御が実行される。一方で所定の質問数に到達した場合には、ステップＲ７において、それまで行った質問に対する正誤の状況に基づいて適正な会話レベルが設定される。
【００８９】
なお所定の質問数としては特に制限はないが、例えば会話レベルの階層数に応じた数の質問（例えばレベルが１２まであれば１２問）の質問をユーザーＵに行ってその正答率によって会話レベルを決定してもよい。
このように、第１実施形態ではユーザーＵの返答時における表情を解析して会話レベルを変更させていたが、この変形例においては上記表情に加えてユーザーＵの実際の回答内容に応じて会話レベルを設定することを行っている。
【００９０】
以上説明した内容は本発明を実施する上での一例であって、本発明の趣旨を逸脱しない限り上記で説明した各実施形態および変形例の要素を適宜組み合わせてもよい。
例えば上記した実施形態および変形例では、適切な応答文を選択する情報処理などは対話ロボット１０側で実行せずにネットワークＮを介したサーバ側で行っていたが、この態様に限らない。
【００９１】
すなわちサーバ側はデータベース４０だけを管理し、対話ロボット１０の制御部１７で上記した各種の情報処理を行う形態であってもよい。この場合には、対話ロボット１０は、上記した応答文マッチング部３２ａ、応答文音声変換部３２ｂ、応答文情報送信部３２ｃ、発話音声記録部３３、情報解析記録部３４、顔面情報マッチング部３５、及び会話レベル設定部３６の機能を有することになる。あるいは、対話ロボット１０は、応答文マッチング部３２ａ、応答文音声変換部３２ｂ、応答文情報送信部３２ｃ、発話音声記録部３３、情報解析記録部３４、顔面情報マッチング部３５及び会話レベル設定部３６の少なくとも１つの機能を分担し、残りをサーバ側で処理する形態としてもよい。
【００９２】
また、上記実施形態ではユーザーＵと対話ロボット１０とが二者で会話する例を説明したが、上述のとおり本発明はこの形態に限らず三者以上で会話する形態でもよい。この場合には、例えば以下の会話形態が考えられる。
【００９３】
（ａ）介護分野での応用例において、ユーザーＵ、対話ロボット１０、及び介護者の三者で対話する形態：
この場合には、対話ロボット１０に対して２人の人間が加わっている。そして対話ロボット１０の音声認識部１２で変換された音声情報は、サーバ２０で個別に（ユーザーＵと介護者で区別されて）管理される。そして応答文マッチング部３２ａは、話者ごとに適切な応答文を応答文ＤＢ４１から選択して会話ロボット１０にネットワークＮを介して送信する。
【００９４】
（ｂ）娯楽分野などでの応用例において、ユーザーＵ、対話ロボット１０、及び情報処理端末５０（スマートフォンなどの携帯型の情報機器であってもよい）中のキャラクターの三者で対話する形態：
この場合には、情報処理端末５０はネットワークＮを介してサーバ２０と接続され、ユーザーＵ一人に対して複数の情報機器が対話に加わることとなる。そして応答文マッチング部３２ａは、情報処理端末５０からの応答文情報を受信し、当該情報処理端末５０からの応答文情報にも基づいて、適切な応答文を応答文ＤＢ４１から選択して会話ロボット１０にネットワークＮを介して送信する。
【００９５】
例えば対話内容が英会話学習の場合には、ユーザーＵが情報処理端末５０に表示されたデジタルキャラクターと対話（英会話）を行っているときに、対話ロボット１０がユーザーＵに応答内容のヒントを出し、あるいはユーザーＵに代わって対話ロボット１０がデジタルキャラクターに応答するようにしてもよい。換言すれば、かような場合には対話ロボット１０はユーザーＵの補助者としての機能を担うことになる。
【００９６】
なお、上記（ａ）の場合には３人以上の人間が加わってもよく、この場合には話者ごとに会話内容がサーバ２０で識別される形態であってもよい。また、上記（ｂ）の場合には対話ロボット１０の他に２台以上の情報端末が加わってもよい。
さらに、上記（ａ）及び（ｂ）の場合において、サーバ２０は、話者ごとに音声情報を識別可能である場合には、話者ごとに異なる会話の内容（テーマ）を設定してもよい。また、サーバ２０又は情報処理端末５０や上記情報機器から、積極的にテーマに関連した情報を提示するようにしてもよい。
また、本発明の対話システムおよび対話ロボット並びに対話プログラムは、家庭内や教室などで行う上記した英会話を含む語学学習の分野に限られず、例えば介護分野や娯楽分野などユーザーとの間で何らかの対話が必要な様々な分野に広く応用が可能である。
【００９７】
＜設定レベル変更前の事前処理＞
なお上記した第１実施形態においては、ステップＳ４１でユーザーＵの表情が困惑していると判定されたときに、続くステップＳ４２ではすぐに会話レベル設定部３６を制御して設定レベルを変更した。
しかしながら本発明はこの態様に限られず、以下のごとき設定レベル変更前の事前処理を実行してもよい。
【００９８】
すなわち、以下の変形例では、ユーザーＵの表情認識にいくつかのパターン（例えば「困惑」、「笑顔」、「無表情」など）を事前に設定しておき、サーバ２０で判定したユーザーＵの表情に応じてサーバ２０からの応答内容を変化させる。その一例として、例えばユーザーＵの表情を判定した後で、会話の設定レベルを変更する前に回答催促や事前予告など各種の事前通知を行う。
【００９９】
より具体的には、例えば図８のステップＳ４１ａ、Ｓ４１ｂに示すように、ユーザーＵの表情の認識結果に基づいて、ユーザーＵに対する回答の催促や設定レベル変更の意思確認を行う。
まずステップＳ４１では、上記第１実施形態と同様にしてユーザーＵの表情を判定する。そしてサーバ２０は、ユーザーＵの表情が困惑していた場合、ユーザーＵからの返答文に関する音声情報を受信していないときには、ステップＳ４１ａでユーザーＵへ回答を促すメッセージを送信する。かようなメッセージの例としては、例えば「どうしたの？」や「もう少しお待ちしましょうか？」などが例示できる。
【０１００】
なおステップＳ４１ａでメッセージを送信した後にユーザーＵからの返答を受信する場合は、例えばユーザーＵからの予想回答パターン（「はい」、「いいえ」あるいは「大丈夫だよ」など）を予め保持しておき、実際のユーザーＵからの返答と照合すればよい。もちろん、ユーザーＵから有意な返答を得られなくとも、所定の時間が経過した場合には続くステップＳ４１ｂに進んでもよい。
【０１０１】
そして続くステップＳ４１ｂでは、ユーザーＵに対して現在の会話レベルからの設定レベル変更を促すメッセージを送信する。かようなメッセージの例としては、例えば「もっと分かりやすく話すね」や「話題を変えましょうね」などの事前予告が例示できる。
このようなステップＳ４１ｂまでの催促や事前予告を経たうえで、上記第１実施形態と同様にステップＳ４２で会話の設定レベルを変更する処理を行う。なおステップＳ４１ａとステップＳ４１ｂは共に実行される必要はなく、少なくとも一方が実行される形態であってもよい。
【０１０２】
一方、サーバ２０は、ユーザーＵの表情が困惑していない場合には、ステップＳ４１ｃでユーザーＵの表情が笑顔か判定する。そしてサーバ２０は、ユーザーＵの表情が笑顔出会った場合には、ステップＳ４１ｄでユーザーＵへ笑顔の理由を問いかけるメッセージを送信する。かようなメッセージの例としては、例えば「良いことでもあったのかな？」や「楽しい？」などが例示できる。なお本ステップは、ユーザーＵからの返答文に関する音声情報を受信していないときでも実行してもよい。
【０１０３】
なお、ステップＳ３５で過去の学習履歴を反映している場合には、過去のユーザーＵからの返答内容（過去に行った応答文に対する発話やその表情）と比較して、当該過去の返答内容と今回の変更内容（ステップＳ３８の応答文に対する発話やその表情）は異なる場合には「何かあったの？」などというごとき背景問い合わせを行うように構成してもよい。
【０１０４】
＜ビッグデータの活用＞
また、本発明においては、他のユーザーとのやりとりで取得した応答文例をビッグデータとしてサーバ２０が保持し、このビッグデータを活用してユーザーＵへのサーバ２０から送信するメッセージを変更するようにしてもよい。
より具体的には、図８においては、ユーザーＵからの返答（ステップＳ３８の応答文に対する発話）の内容に応じて、ビッグデータを参考にしてユーザーＵへの次の応答文選択を行う点にも特徴を有している。
【０１０５】
すなわちステップＰ１では、ユーザーＵからの返答（ステップＳ３８の応答文に対する発話）の内容が正答であるか判定する。
そしてユーザーＵからの返答が、例えば予め保持している想定された返答内容とかけ離れた内容であった場合や文法上の間違いがあった場合などの正答でなかった場合には、ステップＰ２でビッグデータを参照する。
【０１０６】
ここでサーバ２０は、他のユーザーやユーザーＵとの過去のやりとりを共有したり学習したりしており、例えば応答文ごとに出現頻度の高い返答文の例もデータベース化することができる。
従ってサーバ２０は、例えばユーザーＵからの返答内に頻度の高い文法上の間違いがあった場合には、続くステップＳ４３においてその文法に関連する内容の応答文を選択してユーザーＵへ送信するようにしてもよい。また、サーバ２０は、例えばユーザーＵからの返答内容が想定される返答内容に含まれない場合には、続くステップＳ４３において設定レベルを下げた応答文を選択してユーザーＵへ送信するようにしてもよい。
【０１０７】
なお、図８を用いて説明した「ステップＳ４１ａ〜ステップＳ４１ｄ」と「ステップＰ１、Ｐ２」は、少なくとも一方が実行される形態であってもよい。
また、図８においても、図７を用いて説明したレベル決定ルーチン（ステップＲ１〜Ｒ７）が実行されるように構成されていてもよい。
【産業上の利用可能性】
【０１０８】
以上説明したように、本発明の対話ロボット及び対話システム並びに対話プログラムは、ユーザーとの間で自然な会話を構築するのに適している。
【符号の説明】
【０１０９】
Ｕ    ユーザー
１０  対話ロボット
１１  撮像部
１２  音声認識部
１３  発声部
１４  通信インターフェース
１５  ＲＯＭ／ＲＡＭ部
１６  電源
１７  制御部
２０  サーバ
２０´  仮想サーバ  
３０´  仮想アプリケーションサーバ
３１  通信インターフェース
３２ａ  応答文マッチング部
３３  発話音声解析記録部
３４  情報解析記録部
３５  顔面情報マッチング部
３６  会話レベル設定部
３７  ＲＯＭ／ＲＡＭ部
３８  統括制御部
４０  データベース
４１  応答文ＤＢ
４２  ＩＤ情報ＤＢ
４３  学習履歴ＤＢ
１００  対話システム 
【図１】
0006633250.tif 000002
【図２】
0006633250.tif 000003
【図３】
0006633250.tif 000004
【図４】
0006633250.tif 000005
【図５】
0006633250.tif 000006
【図６】
0006633250.tif 000007
【図７】
0006633250.tif 000008
【図８】
0006633250.tif 000009