(57)【要約】【課題】本発明の目的は、タスクの状態遷移の仕方が様々であり、予め予想できないようなシステムに対する行動制御を行うことである。【解決手段】本発明の行動制御学習装置は、人対人の行動を示すデータから得られる観測値、アクション及び評価値を記録する行動データ記憶部と、ダイナミックベイジアンネットワークを生成し、状態ｓｔでアクションを実行したときの報酬の確率、アクションによって状態がｓｔからｓｔ＋１へ変わる確率、アクションによって状態ｓｔ＋１において観測値ｏｔ＋１が観測される確率を推定するＤＢＮ生成部と、アクションａによって状態がｓからｓ’へ変わる確率、アクションａによって状態ｓ’で観測値ｏ’を出力する確率及び状態ｓでアクションａを実行したときの報酬を生成するＤＢＮ−ＰＯＭＤＰ変換部と、現在の状態の確率分布を引数としシステムがとるべきアクションを一つ出力する関数を生成する強化学習部とを備える。【選択図】図１
2011053735.tif 000002
【特許請求の範囲】
【請求項１】
人対人の行動を人対システムで行うための学習データを生成する行動制御学習装置であって、
人対人の行動を示すデータにおいて、一方の人をユーザーとし、他方の人をシステムとして割り当て、ユーザーの行動を観測値とし、システムの行動をアクションとし、観測値とアクションからなる一連の行動系列が所望の行動系列であったか否かを評価したものを評価値とし、
前記観測値とアクションと評価値を記憶する行動データ記録部と、
前記観測値、アクション及び評価値を用いて、ダイナミックベイジアンネットワーク（以下「ＤＢＮ」という）を生成し、状態ｓｔでアクションａｔを実行したときの報酬の確率Ｐ（ｒｔ｜ｓｔ，ａｔ）、アクションａｔによって状態がｓｔからｓｔ＋１へ変わる確率Ｐ（ｓｔ＋１｜ｓｔ，ａｔ）、アクションａｔによって状態ｓｔ＋１において観測値ｏｔ＋１が観測される確率Ｐ（ｏｔ＋１｜ｓｔ＋１，ａｔ）を推定するＤＢＮ生成部と、
前記確率Ｐ（ｒｔ｜ｓｔ，ａｔ）、Ｐ（ｓｔ＋１｜ｓｔ，ａｔ）、Ｐ（ｏｔ＋１｜ｓｔ＋１，ａｔ）を用いて、アクションａによって状態がｓからｓ’へ変わる確率Ｐ（ｓ’｜ｓ，ａ）、アクションａによって状態ｓ’で観測値ｏ’を出力する確率Ｐ（ｏ’｜ｓ’，ａｔ）及び状態ｓでアクションａを実行したときの報酬ｒ（ｓ，ａ）を生成するＤＢＮ−ＰＯＭＤＰ変換部と、
前記確率Ｐ（ｓ’｜ｓ，ａ）、Ｐ（ｏ’｜ｓ’，ａｔ）と報酬ｒ（ｓ，ａ）を用いて、現在の状態の確率分布を引数としシステムがとるべきアクションを一つ出力する関数を生成する強化学習部と、を備える、
ことを特徴とする行動制御学習装置。
【請求項２】
請求項１記載の行動制御学習装置であって、
前記状態ｓｔを観測値の内部状態を表すｓｏとアクションの内部状態を表すｓａの組ｓｔ＝（ｓｏ，ｓａ）とし、
前記ＤＢＮ生成部は、ａ＝ｓａのときに限り、Ｐ（ａ｜ｓａ）＝１として、ＤＢＮを生成し、
前記ＤＢＮ−ＰＯＭＤＰ変換部は、報酬＾ｒ（（＊，ｓａ），ａ）［ここで、＊は任意のｓｏを表す］を
【数１０】
2011053735.tif 000012
として求め、
前記強化学習部は、前記報酬ｒ（ｓ，ａ）の代わりに、αｒ（ｓ，ａ）＋β＾ｒ（（＊，ｓａ），ａ）［ここで、αとβは任意の実数］を用いて、現在の状態の確率分布を引数としシステムがとるべきアクションを一つ出力する関数を生成する、
ことを特徴とする行動制御学習装置。
【請求項３】
人対人の行動を人対システムで行うための学習データを生成する行動制御学習方法であって、
人対人の行動を示すデータにおいて、一方の人をユーザーとし、他方の人をシステムとして割り当て、ユーザーの行動を観測値とし、システムの行動をアクションとし、観測値とアクションからなる一連の行動系列が所望の行動系列であったか否かを評価したものを評価値とし、
前記観測値、アクション及び評価値を用いて、ダイナミックベイジアンネットワーク（以下「ＤＢＮ」という）を生成し、状態ｓｔでアクションａｔを実行したときの報酬の確率Ｐ（ｒｔ｜ｓｔ，ａｔ）、アクションａｔによって状態がｓｔからｓｔ＋１へ変わる確率Ｐ（ｓｔ＋１｜ｓｔ，ａｔ）、アクションａｔによって状態ｓｔ＋１において観測値ｏｔ＋１が観測される確率Ｐ（ｏｔ＋１｜ｓｔ＋１，ａｔ）を推定するＤＢＮ生成ステップと、
前記確率Ｐ（ｒｔ｜ｓｔ，ａｔ）、Ｐ（ｓｔ＋１｜ｓｔ，ａｔ）、Ｐ（ｏｔ＋１｜ｓｔ＋１，ａｔ）を用いて、アクションａによって状態がｓからｓ’へ変わる確率Ｐ（ｓ’｜ｓ，ａ）、アクションａによって状態ｓ’で観測値ｏ’を出力する確率Ｐ（ｏ’｜ｓ’，ａｔ）及び状態ｓでアクションａを実行したときの報酬ｒ（ｓ，ａ）を生成するＤＢＮ−ＰＯＭＤＰ変換ステップと、
前記確率Ｐ（ｓ’｜ｓ，ａ）、Ｐ（ｏ’｜ｓ’，ａｔ）と報酬ｒ（ｓ，ａ）を用いて、現在の状態の確率分布を引数としシステムがとるべきアクションを一つ出力する関数を生成する強化学習ステップと、を備える、
ことを特徴とする行動制御学習方法。
【請求項４】
請求項３記載の行動制御学習方法であって、
前記状態ｓｔを観測値の内部状態を表すｓｏとアクションの内部状態を表すｓａの組ｓｔ＝（ｓｏ，ｓａ）とし、
前記ＤＢＮ生成ステップは、ａ＝ｓａのときに限り、Ｐ（ａ｜ｓａ）＝１として、ＤＢＮを生成し、
前記ＤＢＮ−ＰＯＭＤＰ変換ステップは、報酬＾ｒ（（＊，ｓａ），ａ）［ここで、＊は任意のｓｏを表す］を
【数１１】
2011053735.tif 000013
として求め、
前記強化学習ステップは、前記報酬ｒ（ｓ，ａ）の代わりに、αｒ（ｓ，ａ）＋β＾ｒ（（＊，ｓａ），ａ）［ここで、αとβは任意の実数］を用いて、現在の状態の確率分布を引数としシステムがとるべきアクションを一つ出力する関数を生成する、
ことを特徴とする行動制御学習方法。
【請求項５】
コンピュータを請求項１または２記載の行動制御学習装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はシステムとユーザーが交互にやり取りをするようなシステム（対話システムなど）において、ユーザーの行動に対して、システムが次にどんな行動をとるかを決定する行動制御学習方法、行動制御学習装置、行動制御学習プログラムに関する。
【背景技術】
【０００２】
部分観測マルコフ決定過程（Partially Observable Markov Decision Process、以下「ＰＯＭＤＰ」という）を用いた行動制御技術として，非特許文献１、２及び３が知られている。
【０００３】
非特許文献１は、６都市間のチケットを買うタスクを対象としている。また、非特許文献２は、ＤＳＬ（Digital Subscriber Line）のトラブルシューティングのタスクを対象としている。これらの行動制御技術は、タスクの種類（取りうる行動の種類）と、状態遷移の仕方（どの順序で行動するか）は既知である。また、非特許文献３は、大量のデータからシステムの行動を決定するが、ＰＯＭＤＰを求める際には、他の非特許文献と同様にタスクが既知である。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】J.Williams, P. Poupart, S. Young、"Partially Observable Markov Decision Processes with Continuous Observations for Dialogue Management"、Recent Trends in Discourse and Dialogue、Springer Netherlands、2008、Volume 39、p.191-217
【非特許文献２】Jason D.Williams、" Applying POMDPs to Dialog Systems in the Troubleshooting Domain "、Bridging the Gap: Academic and Industrial Research in Dialog Technologies、2007.4、p.1-8
【非特許文献３】K. Kim, C. Lee, S. Jung, G. G. Lee、“A Frame-Based Probabilistic Framework for Spoken Dialog Management Using Dialog Examples”、 Proceedings of the 9th SIGdial Workshop on Discourse and Dialogue、2008.6、p.120-127
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、何れの従来技術もタスクの種類と、状態遷移の仕方が既知であるタスクを対象とするため、対話のようにタスクの種類（挨拶、握手、楽しい会話、雑談など）やタスクの状態遷移の仕方が様々であり、予めシステム設計者が予想できないようなシステムに対する行動制御を行うことはできないという問題がある。
【課題を解決するための手段】
【０００６】
本発明の行動制御学習装置は、人対人の行動を人対システムで行うための学習データを生成する装置である。また、人対人の行動を示すデータにおいて、一方の人をユーザーとし、他方の人をシステムとして割り当て、ユーザーの行動を観測値とし、システムの行動をアクションとし、観測値とアクションからなる一連の行動系列が所望の行動系列であったか否かを評価したものを評価値とする。そして、本発明の行動制御学習装置は、観測値とアクションと評価値を記憶する行動データ記録部、ＤＢＮ生成部、ＤＢＮ−ＰＯＭＤＰ変換部、強化学習部を備える。ＤＢＮ生成部は、観測値、アクション及び評価値を用いて、ダイナミックベイジアンネットワーク（以下「ＤＢＮ」という）を生成し、状態ｓｔでアクションａｔを実行したときの報酬の確率Ｐ（ｒｔ｜ｓｔ，ａｔ）、アクションａｔによって状態がｓｔからｓｔ＋１へ変わる確率Ｐ（ｓｔ＋１｜ｓｔ，ａｔ）、アクションａｔによって状態ｓｔ＋１において観測値ｏｔ＋１が観測される確率Ｐ（ｏｔ＋１｜ｓｔ＋１，ａｔ）を推定する。ＤＢＮ−ＰＯＭＤＰ変換部は、確率Ｐ（ｒｔ｜ｓｔ，ａｔ）、Ｐ（ｓｔ＋１｜ｓｔ，ａｔ）、Ｐ（ｏｔ＋１｜ｓｔ＋１，ａｔ）を用いて、アクションａによって状態がｓからｓ’へ変わる確率Ｐ（ｓ’｜ｓ，ａ）、アクションａによって状態ｓ’で観測値ｏ’を出力する確率Ｐ（ｏ’｜ｓ’，ａｔ）及び状態ｓでアクションａを実行したときの報酬ｒ（ｓ，ａ）を生成する。強化学習部は、確率Ｐ（ｓ’｜ｓ，ａ）、Ｐ（ｏ’｜ｓ’，ａｔ）と報酬ｒ（ｓ，ａ）を用いて、現在の状態の確率分布を引数としシステムがとるべきアクションを一つ出力する関数を生成する。
【０００７】
また、本発明は、状態ｓｔを観測値の内部状態を表すｓｏとアクションの内部状態を表すｓａの組ｓｔ＝（ｓｏ，ｓａ）（なお、ｓｏ，ｓａの表記ではｔを省略する）に分け、ＤＢＮ生成部は、ａ＝ｓａのときに限り、Ｐ（ａ｜ｓａ）＝１として、ＤＢＮを生成し、ＤＢＮ−ＰＯＭＤＰ変換部は、報酬＾ｒ（（＊，ｓａ），ａ）［ここで、＊は任意のｓｏを表す］をａ＝ｓａのときに１をとり、それ以外のときには０をとるように報酬＾ｒ（（＊，ｓａ），ａ）を定め、所望の行動系列に対する報酬ｒと統計的な行動系列に対する報酬＾ｒの線形和αｒ＋β＾ｒで置き換えた以下の式により最終的な目的関数Ｖｔを得る。
【０００８】
【数１】
2011053735.tif 000003
【発明の効果】
【０００９】
本発明の行動制御学習装置によれば、所望の行動系列以外もモデル化し、アクションを決定する関数を生成している。したがって、本発明の行動制御学習装置が生成した関数を用いたシステムであれば、所望の行動系列以外のユーザーの行動に対しても、統計的に自然なふるまいを行うようすることができる。
【図面の簡単な説明】
【００１０】
【図１】実施例１の行動制御学習装置１００の構成例を示す図。
【図２】行動データ記憶部に記憶されるデータ例を示す図。
【図３】ｓａとａとＰ（ａ｜ｓａ）の関係を示す図。
【図４】ＰＯＭＤＰの構造と変数を示す図。
【図５】シミュレーション結果を示す図。
【図６】行動制御学習装置１００のハードウェア構成を例示したブロック図。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について、詳細に説明する。
【実施例１】
【００１２】
［行動制御学習装置１００］
行動制御学習装置１００は人対人の行動を人対システムで行うための学習データを生成する。図１は実施例１の行動制御学習装置１００の構成例を示す。図１を用いて実施例１に係る行動制御学習装置１００を説明する。
【００１３】
行動制御学習装置１００は、行動データ記憶部１０１と、ダイナミックベイジアンネットワーク（以下「ＤＢＮ」という）生成部１０３と、ＤＢＮ確率テーブル記憶部１０５と、ＤＢＮ−ＰＯＭＤＰ変換部１０７と、ＰＯＭＤＰ確率・報酬テーブル記憶部１０９と、強化学習部１１１と、ＰＯＭＤＰポリシー記憶部１１３と、状態分布更新部１１５と、状態確率テーブル記憶部１１７と、アクション決定部１１９を備える。
【００１４】
［行動データ記憶部１０１］
人対人の行動を示すデータ（例えば、対話を記録した音声データや画像データ等）において、一方の人をユーザーとし、他方の人をシステムとして割り当て、ユーザーの行動を観測値ｏとし、システムの行動をアクションａとし、観測値とアクションからなる一連の行動系列が所望の行動系列であったか否かを評価したものを評価値ｒとする。
行動データ記録部１０１は観測値ｏとアクションａと評価値ｒを記憶する。図２は行動データ記憶部に記憶されるデータ例を示す。
【００１５】
例えば、握手、挨拶、笑い、移動、おしゃべり、うなずき、首ふり、無行動の８種類の行動ラベルを用意し、各ラベルに０〜７の数値を対応させ、観測値及びアクションとして、それぞれの行動に対応する数値を、行動データとして行動データ記憶部１０１に記憶する。本実施例では、観測値とアクションを一対のペアとして記憶する。さらに、一連の行動系列（１以上のユーザーとシステムの行動のペア）が、所望の行動系列であったか否か評価し、評価値として所望の行動系列である場合には１とし、そうでない場合には０として記憶する。
【００１６】
なお、所望の行動系列としては、例えばユーザーが楽しんだか？典型的な行動系列であるか？ユーザーの役に立ったか？等である。典型的な行動系列としては、「お互いに握手をし、お互いに挨拶をし、その後、笑いとおしゃべりとうなずきを数回ランダムにお互い繰り返し、最後に挨拶をし合い、握手をし合う」等である。
【００１７】
この評価は行動系列一つにつき、一つ付与される。ここでは、この値を統計的に学習するために、この値を各時刻に分配する。この分配する手法としては以下の何れかを用いる。
（分配手段１）観測された行動系列の評価が１であれば全ての値を１に設定する。評価が０であれば、全ての値を０に設定する。
（分配手段２）観測された行動系列の一部分だけに対して評価をつける。その部分の評価が１であれば、その部分の始端と終端の間だけを１にする。その他の部分は全て０とする。
（分配手段３）（分配手段２）のように始端と終端がわかっているときに、その部分の最後のデータに対してのみ１を付与する他の値は０とする。
【００１８】
なお、この評価値は、０と１の２値でなく多値をとっても良く、連続値としてもよい。また、ここでは一人の人の評価で話を進めるが、多人数の平均をとったものを評価としてもよい。また、所望の行動系列は複数用意してもよく、各所望の行動系列に対して、行動系列ラベルを設けてもよい。各行動系列に対して評価を与え、行動系列ラベルとその評価を組合せて記憶してもよい。また、人対人の行動データは一対一のデータでなく複数の人のデータに基づいて収集してもよい。この場合、ユーザー、システムともに複数となる。
【００１９】
なお、行動ラベルの付与は、人手により行ってもよいし、音声認識ソフトや画像認識ソフトを用いて、何れの行為に該当するかを認識し、自動的に付与してもよい。また、評価は、評価対象により人手、自動を適宜選択すればよい。例えば、適宜ユーザーの役に立ったか？等の判断は、音声認識ソフトや画像認識ソフトを用いて、認識するのが困難であるため、人手により付与する。典型的な行動系列が行われたか否かは自動で付与する構成としてもよい。行動制御学習装置１００は、認識部及びラベル付与部を設け、会話データや映像データそのものを入力値として内部で観測値、アクション、評価値を生成する構成としてもよい。
【００２０】
［ＤＢＮ生成部１０３及びＤＢＮ確率テーブル記憶部１０５］
ＤＢＮ生成部１０３は、観測値ｏ、アクションａ及び評価値ｒを用いて、ＤＢＮを生成し、状態ｓｔでアクションａｔを実行したときの報酬の確率Ｐ（ｒｔ｜ｓｔ，ａｔ）、アクションａｔによって状態がｓｔからｓｔ＋１へ変わる確率Ｐ（ｓｔ＋１｜ｓｔ，ａｔ）、アクションａｔによって状態ｓｔ＋１において観測値ｏｔ＋１が観測される確率Ｐ（ｏｔ＋１｜ｓｔ＋１，ａｔ）を推定する。なお、ｓはユーザー・システム間の隠れ状態（以下、「状態」という）とし、状態ｓは、ユーザー・システムの隠れ状態ｓｏと行動生成のための隠れ状態ｓａとの組からなり、ｔは時刻を表すものとし、評価値ｒを確率変数である報酬ｒとして扱う。ここで、ｔは変数の相対的な時刻の関係を明確にするために用いた記号であり、特定の時刻を想定しているものではない。すなわち、ここで示す確率及びそれを使った演算は、時刻に依存しない。
【００２１】
例えば、ＤＢＮ生成部１０３は、観測値ｏｔ、アクションａｔ、評価値ｒｔの時系列を用いて、ＥＭアルゴリズム、ジャンクションツリーアルゴリズム、サンプリング手法などにより、尤度最大化を行い、行動生成モデルのためのＤＢＮを学習、生成する。また、システムとユーザーの内部状態をｓ＝（ｓｏ，ｓａ）のようにシステムの内部状態と、アクションに対応する状態とに分離する。ｓａとａを一対一に対応させるため、ａ＝ｓａの時に限り，Ｐ（ａ｜ｓａ）＝１として、ＤＢＮを作成する。図３はｓａとａとＰ（ａ｜ｓａ）の関係を示す。
【００２２】
ＤＢＮ生成部１０３で推定された確率は、ＤＢＮ確率テーブル記憶部１０５に記憶される。
［ＤＢＮ−ＰＯＭＤＰ変換部１０７及びＰＯＭＤＰ確率・報酬テーブル記憶部１０９］
ＤＢＮ−ＰＯＭＤＰ変換部１０７は、確率Ｐ（ｒｔ｜ｓｔ，ａｔ）、Ｐ（ｓｔ＋１｜ｓｔ，ａｔ）、Ｐ（ｏｔ＋１｜ｓｔ＋１，ａｔ）を用いて、アクションａによって状態がｓからｓ’へ変わる確率（状態遷移確率）Ｐ（ｓ’｜ｓ，ａ）、アクションａによって状態ｓ’で観測値ｏ’を出力する確率（出力確率）Ｐ（ｏ’｜ｓ’，ａｔ）及び状態ｓでアクションａを実行したときの報酬ｒ（ｓ，ａ）を生成する。
【００２３】
ここで、ＰＯＭＤＰという確率モデルについて説明する。行動生成はこのＰＯＭＤＰによって実現する。図４は、ＰＯＭＤＰの構造と変数を示す。このモデルではシステムの状態やユーザーの心理な状態を記述する状態ｓが定義される。ｓはｓ＝（ｓ１，ｓ２，ｓ３，…，ｓＮ）というように、複数の状態の組み合わせで表現される。ｏは観測される観測値を、ａはシステム側からユーザーに働きかけるアクションを表す。このとき、これらの変数の間に確率Ｐ（ｓ’｜ｓ，ａ）、確率Ｐ（ｏ’｜ｓ’，ａｔ）及び報酬ｒ（ｓ，ａ）が設定されている。 
【００２４】
ＤＢＮ−ＰＯＭＤＰ変換部１０７は、ＤＢＮ生成部１０３で推定された確率を以下の式により、ＰＯＭＤＰの確率・報酬に変換する。なお、観測値及びアクションとして同じ定義のシンボルが使われると仮定する。
【００２５】
【数２】
2011053735.tif 000004
【００２６】
ＤＢＮとＰＯＭＤＰの構造はほぼ同じなので、状態遷移確率Ｐ（ｓ’｜ｓ，ａ）、出力確率Ｐ（ｏ’｜ｓ’，ａｔ）に関しては、対応する確率に値を代入すればよい。報酬は、ＤＢＮにおいて確率変数として扱われるため、ＤＢＮで得られた確率変数を平均化することによって、実数に変換する。例えば、ｒの確率分布から式（１）によって求める。なお、この設定は、従来技術にはない本発明独自の手法である。
【００２７】
ＰＯＭＤＰ確率・報酬テーブル記憶部１０９は、ＤＢＮ−ＰＯＭＤＰ変換部１０７で変換及び求められた確率Ｐ（ｓ’｜ｓ，ａ）、Ｐ（ｏ’｜ｓ’，ａｔ）及び報酬ｒ（ｓ，ａ）を記憶する。
【００２８】
［強化学習部１１１及びＰＯＭＤＰポリシー記憶部１１３］
強化学習部１１１は、確率Ｐ（ｓ’｜ｓ，ａ）、Ｐ（ｏ’｜ｓ’，ａｔ）と報酬ｒ（ｓ，ａ）を用いて、強化学習により、現在の状態の確率分布を引数としシステムがとるべきアクションを一つ出力する関数（以下、「ポリシー」という）を生成する。
【００２９】
ＰＯＭＤＰポリシー記憶部１１３は、強化学習部１１１で生成されたポリシーを記憶する。
【００３０】
次にポリシーの計算方法について説明する。まず、式（４）はアクション系列ａτ＋ｔが分かっているときに将来獲得できる報酬を示す。
【００３１】
【数３】
2011053735.tif 000005
【００３２】
ここで、ｂτ＋ｔ（ｓ）は、時刻τ＋ｔの状態の分布である。また、正定数γ（＜１）により未来の報酬の寄与は小さくなる。ポリシーは、式（４）を最大にする現在のアクションaを、現在の状態分布ｂｔ（ｓ）から計算する関数である。
［データ中に出現する統計情報に従って行動を選択する手法］
まず、現在の状態の確率分布ｂｔ（ｓ）は、その定義から次式が得られる。
【００３３】
【数４】
2011053735.tif 000006
【００３４】
これは、過去のｏ１，ａ１，…，ａｔ−１，ｏｔという系列、すなわちユーザーとシステムの観測値とアクションの履歴が実行された後に、状態がｓａとなる確率を表している。
ａｔ＝ｓａのときにＰ（ａ｜ｓａ）＝１としているため、ａｔ＝ｓａのときに以下の式を得る。
【００３５】
【数５】
2011053735.tif 000007
【００３６】
これは、過去のｏ１，ａ１，…，ａｔ−１，ｏｔが観測されたときの次にアクションａｔが起こる確率を表す。すなわち、今までのデータからａｔがどれだけ自然かを表す確率となっている。すなわち、式（７）を最大化するようにＰＯＭＤＰの報酬を決めれば、ポリシーにより、自然なアクションを生成するようになる。これを実現するためには、報酬を
【００３７】
【数６】
2011053735.tif 000008
【００３８】
として設定すればよい。但し、ａ＝ｓａを満たす必要がある。このように報酬を決定するため、ここでは、ａ＝ｓａのときに１をとり、それ以外のときには０をとるように報酬＾ｒ（（＊，ｓａ），ａ）を定める。
【００３９】
【数７】
2011053735.tif 000009
【００４０】
ここで、＊は任意のｓｏを指す。この値を用いて、ｒを＾ｒに置き換えれば、自然な対話を実現できる。ここでは、従来型の所望の行動系列も実現するために従来手法の報酬の線形和をとる。これを行うために、式（４）のｒをαｒ＋β＾ｒで置き換えた下記式（１０）により最終的な目的関数Ｖｔを得る。
【００４１】
【数８】
2011053735.tif 000010
【００４２】
ここで、α、βは任意の実数である。このα、βを変化させることにより、所望の行動を実現する（αが大きい場合）のか統計的な行動を優先する（βが大きい場合）のか、その優先度合いの重みづけを行うことができる。なお、α、βを０とすることも可能である。
【００４３】
通常、対象となる所望の行動系列に対してＰＯＭＤＰによる行動生成の学習を行うと、所望の行動系列だけをシステムは実現しようとする。このため、人と人の行動の記録には、所望の行動系列だけではなく、様々な系列が含まれているのにもかかわらず、所望の行動系列以外の行動を選択しなくなる。よって、人と人との間のやり取りを再現しつつ、かつ。所望の行動系列にユーザーを引き込むようなシステムを作る場合には、所望の行動系列だけを学習するだけでは不十分である。本発明によれば、システムを構成する際にはこれらの行動系列の統計情報も含めて、システムの行動制御を学習するため、所望の行動系列へ引き込みつつも、自然な行動制御を行うことができる。
【００４４】
［ポリシーを用いた行動制御］
以下、ポリシーを用いて、行動を制御する方法について説明する
［状態分布更新部１１５及び状態確率テーブル記憶部１１７］
状態確率テーブル記憶部１１７には、一つ前の状態の確率分布ｂｔ−１が記憶されている。状態分布更新部１１５は、観測値ｏｔ’が入力されると、一つ前に行ったシステムのアクションａからＰＯＭＤＰ確率・報酬テーブル記憶部１０９に問合せ、格納された統計量より状態遷移確率Ｐ（ｓ’｜ｓ，ａ）を求める。また、観測値ｏｔ’からＰＯＭＤＰ確率・報酬テーブル記憶部１０９に問合せ、格納された統計量より出力確率Ｐ（ｏ’｜ｓ’，ａ）を求める。また、状態確率テーブル記憶部１１７に問合せ、一つ前の状態の確率分布ｂｔ−１を受け取り、以下の式により、現在の状態の確率分布ｂｔを求める。
【００４５】
【数９】
2011053735.tif 000011
【００４６】
なお、ηは全体の和を１にするための正規化定数である。求めた現在の状態の確率分布ｂｔは、状態確率テーブル記憶部１１７に記憶し、アクション決定部１１９へ出力される。
【００４７】
［アクション決定部１１９］
アクション決定部１１９は、行動制御に先立ちＰＯＭＤＰポリシー記憶部１１３からポリシーを取得し、記憶しておく。さらに、現在の状態の確率分布ｂｔを受け取ると、これをポリシーｆ（）の引数として、システムがとるべきアクションａｔを決定し出力する。
このような構成とすることによって、所望の行動系列以外もモデル化し、アクションを決定する関数を生成することができ、本発明の行動制御学習装置が生成した関数を用いたシステムであれば、所望の行動系列以外のユーザーの行動に対しても、統計的に自然なふるまいを行うようすることができる。
【００４８】
なお、行動制御学習装置１００は、状態分布更新部１１５、状態確率テーブル１１７及びアクション決定部を備えているが、これらの構成を別装置として構成し、この別装置からの問合せに応じて状態遷移確率、出力確率及びポリシーを出力する構成としても良い。
【００４９】
［シミュレーション結果］
一対一の行動記録のデータを想定し行動制御のシミュレーションによる実験を行った。図５はシミュレーション結果を示す。アクションには、握手、挨拶、笑い、移動、おしゃべり、うなずき、首ふり、無行動の８種類を用意した。観測値も同様に、以上の８種類とした。一般的に、観測値には誤認識があると仮定するが、ここでは、確定値とした。但し、隠れ状態はユーザーの意図を表しており、この部分は観測できないとしている。この部分を隠れ状態とした。この隠れ状態ｓｏの数は１６である。これとは別にシステムのアクションに一対一に対応する隠れ状態ｓａを設定し、その状態の数を８とした。ラベル付けを行う所望の行動系列として２種類の系列を用意した。これらの系列に対して計算機で自動的にラベル付けを行い、所望の行動系列であると判断したものには１をつけた。このうちの１つは、お互いに握手をし、お互いに挨拶をし、その後、笑いとおしゃべりとうなずきを数回ランダムにお互い繰り返し、最後に挨拶をし合い、握手をし合うという行動系列である。もう一つは、片方が移動し、片方が無行動でその後、挨拶をし合い、笑いとおしゃべりとうなずきを数回ランダムに繰り返し、挨拶をし合い、最後に片方が何もしないで、片方が移動するという行動系列である。この行動系列の報酬の与え方として、（分配手段２）を用いた。すなわち、この行動系列の開始時刻から終了時刻までが分かっているものとし、その開始時刻から終了時刻までの各時刻に報酬として１を付加した。これらの行動系列は全体の学習データの数に対して１０分の１とした。残りのデータでは、ユーザーの観測値とシステム行動のペアが握手−握手、挨拶−挨拶、笑い−笑い、移動−移動、おしゃべり−おしゃべり、うなずき−おしゃべり、首ふり−おしゃべり、無行動―無行動の出現確率が統計的に多くなるようにサンプルを作成した。もしユーザーが所望の行動系列を望んでいる場合には、この所望の系列に近づくようにシステムが動作するように系を学習する。しかし、もしユーザーにその意思がなければ、残りのサンプルの統計的なふるまいを示す行動するように学習する。学習データとして、全部で１００００サンプルのデータを作成した。このデータから提案手法を使ってダイナミックベイジアンネットワークを作成し、それをＰＯＭＤＰの確率・報酬テーブルに変換し、強化学習により行動を選択手法であるポリシーを求めた。比較には、ＰＯＭＤＰにおいて、所望の系列だけに報酬を与える手法を用いた。評価には、２０００サンプルのデータを用いた。所望の系列の学習データを生成した手法、及び、その他の系列の学習データを生成した手法に従ってユーザーの観測値だけを生成した。実験では、ユーザーが所望の系列を希望しているときには所望の系列の行動を行い、それ以外のデータに対しては、データの統計量に従って行動を選択するかどうかを調べた。 
【００５０】
所望の系列だけに報酬を与える手法は、所望の系列２００サンプルに対して全て正しくアクションを生成した。提案手法も所望の系列に対しては全て正しい行動を示した。これにより、どちらの手法も所望の系列に対しては正しいアクションを生成することが確認された。
【００５１】
所望の行動系列だけに報酬を当てる手法による観測及び生成された観測値・アクションペア、提案手法による観測及び生成された観測値・アクションのペア、学習データ中に存在する観測値とアクションのペアの主な頻度を図５に示す。この図のように、所望の行動系列だけに報酬を与えるＰＯＭＤＰでは、学習された所望の系列に含まれる観測値・アクションのペアに対しては高頻度でアクションを選択しているのが分かる。しかし、一番右に示す学習データの観測値・アクションのペアの統計パターンとは程遠いことが分かる。これは、所望の行動系列に対してだけ報酬を与える手法は、どんな観測値が観測されても、所望の系列になるように、行動を決定しているからである。これに対して、今回提案する行動の生起確率を報酬に導入する手法は、９倍ある所望の系列以外の学習データの統計量にも近づいていることが分かる。
【００５２】
所望の行動系列だけに報酬を当てる手法では、ユーザー側が所望の行動を実行しない場合でも、所望の行動系列のためのアクションを生成する。これは、所望の行動だけをシステムが学習したからである。タスクがはじめから決まっているようなシステムでは、このようなふるまいは自然である。しかし、人と人との間のやり取りを再現しつつ、かつ。所望の行動系列にユーザーを引き込むようなシステムを作る場合には、所望の行動系列だけを学習するだけでは不十分である。そこで、本発明は、ユーザーが所望の行動を実行しない場合には、システムは学習データ中の統計的量に従って動作するようにし、ユーザー側が所望の行動を実行しない場合でも、自然な行動をできるように制御することができるという効果を奏する。
【００５３】
＜ハードウェア構成＞
図６は、本実施例における行動制御学習装置１００のハードウェア構成を例示したブロック図である。図６に例示するように、この例の行動制御学習装置１００は、それぞれＣＰＵ（Central Processing Unit）１１、入力部１２、出力部１３、補助記憶装置１４、ＲＯＭ（Read Only Memory）１５、ＲＡＭ（Random Access Memory）１６及びバス１７を有している。
【００５４】
この例のＣＰＵ１１は、制御部１１ａ、演算部１１ｂ及びレジスタ１１ｃを有し、レジスタ１１ｃに読み込まれた各種プログラムに従って様々な演算処理を実行する。また、入力部１２は、データが入力される入力インターフェース、キーボード、マウス等であり、出力部１３は、データが出力される出力インターフェース等である。補助記憶装置１４は、例えば、ハードディスク、半導体メモリ等であり、行動制御学習装置１００としてコンピュータを機能させるためのプログラムや各種データが格納される。また、ＲＡＭ１６には、上記のプログラムや各種データが展開され、ＣＵＰ１１等から利用される。また、バス１７は、ＣＰＵ１１、入力部１２、出力部１３、補助記憶装置１４、ＲＯＭ１５及びＲＡＭ１６を通信可能に接続する。なお、このようなハードウェアの具体例としては、例えば、パーソナルコンピュータの他、サーバ装置やワークステーション等を例示できる。
【００５５】
＜プログラム構成＞
上述のように、補助記憶装置１４には、本実施例の行動制御学習装置１００の各処理を実行するための各プログラムが格納される。ライセンス管理プログラムを構成する各プログラムは、単一のプログラム列として記載されていてもよく、また、少なくとも一部のプログラムが別個のモジュールとしてライブラリに格納されていてもよい。
＜ハードウェアとプログラムとの協働＞
ＣＰＵ１１は、読み込まれたＯＳプログラムに従い、補助記憶装置１４に格納されている上述のプログラムや各種データをＲＡＭ１６に展開する。そして、このプログラムやデータが書き込まれたＲＡＭ１６上のアドレスがＣＰＵ１１のレジスタ１１ｃに格納される。ＣＰＵ１１の制御部１１ａは、レジスタ１１ｃに格納されたこれらのアドレスを順次読み出し、読み出したアドレスが示すＲＡＭ１６上の領域からプログラムやデータを読み出し、そのプログラムが示す演算を演算部１１ｂに順次実行させ、その演算結果をレジスタ１１ｃに格納していく。
【００５６】
図１は、このようにＣＰＵ１１に上述のプログラムが読み込まれて実行されることにより構成される行動制御学習装置１００の機能構成を例示したブロック図である。
【００５７】
ここで、行動データ記憶部１０１、ＤＢＮ確率テーブル記憶部１０５、ＰＯＭＤＰ確率・報酬テーブル記憶部１０９、ＰＯＭＤＰポリシー記憶部１１３及び状態確率テーブル記憶部１１７は、補助記憶装置１４、ＲＡＭ１６、レジスタ１１ｃ、その他のバッファメモリやキャッシュメモリ等の何れか、あるいはこれらを併用した記憶領域に相当する。また、ＤＢＮ生成部１０３、ＤＢＮ−ＰＯＭＤ変換部Ｐ１０７、強化学習部１１１、状態分布更新部１１５及びアクション決定部１１９は、ＣＰＵ１１にライセンス管理プログラムを実行させることにより構成されるものである。
【符号の説明】
【００５８】
１００  行動制御学習装置
１０１  行動データ記憶部
１０３  ＤＢＮ生成部
１０５  ＤＢＮ確率テーブル記憶部
１０７  ＤＢＮ−ＰＯＭＤＰ変換部
１０９  ＰＯＭＤＰ確率・報酬テーブル記憶部
１１１  強化学習部
１１３  ＰＯＭＤＰポリシー記憶部
１１５  状態分布更新部
１１７  状態確率テーブル記憶部
１１９  アクション決定部
【図１】
2011053735.tif 000014
【図２】
2011053735.tif 000015
【図３】
2011053735.tif 000016
【図４】
2011053735.tif 000017
【図５】
2011053735.tif 000018
【図６】
2011053735.tif 000019