"アクションaによって状態sから状態s’へ変わる状態遷移確率Ps’|s,aと、アクションaによって状態s’で観測値o’が観測されるときの観測値出力確率Po’|s’,aと、を予め記憶しておくPOMDP確率報酬テーブル記憶部と、時刻をtとし、一つ前の状態の確率分布bt-1sを記憶する状態確率分布記憶部と、一つ前のアクションat-1を記憶するアクション記憶部と、前記アクション記憶部から一つ前のアクションat-1を取得し、一つ前のアクションat-1と現在の観測値ot’を用いて、前記POMDP確率報酬テーブル記憶部を参照して、対応する状態遷移確率Ps’|s,aと観測値出力確率Po’|s’,aを取得し、前記状態確率分布記憶部から一つ前の状態の確率分布bt-1sを取得し、現在の状態の確率分布bts’を求める状態分布更新部と、アクションaの連続出現回数nをアクション継続長naとし、アクション継続長naの確率をアクション継続長確率Panとして予め記憶しておくアクション継続長確率テーブル記憶部と、状態の確率分布を引数として各アクションに対するスコアを返す関数πを用いて、現在の状態の確率分布bts’を引数として、各アクションに対するスコアを求め、一つ前のアクションと最もよいスコアに対応するアクションとが異なる場合には、最もよいスコアに対応するアクションをシステムがとるべきアクションとして決定し、行動制御の過程で更新される実時間アクション継続長を最小とし、一つ前のアクションと最もよいスコアに対応するアクションとが同じ場合には、最もよいスコアに対応するアクションの実時間アクション継続長に対応するアクション継続長確率を前記アクション継続長確率テーブル記憶部から受け取り、このアクション継続長確率から得られる値と一様乱数との大小関係に応じて、最もよいスコアに対応するアクションをシステムがとるべきアクションとして決定し実時間アクション継続長を1回分大きくするか、または、最もよいスコアに対応するアクションとは異なるアクションを、システムがとるべきアクションとして決定し、実時間アクション継続長を最小とするアクション決定部と、を備える、行動制御装置。請求項1記載の行動制御装置であって、前記一様乱数の有限の区間は0以上1以下とし、前記アクション決定部は、一つ前のアクションと最もよいスコアに対応するアクションとが同じ場合には、最もよいスコアに対応するアクションの実時間アクション継続長m以上に対応するアクション継続長確率を前記アクション継続長確率テーブル記憶部から受け取り、実時間アクション継続長mに対応するアクション継続長確率と、実時間アクション継続長m以上に対応するアクション継続長確率の総和との比を求め、この比と前記一様乱数とを比較し、比が一様乱数より小さい場合には、最もよいスコアに対応するアクションをシステムがとるべきアクションとして決定し、アクション継続長を1回分大きくし、比が一様乱数以上の場合には、最もよいスコアに対応するアクションとは異なるアクションを、システムがとるべきアクションとして決定し、アクション継続長を最小とする、行動制御装置。請求項1記載の行動制御装置であって、前記一様乱数の有限の区間は0以上1以下とし、前記アクション決定部は、一つ前のアクションと最もよいスコアに対応するアクションとが異なる場合には、最もよいスコアに対応するアクションをシステムがとるべきアクションとして決定し、行動制御の過程で更新される実時間アクション継続長を最小とし、一つ前のアクションaの連続出現回数に基づき、行動制御の過程における実時間アクション継続長確率を更新し、一つ前のアクションと最もよいスコアに対応するアクションとが同じ場合には、最もよいスコアに対応するアクションの実時間アクション継続長m以上に対応するアクション継続長確率を前記アクション継続長確率テーブル記憶部から受け取り、前記アクション継続長確率と前記実時間アクション継続長確率との確率差分を求め、実時間アクション継続長mに対応する確率差分と、実時間アクション継続長m以上に対応する確率差分の総和との比を求め、この比と前記一様乱数とを比較し、比が一様乱数より小さい場合には、最もよいスコアに対応するアクションをシステムがとるべきアクションとして決定し、アクション継続長を1回分大きくし、比が一様乱数以上場合には、最もよいスコアに対応するアクションとは異なるアクションを、システムがとるべきアクションとして決定し、アクション継続長を最小とし、一つ前のアクションaの連続出現回数に基づき、行動制御の過程における実時間アクション継続長確率を更新する、行動制御装置。請求項1から3の何れかに記載の行動制御装置であって、学習データからアクションaの連続出現回数nをアクション継続長naとしてカウントし、アクション継続長naの頻度分布、ポアソン分布、ガンマ分布または二項分布を用いて、前記アクション継続長確率Panを計算するアクション継続長確率計算部を備える、行動制御装置。時刻をtとし、一つ前の状態の確率分布bt-1sを状態確率分布記憶部に記憶する状態確率分布記憶ステップと、一つ前のアクションat-1をアクション記憶部に記憶するアクション記憶ステップと、前記アクション記憶部から一つ前のアクションat-1を取得し、一つ前のアクションat-1と現在の観測値ot’を用いて、アクションaによって状態sから状態s’へ変わる状態遷移確率Ps’|s,aと、アクションaによって状態s’で観測値o’が観測されるときの観測値出力確率Po’|s’,aと、が予め記憶されているPOMDP確率報酬テーブル記憶部を参照して、対応する状態遷移確率Ps’|s,aと観測値出力確率Po’|s’,aを取得し、前記状態確率分布記憶部から一つ前の状態の確率分布bt-1sを取得し、現在の状態の確率分布bts’を求める状態分布更新ステップと、状態の確率分布を引数として各アクションに対するスコアを返す関数πを用いて、現在の状態の確率分布bts’を引数として、各アクションに対するスコアを求め、一つ前のアクションと最もよいスコアに対応するアクションとが異なる場合には、最もよいスコアに対応するアクションをシステムがとるべきアクションとして決定し、行動制御の過程で更新される実時間アクション継続長を最小とし、一つ前のアクションと最もよいスコアに対応するアクションとが同じ場合には、最もよいスコアに対応するアクションの実時間アクション継続長に対応するアクション継続長確率を、アクションaの連続出現回数nをアクション継続長naとし、アクション継続長naの確率をアクション継続長確率Panとして予め記憶されているアクション継続長確率テーブル記憶部から受け取り、このアクション継続長確率から得られる値と一様乱数との大小関係に応じて、最もよいスコアに対応するアクションをシステムがとるべきアクションとして決定し実時間アクション継続長を1回分大きくするか、または、最もよいスコアに対応するアクションとは異なるアクションを、システムがとるべきアクションとして決定し、実時間アクション継続長を最小とするアクション決定ステップと、を備える、行動制御方法。請求項5記載の行動制御方法であって、前記一様乱数の有限の区間は0以上1以下とし、前記アクション決定ステップは、一つ前のアクションと最もよいスコアに対応するアクションとが同じ場合には、最もよいスコアに対応するアクションの実時間アクション継続長m以上に対応するアクション継続長確率を前記アクション継続長確率テーブル記憶部から受け取り、実時間アクション継続長mに対応するアクション継続長確率と、実時間アクション継続長m以上に対応するアクション継続長確率の総和との比を求め、この比と前記一様乱数とを比較し、比が一様乱数より小さい場合には、最もよいスコアに対応するアクションをシステムがとるべきアクションとして決定し、アクション継続長を1回分大きくし、比が一様乱数以上の場合には、最もよいスコアに対応するアクションとは異なるアクションを、システムがとるべきアクションとして決定し、アクション継続長を最小とする、行動制御方法。請求項5記載の行動制御方法であって、前記一様乱数の有限の区間は0以上1以下とし、前記アクション決定ステップは、一つ前のアクションと最もよいスコアに対応するアクションとが異なる場合には、最もよいスコアに対応するアクションをシステムがとるべきアクションとして決定し、行動制御の過程で更新される実時間アクション継続長を最小とし、一つ前のアクションaの連続出現回数に基づき、行動制御の過程における実時間アクション継続長確率を更新し、一つ前のアクションと最もよいスコアに対応するアクションとが同じ場合には、最もよいスコアに対応するアクションの実時間アクション継続長m以上に対応するアクション継続長確率を前記アクション継続長確率テーブル記憶部から受け取り、前記アクション継続長確率と前記実時間アクション継続長確率との確率差分を求め、実時間アクション継続長mに対応する確率差分と、実時間アクション継続長m以上に対応する確率差分の総和との比を求め、この比と前記一様乱数とを比較し、比が一様乱数より小さい場合には、最もよいスコアに対応するアクションをシステムがとるべきアクションとして決定し、アクション継続長を1回分大きくし、比が一様乱数以上の場合には、最もよいスコアに対応するアクションとは異なるアクションを、システムがとるべきアクションとして決定し、アクション継続長を最小とし、一つ前のアクションaの連続出現回数に基づき、行動制御の過程における実時間アクション継続長確率を更新する、行動制御方法。請求項5から7の何れかに記載の行動制御方法であって、学習データからアクションaの連続出現回数nをアクション継続長naとしてカウントし、アクション継続長naの頻度分布、ポアソン分布、ガンマ分布または二項分布を用いて、前記アクション継続長確率Panを計算するアクション継続長確率計算ステップを備える、行動制御方法。請求項1から請求項4の何れかに記載の行動制御装置として、コンピュータを機能させるための行動制御プログラム。しかしながら、非特許文献1-6記載の従来技術は、POMDPの確率や報酬の設定により、システムがある特定のアクションを何回も繰り返し生成する現象が頻繁に起こることが、実験により分かった。さらに、この現象は、POMDPの確率や報酬を自動的に学習したときに非特許文献4-6参照、顕著に現れることが、実験により分かった。本発明は、データの統計量に従って、自動的にシステムの行動を決定することができ、かつ、この現象ある特定のアクションを何回も繰り返し生成する現象を起こさないPOMDPによる行動制御を実現する行動制御装置、方法及びプログラムを提供することを目的とする。上記の課題を解決するために、本発明の第一の態様に係る行動制御装置によれば、アクションaによって状態sから状態s’へ変わる状態遷移確率Ps’|s,aと、アクションaによって状態s’で観測値o’が観測されるときの観測値出力確率Po’|s’,aと、を予め記憶しておくPOMDP確率報酬テーブル記憶部と、時刻をtとし、一つ前の状態の確率分布bt-1sを記憶する状態確率分布記憶部と、一つ前のアクションat-1を記憶するアクション記憶部と、アクション記憶部から一つ前のアクションat-1を取得し、一つ前のアクションat-1と現在の観測値ot’を用いて、POMDP確率報酬テーブル記憶部を参照して、対応する状態遷移確率Ps’|s,aと観測値出力確率Po’|s’,aを取得し、状態確率分布記憶部から一つ前の状態の確率分布bt-1sを取得し、現在の状態の確率分布bts’を求める状態分布更新部と、アクションaの連続出現回数nをアクション継続長naとし、アクション継続長naの確率をアクション継続長確率Panとして予め記憶しておくアクション継続長確率テーブル記憶部と、状態の確率分布を引数として各アクションに対するスコアを返す関数πを用いて、現在の状態の確率分布bts’を引数として、各アクションに対するスコアを求め、一つ前のアクションと最もよいスコアに対応するアクションとが異なる場合には、最もよいスコアに対応するアクションをシステムがとるべきアクションとして決定し、行動制御の過程で更新される実時間アクション継続長を最小とし、一つ前のアクションと最もよいスコアに対応するアクションとが同じ場合には、最もよいスコアに対応するアクションの実時間アクション継続長に対応するアクション継続長確率をアクション継続長確率テーブル記憶部から受け取り、このアクション継続長確率から得られる値と一様乱数との大小関係に応じて、最もよいスコアに対応するアクションをシステムがとるべきアクションとして決定し実時間アクション継続長を1回分大きくするか、または、最もよいスコアに対応するアクションとは異なるアクションを、システムがとるべきアクションとして決定し、実時間アクション継続長を最小とするアクション決定部と、を備える。上記の課題を解決するために、本発明の第二の態様に係る行動制御方法によれば、時刻をtとし、一つ前の状態の確率分布bt-1sを状態確率分布記憶部に記憶する状態確率分布記憶ステップと、一つ前のアクションat-1をアクション記憶部に記憶するアクション記憶ステップと、アクション記憶部から一つ前のアクションat-1を取得し、一つ前のアクションat-1と現在の観測値ot’を用いて、アクションaによって状態sから状態s’へ変わる状態遷移確率Ps’|s,aと、アクションaによって状態s’で観測値o’が観測されるときの観測値出力確率Po’|s’,aと、が予め記憶されているPOMDP確率報酬テーブル記憶部を参照して、対応する状態遷移確率Ps’|s,aと観測値出力確率Po’|s’,aを取得し、状態確率分布記憶部から一つ前の状態の確率分布bt-1sを取得し、現在の状態の確率分布bts’を求める状態分布更新ステップと、状態の確率分布を引数として各アクションに対するスコアを返す関数πを用いて、現在の状態の確率分布bts’を引数として、各アクションに対するスコアを求め、一つ前のアクションと最もよいスコアに対応するアクションとが異なる場合には、最もよいスコアに対応するアクションをシステムがとるべきアクションとして決定し、行動制御の過程で更新される実時間アクション継続長を最小とし、一つ前のアクションと最もよいスコアに対応するアクションとが同じ場合には、最もよいスコアに対応するアクションの実時間アクション継続長に対応するアクション継続長確率を、アクションaの連続出現回数nをアクション継続長naとし、アクション継続長naの確率をアクション継続長確率Panとして予め記憶されているアクション継続長確率テーブル記憶部から受け取り、このアクション継続長確率から得られる値と一様乱数との大小関係に応じて、最もよいスコアに対応するアクションをシステムがとるべきアクションとして決定し実時間アクション継続長を1回分大きくするか、または、最もよいスコアに対応するアクションとは異なるアクションを、システムがとるべきアクションとして決定し、実時間アクション継続長を最小とするアクション決定ステップと、を備える。本発明に係る行動制御技術は、POMDPの学習データに基づき、生成されるシステム側のある特定のアクションが連続して出現する統計量すなわちアクション継続長確率を予め記録しておき、このアクション継続長確率に従って、アクションを決定する。このような構成により、タスクが決まっていなくてもデータの統計量に従って、自動的にシステムの行動を決定することができ、かつ、同じアクションを何回も繰り返すことを防ぐことができるという効果を奏する。[本実施形態のポイント]最初にPOMDPの定義を行う。POMDPは集合のセットS,O,A,T,Z,Rで表現される。ここで、s∈Sは状態の集合である。o∈Oは観測値の集合である。a∈Aはアクションのセットである。Tはアクションaによって状態がsからs’へ変化するときの状態遷移確率Ps’|s,aの集合である。Zは状態s’でアクションaによって観測値o’が観測されるときの観測値出力確率Po’|s’,aの集合である。Rは状態sでアクションaを実行したときの報酬rs,aの集合である。非特許文献4や非特許文献5のPOMDPの確率構造を図1に示す。図中、実線の円は確率変数を示し、点線の円は隠れ変数を表す。ひし形は固定値を表し、四角はシステム側が選択する固定の変数を表す。矢印は変数の依存関係を表し、例えば、状態sから観測値oへの矢印には確率Po|sが付与されている。図1のとき、状態の確率分布の更新式はと表される。なお、ηは全体の和を1にするための正規化定数を表す。図2は非特許文献6のPOMDPの確率構造を示す。図2のとき状態の確率分布bの更新式はと表される。本実施形態では、式1や2等で得られる現在の状態の確率分布bts’を引数として、各アクションに対するスコアを求める。従来技術では、関数πによって、全てのアクションの内で最もよいスコアに対応するアクションだけを求めていたが、本実施形態では、最もよいスコアに対応するアクション以外のアクション例えば、2番目によいスコアに対応するアクションも求める。本実施形態では、学習データに基づき予め求められたアクション継続長確率及び行動制御の過程で更新される実時間アクション継続長を用いて、最もよいスコアに対応するアクションか、または、それ以外のアクションを行うか、を制御する。なお、学習データにおける、あるアクションaの連続出現回数nを、アクション継続長naといい、アクション継続長naの確率をアクション継続長確率Panという。学習データに基づき、各アクションの連続出現回数アクション継続長をカウントし、その頻度分布からアクション継続長確率Panを求める。図3にアクション継続長確率テーブルのデータ例を示す。なお、図中のUは、アクションの種類の個数を表し、アクションのシンボルは1,2,...,Uからなる。また、この分布としては、アクション継続長をサンプルとする、ポアソン分布やガンマ分布、二項分布や任意の連続分布を用いてもよい。行動制御本実施形態では対話制御の過程において、あるアクションaが連続m回出現した場合には、その連続出現回数mを実時間アクション継続長という。アクション継続長確率Panは学習データに基づき予め算出し、記憶しておく。また、実時間アクション継続長mは、行動制御の過程において、現在までに同じアクションが何回続いたかの記録を取っておき、更新していく。次のアクションを決定する場合は、アクション継続長確率Panに従うように、実時間アクション継続長mを用いてアクションを決定する。以下、第一実施形態について、詳細に説明する。<第一実施形態に係る行動制御装置100>図4及び図5を用いて第一実施形態に係る行動制御装置100を説明する。行動制御装置100は、POMDP確率報酬テーブル記憶部110と、強化学習部120と、アクション評価関数記憶部130と、状態分布更新部140と、状態確率分布記憶部150と、アクション決定部160と、アクション記憶部170と、アクション継続長確率テーブル記憶部180と、を備える。なお、ユーザの行動を観測値oとし、システムの行動をアクションaとする。行動制御装置100は、観測値ot’を取得する前に、以下の処理A~Dを行うs1。Aアクションaによって状態sから状態s’へ変わる状態遷移確率Ps’|s,aとアクションaによって状態s’で観測値o’が観測されるときの観測値出力確率Po’|s’,aと、状態sでアクションaを実行したときの報酬rs,aと、をPOMDP確率報酬テーブル記憶部110に記憶しておく。なお、記憶される状態遷移確率、観測値出力確率及び報酬の求め方は後述する。B強化学習部120において、状態遷移確率Ps’|s,aと、観測値出力確率Po’|s’,aと、報酬rs,aを用いて、状態の確率分布を引数として各アクションに対するスコアを返す関数πを生成する。なお、関数πの生成方法は後述する。生成された関数πをアクション評価関数記憶部130に記憶しておく。Cアクション決定部160は、アクション評価関数記憶部130に記憶されている関数πを取得し、記憶しておく。なお、アクション評価関数記憶部130をアクション決定部160の内部に設けてもよい。D前述のアクション継続長確率をアクション継続長確率テーブル記憶部180に記憶しておく図3参照。なお、記憶されるアクション継続長確率の求め方は後述する。<POMDP確率報酬テーブル記憶部110>前述の通り、POMDP確率報酬テーブル記憶部110は、状態遷移確率Ps’|s,aと観測値出力確率Po’|s’,aと報酬rs,aと、を記憶する。例えば、非特許文献4や非特許文献5に記載の方法で状態遷移確率Ps’|s,aと観測値出力確率Po’|s’,aと報酬rs,aを求める。なお、学習データの統計すなわち、アクションの予測確率をアクション制御に反映するために、図2の状態に、アクションaに一対一に対応するsaという状態を付加する。ここで、ユーザシステム間対話の隠れ状態以下、単に状態というsは、ユーザシステムの隠れ状態soと行動生成のための隠れ状態saとの組からなり、s=so,saと表される。なお、soは、図2の状態と全く等価である。saの役割は、アクションaの予測確率を推定することである。また、その予測確率を最大化するアクションaを選択するためのものである。図6に示すように、aとsaとを一対一に対応させるためにa=saのときのみ、アクション確率Pa|s=,sa=1とする。ここでのアクションの種類の数は3である。但し、は任意の状態soを表し、アクション確率Pa|sは状態sでアクションaを実行する確率を表す。ここで、本実施形態では、計算量の削減を考えて、状態遷移確率Ps’|s,a及び観測値出力確率Po’|s’,aを以下のように近似する。P≒PPP≒P図7はこのときのPOMDPの構造を示す。確率Prt|st,at、確率Pst1|st,at、確率Pot1|st1,atは、trigram確率として単純な確率計算で求めてもよいし、ダイナミックベイジアンネットワーク以下、DBNというを使って学習して求めてよい。以下、DBNを使って、POMDP確率報酬を求める方法を例示する。行動データ記憶部1人対人の行動を示すデータ例えば、対話を記録した音声データや画像データ等において、一方の人をユーザとし、他方の人をシステムとして割り当てる。ユーザの行動を観測値oとし、システムの行動をアクションaとし、観測値oとアクションaからなる一連の行動系列が所望の行動系列であったか否かを、人手により評価する。所望の行動系列として、例えば、システムに親近感を感じる行動系列、ユーザが楽しんだ行動系列、典型的な行動系列、ユーザの役に立つ行動系列等を用いる。また、評価には、アンケートの質問への回答等を利用することができる。例えば、システムに親近感を感じましたか、楽しめましたか、役に立ちましたか等の質問を行い、結果を評価値として記述する。この評価値にdという変数を利用する。この値が高い行動系列を所望の行動系列とする。行動データ記憶部1は、このようにして求めた観測値oとアクションaと評価値dの組合せo,a,dを記憶する。このとき、関数πを学習するために十分な量の組合せを記録する。DBN生成部3及びDBN確率テーブル記憶部5DBN生成部3は、時系列の観測値ot、アクションat、評価値dtを用いて、EMアルゴリズム、ジャンクションツリーアルゴリズム、サンプリング手法などにより、尤度最大化を行い、行動生成モデルのためのDBNを生成する。なお、評価値dを確率変数として扱う。tは時刻を表すものとする。ここで、tは変数の相対的な時刻の関係を明確にするために用いた記号であり、特定の時刻を想定しているものではない。すなわち、ここで示す確率及びそれを使った演算は、時刻に依存しない。DBN生成部3は、DBNを生成し、状態stでアクションatを実行したときの評価値dtの確率Pdt|st,at、アクションatによって状態がstからst1へ変わる確率Pst1|st,at、アクションatによって状態st1で観測値ot1が観測される確率Pot1|st1,atを推定する。さらに、DBN生成部3で推定された各確率は、DBN確率テーブル記憶部5に記憶される。なお、求めようとするPOMDP確率報酬において、s=so,saとし、状態遷移確率Ps’|s,a及び観測値出力確率Po’|s’,aを式4及び5によって、近似しているので、DBNにおいても同様の処理を行い、対応する確率を求める。DBN-POMDP変換部7DBN-POMDP変換部7は、DBN生成部3で推定された確率を以下の式により、POMDPの確率報酬に変換する。なお、観測値及びアクションとして同じ定義のシンボルが使われると仮定する。DBNとPOMDPの構造はほぼ同じなので、状態遷移確率Ps’|s,a、観測値出力確率Po’|s’,atに関しては、対応する確率を代入すればよい。報酬はDBNにおいて確率変数として扱われるため、DBNで得られた確率変数を平均化することによって、実数に変換したものをPOMDPにおいて用いる。例えば、dtの確率分布から式6によって求める。このようにして、DBN-POMDP変換部7は、状態遷移確率Ps’|s,a、観測値出力確率Po’|s’,at及び報酬rs,aを生成する。POMDP確率報酬テーブル記憶部110は、これらの値を利用に先立ち予め記憶しておく。アクション継続長確率計算部9アクション継続長確率計算部9は、学習データからアクションaの連続出現回数nをアクション継続長naとしてカウントし、アクション継続長naの頻度分布、ポアソン分布、ガンマ分布、二項分布または任意の連続分布を用いて、アクション継続長確率Panを計算する。例えば、アクション継続長確率計算部9は、行動データ記憶部1に記憶されている時系列の行動データの内、時系列のアクションat但し、時系列の行動データの個数をJとすると、t=1,2,...,Jであるを学習データとして取得し図8のs91、各パラメタを初期化するs92。atとat-1とが同一か否かを判定しs93、同一の場合には、アクション継続長nを一回分大きくするs94。atとat-1とが異なる場合には、アクションat-1のアクション継続長nat-1に対する頻度cntnat-1を1つ大きくしs95、アクション継続長nを1に戻すs96。全てのアクションに対して上記処理を行いs97,98、各アクションaに対する各アクション継続長naの頻度分布を求める。なお、最後のアクションaJについては、アクションatのアクション継続長natに対する頻度を1つ大きくするs99。なお、nの添え字のat,at-1はそれぞれat、at-1を表す。以下の式により、アクションa毎に、各連続出現回数qaqa=1,2...,Qaの頻度cntqaの総和に対する連続出現回数naの頻度cntnaの比を求めs100、その比をアクション継続長確率Panとする。但し、Qaはアクションaの連続出現回数qaの最大値を表す。このように各アクションaの各アクション継続長naの確率Panを計算し、アクション継続長確率Panを求めるs104-s106。また、連続出現回数nの頻度cntnaの平均値を求め、ポアソン分布に基づきアクション継続長確率Panを求めてもよい。また、ガンマ分布やその他の連続分布に基づきアクション継続長確率Panを求めてもよいし、他の方法により頻度分布を求めてもよい。アクション継続長確率計算部9は、求めたアクション継続長確率Panを行動制御装置100に出力する。行動制御装置100のアクション継続長確率テーブル記憶部180は、アクション継続長確率Panを利用に先立ち予め記憶しておく図3参照。<強化学習部120及びアクション評価関数記憶部130>強化学習部120は、状態遷移確率Ps’|s,a、観測値出力確率Po’|s’,at及び報酬rs,aを用いて、強化学習により、状態の確率分布を引数とし各アクションに対するスコアを返す関数以下アクション評価関数というπが得られる。アクション評価関数記憶部130は、強化学習部120で生成されたアクション評価関数πを記憶する。次に、状態の確率分布を引数とし最もよいスコアに対応するアクションを返す関数以下ポリシーというπ’の計算方法について説明する。まず、以下の式は、前述のポリシーが既知であると仮定して、時刻tから時刻τtまでのアクション系列aτtがポリシーπ’によって選択されたときの将来獲得できる平均報酬を示す。ここで、bτtsは、時刻τtの状態の確率分布である。また、正定数γ<1により未来の報酬の寄与は小さくなる。ポリシーπ’は、式11を最大にする現在のアクションatを、アクション評価関数πと現在の状態の確率分布btsから計算する関数である。<データ中に出現する統計情報に従って行動を選択する手法>まず、現在の状態の確率分布btsの定義から次式が得られる。これは、過去のo1,a1,...,at-1,otという系列、すなわちユーザとシステムの観測値とアクションの履歴が実行された後に、状態がsaとなる確率を表している。a=saのときにPa|sa=1としているため、at=saのときに以下の式を得る。これは、過去のo1,a1,...,at-1,otが観測されたときの次にアクションatが起こる確率を表す。すなわち、今までのデータからatがどれだけ自然かを表す確率となっている。すなわち、式14を最大化するようにPOMDPの報酬を決めれば、ポリシーにより、学習データの統計に従ったアクションを生成するようになる。これを実現するためには、報酬をとして設定すればよい。但し、a=saを満たす必要がある。このように報酬を決定するため、ここでは、a=saのときに1をとり、それ以外のときには0をとるように報酬r^,sa,aを定める。ここで、は任意の状態soを指す。この値を用いて、rをr^に置き換えれば、学習データの統計に従った対話を実現できる。ここでは、従来型の所望の行動系列も実現するために従来手法の報酬の線形和をとる。なお、従来型の所望の行動系列に対する報酬は、式6より、以下のように示すことができる。但し、’は任意の状態saを指す。よって、式16及び17を用いて、式11のrをαrβr^で置き換えた下記式18により最終的な目的関数Vπ’tを得る。ここで、α、βは任意の実数である。このα、βを変化させることにより、所望の行動を実現するαが大きい場合のか統計的な行動を優先するβが大きい場合のか、その優先度合いの重みづけを行うことができる。なお、α、βを0とすることも可能である。本実施形態では式18を最大にするアクション系列aτtを求めるポリシーを求めることにより行動制御を実現する。強化学習を用いると、式18を最大化するアクションを決定するポリシーを事前に求めることができる。POMDPの環境を既知として、最適なポリシーをValueIterationという手法で式18をポリシーに対して最大化を行うことにより求めることができる。ここでは、計算時間の削減のため、近似手法であるPointbasedValueIterationを用いる。なお、ValueIterationやPointbasedValueIterationを用いて、ポリシーπ’を求める過程において、前述のアクション評価関数π状態の確率分布を引数とし各アクションに対するスコアを返す関数を生成することができる参考文献1参照。[参考文献1]SRussellandPNorvigArtificialIntelligenceaModernApproachSecondEditionPrenticeHall2003通常、対象となる所望の行動系列に対してPOMDPによる行動生成の学習を行うと、所望の行動系列だけをシステムは実現しようとする。このため、人と人の行動の記録には、所望の行動系列だけではなく、様々な系列が含まれているのにもかかわらず、所望の行動系列以外の行動を選択しなくなる。よって、人と人との間のやり取りを再現しつつ、かつ、所望の行動系列にユーザを引き込むようなシステムを作る場合には、所望の行動系列だけを学習するだけでは不十分である。このような構成とすることで、システムを構成する際にはこれらの行動系列の統計情報も含めて、システムの行動制御を学習するため、所望の行動系列へ引き込みつつも、学習データの統計に従った行動制御を行うことができる。<状態分布更新部140及び状態確率分布記憶部150>以下、図4及び図5を用いて説明する。まず、状態分布更新部140は、観測値ot’を取得するとs3、状態確率分布記憶部150に問合せて、一つ前の状態の確率分布bt-1sを取得し、アクション記憶部170に問合せて、一つ前のアクションat-1とを取得するs5。次に、状態分布更新部140は、取得した現在の観測値ot’と一つ前のアクションat-1をキーとして、POMDP確率報酬テーブル記憶部110を参照し、対応する状態遷移確率Ps’|s,aと観測値出力確率Po’|s’,aを取得するs7。さらに、状態分布更新部140は、取得したPs’|s,aと観測値出力確率Po’|s’,aと、さらに、Pa|sを用いて式2により、取得した一つ前の状態の確率分布bt-1sを更新し、現在の状態の確率分布bts’を求めるs9。なお、本実施形態では、状態遷移確率Ps’|s,a及び観測値出力確率Po’|s’,aを式4、5により近似しているので、P≒PPP≒P現在の状態の確率分布をとして求める。なお、現在の状態の確率分布bts’はアクション決定部160と状態確率分布記憶部150に出力される。状態確率分布記憶部150は、現在の状態の確率分布bts’を記憶するs10。非特許文献6は、状態の確率分布の更新式中にアクション確率Pa|sを導入する点が、非特許文献4及び5と異なる。なお、図1と図2の違いによりこのアクション確率Pa|sが生じる。アクション確率Pa|sは、図6に示すような確率テーブルを予め図示しない記憶部に記憶しておいてもよいし、a=saのときにPa|sに1を代入し、a≠saのときはPa|sに0を代入する構成としてもよい。但し、図5に示すようにa≠saのときにPa|s=0とすると、認識誤りがあった場合に、システムが決定論的に動き、認識誤りを考慮していないため、式2’において、bts’がほとんど0になってしまう場合がある。このような場合にはシステムが動作しない。そこで、図9に示すようにa≠saのときにPa|s=εとして、全ての状態が0になることを回避する。但し、εは非常に小さな値を示す。このように設定することで、認識誤りがあった場合にも停止せずに動作する行動制御装置を構成することができる。なお、認識誤りを考慮した場合のアクション確率Pa|sの設定方法は上述した方法に限定されるものではなく、例えば、ファジーロジックを使って設定してもよいし、アクション間にある距離を設定して、平滑化する手法等を用いてもよい。<アクション決定部160、アクション記憶部170、アクション継続長確率テーブル記憶部180>アクション決定部160は、スコア算出部161と、比較部163と、選択部165と、実時間アクション継続長記憶部167と、を有する図10参照。図11を用いて、アクション決定部160の処理内容図5中のs11を説明する。スコア算出部161スコア算出部161は、利用に先立ち予め、アクション評価関数記憶部130に記憶されている関数πを取得し、記憶しておく。スコア算出部161は、状態の確率分布を引数として各アクションに対するスコアを返す関数πを用いて、現在の状態の確率分布bts’を引数として、各アクションaに対するスコアSaを求める。例えば、最もよいスコアに対応するアクションat’rank1と二番目によいスコアに対応するアクションat’rank2を求めs161、at’rank1を比較部163に出力し、at’rank1とat’rank2を選択部165に出力する。なお、例えば、関数πとは、各アクションaに対して、スコア但し、τt=tつまり、τ=0のときだけ、ポリシーπ’を使わず、各アクションaについて全て求めるつまり、at=aを選択する20を求め、返す関数である。式20の場合、Vbtの値が大きいほど、スコアがよいことを表す。比較部163比較部163は、アクション記憶部170から一つ前のアクションat-1を取得し、スコア算出部から最もよいスコアに対応するアクションat’rank1を受け取る。そして、一つ前のアクションat-1と最もよいスコアに対応するアクションat’rank1とが同一か否かを判定しs163、判定結果を選択部165に出力する。なお、最初の判定時には、一つ前のアクションat-1が存在しないため、at-1とat’rank1とが異なることを表す判定結果を出力する。選択部165及び実時間アクション継続長記憶部167選択部165は、判定結果と、最もよいスコアに対応するアクションat’rank1と、二番目によいスコアに対応するアクションat’rank2と、を受け取る。そして、判定結果がat-1とat’rank1とが異なることを表す場合には、最もよいスコアに対応するアクションat’rank1をシステムがとるべきアクションat’として決定するs165b。さらに、実時間アクション継続長記憶部167から行動制御本実施形態では対話制御の過程で更新される実時間アクション継続長mを取得し、mを最小例えば、1としs165f、実時間アクション継続長記憶部167に記憶する。選択部165は、判定結果がat-1とat’rank1とが同一であることを表す場合には、アクションat’rank1の実時間アクション継続長mに対応するアクション継続長確率Pat’rank1mをアクション継続長確率テーブル記憶部180から受け取る。但し、添え字のat’rank1は、at’rank1を意味する。このアクション継続長確率Pat’rank1mから得られる値と一様乱数との大小関係に応じて、システムがとるべきアクションとして決定する。アクション継続長確率Pat’rank1mから得られる値とは、例えば、実時間アクション継続長mに対応するアクション継続長確率Pat’rank1mと、実時間アクション継続長m以上に対応するアクション継続長確率の総和との比である。これは、アクション継続長m以上において、アクション継続長mのアクションat’rank1が生成される確率である。この確率が高い場合には、m1以降においてアクションat’rank1が生成される確率は低いことを意味する。この場合、実時間アクション継続長記憶部167から実時間アクション継続長mを受け取り、最もよいスコアに対応するアクションat’rank1の実時間アクション継続長m以上に対応するアクション継続長確率をアクション継続長確率テーブル記憶部180から受け取る。また、例えば一様乱数の有限の区間は0以上1以下とする。よって、選択部165は、式21により、前述の確率比を求め、この確率と一様乱数とを比較するs165a。なお、図中randは、一様乱数を返す関数を表す。確率が一様乱数より小さい場合には、実時間アクション継続長mの最もよいスコアに対応するアクションat’rank1をシステムがとるべきアクションat’として決定しs165c、実時間アクション継続長mを1回分大きくしs165e、実時間アクション継続長記憶部167に記憶する。確率が一様乱数以上の場合には、最もよいスコアに対応するアクションat’rank1とは異なるアクションat’rank2を、システムがとるべきアクションat’として決定しs165d、アクション継続長を最小としs165f、実時間アクション継続長記憶部167に記憶する。これは、確率が一様乱数より小さい場合はアクション継続長mでそのアクションが終わらない継続する可能性が高く、確率が一様乱数より大きい場合はアクション継続長mでそのアクションが終わる継続しない可能性が高いことを意味するからである。アクション決定部160は、決定したアクションat’を、行動制御装置100の出力値として出力する。また、アクションat’をアクション記憶部170に出力する。アクション記憶部170は、アクションat’を記憶する図5のs12。最後の観測値までs3~s12の処理を繰り返すs13。<効果>このような構成により、タスクが決まっていなくてもデータの統計量に従って、自動的にシステムの行動を決定することができ、かつ、学習データ中のアクション継続長の統計に従ったアクションを実行でき、同じアクションだけを何回も繰り返し実行する行動制御を避けることができる。<変形例>行動制御装置100は、強化学習部120及びアクション評価関数記憶部130を備えているが、これらの構成を別装置として構成してもよい。その場合、行動制御装置100は、別装置で生成した関数πを取得し、アクション決定部160に記憶しておけばよい。なお、別装置で関数πを生成する場合には、行動制御装置100が備えるPOMDP確率報酬テーブル記憶部110には、状態遷移確率Ps’|s,aと観測値出力確率Po’|s’,aのみを記憶する構成としてもよい。本実施形態では、計算量を削減するために、式4、5を用いて状態遷移確率Ps’|s,a、観測値出力確率Po’|s’,aを近似し、さらに、式2’を用いて状態の確率分布の更新式を近似しているが、他の式により各値を近似してもよいし、近似せずに各値を求めてもよい。また式1や他の式を用いて状態の確率分布を更新してもよい。なお、行動制御装置100は、行動データ記憶部1、DBN生成部3、DBN確率テーブル記憶部5、DBN-POMDP変換部7、アクション継続長確率計算部9の何れか1つ以上を備える構成であってもよい。アクション決定部160において、必ずしも最もよいスコアに対応するアクション、または、2番目によいスコアに対応するアクションを、システムが取るべきアクションとして決定せずともよい。例えば、図11のs165aにおいて、2番目によいスコアと3番目によいスコアの比が一様乱数よりも小さい場合、この比が一様乱数より大きいか否か判定し、大きい場合には、2番目によいスコアに対応するアクションat’rank2をシステムが取るべきアクションとして決定し、小さい場合には、3番目によいスコアに対応するアクションat’rank3をシステムが取るべきアクションとして決定する構成であってもよい。つまり、自動的にシステムの行動を決定することができ、同じアクションだけを何回も繰り返し実行する行動制御を避けることができ、かつ、不自然でない行動を選択するものであればよく、適宜変更できる。本実施形態では、対話制御について説明したが、システムとユーザが交互にやり取りをするような対話制御以外の行動制御システムにおいても、同様に本実施形態に係る行動制御技術を利用することができる。<第二実施形態に係る行動制御装置200>以下、第一実施形態と異なる部分についてのみ説明する。行動制御装置200は、POMDP確率報酬テーブル記憶部110と、強化学習部120と、アクション評価関数記憶部130と、状態分布更新部140と、状態確率分布記憶部150と、アクション決定部260と、アクション記憶部170と、アクション継続長確率テーブル記憶部180と、を備える図4参照。アクション決定部260の構成及び処理内容が第一実施形態とは異なる。<アクション決定部260>アクション決定部260は、スコア算出部161と、比較部163と、選択部265と、実時間アクション継続長記憶部167と、実時間アクション継続長確率テーブル記憶部268図10中、一点鎖線で示すとを有する。図12を用いて、アクション決定部260の処理内容図5中のs21を説明する。但し、第一実施形態と異なる部分選択部265と実時間アクション継続長確率テーブル記憶部268についてのみ説明する。選択部265、実時間アクション継続長記憶部167及び実時間アクション継続長確率テーブル記憶部268選択部265は、比較部163の判定結果と最もよいスコアに対応するアクションat’rank1と二番目によいスコアに対応するアクションat’rank2とを受け取る。そして、判定結果がat-1とat’rank1とが異なることを表す場合には、最もよいスコアに対応するアクションat’rank1をシステムがとるべきアクションat’として決定するs165b。さらに、実時間アクション継続長記憶部167から対話制御の過程で更新される実時間アクション継続長mを取得し、mを最小としs165f、実時間アクション継続長記憶部167に記憶する。さらに、一つ前のアクションat-1の実時間アクション継続長mat-1に基づき、対話制御の過程における実時間アクション継続長確率を更新しs265g、実時間アクション継続長確率テーブル記憶部268に記憶する。例えば、選択部265は、前述のアクション継続長確率計算部9と同様の方法により、アクションat-1の実時間アクション継続長mat-1をカウントし、実時間アクション継続長mat-1の頻度分布、ポアソン分布、ガンマ分布または二項分布や任意の連続分布用いて、実時間アクション継続長確率P ̄a-1mat-1を計算する。at-1とat’rank1とが異なる場合には、対話制御の過程における一つ前のアクションat-1の実時間アクション継続長mat-1が確定し、実時間アクション継続長の頻度分布等が変化するため、実時間アクション継続長確率を更新する。更新した実時間アクション継続長確率を実時間アクション継続長確率テーブル記憶部268に記憶する。実時間アクション継続長確率テーブル記憶部268には、アクション継続長確率テーブル記憶部180と同様のデータ構造である但し、実時間アクション継続長確率に基づいたデータである。選択部265は、判定結果がat-1とat’rank1とが同一であることを表す場合には、アクションat’rank1の実時間アクション継続長mに対応するアクション継続長確率Pat’rank1mをアクション継続長確率テーブル記憶部180から受け取る。このアクション継続長確率Pat’rank1mから得られる値と一様乱数との大小関係に応じて、システムがとるべきアクションとして決定する。アクション継続長確率Pat’rank1mから得られる値とは、例えば、実時間アクション継続長mに対応するアクション継続長確率Pat’rank1mと実時間アクション継続長確率P ̄at’rank1mとの確率差分ΔPat’Pat’P ̄at’但し、Pat’P ̄at’0のとき、ΔPat’←0とする。と、実時間アクション継続長m以上に対応するアクション継続長確率と実時間アクション継続長確率との確率差分の総和との比但し、Pat’P ̄at’0のとき、ΔPat’←0とする。である。この場合、実時間アクション継続長記憶部167から実時間アクション継続長mを受け取り、最もよいスコアに対応するアクションat’rank1の実時間アクション継続長m以上に対応するアクション継続長確率をアクション継続長確率テーブル記憶部180から受け取り、実時間アクション継続長m以上に対応する実時間アクション継続長確率を実時間アクション継続長確率テーブル記憶部268から受け取る。また、例えば一様乱数の有限の区間は0以上1以下とする。よって、選択部265は、式32により、前述の比を求め、この比と一様乱数とを比較するs265a。比が一様乱数より小さい場合には、最もよいスコアに対応するアクションat’rank1をシステムがとるべきアクションat’として決定しs165c、実時間アクション継続長mを1回分大きくしs165e、実時間アクション継続長記憶部167に記憶する。比が一様乱数以上の場合には、最もよいスコアに対応するアクションat’rank1とは異なるアクションat’rank2を、システムがとるべきアクションat’として決定しs165d、アクション継続長を最小としs165f、実時間アクション継続長記憶部167に記憶する。さらに、一つ前のアクションat-1の実時間アクション継続長に基づき、対話制御の過程における実時間アクション継続長確率を更新しs265g、実時間アクション継続長確率テーブル記憶部268に記憶する。アクション決定部260は、決定したアクションat’を、行動制御装置200の出力値として出力する。また、アクションat’をアクション記憶部170に出力する。<効果>このような構成とすることにより、第一実施形態と同様の効果を得ることができる。さらに、確率差分を用いることで、行動制御の過程で過去に起きた事象の生起確率を、第一実施形態よりも低く抑えることができ、学習データに近い継続時間長の分布を実現でき、より自然な対話を実現できる。[シミュレーション結果]実際の対話からPOMDP確率報酬を生成し、それを用いてポリシーを学習し、そのPOMDP確率とポリシーを記憶した行動制御装置に対し観測値を入力し、その観測値に対するアクションが、実時間アクション継続長mによる制御を行うか行わないかで、その評価がどのように変わるかを調べた。実時間アクション継続長mによる制御を行う行動制御装置として第二実施形態の行動制御装置200を用い、実時間アクション継続長mによる制御を行わない行動制御装置として非特許文献6の行動制御装置を用いる。アクションと観測値には、33種類の行動シンボルが付与されるものとする。実験では、実際の対話データに対して、これらの行動シンボルを人手で付与した。以下に、実際の対話データの例を示す。ユーザと聞き役であるシステムを想定している。ユーザ:こんにちは、はじめまして、食事の話をしましょう。システム:はじめまして。ユーザ:夕食にカレーを食べました。カレーは好きですかシステム:はい好きです。ユーザ:本当ですか私もです。システム:いつも外に食べに行きますかユーザ:いいえ、いつも家で作って食べます。特別なスパイスは使わないんです。でも、ときどき、カレーうどんも作ります。システム:いいですね。この例のように、実際の対話データでは、行動は必ずしも、システム、ユーザ、交互には行われない。そこで何もしないという行動シンボルを追加し全33種、行動が交互に出現するようにした。250対話に対して行動シンボルを付与した。そして一連の行動系列が所望の行動系列であったか否かを5段階で人が評価し、評価値を行動系列に付与した。なお、所望の行動系列として、ユーザが満足感を感じる行動系列を選んだ。そのデータに基づきDBNの学習とtrigramの学習により、統計量を学習した。なお、二つのモデルは等価なので、何れの学習を用いても統計量は、同じ値となった。さらに、DBNからはPOMDP確率報酬を生成し、生成したPOMDP確率報酬に基づき、ポリシーを学習する。その際、所望の行動系列に対する報酬を1とおいた式18においてα=1とした。また、βは20、15、10と3種類を調べた。ユーザの挙動をシミュレートするため、行動データから得られたtrigramに基づいてランダムに観測値を選択し、アクション継続長制御を行う場合と行わない場合について、行動制御装置に入力し、それぞれのアクションを取得した。シミュレーションではそれぞれ1000対話を生成した。対話の評価にはいくつかの評価を手法を用いた。一つは以下の式に示すエントロピーを基準とした。但し、Pgenerateddataaは生成されたアクションの対話中での生起確率を表す。この値が大きければ、系は乱雑であり、特定のアクションに偏っていないことが分かる。また、次の確率分布の距離も評価尺度とした。この値が小さいほど、生成されたアクションの分布が学習データの分布に近いことを示す。さらに、以下の式に示す平均トライグラム確率も調べた。Kは対話の数、Liは個々の行動の長さである。この値は、生成された行動系列が、学習データのtrigram確率にどれだけ従っているかを表す尺度である。大きいほど、学習データの統計に従った対話系列を出力していると考えられる。なお、Pait1|ait,oit1は、ait、oit1が与えられたときにait1を生成するtrigram確率を表す。この値は大きいほど、学習データ中の確率の高いアクションを出力していることになるが、全く同じアクションばかりを生成してもこの値が高くなることもある。最後に、満足度に関する評価も入れておく。この式は、以下のようになる。ここではデータから得られる観測値とそれに対するアクション間の平均の評価値である。ユーザの評価は過去の履歴に大きな影響を受ける。しかし、ここでは、ユーザの評価はユーザの最後の観測値に対するシステムのアクションに対して、尤も強く影響を受けると仮定した。また、本来であれば、実際のユーザを利用して評価を行うべきではあるが、ここでは手法の認識誤りに対する頑健性を調べるためシミュレーションによる評価尺度を用いた。図13に実験結果を示す。エントロピーを見ても、確率分布の距離を見ても、継続長制御ありとなしどちらの場合も、β=15の場合がよい結果を示していることが分かる。継続長制御ありとなしで比べると、トライグラムの確率は落ちているものの、エントロピーも、確率分布の距離も学習データに近い。実際に、継続長制御がない場合は、同じアクションを生成することが多く不自然である。なお、アクション決定部における継続長の制御には、第二実施形態を用いた。<プログラム及び記録媒体>上述した行動制御装置は、コンピュータにより機能させることもできる。この場合はコンピュータに、目的とする装置実施形態で図に示した機能構成をもつ装置として機能させるためのプログラム、またはその処理手順実施形態で示したものの各過程をコンピュータに実行させるためのプログラムを、CD-ROM、磁気ディスク、半導体記憶装置などの記録媒体から、あるいは通信回線を介してそのコンピュータ内にダウンロードし、そのプログラムを実行させればよい。"