(57)【要約】【課題】ユーザの利用意欲を向上させること。【解決手段】通信回線３を介して端末５から回答を収集する回答収集部２４と、その回答に基づいて未完成プログラム３１から制御プログラム３５を生成する生成完了部２６と、制御プログラム３５を実行することにより端末５と異なる入力装置１２に入力される情報に応答して所定の動作を実行する制御プログラム実行部２７とを備えている。このとき、ロボットエージェント１は、ユーザと異なる他のユーザからそのユーザの個人情報を収集することができ、ユーザにより入力されていない情報に基づいた動作を実行することができ、ユーザに賢さを感じさせることができ、ユーザの利用意欲を向上させることができる。【選択図】図２
2009098707.tif 000002
【特許請求の範囲】
【請求項１】
通信回線を介して端末から回答を収集する回答収集部と、
前記回答に基づいて未完成プログラムから制御プログラムを生成する生成完了部と、
前記制御プログラムを実行することにより前記端末と異なる入力装置に入力される情報に応答して所定の動作を実行する制御プログラム実行部
とを具備するロボットエージェント。
【請求項２】
請求項１において、
前記未完成プログラムとともに生成手順を収集する制御プログラム入力部を更に具備し、
前記生成完了部は、前記生成手順を実行することにより前記未完成プログラムから前記制御プログラムを生成する
ロボットエージェント。
【請求項３】
請求項２において、
前記未完成プログラムは、未完成セリフを示し、
前記生成完了部は、前記回答に基づいて前記未完成セリフをセリフに変換し、
前記制御プログラム実行部は、前記制御プログラムを実行することにより出力装置を用いて前記セリフを発話する
ロボットエージェント。
【請求項４】
請求項２または請求項３のいずれかにおいて、
前記未完成プログラムとともに収集される質問を前記端末に送信する生成起動部
を更に具備するロボットエージェント。
【請求項５】
請求項４において、
前記生成完了部は、複数質問を複数回答に対応付ける回答情報を参照して、前記複数回答のうちの前記質問に対応する既得回答に基づいて前記未完成プログラムを前記制御プログラムに変換する
ロボットエージェント。
【請求項６】
請求項５において、
前記質問が前記回答に対応するように前記回答情報を更新する回答記録部
を更に具備するロボットエージェント。
【請求項７】
請求項４において、
前記制御プログラム入力部は、種別を更に収集し、
前記生成起動部は、複数種別を複数端末に対応付ける人物対応情報を参照して、前記複数端末のうちの前記種別に対応する前記端末に前記質問を送信する
ロボットエージェント。
【請求項８】
請求項７において、
入力装置から入力される情報に基づいて前記人物対応情報を生成する人物対応情報作成部
を更に具備するロボットエージェント。
【請求項９】
請求項７において、
前記制御プログラム入力部は、他の種別を更に収集し、
前記生成起動部は、前記端末から前記回答が所定時間内に返信されないときに、前記複数端末のうちの前記他の種別に対応する他の端末に前記質問を送信し、
前記生成完了部は、前記他の端末から収集される他の回答に基づいて前記未完成プログラムから前記制御プログラムを生成する
ロボットエージェント。
【請求項１０】
請求項７において、
前記制御プログラム入力部は、他の種別を更に収集し、
前記生成起動部は、前記複数種別が前記種別を含まないときに、前記複数端末のうちの前記他の種別に対応する他の端末に前記質問を送信し、
前記生成完了部は、前記他の端末から収集される他の回答に基づいて前記未完成プログラムから前記制御プログラムを生成する
ロボットエージェント。
【請求項１１】
請求項４〜請求項１０のいずれかにおいて、
前記質問は、前記未完成プログラムとともに収集されるタイミングで前記端末に送信される
ロボットエージェント。
【請求項１２】
請求項４〜請求項１０のいずれかにおいて、
前記質問は、入力装置から入力されたタイミングで前記端末に送信される
ロボットエージェント。
【請求項１３】
通信回線を介して端末から回答を収集するステップと、
前記回答に基づいて未完成プログラムから制御プログラムを生成するステップと、
前記制御プログラムを実行することにより前記端末と異なる入力装置に入力される情報に応答して所定の動作を実行するステップ
とを具備する制御プログラム生成方法。
【請求項１４】
請求項１３において、
前記未完成プログラムとともに未完成部分情報を収集するステップを更に具備し、
前記制御プログラムは、前記未完成部分情報が示す生成手順を実行することにより前記未完成プログラムから生成される
制御プログラム生成方法。
【請求項１５】
請求項１３において、
前記未完成プログラムは、未完成セリフを示し、
前記未完成セリフは、前記回答に基づいてセリフに変換され、
前記セリフは、前記制御プログラムが実行されることにより出力装置から発話される
制御プログラム生成方法。
【請求項１６】
請求項１４または請求項１５のいずれかにおいて、
前記未完成プログラムとともに収集される質問を前記端末に送信するステップ
を更に具備する制御プログラム生成方法。
【請求項１７】
請求項１６において、
前記制御プログラムは、複数質問を複数回答に対応付ける回答情報を参照して、前記複数回答のうちの前記質問に対応する既得回答に基づいて前記未完成プログラムから生成される
制御プログラム生成方法。
【請求項１８】
請求項１７において、
前記質問が前記回答に対応するように前記回答情報を更新するステップ
を更に具備する制御プログラム生成方法。
【請求項１９】
請求項１６において、
前記質問は、複数種別を複数端末に対応付ける人物対応情報を参照して、前記複数端末のうちの前記未完成部分情報が示す種別に対応する前記端末に送信される
制御プログラム生成方法。
【請求項２０】
請求項１９において、
入力装置から入力される情報に基づいて前記人物対応情報を生成するステップ
を更に具備する制御プログラム生成方法。
【請求項２１】
請求項１９において、
前記質問は、前記端末から前記回答が所定時間内に返信されないときに、前記複数端末のうちの前記未完成部分情報が示す他の種別に対応する他の端末に送信され、
前記制御プログラムは、前記他の端末から収集される他の回答に基づいて前記未完成プログラムから生成される
制御プログラム生成方法。
【請求項２２】
請求項１９において、
前記質問は、前記複数種別が前記種別を含まないときに、前記複数端末のうちの前記未完成部分情報が示す他の種別に対応する他の端末に送信され、
前記制御プログラムは、前記他の端末から収集される他の回答に基づいて前記未完成プログラムから生成される
制御プログラム生成方法。
【請求項２３】
請求項１６〜請求項２２のいずれかにおいて、
前記質問は、前記未完成プログラムとともに収集されるタイミングで前記端末に送信される
ロボットエージェント。
【請求項２４】
請求項１６〜請求項２２のいずれかにおいて、
前記質問は、入力装置から入力されたタイミングで前記端末に送信される
ロボットエージェント。
【請求項２５】
通信回線を介して端末から回答を収集する回答収集部と、
前記回答に基づいて未完成プログラムから制御プログラムを生成する生成完了部と、
前記通信回線を介して前記端末と異なるコンピュータに前記制御プログラムを配信する配信部とを具備し、
前記コンピュータは、前記制御プログラムを実行することにより入力装置に入力される情報に応答して所定の動作を実行する
制御プログラム生成サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットエージェントおよび制御プログラム生成方法に関し、特に、人への情報提供や人とのコミュニケーションなどを行うロボットエージェントとそのロボットエージェントを制御する制御プログラムを生成する制御プログラム生成方法に関する。
【背景技術】
【０００２】
人への情報提供や人とのコミュニケーションなどを行うロボットエージェントが知られている。このようなロボットエージェントが提供するサービスやコンテンツは、画一化させないことが望まれている。
【０００３】
特許第３８４４０４８号公報には、ロボットエージェントが提供するサービスやコンテンツを画一化させないための方策の１つとして、内蔵する制御プログラムを外部から交換することができるロボットエージェントの一例が記載されている。そのロボットエージェントは、外部から入力した拡張プログラムを実行している際のユーザの様子を観察し、その拡張プログラムに対するユーザの関心が高い場合にはその拡張プログラムと同種の拡張プログラムを多く蓄積するようにし、また、関心が低い拡張プログラムと同種の拡張プログラムは削除していくように制御している。これらの手段により、ロボットエージェントが提供するサービスやコンテンツをよりユーザの嗜好に近いものにできるため、ロボットエージェントを長期間、機能的に陳腐化させないように利用することができる。
【０００４】
ユーザ毎にサービスやコンテンツを製造することはコストの面で難しいため、提供されるサービスやコンテンツは共通項的な性質を持つことになり、多様なユーザの嗜好に必ずしも合致しない。また、ユーザの嗜好に合致させるために、ユーザの個人情報をロボットエージェントに供与する方法を用いるとする。しかしながら、ユーザから見れば自分で供与した情報をロボットエージェントがそのまま利用するだけでは、ユーザはロボットエージェントに何ら賢さを感じない。賢さを感じさせるためには、何らかの手段でユーザが直接与えていない情報、例えば、複数の情報から類推した情報、に基づくサービスを実現する必要がある。ロボットエージェントに賢さが感じられないと、利便性の低い、機械的な存在と判断され、ユーザの利用意欲が低下するものと推測される。すなわち、特許第３８４４０４８号公報の技術を用いたとしても、ロボットエージェントのサービスやコンテンツを、ユーザ好みにカスタマイズするだけでは、ユーザの利用意欲を維持、向上させるためには不十分である。
【０００５】
ユーザのロボットエージェントに対する利用意欲を維持、向上させることが望まれ、ロボットエージェントのサービスやコンテンツをユーザ一人一人に対して、賢さを感じさせるようにカスタマイズすることことが望まれている。
【０００６】
特開昭５９−０７５３０６号公報には、簡単に、且つハンドを各ポイントへ位置決めして該ポイントを教唆する必要がなく、しかも同じポイントを何回も教唆する必要がないロボット指令プログラム作成方法が開示されている。そのロボット指令プログラム作成方法は、各ポイントにおける少なくとも１軸分の位置データをブランクにしてなるロボット指令プログラムと、該ロボット指定プログラムのブランク部分に位置データを埋め込むプログラムとを作成して記憶すると共に、各ポイントの位置をセンサにより検出し、埋め込みプログラムの制御により該検出された各ポイントの位置データをロボット指令プログラムのブランク部に埋め込み完全なロボット指令プログラムを作成することを特徴としている。
【０００７】
特開平０５−０８８８６３号公報には、プログラム開発を容易にするプログラム開発支援システムが開示されている。そのプログラム開発支援システムは、目的とするプログラムを共通部分と独自部分に分け、共通部分によって構成したスケルトンプログラムを用意しておくとともに、独自部分に関する独自情報を収集するための独自情報収集手段、独自情報収集手段によって得られた独自情報に基づいて、スケルトンプログラムに独自部分を付加して、目的とするプログラムを完成させるプログラム完成手段を備えたことを特徴としている。
【０００８】
【特許文献１】特許第３８４４０４８号公報
【特許文献２】特開昭５９−０７５３０６号公報
【特許文献３】特開平０５−０８８８６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明の課題は、ユーザの利用意欲を向上させるロボットエージェントを提供することにある。
本発明の他の課題は、賢さを感じさせるサービスを提供するロボットエージェントを提供することにある。
本発明のさらに他の課題は、ユーザの利用意欲を向上させるようにロボットエージェントをカスタマイズする制御プログラム生成方法を提供することにある。
本発明のさらに他の課題は、ユーザに賢さを感じさせるようにロボットエージェントをカスタマイズする制御プログラム生成方法を提供することにある。
【課題を解決するための手段】
【００１０】
以下に、発明を実施するための最良の形態・実施例で使用される符号を括弧付きで用いて、課題を解決するための手段を記載する。この符号は、特許請求の範囲の記載と発明を実施するための最良の形態・実施例の記載との対応を明らかにするために付加されたものであり、特許請求の範囲に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１１】
本発明によるロボットエージェント（１）は、通信回線（３）を介して端末（５）から回答を収集する回答収集部（２４）と、その回答に基づいて未完成プログラム（３１）から制御プログラム（３５）を生成する生成完了部（２６）と、制御プログラム（３５）を実行することにより端末（５）と異なる入力装置（１２）に入力される情報に応答して所定の動作を実行する制御プログラム実行部（２７）とを備えている。ロボットエージェント（１）は、ユーザと異なる他のユーザからそのユーザの個人情報を収集することができる。このとき、ロボットエージェント（１）は、ユーザにより入力されていない情報に基づいた動作を実行することができ、ユーザに賢さを感じさせることができ、ユーザの利用意欲を向上させることができる。
【００１２】
本発明によるロボットエージェント（１）は、未完成プログラム（３１）とともに生成手順（４５）を収集する制御プログラム入力部（２１）をさらに備えている。このとき、生成完了部（２６）は、その生成手順（４５）を実行することにより未完成プログラム（３１）から制御プログラム（３５）を生成することが好ましい。
【００１３】
未完成プログラム（３１）は、未完成セリフ（４２）を示している。このとき、生成完了部（２６）は、回答に基づいて未完成セリフ（４２）をセリフに変換する。制御プログラム実行部（２７）は、制御プログラム（３５）を実行することにより出力装置（１４）を用いてそのセリフを発話することが好ましい。
【００１４】
本発明によるロボットエージェント（１）は、未完成プログラム（３１）とともに収集される質問（４４）を端末（５）に送信する生成起動部（２３）をさらに備えていることが好ましい。
【００１５】
生成完了部（２６）は、複数質問（５１）を複数回答（５２）に対応付ける回答情報（３４）を参照して、複数回答（５２）のうちの質問（４４）に対応する既得回答に基づいて未完成プログラム（３１）を制御プログラム（３５）に変換する。このとき、生成起動部（２３）は、質問（４４）を端末（５）に送信する必要がなく、好ましい。
【００１６】
本発明によるロボットエージェント（１）は、質問（４４）が回答に対応するように回答情報（３４）を更新する回答記録部（２５）をさらに備えている。
【００１７】
制御プログラム入力部（２１）は、種別（４３）をさらに収集する。このとき、生成起動部（２３）は、複数種別（４７）を複数端末（４８）に対応付ける人物対応情報（３３）を参照して、複数端末（４８）のうちの種別（４３）に対応する端末（５）に質問（４４）を送信することが好ましい。
【００１８】
本発明によるロボットエージェント（１）は、入力装置（１２）から入力される情報に基づいて人物対応情報（３３）を生成する人物対応情報作成部（２２）をさらに備えていることが好ましい。
【００１９】
制御プログラム入力部（２１）は、他の種別（４３）をさらに収集する。このとき、生成起動部（２３）は、端末（５）から回答が所定時間内に返信されないときに、複数端末（４８）のうちの他の種別（４３）に対応する他の端末（５）に質問（４４）を送信する。このとき、生成完了部（２６）は、他の端末（５）から収集される他の回答に基づいて未完成プログラム（３１）から制御プログラム（３５）を生成することが好ましい。
【００２０】
制御プログラム入力部（２１）は、他の種別（４３）をさらに収集する。このとき、生成起動部（２３）は、複数種別（４７）が種別（４３）を含まないときに、複数端末（４８）のうちの他の種別（４３）に対応する他の端末（５）に質問（４４）を送信し、生成完了部（２６）は、他の端末（５）から収集される他の回答に基づいて未完成プログラム（３１）から制御プログラム（３５）を生成することが好ましい。
【００２１】
その質問は、未完成プログラム（３１）とともに収集されるタイミングで端末（５）に送信されることが好ましい。または、その質問は、入力装置から入力されたタイミングで端末（５）に送信されることが好ましい。
【００２２】
本発明による制御プログラム生成方法は、通信回線（３）を介して端末（５）から回答を収集するステップ（Ｓ２）と、回答に基づいて未完成プログラム（３１）から制御プログラム（３５）を生成するステップ（Ｓ３）と、制御プログラム（３５）を実行することにより端末（５）と異なる入力装置（１２）に入力される情報に応答して所定の動作を実行するステップ（Ｓ４）とを備えている。このとき、本発明による制御プログラム生成方法を実行するロボットエージェント（１）は、ユーザにより入力されていない情報に基づいた動作を実行することができ、ユーザに賢さを感じさせることができ、ユーザの利用意欲を向上させることができる。
【００２３】
本発明による制御プログラム生成方法は、未完成プログラム（３１）とともに未完成部分情報（３２）を収集するステップをさらに備えている。このとき、制御プログラム（３５）は、未完成部分情報（３２）が示す生成手順（４５）を実行することにより未完成プログラム（３１）から生成されることが好ましい。
【００２４】
未完成プログラム（３１）は、未完成セリフ（４２）を示している。このとき、未完成セリフ（４２）は、その回答に基づいてセリフに変換され、そのセリフは、制御プログラム（３５）が実行されることにより出力装置（１４）から発話されることが好ましい。
【００２５】
本発明による制御プログラム生成方法は、未完成プログラム（３１）とともに収集される質問（４４）を端末（５）に送信するステップ（Ａ５）をさらに備えていることが好ましい。
【００２６】
制御プログラム（３５）は、複数質問（５１）を複数回答（５２）に対応付ける回答情報（３４）を参照して、複数回答（５２）のうちの質問（４４）に対応する既得回答に基づいて未完成プログラム（３１）から生成される。このとき、質問（４４）は、端末（５）に送信される必要がない。
【００２７】
本発明による制御プログラム生成方法は、質問（４４）が回答に対応するように回答情報（３４）を更新するステップをさらに備えている。
【００２８】
質問（４４）は、複数種別（４７）を複数端末（４８）に対応付ける人物対応情報（３３）を参照して、複数端末（４８）のうちの未完成部分情報（３２）が示す種別（４３）に対応する端末（５）に送信されることが好ましい。
【００２９】
本発明による制御プログラム生成方法は、入力装置（１２）から入力される情報に基づいて人物対応情報（３３）を生成するステップをさらに備えていることが好ましい。
【００３０】
質問（４４）は、端末（５）から回答が所定時間内に返信されないときに、複数端末（４８）のうちの未完成部分情報（３２）が示す他の種別（４３）に対応する他の端末（５）に送信される。このとき、制御プログラム（３５）は、他の端末（５）から収集される他の回答に基づいて未完成プログラム（３１）から生成されることが好ましい。
【００３１】
質問（４４）は、複数種別（４７）が種別（４３）を含まないときに、複数端末（４８）のうちの未完成部分情報（３２）が示す他の種別（４３）に対応する他の端末（５）に送信される。このとき、制御プログラム（３５）は、他の端末（５）から収集される他の回答に基づいて未完成プログラム（３１）から生成されることが好ましい。
【００３２】
その質問は、未完成プログラム（３１）とともに収集されるタイミングで端末（５）に送信されることが好ましい。または、その質問は、入力装置から入力されたタイミングで端末（５）に送信されることが好ましい。
【００３３】
本発明による制御プログラム生成サーバは、通信回線（３）を介して端末（５）から回答を収集する回答収集部（６４）と、その回答に基づいて未完成プログラム（３１）から制御プログラム（３５）を生成する生成完了部（６６）と、通信回線（３）を介して端末（５）と異なるコンピュータ（１）に制御プログラム（３５）を配信する配信部（６７）とを備えている。そのコンピュータ（１）は、制御プログラム（３５）を実行することにより入力装置（１２）に入力される情報に応答して所定の動作を実行する。このとき、コンピュータ（１）は、ユーザにより入力されていない情報に基づいた動作を実行することができ、ユーザに賢さを感じさせることができ、ユーザの利用意欲を向上させることができる。
【発明の効果】
【００３４】
本発明によるロボットエージェントおよび制御プログラム生成方法によれば、ロボットエージェントは、ユーザにより入力されていない情報に基づいた動作を実行することができ、ユーザに賢さを感じさせることができる。この結果、ロボットエージェントは、賢さを感じさせるサービスを提供することができ、ユーザの利用意欲を向上させることができる。
【発明を実施するための最良の形態】
【００３５】
図面を参照して、本発明によるロボットエージェントの実施の形態を記載する。そのロボットエージェント１は、図１に示されているように、制御プログラム生成システム２に適用されている。制御プログラム生成システム２は、インターネット３を介して複数のコンピュータが互いに双方向に情報を伝送することができるように接続されている。その複数の情報処理装置は、ロボットエージェント１と端末５とサーバ６とから形成されている。なお、インターネット３は、他の通信回線網に置換されることもできる。その通信回線網としては、電話回線網が例示される。
【００３６】
端末５は、ロボットエージェント１のユーザと異なる関係者により使用される。その関係者としては、そのユーザの家族、子供、親、友人、主治医、先生、上司、同僚が例示される。端末５としては、コンピュータ、携帯電話機、固定電話機が例示される。制御プログラム生成システム２は、端末５を複数備えている。サーバ６は、コンピュータであり、ロボットエージェント１で実行されるコンピュータプログラムをインターネット３に公開している。
【００３７】
図２は、ロボットエージェント１を示している。ロボットエージェント１は、コンピュータであり、ＣＰＵ（図示されていない）と記憶装置１０と制御プログラム通信装置１１と入力装置１２と出力装置１４と通信装置１５とを備えている。そのＣＰＵは、ロボットエージェント１にインストールされるコンピュータプログラムを実行して、記憶装置１０と制御プログラム通信装置１１と入力装置１２と出力装置１４と通信装置１５とを制御する。記憶装置１０は、そのコンピュータプログラムを記録し、そのＣＰＵにより生成される情報を記録する。制御プログラム通信装置１１は、インターネット３を介してサーバ６が公開している情報をサーバ６から収集し、その情報をそのＣＰＵに出力する。入力装置１２は、ユーザに操作されることにより情報を生成し、その情報をそのＣＰＵに出力する。入力装置１２としては、キーボード、マウスが例示される。出力装置１４は、そのＣＰＵにより生成される情報をユーザに認識可能に出力する。出力装置１４としては、ディスプレイ、スピーカが例示される。そのディスプレイは、そのＣＰＵにより生成される画面を表示する。そのスピーカは、そのＣＰＵにより生成される音声を発音する。通信装置１５は、インターネット３を介して、そのＣＰＵにより生成される情報を端末５に送信し、端末５から収集される情報をそのＣＰＵに出力する。
【００３８】
なお、制御プログラム通信装置１１は、通信回線を用いないで未完成プログラム３１を外部からロボットエージェント１に入力する他の制御プログラム入力装置に置換されることができる。その制御プログラム入力装置としては、ＵＳＢポート、リムーバルメモリドライブが例示される。そのＵＳＢポートは、情報が記録されているＵＳＢメモリが挿入されたときに、その情報をそのＵＳＢメモリからそのＣＰＵに出力する。そのリムーバルメモリドライブは、リムーバルメモリが挿入されたときに、そのリムーバルメモリに記録されている情報をそのＣＰＵに出力する。そのリムーバルメモリとしては、フラッシュメモリ、磁気ディスク（フレキシブルディスク、ハードディスク）、光ディスク（ＣＤ、ＤＶＤ）が例示される。
【００３９】
ロボットエージェント１にインストールされるコンピュータプログラムは、制御プログラム入力部２１と人物対応情報作成部２２と生成起動部２３と回答収集部２４と回答記録部２５と生成完了部２６と制御プログラム実行部２７とを含んでいる。
【００４０】
制御プログラム入力部２１は、制御プログラム通信装置１１を用いて、サーバ６により生成された未完成プログラム３１と未完成部分情報３２とをサーバ６から収集し、未完成プログラム３１と未完成部分情報３２とを記憶装置１０に記録する。
【００４１】
人物対応情報作成部２２は、ユーザにより入力装置１２に入力された情報に基づいて人物対応情報３３を作成し、人物対応情報３３を記憶装置１０に記録する。
【００４２】
生成起動部２３は、未完成部分情報３２と人物対応情報３３とに基づいて宛先の端末５を選択し、通信装置１５を用いて未完成部分情報３２が示す質問をその宛先の端末５に送信する。
【００４３】
回答収集部２４は、通信装置１５を用いて、生成起動部２３により送信された質問に応答して生成された回答を端末５から収集する。
【００４４】
回答記録部２５は、回答収集部２４により収集された回答に基づいて回答情報３４を生成し、回答情報３４を記憶装置１０に記録する。
【００４５】
生成完了部２６は、未完成プログラム３１と未完成部分情報３２と回答収集部２４により収集された回答とに基づいて制御プログラム３５を生成して、制御プログラム３５を記憶装置１０に記録する。または、生成完了部２６は、未完成プログラム３１と未完成部分情報３２と回答情報３４とに基づいて制御プログラム３５を生成して、制御プログラム３５を記憶装置１０に記録する。
【００４６】
制御プログラム実行部２７は、制御プログラム３５を実行することにより入力装置１２と出力装置１４とを制御して、所定のサービスをユーザに提供する。
【００４７】
図３は、未完成プログラム３１が備えるセリフ表を示している。そのセリフ表４０は、セリフＩＤ集合４１をセリフ集合４２に対応付けている。すなわち、セリフＩＤ集合４１のうちの任意の要素は、セリフ集合４２のうちの１つの要素に対応している。セリフＩＤ集合４１の要素は、互いに異なるセリフＩＤ（番号）を示し、制御プログラム３５が実行されたときに発話される複数のセリフを識別している。セリフ集合４２の要素は、文字列を示し、セリフＩＤ集合４１の要素により識別されるセリフを示している。
【００４８】
セリフ集合４２のうちのいくつかの要素は、その文字列に未完成部分を含んでいる。たとえば、セリフＩＤ「＃１２」は、セリフ「来月、××市でお祭りがあるそうです。そういえば。××市には行ったことが＃＃のでしたよね？」に対応している。このセリフは、未完成部分を含み、３６文字目から３７文字目までに文字列「ある」または文字列「ない」のうちのいずれかが挿入されることにより完成する。
【００４９】
未完成部分情報３２は、セリフ表４０のセリフ集合４２のうちの未完成部分を含むセリフの個数だけ生成されている。図４は、未完成部分情報３２を示している。未完成部分情報３２は、人物種別情報４３と質問情報４４と生成手順情報４５とを示している。人物種別情報４３は、ユーザとの続柄を示している。その続柄としては、家族、子供、親、友人、主治医、先生が例示される。質問情報４４は、ユーザの関係者に未完成部分を完成させるための情報を問うため質問を示す文字列を示している。生成手順情報４５は、その質問の回答を未完成部分に反映させるための情報であり、未完成部分の場所や長さなどを示し、質問情報４４により示される質問の回答に基づいて未完成プログラム３１を制御プログラム３５に変換する手順を示している。たとえば、生成手順情報４５は、質問情報４４により示される質問の回答に基づいて完成される未完成であるセリフのセリフＩＤを示し、その回答を用いてそのセリフを完成させる手順を示している。
【００５０】
たとえば、人物種別情報４３は、「家族」を示し、質問情報４４は、質問「＄ｕｓｅｒ＄さんは、これまでＸＸ市に行ったことがありますか？」を示し、生成手順情報４５は、手順「セリフＩＤ＃１２のセリフの起点３６文字目、終点３７文字目に回答を挿入する」を示している。このとき、生成起動部２３は、質問情報４４が示す質問のうちの文字列「＄ｕｓｅｒ＄」を予め取得されているユーザの名称に置換して質問を完成させる。生成完了部２６は、その質問に対する回答が得られたときに、その手順に従って、セリフＩＤ＃１２のセリフの起点３６文字目、終点３７文字目に回答を挿入する。
【００５１】
なお、図４では、説明のために未完成部分情報３２が可読形式で記載されているが、実際には、ロボットエージェントにのみ解読可能な形式で書かれていてもよい。特に、生成手順情報４５は、プログラムの形式で書かれていてもよい。
【００５２】
図５は、人物対応情報３３を示している。人物対応情報３３は、ユーザ識別子集合４６を人物対応テーブル集合に対応付けている。すなわち、ユーザ識別子集合４６のうちの任意の要素は、その人物対応テーブル集合のうちの１つの要素に対応している。ユーザ識別子集合４６の要素は、ロボットエージェント１のユーザを識別するユーザ識別子を示し、ロボットエージェント１のユーザの名前を示している。
【００５３】
その人物対応テーブル集合の要素は、人物種別情報集合４７を人物識別子集合４８に対応付けている。すなわち、人物種別情報集合４７のうちの任意の要素は、人物識別子集合４８のうちの１つの要素に対応している。人物種別情報集合４７の要素は、ユーザとの続柄を示している。その続柄としては、家族、子供、親、友人、主治医、先生が例示される。人物識別子集合４８の要素は、メールアドレスまたは電話番号を示し、ロボットエージェント１のユーザとの関係がセリフＩＤ集合４１の要素により識別される続柄に一致する人物を識別している。
【００５４】
このとき、人物対応情報作成部２２は、ユーザ識別子により識別されるユーザにロボットエージェント１が使用されている場合で、そのユーザにより入力装置１２に人物種別情報と人物識別子とが入力されたときに、そのユーザ識別子に人物種別情報と人物識別子と対応するように人物対応情報３３を更新して記憶装置１０に記録する。生成起動部２３は、ユーザ識別子により識別されるユーザにロボットエージェント１が使用されている場合で、その人物対応テーブル集合のうちのそのユーザ識別子に対応する人物対応テーブルを参照して、ユーザ識別子集合４６のうちの人物種別情報４３に対応するユーザ識別子の端末に質問を送信する。さらに、生成起動部２３は、人物識別子がメールアドレスを示しているときに、その質問を示す電子メールをその端末に送信し、人物識別子が電話番号を示しているときに、その電話番号に電話してその質問を示す音声を送信する。回答収集部２４は、人物識別子が電話番号を示しているときに、その電話の会話を音声認識して、その質問の回答を収集する。
【００５５】
図６は、回答情報３４を示している。回答情報３４は、質問集合５１を回答集合５２と回答者集合５３と回答日時集合５４とに対応付けている。すなわち、質問集合５１のうちの任意の要素は、回答集合５２のうちの１つの要素に対応し、回答者集合５３のうちの１つの要素に対応し、回答日時集合５４のうちの１つの要素に対応している。質問集合５１の要素は、文字列を示し、過去にロボットエージェント１から端末５に送信された質問を示している。回答集合５２は、質問集合５１の要素により示される質問に対する回答を示している。回答者５３は、質問集合５１の要素により示される質問に対して回答した回答者のメールアドレスまたは電話番号を示し、その回答者を識別している。回答日時５４は、質問集合５１の要素により示される質問に対して回答された日時を示している。
【００５６】
このとき、回答記録部２５は、端末５に送信した質問に対する回答を収集したときに、その質問がその回答と回答者と回答日時とに対応するように、回答情報３４を更新して記憶装置１０に記録する。
生成起動部２３は、回答情報３４を参照して、回答情報３４の質問集合５１に未完成部分情報２３が示す質問が含まれているかどうかを判別する。生成起動部２３は、回答情報３４の質問集合５１に未完成部分情報２３が示す質問が含まれていないときに、その質問を端末５に送信する。
生成完了部２６は、回答情報３４の質問集合５１に未完成部分情報２３が示す質問が含まれているときに、回答情報３４の回答集合５２のうちのその質問に対応する回答に基づいて制御プログラム３５を生成する。生成完了部２６は、回答情報３４の質問集合５１に未完成部分情報２３が示す質問が含まれていないときに、端末５から収集された回答に基づいて制御プログラム３５を生成する。
【００５７】
本発明による制御プログラム生成方法は、ロボットエージェント１により実行され、ユーザ認識動作と人物対応情報作成動作と生成起動動作と生成完了動作とを備えている。
【００５８】
そのユーザ認識動作は、その人物対応情報作成動作と生成起動動作と生成完了動作とが実行される前に予め実行され、ユーザにより所定の操作がロボットエージェント１に実施されたときに開始される。ロボットエージェント１は、そのユーザ認識動作が実行されると、入力装置１２に入力される情報に基づいて、ユーザを認識し、そのユーザを識別するユーザ識別子を記憶装置１０に記録する。
【００５９】
その人物対応情報作成動作は、ユーザにより所定の操作がロボットエージェント１に実施されたときに開始される。ロボットエージェント１は、入力装置１２に人物種別情報と人物識別子とが入力されたときに、ユーザ認識動作により認識されるユーザ識別子にその人物種別情報とその人物識別子とが対応するように、人物対応情報３３を更新する。ロボットエージェント１は、その更新された人物対応情報３３を記憶装置１０に記録する。
【００６０】
図７は、その生成起動動作を示している。その生成起動動作は、ロボットエージェント１が未完成プログラム３１と未完成部分情報とをサーバ６から受信したときに、あるいは、一定の周期などにおいて決められる時点において、人物対応情報３３がユーザ識別子集合４６示すユーザ識別子ごとに実行される。ロボットエージェント１は、未完成プログラム３１と未完成部分情報３２とが入力されると、まず、未完成部分情報３２が処理されているかいないかを判別する（ステップＡ１）。ロボットエージェント１は、未完成部分情報３２が処理されていないときに（ステップＡ１、ＹＥＳ）、未完成部分情報３２の質問集合５１のうちの文字列「＄ｕｓｅｒ＄」をそのユーザ認識動作により記録されたユーザ識別子に置換して質問を完成させる。ロボットエージェント１は、次いで、回答情報３４を参照して、その質問に対する回答を過去に収集したことがあるかないかを判別する（ステップＡ２）。
【００６１】
ロボットエージェント１は、回答情報３４の質問集合５１がその質問を含んでいないときに（ステップＡ３、ＮＯ）、人物対応情報３３を参照して、人物識別子集合４８のうちから未完成部分情報３２の人物種別情報４３に対応する人物識別子を検索する（ステップＡ４）。
【００６２】
ロボットエージェント１は、その人物識別子が存在するときに（ステップＡ５、ＹＥＳ）、その人物識別子が示す端末５にその質問を送信する（ステップＡ６）。ロボットエージェント１は、未完成部分情報３２を複数受信したときに、処理されていない未完成部分情報３２がなくなるまで、ステップＡ２〜ステップＡ６の動作を未完成部分情報３２ごとに繰り返して実行する。
【００６３】
図８は、その生成完了動作を示している。その生成完了動作は、その生成起動動作が終了すると、未完成部分情報３２ごとに実行される。ロボットエージェント１は、生成完了動作で完成された質問に対する回答を過去に収集したことがあるときに、回答情報３４を参照して、回答集合５２のうちからその質問に対応する回答を検索することにより、その回答を取得する。ロボットエージェント１は、生成完了動作で完成された質問に対する回答を過去に収集したことがないときに、その質問が送信された端末５からその回答を取得する（ステップＳ１）。ロボットエージェント１は、その回答を端末５から取得したときに、その端末５に対応する人物識別子とその取得した回答日時とを算出し、その質問にその回答と人物識別子と回答日時とが対応するように回答情報３４を更新し、その更新された回答情報３４を記憶装置１０に記録する（ステップＳ２）。
【００６４】
ロボットエージェント１は、次いで、未完成部分情報３２の生成手順情報４５に従って、その回答を用いて未完成プログラム３１から制御プログラム３５を生成する（ステップＳ３）。ロボットエージェント１は、制御プログラム３５を完成させると、制御プログラム３５を実行して、たとえば、出力装置１４を用いてセリフを発話する（ステップＳ４）。
【００６５】
ロボットエージェント１が複数のユーザに対してサービスを行う場合には、上記の生成起動動作と生成完了動作とは、それぞれのユーザ毎に繰り返して実行される。
【００６６】
ロボットエージェント１のセリフがユーザの過去の経験に一致した正しい事実を指しているときに、これを発話されたユーザは、一般に、ロボットエージェント１に人に類似した賢さを感じる。ユーザは、さらに、この情報がユーザ本人によりロボットエージェント１に供与、設定されたものでないときに、ロボットエージェント１にさらなる賢さを感じる。このような動作によれば、ロボットエージェント１は、ユーザと異なるユーザにより入力された情報に基づいて作成されたセリフを発話することができ、ユーザは、そのセリフがユーザにより入力された情報だけで作成されることがないときに、ロボットエージェント１に人に類似した賢さを感じることができる。すなわち、ロボットエージェント１は、ユーザ一人一人に対して、その個人情報のレベルまでカスタマイズされることができ、ユーザのロボットエージェントに対する興味を増大させ、ユーザにロボットエージェントの利用意欲を向上させることができる。
【００６７】
なお、ロボットエージェント１は、未完成なセリフを完成させる処理と異なる処理で制御プログラム３５を完成させることもできる。このような処理としては、回答によりある動作を実行したり実行しなかったりするように制御プログラム３５を生成させることが例示される。
【００６８】
なお、ロボットエージェント１は、特定の未完成部分情報３２に関する生成起動動作と生成完了動作とを定期的に複数回実行することもできる。このとき、生成起動動作を開始するタイミングの決定には、制御プログラム自体がその属性として保持する情報を元に行う方法、あるいは、ロボットエージェント１内に、ロボットエージェントの属性あるいはユーザの属性として保持する情報に基づいて行う方法なとが取り得る。たとえば、未完成プログラム３１とともに収集される未完成部分情報３２がタイミングをさらに示している。このとき、ロボットエージェント１は、そのタイミングで端末５に質問を送信する。たとえば、ロボットエージェント１は、入力装置１２を介してタイミングが入力されたときに、そのタイミングを記憶装置１０に記録し、そのタイミングで端末５に質問を送信する。このような動作によれば、ロボットエージェント１は、定期的に発話する可能性があるセリフを毎回変化させて発話することができる。このようなセリフとしては、「先週は、体調が［悪かった／良かった］みたいですが、今週はいかがですか？」が例示される。
【００６９】
なお、未完成部分情報３２の人物種別情報４３は、優先順位がある複数の続柄を示すこともできる。このとき、ロボットエージェント１は、まず、優先順位が最も高い続柄に対応する端末６に質問を送信し、所定の時刻までに回答が得られないときに、次の順位の続柄に対応する端末６に質問を送信する。または、ロボットエージェント１は、優先順位が最も高い続柄が人物対応情報３３の人物種別情報集合４７に含まれていないときに、次の順位の続柄に対応する端末６に質問を送信する。このような動作によれば、ロボットエージェント１は、その質問に対する回答をより確実に収集することができ、制御プログラムが完成する確率を高めることができる。
【００７０】
本発明による制御プログラム生成方法の実施の他の形態は、サーバ６により実行される。図９は、サーバ６を示している。サーバ６は、コンピュータであり、ＣＰＵ（図示されていない）と記憶装置と入力装置と出力装置と通信装置とを備えている。そのＣＰＵは、サーバ６にインストールされるコンピュータプログラムを実行して、その記憶装置とその入力装置とその出力装置とその通信装置とを制御する。その記憶装置は、そのコンピュータプログラムを記録し、そのＣＰＵにより生成される情報を記録する。その入力装置は、ユーザに操作されることにより情報を生成し、その情報をそのＣＰＵに出力する。その入力装置としては、キーボード、マウス、ＵＳＢポート、リムーバルメモリドライブが例示される。その出力装置は、そのＣＰＵにより生成される情報をユーザに認識可能に出力する。その出力装置としては、ディスプレイが例示される。そのディスプレイは、そのＣＰＵにより生成される画面を表示する。その通信装置は、インターネット３を介して、そのＣＰＵにより生成される情報を他のコンピュータ（ロボットエージェント１、端末５）に送信し、他のコンピュータから収集される情報をそのＣＰＵに出力する。
【００７１】
サーバ６にインストールされるコンピュータプログラムは、制御プログラム収集部６１と人物対応情報作成部６２と生成起動部６３と回答収集部６４と回答記録部６５と生成完了部６６と制御プログラム配信部６７とを含んでいる。
【００７２】
制御プログラム収集部６１は、ユーザがその入力装置を用いて未完成プログラム３１と未完成部分情報３２とを入力したときに、その入力装置から未完成プログラム３１と未完成部分情報３２とを収集する。
【００７３】
人物対応情報収集部６２は、その通信装置を用いてロボットエージェント１から人物種別情報と人物識別子とが収集し、ロボットエージェント１のユーザを識別するユーザ識別子に人物種別情報と人物識別子と対応するように人物対応情報３３を更新して、人物対応情報３３をその記憶装置に記録する。
【００７４】
生成起動部６３は、質問情報４４が示す質問のうちの文字列「＄ｕｓｅｒ＄」をその人物種別情報と人物識別子とが収集されたロボットエージェント１のユーザを識別するユーザ識別子に置換して質問を完成させる。生成起動部６３は、回答情報３４を参照して、回答情報３４の質問集合５１にその質問が含まれているかどうかを判別する。生成起動部６３は、回答情報３４の質問集合５１にその質問が含まれていないときに、人物対応情報３３を参照して、その通信装置を用いて、ユーザ識別子集合４６のうちのそのユーザ識別子と人物種別情報４３とに対応するユーザ識別子の端末にその質問を送信する。
【００７５】
回答収集部６４は、回答情報３４の質問集合５１にその質問が含まれているときに、回答情報３４を参照して、回答集合３５のうちからその質問に対応する回答を収集する。その通信装置を用いて、その質問に応答して生成された回答を端末５から収集する。回答収集部６４は、回答情報３４の質問集合５１にその質問が含まれていないときに、その通信装置を用いて、その質問に応答して生成された回答を端末５から収集する。
【００７６】
回答記録部６５は、端末５に送信した質問に対する回答を収集したときに、その質問がその回答と回答者と回答日時とに対応するように、回答情報３４を更新してその記憶装置に記録する。
【００７７】
生成完了部６６は、その回答を取得したときに、未完成部分情報３２の生成手順情報４５に従って、その回答を用いて未完成プログラム３１から制御プログラムを生成する。制御プログラム配信部６７は、その通信装置を用いて、生成完了部６６により生成された制御プログラム３５をロボットエージェント１に制御プログラム３５を配信する。
【００７８】
サーバ６は、人物対応情報収集動作と生成起動動作と生成完了動作とを実行する。その人物対応情報作成動作は、ユーザによりロボットエージェント１にユーザ識別子と人物種別情報と人物識別子とが入力されたときに、実行される。サーバ６は、そのユーザ識別子と人物種別情報と人物識別子とをロボットエージェント１から収集し、そのユーザ識別子にその人物種別情報とその人物識別子とが対応するように、人物対応情報３３を更新する。サーバ６は、その更新された人物対応情報３３をその記憶装置に記録する。
【００７９】
その生成起動動作は、未完成プログラム３１と未完成部分情報３２とがサーバ６に入力されたときに開始される。サーバ６は、未完成プログラム３１と未完成部分情報３２とが入力されると、まず、ユーザ識別子ごとに、未完成部分情報３２が処理されているかいないかを判別する。サーバ６は、未完成部分情報３２が処理されていないときに、未完成部分情報３２の質問集合５１のうちの文字列「＄ｕｓｅｒ＄」をそのユーザ識別子に置換して質問を完成させる。サーバ６は、次いで、回答情報３４を参照して、その質問に対する回答を過去に収集したことがあるかないかを判別する。
【００８０】
サーバ６は、回答情報３４の質問集合５１がその質問を含んでいないときに、人物対応情報３３を参照して、人物識別子集合４８のうちからそのユーザ識別子と未完成部分情報３２の人物種別情報４３に対応する人物識別子を検索する。
【００８１】
サーバ６は、その人物識別子が存在するときに、その人物識別子が示す端末５にその質問を送信する。サーバ６は、未完成部分情報３２を複数受信したときに、処理されていない未完成部分情報３２がなくなるまで、このような動作を未完成部分情報３２ごとに繰り返して実行する。
【００８２】
その生成完了動作は、その生成起動動作が終了すると、未完成部分情報３２ごとに実行される。サーバ６は、生成完了動作で完成された質問に対する回答を過去に収集したことがあるときに、回答情報３４を参照して、回答集合５２のうちからその質問に対応する回答を検索することにより、その回答を取得する。サーバ６は、生成完了動作で完成された質問に対する回答を過去に収集したことがないときに、その質問が送信された端末５からその回答を取得する。サーバ６は、その回答を端末５から取得したときに、その端末５に対応する人物識別子とその取得した回答日時とを算出し、その質問にその回答と人物識別子と回答日時とが対応するように回答情報３４を更新し、その更新された回答情報３４をその記憶装置に記録する。
【００８３】
サーバ６は、次いで、未完成部分情報３２の生成手順情報４５に従って、その回答を用いて未完成プログラム３１から制御プログラム３５を生成し、制御プログラム３５をロボットエージェント１に制御プログラム３５を配信する。
【００８４】
このような動作によれば、ロボットエージェント１は、既述の実施の形態と同様にして、ユーザと異なるユーザにより入力された情報に基づいて作成されたセリフを発話することができ、ユーザのロボットエージェントに対する興味を増大させ、ユーザにロボットエージェントの利用意欲を向上させることができる。
【産業上の利用可能性】
【００８５】
本発明によるロボットエージェントは、人への情報提供や人とのコミュニケーションなどを行う機器に置換されることもできる。その機器としては、ロボットのほかに、カーナビ、携帯電話などが例示される。、本発明によるロボットエージェントは、さらに、人やペットの個人情報に基づいてサービスを行う機器に置換されることもできる。その機器としては、医療機器、介護機器、ペットの世話をする機器などが例示される。
【図面の簡単な説明】
【００８６】
【図１】図１は、制御プログラム生成システムの実施の形態を示すブロック図である。
【図２】図２は、本発明によるロボットエージェントの実施の形態を示すブロック図である。
【図３】図３は、未完成プログラムに含まれるセリフ表を示す図である。
【図４】図４は、未完成部分情報を示す図である。
【図５】図５は、人物対応情報を示す図である。
【図６】図６は、回答情報を示す図である。
【図７】図７は、生成起動動作を示すフローチャートである。
【図８】図８は、生成完了動作を示すフローチャートである。
【図９】図９は、本発明によるサーバの実施の形態を示すブロック図である。
【符号の説明】
【００８７】
１  ：ロボットエージェント
２  ：制御プログラム生成システム
３  ：インターネット
５  ：端末
６  ：サーバ
１０：記憶装置
１１：制御プログラム通信装置
１２：入力装置
１４：出力装置
１５：通信装置
２１：制御プログラム入力部
２２：人物対応情報作成部
２３：生成起動部
２４：回答収集部
２５：回答記録部
２６：生成完了部
２７：制御プログラム実行部
【図１】
2009098707.tif 000003
【図２】
2009098707.tif 000004
【図３】
2009098707.tif 000005
【図４】
2009098707.tif 000006
【図５】
2009098707.tif 000007
【図６】
2009098707.tif 000008
【図７】
2009098707.tif 000009
【図８】
2009098707.tif 000010
【図９】
2009098707.tif 000011