(57)【要約】【課題】ユーザをサービス利用に適切に誘導する。【解決手段】実施形態における情報出力装置は、映像データに基づいて、ユーザに固有の特徴を示す属性を推定する第１の推定手段と、ユーザの顔向きデータおよび位置データに基づいて、ユーザの現在の行動の状態を推定する第２の推定手段と、属性および状態に応じたユーザをサービス利用に誘導する行動、および当該行動の価値の大きさを示す値の組み合わせが定義された行動価値テーブルにおける、推定された属性、状態に対応する組み合わせのうち、行動の価値の大きさを示す値が高い、ユーザをサービス利用に誘導する行動を決定する決定手段と、当該行動の前後において推定された状態に基づいて、行動に対する報酬の値を設定する設定手段と、報酬の値に基づいて行動価値の値を更新する更新手段と、を有する。【選択図】図１
2020024517.tif 000002
【特許請求の範囲】
【請求項１】
ユーザに係る映像データに基づいて、前記ユーザに係る顔向きデータおよび位置データをそれぞれ検出する検出手段と、
前記映像データに基づいて、前記ユーザに固有の特徴を示す属性を推定する第１の推定手段と、
前記検出手段により検出された顔向きデータおよび位置データに基づいて、前記ユーザの現在の行動の状態を推定する第２の推定手段と、
ユーザの属性および行動の状態に応じた前記ユーザをサービス利用に誘導する行動、および当該行動の価値の大きさを示す値の組み合わせが定義された行動価値テーブルを記憶する記憶部と、
前記記憶部に記憶される行動価値テーブルにおける、前記第１の推定手段により推定された属性、前記第２の推定手段により推定された状態に対応する組み合わせのうち、前記行動の価値の大きさを示す値が高い、前記ユーザをサービス利用に誘導する行動を決定する決定手段と、
前記決定手段により決定された行動に応じた情報を出力する出力手段と、
前記出力手段により情報が出力された後に、当該出力の前後において前記第２の推定手段により推定された前記ユーザの行動の状態に基づいて、前記決定された行動に対する報酬の値を設定する設定手段と、
前記設定された報酬の値に基づいて、前記行動価値テーブルにおける行動価値の値を更新する更新手段と、
を備えた情報出力装置。
【請求項２】
前記設定手段は、
前記出力手段により情報が出力される前に前記第２の推定手段により推定された前記ユーザの行動の状態から、前記出力手段により情報が出力された後に前記第２の推定手段により推定された前記ユーザの行動の状態への遷移が、前記出力された情報が前記誘導に有効であったことを示す遷移であったときに、前記決定された行動に対する正の報酬の値を設定し、
前記出力手段により情報が出力される前に前記第２の推定手段により推定された前記ユーザの行動の状態から、前記出力手段により情報が出力された後に前記第２の推定手段により推定された前記ユーザの行動の状態への遷移が、前記出力された情報が前記誘導に有効でないことを示す遷移であったときに、前記決定された行動に対する負の報酬の値を設定する、
請求項１に記載の情報出力装置。
【請求項３】
前記第１の推定手段により推定された属性は、前記ユーザの年齢を含み、
前記設定手段は、
前記出力手段により情報が出力されたときにおける、前記第１の推定手段により推定された属性に含まれる前記ユーザの年齢が所定の年齢より高いときに、前記設定された報酬の値を、当該値の絶対値を増加させた値に変更する、
請求項２に記載の情報出力装置。
【請求項４】
前記出力手段は、
前記決定手段により決定された行動に応じた画像情報、音声情報、および対象物を駆動するための駆動制御情報とのうちの少なくとも１つを出力する、
請求項１乃至３のいずれか１項に記載の情報出力装置。
【請求項５】
情報出力装置が行なう情報出力方法であって、
ユーザに係る映像データに基づいて、前記ユーザに係る顔向きデータおよび位置データをそれぞれ検出し、
前記映像データに基づいて、前記ユーザに固有の特徴を示す属性を推定し、
前記検出された顔向きデータおよび位置データに基づいて、前記ユーザの現在の行動の状態を推定し、
記憶装置に記憶される、ユーザの属性および行動の状態に応じた前記ユーザをサービス利用に誘導する行動、および当該行動の価値の大きさを示す値の組み合わせが定義された行動価値テーブルにおける、前記推定された属性および状態に対応する組み合わせのうち、前記行動の価値の大きさを示す値が高い、前記ユーザをサービス利用に誘導する行動を決定し、
前記決定された行動に応じた情報を出力し、
前記決定された行動に応じた情報が出力された後に、当該出力の前後において前記推定された前記ユーザの行動の状態に基づいて、前記決定された行動に対する報酬の値を設定し、
前記設定された報酬の値に基づいて、前記行動価値テーブルにおける行動価値の値を更新する、
情報出力方法。
【請求項６】
請求項１乃至４のいずれか１項に記載の情報出力装置の前記各手段としてプロセッサを機能させる情報出力処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報出力装置、方法およびプログラムに関する。
【背景技術】
【０００２】
近年、受付に受付係の人員を配置せずに、エージェントとなるロボット又はサイネージを配置し、このエージェントが受付業務を代行することが行なわれている。このような受付業務には、ユーザ（例えば、通行者）に対して話しかける動作も含まれている（例えば非特許文献１を参照）。
【０００３】
従来、エージェントがユーザに話しかける際には、距離センサを使用して、ユーザが近寄ってくることを検知し、話しかける動作を行なっている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】尾崎  安範  他７名  ”通行者の行動モデルに基づいてサービス利用を促すバーチャルエージェントを備えたインタラクティブサイネージ”  電子情報通信学会技術研究報告  ｖｏ．  １１６  Ｎｏ．４６１、１１１〜１１８頁、２０１７年２月１８日
【発明の概要】
【発明が解決しようとする課題】
【０００５】
エージェントが、通行者に対する集客という役割を達成するには、通行者を呼びかけるなどの刺激を与えることで通行者を誘導する必要がある。
【０００６】
一方で、不用意に通行者へ刺激を与えると、通行者に不快感を与えることが実験の結果で明らかになっている。
【０００７】
この発明は上記事情に着目してなされたもので、その目的とするところは、ユーザをサービス利用に適切に誘導することができるようにした情報出力装置、方法およびプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、この発明の一実施形態における情報出力装置の第１の態様は、情報出力装置が、ユーザに係る映像データに基づいて、前記ユーザに係る顔向きデータおよび位置データをそれぞれ検出する検出手段と、前記映像データに基づいて、前記ユーザに固有の特徴を示す属性を推定する第１の推定手段と、前記検出手段により検出された顔向きデータおよび位置データに基づいて、前記ユーザの現在の行動の状態を推定する第２の推定手段と、ユーザの属性および行動の状態に応じた前記ユーザをサービス利用に誘導する行動、および当該行動の価値の大きさを示す値の組み合わせが定義された行動価値テーブルを記憶する記憶部と、前記記憶部に記憶される行動価値テーブルにおける、前記第１の推定手段により推定された属性、前記第２の推定手段により推定された状態に対応する組み合わせのうち、前記行動の価値の大きさを示す値が高い、前記ユーザをサービス利用に誘導する行動を決定する決定手段と、前記決定手段により決定された行動に応じた情報を出力する出力手段と、前記出力手段により情報が出力された後に、当該出力の前後において前記第２の推定手段により推定された前記ユーザの行動の状態に基づいて、前記決定された行動に対する報酬の値を設定する設定手段と、前記設定された報酬の値に基づいて、前記行動価値テーブルにおける行動価値の値を更新する更新手段と、を備えるようにしたものである。
【０００９】
この発明の情報出力装置の第２の態様は、第１の態様において、前記設定手段は、前記出力手段により情報が出力される前に前記第２の推定手段により推定された前記ユーザの行動の状態から、前記出力手段により情報が出力された後に前記第２の推定手段により推定された前記ユーザの行動の状態への遷移が、前記出力された情報が前記誘導に有効であったことを示す遷移であったときに、前記決定された行動に対する正の報酬の値を設定し、前記出力手段により情報が出力される前に前記第２の推定手段により推定された前記ユーザの行動の状態から、前記出力手段により情報が出力された後に前記第２の推定手段により推定された前記ユーザの行動の状態への遷移が、前記出力された情報が前記誘導に有効でないことを示す遷移であったときに、前記決定された行動に対する負の報酬の値を設定するようにしたものである。
【００１０】
この発明の情報出力装置の第３の態様は、第２の態様において、前記第１の推定手段により推定された属性は、前記ユーザの年齢を含み、前記設定手段は、前記出力手段により情報が出力されたときにおける、前記第１の推定手段により推定された属性である前記ユーザの年齢が所定の年齢より高いときに、前記設定された報酬の値を、当該値の絶対値を増加させた値に変更するようにしたものである。
【００１１】
この発明の情報出力装置の第４の態様は、第１乃至第３の態様のいずれか１つにおいて、前記出力手段は、前記決定手段により決定された行動に応じた画像情報、音声情報、および対象物を駆動するための駆動制御情報とのうちの少なくとも１つを出力するようにしたものである。
【００１２】
本発明の一実施形態における、情報出力装置が行なう情報出力方法の一つの態様は、ユーザに係る映像データに基づいて、前記ユーザに係る顔向きデータおよび位置データをそれぞれ検出し、前記映像データに基づいて、前記ユーザに固有の特徴を示す属性を推定し、前記検出された顔向きデータおよび位置データに基づいて、前記ユーザの現在の行動の状態を推定し、記憶装置に記憶される、ユーザの属性および行動の状態に応じた前記ユーザをサービス利用に誘導する行動、および当該行動の価値の大きさを示す値の組み合わせが定義された行動価値テーブルにおける、前記推定された属性および状態に対応する組み合わせのうち、前記行動の価値の大きさを示す値が高い、前記ユーザをサービス利用に誘導する行動を決定し、前記決定された行動に応じた情報を出力し、前記決定された行動に応じた情報が出力された後に、当該出力の前後において前記推定された前記ユーザの行動の状態に基づいて、前記決定された行動に対する報酬の値を設定し、前記設定された報酬の値に基づいて、前記行動価値テーブルにおける行動価値の値を更新する、ようにしたものである。
【００１３】
本発明の一実施形態における情報出力処理プログラムの一つの態様は、第１乃至第４の態様のいずれか１つにおける情報出力装置の前記各手段としてプロセッサを機能させるものである。
【発明の効果】
【００１４】
この発明の一実施形態における情報出力装置の第１の態様によれば、ユーザの状態、属性、および行動価値関数に基づいて、ユーザをサービス利用に誘導する行動を決定し、この決定した動作に応じた情報を出力したときのユーザの状態に基づいて報酬関数を設定し、この報酬関数を考慮して、より適切な行動が決定できるように行動価値関数を更新するので、例えばエージェントによりユーザを集客するときに、ユーザに対する適切な行動を行なうことができるようになるので、ユーザをサービス利用に適切に誘導することができる。
【００１５】
この発明の一実施形態における情報出力装置の第２の態様によれば、決定された行動に応じた情報が出力される前に推定されたユーザの行動の状態から出力後に推定された状態への遷移が、情報が誘導に有効であったことを示す遷移であったときに、行動に対する正の報酬の値を設定し、上記の遷移が、情報が誘導に有効でないことを示す遷移であったときに、行動に対する負の報酬の値を設定するので、情報が誘導に有効であるか否かに応じて報酬を適切に設定できる。
【００１６】
この発明の一実施形態における情報出力装置の第３の態様によれば、属性は、ユーザの年齢を含み、決定された行動に応じた情報が出力されたときにおける推定された年齢が所定の年齢より高いときに、設定された報酬の絶対値を増加させた値を設定するので、例えば行動に対する反応が鈍感である大人については大きなユーザエクスペリエンスを与えたとみなして、報酬を増加させることができる。
【００１７】
この発明の一実施形態における情報出力装置の第４の態様によれば、決定された行動に応じた画像情報、音声情報、および対象物を駆動するための駆動制御情報とのうちの少なくとも１つを出力するので、誘導したいサービスに応じて適切な情報を出力できる。
【００１８】
すなわち、本発明によれば、ユーザをサービス利用に適切に誘導することが可能になる。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施形態に係る情報出力装置の機能構成例を示す図。
【図２】本発明の一実施形態に係る情報出力装置の学習部の機能構成例を示す図。
【図３】状態の集合Ｓの定義を説明するための図。
【図４】属性の集合Ｐの定義を説明するための図。
【図５】行動の集合Ａの定義を説明するための図。
【図６】行動価値テーブルの構成を表形式で説明する図
【図７】学習部による処理動作の一例を示すフローチャート。
【図８】学習部によるスレッド「方策から行動を決定」の処理動作の一例を示すフローチャート。
【図９】学習部によるスレッド「行動価値関数を更新」の処理動作の一例を示すフローチャート。
【発明を実施するための形態】
【００２０】
以下、図面を参照しながら、この発明に係わる一実施形態を説明する。  
図１は、本発明の一実施形態に係る情報出力装置の機能構成例を示す図である。  
図１に示すように、情報出力装置１は、モーションキャプチャ１１、行動状態推定器１２、属性推定器１３、測定値データベース（ＤＢ）１４、学習部１５、デコーダ１６を有する。
【００２１】
情報出力装置１は、例えば、通行者に画像情報または音声情報を出力してサービスの利用を呼び掛けるバーチャルロボットインタラクティブサイネージ等である。また、情報出力装置１は、パーソナルコンピュータ（ＰＣ）などのコンピュータデバイスを用いたシステムにより実現可能である。例えば、コンピュータデバイスは、ＣＰＵ（Central Processing Unit）などのプロセッサと、プロセッサに接続されるメモリと、入出力インタフェースとを備える。このうちメモリは、不揮発性メモリなどの記憶媒体を有する記憶装置により構成される。
【００２２】
上記のモーションキャプチャ１１、行動状態推定器１２、属性推定器１３、学習部１５、デコーダ１６の機能は、例えば、プロセッサがメモリに格納されているプログラムを読み出して実行することにより実現される。なお、これらの機能の一部または全部は、特定用途向け集積回路（ＡＳＩＣ）などの回路によって実現されてもよい。  
測定値データベース（ＤＢ）１４、およびその他の各種データベースは、上記メモリのうち随時書込および読み出しが可能な不揮発性メモリに設けられる。
【００２３】
モーションキャプチャ１１は、図示しないカメラを搭載し、このカメラで撮影された、通行者に係る深度映像データおよびカラー映像データをそれぞれ入力して、これらの映像データから通行者の顔向きデータ、当該通行者の重心の位置（以下、単に通行者の位置と称することがある）データを検出し、これらの検出結果に、当該通行者に固有のＩＤ（Identification Data）（以下、通行者ＩＤ）を付加して、通行者ＩＤ、当該通行者ＩＤに対応する通行者の顔向き（以下、通行者ＩＤの顔向き、又は通行者の顔向きと称することがある）、当該通行者ＩＤに対応する通行者の位置（以下、通行者ＩＤの位置、又は通行者の位置と称することがある）として、行動状態推定器１２および測定値データベース１４に出力する。
【００２４】
行動状態推定器１２は、通行者の顔の向き、通行者の位置、通行者ＩＤを入力し、エージェント、例えばロボット又はサイネージに対する通行者の現在の行動の状態を推定し、この推定結果に通行者ＩＤを付加して、通行者ＩＤ、当該通行者ＩＤに対応する通行者の状態を表す記号（以下、通行者の状態と称することがある）として学習部１５に出力する。通行者の顔の向き、通行者の位置、通行者ＩＤを入力し、通行者の行動状態を推定することの詳細については、例えば特願２０１７−２１６９５４明細書（例えば段落［０１０２］乃至［０１０８］）に記載されている。
【００２５】
属性推定器１３は、深度映像、カラー映像を入力して、この映像から通行者に固有の特徴を示す属性、例えば年齢、性別などを推定し、この推定結果に、当該通行者の通行者ＩＤを付加して、通行者ＩＤ、当該通行者ＩＤに対応する通行者の属性を表す記号（以下、通行者の属性と称することがある）として、測定値データベース１４に出力する。
【００２６】
学習部１５は、行動状態推定器１２から通行者ＩＤ、行動状態の推定結果を入力し、測定値データベース１４から通行者ＩＤ、通行者の属性を読み出して、これらを入力する。学習部１５は、通行者ＩＤ、通行者の行動状態の推定結果、通行者の属性の推定結果に基づいて、ε-greedy法に従う方策πで通行者の行動を決定し、この行動を示す情報に固有のＩＤ（以下、行動ＩＤと称することがある）、通行者ＩＤとともにデコーダ１６に出力する。行動の決定には、学習アルゴリズムによる学習結果を用いる。
【００２７】
デコーダ１６は、学習部１５から、通行者ＩＤ、行動ＩＤ、決定された行動を示す情報を入力し、測定値データベース１４から通行者ＩＤ、通行者の顔向き、位置、通行者の属性を読み出して入力し、決定された行動に応じた画像情報を図示しないディスプレイを用いて出力したり、行動に応じた音声情報を図示しないスピーカを用いて出力したり、対象物を駆動するための駆動制御情報をアクチュエータに出力したりする。
【００２８】
ここで、学習部１５で用いる各種データの定義の例を説明する。これらのデータの詳細は後述する。  
最大対応人数n=６[人]
状態集合S={Si|i=0,1,…,n-1}
属性集合P={pi|i=0,1,…,n-1}
行動集合A={aij|i=0,1,…,n-1 j=0,1,…,4}
行動価値関数Q:Pn×Sn×A→R (Sn：Sの直積のn乗)
報酬関数r:Pn×Sn×A×Pn×Sn→R
上記のRは、実数全体集合の値を意味する。  
行動価値関数Qの説明は、ｎ人分の属性集合とｎ人分の状態集合を入力とし、行動価値を実数の範囲で出力する関数であることを示す。  
報酬関数rの説明は、ｎ人分の属性集合とｎ人分の状態集合を入力とし、報酬を実数の範囲で出力する関数であることを示す。
【００２９】
図２は、本発明の一実施形態に係る情報出力装置の学習部の機能構成例を示す図である。  
図２に示すように、学習部１５は、行動価値関数更新部１５１、報酬関数データベース（ＤＢ）１５２、行動価値関数データベース（ＤＢ）１５３、行動ログデータベース（ＤＢ）１５４、属性・状態データベース（ＤＢ）１５５、行動決定部１５６、状態集合データベース（ＤＢ）１５７、属性集合データベース（ＤＢ）１５８、行動集合データベース（ＤＢ）１５９を有する。
【００３０】
次に、行動の状態について説明する。実施形態では、動かないエージェントに対する通行者の行動の状態を７つの状態に分類できると仮定する。この状態の定義の集合を状態集合Ｓと定義する。この状態集合Ｓは、状態集合データベース１５７に予め格納される。
【００３１】
図３は、状態集合Ｓの定義を説明するための図である。  
図３に示すように、
状態「ｓ０」、状態名「NotFound」は、通行者がそもそも見つからない状態を意味する。
【００３２】
状態「ｓ１」、状態名「Passing」は、通行者がエージェント側を見ずに通り過ぎていく状態を意味する。  
状態「ｓ２」、状態名「Looking」は、通行者がエージェント側を見ながら通り過ぎていく状態を意味する。  
状態「ｓ３」、状態名「Hesitating」は、通行者がエージェント側を見ながら止まっている状態を意味する。  
行動状態「ｓ４」、状態名「Aproching」は、通行者がエージェント側を見ながらエージェント側に近づいていく状態を意味する。  
行動状態「ｓ５」、状態名「Estabilished」は、通行者がエージェント側を見ながらエージェントの近くにいる状態を意味する。  
状態「ｓ６」、状態名「Leaving」は、通行者がエージェントから遠ざかっていく状態を意味する。
【００３３】
次に、属性について説明する。実施形態では、通行者の属性を５つの属性に分類できると仮定する。この属性は、家族連れの子供などをターゲットにしたいときなどに使われる。この属性の定義の集合を属性集合Ｐと定義する。この属性集合Ｐは、属性集合データベース１５８に予め格納される。
【００３４】
図４は、属性集合Ｐの定義を説明するための図である。  
図４に示すように、  
属性「ｐ０」、状態名「Unknown」は、通行者の属性が不明であることを意味する。  
属性「ｐ１」、状態名「YoungMan」は、通行者が推定２０歳以下の男性であることを意味する。  
属性「ｐ２」、状態名「YoungWoman」は、通行者が推定２０歳以下の女性であることを意味する。  
属性「ｐ３」、状態名「Man」は、通行者が推定２０歳よりも高齢の男性であることを意味する。  
属性「ｐ４」、状態名「Woman」は、通行者が推定２０歳よりも高齢の女性であることを意味する。
【００３５】
次に、情報出力装置１によって画像情報または音声情報を出力する各動作について説明する。  
図５は、図１に示した情報出力装置１が通行者の検知に応じて実行可能な、画像情報または音声情報を出力する動作の一例を示す図である。図５は、ｉ番目の通行者に対してエージェントが実行可能なｊ種類の行動をａｉｊとし、通行者に対してエージェントが実行可能な行動の定義の集合を行動集合Ａ（ａｉｊ∈Ａ）としたときの、情報出力装置１が実行可能な５種類の動作ａｉ０，ａｉ１，ａｉ２，ａｉ３，ａｉ４を図示している。上記の行動集合Ａは、行動集合データベース１５９に予め格納されている。
【００３６】
動作ａｉ０は、情報出力装置１が、ディスプレイに、待機する人の画像情報を出力する動作である。  
動作ａｉ１は、情報出力装置１が、ディスプレイに、ｉ番目の通行者の人を見ながら手招きをしながら誘導する人の画像情報を出力し、スピーカから、「こちらへどうぞ」という呼び掛けの言葉に対応する音声情報を出力する動作である。
【００３７】
動作ａｉ２は、情報出力装置１が、ディスプレイに、ｉ番目の通行者の人を見ながら効果音付きで手招きをしながら誘導する人の画像情報を出力し、スピーカから、「こちらに来てください！」という呼び掛けの言葉に対応する音声情報と、通行者の注意を引くための効果音に対応する音声情報とを出力する動作である。なお、効果音に対応する音声情報の音量は、例えば、呼び掛けの言葉に対応する上述した２種類の音声情報の音量よりも大きい。  
動作ａｉ３は、情報出力装置１が、ディスプレイに、ｉ番目の通行者の人を見ながら商品を推薦する人の画像情報を出力し、スピーカから、「こちらの飲み物がいまお得ですよ」という呼び掛けの言葉に対応する音声情報を出力する動作である。
【００３８】
動作ａｉ４は、情報出力装置１が、ディスプレイに、ｉ番目の通行者の人を見ながらサービスを開始する人の画像情報を出力し、スピーカから、「こちらは無人販売所です」という呼び掛けの言葉に対応する音声情報を出力する動作である。
【００３９】
次に、行動価値関数Ｑについて説明する。行動価値関数Ｑは、初期データが予め定められて、行動価値関数データベース１５３に格納される。  
例えば、誰か一人の通行者がエージェントの近くにいるときにサービスを開始したいとき、例えば、あるときの各通行者の状態が「S6∋ｓ５, ｓ０, ｓ０, ｓ０, ｓ０, ｓ０」であるとすると、行動価値関数Ｑは、「Ｑ(ｐ１, ｐ０, ｐ０, ｐ０, ｐ０, ｐ０, ｓ５, ｓ０, ｓ０, ｓ０, ｓ０, ｓ０, ａ０４)＝10.0」となる。
【００４０】
行動価値関数の入力はすべて離散値なので、行動価値関数Ｑの定義の値は行動価値テーブルとして表現できる。図６は、行動価値テーブルの構成を表形式で説明する図である。
図６に示した行動価値テーブルでは、１人目から６人目の通行者の属性をＰ０，Ｐ１，…，Ｐ５で表し、１人目から６人目の通行者の状態をＳ０，Ｓ１，…，Ｓ５で表し、行動をＡで表し、集客を目的としたときの当該行動の価値の大きさの値をＱで表す。この行動価値テーブルでは、通行者の属性および行動に応じた、エージェントによる、ユーザをサービス利用に誘導する行動、および当該行動の価値の大きさを示す値の組み合わせが定義される。
図６に示したテーブルの行番号０と２とでは０番目の通行者の状態が異なる。０行目では０番目の通行者の状態がｓ５（Estabilished）であるため、行動としてａ０４（サービスを開始する）が定義づけられるが、２行目では０番目の通行者の状態がｓ０（NotFound）であるため、行動としてａ００（何もしない）が定義づけられる。
【００４１】
行動決定部１５６は、ε-greedy法に従う方策πにより、一定確率１−εで行動価値関数を最大化するような行動を決定する。例えば、行動決定部１５６は、６人の通行者について属性推定器１３により推定された属性の組み合わせが(ｐ１, ｐ０, ｐ０, ｐ０, ｐ０, ｐ０)であって、同じ６人の通行者について行動状態推定器１２により推定された状態の組み合わせが(ｓ５, ｓ０, ｓ０, ｓ０, ｓ０, ｓ０)であるとき、行動価値テーブルにおける、これらの組み合わせが定義される行のうち、行動価値の値が最も高い行、例えば図６に示す１行目である、Ｑが10.0である行を選択し、この行で定義される行動「ａ００」に対応する行動を、行動価値関数を最大化するような行動として決定する。  
ただし、行動決定部１５６は、通行者に対する行動を一定確率εでランダムに決定する。
【００４２】
次に、報酬関数ｒについて説明する。この報酬関数ｒは、行動決定部１５６により決定された行動に対する報酬を定める関数であって、報酬関数データベース１５２にて予め定められる。  
報酬関数ｒは、ルールベースで集客という役割と、ユーザエクスペリエンス（User Experience）（特にユーザビリティ）とに基づいて、例えば以下のルール１、２、３のように定められる。これらのルールは、集客という役割上、人をエージェント側に近づけることを行動目的として定められる。
【００４３】
ルール１：エージェントによる何らかの行動、つまり呼びかけによって、通行者の状態が、上記の状態集合Ｓのs０ないしs５の範囲で、状態s０からみてs５に近い状態に変化した場合は、エージェントの役割に好ましい行動を行なったとして、正の報酬を与える。
【００４４】
ルール２：エージェントが通行者に呼びかけたときに、通行者の状態が、上記の状態集合Ｓのs０ないしs５の範囲で、状態s０に近い状態に変化した場合は、エージェントの役割に好ましい行動を行なったとして、負の報酬を与える。
ルール３：通行者がロボットの側を向かずに通り過ぎているときに呼びかけると、ユーザは不快を感じるとして、負の報酬を与える。
ルール４：誰もいない状態で呼びかけると、エージェントの動作に係る電力の無駄であるとして、負の報酬を与える。
【００４５】
ルール５：子供は刺激に対して敏感に反応する一方で、大人は刺激に対し鈍感であることを前提とし、上記ルール１乃至４を満たす条件で、エージェントが刺激を与えた通行者が大人であった場合は、通行者に大きなユーザエクスペリエンスを与えたとみなし、上記ルール１乃至４に従って与える報酬の値の絶対値を倍にする。
デフォルトルール：以上のルール１乃至５に該当しない場合、報酬は無しとする。
【００４６】
報酬関数ｒは、例えば以下の（１）のように表される。
【００４７】
【数１】
2020024517.tif 000003
【００４８】
報酬関数ｒの出力の決定について、以下の（Ａ）〜（Ｃ）のように説明する。この出力の決定は、行動価値関数更新部１５１が、報酬関数データベース１５２にアクセスし、この報酬関数データベース１５２から返される報酬を受け取ることでなされる。また、報酬関数データベース１５２自体が報酬を設定する機能を有して、行動価値関数更新部１５１に出力してもよい。
【００４９】
（Ａ）ａがａｉ０である場合、つまりエージェントが何もしない（待機である）場合、報酬０を返す（デフォルトルールを適用）。
（Ｂ）ａがａｉ０でない場合、つまりエージェントが通行者に呼びかけた（待機以外である）場合、エージェントによる行動前後の各通行者の状態を比較して、以下の（Ｂ−１）〜（Ｂ−５）を実行する。
【００５０】
（Ｂ−１）１人以上の通行者について、エージェントによる行動前における状態に対し、行動後における状態が、上記の状態集合Ｓの状態ｓ０からみてs５に近い状態に変化した場合は、正の報酬として＋１を返す（ルール１を適用）。
ただし、＋１を返す上記の条件を満たした場合で、上記のs５に近い状態に係る、行動前における通行者の属性が上記の属性集合Ｐにおけるｐ３又はｐ４である場合、つまり通行者の推定年齢が２０歳を超える場合、報酬として上記の＋１を２倍した＋２を返す（上記ルール５を適用）。
【００５１】
（Ｂ−２）１人以上の通行者について、エージェントによる行動前における状態に対し、行動後における状態が、上記の状態集合Ｓの状態s０に近い状態に変化した場合は、負の報酬として−１を返す。（上記ルール２を適用）。  
ただし、−１を返す上記の条件を満たした場合で、上記のｓ０に近い状態に係る、行動前における通行者の属性が上記の属性集合Ｐにおけるｐ３又はｐ４である場合、つまり通行者の推定年齢が２０歳を超える場合、報酬として上記の−１を２倍した−２を返す（上記ルール５を適用）。
【００５２】
（Ｂ−３）各通行者の属性のすべての成分がｓ０（NotFound）、ｓ１（Passing）で構成されており、行動前における通行者の属性と行動後における通行者の属性の各成分が同じである場合、報酬として−１を返す（上記ルール３を適用）。
（Ｂ−４）各通行者の属性のすべての成分がｓ０（NotFound）の場合、報酬として−１を返す（上記ルール４を適用）。
（Ｂ−５）上記（Ｂ−１）〜（Ｂ−４）のいずれも満たさない場合、報酬として０を返す（上記デフォルトルールを適用）。  
このようにして、行動決定部１５６により決定された行動に対する報酬を設定することができる。
【００５３】
次に、行動価値関数更新部１５１による行動価値関数の更新（学習）について説明する。  
行動価値関数更新部１５１は、以下の式（２）を使い、行動価値関数データベース１５３に格納される行動価値テーブルにおける行動価値の値Ｑを更新する。これにより、上記のように、通行者に対する行動の前後における通行者の状態の遷移に応じて決定された報酬に基づいて、行動価値の値を更新することができる。
【００５４】
【数２】
2020024517.tif 000004
【００５５】
式（２）のγは時間割引率（エージェントによる次の最適な行動を反映する程度の大きさを定める率）である。時間割引率は、例えば０．９９である。  
式（２）のαは学習率（行動価値関数を更新する程度の大小を定める率）である。学習率は例えば０．７である。
【００５６】
次に、学習部１５による処理手順について説明する。図７は、学習部による処理動作の一例を示すフローチャートである。  
学習部１５の行動決定部１５６は、通行者のＩＤ、通行者ＩＤの状態を表す記号、通行者のＩＤ、通行者ＩＤの属性を表す記号を入力すると、状態集合データベース１５７に格納される状態集合Ｓの定義、属性集合データベース１５８に格納される属性集合Ｐの定義、行動集合データベース１５９に格納される行動集合Ａの定義をそれぞれ読み出し、図示しない内部メモリに格納する。  
行動決定部１５６は、属性・状態データベース１５５に格納される、各通行者の状態の初期値を設定する（Ｓ１１）。初期状態では、エージェントの近くに通行者が誰もいないと仮定し、各通行者の行動の状態の初期値は、以下の（３）であるとする。
【００５７】
【数３】
2020024517.tif 000005
【００５８】
行動決定部１５６は、属性・状態データベース１５５に格納される、各通行者の属性の初期値を設定する（Ｓ１２）。初期状態では、エージェントの近くに通行者が誰もいないので属性は不明と仮定し、各通行者の属性の初期値は、以下の（４）であるとする。
【００５９】
【数４】
2020024517.tif 000006
【００６０】
行動決定部１５６は、変数Ｔに所定の終了時刻を設定する（Ｔ←終了時刻）（Ｓ１３）。
行動決定部１５６は、行動ログデータベース（ＤＢ）１５４に格納される、行動ログのレコードを全て削除することで初期化する（Ｓ１４）。この、行動ログのレコードでは、行動ＩＤ、エージェントの行動を表す記号、行動開始時の各通行者の属性を表す記号、行動開始時の各通行者の状態を表す記号が関連付けられる。  
行動決定部１５６は、スレッド「方策から行動を決定」を、以下の（５）への参照を渡して起動する（Ｓ１５）。このスレッドは、デコーダ１６への出力に係るスレッドである。
【００６１】
【数５】
2020024517.tif 000007
【００６２】
行動決定部１５６は、スレッド「行動価値関数を更新」を上記の（５）への参照を渡して起動する（Ｓ１６）。このスレッドは、行動価値関数更新部１５１による学習に係るスレッドである。行動決定部１５６は、上記スレッド「行動価値関数を更新」が終了するまで待機する（Ｓ１７）。
【００６３】
スレッド「行動価値関数を更新」の終了後、行動決定部１５６は、上記スレッド「方策から行動を決定」が終了するまで待機する（Ｓ１８）。スレッド「方策から行動を決定」が終了すると、一連の処理が終了する。
【００６４】
次に、上記スレッド「方策から行動を決定」の詳細について説明する。図８は、学習部によるスレッド「方策から行動を決定」の処理動作の一例を示すフローチャートである。
行動決定部１５６は、以下のＳ１５ａ〜Ｓ１５ｋを現在時刻が終了時刻を過ぎる（ｔ＞Ｔ）まで繰り返す。
【００６５】
行動決定部１５６は、通行者のＩＤ、通行者ＩＤの状態を表す記号、通行者ＩＤの属性を表す記号が入力されるまで１秒間待機する（Ｓ１５ａ）。  
行動決定部１５６は、変数ｔに現在時刻を設定する（ｔ←現在時刻）（Ｓ１５ｂ）。  
行動決定部１５６は、行動ＩＤの初期値に０を設定する（行動ＩＤ←０）（Ｓ１５ｃ）。
【００６６】
通行者のＩＤ、通行者ＩＤの状態を表す記号、通行者ＩＤの属性を表す記号が入力されたときは、行動決定部１５６は、以下のＳ１５ｄ〜Ｓ１５ｋを実行する。  
行動決定部１５６は、通行者のＩＤ、通行者ＩＤの状態を表す記号、通行者ＩＤの属性を表す記号を入力すると、この入力結果を変数Inputに代入する（Input←入力）（Ｓ１５ｄ）。  
行動決定部１５６は、以下のＳ１５ｅ〜Ｓ１５ｋを処理する間、属性・状態データベース１５５に格納される、各通行者の属性・状態、行動ログデータベース（ＤＢ）１５４に格納される行動ログ、および行動価値関数データベース１５３に格納される行動価値関数である、以下の（６）への他のスレッドによる書き込みを禁止する。
【００６７】
【数６】
2020024517.tif 000008
【００６８】
行動決定部１５６は、入力した通行者のＩＤ、通行者ＩＤの属性を用いて以下の（７）を設定する。
ｋ←Input［"通行者のＩＤ”］  …（７）  
続いて行動決定部１５６は、入力した通行者のＩＤ、通行者ＩＤの属性を用いて、属性・状態データベース１５５に格納される、各通行者の属性について以下の（８）を設定する（Ｓ１５ｅ）。
【００６９】
【数７】
2020024517.tif 000009
【００７０】
行動決定部１５６は、入力した通行者のＩＤ、通行者ＩＤの状態を用いて、属性・状態データベース１５５に格納される、各通行者の状態について以下の（９）を設定する（Ｓ１５ｆ）。
【００７１】
【数８】
2020024517.tif 000010
【００７２】
行動決定部１５６は、変数aに方策πによって選んだ行動を設定する（ａ←方策πによって選んだ行動）（Ｓ１５ｇ）。  
行動決定部１５６は、この選んだ行動の種別を示すi,jの値を上記の行動の集合Ａの定義と突き合わせて抽出する（Ｓ１５ｈ）。  
【００７３】
現在設定されている行動ＩＤ、およびＳ１５ｅ、ｓ１５ｆ、ｓ１５ｇでの設定結果に基づいて、行動決定部１５６は、行動ログの新たなレコードを以下の（１０）のように設定する（Ｓ１５ｉ）。このレコードは行動ログデータベース１５４に格納される行動ログの末尾のレコードとして追加される。
【００７４】
【数９】
2020024517.tif 000011
【００７５】
行動決定部１５６は、Ｓ１５ｇで設定された、行動を表す記号ａ、上記入力された通行者ＩＤの値ｉ、および現在設定されている行動ＩＤをデコーダ１６に出力する（出力←(ａ，ｉ，行動ＩＤ)）（Ｓ１５ｊ）。  
行動決定部１５６は、現在設定されている行動ＩＤの値に１を加えて更新する（行動ＩＤ←行動ＩＤ＋１）（Ｓ１５ｋ）。入力およびレコードは連想行列として保持されるものとする。
【００７６】
次に、上記スレッド「行動価値関数を更新」の詳細について説明する。図９は、学習部によるスレッド「行動価値関数を更新」の処理動作の一例を示すフローチャートである。  
行動価値関数更新部１５１は、以下のＳ１６ａ〜Ｓ１６ｈを現在時刻が終了時刻を過ぎる（ｔ＞Ｔ）まで繰り返す  
行動価値関数更新部１５１は、「行動終了した行動ＩＤ」が入力されるまで１秒間待機する（Ｓ１６ａ）。  
行動価値関数更新部１５１は、変数ｔに現在時刻を設定する（ｔ←現在時刻）（Ｓ１６ｂ）。
【００７７】
「行動終了した行動ＩＤ」が入力されたときは、行動価値関数更新部１５１は、以降のＳ１６ｈまでの処理を実行する。  
行動価値関数更新部１５１は、「行動終了した行動ＩＤ」を入力すると、この入力結果を変数Inputに代入する（Input←入力）。
【００７８】
行動価値関数更新部１５１は、以下のＳ１６ｈまでの処理の間、属性・状態データベース１５５に格納される、各通行者の属性・状態、行動ログデータベース（ＤＢ）１５４に格納される行動ログ、および行動価値関数データベース１５３に格納される行動価値関数である、以下の（１１）への他のスレッドによる書き込みを禁止する。この（１１）は上記の（６）と同じである。
【００７９】
【数１０】
2020024517.tif 000012
【００８０】
行動価値関数更新部１５１は、変数「行動終了した行動ＩＤ」に上記入力した「行動終了した行動ＩＤ」を設定する（行動終了した行動ＩＤ←Input[“行動終了した行動ＩＤ”]）（Ｓ１６ｃ）。  
行動価値関数更新部１５１は、上記の属性・状態データベース１５５に格納された、各通行者の属性および状態を用いて、行動終了後の各通行者の状態および属性として以下の（１２）、（１３）を設定する（Ｓ１６ｄ）。
【００８１】
【数１１】
2020024517.tif 000013
【００８２】
行動価値関数更新部１５１は、「発見したレコード」に空レコードを設定して初期化する（発見したレコード←空レコード）（Ｓ１６ｅ）。  
行動価値関数更新部１５１は、変数ｉを０に設定し（ｉ←０）、このｉが上記の行動ログのレコード数より小さい場合、以下のＳ１６ｆを繰り返す。
【００８３】
行動価値関数更新部１５１は、レコードに、行動ログのｉ番目のレコードを設定し（レコード←行動ログのｉ番目のレコード）、Ｓ１６ｃで設定された「行動終了した行動ＩＤ」と、当該設定したレコードの行動ＩＤである「レコード“行動ＩＤ”」とが一致するならば、このレコードを上記の「発見したレコード」に設定、上記の変数ｉに１を加えて更新する（ｉ←ｉ＋１）（Ｓ１６ｆ）。
【００８４】
行動価値関数更新部１５１は、「発見したレコード」が空レコードでないならば、以下のＳ１６ｇ、Ｓ１６ｈを実行する。  
行動価値関数更新部１５１は、「発見したレコード」における、行動前の各通行者の属性、行動前の各通行者の状態、および行動を示す記号について以下の（１４）、（１５）、（１６）を設定する（Ｓ１６ｇ）。
【００８５】
【数１２】
2020024517.tif 000014
行動価値関数更新部１５１は、以下の（１７）を引数とした、行動価値関数の学習、いわゆるＱ学習を行なう（Ｓ１６ｈ）
【００８６】
【数１３】
2020024517.tif 000015
【００８７】
以上説明したように、本発明の一実施形態に係る情報出力装置は、通行者の状態、属性、および行動価値関数に基づいて、通行者に対する行動を決定し、この決定した動作を実行、つまり動作に応じた情報を出力したときの通行者の状態に基づいて報酬関数を設定し、この報酬関数を考慮して、より適切な行動が決定できるように行動価値関数を更新する。
【００８８】
これにより、エージェントにより通行者を集客するときに、通行者に不快感を与えにくい、適切な行動（呼びかけ）を行なうことができるようになるので、エージェントによる集客の成功率を高めることができる。よって、通行者をサービス利用に適切に誘導することができる。
【００８９】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の発明が含まれており、開示される複数の構成要件から選択された組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、課題が解決でき、効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【００９０】
また、各実施形態に記載した手法は、計算機（コンピュータ）に実行させることができるプログラム（ソフトウエア手段）として、例えば磁気ディスク（フロッピー（登録商標）ディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ等）、半導体メモリ（ＲＯＭ、ＲＡＭ、フラッシュメモリ等）等の記録媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、計算機に実行させるソフトウエア手段（実行プログラムのみならずテーブル、データ構造も含む）を計算機内に構成させる設定プログラムをも含む。本装置を実現する計算機は、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウエア手段を構築し、このソフトウエア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記録媒体は、頒布用に限らず、計算機内部あるいはネットワークを介して接続される機器に設けられた磁気ディスク、半導体メモリ等の記憶媒体を含むものである。
【００９１】
・参考文献
[1] 尾崎安範, 石原達也, 松村成宗, 布引純史, "受付ロボットに対する通行者が抱く対話意志の予測とその心理的効果", CNR 2018 
[2] ISO 9241-210 
[3] ISO 9241-11 
[4] Human Attribute Recognition by Deep Hierarchical Contexts, 
http://mmlab.ie.cuhk.edu.hk/projects/WIDERAttribute.html 
[5] OKAOR Vision機能紹介, 
https://plus-sensing.omron.co.jp/technology/detail/
【符号の説明】
【００９２】
１…情報出力装置、１１…モーションキャプチャ、１２…行動状態推定器、１３…属性推定器、１４…測定値データベース、１５…学習部、１６…デコーダ、１５１…行動価値関数更新部、１５２…報酬関数データベース、１５３…行動価値関数データベース、１５４…行動ログデータベース、１５５…属性・状態データベース、１５６…行動決定部、１５７…状態集合データベース、１５８…属性集合データベース、１５９…行動集合データベース。
【図１】
2020024517.tif 000016
【図２】
2020024517.tif 000017
【図３】
2020024517.tif 000018
【図４】
2020024517.tif 000019
【図５】
2020024517.tif 000020
【図６】
2020024517.tif 000021
【図７】
2020024517.tif 000022
【図８】
2020024517.tif 000023
【図９】
2020024517.tif 000024