(57)【特許請求の範囲】
【請求項１】
スポットに関して対話のシミュレーションを行う対話装置とシミュレーション装置とを具備する学習システムであり、前記対話装置が出力する文を決定する際に利用される重みベクトルを学習する学習システムであって、
前記対話装置は、
スポットと、当該スポットを決定するための要因である１以上の決定要因と、当該スポットの前記１以上の各決定要因の評価を示す評価値とを有するスポット情報を、２以上格納している知識ベースと、
情報推薦手法を識別する手法識別子と、当該情報推薦手法の評価情報と、評価情報を構成する各要素の重みを示す重みベクトルとを有する２以上の情報推薦手法を格納している情報推薦手法格納部と、
ユーザの状態を示す情報であり、１以上の各決定要因に対するユーザの嗜好を示す情報である嗜好ベクトルと、１以上の各決定要因に対するユーザの知識を示す知識ベクトルとを有するユーザ状態情報を格納しているユーザ状態情報格納部と、
前記シミュレーション装置から、ユーザが入力する文のパターンであるユーザ文種類を識別するユーザ文種類識別子、またはユーザ文種類識別子と１以上の決定要因または１以上のスポットのうちの１以上の情報とを有するユーザ入力情報を受け付けるユーザ入力情報受付部と、
前記情報推薦手法格納部に格納されている２以上の各情報推薦手法が有する評価情報および重みベクトルと、前記ユーザ状態情報とを用いて、前記２以上の各情報推薦手法に対する２以上のスコアを算出するスコア算出部と、
前記スコア算出部が算出した２以上のスコアを用いて、一の情報推薦手法を識別する手法識別子、または手法識別子と、１以上の決定要因または１以上のスポットのうちの１以上の情報とを有する対話文情報を構成する対話文情報構成部と、
前記対話文情報構成部が構成した対話文情報を、前記シミュレーション装置に送付する対話文出力部と、
前記ユーザ入力情報受付部が受け付けたユーザ入力情報、または前記対話文出力部が出力した対話文情報のうちの１以上の情報から、少なくとも１以上のスポットまたは１以上の決定要因を取得し、当該１以上のスポットまたは１以上の決定要因を用いて、前記ユーザ状態情報格納部のユーザ状態情報を更新するユーザ状態情報更新部とを具備し、
前記スコア算出部は、
前記情報推薦手法格納部に格納されている２以上の各情報推薦手法が有する評価情報および重みベクトルと、前記ユーザ状態情報更新部が更新したユーザ状態情報とを用いて、前記２以上の各情報推薦手法に対する２以上のスコアを算出し、
前記シミュレーション装置は、
各情報推薦手法と各ユーザ文種類との確率に関する情報である対話確率情報、決定要因が選択される確率に関する情報である決定要因確率情報、およびスポットが選択される確率に関する情報であるスポット確率情報とを格納し得る対話情報格納部と、
ユーザの嗜好を示すベクトルであるユーザ嗜好ベクトルを格納し得るユーザ嗜好ベクトル格納部と、
前記対話装置から対話文情報を受け付ける対話文情報受付部と、
前記対話文情報が有する手法識別子と前記対話確率情報とを用いて、ユーザ文種類を決定し、ユーザ文種類識別子を取得するユーザ文種類決定部と、
前記決定要因確率情報または前記スポット確率情報のうちの１以上の情報、または前記決定要因確率情報または前記スポット確率情報のうちの１以上の情報および前記対話文情報が有する１以上の決定要因または１以上のスポットのうちの１以上の情報とを用いて、１以上の決定要因または１以上のスポットを取得する決定要因等取得部と、
前記ユーザ文種類識別子、または前記ユーザ文種類識別子と１以上の決定要因または１以上のスポットのうちの１以上の情報とを有するユーザ入力情報を前記対話装置に送付するユーザ入力情報送付部と、
前記ユーザ嗜好ベクトルと、前記ユーザ入力情報に含まれるスポットの前記１以上の各決定要因の評価を示す１以上の評価値とを取得し、前記ユーザ嗜好ベクトルと前記１以上の評価値との合致度を算出し、当該合致度を用いて、前記ユーザ文種類識別子で識別されるユーザ文種類が選択される報酬を算出する報酬算出部と、
前記報酬を用いて、前記対話装置の前記手法識別子に対応する重みベクトルであり、前記対話装置の前記情報推薦手法格納部の重みベクトルを更新する学習部とを具備する学習システム。
【請求項２】
前記報酬算出部は、
前記スポット確率情報を用いて、ランダムにスポットを決定した場合の１以上の評価値と前記ユーザ嗜好ベクトルとの合致度の期待値を算出するランダム選択合致値算出手段と、
前記ユーザ嗜好ベクトルと、前記ユーザ入力情報に含まれるスポットの前記１以上の各決定要因の評価を示す１以上の評価値との合致度を算出する選択スポット合致度算出手段と、
前記ランダム選択合致値算出手段が算出した合致度の期待値と、前記選択スポット合致度算出手段が算出した合致度とを用いて、前記ユーザ入力情報に含まれるスポットが選択されたことの報酬を算出する報酬算出手段とを具備する請求項１記載の学習システム。
【請求項３】
前記ユーザ状態情報格納部は、
ユーザの状態を示す情報であり、１以上の各決定要因に対するユーザの嗜好を示す情報である嗜好ベクトルと、１以上の各決定要因に対するユーザの知識を示す知識ベクトルと、１以上の各決定要因に対するユーザの属性を示す情報である属性ベクトルとを有するユーザ状態情報を格納している請求項１または請求項２記載の学習システム。
【請求項４】
請求項１から請求項３いずれか学習システムを構成するシミュレーション装置。
【請求項５】
記録媒体に、
各情報推薦手法と各ユーザ文種類との確率に関する情報である対話確率情報、決定要因が選択される確率に関する情報である決定要因確率情報、およびスポットが選択される確率に関する情報であるスポット確率情報と、
ユーザの嗜好を示すベクトルであるユーザ嗜好ベクトルとを格納しており、
対話文情報受付部、ユーザ文種類決定部、決定要因等取得部、ユーザ入力情報送付部、報酬算出部および学習部により実現され得る学習方法であって、
前記対話文情報受付部が、対話装置から対話文情報を受け付ける対話文情報受付ステップと、
前記ユーザ文種類決定部が、前記対話文情報が有する手法識別子と前記対話確率情報とを用いて、ユーザ文種類を決定し、ユーザ文種類識別子を取得するユーザ文種類決定ステップと、
前記決定要因等取得部が、前記決定要因確率情報または前記スポット確率情報のうちの１以上の情報、または前記決定要因確率情報または前記スポット確率情報のうちの１以上の情報および前記対話文情報が有する１以上の決定要因または１以上のスポットのうちの１以上の情報とを用いて、１以上の決定要因または１以上のスポットを取得する決定要因等取得ステップと、
前記ユーザ入力情報送付部が、前記ユーザ文種類識別子、または前記ユーザ文種類識別子と１以上の決定要因または１以上のスポットのうちの１以上の情報とを有するユーザ入力情報を前記対話装置に送付するユーザ入力情報送付ステップと、
前記報酬算出部が、前記ユーザ嗜好ベクトルと、前記ユーザ入力情報に含まれるスポットの前記１以上の各決定要因の評価を示す１以上の評価値とを取得し、前記ユーザ嗜好ベクトルと前記１以上の評価値との合致度を算出し、当該合致度を用いて、前記ユーザ文種類識別子で識別されるユーザ文種類が選択される報酬を算出する報酬算出ステップと、
前記学習部が、前記報酬を用いて、前記対話装置の前記手法識別子に対応する重みベクトルであり、前記対話装置の前記情報推薦手法格納部の重みベクトルを更新する学習ステップとを具備する学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザと対話を行う対話装置であり、ユーザの意思決定を支援する対話装置が出力する文を決定する場合に利用する情報を学習する学習システム等に関するものである。
【背景技術】
【０００２】
相談型の音声対話システムは、意思決定支援システムの一種であると考えられる。意思決定支援のタスクは、オペレーションリサーチの研究分野において、多くの研究事例があり、代表的な手法として階層分析法(AHP法)がある（非特許文献１）。AHP法では、問題の要素を「最終目標」、「評価基準」、「代替案」の３階層に分け、ユーザの各評価基準に対する局所重み(重要度)を推定することにより最適な意思決定を行う。
【０００３】
かかるAHP法を、そのまま対話装置に適用することが考えられる。
【０００４】
また、従来、ユーザが入力したキーに対応する情報を検索し、提示する対話装置はあった。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Saaty,T.,The Analytic Hierarchy Process: Planning, Priority Setting, Resource Allocation, Mcgraw-Hill(1980)
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の音声対話システムにおいては、ユーザと対話を行う対話システムが文を出力するために必要な情報を構築するために多大な労力が必要であった。
【０００７】
また、上記のAHP法をそのまま対話装置に適用した場合、ユーザの意思決定の支援をするという目的を達成できる対話装置は構成できない。つまり、ユーザにとっての最適な決定を行うために、まず、評価基準に対する重みPuser=(p1,p2,・・・,pM)、および各代替案に対する各評価基準の観点からの局所重みVuser=(v11,v12,・・・,v1M,・・・,vnm)を決定する。最適な候補の決定は、優先度「Σm=1Mpmvkm」が最大となる代替案kを選択することで実現される。一般的なAHP法では、評価基準や代替案に対する一対比較により、上記の重みを決定がする。
【０００８】
しかし、ユーザにとって装置が提示可能な候補やドメイン知識は、対話を通じて初めて知ることができる情報である場合も多く、対話開始時点で全てが既知であることは少ない。また、対話装置において、多数の候補(代替案)や評価基準を扱う場合も多い。そのような状況下で、一対比較を行うのは非常に多くのやり取りが必要となるため、現実的ではない。
【０００９】
また、ユーザが入力したキーに対応する情報を提示するだけの対話装置では、ユーザの意思決定の支援をするという目的を達成できない。
【００１０】
そこで、本発明は、対話装置が出力する文を決定する場合に利用する情報を自動的に学習することを目的とする。
【００１１】
また、本発明は、ユーザとの対話の進行に応じて、ユーザの知識と嗜好とに関する情報を動的に変更しながら対話を行うことにより、ユーザの意思決定を適切に支援できる対話装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本第一の発明の学習システムは、スポットに関して対話のシミュレーションを行う対話装置とシミュレーション装置とを具備する学習システムであり、対話装置が出力する文を決定する際に利用される重みベクトルを学習する学習システムであって、対話装置は、スポットと、スポットを決定するための要因である１以上の決定要因と、スポットの１以上の各決定要因の評価を示す評価値とを有するスポット情報を、２以上格納している知識ベースと、情報推薦手法を識別する手法識別子と、情報推薦手法の評価情報と、評価情報を構成する各要素の重みを示す重みベクトルとを有する２以上の情報推薦手法を格納している情報推薦手法格納部と、ユーザの状態を示す情報であり、１以上の各決定要因に対するユーザの嗜好を示す情報である嗜好ベクトルと、１以上の各決定要因に対するユーザの知識を示す知識ベクトルとを有するユーザ状態情報を格納しているユーザ状態情報格納部と、シミュレーション装置から、ユーザが入力する文のパターンであるユーザ文種類を識別するユーザ文種類識別子、またはユーザ文種類識別子と１以上の決定要因または１以上のスポットのうちの１以上の情報とを有するユーザ入力情報を受け付けるユーザ入力情報受付部と、情報推薦手法格納部に格納されている２以上の各情報推薦手法が有する評価情報および重みベクトルと、ユーザ状態情報とを用いて、２以上の各情報推薦手法に対する２以上のスコアを算出するスコア算出部と、スコア算出部が算出した２以上のスコアを用いて、一の情報推薦手法を識別する手法識別子、または手法識別子と、１以上の決定要因または１以上のスポットのうちの１以上の情報とを有する対話文情報を構成する対話文情報構成部と、対話文情報構成部が構成した対話文情報を、シミュレーション装置に送付する対話文出力部と、ユーザ入力情報受付部が受け付けたユーザ入力情報、または対話文出力部が出力した対話文情報のうちの１以上の情報から、少なくとも１以上のスポットまたは１以上の決定要因を取得し、１以上のスポットまたは１以上の決定要因を用いて、ユーザ状態情報格納部のユーザ状態情報を更新するユーザ状態情報更新部とを具備し、スコア算出部は、情報推薦手法格納部に格納されている２以上の各情報推薦手法が有する評価情報および重みベクトルと、ユーザ状態情報更新部が更新したユーザ状態情報とを用いて、２以上の各情報推薦手法に対する２以上のスコアを算出し、シミュレーション装置は、各情報推薦手法と各ユーザ文種類との確率に関する情報である対話確率情報、決定要因が選択される確率に関する情報である決定要因確率情報、およびスポットが選択される確率に関する情報であるスポット確率情報とを格納し得る対話情報格納部と、ユーザの嗜好を示すベクトルであるユーザ嗜好ベクトルを格納し得るユーザ嗜好ベクトル格納部と、対話装置から対話文情報を受け付ける対話文情報受付部と、対話文情報が有する手法識別子と対話確率情報とを用いて、ユーザ文種類を決定し、ユーザ文種類識別子を取得するユーザ文種類決定部と、決定要因確率情報またはスポット確率情報のうちの１以上の情報、または決定要因確率情報またはスポット確率情報のうちの１以上の情報および対話文情報が有する１以上の決定要因または１以上のスポットのうちの１以上の情報とを用いて、１以上の決定要因または１以上のスポットを取得する決定要因等取得部と、ユーザ文種類識別子、またはユーザ文種類識別子と１以上の決定要因または１以上のスポットのうちの１以上の情報とを有するユーザ入力情報を対話装置に送付するユーザ入力情報送付部と、ユーザ嗜好ベクトルと、ユーザ入力情報に含まれるスポットの１以上の各決定要因の評価を示す１以上の評価値とを取得し、ユーザ嗜好ベクトルと１以上の評価値との合致度を算出し、合致度を用いて、ユーザ文種類識別子で識別されるユーザ文種類が選択される報酬を算出する報酬算出部と、報酬を用いて、対話装置の手法識別子に対応する重みベクトルであり、対話装置の情報推薦手法格納部の重みベクトルを更新する学習部とを具備する学習システムである。
【００１３】
かかる構成により、ユーザと対話を行う対話装置が文を出力するために必要な重みベクトルを自動的に構築できる。
【００１４】
また、本第二の発明の学習システムは、第一の発明に対して、報酬算出部は、スポット確率情報を用いて、ランダムにスポットを決定した場合の１以上の評価値とユーザ嗜好ベクトルとの合致度の期待値を算出するランダム選択合致値算出手段と、ユーザ嗜好ベクトルと、ユーザ入力情報に含まれるスポットの１以上の各決定要因の評価を示す１以上の評価値との合致度を算出する選択スポット合致度算出手段と、ランダム選択合致値算出手段が算出した合致度の期待値と、選択スポット合致度算出手段が算出した合致度とを用いて、ユーザ入力情報に含まれるスポットが選択されたことの報酬を算出する報酬算出手段とを具備する学習システムである。
【００１５】
かかる構成により、ユーザと対話を行う対話装置が文を出力するために必要な重みベクトルを自動的に構築できる。
【００１６】
また、本第三の発明の対話装置は、スポットに関してユーザと対話を行う対話装置であり、スポットと、スポットを決定するための要因である１以上の決定要因と、スポットの１以上の各決定要因の評価を示す評価値とを有するスポット情報を、２以上格納している知識ベースと、対話装置が出力する文または対話装置が出力する文のパターンを示す情報である文パターン情報と、文パターン情報を選択する際に利用される文パターン情報の評価情報とを有する２以上の情報推薦手法を格納している情報推薦手法格納部と、ユーザの状態を示す情報であり、１以上の各決定要因に対するユーザの嗜好を示す情報である嗜好ベクトルと、１以上の各決定要因に対するユーザの知識を示す知識ベクトルとを有するユーザ状態情報を格納しているユーザ状態情報格納部と、ユーザが入力した文を受け付ける受付部と、ユーザ状態情報を、情報推薦手法格納部に格納されている２以上の各情報推薦手法が有する評価情報に適用し、２以上の各情報推薦手法に対する２以上のスコアを算出するスコア算出部と、スコア算出部が算出した２以上のスコアを用いて、一の情報推薦手法が有する文パターン情報を取得し、文パターン情報から文を構成する文構成部と、文構成部が構成した文を出力する文出力部と、受付部が受け付けた文、または文出力部が出力した文のうちの１以上の文から、少なくとも１以上のスポットまたは１以上の決定要因を取得し、１以上のスポットまたは１以上の決定要因を用いて、ユーザ状態情報格納部のユーザ状態情報を更新するユーザ状態情報更新部とを具備し、スコア算出部は、ユーザ状態情報更新部が更新したユーザ状態情報を、情報推薦手法格納部に格納されている２以上の各情報推薦手法が有する評価情報に適用し、２以上の各情報推薦手法に対する２以上のスコアを算出する対話装置である。
【００１７】
かかる構成により、ユーザとの対話の進行に応じて、ユーザの知識と嗜好とに関する情報を動的に変更しながら対話を行うことにより、ユーザの意思決定を適切に支援できる。
【００１８】
また、本第四の発明の対話装置は、第三の発明に対して、文構成部は、スコア算出部が算出した２以上のスコアのうち最も大きいスコアに対応する一の情報推薦手法が有する文パターン情報を取得する文パターン情報取得手段と、文パターン情報取得手段が取得した文パターン情報に含まれる１以上の変数を取得し、変数に対応するスポットまたは決定要因を、文出力部が直前に出力した文、または受付部が直前に受け付けた文のうちの１以上の文から取得する変数値取得手段と、文パターン情報取得手段が取得した文パターン情報の変数の箇所に、変数値取得手段が取得した用語を挿入して文を構成する文構成手段とを具備する対話装置である。
【００１９】
かかる構成により、ユーザとの対話の進行に応じて、ユーザの知識と嗜好とに関する情報を動的に変更しながら対話を行うことにより、ユーザの意思決定を適切に支援できる。
【００２０】
また、本第五の発明の対話装置は、第四の発明に対して、変数値取得手段は、文パターン情報取得手段が取得した文パターン情報に含まれる１以上の変数を取得し、変数に対応する候補となる１以上のスポットまたは１以上の決定要因を、文出力部が直前に出力した文、または受付部が直前に受け付けた文のうちの１以上の文から取得し、候補となる１以上のスポットまたは１以上の決定要因から、候補となる１以上のスポットまたは１以上の決定要因に対応する知識ベースの評価値を用いて、変数に対応するスポットまたは決定要因を選択する対話装置である。
【００２１】
かかる構成により、ユーザとの対話の進行に応じて、ユーザの知識と嗜好とに関する情報を動的に変更しながら対話を行うことにより、ユーザの意思決定を適切に支援できる。
【００２２】
また、本第六の発明の対話装置は、第三から第五いずれかの発明に対して、ユーザ状態情報更新部は、受付部が受け付けた文から少なくとも１以上の決定要因を取得するユーザ提示用語取得手段と、文出力部が出力した文のうちの１以上の文から、少なくとも１以上の決定要因を取得する装置提示用語取得手段と、ユーザ提示用語取得手段が取得した１以上の決定要因に対する嗜好ベクトルの要素の値を高くするように更新する嗜好ベクトル更新手段と、装置提示用語取得手段が取得した１以上の決定要因に対する知識ベクトルの要素の値を高くするように更新する知識ベクトル更新手段とを具備する対話装置である。
【００２３】
かかる構成により、ユーザとの対話の進行に応じて、ユーザの知識と嗜好とに関する情報を動的に変更しながら対話を行うことにより、ユーザの意思決定を適切に支援できる。
【００２４】
また、本第七の発明の対話装置は、第三から第六いずれかの発明に対して、受付部は、ユーザが入力した音声を受け付ける音声受付手段と、音声を認識し、文字列に変換する音声認識手段とを具備し、文出力部は、文構成部が構成した文を音声出力する対話装置である。
【００２５】
かかる構成により、ユーザとの音声対話の進行に応じて、ユーザの知識と嗜好とに関する情報を動的に変更しながら音声対話を行うことにより、ユーザの意思決定を適切に支援できる。
【発明の効果】
【００２６】
本発明による学習システムによれば、ユーザと対話を行う対話装置が文を出力するために必要な重みベクトルを自動的に構築できる。
【図面の簡単な説明】
【００２７】
【図１】実施の形態１における学習システムの概念図
【図２】同学習システムを構成する対話装置のブロック図
【図３】同学習システムを構成するシミュレーション装置のブロック図
【図４】同対話装置の動作について説明するフローチャート
【図５】同スコア算出処理の動作について説明するフローチャート
【図６】同構成処理の動作について説明するフローチャート
【図７】同ユーザ状態情報更新処理の動作について説明するフローチャート
【図８】同ユーザ状態情報更新処理の動作について説明するフローチャート
【図９】同シミュレーション装置の動作について説明するフローチャート
【図１０】同報酬算出処理の動作について説明するフローチャート
【図１１】同スポット情報管理表の一例を示す図
【図１２】同情報推薦手法管理表の一例を示す図
【図１３】同対話確率情報管理表を示す図
【図１４】同シミュレーション対話数と、各数のターン後の報酬の関係を示す図
【図１５】同ベースライン手法との報酬の比較結果を示す図
【図１６】同ベースライン手法との報酬の比較結果を示す図
【図１７】実施の形態２における対話装置のブロック図
【図１８】同対話装置の動作について説明するフローチャート
【図１９】同スコア算出処理の動作について説明するフローチャート
【図２０】同文構成処理の動作について説明するフローチャート
【図２１】同推薦文取得処理の動作について説明するフローチャート
【図２２】同ユーザ状態情報更新処理の動作について説明するフローチャート
【図２３】同対話装置の概念図
【図２４】同対話の流れを説明する図
【図２５】同コンピュータシステムの概観図
【図２６】同コンピュータシステムのブロック図
【発明を実施するための形態】
【００２８】
以下、学習システム等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
（実施の形態１）
【００２９】
本実施の形態においてシミュレーション装置と対話装置との対話を自動生成し、報酬を決定し、重みベクトルを更新していく学習システムについて説明する。なお、重みベクトルとは、ユーザ状態情報の各要素に対する重みの集合である。
【００３０】
なお、対話装置は、ユーザが装置から情報の提示や情報の推薦を受けながら、候補を選択する相談型の対話装置を、シミュレーション装置対応にした装置である。
【００３１】
本実施の形態において、対話装置は、複数の候補（ここでは、主として、スポットと言う）の中からユーザに適した候補を選択する相談型対話のモデルを実装する対話装置である。
【００３２】
図１は、本実施の形態における学習システムの概念図である。学習システムは、対話装置１とシミュレーション装置２を具備する。対話装置１とシミュレーション装置２とは、対話を示すデータである対話データ（後述する対話文情報およびユーザ入力情報）をやりとりしながら、シミュレーション装置２が対話装置１の重みベクトルを更新する。かかる更新を学習と適宜言うこととする。また、図１において、対話装置１とシミュレーション装置２とは、２つの装置であるが、一つの装置でも良い。
【００３３】
図２は、本実施の形態における学習システムを構成する対話装置１の内部構造を示すブロック図である。
【００３４】
対話装置１は、知識ベース１１、情報推薦手法格納部１２、ユーザ状態情報格納部１３、ユーザ入力情報受付部１４、スコア算出部１５、対話文情報構成部１６、対話文出力部１７、ユーザ状態情報更新部１８を具備する。
【００３５】
対話文情報構成部１６は、手法識別子取得手段１６１、変数値取得手段１６２、対話文情報構成手段１６３を具備する。
【００３６】
ユーザ状態情報更新部１８は、ユーザ提示用語取得手段１８１、装置提示用語取得手段１８２、嗜好ベクトル更新手段１８３、知識ベクトル更新手段１８４を具備する。
【００３７】
図３は、本実施の形態における学習システムを構成するシミュレーション装置２の内部構造を示すブロック図である。
【００３８】
シミュレーション装置２は、知識ベース１１、対話情報格納部２１、ユーザ嗜好ベクトル格納部２２、対話文情報受付部２３、ユーザ文種類決定部２４、決定要因等取得部２５、ユーザ入力情報送付部２６、報酬算出部２７、学習部２８を具備する。
【００３９】
報酬算出部２７は、ランダム選択合致値算出手段２７１、選択スポット合致度算出手段２７２、報酬算出手段２７３を具備する。
【００４０】
なお、対話装置１とシミュレーション装置２とは、知識ベース１１を共用しても良いことは言うまでもない。
【００４１】
知識ベース１１は、２以上のスポット情報を格納している。スポット情報とは、スポットと、１以上の決定要因と、評価値とを有する情報である。スポットとは、スポットを識別する情報と同意義であり、例えば、スポット名である。スポットとは、観光のスポット、レストラン、店舗など、通常、ユーザが訪れる場所である。ただし、対話の対象となるものであれば何でも良い。例えば、スポットとは、企業、人の集まり、概念などでも良く、広く解する。また、決定要因は、スポットを決定するための要因である。また、決定要因は、スポットの属性とも言える。決定要因は、スポットの評価の観点とも言える。スポットが観光地である場合、決定要因は、例えば、「庭園で有名」「混雑していない」「世界遺産」「景色がいい」などである。また、評価値は、スポットの１以上の各決定要因の評価を示す情報である。評価値は、「１（○），０（×）」などの２値（２段階）でも良いし、１から５の整数などの多段階でも良い。評価値は、スポットが決定要因に当てはまるか否かを示す評価の値である。スポット情報は、スポットと決定要因に対応する説明文を有しても良い。スポット情報が説明文を有する場合、通常、一のスポットと一の決定要因ごとに説明文を有する。
【００４２】
情報推薦手法格納部１２は、２以上の情報推薦手法を格納している。情報推薦手法は、ここでは、手法識別子と、文パターン情報と、評価情報と、重みベクトルとを有する。手法識別子は、情報推薦手法を識別する情報である。文パターン情報は、対話装置１が出力する文または対話装置１が出力する文のパターンを示す情報である。評価情報は、文パターン情報を選択する際に利用される文パターン情報の評価のための情報である。評価情報は、情報推薦手法を評価するための情報である、とも言える。評価情報は、例えば、後述するように２９の要素を有するベクトルである。重みベクトルは、評価情報を構成する各要素の重みを示すベクトルである。なお、情報推薦手法において、文パターン情報は必須ではない。情報推薦手法は、手法識別子と、評価情報と、重みベクトルとからなっていても良い。
【００４３】
また、情報推薦手法には、例えば、以下の６つの手法がある。（１）現在話題のスポットに関する情報推薦（手法１）、（２）現在話題の決定要因に関する情報推薦（手法２）、（３）オープンプロンプト（手法３）、（４）決定要因の提示１（手法４）、（５）決定要因の提示２（手法５）、（６）ユーザが、興味があると推定されるスポットの推薦（手法６）である。手法１は、手法識別子「１」と、直前に説明したスポットについて、詳細な説明を推薦する文パターン情報と、文パターン情報の評価情報と、重みベクトルとを有する現在話題スポット情報推薦手法である。手法２は、手法識別子「２」と、直前に説明した決定要因に関連した別の観光スポットを推薦する文パターン情報と、文パターン情報の評価情報と、重みベクトルとを有する現在話題決定要因情報推薦手法である。手法３は、手法識別子「３」と、特に情報を推薦せず、オープンプロンプトを示す文パターン情報と、文パターン情報の評価情報と、重みベクトルとを有するオープンプロンプト情報推薦手法である。手法４は、対話装置１が説明可能な決定要因を提示する手法である。手法４が選択された場合、対話装置１が推定するユーザの知識が低い決定要因から選択する。手法５は、手法４と同様に、対話装置１が説明可能な決定要因を提示する手法である。手法５が選択された場合、対話装置１が推定するユーザの知識が高い決定要因から選択する。手法６は、対話装置１が推定するユーザの興味に基づいて、ユーザが最も興味を示すと考えられるスポットkを選択し、ユーザに提示する手法である。
【００４４】
ユーザ状態情報格納部１３は、ユーザの状態を示す情報であり、１以上の各決定要因に対するユーザの嗜好を示す情報である嗜好ベクトルと、１以上の各決定要因に対するユーザの知識を示す知識ベクトルとを有するユーザ状態情報を格納している。また、ユーザ状態情報は、ユーザの１以上の属性値を示す情報である属性ベクトルを有しても良い。ユーザの属性値とは、例えば、性別（男性または女性）、年齢層（１０代，２０代，３０代，団塊の世代団塊ジュニアなど）、職業、出身地、支持政党等である。
【００４５】
ユーザ状態情報は、ユーザの決定要因の観点からのスポットに対する重要度を示す１以上の局所重みに関する情報である局所重み情報を含むことは好適である。ユーザの決定要因mの観点からのスポットnに対する局所重みvnmは、例えば、対話装置１が情報推薦手法１または情報推薦手法２または情報推薦手法６を用いてユーザにスポットの評価を知らせた場合に「１」をとるものとする。なお、これは、ユーザは、対話装置１から提示された情報のみから判断すると仮定している。また、ユーザ状態情報格納部１３のユーザ状態情報は、対話の進行とともに、動的に変更される。
【００４６】
また、ユーザ状態情報は、対話装置１とシミュレーション装置２との現在までの対話の量を示す情報である対話量情報を有することは好適である。また、ユーザ状態情報は、直前に対話装置１が送付した対話文情報に対応する決定要因に関する情報、または直前にシミュレーション装置２から受け付けたユーザ入力情報に対応する決定要因に関する情報のいずれか１以上の情報を含むことは好適である。
【００４７】
ユーザ入力情報受付部１４は、シミュレーション装置２から、ユーザ入力情報を受け付ける。ユーザ入力情報とは、ユーザ文種類識別子を有する情報、またはユーザ文種類識別子と１以上の決定要因または１以上のスポットのうちの１以上の情報とを有する情報である。ユーザ文種類識別子とは、ユーザが入力する文のパターンを識別する情報である。
【００４８】
スコア算出部１５は、情報推薦手法格納部１２に格納されている２以上の各情報推薦手法が有する評価情報および重みベクトルと、ユーザ状態情報とを用いて、２以上の各情報推薦手法に対する２以上のスコアを算出する。また、スコア算出部１５は、情報推薦手法格納部１２に格納されている２以上の各情報推薦手法が有する評価情報および重みベクトルと、ユーザ状態情報更新部１８が更新したユーザ状態情報とを用いて、２以上の各情報推薦手法に対する２以上のスコアを算出する。
【００４９】
スコア算出部１５は、通常、対話文出力部１７が対話文を出力する前（直前であるとは限らない）に、スコアを算出する。なお、スコア算出部１５は、ユーザ入力情報受付部１４がユーザ入力情報を受け付けるごとに、スコアを算出することは好適である。また、ここで、スコア算出部１５は、例えば、演算式「スコア＝ｆ（ユーザ状態情報，重みベクトル）」によりスコアを算出することである。また、例えば、ｆは「スコア＝ユーザ状態情報×重みベクトル」である。つまり、スコア算出部１５は、次に対話装置１が出力すべき文の文パターン情報を決定するために、文パターン情報と対応付けて管理されている評価情報と動的に変化するユーザ状態情報とを用いて、情報推薦手法ごとにスコアを算出する。
【００５０】
対話文情報構成部１６は、スコア算出部１５が算出した２以上のスコアを用いて、対話文情報を構成する。通常、対話文情報構成部１６は、スコア算出部１５が算出した最大のスコアに対応する情報推薦手法を識別する手法識別子を有する対話文情報を構成する。なお、対話文情報は、手法識別子を有する。対話文情報は、１以上の決定要因または１以上のスポットのうちの１以上の情報を有することは好適である。手法識別子は、一の情報推薦手法を識別する情報である。
【００５１】
手法識別子取得手段１６１は、スコア算出部１５が算出した２以上のスコアのうち最も大きいスコアに対応する一の情報推薦手法を識別する手法識別子を、情報推薦手法格納部１２から取得する。
【００５２】
変数値取得手段１６２は、対話文出力部１７が直前に出力した対話文情報、またはユーザ入力情報受付部１４が直前に受け付けたユーザ入力情報のうちの１以上の情報から、１以上のスポットまたは１以上の決定要因のうちの１以上の情報を取得する。
【００５３】
対話文情報構成手段１６３は、手法識別子取得手段１６１が取得した手法識別子、変数値取得手段１６２が取得した１以上のスポットまたは１以上の決定要因のうちの１以上の情報から、対話文情報を構成する。
【００５４】
なお、スコア算出部１５、および対話文情報構成部１６により、システムの行動ａｓｙｓ（ｃａｓｙｓ）は、以下の数式１が示すソフトマックス政策に基づいて選択される。なお、システムの行動とは、対話文情報が有する手法識別子である。
【数１】
0005545489.tif 000002
【００５５】
数式１において、Ｓはユーザ状態情報である。ｋは、手法識別子である。また、θは、パラメータの集合であり、（θ１１，θ１２，...，θ１Ｉ，...，θＪＩ）は，Ｊ（手法数）×Ｉ（特徴量数）個のパラメータからなる．パラメータθｊｉは，行動ｊのｉ番目の特徴量に対する重みであり、手法ｊの選択されやすさを決定する。このθが、学習システムにおける学習の対象である。なお。学習には、好ましくは強化学習が用いられる。
【００５６】
対話文出力部１７は、対話文情報構成部１６が構成した対話文情報を、シミュレーション装置２に送付する。
【００５７】
ユーザ状態情報更新部１８は、ユーザ入力情報受付部１４が受け付けたユーザ入力情報、または対話文出力部１７が出力した対話文のうちの１以上の情報から、少なくとも１以上のスポットまたは１以上の決定要因を取得し、当該１以上のスポットまたは１以上の決定要因を用いて、ユーザ状態情報格納部１３のユーザ状態情報を更新する。そして、ユーザ状態情報更新部１８は、通常、取得したスポットまたは決定要因についてのユーザ状態情報を構成する要素の値（嗜好ベクトルや知識ベクトルや属性ベクトルなどの要素）が上昇するようにユーザ状態情報を更新する。ユーザ状態情報更新部１８は、取得したスポットまたは決定要因についてのユーザ状態情報を構成する要素の値をどのような演算式やアルゴリズムで上昇されるかは問わない。ユーザ状態情報更新部１８は、取得したスポットまたは決定要因についてのユーザ状態情報を構成する要素の値を、定数を加算することにより上昇させても良いし、定数を乗算することにより上昇させても良いし、その他の増加関数により上昇させても良い。
また、ユーザ状態情報更新部１８は、通常、ユーザ入力情報受付部１４がユーザ入力情報を受け付けるごとに更新する。ただし、ユーザ状態情報更新部１８は、対話文出力部１７が対話文を送付するごとに更新しても良い。
【００５８】
ユーザ提示用語取得手段１８１は、ユーザ入力情報受付部１４が受け付けたユーザ入力情報から少なくとも１以上の決定要因を取得する。ユーザ提示用語取得手段１８１は、肯定的な決定要因のみを取得しても良いし、肯定／否定を検知して、各カテゴリー（肯定／否定）ごとに決定要因を取得しても良い。また、ユーザ提示用語取得手段１８１は、着目決定要因を取得しても良い。
【００５９】
装置提示用語取得手段１８２は、対話文出力部１７が出力した対話文から、少なくとも１以上の決定要因を取得する。なお、対話文出力部１７が出力した対話文とは、対話文情報構成部１６が構成した対話文と同意義である。また、装置提示用語取得手段１８２は、肯定的な決定要因のみを取得しても良いし、肯定／否定を検知して、各カテゴリー（肯定／否定）ごとに決定要因を取得しても良い。また、装置提示用語取得手段１８２は、着目決定要因を取得しても良い。
【００６０】
嗜好ベクトル更新手段１８３は、ユーザ提示用語取得手段１８１が取得した１以上の決定要因に対する嗜好ベクトルの要素の値を高くするように、ユーザ状態情報を更新する。また、嗜好ベクトル更新手段１８３は、装置提示用語取得手段１８２が取得した１以上の決定要因の中で、ユーザ提示用語取得手段１８１が取得できなかった１以上の決定要因に対する嗜好ベクトルの要素の値を低くするように、ユーザ状態情報を更新する。これは、対話装置１が出力したが、シミュレーション装置２に選択されなかった決定要因の値を低くすることである。
【００６１】
知識ベクトル更新手段１８４は、装置提示用語取得手段１８２が取得した１以上の決定要因に対する知識ベクトルの要素の値を高くするように、ユーザ状態情報を更新する。
なお、ユーザ状態情報更新部１８は、ユーザ提示用語取得手段１８１が取得した１以上の決定要因に対する属性ベクトルの要素の値を変更し、ユーザ状態情報を更新する属性ベクトル更新手段１８５を具備しても良い。
【００６２】
シミュレーション装置２を構成する対話情報格納部２１は、対話確率情報、決定要因確率情報、およびスポット確率情報とを格納し得る。対話確率情報とは、各情報推薦手法と各ユーザ文種類との確率に関する情報である。対話確率情報は、例えば、（手法識別子，ユーザ文種類識別子，ユーザ文種類，確率）の情報が、手法識別子とユーザ文種類識別子との組み合わせの数だけ有する。かかる場合、確率は、手法識別子で識別される手法に対応する文が対話装置から送付された場合に、シミュレーション装置２がユーザ文種類識別子で識別される種類の文を生成する（対話装置１に送信する）確率である。決定要因確率情報とは、決定要因が選択される確率に関する情報である。決定要因確率情報は、例えば、（決定要因，確率）の集合である。決定要因確率情報は、関連する２以上の決定要因確率情報を有するグループごとに、管理されている。スポット確率情報は、スポットが選択される確率に関する情報である。なお、すべてのスポットが選択される確率が同じである場合、スポット確率情報は不要である。また、ユーザ文種類とは、ユーザの回答の種類であるとも言えるし、ユーザが入力する文の種類であるとも言える。ユーザの回答、ユーザが入力する文は、ここではシミュレーション装置２が対話装置１に送付する情報とも言える。
【００６３】
ユーザ嗜好ベクトル格納部２２は、ユーザの嗜好を示すベクトルであるユーザ嗜好ベクトルを格納し得る。ユーザ嗜好ベクトルは、２以上の各決定要因に対する嗜好を示す値の集合である。各決定要因に対する値は「０」または「１」のどちらかであっても良いし、多段階（例えば、１から５のいずれかの整数等）であっても良い。
【００６４】
対話文情報受付部２３は、対話装置１から対話文情報を受け付ける。ここでの受け付けとは、通常、情報の受け渡しである。なお、対話文情報は、手法識別子を有する。対話文情報は、１以上の決定要因または１以上のスポットのうちの１以上の情報を有することは好適である。
【００６５】
ユーザ文種類決定部２４は、対話文情報が有する手法識別子と対話確率情報とを用いて、ユーザ文種類を決定し、ユーザ文種類識別子を取得する。ユーザ文種類決定部２４は、対話文情報が有する手法識別子と対になる確率とユーザ文種類識別子とを、対話確率情報から取得し、当該確率に応じて、ユーザ文種類識別子を取得する。
【００６６】
決定要因等取得部２５は、１以上の決定要因または１以上のスポットを取得する。決定要因等取得部２５は、決定要因確率情報またはスポット確率情報のうちの１以上の情報を用いて、１以上の決定要因または１以上のスポットを取得する。また、決定要因等取得部２５は、決定要因確率情報またはスポット確率情報のうちの１以上の情報および対話文情報が有する１以上の決定要因または１以上のスポットのうちの１以上の情報とを用いて、１以上の決定要因または１以上のスポットを取得する。例えば、対話文情報が３つのスポットを有する場合、決定要因等取得部２５は、スポット確率情報が有する前記３つの各スポットの確率に応じて、一のスポットを取得する。なお、決定要因等取得部２５は、対話文情報の中にスポットが含まれない場合、スポット確率情報が有する確率に応じて、一のスポットを取得することは好適である。
【００６７】
ユーザ文種類決定部２４と決定要因等取得部２５とにより、システムの行動ａｔｓｙｓに対するユーザの発話行為ｃａｔｕｓｅｒ、意味内容ｓｃｔｕｓｅｒが取得される。ユーザ文種類決定部２４と決定要因等取得部２５とは、以下の数式２を用いて、ユーザの発話行為と意味内容とを取得する。ここでユーザの発話行為とは、ユーザ文種類識別子である。また、意味内容とは、１以上の決定要因または１以上のスポットのうちの１以上の情報である。
【数２】
0005545489.tif 000003
【００６８】
すなわち、数式２は、ユーザの発話行為ｃａｔｕｓｅｒは、条件付き確率Ｐｒ（ｃａｔｕｓｅｒ｜ｃａｔｓｙｓ）に基づいて、取得される。条件付き確率は、上述した対話確率情報である。ユーザ発話の意味内容ｓｃｔｕｓｅｒは，ユーザの知識下にあるユーザの嗜好に基づいて決定される。ｓｃは，ユーザが知っている（ｋｍ＝１）決定要因の中から，ユーザが興味の有無に基づいて（コーパスの統計に基づいて）取得される。
【００６９】
ユーザ入力情報送付部２６は、ユーザ入力情報を対話装置１に送付する。ユーザ入力情報は、ユーザ文種類識別子を有する。また、ユーザ入力情報は、ユーザ文種類識別子と１以上の決定要因または１以上のスポットのうちの１以上の情報とを有しても良い。ここでのユーザ文種類識別子は、ユーザ文種類決定部２４が取得したユーザ文種類識別子である。また、１以上の決定要因または１以上のスポットは、決定要因等取得部２５が取得した情報である。
【００７０】
報酬算出部２７は、決定要因等取得部２５が取得したスポットが選択された場合の報酬を算出する。報酬算出部２７は、決定要因等取得部２５が取得したスポットの１以上の各決定要因の評価を示す１以上の評価値を、知識ベース１１から取得する。そして、報酬算出部２７は、ユーザ嗜好ベクトル格納部２２からユーザ嗜好ベクトルを読み出す。そして、報酬算出部２７は、読み出したユーザ嗜好ベクトルと、取得したスポットの１以上の各決定要因の評価を示す１以上の評価値（適宜、「スポット評価ベクトル」という）との合致度を算出し、合致度を用いて、ユーザ文種類識別子で識別されるユーザ文種類が選択される報酬を算出する。例えば、ユーザ嗜好ベクトルが（１，０，１，１，１）、取得したスポット評価ベクトルが（１，１，０，１，１）である場合、合致度は「３」とする。合致度は、例えば、ユーザ嗜好ベクトルとスポット評価ベクトルとで、一致している要素の数である。また、報酬算出部２７は、後述するランダム選択合致値算出手段２７１、選択スポット合致度算出手段２７２、および報酬算出手段２７３を用いて、ランダムにスポットを決定した場合と、決定要因等取得部２５が取得したスポットが選択された場合とを比較し、報酬を算出することは好適である。
報酬算出部２７は、例えば、以下の数式３の報酬関数を用いて、報酬を算出する。
【数３】
0005545489.tif 000004
【００７１】
報酬関数は、ユーザが選択したスポットが持つ属性（１以上の評価値）と、ユーザの嗜好（ユーザ嗜好ベクトル）との一致率を基に報酬を算出する関数である。ユーザは、現在の対話状態における知識Ｋｕｓｅｒと局所重みＶｕｓｅｒの下で、最も優先度（Σｍｋｋ・ｐｋ・ｖｋｍ）が高いスポットｋを選択するものとする。報酬Ｒは、ユーザが決定したスポットｋが，ランダムにスポットを決定した場合と比較してどれだけよい選択であるかに基づいて与えられる。数式３において、Ｍは、１以上の評価値の数であり、ユーザ嗜好ベクトルの要素の数であり、例えば、２９である。数式３において、Ｎは、スポットの数である。また、数式３において、ｐｍは、ユーザ嗜好ベクトルである。また、ｅｋ，ｍは、スポットｋの評価情報の各要素である。
【００７２】
ランダム選択合致値算出手段２７１は、スポット確率情報を用いて、ランダムにスポットを決定した場合の１以上の評価値とユーザ嗜好ベクトルとの合致度の期待値を算出する。なお、スポット確率情報が、すべてのスポットについて同一でも良く、かかる場合、「ランダムにスポットを決定した場合」とは、「均等な割合でスポットを決定した場合」という意味である。
【００７３】
選択スポット合致度算出手段２７２は、ユーザ嗜好ベクトルと、ユーザ入力情報に含まれるスポットの１以上の各決定要因の評価を示す１以上の評価値との合致度を算出する。また、選択スポット合致度算出手段２７２は、決定要因等取得部２５が決定したスポットの１以上の各決定要因の評価を示す１以上の評価値と、ユーザ嗜好ベクトルとの合致度を算出しても良い。ユーザ入力情報に含まれるスポット、または決定要因等取得部２５が決定したスポットをここでの着目スポットという。
【００７４】
報酬算出手段２７３は、ランダム選択合致値算出手段２７１が算出した合致度の期待値と、選択スポット合致度算出手段２７２が算出した合致度とを用いて、ユーザ入力情報に含まれるスポットが選択されたことの報酬を算出する。
【００７５】
学習部２８は、報酬を用いて、対話装置１の手法識別子に対応する重みベクトルであり、対話装置１の情報推薦手法格納部１２の重みベクトルを更新する。学習部２８は、例えば、報酬が正の数の場合、対話文情報が有する情報推薦手法がより選択されやすくなるように、対話装置１の手法識別子に対応する重みベクトルを更新する。この重みベクトルは、情報推薦手法格納部１２の重みベクトルである。ここで更新とは、学習部２８が情報推薦手法格納部１２の重みベクトルを、直接的に書き換えても良いし、対話装置１に更新を指示しても良い。対話装置１が更新の指示を受け付けた場合、対話装置１は重みベクトルを書き換える、とする。学習部２８が重みベクトルを更新する方法や度合いは問わない。通常、報酬が大きいほど、学習部２８は、対話文情報が有する情報推薦手法がより選択されやすくなるように、報酬の大きさに応じて、対話装置１の手法識別子に対応する重みベクトルを更新する。また、学習部２８は、例えば、報酬が負の数の場合、対話文情報が有する情報推薦手法がより選択されにくくなるように、対話装置１の手法識別子に対応する重みベクトルを更新する。例えば、学習部２８は、自然政策勾配法の一つである、後述するＮａｔｕｒａｌ  Ａｃｔｏｒ  Ｃｒｉｔｉｃ（ＮＡＣ）のアルゴリズムにより、重みベクトルを更新する。ＮＡＣについては、「八谷大岳，杉山  将：強くなるロボティック・ゲームプレイヤーの作り方，毎日コミュニケーションズ(2008).」に記載されており、公知技術であるので、詳細な説明を省略する。なお、ＮＡＣは、政策を最適化する手法であり、自然政策勾配法の一つである。政策勾配法では，状態Ｓに対する価値関数を直接推定したり、行動価値関数Ｑ（Ｓ，Ａ）を推定したりすることは行わない代わりに、更新前の政策により得られた対話エピソードの報酬を増加させるように自然勾配法により政策πを直接更新する。
【００７６】
知識ベース１１、情報推薦手法格納部１２、ユーザ状態情報格納部１３、対話情報格納部２１、ユーザ嗜好ベクトル格納部２２は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。知識ベース１１等にスポット情報等が記憶される過程は問わない。例えば、記録媒体を介してスポット情報等が知識ベース１１等で記憶されるようになってもよく、通信回線等を介して送信されたスポット情報等が知識ベース１１等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたスポット情報等が知識ベース１１等で記憶されるようになってもよい。
【００７７】
ユーザ入力情報受付部１４、および対話文情報受付部２３は、例えば、無線または有線の通信手段により実現される。ユーザ入力情報受付部１４等は、ＭＰＵやメモリ等から実現されても良い。ここでの受け付けとは、受信でも良いし、関数等による情報の受け付け等でも良い。
【００７８】
スコア算出部１５、対話文情報構成部１６、ユーザ状態情報更新部１８、ユーザ文種類決定部２４、決定要因等取得部２５、報酬算出部２７、学習部２８は、通常、ＭＰＵやメモリ等から実現され得る。スコア算出部１５等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００７９】
ユーザ入力情報送付部２６、対話文出力部１７は、例えば、無線または有線の通信手段により実現される。ユーザ入力情報送付部２６等は、ＭＰＵやメモリ等から実現されても良い。ここでの送付とは、送信でも良いし、他の処理への情報の受け渡し等でも良い。
【００８０】
次に、学習システムの動作について説明する。まず、対話装置１の動作については、図４のフローチャートを用いて説明する。
【００８１】
（ステップＳ４０１）対話文出力部１７は、予め保持している初期の対話文情報を、シミュレーション装置２に送付する。
【００８２】
（ステップＳ４０２）ユーザ入力情報受付部１４は、シミュレーション装置２から、ユーザ入力情報を受け付けたか否かを判断する。ユーザ入力情報を受け付ければステップＳ４０３に行き、ユーザ入力情報を受け付けなければステップＳ４０２に戻る。
【００８３】
（ステップＳ４０３）ユーザ入力情報受付部１４または図示しない手段が、ユーザ入力情報受付部１４が受け付けたユーザ入力情報が終了条件を満たすか否かを判断する。終了条件を満たせば処理を終了し、終了条件を満たさなければステップＳ４０５に行く。なお、終了条件とは、例えば、ユーザ入力情報が、予め決められた文のパターンに対応するユーザ文種類識別子を含む場合である。予め決められた文のパターンとは、例えば、「＜スポット＞に行きます。」「＜スポット＞に決めました。」などである。
【００８４】
（ステップＳ４０４）スコア算出部１５は、２以上の各情報推薦手法に対する２以上のスコアを算出する。スコア算出処理の詳細については、図５のフローチャートを用いて説明する。
【００８５】
（ステップＳ４０５）対話文情報構成部１６は、送付する対話文情報を構成する。対話文情報の構成処理の詳細については、図６のフローチャートを用いて説明する。
【００８６】
（ステップＳ４０６）対話文出力部１７は、対話文情報構成部１６が構成した対話文情報を、シミュレーション装置２に送付する。
【００８７】
（ステップＳ４０７）ユーザ状態情報更新部１８は、ユーザ状態情報更新処理を行い、ステップＳ４０２に戻る。ユーザ状態情報更新処理の詳細については、図７のフローチャートを用いて説明する。
【００８８】
なお、図４のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【００８９】
次に、ステップＳ４０４のスコア算出処理の詳細については、図５のフローチャートを用いて説明する。
【００９０】
（ステップＳ５０１）スコア算出部１５は、ユーザ状態情報格納部１３からユーザ状態情報を読み出す。
【００９１】
（ステップＳ５０２）スコア算出部１５は、カウンタｉに１を代入する。
【００９２】
（ステップＳ５０３）スコア算出部１５は、情報推薦手法格納部１２の中に、ｉ番目の情報推薦手法が存在するか否かを判断する。ｉ番目の情報推薦手法が存在すればステップＳ５０４に行き、存在しなければ上位処理にリターンする。
【００９３】
（ステップＳ５０４）スコア算出部１５は、ｉ番目の情報推薦手法が有する重みベクトルを読み出す。
【００９４】
（ステップＳ５０５）スコア算出部１５は、ステップＳ５０１で読み出したユーザ状態情報と、ステップＳ５０４で読み出した評価情報、重みベクトルとを用いて、ｉ番目の情報推薦手法のスコアを算出し、当該スコアをｉ番目の情報推薦手法と対応付けて一時蓄積する。スコア算出部１５は、例えば、「ユーザ状態情報×重みベクトル」によりスコアを算出する。なお、ユーザ状態情報および評価情報もベクトルである。
【００９５】
（ステップＳ５０６）スコア算出部１５は、カウンタｉを１、インクリメントする。ステップＳ５０３に戻る。
【００９６】
なお、図５のフローチャートにおいて、スコア算出部１５のスコア算出方法は、問わない。
【００９７】
次に、ステップＳ４０５の対話文情報の構成処理の詳細については、図６のフローチャートを用いて説明する。
【００９８】
（ステップＳ６０１）対話文情報構成部１６は、直前のユーザ入力情報、または／および直前の対話装置１の対話文情報に含まれるスポットを取得する。ただし、ここで、スポットを取得できない場合もあり得る。
【００９９】
（ステップＳ６０２）対話文情報構成部１６は、直前のユーザ入力情報、または／および直前の対話装置１の対話文情報に含まれる決定要因を取得する。ただし、ここで、決定要因を取得できない場合もあり得る。
【０１００】
（ステップＳ６０３）対話文情報構成部１６は、ステップＳ６０１でスポットを取得できたか否かを判断する。取得できればステップＳ６０４に行き、取得できなければステップＳ６０５に行く。
【０１０１】
（ステップＳ６０４）対話文情報構成部１６は、変数「着目スポット」に、ステップＳ６０１で取得したスポットを代入する。なお、変数「着目スポット」の値は、現在、対話において着目されているスポットである。また、変数「着目スポット」の値は、通常、一のスポットである。
【０１０２】
（ステップＳ６０５）対話文情報構成部１６は、ステップＳ６０２で決定要因を取得できたか否かを判断する。取得できればステップＳ６０６に行き、取得できなければステップＳ６０７に行く。
【０１０３】
（ステップＳ６０６）対話文情報構成部１６は、変数「着目決定要因」に、ステップＳ６０２で取得した決定要因を代入する。なお、変数「着目決定要因」の値は、現在、対話において着目されている決定要因である。また、変数「着目決定要因」の値は、２以上の決定要因である場合もある。
【０１０４】
（ステップＳ６０７）対話文情報構成部１６は、変数「着目スポット」の値、および変数「着目決定要因」の値を用いて、知識ベース１１を検索し、着目スポットおよび着目決定要因に対応する説明文情報を、知識ベース１１から読み出す。なお、この説明文情報は、ユーザからの入力文に対する回答文情報である。通常、対話文情報構成部１６は、変数「着目スポット」の値、および変数「着目決定要因」に対応する説明文を知識ベース１１から読み出す。説明文情報とは、説明文そのものであっても良いし、説明文を識別する情報であっても良い。
【０１０５】
（ステップＳ６０８）対話文情報構成部１６は、推薦文情報の取得処理を行う。推薦文情報の取得処理については、図７のフローチャートを用いて説明する。推薦文情報は、手法識別子を有する。また、推薦文情報は、１以上のスポットまたは１以上の決定要因を有することは好適である。
【０１０６】
（ステップＳ６０９）対話文情報構成手段１６３は、ステップＳ６０７で取得された説明文情報、およびステップＳ６０８で取得された推薦文情報から、対話文情報を構成する。
【０１０７】
なお、図４のフローチャートにおいて、回答文情報と推薦文情報とを取得した。しかし、図４のフローチャートにおいて、推薦文情報のみを取得する、回答文情報と推薦文情報と他の文の情報も取得するなど、種々の文の情報の取得処理を行うことが考えられる。
【０１０８】
次に、ステップＳ６０８（図６）の推薦文情報の取得処理については、図７のフローチャートを用いて説明する。
【０１０９】
（ステップＳ７０１）対話文情報構成部１６の手法識別子取得手段１６１は、スコア算出部１５が算出した２以上のスコアのうち最も大きいスコアに対応する一の情報推薦手法を識別する手法識別子を、情報推薦手法格納部１２から取得する。
【０１１０】
（ステップＳ７０２）変数値取得手段１６２は、カウンタｉに１を代入する。
【０１１１】
（ステップＳ７０３）変数値取得手段１６２は、ステップＳ７０１で取得した手法識別子に対応する文パターン情報の中の、ｉ番目の変数が存在するか否かを判断する。存在すればステップＳ７０４に行き、存在しなければ上位処理にリターンする。
【０１１２】
（ステップＳ７０４）変数値取得手段１６２は、ステップＳ７０１で取得した文パターン情報の中の、ｉ番目の変数を取得する。なお、この変数には、変数の値をどこから取得するかに関する情報も保持している。
【０１１３】
（ステップＳ７０５）変数値取得手段１６２は、ｉ番目の変数に代入される１以上の用語を取得する。この用語とは、通常、スポットまたは決定要因（決定要因を特定する単語等でも良い）である。
【０１１４】
（ステップＳ７０６）変数値取得手段１６２は、カウンタｉを１、インクリメントする。
【０１１５】
次に、ステップＳ４０７のユーザ状態情報更新処理の詳細については、図８のフローチャートを用いて説明する。
【０１１６】
（ステップＳ８０１）ユーザ状態情報更新部１８のユーザ提示用語取得手段１８１は、ユーザ入力情報受付部１４が受け付けた最新（直前）のユーザ入力情報から、１以上の決定要因を取得する。また、直前に受け付けた文から１以上の決定要因を取得できない場合、ユーザ提示用語取得手段１８１は、着目決定要因を取得する。また、ユーザ提示用語取得手段１８１は、ユーザ入力情報受付部１４が受け付けた最新（直前）のユーザ入力情報から、１以上のスポットを取得する。そして、ユーザ提示用語取得手段１８１は、取得した決定要因または／および取得したスポットを、バッファに一時格納する。
【０１１７】
（ステップＳ８０２）嗜好ベクトル更新手段１８３は、ユーザ状態情報格納部１３のユーザ状態情報が有する嗜好ベクトルを読み出す。そして、嗜好ベクトル更新手段１８３は、ステップＳ８０１で取得した決定要因に対応する要素の値が大きくなるように、ユーザ状態情報に含まれる嗜好ベクトルを更新する。なお、ここで、属性ベクトル更新手段１８５は、ステップＳ８０１で取得された決定要因に対応する要素の値が大きくなるように、または当該決定要因に対応する要素の値になるように、または当該決定要因に対応する要素の値に近づくように、ユーザ状態情報に含まれる属性ベクトルを更新しても良い。例えば、属性ベクトルの要素が性別の場合であり、男性「１」、女性「０」で規定されており、ステップＳ８０１で取得された決定要因に対応する要素の値が「０」（女性）である場合、属性ベクトル更新手段１８５は、属性「性別」の値がより「０」に近づくように、属性値を変更する。なお、属性ベクトル更新手段１８５は、属性値をどのように変更するかは問わない。例えば、属性ベクトル更新手段１８５は、取得された決定要因に対応する要素の値（１または０）の平均値を、現在の属性値とする。
【０１１８】
（ステップＳ８０３）装置提示用語取得手段１８２は、対話文出力部１７が送付した最新（直前）の対話文情報から、１以上の決定要因を取得する。また、装置提示用語取得手段１８２は、対話文出力部１７が送付した最新（直前）の対話文情報から、１以上のスポットを取得する。そして、装置提示用語取得手段１８２は、取得した決定要因または／および取得したスポットを、バッファに一時格納する。
【０１１９】
（ステップＳ８０４）知識ベクトル更新手段１８４は、ユーザ状態情報格納部１３のユーザ状態情報が有する知識ベクトルを読み出す。知識ベクトル更新手段１８４は、ステップＳ８０３で取得した決定要因に対応する要素の値が大きくなるように、ユーザ状態情報に含まれる知識ベクトルを更新する。
【０１２０】
（ステップＳ８０５）ユーザ状態情報更新部１８は、ユーザ状態情報格納部１３のユーザ状態情報が有する対話のターン数を読み出す。なお、対話のターン数とは、対話が繰り返された対数である。そして、ユーザ状態情報更新部１８は、読み出したターン数に１を加えた値を、新しいターン数として、ユーザ状態情報格納部１３のユーザ状態情報を更新する。
【０１２１】
（ステップＳ８０６）ユーザ状態情報更新部１８は、直前ユーザ発話行為情報を更新する。直前ユーザ発話行為情報は、直前にユーザ入力情報受付部１４が受け付けたユーザ入力情報に関する情報であり、ユーザが要求した情報の種類（スポットのみ、決定要因名のみ、またはその両方等）に対応する情報である。
【０１２２】
（ステップＳ８０７）ユーザ状態情報更新部１８は、直前システム発話行為情報を更新する。直前システム発話行為情報は、直前に対話文出力部１７が送付した対話文情報に関する情報であり、選択した情報推薦手法を特定する情報（手法識別子）である。
【０１２３】
（ステップＳ８０８）ユーザ状態情報更新部１８は、システム提示履歴情報を更新する。なお、システム提示履歴情報は、対話装置１（システム）がシミュレーション装置２に送付したスポット、および決定要因の数である。ユーザ状態情報更新部１８は、ステップＳ８０３でバッファに書き込んだ決定要因およびスポットを、それぞれユニーク処理し、バッファ内の決定要因の数およびスポットの数を取得する。そして、ユーザ状態情報更新部１８は、バッファ内の決定要因の数およびスポットの数を、システム提示履歴情報として取得する。
【０１２４】
なお、図８のフローチャートにおいて、ステップＳ８０５からＳ８０８において更新した情報は、ユーザ状態情報を構成する情報の例であり、その他の情報がユーザ状態情報を構成しても良い。
【０１２５】
次に、シミュレーション装置２の動作については、図９のフローチャートを用いて説明する。
【０１２６】
（ステップＳ９０１）対話文情報受付部２３は、対話文情報を受け付けたか否かを判断する。対話文情報を受け付ければステップＳ９０２に行き、対話文情報を受け付けなければステップＳ９０１に戻る。
【０１２７】
（ステップＳ９０２）ユーザ文種類決定部２４は、ステップＳ９０１で受け付けた対話文情報が有する手法識別子を取得する。
【０１２８】
（ステップＳ９０３）ユーザ文種類決定部２４は、ステップＳ９０２で取得した手法識別子と、対話情報格納部２１の対話確率情報とを用いて、ユーザ文種類を決定し、ユーザ文種類識別子を取得する。
【０１２９】
（ステップＳ９０４）決定要因等取得部２５は、ステップＳ９０１で受け付けた対話文情報が有する１以上の決定要因または／および１以上のスポットを取得する。なお、ここで決定要因および１以上のスポットが取得できない場合もある。
【０１３０】
（ステップＳ９０５）決定要因等取得部２５は、ステップＳ９０４で取得した１以上の決定要因または／および１以上のスポットを用いて、１以上の決定要因または１以上のスポットを取得する。なお、ここで、決定要因およびスポットが決定されない場合もある。なお、決定要因等取得部２５は、ステップＳ９０４で取得した１以上の決定要因または／および１以上のスポットを用いて、スポットを取得できない場合、スポット確率情報が有する確率に応じて、一のスポットを取得しても良い。
【０１３１】
（ステップＳ９０６）ユーザ入力情報送付部２６は、ステップＳ９０３で取得したユーザ文種類識別子、およびステップＳ９０５で取得した０以上の決定要因または／および０以上のスポットを用いて、ユーザ入力情報を構成する。ここで、ユーザ入力情報とは、ユーザ文種類識別子、および０以上の決定要因または／および０以上のスポットを有するユーザ入力情報を、送信するデータ構造に構成することである。
【０１３２】
（ステップＳ９０７）ユーザ入力情報送付部２６は、ステップＳ９０６で構成したユーザ入力情報を、対話装置１に送付する。
【０１３３】
（ステップＳ９０８）報酬算出部２７は、決定要因等取得部２５が取得したスポットが選択された場合の報酬を算出する。報酬算出処理については、図１０のフローチャートを用いて説明する。
【０１３４】
（ステップＳ９０９）学習部２８は、ステップＳ９０８で算出された報酬を用いて、対話装置１の手法識別子に対応する重みベクトルであり、対話装置１の情報推薦手法格納部１２の重みベクトルを更新し、ステップＳ９０１に戻る。
【０１３５】
なお、図９のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０１３６】
次に、ステップＳ９０８の報酬算出処理については、図１０のフローチャートを用いて説明する。
【０１３７】
（ステップＳ１００１）報酬算出部２７は、ユーザ嗜好ベクトル格納部２２からユーザ嗜好ベクトルを読み出す。
【０１３８】
（ステップＳ１００２）ランダム選択合致値算出手段２７１は、カウンタｉに１を代入する。
【０１３９】
（ステップＳ１００３）ランダム選択合致値算出手段２７１は、ｉ番目のスポットが知識ベース１１に存在するか否かを判断する。ｉ番目のスポットが存在すればステップＳ１００４に行き、存在しなければステップＳ１００７に行く。
【０１４０】
（ステップＳ１００４）ランダム選択合致値算出手段２７１は、ｉ番目のスポットの１以上の評価値を、知識ベース１１から読み出す。
【０１４１】
（ステップＳ１００５）ランダム選択合致値算出手段２７１は、ステップＳ１００１で読み出したユーザ嗜好ベクトルと、ステップＳ１００４で読み出したｉ番目のスポットの１以上の評価値とから、ユーザ嗜好ベクトルとｉ番目のスポットの１以上の評価値との合致度を算出し、当該合致度を図示しないバッファに一時蓄積する。ランダム選択合致値算出手段２７１は、例えば、ユーザ嗜好ベクトルの各要素と、ｉ番目のスポットの１以上の各評価値との一致する数を、合致度とする。
【０１４２】
（ステップＳ１００６）ランダム選択合致値算出手段２７１は、カウンタｉを、１インクリメントし、ステップＳ１００３に戻る。
【０１４３】
（ステップＳ１００７）ランダム選択合致値算出手段２７１は、ステップＳ１００５で一時蓄積された全スポットの合致度から、全スポットの合致度の期待値を算出する。ランダム選択合致値算出手段２７１は、全スポットの合致度の平均値を期待値としても良い。また、ランダム選択合致値算出手段２７１は、「各スポットの合致度×スポット確率情報が示す各スポットの確率」の合計を、期待値としても良い。
【０１４４】
（ステップＳ１００８）選択スポット合致度算出手段２７２は、着目スポットの１以上の各決定要因の評価を示す１以上の評価値を、知識ベース１１から読み出す。
【０１４５】
（ステップＳ１００９）選択スポット合致度算出手段２７２は、ステップＳ１００１で読み出したユーザ嗜好ベクトルと、ステップＳ１００８で読み出した１以上の評価値とから、ユーザ嗜好ベクトルと着目スポットの１以上の評価値との合致度を算出する。選択スポット合致度算出手段２７２は、例えば、ユーザ嗜好ベクトルの各要素と、着目スポットの１以上の各評価値との一致する数を、合致度とする。
【０１４６】
（ステップＳ１０１０）報酬算出手段２７３は、ランダム選択合致値算出手段２７１が算出した合致度の期待値と、選択スポット合致度算出手段２７２が算出した合致度とを用いて、ユーザ入力情報に含まれるスポットが選択されたことの報酬を算出する。報酬算出手段２７３は、例えば、「報酬＝ステップＳ１００９で算出した合致度−ステップＳ１００７で算出した期待値」により、報酬を算出する。なお、かかる算出式は、報酬算出手段２７３が予め保持している、とする。
【０１４７】
以下、本実施の形態における学習システムの評価実験について説明する。なお、評価実験における対話装置１は、ユーザを模擬したシミュレーション装置２との対話を進めながら、シミュレーション装置２の訪問先の意思決定を支援し、京都の観光案内を行う装置である。
【０１４８】
図１１は、知識ベース１１が保持しているスポット情報管理表の一例である。スポット情報管理表は、スポットに関する情報であるスポット情報を２以上格納している。ここでのスポットは、京都の観光地である。なお、本明細書において、スポットとは、スポットを特定する情報（スポット識別子と言い換えても良い）である場合と、スポットの概念を示す場合とがある。また、スポット情報は、「スポット」「決定要因情報」「評価値」「説明文」を有する。「決定要因情報」は、決定要因を識別する「決定要因識別子」と決定要因を正確に示す句である（肯定的または否定的な用語も含む句である）「決定要因」を有する。また、本具体例において、決定要因は、「庭園が有名」「混雑しない」「世界遺産」「景色が良い」「アクセスが良い」「紅葉が有名」「桜が有名」「歴史で有名」「散策できる」「イベントがある」の１０要因がある（順不同）、とする。「評価値」は、各スポットの決定要因に対する評価を示す情報であり、各スポットが、ここでは、決定要因情報が示す決定要因の特性を有している場合は「１」、有していない場合は「０」の値を採る。なお、「評価値」は、「１」「０」の２値ではなく、多段階の評価（例えば、「１」から「５」など）でも良い。
【０１４９】
また、図１２は、情報推薦手法格納部１２の情報推薦手法管理表の一例である。情報推薦手法管理表は、６つの情報推薦手法を格納している。情報推薦手法は、「ＩＤ」「手法識別子」「文パターン情報」「評価情報」「重みベクトル」を有する。「ＩＤ」は、情報推薦手法を識別する数値である。「手法識別子」は、情報推薦手法を識別する文字列であり、その意義を示す。「文パターン情報」は、情報の推薦文を構成する元になる情報、または情報の推薦文（ＩＤ＝３のみ）である。情報の推薦文においてタグ（先頭"＜"、終端"＞"の情報）は変数である。また、文パターン情報の中の"｛"および"｝"で囲まれた情報は、直前の変数の値の取得方法（取得動作）を示す情報（以下、取得動作記述という。）である。＜着目スポット＞は、現在の着目スポットが代入される。＜着目決定要因＞は、現在の着目決定要因が代入される。また、＜１以上の未出決定要因＞は、着目スポットについて、今までの対話で出現しておらず、かつ着目スポットの評価値が「１」の決定要因が代入される。また、＜１以上の未出スポット＞は、着目決定要因について、今までの対話で出現しておらず、かつ着目決定要因の評価値が「１」のスポットが代入される。＜最高嗜好スポット＞は、ユーザ状態情報が有する嗜好ベクトルを元に、各スポットのランク（嗜好値）を算出した場合に最高点になるスポットである。取得動作記述「｛ｓｅｌｅｃｔ  ３以下の決定要因  ｗｈｅｒｅ  知識ベクトル内の値が低い順｝」は、知識ベクトル内の決定要素の値が低い順に３以下の決定要因を取得する動作を示す。なお、この取得動作記述は、＜１以上の未出決定要因＞に付随しているので、知識ベクトル内の決定要素の値が低い順に、３以下の未出の決定要因を取得する動作を示すこととなる。取得動作記述「｛ｓｅｌｅｃｔ  ３以下の決定要因  ｗｈｅｒｅ  嗜好ベクトル内の値が高い順｝」は、嗜好ベクトル内の値が高い順に３以下の決定要因を取得する動作を示す。なお、この取得動作記述は、＜１以上の未出決定要因＞に付随しているので、嗜好ベクトル内の値が高い順に、３以下の未出の決定要因を取得する動作を示すこととなる。取得動作記述「｛ｓｅｌｅｃｔ  最高嗜好スポット  ｗｈｅｒｅ  嗜好値が最大のスポット｝」は、現在のユーザ状態情情報から、ユーザから見て、最大の嗜好値であるとシステムが推定するスポットを取得することを示す。例えば、この取得動作記述は、嗜好値を算出する演算式に嗜好ベクトル、スポットごとに各決定要因の評価値を代入し、嗜好値を算出し、最大の嗜好値を有するスポットを取得する動作を示す。「評価情報」は、情報推薦手法ごとに保持している情報である。そして、現在のユーザ状態情報と情報推薦手法が有する評価情報とを用いて、各情報推薦手法のスコアが算出され、当該スコアが最大の情報推薦手法に対応する文パターン情報を用いて、推薦文が構成される。例えば、現在のユーザ状態情報（ベクトル）と情報推薦手法が有する評価情報（ベクトル）とが乗算され、情報推薦手法のスコアが算出される。
【０１５０】
また、ユーザ状態情報格納部１３は、以下に説明するユーザ状態情報を格納している、とする。例えば、ユーザ状態情報は、知識ベクトル「Ｋuser」、嗜好ベクトル「Ｐuser」、および局所重み行列「Ｖuser」の３要素を有する、とする。ここでは、簡単のため、ユーザの嗜好ベクトル「Ｐuser=(p1,p2,・・・,pM)」の要素は、「１」または「０」の２値からなるパラメータである、とする。すなわち、ユーザがある決定要因mに興味があり(もしくは潜在的に興味があり)、スポット決定する際に重視する場合にpmは「１」をとるものとする。また、ユーザが、(ユーザ自身も気づいていない)潜在的な嗜好を持っている状態を表現するために、ユーザの知識ベクトル「Ｋuser=(k1,k2,・・・,kM)」を導入する。ユーザが、システム（対話装置１）が決定要因mを扱えることを知っている、もしくはシステムが決定要因mを推薦した場合にベクトルの要素kMは、「１」をとる。これらのベクトルを用いることにより、例えば、決定要因mが、ユーザが潜在的に興味を持っている要因であるが、ユーザはそれに気づいていないという状態は(km=０,pm=１)で表現できる。また、ユーザの決定要因mの観点からのスポットnに対する局所重みvnmは、ユーザは、システムから提示された情報のみから判断すると仮定して、システムが上記の６つの推薦手法のうち「ＩＤ＝１，２，６」のいずれかの推薦手法を用いて、ユーザにスポットの評価を知らせた場合に「１」をとるものとする。なお、ユーザ状態情報は、属性ベクトル「Ａuser」を有していても良い。
【０１５１】
また、ここでのユーザ状態情報は、対話状態の特徴ベクトルに相当する。さらに詳細には、ユーザ状態情報は、ここでは、以下の６種類の情報を有する。第一は、ターン数である。ターン数は、ここでは、ノコギリ関数を利用することにより、５つのパラメータでターン数を表現する。第二は、直前ユーザ発話行為情報である。直前ユーザ発話行為情報は、例えば、ベクトル（xi,xi+1,xi+2,xi+3,xi+4)であり、（１  ｉｆ  ａusert-1=xi  ，otherwise  ０）とする。ここで、「ａusert-1」は直前のユーザの発話である。また、直前のユーザの発話が、システム（対話装置１）が推薦したスポット（スポット名と言い換えても良い）もしくは決定要因のみを含む場合には「xi=１」であり他のベクトルの要素は「０」である。また、システムから推薦されていないスポットを含む場合には「xi+1=１」であり他のベクトルの要素は「０」である。また、システムから推薦されていない決定要因のみを含む場合には「xi+2=１」であり他のベクトルの要素は「０」である。また、システムから推薦されていないスポット・決定要因の双方を含む場合には「xi+3=1」であり他のベクトルの要素は「０」である。さらに、これらのいずれも含まない場合には「xi+4=１」であり他のベクトルの要素は「０」とする。第三は、直前システム発話行為情報である。直前システム発話行為情報は、例えば、ベクトル（yi,yi+1,yi+2,yi+3,yi+4,yi+5,yi+6)であり、（１  ｉｆ  ａsyst-1=yi  ，otherwise  ０）とする。ここで、「ａsyst-1」は直前のシステムの発話である。また、直前のシステムの発話が、情報推薦手法１を用いた場合は「yi+1=１」であり他のベクトルの要素は「０」である。また、情報推薦手法２を用いた場合は「yi+２=１」であり他のベクトルの要素は「０」である。つまり、情報推薦手法ｎを用いた場合は「yi+n=１」であり他のベクトルの要素は「０」とする。第四は、ユーザの決定要因に対する知識ベクトルである。なお、知識ベクトルは、ユーザの決定要因に対する知識を、「Σn=1N  Pr(kn=1)」により算出しても良い。ここで、knは、ｎ番目の決定要因に対する知識ベクトルの要素値である。また、Pr(k=1)は、「kが1である」と、システムが推定する事後確率（確信度）である。ここで、嗜好ベクトルの要素値は、「１」または「０」である、とする。第五は、システムが提示したスポット・決定要因数である。つまり、第五は、システム提示履歴情報であり、例えば、「Σn=1N Σm=1Mvnm」である。ここで、vnmは、対話装置１が有するスポットｍの決定要因ｎに対する評価値である。第六は、嗜好ベクトルである。嗜好ベクトルは、ユーザの各決定要因に対する嗜好を示す情報である。なお、嗜好ベクトルは、ユーザが決定要因を重視する確率の期待値に置き換えても良い。この期待値は、「Pr(kn=1)×Pr(pn=1))」で示され、ここで、各決定要因ごと計１０パラメータを有する。ここで、「pn」は、嗜好ベクトルの要素値である。ここで、嗜好ベクトルの要素値は、「１」または「０」である、とする。
【０１５２】
そして、ユーザ状態情報格納部１３が格納しているユーザ状態情報は、上記で説明した要素値を有するベクトルであり、２９の要素値を有するベクトル（s1,s2,・・・,s29）である、とする。そして、ユーザ状態情報の初期値は、（s0001,s0002,・・・,s0029）である、とする。
【０１５３】
また、対話文出力部１７は、対話装置１が起動時に出力される対話文情報である初期の対話文情報（手法識別子「３」）を格納している、とする。なお、手法識別子「３」に対応する文は、例えば、「京都観光システムです。お好みの観光スポットを推薦します。」である。
【０１５４】
さらに、ユーザ入力情報受付部１４は、対話の終了条件であるユーザ文種類識別子を保持している。ここでのユーザ文種類識別子は、文のパターン「＜スポット＞に行きます。」「＜スポット＞に決めました。」に対応するユーザ文種類識別子である。
【０１５５】
また、対話情報格納部２１の対話確率情報は、例えば、図１３に示す対話確率情報管理表が示す情報である。対話確率情報管理表は、ユーザ文種類、および手法１から手法３の確率とを有する。つまり、図１３は、情報推薦手法識別子「手法１」「手法２」「手法３」のいずれかの情報推薦手法識別子が対話文情報に含まれる場合に、ユーザ文種類識別子で識別されるユーザ文種類が選択される確率を示している。なお、図１２において、推薦手法４から６に対するユーザの行動選択（ユーザ文種類識別子の選択）には，情報推薦手法識別子「手法１」による確率を用いる、とする。
【０１５６】
かかる状態において、評価実験を行った。評価実験において、各シミュレーション対話ごとに，シミュレーション話者（Ｐｕｓｅｒ，Ｋｕｓｅｒ，Ｖｕｓｅｒ）をサンプリングする。擬似話者は，嗜好を４つ持つものと仮定する（＝嗜好ベクトルＰｕｓｅｒの４つの要素が"１"，残りの要素が"０"）。嗜好の選択には、被験者実験を行った後に行ったアンケートにより調べたユーザの嗜好の分布（図１２参照）を用いた．ユーザの知識Ｋｕｓｅｒ  についても同様に、予備実験において、ユーザがシステム推薦前に発話した割合に基づいて設定した。ユーザの局所重みＶｕｓｅｒは，ユーザが予備知識を持たないと仮定し、すべてを"０"に初期化した。対話装置１の側（システム側）のパラメータについても同様に、予備実験の結果に基づいてシステムが推定するユーザの嗜好Ｐｓｙｓと知識Ｋｓｙｓを初期化した。また、シミュレーションを行うに際して、以下の仮定を置いた。システムは、ユーザの発話の音声認識、および理解誤りを行わず、その時点での政策πに基づいて推薦内容を決定する。ユーザは、２０ターン対話を継続するものとし、シミュレーション装置２が応答（ユーザ入力情報）を生成する。対話装置１は、報酬関数に基づいて報酬を与えられる。以上の条件で、対話のシミュレーションを行い、２０００対話ごとに政策（パラメータθ）をＮＡＣにより更新した。
【０１５７】
以下に、実験結果を説明する。まず、最初に、政策反復による報酬の改善について調べた。本実験での手法には、ランダム要素が含まれるために、実験結果はすべて５回の試行の平均である。図１４に、行ったシミュレーション対話数（２，０００対話を１ｂａｔｃｈとする）と，２，５，１０，１５，２０ターン後の報酬の関係を示す。また、図１４において、ユーザがドメインに関するすべての知識を持っている場合に決定を行った場合を（Ｏｒａｃｌｅ）として併記する。システムの政策は３０，０００対話で収束した。
【０１５８】
また、学習されたパラメータθ（重みベクトル）の値を比較・分析することにより、対話戦略を分析した。手法４，５では、開始からの対話のターン数が少ないことを表すパラメータに対する重みが大きく、手法２，６においてターン数が多いことを表すパラメータの重みが大きいことが分かった。この結果は、学習後の対話戦略では、最初にユーザに決定要因に対する知識を与え、ユーザの嗜好を推定した上で、具体的な候補を提示する対話戦略を行うことを表している。
【０１５９】
次に、学習された対話戦略を、以下の２つのベースライン手法と比較した。
（１）推薦なし（Ｂ１）
ベースライン手法（Ｂ１）は、システムは要求された情報の提示のみを行い、推薦は行わない手法である。これは、常に手法３を選択する場合と等価である。
（２）ランダムに推薦（Ｂ２）
ベースライン手法（Ｂ２）は、システムは、選択可能な６手法からランダムに推薦手法を選択する。これは、パラメータθの初期値（すべて０）における戦略と等価である。
【０１６０】
図１５に、これらのベースライン手法との比較結果を示す。ＮＡＣにより最適化した対話戦略は、ベースライン手法と比較して有意に大きな報酬を得ることができた（ｎ＝５００，ｐ＜．０１）。
【０１６１】
さらに、決定するスポットの適合度と対話の長さのトレードオフの問題を考える。ユーザにとって、次に尋ねたい事項が明確に決まっている場合に情報推薦されることや、既知の内容を繰り返し推薦されることは、わずらわしいものとなる。そこで、推薦行為にペナルティを考慮した上での、対話戦略の最適さを考える。手法３以外の推薦手法に０．０５のペナルティを与える評価関数により対話戦略を学習し評価を行った。この結果を、図１６に示す。ランダムに推薦手法を選択する手法と比較して、提案法により学習した対話戦略は対話が長引いている場合にも、報酬の減少量が少ない。これは、学習された対話戦略では不必要な推薦を避けているものと考えられる。提案手法により得られた報酬は、ベースライン手法と比較して統計的に有意であった（ｐ＜．０１）。
【０１６２】
以上、本実施の形態によれば、ユーザと対話を行う対話装置が文を出力するために必要な重みベクトルを自動的に構築できる。
【０１６３】
また、本実施の形態によれば、ユーザの知識と嗜好の両方を考慮する対話状態のモデルを提案し、強化学習により最適化を行い、ベースライン手法と比較してユーザがよりよい意思決定を行えることを確認した。
【０１６４】
なお、本実施の形態において、重みベクトルの学習のアルゴリズムは問わない。
【０１６５】
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをＣＤ−ＲＯＭなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における対話装置１を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、スポットと、当該スポットを決定するための要因である１以上の決定要因と、当該スポットの前記１以上の各決定要因の評価を示す評価値とを有するスポット情報を、２以上格納しており、かつ、情報推薦手法を識別する手法識別子と、当該情報推薦手法の評価情報と、評価情報を構成する各要素の重みを示す重みベクトルとを有する２以上の情報推薦手法を格納しており、かつ、ユーザの状態を示す情報であり、１以上の各決定要因に対するユーザの嗜好を示す情報である嗜好ベクトルと、１以上の各決定要因に対するユーザの知識を示す知識ベクトルとを有するユーザ状態情報を格納しており、コンピュータを、シミュレーション装置から、ユーザが入力する文のパターンであるユーザ文種類を識別するユーザ文種類識別子、またはユーザ文種類識別子と１以上の決定要因または１以上のスポットのうちの１以上の情報とを有するユーザ入力情報を受け付けるユーザ入力情報受付部と、前記記憶媒体に格納されている２以上の各情報推薦手法が有する評価情報および重みベクトルと、前記ユーザ状態情報とを用いて、前記２以上の各情報推薦手法に対する２以上のスコアを算出するスコア算出部と、前記スコア算出部が算出した２以上のスコアを用いて、一の情報推薦手法を識別する手法識別子、または手法識別子と、１以上の決定要因または１以上のスポットのうちの１以上の情報とを有する対話文情報を構成する対話文情報構成部と、前記対話文情報構成部が構成した対話文情報を、前記シミュレーション装置に送付する対話文出力部と、前記ユーザ入力情報受付部が受け付けたユーザ入力情報、または前記対話文出力部が出力した対話文情報のうちの１以上の情報から、少なくとも１以上のスポットまたは１以上の決定要因を取得し、当該１以上のスポットまたは１以上の決定要因を用いて、前記記憶媒体のユーザ状態情報を更新するユーザ状態情報更新部とを具備し、前記スコア算出部は、前記記憶媒体に格納されている２以上の各情報推薦手法が有する評価情報および重みベクトルと、前記ユーザ状態情報更新部が更新したユーザ状態情報とを用いて、前記２以上の各情報推薦手法に対する２以上のスコアを算出するものとして機能させるためのプログラム、である。
【０１６６】
また、本実施の形態におけるシミュレーション装置２を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、各情報推薦手法と各ユーザ文種類との確率に関する情報である対話確率情報、決定要因が選択される確率に関する情報である決定要因確率情報、およびスポットが選択される確率に関する情報であるスポット確率情報とを格納しており、かつ、ユーザの嗜好を示すベクトルであるユーザ嗜好ベクトルを格納しており、コンピュータを、対話装置から対話文情報を受け付ける対話文情報受付部と、前記対話文情報が有する手法識別子と前記対話確率情報とを用いて、ユーザ文種類を決定し、ユーザ文種類識別子を取得するユーザ文種類決定部と、前記決定要因確率情報または前記スポット確率情報のうちの１以上の情報、または前記決定要因確率情報または前記スポット確率情報のうちの１以上の情報および前記対話文情報が有する１以上の決定要因または１以上のスポットのうちの１以上の情報とを用いて、１以上の決定要因または１以上のスポットを取得する決定要因等取得部と、前記ユーザ文種類識別子、または前記ユーザ文種類識別子と１以上の決定要因または１以上のスポットのうちの１以上の情報とを有するユーザ入力情報を前記対話装置に送付するユーザ入力情報送付部と、前記ユーザ嗜好ベクトルと、前記ユーザ入力情報に含まれるスポットの前記１以上の各決定要因の評価を示す１以上の評価値とを取得し、前記ユーザ嗜好ベクトルと前記１以上の評価値との合致度を算出し、当該合致度を用いて、前記ユーザ文種類識別子で識別されるユーザ文種類が選択される報酬を算出する報酬算出部と、前記報酬を用いて、前記対話装置の前記手法識別子に対応する重みベクトルであり、前記対話装置の前記記憶媒体の重みベクトルを更新する学習部として機能させるためのプログラム、である。
【０１６７】
また、上記プログラムにおいて、前記報酬算出部は、前記スポット確率情報を用いて、ランダムにスポットを決定した場合の１以上の評価値と前記ユーザ嗜好ベクトルとの合致度の期待値を算出するランダム選択合致値算出手段と、前記ユーザ嗜好ベクトルと、前記ユーザ入力情報に含まれるスポットの前記１以上の各決定要因の評価を示す１以上の評価値との合致度を算出する選択スポット合致度算出手段と、前記ランダム選択合致値算出手段が算出した合致度の期待値と、前記選択スポット合致度算出手段が算出した合致度とを用いて、前記ユーザ入力情報に含まれるスポットが選択されたことの報酬を算出する報酬算出手段とを具備するものとして、コンピュータを機能させるためのプログラムであることは好適である。
（実施の形態２）
【０１６８】
本実施の形態において、実施の形態１で学習した重みベクトルを用いた、対話装置について説明する。この対話装置は、ユーザが装置から情報の提示や情報の推薦を受けながら、候補を選択する相談型の対話装置である。なお、本実施の形態における対話装置において、ユーザとのインタラクションは音声により行うが、音声による入出力は必須ではない。
【０１６９】
嗜好に合った候補を選択する際には、多くの要因（後述する決定要因と同意義）を考慮する必要がある。対話装置を利用するユーザは、そのような要因を必ずしも全て把握しているわけではないため、対話装置はユーザに対して情報推薦を行い、対話装置が保有する知識とユーザの知識とのギャップを埋める必要がある。
【０１７０】
本実施の形態において、複数の候補（ここでは、主として、スポットと言う）の中からユーザに適した候補を選択する相談型対話のモデルを実装する対話装置について述べる。
【０１７１】
図１７は、本実施の形態における対話装置３の内部構造を示すブロック図である。対話装置３は、知識ベース１１、情報推薦手法格納部１２、ユーザ状態情報格納部１３、受付部３４、スコア算出部１５、文構成部３６、文出力部３７、ユーザ状態情報更新部１８を備える。
【０１７２】
受付部３４は、音声受付手段３４１、音声認識手段３４２を備える。
【０１７３】
文構成部３６は、文パターン情報取得手段３６１、変数値取得手段３６２、文構成手段３６３を備える。
ユーザ状態情報更新部１８は、ここでは、ユーザ提示用語取得手段１８１、装置提示用語取得手段１８２、嗜好ベクトル更新手段１８３、知識ベクトル更新手段１８４、および属性ベクトル更新手段１８５を具備する。
【０１７４】
受付部３４は、ユーザが入力した文を受け付ける。ここで、受け付けとは、通常、音声の受け付けである。ただし、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。つまり、入力とは、音声入力、文字列入力等であり、入力手段は問わない。
【０１７５】
文の入力手段は、マイクやキーボードやマウスやメニュー画面によるもの等、何でも良い。受付部３４は、マイクやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【０１７６】
音声受付手段３４１は、ユーザが入力した音声を、マイクから受け付ける。
【０１７７】
音声認識手段３４２は、音声受付手段３４１が受け付けた音声を認識し、文字列に変換する。音声認識手段３４２における音声認識方法は問わない。音声認識手段３４２は、公知技術であるので、詳細な説明は省略する。音声認識手段３４２は、通常、ＭＰＵやメモリ等から実現され得る。音声認識手段３４２の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【０１７８】
スコア算出部１５は、ユーザ状態情報格納部１３のユーザ状態情報を、情報推薦手法格納部１２に格納されている２以上の各情報推薦手法が有する評価情報に適用し、２以上の各情報推薦手法に対する２以上のスコアを算出する。また、スコア算出部１５は、ユーザ状態情報更新部１８が更新したユーザ状態情報を、情報推薦手法格納部１２に格納されている２以上の各情報推薦手法が有する評価情報に適用し、２以上の各情報推薦手法に対する２以上のスコアを算出する。
【０１７９】
スコア算出部１５は、通常、文出力部３７が文を出力する前（直前であるとは限らない）に、スコアを算出する。なお、スコア算出部１５は、受付部３４が文を受け付けるごとに、スコアを算出することは好適である。また、ここで、適用とは、例えば、演算式「スコア＝ｆ（ユーザ状態情報，重みベクトル）」によりスコアを算出することである。また、例えば、ｆは「スコア＝ユーザ状態情報×重みベクトル」である。つまり、スコア算出部１５は、次に対話装置１が出力すべき文の文パターン情報を決定するために、文パターン情報と対応付けて管理されている評価情報と動的に変化するユーザ状態情報とを用いて、情報推薦手法ごとにスコアを算出する。
【０１８０】
文構成部３６は、スコア算出部１５が算出した２以上のスコアを用いて、一の情報推薦手法が有する文パターン情報を取得し、文パターン情報から文を構成する。通常、文構成部３６は、スコア算出部１５が算出したスコアが最大の情報推薦手法が有する文パターン情報を取得し、文パターン情報から文を構成する。ここで、文パターン情報が文である場合は、文の構成とはＮＯＰ（何らの処理もしない）である。また、文パターン情報が変数を含む文のパターン情報であれば、文の構成とは、直前の出力文や直前の受け付けられた文や、着目している決定要因や着目しているスポットなどから変数の値を取得し、取得した変数の値を文パターン情報に代入する処理である。なお、着目している決定要因とは、1以上のスポットを出力する元になった決定要因である。また、着目しているスポットとは、１以上の決定要因を出力する元になったスポットである。なお、文構成部３６は、直前のユーザ入力文、または／および直前の対話装置１の出力文から、着目スポットや着目決定要因を取得する処理も行う。かかる処理の詳細については後述する。
【０１８１】
文構成部３６は、通常、ＭＰＵやメモリ等から実現され得る。文構成部３６の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【０１８２】
文パターン情報取得手段３６１は、スコア算出部１５が算出した２以上のスコアのうち最も大きいスコアに対応する一の情報推薦手法が有する文パターン情報を、情報推薦手法格納部１２から取得する。
【０１８３】
変数値取得手段３６２は、文パターン情報取得手段３６１が取得した文パターン情報に含まれる１以上の変数を取得し、変数に対応するスポットまたは決定要因を、文出力部３７が直前に出力した文、または受付部３４が直前に受け付けた文のうちの１以上の文から取得する。また、変数値取得手段３６２は、文パターン情報取得手段３６１が取得した文パターン情報に含まれる１以上の変数を取得し、変数に対応する候補となる１以上のスポットまたは１以上の決定要因を、文出力部３７が直前に出力した文、または受付部３４が直前に受け付けた文のうちの１以上の文から取得し、候補となる１以上のスポットまたは１以上の決定要因から、候補となる１以上のスポットまたは１以上の決定要因に対応する知識ベース１１の評価値を用いて、変数に対応するスポットまたは決定要因を選択する。変数値取得手段３６２は、現在着目しているスポットである着目スポット、または現在着目している決定要因である着目決定要因から、変数に対応するスポットまたは決定要因を取得しても良い。
【０１８４】
文構成手段３６３は、文パターン情報取得手段３６１が取得した文パターン情報の変数の箇所に、変数値取得手段３６２が取得した用語（通常、スポットまたは決定要因）を挿入して文を構成する。文構成手段３６３は、出力される文が自然な流暢な文となるように、変形する処理を行っても良い。かかる処理は公知技術であるので詳細な説明を省略する。
【０１８５】
文出力部３７は、文構成部３６が構成した文を出力する。ここで、出力とは、通常、音声出力である。つまり、文出力部３７は、文構成部３６が構成した文を音声出力することは好適である。ただし、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタへの印字、外部の装置（音声出力装置や表示装置など）への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
【０１８６】
文出力部３７は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。文出力部３７は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【０１８７】
ユーザ状態情報更新部１８は、受付部３４が受け付けた文、または文出力部３７が出力した文のうちの１以上の文から、少なくとも１以上のスポットまたは１以上の決定要因を取得し、当該１以上のスポットまたは１以上の決定要因を用いて、ユーザ状態情報格納部１３のユーザ状態情報を更新する。ユーザ状態情報更新部１８は、受付部３４が受け付けた文、または文出力部３７が出力した文のうちの１以上の文を形態素解析し、特定の品詞（名詞や形容詞や形容動詞など）の用語を取得し、当該用語をキーとして、知識ベース１１を検索し、知識ベース１１に格納されている用語をスポットまたは決定要因として取得しても良い。また、ユーザ状態情報更新部１８は、受付部３４が受け付けた文、または文出力部３７が出力した文のうちの１以上の文から漢字列を取得し、当該漢字列をキーとして、知識ベース１１を検索し、知識ベース１１に格納されている漢字列をスポットまたは決定要因として取得しても良い。そして、ユーザ状態情報更新部１８は、通常、取得したスポットまたは決定要因についてのユーザ状態情報を構成する要素の値（嗜好ベクトルや知識ベクトルなどの要素）が上昇するようにユーザ状態情報を更新する。また、ユーザ状態情報更新部１８は、通常、受付部３４が文を受け付けるごとに更新する。ただし、ユーザ状態情報更新部１８は、文出力部３７が文を出力するごとに更新しても良い。
【０１８８】
ユーザ提示用語取得手段１８１は、受付部３４が受け付けた文から少なくとも１以上の決定要因を取得する。ユーザ提示用語取得手段１８１は、肯定的な決定要因のみを取得しても良いし、肯定／否定を検知して、各カテゴリー（肯定／否定）ごとに決定要因を取得しても良い。ユーザ提示用語取得手段１８１は、例えば、受付部３４が受け付けた文から自立語を取得し、自立語が知識ベース１１の決定要因である場合に、当該自立語を決定要因として取得する。また、ユーザ提示用語取得手段１８１は、着目決定要因を取得しても良い。
【０１８９】
装置提示用語取得手段１８２は、文出力部３７が出力した文のうちの１以上の文から、少なくとも１以上の決定要因を取得する。装置提示用語取得手段１８２は、例えば、文出力部３７が出力した文から自立語を取得し、自立語が知識ベース１１の決定要因である場合に、当該自立語を決定要因として取得する。なお、文出力部３７が出力した文とは、文構成部３６が構成した文と同意義である。また、装置提示用語取得手段１８２は、肯定的な決定要因のみを取得しても良いし、肯定／否定を検知して、各カテゴリー（肯定／否定）ごとに決定要因を取得しても良い。また、装置提示用語取得手段１８２は、着目決定要因を取得しても良い。
【０１９０】
嗜好ベクトル更新手段１８３は、ユーザ提示用語取得手段１８１が取得した１以上の決定要因に対する嗜好ベクトルの要素の値を高くするように、ユーザ状態情報を更新する。また、嗜好ベクトル更新手段１８３は、装置提示用語取得手段１８２が取得した１以上の決定要因の中で、ユーザ提示用語取得手段１８１が取得できなかった１以上の決定要因に対する嗜好ベクトルの要素の値を低くするように、ユーザ状態情報を更新する。これは、対話装置１が出力したが、ユーザに選択されなかった決定要因の値を低くすることである。
【０１９１】
知識ベクトル更新手段１８４は、装置提示用語取得手段１８２が取得した１以上の決定要因に対する知識ベクトルの要素の値を高くするように、ユーザ状態情報を更新する。
属性ベクトル更新手段１８５は、ユーザ提示用語取得手段１８１が取得した１以上の決定要因に対する属性ベクトルの要素の値を変更し、ユーザ状態情報を更新する。つまり、属性ベクトル更新手段１８５は、ユーザ提示用語取得手段１８１が取得した決定要因に対応する要素の値が大きくなるように、または当該決定要因に対応する要素の値になるように、または当該決定要因に対応する要素の値に近づくように、ユーザ状態情報に含まれる属性ベクトルの当該要素の値を更新する。
【０１９２】
次に、対話装置１の動作については、図１８のフローチャートを用いて説明する。
【０１９３】
（ステップＳ１８０１）文出力部３７は、予め保持している初期文を出力する。初期文とは、対話装置１が動作開始の際（例えば、起動時）にユーザに出力する文である。初期文は、例えば、「京都観光案内システムです。お好みの観光スポットを推薦します。」という文である。
【０１９４】
（ステップＳ１８０２）受付部３４は、ユーザから文を受け付けたか否かを判断する。文を受け付ければステップＳ１８０３に行き、文を受け付けなければステップＳ１８０２に戻る。
【０１９５】
（ステップＳ１８０３）受付部３４の音声認識手段３４２は、ステップＳ１８０２で受け付けた文を音声認識し、文字列の文（文字コード列の文）を取得する。
【０１９６】
（ステップＳ１８０４）受付部３４または図示しない手段が、受付部３４が受け付けた文が終了条件を満たすか否かを判断する。終了条件を満たせば処理を終了し、終了条件を満たさなければステップＳ１８０５に行く。なお、終了条件とは、例えば、ユーザの入力文が、予め決められた文のパターンに合致する文を含むことである。予め決められた文のパターンとは、例えば、「＜スポット＞に行きます。」「＜スポット＞に決めました。」などである。
【０１９７】
（ステップＳ１８０５）スコア算出部１５は、２以上の各情報推薦手法に対する２以上のスコアを算出する。スコア算出処理の詳細については、図１９のフローチャートを用いて説明する。
【０１９８】
（ステップＳ１８０６）文構成部３６は、出力する１以上の文を構成する。文構成処理の詳細については、図２０のフローチャートを用いて説明する。
【０１９９】
（ステップＳ１８０７）文出力部３７は、文構成部３６が構成した１以上の文を出力する。
【０２００】
（ステップＳ１８０８）ユーザ状態情報更新部１８は、ユーザ状態情報更新処理を行い、ステップＳ１８０２に戻る。ユーザ状態情報更新処理の詳細については、図２２のフローチャートを用いて説明する。
【０２０１】
なお、図１８のフローチャートにおいて、処理の終了前に、文出力部３７は、予め決められた文や、予め決められた文パターンから構成された文を出力しても良い。
【０２０２】
さらに、図４のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０２０３】
次に、ステップＳ１８０５のスコア算出処理の詳細については、図１９のフローチャートを用いて説明する。
【０２０４】
（ステップＳ１９０１）スコア算出部１５は、ユーザ状態情報格納部１３からユーザ状態情報を読み出す。
【０２０５】
（ステップＳ１９０２）スコア算出部１５は、カウンタｉに１を代入する。
【０２０６】
（ステップＳ１９０３）スコア算出部１５は、情報推薦手法格納部１２の中に、ｉ番目の情報推薦手法が存在するか否かを判断する。ｉ番目の情報推薦手法が存在すればステップＳ１９０４に行き、存在しなければ上位処理にリターンする。
【０２０７】
（ステップＳ１９０４）スコア算出部１５は、ｉ番目の情報推薦手法が有する評価情報を読み出す。
【０２０８】
（ステップＳ１９０５）スコア算出部１５は、ステップＳ１９０１で読み出したユーザ状態情報と、ステップＳ１９０４で読み出した評価情報とを用いて、ｉ番目の情報推薦手法のスコアを算出し、当該スコアをｉ番目の情報推薦手法と対応付けて一時蓄積する。スコア算出部１５は、例えば、ステップＳ１９０１で読み出したユーザ状態情報とステップＳ１９０４で読み出した評価情報と乗算し、スコアを算出する。
【０２０９】
（ステップＳ１９０６）スコア算出部１５は、カウンタｉを１、インクリメントし、ステップＳ１９０３に戻る。
【０２１０】
なお、図１９のフローチャートにおいて、スコア算出部１５のスコア算出方法は、問わない。
【０２１１】
次に、ステップＳ１８０６の文構成処理の詳細については、図２０のフローチャートを用いて説明する。
【０２１２】
（ステップＳ２００１）文構成部３６は、直前のユーザ入力文、または／および直前の対話装置１の出力文を自然言語処理し、スポットを取得する。文構成部３６は、例えば、直前のユーザ入力文、または／および直前の対話装置１の出力文を形態素解析し、自立語を取得し、当該自立語をキーとして知識ベース１１を検索し、知識ベース１１に存在するスポットを取得する。ただし、ここで、スポットを取得できない場合もあり得る。
【０２１３】
（ステップＳ２００２）文構成部３６は、直前のユーザ入力文、または／および直前の対話装置１の出力文を自然言語処理し、決定要因を取得する。文構成部３６は、例えば、直前のユーザ入力文、または／および直前の対話装置１の出力文を形態素解析し、自立語を取得し、当該自立語をキーとして知識ベース１１を検索し、知識ベース１１に存在する決定要因を取得する。ただし、ここで、決定要因を取得できない場合もあり得る。
【０２１４】
（ステップＳ２００３）文構成部３６は、ステップＳ２００１でスポットを取得できたか否かを判断する。取得できればステップＳ２００４に行き、取得できなければステップＳ２００５に行く。
【０２１５】
（ステップＳ２００４）文構成部３６は、変数「着目スポット」に、ステップＳ２００１で取得したスポットを代入する。なお、変数「着目スポット」の値は、現在、対話において着目されているスポットである。また、変数「着目スポット」の値は、通常、一のスポットである。
【０２１６】
（ステップＳ２００５）文構成部３６は、ステップＳ２００２で決定要因を取得できたか否かを判断する。取得できればステップＳ２００６に行き、取得できなければステップＳ２００７に行く。
【０２１７】
（ステップＳ２００６）文構成部３６は、変数「着目決定要因」に、ステップＳ２００２で取得した決定要因を代入する。なお、変数「着目決定要因」の値は、現在、対話において着目されている決定要因である。また、変数「着目決定要因」の値は、２以上の決定要因である場合もある。
【０２１８】
（ステップＳ２００７）文構成部３６は、変数「着目スポット」の値、および変数「着目決定要因」の値を用いて、知識ベース１１を検索し、着目スポットおよび着目決定要因に対応する説明文を、知識ベース１１から読み出す。なお、この説明文は、ユーザからの入力文に対する回答文である。通常、文構成部３６は、変数「着目スポット」の値、および変数「着目決定要因」に対応する説明文を知識ベース１１から読み出す。
【０２１９】
（ステップＳ２００８）文構成部３６は、推薦文の取得処理を行い、上位処理にリターンする。推薦文取得処理については、図２１のフローチャートを用いて説明する。
【０２２０】
なお、図２０のフローチャートにおいて、回答文と推薦文を取得した。しかし、図２０のフローチャートにおいて、推薦文のみを取得する、回答文と推薦文と他の文も取得するなど、種々の文の取得処理が考えられる。
【０２２１】
次に、ステップＳ２００８の推薦文取得処理については、図２１のフローチャートを用いて説明する。
【０２２２】
（ステップＳ２１０１）文構成部３６の文パターン情報取得手段３６１は、スコア算出部１５が算出した２以上のスコアのうち最も大きいスコアに対応する一の情報推薦手法が有する文パターン情報を、情報推薦手法格納部１２から取得する。
【０２２３】
（ステップＳ２１０２）変数値取得手段３６２は、カウンタｉに１を代入する。
【０２２４】
（ステップＳ２１０３）変数値取得手段３６２は、ステップＳ２１０１で取得した文パターン情報の中の、ｉ番目の変数が存在するか否かを判断する。存在すればステップＳ２１０４に行き、存在しなければステップＳ２１０８に行く。
【０２２５】
（ステップＳ２１０４）変数値取得手段３６２は、ステップＳ２１０１で取得した文パターン情報の中の、ｉ番目の変数を取得する。なお、この変数には、変数の値をどこから取得するかに関する情報も保持している。
【０２２６】
（ステップＳ２１０５）変数値取得手段３６２は、ｉ番目の変数に代入される１以上の用語を取得する。この用語とは、通常、スポットまたは決定要因（決定要因を特定する単語等でも良い）である。
【０２２７】
（ステップＳ２１０６）文構成手段３６３は、ステップＳ２１０４で取得した１以上の用語を、文パターン情報の中のｉ番目の変数の箇所に代入する。
【０２２８】
（ステップＳ２１０７）変数値取得手段３６２は、カウンタｉを１、インクリメントし、ステップＳ２１０３に戻る。
【０２２９】
（ステップＳ２１０８）文構成手段３６３は、取得した文を、自然な文に変更し、上位処理にリターンする。なお、自然な文に変更する必要がない場合は、ステップＳ２１０８では何も処理されない。また、文を自然な文に変更する技術は公知技術であるので、詳細な説明を省略する。文を自然な文に変更する技術は、例えば、統計ベースの手法を用いる。
【０２３０】
次に、ステップＳ１８０８のユーザ状態情報更新処理の詳細については、図２２のフローチャートを用いて説明する。
【０２３１】
（ステップＳ２２０１）ユーザ状態情報更新部１８のユーザ提示用語取得手段１８１は、受付部３４が受け付けた最新（直前）の文から、１以上の決定要因を取得する。また、直前に受け付けた文から１以上の決定要因を取得できない場合、ユーザ提示用語取得手段１８１は、着目決定要因を取得する。また、ユーザ提示用語取得手段１８１は、受付部３４が受け付けた最新（直前）の文から、１以上のスポットを取得する。そして、ユーザ提示用語取得手段１８１は、取得した決定要因または／および取得したスポットを、バッファに一時格納する。
【０２３２】
（ステップＳ２２０２）嗜好ベクトル更新手段１８３は、ユーザ状態情報格納部１３のユーザ状態情報が有する嗜好ベクトルを読み出す。そして、嗜好ベクトル更新手段１８３は、ステップＳ２２０１で取得した決定要因に対応する要素の値が大きくなるように、ユーザ状態情報に含まれる嗜好ベクトルを更新する。また、属性ベクトル更新手段１８５は、ステップＳ８０１で取得された決定要因に対応する要素の値が大きくなるように、または当該決定要因に対応する要素の値になるように、または当該決定要因に対応する要素の値に近づくように、ユーザ状態情報に含まれる属性ベクトルを更新する。
【０２３３】
（ステップＳ２２０３）装置提示用語取得手段１８２は、文出力部３７が出力した最新（直前）の文から、１以上の決定要因を取得する。また、装置提示用語取得手段１８２は、文出力部３７が出力した最新（直前）の文から、１以上のスポットを取得する。そして、装置提示用語取得手段１８２は、取得した決定要因または／および取得したスポットを、バッファに一時格納する。
【０２３４】
（ステップＳ２２０４）知識ベクトル更新手段１８４は、ユーザ状態情報格納部１３のユーザ状態情報が有する知識ベクトルを読み出す。知識ベクトル更新手段１８４は、ステップＳ２２０３で取得した決定要因に対応する要素の値が大きくなるように、ユーザ状態情報に含まれる知識ベクトルを更新する。
【０２３５】
（ステップＳ２２０５）ユーザ状態情報更新部１８は、ユーザ状態情報格納部１３のユーザ状態情報が有する対話のターン数を読み出す。なお、対話のターン数とは、対話が繰り返された対数である。そして、ユーザ状態情報更新部１８は、読み出したターン数に１を加えた値を、新しいターン数として、ユーザ状態情報格納部１３のユーザ状態情報を更新する。
【０２３６】
（ステップＳ２２０６）ユーザ状態情報更新部１８は、直前ユーザ発話行為情報を更新する。直前ユーザ発話行為情報は、直前に受付部３４が受け付けた文に関する情報であり、ユーザが要求した情報の種類（スポットのみ、決定要因名のみ、またはその両方等）に対応する情報である。
【０２３７】
（ステップＳ２２０７）ユーザ状態情報更新部１８は、直前システム発話行為情報を更新する。直前システム発話行為情報は、直前に文出力部３７が出力した文に関する情報であり、選択した情報推薦手法を特定する情報である。
【０２３８】
（ステップＳ２２０８）ユーザ状態情報更新部１８は、システム提示履歴情報を更新し、上位処理にリターンする。なお、システム提示履歴情報は、対話装置１（システム）が出力したスポット、および決定要因の数である。ユーザ状態情報更新部１８は、ステップＳ２２０３でバッファに書き込んだ決定要因およびスポットを、それぞれユニーク処理し、バッファ内の決定要因の数およびスポットの数を取得する。そして、ユーザ状態情報更新部１８は、バッファ内の決定要因の数およびスポットの数を、システム提示履歴情報として取得する。
【０２３９】
なお、図２２のフローチャートにおいて、ステップＳ２２０５からＳ２２０８において更新した情報は、ユーザ状態情報を構成する情報の例であり、その他の情報がユーザ状態情報を構成しても良い。
【０２４０】
以下、本実施の形態における対話装置３の具体的な動作について説明する。対話装置１の概念図は図２３である。本具体例において、対話装置３は、ユーザとの対話を進めながら、ユーザの訪問先の意思決定を支援し、京都の観光案内を行うシステムである。
【０２４１】
知識ベース１１が保持しているスポット情報管理表の一例は、上述した図１１である。また、情報推薦手法格納部１２の情報推薦手法管理表の一例は、上述した図１２である。
【０２４２】
また、ユーザ状態情報格納部１３は、以下に説明するユーザ状態情報を格納している、とする。例えば、ユーザ状態情報は、知識ベクトル「Ｋuser」、嗜好ベクトル「Ｐuser」、および局所重み行列「Ｖuser」の３要素を有する、とする。ここでは、簡単のため、ユーザの嗜好ベクトル「Ｐuser=(p1,p2,・・・,pM)」の要素は、「１」または「０」の２値からなるパラメータである、とする。すなわち、ユーザがある決定要因mに興味があり(もしくは潜在的に興味があり)、スポット決定する際に重視する場合にpmは「１」をとるものとする。また、ユーザが、(ユーザ自身も気づいていない)潜在的な嗜好を持っている状態を表現するために、ユーザの知識ベクトル「Ｋuser=(k1,k2,・・・,kM)」を導入する。ユーザが、システム（対話装置３）が決定要因mを扱えることを知っている、もしくはシステムが決定要因mを推薦した場合にベクトルの要素kMは、「１」をとる。これらのベクトルを用いることにより、例えば、決定要因mが、ユーザが潜在的に興味を持っている要因であるが、ユーザはそれに気づいていないという状態は(km=０,pm=１)で表現できる。また、ユーザの決定要因mの観点からのスポットnに対する局所重みvnmは、ユーザは、システムから提示された情報のみから判断すると仮定して、システムが上記の６つの推薦手法のうち「ＩＤ＝１，２，６」のいずれかの推薦手法を用いて、ユーザにスポットの評価を知らせた場合に「１」をとるものとする。
【０２４３】
また、ここでのユーザ状態情報は、対話状態の特徴ベクトルに相当する。さらに詳細には、ユーザ状態情報は、ここでは、以下の６種類の情報を有する。第一は、ターン数である。ターン数は、ここでは、ノコギリ関数を利用することにより、５つのパラメータでターン数を表現する。第二は、直前ユーザ発話行為情報である。直前ユーザ発話行為情報は、例えば、ベクトル（xi,xi+1,xi+2,xi+3,xi+4)であり、（１  ｉｆ  ａusert-1=xi  ，otherwise  ０）とする。ここで、「ａusert-1」は直前のユーザの発話である。また、直前のユーザの発話が、システム（対話装置３）が推薦したスポット（スポット名と言い換えても良い）もしくは決定要因のみを含む場合には「xi=１」であり他のベクトルの要素は「０」である。また、システムから推薦されていないスポットを含む場合には「xi+1=１」であり他のベクトルの要素は「０」である。また、システムから推薦されていない決定要因のみを含む場合には「xi+2=１」であり他のベクトルの要素は「０」である。また、システムから推薦されていないスポット・決定要因の双方を含む場合には「xi+3=1」であり他のベクトルの要素は「０」である。さらに、これらのいずれも含まない場合には「xi+4=１」であり他のベクトルの要素は「０」とする。第三は、直前システム発話行為情報である。直前システム発話行為情報は、例えば、ベクトル（yi,yi+1,yi+2,yi+3,yi+4,yi+5,yi+6)であり、（１  ｉｆ  ａsyst-1=yi  ，otherwise  ０）とする。ここで、「ａsyst-1」は直前のシステムの発話である。また、直前のシステムの発話が、情報推薦手法１を用いた場合は「yi+1=１」であり他のベクトルの要素は「０」である。また、情報推薦手法２を用いた場合は「yi+２=１」であり他のベクトルの要素は「０」である。つまり、情報推薦手法ｎを用いた場合は「yi+n=１」であり他のベクトルの要素は「０」とする。第四は、ユーザの決定要因に対する知識ベクトルである。なお、知識ベクトルは、ユーザの決定要因に対する知識を、「Σn=1N  Pr(kn=1)」により算出しても良い。ここで、knは、ｎ番目の決定要因に対する知識ベクトルの要素値である。また、Pr(k=1)は、「kが1である」と、システムが推定する事後確率（確信度）である。ここで、嗜好ベクトルの要素値は、「１」または「０」である、とする。第五は、システムが提示したスポット・決定要因数である。つまり、第五は、システム提示履歴情報であり、例えば、「Σn=1N Σm=1Mvnm」である。ここで、vnmは、対話装置３が有するスポットｍの決定要因ｎに対する評価値である。第六は、嗜好ベクトルである。嗜好ベクトルは、ユーザの各決定要因に対する嗜好を示す情報である。なお、嗜好ベクトルは、ユーザが決定要因を重視する確率の期待値に置き換えても良い。この期待値は、「Pr(kn=1)×Pr(pn=1))」で示され、ここで、各決定要因ごと計１０パラメータを有する。ここで、「pn」は、嗜好ベクトルの要素値である。ここで、嗜好ベクトルの要素値は、「１」または「０」である、とする。
【０２４４】
そして、ユーザ状態情報格納部１３が格納しているユーザ状態情報は、上記で説明した要素値を有するベクトルであり、２９の要素値を有するベクトル（s1,s2,・・・,s29）である、とする。そして、ユーザ状態情報の初期値は、（s0001,s0002,・・・,s0029）である、とする。
【０２４５】
また、文出力部３７は、対話装置３が起動時に出力される文である初期文「京都観光システムです。お好みの観光スポットを推薦します。」を格納している、とする。
【０２４６】
さらに、受付部３４は、対話の終了条件である文のパターン「＜スポット＞に行きます。」「＜スポット＞に決めました。」を保持している、とする。なお、ここで＜スポット＞は、スポットが代入され得る変数である。
【０２４７】
かかる状態において、ユーザは、対話装置３を起動した、とする。次に、文出力部３７は、初期文を読み出し、初期文「京都観光システムです。お好みの観光スポットを推薦します。」を音声出力する。
【０２４８】
次に、ユーザは、「仁和寺の桜について教えて。」と音声入力した、とする。すると、受付部３４の音声受付手段３４１は、音声「仁和寺の桜について教えて。」を受け付ける。次に、音声認識手段３４２は、この音声を認識し、文「仁和寺の桜について教えて。」を取得する。
【０２４９】
次に、受付部３４は、入力された文「仁和寺の桜について教えて。」が終了条件である文パターン「＜スポット＞に行きます。」または「＜スポット＞に決めました。」に合致しない、と判断する。
【０２５０】
次に、スコア算出部１５は、各情報推薦手法に対する６つのスコアを算出する。つまり、まず、スコア算出部１５は、ユーザ状態情報格納部１３からユーザ状態情報（s0001,s0002,・・・,s0029）を読み出す。
【０２５１】
次に、スコア算出部１５は、情報推薦手法格納部１２の中に、１番目から６番目までの各情報推薦手法が有する評価情報（ベクトル）と重みベクトルと、ユーザ状態情報（s0001,s0002,・・・,s0029）とを、情報推薦手法ごとに乗算する。そして、スコア算出部１５は、６つの情報推薦手法のスコアを算出する。
【０２５２】
次に、文構成部３６は、直前のユーザ入力文を自然言語処理し、スポット「仁和寺」を取得する。また、文構成部３６は、直前のユーザ入力文を自然言語処理し、決定要因「桜」を取得する。なお、文構成部３６は、例えば、ユーザ入力文を形態素解析し、自立語「仁和寺」「桜」「教えて」を取得する。そして、文構成部３６は、３つの自立語をキーとして、知識ベース１１を検索し、「仁和寺」がスポット、「桜」が決定要因であることを検知し、スポット「仁和寺」および決定要因「桜」を取得する。
【０２５３】
次に、文構成部３６は、変数「着目スポット」に、取得したスポット「仁和寺」を代入する。また、文構成部３６は、変数「着目決定要因」に、取得した決定要因「桜」を代入する。
【０２５４】
次に、文構成部３６は、変数「着目スポット」の値「仁和寺」、および変数「着目決定要因」の値「桜」を用いて、知識ベース１１を検索し、着目スポットおよび着目決定要因に対応する説明文「御室桜は、樹高が低く単弁の香り高い白花を根元から咲かせる珍しい桜です。開花時期が遅く、京都の春の終わりを飾ります。」を、知識ベース１１から読み出す。この説明文は、回答文となる。
【０２５５】
次に、文構成部３６は、推薦文の取得処理を行う。つまり、まず、文構成部３６の文パターン情報取得手段３６１は、スコア算出部１５が算出した６つのスコアのうち最も大きいスコアに対応する一の情報推薦手法（ここでは、ＩＤ＝１の手法）が有する文パターン情報「＜着目スポット＞は、＜１以上の未出決定要因＞。何か説明しましょうか？」を、図１２の情報推薦手法管理表から取得する。
【０２５６】
次に、変数値取得手段３６２は、文パターン情報から、１番目の変数＜着目スポット＞を取得する。次に、変数値取得手段３６２は、変数＜着目スポット＞に代入される１以上の用語（変数「着目スポット」の値「仁和寺」）を取得する。次に、文構成手段３６３は、取得した１以上の用語「仁和寺」を、文パターン情報の中の１番目の変数の箇所に代入し、「仁和寺は、＜１以上の未出決定要因＞。何か説明しましょうか？」を得る。
【０２５７】
次に、変数値取得手段３６２は、文パターン情報から、２番目の変数＜１以上の未出決定要因＞を取得する。そして、変数値取得手段３６２は、変数＜１以上の未出決定要因＞を取得する。つまり、変数値取得手段３６２は、変数「着目スポット」の値「仁和寺」の評価値が「１」であり、既出の決定要因「桜」を除く決定要因である「景色が良い」「庭園が有名」「紅葉が有名」「世界遺産」「イベントがある」を取得する。そして、次に、文構成手段３６３は、取得した１以上の用語を、文パターン情報の中の２番目の変数の箇所に代入し、「仁和寺は、景色が良い、庭園が有名、紅葉が有名、世界遺産、イベントがある。何か説明しましょうか？」を得る。次に、文構成手段３６３は、「仁和寺は、景色が良い、庭園が有名、紅葉が有名、世界遺産、イベントがある。何か説明しましょうか？」を自然な文「仁和寺は、景色が良く、庭園、紅葉が有名で、世界遺産であり、イベントがあります。何か説明しましょうか？」に変換し、推薦文を取得する。
【０２５８】
つまり、上記の処理は、「Method1（(Spot仁和寺),(Det景色,Det庭園,Det紅葉，Det世界遺産,Detイベント))」を実行したこととなる。Method1()は、情報推薦手法１を適用することを意味する。「Spot仁和寺」はスポット「仁和寺」、「Det景色」は決定要因「景色」、「Det庭園」は決定要因「庭園」、「Det紅葉」は決定要因「紅葉」、「Det世界遺産」は決定要因「世界遺産」、「Detイベント」は決定要因「イベント」を意味する。
【０２５９】
次に、文出力部３７は、回答文「御室桜は、樹高が低く単弁の香り高い白花を根元から咲かせる珍しい桜です。開花時期が遅く、京都の春の終わりを飾ります。」を音声出力する。続いて、文出力部３７は、推薦文「仁和寺は、景色が良く、庭園、紅葉が有名で、世界遺産であり、イベントがあります。何か説明しましょうか？」を音声出力する。
【０２６０】
次に、ユーザ状態情報更新部１８は、以下のように、ユーザ状態情報更新処理を行う。つまり、まず、ユーザ状態情報更新部１８のユーザ提示用語取得手段１８１は、受付部３４が受け付けた最新の文「仁和寺の桜について教えて。」から、１以上の決定要因「桜」を取得する。
【０２６１】
そして、嗜好ベクトル更新手段１８３は、ユーザ状態情報格納部１３のユーザ状態情報が有する嗜好ベクトルを読み出す。そして、嗜好ベクトル更新手段１８３は、取得した決定要因「桜」に対応する要素の値が大きくなるように、ユーザ状態情報に含まれる嗜好ベクトルを更新する。決定要因「桜」に対応する要素の値を、どの程度大きくするかについては問わない。この大きくする値は、固定の値でも、固定の割合でも、動的に変化しても良い。
【０２６２】
次に、装置提示用語取得手段１８２は、文出力部３７が出力した最新の推薦文「仁和寺は、景色が良く、庭園、紅葉が有名で、世界遺産であり、イベントがあります。何か説明しましょうか？」から、１以上の決定要因「景色」「庭園」「紅葉」「世界遺産」「イベント」を取得する。
【０２６３】
次に、知識ベクトル更新手段１８４は、ユーザ状態情報格納部１３のユーザ状態情報が有する知識ベクトルを読み出す。知識ベクトル更新手段１８４は、取得した決定要因「景色」「庭園」「紅葉」「世界遺産」「イベント」に対応する要素の値が大きくなるように、ユーザ状態情報に含まれる知識ベクトルを更新する。決定要因「景色」等に対応する要素の値を、どの程度大きくするかについては問わない。この大きくする値は、固定の値でも、固定の割合でも、動的に変化しても良い。
【０２６４】
次に、ユーザ状態情報更新部１８は、ユーザ状態情報格納部１３のユーザ状態情報が有する対話のターン数「０」を読み出す。そして、ユーザ状態情報更新部１８は、読み出したターン数「０」に１を加えた値「１」を、新しいターン数として、ユーザ状態情報格納部１３のユーザ状態情報を更新する。
【０２６５】
次に、ユーザ状態情報更新部１８は、直前ユーザ発話行為情報を「０」から「１」に更新する。
【０２６６】
次に、ユーザ状態情報更新部１８は、直前システム発話行為情報を「０」から「１」に更新する。
【０２６７】
次に、ユーザ状態情報更新部１８は、システム提示履歴情報を構成するスポット数を「０」から「１」（「仁和寺」を出力したので）に更新する。また、ユーザ状態情報更新部１８は、システム提示履歴情報を構成する決定要因数を「０」から「５」（「景色」「庭園」「紅葉」「世界遺産」「イベント」を出力したので）に更新する。
【０２６８】
以上により、ユーザ状態情報が最新の値（s0101,s0102,・・・,s0129）に更新された。
【０２６９】
次に、ユーザと対話装置３との対話が何度か行われ、５回目の発話「ここの景色はどうですか？」が、ユーザにより音声入力された、とする。なお、現在の着目スポットは「仁和寺」である。
【０２７０】
次に、受付部３４の音声受付手段３４１は、ユーザから音声による文「ここの景色はどうですか？」を受け付ける。
【０２７１】
次に、受付部３４の音声認識手段３４２は、受け付けた文「ここの景色はどうですか？」を音声認識し、文字列の文を取得する。
【０２７２】
次に、受付部３４は、入力された文「ここの景色はどうですか？」が終了条件である文パターン「＜スポット＞に行きます。」または「＜スポット＞に決めました。」に合致しない、と判断する。
【０２７３】
次に、スコア算出部１５は、６つの各情報推薦手法に対する６つのスコアを、上述と同様に算出する。
【０２７４】
つまり、まず、スコア算出部１５は、ユーザ状態情報格納部１３から、現在のユーザ状態情報（s0501,s0502,・・・,s0529）を読み出す。
【０２７５】
次に、スコア算出部１５は、情報推薦手法格納部１２の中に、１番目から６番目までの各情報推薦手法が有する評価情報（ベクトル）と重みベクトルと、ユーザ状態情報（s0501,s0502,・・・,s0529）とを、情報推薦手法ごとに乗算する。そして、スコア算出部１５は、６つの情報推薦手法のスコアを算出する。
【０２７６】
次に、文構成部３６は、直前のユーザ入力文を自然言語処理し、決定要因「景色」を取得する。なお、ここでは、文構成部３６は、ユーザ入力文からスポットを取得できなかった。
【０２７７】
次に、文構成部３６は、変数「着目決定要因」に、取得した決定要因「景色」を代入する。
【０２７８】
次に、文構成部３６は、変数「着目スポット」の値「仁和寺」、および変数「着目決定要因」の値「景色」を用いて、知識ベース１１を検索し、着目スポットおよび着目決定要因に対応する説明文「三門の上からは。京都市内が一望できます。」を、知識ベース１１から読み出す。この説明文は、回答文となる。
【０２７９】
次に、文構成部３６は、推薦文の取得処理を行う。つまり、まず、文構成部３６の文パターン情報取得手段３６１は、スコア算出部１５が算出した６つのスコアのうち最も大きいスコアに対応する一の情報推薦手法（ここでは、ＩＤ＝２の手法）が有する文パターン情報「＜着目決定要因＞ところですと、＜１以上の未出スポット＞などが紹介できます。」を、図１２の情報推薦手法管理表から取得する。
【０２８０】
次に、変数値取得手段３６２は、文パターン情報から、１番目の変数＜着目決定要因＞を取得する。次に、変数値取得手段３６２は、変数＜着目決定要因＞に代入される１以上の用語（変数「着目決定要因」の値「景色」）を取得する。次に、文構成手段３６３は、取得した１以上の用語「景色が良い」を、文パターン情報の中の１番目の変数の箇所に代入し、「景色が良いところですと、＜１以上の未出スポット＞などが紹介できます。」を得る。なお、「決定要因」に関する変数に値を代入する場合は、変数値取得手段３６２は、図１１の属性値「決定要因」を取得する、とする。
【０２８１】
次に、変数値取得手段３６２は、文パターン情報から、２番目の変数＜１以上の未出スポット＞を取得する。そして、変数値取得手段３６２は、変数＜１以上の未出スポット＞を取得する。つまり、変数値取得手段３６２は、変数「着目決定要因」の値「景色」の評価値が「１」であり、既出の決定要因「仁和寺」を除くスポットである「清水寺」「伏見稲荷大社」「鞍馬寺」を、知識ベース１１（図１１）から取得する。そして、次に、文構成手段３６３は、取得した用語「清水寺」「伏見稲荷大社」「鞍馬寺」を、文パターン情報の中の２番目の変数の箇所に代入し、「景色が良いところですと、清水寺、伏見稲荷大社、鞍馬寺などが紹介できます。」を得る。次に、文構成手段３６３は、「景色が良いところですと、清水寺、伏見稲荷大社、鞍馬寺などが紹介できます。」を自然な文に変換しようとするが、変更の必要がなく、推薦文「景色が良いところですと、清水寺、伏見稲荷大社、鞍馬寺などが紹介できます。」を取得する。
【０２８２】
つまり、上記の処理は、「Method2（(Spot清水寺,Spot伏見稲荷大社,Spot鞍馬寺),(Det景色))」を実行したこととなる。Method2()は、情報推薦手法2を適用することを意味する。「Spot清水寺」等はスポット「清水寺」等を意味する。
【０２８３】
次に、文出力部３７は、回答文「三門の上からは。京都市内が一望できます。」を音声出力する。続いて、文出力部３７は、推薦文「景色が良いところですと、清水寺、伏見稲荷大社、鞍馬寺などが紹介できます。」を音声出力する。
【０２８４】
次に、ユーザ状態情報更新部１８は、以下のように、ユーザ状態情報更新処理を行う。つまり、まず、ユーザ状態情報更新部１８のユーザ提示用語取得手段１８１は、受付部３４が受け付けた最新の文「ここの景色はどうですか？」から、１以上の決定要因「景色」を取得する。
【０２８５】
そして、嗜好ベクトル更新手段１８３は、ユーザ状態情報格納部１３のユーザ状態情報が有する嗜好ベクトルを読み出す。そして、嗜好ベクトル更新手段１８３は、取得した決定要因「景色」に対応する要素の値が大きくなるように、ユーザ状態情報に含まれる嗜好ベクトルを更新する。決定要因「景色」に対応する要素の値を、どの程度大きくするかについては問わない。
【０２８６】
次に、装置提示用語取得手段１８２は、文出力部３７が出力した最新の推薦文「景色が良いところですと、清水寺、伏見稲荷大社、鞍馬寺などが紹介できます。」から、１以上の決定要因「景色」を取得する。
【０２８７】
次に、知識ベクトル更新手段１８４は、ユーザ状態情報格納部１３のユーザ状態情報が有する知識ベクトルを読み出す。知識ベクトル更新手段１８４は、取得した決定要因「景色」に対応する要素の値が大きくなるように、ユーザ状態情報に含まれる知識ベクトルを更新する。なお、例えば、すでに決定要因「景色」に対応する要素の値が最大値である場合は、この要素値は変化しない。
【０２８８】
次に、ユーザ状態情報更新部１８は、ユーザ状態情報格納部１３のユーザ状態情報が有する対話のターン数「５」を読み出す。そして、ユーザ状態情報更新部１８は、読み出したターン数「５」に１を加えた値「６」を、新しいターン数として、ユーザ状態情報格納部１３のユーザ状態情報を更新する。
【０２８９】
次に、ユーザ状態情報更新部１８は、直前ユーザ発話行為情報を「１」のままとする。また、ユーザ状態情報更新部１８は、直前システム発話行為情報を「１」のままとする。
【０２９０】
次に、ユーザ状態情報更新部１８は、システム提示履歴情報を構成するスポット数を「１」から「４」（「清水寺」「伏見稲荷大社」「鞍馬寺」を出力したので）に更新する。また、「景色」は、既に出現したいたので、ユーザ状態情報更新部１８は、システム提示履歴情報を構成する決定要因数を「５」のままとする。
【０２９１】
以上により、ユーザ状態情報が最新の値（s0601,s0602,・・・,s0629）に更新された。
【０２９２】
次に、ユーザは、対話装置３が出力した回答文と推薦文を聞き、「清水寺」（６回目の発話）と答えた、とする。
【０２９３】
次に、受付部３４の音声受付手段３４１は、ユーザから音声による文「清水寺」を受け付ける。
【０２９４】
次に、受付部３４の音声認識手段３４２は、受け付けた文「清水寺」を音声認識し、文字列の文を取得する。
【０２９５】
次に、受付部３４は、入力された文「清水寺」が終了条件である文パターン「＜スポット＞に行きます。」または「＜スポット＞に決めました。」に合致しない、と判断する。
【０２９６】
次に、スコア算出部１５は、６つの各情報推薦手法に対する６つのスコアを、上述と同様に算出する。
【０２９７】
つまり、まず、スコア算出部１５は、ユーザ状態情報格納部１３から、現在のユーザ状態情報（s0601,s0602,・・・,s0629）を読み出す。
【０２９８】
次に、スコア算出部１５は、情報推薦手法格納部１２の中に、１番目から６番目までの各情報推薦手法が有する評価情報（ベクトル）と重みベクトルと、ユーザ状態情報（s0601,s0602,・・・,s0629）とを、情報推薦手法ごとに乗算する。そして、スコア算出部１５は、６つの情報推薦手法のスコアを算出する。
【０２９９】
次に、文構成部３６は、直前のユーザ入力文を自然言語処理し、スポット「清水寺」を取得する。なお、ここでは、文構成部３６は、ユーザ入力文から決定要因を取得できなかった。
【０３００】
次に、文構成部３６は、変数「着目スポット」に、取得したスポット「清水寺」を代入する。なお、現在の変数「着目決定要因」は、「景色」である。
【０３０１】
次に、文構成部３６は、変数「着目スポット」の値「清水寺」、および変数「着目決定要因」の値「景色」を用いて、知識ベース１１を検索し、着目スポットおよび着目決定要因に対応する説明文「清水の舞台は斜面の上に建てられ、ここから望む市街の風景は見事です。」を、知識ベース１１から読み出す。この説明文は、回答文となる。
【０３０２】
次に、文構成部３６は、推薦文の取得処理を行う。つまり、まず、文構成部３６の文パターン情報取得手段３６１は、スコア算出部１５が算出した６つのスコアのうち最も大きいスコアに対応する一の情報推薦手法（ここでは、ＩＤ＝４の手法）が有する文パターン情報「他にも＜１以上の未出決定要因＞｛ｓｅｌｅｃｔ  ３以下の決定要因  ｗｈｅｒｅ  知識ベクトル内の値が低い順｝なところなどが説明できます。」を、図１２の情報推薦手法管理表から取得する。
【０３０３】
次に、変数値取得手段３６２は、文パターン情報から、１番目の変数＜１以上の未出決定要因＞を取得する。次に、変数値取得手段３６２は、取得動作記述｛ｓｅｌｅｃｔ  ３以下の決定要因  ｗｈｅｒｅ  知識ベクトル内の値が低い順｝に従って、変数＜１以上の未出決定要因＞に代入される１以上の用語（変数「着目決定要因」の値「景色」）を取得する。つまり、変数値取得手段３６２は、既出の決定要因「桜」「景色」以外の決定要因「混雑」「世界遺産」「散策」・・・のうちで、知識ベクトル内の値が低い順に３つ（ここで、「世界遺産」「散策」「歴史」）を取得した、とする。次に、文構成手段３６３は、取得した３つの決定要因「世界遺産」「散策」「歴史」を、文パターン情報の中の１番目の変数の箇所に代入し、「他にも世界遺産、散策できる、歴史で有名なところなどが説明できます。」を得る。
【０３０４】
つまり、上記の処理は、「Method4（(NULL),(Det世界遺産,Det散策,Det歴史))」を実行したこととなる。Method4()は、情報推薦手法4を適用することを意味する。「Det世界遺産」等は決定要因「世界遺産」等を意味する。
【０３０５】
次に、文出力部３７は、回答文「清水の舞台は斜面の上に建てられ、ここから望む市街の風景は見事です。」を音声出力する。続いて、文出力部３７は、推薦文「他にも世界遺産、散策できる、歴史で有名なところなどが説明できます。」を音声出力する。
【０３０６】
次に、ユーザ状態情報更新部１８は、上記と同様に、ユーザ状態情報更新処理を行い、ユーザ状態情報が最新の値（s0701,s0702,・・・,s0729）に更新された、とする。
【０３０７】
その後、ユーザと対話装置３との対話が進行し、ユーザが１６回目の発話で「では、南禅寺に行きます。」を音声入力した、とする。
【０３０８】
次に、受付部３４の音声受付手段３４１は、ユーザから音声による文「では、南禅寺に行きます。」を受け付ける。
【０３０９】
次に、受付部３４の音声認識手段３４２は、受け付けた文「では、南禅寺に行きます。」を音声認識し、文字列の文を取得する。
【０３１０】
次に、受付部３４は、入力された文「では、南禅寺に行きます。」が終了条件である文パターン「＜スポット＞に行きます。」に合致する、と判断する。文「では、南禅寺に行きます。」が文パターン「＜スポット＞に行きます。」に合致する文を含むからである。
【０３１１】
そして、処理は終了する。なお、処理の終了時に、文出力部３７は、予め決められた文「京都観光案内システムをご利用頂き、有り難うございました。」や、予め決められた文パターン「＜スポット＞に決定しました。他に知りたいことはありますか？」から構成された文を出力しても良い。なお、ここでは、文出力部３７は、文パターン「＜スポット＞に決定しました。他に知りたいことはありますか？」から「南禅寺に決定しました。他に知りたいことはありますか？」を出力した、とする。
【０３１２】
以上の対話の流れを、図２４に示す。図２４において、Ｓ［数値］は、対話装置３（システム）からの発話、Ｕ［数値］はユーザからの発話を示す。また、Ａｎｓは回答文、Ｒｅｃは推薦文を示す。
【０３１３】
以上、本実施の形態によれば、ユーザとの対話の進行に応じて、ユーザの知識と嗜好とに関する情報を動的に変更しながら対話を行うことにより、ユーザの意思決定を適切に支援できる。
【０３１４】
なお、本実施の形態によれば、ユーザ状態情報の内容は問わない。また、ユーザとの対話の進行に応じて、ユーザ状態情報をどのように変更するかは問わない。ただ、ユーザの発話内に含まれるスポットや決定要因であり、否定的な内容ではないスポットや決定要因に対する嗜好に関する値（嗜好ベクトルを構成する要素値など）は、大きくする（対話装置３に選択されやすくする）。また、対話装置３が出力した発話内に含まれるスポットや決定要因に対する知識に関する値（知識ベクトルを構成する要素値など）は、大きくする（対話装置３に選択されやすくする）。
【０３１５】
また、本実施の形態における、対話によるユーザ状態情報の変更の例について、以下に詳細に説明する。事前のユーザ状態情報が有する知識ベクトルが「Ｋｓｙｓ＝（０．２２，０．０１，０．０２，０．１８，・・・）」であり、事前の嗜好ベクトルが「Ｐｓｙｓ＝（０．３７，０．１９，０．４８，０．３８，・・・）」であるとする。そして、ユーザの発話を受け付けて、対話装置３は、情報推薦手法１を選択した、とする。つまり、対話装置３は、「asys=Method1{(Spot5),(Det1,Det3,Det4)}」を実行した、とする。そして、対話装置３は、推薦文「仁和寺(Spot5)に関しては、庭園(Det1)、世界遺産(Det3)、紅葉(Det4)について説明できます。」を得た、とする。そして、ユーザは、「世界遺産について(Det3)教えて」を入力した、とする。
【０３１６】
すると、ユーザ状態情報更新部１８は、事後の知識ベクトル「Ｋｓｙｓ＝（（１．００，０．０１，１．００，１．００，・・・）」、事後の嗜好ベクトル「Ｐｓｙｓ＝（０．２６，０．１９，０．６５，０．２２，・・・）」を得る。なお、ベクトルは、（庭園，混雑，世界遺産，紅葉，景色，アクセス，桜，歴史，散策，イベント）の要素値で構成されている、とする。対話装置３（システム）から、決定要因「庭園」「世界遺産」「紅葉」が出力されたことにより、事後の知識ベクトルの「庭園」「世界遺産」「紅葉」の要素値が向上した。また、ユーザから決定要因「世界遺産」が入力されたことにより、嗜好ベクトルの「世界遺産」の要素値が増加した。そして、ユーザが決定要因「庭園」「紅葉」を選択しなかったことにより、嗜好ベクトルの「庭園」「紅葉」の要素値が減少した。
また、本実施の形態において、実施の形態１で学習した重みベクトルを用いた、対話装置について説明した。しかし、本実施の形態における対話装置３が用いる重みベクトルは、実施の形態１で学習した重みベクトルでなくても良い。つまり、対話装置３と実施の形態１で説明したシミュレーション装置２とは連携していなくても良い。
【０３１７】
また、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをＣＤ−ＲＯＭなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における対話装置３を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、スポットと、当該スポットを決定するための要因である１以上の決定要因と、当該スポットの前記１以上の各決定要因の評価を示す評価値とを有するスポット情報を、２以上格納している知識ベースと、前記対話装置が出力する文または前記対話装置が出力する文のパターンを示す情報である文パターン情報と、当該文パターン情報を選択する際に利用される文パターン情報の評価情報とを有する２以上の情報推薦手法と、ユーザの状態を示す情報であり、１以上の各決定要因に対するユーザの嗜好を示す情報である嗜好ベクトルと、１以上の各決定要因に対するユーザの知識を示す知識ベクトルとを有するユーザ状態情報とを格納しており、コンピュータを、ユーザが入力した文を受け付ける受付部と、前記ユーザ状態情報を、前記記憶媒体に格納されている２以上の各情報推薦手法が有する評価情報に適用し、前記２以上の各情報推薦手法に対する２以上のスコアを算出するスコア算出部と、前記スコア算出部が算出した２以上のスコアを用いて、一の情報推薦手法が有する文パターン情報を取得し、当該文パターン情報から文を構成する文構成部と、前記文構成部が構成した文を出力する文出力部と、前記受付部が受け付けた文、または前記文出力部が出力した文のうちの１以上の文から、少なくとも１以上のスポットまたは１以上の決定要因を取得し、当該１以上のスポットまたは１以上の決定要因を用いて、前記記憶媒体のユーザ状態情報を更新するユーザ状態情報更新部とをして機能させるプログラムであり、前記スコア算出部は、前記ユーザ状態情報更新部が更新したユーザ状態情報を、前記情報推薦手法格納部に格納されている２以上の各情報推薦手法が有する評価情報に適用し、前記２以上の各情報推薦手法に対する２以上のスコアを算出するものとして機能させるプログラム、である。
【０３１８】
また、上記プログラムにおいて、前記文構成部は、前記スコア算出部が算出した２以上のスコアのうち最も大きいスコアに対応する一の情報推薦手法が有する文パターン情報を取得する文パターン情報取得手段と、前記文パターン情報取得手段が取得した文パターン情報に含まれる１以上の変数を取得し、当該変数に対応するスポットまたは決定要因を、前記文出力部が直前に出力した文、または前記受付部が直前に受け付けた文のうちの１以上の文から取得する変数値取得手段と、前記文パターン情報取得手段が取得した文パターン情報の変数の箇所に、前記変数値取得手段が取得した用語を挿入して文を構成する文構成手段とを具備するものとして、コンピュータを機能させることは好適である。
【０３１９】
また、上記プログラムにおいて、前記変数値取得手段は、前記文パターン情報取得手段が取得した文パターン情報に含まれる１以上の変数を取得し、当該変数に対応する候補となる１以上のスポットまたは１以上の決定要因を、前記文出力部が直前に出力した文、または前記受付部が直前に受け付けた文のうちの１以上の文から取得し、前記候補となる１以上のスポットまたは１以上の決定要因から、前記候補となる１以上のスポットまたは１以上の決定要因に対応する前記知識ベースの評価値を用いて、前記変数に対応するスポットまたは決定要因を選択するものとして、コンピュータを機能させることは好適である。
【０３２０】
また、上記プログラムにおいて、前記ユーザ状態情報更新部は、前記受付部が受け付けた文から少なくとも１以上の決定要因を取得するユーザ提示用語取得手段と、前記文出力部が出力した文のうちの１以上の文から、少なくとも１以上の決定要因を取得する装置提示用語取得手段と、前記ユーザ提示用語取得手段が取得した１以上の決定要因に対する嗜好ベクトルの要素の値を高くするように更新する嗜好ベクトル更新手段と、前記装置提示用語取得手段が取得した１以上の決定要因に対する知識ベクトルの要素の値を高くするように更新する知識ベクトル更新手段とを具備するものとして、コンピュータを機能させることは好適である。
【０３２１】
また、上記プログラムにおいて、前記受付部は、ユーザが入力した音声を受け付ける音声受付手段と、前記音声を認識し、文字列に変換する音声認識手段とを具備し、前記文出力部は、前記文構成部が構成した文を音声出力するものとして、コンピュータを機能させることは好適である。
【０３２２】
また、図２５は、本明細書で述べたプログラムを実行して、上述した実施の形態の対話装置等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図２５は、このコンピュータシステム３４０の概観図であり、図２６は、コンピュータシステム３４０のブロック図である。
【０３２３】
図２５において、コンピュータシステム３４０は、ＦＤドライブ、ＣＤ−ＲＯＭドライブを含むコンピュータ３４１と、キーボード３４２と、マウス３４３と、モニタ３４４と、マイク３４５とを含む。なお、対話装置１、３、およびシミュレーション装置２は、マイク３４５を有しなくても良い。
【０３２４】
図２６において、コンピュータ３４１は、ＦＤドライブ３４１１、ＣＤ−ＲＯＭドライブ３４１２に加えて、ＭＰＵ３４１３と、ＣＤ−ＲＯＭドライブ３４１２及びＦＤドライブ３４１１に接続されたバス３４１４と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ３４１５とに接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのＲＡＭ３４１６と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク３４１７とを含む。ここでは、図示しないが、コンピュータ３４１は、さらに、ＬＡＮへの接続を提供するネットワークカードを含んでも良い。
【０３２５】
コンピュータシステム３４０に、上述した実施の形態の対話装置等の機能を実行させるプログラムは、ＣＤ−ＲＯＭ３５０１、またはＦＤ３５０２に記憶されて、ＣＤ−ＲＯＭドライブ３４１２またはＦＤドライブ３４１１に挿入され、さらにハードディスク３４１７に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ３４１に送信され、ハードディスク３４１７に記憶されても良い。プログラムは実行の際にＲＡＭ３４１６にロードされる。プログラムは、ＣＤ−ＲＯＭ３５０１、ＦＤ３５０２またはネットワークから直接、ロードされても良い。
【０３２６】
プログラムは、コンピュータ３４１に、上述した実施の形態の対話装置等の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能（モジュール）を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム３４０がどのように動作するかは周知であり、詳細な説明は省略する。
【０３２７】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【０３２８】
また、上記各実施の形態において、一の装置に存在する２以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
【０３２９】
また、上記各実施の形態において、各処理（各機能）は、単一の装置（システム）によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【０３３０】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０３３１】
以上のように、本発明にかかる学習システムは、ユーザと対話を行う対話装置が文を出力するために必要な重みベクトルを自動的に構築できる、という効果を有し、学習システム等として有用である。
【符号の説明】
【０３３２】
１、３  対話装置
２  シミュレーション装置
１１  知識ベース
１２  情報推薦手法格納部
１３  ユーザ状態情報格納部
１４  ユーザ入力情報受付部
１５  スコア算出部
１６  対話文情報構成部
１６  対話対話文情報構成部
１７  対話文出力部
１８  ユーザ状態情報更新部
２１  対話情報格納部
２２  ユーザ嗜好ベクトル格納部
２３  対話文情報受付部
２４  ユーザ文種類決定部
２５  決定要因等取得部
２６  ユーザ入力情報送付部
２７  報酬算出部
２８  学習部
３４  受付部
３６  文構成部
３７  文出力部
１６１  手法識別子取得手段
１６２、３６２  変数値取得手段
１６３  対話文情報構成手段
１８１  ユーザ提示用語取得手段
１８２  装置提示用語取得手段
１８３  嗜好ベクトル更新手段
１８４  知識ベクトル更新手段
２７１  ランダム選択合致値算出手段
２７２  選択スポット合致度算出手段
２７３  報酬算出手段
３４１  音声受付手段
３４２  音声認識手段
３６１  文パターン情報取得手段
３６３  文構成手段
【図１】
0005545489.tif 000005
【図２】
0005545489.tif 000006
【図３】
0005545489.tif 000007
【図４】
0005545489.tif 000008
【図５】
0005545489.tif 000009
【図６】
0005545489.tif 000010
【図７】
0005545489.tif 000011
【図８】
0005545489.tif 000012
【図９】
0005545489.tif 000013
【図１０】
0005545489.tif 000014
【図１１】
0005545489.tif 000015
【図１２】
0005545489.tif 000016
【図１３】
0005545489.tif 000017
【図１５】
0005545489.tif 000018
【図１６】
0005545489.tif 000019
【図１７】
0005545489.tif 000020
【図１８】
0005545489.tif 000021
【図１９】
0005545489.tif 000022
【図２０】
0005545489.tif 000023
【図２１】
0005545489.tif 000024
【図２２】
0005545489.tif 000025
【図２３】
0005545489.tif 000026
【図２４】
0005545489.tif 000027
【図２５】
0005545489.tif 000028
【図２６】
0005545489.tif 000029
【図１４】
0005545489.tif 000030