| 【発明の名称】 |
会話制御装置 |
| 【発明者】 |
【氏名】黄 声揚
【氏名】勝倉 裕
|
| 【要約】 |
【課題】ユーザの発話内容が本来の目的とするところと異なっていても、決められた順番で、決められた回答を返す。
【解決手段】ユーザ発話に応じて回答文を出力する会話制御装置であって、回答文と、当該回答文の次の順番で出力することが予定される回答文である次候補回答文を指定する次プラン指定情報とをそれぞれが有する複数のプランを記憶する会話データベースと、第1のユーザ発話に応じて、会話データベースに記憶されたいずれかのプランを選択し、そのプランが有する回答文を出力し、その後、第2のユーザ発話に応じて、当該プランが有する次プラン指定情報に基づいて、次候補回答文を出力するプラン会話処理部とを有し、複数のプランの少なくとも一部は、ユーザ発話の内容がいかなるものであっても、予め定めたアンケートにおける各質問を予め定めた順番で出力させるように、回答文と次候補回答文とを有している。 |
【特許請求の範囲】
【請求項1】 ユーザ発話に応じて回答文を出力する会話制御装置において、 回答文と、当該回答文の次の順番で出力することが予定される回答文である次候補回答文を指定する次候補指定情報とをそれぞれが有する複数のプランを記憶するプラン記憶手段と、 第1のユーザ発話に応じて、前記プラン記憶手段に記憶されたいずれかのプランを選択し、そのプランが有する回答文を出力し、その後、第2のユーザ発話に応じて、当該プランが有する次候補指定情報に基づいて、次候補回答文を出力するプラン会話手段と を有し、 前記複数のプランの少なくとも一部は、ユーザ発話の内容がいかなるものであっても、予め定めた回答文を予め定めた順番で出力させるように、回答文と次候補回答文とを有している ことを特徴とする会話制御装置。 【請求項2】 前記複数のプランの一部は、順番に出力される第1から第Nまでの回答文を格納したN個のプランであって、このN個のプランのうちの第M番目のプランは、第M+1番目の回答文を指定する次候補指定情報を有していることを特徴とする、請求項1に記載の会話制御装置(但し、M、Nは整数、且つ1≦M<N)。 【請求項3】 前記複数のプランの少なくとも一部は、会話制御装置の出力した質問に応答するユーザ発話の内容が予め予定した回答内容以外である場合には、前記質問を繰り返して出力するためのプランである ことを特徴とする請求項1に記載の会話制御装置。
|
【発明の詳細な説明】【技術分野】 【0001】 本発明は、ユーザからの発話に応じて回答又は返答を出力する会話制御装置に関する。 【背景技術】 【0002】 現在多くの会話制御装置が提案され、実用化が試みられている。この様な会話制御装置では、一般に会話制御装置側が質問するだけであったり、ユーザからの質問を受けるだけという、会話内容に柔軟性がないものであった。 【発明の開示】 【発明が解決しようとする課題】 【0003】 従来の会話制御装置において、アンケートの取得を行うことを試みた場合、アンケート以外に関する発話をユーザが発した場合には、その発話内容に対して適切な対応をすることが出来ず、またアンケートの取得という目的を貫徹することも難しかった。その理由としては、ユーザがアンケート取得に関係するものでない内容の発話をした場合、会話制御装置は「もう一度言ってください」というような対応のみを繰り返してしまうため、アンケートの取得を達することが出来ずにユーザとの対話が終了してしまうという問題があった。 【0004】 本発明の目的は、ユーザの発話内容が本来の目的とするところと異なっていても、決められた順番で、決められた回答を返すことが可能な会話制御装置を提供することにある。 【課題を解決するための手段】 【0005】 上記課題を解決するための手段として、本発明は以下の特徴を有する。 【0006】 本発明は、ユーザ発話に応じて回答文を出力する会話制御装置として提案される。 この会話制御装置は、回答文と、当該回答文の次の順番で出力することが予定される回答文である次候補回答文を指定する次候補指定情報(例えば、次プラン指定情報)とをそれぞれが有する複数のプランを記憶するプラン記憶手段(例えば、記憶装置又は会話データベース)と、第1のユーザ発話に応じて、プラン記憶手段に記憶されたいずれかのプランを選択し、そのプランが有する回答文を出力し、その後、第2のユーザ発話に応じて、当該プランが有する次候補指定情報に基づいて、次候補回答文を出力するプラン会話手段(例えば、CPU又はプラン会話処理部)とを有し、複数のプランの少なくとも一部は、ユーザ発話の内容がいかなるものであっても、予め定めた回答文(例えば、アンケートにおける各質問)を予め定めた順番で出力させるように、回答文と次候補回答文とを有していることを特徴としている。 【0007】 かかる会話制御装置によれば、決められた順番で、決められた回答文(例えば、アンケートの質問項目)を出力することができる。 【0008】 上記会話制御装置はさらに以下の特徴を有していても良い。すなわち、複数のプランの一部は、順番に出力される第1から第Nまでの回答文を格納したN個のプランであって、このN個のプランのうちの第M番目のプランは、第M+1番目の回答文を指定する次候補指定情報を有していることを特徴としても、本会話制御装置は成立する。 【0009】 かかる会話制御装置によれば、ユーザ発話の内容如何に関わらず、第1から第Nまでの回答文を第1から第Nまで順番に出力させることが可能となる。 【0010】 また、上記会話制御装置はさらに以下の特徴を有していても良い。すなわち、複数のプランの少なくとも一部は、会話制御装置の出力した質問に応答するユーザ発話の内容が予め予定した回答内容以外である場合には、質問を繰り返して出力するためのプランであることを特徴とすることを特徴としても、本会話制御装置は成立する。 【0011】 かかる会話制御装置によれば、ユーザの発話内容が本来の目的とするところと異なっていても、決められた順番で、決められた項目についての回答を取得することが可能な会話制御装置を提供できる。 【発明の効果】 【0012】 本発明によれば、ユーザの発話内容が本来の目的とするところと異なっていても、決められた順番で、決められた回答を返すことが可能となる。 【発明を実施するための最良の形態】 【0013】 以下に図面を参照しながら本発明の第1の実施の形態を説明する。 本発明の第1の実施の形態は、ユーザ発話に対して回答を出力し、ユーザとの会話を成立させる会話制御装置として提案される。 【0014】 [A.第1の実施の形態] [1.会話制御装置の構成例] [1.1.全体構成] 図1は、本実施の形態に係る会話制御装置1の構成例を示す機能ブロック図である。 【0015】 会話制御装置1は、その筐体内部に、たとえばコンピュータ、ワークステーションなどの情報処理装置若しくは情報処理装置に相当するハードウエアを搭載している。会話制御装置1が有する情報処理装置は、演算処理装置(CPU)、主メモリ(RAM)、読出し専用メモリ(ROM)、入出力装置(I/O)、ハードディスク装置等の外部記憶装置を具備している装置で構成されている。前記ROM、もしくは外部記憶装置などに情報処理装置を会話制御装置1として機能させるためのプログラム、もしくは会話制御方法をコンピュータに実行させるためのプログラムが記憶されており、該プログラムを主メモリ上に載せ、CPUがこれを実行することにより会話制御装置1又は会話処理方法が実現される。また、上記プログラムは必ずしも当該装置内の記憶装置に記憶されていなくともよく、磁気ディスク、光ディスク、光磁気ディスク、CD(Compact Disc)、DVD(Digital Video Disc)などのコンピュータ読み取り可能なプログラム記録媒体や、外部の装置(例えば、ASP(アプリケーション・サービス・プロバイダ)のサーバなど)から提供され、これを主メモリに乗せる構成であっても良い。 【0016】 図1に示すように、会話制御装置1は、入力部100と、音声認識部200と、会話制御部300と、文解析部400と、会話データベース500と、出力部600と、音声認識辞書記憶部700とを備えている。 【0017】 [1.1.1.入力部] 入力部100は、利用者から入力された入力情報(ユーザ発話)を取得するものである。入力部100は、取得した発話内容に対応する音声を音声信号として音声認識部200に出力する。なお、入力部100は必ずしも、音声を扱うものに限られる必要はなく、キーボードや、タッチパネルなどの文字入力を扱うものであってもかまわない。この場合には後述する音声認識部200をもうける必要はない。 【0018】 [1.1.2.音声認識部] 音声認識部200は、入力部100で取得した発話内容に基づいて、発話内容に対応する文字列を特定するものである。具体的には、入力部100から音声信号が入力された音声認識部200は、入力された音声信号に基づいて、この音声信号を、音声認識辞書記憶部700に格納されている辞書および会話データベース500と照合して、音声信号から推測される音声認識結果を出力する。なお、図1に示す構成例では、音声認識部200は、会話制御部300に会話データベース500の記憶内容の取得を要求し、会話制御部300が要求に応じて取得した会話データベース500の記憶内容を受け取るようになっているが、音声認識部200が直接会話データベース500の記憶内容を取得して音声信号との比較を行う構成であってもかまわない。 【0019】 [1.1.2.1.音声認識部の構成例] 図2に、音声認識部200の構成例を示す機能ブロック図を示す。音声認識部200は、特徴抽出部200Aと、バッファメモリ(BM)200Bと、単語照合部200Cと、バッファメモリ(BM)200Dと、候補決定部200Eと、単語仮説絞込部200Fを有している。単語照合部200C及び単語仮説絞込部200Fは音声認識辞書記憶部700に接続されており、候補決定部200Eは会話データベース500に接続されている。 【0020】 単語照合部200Cに接続された音声認識辞書記憶部700は、音素隠れマルコフモデル(以下、隠れマルコフモデルをHMMという。)を記憶している。音素HMMは、各状態を含んで表され、各状態はそれぞれ以下の情報を有する。(a)状態番号、(b)受理可能なコンテキストクラス、(c)先行状態、及び後続状態のリスト、(d)出力確率密度分布のパラメータ、及び(e)自己遷移確率及び後続状態への遷移確率から構成されている。なお、本実施形態において用いる音素HMMは、各分布がどの話者に由来するかを特定する必要があるため、所定の話者混合HMMを変換して生成する。ここで、出力確率密度関数は34次元の対角共分散行列をもつ混合ガウス分布である。また、単語照合部200Cに接続された音声認識辞書記憶部700は単語辞書を記憶している。単語辞書は、音素HMMの各単語毎にシンボルで表した読みを示すシンボル列を格納する。 【0021】 話者の発声音声はマイクロホンなどに入力されて音声信号に変換された後、特徴抽出部200Aに入力される。特徴抽出部200Aは、入力された音声信号をA/D変換した後、特徴パラメータを抽出し、これを出力する。特徴パラメータを抽出し、これを出力する方法としては様々なものが考えられるが、例えば一例としては、LPC分析を実行し、対数パワー、16次ケプストラム係数、Δ対数パワー及び16次Δケプストラム係数を含む34次元の特徴パラメータを抽出する方法などが挙げられる。抽出された特徴パラメータの時系列はバッファメモリ(BM)200Bを介して単語照合部200Cに入力される。 【0022】 単語照合部200Cは、ワン−パス・ビタビ復号化法を用いて、バッファメモリ200Bを介して入力される特徴パラメータのデータに基づいて、音声認識辞書記憶部700に記憶された音素HMMと単語辞書とを用いて単語仮説を検出し、尤度を計算して出力する。ここで、単語照合部200Cは、各時刻の各HMMの状態毎に、単語内の尤度と発声開始からの尤度を計算する。尤度は、尤度の計算対象となる単語の識別番号、その単語の発声開始時刻、その単語に先行して発声されている先行単語の違い毎に個別にもつ。また、計算処理量の削減のために、音素HMM及び単語辞書とに基づいて計算される総尤度のうちの低い尤度のグリッド仮説を削減するようにしてもよい。単語照合部200Cは、検出した単語仮説とその尤度の情報を発声開始時刻からの時間情報(具体的には、例えばフレーム番号)とともにバッファメモリ200Dを介して候補決定部200E及び単語仮説絞込部200Fに出力する。 【0023】 候補決定部200Eは、会話制御部300を参照して、検出した単語仮説と所定の談話空間内の話題特定情報とを比較し、検出した単語仮説の内、所定の談話空間内の話題特定情報と一致するものがあるか否かを判定し、一致するものがある場合は、その一致する単語仮説を認識結果として出力し、一方一致するものがない場合は、単語仮説絞込部200Fに単語仮説の絞込を行うよう要求する。 【0024】 候補決定部200Eの動作例を説明する。今、単語照合部200Cが複数の単語仮説「カンタク」「カタク」「カントク」およびその尤度(認識率)を出力し、所定の談話空間は「映画」に関するものでありその話題特定情報には「カントク(監督)」は含まれているが、「カンタク(干拓)」及び「カタク(仮託)」は含まれていないとする。また「カンタク」「カタク」「カントク」の尤度(認識率)は「カンタク」が最も高く「カントク」は最も低く、「カタク」は両者の中間であったとする。 【0025】 上記の状況において、候補決定部200Eは、検出した単語仮説と所定の談話空間内の話題特定情報とを比較して、単語仮説「カントク」が、所定の談話空間内の話題特定情報と一致するものであると判定し、単語仮説「カントク」を認識結果として出力し、会話制御部300に渡す。このように処理することにより、現在扱われている話題「映画」に関連した「カントク(監督)」が、より上位の尤度(認識率)を有する単語仮説「カンタク」「カタク」に優先されて選択され、その結果会話の文脈に即した音声認識結果を出力することが可能となる。 【0026】 一方、一致するものがない場合は、候補決定部200Eからの単語仮説の絞込を行う要求に応じて単語仮説絞込部200Fが認識結果を出力するよう動作する。単語仮説絞込部200Fは、単語照合部200Cからバッファメモリ200Dを介して出力される複数個の単語仮説に基づいて、音声認識辞書記憶部700に記憶された統計的言語モデルを参照して、終了時刻が等しく開始時刻が異なる同一の単語の単語仮説に対して、当該単語の先頭音素環境毎に、発声開始時刻から当該単語の終了時刻に至る計算された総尤度のうちの最も高い尤度を有する1つの単語仮説で代表させるように単語仮説の絞り込みを行った後、絞り込み後のすべての単語仮説の単語列のうち、最大の総尤度を有する仮説の単語列を認識結果として出力する。本実施形態においては、好ましくは、処理すべき当該単語の先頭音素環境とは、当該単語より先行する単語仮説の最終音素と、当該単語の単語仮説の最初の2つの音素とを含む3つの音素並びをいう。 【0027】 単語仮説絞込部200Fによる単語絞込処理の例を図3を参照しながら説明する。図3は、単語仮説絞込部200Fの処理の一例を示すタイミングチャートである。 【0028】 例えば(i−1)番目の単語Wi-1の次に、音素列a1,a2,…,anからなるi番目の単語Wiがくるときに、単語Wi-1の単語仮説として6つの仮説Wa,Wb,Wc,Wd,We,Wfが存在しているとする。ここで、前者3つの単語仮説Wa,Wb,Wcの最終音素は/x/であるとし、後者3つの単語仮説Wd,We,Wfの最終音素は/y/であるとする。終了時刻teにおいて単語仮説Wa,Wb,Wcを前提とする3つの仮説と、単語仮説Wd,We,Wfを前提とする1の仮説が残っているものとすると、先頭音素環境が等しい前者3つ仮説のうち、総尤度が最も高い仮説一つを残し、その他を削除する。 【0029】 なお、単語仮説Wd,We,Wfを前提とする仮説は先頭音素環境が他の3つの仮説と違うため、すなわち、先行する単語仮説の最終音素がxではなくyであるため、この単語仮説Wd,We,Wfを前提とする仮説は削除しない。すなわち、先行する単語仮説の最終音素毎に1つのみ仮説を残す。 【0030】 以上の実施形態においては、当該単語の先頭音素環境とは、当該単語より先行する単語仮説の最終音素と、当該単語の単語仮説の最初の2つの音素とを含む3つの音素並びとして定義されているが、本発明はこれに限らず、先行する単語仮説の最終音素と、最終音素と連続する先行する単語仮説の少なくとも1つの音素とを含む先行単語仮説の音素列と、当該単語の単語仮説の最初の音素を含む音素列とを含む音素並びとしてもよい。 以上の実施の形態において、特徴抽出部200Aと、単語照合部200Cと、候補決定部200Eと、単語仮説絞込部200Fは、例えば、マイクロコンピュータなどのコンピュータで構成され、バッファメモリ200B,200Dと、音声認識辞書記憶部700とは、例えばハードデイスクメモリなどの記憶装置で構成される。 【0031】 以上実施形態においては、単語照合部200C、単語仮説絞込部200Fとを用いて音声認識を行っているが、本発明はこれに限らず、例えば、音素HMMを参照する音素照合部と、例えばOne Pass DPアルゴリズムを用いて統計的言語モデルを参照して単語の音声認識を行う音声認識部とで構成してもよい。 また、本実施の形態では、音声認識部200は会話制御装置1の一部分として説明するが、音声認識部200、音声認識辞書記憶部700、及び会話データベース500より構成される、独立した音声認識装置とすることも可能である。 【0032】 [1.1.2.2.音声認識部の動作例] つぎに図4を参照しながら音声認識部200の動作について説明する。図4は、音声認識部200の動作例を示すフローチャートである。入力部100より音声信号を受け取ると、音声認識部200は入力された音声の特徴分析を行い、特徴パラメータを生成する(ステップS401)。次に、この特徴パラメータと音声認識辞書記憶部700に記憶された音素HMM及び言語モデルとを比較して、所定個数の単語仮説及びその尤度を取得する(ステップS402)。次に、音声認識部200は、取得した所定個数の単語仮説と検出した単語仮説と所定の談話空間内の話題特定情報とを比較し、検出した単語仮説の内、所定の談話空間内の話題特定情報と一致するものがあるか否かを判定する(ステップS403、S404)。一致するものがある場合は、音声認識部200はその一致する単語仮説を認識結果として出力する(ステップS405)。一方、一致するものがない場合は、音声認識部200は取得した単語仮説の尤度に従って、最大尤度を有する単語仮説を認識結果として出力する(ステップS406)。 【0033】 [1.1.3.音声認識辞書記憶部] 再び、図1に戻って、会話制御装置1の構成例の説明を続ける。 音声認識辞書記憶部700は、標準的な音声信号に対応する文字列を格納するものである。この照合をした音声認識部200は、その音声信号に対応する単語仮説に対応する文字列を特定し、その特定した文字列を文字列信号として会話制御部300に出力する。 【0034】 [1.1.4.文解析部] 次に、図5を参照しながら文解析部400の構成例について説明する。図5は、会話制御装置1の部分拡大ブロック図であって、会話制御部300及び文解析部400の具体的構成例を示すブロック図である。なお、図5においては、会話制御部300、文解析部400、および会話データベース500のみ図示しており、その他の構成要素は表示を省略している。 【0035】 文解析部400は、入力部100又は音声認識部200で特定された文字列を解析するものである。この文解析部400は、本実施の形態では、図5に示すように、文字列特定部410と、形態素抽出部420と、形態素データベース430と、入力種類判定部440と、発話種類データベース450とを有している。文字列特定部410は、入力部100及び音声認識部200で特定された一連の文字列を一文節毎に区切るものである。この一文節とは、文法の意味を崩さない程度に文字列をできるだけ細かく区切った一区切り文を意味する。具体的に、文字列特定部410は、一連の文字列の中に、ある一定以上の時間間隔があるときは、その部分で文字列を区切る。文字列特定部410は、その区切った各文字列を形態素抽出部420及び入力種類判定部440に出力する。尚、以下で説明する「文字列」は、一文節毎の文字列を意味するものとする。 【0036】 [1.1.4.1.形態素抽出部] 形態素抽出部420は、文字列特定部410で区切られた一文節の文字列に基づいて、その一文節の文字列の中から、文字列の最小単位を構成する各形態素を第一形態素情報として抽出するものである。ここで、形態素とは、本実施の形態では、文字列に現された語構成の最小単位を意味するものとする。この語構成の最小単位としては、例えば、名詞、形容詞、動詞などの品詞が挙げられる。 【0037】 各形態素は、図6に示すように、本実施の形態ではm1、m2、m3…、と表現することができる。図6は、文字列とこの文字列から抽出される形態素との関係を示す図である。図6に示すように、文字列特定部410から文字列が入力された形態素抽出部420は、入力された文字列と、形態素データベース430に予め格納されている形態素群(この形態素群は、それぞれの品詞分類に属する各形態素についてその形態素の見出し語・読み・品詞・活用形などを記述した形態素辞書として用意されている)とを照合する。その照合をした形態素抽出部420は、その文字列の中から、予め記憶された形態素群のいずれかと一致する各形態素(m1、m2、…)を抽出する。この抽出された各形態素を除いた要素(n1、n2、n3…)は、例えば助動詞等が挙げられる。 【0038】 この形態素抽出部420は、抽出した各形態素を第一形態素情報として話題特定情報検索蔀320に出力する。なお、第一形態素情報は構造化されている必要はない。ここで「構造化」とは、文字列の中に含まれる形態素を品詞等に基づいて分類し配列することをいい、たとえば発話文である文字列を、「主語+目的語+述語」などの様に、所定の順番で形態素を配列してなるデータに変換することを言う。もちろん、構造化した第一形態素情報を用いたとしても、それが本実施の形態を実現をさまたげることはない。 【0039】 [1.1.4.2.入力種類判定部] 入力種類判定部440は、文字列特定部410で特定された文字列に基づいて、発話内容の種類(発話種類)を判定するものである。この発話種類は、発話内容の種類を特定する情報であって、本実施の形態では、例えば図7に示す「発話文のタイプ」を意味する。図7は、「発話文のタイプ」と、その発話文のタイプを表す二文字のアルファベット、及びその発話文のタイプに該当する発話文の例を示す図である。 【0040】 ここで、「発話文のタイプ」は、本実施の形態では、図7に示すように、陳述文(D ; Declaration)、時間文(T ; Time)、場所文(L ; Location)、反発文(N ; Negation)などから構成される。この各タイプから構成される文は、肯定文又は質問文で構成される。「陳述文」とは、利用者の意見又は考えを示す文を意味するものである。この陳述文は本実施の形態では、図7に示すように、例えば"私は佐藤が好きです"などの文が挙げられる。「場所文」とは、場所的な概念を伴う文を意味するものである。「時間文」とは、時間的な概念を伴う文を意味するものである。「反発文」とは、陳述文を否定するときの文を意味する。「発話文のタイプ」についての例文は図7に示す通りである。 【0041】 入力種類判定部440が「発話文のタイプ」を判定するには、入力種類判定部440は、本実施の形態では、図8に示すように、陳述文であることを判定するための定義表現辞書、反発文であることを判定するための反発表現辞書等を用いる。具体的に、文字列特定部410から文字列が入力された入力種類判定部440は、入力された文字列に基づいて、その文字列と発話種類データベース450に格納されている各辞書とを照合する。その照合をした入力種類判定部440は、その文字列の中から、各辞書に関係する要素を抽出する。 【0042】 この入力種類判定部440は、抽出した要素に基づいて、「発話文のタイプ」を判定する。例えば、入力種類判定部440は、ある事象について陳述している要素が文字列の中に含まれる場合には、その要素が含まれている文字列を陳述文として判定する。入力種類判定部440は、判定した「発話文のタイプ」を回答取得部380に出力する。 【0043】 [1.1.5.会話データベース] 次に、会話データベース500が記憶するデータのデータ構成例について図9を参照しながら説明する。図9は、会話データベース500が記憶するデータの構成例を示す概念図である。 【0044】 会話データベース500は、図9に示すように、話題を特定するための話題特定情報810を予め複数記憶している。又、それぞれの話題特定情報810は、他の話題特定情報810と関連づけられていてもよく、例えば、図9に示す例では、話題特定情報C(810)が特定されると、この話題特定情報C(810)に関連づけられている他の話題特定情報A(810)、話題特定情報B(810),話題特定情報D(810)が定まるように記憶されている。 【0045】 具体的には、話題特定情報810は、本実施の形態では、利用者から入力されると予想される入力内容、又は利用者への回答文に関連性のある「キーワード」を意味する。 【0046】 話題特定情報810には、一又は複数の話題タイトル820が対応付けられて記憶されている。話題タイトル820は、一つの文字、複数の文字列又はこれらの組み合わせからなる形態素により構成されている。各話題タイトル820には、利用者への回答文830が対応付けられて記憶されている。また、回答文830の種類を示す複数の回答種類は、回答文830に対応付けられている。 【0047】 次に、ある話題特定情報810と他の話題特定情報810との関連づけについて説明する。図10は、ある話題特定情報810Aと他の話題特定情報810B、810C1〜810C4、810D1〜810D3…との関連付けを示す図である。なお、以下の説明において「関連づけされて記憶される」とは、ある情報Xを読み取るとその情報Xに関連づけられている情報Yを読み取りできることをいい、例えば、情報Xのデータの中に情報Yを読み出すための情報(例えば、情報Yの格納先アドレスを示すポインタ、情報Yの格納先物理メモリアドレス、論理アドレスなど)が格納されている状態を、「情報Yが情報Xに『関連づけされて記憶され』ている」というものとする。 【0048】 図10に示す例では、話題特定情報は他の話題特定情報との間で上位概念、下位概念、同義語、対義語(本図の例では省略)が関連づけされて記憶させることができる。本図に示す例では、話題特定情報810A(=「映画」)に対する上位概念の話題特定情報として話題特定情報810B(=「娯楽」)が話題特定情報810Aに関連づけされて記憶されており、たとえば話題特定情報(「映画」)に対して上の階層に記憶される。 【0049】 また、話題特定情報810A(=「映画」)に対する下位概念の話題特定情報810C1(=「監督」)、話題特定情報810C2(=「主演」)、話題特定情報810C3(=「配給会社」)、話題特定情報810C4(=「上映時間」)、および話題特定情報810D1(=「七人の侍」)、話題特定情報810D2(=「乱」)、話題特定情報810D3(=「用心棒」)、…、が話題特定情報810Aに関連づけされて記憶されている。 【0050】 又、話題特定情報810Aには、同義語900が関連付けられている。この例では、話題特定情報810Aであるキーワード「映画」の同義語として「作品」、「内容」、「シネマ」が記憶されている様子を示している。このような同意語を定めることにより、発話にはキーワード「映画」は含まれていないが「作品」、「内容」、「シネマ」が発話文等に含まれている場合に、話題特定情報810Aが発話文等に含まれているものとして取り扱うことを可能とする。 【0051】 本実施の形態にかかる会話制御装置1は、会話データベース500の記憶内容を参照することにより、ある話題特定情報810を特定するとその話題特定情報810に関連づけられて記憶されている他の話題特定情報810及びその話題特定情報810の話題タイトル820、回答文830などを高速で検索・抽出することが可能となる。 【0052】 次に、話題タイトル820(「第二形態素情報」ともいう)のデータ構成例について、図11を参照しながら説明する。図11は、話題タイトル820のデータ構成例を示す図である。 【0053】 話題特定情報810D1、810D2、810D3、…はそれぞれ複数の異なる話題タイトル8201、8202、…、話題タイトル8203、8204、…、話題タイトル8205、8206、…を有している。本実施の形態では、図11に示すように、それぞれの話題タイトル820は、第一特定情報1001と、第二特定情報1002と、第三特定情報1003によって構成される情報である。ここで、第一特定情報1001は、本実施の形態では、話題を構成する主要な形態素を意味するものである。第一特定情報1001の例としては、例えば文を構成する主語が挙げられる。また、第二特定情報1002は、本実施の形態では、第一特定情報1001と密接な関連性を有する形態素を意味するものである。この第二特定情報1002は、例えば目的語が挙げられる。更に、第三特定情報1003は、本実施の形態では、ある対象についての動きを示す形態素、又は名詞等を修飾する形態素を意味するものである。この第三特定情報1003は、例えば動詞、副詞又は形容詞が挙げられる。なお、第一特定情報1001、第二特定情報1002、第三特定情報1003それぞれの意味は上述の内容に限定される必要はなく、別の意味(別の品詞)を第一特定情報1001、第二特定情報1002、第三特定情報1003に与えても、これらから文の内容を把握可能な限り、本実施の形態は成立する。 【0054】 例えば、主語が「七人の侍」、形容詞が「面白い」である場合には、図11に示すように、話題タイトル(第二形態素情報)8202は、第一特定情報1001である形態素「七人の侍」と、第三特定情報1003である形態素「面白い」とから構成されることになる。なお、この話題タイトル8202には第二特定情報1002に該当する形態素は含まれておらず、該当する形態素がないことを示すための記号「*」が第二特定情報1002として格納されている。 【0055】 なお、この話題タイトル8202(七人の侍;*;面白い)は、「七人の侍は面白い」の意味を有する。この話題タイトル820を構成する括弧内は、以下では左から第一特定情報1001、第二特定情報1002、第三特定情報1003の順番となっている。また、話題タイトル820のうち、第一から第三特定情報に含まれる形態素がない場合には、その部分については、「*」を示すことにする。 【0056】 なお、上記話題タイトル820を構成する特定情報は、上記のような第一から第三特定情報のように三つに限定されるものではなく、例えば更に他の特定情報(第四特定情報、およびそれ以上)を有するようにしてもよい。 【0057】 次に、回答文830について図12を参照して説明する。回答文830は、図12に示すように、本実施の形態では、利用者から発話された発話文のタイプに対応した回答をするために、陳述(D ; Declaration)、時間(T ; Time)、場所(L ; Location)、否定(N ; Negation)などのタイプ(回答種類)に分類されて、各タイプごとに用意されている。また肯定文は「A」とし、質問文は「Q」とする。 【0058】 話題特定情報810のデータ構成例について、図13を参照して説明する。図13は、ある話題特定情報810「佐藤」に対応付けされた話題タイトル820,回答文830の具体例を示す。 話題特定情報810「佐藤」には、複数の話題タイトル(820)1−1、1−2、…が対応付けされている。それぞれの話題タイトル(820)1−1,1−2,…には回答文(830)1−1,1−2、…が対応付けされて記憶されている。回答文830は、回答種類840ごとに用意されている。 【0059】 話題タイトル(820)1−1が(佐藤;*;好き){これは、「佐藤が好きです」に含まれる形態素を抽出したもの}である場合には、その話題タイトル(820)1-1に対応する回答文(830)1−1は、(DA;陳述肯定文「私も佐藤が好きです」)、(TA;時間肯定文「私は打席に立ったときの佐藤が好きです」)などが挙げられる。後述する回答取得部380は、入力種類判定部440の出力を参照しながらその話題タイトル820に対応付けられた一の回答文830を取得する。 【0060】 各回答文には、当該回答文に対応するように、ユーザ発話に対して優先的に出力される回答文(「次回答文」とよぶ)を指定する情報である次プラン指定情報840が定められている。次プラン指定情報840は、次回答文を特定できる情報であれば、どのような情報であってもよく、たとえば、会話データベース500に格納されているすべての回答文から少なくとも一つの回答文を特定できる回答文ID、などである。 【0061】 なお、本実施の形態においては、次プラン指定情報840は、回答文単位で次回答文を特定する情報(例えば、回答文ID)として説明するが、次プラン指定情報840は、話題タイトル820、話題特定情報810単位で、次回答文(この場合には、複数の回答文が次回答文として指定されるので、次回答文群とよぶ。ただし、実際に回答文として出力されるのは、この回答文群に含まれるいずれかの回答文となる)を特定する情報であってもかまわない。たとえば、話題タイトルID、話題特定情報IDを時プラン指定情報として使用しても本実施の形態は成立する。 【0062】 [1.1.6.会話制御部] ここで図5に戻り、会話制御部300の構成例を説明する。 会話制御部300は、会話制御装置1内の各構成要素(音声認識部200,文解析部400、会話データベース500,出力部600,音声認識辞書記憶部700)間のデータの受け渡しを制御するとともに、ユーザ発話に応答する回答文の決定、出力を行う機能を有する。 【0063】 会話制御部300は、本実施の形態では、図5に示すように、管理部310と、プラン会話処理部320と,談話空間会話制御処理部330と、CA会話処理部340とを有している。以下これらの構成要素について説明する。 [1.1.6.1.管理部] 管理部310は談話履歴を記憶し、且つ必要に応じて更新する機能を有する。管理部310は話題特定情報検索部350と、省略文補完部360と、話題検索部370と、回答取得部380からの要求に応じて、記憶している談話履歴の全部又は一部をこれら各部に渡す機能を有する。 【0064】 [1.1.6.2.プラン会話処理部] プラン会話処理部320は、プランを実行し、プランに従った会話をユーザとの間で成立させる機能を有する。「プラン」とは、予め定めた順番に従って予め定めた回答をユーザに提供することをいう。以下、プラン会話処理部320について説明する。 【0065】 プラン会話処理部320は、ユーザ発話に応じて、予め定めた順番に従って予め定めた回答を出力する機能を有する。 【0066】 図14は、プランを説明するための概念図である。図14に示すように、プラン空間1401には複数のプラン1、プラン2,プラン3、プラン4など様々なプラン1402があらかじめ準備されている。プラン空間1401とは、会話データベース500に格納された複数のプラン1402の集合をいう。会話制御装置1は、装置起動時若しくは会話開始時にあらかじめ開始用に定められたプランを選択し、若しくは各ユーザ発話の内容に応じて、プラン空間1401の中から適宜いずれかのプラン1402を選択し、選択したプラン1402を用いてユーザ発話に対する回答文の出力を行う。 【0067】 図15は、プラン1402の構成例を示す図である。プラン1402は、回答文1501と、これに関連づけられた次プラン指定情報1502を有している。次プラン指定情報1502は、当該プラン1402に含まれる回答文1501の次に、ユーザに出力する予定の回答文(次候補回答文と呼ぶ)を含むプラン1402を特定する情報である。この例では、プラン1は、プラン1実行時に会話制御装置1が出力する回答文A(1501)と、この回答文A(1501)に関連づけられた次プラン指定情報1502とを有している。次プラン指定情報1502は、回答文A(1501)についての次候補回答文である回答文B(1501)を有するプラン1402を特定する情報「ID:002」である。同様に、回答文B(1501)についても、次プラン指定情報1502が定められており、回答文B(1501)が出力された場合に、次候補回答文を含むプラン2(1402)が指定される。このように、プラン1402は次プラン指定情報1502により連鎖的につながり、一連の連続した内容をユーザに出力するというプラン会話を実現する。すなわち、ユーザに伝えたい内容(説明文、案内文、アンケート、など)を複数の回答文に分割し、かつ各回答文の順番を予め定めてプランとして準備して置くことにより、ユーザの発話に応じてこれら回答文を順番にユーザに提供することが可能となる。なお、次プラン指定情報1502によって指定されたプラン1402に含まれる回答文1501は、直前の回答文の出力に応答するユーザ発話があれば、必ずしも直ちに出力される必要はなく、ユーザと会話制御装置1との間で、当該プラントは別の話題についての会話を挟んだ後に、次プラン指定情報1502によって指定されたプラン1402に含まれる回答文1501が出力されることもあり得る。 【0068】 なお、図15に示す回答文1501は、図13に示す回答文830の中のいずれか一の回答文文字列に対応し、また図15に示す次プラン指定情報1502は、図13に示す次プラン指定情報840に対応している。 【0069】 なお、プラン1402のつながりは、図15に示すような一次元的配列に限られるものではない。図16は、図15とは別のつながり方を有するプラン1402の例を示す図である。図16に示す例では、プラン1(1402)は次候補回答文となる2つの回答文1501,すなわちプラン1402を指定できるよう、2つの次プラン指定情報1502を有している。ある回答文A(1501)を出力した場合の次候補回答文を有するプラン1402として、回答文B(1501)を有するプラン2(1402)、及び回答文C(1501)を有するプラン3(1402)の2つのプラン1402が定まるよう、次プラン指定情報1502が2つ設けられる。なお、回答文B、回答文Cは選択的・択一的であり、一方が出力された場合は他方は主力されず、当該プラン1(1402)は終了する。このように、プラン1402のつながりは一次元的順列の形態に限定されるものではなく、樹形図的な連結、網的な連結であってもかまわない。 【0070】 なお、各プランがいくつの次候補回答文を有するかは限定されるものではない。また、話の終了となるプラン1402については、次プラン指定情報1502が存在しないこともあり得る。 【0071】 図17に、連続型シナリオと呼ばれるタイプの、ある一連のプラン1402の具体例を示す。この一連のプラン14021〜14024は、危機管理に関する情報をユーザに知らせるための4つの回答文15011〜15014に対応している。4つの回答文15011〜15014は全部で一つのまとまりのある話(説明文章)を構成する。各プラン14021〜14024はそれぞれ「1000−01」「1000−02」「1000−03」「1000−04」というIDデータ17021〜17024を有している。なお、IDデータ中のハイフン以下の番号は、出力の順番を示す情報である。また、各プラン14021〜14024はそれぞれ次プラン指定情報15021〜15024を有している。次プラン指定情報15024の内容は、「1000−0F」というデータであるが、このハイフン以下の番号「0F」は、次に出力する予定のプランは存在せず、当該回答文が一連の話(説明文章)の終わりであることを示す情報である。 【0072】 この例では、ユーザ発話が「大地震が発生したときの危機管理を教えて」である場合に、プラン会話処理部320がこの一連のプランを実行開始する。すなわち、ユーザ発話「大地震が発生したときの危機管理を教えて」をプラン会話処理部320が受け付けると、プラン会話処理部320はプラン空間1401を検索して、ユーザ発話「大地震が発生したときの危機管理を教えて」に対応する回答文15011を有するプラン1402があるかどうかを調べる。この例では、「大地震が発生したときの危機管理を教えて」に対応するユーザ発話文字列17011が、プラン14021に対応するものとする。 【0073】 プラン会話処理部320はプラン14021を発見すると、そのプラン14021に含まれる回答文15011を取得し、この回答文15011をユーザ発話に対する回答として出力するとともに、次プラン指定情報15021により次候補回答文を特定する。 【0074】 つぎに、回答文15011の出力後に入力部100や音声認識部200などを介してユーザ発話を受け付けると、プラン会話処理部320は、プラン14022の実行を行う。すなわち、プラン会話処理部320は、次プラン指定情報15021により指定されたプラン14022の実行、すなわち2番目の回答文15012を出力するか否かを判定する。具体的には、プラン会話処理部320は当該回答文15012に対応づけられたユーザ発話文字列(用例文ともいう)17012、あるいは話題タイトル820(図17において図略)と、受け付けたユーザ発話とを比較し、これらが一致するか否かを判定する。一致する場合には、2番目の回答文15012を出力する。また、2番目の回答文15012を含むプラン14022には、次プラン指定情報15022が記述されているので、次候補回答文が特定される。 【0075】 同様に、これ以降継続して成されるユーザ発話に応じて、プラン会話処理部320はプラン14023、プラン14024に順に移行して、3番目の回答文15013、4番目の回答文15014の出力を行うことができる。なお、4番目の回答文15014は最終回答文であり、4番目の回答文15014の出力が完了すると、プラン会話処理部320はプラン実行を終了する。 【0076】 このように、プラン14021〜14024を次々と実行することにより、あらかじめ用意した会話内容を定めた順番通りにユーザに提供することが可能となる。 【0077】 [1.1.6.3.談話空間会話制御処理部] 図5に戻り、会話制御部300の構成例の説明を続ける。 談話空間会話制御処理部330は、話題特定情報検索部350と、省略文補完部360と、話題検索部370と、回答取得部380とを有している。前記管理部310は、会話制御部300の全体を制御するものである。 【0078】 「談話履歴」とは、ユーザと会話制御装置1間の会話の話題や主題を特定する情報であって、談話履歴は後述する「着目話題特定情報」「着目話題タイトル」「利用者入力文話題特定情報」「回答文話題特定情報」の少なくともいずれか一つを含む情報である。また、談話履歴に含まれる「着目話題特定情報」「着目話題タイトル」「回答文話題特定情報」は直前の会話によって定められたものに限定されず、過去の所定期間の間に着目話題特定情報」「着目話題タイトル」「回答文話題特定情報」となったもの、若しくはそれらの累積的記録であってもよい。 【0079】 以下、談話空間会話制御処理部330を構成するこれら各部について説明する。 [1.1.6.3.1.話題特定情報検索部] 話題特定情報検索部350は、形態素抽出部420で抽出された第一形態素情報と各話題特定情報とを照合し、各話題特定情報の中から、第一形態素情報を構成する形態素と一致する話題特定情報を検索するものである。具体的に、話題特定情報検索部350は、形態素抽出部420から入力された第一形態素情報が「佐藤」及び「好き」の二つの形態素で構成される場合には、入力された第一形態素情報と話題特定情報群とを照合する。 【0080】 この照合をした話題特定情報検索部320は、着目話題タイトル820focus(前回までに検索された話題タイトル、他の話題タイトルと区別するため820focusと表記する)に第一形態素情報を構成する形態素(例えば「佐藤」)が含まれているときは、その着目話題タイトル820focusを回答取得部380に出力する。一方、着目話題タイトル820focusに第一形態素情報を構成する形態素が含まれていないときは、話題特定情報検索部350は、第一形態素情報に基づいて利用者入力文話題特定情報を決定し、入力された第一形態素情報及び利用者入力文話題特定情報を省略文補完部360に出力する。なお、「利用者入力文話題特定情報」は、第一形態素情報に含まれる形態素の内、利用者が話題としている内容に該当する形態素に相当する話題特定情報、若しくは第一形態素情報に含まれる形態素の内、利用者が話題としている内容に該当する可能性がある形態素に相当する話題特定情報をいう。 【0081】 [1.1.6.3.2.省略文補完部] 省略文補完部360は、前記第一形態素情報を、前回までに検索された話題特定情報810(以下、「着目話題特定情報」と呼ぶ)及び前回の回答文に含まれる話題特定情報810(以下、「回答文話題特定情報」と呼ぶ)を利用して、補完することにより複数種類の補完された第一形態素情報を生成する。例えばユーザ発話が「好きだ」という文であった場合、省略文補完部360は、着目話題特定情報「佐藤」を、第一形態素情報「好き」に含めて、補完された第一形態素情報「佐藤、好き」を生成する。 【0082】 すなわち、第一形態素情報を「W」、着目話題特定情報や回答文話題特定情報の集合を「D」とすると、省略文補完部360は、第一形態素情報「W」に集合「D」の要素を含めて、補完された第一形態素情報を生成する。 【0083】 これにより、第一形態素情報を用いて構成される文が、省略文であって日本語として明解でない場合などにおいて、省略文補完部360は、集合「D」を用いて、その集合「D」の要素(例えば、"佐藤")を第一形態素情報「W」に含めることができる。この結果、省略文補完部360は、第一形態素情報「好き」を補完された第一形態素情報「佐藤、好き」にすることができる。なお、補完された第一形態素情報「佐藤、好き」は、「佐藤が好きだ」というユーザ発話に対応する。 【0084】 すなわち、省略文補完部360は、利用者の発話内容が省略文である場合などであっても、集合「D」を用いて省略文を補完することができる。この結果、省略文補完部360は、第一形態素情報から構成される文が省略文であっても、その文が適正な日本語となるようにすることができる。 【0085】 また、省略文補完部360が、前記集合「D」に基づいて、補完後の第一形態素情報に一致する話題タイトル820を検索する。補完後の第一形態素情報に一致する話題タイトル820を発見した場合は、省略文補完部360はこの話題タイトル820を回答取得部380に出力する。回答取得部380は、省略文補完部360で検索された適切な話題タイトル820に基づいて、利用者の発話内容に最も適した回答文830を出力することができる。 【0086】 尚、省略文補完部360は、集合「D」の要素を第一形態素情報に含めるだけに限定されるものではない。この省略文補完部360は、着目話題タイトルに基づいて、その話題タイトルを構成する第一特定情報、第二特定情報又は第三特定情報のいずれかに含まれる形態素を、抽出された第一形態素情報に含めても良い。 【0087】 [1.1.6.3.3.話題検索部] 話題検索部370は、省略文補完部360で話題タイトル810が決まらなかったとき、第一形態素情報と、利用者入力文話題特定情報に対応する各話題タイトル810とを照合し、各話題タイトル810の中から、第一形態素情報に最も適する話題タイトル810を検索するものである。 具体的に、省略文補完部360から検索命令信号が入力された話題検索部370は、入力された検索命令信号に含まれる利用者入力文話題特定情報及び第一形態素情報に基づいて、その利用者入力文話題特定情報に対応付けられた各話題タイトルの中から、その第一形態素情報に最も適した話題タイトル810を検索する。話題検索部370は、その検索した話題タイトル810を検索結果信号として回答取得部380に出力する。 【0088】 先に掲げた図13は、ある話題特定情報810(=「佐藤」)に対応付けされた話題タイトル820,回答文830の具体例を示す。図13に示すように、例えば、話題検索部370は、入力された第一形態素情報「佐藤、好き」に話題特定情報810(=「佐藤」)が含まれるので、その話題特定情報810(=「佐藤」)を特定し、次に、その話題特定情報810(=「佐藤」)に対応付けられた各話題タイトル(820)1-1,1-2,…と入力された第一形態素情報「佐藤、好き」とを照合する。 話題検索部370は、その照合結果に基づいて、各話題タイトル(820)1-1〜1-2の中から、入力された第一形態素情報「佐藤、好き」と一致する話題タイトル(820)1-1(佐藤;*;好き)を特定する。話題検索部340は、検索した話題タイトル(820)1-1(佐藤;*;好き)を検索結果信号として回答取得部380に出力する。 【0089】 [1.1.6.3.4.回答取得部] 回答取得部380は、省略文補完部360,或いは話題検索部370で検索された話題タイトル820に基づいて、その話題タイトル820に対応付けられた回答文830を取得する。また、回答取得部380は、話題検索部370で検索された話題タイトル820に基づいて、その話題タイトル820に対応付けられた各回答種類と、入力種類判定部440で判定された発話種類とを照合する。その照合をした回答取得部380は、各回答種類の中から、判定された発話種類と一致する回答種類を検索する。 【0090】 図13に示す例においては、回答取得部350は、話題検索部370で検索された話題タイトルが話題タイトル1-1(佐藤;*;好き)である場合には、その話題タイトル1-1に対応付けられている回答文1-1(DA,TAなど)の中から、入力種類判定部440で判定された「発話文のタイプ」(例えばDA)と一致する回答種類(DA)を特定する。この回答種類(DA)を特定した回答取得部380は、特定した回答種類(DA)に基づいて、その回答種類(DA)に対応付けられた回答文1-1(「私も佐藤が好きです。」)を取得する。 ここで、上記"DA"、"TA"等のうち、"A"は、肯定形式を意味する。従って、発話種類及び回答種類に"A"が含まれているときは、ある事柄について肯定することを示している。また、発話種類及び回答種類には、"DQ"、"TQ"等の種類を含めることもできる。この"DQ"、"TQ"等のうち"Q"は、ある事柄についての質問を意味する。 【0091】 回答種類が上記質問形式(Q)からなるときは、この回答種類に対応付けられる回答文は、肯定形式(A)で構成される。この肯定形式(A)で作成された回答文としては、質問事項に対して回答する文等が挙げられる。例えば、発話文が「あなたはスロットマシンを操作したことがありますか?」である場合には、この発話文についての発話種類は、質問形式(Q)となる。この質問形式(Q)に対応付けられる回答文は、例えば「私はスロットマシンを操作したことがあります」(肯定形式(A))が挙げられる。 【0092】 一方、発話種類が肯定形式(A)からなるときは、この回答種類に対応付けられる回答文は、質問形式(Q)で構成される。この質問形式(Q)で作成された回答文としては、発話内容に対して聞き返す質問文、又は特定の事柄を聞き出す質問文等が挙げられる。例えば、発話文が「私はスロットマシンで遊ぶのが趣味です」である場合には、この発話文についての発話種類は、肯定形式(A)となる。この肯定形式(A)に対応付けられる回答文は、例えば"パチンコで遊ぶのは趣味ではないのですか?"(特定の事柄を聞き出す質問文(Q))が挙げられる。 【0093】 回答取得部380は、取得した回答文830を回答文信号として管理部310に出力する。回答取得部350から回答文信号が入力された管理部310は、入力された回答文信号を出力部600に出力する。 【0094】 [1.1.6.4.CA会話処理部] CA会話処理部340は、ユーザ発話に対して、プラン会話処理部320および談話空間会話制御処理部330のいずれにおいても回答文が決定しない場合に、ユーザ発話の内容に応じて、ユーザとの会話を継続できるような回答文を出力する機能を有する。 【0095】 図1に戻り、会話制御装置1の構成例を再開する。 [1.1.7.出力部] 出力部600は、回答取得部380で取得された回答文を出力するものである。この出力部600は、例えば、スピーカ、ディスプレイなどが挙げられる。具体的に、管理部310から回答文が入力された出力部600は、入力された回答文に基づいて、音声をもってその回答文、例えば、「私も佐藤が好きです」を出力する。 以上で会話制御装置1の構成例の説明を終了する。 【0096】 [2.会話制御方法] 上記構成を有する会話制御装置1は、以下のように動作することにより会話制御方法を実行する。 【0097】 次に、本実施の形態にかかる会話制御装置1,より詳しくは会話制御部300の動作について説明する。 【0098】 図18は、会話制御部300のメイン処理の一例を示すフローチャートである。このメイン処理は、会話制御部300がユーザ発話を受け付けるごとに実行される処理であり、このメイン処理が行われることによりユーザ発話に対する回答文の出力が行われ、ユーザと会話制御装置1間の会話(対話)が成立する。 【0099】 メイン処理にはいると、会話制御部300、より詳しくはプラン会話処理部320はまずプラン会話制御処理(S1801)を実行する。プラン会話制御処理は、プランを実行する処理である。 【0100】 図19、図20はプラン会話制御処理の一例を示すフローチャートである。以下に図19、図20を参照しながら、プラン会話制御処理の例について説明する。 【0101】 プラン会話制御処理を開始すると、プラン会話処理部320はまず、基本制御状態情報チェックを行う(S1901)。基本制御状態情報は、プラン1402の実行の完了の有無が、基本制御状態情報として所定の記憶領域に格納される。 基本制御状態情報は、プランの基本制御状態を記述する役割を有する。 【0102】 図21は、シナリオと呼ばれるタイプのプランについて生じうる4つの基本制御状態を示す図である。以下、それぞれの状態について説明する。 【0103】 (1)結束 この基本制御状態は、ユーザ発話が実行中のプラン1402、より詳しくはプラン1402に対応する話題タイトル820や用例文1701に一致する場合である。この場合は、プラン会話処理部320は当該プラン1402を終了し、次プラン指定情報1502にて指定された回答文1501に対応するプラン1402に移行する。 【0104】 (2)破棄 この基本制御状態は、ユーザ発話内容がプラン1402の終了を要求していると判断される場合、またはユーザの関心が実行中のプラン以外の事項に移ったと判定される場合に、設定される基本制御状態である。基本制御状態情報が破棄を示している場合は、プラン会話処理部320は、破棄の対象となったプラン1402以外にユーザ発話に対応するプラン1402がないかどうかを検索し、存在する場合にはそのプラン1402の実行を開始し、存在しない場合には、プランの実行を終了する。 【0105】 (3)維持 この基本制御状態は、ユーザ発話が、実行中のプラン1402に対応するに対応する話題タイトル820(図13参照)や用例文1701(図17参照)に該当しない場合であって、かつユーザ発話が基本制御状態「破棄」に該当するものではないと判断される場合に、基本制御状態情報に記述される基本制御状態である。 【0106】 この基本制御状態である場合には、プラン会話処理部320は、ユーザ発話を受け付けると、まず保留・中止しているプラン1402を再開するか否かを検討し、ユーザ発話がプラン1402再開に適さない場合、例えばユーザ発話がプラン1402に対応する話題タイトル802や用例文1702に対応しない場合は、他のプラン1402の実行を開始したり、或いは後述の談話空間会話制御処理(S1902)などをおこなう。ユーザ発話がプラン1402再開に適している場合は、記憶している次プラン指定情報1502に基づいて、回答文1501の出力を行う。 【0107】 基本制御状態が「維持」である場合は、プラン会話処理部320は、当該プラン1402に対応する回答文1501以外の回答を出力できるように、他のプラン1402を検索し、あるいは後述の談話空間会話制御処理などをおこなうが、ユーザ発話が再びプラン1402に関するものとなった場合は、そのプラン1402の実行を再開する。 【0108】 (4)継続 この状態は、ユーザ発話が、実行中のプラン1402に含まれる回答文1501に対応しない場合であって、かつユーザ発話内容が基本制御状態「破棄」に該当するものではないと判断され、かつユーザ発話から解釈されるユーザの意図が明瞭でない場合に、設定される基本制御状態である。 【0109】 基本制御状態が「継続」である場合は、プラン会話処理部320は、ユーザ発話を受け付けるとまず保留・中止しているプラン1402を再開するか否かを検討し、ユーザ発話がプラン1402再開に適さない場合は、ユーザからさらなる発話を引き出すための回答文を出力できるように、後述のCA会話制御処理などをおこなう。 【0110】 図19に戻り、プラン会話制御処理の説明を続ける。 基本制御状態情報を参照したプラン会話処理部320は、基本制御状態情報が示す基本制御状態が「結束」であるか否かを判定する(S1902)。基本制御状態が「結束」であると判定した場合(S1902、Yes)は、プラン会話処理部320は、基本制御状態情報が示す実行中のプラン1402において、回答文1501が最終回答文であるかどうかを判定する(S1903)。 【0111】 最終回答文1501が出力済みであると判定した場合(S1903、Yes)、プラン会話処理部320は、すでにそのプラン1402においてユーザに回答すべき内容をすべて伝え終えているので、新たな別のプラン1402を開始するかいなかを判定するため、プラン空間内にユーザ発話に対応するプラン1402が存在するか検索を行う(S1904)。この検索の結果ユーザ発話に対応するプラン1402が発見できなかった場合(S1905、No)、ユーザに提供すべきプラン1402は存在していないので、プラン会話処理部320はそのままプラン会話制御処理終了する。 【0112】 一方、この検索の結果、ユーザ発話に対応するプラン1402を発見した場合(S1905、Yes)、プラン会話処理部320は当該プラン1402に移行する(S1906)。これは、ユーザに提供すべきプラン1402が存在しているため、当該プラン1402の実行(プラン1402に含まれる回答文1501の出力)を開始するためである。 【0113】 次に、プラン会話処理部320は当該プラン1402の回答文1501を出力する(S1908)。出力された回答文1501は、ユーザ発話に対する回答となり、プラン会話処理部320はユーザに伝えたい情報を提供することとなる。 回答文出力処理(S1908)後、プラン会話処理部320はプラン会話制御処理を終了する。 【0114】 一方、先に出力した回答文1501が最終の回答文1501であるか否かの判定(S1903)において、先に出力した回答文1501が最終の回答文1501でない場合(S1903,No)は、プラン会話処理部320は、先に出力した回答文1501に続く回答文1501、すなわち次プラン指定情報1502により特定されている回答文1501に対応するプラン1402に移行する(S1907)。 【0115】 この後、プラン会話処理部320は該当するプラン1402に含まれる回答文1501を出力し、ユーザ発話に対する回答を行う(S1908)。出力された回答文1501は、ユーザ発話に対する回答となり、プラン会話処理部320はユーザに伝えたい情報を提供することとなる。回答文出力処理(S1908)後、プラン会話処理部320はプラン会話制御処理を終了する。 【0116】 さて、S1902の判定処理において、基本制御状態情報が「結束」でない場合(S1902,No)は、プラン会話処理部320は基本制御状態情報が示す基本制御状態が「破棄」であるか否かを判定する(S1909)。基本制御状態が「破棄」であると判定した場合(S1909、Yes)は、継続すべきプラン1402が存在していないため、プラン会話処理部320は、開始すべき新たな別のプラン1402が存在するか判定すべく、プラン空間1401内にユーザ発話に対応するプラン1402が存在するか検索を行う(S1904)。この後、先に述べたS1903(Yes)における処理と同様に、S1905からS1908までの処理をプラン会話処理部320は実行する。 【0117】 一方、基本制御状態情報が示す基本制御状態が「破棄」であるか否かの判定(S1909)において、基本制御状態が「破棄」でないと判定した場合(S1909,No)は、プラン会話処理部320は、基本制御状態情報が示す基本制御状態が「維持」であるか否かの判定(S1910)をさらに行う。 【0118】 基本制御状態情報が示す基本制御状態が「維持」である場合(S1910、Yes)には、プラン会話処理部320は、保留・停止しているプラン1402についてユーザが再び関心を示したか否かを調べ、関心を示した場合には、一時保留・停止しているプラン1402を再開するように動作する。すなわち、プラン会話処理部320は、保留・停止中のプラン1402を検査(図20;S2001)し、ユーザ発話が保留・停止中の当該プラン1402が対応するか否かを判定する(S2002)。 【0119】 ユーザ発話が当該プラン1402に対応すると判定された場合(S2002、Yes)は、プラン会話処理部320はそのユーザ発話に対応するプラン1402に移行し(S2003)、その後、そのプラン1402に含まれる回答文1501を出力するように、回答文出力処理(図19;S1908)を実行する。このように動作することにより、プラン会話処理部320は、保留・中断していたプラン1402を、ユーザ発話に応じて、再開することが可能となり、あらかじめ用意していたプラン1402に含まれる内容をすべてユーザに伝達することが可能となる。 【0120】 一方、先のS2002(図20参照)において、保留・停止中のプラン1402がユーザ発話に対応しないと判定された場合(S2002、No)は、プラン会話処理部320は、開始すべき新たな別のプラン1402が存在するか判定すべく、プラン空間1401内にユーザ発話に対応するプラン1402が存在するか検索を行う(図19;S1904)。この後、先に述べたS1903(Yes)における処理と同様に、S1905からS1909までの処理をプラン会話処理部320は実行する。 【0121】 さて、S1910の判定において、基本制御状態情報が示す基本制御状態が「維持」でない場合(S1910、No)は、基本制御状態情報が示す基本制御状態が「継続」であることを意味する。この場合には、プラン会話処理部320は、回答文の出力を行うことなく、プラン会話制御処理を終了する。 【0122】 以上で、プラン会話制御処理の説明を終了する。 【0123】 図18に戻り、メイン処理の説明を続ける。 プラン会話制御処理(S1801)を終了すると、会話制御部300は談話空間会話制御処理を開始する(S1802)。ただし、プラン会話制御処理(S1801)において回答文出力を行った場合は、会話制御部300は談話空間会話制御処理(S1802)、および後に説明するCA会話制御処理(S1803)のいずれも行わず、基本制御情報更新処理(S1904)を行ってメイン処理を終了する。 【0124】 図22は、本実施の形態に係る談話空間会話制御処理の一例を示すフローチャートである。 先ず、入力部100が、利用者からの発話内容を取得するステップを行う(ステップS2201)。具体的には、入力部100は、利用者の発話内容を構成する音声を取得する。入力部100は、取得した音声を音声信号として音声認識部200に出力する。なお、入力部100は、利用者からの音声ではなく、利用者から入力された文字列(例えば、テキスト形式で入力された文字データ)を取得してもよい。この場合、入力部100はマイクではなく、キーボードやタッチパネルなどの文字入力装置となる。 【0125】 次いで、音声認識部200が、入力部100で取得した発話内容に基づいて、発話内容に対応する文字列を特定するステップを行う(ステップS2202)。具体的には、入力部100から音声信号が入力された音声認識部200は、入力された音声信号に基づいて、その音声信号に対応する単語仮説(候補)を特定する。音声認識部200は、特定した単語仮説(候補)に対応付けられた文字列を取得し、取得した文字列を文字列信号として会話制御部300、より詳しくは談話空間会話制御部330に出力する。 【0126】 そして、文字列特定部410が、音声認識部200で特定された一連の文字列を一文毎に区切るステップを行う(ステップS2203)。具体的には、管理部310から文字列信号(あるいは形態素信号)が入力された文字列特定部410は、その入力された一連の文字列の中に、ある一定以上の時間間隔があるときは、その部分で文字列を区切る。文字列特定部410は、その区切った各文字列を形態素抽出部420及び入力種類判定部440に出力する。なお、文字列特定部410は、入力された文字列がキーボードから入力された文字列である場合には、句読点又はスペース等のある部分で文字列を区切るのが好ましい。 【0127】 その後、形態素抽出部420が、文字列特定部410で特定された文字列に基づいて、文字列の最小単位を構成する各形態素を第一形態素情報として抽出するステップを行う(ステップS2204)。具体的に、文字列特定部410から文字列が入力された形態素抽出部420は、入力された文字列と、形態素データベース430に予め格納されている形態素群とを照合する。なお、その形態素群は、本実施の形態では、それぞれの品詞分類に属する各形態素について、その形態素の見出し語・読み・品詞・活用形などを記述した形態素辞書として準備されている。 この照合をした形態素抽出部420は、入力された文字列の中から、予め記憶された形態素群に含まれる各形態素と一致する各形態素(m1、m2、…)を抽出する。形態素抽出部420は、抽出した各形態素を第一形態素情報として話題特定情報検索部350に出力する。 【0128】 次いで、入力種類判定部440が、文字列特定部410で特定された一文を構成する各形態素に基づいて、「発話文のタイプ」を判定するステップを行う(ステップS2205)。具体的には、文字列特定部410から文字列が入力された入力種類判定部440は、入力された文字列に基づいて、その文字列と発話種類データベース450に格納されている各辞書とを照合し、その文字列の中から、各辞書に関係する要素を抽出する。この要素を抽出した入力種類判定部440は、抽出した要素に基づいて、その要素がどの「発話文のタイプ」に属するのかを判定する。入力種類判定部440は、判定した「発話文のタイプ」(発話種類)を回答取得部380に出力する。 【0129】 そして、話題特定情報検索部350が、形態素抽出部420で抽出された第一形態素情報と着目話題タイトル820focusとを比較するステップを行う(ステップS2206)。 第一形態素情報を構成する形態素と着目話題タイトル820focusとが一致する場合、話題特定情報検索部350は、その話題タイトル820を回答取得部380に出力する。一方、話題特定情報検索部350は、第一形態素情報を構成する形態素と話題タイトル820とが一致しなかった場合には、入力された第一形態素情報及び利用者入力文話題特定情報を検索命令信号として省略文補完部360に出力する。 【0130】 その後、省略文補完部360が、話題特定情報検索部350から入力された第一形態素情報に基づいて、着目話題特定情報及び回答文話題特定情報を、入力された第一形態素情報に含めるステップを行う(ステップS2207)。具体的には、第一形態素情報を「W」、着目話題特定情報及び回答文話題特定情報の集合を「D」とすると、省略文補完部360は、第一形態素情報「W」に話題特定情報「D」の要素を含めて、補完された第一形態素情報を生成し、この補完された第一形態素情報と集合「D」に関連づけされたすべての話題タイトル820とを照合し、補完された第一形態素情報と一致する話題タイトル820があるか検索する。補完された第一形態素情報と一致する話題タイトル820がある場合は、省略文補完部360は、その話題タイトル820を回答取得部380に出力する。一方、補完された第一形態素情報と一致する話題タイトル820を発見しなかった場合は、省略文補完部360は、第一形態素情報と利用者入力文話題特定情報とを話題検索部370に渡す。 【0131】 次いで、話題検索部370は、第一形態素情報と、利用者入力文話題特定情報とを照合し、各話題タイトル820の中から、第一形態素情報に適した話題タイトル820を検索するステップを行う(ステップS2208)。具体的には、省略文補完部360から検索命令信号が入力された話題検索部370は、入力された検索命令信号に含まれる利用者入力文話題特定情報及び第一形態素情報に基づいて、その利用者入力文話題特定情報に対応付けられた各話題タイトル820の中から、その第一形態素情報に適した話題タイトル820を検索する。話題検索部370は、その検索の結果得られた話題タイトル820を検索結果信号として回答取得部380に出力する。 【0132】 次いで、回答取得部380が、話題特定情報検索部350、省略文補完部360,あるいは話題検索部370で検索された話題タイトル820に基づいて、文解析部400により判定された利用者の発話種類と、話題タイトル820に対応付けられた各回答種類とを照合し、回答文830の選択を行う(ステップS2209)。 【0133】 具体的には、以下のようにして回答文830の選択が行われる。すなわち、話題検索部370から検索結果信号と、入力種類判定部440から「発話文のタイプ」とが入力された回答取得部380は、入力された検索結果信号に対応する「話題タイトル」と、入力された「発話文のタイプ」とに基づいて、その「話題タイトル」に対応付けられている回答種類群の中から、「発話文のタイプ」(DAなど)と一致する回答種類を特定する。 【0134】 続いて、回答取得部380は、管理部310を介して、ステップS2209において取得した回答文830を出力部600に出力する(ステップS2210)。管理部310から回答文を受け取った出力部600は、入力された回答文830を出力する。 【0135】 以上で、談話空間会話制御処理の説明を終了し、図18に戻りメイン処理の説明を再開する。 会話制御部300は談話空間会話制御処理を終了すると、CA会話制御処理を実行する(S1803)。ただし、プラン会話制御処理(S1801)および談話空間会話制御処理(S1801)において回答文出力を行った場合は、会話制御部300はCA会話制御処理(S1803)を行わず、基本制御情報更新処理(S1804)を行ってメイン処理を終了する。 【0136】 CA会話制御処理(S1803)は、ユーザ発話が、「何かを説明している」のか、「何かを確認している」のか、「非難や攻撃をしている」のか、「これら以外」なのかを判定し、ユーザ発話の内容および判定結果に応じた回答文を出力する処理である。このCA会話制御処理を行うことにより、プラン会話制御処理、および談話空間会話制御処理のいずれにおいても、ユーザ発話に適した回答文が出力できなくとも、ユーザとの会話の流れをとぎれさせることなく継続できるような、いわば「つなぎ」の回答文を出力することが可能となる。 【0137】 つぎに、会話制御部300は基本制御情報更新処理を行う(S1804)。この処理において、会話制御部300,より詳しくは管理部310は、プラン会話処理部320が回答文出力を行った場合は基本制御情報を「結束」に設定し、プラン会話処理部320が回答文出力を停止した場合は基本制御情報を「破棄」に設定し、談話空間会話制御処理部330が回答文出力を行った場合は基本制御情報を「維持」に設定し、CA会話処理部340が回答文出力を行った場合は基本制御情報を「継続」に設定する。 【0138】 この基本制御情報更新処理で設定された基本制御情報は、前述のプラン会話制御処理(S1801)において参照され、プランの継続や再開に利用される。 【0139】 以上、メイン処理をユーザ発話を受け付けるごとに実行することにより、会話制御装置1は、ユーザ発話に応じて、予め用意したプランを実行できるとともに、プランに含まれない話題についても適宜応答することができる。 【0140】 [B.第2の実施の形態] 次に、本発明の第2の実施の形態について述べる。第2の実施の形態にかかる会話制御装置1は、ユーザ発話内容がいかなる内容であっても、ユーザ発話の内容がいかなるものであっても、予め定めた回答文を予め定めた順番で出力させるように回答文を出力されるプランである、強制型シナリオと呼ぶタイプのプランを扱うことができることを特徴としている。かかる会話制御装置1は、会話データベース500に記憶されているプラン1402(複数)の少なくとも一部は、例えば、順番に出力される第1から第Mまでの回答文を格納したN個のプランであって、このN個のプランのうちの第M番目のプランは、第M+1番目の回答文を指定する次候補指定情報を有している(但し、M、Mは整数、且つ1≦M<N)。 【0141】 なお、第2の実施の形態にかかる会話制御装置1の説明は、第1の実施の形態と異なる部分についてのみ説明し、第1の実施の形態と同様の構成・動作については説明を省略する。 【0142】 図23に、強制型シナリオと呼ばれるタイプのプラン1402の具体例を示す。この一連のプラン140211〜140216は、車に関係するアンケートを構成する回答文150111〜150116に対応している。プラン140211〜140216におけるユーザ発話文字列170111〜170116は、「*」として表示されているが「*」はすべてのユーザ発話にも対応することを意味する。 【0143】 なお、ここに示した例では、図23において、プラン140210は、強制型シナリオの開始のきっかけとなるプランであって、強制型シナリオの一部とはしていない。 【0144】 各プラン140210〜140216はそれぞれ「2000−01」「2000−02」「2000−03」「2000−04」「2000−05」「2000−06」「2000−07」というIDデータ170210〜170216を有している。また、各プラン140210〜140216はそれぞれ次プラン指定情報150210〜150216を有している。また、次プラン指定情報150216の内容は、「2000−0F」というデータであるが、このハイフン以下の番号「0F」は、次に出力する予定のプランは存在せず、当該回答文がアンケートの終わりであることを示す情報である。 【0145】 さて、この例では、ユーザと会話制御装置1との会話が進行する中で、ユーザが「車が欲しい」というユーザ発話を発した(若しくは入力した)場合に、プラン会話処理部320がこの一連のプランを実行開始する。すなわち、ユーザ発話「車が欲しい」を会話制御装置1、より詳しくはプラン会話処理部320が受け付けると、プラン会話処理部320はプラン空間1401を検索して、ユーザ発話「車が欲しい」に対応する回答文1501を有するプラン1402があるかどうかを調べる。 【0146】 この例では、「車が欲しい」に対応するユーザ発話文字列170110が、プラン140210に対応するものとする。 【0147】 プラン会話処理部320はプラン140210を発見すると、そのプラン140210に含まれる回答文150110を取得し、この回答文150110をユーザ発話に対する回答「それでは簡単なアンケートにお答えください。質問は五つです。アンケートにお答えいただける方は、『アンケートに答えても良い』と入力してください」として出力するとともに、次プラン指定情報150210により次候補回答文を特定する。この例では、次プラン指定情報150210は、IDデータ「2000−02」を含んでいる。プラン会話処理部320は、IDデータ「2000−02」に対応するプラン140211の回答文を次候補回答文として記憶保持する。 【0148】 上記回答文「それでは簡単なアンケートにお答えください。質問は五つです。アンケートとにお答えいただける方は、『アンケートに答えても良い』と入力してください」に対するユーザの回答、すなわちユーザ発話が「アンケートに答えても良い」ではない場合には、プラン会話処理部320、或いは談話空間会話制御処理部330、或いはCA会話処理部340が、このユーザ発話に対応する何らかの回答文の出力を行い、アンケートの開始には至らない。 【0149】 一方、ユーザ発話「アンケートに答えても良い」がなされた場合には、プラン会話処理部320は、次候補回答文として指定されているプラン140211を選択し、このプランの実行を行う。すなわち、プラン会話処理部320は、当該プラン140211の有する回答文150111であるという回答を出力させると共に、当該プラン140211の有する次プラン指定情報150211により次候補回答文を特定する。この例では、次プラン指定情報150211は、IDデータ「2000−03」を含んでいる。プラン会話処理部320は、IDデータ「2000−03」に対応するプラン140212が有する回答文を次候補回答文とする。これで強制型シナリオであるアンケートの実施が開始することになる。 【0150】 この会話制御装置1から出力された回答文「ありがとうございます。それでは第一問。車をお買いになるとしたら新車にしますか?中古車にしますか?」に対して何らかのユーザ発話があった場合は、次候補回答文として指定されているプラン140212を選択し、このプランの実行を行う。すなわち、プラン会話処理部320は、当該プラン140212の有する回答文150112である「第2問。国産車か外車かどちらをお望みですか?」という回答を出力させると共に、当該プラン140212の有する次プラン指定情報150212により次候補回答文を特定する。この例では、次プラン指定情報150212は、「2000−04」であり、このIDを有するプラン140213が次候補回答文として選択される。 【0151】 なお、この強制型シナリオと呼ばれるタイプのプランは、ユーザ発話文字列1701の内容がすべてのユーザ発話内容を示す記述「*」となっているため、どのような内容のユーザ発話がなされても、プラン会話処理部320は選択したプランを実行する。例えば、ユーザ発話が「わからないなあ」「もうやめようよ」等のアンケートの回答ではないと思われる場合でも、次の質問である回答文の出力を継続して行うこととなる。 【0152】 これ以降、会話制御装置1、より詳しくはプラン会話処理部320は、ユーザ発話を受け付ける毎に、ユーザ発話の内容の如何を問わず、プラン140213、プラン140214、プラン140215、プラン140216の実行を順番に行う。すなわち、会話制御装置1、より詳しくはプラン会話処理部320は、ユーザ発話を受け付ける毎に、ユーザ発話の内容の如何を問わず、プラン140213、プラン140214、プラン140215、プラン140216の回答文150113〜150116である「第3問。車種は?セダンかスポーツカーか、ワゴンかワンボックスか、どのようなタイプが欲しいですか?」、「第4問。予算はいくらくらいをお考えですか?」、「第5問。お求めになるとすれば、いつ頃でしょうか?」、「質問は以上です。どうもありがとうございました。」を順番に出力する。 【0153】 なお、プラン会話処理部320は、プラン140216の有する次プラン指定情報150216より当該回答文がアンケートの終わりと認識し、プラン会話処理を終了する。 【0154】 図24は、強制型シナリオと呼ばれるタイプのプランの別の例を示す図である。 【0155】 図23に示した例においては、ユーザ発話がアンケートの回答であるか否かをとわず、アンケートの質問を進めていく会話制御方式であったが、図24に示す例では、ユーザ発話がアンケートの回答である場合にのみ、次のアンケート質問に進み、そうでない場合はアンケート質問を繰り返してアンケートの回答を取得することを試みる会話制御方式である。 【0156】 図24に示す例は、図23と同様の車に関係するアンケートを構成する回答文を有するプランであって、このアンケートのうち第一問(図23,プラン140211参照)、第二問(図23,プラン140212参照)、第三問(図23,プラン140213参照)に対応するプランを図示しており、第四問以降に対応するプランは省略している。なお、ユーザ発話文字列170124は、ユーザ発話が「新車」又は「中古車」のいずれでもない発話であることを示すデータであり、同様にユーザ発話文字列170127は、ユーザ発話が「国産車」又は「外車」のいずれでもない発話であることを示すデータである。 【0157】 さて、図24に示す例において、「アンケートに回答しても良い」というユーザ発話がなされたものとする。すると、プラン会話処理部320はプラン空間1401を検索して、プラン140221を発見する。そのプラン140221に含まれる回答文150121を取得し、この回答文150121をユーザ発話に対する回答「ありがとうございます。それでは第一問。車をお買いになるとしたら新車にしますか?中古車にしますか?」として出力するとともに、次プラン指定情報150221により次候補回答文を特定する。この例では、次プラン指定情報150221は、3つのIDデータ「2000−02」「2000−03」「2000−04」を含んでいる。プラン会話処理部320は、この3つのIDデータ「2000−02」「2000−03」「2000−04」に対応するプラン140222、プラン140223、プラン140224の回答文を次候補回答文として記憶保持する。 【0158】 ここで、会話制御装置1から出力された回答文「ありがとうございます。それでは第一問。車をお買いになるとしたら新車にしますか?中古車にしますか?」に答えるユーザ発話「新車」がなされた場合には、プラン会話処理部320は、次候補回答文として指定されている3つの140222、プラン140223、プラン140224のうち、このユーザ発話に対応するユーザ発話文字列170122を有するプラン140222を選択し、このプランの実行を行う。すなわち、プラン会話処理部320は、当該プラン140222の有する回答文150122である「第2問。国産車か外車かどちらをお望みですか?」という回答を出力させると共に、当該プラン140222の有する次プラン指定情報150222により次候補回答文を特定する。この例では、次プラン指定情報150222は、3つのIDデータ「2000−06」「2000−07」「2000−08」を含んでいる。プラン会話処理部320は、3つのIDデータ「2000−06」「2000−07」「2000−08」に対応する3つのプラン140225、140226、140227が有する回答文を次候補回答文とする。すなわち、会話制御装置1は、アンケート第一問の答え「新車」の収集を完了し、アンケート第二問の答えの取得へ進むよう、会話制御を実行している。 【0159】 一方、会話制御装置1から出力された回答文「ありがとうございます。それでは第一問。車をお買いになるとしたら新車にしますか?中古車にしますか?」に答えるユーザ発話「中古車」がなされた場合には、プラン会話処理部320は、次候補回答文として指定されている3つの140222、プラン140223、プラン140224のうち、このユーザ発話に対応するユーザ発話文字列170123を有するプラン140223を選択し、このプランの実行を行う。すなわち、プラン会話処理部320は、当該プラン140223の有する回答文150123である「第2問。国産車か外車かどちらをお望みですか?」という回答を出力させると共に、当該プラン140223の有する次プラン指定情報150223により次候補回答文を特定する。この例では、次プラン指定情報150223は、先の次プラン指定情報150222と同様に、3つのIDデータ「2000−06」「2000−07」「2000−08」を含んでいる。プラン会話処理部320は、3つのIDデータ「2000−06」「2000−07」「2000−08」に対応する3つのプラン140225、140226、140227が有する回答文を次候補回答文とする。すなわち、会話制御装置1は、アンケート第一問の答え「中古車」の収集を完了し、アンケート第二問の答え取得へ進むよう、会話制御を実行している。 【0160】 また、会話制御装置1から出力された回答文「ありがとうございます。それでは第一問。車をお買いになるとしたら新車にしますか?中古車にしますか?」に答えるユーザ発話が「新車」でも「中古車」でもない場合、例えば「わからない」とか「どちらでもよい」がなされた場合には、プラン会話処理部320は、次候補回答文として指定されている3つの140222、プラン140223、プラン140224のうち、このユーザ発話に対応するユーザ発話文字列170124を有するプラン140224を選択し、このプランの実行を行う。すなわち、プラン会話処理部320は、当該プラン140224の有する回答文150124である「とりあえず第1問の回答をお願いします。車をお買いになるとしたら、新車にしますか?中古車にしますか?」という回答を出力させると共に、当該プラン140224の有する次プラン指定情報150224により次候補回答文を特定する。この例では、次プラン指定情報150224は、3つのIDデータ「2000−03」「2000−04」「2000−05」を含んでいる。プラン会話処理部320は、3つのIDデータ「2000−03」「2000−04」「2000−05」に対応する3つのプラン140222、140223、140224が有する回答文を次候補回答文とする。すなわち、会話制御装置1は、再びユーザにアンケート第一問を繰り返し、アンケート第一問に対する答えの収集を試みる会話制御を実行する。言い換えれば、会話制御装置1、より詳しくはプラン会話処理部320は、ユーザが「新車」若しくは「中古車」のいずれかのユーザ発話するまでユーザにアンケート第一問を繰り返す。 【0161】 さて、プラン会話処理部320が先のプラン140222又は140223を実行し、回答文「第2問。国産車か外車かどちらをお望みですか?」を出力した後の処理について説明を進める。会話制御装置1から出力された回答文「第2問。国産車か外車かどちらをお望みですか?」に対して、ユーザ発話「国産車」がなされた場合には、プラン会話処理部320は、次候補回答文として指定されている3つのプラン140225、プラン140226、プラン140227のうち、このユーザ発話に対応するユーザ発話文字列170125を有するプラン140225を選択し、このプランの実行を行う。すなわち、プラン会話処理部320は、当該プラン140225の有する回答文150125である「第3問。車種は?セダンかスポーツカーか、ワゴンかワンボックスか、どのようなタイプが欲しいですか?」という回答を出力させると共に、当該プラン140225の有する次プラン指定情報150225により次候補回答文を特定する。この例では、次プラン指定情報150225は、3つのIDデータ「2000−09」「2000−10」「2000−11」を含んでいる。プラン会話処理部320は、3つのIDデータ「2000−09」「2000−10」「2000−11」に対応する3つのプランが有する回答文を次候補回答文とする。すなわち、この時点で会話制御装置1は、アンケート第二問の答え「国産車」の収集を完了し、アンケート第三問の答え取得へ進むよう、会話制御を実行している。なお、「2000−09」「2000−10」「2000−11」に対応するプランは図24においては省略されている。 【0162】 一方、会話制御装置1から出力された回答文「第2問。国産車か外車かどちらをお望みですか?」に答えるユーザ発話「外車」がなされた場合には、プラン会話処理部320は、次候補回答文として指定されている3つのプラン140225、プラン140226、プラン140227のうち、このユーザ発話に対応するユーザ発話文字列170126を有するプラン140226を選択し、このプランの実行を行う。すなわち、プラン会話処理部320は、当該プラン140226の有する回答文150126である「第3問。車種は?セダンかスポーツカーか、ワゴンかワンボックスか、どのようなタイプが欲しいですか?」という回答を出力させると共に、当該プラン140226の有する次プラン指定情報150226により次候補回答文を特定する。この例では、次プラン指定情報150225は、3つのIDデータ「2000−09」「2000−10」「2000−11」を含んでいる。プラン会話処理部320は、3つのIDデータ「2000−09」「2000−10」「2000−11」に対応する3つのプランが有する回答文を次候補回答文とする。すなわち、会話制御装置1は、アンケート第二問の答え「外車」の収集を完了し、アンケート第三問の答え収集へ進むよう、会話制御を実行している。 【0163】 また、会話制御装置1から出力された回答文「第2問。国産車か外車かどちらをお望みですか?」に答えるユーザ発話が「国産車」でも「外車」でもない場合、例えば「わからない」とか「どちらでもよい」がなされた場合には、プラン会話処理部320は、次候補回答文として指定されている3つのプラン140225、プラン140226、プラン140227のうち、このユーザ発話に対応するユーザ発話文字列170127を有するプラン140227を選択し、このプランの実行を行う。すなわち、プラン会話処理部320は、当該プラン140227の有する回答文150127である「とりあえず、第2問にご回答ください。国産車か外車かどちらをお望みですか?」という回答を出力させると共に、当該プラン140227の有する次プラン指定情報150227により次候補回答文を特定する。この例では、次プラン指定情報150227は、3つのIDデータ「2000−06」「2000−07」「2000−08」を含んでいる。プラン会話処理部320は、3つのIDデータ「2000−06」「2000−07」「2000−08」に対応する3つのプラン140225、140226、140227が有する回答文を次候補回答文とする。すなわち、会話制御装置1は、再びユーザにアンケート第二問を繰り返し、アンケート第二問に対する答えの収集を試みる会話制御を実行する。言い換えれば、会話制御装置1、より詳しくはプラン会話処理部320は、ユーザが「国産車」若しくは「外車」のいずれかのユーザ発話するまでユーザにアンケート第二問を繰り返す。 【0164】 以下、上記と同様の会話制御方式により、会話制御装置1、より詳しくはプラン会話処理部320は、アンケート第三問からアンケート第五問の答えの収集を行う。 【0165】 上記のような第2の実施の形態にかかる会話制御装置1によれば、ユーザの発話内容が本来の目的とするところと異なっていても、決められた順番で、決められた項目についての回答を取得することが可能な会話制御装置を提供できる。 【図面の簡単な説明】 【0166】 【図1】会話制御装置の構成例を示す機能ブロック図 【図2】音声認識部の構成例を示す機能ブロック図 【図3】単語仮説絞込部の処理の一例を示すタイミングチャート 【図4】音声認識部の動作例を示すフローチャート 【図5】会話制御装置の部分拡大ブロック図 【図6】文字列とこの文字列から抽出される形態素との関係を示す図 【図7】「発話文のタイプ」と、その発話文のタイプを表す二文字のアルファベット、及びその発話文のタイプに該当する発話文の例を示す図 【図8】文のタイプとそのタイプを判定するための辞書の関係を示す図 【図9】会話データベースが記憶するデータのデータ構成の一例を示す概念図 【図10】ある話題特定情報と他の話題特定情報との関連付けを示す図 【図11】話題タイトル(「第二形態素情報」ともいう)のデータ構成例を示す図 【図12】回答文のデータ構成例を説明するための図 【図13】ある話題特定情報に対応付けされた話題タイトル,回答文、次プラン指定情報の具体例を示す図 【図14】プラン空間を説明するための概念図 【図15】プランの例を示す図 【図16】別のプランの例を示す図 【図17】プラン会話処理の具体例を示す図 【図18】会話制御部のメイン処理の一例を示すフローチャート 【図19】プラン会話制御処理の一例を示すフローチャート 【図20】図19に続く、プラン会話制御処理の一例を示すフローチャート 【図21】基本制御状態を示す図 【図22】談話空間会話制御処理の一例を示すフローチャート 【図23】第2の実施の形態におけるプラン会話処理の具体例を示す図 【図24】第2の実施の形態におけるプラン会話処理の、別の具体例を示す図 【符号の説明】 【0167】 1 … 会話制御装置 100 … 入力部 200 … 音声認識部 300 … 会話制御部 320 … プラン会話処理部 330 … 談話空間会話制御処理部 340 … CA会話処理部 400 … 文解析部 500 … 会話データベース 600 … 出力部 700 … 音声認識辞書記憶部
|
| 【出願人】 |
【識別番号】598098526 【氏名又は名称】アルゼ株式会社 【識別番号】502129922 【氏名又は名称】株式会社ピートゥピーエー
|
| 【出願日】 |
平成17年10月21日(2005.10.21) |
| 【代理人】 |
【識別番号】100098589 【弁理士】 【氏名又は名称】西山 善章
【識別番号】100097559 【弁理士】 【氏名又は名称】水野 浩司
【識別番号】100121083 【弁理士】 【氏名又は名称】青木 宏義
【識別番号】100138391 【弁理士】 【氏名又は名称】天田 昌行
【識別番号】100132067 【弁理士】 【氏名又は名称】岡田 喜雅
|
| 【公開番号】 |
特開2007−114621(P2007−114621A) |
| 【公開日】 |
平成19年5月10日(2007.5.10) |
| 【出願番号】 |
特願2005−307864(P2005−307864) |
|