質問を予測する質問予測装置であって、ユーザの状態を取得する状態取得手段と、当該状態取得手段で取得されたユーザの状態を用いて遷移確率を更新する遷移確率更新手段と、前記状態取得手段で取得されたユーザの状態と前記遷移確率更新手段で更新された遷移確率とを用いてユーザの次の状態を予測する状態予測手段と、質問と状態遷移列とを対応付けた質問対応表を蓄積する質問対応表蓄積手段と、前記状態予測手段で予測されたユーザの次の状態を含む状態遷移列と前記質問対応表蓄積手段に蓄積された質問対応表とを用いてユーザの質問を予測する質問予測手段と、を備える質問予測装置。前記状態予測手段がスケジュールを用いてユーザの次の状態を予測する請求項1記載の質問予測装置。前記状態予測手段が時刻情報を用いてユーザの次の状態を予測する請求項1記載の質問予測装置。前記質問予測手段で予測された質問の回答を生成する回答生成手段をさらに備え、前記状態予測手段がユーザの質問及び前記回答生成手段で生成された質問に対する回答に基づいてユーザの次の状態を予測する請求項1記載の質問予測装置。前記質問予測手段で予測された質問をユーザに提示する質問提示手段をさらに備え、当該質問提示手段が前記質問予測手段で予測された質問と当該質問の頻度とをユーザに提示する請求項1記載の質問予測装置。前記質問予測手段で予測された質問をユーザに提示する質問提示手段と、前記質問予測手段で予測された質問の回答を生成する回答生成手段と、をさらに備え、前記回答生成手段は、前記質問予測手段で予測された質問のうち回答生成が要求された質問が確定する前に前記予測された質問の回答の生成を開始し、前記質問提示手段は、前記質問予測手段で予測された質問を前記回答生成手段での回答生成の状況と共にユーザに提示する請求項1記載の質問予測装置。前記回答生成手段が、前記質問予測手段で予測された質問の回答生成に必要となるコストに基づいて、前記予測された質問の回答を生成する順番を制御し、前記質問提示部が前記質問予測手段で予測された質問と共に前記コストを提示する請求項6記載の質問予測装置。ユーザからの質問に対して回答を生成し提示する質問予測方法であって、ユーザの状態を取得する状態取得工程と、当該状態取得工程で取得されたユーザの状態を用いて遷移確率を更新する遷移確率更新工程と、前記状態取得工程で取得されたユーザの状態と前記遷移確率更新工程で更新された遷移確率とを用いてユーザの次の状態を予測する状態予測工程と、前記状態予測工程で予測されたユーザの次の状態を含む状態遷移列と、質問と状態遷移列とを対応付けた質問対応表とを用いてユーザの質問を予測する質問予測工程と、を備える質問予測方法。発明が解決しようとする課題は、ユーザの様々な状況を想定した上でユーザに提示する質問を予測する質問予測装置を提供することである。実施形態の質問予測装置は、質問を予測する質問予測装置であって、ユーザの状態を取得する状態取得手段と、当該状態取得手段で取得されたユーザの状態を用いて遷移確率を更新する遷移確率更新手段と、前記状態取得手段で取得されたユーザの状態と前記遷移確率更新手段で更新された遷移確率とを用いてユーザの次の状態を予測する状態予測手段と、質問と状態遷移列とを対応付けた質問対応表を蓄積する質問対応表蓄積手段と、前記状態予測手段で予測されたユーザの次の状態を含む状態遷移列と前記質問対応表蓄積手段に蓄積された質問対応表とを用いてユーザの質問を予測する質問予測手段とを備える。以下、本発明の実施形態について図面を参照しながら説明する。図1は、実施形態にかかる質問予測装置の構成を示すブロック図である。本実施形態にかかる質問予測装置は、ユーザの1つ前と現在の状態から、ユーザの次の状態を予測する。そして、予測したユーザの次の状態を含む状態遷移列と、予め設定した質問と状態遷移列の対応付けとを用いてユーザに提示する質問を予測する。ここで、状態とは、ある時点でのユーザの状況を表しており、例えば、ユーザが居酒屋でお酒を飲んでいる場合の状態は宴会中、オフィスで仕事をしている場合の状態は仕事中などのようになる。また、状態遷移列は、上記状態が変化した際の遷移列を表している。図1の質問予測装置は、ユーザが音声やUIを使用して質問を入力する質問入力部101と、質問の内容から質問IDを特定する質問モデル蓄積部102と、GPSや加速度センサなどのセンサ図示なし情報からユーザの現在の状態を取得する状態取得部103と、質問モデル蓄積部102で特定された質問IDと状態取得部103で取得されたユーザの状態遷移列を対応付けた質問対応表を蓄積する質問対応表蓄積部104と、状態取得部103で取得されたユーザの状態を利用してある状態から他の状態への遷移確率を更新する遷移確率更新部105と、状態取得部103で取得されたユーザの状態と遷移確率更新部105で更新された遷移確率を用いてユーザの次の状態を予測する状態予測部106と、状態予測部106で予測されたユーザの次の状態を含む状態遷移列と質問対応表蓄積部104に蓄積された質問対応表を用いてユーザに提示する質問を予測する質問予測部107と、質問予測部107で予測された質問とその回答を保存する予測質問蓄積部108と、質問に対する回答生成方法を蓄積する回答方法蓄積部109と、予測質問蓄積部108に保存された質問に対する回答を回答方法蓄積部109に保持された回答生成方法に従って生成する回答生成部110と、予測質問蓄積部108に保存された質問およびその回答をユーザに提示する質問提示部111と、ユーザのスケジュール情報を取得するスケジュール取得部112とを備えている。質問予測装置は、GPSや加速度センサ、近接センサなどのセンサを備えた持ち運び可能なハードウェア装置例えば、ネットブックやスマートフォンで実現できる。また、質問予測装置の回答生成部110は、インターネット等により外部データベース120と接続している。ユーザが入力した質問とユーザの状態遷移列の対応付け、及びこの対応付けを利用した質問予測の概要について説明する。図2の左のフローは、質問予測装置に入力されたユーザの質問とユーザの状態遷移列の対応付けを説明する概念図である。状態取得部103が取得したユーザの状態の遷移がSa、Sb、Scという状態遷移列であり、その中の状態Sbのときにユーザが質問Qabcを入力したとする。この場合、質問対応表蓄積部104は、Sa、Sb、Scというユーザの状態遷移列とQabcという質問の対応付けを質問対応表に登録する。質問対応表の詳細は後述する。例えば、ユーザが居酒屋で宴会中、質問予測装置に対して二次会に良い店はという質問を入力したとする。状態取得部103で取得されたユーザの状態は、現在が宴会中Sa、その1つ前が仕事中Sbである。その後、ユーザが質問予測装置からの回答に従い他の居酒屋へ行ったことにより、状態取得部103が取得した状態が再度宴会中Scになったとする。このとき、質問予測装置は、質問対応表蓄積部104に蓄積した質問対応表から仕事中、宴会中、宴会中という状態遷移列の項を探索する。質問対応表にこの状態遷移列かつ二次会に良い店はという質問を持つ項がない場合は、新たな項を登録する。質問対応表に合致する状態遷移列および質問の項が有る場合は、後述する質問回数などのパラメータを更新する。図2の右のフローは、質問予測装置が質問を予測する際の処理の概念図である。状態予測部106は、状態取得部103が取得した状態と遷移確率を比較し、ユーザの次の状態とその状態を含む状態遷移列の信頼度を予測する。そして、質問予測部107は、ユーザの次の状態を含む状態遷移列およびその信頼度を用いて、質問対応表蓄積部104の質問対応表から質問を探索する。例えば、状態予測部106で予測された最も信頼度が高い状態遷移列が仕事中→宴会中→宴会中であった場合、質問予測部107は、この状態遷移列に対応付けられた二次会に良い店はをユーザに提示する質問として予測する。各ブロックの機能説明質問予測装置を構成する各ブロックの機能を説明する。質問入力部101は、ユーザが入力した質問を取得する。図3は、ユーザが手動で質問を入力するためのユーザインターフェースの例である。同図では、何について、何を教えての2つの質問構成を選択、もしくは自由入力するインタフェースになっている。複雑な質問を受け付ける際には、ユーザが自然文を入力するようにしてもよい。また、質問を音声で入力してもよい。この場合、音声認識でユーザの質問文を認識し、形態素解析を用いて質問構成を特定する。質問モデル蓄積部102は、質問入力部101に入力された質問の内容から質問IDを特定する。図4に、質問モデル蓄積部102に蓄積された質問モデルを示す。質問IDは質問を特定するユニークな識別記号、質問構成は質問を構成する要素、質問文はユーザに質問を提示する際の表記内容を表している。ユーザが質問入力部101に質問を入力した際は、入力された質問を質問モデルと照らし合わせ、該当する質問IDを探す。該当する質問IDが無い場合は、新しい質問IDを追加して入力された質問を登録する。質問文を自由入力する場合は表記ゆれなどが発生するため、類義語辞書を用いて正規化を行う。質問モデルは、より多くの質問構成を持つようにしてもよい。例えば、図5のように質問構成として5W1Hの情報を持ち、最終的に質問したい質問構成をユーザに選択させてもよい。質問対応表蓄積部104は、質問モデル蓄積部102が特定した質問IDと状態取得部103が取得したユーザの状態遷移列とを対応付ける。図6に、質問対応表蓄積部104が蓄積した質問対応表を示す。質問対応表は、状態遷移列本実施形態では、1つ前、現在、次の状態遷移列、状態遷移列に対応付けられた質問の質問ID、各状態遷移列におけるその質問の質問回数、質問の回答コストを構成要素に持つ。回答コストは、その質問の回答に要するコストを表しており、本実施形態では回答生成に要した時間長msを用いる。質問内容が状態遷移列に依存せずよく行われるものである場合は、図示のように、状態遷移列に個別の状態ではなく等のマークを保持してもよい。質問対応表蓄積部104は、ユーザが質問を行い、その後状態が変化した際に、質問対応表を更新する。ユーザの状態遷移列およびユーザの質問IDが質問対応表に合致する場合は、該当する項の質問回数を1つ増加させる。一方、質問対応表に合致する項がない場合は、新しい項を追加し、質問回数を1、回答コストをunknownに初期化する。いずれの場合も、後述する回答生成部110で回答コストが得られた場合は、回答コストを更新する。状態取得部103は、GPSや加速度センサ、Bluetoothなどの近接センサ図示なしの情報からユーザの状態を取得する。例えば、特許文献2に示すラベリング技術を用いることで、GPSや加速度センサからユーザの位置が屋内か屋外かを示す場所、ユーザの近辺いる人に関する情報を示す近接者、ユーザが静止しているのか移動中なのかを示す移動状態に関するユーザのプリミティブ状態を取得できる。センサ情報から取得できるプリミティブ状態を図7に示す。例えば、属性が場所に関するプリミティブ状態については、GPSやWifiなどのセンサを用いて屋内か屋外かの2状態を判別する。この際、補足情報として現在地の詳細情報、現在地クラス例えば、居酒屋に居る際のクラスは居酒屋を保持する。さらに状態取得部103は、図8に例示するような状態決定表を保持し、プリミティブ状態の条件からユーザの現在の状態を特定する。条件は上から順に合致するかどうかをチェックし、合致したものがあった場合に対応する状態をユーザの現在の状態とする。同図において、プリミティブ状態の場所が0屋内、現在地クラスが居酒屋、近接者が0の場合、ユーザの現在の状態は宴会中となる。なお、状態取得部103は、現在地クラス現在地の詳細情報も特定することから、一次会の宴会が終わった後、二次会の宴会に行ったというような状況であっても、宴会中→宴会中という状態の変化を検出できる。遷移確率更新部105は、状態取得部103が取得したユーザの状態を利用して遷移確率を更新する。ここで、遷移確率とは、ユーザの状態がある状態から他の状態へ遷移する確率を表したものである。図9に本実施形態の遷移確率表遷移確率を保持した表を示す。この遷移確率表は、1つ前と現在の2つの状態から次の状態の候補に遷移する確率を表している。遷移確率の初期化時には、各状態から可能な遷移が等確率で起こると仮定して初期化するか、または考えられる尤もらしい確率を予め割り当てればよい。状態取得部103で取得したユーザの状態に変化が起こったときは、変化後の状態遷移列に該当する項の遷移確率を更新する。更新は、該当する項の遷移確率に一定の重みを付加し、1つ前および現在の状態遷移列が共通するその他の項の遷移確率を下げるなどすればよい。例えば、仕事中→宴会中→宴会中が起きた場合、図9の仕事中、宴会中、宴会中の状態遷移列の遷移確率のみを006ポイント上げ、その他の仕事中、宴会中、帰宅仕事中、宴会中、宿泊仕事中、宴会中、買い物の状態遷移列の遷移確率を一律002ポイント下げることができる。状態予測部106は、状態取得部103で取得されたユーザの状態と遷移確率更新部105で更新された遷移確率を用いてユーザの次の状態およびその状態を含む状態遷移列の信頼度を予測する。例えば、状態取得部103で取得された1つ前および現在の状態が仕事中→宴会中で遷移していた場合、遷移確率更新部105の遷移確率表からこれに該当する項を探す。図9の遷移確率表では、該当する次の状態の候補とその遷移確率は、宴会中07、帰宅02、宿泊005、買い物005となる。したがって、状態予測部106は、この4つに対応した状態遷移列を、予測された次の状態を含む状態遷移列として出力する。また、状態予測部106は、各状態の候補への遷移確率を状態遷移列の信頼度として出力する。該当する状態遷移列の数が多い場合は、遷移確率が高い上位K件を予測結果として出力すればよい。状態予測部106における予測方法として、スケジュールを利用する方法、現在時刻を利用する方法、及び直前の質問内容を利用する方法について説明する。いずれの方法も、次の状態の候補への遷移確率を状態遷移列の信頼度として出力する。状態予測部106が、スケジュールを利用してユーザの次の状態を予測する方法について説明する。ユーザの行動を過去の状態遷移列のみから予測する方法では、遷移確率が高い頻度が高い次の状態の候補のみが選択され、ユーザが普段と違う行動をとる場合に対応できない。ユーザが普段と違う行動をとる場合は、その情報が予めスケジュールとして登録されていることがある。そこで、状態予測部106は、スケジュール取得部112で取得したスケジュールを利用することで、ユーザが普段と違う行動をとる場合の次の状態を予測する。例えば、取得されたスケジュールのうち、現在時刻以降一番時間の近いものが、次の日の8001000打合せ場所本社であったとする。状態予測部106は、スケジュール取得部112で取得されたスケジュールの開始時間および場所を自然言語解析で抽出し、その場所へその時間に移動する際に必要となる次の状態を予測する。例えば、予定が9時以前に開始する場合は、前日の23時までに帰宅といったヒューリスティクスを予め設定しておき、これを利用して次の状態を予測する。この例の場合、次の日の朝8時から打ち合わせがあるため、今日の23時までに帰宅しなければならないことになる。そのため、状態予測部106は、次の状態のうち帰宅の信頼度を上げ、その他の信頼度を下げる。例えば、帰宅の信頼度に固定値07を割り当て、残り100703は、1つ前および現在の状態が共通する他の状態の候補に、その遷移確率に応じて振りなおす。図9の場合、帰宅07、宴会中03×07026、宿泊03×0050019、買い物同様に0019となる。上述したヒューリスティクスは、ユーザのプロファイルとして最初に設定することができる。スケジュール取得部112が取得するスケジュールは、質問予測装置を実装した端末内のスケジュール帳機能などに登録されたものでもWebサービス上のスケジュール帳に登録されたものでもよい。Webサービス上のスケジュールの場合は、質問予測装置が随時スケジュールの同期処理ローカルに近い日時のスケジュールデータのダウンロードを行っておくことで、高速に次の状態を予測できる。状態予測部106が、現在時刻を利用してユーザの次の状態を予測する方法について説明する。現在時刻を利用して次の状態を予測する際に使用する遷移確率表を図10に示す。この遷移確率表は、現在時刻に関する条件現在時刻条件と、その条件に合致した場合の遷移確率条件合致時の遷移確率とを新たに保持する。状態取得部103で取得された状態遷移列が仕事中→宴会中のとき、遷移確率表から仕事中、宴会中の項を探し、更にその中から現在時刻条件が記載されたものを探す。現在時刻条件が記載されたもののうち、現在時刻に合致するものがあれば、その状態の遷移確率を条件合致時の遷移確率に置き換える。例えば、図10において現在時刻が2330であった場合、次の状態の候補が宿泊の項が現在時刻の条件に合致するため、仕事中、宴会中、宿泊の遷移確率を07に置き換える。残り100703については、スケジュールを用いる場合と同様な方法で他の項に割り当てればよい。状態予測部106が、ユーザの質問を利用してユーザの次の状態を予測する方法について説明する。ここでは、ユーザが現在時刻から過去にさかのぼる一定時間内に質問を行っていた場合、その質問と回答の内容に応じて次の状態を予測する。簡単な方法としては、過去1時間以内にされた質問、およびその回答の内容から形態素解析を用いて名詞句を抽出し、tfidfを用いて内容中の名詞句の重要度を算出する。そして、重要度の高い名詞句と次の状態の候補が一致した場合、その状態の遷移確率を上げる。例えば、過去1時間以内にされた質問がTodoは何であり、回答が買い物、宿題であったとする。ここから重要度が高い名詞として買い物が抽出された場合、次の状態の候補のうち買い物の遷移確率を上げる。遷移確率の更新には、上述と同様な方法を用いる。なお、ユーザの質問および回答の内容は、後述する質問提示部111から取得する。質問予測部107は、状態予測部106で予測されたユーザの次の状態を含む状態遷移列およびその信頼度と質問対応表蓄積部104に蓄積された質問対応表を用いてユーザに提示する質問を予測する。状態予測部106の出力が図9の仕事中、宴会中、宴会中07、仕事中、宴会中、帰宅02、仕事中、宴会中、宿泊005、仕事中、宴会中、買い物005であった場合を考える。括弧内の数字は、状態遷移列の信頼度を表している。質問予測部107は、質問対応表蓄積部104の質問対応表から状態遷移列が仕事中、宴会中、宴会中、仕事中、宴会中、帰宅、仕事中、宴会中、宿泊、仕事中、宴会中、買い物、仕事中、宴会中、となっている項を探索する。そして、これらの項が持つ質問IDをユーザに提示する質問とし、その状態遷移列の信頼度を質問IDの信頼度とする。例えば、質問IDxx1の信頼度は、予測された仕事中、宴会中、宴会中という状態遷移列の信頼度07と同じ値とする。なお、複数の状態遷移列に対して同じ質問IDが割り当てられている場合は、各状態遷移列の信頼度の和をその質問IDの信頼度とする。また、質問対応表の次の状態の候補の項がとなっている状態遷移列の信頼度は10とする。次に、質問予測部107は、予測された質問のうち予測質問蓄積部108に出力する質問を選択する。選択方法として、以下の2種類の方法がある。1つ目の方法は、質問IDの信頼度が高いものから順に選択する方法である。この方法では、質問IDを信頼度で並び替えて、上位N件を選択する。信頼度ではなく、質問対応表蓄積部104の質問対応表から取得した質問回数が多い順に質問を選択してもよい。2つ目の方法は、各質問の信頼度に応じてN件の質問枠を割り当てる方法である。上述した例の場合、次の状態の候補がの信頼度は10、宴会中は07、帰宅は02、宿泊は005、買い物は005である。したがって、N件のうち、次の状態の候補がとなっている項の質問はn1件、宴会中の項の質問はn207件、帰宅の項の質問はn302件、...と割り当てる。n1、n2、n3、...は実際の計算結果ではなく、その計算結果を丸めた結果である。予測質問蓄積部108は、質問予測部107によって予測された質問を蓄積する。図11に、予測質問蓄積部108が蓄積した質問を示す。本実施形態では、質問ID、信頼度、質問回数、回答コスト、回答状態回答生成済、回答生成中、未着手の3状態、回答開始時刻、回答情報を保持する。このうち、信頼度は質問予測部107から取得し、質問回数および回答コストは質問予測部107を介して質問対応表蓄積部104の質問対応表から取得する。回答状態は蓄積された質問の回答状況を、回答開始時刻は後述する回答生成部110での回答開示時刻を、回答情報は後述する質問提示部111で提示する質問の回答とそのビューの情報を表している。回答状態は未着手、回答開示時刻および回答情報はnullで初期化する。回答方法蓄積部109は、後述する回答生成部110において、質問に対する回答を生成する際の方法回答方法を蓄積している。図12に、回答方法蓄積部109に蓄積された回答方法を示す。回答方法は、質問IDと、この質問の回答生成に利用するデータベースと、そのデータベースに発行するクエリが組になって保存される。データベースには、ローカルに保存されるデータベースとインターネット上に存在する外部データベース120がある。回答方法のデータベースは、図13のように、データベースへアクセスする際のURIと組みで定義される。URIは、同図のlatなどのように、実際のクエリが入る部分を置換可能な形で保持しておく。例えば、図12の質問IDxx7の場合、対応するデータベースのURIは、httpggghhhfrompoinametopoinametimetimeである。また、クエリは、query、loc、timeであるので、URI中の最初のpoinameには現在地の名前この場合は現在いる、もしくは近くの駅の名前を、次のpoinameには自宅最寄駅の名前を、最後のtimeには現在時刻を入れる。こうして、データベースにアクセスするURIとしてhttpggghhhfrom川崎駅to鶴見駅time201008231124を得る。なお、自宅最寄駅の名前は、ローカルに保存されたユーザのプロファイルから取得できる。図12の質問IDxx3では、データベースが行動履歴データベース、クエリがlocORqueryとなっている。また、図13の行動履歴データベースの例では、詳細クエリという項が追加されている。これは、AND条件やOR条件を指定するためのクエリの生成方法に関する情報である。xx3の質問IDの答えを作るには、locと詳細クエリを照らし合わせてloc川崎駅という文字列、queryと詳細クエリを照らし合わせてkw川崎駅という文字列を得る。これをlocORqueryに当てはめ、loc川崎駅ORkw川崎駅という文字列を得る。更にこの文字列をURIのに当てはめ、外部データベース120にアクセスするためのURIlocaldblifelogqloc川崎駅ORkw川崎駅が得られる。図示していないが、インターネット上などの外部サービスを利用する際は、URIのみでなく、クエリの整形方法として文字コードや時刻フォーマット等の情報が必要である。また、詳細クエリを発行するために、URIのみでなくXML形式でのPOSTなどを用いてもよい。その場合も本実施形態と同じように、クエリのテンプレートを用意して適宜現在地等の情報を置換することで、クエリを構築できる。図12及び図13のデータベースの例では説明をわかりやすくするために名前を入力してあるが、実際には一意のIDなどを用いる。なお、回答方法の無い新しい質問であった場合には、ユーザが手動で答えを検索し、その検索方法を回答方法として登録できるようにしてもよい。この場合、ユーザが行った検索の過程からWeb上のフォームへの入力内容、結果として投げられたURIから、回答方法蓄積部109に保存する情報の候補を抽出し、ユーザに確認してもらった上で登録する、という方法が考えられる。回答生成部110は、後述する質問提示部111でユーザから質問が選択される前に、予測質問蓄積部108から回答状態が未着手の質問を取り出し、回答方法蓄積部109に蓄積された回答方法に従って回答生成を開始する。この際、回答生成部110は、回答生成開始時に予測質問蓄積部108の回答開始時刻を現在時刻に設定し、回答状況を回答生成中に更新するよう指示する。質問の回答生成は、予測質問蓄積部108に蓄積された信頼度、質問回数、回答コスト、が高いものから順に行う。回答コストが高い順に回答を生成するのは、回答コストが低い質問はユーザが実際に質問をしてから回答を生成してもユーザの待ち時間が短くて済むが、回答コストが高い質問はユーザの質問後に回答を生成していてはユーザの待ち時間が長くなるからである。例えば、まず信頼度の高い順に質問をソートし、信頼度が同値のものは質問回数が多い順にソートする。さらに、質問回数が同値のものについては回答コストが高い順にソートすることができる。その他にも、信頼度、質問回数、回答コストの重み付線形和で各質問にスコア付けして、スコアの高いものから回答を生成する、といった方法が考えられる。次に、回答生成部110は、回答を提示するためのビューを作成する。例えば、図11に示した例では、xx1の回答としてトイレの緯度経度のリストが得られるため、ビューとして現在地付近の地図と、その上に緯度経度のリストが表わすスポットをマークした図を作成する。また、xx2は店の詳細情報のWebページそのものが答えであるため、そのWebページのデータのDL、レンダリングが終わった状態の図をビューとして作成する。回答生成部110は、回答とそのビューの生成が終了したら、その内容を予測質問蓄積部108の回答情報の欄に保存し、回答状況を回答生成済に更新するよう指示する。なお、回答情報は上記のようなバイナリデータのビューのみでなく、例えばTodoリストはといった質問にはテキストで得られるTodoリストの内容をそのまま回答情報として保存すればよい。また、回答生成部110は、回答生成に要した時間を回答コストとして取得し、質問対応表蓄積部104に回答コストを送信する。質問提示部は、ユーザの要求に応じて予測質問蓄積部108に蓄積されている質問の一覧を表示する。図14に、予測した質問をユーザに提示する画面の例を示す。回答生成済の質問については今答えられる質問は...の後に、回答生成中もしくは未着手の質問は今準備中の質問は...の後に表示するなど、すぐに答えられる質問とそうでない質問を分けて表示する。さらに、質問回数が一定値以上もしくは提示する質問の平均値以上などのものについては、★マークなどを付与し、よくされる質問であることを明示する。また、現在時刻、および予測質問蓄積部に保存されている回答開始時刻、回答コストから、回答生成中の質問があと何秒で回答生成済になるかを計算し表示する。これにより、ユーザの待ち時間に対する心理的ストレスを軽減できる。なお、質問の文面には、質問モデル蓄積部102に蓄積された質問モデルの質問文を用いる。ユーザは提示された質問一覧の中からポインタやタッチスクリーンの機能を用いて質問を選択する。欲しい質問がない場合は、質問入力を押して質問を入力する。質問入力画面は質問入力部101で示した通りである。選択された質問の回答が既に予測質問蓄積部108にある場合はその回答を表示する。回答を生成中、回答生成が未着手の場合、もしくはユーザが新たに入力した質問の場合は、回答の準備ができるまでは回答生成中のような画面を表示し、回答が生成できた時点でその回答を表示すればよい。なお、ユーザが選択した質問については、質問対応表蓄積部104の質問対応表における質問回数を1つ増加させる。フローチャート本実施形態にかかる質問予測装置の処理の流れについて説明する。図15は、ユーザが入力した質問とユーザの状態遷移列の対応付けの流れを示すフローチャートである。まず、質問予測装置は、質問入力部101からユーザの質問Qabcを取得するステップS1。そして、質問取得後、状態取得部103から1つ前の状態Saと現在の状態Sbを取得するステップS2。そして、状態取得部103で取得される状態が変化するまで待ち、変化後の状態Scを取得するステップS3。質問予測装置は、質問対応表蓄積部104の質問対応表に変化後の状態遷移列Sa、Sb、Scとユーザが入力した質問Qabcの対応付けが登録されているか否かを判別するステップS4。登録されている場合は、ユーザが入力した質問Qabcの質問回数を1つ増加させるステップS5。登録されていない場合は、この状態遷移列と質問の対応付けを質問対応表に新たに登録するステップS6。図16は、質問を予測する際のフローチャートである。まず、質問予測装置は、状態取得部103から1つ前の状態Saと現在の状態Sbを取得するステップS10。そして、遷移確率更新部105の遷移確率と1つ前と現在の状態から次の状態とその状態を含む状態遷移列の信頼度Pc1、...、Pcnを予測するステップS11。ここで、次の状態および信頼度の予測には、上述したスケジュールを利用する方法、現在時刻を利用する方法、及び直前の質問内容を利用する方法を用いることができる。次に、質問対応表蓄積部104の質問対応表から得られた状態遷移列に合致する質問を探索するステップS12。そして、探索された質問からN件をユーザに提示する質問として選択しステップS13、予測質問蓄積部108に蓄積する。この際、回答状態、回答開始時刻、回答情報の初期化を行うステップS14。予測質問蓄積部108に蓄積されていた前の質問は破棄してもよい。図17は、予測質問蓄積部108に蓄積された質問の回答を生成する際のフローチャートである。回答生成は、ユーザから質問が入力された場合と、予測質問蓄積部108に回答状態が未着手の質問が蓄積されている場合に実行される。ユーザからの質問入力があった場合は、その質問に対する回答を優先的に生成するステップS20、ステップS24~ステップS26。ユーザからの質問入力に全て回答した後、予測質問蓄積部108の回答状態が未着手の質問の回答生成を開始するステップS21。回答生成は、信頼度、質問回数、回答コストを変数に持つコスト関数fが一番大きな質問Qiから行うステップS22。回答生成開始後は、予測質問蓄積部108の回答状況および回答開始時刻を更新するステップS23。そして、回答生成部110が質問Qiに合致する回答方法を回答方法蓄積部109から入手し、回答生成を行うステップS24。回答を取得した後ステップS25、予測質問蓄積部108の回答状況および質問対応表の回答コストを更新するステップS26。以上の処理を、回答状況が未着手の質問がなくなるまで継続する。効果このように、本実施形態にかかる質問予測装置は、ユーザの過去および現在の状態からユーザの次の状態を予測し、予測された状態を含む状態遷移列を利用してユーザに提示する質問を予測している。これにより、質問予測装置は、ユーザの様々な状況を想定した上でユーザに提示する質問を予測できる。また、本実施形態にかかる質問予測装置は、ケジュール、現在時刻、直前の質問内容を利用してユーザの次の状態を予測している。これにより、質問予測装置は、ユーザの様々な状況を想定した上でユーザに提示する質問を予測できる。また、本実施形態にかかる質問予測装置は、予測された質問と、その質問の頻度質問回数あるいは回答コスト回答生成に要した時間長をユーザに提示する。これにより、ユーザは質問の優先度を判断することができる。また、本実施形態にかかる質問予測装置は、ユーザが質問を選択する前に質問の回答生成を開始する。これにより、質問予測装置はユーザの待ち時間を減らすことができる。また、本実施形態にかかる質問予測装置は、回答を生成する順序を質問の回答コストに基づいて制御している。これにより、質問予測装置は、回答コストが高い質問に対する回答を優先的に生成し、ユーザの待ち時間を減らすことができる。変形例1本実施形態の質問予測装置は、1つ前と現在の状態から次の状態を予測している。予測する次の状態はこれに限定されるものではなく、未来について2個以上の状態を予測してもよい。また、過去について2個以上の状態を利用してもよい。本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。