(57)【要約】【課題】  収集したログ情報から複雑な作業のシナリオで動作するロボットの次の行動を決定するサービスロボットシステムを提供する。【解決手段】自律的な動作を行いユーザとのコミュニケーションを実現するロボットの行動を制御するロボット制御システムであって、行動シナリオに基づいてロボットがサービスを提供するサービス拠点において、ロボットからロボットログ情報を収集するログ収集部と、ログ収集部が収集したロボットログ情報に基づいてロボットの行動シナリオを決定する行動シナリオ決定部と、行動シナリオ決定部が決定した行動シナリオを更新し、更新した行動シナリオをロボットに送信する行動シナリオ更新部と、を備える。【選択図】  図９
2019166592.tif 000002
【特許請求の範囲】
【請求項１】
自律的な動作を行いユーザとのコミュニケーションを実現するロボットの行動を制御するロボット制御システムであって、
行動シナリオに基づいて前記ロボットがサービスを提供するサービス拠点において、前記ロボットからロボットログ情報を収集するログ収集部と、
前記ログ収集部が収集した前記ロボットログ情報に基づいて前記ロボットの行動シナリオを決定する行動シナリオ決定部と、
前記行動シナリオ決定部が決定した前記行動シナリオを更新し、更新した行動シナリオを前記ロボットに送信する行動シナリオ更新部と、
を備えることを特徴とするロボット制御システム。
【請求項２】
請求項１に記載のロボット制御システムであって、
前記ログ収集部は、前記ロボットと連携してサービスを実行する外部機器から外部機器ログ情報を収集し、
前記行動シナリオ決定部は、前記ロボットログ情報と前記外部機器ログ情報とに基づいて前記ロボットの行動シナリオを決定する、
ことを特徴とするロボット制御システム。
【請求項３】
請求項１に記載のロボット制御システムであって、
前記ログ収集部は、前記サービス拠点にネットワークを介して接続された基幹サーバから基幹サーバログ情報を収集し、
前記行動シナリオ決定部は、前記ロボットログ情報と前記基幹サーバログ情報とに基づいて前記ロボットの行動シナリオを決定する、
ことを特徴とするロボット制御システム。
【請求項４】
請求項１に記載のロボット制御システムであって、
前記ログ収集部は、前記サービス拠点にネットワークを介して接続された外部サーバから外部サーバログ情報を収集し、
前記行動シナリオ決定部は、前記ロボットログ情報と前記外部サーバログ情報とに基づいて前記ロボットの行動シナリオを決定する、
ことを特徴とするロボット制御システム。
【請求項５】
請求項１に記載のロボット制御システムであって、
前記ロボットの動作によって達成する目的または目標を設定する設定部を備え、
前記行動シナリオ決定部は、前記設定部により設定された目的または目標を達成するための前記行動シナリオを決定する、
ことを特徴とするロボット制御システム。
【請求項６】
請求項５に記載のロボット制御システムであって、
前記ログ収集部は、前記設定部により設定された前記目的または目標と、前記ロボットログ情報を解析して得られた目的または目標とが一致するか否かを判定し、両者が一致すると判定した場合に、前記ロボットログ情報を収集する、
ことを特徴とするロボット制御システム。
【請求項７】
請求項１に記載のロボット制御システムであって、
前記ログ収集部が収集したログ情報に基づいて、前記サービスを提供する仮想の人物像を示すペルソナ情報と、前記サービスが提供される環境の状況を示す現場モデルとを生成する現場モデル生成部を備え、
前記行動シナリオ決定部は、前記ロボットログ情報と、前記現場モデル生成部により生成された前記ペルソナ情報および前記現場モデルとに基づいて前記ロボットの行動シナリオを決定する、
ことを特徴とするロボット制御システム。
【請求項８】
請求項７に記載のロボット制御システムであって、
前記行動シナリオ更新部は、前回決定した前記現場モデルと今回決定した前記現場モデルの相関関係が一定以上であるか否かを判定し、両者の相関関係が一定以上であると判定した場合に、前記行動シナリオを更新する、
ことを特徴とするロボット制御システム。
【請求項９】
請求項７に記載のロボット制御システムであって、
前記現場モデル作成部により前回作成された前記現場モデルと今回作成された前記現場モデルの相関関係が一定以上であるか否かを判定し、両者の相関関係が一定以上であると判定した場合に、前記行動シナリオを更新する現場モデル更新部を備え、
前記行動シナリオ決定部は、前記ロボットログ情報と、前記現場モデル更新部部により更新された前記ペルソナ情報および前記現場モデルとに基づいて前記ロボットの行動シナリオを決定する、
ことを特徴とするロボット制御システム。
【請求項１０】
請求項７に記載のロボット制御システムであって、
前記ログ収集部は、今回収集した前記ロボットログ情報と前回収集した前記ロボットログ情報との間で差分があるか否かを判定し、両者に差分があると判定した場合に、今回収集した前記ロボットログ情報を前記現場モデル生成部に送信する、
ことを特徴とするロボット制御システム。
【請求項１１】
請求項１に記載のロボット制御システムであって、
前記ログ収集部は、前記ロボットからロボットログ情報を収集した際に、前記ロボットログ情報を解析して得られた目的または目標を識別するための識別子と、前記サービスの提供に使用される機器を識別するための識別子とを、前記ログ情報を付加したログデータを作成し、
前記行動シナリオ決定部は、前記ログ収集部が作成した前記ログデータに基づいて前記行動シナリオを決定する、
ことを特徴とするロボット制御システム。
【請求項１２】
自律的な動作を行いユーザとのコミュニケーションを実現するロボットの行動を制御するロボット制御方法であって、
ログ収集部が、行動シナリオに基づいて前記ロボットがサービスを提供するサービス拠点において、前記ロボットからロボットログ情報を収集し、
行動シナリオ決定部が、前記ログ収集部により収集された前記ロボットログ情報に基づいて前記ロボットの行動シナリオを決定し、
行動シナリオ更新部が、前記行動シナリオ決定部が決定した前記行動シナリオを更新し、更新した行動シナリオを前記ロボットに送信する、
ことを特徴とするロボット制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人間に対して様々なサービスを提供するサービスロボットに関し、特に自律的な動作を行いユーザとのコミュニケーションを実現するロボットの行動制御システム及び行動制御方法に関する。
【背景技術】
【０００２】
ロボット技術の進歩や少子高齢化に伴う人手不足を解決する手段として、サービスロボットが期待されている。ロボットの動作を制御するには、ロボットの動作命令を含めたシナリオを用いて制御する必要がある。そこで、視覚や聴覚などの外部環境の認識結果やロボットの内部状態などからロボットがおかれている状況を統合的に判断して、次の行動を選出する制御システムが提案されている（例えば特許文献１）。また、複数のシナリオから最も優先順位の高いシナリオを選択し、実行するロボット制御方式が提案されている（例えば特許文献２）
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−３３４７８５号公報
【特許文献２】特開２０１３−１５８８６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の技術は、視覚や聴覚などの多くの外部環境の認識情報を基に実行した行動を評価し、次の行動を制御している。従って、総合判断が非常に複雑になることから行動統制がとりにくく、複雑な動作をするロボットには適用できない、という課題がある。
【０００５】
また、特許文献２に記載の技術は、産業用ロボットを利用分野としており、動作を実現するためのシナリオの優先順位は、シナリオ実行に要する時間や平均速度、成功率から導出した動作効率で決定している。従って、単純な作業のシナリオで動作するロボットには適用できるが、窓口業務や接客などの複雑な作業のシナリオで動作するロボットには適用できない、という課題がある。
【０００６】
そこで本発明の目的は、人間に対して様々なサービスを提供するサービスロボットに関し、複雑な作業のシナリオで動作するロボットに適用可能なロボット制御システム、並びにロボット制御方法を提供することである。
【課題を解決するための手段】
【０００７】
本発明にかかるロボット制御システムは、自律的な動作を行いユーザとのコミュニケーションを実現するロボットの行動を制御するロボット制御システムであって、行動シナリオに基づいて前記ロボットがサービスを提供するサービス拠点において、前記ロボットからロボットログ情報を収集するログ収集部と、前記ログ収集部が収集した前記ロボットログ情報に基づいて前記ロボットの行動シナリオを決定する行動シナリオ決定部と、前記行動シナリオ決定部が決定した前記行動シナリオを更新し、更新した行動シナリオを前記ロボットに送信する行動シナリオ更新部と、を備えることを特徴とするロボット制御システムとして構成される。
【０００８】
また、本発明は、上記ロボット制御システムで行われるロボット制御方法としても把握される。
【発明の効果】
【０００９】
本発明によれば、人間に対して様々なサービスを提供するサービスロボットに関し、複雑な作業のシナリオで動作するロボットに適用することができる。
【図面の簡単な説明】
【００１０】
【図１】ロボット制御システムの一実施例を示す構成図である。
【図２】ログ収集サーバの機能ブロックを示す図である。
【図３】運用管理サーバの機能ブロックを示す図である。
【図４】ログ収集プログラムの動作を示す動作シーケンスの図である。
【図５】行動シナリオ更新プログラムの動作を示す動作シーケンスの図である。
【図６】ログ情報収集プログラムの動作を示す動作シーケンスの図である。
【図７】現場モデル生成プログラムの動作を示す動作シーケンスの図である。
【図８】現場モデル更新プログラムの動作を示す動作シーケンスの図である。
【図９】行動シナリオ決定プログラムの動作を示す動作シーケンスの図である。
【図１０】ログ情報の一覧の例を示す図である。
【図１１】ログ情報に追加する識別子の例を示す図である。
【図１２】ログデータの構造を示す図である。
【図１３】行動シナリオ決定プログラムの動作の一例を示す図である。
【図１４Ａ】目標目的情報ＤＢの一例を示す図である。
【図１４Ｂ】ロボット情報ＤＢの一例を示す図である。
【図１４Ｃ】外部機器情報ＤＢの一例を示す図である。
【図１５Ａ】基幹システム情報ＤＢの一例を示す図である。
【図１５Ｂ】外部システム情報ＤＢの一例を示す図である。
【図１６】現場モデル情報ＤＢの一例を示す図である。
【図１７】行動シナリオ情報ＤＢの一例を示す図である。
【図１８Ａ】質問項目情報の一例を示す図である。
【図１８Ｂ】ペルソナの一例を示す図である。
【図１９】現場モデルの一例を示す図である。
【図２０】ペルソナ情報と現場モデル他の一例を示す図である。
【図２１】ペルソナ情報および現場モデルについて、前回の情報と処理後の情報の一例を示した図である。
【図２２】気温とエアコンの店舗売上(個数)と扇風機の店舗売上（個数）の相関関係の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して、発明を実施するための形態について詳細に説明する。
以下の実施の形態において、行動シナリオとは、ロボットが発話するせりふやユーザとの対話方法、移動や稼動部の動きを含めた動作を制御するアプリケーションの総称であり、一つの動作を限定するものではない。
【００１２】
さらに以下の実施の形態において、ログとは、ロボットが行動シナリオによって動作した過去の履歴やユーザとの対話履歴、ロボットを含む、環境カメラなどの過去の音声記録や映像記録、プログラムの過去の動作記録などの総称であり、一つの記録に限定されるものではない。
【実施例１】
【００１３】
図１は、実施例１のロボット制御システムの構成の例を示す図である。
実施例１のロボット制御システム１０００は、サービスを提供する場であるサービス拠点１００と、システム全体の運用管理を実施する運用管理センタ１１０と、顧客の基幹システムを管理する顧客基幹拠点１２０と、外部のWebサイトなどの外部システム１３０を有して構成されている。
サービス拠点１００と運用管理センタ１１０と顧客基幹拠点１２０と外部システム１３０とはネットワーク１４０で接続される。
【００１４】
サービスを提供する場であるサービス拠点１００は、サービスを提供するロボット２０と、ロボット２０と連携してサービスを実行する環境カメラなどの外部機器３０と、サービスを提供するロボット２０とロボット２０と連携してサービスを実行する環境カメラなどの外部機器３０から送信されたログを収集するログ収集サーバ１０とを含む。
【００１５】
運用管理センタ１１０は、ロボット２０の運用を管理する制御装置である運用管理サーバ４０を有している。
顧客基幹拠点１２０は、顧客情報や店舗情報などを管理する基幹サーバ５０を有している。
外部システム１３０は、外部の検索サイトや天気情報、価格情報などを管理する外部サーバ６０を有している。
【００１６】
図２は、ログ収集サーバ１０の構成の例を示す図である。ログ収集サーバ１０には、処理を実行するために、一般的なコンピュータの補助記憶装置１０４にプログラム（ソフトウェア）が格納され、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０２が、補助記憶装置１０４から読み出したプログラムをメモリ１０１上に展開して、実行する。ログ収集サーバ１０は、ネットワークＩ／Ｆ１０５を介して他のサーバや機器と通信する。
【００１７】
Ｉ／Ｏ（入出力インタフェース）１０３は、ユーザがログ収集サーバ１０に指示を入力し、プログラムの実行結果などをユーザに提示するためのユーザインタフェースである。Ｉ／Ｏ１０３には、入出力デバイス（例えば、キーボード、マウス、タッチパネル、ディスプレイ、プリンタなど）が接続される。Ｉ／Ｏ１０３は、ネットワークを経由して接続された管理端末によって提供されるユーザインタフェースが接続されてもよい。
【００１８】
ＣＰＵ１０２は、メモリ１０１に格納されたプログラムを実行するプロセッサである。メモリ１０１は、不揮発性の記憶素子であるＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）及び揮発性の記憶素子であるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を含む。ＲＯＭは、不変のプログラム（例えば、ＢＩＯＳ：Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）などが格納される。ＲＡＭは、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のような高速かつ揮発性の記憶素子であり、補助記憶装置１０４に格納されたプログラム及びプログラムの実行時に使用されるデータが一時的に格納される。
【００１９】
メモリ１０１には、ログ収集プログラム１１１、行動シナリオ更新プログラム１１２が格納される。ログ収集プログラム１１１は、ロボット２０と外部機器３０から送信されたログを収集するログ収集処理（図４参照）を実行するためのプログラムである。行動シナリオ更新プログラム１１２は、行動シナリオ実行処理（図５参照）を実行するためのプログラムである。
【００２０】
また、メモリ１０１には、目標目的情報ＤＢ（ＤａｔａＢａｓｅ）１２１（図１４Ａ参照）、識別子情報ＤＢ１２２（図１１参照）、ロボット情報ＤＢ１２３（図１４Ｂ参照）、外部機器情報ＤＢ１２４（図１４Ｃ参照）、基幹システム情報ＤＢ１２５（図１５Ａ参照）、外部システム情報ＤＢ１２６（図１５Ｂ参照）、現場モデル情報ＤＢ１２７（図１６参照）、行動シナリオ情報ＤＢ１２８（図１７参照）が格納される。
【００２１】
補助記憶装置１０４は、例えば、磁気記憶装置（ＨＤＤ：Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、フラッシュメモリ（ＳＳＤ：Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）などの大容量かつ不揮発性の記憶装置である。また、補助記憶装置１０４は、ＣＰＵ１０２により実行されるプログラム及びプログラムの実行時に使用されるデータが格納される。すなわち、プログラムは、補助記憶装１０４から読み出されて、メモリ１０１にロードされ、ＣＰＵ１０２によって実行される。
【００２２】
ログ収集サーバ１０は、物理的に一つの計算機上で、又は、論理的又は物理的な複数の計算機上で構成される計算機システムであり、メモリ１０１に格納されたプログラムが、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。また、ログ収集サーバ１０と他の装置が一つの物理的又は論理的計算機に収容されてもよい。なお、プログラムの実行によって実現される処理の全部又は一部の処理をハードウェア（例えば、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）によって実現してもよい。
【００２３】
図３は、運用管理サーバ４０の構成の例を示す図である。運用管理サーバ４０の処理内容は、一般的なコンピュータの補助記憶装置４０４にプログラム（ソフトウェア）の形で格納され、ＣＰＵ４０２が、補助記憶装置４０４から読み出したプログラムをメモリ４０１上に展開して、実行する。運用管理サーバ４０は、ネットワークＩ／Ｆ４０５を介して他のサーバや機器と通信する。
【００２４】
Ｉ／Ｏ４０３は、ユーザが運用管理サーバ４０に指示を入力し、プログラムの実行結果などをユーザに提示するためのユーザインタフェースである。Ｉ／Ｏ４０３には、入出力デバイス（例えば、キーボード、マウス、タッチパネル、ディスプレイ、プリンタなど）が接続される。Ｉ／Ｏ４０３は、ネットワークを経由して接続された管理端末によって提供されるユーザインタフェースが接続されてもよい。
【００２５】
ＣＰＵ４０２は、メモリ４０１に格納されたプログラムを実行するプロセッサである。メモリ４０１は、不揮発性の記憶素子であるＲＯＭ及び揮発性の記憶素子であるＲＡＭを含む。ＲＯＭは、不変のプログラム（例えば、ＢＩＯＳ）などが格納される。ＲＡＭは、ＤＲＡＭのような高速かつ揮発性の記憶素子であり、補助記憶装置４０２に格納されたプログラム及びプログラムの実行時に使用されるデータが一時的に格納される。
【００２６】
メモリ４０１には、目標・目的設定プログラム４１１、ログデータ収集プログラム４１２、現場モデル生成プログラム４１３、現場モデル更新プログラム４１４、行動シナリオ決定プログラム４１５が格納される。
【００２７】
目標・目的設定プログラム４１１は、ロボット２０が提供するサービスの目標もしくは目的を設定するためのプログラムである。目標・目的設定プログラム４１１では、例えば、売上額や集客人数、質問への回答数などの目標もしくは目的を設定する。
【００２８】
例えば、目標・目的設定プログラム４１１は、ロボット２０が動作するための行動シナリオを行動シナリオＤＢ１２８から、目標（Ｈ１）、場所（Ｈ２）、目的（Ｈ３）、時間（Ｈ４）、行動（Ｈ５）を組み合わせた行動シナリオを確認する（図４のＳ１０１）。ここでは、目標・目的設定プログラム４１１は、目標（Ｈ１）を売上額（ｈ１１）、場所（Ｈ２）をエアコン売り場（ｈ２２）、目的（Ｈ３）を販売（ｈ３３）、時間（Ｈ４）を人が来た時（ｈ４３）、行動（Ｈ５）をＰＲする（ｈ５５）したときの行動シナリオＡとして、ｈ１１×ｈ２２×ｈ３３×ｈ４３×ｈ５５と定義し、設定する。目標・目的設定プログラム４１１で設定された目標もしくは目的は、目標目的情報ＤＢ４２１に格納される。
【００２９】
ログデータ収集プログラム４１２は、ログ収集サーバ１０から送信されたログを収集するログ収集処理（図６参照）を実行するためのプログラムである。現場モデル生成プログラム４１３は、ログ収集サーバ１０から送信されたログデータから、現場モデルを作成する現場モデル作成処理(図７参照)を実行するためのプログラムである。現場モデル更新プログラム４１４は、現場モデルを更新する現場モデル更新処理（図８参照）を実行するためのプログラムである。行動シナリオ決定プログラム４１５は、ロボットの動作を決定する行動シナリオを決定する行動シナリオ決定処理（図９参照）を実行するためのプログラムである。
【００３０】
また、メモリ４０１は、目標目的情報ＤＢ（ＤａｔａＢａｓｅ）４２１（図１４Ａ参照）、識別子情報ＤＢ４２２（図１１参照）、ロボット情報ＤＢ４２３（図１４Ｂ参照）、外部機器情報ＤＢ４２４（図１４Ｃ参照）、基幹システム情報ＤＢ４２５（図１５Ａ参照）、外部システム情報ＤＢ４２６（図１５Ｂ参照）、現場モデル情報ＤＢ４２７（図１６参照）、行動シナリオ情報ＤＢ４２８（図１７参照）が格納される。
【００３１】
補助記憶装置４０４は、例えば、磁気記憶装置（ＨＤＤ）、フラッシュメモリ（ＳＳＤ）などの大容量かつ不揮発性の記憶装置である。また、補助記憶装置４０４は、ＣＰＵ４０２により実行されるプログラム及びプログラムの実行時に使用されるデータが格納される。すなわち、プログラムは、補助記憶装４０４から読み出されて、メモリ４０１にロードされ、ＣＰＵ４０２によって実行される。
【００３２】
運用管理サーバ４０は、物理的に一つの計算機上で、又は、論理的又は物理的な複数の計算機上で構成される計算機システムであり、メモリ４０１に格納されたプログラムが、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。また、運用管理サーバ４０と他の装置が一つの物理的又は論理的計算機に収容されてもよい。なお、プログラムの実行によって実現される処理の全部又は一部の処理をハードウェア（例えば、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）によって実現してもよい。
【００３３】
図４は、ログ収集処理の例を示すフローチャートである。ログ収集処理は、ログ収集プログラム１１１がログ収集サーバ１０のＣＰＵ１０２で実行されることにより行われる処理である。ログ収集プログラム１１１は、ログ収集サーバ１０が、ロボット２０および外部機器３０がサービスを開始する情報を運用管理サーバ４０から取得することにより行われる処理である。
【００３４】
ログ収集プログラム１１１は、運用管理サーバ４０から、目標・目的設定プログラム４１１により設定された、ロボット２０が動作するための行動シナリオを取得する（Ｓ１０１）と、目標目的情報ＤＢ１２１、ロボット情報ＤＢ１２３、外部機器情報ＤＢ１２４、基幹システム情報ＤＢ１２５、外部システム情報ＤＢ１２６を参照し、取得した行動シナリオで使用する機器、ログ情報の一覧２００（図１０参照）を作成し、ログ情報を収集する機器を決定する（Ｓ１０２）。行動シナリオにおいてどのような機器が使用され、当該機器からどのようなログ情報を取得するのかについてはあらかじめ対応付けられており、当該対応付けにしたがって、ログ情報の一覧２００（図１０参照）が作成される。
【００３５】
ログ収集プログラム１１１は、Ｓ１０２で決定した機器のうち、ロボット２０と外部機器３０からログ情報を取得する（Ｓ１０３）と、識別子情報ＤＢ１２２（図１１参照）に従い、取得したログ情報のヘッダ部分に識別子を追加し（Ｓ１０４）、ログデータ２２０（図１２参照）を作成する。ログ収集プログラム１１１は、ログデータ２２０の目標目的識別子と、目標目的情報ＤＢ１２１の目標目的情報の相関関係を計算し（Ｓ１０５）、相関関係が弱い場合はログデータ２２０を補助記憶装置１０４に保管し（Ｓ１０６）、処理を終了する。相関関係が強い場合は、運用管理サーバ４０へログデータ２２０とともに、作成したログ情報の一覧２００を送信し（Ｓ１０７）、処理を終了する。
【００３６】
ログ収集プログラム１１１の動作の一例を挙げると、以下の通りである。ログ収集プログラム１１１は、ロボット２０が動作するための行動シナリオとして、行動シナリオＤＢ１２８（図１７）から、目標（Ｈ１）、場所（Ｈ２）、目的（Ｈ３）、時間（Ｈ４）、行動（Ｈ５）を組み合わせた行動シナリオを取得する（Ｓ１０１）。ここでは、目標（Ｈ１）を売上額（ｈ１１）、場所（Ｈ２）をエアコン売り場（ｈ２２）、目的（Ｈ３）を販売（ｈ３３）、時間（Ｈ４）を人が来た時（ｈ４３）、行動（Ｈ５）をＰＲする（ｈ５５）したときの行動シナリオＡとして、ｈ１１×ｈ２２×ｈ３３×ｈ４３×ｈ５５と定義する。
【００３７】
ログ収集プログラム１１１は、運用管理サーバ４０から行動シナリオＡを取得する（Ｓ１０１）と、目標目的情報ＤＢ１２１（図１４Ａ）から、行動シナリオＡの目標である売上額（ｈ１１）に一致したＩＤである０００１を選択し、ロボット情報ＤＢ１２３（図１４Ｂ）から機体１（ａ１１）を選択し、外部機器情報ＤＢ１２４（図１４Ｃ）から温度センサ（ｂ２１）を選択し、ログ情報を収集する機器を決定する（Ｓ１０２）。
【００３８】
ログ収集プログラム１１１は、上記で決定した機器からログ情報を収集する（Ｓ１０３）と、ログデータ２２０（図１２参照）を作成する（Ｓ１０４）。例えば、ログ収集プログラム１１１は、収集したログ情報を解析し、そのログの内容が識別子情報ＤＢ１２２（図１１）に示されるどの目標・目的に対応するものであるかを判定する。ログ収集プログラム１１１は、その結果、例えば、目標・目的／売上額に対応する識別子として０００１を収集したログ情報のヘッダ部分に追加する。また、ログ収集プログラム１１１は、ロボット２０からログ情報を収集した場合には、機器／ロボット（ロボット２０のＩＤ）に対応する識別子Ａｎとしてａ１１を上記ヘッダ部分に追加し、外部機器３０からログ情報を収集した場合には、機器／外部機器（外部機器３０のＩＤ）に対応する識別子Ｂｎとしてｂ２１を上記ヘッダ部分に追加し、ログデータ２２０を作成する。このように、ログ収集プログラム１１１は、収集したログ情報に対して、そのログ情報が該当する目標・目的を示す識別子と、当該目標・目的を実行する機器を示す識別子とを対応付けたログデータ２２０を生成する。
【００３９】
さらに、ログ収集プログラム１１１は、生成したログデータ２２０に対して、収集したログ情報と、そのログ情報の種類を示す識別子とを対応付ける。例えば、ログ収集プログラム１１１は、収集したログ情報を解析し、ログ情報の形式面での種類がロボット２０の画像データ形式のログ情報であれば、識別子情報ＤＢ１２２（図１１）を参照して、画像データに対応する識別子０１を読み取って、収集したログ情報のヘッダ部分に追加する。
【００４０】
また、ログ収集プログラム１１１は、ログ情報の内容面での種類がロボット２０の会話を含むログ情報であれば、識別子情報ＤＢ１２２（図１１）を参照して、対面ログに対応する識別子００１を読み取って、収集したログ情報のヘッダ部分に追加する。
【００４１】
ログ収集プログラム１１１は、作成したログデータ２２０の目標・目的識別子（例えば０００１）と、行動シナリオＡで定義した目標（例えば売上額：ｈ１１）に対応する目標目的情報ＤＢ１２１の目標目的値ＩＤ（例えば０００１）とが一致しているか否かを判定し、両者が一致していると判定した場合（Ｓ１０５；Ｙｅｓ）、相関関係が強いと判断して、運用管理サーバ４０へログデータ２２０とともに、作成したログ情報の一覧２００を送信し（Ｓ１０７）、処理を終了する。
【００４２】
一方、ログ収集プログラム１１１は、作成したログデータ２２０の目標・目的識別子（例えば０００２）と、目標目的情報ＤＢ１２１の目標目的値ＩＤ（例えば０００１）とが一致しているか否かを判定し、両者が不一致であると判定した場合（Ｓ１０５；Ｎｏ）、相関関係が弱いと判断して、ログデータ２２０を補助記憶装置１０４に記憶して保管し（Ｓ１０６）、処理を終了する。
【００４３】
図５は、行動シナリオ更新処理の例を示すフローチャートである。行動シナリオ更新処理は、行動シナリオ更新プログラム１１２がログ収集サーバ１０のＣＰＵ１０２で実行されることにより行われる処理である。行動シナリオ更新プログラム１１２は、ログ収集サーバ１０が、運用管理サーバ４０からサービスを開始する情報を取得することにより行われる処理である。
【００４４】
行動シナリオ更新プログラム１１２は、運用管理サーバ４０から行動シナリオを取得すると（Ｓ２０１）、取得した行動シナリオを読み取ってその内容を確認し（Ｓ２０２）、行動シナリオＤＢ１２８（図１７）に格納されている前回動作させたときに使用した行動シナリオとの差分を計算し、両者に差分があるか否かを判定する（Ｓ２０３）。行動シナリオ更新プログラム１１２は、両者に差分がないと判定した場合は（Ｓ２０３；Ｎｏ）、取得した行動シナリオを破棄して（Ｓ２０４）、処理を終了する。
【００４５】
一方、行動シナリオ更新プログラム１１２は、両者に差分があると判定した場合は（Ｓ２０３；Ｙｅｓ）、前回動作させたときに使用した行動シナリオを、取得した行動シナリオに更新し（Ｓ２０５）、行動シナリオＤＢ１２８に格納し、ロボット２０に更新後の行動シナリオを送信し（Ｓ２０６）、処理を終了する。
【００４６】
行動シナリオ更新プログラム１１２の動作の一例を挙げると、以下の通りである。行動シナリオ更新プログラム１１２は、ロボット２０が動作するための行動シナリオとして、行動シナリオＤＢ１２８から、目標（Ｈ１）、場所（Ｈ２）、目的（Ｈ３）、時間（Ｈ４）、行動（Ｈ５）を組み合わせた行動シナリオを取得し、その内容を確認する（Ｓ２０１、Ｓ２０２）。ここでは、今回の行動シナリオとして、目標（Ｈ１）を売上額（ｈ１１）、場所（Ｈ２）をエアコン売り場（ｈ２２）、目的（Ｈ３）を販売（ｈ３３）、時間（Ｈ４）を人が来た時（ｈ４３）、行動（Ｈ５）をＰＲする（ｈ５５）としたときの行動シナリオＡとして、ｈ１１×ｈ２２×ｈ３３×ｈ４３×ｈ５５と定義する。また、前回の行動シナリオとして、目標（Ｈ１）を売上額（ｈ１１）、場所（Ｈ２）を受付（ｈ２１）、目的（Ｈ３）を販売（ｈ３３）、時間（Ｈ４）を午前中（ｈ４１）、行動（Ｈ５）をＰＲする（ｈ５５）としたときの行動シナリオＢとして、ｈ１１×ｈ２１×ｈ３３×ｈ４１×ｈ５５と定義する。
【００４７】
行動シナリオ更新プログラム１１２は、Ｓ２０１、Ｓ２０２を実行すると、行動シナリオＤＢ１２８に格納されている前回動作させたときに使用した行動シナリオＢと、今回取得した行動シナリオＡとの差分を計算する（Ｓ２０３）。例えば、行動シナリオ更新プログラム１１２は、場所（Ｈ２）を受付（ｈ２１）からエアコン売り場（ｈ２２）に更新し、時間（Ｈ４）を午前中（ｈ４１）から人が来た時（ｈ４３）に更新し、更新後の行動シナリオをロボット２０に送信する（Ｓ２０５、Ｓ２０６）。
【００４８】
図６は、ログデータ収集処理の例を示すフローチャートである。ログデータ収集処理は、ログデータ収集プログラム４１２が運用管理サーバ４０のＣＰＵ４０２で実行されることにより行われる処理である。ログデータ収集プログラム４１２は、運用管理サーバ４０が、ログ収集サーバ１０よりログデータを受信することにより行われる処理である。
【００４９】
ログデータ収集プログラム４１２は、図４のＳ１０７においてデータ送信されたログ収集サーバ１０からログデータ２２０を受信すると（Ｓ３０１）、当該ログデータ２２０のヘッダ部分の識別子を確認し、目標目的情報ＤＢ４２１とログデータ２２０のヘッダ部分のすべての識別子について一致しているか否かを判定する（Ｓ３０２）。ログデータ収集プログラム４１２は、両者が不一致であると判定した場合は（Ｓ３０２；Ｎｏ）、補助記憶装置４０４に、受信したログデータ２２０を保管する（Ｓ３０３）。一方、ログデータ収集プログラム４１２は、両者が一致したと判定した場合は（Ｓ３０２；Ｙｅｓ）、補助記憶装置４０４に格納してある前回取得したログデータ２２０との差分を計算し、差分があるか否かを判定する（Ｓ３０４）。ログデータ収集プログラム４１２は、両者に差分がないと判定した場合は（Ｓ３０４；Ｎｏ）、補助記憶装置４０４に、受信したログデータ２２０を保管し（Ｓ３０５）、処理を終了する。一方、ログデータ収集プログラム４１２は、両者に差分があったと判定した場合は（Ｓ３０４；Ｙｅｓ）、現場モデル生成プログラム４１３に、受信したログデータ２２０を送信し（Ｓ３０６）、処理を終了する。
【００５０】
ログデータ収集プログラム４１２の動作の一例を挙げると、以下の通りである。ログデータ収集プログラム４１２は、ロボット２０が動作するための行動シナリオとして、行動シナリオＤＢ４２８から、目標（Ｈ１）、場所（Ｈ２）、目的（Ｈ３）、時間（Ｈ４）、行動（Ｈ５）を組み合わせた行動シナリオを確認する。ここでは、目標（Ｈ１）を売上額（ｈ１１）、場所（Ｈ２）をエアコン売り場（ｈ２２）、目的（Ｈ３）を販売（ｈ３３）、時間（Ｈ４）を人が来た時（ｈ４３）、行動（Ｈ５）をＰＲする（ｈ５５）としたときの行動シナリオＡとして、ｈ１１×ｈ２２×ｈ３３×ｈ４３×ｈ５５と定義する。
【００５１】
ログデータ収集プログラム４１２は、ログ収集サーバ１０よりログデータ２２０を受信すると（Ｓ３０１）、当該ログデータ２２０のヘッダ部分の目標・目的の識別子のＩＤ（例えば０００１）を確認する。ログデータ収集プログラム４１２は、目標目的情報ＤＢ４２１に格納されている前回のログデータ２２０のヘッダ部分の目標・目的識別子ＩＤ（例えば０００２）と、Ｓ３０１で受信したログデータ２２０のヘッダ部分の目標目的の識別子ＩＤ（例えば０００１）とが一致しているか否かを判定し（Ｓ３０２）、両者が不一致であると判定した場合は（Ｓ３０２；Ｎｏ）、補助記憶装置４０４に、受信したログデータ２２０を保管する（Ｓ３０３）。一方、ログデータ収集プログラム４１２は、両者が一致したと判定した場合は（Ｓ３０２；Ｙｅｓ）、Ｓ３０２において更に機器識別子を比較する。
【００５２】
ログデータ収集プログラム４１２は、受信したログデータ２２０のヘッダ部分の機器識別子がロボットを示す識別子Ａｎであるか否かを判定し、上記ヘッダ部分の機器識別子がロボットを示す識別子Ａｎであると判定した場合、前回のログデータ２２０のヘッダ部分の機器識別子（例えばａ１２）と今回受信したログデータ２２０のヘッダ部分の機器識別子（例えばａ１１）とを比較し、両者が一致するか否かを判定する。ログデータ収集プログラム４１２は、両者が不一致であると判定した場合は、補助記憶装置４０４に、受信したログデータ２２０を保管し（Ｓ３０３）、終了する。
【００５３】
一方、ログデータ収集プログラム４１２は、両者が一致したと判定した場合は、更にログ１識別子を比較する。受信したログデータ２２０のヘッダ部分の機器識別子が外部機器を示す識別子Ｂｎである場合についても、ロボットを示す識別子Ａｎの場合と同様に判定される。
【００５４】
また、ログデータ収集プログラム４１２は、Ｓ３０２において、補助記憶装置４０４に格納されている前回のログデータ２２０のヘッダ部分のログ１識別子（例えば画像データを示す０１）と、今回受信したログデータ２２０のヘッダ部分のログ１識別子（例えば音声データを示す００）とを比較し、両者が一致するか否かを判定する。ログデータ収集プログラム４１２は、両者が不一致であると判定した場合は、補助記憶装置４０４に、受信したログデータ２２０を保管し（Ｓ３０３）、終了する。
【００５５】
一方、ログデータ収集プログラム４１２は、両者が一致したと判定した場合は、更にログ２識別子を比較する。
【００５６】
ログデータ収集プログラム４１２は、補助記憶装置４０４に格納されている前回のログデータ２２０のヘッダ部分のログ２識別子（例えば検知ログを示す００２）と、今回受信したログデータ２２０のヘッダ部分のログ２識別子（例えば会話ログを示す０００）とを比較し、両者が一致するか否かを判定する。ログデータ収集プログラム４１２は、両者が不一致であると判定した場合は、補助記憶装置４０４に、受信したログデータ２２０を保管し（Ｓ３０３）、終了する。
【００５７】
一方、ログデータ収集プログラム４１２は、補助記憶装置４０４に格納されている前回のログデータ２２０のヘッダ部分のログ２識別子（例えば会話ログを示す０００）と、今回受信したログデータ２２０のヘッダ部分のログ２識別子（例えば会話ログを示す０００）とを比較し、両者が一致したと判定した場合は、更に前回収集した時の差分の有無を判定する（Ｓ３０４）。
【００５８】
ログデータ収集プログラム４１２は、補助記憶装置４０４に格納されている前回のログデータ２２０のログ情報と、今回受信したログデータ２２０のログ情報を比較し、両者に差分があるか否かを判定する。ログデータ収集プログラム４１２は、両者に差分がないと判定した場合は（Ｓ３０４；Ｎｏ）、補助記憶装置４０４に、受信したログデータ２２０を保管し（Ｓ３０３）、終了する。一方、ログデータ収集プログラム４１２は、両者に差分があると判定した場合は（Ｓ３０４；Ｙｅｓ）、現場モデル生成プログラム４１３に、受信したログデータ２２０を送信し（Ｓ３０６）、処理を終了する。
【００５９】
なお、図６では、ログデータ収集プログラム４１２が、ログ収集サーバ１０から受信したログデータ２２０に対する処理について説明したが、これ以外にも、基幹サーバ５０および外部サーバ６０からログ情報を受信し、受信したログ情報と、目標・目的設定プログラム４１１により設定された行動シナリオと、目標目的情報ＤＢ４２１と、基幹システム情報ＤＢ４２５と、外部システム情報ＤＢ４２６と、ログ情報の一覧２００とを参照し、基幹サーバや外部サーバについてのログデータ２２０を生成する。例えば、ログ収集プログラム１１１と同様に、次のようにすればよい。
【００６０】
ログデータ収集プログラム４１２は、基幹サーバ５０および外部サーバ６０からログ情報を収集すると、収集したログ情報を解析し、その内容が識別子情報ＤＢ１２２（図１１）に示されるどの目標・目的に対応するものであるかを判定する。ログ収集プログラム１１１は、その結果、例えば、目標・目的／売上額に対応する識別子として０００１を収集したログ情報のヘッダ部分に追加する。また、ログデータ収集プログラム４１２は、基幹サーバ５０（顧客管理サーバ）からログ情報を収集した場合には、機器／基幹サーバ（基幹サーバ５０のＩＤ）に対応する識別子ＣｎとしてＣ１を上記ヘッダ部分に追加し、外部サーバ６０からログ情報を収集した場合には、機器／外部サーバ（外部サーバ６０のＩＤ）に対応する識別子ＥｎとしてＥ１を上記ヘッダ部分に追加し、ログデータ２２０を作成する。このように、ログデータ収集プログラム４１２は、収集したログ情報に対して、そのログ情報が該当する目標・目的を示す識別子と、当該目標・目的を実行するサーバを示す識別子とを対応付けたログデータ２２０を生成する。
【００６１】
さらに、ログデータ収集プログラム４１２は、生成したログデータ２２０に対して、収集したログ情報と、そのログ情報の種類を示す識別子とを対応付ける。例えば、ログデータ収集プログラム４１２は、収集したログ情報を解析し、ログ情報の形式面での種類が基幹サーバ５０（顧客管理サーバ）のログ情報であれば、識別子情報ＤＢ１２２（図１１）を参照して、顧客管理サーバに対応する識別子２０を読み取って、収集したログ情報のヘッダ部分に追加する。
【００６２】
また、ログデータ収集プログラム４１２は、ログ情報の内容面での種類がポイント数を含むログ情報であれば、識別子情報ＤＢ１２２（図１１）を参照して、ポイント数に対応する識別子２００を読み取って、収集したログ情報のヘッダ部分に追加する。
【００６３】
そして、ログデータ収集プログラム４１２は、図６のＳ３０１〜Ｓ３０６の各処理と同様の処理を、生成した基幹サーバや外部サーバについてのログデータ２２０に対して実行する。
【００６４】
図７は、現場モデル生成処理の例を示すフローチャートである。現場モデル生成処理は、現場モデル生成プログラム４１３が運用管理サーバ４０のＣＰＵ４０２で実行されることにより行われる処理である。現場モデル生成プログラム４１３は、運用管理サーバ４０が、ログデータ収集プログラム４１２が収集して生成したログデータ２２０を受信することにより行われる処理である。
【００６５】
現場モデル生成プログラム４１３は、ログデータ収集プログラム４１２からログデータ２２０を受信すると（Ｓ４０１）、ログデータ２２０のヘッダ部分の識別子を確認し、Ｓ３０２と同様に、目標目的情報ＤＢ４２１とログデータ２２０のヘッダ部分のすべての識別子について一致しているか否かを判定する（Ｓ４０２）。現場モデル生成プログラム４１３は、目標目的情報ＤＢ４２１とログデータ２２０のヘッダ部分の識別子が不一致であると判定した場合は（Ｓ４０２；Ｎｏ）、補助記憶装置４０４に、受信したログデータ２２０を保管する（Ｓ４０３）。
【００６６】
一方、現場モデル生成プログラム４１３は、両者が一致したと判定した場合は（Ｓ４０２；Ｙｅｓ）、ログデータ２２０の機器識別子がロボット２０を示す識別子であるか否かを判定する（Ｓ４０４）。現場モデル生成プログラム４１３は、上記機器識別子がロボット２０を示す識別子でないと判定した場合は（Ｓ４０４；Ｎｏ）、受信したログデータ２２０に含まれるログ情報を読み出して、サービスが提供される環境の状況（例えば、ロボットの状態や外部機器の状態）を示す現場モデル情報（図１６）を作成し（Ｓ４０５）、現場モデル更新プログラム４１４に、作成した現場モデル情報を送信して（Ｓ４０８）、処理を終了する。
【００６７】
一方、現場モデル生成プログラム４１３は、上記機器識別子がロボット２０を示す識別子であると判定した場合は（Ｓ４０４；Ｙｅｓ）、蓄積されている現場モデル情報ＤＢ４２７を読み出して、質問項目（図１８）に対して、受信したログデータ２２０に含まれるログ情報から回答を作成し（Ｓ４０６）、サービスを提供する仮想の人物像を示すペルソナ情報（図１８）を作成する（Ｓ４０７）。現場モデル生成プログラム４１３は、現場モデル更新プログラム４１４に、作成したペルソナ情報を送信して（Ｓ４０８）、処理を終了する。
【００６８】
現場モデル生成プログラム４１３の動作の一例を挙げると、以下の通りである。現場モデル生成プログラム４１３は、ログデータ収集プログラム４１２からログデータ２２０を受信すると（Ｓ４０１）、目標・目的情報ＤＢ４２１に格納されている前回のログデータ２２０のヘッダ部分の目標・目的識別子ＩＤ（例えば集客人数を示す０００２）と、今回受信したログデータ２２０のヘッダ部分の目標・目的識別子ＩＤ（例えば売上額を示す０００１）を比較し、両者が一致するか否かを判定する（Ｓ４０２）。現場モデル生成プログラム４１３は、両者が不一致であると判定した場合は（Ｓ４０２；Ｎｏ）、補助記憶装置４０４に、受信したログデータ２２０を保管する（Ｓ４０３）。一方、現場モデル生成プログラム４１３は、両者が一致したと判定した場合は（Ｓ４０２；Ｙｅｓ）、更に機器識別子を比較する（Ｓ４０４）。
【００６９】
現場モデル生成プログラム４１３は、機器識別子がロボットを示すＡｎであると判定した場合（Ｓ４０４；Ｙｅｓ）、ログ情報に含まれる音声データ（ログ１識別子００に対応）や、当該音声データに含まれる会話ログ（ログ２識別子０００に対応）、さらに、ログ情報に含まれる画像データ（ログ１識別子０１に対応）や、当該画像データに含まれる対面ログ（ログ２識別子００１に対応）や検知ログ（ログ２識別子００２に対応）を解析し、質問項目情報１００１（図１８Ａ）に含まれる質問に対する回答を多数決で決定し（Ｓ４０６）、ペルソナ情報１００２を作成する（Ｓ４０７）。質問項目情報１００１、ペルソナ情報１００２については、図１８Ａ、１８Ｂを用いて後述する。回答を集約する間隔は、一週間間隔でも良いし、一時間間隔でも良い。例えば、現場モデル生成プログラム４１３は、一週間のログ１識別子により識別される画像データに含まれる対面ログ（ログ２識別子００１）や検知ログ（ログ２識別子００２）を解析して得られた性別の割合が、男性６０％、女性３５％、不明５％であった場合、ペルソナ情報として記録する性別は、男性とする。現場モデル生成プログラム４１３は、このようにして作成したペルソナ情報１００２を、現場モデル更新プログラム４１４に送信して（Ｓ４０８）、処理を終了する。
【００７０】
現場モデル生成プログラム４１３は、機器識別子がロボットを示すＡｎ以外の、例えば、外部機器を示すＢｎや、基幹サーバ（顧客管理システム）を示すＣｎや、基幹サーバ（顧客管理サーバ）を示すＤｎや、外部サーバを示すＥｎであると判定した場合（Ｓ４０４；Ｎｏ）、受信したログデータ２２０に含まれるログ情報を解析して現場モデル１００３（図１９）を作成する（Ｓ４０５）。現場モデル１００３（図１９）の作成方法としては、例えば、次のような処理を実行すればよい。現場モデル生成プログラム４１３は、ログデータ２２０に含まれる上記機器識別子Ｅ１により識別される外部サーバ（天気予報）のログ情報を参照し、当該ログ情報に含まれる温度の日々の変化（例えば、１週間の変化）を分析する。現場モデル生成プログラム４１３は、分析した温度変化が上昇を示す値であれば、外部システム情報ＤＢ４２６（図１５Ｂ）の増加項目に、当該値（例えば、ｅ１１）を設定する。同様に、現場モデル生成プログラム４１３は、分析した温度変化が下降を示す値であれば、外部システム情報ＤＢ４２６の減少項目に、当該値（例えば、ｅ１３）を設定し、分析した温度変化に変化がなければ、外部システム情報ＤＢ４２６の一定項目に、当該値（例えば、ｅ１２）を設定する。
【００７１】
また、例えば、現場モデル生成プログラム４１３は、ログデータ２２０に含まれる上記機器識別子Ｃ１により識別される基幹サーバ（顧客管理）のログ情報を参照し、当該ログ情報に含まれるポイント数を、基幹システム情報ＤＢ１２５（図１５Ａ）のポイント数項目に、当該値（例えば、ｃ１２）を設定する。ログ情報に含まれる他の項目（例えば、ポイントカード有無、購買履歴、来店数）についても同様に設定する。
【００７２】
そして、現場モデル生成プログラム４１３は、ログ情報から得られた各項目を設定した基幹システム情報ＤＢ１２５と外部システム情報ＤＢ４２６とを１つにまとめて現場モデル情報ＤＢ４２７（図１６参照）に記録する。このとき、レイアウトを同じにするため、現場モデル生成プログラム４１３は、基幹システム情報ＤＢ１２５（図１５Ａ）に記憶されている来店数や売上額の各項目の値の日々の変化（例えば、１週間の変化）を、外部システム情報ＤＢ４２６（図１５Ｂ）の場合と同様に、来店数や売上額の変化が増加、一定、減少のいずれとなっているか分析し、その結果となる値を、現場モデル情報ＤＢ４２７の増加項目、一定項目、減少項目に記録する。
【００７３】
なお、現場モデル生成プログラム４１３は、基幹システム情報ＤＢ１２５と外部システム情報ＤＢ４２６とを上記のとおり現場モデル情報ＤＢ４２７に記録する際に、現場モデルＩＤを、基幹サーバ側と外部サーバ側とが識別可能なように、異なるＩＤの体系でそれぞれのＩＤを付与する。図１６では、現場モデル生成プログラム４１３は、基幹サーバ側の現場モデルＩＤとしてはＦ１〜Ｆｎで識別されるＩＤを付与し、外部サーバ側の現場モデルＩＤとしてはＧ１〜Ｇｎで識別されるＩＤを付与する。
【００７４】
さらに、現場モデル生成プログラム４１３は、図１６に示した現場モデル情報ＤＢ４２７から、現場モデル１００３（図１９）を作成する。例えば、現場モデル生成プログラム４１３は、現場モデル情報ＤＢ４２７の各項目の値が増加項目である場合には「売上増加」「温度上昇」といった増加項目の値に対応する表現の文字列に変換し、現場モデル１００３の現場モデル項目に上記文字列を記録するとともに、当該現場モデル項目に対応する現場モデルＩＤ、現場モデルログ情報項目に、それぞれ、図１６に示す現場モデルＩＤ、種別を設定する。このようにして、現場モデル生成プログラム４１３は、最終的に、ログデータ２２０から現場モデル１００３を作成する。
【００７５】
図８は、現場モデル更新処理の例を示すフローチャートである。現場モデル更新処理は、現場モデル更新処理プログラム４１４が、運用管理サーバ４０のＣＰＵ４０２で実行されることにより行われる処理である。現場モデル更新プログラム４１４は、現場モデル生成プログラム４１３より、ペルソナ情報１００２または現場モデル１００３を受信することにより行われる処理である。
【００７６】
現場モデル更新処理プログラム４１４は、現場モデル生成プログラム４１３からペルソナ情報１００２もしくは現場モデル１００３を受信する（Ｓ５０１）と、現場モデル１００３、ペルソナ情報１００２のいずれであるか確認し（Ｓ５０２）、現場モデル情報ＤＢ４２７に格納する（Ｓ５０３）。現場モデル更新処理プログラム４１４は、格納した現場モデルと、前回格納した現場モデルとの差分を計算し、両者に差分があるか否かを判定する（Ｓ５０４）。現場モデル更新処理プログラム４１４は、両者に差分がないと判定した場合は（Ｓ５０４；Ｎｏ）、前回格納した現場モデルを行動シナリオ決定プログラム４１５に送信して（Ｓ５０６）、処理を終了する。
【００７７】
一方、現場モデル更新処理プログラム４１４は、両者に差分があったと判定した場合は（Ｓ５０４；Ｙｅｓ）、前回格納した現場モデルとの間の相関関数及び多数決関数を用いて現場モデルを更新し（Ｓ５０５）、更新した現場モデルを現場モデル情報ＤＢ４２７に格納して、行動シナリオ決定プログラム４１５に送信して（Ｓ５０６）、処理を終了する。上記差分の判定（Ｓ５０４）および更新（Ｓ５０５）、送信（Ｓ５０６）は、ペルソナ情報１００２についても同様に実行される。
【００７８】
現場モデル更新処理プログラム４１４の動作の一例を挙げると、以下の通りである。現場モデル更新処理プログラム４１４は、現場モデル生成プログラム４１３からペルソナ情報か、現場モデルのいずれであるかを確認し（Ｓ５０２）、現場モデル情報ＤＢ４２７に格納する（Ｓ５０３）。
【００７９】
現場モデル更新処理プログラム４１４は、ペルソナ情報１００２を受信した場合、現場モデルＤＢ２４７に格納されている前回のペルソナ情報と比較し、前回との差分の有無を比較する。現場モデル更新処理プログラム４１４は、両者に差分がない場合は（Ｓ５０４；Ｎｏ）、行動シナリオ決定プログラム４１５に、ペルソナ情報１００２を送信して（Ｓ５０６）、処理を終了する。一方、現場モデル更新処理プログラム４１４は、両者に差分があった場合は（Ｓ５０４；Ｙｅｓ）、受信したペルソナ情報１００２と、現場モデルＤＢ２４７に格納されている前回のペルソナ情報（例えば、図２０上段に示すペルソナ情報１００４）とを比較し、各項目で多数決処理を行い、多数決処理後のペルソナ情報（例えば、図２１に示すペルソナ情報１００６）を、現場モデル情報ＤＢ４２７に格納し（Ｓ５０３）、行動シナリオ決定プログラム４１５に、ペルソナ情報１００６を送信して（Ｓ５０６）、処理を終了する。
【００８０】
一方、現場モデル更新処理プログラム４１４は、現場モデル１００３を受信した場合、現場モデル情報ＤＢ２４７に格納されている前回の現場モデルと比較し、前回との差分の有無を比較する。現場モデル更新処理プログラム４１４は、両者に差分がない場合は（Ｓ５０４；Ｎｏ）、行動シナリオ決定プログラム４１５に、現場モデル１００３を送信して（Ｓ５０６）、処理を終了する。一方、現場モデル更新処理プログラム４１４は、両者に差分があった場合は（Ｓ５０４；Ｙｅｓ）、受信した現場モデル１００３と、現場モデル情報ＤＢ２４７に格納されている前回の現場モデル１００５の差分を比較し、気温と売上の相関関係が強い場合（例えば、上記相関関数や多数決関数により算出された値がある一定の閾値以上である場合）は、前回の現場モデル１００５を、受信した現場モデル（例えば、図２１下段に示す現場モデル１００７）に更新し、行動シナリオ決定プログラム４１５に、現場モデル１００７を送信して（Ｓ５０６）、処理を終了する。
【００８１】
なお、図５において、行動シナリオ更新プログラム１１２は、前回決定した前記現場モデルと今回決定した前記現場モデルの相関関係が上記のように強いか否かを判定し、両者の相関関係が一定以上であると判定した場合に、今回決定した現場モデルに対応する行動シナリオを更新してもよい。
【００８２】
図９は、行動シナリオ決定処理の例を示すフローチャートである。行動シナリオ決定処理は、行動シナリオ決定プログラム４１５が運用管理サーバ４０のＣＰＵ４０２で実行されることにより行われる処理である。行動シナリオ決定プログラム４１５は、現場モデル更新プログラム４１４より、現場モデルまたはペルソナ情報を受信することにより行われる処理である。
【００８３】
行動シナリオ決定プログラム４１５は、現場モデル更新プログラム４１４から現場モデルまたはペルソナ情報を受信し（Ｓ６０１）、現場モデルであることを確認する（Ｓ６０２）。行動シナリオ決定プログラム４１５は、受信した現場モデルが作成されたときの、行動シナリオ情報ＤＢ４２８に格納してある行動シナリオを確認し（Ｓ６０３）、目標・目的情報ＤＢ４２１に格納している目標・目的情報を確認する（Ｓ６０４）。行動シナリオ決定プログラム４１５は、受信した現場モデルと、目標・目的情報を比較し、当該現場モデルにより目標・目的が達成しているか否かを判定する（Ｓ６０５）。
【００８４】
行動シナリオ決定プログラム４１５は、当該現場モデルにより目標・目的が達成していると判定した場合は（Ｓ６０５；Ｙｅｓ）、変更せずに行動シナリオを決定し（Ｓ６０８）、ログ収集サーバ１０へ、行動シナリオを送信し（Ｓ６０９）、処理を終了する。一方、行動シナリオ決定プログラム４１５は、当該現場モデルにより目標・目的が達成していないと判定した場合は（Ｓ６０５；Ｎｏ）、現場モデルの相関関係を比較し（Ｓ６０６）、行動シナリオを更新し（Ｓ６０７）、行動シナリオを決定し（Ｓ６０８）、ログ収集サーバ１０へ、行動シナリオを送信し（Ｓ６０９）、処理を終了する。
【００８５】
行動シナリオ決定プログラム４１５の動作の一例を挙げると、以下の通りである。行動シナリオ決定プログラム４１５は、現場モデル更新プログラム４１４から、多数決処理後のペルソナ情報１００６と、相関関係が強いと判断されて更新された現場モデル１００７を受信し（Ｓ６０１）、行動シナリオＤＢ４２８から前回の行動シナリオを確認する（Ｓ６０２）。
【００８６】
行動シナリオは、目標（Ｈ１）、場所（Ｈ２）、目的（Ｈ３）、時間（Ｈ４）、行動（Ｈ５）を組み合わせたものであり、前回の行動シナリオを、目標（Ｈ１）を売上額（ｈ１１）、場所（Ｈ２）をエアコン売り場（ｈ２２）、目的（Ｈ３）を販売（ｈ３３）、時間（Ｈ４）を人が来た時（ｈ４３）、行動（Ｈ５）をＰＲする（ｈ５５）したときの行動シナリオＡとして、ｈ１１×ｈ２２×ｈ３３×ｈ４３×ｈ５５と定義する。
【００８７】
行動シナリオ決定プログラム４１５は、目標目的情報ＤＢ４２１から前回の目標目的情報を確認し（Ｓ６０４）、設定した目標・目的値名が売上額を示す０００１の場合、受信した現場モデル１００７から、現場モデルＩＤの顧客管理（店舗）を示すＦ１の数値を確認し、目標を達成したかどうかを確認する（Ｓ６０５）。行動シナリオ決定プログラム４１５は、目標を達成した場合は（Ｓ６０５；Ｙｅｓ）、行動シナリオとして全ての行動ＩＤにおいてｈ００に設定するか、前回と同じ行動シナリオＡに決定し（Ｓ６０８）、ログ収集サーバ１０へ、行動シナリオのデータを送信し（Ｓ６０９）、処理を終了する。
【００８８】
行動シナリオ決定プログラム４１５は、目標が達成出来てない場合は（Ｓ６０５；Ｎｏ）、受信した現場モデル１００７から相関関数を導出して、気温と扇風機の売上の相関関数の結果（例えば、図２２に示す相関関係グラフ１００８）と、処理後のペルソナ情報１００６とを用いて、行動シナリオを作成する（Ｓ６０５）。
【００８９】
具体的には、行動シナリオ決定プログラム４１５は、行動シナリオの目標（Ｈ１）を売上額（ｈ１１）、場所（Ｈ２）をエアコン売り場（ｈ２２）、目的（Ｈ３）を販売（ｈ３３）、時間（Ｈ４）を人が来た時（ｈ４３）、行動（Ｈ５）をＰＲする（ｈ５５）したときの行動シナリオＡとして、ｈ１１×ｈ２２×ｈ３３×ｈ４３×ｈ５５と定義した時、処理後のペルソナ情報１００６を参照し、「エアコン」から「扇風機」への発言増加の情報と、処理後の現場モデル１００７を参照し、「気温の上昇」と「扇風機の売上増加」の情報を読み取り、行動シナリオの場所（Ｈ２）をエアコン売り場（ｈ２２）から扇風機売り場（ｈ２３）へ変更し、ｈ１１×ｈ２３×ｈ３３×ｈ４３×ｈ５５を行動シナリオＣと定義し、作成する（Ｓ６０６）。行動シナリオ決定プログラム４１５は、作成した行動シナリオＣを行動シナリオ情報ＤＢ４２８に格納し、更新する（Ｓ６０８）。全ての行動ＩＤをｈ００に設定する指示がないかを確認し、行動上問題がなければ、行動シナリオＣに決定し（Ｓ６０８）、ログ収集サーバ１０へ、行動シナリオを送信し（Ｓ６０９）、処理を終了する。
【００９０】
図１０は、取得するログ情報の一覧を示す図である。ログ情報の一覧２００は、ログ収集サーバ１０の目標目的情報ＤＢ１２１と、運用管理サーバ４０の目標目的情報ＤＢ４２１に格納される。機器とログ１およびログ２の項目は、ロボット２０、外部機器３０、基幹サーバ５０、外部システム６０から取得するログ情報の種類を示している。
【００９１】
例えば、目標・目的を売上額に設定した場合、ロボット２０の音声データからはロボットとの会話ログが取得され、画像データからはロボットとの対面ログが取得され、障害検知データからはロボットの検知ログが取得されることを示している。外部機器３０からは、環境カメラ１からロボットとの会話で立ち止まった人数が取得され、環境カメラ２からは人が立ち止まった製品の場所が取得されることを示している。基幹サーバ５０（顧客管理サーバ）からは、来店者のポイント数と来店者の購買履歴が取得され、基幹サーバ５０（業務管理サーバ）からは、本日の売上額と製品毎の売上額と他店舗の売上額が取得されることを示している。外部システム６０からは、天気予報ＤＢから今日の天気、社外のＷｅｂサイトからは競合他社のチラシ情報が取得されることを示している。
【００９２】
図１１は、ログ情報に追加する識別子の例を示す図である。図１０で示したログ情報の一覧で定められたそれぞれのログ情報のヘッダ部分に、２桁から３桁の識別子が付加される。図１１では、例えば、サービスの提供に使用される機器がロボットである場合には、当該機器に対応する識別子Ａｎが、ログ情報のヘッダ部分として追加されることを示している。
【００９３】
図１２は、ログデータの構造を示す図である。ログデータ２２０は、ログ収集プログラム１１１により識別子（図１１）が付加され、ログデータ２２０のデータ構造が形成される。上述したように、ログデータ２２０は、ログ情報のヘッダ部分として追加された識別子と、当該ログ情報とが対応付けられた構成であり、目標・目的、機器、ログ情報に合致した識別子が付加される（図１１参照）。
【００９４】
図１３は、行動シナリオ決定プログラムの動作の概念を示す図である。行動シナリオ決定プログラム４１５は、受信した現場モデルと、目標・目的情報を比較し、達成しているかどうかを比較し、達成していない場合は、現場モデルの相関関係を比較して、行動シナリオを更新する。例えば、行動シナリオ決定プログラム４１５は、目標・目的を、売上ノルマを達成する、に設定し、行動シナリオをエアコンコーナーで対応する、と設定した場合に、収集したログ情報から作成した現場モデルの一例を示している。行動シナリオ決定プログラム４１５は、作成したペルソナ情報において発言されている扇風機と、現場モデルの気温/湿度上昇傾向と扇風機の売上向上が強い正の相関関係にあり、ペルソナ情報において分析されている発言であるエアコンと、ペルソナ情報において解析されている行動である購入断念、ペルソナ情報において解析されている感情である困っている、が強い負の相関関係にある場合を考える。
【００９５】
行動シナリオ決定プログラム４１５は、行動シナリオで設定したエアコンコーナーで対応する（場所（Ｈ２）：エアコン売り場（ｈ２２））、に強い負の相関関係があることから、強い正の相関関係にある扇風機に、エアコンから置き換えることで、行動シナリオを扇風機コーナーで対応する（場所（Ｈ２）：扇風機売り場（ｈ２３））、に更新する。行動シナリオ決定プログラム４１５は、現場モデルを更新し、目標・目的と行動シナリオとの相関関係を比較することで、目標・目的を達成するまで行動シナリオを更新する。  図１４Ａは、目標目的情報ＤＢ１２１／４２１の一例を示す図である。図１４Ａに示すように、目標目的情報ＤＢ１２１／４２１には、目標・目的値名とそのＩＤとが対応付けて記憶されている。図１４Ａでは、例えば、目標・目的値名である売上額が、目標・目的値ＩＤ０００１として設定されていることがわかる。
【００９６】
図１４Ｂは、ロボット情報ＤＢ１２３／４２３の一例を示す図である。図１４Ｂに示すように、ロボット情報ＤＢ１２３／４２３には、ロボット情報ＩＤとそのＩＤにより識別される実際の機体とが対応付けて記憶されている。図１４Ｂでは、例えば、ロボット情報ＩＤがＡ１であるロボットの機体は、ａ１１、ａ１２、ａ１３であることがわかる。
【００９７】
図１４Ｃは、外部機器情報１２４／４２４の一例を示す図である。図１４Ｃに示すように、外部機器情報１２４／４２４には、外部機器情報ＩＤとそのＩＤにより識別される外部機器の種別と、その種別の実際の機体とが対応付けて記憶されている。図１４Ｃでは、例えば、外部機器情報ＩＤがＢ１である環境カメラの機体は、ｂ１１、ｂ１２、ｂ１３であることがわかる。
【００９８】
図１５Ａは、基幹システム情報ＤＢ１２５／４２５の一例を示す図である。図１５Ａに示すように、基幹システム情報ＤＢ１２５／４２５は、基幹サーバＩＤと、そのＩＤにより識別される基幹サーバの種別と、その種別において管理される項目とが対応付けて記憶されている。図１５Ａでは、例えば、基幹サーバのうち自店舗の顧客管理を行うサーバでは、ポイントカードの有無、ポイント数、購買履歴、来店数等の項目が管理され、それぞれの値は、ｃ１１、ｃ１２、ｃ１３、ｃ１４であることがわかる。
【００９９】
図１５Ｂは、外部システム情報ＤＢ１２６／４２６の一例を示す図である。図１５Ｂに示すように、外部システム情報ＤＢ１２６／４２６は、外部サーバＩＤと、そのＩＤにより識別される外部サーバの種別と、その種別において管理される項目の増減とが対応付けて記憶されている。図１５Ｂでは、例えば、外部サーバのうち天気予報を知らせるサーバでは、温度についての増加（上昇）、減少（下降）、一定（変化なし）が予報され、そのいずれかの値として、ｅ１１、ｅ１２、ｅ１３が設定されることがわかる。
【０１００】
図１６は、現場モデルＤＢ１２７／４２７の一例を示す図である。現場モデルＤＢ１２７／４２７には、基幹サーバや外部サーバから取得した情報が増加、一定、減少で分類され、１５Ｂに示した外部システム情報ＤＢ１２６／４２６と同様に、具体的な数字の情報とともに格納される。図１６では、例えば、自店舗の顧客管理を行う基幹サーバが生成した現場モデルＩＤがＦ１により識別される現場モデルでは、例えば、来店数についての増加、減少、一定が集計され、そのいずれかの値として、ｆ１１、ｆ１２、ｆ１３が設定されることがわかる。同様に、現場の温度を検知する温度センサが生成した現場モデルＩＤがＧ２により識別される現場モデルでは、例えば、温度についての増加（上昇）、減少（下降）、一定（変化なし）が集計され、そのいずれかの値として、ｇ２１、ｇ２２、ｇ２３が設定されることがわかる。
【０１０１】
図１７は、行動シナリオ情報ＤＢ１２８／４２８の一例を示す図である。行動シナリオはこれらの行動シナリオＩＤおよびそのＩＤで識別される行動の種別に対応する値の組み合わせで構成され、目標、場所、目的、時間、行動が定義される。図１７の具体例についてはすでに各フローチャートにおけるものと同様であるため、ここではその説明を省略する。
【０１０２】
図１８Ａは、現場モデル情報ＤＢ１２７／４２７に格納される質問項目情報１００１の一例を示す図である。図１８Ａに示すように、質問項目情報１００１は、質問項目とログ情報とが対応付けて記憶されている。質問項目情報１００１を構成する質問項目は、あらかじめ定められており、図１８Ａでは、性別、年齢、職業、家族構成、発言、行動、感情の各項目が設定されていることがわかる。これらの各質問項目について、ログ情報として記憶されている対面ログや会話ログに含まれる画像データや音声データを用いて解析されることを示している。図１８Ａでは、例えば、性別については、対面ログの画像データを解析して得られた人物の顔画像を分析することにより得られることを示している。
【０１０３】
図１８Ｂは、現場モデル情報ＤＢ１２７／４２７に格納されるペルソナ情報１００２の一例を示す図である。図１８Ｂに示すように、ペルソナ情報１００２は、図１８Ａに示した質問項目情報１００１を用いて解析された結果として得られたペルソナ情報１００２を示している。図１８Ｂでは、性別、年齢、職業、家族構成、発言、行動、感情の各項目について、分析の結果、年齢が２０〜４０歳代の独身の男性会社員が来店し、「エアコン」「扇風機」の購入を断念し、困った表情をしているペルソナ情報が得られたことを示している。図７で説明したように、ペルソナ情報は、各質問項目に対して、例えば１週間分のログデータである画像データや音声データを解析して取得され、主な傾向として得られた結果をペルソナ情報として設定される。
【０１０４】
図１９は、現場モデル情報ＤＢ１２７／４２７に格納される現場モデルの一例を示す図である。図１９に示すように、現場モデル１００３は、現場モデルを識別するための現場モデルＩＤと、現場モデルログ情報と、現場モデルとが対応付けて記憶されている。現場モデルＩＤおよび現場モデルログ情報は、それぞれ、図１６に示した現場モデルＩＤおよび種別と同様である。また、現場モデルは、図１６に示した、減少、一定の各項目の数値を文字列で表現したものである。なお、現場モデルＩＤがＦ３、Ｆ４、Ｇ２、Ｇ３、Ｇ６で識別される現場モデルは、前回から現場モデルに変更があったモデルを示している。
【０１０５】
図２０は、現場モデル情報ＤＢ１２７／４２７に格納されるペルソナ情報と現場モデル他の一例を示す図である。図２０では、ペルソナ情報１００４のうち、年齢および発言の各質問項目が、前回との差分（例えば、図１８Ｂとの差分）が生じていることを示している。また、現場モデル１００５のうち、現場モデルＩＤがＦ３、Ｆ４、Ｇ２、Ｇ３、Ｇ６の各モデルが、前回との差分（例えば、図１９との差分）が生じていることを示している。
【０１０６】
図２１は、現場モデル情報ＤＢ１２７／４２７に格納されるペルソナ情報および現場モデルについて、前回の情報と、処理後の情報の一例を示した図である。図８で説明したように、現場モデル更新処理プログラム４１４は、前回の情報と差分があった箇所を抽出し、多数決及び相関関係が強いものを処理後の情報として選択する。図２１では、処理後のペルソナ情報１００６が、前回のペルソナ情報に含まれる発言「エアコン」と、当該発言との相関関係が強い「扇風機」に更新されていることがわかる。また、処理後の現場モデル１００７として、現場モデルＩＤがＦ４のモデルについては「売上増加」に更新され、現場モデルＩＤがＧ２、Ｇ３のモデルについては、それぞれ「温度上昇」、「湿度上昇」に更新され、現場モデルＩＤがＧ６のモデルについては「温度上昇」に更新されていることがわかる。すなわち、最新の現場モデルでは、気温が上昇し、センサが検知する温度および湿度が上昇すると、扇風機の売上が増加している関係にあることがわかる。
【０１０７】
図２２は、気温とエアコンの店舗売上(個数)と扇風機の店舗売上（個数）の相関関係の一例を示す図である。図２２の黒丸印に示すように、気温が２５度を超えると、扇風機の売上が増加しており、気温が高いことと、扇風機の売上は強い相関関係にあることを示している。
【０１０８】
このように、本システムによれば、収集したログ情報から複雑な作業のシナリオで動作するロボットの次の行動を決定するサービスロボットシステムを実現することが出来る。
【０１０９】
なお、本発明を実施するための形態は、以上で説明した実施例に限定されるものではなく、様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成の一部を加えてもよい。
【符号の説明】
【０１１０】
１０：ログ収集サーバ
２０：ロボット
３０：外部機器
４０：運用管理サーバ
５０：基幹サーバ
６０：外部サーバ
１００：サービス拠点
１１０：運用管理センタ
１２０：顧客基幹拠点
１３０：外部システム
１４０：ネットワーク
【図１】
2019166592.tif 000003
【図２】
2019166592.tif 000004
【図３】
2019166592.tif 000005
【図４】
2019166592.tif 000006
【図５】
2019166592.tif 000007
【図６】
2019166592.tif 000008
【図７】
2019166592.tif 000009
【図８】
2019166592.tif 000010
【図９】
2019166592.tif 000011
【図１０】
2019166592.tif 000012
【図１１】
2019166592.tif 000013
【図１２】
2019166592.tif 000014
【図１３】
2019166592.tif 000015
【図１４Ａ】
2019166592.tif 000016
【図１４Ｂ】
2019166592.tif 000017
【図１４Ｃ】
2019166592.tif 000018
【図１５Ａ】
2019166592.tif 000019
【図１５Ｂ】
2019166592.tif 000020
【図１６】
2019166592.tif 000021
【図１７】
2019166592.tif 000022
【図１８Ａ】
2019166592.tif 000023
【図１８Ｂ】
2019166592.tif 000024
【図１９】
2019166592.tif 000025
【図２０】
2019166592.tif 000026
【図２１】
2019166592.tif 000027
【図２２】
2019166592.tif 000028