(57)【特許請求の範囲】
【請求項１】
ユーザ・システム間対話の隠れ状態ｓはユーザ・システムの隠れ状態ｓｏと行動生成のための隠れ状態ｓａとの組からなり、ｓ＝（ｓｏ，ｓａ）と表され、＊は任意の状態ｓｏを、Ｎはアクションの種類の数を表し、システムのアクションａと行動生成のための隠れ状態ｓａとは一対一に対応し、ａ＝ｓａのときのみ、アクション確率Ｐ（ａ｜ｓ＝（＊，ｓａ））を１または１−（Ｎ−１）×εとし、アクションａによって状態ｓから状態ｓ’へ変わる状態遷移確率Ｐ（ｓ’｜ｓ，ａ）と、アクションａによって状態ｓ’で観測値ｏ’が観測されるときの観測値出力確率Ｐ（ｏ’｜ｓ’，ａ）と、を予め記憶しておくＰＯＭＤＰ確率・報酬テーブル記憶部と、
時刻をｔとし、一つ前の状態の確率分布ｂｔ−１（ｓ）を記憶する状態確率分布記憶部と、
一つ前のアクションａｔ−１を記憶するアクション記憶部と、
ηは全体の和を１にするための正規化定数を表すものとし、前記アクション記憶部から一つ前のアクションａｔ−１を取得し、一つ前のアクションａｔ−１と現在の観測値ｏｔ’を用いて、前記ＰＯＭＤＰ確率・報酬テーブル記憶部を参照して、対応する状態遷移確率Ｐ（ｓ’｜ｓ，ａ）と観測値出力確率Ｐ（ｏ’｜ｓ’，ａ）を取得し、前記状態確率分布記憶部から一つ前の状態の確率分布ｂｔ−１（ｓ）を取得し、現在の状態の確率分布
【数１５】
0005427163.tif 000016
を求める状態分布更新部と、
状態の確率分布を引数としてシステムがとるべきアクションを一つ出力する関数πを用いて、現在の状態の確率分布ｂｔ（ｓ’）を引数としてシステムがとるべきアクションａｔ’を決定するアクション決定部と、を備える、
行動制御装置。
【請求項２】
請求項１記載の行動制御装置であって、
前記ＰＯＭＤＰ確率・報酬テーブル記憶部に記憶される状態遷移確率Ｐ（ｓ’｜ｓ，ａ）及び観測値出力確率Ｐ（ｏ’｜ｓ’，ａ）は、
P(s'|s,a)≒P(so'|so,a)P(sa'|sa,so')
P(o'|s',a)≒P(o'|so')
により、近似されるものとし、
前記状態分布更新部において、現在の状態の確率分布を
【数１６】
0005427163.tif 000017
として求める、
行動制御装置。
【請求項３】
請求項１または請求項２記載の行動制御装置であって、
ａ≠ｓａのとき前記アクション確率Ｐ（ａ｜ｓ＝（＊，ｓａ））をεとする、
行動制御装置。
【請求項４】
ユーザ・システム間対話の隠れ状態ｓはユーザ・システムの隠れ状態ｓｏと行動生成のための隠れ状態ｓａとの組からなり、ｓ＝（ｓｏ，ｓａ）と表され、＊は任意の状態ｓｏを、Ｎはアクションの種類の数を表し、システムのアクションａと行動生成のための隠れ状態ｓａとは一対一に対応し、ａ＝ｓａのときのみ、アクション確率Ｐ（ａ｜ｓ＝（＊，ｓａ））を１または１−（Ｎ−１）×εとし、時刻をｔとし、ηは全体の和を１にするための正規化定数を表すものとし、アクション記憶部から一つ前のアクションａｔ−１を取得し、一つ前のアクションａｔ−１と現在の観測値ｏｔ’を用いて、ＰＯＭＤＰ確率・報酬テーブル記憶部を参照して、アクションａによって状態ｓから状態ｓ’へ変わる状態遷移確率Ｐ（ｓ’｜ｓ，ａ）とアクションａによって状態ｓ’で観測値ｏ’が観測されるときの観測値出力確率Ｐ（ｏ’｜ｓ’，ａ）を取得し、状態確率分布記憶部から一つ前の状態の確率分布ｂｔ−１（ｓ）を取得し、現在の状態の確率分布
【数１７】
0005427163.tif 000018
を求める状態分布更新ステップと、
状態の確率分布ｂｔ（ｓ’）を記憶する状態確率分布記憶ステップと、
状態の確率分布を引数としてシステムがとるべきアクションを一つ出力する関数πを用いて、現在の状態の確率分布ｂｔ（ｓ’）を引数としてシステムがとるべきアクションａｔ’を決定するアクション決定ステップと、
アクションａｔ’を記憶するアクション記憶ステップと、を備える、
行動制御方法。
【請求項５】
請求項４記載の行動制御方法であって、
前記ＰＯＭＤＰ確率・報酬テーブル記憶部に記憶される状態遷移確率Ｐ（ｓ’｜ｓ，ａ）及び観測値出力確率Ｐ（ｏ’｜ｓ’，ａ）は、
P(s'|s,a)≒P(so'|so,a)P(sa'|sa,so')
P(o'|s',a)≒P(o'|so')
により、近似されるものとし、
前記状態分布更新ステップにおいて、現在の状態の確率分布を
【数１８】
0005427163.tif 000019
として求める、
行動制御方法。
【請求項６】
請求項４または請求項５記載の行動制御方法であって、
ａ≠ｓａのとき前記アクション確率Ｐ（ａ｜ｓ＝（＊，ｓａ））をεとする、
行動制御方法。
【請求項７】
請求項１から請求項３の何れかに記載の行動制御装置として、コンピュータを機能させるための行動制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はシステムとユーザが交互にやり取りをするようなシステム（対話システムなど）において、ユーザの行動に対して、システムが次にどんな行動をとるかを決定する行動制御装置、行動制御方法及び行動制御プログラムに関する。
【背景技術】
【０００２】
部分観測マルコフ決定過程（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, 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, p.120-127
【非特許文献４】南泰浩、目黒豊美、東中竜一郎、森啓、堂坂浩二、前田英作、「統計的モデルを用いたＰＯＭＤＰによる対話制御」、日本音響学会秋季研究発表会、２００９
【非特許文献５】T. Meguro, R. Higashinaka, Y. Minami, K. Dohsaka, "Controlling Listening-Oriented Dialogue Using Partially Observable Markov Decision Processes", in Proc. of COLING, 2010, p.761-769
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、非特許文献４や非特許文献５の従来技術では、アクションａが決定されて、後述する状態ｓａが確定的になっているにもかかわらず、確率的に扱っていた。このため、系全体が確率的に動作し、決定論的に動作せず、精度が悪く、観測値に対して不自然な行動決定を行う場合があった。
【０００７】
本発明は、状態の確率分布を更新する際に、状態ｓでアクションａを実行する確率（以下「アクション確率」という）を導入することにより、学習データの統計に従った行動決定を行うことができる行動制御技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、本発明では、ユーザ・システム間対話の隠れ状態ｓはユーザ・システムの隠れ状態ｓｏと行動生成のための隠れ状態ｓａとの組からなり、＊は任意の状態ｓｏを表し、アクションａと状態ｓａとを一対一に対応させるためにａ＝ｓａのときのみ、アクション確率Ｐ（ａ｜ｓ＝（＊，ｓａ））を１または１−（Ｎ−１）×εとし、時刻をｔとし、ηは全体の和を１にするための正規化定数を表すものとする。ここでは、Ｎはアクションの種類の数を表す。アクション記憶部から一つ前のアクションａｔ−１を取得し、一つ前のアクションａｔ−１と現在の観測値ｏｔ’を用いて、ＰＯＭＤＰ確率・報酬テーブル記憶部を参照して、アクションａによって状態ｓから状態ｓ’へ変わる状態遷移確率Ｐ（ｓ’｜ｓ，ａ）とアクションａによって状態ｓ’で観測値ｏ’が観測されるときの観測値出力確率Ｐ（ｏ’｜ｓ’，ａ）を取得し、状態確率分布記憶部から一つ前の状態の確率分布ｂｔ−１（ｓ）を取得し、現在の状態の確率分布
【０００９】
【数１】
0005427163.tif 000002
【００１０】
を求め、状態の確率分布ｂｔ（ｓ’）を記憶し、状態の確率分布を引数としてシステムがとるべきアクションを一つ出力する関数πを用いて、現在の状態の確率分布ｂｔ（ｓ’）を引数としてシステムがとるべきアクションａｔ’を決定する。
【発明の効果】
【００１１】
本発明に係る行動制御技術は、状態の確率分布を更新する際に、アクション確率を導入することにより、観測値に対してより学習データの統計に従った行動決定を行うことができるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】従来のＰＯＭＤＰの確率構造を示す図。
【図２】本発明のＰＯＭＤＰの確率構造を示す図。
【図３】行動制御装置１００の機能構成例を示すブロック図。
【図４】行動制御装置１００の処理フローの例を示す図。
【図５】アクションａと状態ｓａとアクション確率Ｐ（ａ｜ｓ）の関係を示す図。
【図６】状態遷移確率と観測値出力確率を近似した場合のＰＯＭＤＰの確率構造を示す図。
【図７】εを用いた場合のアクションａと状態ｓａとアクション確率Ｐ（ａ｜ｓ）の関係を示す図。
【図８】シミュレーション結果を示す図。
【発明を実施するための形態】
【００１３】
［発明のポイント］
ＰＯＭＤＰは集合のセット（Ｓ，Ｏ，Ａ，Ｔ，Ｚ，Ｒ）で表現される。ここで、ｓ∈Ｓは状態の集合である。ｏ∈Ｏは観測値の集合である。ａ∈Ａはアクションのセットである。Ｔはアクションａによって状態がｓからｓ’へ変化するときの状態遷移確率Ｐ（ｓ’｜ｓ，ａ）の集合である。Ｚは状態ｓ’でアクションａによって観測値ｏ’が観測されるときの観測値出力確率Ｐ（ｏ’｜ｓ’，ａ）の集合である。Ｒは状態ｓでアクションａを実行したときの報酬ｒ（ｓ，ａ）の集合である。
【００１４】
非特許文献４や非特許文献５のＰＯＭＤＰの確率構造を図１に示す。矢印は変数の依存関係を表し、例えば、状態ｓから観測値ｏへの矢印には確率Ｐ（ｏ｜ｓ）が付与されている。図１のとき、状態の確率分布の更新式は
【００１５】
【数２】
0005427163.tif 000003
【００１６】
と表される。なお、ηは全体の和を１にするための正規化定数を表す。
図２は本発明のＰＯＭＤＰの確率構造を図２に示す。図２のとき状態の確率分布ｂの更新式は
【００１７】
【数３】
0005427163.tif 000004
【００１８】
と表される。状態の確率分布の更新式中に、アクション確率Ｐ（ａ｜ｓ）を導入することで、系全体が決定論的に動作し、所望の行動系列以外のユーザの行動に対して、より学習データの統計に従った行動決定を行うことができる。
【００１９】
以下、本発明の実施の形態について、詳細に説明する。
【実施例１】
【００２０】
＜行動制御装置１００＞
図３及び図４を用いて実施例１に係る行動制御装置１００を説明する。行動制御装置１００は、ＰＯＭＤＰ確率・報酬テーブル記憶部１１０と、強化学習部１２０と、ＰＯＭＤＰポリシー記憶部１３０と、状態分布更新部１４０と、状態確率分布記憶部１５０と、アクション決定部１６０と、アクション記憶部１７０を備える。なお、ユーザの行動を観測値ｏとし、システムの行動をアクションａとする。
【００２１】
行動制御装置１００は、観測値を取得する前に、以下の処理（Ａ）〜（Ｃ）を行う（ｓ１）。
（Ａ）アクションａによって状態ｓから状態ｓ’へ変わる状態遷移確率Ｐ（ｓ’｜ｓ，ａ）とアクションａによって状態ｓ’で観測値ｏ’が観測されるときの観測値出力確率Ｐ（ｏ’｜ｓ’，ａ）と、状態ｓでアクションａを実行したときの報酬ｒ（ｓ，ａ）と、をＰＯＭＤＰ確率・報酬テーブル記憶部１１０に記憶しておく。なお、記憶される状態遷移確率、観測値出力確率及び報酬の求め方は後述する。
（Ｂ）強化学習部１２０において、状態遷移確率Ｐ（ｓ’｜ｓ，ａ）と、観測値出力確率Ｐ（ｏ’｜ｓ’，ａ）と、報酬ｒ（ｓ，ａ）を用いて、状態の確率分布を引数としてシステムがとるべきアクションを一つ出力する関数πを生成する。なお、関数πの生成方法は後述する。生成された関数πをＰＯＭＤＰポリシー記憶部１３０に記憶しておく。
（Ｃ）アクション決定部１６０は、ＰＯＭＤＰポリシー記憶部１３０に記憶されている関数πを取得し、記憶しておく。なお、ＰＯＭＤＰポリシー記憶部１３０をアクション決定部１６０の内部に設けてもよい。
【００２２】
＜ＰＯＭＤＰ確率・報酬テーブル記憶部１１０＞
前述の通り、ＰＯＭＤＰ確率・報酬テーブル記憶部１１０は、状態遷移確率Ｐ（ｓ’｜ｓ，ａ）と観測値出力確率Ｐ（ｏ’｜ｓ’，ａ）と報酬ｒ（ｓ，ａ）と、を記憶する。例えば、非特許文献４や非特許文献５に記載の方法で状態遷移確率Ｐ（ｓ’｜ｓ，ａ）と観測値出力確率Ｐ（ｏ’｜ｓ’，ａ）と報酬ｒ（ｓ，ａ）を求める。
【００２３】
なお、学習データの統計すなわち、アクションの予測確率をアクション制御に反映するために、図２の状態に、アクションａに一対一に対応するｓａという状態を付加する。ここで、ユーザ・システム間対話の隠れ状態（以下、単に「状態」という）ｓは、ユーザ・システムの隠れ状態ｓｏと行動生成のための隠れ状態ｓａとの組からなり、ｓ＝（ｓｏ，ｓａ）と表される。なお、ｓｏは、図２の状態と全く等価である。ｓａの役割は、アクションａの予測確率を推定することである。また、その予測確率を最大化するアクションａを選択するためのものである。図５に示すように、ａとｓａとを一対一に対応させるためにａ＝ｓａのときのみ、アクション確率Ｐ（ａ｜ｓ＝（＊，ｓａ））＝１とする。ここでのアクションの種類の数は３である。但し、＊は任意の状態ｓｏを表し、アクション確率Ｐ（ａ｜ｓ）は状態ｓでアクションａを実行する確率を表す。
【００２４】
ここで、本実施例では、計算量の削減を考えて、状態遷移確率Ｐ（ｓ’｜ｓ，ａ）及び観測値出力確率Ｐ（ｏ’｜ｓ’，ａ）を以下のように近似する。
P(s'|s,a)≒P(so'|so,a)P(sa'|sa,so')    (4)
P(o'|s',a)≒P(o'|so')    (5)
図６はこのときのＰＯＭＤＰの構造を示す。確率Ｐ（ｒｔ｜ｓｔ，ａｔ）、確率Ｐ（ｓｔ＋１｜ｓｔ，ａｔ）、確率Ｐ（ｏｔ＋１｜ｓｔ＋１，ａｔ）は、ｔｒｉｇｒａｍ確率として単純な確率計算で求めてもよいし、ダイナミックベイジアンネットワーク（以下、「ＤＢＮ」という）を使って学習して求めてよい。以下、ＤＢＮを使って、ＰＯＭＤＰ確率・報酬を求める方法を例示する。
【００２５】
（行動データ記憶部１）
人対人の行動を示すデータ（例えば、対話を記録した音声データや画像データ等）において、一方の人をユーザとし、他方の人をシステムとして割り当てる。ユーザの行動を観測値ｏとし、システムの行動をアクションａとし、観測値ｏとアクションａからなる一連の行動系列が所望の行動系列であったか否かを、人手により評価する。所望の行動系列として、例えば、システムに親近感を感じる行動系列、ユーザが楽しんだ行動系列、典型的な行動系列、ユーザの役に立つ行動系列等を用いる。また、評価には、アンケートの質問への回答等を利用することができる。例えば、「システムに親近感を感じましたか」、「楽しめましたか」、「役に立ちましたか」等の質問を行い、結果を評価値として記述する。この評価値にｄという変数を利用する。この値が高い行動系列を所望の行動系列とする。
行動データ記憶部１は、このようにして求めた観測値ｏとアクションａと評価値ｄの組合せ（ｏ，ａ，ｄ）を記憶する。このとき、関数πを学習するために十分な量の組合せを記録する。
【００２６】
（ＤＢＮ生成部３及びＤＢＮ確率テーブル記憶部５）
ＤＢＮ生成部３は、観測値ｏｔ、アクションａｔ、評価値ｄｔの時系列を用いて、ＥＭアルゴリズム、ジャンクションツリーアルゴリズム、サンプリング手法などにより、尤度最大化を行い、行動生成モデルのためのＤＢＮを生成する。なお、評価値ｄを確率変数として扱う。ｔは時刻を表すものとする。ここで、ｔは変数の相対的な時刻の関係を明確にするために用いた記号であり、特定の時刻を想定しているものではない。すなわち、ここで示す確率及びそれを使った演算は、時刻に依存しない。
【００２７】
ＤＢＮ生成部３は、ＤＢＮを生成し、状態ｓｔでアクションａｔを実行したときの評価値ｄｔの確率Ｐ（ｄｔ｜ｓｔ，ａｔ）、アクションａｔによって状態がｓｔからｓｔ＋１へ変わる確率Ｐ（ｓｔ＋１｜ｓｔ，ａｔ）、アクションａｔによって状態ｓｔ＋１で観測値ｏｔ＋１が観測される確率Ｐ（ｏｔ＋１｜ｓｔ＋１，ａｔ）を推定する。さらに、ＤＢＮ生成部３で推定された各確率は、ＤＢＮ確率テーブル記憶部５に記憶される。
【００２８】
なお、求めようとするＰＯＭＤＰ確率・報酬において、ｓ＝（ｓｏ，ｓａ）とし、状態遷移確率Ｐ（ｓ’｜ｓ，ａ）及び観測値出力確率Ｐ（ｏ’｜ｓ’，ａ）を式（４）及び（５）によって、近似しているので、ＤＢＮにおいても同様の処理を行い、対応する確率を求める。
【００２９】
（ＤＢＮ−ＰＯＭＤＰ変換部７）
ＤＢＮ−ＰＯＭＤＰ変換部７は、ＤＢＮ生成部３で推定された確率を以下の式により、ＰＯＭＤＰの確率・報酬に変換する。なお、観測値及びアクションとして同じ定義のシンボルが使われると仮定する。
【００３０】
【数４】
0005427163.tif 000005
【００３１】
ＤＢＮとＰＯＭＤＰの構造はほぼ同じなので、状態遷移確率Ｐ（ｓ’｜ｓ，ａ）、観測値出力確率Ｐ（ｏ’｜ｓ’，ａｔ）に関しては、対応する確率を代入すればよい。報酬はＤＢＮにおいて確率変数として扱われるため、ＤＢＮで得られた確率変数を平均化することによって、実数に変換したものをＰＯＭＤＰにおいて用いる。例えば、ｄｔの確率分布から式（６）によって求める。このようにして、ＤＢＮ−ＰＯＭＤＰ変換部７は、状態遷移確率Ｐ（ｓ’｜ｓ，ａ）、観測値出力確率Ｐ（ｏ’｜ｓ’，ａｔ）及び報酬ｒ（ｓ，ａ）を生成する。ＰＯＭＤＰ確率・報酬テーブル記憶部１１０は、これらの値を利用に先立ち予め記憶しておく。
【００３２】
＜強化学習部１２０及びＰＯＭＤＰポリシー記憶部１３０＞
強化学習部１２０は、状態遷移確率Ｐ（ｓ’｜ｓ，ａ）、観測値出力確率Ｐ（ｏ’｜ｓ’，ａｔ）及び報酬ｒ（ｓ，ａ）を用いて、強化学習により、状態の確率分布を引数としシステムがとるべきアクションを一つ出力する関数πを生成する。なお、この関数πをポリシーともいう。ＰＯＭＤＰポリシー記憶部１３０は、強化学習部１２０で生成されたポリシーを記憶する。
【００３３】
次にポリシーの計算方法について説明する。まず、以下の式は、前述のポリシーが既知であると仮定して、時刻ｔから時刻τ＋ｔまでのアクション系列ａτ＋ｔが分かっているときに将来獲得できる平均報酬を示す。
【００３４】
【数５】
0005427163.tif 000006
【００３５】
ここで、ｂτ＋ｔ（ｓ）は、時刻τ＋ｔの状態の確率分布である。また、正定数γ（＜１）により未来の報酬の寄与は小さくなる。ポリシーは、式（１１）を最大にする現在のアクションａｔを、現在の状態の確率分布ｂｔ（ｓ）から計算する関数である。
＜データ中に出現する統計情報に従って行動を選択する手法＞
まず、現在の状態の確率分布ｂｔ（ｓ）は、その定義から次式が得られる。
【００３６】
【数６】
0005427163.tif 000007
【００３７】
これは、過去のｏ１，ａ１，…，ａｔ−１，ｏｔという系列、すなわちユーザとシステムの観測値とアクションの履歴が実行された後に、状態がｓａとなる確率を表している。
ａ＝ｓａのときにＰ（ａ｜ｓａ）＝１としているため、ａｔ＝ｓａのときに以下の式を得る。
【００３８】
【数７】
0005427163.tif 000008
【００３９】
これは、過去のｏ１，ａ１，…，ａｔ−１，ｏｔが観測されたときの次にアクションａｔが起こる確率を表す。すなわち、今までのデータからａｔがどれだけ自然かを表す確率となっている。すなわち、式（１４）を最大化するようにＰＯＭＤＰの報酬を決めれば、ポリシーにより、学習データの統計に従ったアクションを生成するようになる。これを実現するためには、報酬を
【００４０】
【数８】
0005427163.tif 000009
【００４１】
として設定すればよい。但し、ａ＝ｓａを満たす必要がある。このように報酬を決定するため、ここでは、ａ＝ｓａのときに１をとり、それ以外のときには０をとるように報酬ｒ＾（（＊，ｓａ），ａ）を定める。
【００４２】
【数９】
0005427163.tif 000010
【００４３】
ここで、＊は任意の状態ｓｏを指す。この値を用いて、ｒをｒ＾に置き換えれば、学習データの統計に従った対話を実現できる。ここでは、従来型の所望の行動系列も実現するために従来手法の報酬の線形和をとる。なお、従来型の所望の行動系列に対する報酬は、式（６）より、以下のように示すことができる。但し、＊’は任意の状態ｓａを指す。
【００４４】
【数１０】
0005427163.tif 000011
【００４５】
よって、式（１６）及び（１７）を用いて、式（１１）のｒをαｒ＋βｒ＾で置き換えた下記式（１８）により最終的な目的関数Ｖｔを得る。
【００４６】
【数１１】
0005427163.tif 000012
【００４７】
ここで、α、βは任意の実数である。このα、βを変化させることにより、所望の行動を実現する（αが大きい場合）のか統計的な行動を優先する（βが大きい場合）のか、その優先度合いの重みづけを行うことができる。なお、α、βを０とすることも可能である。
【００４８】
本実施例では式（１８）を最大にするアクション系列ａτ＋ｔを求めることにより行動制御を実現する。強化学習を用いると、式（１８）を直接計算せずにポリシーを求めることができる。ＰＯＭＤＰの環境を既知として、最適なポリシーをValue Iterationという手法で式（１８）をポリシーに対して最大化を行うことにより求めることができる。ここでは、計算時間の削減のため、近似手法であるPoint-based Value Iterationを用いる。
【００４９】
通常、対象となる所望の行動系列に対してＰＯＭＤＰによる行動生成の学習を行うと、所望の行動系列だけをシステムは実現しようとする。このため、人と人の行動の記録には、所望の行動系列だけではなく、様々な系列が含まれているのにもかかわらず、所望の行動系列以外の行動を選択しなくなる。よって、人と人との間のやり取りを再現しつつ、かつ、所望の行動系列にユーザを引き込むようなシステムを作る場合には、所望の行動系列だけを学習するだけでは不十分である。このような構成とすることで、システムを構成する際にはこれらの行動系列の統計情報も含めて、システムの行動制御を学習するため、所望の行動系列へ引き込みつつも、学習データの統計に従った行動制御を行うことができる。
【００５０】
＜状態分布更新部１４０及び状態確率分布記憶部１５０＞
以下、図３及び図４を用いて説明する。まず、状態分布更新部１４０は、観測値ｏｔ’を取得すると（ｓ３）、状態確率分布記憶部１５０に問合せて、一つ前の状態の確率分布ｂｔ−１（ｓ）を取得し、アクション記憶部１７０に問合せて、一つ前のアクションａｔ−１とを取得する（ｓ５）。
【００５１】
次に、状態分布更新部１４０は、取得した現在の観測値ｏｔ’と一つ前のアクションａｔ−１をキーとして、ＰＯＭＤＰ確率・報酬テーブル記憶部１１０を参照し、対応する状態遷移確率Ｐ（ｓ’｜ｓ，ａ）と観測値出力確率Ｐ（ｏ’｜ｓ’，ａ）を取得する（ｓ７）。
【００５２】
さらに、状態分布更新部１４０は、取得したＰ（ｓ’｜ｓ，ａ）と観測値出力確率Ｐ（ｏ’｜ｓ’，ａ）と、さらに、Ｐ（ａ｜ｓ）を用いて式（２）により、
【００５３】
【数１２】
0005427163.tif 000013
【００５４】
取得した一つ前の状態の確率分布ｂｔ−１（ｓ）を更新し、現在の状態の確率分布ｂｔ（ｓ’）を求める（ｓ９）。
【００５５】
なお、本実施例では、状態遷移確率Ｐ（ｓ’｜ｓ，ａ）及び観測値出力確率Ｐ（ｏ’｜ｓ’，ａ）を式（４）、（５）により近似しているので、
P(s'|s,a)≒P(so'|so,a)P(sa'|sa,so')    (4)
P(o'|s',a)≒P(o'|so')    (5)
現在の状態の確率分布を
【００５６】
【数１３】
0005427163.tif 000014
【００５７】
として求める。なお、現在の状態の確率分布ｂｔ（ｓ’）はアクション決定部１６０と状態確率分布記憶部１５０に出力される。
【００５８】
状態確率分布記憶部１５０は、現在の状態の確率分布ｂｔ（ｓ’）を記憶する（ｓ１０）。
状態の確率分布の更新式中にアクション確率Ｐ（ａ｜ｓ）を導入する点が従来技術と異なる。なお、図１と図２の違い（図２中の太線矢印）によりこのアクション確率Ｐ（ａ｜ｓ）が生じる。
【００５９】
アクション確率Ｐ（ａ｜ｓ）は、図５に示すような確率テーブルを予め図示しない記憶部に記憶しておいてもよいし、ａ＝ｓａのときにＰ（ａ｜ｓ）に１を代入し、ａ≠ｓａのときはＰ（ａ｜ｓ）に０を代入する構成としてもよい。但し、図５に示すようにａ≠ｓａのときにＰ（ａ｜ｓ）＝０とすると、認識誤りがあった場合に、システムが決定論的に動き、認識誤りを考慮していないため、式（２’）において、ｂｔ（ｓ’）がほとんど０になってしまう場合がある。このような場合にはシステムが動作しない。そこで、図７に示すようにａ≠ｓａのときにＰ（ａ｜ｓ）＝εとして、すべての状態が０になることを回避する。但し、εは非常に小さな値を示す。このように設定することで、認識誤りがあった場合にも停止せずに動作する行動制御装置を構成することができる。
【００６０】
なお、認識誤りを考慮した場合のアクション確率Ｐ（ａ｜ｓ）の設定方法は上述した方法に限定されるものではなく、例えば、ファジーロジックを使って設定してもよいし、アクション間にある距離を設定して、平滑化する手法等を用いてもよい。
【００６１】
＜アクション決定部１６０及びアクション記憶部１７０＞
アクション決定部１６０は、現在の状態の確率分布ｂｔ（ｓ’）を受け取り、関数πを用いて、現在の状態の確率分布ｂｔ（ｓ’）を引数としてシステムがとるべきアクションａｔ’を決定し（ｓ１１）、行動制御装置１００の出力値として出力する。また、アクションａｔ’をアクション記憶部１７０に出力する。
アクション記憶部１７０は、アクションａｔ’を記憶する（ｓ１２）。
最後の観測値までｓ３〜ｓ１２の処理を繰り返す（ｓ１３）。
【００６２】
＜効果＞
このような構成とすることによって、所望の行動系列を実現することができ、かつ、所望の行動系列以外のユーザの行動（観測値）に対しても学習データの統計に従った行動決定（自然なふるまい）を行うことができる。状態の確率分布を更新する際に、アクション確率を導入することにより、従来技術よりも、所望の行動系列以外のユーザの行動に対して学習データの統計に従った行動決定を行うことができる。
【００６３】
［シミュレーション結果］
実際の対話からＰＯＭＤＰ確率・報酬を生成し、それを用いてポリシーを学習し、そのＰＯＭＤＰ確率とポリシーを記憶した行動制御装置に対し観測値を入力し、その観測値に対するアクションが、自然か否かを評価する実験を行った。行動制御装置において、状態の確率分布の更新式中にアクション確率Ｐ（ａ｜ｓ）を入れるか入れないかで、その評価がどのように変わるかを調べた。
【００６４】
アクションと観測値には、２９種類の行動（シンボル）が付与されるものとする。実験では、実際の対話データに対して、これらの行動（シンボル）を人手で付与した。以下に、実際の対話データの例を示す。ユーザと動物の好き嫌いについて話すシステムを想定している。
システム：どんな動物が好きですか？
システム：私はホタルが好きなんですよ
ユーザ：私も大好きです
システム：ホタルが好きなんですね
システム：ホタルが好きな理由を知りたいです
ユーザ：綺麗だから
システム：なるほどよくわかります
システム：私も好きです
システム：儚いから
【００６５】
この例のように、実際の対話データでは、行動は必ずしも、システム、ユーザ、交互には行われない。そこで何もしないという行動（シンボル）を追加し（全３０種）、行動が交互に出現するようにした。８００対話に対して行動（シンボル）を付与した。そして一連の行動系列が所望の行動系列であったか否かを５段階で人が評価し、評価値を行動系列に付与した。なお、所望の行動系列として、ユーザが親近感を感じる行動系列を選んだ。そのデータに基づきＤＢＮの学習とｔｒｉｇｒａｍの学習により、統計量を学習した。なお、二つのモデルは等価なので、何れの学習を用いても統計量は、同じ値となった。さらに、ＤＢＮからはＰＯＭＤＰ確率・報酬を生成し、生成したＰＯＭＤＰ確率・報酬に基づき、ポリシーを学習する。その際、所望の行動系列に対する報酬を０とおいた（式（１８）においてα＝０とした）。これは、提案によりどれだけ自然性が増すかのみを調べるためである。
【００６６】
ユーザの挙動をシミュレートするため、行動データから得られたｔｒｉｇｒａｍに基づいてランダムに観測値を選択し、状態の確率分布の更新式中にアクション確率Ｐ（ａ｜ｓ）を入れた行動制御装置と入れない行動制御装置に入力し、それぞれのアクションを取得した。シミュレーションではそれぞれ１０００対話を生成した。
【００６７】
以下の式に示す平均トライグラム確率がどのように変わるかを調べた。
【００６８】
【数１４】
0005427163.tif 000015
【００６９】
Ｋは対話の数、Ｌｉは個々の行動の長さである。この値は、生成された行動系列が、学習データのｔｒｉｇｒａｍ確率にどれだけ従っているかを表す尺度である。大きいほど、学習データの統計に従った対話系列を出力していると考えられる。なお、P(ait+1|ait,oit+1)は、ait,oit+1が与えられたときにait+1を生成するｔｒｉｇｒａｍ確率を表す。図８にその結果を示す。図８のようにＰ（ａ｜ｓ）を状態の確率分布の更新式中に導入する方がより学習データの統計に従った対話系列を出力している。つまり、学習データの統計に従った行動決定を行っていることが分かる。
【００７０】
＜プログラム及び記録媒体＞
上述した行動制御装置は、コンピュータにより機能させることもできる。この場合はコンピュータに、目的とする装置（実施例で図に示した機能構成をもつ装置）として機能させるためのプログラム、またはその処理手順（実施例で示したもの）の各過程をコンピュータに実行させるためのプログラムを、ＣＤ−ＲＯＭ、磁気ディスク、半導体記憶装置などの記録媒体から、あるいは通信回線を介してそのコンピュータ内にダウンロードし、そのプログラムを実行させればよい。
【００７１】
＜変形例＞
行動制御装置１００は、強化学習部１２０及びＰＯＭＤＰポリシー記憶部１３０を備えているが、これらの構成を別装置として構成してもよい。その場合、行動制御装置１００は、別装置で生成した関数πを取得し、アクション決定部１６０に記憶しておけばよい。なお、別装置で関数πを生成する場合には、行動制御装置１００が備えるＰＯＭＤＰ確率・報酬テーブル記憶部１１０には、状態遷移確率Ｐ（ｓ’｜ｓ，ａ）と観測値出力確率Ｐ（ｏ’｜ｓ’，ａ）のみを記憶する構成としてもよい。
【００７２】
本実施例では、計算量を削減するために、式（４）、（５）を用いて状態遷移確率Ｐ（ｓ’｜ｓ，ａ）、観測値出力確率Ｐ（ｏ’｜ｓ’，ａ）を近似し、さらに、式（２’）を用いて状態の確率分布の更新式を近似しているが、他の式により各値を近似してもよいし、近似せずに各値を求めてもよい。
【符号の説明】
【００７３】
１     行動データ記憶部
３     生成部
５     確率テーブル記憶部
７     変換部
１００ 行動制御装置
１１０ 確率・報酬テーブル記憶部
１２０ 強化学習部
１３０ ポリシー記憶部
１４０ 状態分布更新部
１５０ 状態確率分布記憶部
１６０ アクション決定部
１７０ アクション記憶部
【図１】
0005427163.tif 000020
【図２】
0005427163.tif 000021
【図３】
0005427163.tif 000022
【図４】
0005427163.tif 000023
【図５】
0005427163.tif 000024
【図６】
0005427163.tif 000025
【図７】
0005427163.tif 000026
【図８】
0005427163.tif 000027