(57)【要約】【課題】小規模の対話制御で大規模のタスクを遂行し得る効率的な対話システムを提供する。【解決手段】対話システム１０において、ユーザインタフェース処理を行うフロントエンド２００２及び情報処理を行うバックエンド２００５の各々と、対話行為タイプと付帯情報とで構成される情報である対話行為の授受を行うエージェント２００１は、フロントエンド２００２及びバックエンド２００５の一方から取得した対話行為に応じて提供用の対話行為を決定する決定部２００と、決定部２００により決定された提供用の対話行為を、フロントエンド２００２及びバックエンド２００５の一方へ提供する提供部２０５とを備え、決定部２００は、提供用の対話行為における対話行為タイプを、フロントエンド２００２及びバックエンド２００５の集合から逐次取得した対話行為における、付帯情報の系列に基づかず対話行為タイプの系列に基づいて、決定する。【選択図】図２
2018010610.tif 000002
【特許請求の範囲】
【請求項１】
ユーザインタフェース処理を行うフロントエンド、及び、情報処理を行うバックエンドの各々と、対話行為タイプと付帯情報とで構成される所定対話行為形式の情報である対話行為の授受を行うエージェント装置であって、
前記フロントエンド及び前記バックエンドの一方から取得した対話行為に応じて提供用の対話行為を決定する決定部と、
前記決定部により決定された前記提供用の対話行為を、前記フロントエンド及び前記バックエンドの一方へ提供する提供部とを備え、
前記決定部は、前記提供用の対話行為における対話行為タイプを、前記フロントエンド及び前記バックエンドの集合から逐次取得した対話行為における、付帯情報の系列に基づかず対話行為タイプの系列に基づいて、決定する
エージェント装置。
【請求項２】
前記決定部は、前記提供用の対話行為における対話行為タイプを、過去に決定した対話行為タイプの系列にも基づいて、決定する
請求項１記載のエージェント装置。
【請求項３】
前記決定部は、
観測としての対話行為タイプの系列に基づいて、行動としての対話行為タイプを決定する行動決定部と、
前記フロントエンド及び前記バックエンドの集合から対話行為を逐次取得し、取得した対話行為から付帯情報を分離することで対話行為タイプの系列を前記行動決定部に観測として逐次入力する分離部と、
前記行動決定部で決定された対話行為タイプと前記分離部で分離された付帯情報とを合成することで提供用の対話行為を生成する合成部とを有し、
前記行動決定部は、行動としての対話行為タイプの前記決定を、過去に決定した行動としての対話行為タイプの系列にも基づいて、行う
請求項２記載のエージェント装置。
【請求項４】
前記行動決定部は、ＰＯＭＤＰ（Partially Observable Markov Decision Process）モデルに基づいて行動を決定する
請求項３記載のエージェント装置。
【請求項５】
前記観測としての対話行為タイプは、予め定められた複数の対話行為タイプ値のいずれかを表し、
前記行動としての対話行為タイプは、前記フロントエンドに向けた第１種の対話行為タイプ値と前記バックエンドに向けた第２種の対話行為タイプ値とに区別される予め定められた複数の対話行為タイプ値のいずれかを表し、
前記提供部は、前記決定部により決定された提供用の対話行為における対話行為タイプが第１種及び第２種のいずれの対話行為タイプ値を表すかに基づいて、前記フロントエンド及び前記バックエンドのうち当該対話行為の提供先を選択し、選択した提供先へ当該対話行為を提供する
請求項３又は４記載のエージェント装置。
【請求項６】
前記付帯情報はキーワードを表す
請求項１〜５のいずれか一項に記載のエージェント装置。
【請求項７】
請求項１〜６のいずれか一項に記載のエージェント装置と、
自然言語で表現される情報をユーザとの間で交換する前記フロントエンドと、
知識ベースの検索に基づき情報の提供を行う前記バックエンドとを備える
対話システム。
【請求項８】
前記付帯情報は前記知識ベースの検索のために利用可能なキーワードを表し、
前記バックエンドは、前記エージェント装置から取得した対話行為における付帯情報が表すキーワードを用いて前記知識ベースの検索処理を行い、検索処理の結果に基づいて生成した対話行為を前記エージェント装置に提供する
請求項７記載の対話システム。
【請求項９】
前記バックエンドは、前記知識ベースの検索処理の結果が充分に絞り込まれたか否かを判定し、充分に絞り込まれたと判定した場合には当該結果を表す対話行為を前記エージェント装置に提供し、充分に絞り込まれていないと判定した場合には前記検索処理の結果を絞り込むために有効なキーワードを表す対話行為を前記エージェント装置に提供する
請求項８記載の対話システム。
【請求項１０】
自然言語で表現される情報をユーザとの間で交換するフロントエンドと、
知識ベースの検索に基づく情報の提供を行うバックエンドと、
前記フロントエンド及び前記バックエンドの各々と、対話行為タイプと付帯情報とで構成される所定対話行為形式の情報である対話行為の授受を行うエージェント装置とを含む対話システムにおいて用いられる対話方法であって、
前記エージェント装置が、前記フロントエンド及び前記バックエンドの一方から取得した対話行為に応じて提供用の対話行為を決定する決定ステップと、
前記エージェント装置が、前記決定ステップで決定された前記提供用の対話行為を、前記フロントエンド及び前記バックエンドの一方へ提供する提供ステップとを含み、
前記決定ステップでは前記提供用の対話行為における対話行為タイプを、前記フロントエンド及び前記バックエンドの集合から逐次取得した対話行為における、付帯情報の系列に基づかず対話行為タイプの系列に基づいて、決定する
対話方法。
【請求項１１】
前記決定ステップは、
前記フロントエンド及び前記バックエンドの集合から対話行為を逐次取得し、取得した対話行為における付帯情報と対話行為タイプとを分離する分離サブステップと、
前記分離サブステップで分離された対話行為タイプを観測とし、当該観測に基づいて、観測に対応して行動を決定するための基準となる信念状態情報を参照して、行動としての対話行為タイプを決定する行動決定サブステップと、
前記行動決定サブステップで決定された対話行為タイプと前記分離サブステップで分離された付帯情報とを合成することで提供用の対話行為を生成する合成サブステップと、
前記分離サブステップで分離された対話行為タイプの系列である観測と、前記行動決定サブステップで決定された対話行為タイプの系列である行動とに応じて前記信念状態情報を更新する更新ステップとを含む
請求項１０記載の対話方法。
【請求項１２】
ユーザインタフェース処理を行うフロントエンド、及び、情報処理を行うバックエンドの各々と、対話行為タイプと付帯情報とで構成される所定対話行為形式の情報である対話行為の授受を行う対話制御処理を、コンピュータに実行させるためのプログラムであって、
前記対話制御処理は、
前記フロントエンド及び前記バックエンドの一方から取得した対話行為に応じて提供用の対話行為を決定する決定ステップと、
前記決定ステップで決定された前記提供用の対話行為を、前記フロントエンド及び前記バックエンドの一方へ提供する提供ステップとを含み、
前記決定ステップでは前記提供用の対話行為における対話行為タイプを、前記フロントエンド及び前記バックエンドの集合から逐次取得した対話行為における、付帯情報の系列に基づかず対話行為タイプの系列に基づいて、決定する
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザと対話して情報処理を行うための対話システムと、この対話システムで用いられるエージェント装置、対話方法及びプログラムに関する。
【背景技術】
【０００２】
従来、コンピュータ等の装置によりユーザと対話することで必要な情報を特定するシステムが知られている。このシステムでは、ユーザとの対話状態に応じて適切な制御を行う必要がある。特許文献１には、対話状態に応じてＰＯＭＤＰ（部分観測マルコフ決定過程：Partially Observable Markov Decision Process）モデルを用いて行動を決定する技術が開示されている。非特許文献１には、対話行為タイプと行為項目とからなる対話行為について、記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１２９０３３号公報
【非特許文献】
【０００４】
【非特許文献１】Steve Young、他６名、「The Hidden Information State model: A practical framework for POMDP-based spoken dialogue management」、Computer Speech & Language 24（2010）150-174
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、対話システムにおいて、数千以上の結論を導くような大規模タスクを遂行するためには、効率的に対話状態に対応する制御を行う必要がある。
【０００６】
そこで、本発明は、従来の技術より効率的に対話状態に応じた制御を行い得る対話システムを提供する。また、本発明は、その対話システムで用いられるエージェント装置、対話方法、及び、プログラムを提供する。
【課題を解決するための手段】
【０００７】
上記課題を解決するために本発明の一態様に係るエージェント装置は、ユーザインタフェース処理を行うフロントエンド、及び、情報処理を行うバックエンドの各々と、対話行為タイプと付帯情報とで構成される所定対話行為形式の情報である対話行為の授受を行うエージェント装置であって、前記フロントエンド及び前記バックエンドの一方から取得した対話行為に応じて提供用の対話行為を決定する決定部と、前記決定部により決定された前記提供用の対話行為を、前記フロントエンド及び前記バックエンドの一方へ提供する提供部とを備え、前記決定部は、前記提供用の対話行為における対話行為タイプを、前記フロントエンド及び前記バックエンドの集合から逐次取得した対話行為における、付帯情報の系列に基づかず対話行為タイプの系列に基づいて、決定する。
【０００８】
また、上記課題を解決するために本発明の一態様に係る対話システムは、上述のエージェント装置と、自然言語で表現される情報をユーザとの間で交換する前記フロントエンドと、知識ベースの検索に基づき情報の提供を行う前記バックエンドとを備える。
【０００９】
また、上記課題を解決するために本発明の一態様に係る対話方法は、自然言語で表現される情報をユーザとの間で交換するフロントエンドと、知識ベースの検索に基づく情報の提供を行うバックエンドと、前記フロントエンド及び前記バックエンドの各々と、対話行為タイプと付帯情報とで構成される所定対話行為形式の情報である対話行為の授受を行うエージェント装置とを含む対話システムにおいて用いられる対話方法であって、前記エージェント装置が、前記フロントエンド及び前記バックエンドの一方から取得した対話行為に応じて提供用の対話行為を決定する決定ステップと、前記エージェント装置が、前記決定ステップで決定された前記提供用の対話行為を、前記フロントエンド及び前記バックエンドの一方へ提供する提供ステップとを含み、前記決定ステップでは前記提供用の対話行為における対話行為タイプを、前記フロントエンド及び前記バックエンドの集合から逐次取得した対話行為における、付帯情報の系列に基づかず対話行為タイプの系列に基づいて、決定する。
【００１０】
また、上記課題を解決するために本発明の一態様に係るプログラムは、ユーザインタフェース処理を行うフロントエンド、及び、情報処理を行うバックエンドの各々と、対話行為タイプと付帯情報とで構成される所定対話行為形式の情報である対話行為の授受を行う対話制御処理を、コンピュータに実行させるためのプログラムであって、前記対話制御処理は、前記フロントエンド及び前記バックエンドの一方から取得した対話行為に応じて提供用の対話行為を決定する決定ステップと、前記決定ステップで決定された前記提供用の対話行為を、前記フロントエンド及び前記バックエンドの一方へ提供する提供ステップとを含み、前記決定ステップでは前記提供用の対話行為における対話行為タイプを、前記フロントエンド及び前記バックエンドの集合から逐次取得した対話行為における、付帯情報の系列に基づかず対話行為タイプの系列に基づいて、決定する。
【発明の効果】
【００１１】
本発明によれば、対話状態に応じた制御が効率的に行われ得る。
【図面の簡単な説明】
【００１２】
【図１Ａ】実施の形態に係る対話システムが提供するサービスの態様の一例を示す概念図である。
【図１Ｂ】実施の形態に係るデータセンタ運営会社の一例を示す概念図である。
【図２】実施の形態に係る対話システムの概略構成図である。
【図３】実施の形態に係る対話システムにおける対話処理の一例を示すフローチャートである。
【図４Ａ】実施の形態に係る知識ベースの一例を示す図である。
【図４Ｂ】実施の形態に係る知識処理の一例を示す概念図である。
【図５】実施の形態に係る対話システムにおける対話のシーケンスの一例を示すシーケンス図である。
【図６Ａ】対話状態についての状態遷移図（其の一）である。
【図６Ｂ】対話状態についての状態遷移図（其の二）である。
【図６Ｃ】対話状態についての状態遷移図（其の三）である。
【図６Ｄ】対話状態についての状態遷移図（其の四）である。
【図７】実施の形態に係る対話システムを用いた実験の結果を示す図である。
【図８】対話システムが提供するサービス（類型１）を示す概念図である。
【図９】対話システムが提供するサービス（類型２）を示す概念図である。
【図１０】対話システムが提供するサービス（類型３）を示す概念図である。
【図１１】対話システムが提供するサービス（類型４）を示す概念図である。
【発明を実施するための形態】
【００１３】
（本発明の基礎となった知見等）
専門知識が豊富な専門家と専門知識が乏しい一般者とが対話により情報を交換することで、両者の納得する結論としての情報を特定するタスクが遂行される場面は多い。このようなタスクの一例としては、例えば、医者と患者との間で行われる問診が挙げられる。問診では、専門知識はあるが患者の自覚症状についての情報がない医者と、専門知識は乏しいが自分の症状についての情報を、問いかけに答えることで或いは自ら発することで、提供できる患者との間で、対話によって手掛りとなる情報の量を増やして結論（診断結果）に反映する。この問診等といった、一般者であるユーザとの対話により結論としての情報を特定するタスクを、コンピュータ等の機械を用いて遂行する対話システムが検討されている。例えばＰＯＭＤＰモデルによる対話制御では、音声認識、言語理解等のエラーを含んだ不確実な入力を扱うことができ、ユーザに対する確認行為等を過不足なく行うための行動選択の最適化が期待できる。
【００１４】
しかし、問診の例では、問診の結論（診断結果）となり得る病気の候補の数は、数千以上に及ぶ。つまり、患者から得られた情報に基づき、病気の候補を特定するプロセスを状態の遷移として表すには、論理的な条件分岐と結論とを含めて数千以上の状態が必要となる。対話制御に必要な状態（対話状態）の数が数千以上と多くなると、対話制御におけるユーザに対する確認行為等の行動選択の最適化のための演算負荷が増大し、対話制御のために例えば大規模なコンピュータリソースが必要となり得る。これまで、小規模の対話制御で大規模のタスクを遂行するための技術について検討がなされていなかった。
【００１５】
そこで、小規模の対話システムにおいて大規模のタスクの遂行を可能にすべく、本願発明者らは、対話制御に係る対話状態の数を減らす方式を着想した。そして、その方式を用いて、対話状態の数を減らすことで、従来の技術より効率的に対話状態に対する制御を行い得る対話システムを提供する。また、その対話システムの一部であるエージェント装置、対話方法、及び、プログラムを提供する。
【００１６】
本発明の一態様に係るエージェント装置は、ユーザインタフェース処理を行うフロントエンド、及び、情報処理を行うバックエンドの各々と、対話行為タイプと付帯情報とで構成される所定対話行為形式の情報である対話行為の授受を行うエージェント装置であって、前記フロントエンド及び前記バックエンドの一方から取得した対話行為に応じて提供用の対話行為を決定する決定部と、前記決定部により決定された前記提供用の対話行為を、前記フロントエンド及び前記バックエンドの一方へ提供する提供部とを備え、前記決定部は、前記提供用の対話行為における対話行為タイプを、前記フロントエンド及び前記バックエンドの集合から逐次取得した対話行為における、付帯情報の系列に基づかず対話行為タイプの系列に基づいて、決定する。ここで付帯情報は上述の行為項目に相当する。この構成によると、対話行為から付帯情報を除いた対話行為タイプの系列に基づいて行動を決定する。このため、対話行為のバリエーションが多くなる要因となる付帯情報を除いて、対話行為タイプの系列から行動を決定するので、対話状態の数の低減化が可能となる。この結果として、強化学習により行動選択の最適化を行う場合における最適化の負荷が抑えられ、最適化が容易となり得る。これにより、例えば小規模の対話システムにおいて大規模のタスクを遂行可能なように、効率的に対話状態に応じた制御を行うことができるようになる。
【００１７】
また、例えば、前記決定部は、前記提供用の対話行為における対話行為タイプを、過去に決定した対話行為タイプの系列にも基づいて、決定することとしてもよい。これにより、エージェント装置は、観測及び行動としての対話行為タイプの系列から行動を適切に決定し得るようになる。
【００１８】
また、前記決定部は、観測としての対話行為タイプの系列に基づいて、行動としての対話行為タイプを決定する行動決定部と、前記フロントエンド及び前記バックエンドの集合から対話行為を逐次取得し、取得した対話行為から付帯情報を分離することで対話行為タイプの系列を前記行動決定部に観測として逐次入力する分離部と、前記行動決定部で決定された対話行為タイプと前記分離部で分離された付帯情報とを合成することで提供用の対話行為を生成する合成部とを有し、前記行動決定部は、行動としての対話行為タイプの前記決定を、過去に決定した行動としての対話行為タイプの系列にも基づいて、行うこととしてもよい。これにより、エージェント装置は取得した対話行為における付帯情報を、提供する対話行為のために利用でき、行動決定部においては付帯情報に依らずに行動としての対話行為タイプを決定し得るようになる。
【００１９】
また、前記行動決定部は、ＰＯＭＤＰ（Partially Observable Markov Decision Process）モデルに基づいて行動を決定することとしてもよい。これにより、強化学習により行動選択の最適化を行うことができる。
【００２０】
また、前記観測としての対話行為タイプは、予め定められた複数の対話行為タイプ値のいずれかを表し、前記行動としての対話行為タイプは、前記フロントエンドに向けた第１種の対話行為タイプ値と前記バックエンドに向けた第２種の対話行為タイプ値とに区別される予め定められた複数の対話行為タイプ値のいずれかを表し、前記提供部は、前記決定部により決定された提供用の対話行為における対話行為タイプが第１種及び第２種のいずれの対話行為タイプ値を表すかに基づいて、前記フロントエンド及び前記バックエンドのうち当該対話行為の提供先を選択し、選択した提供先へ当該対話行為を提供することとしてもよい。これにより、エージェント装置は、ユーザ向けのフロントエンドへの対話行為の提供のみならず、対話行為タイプによって区別してバックエンドへの対話行為の提供も行える。
【００２１】
また、前記付帯情報はキーワードを表すこととしてもよい。これにより、多様な情報を表し得るキーワード（付帯情報）を用いた多様な対話が可能となるにも関わらず、対話行為から付帯情報を除いた対話行為タイプに基づいて行動を決定するので、対話状態の数の低減化が可能となる。
【００２２】
また、本発明の一態様に係る対話システムは、上述のエージェント装置と、自然言語で表現される情報をユーザとの間で交換する前記フロントエンドと、知識ベースの検索に基づき情報の提供を行う前記バックエンドとを備える。これにより、例えば、症状についての質問により病気を特定する問診タスク等といった専門知識を必要とするタスクを、実現し得る。そして、このようなタスクのための対話（つまり対話行為の授受）において、対話行為のバリエーションが多くなる要因となる付帯情報を除いて、対話行為タイプの系列から行動を決定するので、対話状態の数の低減化が可能となる。
【００２３】
また、例えば、前記付帯情報は前記知識ベースの検索のために利用可能なキーワードを表し、前記バックエンドは、前記エージェント装置から取得した対話行為における付帯情報が表すキーワードを用いて前記知識ベースの検索処理を行い、検索処理の結果に基づいて生成した対話行為を前記エージェント装置に提供することとしてもよい。これにより、知識ベースの検索に利用可能な、ユーザから取得されるキーワードが多様であっても、対話状態の数の低減化が可能となり、例えば強化学習によって行動選択（対話行為の選択）の最適化等が容易に行えるようになり得る。
【００２４】
また、前記バックエンドは、前記知識ベースの検索処理の結果が充分に絞り込まれたか否かを判定し、充分に絞り込まれたと判定した場合には当該結果を表す対話行為を前記エージェント装置に提供し、充分に絞り込まれていないと判定した場合には前記検索処理の結果を絞り込むために有効なキーワードを表す対話行為を前記エージェント装置に提供することとしてもよい。これにより、所望の情報を特定するための絞込みを対話的に行えるようになり得る。
【００２５】
また、本発明の一態様に係る対話方法は、自然言語で表現される情報をユーザとの間で交換するフロントエンドと、知識ベースの検索に基づく情報の提供を行うバックエンドと、前記フロントエンド及び前記バックエンドの各々と、対話行為タイプと付帯情報とで構成される所定対話行為形式の情報である対話行為の授受を行うエージェント装置とを含む対話システムにおいて用いられる対話方法であって、前記エージェント装置が、前記フロントエンド及び前記バックエンドの一方から取得した対話行為に応じて提供用の対話行為を決定する決定ステップと、前記エージェント装置が、前記決定ステップで決定された前記提供用の対話行為を、前記フロントエンド及び前記バックエンドの一方へ提供する提供ステップとを含み、前記決定ステップでは前記提供用の対話行為における対話行為タイプを、前記フロントエンド及び前記バックエンドの集合から逐次取得した対話行為における、付帯情報の系列に基づかず対話行為タイプの系列に基づいて、決定する。これにより、対話行為のバリエーションが多くなる要因となる付帯情報を除いて、対話行為タイプの系列から行動を決定するので、対話状態の数の低減化が可能となり、効率的に対話状態に応じた制御を行うことができるようになる。
【００２６】
また、例えば、前記決定ステップは、前記フロントエンド及び前記バックエンドの集合から対話行為を逐次取得し、取得した対話行為における付帯情報と対話行為タイプとを分離する分離サブステップと、前記分離サブステップで分離された対話行為タイプを観測とし、当該観測に基づいて、観測に対応して行動を決定するための基準となる信念状態情報を参照して、行動としての対話行為タイプを決定する行動決定サブステップと、前記行動決定サブステップで決定された対話行為タイプと前記分離サブステップで分離された付帯情報とを合成することで提供用の対話行為を生成する合成サブステップと、前記分離サブステップで分離された対話行為タイプの系列である観測と、前記行動決定サブステップで決定された対話行為タイプの系列である行動とに応じて前記信念状態情報を更新する更新ステップとを含むこととしてもよい。これにより、付帯情報を用いずに対話行為タイプの系列によって効率的に信念状態を更新し得る。
【００２７】
また、本発明の一態様に係るプログラムは、ユーザインタフェース処理を行うフロントエンド、及び、情報処理を行うバックエンドの各々と、対話行為タイプと付帯情報とで構成される所定対話行為形式の情報である対話行為の授受を行う対話制御処理を、コンピュータに実行させるためのプログラムであって、前記対話制御処理は、前記フロントエンド及び前記バックエンドの一方から取得した対話行為に応じて提供用の対話行為を決定する決定ステップと、前記決定ステップで決定された前記提供用の対話行為を、前記フロントエンド及び前記バックエンドの一方へ提供する提供ステップとを含み、前記決定ステップでは前記提供用の対話行為における対話行為タイプを、前記フロントエンド及び前記バックエンドの集合から逐次取得した対話行為における、付帯情報の系列に基づかず対話行為タイプの系列に基づいて、決定する。このプログラムをコンピュータにインストールすれば、コンピュータが対話エージェントとしての装置として機能し、対話行為のバリエーションが多くなる要因となる付帯情報を除いて、対話行為タイプの系列から行動を決定するので、対話状態の数の低減化が可能となる。これにより、強化学習により行動選択の最適化を行う場合における最適化の負荷が抑えられ、最適化が容易となり得る。
【００２８】
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータで読み取り可能なＣＤ−ＲＯＭ等の記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム又は記録媒体の任意な組み合わせで実現されてもよい。
【００２９】
以下、図面を参照して本発明の実施の形態を詳細に説明する。なお、以下で説明する実施の形態は、いずれも本発明の包括的又は具体的な一例を示すものである。以下の実施の形態で示される数値、形状、構成要素、構成要素の配置、ステップ、ステップの順序等は、一例であって本発明を限定するものではない。また、以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。
【００３０】
（提供するサービスの全体像）
まず、本実施の形態における対話システムが提供するサービスの態様について説明する。
【００３１】
図１Ａは、本実施の形態における対話システム１０が提供するサービスの態様の一例を示す図である。対話システム１０は、グループ１１００、データセンタ運営会社１１１０及びサービスプロバイダ１１２０を備える。
【００３２】
グループ１１００は、例えば企業、団体又は家庭等の施設（例えばビルディング、住宅等）であり、その規模を問わない。グループ１１００は、機器１１０１及びホームゲートウェイ１１０２を備える。機器１１０１は、ユーザと何らかの方法で情報を交換するためのユーザインタフェースを有する。機器１１０１は、例えば、インターネットと接続可能な機器（例えば、スマートフォン、パーソナルコンピュータ（ＰＣ）、テレビ等）である。なお、機器１１０１は、それ自身ではインターネットと接続不可能な機器（例えば、洗濯機、冷蔵庫等）であってもよく、ホームゲートウェイ１１０２を介してインターネットと接続可能となる機器であってもよい。なお、ホームゲートウェイ１１０２が必要ない場合もある。ユーザ１０１０は、機器１１０１を使用する。機器１１０１が、インターネットに無線接続可能で携帯可能な機器（例えばスマートフォン、ノートＰＣ等）であってもよく、この場合には、ユーザ１０１０及び機器１１０１は、必ずしもグループ１１００内に所在していなくてもよい。なお、機器１１０１は、１台の機器に限られず、機器１１０１が、複数台の機器により構成されているとしてもよい。
【００３３】
データセンタ運営会社１１１０は、クラウドサーバ１１１１を備える。クラウドサーバ１１１１は、インターネットを介して様々な機器と連携するコンピュータであり、例えば仮想化サーバである。クラウドサーバ１１１１は、例えば、通常のデータベース管理ツール等で扱うことが困難な巨大なデータ（ビッグデータ）等を管理する。データセンタ運営会社１１１０は、データの管理、クラウドサーバ１１１１の管理等を行っている。なお、データセンタ運営会社１１１０は、データの管理又はクラウドサーバ１１１１の管理のみを行っている管理会社に限られず、他の事業を併せて行っている会社であってもよく、例えば、機器１１０１を開発又は製造している機器メーカであってもよい。また、データセンタ運営会社１１１０は一つの会社に限られず、例えば、図１Ｂに示すように、機器メーカ及び管理会社が共同又は分担してデータの管理又はクラウドサーバ１１１１の管理を行っている場合は、機器メーカ及び管理会社の両者がデータセンタ運営会社１１１０に該当し得る。
【００３４】
サービスプロバイダ１１２０は、サーバ１１２１を備える。サーバ１１２１は、例えば１台又は複数台のコンピュータで実現され、その規模は問わず、記憶媒体として大容量のハードディスク等のストレージを備えてもよいし、例えば、ＰＣ内のメモリ等しか備えていなくてもよい。なお、サーバ１１２１が必ずしも記憶媒体を備えていなくてもよい。
【００３５】
次に、上述の態様の対話システム１０における情報の流れを説明する。
【００３６】
まず、グループ１１００の機器１１０１は、ユーザインタフェースを介して取得した入力情報を、直接或いはホームゲートウェイ１１０２を介してデータセンタ運営会社１１１０のクラウドサーバ１１１１に送信する。機器１１０１においてユーザ１０１０による入力情報の入力に用いられるユーザインタフェースは、例えば、キーボード、タッチパネル、或いは、既存の音声認識技術を用いた音声入力装置等である。クラウドサーバ１１１１は、機器１１０１からの入力情報を取得する。
【００３７】
次に、データセンタ運営会社１１１０のクラウドサーバ１１１１は、機器１１０１からの入力情報に基づく情報をサービスプロバイダ１１２０のサーバ１１２１に送信する。この入力情報に基づく情報は、入力情報の少なくとも一部と同一の情報を含むものであっても、その同一の情報を含まず入力情報に対して演算等の処理を施した結果としての情報であってもよい。また、この入力情報に基づく情報の送信の単位は、いかなる単位であってもよい。サーバ１１２１は、クラウドサーバ１１１１からの情報を取得する。
【００３８】
そして、サービスプロバイダ１１２０のサーバ１１２１は、クラウドサーバ１１１１からの情報に対応して、ユーザへの提供用の情報を特定して、その提供用の情報をユーザ１０１０に提供すべく、クラウドサーバ１１１１に送信する。クラウドサーバ１１１１は、サーバ１１２１からの提供用の情報を機器１１０１に転送する又はその提供用の情報に対して演算等の処理を施した結果としての情報を機器１１０１に送信する。これにより、機器１１０１のユーザインタフェースからユーザ１０１０に情報が提供される。機器１１０１においてユーザ１０１０への情報の提供に用いられるユーザインタフェースは、例えば、ディスプレイ、或いは、既存の音声合成技術を用いた音声出力装置等である。
【００３９】
なお、サーバ１１２１が、クラウドサーバ１１１１を介さずに機器１１０１と通信を行うことで、ユーザ１０１０からの入力情報の取得、及び、提供用の情報の提供を行うこととしてもよい。また、対話システム１０は、上述した例と異なる態様であってもよい。例えば、対話システム１０において、データセンタ運営会社１１１０及びサービスプロバイダ１１２０を省いてもよく、機器１１０１がユーザから取得した入力情報に基づいて、提供用の情報を特定して、その提供用の情報をユーザに提供してもよい。
【００４０】
（実施の形態１）
（構成）
以下、一例としてＰＯＭＤＰモデルを用いた対話システム１０においてユーザと情報を交換する対話方法を行うための構成について説明する。
【００４１】
一般的に、ＰＯＭＤＰモデルは、状態の集合Ｓと、行動の集合Ａと、観測の集合Ｚと、状態遷移行列Ｔと、観測行列Ｏと、報酬行列Ｒと、信念状態の初期状態Ｂ０というモデル要素で定義される。ある環境内でエージェントが現在の状態を観測して取るべき行動を決定するＰＯＭＤＰモデルを用いた従来の対話システムでは、ユーザを環境、システム（コンピュータシステム）をエージェントと対応づけ、ユーザの対話行為を観測とし、システムの対話行為を行動とみなす。これに対して、対話システム１０では、１つのエージェントと２つの環境という構造でのモデル化を行う。
【００４２】
図２は、対話システム１０の概略構成図である。
【００４３】
図２に示すように、対話システム１０は、エージェント２００１と、第１の環境としてのフロントエンド２００２と、第２の環境としてのバックエンド２００５と、知識ベース２０６とを備える。
【００４４】
エージェント２００１は、対話エージェントとしての装置（エージェント装置）である。エージェント２００１は、例えば、プロセッサ（マイクロプロセッサ）、メモリ等を備えるコンピュータに実装され得る。具体的には、例えば、メモリに格納されたプログラムをプロセッサが実行すること等によりエージェント２００１の機能が実現され得る。エージェント２００１は、フロントエンド２００２とバックエンド２００５との間で対話行為の交換を仲介する。即ち、エージェント２００１は、フロントエンド２００２及びバックエンド２００５の各々と、対話行為の授受を行う。対話行為は、対話行為タイプと付帯情報とで構成される所定形式（所定対話行為形式）の情報である。
【００４５】
フロントエンド２００２は、ユーザインタフェース処理を行う装置であり、自然言語で表現される情報をユーザとの間で交換する。フロントエンド２００２は、例えば、エージェント２００１と同一又は別のコンピュータに実装され得る。例えば、コンピュータのユーザインタフェース、及び、コンピュータのメモリに格納されたプログラムを実行するプロセッサ等により、フロントエンド２００２の機能が実現され得る。
【００４６】
バックエンド２００５は、検索処理等の情報処理を行う装置であり、知識ベース２０６への問い合わせ（検索処理）に基づく情報の提供を含む知識処理を行う。バックエンド２００５は、例えば、エージェント２００１と同一又は別のコンピュータに実装され得る。例えば、コンピュータの通信インタフェース、及び、コンピュータのメモリに格納されたプログラムを実行するプロセッサ等により、バックエンド２００５の機能が実現され得る。
【００４７】
エージェント２００１と、フロントエンド２００２及びバックエンド２００５の各々とが、互いに離れた複数の装置で実現される場合には、エージェント２００１と、フロントエンド２００２及びバックエンド２００５の各々とは直接又は他装置を介して通信する。
【００４８】
知識ベース２０６は、情報を保持する装置であり、例えば、情報を表すデータを構造化して管理するデータベース管理装置である。知識ベース２０６は、例えば、バックエンド２００５と同一又は別のコンピュータに実装され得る。例えば、コンピュータにおけるメモリ、ハードディスク等の記憶媒体等によって知識ベース２０６が実現され得る。問診タスクを遂行するための対話システム１０においては、知識ベース２０６は、問診タスクの遂行に有用な情報（例えば症状と病気とに関連する情報）を保持している。知識ベース２０６は複数台の装置で構成されていてもよい。
【００４９】
図２では、問診タスクを遂行するための対話システム１０における対話行為を例示している。観測２００３は、フロントエンド２００２からエージェント２００１が取得する対話行為の例である。観測２００６は、バックエンド２００５からエージェント２００１が取得する対話行為の例である。行動２００４は、エージェント２００１がフロントエンド２００２へ提供する対話行為の例である。また、行動２００７は、エージェント２００１がバックエンド２００５へ提供する対話行為の例である。観測２００３、観測２００６、行動２００４、及び、行動２００７は、いずれも所定対話行為形式の情報（対話行為）の例である。この例での文字列情報の対話行為において、括弧より前の部分（例えば「Provide」、「Confirm」等）が対話行為タイプであり、括弧内の部分（例えば「めまい」、「頭痛」等）が付帯情報である。対話行為タイプは、例えば、予め定められた「Provide」、「Confirm」、「Check」、「push」等といった複数の値（対話行為タイプ値）のいずれかを表し、対話行為タイプ値は例えば文字列で表される。この例では対話行為タイプ値を、英単語で表現しているがこれは一例に過ぎず、いかなる言語或いは規則に基づいて表現してもよい。付帯情報は、例えば、キーワードを示す文字列情報である。
【００５０】
対話システム１０においては、エージェント２００１と、フロントエンド２００２及びバックエンド２００５の集合との間で授受される対話行為の系列に対応して、タスクが遂行される。問診タスクの例では、ユーザから対話的にフロントエンド２００２を介してエージェント２００１に収集された情報に基づき、バックエンド２００５で病気の特定が行われる。
【００５１】
以下、エージェント２００１、フロントエンド２００２、及び、バックエンド２００５の、より詳細な構成について説明する。
【００５２】
図２に示すように、フロントエンド２００２は、ユーザインタフェース処理に係る入力処理部２０１と出力処理部２０８とを備える。エージェント２００１は、決定部２００と提供部２０５とを備える。バックエンド２００５は知識処理部２０７を備える。
【００５３】
決定部２００は、フロントエンド２００２及びバックエンド２００５の一方から取得した対話行為に応じて、フロントエンド２００２及びバックエンド２００５の一方への提供用の対話行為を決定する機能を担う。この機能を実現すべく決定部２００は、分離部２０２と行動決定部２０３と合成部２０４とを備える。なお、決定部２００は、提供用の対話行為における対話行為タイプを、過去に決定した対話行為タイプの系列にも基づいて、決定するように構成され得る。
【００５４】
入力処理部２０１は、例えば、キーボード、タッチパネル、或いは、音声入力装置等のユーザインタフェース等によるユーザからの入力である自然言語表現（文字列）を既存の自然言語処理技術（例えば言語理解技術）により対話行為に変換し、対話行為に信頼度を付けて出力する。これにより、対話行為及び信頼度が分離部２０２により取得される。入力処理部２０１は、ユーザの入力が音声である場合に入力された音声を音声認識技術により文字化する前処理を行うこととしてもよい。
【００５５】
分離部２０２は、フロントエンド２００２の入力処理部２０１或いはバックエンド２００５の知識処理部２０７から取得した対話行為を、対話行為タイプと付帯情報とに分離する。例えば、対話行為「Provide（頭痛）」は、対話行為タイプ「Provide」と付帯情報「頭痛」とに分離される。分離部２０２は、分離した対話行為タイプを行動決定部２０３に入力する。即ち、分離部２０２は、フロントエンド２００２及びバックエンド２００５の集合から対話行為を逐次取得し、取得した対話行為から付帯情報を分離することで対話行為タイプの系列を行動決定部２０３に観測として逐次入力する。また、分離部２０２は、分離した付帯情報を合成部２０４へ入力する。
【００５６】
行動決定部２０３は、ＰＯＭＤＰモデルを用いた既存の行動決定技術により、観測として逐次入力される対話行為タイプの系列に基づいて、行動としての対話行為タイプを決定して出力する。行動決定部２０３により例えば、対話行為タイプ「push」が決定され、出力される。ＰＯＭＤＰモデルで参照される方策（policy）の学習には既存の技術を利用し得る。なお、ＰＯＭＤＰで扱う状態の確率分布（信念状態とも称する）が、０か１の値しかとらないケースでは、モデルをＭＤＰ（マルコフ決定過程：Markov Decision Process）モデルとみなすことができる。つまり行動決定部２０３による行動の決定には、ＭＤＰモデルによるものも含まれる。これらのモデル（ＰＯＭＤＰモデル、ＭＤＰモデル）では、選択的な行動決定のために参照される方策の最適化を、強化学習（Reinforcement Learning）によって行うことができる。なお、行動決定部２０３では、観測に基づいて、信念状態及び方策を参照して、行動を決定する。行動決定部２０３は、この信念状態を示す情報としての信念状態情報を保持しており、観測と決定した行動とに応じて信念状態情報を更新し得る。また、行動決定部２０３は、決定した行動としての対話行為タイプの履歴を保持してもよい。そして、行動決定部２０３は、行動としての対話行為タイプの決定を、過去に決定した行動としての対話行為タイプの系列にも基づいて行うこととしてもよい。
【００５７】
合成部２０４は、分離部２０２で分離された対話行為タイプに基づいて行動決定部２０３で決定されて出力された対話行為タイプと、分離部２０２で分離された付帯情報とを合成することで、提供用の対話行為を生成して出力する。合成部２０４により、例えば、対話行為「push（頭痛）」が出力される。
【００５８】
提供部２０５は、決定部２００により決定された提供用の対話行為を、フロントエンド２００２及びバックエンド２００５の一方へ提供する機能を担う。提供部２０５は、合成部２０４から出力された対話行為の出力先となる環境を、フロントエンド２００２及びバックエンド２００５のいずれかに切り替え得る。具体的には、提供部２０５は、提供用の対話行為の出力先を、出力処理部２０８にすべきか、知識処理部２０７にすべきかを、対話行為の出力先を区別するために予め定められた基準に基づいて判定する。予め定め得られた基準は、例えば、対話行為の先頭の文字が大文字か小文字かにより出力先を区別する基準である。提供部２０５は、例えば行動２００４で示すように提供用の対話行為の先頭の文字（つまり対話行為タイプの先頭の文字）が大文字であればその対話行為を出力処理部２０８に出力する。また、提供部２０５は、例えば行動２００７で示すように提供用の対話行為の先頭の文字（つまり対話行為タイプの先頭の文字）が小文字であればその対話行為を知識処理部２０７に出力する。
【００５９】
出力処理部２０８は、提供部２０５から出力された対話行為の示す意味表現を、応答文生成技術（例えば既存の文生成技術）によって、応答文に変換して、文字列としてユーザに提供する。文字列のユーザへの提供は、例えば、ディスプレイ、音声出力装置等のユーザインタフェースによって行われる。出力処理部２０８は、ユーザへ提供すべき文字列を、音声合成技術により音声化する後処理を行うこととしてもよい。
【００６０】
知識処理部２０７は、知識ベース２０６を参照して、提供部２０５から出力された対話行為に応じた情報処理を行い、その結果を示す対話行為を、分離部２０２へ提供する。知識処理部２０７における情報処理は、例えば、知識ベース２０６から情報を検索して抽出する検索処理であり、例えば、エージェント２００１からこれまでに取得した対話行為における付帯情報が表す文字列としてのキーワードのリストを、検索キーワード（検索用のキーワード）の集合として、知識ベースの内容を、ＡＮＤ検索する検索処理を行う。知識処理部２０７は、検索処理の結果に基づいて対話行為を生成して、生成した対話行為をエージェント２００１の分離部２０２へ提供する。例えば、知識処理部２０７は、検索処理の結果が、充分に絞り込まれたか否かを判定し、充分に絞り込まれたことを示すように予め定められた所定の条件（例えば検索された情報の数の上限等の条件）が満たされて充分に絞り込まれたと判定した場合には、その検索結果を示す対話行為を生成して出力（分離部２０２へ提供）する。一方、充分に絞り込まれていないと判定した場合には、知識処理部２０７は、検索処理の結果を絞り込むために有効なキーワード（検索キーワード）を推定して、そのキーワードを示す対話行為を生成して出力（分離部２０２へ提供）する。検索処理の結果を絞り込むために有効なキーワードを示す対話行為の一例は、例えば、付帯情報として「発熱」を含ませた「suggest（発熱）」である。
【００６１】
このような構成を備えることによりエージェント２００１の決定部２００では、逐次取得した対話行為における対話行為タイプを抽出して、過去の対話行為タイプの系列に基づき、行動として出力すべき提供用の対話行為における対話行為タイプを決定できる。即ち、エージェント２００１では、対話行為における付帯情報に基づく判断を行うことなく、過去の対話行為タイプの系列に基づき、出力すべき対話行為タイプの決定を行うことが可能となっている。
【００６２】
このように対話行為の種類（対話行為全体の値の各々）ではなく、対話行為タイプの種類（対話行為タイプ値の各々）に基づいて対話行為タイプを決定することにより、対話状態の数を、少なく抑えることができる。対話状態の数を少なく抑えることは、強化学習による行動選択の最適化に有利となる。この最適化の結果としてエージェント２００１は、環境の１つであるフロントエンド２００２から、観測２００３としての情報を取得（収集）するための質問のタイプ等に係る行動２００４を状況に応じて適切に選択できるようになり得るし、情報処理の結果として環境の他の１つであるバックエンドから観測２００６を得るための行動２００７を適切に選択できるようになり得る。これらの選択（例えば質問のタイプの異なる対話行為タイプの選択等）を通じて、エージェント２００１により、対話の主体者の制御、不確実な情報の確認の制御等の対話制御処理が行われ得る。
【００６３】
なお、エージェント２００１は、取得した対話行為における対話行為タイプと分離した付帯情報については、取得した最新の１つを保持すれば足りる。
【００６４】
また、バックエンド２００５においては、対話開始以降、取得した付帯情報の系列を、メモリ等の一領域であるスタックに積んで管理すると、複数の付帯情報を用いた高度なタスクを遂行可能となる。バックエンド２００５での情報処理によって、例えば、「頭痛」、「めまい」等といった症状を表す付帯情報が収集され、これらの症状に基づいて、「病気Ａ」、「病気Ｂ」、「病気Ｃ」等といった病気が、所望の情報として特定され得る。バックエンド２００５においては、取得した対話行為の対話行為タイプを、例えばコマンドの種類として扱い、現在の対話行為タイプのみに応じて処理を行えばよく、対話行為タイプの履歴を管理する必要はない。
【００６５】
（動作）
以下、上述した構成を備える対話システム１０の動作について説明する。
【００６６】
図３は、対話システム１０における対話処理の一例を示すフローチャートである。以下、同図に即して、対話に係るエージェント２００１の動作に注目して説明する。
【００６７】
対話の開始にあたって、まず、エージェント２００１は、信念状態を設定する（ステップＳ３１）。信念状態とは、対話の進行状況とユーザの意図をあわせて定義された対話状態に対して、総和が１となるような確率値の集合（確率分布）のことである。例えば、対話開始時にはひとつの対話状態にいると想定し、その状態の確率値を１、それ以外の状態の確率値を０とする。信念状態の設定は、エージェント２００１の決定部２００が、初期状態としての信念状態を示す信念状態情報をメモリ等の記憶媒体に保持することで行われる。
【００６８】
エージェント２００１の決定部２００は、信念状態情報が示す信念状態に基づいて行動を決定する（ステップＳ３２）。具体的には、決定部２００の行動決定部２０３は、どのような信念状態のときにどのような行動を取るべきかという基準の集合である方策を参照し、信念状態に基づいて行動としての対話行為タイプを決定する。決定部２００では、行動決定部２０３において決定された対話行為タイプを含む、提供用の対話行為を提供部２０５に伝える。
【００６９】
次に、エージェント２００１は、ステップＳ３２で決定された行動が向けられた環境がフロントエンド２００２であるか、バックエンド２００５であるかを判定する（ステップＳ３３）。具体的には、提供部２０５が、予め定められた基準に基づいて、提供用の対話行為に応じて出力先を判定する。そして提供部２０５は、判定結果に応じて、提供用の対話行為を、フロントエンド２００２の出力処理部２０８、及び、バックエンド２００５の知識処理部２０７のいずれかに提供する。
【００７０】
ステップＳ３３での判定の結果として、環境の１つとしてのフロントエンド２００２にエージェント２００１から対話行為が提供された場合には、フロントエンド２００２は、ユーザとのインタラクションを実行する（ステップＳ３４）。つまり、フロントエンド２００２の出力処理部２０８は、提供部２０５から取得した所定対話行為形式の行動（対話行為）を自然言語に変換してユーザに提示する。また、フロントエンド２００２の入力処理部２０１は、ユーザからの応答（回答）を自然言語の形式で取得して、対話行為の形式に変換し、エージェント２００１に提供する。
【００７１】
一方、ステップＳ３３での判定の結果として、環境の他の１つとしてのバックエンド２００５にエージェント２００１から対話行為が提供された場合には、バックエンド２００５は、知識処理を実行する（ステップＳ３５）。つまり、バックエンド２００５の知識処理部２０７は、提供部２０５から取得した所定対話行為形式の行動（対話行為）に基づき、知識ベース２０６の検索処理を行い、検索処理の結果に基づく情報を対話行為の形式にして、エージェント２００１に提供する。知識処理部２０７は、対話行為が知識ベース２０６の検索用のコマンド（例えば機械語のコマンド）としてそのまま用いることができればその対話行為であるコマンドを実行し、そのまま用いることができなければ機械語のコマンドに変換して実行する。また、知識処理部２０７は、検索処理の結果としての知識ベース２０６からの戻り値等に基づく情報を、対話行為の形式にして、エージェント２００１に提供する。
【００７２】
ステップＳ３４又はステップＳ３５に続いて、エージェント２００１は、フロントエンド２００２又はバックエンド２００５から所定対話行為形式の観測（対話行為）を受理（取得）する（ステップＳ３６）。
【００７３】
次に、エージェント２００１は、取得した対話行為に基づいて、対話処理を終了すべきか判断する（ステップＳ３７）。例えば、エージェント２００１は、観測として、フロントエンド２００２から「Acknowledge（）」という対話行為を取得したら、対話処理を終了すべきと判断し、対話処理を終了させる。
【００７４】
ステップＳ３７で終了と判断しない場合には、エージェント２００１は、現在の信念状態と、決定した行動（対話行為タイプの形式の行動）と、環境から得られた観測（対話行為タイプの形式の観測）とに基づき、信念状態を更新する（ステップＳ３８）。つまり決定部２００は、信念状態を示す信念状態情報を、取得した対話行為における対話行為タイプの系列と、決定した対話行為タイプの系列とに応じて更新する。
【００７５】
ステップＳ３８に続いて、エージェント２００１は、ステップＳ３２に戻って、ステップＳ３６で取得した対話行為に対応して、行動の決定を行う。
【００７６】
このように、対話処理においては、エージェント２００１による、次の決定ステップ及び提供ステップを含む対話制御処理が含まれている。対話処理において、繰り返されるステップＳ３６で、フロントエンド２００２及びバックエンド２００５のいずれかから対話行為を取得する度に、エージェント２００１は、取得した対話行為に応じて提供用の対話行為を決定する決定ステップ（ステップＳ３２）を行う。そしてエージェント２００１は、この決定ステップで決定した提供用の対話行為を、フロントエンド２００２及びバックエンド２００５のいずれかへ提供する提供ステップ（ステップＳ３３〜Ｓ３５）を行う。決定ステップでは、エージェント２００１は、提供用の対話行為における対話行為タイプを、フロントエンド２００２及びバックエンド２００５の集合から逐次取得した対話行為における、付帯情報の系列に基づかず対話行為タイプの系列に基づいて、決定する。エージェント２００１は、対話行為タイプの系列に基づいて、信念状態を更新し、信念状態に基づいて、行動としての対話行為タイプを決定し得る。
【００７７】
このように、エージェント２００１における信念状態は、行動の対話行為タイプと観測の対話行為タイプによって逐次更新され、対話処理の開始以降における対話行為タイプの系列の全てを反映した信念状態となっている。このため、エージェント２００１は、信念状態に基づいて行動の決定を行えば、対話の進行状況に適合した行動で、かつ、ユーザの意図に適合した行動をとることができる。
【００７８】
以下、バックエンド２００５における情報処理の一種である知識処理の一例について、図４Ａ及び図４Ｂを用いて説明する。
【００７９】
図４Ａは、バックエンド２００５で参照される知識ベース２０６の一例を示す図である。
【００８０】
知識ベース２０６は、バックエンド２００５の知識処理部２０７による知識処理において検索対象となるデータベースであり、例えば症状を検索キーワードとして病気を検索するための知識を構造化して管理している。図４Ａの表は、知識ベース２０６の知識内容のイメージの一例を示す。図４Ａの表中、ある症状の行と、ある病気の列との交点となるセルには、その病気である場合においてその症状が出やすければ「+」を、その症状が出にくければ「−」を記述している。検索キーワードとして、例えば、症状が出ることを指定する指定キーワードと、症状が出ないことを指定する除外キーワードとに区別して検索を行うこととしてもよい。症状を指定する指定キーワードと除外キーワードとのうちの１つ以上の組み合わせでＡＮＤ検索を行うことで病気の集合から該当する病気を絞り込むことが可能となる。図４Ａの例では、症状Ａを指定キーワード（＋）とし、症状Ｄを除外キーワード（−）としてＡＮＤ検索を行うことで、該当する病気は、病気１のみとなる。図４Ａは説明の便宜上の一例に過ぎず、知識ベース２０６において、検索キーワード（例えば症状）と検索対象名（例えば病気）とは、それぞれ多数（例えば数十、数千以上等）であり得る。
【００８１】
図４Ｂは、バックエンド２００５の知識処理部２０７による知識処理の一例を、質問木で表した概念図である。
【００８２】
図４Ｂの例は、図４Ａの表で例示される知識ベース２０６を用いて、症状に係る質問により病気を特定するという問診タスクを遂行することに関連した質問木の例であり、ここでは、説明の便宜上、比較的単純な質問木を示している。図４Ｂの質問木のルートノードは最初の質問を表し、症状Ａが発症しているかどうかの質問を「症状Ａ」と表現している。リーフノードは、質問により特定された病気を示している。ルートとリーフとの中間に位置する各中間ノードは、２番目以降の質問を表している。ノード間の矢印（エッジ）は、質問への回答が「+」（質問の症状が発症していることを示す回答）であるか「−」（質問の症状が発症していないことを示す回答）であるかに対応しており、質問木全体は、二分木となっている。ルートノードでは、全ての病気の集合を対応させ、質問によって、該当する病気の集合が逐次分割されて、病気が絞り込まれる。これ以上病気の集合を分割する質問がなくなったところで、そのときに残っている病気の集合（１つ又は複数の病気）が結論（検索処理の結果）となる。この質問木は、質問の順番によって、候補の絞込みの効率が異なる。最悪ケースの質問回数をなるべく少なくするためには、残っている病気の集合の「＋」と「−」の割合が、１：１になるべく近い質問を選ぶとよい。
【００８３】
バックエンド２００５の知識処理部２０７としての動作は、エージェント２００１からコマンドを示す対話行為を取得して、コマンドに基づく知識処理（検索処理等）を行い、コマンドに対する戻り値を示す対話行為をエージェント２００１に返す（提供する）。より具体的には、知識処理部２０７は、取得した対話行為における対話行為タイプに付帯する付帯情報（症状を示すキーワード）を検索キーワードとしてスタックに積み、検索キーワードのリストに従って知識ベース２０６の検索を行う検索処理を行う。知識処理部２０７は、検索処理の結果として、検索対象の病気が充分絞り込まれたか否かを判定して、充分絞り込まれた場合には、結論として絞り込まれた検索対象の情報（病気）をエージェント２００１に返す。絞り込みが不充分であると判定した場合には、知識処理部２０７は、検索対象を絞り込むのに有効な検索キーワードを、エージェント２００１に提案（提供）する。なお、ここで示した、バックエンド２００５による病気の特定という処理は、バックエンド２００５による情報処理の一例に過ぎない。バックエンド２００５で行われる情報処理は、例えば、キーワードを用いて、インターネット検索（インターネット上の情報の検索）を行い、検索の結果が所定数（例えば１つ、数個等）以下になるまでは、次の有効な検索キーワードを提案（提供）し、所定数以下になると検索の結果としての情報を提供するような処理であってもよい。この場合に、バックエンド２００５は、既存のインターネット検索プログラムへのラッパー等を含んで構成され得る。
【００８４】
以下、対話システム１０による対話のシーケンスについて説明する。図５は、対話システム１０による対話のシーケンスの一例を示したシーケンス図である。
【００８５】
図５において、フロントエンド２００２、エージェント２００１及びバックエンド２００５のそれぞれ（各オブジェクト）における処理区間（活性区間）を縦長長方形で表しており、オブジェクトから下に向かう縦の破線が時間経過を表し、横向きの矢線（矢印）のうち、実線の矢印が呼び出しメッセージ（つまりエージェント２００１からの対話行為の提供）を表し、破線の矢印が手続きの結果通知メッセージ（つまりエージェント２００１による対話行為の取得）を表している。また、図５ではバックエンド２００５内で管理されるスタック５０の内容（検索キーワードのリスト）を付記している。スタック５０内においてキーワードに付加された正（＋）の符号は、知識ベース２０６の検索時にそのキーワードが指定キーワードとして扱われることを意味し、キーワードに付加された負（−）の符号は、知識ベース２０６の検索時にそのキーワードが除外キーワードとして扱われることを意味する。
【００８６】
以下、図５に即して、問診タスクに係る対話の例に係るシーケンスにおける各ステップを順に説明する。
【００８７】
ステップＳ１０１では、エージェント２００１は、バックエンド２００５に、知識ベース２０６の検索処理のための検索キーワードを格納するスタック５０を空にさせるコマンドを表す対話行為「clear（）」を、与える（提供する）。なお、エージェント２００１が提供する対話行為の先頭が小文字であればバックエンド２００５が提供先であり、大文字であればフロントエンド２００２が提供先となるように定められている。
【００８８】
ステップＳ１０２では、エージェント２００１は、バックエンド２００５から、例えばコマンドに応じた処理が終わったこと等を表す対話行為「pass（）」を、受ける（取得する）。
【００８９】
ステップＳ１０３では、エージェント２００１は、フロントエンド２００２に、「今日はどうされましたか？」という旨の質問を表す対話行為「What1st（）」を提供する。これにより、フロントエンド２００２は、ユーザに、例えば「今日はどうされましたか？」という自然言語で、質問する。この例では、この質問に対してユーザは、症状を示す「頭がくらくらします。」という回答を行う。
【００９０】
ステップＳ１０４では、エージェント２００１は、ユーザの「頭がくらくらします。」という回答をフロントエンド２００２で変換した対話行為「Provide（頭痛）」を、フロントエンド２００２から取得する。
【００９１】
ステップＳ１０４に続いて、エージェント２００１は、取得した対話行為「Provide（頭痛）」における対話行為タイプ「Provide」に応じて対話行為タイプ「Confirm」を決定し、その「Confirm」と、取得した対話行為における付帯情報である「頭痛」とを合成することで提供用の対話行為「Confirm（頭痛）」を生成する。
【００９２】
ステップＳ１０５では、エージェント２００１は、対話行為「Confirm（頭痛）」をフロントエンド２００２に提供する。これにより、フロントエンド２００２は、対話行為「Confirm（頭痛）」に基づいて変換した自然言語「頭痛ですか？」により、ユーザに対して確認の質問を行う。この例では、この質問に対してユーザは、頭痛を訂正して「めまいです。」という回答を行う。
【００９３】
ステップＳ１０６では、エージェント２００１は、ユーザの「めまいです。」という回答（つまり確認内容を訂正する回答）をフロントエンド２００２で変換した対話行為「Correct（めまい）」を、フロントエンド２００２から取得する。
【００９４】
ステップＳ１０６に続いて、エージェント２００１は、取得した対話行為「Correct（めまい）」における対話行為タイプ「Correct」に応じて対話行為タイプ「push」を決定し、その「push」と、取得した対話行為における付帯情報である「めまい」とを合成することで提供用の対話行為「push（めまい）」を生成する。
【００９５】
ステップＳ１０７では、エージェント２００１は、対話行為「push（めまい）」をバックエンド２００５に提供する。対話行為「push（めまい）」が表すコマンド（例えば検索キーワードの設定のためのコマンド）に応じて、バックエンド２００５のスタック５０には、付帯情報の「めまい」を示す指定キーワードが蓄積される。
【００９６】
ステップＳ１０８では、エージェント２００１は、バックエンド２００５から、例えばコマンドに応じた処理が終わったこと等を表す対話行為「pass（）」を取得する。
【００９７】
ステップＳ１０８に続いて、エージェント２００１は、取得した対話行為「pass（）」における対話行為タイプ「pass」に応じて対話行為タイプ「WhatElse」を決定し、対話行為「WhatElse（）」を生成する。
【００９８】
ステップＳ１０９では、エージェント２００１は、対話行為「WhatElse（）」をフロントエンド２００２に提供する。なお、エージェント２００１においては、逐次取得した対話行為における対話行為タイプの系列によって、対話行為タイプの決定に際して参照される信念状態が変化しているので、同内容の対話行為を取得した場合であっても異なる提供用の対話行為を決定して提供し得る。フロントエンド２００２は、対話行為「WhatElse（）」に基づいて変換した自然言語「他に気になることはありますか？」により、ユーザに対して更なる質問を行う。この例では、この質問に対してユーザは、更なる症状を示す「動悸もします。」という回答を行う。
【００９９】
ステップＳ１１０では、エージェント２００１は、ユーザの「動悸もします。」という回答をフロントエンド２００２で変換した対話行為「Provide（動悸）」を、フロントエンド２００２から取得する。
【０１００】
ステップＳ１１０に続いて、エージェント２００１は、取得した対話行為「Provide（動悸）」における対話行為タイプ「Provide」に応じて対話行為タイプ「push」を決定し、その「push」と、取得した対話行為における付帯情報である「動悸」とを合成することで提供用の対話行為「push（動悸）」を生成する。
【０１０１】
ステップＳ１１１では、エージェント２００１は、対話行為「push（動悸）」をバックエンド２００５に提供する。対話行為「push（動悸）」が表すコマンド（例えば検索キーワードの設定のためのコマンド）に応じて、バックエンド２００５のスタック５０には、更に付帯情報の「動悸」を示す指定キーワードが蓄積される。
【０１０２】
ステップＳ１１２では、エージェント２００１は、バックエンド２００５から、例えばコマンドに応じた処理が終わったこと等を表す対話行為「pass（）」を取得する。
【０１０３】
ステップＳ１１２に続いて、エージェント２００１は、取得した対話行為「pass（）」における対話行為タイプ「pass」に応じて対話行為タイプ「WhatElse」を決定し、対話行為「WhatElse（）」を生成する。
【０１０４】
ステップＳ１１３では、エージェント２００１は、対話行為「WhatElse（）」をフロントエンド２００２に提供する。フロントエンド２００２は、対話行為「WhatElse（）」に基づいて変換した自然言語「他に気になることはありますか？」により、ユーザに対して更なる質問を行う。この例では、この質問に対してユーザは、他の症状がないことを示す「ないです。」という回答を行う。
【０１０５】
ステップＳ１１４では、エージェント２００１は、ユーザの「ないです。」という回答をフロントエンド２００２で変換した対話行為「Negative（）」を、フロントエンド２００２から取得する。
【０１０６】
ステップＳ１１４に続いて、エージェント２００１は、取得した対話行為「Negative（）」における対話行為タイプ「Negative」に応じて対話行為タイプ「solve1st」を決定し、提供用の対話行為「solve1st（）」を生成する。
【０１０７】
ステップＳ１１５では、エージェント２００１は、対話行為「solve1st（）」をバックエンド２００５に提供する。対話行為「solve1st（）」が表すコマンド（例えば検索実行のためのコマンド）に応じて、バックエンド２００５では知識ベース２０６の検索処理を行う。バックエンド２００５は、検索処理の結果が充分に絞り込まれたか否かを判定する。例えば、バックエンド２００５は、検索処理の結果としての病気が所定数（例えば１つ、数個等）以下に絞り込まれたか否かを判定する。バックエンド２００５は、検索処理の結果が充分に絞り込まれない場合には、知識ベース２０６を用いて、検索処理の結果を絞り込むために有効な検索キーワードを特定して提案する。この例では、検索処理の結果が所定数以下に絞り込まれずに、絞り込みに有効な検索キーワードとして「発熱」が提案される。このとき、この例では、バックエンド２００５のスタック５０に、指定キーワードか除外キーワードかが未決定の状態の「発熱」を示す検索キーワードが蓄積される。
【０１０８】
ステップＳ１１６では、エージェント２００１は、バックエンド２００５から、「発熱」の症状の質問を提案することを表す対話行為「suggest（発熱）」を取得する。
【０１０９】
ステップＳ１１６に続いて、エージェント２００１は、取得した対話行為「suggest（発熱）」における対話行為タイプ「suggest」に応じて対話行為タイプ「Check」を決定し、その「Check」と、取得した対話行為における付帯情報である「発熱」とを合成することで提供用の対話行為「Check（発熱）」を生成する。
【０１１０】
ステップＳ１１７では、エージェント２００１は、対話行為「Check（発熱）」をフロントエンド２００２に提供する。フロントエンド２００２は、対話行為「Check（発熱）」に基づいて変換した自然言語「発熱はありますか？」により、ユーザに対して発熱の症状についての質問を行う。この例では、この質問に対してユーザは、発熱の症状が現れていないことを示す「ありません。」という回答を行う。
【０１１１】
ステップＳ１１８では、エージェント２００１は、ユーザの「ありません。」という回答をフロントエンド２００２で変換した対話行為「Negative（）」を、フロントエンド２００２から取得する。
【０１１２】
ステップＳ１１８に続いて、エージェント２００１は、取得した対話行為「Negative（）」における対話行為タイプ「Negative」に応じて対話行為タイプ「set_negative」を決定し、提供用の対話行為「set_negative（）」を生成する。
【０１１３】
ステップＳ１１９では、エージェント２００１は、対話行為「set_negative（）」をバックエンド２００５に提供する。対話行為「set_negative（）」が表すコマンド（例えばスタックに最後に積まれた検索キーワードを除外キーワードに設定した上で検索キーワードのリストで検索を実行するためのコマンド）に応じて、バックエンド２００５では、スタック５０の「発熱」を除外キーワードとして知識ベース２０６の検索処理を行う。そしてバックエンド２００５は、検索処理の結果が充分に絞り込まれたか否かを判定する。この例では、検索処理の結果がまだ所定数以下に絞り込まれずに、絞り込みに有効な検索キーワードとして更に「咳」が提案される。このとき、この例では、バックエンド２００５のスタック５０に、「咳」を示す検索キーワードが蓄積される。
【０１１４】
ステップＳ１２０では、エージェント２００１は、バックエンド２００５から、「咳」の症状の質問を提案することを表す対話行為「suggest（咳）」を取得する。
【０１１５】
ステップＳ１２０に続いて、エージェント２００１は、取得した対話行為「suggest（咳）」における対話行為タイプ「suggest」に応じて対話行為タイプ「Check」を決定し、その「Check」と、取得した対話行為における付帯情報である「咳」とを合成することで提供用の対話行為「Check（咳）」を生成する。
【０１１６】
ステップＳ１２１では、エージェント２００１は、対話行為「Check（咳）」をフロントエンド２００２に提供する。フロントエンド２００２は、対話行為「Check（咳）」に基づいて変換した自然言語「咳は出ますか？」により、ユーザに対して咳の症状についての質問を行う。この例では、この質問に対してユーザは、咳の症状が現れていることを示す「出ます。」という回答を行う。
【０１１７】
ステップＳ１２２では、エージェント２００１は、ユーザの「出ます。」という回答をフロントエンド２００２で変換した対話行為「Positive（）」を、フロントエンド２００２から取得する。
【０１１８】
ステップＳ１２２に続いて、エージェント２００１は、取得した対話行為「Positive（）」における対話行為タイプ「Positive」に応じて対話行為タイプ「set_positive」を決定し、提供用の対話行為「set_positive（）」を生成する。
【０１１９】
ステップＳ１２３では、エージェント２００１は、対話行為「set_positive（）」をバックエンド２００５に提供する。対話行為「set_positive（）」が表すコマンド（例えばスタックに最後に積まれた検索キーワードを指定キーワードに設定した上で検索キーワードのリストで検索を実行するためのコマンド）に応じて、バックエンド２００５では、スタック５０の「咳」を指定キーワードにし、知識ベース２０６の検索処理を行う。そしてバックエンド２００５は、検索処理の結果が充分に絞り込まれたか否かを判定する。この例では、検索処理の結果が所定数以下の１つである「病気Ｃ」に絞り込まれる。
【０１２０】
ステップＳ１２４では、エージェント２００１は、バックエンド２００５から、結論としての「病気Ｃ」を表す対話行為「conclude（病気Ｃ）」を取得する。
【０１２１】
ステップＳ１２４に続いて、エージェント２００１は、取得した対話行為「conclude（病気Ｃ）」における対話行為タイプ「conclude」に応じて対話行為タイプ「Present」を決定し、その「Present」と、取得した対話行為における付帯情報である「病気Ｃ」とを合成することで提供用の対話行為「Present（病気Ｃ）」を生成する。
【０１２２】
ステップＳ１２５では、エージェント２００１は、対話行為「Present（病気Ｃ）」をフロントエンド２００２に提供する。フロントエンド２００２は、対話行為「Present（病気Ｃ）」に基づいて変換した自然言語「病気Ｃのようです。」により、ユーザに対して結論を提供する。この例では、この結論の提供に対してユーザは、「わかりました。」という回答を行う。
【０１２３】
ステップＳ１２６では、エージェント２００１は、ユーザの「わかりました。」という回答をフロントエンド２００２で変換した対話行為「Acknowledge（）」を、フロントエンド２００２から取得する。これにより、エージェント２００１が対話処理を終了させて、対話のシーケンスが終了する。
【０１２４】
このように、エージェント２００１が仲介してフロントエンド２００２とバックエンド２００５との対話が行われる。
【０１２５】
上述の例で、エージェント２００１がフロントエンド２００２との間で授受する情報である対話行為のシーケンスは、次の対話行為シーケンス１となっている。
【０１２６】
対話行為シーケンス１＝［What1st（），Provide（頭痛），Confirm（頭痛），Correct（めまい），WhatElse（），Provide（動悸），WhatElse（），Negative（），Check（発熱），Negative（），Check（咳），Positive（），Present（病気Ｃ），Acknowledge（）］
【０１２７】
また、対話行為シーケンス１にエージェント２００１とバックエンド２００５との間で授受される対話行為を加えたシーケンスは、次の対話行為シーケンス２となっている。
【０１２８】
対話行為シーケンス２＝［clear（），pass（），What1st（），Provide（頭痛），Confirm（頭痛），Correct（めまい），push（めまい），pass（），WhatElse（），Provide（動悸），push（動悸），pass（），WhatElse（），Negative（），solve1st（），suggest（発熱），Check（発熱），Negative（），set_negative（），suggest（咳），Check（咳），Positive（），set_positive（），conclude（病気Ｃ），Present（病気Ｃ），Acknowledge（）］
【０１２９】
対話行為シーケンス２において奇数番目の対話行為はエージェント２００１の行動に該当し、偶数番目の対話行為はエージェント２００１が、環境としてのフロントエンド２００２又はバックエンド２００５から得た観測に該当する。括弧内の付帯情報に注目すると、観測とそれに続く行動の間で一致している。つまり、エージェント２００１（対話エージェント）は、Provideに対してConfirm、Correctに対してpush等と対話行為タイプを決定しているが、付帯情報については、単に仲介しているだけである。このような観測に応じて行動を決定する動作は、エージェント２００１の決定部２００（つまり分離部２０２、行動決定部２０３、及び、合成部２０４）によって実現される。
【０１３０】
（対話状態に係る考察）
以下、上述した対話システム１０による対話において遷移する対話状態の数の低減化等について、図６Ａ〜図６Ｄを用いて考察を行う。
【０１３１】
まず、上述の図５の例に係る対話行為シーケンス１を用いて、ユーザと関わるフロントエンドのみを環境とした対話システムを仮定し、この仮定した対話システムでのフロントエンドとエージェント（ここでは知識処理の機能を包含するシステム）とでの対話の例について考える。
【０１３２】
図６Ａは、対話行為シーケンス１が含まれるように作成した状態遷移の一例を示す状態遷移図である。なお、ＰＯＭＤＰモデルにおいては、状態がｓであるときに、行動ａを取ったら、状態がｓ´に遷移する時の遷移確率Ｔ（ｓ´｜ｓ，ａ）と、行動ａを取った結果状態ｓ´において観測ｚが得られる観測確率Ｏ（ｚ｜ａ，ｓ´）とで行動と観測と状態の関係が表現される。ここでは、ＰＯＭＤＰモデルにおける上述の確率を閾値処理して、行動と観測と状態の関係を、状態遷移図で表している。以下で説明する図６Ｂ〜図６Ｄの各状態遷移図も図６Ａと同様である。例えば、状態遷移図での矢線は、状態の遷移確率が一定閾値を超える経路を表したものである。また、図６Ａ〜図６Ｄにおいて、各ノードを表す円には、状態の名前を記している。ノード間のエッジを表す矢線には、エージェントから環境への行動としての対話行為を記している。また、各ノード（状態）に、エージェントによる環境の観測としての対話行為を記している。これにより、状態遷移図において、行動によって、環境の状態が変化し、変化した状態の下で観測がなされることが表される。
【０１３３】
ここでは、対話行為シーケンス１を２つの部分（パート）に分けて考察を行う。まず、先行するパートである［What1st（），Provide（頭痛），Confirm（頭痛），Correct（めまい），WhatElse（），Provide（動悸），WhatElse（），Negative（）］のパートは、オープン質問（open question）を主としたユーザ主体の対話が行われているパートである。このパートは、問診タスクにおいて、患者中心の問診と言われる。一方、後続するパートである［Check（発熱），Negative（），Check（咳），Positive（），Present（病気Ｃ），Acknowledge（）］のパートは、クローズド質問（closed question）を主としたシステム（対話システム）主体の対話が行われているパートである。このパートは、問診タスクにおいて、医師中心の問診と言われる。
【０１３４】
先行するパート（ユーザ主体の対話パート）について、図６Ａでは、このパートの状態（ノード）を直線状に配置している。このパートに対応する対話行為のシーケンスは、Negative（）という観測で終わる可変長のシーケンスとなる。このパートの状態の数を減らすには、「ｓ１ａ」〜「ｓ３ａ」を縮退させて、ループ構造にすればよいように思われる。ループによって、可変長のシーケンスに対応できる。
【０１３５】
また、後続するパート（システム主体の対話パート）について、図６Ａでは、このパートの状態（ノード）を木構造となるように配置している。対話行為シーケンス１のシステム主体の対話パートを、トレースするためには、「ｓ４ａ」に続いて、状態の系列［ｓ６ａ、ｓ９ａ、ｓ１３ａ］という経路を辿ればよい。木構造のパートは全体として、図４Ｂに例示したような質問木に対応しており、質問と回答に従って異なる結論に到達できるようになっている。このシステム主体の対話パートは、例えば知識ベースの規模により増大し得る。つまり、１０００の結論があれば、状態数は１０００以上になる。また、図４Ｂの質問木では、単純な例であるので長さが揃っているが、システム主体の対話パートの経路の長さは可変長である。このパートも、ループ構造にすればよいように思われる。
【０１３６】
図６Ｂは、以上の考察に基づいて、２つのループ構造を持つようにした状態遷移の例を示す状態遷移図である。
【０１３７】
図６Ｂは、図６Ａと同様に、対話行為シーケンス１のユーザ主体の対話パート［What1st（），Provide（頭痛），Confirm（頭痛），Correct（めまい），WhatElse（），Provide（動悸），WhatElse（），Negative（）］と、システム主体の対話パート［Check（発熱），Negative（），Check（咳），Positive（），Present（病気Ｃ），Acknowledge（）］とに対応している。但し、図６Ｂでは、対話行為の付帯情報である「頭痛」、「病気Ｃ」等は、一般化して「＊」で表している。この一般化した部分の付帯情報はいずれであっても、状態との対応関係が変わらないと考えられる。
【０１３８】
図６Ｂの状態「ｓ１ｂ」に注目すると、次の状態は「ｓ１ｂ」又は「ｓ２ｂ」である。つまり、「ｓ１ｂ」から出て「ｓ１ｂ」に戻るループを０回以上回った後に、ループから抜け出して、「ｓ２ｂ」に進む。「ｓ１ｂ」と「ｓ２ｂ」には、異なる観測が記されており、行動としての対話行為「WhatElse（）」に対して、「Negative（）」という対話行為が観測された場合に、ループから抜け出す。
【０１３９】
また、状態「ｓ３ｂ」に注目すると、次の状態は「ｓ３ｂ」又は「ｓ４ｂ」である。つまり、「ｓ３ｂ」から出て「ｓ３ｂ」に戻るループを０回以上回った後に、ループから抜け出して、「ｓ４ｂ」に進む。「ｓ３ｂ」と「ｓ４ｂ」には、同じ観測（「Negative（）」及び「Positive（）」）が記されており、行動「Check（＊）」も同じであるため、ループを抜けるための条件は明確でない。このような場合には、ループを回る遷移確率とループを抜ける遷移確率との比によって、何回回ったらループを抜けるのかが決定される。しかし、問診により病気を特定するという問診タスクを考えれば、終了は、医者が、問診の内容によって決めるものであって、回数で決めるべきものではない。或いは「ｓ４ｂ」を除いて「ｓ３ｂ」から「ｓ５ｂ」に、行動「Present（＊）」によって遷移すればよいのかもしれない（図示せず）。しかし、行動選択のための情報がない。ここでは、「Check（＊）」という行動によってループを回るか「Present（＊）」という行動によってループを抜けるかについて、強化学習によって得られた方策に従うとしても、状態と観測とが同じであれば、常に同じ行動が選ばれる。つまり、無限ループに入るか、ループを１回も回らないで通過するかしかできないことになる。これは、ユーザと関わるフロントエンドのみを環境として、対話行為の付帯情報を使わずに、状態を極力縮退させようとした場合に起こる。これでは、タスクが遂行できない。
【０１４０】
次に、上述の図５の例に係る対話行為シーケンス２を用いて、フロントエンド２００２とバックエンド２００５とのそれぞれを環境とした対話システム１０について考える。
【０１４１】
図６Ｃは、対話行為シーケンス２に対応して作成した状態遷移の一例を示す状態遷移図である。図６Ｃの状態遷移図は、２つのループ構造を持ち、かつ、２つの環境に対応するようにしたものである。
【０１４２】
全体を通して、２つのループが存在するのは、図６Ｂと図６Ｃとで同様である。図６Ｃでは、各ノードの配置について、左側がフロントエンド２００２とエージェント２００１との間で授受される対話行為と、右側がエージェント２００１とバックエンド２００５との間で授受される対話行為と、それぞれ対応するようにノードを配置している。
【０１４３】
ここでは、上述の対話行為シーケンス１と同様に、対話行為シーケンス２を２つの部分（パート）に分けて考察を行う。つまり、ユーザ主体の対話パートである［clear（），pass（），What1st（），Provide（頭痛），Confirm（頭痛），Correct（めまい），push（めまい），pass（），WhatElse（），Provide（動悸），push（動悸），pass（），WhatElse（），Negative（）］のパートと、これに後続するパートであるシステム主体の対話パートである［solve1st（），suggest（発熱），Check（発熱），Negative（），set_negative（），suggest（咳），Check（咳），Positive（），set_positive（），conclude（病気Ｃ），Present（病気Ｃ），Acknowledge（）］のパートに分ける。
【０１４４】
図６Ｃにおけるユーザ主体の対話パートには、１つ目のループが存在し、このループの終了条件は、フロントエンド２００２からの観測（具体的には「Negative（）」）によって与えられる。この１つ目のループの終了条件は、図６Ｂに示す１つ目のループの終了条件と同様である。一方、図６Ｃにおけるシステム主体の対話パートには、２つ目のループが存在し、ループの終了条件は、バックエンド２００５からの観測（具体的には「conclude（＊）」）によって与えられる。補足すれば、「ｓ５ｃ」においてとるべき行動は「Check（＊）」であり、その遷移先は３つあるが、次に想定される観測毎に状態を設定されているので、観測確率を乗ずると観測に応じた状態の確率が高くなる。つまり、２つ目のループの終了条件は、図６Ｂとは異なり、観測として与えられた対話行為が状態の確率に反映され、行動決定の基準となり得るので、強化学習により適切な方策の獲得が可能となる。
【０１４５】
なお、図６Ｃにおける１つ目のループでは、［Confirm（頭痛），Correct（めまい）］というシーケンスに対応する状態遷移は省略されており、これについては、次の図６Ｄを用いて考察する。
【０１４６】
図６Ｄは、図６Ｃの「ｓ２ｃ」の状態を分割して、不確実性への対応を行うための拡張を行った状態遷移を示す状態遷移図である。図６Ｄにおいて、「ｓ２ｄ  ｌｅｖ０」、「ｓ２ｄ  ｌｅｖ１」、「ｓ２ｄ  ｐｏｓｉ」、及び「ｓ２ｄ  ｃｏｒｒ」の４つを除くノードについては、図６Ｃにおける同じ名前のノードと対応している。
【０１４７】
拡張の１つ目は、フロントエンド２００２の入力処理部２０１から得られる言語理解の結果の信頼度に応じた状態の分割である。「ｓ２ｄ  ｌｅｖ０」及び「ｓ２ｄ  ｌｅｖ１」の各ノードは、予め設定した信頼度の閾値との大小比較によって分かれるようにしたものであり、閾値より大きいものは「ｓ２ｄ  ｌｅｖ０」とし、閾値未満であれば「ｓ２ｄ  ｌｅｖ１」としている。この例では、２分割であるが、必要に応じて分割数は、数倍程度に増やせばよい。例えば、４分割する場合の各閾値の設定の仕方としては、信頼度の取り得る値域を４等分するように閾値を設定する方法、頻度分布を得て４分位点を閾値として設定する方法等が挙げられる。
【０１４８】
拡張の２つ目は、エージェント２００１がフロントエンド２００２から得られた情報をバックエンド２００５へ仲介する前に、フロントエンド２００２に確認を行うことで確実性を高める場合に対応した状態「ｓ２ｄ  ｐｏｓｉ」と「ｓ２ｄ  ｃｏｒｒ」とを設けたことである。
【０１４９】
対話行為シーケンス２の［Provide（頭痛），Confirm（頭痛），Correct（めまい），push（めまい），pass（），WhatElse（），Provide（動悸），push（動悸）］の部分に沿って、状態遷移の様子を追ってみると、「Provide（頭痛）」が観測される際の信頼度が比較的低い場合に状態「ｓ２ｄ  ｌｅｖ１」にいると想定され、「Confirm（頭痛）」という行動が決定され、状態は「ｓ２ｄ  ｃｏｒｒ」に遷移し、「Correct（めまい）」が観測される。次に「push（めまい）」という行動が決定されて「ｓ３ｃ」に遷移し、「pass（）」が観測される。次に、「WhatElse（）」という行動が決定され、「Provide（動悸）」が比較的高い信頼度とともに観測されると「ｓ２ｄ  ｌｅｖ０」にいると想定される。ここでは、確認を行わずに、行動「push（動悸）」を伴って「ｓ３ｃ」に遷移する。
【０１５０】
このように、状態を、フロントエンド２００２からの観測の信頼度に基づいて分割し、分割された状態毎に別々の行動を紐付けることができる。図６Ｄの例では、信頼度のレベル（つまり閾値での分割数）が２つで、信頼度が高いときには確認を行わず、信頼度が低いときには確認を行う。このような信頼度に応じた行動を定める方策を人手によって設定することは、信頼度のレベルが２つであれば容易である。信頼度のレベルを多段階にする場合においては、レベル毎に確認を行うか行わないかを設定することには、試行錯誤が必要となり得る。
【０１５１】
なお、図５の例についての説明において、対話行為シーケンス２について、観測の対話行為とそれに続く行動の対話行為との間で付帯情報が一致することを説明したが、図６Ｄでは、[ｓ２ｄ  ｌｅｖ１，ｓ２ｄ  ｐｏｓｉ，ｓ３ｃ」の経路で、例えば、[Provide（頭痛），Confirm（頭痛），Positive（），push（頭痛）］というシーケンスに対応する状態遷移も可能となっている。上述したように、エージェント２００１は、取得した対話行為における対話行為タイプと分離した付帯情報については、取得した最新の１つを保持しているので、保持している最新の付帯情報を、必要に応じて行動の対話行為として補うことで、図６Ｄの状態遷移に対応できる。
【０１５２】
（比較実験結果）
以下、対話システム１０の効果を定量的に示すための比較実験について説明する。
【０１５３】
対話システム１０を用いて問診タスクとしての対話のシミュレーション実験を行った。図７は、対話システム１０を用いたシミュレーション実験の結果を示す図である。
【０１５４】
このシミュレーション実験では、知識ベース２０６として、３９種類の症状と８５４の病気の関係を収めたものを用いた。また、対話行為タイプとして、観測２００３、観測２００６、行動２００４、及び、行動２００７（図２参照）に含まれる対話行為における対話行為タイプを用いた。対話のシミュレーション実験において対話システム１０のフロントエンド２００２と対話するユーザとしての患者シミュレータは、指定された病気と関連づけられた症状の回答（対話行為「Provide（）」に相当する回答）を１回行い、その後は、対話システム１０の質問に返答する。
【０１５５】
その他の主な条件は、以下の通りである。
【０１５６】
・フロントエンド２００２における言語理解の機能部分は、２５％の割合で誤った症状を生成する。
・信頼度に応じた状態の分割数は４で、分割のための３つの閾値は、０．２、０．５及び０．８である。
・バックエンド２００５（知識処理部２０７）は、症状に係る検索キーワードを用いて検索して特定された病気（病気の候補）が１つになるか、又は、病気を絞り込むためのキーワード（症状）の候補がなくなると、検索により特定された病気を結論として出力（エージェント２００１に提供）する。それ以外の場合には、バックエンド２００５は、絞り込むために有効なキーワードを提案（エージェント２００１に提供）する。
・結論として得られた病気の数が３つ以内で、かつ、患者シミュレータに対して指定された病気が含まれれば、正解とする。
【０１５７】
図７には、以上の条件で、「確認戦略なし」と、「確認戦略あり（hand-crafted）」と、「確認戦略あり（強化学習）」との３種類のモデルにおける実験結果をまとめている。ここで、「確認戦略なし」は、図６Ｃの状態遷移図に対応するモデルである。また、「確認戦略あり（hand-crafted）」は、信頼度が０．５以上の２つの状態については確認を行わず、信頼度が０．５未満の２つの状態については確認を行うようにしたものであり、図６Ｄの状態遷移図に対応するモデルである。「確認戦略あり（強化学習）」も、図６Ｄの状態遷移図の類型に相当するモデルであるが、このモデルでは、信頼度に応じた４つの状態が取るべき行動について、確認（Confirm）してから「push」するか、確認しないで「push」するかは、ＰＯＭＤＰモデルでの強化学習によって得られた方策に従うようにした。ある環境内でエージェントは現在の状態を観測して取るべき行動を決定するところ、強化学習では、エージェントが逐次選択した行動を行うことで、環境から最も多くの報酬が得られるような方策を学習する。「確認戦略あり（強化学習）」のモデルの強化学習での報酬については、トレーニング用の対話コーパスに表れる対話行為の系列が通る経路については５、それ以外は−５０を基本として、特に、「ｓ２ｄ  ｃｏｒｒ」からの「push（＊）」は１００、「ｓ２ｄ  ｐｏｓｉ」からの「push（＊）」は−１として、誤りの訂正のための確認を行って訂正されれば価値が高く、訂正の必要がないときの確認は価値が低いという設定を行った。
【０１５８】
図７の平均ターン数は、フロントエンド２００２とユーザ（患者シミュレータ）の間のインタラクションのみについてカウントしたターン数である。また、平均報酬は、「確認戦略あり（強化学習）」の他に強化学習を用いないモデルについても同じ条件で算出している。
【０１５９】
実験結果として図７のように、正解率は、「確認戦略あり（強化学習）」が最も高く、「確認戦略あり（hand-crafted）」が次に高く、「確認戦略なし」が最も低いことが確認できた。また、平均ターン数は、「確認戦略あり（強化学習）」が最も少なく、「確認戦略あり（hand-crafted）」が次に少なく、「確認戦略なし」が最も多いことが確認できた。また、得られる平均報酬は、「確認戦略あり（強化学習）」が最も高く、「確認戦略あり（hand-crafted）」が次に高く、「確認戦略なし」が最も低いことが確認できた。
【０１６０】
なお、「確認戦略あり（強化学習）」のモデルの強化学習に用いたＰＯＭＤＰソルバーによる学習結果が収束するまでに要した時間は１秒未満であるが、図６Ａの状態遷移図に対応するモデルではＰＯＭＤＰソルバーが要した時間は３０日以上であった。
【０１６１】
（他の実施の形態等）
以上のように、本発明に係る技術の例示として実施の形態１を用いて説明した。しかしながら、上述の実施の形態は一例にすぎず、各種の変更、付加、省略等が可能であることは言うまでもない。
【０１６２】
上述の実施の形態では、バックエンド２００５が知識ベース２０６の検索処理を行う例を示したが、バックエンド２００５における情報処理は、検索処理でなくてもよく、いかなる処理であってもよい。バックエンド２００５は知識ベース２０６以外の外部装置と通信してもよい。また、知識ベース２０６は必ずしもバックエンド２００５の外部に存在する必要はなくバックエンド２００５に含まれるものとしてもよい。
【０１６３】
また、上述の実施の形態では、フロントエンド２００２、バックエンド２００５が１つずつである例を示したが、フロントエンド２００２及びバックエンド２００５のそれぞれは、１つに限定されず、複数設けてもよい。
【０１６４】
また、上述の実施の形態では、付帯情報がキーワードである例を示したが、付帯情報は文字列以外の情報であってもよい。例えば、付帯情報は、標章、図形、画像、音声データ等であってもよい。また、例えば、付帯情報は、キーワードのみではなく、キーワードの種類を表すスロットとキーワードとの組であってもよい。
【０１６５】
また、上述の実施の形態では行動決定部２０３が、ＰＯＭＤＰモデルに基づいて行動として対話行為タイプを決定することとしたが、行動決定部２０３は、必ずしもＰＯＭＤＰモデルに基づくものでなくてもよい。行動決定部２０３は、例えば、信念状態に依らず、予め定められた方策と過去に入力された対話行為タイプの系列（履歴）とに基づいて、対話行為タイプを決定するものであってもよい。
【０１６６】
また、上述の実施の形態では、提供部２０５が、対話行為における先頭文字が大文字か小文字かにより対話行為の提供先がフロントエンド２００２かバックエンド２００５かを判定する例を示した。しかし、対話行為における対話行為タイプの値（対話行為タイプ値）が、フロントエンド２００２に向けたものとして予め定められた種類（第１種）か、バックエンド２００５に向けたものとして予め定められた種類（第２種）かにより区別できれば足りるので、その区別を、大文字か小文字かによる区別以外の方法で実現してもよい。提供部２０５が、対話行為タイプ値と、第１種か第２種かの種類（つまり提供先を区別する種類）とを対応付けた対応表を有していてもよい。例えば、提供部２０５は、決定部２００により決定された提供用の対話行為における対話行為タイプが第１種及び第２種のいずれの対話行為タイプ値を表すかに基づいて、対話行為の提供先を選択し、選択した提供先へ対話行為を提供し得る。
【０１６７】
上述の実施の形態では、対話システム１０を問診に用いる場合を例として説明した。しかし、上述の対話行為タイプは、問診に限らず、対話により情報を特定するタスクにおいては共通するものである。
【０１６８】
そのため、対話システム１０を、問診の例に限らず、種々の分野において、ユーザとの対話により情報を特定するタスクの遂行に適用することが可能である。具体例としては、対話システム１０は、料理等の分野でのレシピ検索、観光等の分野での旅行プラン検索、不動産売買等の分野での不動産物件検索、テレビジョン放送等の分野での映像コンテンツ検索等に適用可能である。この場合に、対話システム１０（図２参照）では、例えば、知識ベース２０６には、所定の分野（対話システム１０の適用分野等）に有用な情報を保持させておき、フロントエンド２００２で、当該分野に関して、自然言語で表現される情報をユーザとの間で交換するようにすればよい。なお、対話システム１０が行う対話処理は図３で例示した処理と同様である。
【０１６９】
対話システム１０をレシピ検索に用いる場合においては、知識ベース２０６に、例えば、食材、調味料、料理、調理方法等に関連する情報を保持させ、フロントエンド２００２では、例えば、好みの料理のジャンルや食材等に関する情報をユーザとの対話により取得するようにすればよい。また、対話システム１０を旅行プラン検索に用いる場合においては、知識ベース２０６に、例えば、行き先、人数、宿泊数、予算等に関する情報を保持させ、フロントエンド２００２では、例えば、ユーザが所望する旅行プランの行き先や人数等に関する情報をユーザとの対話により取得するようにすればよい。また、対話システム１０を不動産物件検索に用いる場合においては、知識ベース２０６には、例えば、住居エリア、間取り、築年数、最寄り駅からの距離、家賃等に関連する情報を保持させ、フロントエンド２００２では、例えば、ユーザが所望する不動産物件の住居エリアや間取り等に関する情報をユーザとの対話により取得するようにすればよい。また、対話システム１０を映像コンテンツ検索に用いる場合においては、知識ベース２０６には、例えば、ジャンル、出演者、放送局、放送日時等に関する情報を保持させ、フロントエンド２００２では、例えば、ユーザが見たい番組のジャンルや出演者等に関する情報をユーザとの対話により取得するようにすればよい。なお、いずれのタスクにおいても、ユーザとの対話によりユーザから取得する情報の種類、取得順、総数等は、予め定められた一定値等である必要はなく、ユーザが所望する情報が十分に絞り込まれて特定されるという条件を満たすように動的に決定されればよい。
【０１７０】
以上の各例において、エージェント２００１における分離部２０２は、フロントエンド２００２及びバックエンド２００５のいずれかから取得した対話行為を対話行為タイプと付帯情報とに分離するが、前述のとおり、情報を特定するタスクでは、対話行為タイプは分野を問わず共通するため、対話行為タイプの値は、問診の例と同様のものを用いることができる。
【０１７１】
なお、具体的な適用分野に応じて、対話行為タイプを適宜追加してもよい。例えば、レシピ検索においては、実施の形態で例示した対話行為タイプに加え、ユーザからの情報要求に応じて推薦するレシピ（お薦めレシピ）の情報を提示するケースとして、フロントエンド２００２からエージェント２００１への推薦情報要求の対話行為タイプ「RequestRecommend」、エージェント２００１からバックエンド２００５への推薦情報探索の対話行為タイプ「seek_recommend」、バックエンド２００５からエージェント２００１への推薦情報提供の対話行為タイプ「inform_recommend」、エージェント２００１からフロントエンド２００２への推薦情報提示「PresentRecommend」、及び、お薦め情報等を追加してもよい。このようにして、分野に応じて効率的に情報の特定を行うことが可能となる。
【０１７２】
また、上記実施の形態における各構成要素（エージェント２００１、フロントエンド２００２、バックエンド２００５等）の一部又は全部は、１個のシステムＬＳＩ（Large Scale Integration：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ等を含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムＬＳＩは、その機能を達成する。また、上記各装置を構成する構成要素の各部は、個別に１チップ化されていてもよいし、一部又はすべてを含むように１チップ化されてもよい。また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。更には、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてあり得る。
【０１７３】
また、上記実施の形態における各構成要素の一部又は全部は、コンピュータ等の装置に脱着可能なＩＣカード又は単体のモジュールから構成されているとしてもよい。前記ＩＣカード又は前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭ等から構成されるコンピュータシステムである。前記ＩＣカード又は前記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ＩＣカード又は前記モジュールは、その機能を達成する。このＩＣカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
【０１７４】
また、本発明の一態様としては、例えば図３、図５等に示す手順の全部又は一部を含む対話方法であるとしてもよい。対話システム１０で用いられる対話方法は、例えば、エージェント２００１が、フロントエンド２００２及びバックエンド２００５の一方から取得した対話行為に応じて提供用の対話行為を決定する決定ステップと、エージェント２００１が、前記決定ステップで決定された提供用の対話行為を、フロントエンド２００２及びバックエンド２００５の一方へ提供する提供ステップとを含み、前記決定ステップでは提供用の対話行為における対話行為タイプを、フロントエンド２００２及びバックエンド２００５の集合から逐次取得した対話行為における、付帯情報の系列に基づかず対話行為タイプの系列に基づいて、決定する。例えば、前記決定ステップは、フロントエンド２００２及びバックエンド２００５の集合から対話行為を逐次取得し、取得した対話行為における付帯情報と対話行為タイプとを分離する分離サブステップと、前記分離サブステップで分離された対話行為タイプを観測とし、その観測に基づいて、観測に対応して行動を決定するための基準となる信念状態情報を参照して、行動としての対話行為タイプを決定する行動決定サブステップと、前記行動決定サブステップで決定された対話行為タイプと前記分離サブステップで分離された付帯情報とを合成することで提供用の対話行為を生成する合成サブステップと、前記分離サブステップで分離された対話行為タイプの系列である観測と、前記行動決定サブステップで決定された対話行為タイプの系列である行動とに応じて信念状態情報を更新する更新ステップとを含む。また、この対話方法をコンピュータにより実現するコンピュータプログラム（例えば前記決定ステップと前記提供ステップとを含む対話制御処理を行うプログラム等）であるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。また、本発明の一態様としては、前記コンピュータプログラム又は前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Blu-ray（登録商標） Disc）、半導体メモリ等に記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。また、本発明の一態様としては、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。また、本発明の一態様としては、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、或いは前記プログラム又は前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０１７５】
また、上記実施の形態で示した対話システム１０に係る技術は、上述したサービスの態様（図１参照）の他、例えば、以下のクラウドサービスの類型において実現され得る。但し、上記実施の形態で示した技術の適用が、ここで説明するクラウドサービスの類型に限られるものではない。
【０１７６】
（サービスの類型１：自社データセンタ型クラウドサービス）
図８は、サービスの類型１（自社データセンタ型クラウドサービス）における対話システムが提供するサービスの全体像を示す図である。本類型では、サービスプロバイダ１１２０が、機器１１０１からユーザ１０１０により入力される情報を取得し、ユーザ１０１０に対して機器１１０１を介してサービスを提供する。本類型では、サービスプロバイダ１１２０が、データセンタ運営会社の機能を有している。すなわち、サービスプロバイダ１１２０が、ビッグデータを管理するクラウドサーバを保有している。本類型では、データセンタ運営会社は存在しない。本類型では、サービスプロバイダ１１２０は、データセンタとしてのクラウドサーバ１２０３を有し、オペレーティングシステム（ＯＳ）１２０２及びアプリケーションプログラム（アプリケーション）１２０１を管理する。サービスプロバイダ１１２０は、ＯＳ１２０２及びアプリケーション１２０１を用いて、クラウドサーバ１２０３により機器１１０１と通信することで、サービスを提供する。
【０１７７】
（サービスの類型２：ＩａａＳ利用型クラウドサービス）
図９は、サービスの類型２（ＩａａＳ利用型クラウドサービス）における対話システムが提供するサービスの全体像を示す図である。ここで、ＩａａＳとは、インフラストラクチャー・アズ・ア・サービスの略であり、コンピュータシステムを構築および稼動させるための基盤そのものを、インターネット経由のサービスとして提供するクラウドサービス提供モデルである。
【０１７８】
本類型では、データセンタ運営会社１１１０が、データセンタ（クラウドサーバ）１２０３を運営及び管理している。また、サービスプロバイダ１１２０は、ＯＳ１２０２及びアプリケーション１２０１を管理する。サービスプロバイダ１１２０は、サービスプロバイダ１１２０が管理するＯＳ１２０２及びアプリケーション１２０１を用いてサービスを提供する。
【０１７９】
（サービスの類型３：ＰａａＳ利用型クラウドサービス）
図１０は、サービスの類型３（ＰａａＳ利用型クラウドサービス）における対話システムが提供するサービスの全体像を示す図である。ここで、ＰａａＳとは、プラットフォーム・アズ・ア・サービスの略であり、ソフトウェアを構築および稼動させるための土台となるプラットフォームを、インターネット経由のサービスとして提供するクラウドサービス提供モデルである。
【０１８０】
本類型では、データセンタ運営会社１１１０は、ＯＳ１２０２を管理し、データセンタ（クラウドサーバ）１２０３を運営及び管理している。また、サービスプロバイダ１１２０は、アプリケーション１２０１を管理する。サービスプロバイダ１１２０は、データセンタ運営会社１１１０が管理するＯＳ１２０２及びサービスプロバイダ１１２０が管理するアプリケーション１２０１を用いてサービスを提供する。
【０１８１】
（サービスの類型４：ＳａａＳ利用型クラウドサービス）
図１１は、サービスの類型４（ＳａａＳ利用型クラウドサービス）における対話システムが提供するサービスの全体像を示す図である。ここで、ＳａａＳとは、ソフトウェア・アズ・ア・サービスの略である。ＳａａＳ利用型クラウドサービスは、例えば、データセンタ（クラウドサーバ）を保有しているプラットフォーム提供者が提供するアプリケーションを、データセンタ（クラウドサーバ）を保有していない会社又は個人等の利用者がインターネット等のネットワーク経由で使用できる機能を有するクラウドサービス提供モデルである。
【０１８２】
本類型では、データセンタ運営会社１１１０は、アプリケーション１２０１を管理し、ＯＳ１２０２を管理し、データセンタ（クラウドサーバ）１２０３を運営及び管理している。また、サービスプロバイダ１１２０は、データセンタ運営会社１１１０が管理するＯＳ１２０２及びアプリケーション１２０１を用いてサービスを提供する。
【０１８３】
以上、いずれのクラウドサービスの類型においても、サービスプロバイダ１１２０がサービスを提供する。また、例えば、サービスプロバイダ又はデータセンタ運営会社は、ＯＳ、アプリケーション又はビッグデータのデータベース等を自ら開発してもよいし、また、第三者に開発させてもよい。
【０１８４】
なお、上述したクラウドサービスの類型に依らずに、図１に示す機器１１０１（例えばスマートフォン、ＰＣ等）単体で対話システム１０を構成してもよいし、例えば、知識ベース２０６を機器１１０１の外部のネットワーク上に配置して知識ベース２０６及び機器１１０１とで対話システム１０を構成してもよい。
【０１８５】
また、上記実施の形態で示した各構成要素及び機能を任意に組み合わせることで実現される形態も本発明の範囲に含まれる。
【産業上の利用可能性】
【０１８６】
本発明は、例えば問診等といった対話により情報を提供する対話システムとして利用可能である。
【符号の説明】
【０１８７】
１０  対話システム
２００  決定部
２０１  入力処理部
２０２  分離部
２０３  行動決定部
２０４  合成部
２０５  提供部
２０６  知識ベース
２０７  知識処理部
２０８  出力処理部
１０１０  ユーザ
１１００  グループ
１１０１  機器
１１０２  ホームゲートウェイ
１１１０  データセンタ運営会社
１１１１  クラウドサーバ
１１２０  サービスプロバイダ
１１２１  サーバ
１２０１  アプリケーションプログラム
１２０２  オペレーティングシステム（ＯＳ）
１２０３  クラウドサーバ
２００１  エージェント
２００２  フロントエンド
２００３、２００６  観測
２００４、２００７  行動
２００５  バックエンド
【図１Ａ】
2018010610.tif 000003
【図１Ｂ】
2018010610.tif 000004
【図２】
2018010610.tif 000005
【図３】
2018010610.tif 000006
【図４Ａ】
2018010610.tif 000007
【図４Ｂ】
2018010610.tif 000008
【図５】
2018010610.tif 000009
【図６Ａ】
2018010610.tif 000010
【図６Ｂ】
2018010610.tif 000011
【図６Ｃ】
2018010610.tif 000012
【図６Ｄ】
2018010610.tif 000013
【図７】
2018010610.tif 000014
【図８】
2018010610.tif 000015
【図９】
2018010610.tif 000016
【図１０】
2018010610.tif 000017
【図１１】
2018010610.tif 000018