説明

ロボットエージェントおよび制御プログラム生成方法

【課題】ユーザの利用意欲を向上させること。
【解決手段】通信回線3を介して端末5から回答を収集する回答収集部24と、その回答に基づいて未完成プログラム31から制御プログラム35を生成する生成完了部26と、制御プログラム35を実行することにより端末5と異なる入力装置12に入力される情報に応答して所定の動作を実行する制御プログラム実行部27とを備えている。このとき、ロボットエージェント1は、ユーザと異なる他のユーザからそのユーザの個人情報を収集することができ、ユーザにより入力されていない情報に基づいた動作を実行することができ、ユーザに賢さを感じさせることができ、ユーザの利用意欲を向上させることができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットエージェントおよび制御プログラム生成方法に関し、特に、人への情報提供や人とのコミュニケーションなどを行うロボットエージェントとそのロボットエージェントを制御する制御プログラムを生成する制御プログラム生成方法に関する。
【背景技術】
【0002】
人への情報提供や人とのコミュニケーションなどを行うロボットエージェントが知られている。このようなロボットエージェントが提供するサービスやコンテンツは、画一化させないことが望まれている。
【0003】
特許第3844048号公報には、ロボットエージェントが提供するサービスやコンテンツを画一化させないための方策の1つとして、内蔵する制御プログラムを外部から交換することができるロボットエージェントの一例が記載されている。そのロボットエージェントは、外部から入力した拡張プログラムを実行している際のユーザの様子を観察し、その拡張プログラムに対するユーザの関心が高い場合にはその拡張プログラムと同種の拡張プログラムを多く蓄積するようにし、また、関心が低い拡張プログラムと同種の拡張プログラムは削除していくように制御している。これらの手段により、ロボットエージェントが提供するサービスやコンテンツをよりユーザの嗜好に近いものにできるため、ロボットエージェントを長期間、機能的に陳腐化させないように利用することができる。
【0004】
ユーザ毎にサービスやコンテンツを製造することはコストの面で難しいため、提供されるサービスやコンテンツは共通項的な性質を持つことになり、多様なユーザの嗜好に必ずしも合致しない。また、ユーザの嗜好に合致させるために、ユーザの個人情報をロボットエージェントに供与する方法を用いるとする。しかしながら、ユーザから見れば自分で供与した情報をロボットエージェントがそのまま利用するだけでは、ユーザはロボットエージェントに何ら賢さを感じない。賢さを感じさせるためには、何らかの手段でユーザが直接与えていない情報、例えば、複数の情報から類推した情報、に基づくサービスを実現する必要がある。ロボットエージェントに賢さが感じられないと、利便性の低い、機械的な存在と判断され、ユーザの利用意欲が低下するものと推測される。すなわち、特許第3844048号公報の技術を用いたとしても、ロボットエージェントのサービスやコンテンツを、ユーザ好みにカスタマイズするだけでは、ユーザの利用意欲を維持、向上させるためには不十分である。
【0005】
ユーザのロボットエージェントに対する利用意欲を維持、向上させることが望まれ、ロボットエージェントのサービスやコンテンツをユーザ一人一人に対して、賢さを感じさせるようにカスタマイズすることことが望まれている。
【0006】
特開昭59−075306号公報には、簡単に、且つハンドを各ポイントへ位置決めして該ポイントを教唆する必要がなく、しかも同じポイントを何回も教唆する必要がないロボット指令プログラム作成方法が開示されている。そのロボット指令プログラム作成方法は、各ポイントにおける少なくとも1軸分の位置データをブランクにしてなるロボット指令プログラムと、該ロボット指定プログラムのブランク部分に位置データを埋め込むプログラムとを作成して記憶すると共に、各ポイントの位置をセンサにより検出し、埋め込みプログラムの制御により該検出された各ポイントの位置データをロボット指令プログラムのブランク部に埋め込み完全なロボット指令プログラムを作成することを特徴としている。
【0007】
特開平05−088863号公報には、プログラム開発を容易にするプログラム開発支援システムが開示されている。そのプログラム開発支援システムは、目的とするプログラムを共通部分と独自部分に分け、共通部分によって構成したスケルトンプログラムを用意しておくとともに、独自部分に関する独自情報を収集するための独自情報収集手段、独自情報収集手段によって得られた独自情報に基づいて、スケルトンプログラムに独自部分を付加して、目的とするプログラムを完成させるプログラム完成手段を備えたことを特徴としている。
【0008】
【特許文献1】特許第3844048号公報
【特許文献2】特開昭59−075306号公報
【特許文献3】特開平05−088863号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
本発明の課題は、ユーザの利用意欲を向上させるロボットエージェントを提供することにある。
本発明の他の課題は、賢さを感じさせるサービスを提供するロボットエージェントを提供することにある。
本発明のさらに他の課題は、ユーザの利用意欲を向上させるようにロボットエージェントをカスタマイズする制御プログラム生成方法を提供することにある。
本発明のさらに他の課題は、ユーザに賢さを感じさせるようにロボットエージェントをカスタマイズする制御プログラム生成方法を提供することにある。
【課題を解決するための手段】
【0010】
以下に、発明を実施するための最良の形態・実施例で使用される符号を括弧付きで用いて、課題を解決するための手段を記載する。この符号は、特許請求の範囲の記載と発明を実施するための最良の形態・実施例の記載との対応を明らかにするために付加されたものであり、特許請求の範囲に記載されている発明の技術的範囲の解釈に用いてはならない。
【0011】
本発明によるロボットエージェント(1)は、通信回線(3)を介して端末(5)から回答を収集する回答収集部(24)と、その回答に基づいて未完成プログラム(31)から制御プログラム(35)を生成する生成完了部(26)と、制御プログラム(35)を実行することにより端末(5)と異なる入力装置(12)に入力される情報に応答して所定の動作を実行する制御プログラム実行部(27)とを備えている。ロボットエージェント(1)は、ユーザと異なる他のユーザからそのユーザの個人情報を収集することができる。このとき、ロボットエージェント(1)は、ユーザにより入力されていない情報に基づいた動作を実行することができ、ユーザに賢さを感じさせることができ、ユーザの利用意欲を向上させることができる。
【0012】
本発明によるロボットエージェント(1)は、未完成プログラム(31)とともに生成手順(45)を収集する制御プログラム入力部(21)をさらに備えている。このとき、生成完了部(26)は、その生成手順(45)を実行することにより未完成プログラム(31)から制御プログラム(35)を生成することが好ましい。
【0013】
未完成プログラム(31)は、未完成セリフ(42)を示している。このとき、生成完了部(26)は、回答に基づいて未完成セリフ(42)をセリフに変換する。制御プログラム実行部(27)は、制御プログラム(35)を実行することにより出力装置(14)を用いてそのセリフを発話することが好ましい。
【0014】
本発明によるロボットエージェント(1)は、未完成プログラム(31)とともに収集される質問(44)を端末(5)に送信する生成起動部(23)をさらに備えていることが好ましい。
【0015】
生成完了部(26)は、複数質問(51)を複数回答(52)に対応付ける回答情報(34)を参照して、複数回答(52)のうちの質問(44)に対応する既得回答に基づいて未完成プログラム(31)を制御プログラム(35)に変換する。このとき、生成起動部(23)は、質問(44)を端末(5)に送信する必要がなく、好ましい。
【0016】
本発明によるロボットエージェント(1)は、質問(44)が回答に対応するように回答情報(34)を更新する回答記録部(25)をさらに備えている。
【0017】
制御プログラム入力部(21)は、種別(43)をさらに収集する。このとき、生成起動部(23)は、複数種別(47)を複数端末(48)に対応付ける人物対応情報(33)を参照して、複数端末(48)のうちの種別(43)に対応する端末(5)に質問(44)を送信することが好ましい。
【0018】
本発明によるロボットエージェント(1)は、入力装置(12)から入力される情報に基づいて人物対応情報(33)を生成する人物対応情報作成部(22)をさらに備えていることが好ましい。
【0019】
制御プログラム入力部(21)は、他の種別(43)をさらに収集する。このとき、生成起動部(23)は、端末(5)から回答が所定時間内に返信されないときに、複数端末(48)のうちの他の種別(43)に対応する他の端末(5)に質問(44)を送信する。このとき、生成完了部(26)は、他の端末(5)から収集される他の回答に基づいて未完成プログラム(31)から制御プログラム(35)を生成することが好ましい。
【0020】
制御プログラム入力部(21)は、他の種別(43)をさらに収集する。このとき、生成起動部(23)は、複数種別(47)が種別(43)を含まないときに、複数端末(48)のうちの他の種別(43)に対応する他の端末(5)に質問(44)を送信し、生成完了部(26)は、他の端末(5)から収集される他の回答に基づいて未完成プログラム(31)から制御プログラム(35)を生成することが好ましい。
【0021】
その質問は、未完成プログラム(31)とともに収集されるタイミングで端末(5)に送信されることが好ましい。または、その質問は、入力装置から入力されたタイミングで端末(5)に送信されることが好ましい。
【0022】
本発明による制御プログラム生成方法は、通信回線(3)を介して端末(5)から回答を収集するステップ(S2)と、回答に基づいて未完成プログラム(31)から制御プログラム(35)を生成するステップ(S3)と、制御プログラム(35)を実行することにより端末(5)と異なる入力装置(12)に入力される情報に応答して所定の動作を実行するステップ(S4)とを備えている。このとき、本発明による制御プログラム生成方法を実行するロボットエージェント(1)は、ユーザにより入力されていない情報に基づいた動作を実行することができ、ユーザに賢さを感じさせることができ、ユーザの利用意欲を向上させることができる。
【0023】
本発明による制御プログラム生成方法は、未完成プログラム(31)とともに未完成部分情報(32)を収集するステップをさらに備えている。このとき、制御プログラム(35)は、未完成部分情報(32)が示す生成手順(45)を実行することにより未完成プログラム(31)から生成されることが好ましい。
【0024】
未完成プログラム(31)は、未完成セリフ(42)を示している。このとき、未完成セリフ(42)は、その回答に基づいてセリフに変換され、そのセリフは、制御プログラム(35)が実行されることにより出力装置(14)から発話されることが好ましい。
【0025】
本発明による制御プログラム生成方法は、未完成プログラム(31)とともに収集される質問(44)を端末(5)に送信するステップ(A5)をさらに備えていることが好ましい。
【0026】
制御プログラム(35)は、複数質問(51)を複数回答(52)に対応付ける回答情報(34)を参照して、複数回答(52)のうちの質問(44)に対応する既得回答に基づいて未完成プログラム(31)から生成される。このとき、質問(44)は、端末(5)に送信される必要がない。
【0027】
本発明による制御プログラム生成方法は、質問(44)が回答に対応するように回答情報(34)を更新するステップをさらに備えている。
【0028】
質問(44)は、複数種別(47)を複数端末(48)に対応付ける人物対応情報(33)を参照して、複数端末(48)のうちの未完成部分情報(32)が示す種別(43)に対応する端末(5)に送信されることが好ましい。
【0029】
本発明による制御プログラム生成方法は、入力装置(12)から入力される情報に基づいて人物対応情報(33)を生成するステップをさらに備えていることが好ましい。
【0030】
質問(44)は、端末(5)から回答が所定時間内に返信されないときに、複数端末(48)のうちの未完成部分情報(32)が示す他の種別(43)に対応する他の端末(5)に送信される。このとき、制御プログラム(35)は、他の端末(5)から収集される他の回答に基づいて未完成プログラム(31)から生成されることが好ましい。
【0031】
質問(44)は、複数種別(47)が種別(43)を含まないときに、複数端末(48)のうちの未完成部分情報(32)が示す他の種別(43)に対応する他の端末(5)に送信される。このとき、制御プログラム(35)は、他の端末(5)から収集される他の回答に基づいて未完成プログラム(31)から生成されることが好ましい。
【0032】
その質問は、未完成プログラム(31)とともに収集されるタイミングで端末(5)に送信されることが好ましい。または、その質問は、入力装置から入力されたタイミングで端末(5)に送信されることが好ましい。
【0033】
本発明による制御プログラム生成サーバは、通信回線(3)を介して端末(5)から回答を収集する回答収集部(64)と、その回答に基づいて未完成プログラム(31)から制御プログラム(35)を生成する生成完了部(66)と、通信回線(3)を介して端末(5)と異なるコンピュータ(1)に制御プログラム(35)を配信する配信部(67)とを備えている。そのコンピュータ(1)は、制御プログラム(35)を実行することにより入力装置(12)に入力される情報に応答して所定の動作を実行する。このとき、コンピュータ(1)は、ユーザにより入力されていない情報に基づいた動作を実行することができ、ユーザに賢さを感じさせることができ、ユーザの利用意欲を向上させることができる。
【発明の効果】
【0034】
本発明によるロボットエージェントおよび制御プログラム生成方法によれば、ロボットエージェントは、ユーザにより入力されていない情報に基づいた動作を実行することができ、ユーザに賢さを感じさせることができる。この結果、ロボットエージェントは、賢さを感じさせるサービスを提供することができ、ユーザの利用意欲を向上させることができる。
【発明を実施するための最良の形態】
【0035】
図面を参照して、本発明によるロボットエージェントの実施の形態を記載する。そのロボットエージェント1は、図1に示されているように、制御プログラム生成システム2に適用されている。制御プログラム生成システム2は、インターネット3を介して複数のコンピュータが互いに双方向に情報を伝送することができるように接続されている。その複数の情報処理装置は、ロボットエージェント1と端末5とサーバ6とから形成されている。なお、インターネット3は、他の通信回線網に置換されることもできる。その通信回線網としては、電話回線網が例示される。
【0036】
端末5は、ロボットエージェント1のユーザと異なる関係者により使用される。その関係者としては、そのユーザの家族、子供、親、友人、主治医、先生、上司、同僚が例示される。端末5としては、コンピュータ、携帯電話機、固定電話機が例示される。制御プログラム生成システム2は、端末5を複数備えている。サーバ6は、コンピュータであり、ロボットエージェント1で実行されるコンピュータプログラムをインターネット3に公開している。
【0037】
図2は、ロボットエージェント1を示している。ロボットエージェント1は、コンピュータであり、CPU(図示されていない)と記憶装置10と制御プログラム通信装置11と入力装置12と出力装置14と通信装置15とを備えている。そのCPUは、ロボットエージェント1にインストールされるコンピュータプログラムを実行して、記憶装置10と制御プログラム通信装置11と入力装置12と出力装置14と通信装置15とを制御する。記憶装置10は、そのコンピュータプログラムを記録し、そのCPUにより生成される情報を記録する。制御プログラム通信装置11は、インターネット3を介してサーバ6が公開している情報をサーバ6から収集し、その情報をそのCPUに出力する。入力装置12は、ユーザに操作されることにより情報を生成し、その情報をそのCPUに出力する。入力装置12としては、キーボード、マウスが例示される。出力装置14は、そのCPUにより生成される情報をユーザに認識可能に出力する。出力装置14としては、ディスプレイ、スピーカが例示される。そのディスプレイは、そのCPUにより生成される画面を表示する。そのスピーカは、そのCPUにより生成される音声を発音する。通信装置15は、インターネット3を介して、そのCPUにより生成される情報を端末5に送信し、端末5から収集される情報をそのCPUに出力する。
【0038】
なお、制御プログラム通信装置11は、通信回線を用いないで未完成プログラム31を外部からロボットエージェント1に入力する他の制御プログラム入力装置に置換されることができる。その制御プログラム入力装置としては、USBポート、リムーバルメモリドライブが例示される。そのUSBポートは、情報が記録されているUSBメモリが挿入されたときに、その情報をそのUSBメモリからそのCPUに出力する。そのリムーバルメモリドライブは、リムーバルメモリが挿入されたときに、そのリムーバルメモリに記録されている情報をそのCPUに出力する。そのリムーバルメモリとしては、フラッシュメモリ、磁気ディスク(フレキシブルディスク、ハードディスク)、光ディスク(CD、DVD)が例示される。
【0039】
ロボットエージェント1にインストールされるコンピュータプログラムは、制御プログラム入力部21と人物対応情報作成部22と生成起動部23と回答収集部24と回答記録部25と生成完了部26と制御プログラム実行部27とを含んでいる。
【0040】
制御プログラム入力部21は、制御プログラム通信装置11を用いて、サーバ6により生成された未完成プログラム31と未完成部分情報32とをサーバ6から収集し、未完成プログラム31と未完成部分情報32とを記憶装置10に記録する。
【0041】
人物対応情報作成部22は、ユーザにより入力装置12に入力された情報に基づいて人物対応情報33を作成し、人物対応情報33を記憶装置10に記録する。
【0042】
生成起動部23は、未完成部分情報32と人物対応情報33とに基づいて宛先の端末5を選択し、通信装置15を用いて未完成部分情報32が示す質問をその宛先の端末5に送信する。
【0043】
回答収集部24は、通信装置15を用いて、生成起動部23により送信された質問に応答して生成された回答を端末5から収集する。
【0044】
回答記録部25は、回答収集部24により収集された回答に基づいて回答情報34を生成し、回答情報34を記憶装置10に記録する。
【0045】
生成完了部26は、未完成プログラム31と未完成部分情報32と回答収集部24により収集された回答とに基づいて制御プログラム35を生成して、制御プログラム35を記憶装置10に記録する。または、生成完了部26は、未完成プログラム31と未完成部分情報32と回答情報34とに基づいて制御プログラム35を生成して、制御プログラム35を記憶装置10に記録する。
【0046】
制御プログラム実行部27は、制御プログラム35を実行することにより入力装置12と出力装置14とを制御して、所定のサービスをユーザに提供する。
【0047】
図3は、未完成プログラム31が備えるセリフ表を示している。そのセリフ表40は、セリフID集合41をセリフ集合42に対応付けている。すなわち、セリフID集合41のうちの任意の要素は、セリフ集合42のうちの1つの要素に対応している。セリフID集合41の要素は、互いに異なるセリフID(番号)を示し、制御プログラム35が実行されたときに発話される複数のセリフを識別している。セリフ集合42の要素は、文字列を示し、セリフID集合41の要素により識別されるセリフを示している。
【0048】
セリフ集合42のうちのいくつかの要素は、その文字列に未完成部分を含んでいる。たとえば、セリフID「#12」は、セリフ「来月、××市でお祭りがあるそうです。そういえば。××市には行ったことが##のでしたよね?」に対応している。このセリフは、未完成部分を含み、36文字目から37文字目までに文字列「ある」または文字列「ない」のうちのいずれかが挿入されることにより完成する。
【0049】
未完成部分情報32は、セリフ表40のセリフ集合42のうちの未完成部分を含むセリフの個数だけ生成されている。図4は、未完成部分情報32を示している。未完成部分情報32は、人物種別情報43と質問情報44と生成手順情報45とを示している。人物種別情報43は、ユーザとの続柄を示している。その続柄としては、家族、子供、親、友人、主治医、先生が例示される。質問情報44は、ユーザの関係者に未完成部分を完成させるための情報を問うため質問を示す文字列を示している。生成手順情報45は、その質問の回答を未完成部分に反映させるための情報であり、未完成部分の場所や長さなどを示し、質問情報44により示される質問の回答に基づいて未完成プログラム31を制御プログラム35に変換する手順を示している。たとえば、生成手順情報45は、質問情報44により示される質問の回答に基づいて完成される未完成であるセリフのセリフIDを示し、その回答を用いてそのセリフを完成させる手順を示している。
【0050】
たとえば、人物種別情報43は、「家族」を示し、質問情報44は、質問「$user$さんは、これまでXX市に行ったことがありますか?」を示し、生成手順情報45は、手順「セリフID#12のセリフの起点36文字目、終点37文字目に回答を挿入する」を示している。このとき、生成起動部23は、質問情報44が示す質問のうちの文字列「$user$」を予め取得されているユーザの名称に置換して質問を完成させる。生成完了部26は、その質問に対する回答が得られたときに、その手順に従って、セリフID#12のセリフの起点36文字目、終点37文字目に回答を挿入する。
【0051】
なお、図4では、説明のために未完成部分情報32が可読形式で記載されているが、実際には、ロボットエージェントにのみ解読可能な形式で書かれていてもよい。特に、生成手順情報45は、プログラムの形式で書かれていてもよい。
【0052】
図5は、人物対応情報33を示している。人物対応情報33は、ユーザ識別子集合46を人物対応テーブル集合に対応付けている。すなわち、ユーザ識別子集合46のうちの任意の要素は、その人物対応テーブル集合のうちの1つの要素に対応している。ユーザ識別子集合46の要素は、ロボットエージェント1のユーザを識別するユーザ識別子を示し、ロボットエージェント1のユーザの名前を示している。
【0053】
その人物対応テーブル集合の要素は、人物種別情報集合47を人物識別子集合48に対応付けている。すなわち、人物種別情報集合47のうちの任意の要素は、人物識別子集合48のうちの1つの要素に対応している。人物種別情報集合47の要素は、ユーザとの続柄を示している。その続柄としては、家族、子供、親、友人、主治医、先生が例示される。人物識別子集合48の要素は、メールアドレスまたは電話番号を示し、ロボットエージェント1のユーザとの関係がセリフID集合41の要素により識別される続柄に一致する人物を識別している。
【0054】
このとき、人物対応情報作成部22は、ユーザ識別子により識別されるユーザにロボットエージェント1が使用されている場合で、そのユーザにより入力装置12に人物種別情報と人物識別子とが入力されたときに、そのユーザ識別子に人物種別情報と人物識別子と対応するように人物対応情報33を更新して記憶装置10に記録する。生成起動部23は、ユーザ識別子により識別されるユーザにロボットエージェント1が使用されている場合で、その人物対応テーブル集合のうちのそのユーザ識別子に対応する人物対応テーブルを参照して、ユーザ識別子集合46のうちの人物種別情報43に対応するユーザ識別子の端末に質問を送信する。さらに、生成起動部23は、人物識別子がメールアドレスを示しているときに、その質問を示す電子メールをその端末に送信し、人物識別子が電話番号を示しているときに、その電話番号に電話してその質問を示す音声を送信する。回答収集部24は、人物識別子が電話番号を示しているときに、その電話の会話を音声認識して、その質問の回答を収集する。
【0055】
図6は、回答情報34を示している。回答情報34は、質問集合51を回答集合52と回答者集合53と回答日時集合54とに対応付けている。すなわち、質問集合51のうちの任意の要素は、回答集合52のうちの1つの要素に対応し、回答者集合53のうちの1つの要素に対応し、回答日時集合54のうちの1つの要素に対応している。質問集合51の要素は、文字列を示し、過去にロボットエージェント1から端末5に送信された質問を示している。回答集合52は、質問集合51の要素により示される質問に対する回答を示している。回答者53は、質問集合51の要素により示される質問に対して回答した回答者のメールアドレスまたは電話番号を示し、その回答者を識別している。回答日時54は、質問集合51の要素により示される質問に対して回答された日時を示している。
【0056】
このとき、回答記録部25は、端末5に送信した質問に対する回答を収集したときに、その質問がその回答と回答者と回答日時とに対応するように、回答情報34を更新して記憶装置10に記録する。
生成起動部23は、回答情報34を参照して、回答情報34の質問集合51に未完成部分情報23が示す質問が含まれているかどうかを判別する。生成起動部23は、回答情報34の質問集合51に未完成部分情報23が示す質問が含まれていないときに、その質問を端末5に送信する。
生成完了部26は、回答情報34の質問集合51に未完成部分情報23が示す質問が含まれているときに、回答情報34の回答集合52のうちのその質問に対応する回答に基づいて制御プログラム35を生成する。生成完了部26は、回答情報34の質問集合51に未完成部分情報23が示す質問が含まれていないときに、端末5から収集された回答に基づいて制御プログラム35を生成する。
【0057】
本発明による制御プログラム生成方法は、ロボットエージェント1により実行され、ユーザ認識動作と人物対応情報作成動作と生成起動動作と生成完了動作とを備えている。
【0058】
そのユーザ認識動作は、その人物対応情報作成動作と生成起動動作と生成完了動作とが実行される前に予め実行され、ユーザにより所定の操作がロボットエージェント1に実施されたときに開始される。ロボットエージェント1は、そのユーザ認識動作が実行されると、入力装置12に入力される情報に基づいて、ユーザを認識し、そのユーザを識別するユーザ識別子を記憶装置10に記録する。
【0059】
その人物対応情報作成動作は、ユーザにより所定の操作がロボットエージェント1に実施されたときに開始される。ロボットエージェント1は、入力装置12に人物種別情報と人物識別子とが入力されたときに、ユーザ認識動作により認識されるユーザ識別子にその人物種別情報とその人物識別子とが対応するように、人物対応情報33を更新する。ロボットエージェント1は、その更新された人物対応情報33を記憶装置10に記録する。
【0060】
図7は、その生成起動動作を示している。その生成起動動作は、ロボットエージェント1が未完成プログラム31と未完成部分情報とをサーバ6から受信したときに、あるいは、一定の周期などにおいて決められる時点において、人物対応情報33がユーザ識別子集合46示すユーザ識別子ごとに実行される。ロボットエージェント1は、未完成プログラム31と未完成部分情報32とが入力されると、まず、未完成部分情報32が処理されているかいないかを判別する(ステップA1)。ロボットエージェント1は、未完成部分情報32が処理されていないときに(ステップA1、YES)、未完成部分情報32の質問集合51のうちの文字列「$user$」をそのユーザ認識動作により記録されたユーザ識別子に置換して質問を完成させる。ロボットエージェント1は、次いで、回答情報34を参照して、その質問に対する回答を過去に収集したことがあるかないかを判別する(ステップA2)。
【0061】
ロボットエージェント1は、回答情報34の質問集合51がその質問を含んでいないときに(ステップA3、NO)、人物対応情報33を参照して、人物識別子集合48のうちから未完成部分情報32の人物種別情報43に対応する人物識別子を検索する(ステップA4)。
【0062】
ロボットエージェント1は、その人物識別子が存在するときに(ステップA5、YES)、その人物識別子が示す端末5にその質問を送信する(ステップA6)。ロボットエージェント1は、未完成部分情報32を複数受信したときに、処理されていない未完成部分情報32がなくなるまで、ステップA2〜ステップA6の動作を未完成部分情報32ごとに繰り返して実行する。
【0063】
図8は、その生成完了動作を示している。その生成完了動作は、その生成起動動作が終了すると、未完成部分情報32ごとに実行される。ロボットエージェント1は、生成完了動作で完成された質問に対する回答を過去に収集したことがあるときに、回答情報34を参照して、回答集合52のうちからその質問に対応する回答を検索することにより、その回答を取得する。ロボットエージェント1は、生成完了動作で完成された質問に対する回答を過去に収集したことがないときに、その質問が送信された端末5からその回答を取得する(ステップS1)。ロボットエージェント1は、その回答を端末5から取得したときに、その端末5に対応する人物識別子とその取得した回答日時とを算出し、その質問にその回答と人物識別子と回答日時とが対応するように回答情報34を更新し、その更新された回答情報34を記憶装置10に記録する(ステップS2)。
【0064】
ロボットエージェント1は、次いで、未完成部分情報32の生成手順情報45に従って、その回答を用いて未完成プログラム31から制御プログラム35を生成する(ステップS3)。ロボットエージェント1は、制御プログラム35を完成させると、制御プログラム35を実行して、たとえば、出力装置14を用いてセリフを発話する(ステップS4)。
【0065】
ロボットエージェント1が複数のユーザに対してサービスを行う場合には、上記の生成起動動作と生成完了動作とは、それぞれのユーザ毎に繰り返して実行される。
【0066】
ロボットエージェント1のセリフがユーザの過去の経験に一致した正しい事実を指しているときに、これを発話されたユーザは、一般に、ロボットエージェント1に人に類似した賢さを感じる。ユーザは、さらに、この情報がユーザ本人によりロボットエージェント1に供与、設定されたものでないときに、ロボットエージェント1にさらなる賢さを感じる。このような動作によれば、ロボットエージェント1は、ユーザと異なるユーザにより入力された情報に基づいて作成されたセリフを発話することができ、ユーザは、そのセリフがユーザにより入力された情報だけで作成されることがないときに、ロボットエージェント1に人に類似した賢さを感じることができる。すなわち、ロボットエージェント1は、ユーザ一人一人に対して、その個人情報のレベルまでカスタマイズされることができ、ユーザのロボットエージェントに対する興味を増大させ、ユーザにロボットエージェントの利用意欲を向上させることができる。
【0067】
なお、ロボットエージェント1は、未完成なセリフを完成させる処理と異なる処理で制御プログラム35を完成させることもできる。このような処理としては、回答によりある動作を実行したり実行しなかったりするように制御プログラム35を生成させることが例示される。
【0068】
なお、ロボットエージェント1は、特定の未完成部分情報32に関する生成起動動作と生成完了動作とを定期的に複数回実行することもできる。このとき、生成起動動作を開始するタイミングの決定には、制御プログラム自体がその属性として保持する情報を元に行う方法、あるいは、ロボットエージェント1内に、ロボットエージェントの属性あるいはユーザの属性として保持する情報に基づいて行う方法なとが取り得る。たとえば、未完成プログラム31とともに収集される未完成部分情報32がタイミングをさらに示している。このとき、ロボットエージェント1は、そのタイミングで端末5に質問を送信する。たとえば、ロボットエージェント1は、入力装置12を介してタイミングが入力されたときに、そのタイミングを記憶装置10に記録し、そのタイミングで端末5に質問を送信する。このような動作によれば、ロボットエージェント1は、定期的に発話する可能性があるセリフを毎回変化させて発話することができる。このようなセリフとしては、「先週は、体調が[悪かった/良かった]みたいですが、今週はいかがですか?」が例示される。
【0069】
なお、未完成部分情報32の人物種別情報43は、優先順位がある複数の続柄を示すこともできる。このとき、ロボットエージェント1は、まず、優先順位が最も高い続柄に対応する端末6に質問を送信し、所定の時刻までに回答が得られないときに、次の順位の続柄に対応する端末6に質問を送信する。または、ロボットエージェント1は、優先順位が最も高い続柄が人物対応情報33の人物種別情報集合47に含まれていないときに、次の順位の続柄に対応する端末6に質問を送信する。このような動作によれば、ロボットエージェント1は、その質問に対する回答をより確実に収集することができ、制御プログラムが完成する確率を高めることができる。
【0070】
本発明による制御プログラム生成方法の実施の他の形態は、サーバ6により実行される。図9は、サーバ6を示している。サーバ6は、コンピュータであり、CPU(図示されていない)と記憶装置と入力装置と出力装置と通信装置とを備えている。そのCPUは、サーバ6にインストールされるコンピュータプログラムを実行して、その記憶装置とその入力装置とその出力装置とその通信装置とを制御する。その記憶装置は、そのコンピュータプログラムを記録し、そのCPUにより生成される情報を記録する。その入力装置は、ユーザに操作されることにより情報を生成し、その情報をそのCPUに出力する。その入力装置としては、キーボード、マウス、USBポート、リムーバルメモリドライブが例示される。その出力装置は、そのCPUにより生成される情報をユーザに認識可能に出力する。その出力装置としては、ディスプレイが例示される。そのディスプレイは、そのCPUにより生成される画面を表示する。その通信装置は、インターネット3を介して、そのCPUにより生成される情報を他のコンピュータ(ロボットエージェント1、端末5)に送信し、他のコンピュータから収集される情報をそのCPUに出力する。
【0071】
サーバ6にインストールされるコンピュータプログラムは、制御プログラム収集部61と人物対応情報作成部62と生成起動部63と回答収集部64と回答記録部65と生成完了部66と制御プログラム配信部67とを含んでいる。
【0072】
制御プログラム収集部61は、ユーザがその入力装置を用いて未完成プログラム31と未完成部分情報32とを入力したときに、その入力装置から未完成プログラム31と未完成部分情報32とを収集する。
【0073】
人物対応情報収集部62は、その通信装置を用いてロボットエージェント1から人物種別情報と人物識別子とが収集し、ロボットエージェント1のユーザを識別するユーザ識別子に人物種別情報と人物識別子と対応するように人物対応情報33を更新して、人物対応情報33をその記憶装置に記録する。
【0074】
生成起動部63は、質問情報44が示す質問のうちの文字列「$user$」をその人物種別情報と人物識別子とが収集されたロボットエージェント1のユーザを識別するユーザ識別子に置換して質問を完成させる。生成起動部63は、回答情報34を参照して、回答情報34の質問集合51にその質問が含まれているかどうかを判別する。生成起動部63は、回答情報34の質問集合51にその質問が含まれていないときに、人物対応情報33を参照して、その通信装置を用いて、ユーザ識別子集合46のうちのそのユーザ識別子と人物種別情報43とに対応するユーザ識別子の端末にその質問を送信する。
【0075】
回答収集部64は、回答情報34の質問集合51にその質問が含まれているときに、回答情報34を参照して、回答集合35のうちからその質問に対応する回答を収集する。その通信装置を用いて、その質問に応答して生成された回答を端末5から収集する。回答収集部64は、回答情報34の質問集合51にその質問が含まれていないときに、その通信装置を用いて、その質問に応答して生成された回答を端末5から収集する。
【0076】
回答記録部65は、端末5に送信した質問に対する回答を収集したときに、その質問がその回答と回答者と回答日時とに対応するように、回答情報34を更新してその記憶装置に記録する。
【0077】
生成完了部66は、その回答を取得したときに、未完成部分情報32の生成手順情報45に従って、その回答を用いて未完成プログラム31から制御プログラムを生成する。制御プログラム配信部67は、その通信装置を用いて、生成完了部66により生成された制御プログラム35をロボットエージェント1に制御プログラム35を配信する。
【0078】
サーバ6は、人物対応情報収集動作と生成起動動作と生成完了動作とを実行する。その人物対応情報作成動作は、ユーザによりロボットエージェント1にユーザ識別子と人物種別情報と人物識別子とが入力されたときに、実行される。サーバ6は、そのユーザ識別子と人物種別情報と人物識別子とをロボットエージェント1から収集し、そのユーザ識別子にその人物種別情報とその人物識別子とが対応するように、人物対応情報33を更新する。サーバ6は、その更新された人物対応情報33をその記憶装置に記録する。
【0079】
その生成起動動作は、未完成プログラム31と未完成部分情報32とがサーバ6に入力されたときに開始される。サーバ6は、未完成プログラム31と未完成部分情報32とが入力されると、まず、ユーザ識別子ごとに、未完成部分情報32が処理されているかいないかを判別する。サーバ6は、未完成部分情報32が処理されていないときに、未完成部分情報32の質問集合51のうちの文字列「$user$」をそのユーザ識別子に置換して質問を完成させる。サーバ6は、次いで、回答情報34を参照して、その質問に対する回答を過去に収集したことがあるかないかを判別する。
【0080】
サーバ6は、回答情報34の質問集合51がその質問を含んでいないときに、人物対応情報33を参照して、人物識別子集合48のうちからそのユーザ識別子と未完成部分情報32の人物種別情報43に対応する人物識別子を検索する。
【0081】
サーバ6は、その人物識別子が存在するときに、その人物識別子が示す端末5にその質問を送信する。サーバ6は、未完成部分情報32を複数受信したときに、処理されていない未完成部分情報32がなくなるまで、このような動作を未完成部分情報32ごとに繰り返して実行する。
【0082】
その生成完了動作は、その生成起動動作が終了すると、未完成部分情報32ごとに実行される。サーバ6は、生成完了動作で完成された質問に対する回答を過去に収集したことがあるときに、回答情報34を参照して、回答集合52のうちからその質問に対応する回答を検索することにより、その回答を取得する。サーバ6は、生成完了動作で完成された質問に対する回答を過去に収集したことがないときに、その質問が送信された端末5からその回答を取得する。サーバ6は、その回答を端末5から取得したときに、その端末5に対応する人物識別子とその取得した回答日時とを算出し、その質問にその回答と人物識別子と回答日時とが対応するように回答情報34を更新し、その更新された回答情報34をその記憶装置に記録する。
【0083】
サーバ6は、次いで、未完成部分情報32の生成手順情報45に従って、その回答を用いて未完成プログラム31から制御プログラム35を生成し、制御プログラム35をロボットエージェント1に制御プログラム35を配信する。
【0084】
このような動作によれば、ロボットエージェント1は、既述の実施の形態と同様にして、ユーザと異なるユーザにより入力された情報に基づいて作成されたセリフを発話することができ、ユーザのロボットエージェントに対する興味を増大させ、ユーザにロボットエージェントの利用意欲を向上させることができる。
【産業上の利用可能性】
【0085】
本発明によるロボットエージェントは、人への情報提供や人とのコミュニケーションなどを行う機器に置換されることもできる。その機器としては、ロボットのほかに、カーナビ、携帯電話などが例示される。、本発明によるロボットエージェントは、さらに、人やペットの個人情報に基づいてサービスを行う機器に置換されることもできる。その機器としては、医療機器、介護機器、ペットの世話をする機器などが例示される。
【図面の簡単な説明】
【0086】
【図1】図1は、制御プログラム生成システムの実施の形態を示すブロック図である。
【図2】図2は、本発明によるロボットエージェントの実施の形態を示すブロック図である。
【図3】図3は、未完成プログラムに含まれるセリフ表を示す図である。
【図4】図4は、未完成部分情報を示す図である。
【図5】図5は、人物対応情報を示す図である。
【図6】図6は、回答情報を示す図である。
【図7】図7は、生成起動動作を示すフローチャートである。
【図8】図8は、生成完了動作を示すフローチャートである。
【図9】図9は、本発明によるサーバの実施の形態を示すブロック図である。
【符号の説明】
【0087】
1 :ロボットエージェント
2 :制御プログラム生成システム
3 :インターネット
5 :端末
6 :サーバ
10:記憶装置
11:制御プログラム通信装置
12:入力装置
14:出力装置
15:通信装置
21:制御プログラム入力部
22:人物対応情報作成部
23:生成起動部
24:回答収集部
25:回答記録部
26:生成完了部
27:制御プログラム実行部

【特許請求の範囲】
【請求項1】
通信回線を介して端末から回答を収集する回答収集部と、
前記回答に基づいて未完成プログラムから制御プログラムを生成する生成完了部と、
前記制御プログラムを実行することにより前記端末と異なる入力装置に入力される情報に応答して所定の動作を実行する制御プログラム実行部
とを具備するロボットエージェント。
【請求項2】
請求項1において、
前記未完成プログラムとともに生成手順を収集する制御プログラム入力部を更に具備し、
前記生成完了部は、前記生成手順を実行することにより前記未完成プログラムから前記制御プログラムを生成する
ロボットエージェント。
【請求項3】
請求項2において、
前記未完成プログラムは、未完成セリフを示し、
前記生成完了部は、前記回答に基づいて前記未完成セリフをセリフに変換し、
前記制御プログラム実行部は、前記制御プログラムを実行することにより出力装置を用いて前記セリフを発話する
ロボットエージェント。
【請求項4】
請求項2または請求項3のいずれかにおいて、
前記未完成プログラムとともに収集される質問を前記端末に送信する生成起動部
を更に具備するロボットエージェント。
【請求項5】
請求項4において、
前記生成完了部は、複数質問を複数回答に対応付ける回答情報を参照して、前記複数回答のうちの前記質問に対応する既得回答に基づいて前記未完成プログラムを前記制御プログラムに変換する
ロボットエージェント。
【請求項6】
請求項5において、
前記質問が前記回答に対応するように前記回答情報を更新する回答記録部
を更に具備するロボットエージェント。
【請求項7】
請求項4において、
前記制御プログラム入力部は、種別を更に収集し、
前記生成起動部は、複数種別を複数端末に対応付ける人物対応情報を参照して、前記複数端末のうちの前記種別に対応する前記端末に前記質問を送信する
ロボットエージェント。
【請求項8】
請求項7において、
入力装置から入力される情報に基づいて前記人物対応情報を生成する人物対応情報作成部
を更に具備するロボットエージェント。
【請求項9】
請求項7において、
前記制御プログラム入力部は、他の種別を更に収集し、
前記生成起動部は、前記端末から前記回答が所定時間内に返信されないときに、前記複数端末のうちの前記他の種別に対応する他の端末に前記質問を送信し、
前記生成完了部は、前記他の端末から収集される他の回答に基づいて前記未完成プログラムから前記制御プログラムを生成する
ロボットエージェント。
【請求項10】
請求項7において、
前記制御プログラム入力部は、他の種別を更に収集し、
前記生成起動部は、前記複数種別が前記種別を含まないときに、前記複数端末のうちの前記他の種別に対応する他の端末に前記質問を送信し、
前記生成完了部は、前記他の端末から収集される他の回答に基づいて前記未完成プログラムから前記制御プログラムを生成する
ロボットエージェント。
【請求項11】
請求項4〜請求項10のいずれかにおいて、
前記質問は、前記未完成プログラムとともに収集されるタイミングで前記端末に送信される
ロボットエージェント。
【請求項12】
請求項4〜請求項10のいずれかにおいて、
前記質問は、入力装置から入力されたタイミングで前記端末に送信される
ロボットエージェント。
【請求項13】
通信回線を介して端末から回答を収集するステップと、
前記回答に基づいて未完成プログラムから制御プログラムを生成するステップと、
前記制御プログラムを実行することにより前記端末と異なる入力装置に入力される情報に応答して所定の動作を実行するステップ
とを具備する制御プログラム生成方法。
【請求項14】
請求項13において、
前記未完成プログラムとともに未完成部分情報を収集するステップを更に具備し、
前記制御プログラムは、前記未完成部分情報が示す生成手順を実行することにより前記未完成プログラムから生成される
制御プログラム生成方法。
【請求項15】
請求項13において、
前記未完成プログラムは、未完成セリフを示し、
前記未完成セリフは、前記回答に基づいてセリフに変換され、
前記セリフは、前記制御プログラムが実行されることにより出力装置から発話される
制御プログラム生成方法。
【請求項16】
請求項14または請求項15のいずれかにおいて、
前記未完成プログラムとともに収集される質問を前記端末に送信するステップ
を更に具備する制御プログラム生成方法。
【請求項17】
請求項16において、
前記制御プログラムは、複数質問を複数回答に対応付ける回答情報を参照して、前記複数回答のうちの前記質問に対応する既得回答に基づいて前記未完成プログラムから生成される
制御プログラム生成方法。
【請求項18】
請求項17において、
前記質問が前記回答に対応するように前記回答情報を更新するステップ
を更に具備する制御プログラム生成方法。
【請求項19】
請求項16において、
前記質問は、複数種別を複数端末に対応付ける人物対応情報を参照して、前記複数端末のうちの前記未完成部分情報が示す種別に対応する前記端末に送信される
制御プログラム生成方法。
【請求項20】
請求項19において、
入力装置から入力される情報に基づいて前記人物対応情報を生成するステップ
を更に具備する制御プログラム生成方法。
【請求項21】
請求項19において、
前記質問は、前記端末から前記回答が所定時間内に返信されないときに、前記複数端末のうちの前記未完成部分情報が示す他の種別に対応する他の端末に送信され、
前記制御プログラムは、前記他の端末から収集される他の回答に基づいて前記未完成プログラムから生成される
制御プログラム生成方法。
【請求項22】
請求項19において、
前記質問は、前記複数種別が前記種別を含まないときに、前記複数端末のうちの前記未完成部分情報が示す他の種別に対応する他の端末に送信され、
前記制御プログラムは、前記他の端末から収集される他の回答に基づいて前記未完成プログラムから生成される
制御プログラム生成方法。
【請求項23】
請求項16〜請求項22のいずれかにおいて、
前記質問は、前記未完成プログラムとともに収集されるタイミングで前記端末に送信される
ロボットエージェント。
【請求項24】
請求項16〜請求項22のいずれかにおいて、
前記質問は、入力装置から入力されたタイミングで前記端末に送信される
ロボットエージェント。
【請求項25】
通信回線を介して端末から回答を収集する回答収集部と、
前記回答に基づいて未完成プログラムから制御プログラムを生成する生成完了部と、
前記通信回線を介して前記端末と異なるコンピュータに前記制御プログラムを配信する配信部とを具備し、
前記コンピュータは、前記制御プログラムを実行することにより入力装置に入力される情報に応答して所定の動作を実行する
制御プログラム生成サーバ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2009−98707(P2009−98707A)
【公開日】平成21年5月7日(2009.5.7)
【国際特許分類】
【出願番号】特願2007−266544(P2007−266544)
【出願日】平成19年10月12日(2007.10.12)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】