(57)【特許請求の範囲】
【請求項１】
対話文を記憶する対話文記憶部と、
前記対話文の対話順序のパターンを複数記憶する対話順序記憶部と、
第１出力文を出力する出力部と、
前記第１出力文に対してユーザが入力した入力文を受け付ける第１受付部と、
質問文の入力を受け付ける第２受付部と、
前記第１出力文と同一または類似する前記対話文が出力され、その次に前記入力文と同一または類似する前記対話文が入力され、更にその次に前記対話文記憶部に記憶された前記対話文のいずれかである第１対話文のそれぞれが出力される確率を表す第１確率を、前記パターンに基づいて算出する第１確率算出部と、
前記パターンに基づいて、前記第１対話文ごとに、前記第１対話文の次の次に前記質問文と同一または類似する前記対話文が出力される確率を表す第２確率を算出する第２確率算出部と、
算出された前記第１確率と前記第２確率とを重み付け加算した値が最も大きい前記第１対話文を前記第２出力文として選択する選択部と、
を備えたことを特徴とする対話装置。
【請求項２】
前記対話順序記憶部は、さらに前記パターンごとにユーザとの対話状況を記憶し、
前記第１確率算出部は、前記対話文を含む前記パターンに対して記憶された対話状況と、現在の対話状況との類似度が大きい前記対話文ほど、大きい前記第１確率を算出し、
前記第２確率算出部は、前記対話文を含む前記パターンに対して記憶された対話状況と、現在の対話状況との類似度が大きい前記対話文ほど、大きい前記第２確率を算出すること、
を特徴とする請求項１に記載の対話装置。
【請求項３】
前記パターンに基づいて、前記第１対話文ごとに、前記第１対話文の次の次に出力される前記対話文が、前記第１対話文と同一または類似の前記対話文の次の次に出力される前記対話文と同一または類似する確率を表す第３確率を算出する第３確率算出部、
をさらに備え、
前記選択部は、算出された前記第１確率と前記第３確率とを重み付け加算した値が最も大きい前記第１対話文を前記第２出力文として選択すること、
を特徴とする請求項１に記載の対話装置。
【請求項４】
対話文を記憶する対話文記憶部と、
前記対話文の対話順序のパターンを複数記憶する対話順序記憶部と、
第１出力文を出力する出力部と、
前記第１出力文に対してユーザが入力した入力文を受け付ける第１受付部と、
前記第１出力文と同一または類似する前記対話文が出力され、その次に前記入力文と同一または類似する前記対話文が入力され、更にその次に前記対話文記憶部に記憶された前記対話文のいずれかである第１対話文のそれぞれが出力される確率を表す第１確率を、前記パターンに基づいて算出する第１確率算出部と、
前記パターンに基づいて、前記第１対話文ごとに、前記第１対話文の次の次に出力される前記対話文が、前記第１対話文と同一または類似の前記対話文の次の次に出力される前記対話文と同一または類似する確率を表す第３確率を算出する第３確率算出部と、
算出された前記第１確率と前記第３確率とを重み付け加算した値が最も大きい前記第１対話文を前記第２出力文として選択する選択部と、
を備えたことを特徴とする対話装置。
【請求項５】
前記対話順序記憶部は、さらに前記パターンごとにユーザとの対話状況を記憶し、
前記第１確率算出部は、前記対話文を含む前記パターンに対して記憶された対話状況と、現在の対話状況との類似度が大きい前記対話文ほど、大きい前記第１確率を算出し、
前記第２確率算出部は、前記対話文を含む前記パターンに対して記憶された対話状況と、現在の対話状況との類似度が大きい前記対話文ほど、大きい前記第２確率を算出すること、
を特徴とする請求項４に記載の対話装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ユーザと対話する対話装置に関する。
【背景技術】
【０００２】
従来、ユーザがテキスト文入力や音声入力を用いてシステムと対話することによりシステムから情報を収集する装置、逆にシステムがユーザから情報を収集する装置が知られている。システムから情報を収集する装置では、ユーザの入力の意図をシステムが解析し、その意向に沿った情報を提示することが必要となるが、自然対話から入力の意図を解析することは困難である。
【０００３】
そこで、一般的な対話システムでは、システム側が選択肢を提示し、ユーザがその中のいずれかを選択することでシステムへ意図を伝える方法が採用されている。また、システムがユーザから情報を収集する装置も同様に選択肢を用いた方法が多く採用されている。
【０００４】
これに対して、ユーザがシステムから情報を収集するため、またはシステムがユーザから情報を収集する方法として、あらかじめ用意された自然対話文の対話履歴の対話連鎖を用いる方法が開示されている。例えば、システムが自然対話文の対話履歴を用いて応答文を作成したり、聞き取れなかったユーザからの応答を推測したりする方法が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４２４６５４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の方法では、対話の自然さを保持しつつ対話内容をコントロールすることが困難であった。
【課題を解決するための手段】
【０００７】
実施形態の対話装置は、対話文記憶部と、対話順序記憶部と、出力部と、第１受付部と、第２受付部と、第１確率算出部と、第２確率算出部と、選択部と、を備えた。対話文記憶部は、対話文を記憶する。対話順序記憶部は、対話文のパターンを複数記憶する。出力部は、第１出力文を出力する。第１受付部は、入力文の入力を受け付ける。第２受付部は、質問文の入力を受け付ける。第１確率算出部は、第１出力文と同一または類似する対話文が出力され、更にその次に対話文記憶部に記憶された対話文のいずれかである第１対話文のそれぞれが出力される確率を表す第１確率をパターンに基づいて算出する。第２確率算出部は、パターンに基づいて、第１対話文ごとに、第１対話文の次の次に質問文と同一または類似する対話文が出力される確率を表す第２確率を算出する。選択部は、第１確率と第２確率とを重み付け加算した値が最も大きい第１対話文を第２出力文として選択する。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態にかかる対話装置の構成を示すブロック図。
【図２】対話順序記憶部に記憶された対話順序のパターンの一例を示す図。
【図３】ユーザと出力部による対話順序のパターンの一例を示す図。
【図４】対話装置による出力文出力処理の手順を示すフローチャート。
【図５】第２の実施の形態にかかる対話装置の構成を示すブロック図。
【図６】対話装置による出力文出力処理の手順を示すフローチャート。
【図７】第１または第２の実施の形態にかかる対話装置のハードウェア構成を示す説明図。
【発明を実施するための形態】
【０００９】
（第１の実施形態）
図１は、第１の実施形態にかかる対話装置の構成を示すブロック図である。図１に示すように、対話装置１００は、第１受付部１０１と、第２受付部１０２と、次発話遷移確率算出部１０３と、質問誘導遷移確率算出部１１０と、選択部１１５と、認識部１１６と、検出部１１７と、出力部１１８と、類似度算出部１１９と、対話文記憶部１５０と、対話順序記憶部１６０と、操作表示部１２０とを主に備える。
【００１０】
対話文記憶部１５０は、ユーザと対話装置１００との過去の対話文、または外部から取得された対話文を文単位で記憶する。具体的には、対話文は、ユーザにより入力された入力文と対話装置１００により出力された出力文を含む。また、文単位とは、キーボード（不図示）等から一度に入力されたテキスト情報または音声認識装置（不図示）から一度に入力された音声情報であっても良く、文法上の文として句点が付された箇所を１つの文としてもよい。
【００１１】
対話順序記憶部１６０は、ユーザによる入力文と対話装置１００による出力文の一連の対話順序のパターンを複数記憶する。ここで、一連の対話順序とは、複数の対話文で構成される一連の対話の順序のことであって、一連の対話は、ユーザもしくは対話装置１００が次の対話文の入力または出力が所定時間中断されたときに終了しても良く、また、話題が切り替わった際に終了してもよい。なお、対話文が文法上の文として句点が付された箇所を一つの文とされた場合、対話順序記憶部１６０における対話順序は、ユーザ、出力部１１８と入れ替わるのではなく、対話文の順番となる。
【００１２】
図２は、対話順序記憶部１６０に記憶された対話順序のパターンの一例を示す図である。図２に示すように、対話順序記憶部１６０は、Ｎｏ．１〜９までの対話を各対話文に符号を付して記憶する。例えば、図２のＮｏ．１の対話では、最初に対話装置１００による第１出力文（Ｓ１）として、「おはよう」が出力されており、次にユーザから入力文（Ｕ１）「おはよう」が入力されている。
【００１３】
また、対話順序記憶部１６０は、パターンごとにユーザとの対話状況を記憶してもよい。対話状況は、ユーザとの対話が行われているときの対話状況を示す情報のことであり、例えば、時刻（朝、昼、晩）、天気、気温、ユーザの体調（風邪を引いている等）等、対話の内容に影響する情報のことである。
【００１４】
検出部１１７は、現在の対話状況を検出する。例えば、検出部１１７は、対話装置１００または外部から取得した時刻、気温等を対話状況として検出する。また、検出部１１７は、第１受付部１０１によりユーザが入力した入力文に対話状況を示す特定の言葉が含まれる場合、当該入力文から対話状況を検出してもよい。
【００１５】
第１受付部１０１は、ユーザがテキスト情報または音声情報により入力した入力文を受け付ける。例えば、第１受付部１０１は、操作表示部１２０からキーボード等によりテキスト情報を受け付けたり、マイク（不図示）から音声情報を受け付けたりする。
【００１６】
また、第１受付部１０１は、入力文をテキスト情報により受け付けた場合は、入力文を対話文記憶部１５０に記憶する。また、第１受付部１０１は、入力文を音声情報により受け付けた場合は、音声認識処理によりテキスト情報に変換し、対話文記憶部１５０に記憶する。
【００１７】
第１受付部１０１で得られた入力文は、対応する直前の出力文とともに記録し、出力文への回答として保存しておくことで、システム側はユーザの情報収集をすることが可能となる。また、入力文を音声情報により受け付けた場合は、音声認識処理によりテキスト情報として変換して記録してもよいし、音声情報をそのまま録音して記録して、情報収集してもよい。
【００１８】
第２受付部１０２は、ユーザに質問することをシステムに要求する質問文（以下、要求質問文という。）の入力を受け付ける。ここで、要求質問文とは、ユーザに要求する内容が質問形式にされた文であって、問診票のように質問内容がリストになっていて順次入力されるものであってもよい。
【００１９】
類似度算出部１１９は、対話文記憶部１５０または対話順序記憶部１６０に記憶された対話文と、ユーザから入力された入力文または出力部１１８により出力された出力文との類似度を算出する。また、類似度算出部１１９は、対話文記憶部１５０または対話順序記憶部１６０に記憶された対話文と、第２受付部１０２により受け付けた要求質問文との類似度を算出する。
【００２０】
例えば、類似度算出部１１９は、対話文を形態素解析し同一の単語が含まれる数や割合を用いて類似度を算出しても良いし、文章を修正する際のキー入力回数により求める編集距離を用いて類似度を算出しても良いし、単語の品詞ごとに重み付けをして類似度を算出しても良い。類似度算出部１１９は、同一の対話文の類似度を１として、全く異なる対話文の類似度が０となるように正規化を施す。類似度算出部１１９は、算出した類似度を、入力された入力文とともに対話文記憶部１５０に記憶する。
【００２１】
選択部１１５は、直前に出力部１１８により出力された出力文と、ユーザにより入力された入力文から、次に出力部１１８により出力させる出力文を選択する。例えば、選択部１１５は、第１算出部１０３により算出された次発話遷移確率と、第２算出部１１０により算出された質問誘導遷移確率とを重み付け加算し、加算した値が最も大きい対話文を第２出力文として選択する。
【００２２】
ここで、具体的なパターンの例について説明する。図３は、ユーザと出力部１１８による対話順序のパターンの一例を示す図である。図３では、最初に出力部１１８により対話文Ａ「こんにちは」がＳ１（第１出力文）として出力されている。次に、ユーザにより対話文Ｂ「こんにちは」がＵ１（入力文）として入力されている。そして、次にＳ２（第２出力文）として出力部１１８により出力される対話文Ｃ「？？？」が、対話文Ｃ「？？？」の次の次に対話文Ｆ「よく眠れた？」が発話される対話文となるように決定される。なお、対話文Ｆ「よく眠れた？」という対話文は、第２受付部１０２により受け付けた要求質問文と類似する対話文である。
【００２３】
次発話遷移確率算出部１０３は、対話順序記憶部１６０に記憶されているパターンから、次発話遷移確率を算出する。ここで、次発話遷移確率とは、過去に同様の対話がされたときに、次に発話される対話文の確率である。具体的には、直前に出力部１１８により出力された出力文（第１出力文）（Ｓ１）と同一または類似する対話文がシステムにより出力され、その次に入力文（Ｕ１）と同一または類似する対話文がユーザにより入力され、さらにその次に対話文記憶部１５０に記憶されたある対話文（第１対話文）が出力される確率のことである。
【００２４】
まず、次発話遷移確率算出部１０３は、第１出力文（Ｓ１）と同一または類似する対話文の次に入力文（Ｕ１）と同一または類似する対話文が生じるパターンの総数を求める。例えば、図２のＮｏ．６〜Ｎｏ．９の点線で示したパターンに着目すると、図３で示した対話文Ａ「こんにちは」→対話文Ｂ「こんにちは」が生じた総数は４つである。次発話遷移確率算出部１０３は、対話文Ａ「こんにちは」→対話文Ｂ「こんにちは」のパターンが生じた総数４を求める。
【００２５】
次に、次発話遷移確率算出部１０３は、対話文記憶部１５０に記憶されている対話文ごとに、対話文Ａ「こんにちは」→対話文Ｂ「こんにちは」のパターンの次に対話文（第１対話文）が出力されたパターンのパターン数を求める。
【００２６】
例えば、図３で示した対話文Ａ→対話文Ｂの第１パターンの次に対話文Ｃが生じるパターンについて図２に着目すると、図２のＮｏ．６とＮｏ．８では、対話文Ａ「こんにちは」→対話文Ｂ「こんにちは」の次に同一の対話文Ｃ「昨日は暑かったね」が生じている。そこで、対話文「昨日は暑かったね」については、対話文Ａ「こんにちは」→対話文Ｂ「こんにちは」の第１パターンの次に出力されたパターン数は２である。一方、Ｎｏ．７と、Ｎｏ．９では、対話文Ｃは、異なる対話文「この頃暑いね」と「だるくない？」が１つずつ生じているので、対話文Ａ「こんにちは」→対話文Ｂ「こんにちは」の第１パターンの次に出力されたパターン数はそれぞれ１である。
【００２７】
この場合、第１パターン数は、対話文Ｃ「昨日は暑かったね」については、第１パターンの次に対話文が出力されたパターンのパターン数２となり、対話文「この頃暑いね」と「だるくない？」については、パターン数１となる。
【００２８】
次発話遷移確率算出部１０３は、求めた総数とパターン数とを用いて次発話遷移確率ＰＮABCを以下の（１）式により算出する。
ＰＮABC＝(Ａ→Ｂ→Ｃ)が生じた数／(Ａ→Ｂ)が生じた総数・・・（１）
【００２９】
但し、（１）式は、対話順序記憶部１６０に、対話文Ａ、対話文Ｂに同一の対話文が存在する場合の確率となる。しかし、実際には、対話順序記憶部１６０に同一の対話文が存在しない可能性も高い。そこで、次発話遷移確率算出部１０３は、各対話文の類似度を考慮した場合の次発話遷移確率ＰＮＳABCを、以下の（２）式により算出する。
ＰＮＳABC＝Σｎ｛（Ａｎ→Ｂｎ→Ｃ）が生じた数×（ＡとＡｎの類似度）×（ＢとＢｎの類似度）／（Ａｎ→Ｂｎ）が生じた総数）｝・・・（２）
ここで、Ａｎは、対話文Ａに類似する対話文、Ｂｎは、対話文Ｂに類似する対話文を示す。また、Σｎは、類似する対話文それぞれについて総和を算出することを意味する。
【００３０】
さらに、次発話遷移確率算出部１０３は、対話順序記憶部１６０に対話状況が記憶されている場合、対話順序記憶部１６０に記憶されている対話状況と、検出部１１７により検出された現在の対話状況との類似度が高い対話文ほど高い確率を算出する。例えば、対話状況を考慮した次発話遷移確率ＰＮＳＴABCを、以下（２．２）式により算出する。
ＰＮＳＴABC＝Σｎ｛（Ａｎ→Ｂｎ→Ｃ）が生じた数×（ＡとＡｎの類似度）×（ＢとＢｎの類似度）×Ｔ／（Ａｎ→Ｂｎ）が生じた総数）｝・・・（２．２）
ここで、Ｔは現在の対話状況と、Ａｎ→Ｂｎ→Ｃが生じたときの対話状況の類似度であり、一致するときを１、全く異なるときを０となるよう正規化された係数である。
【００３１】
質問誘導遷移確率算出部１１０は、対話文記憶部１５０に記憶されている対話文（第１対話文）ごとに、質問誘導遷移確率を算出する。ここで、質問誘導遷移確率とは、第１対話文の次の次に質問文と同一または類似する対話文が出力される確率のことである。
【００３２】
質問誘導遷移確率算出部１１０は、対話順序記憶部１６０に記憶されているパターンのうち、要求質問文と同一または類似する対話文を含むパターンの総数を求める。
【００３３】
例えば、質問誘導遷移確率算出部１１０は、要求質問文と同一または類似する対話文Ｆを含むパターンの総数を求めることとする。この場合、図２では、Ｎｏ．３とＮｏ．６〜Ｎｏ．８において、要求質問文と同一または類似する対話文Ｆ「よく眠れた？」が生じている。そこで、第２総数算出部１１１は、要求質問文と同一または類似する対話文Ｆ「よく眠れた？」を含む第２パターンの総数４を求める。
【００３４】
質問誘導遷移確率算出部１１０は、対話文ごとに、対話文の次の次に第２パターンに含まれる要求質問文と同一または類似する対話文が出力されたパターンのパターン数を求める。例えば、質問誘導遷移確率算出部１１０は、対話文記憶部１５０に記憶された対話文（以下、対話文Ｄとする。）ごとに、対話文Ｄの２つ後に要求質問文と同一または類似する対話文Ｆが生じるパターンのパターン数を求める。
【００３５】
例えば、図２のＮｏ．３とＮｏ．８では、同一の対話文Ｄ「昨日は暑かったね」の２つ後に対話文Ｆ「よく眠れた？」が生じている。そこで、対話文Ｄ「昨日は暑かったね」については、対話文Ｄ「昨日は暑かったね」の２つ後に要求質問文と同一または類似するＦ「よく眠れた？」が生じたパターンのパターン数は２である。一方、Ｎｏ．７における、対話文Ｄ「夏バテ気味で、あなたは？」の２つ後に要求質問文と類似する対話文Ｆ「よく眠れた？」が生じたパターンのパターン数は１である。
【００３６】
この場合、質問誘導遷移確率算出部１１０は、対話文Ｄ「昨日は暑かったね」については、２つ後に要求質問文と類似する対話文Ｆ「よく眠れた？」が生じたパターンのパターン数２を求め、対話文「この頃暑いね」については、パターン数１を求める。
【００３７】
質問誘導遷移確率算出部１１０は、求めたパターン数と総数を用いて、以下の（３）式により質問誘導遷移確率ＰＡDFを算出する。
ＰＡDF＝(Ｄ→*→Ｆ)が生じた数／Ｆの総数・・・（３）
【００３８】
また、質問誘導遷移確率算出部１１０は、類似度を考慮した質問誘導遷移確率ＰＡＳDFは、以下の（４）式により算出する。
ＰＡＳDF＝Σｎ｛（Ｄｎ→*→Ｆｎ)が生じた数×（ＤとＤｎの類似度）×（ＦとＦｎの類似度）／Ｆの総数｝・・・（４）
ここで、Ｄｎは、対話文Ｄに類似する対話文、Ｆｎは、対話文Ｆに類似する対話文を示す。また、Σｎは、類似する対話文それぞれについて総和を算出することを意味する。
【００３９】
さらに、次発話遷移確率算出部１０３は、対話順序記憶部１６０に対話状況が記憶されている場合、対話順序記憶部１６０に記憶されている対話状況と、検出部１１７により検出された現在の対話状況との類似度が高い対話文ほど高い確率を算出する。
例えば、対話状況を考慮した質問誘導遷移確率ＰＡＳＴDFを、以下（４．２）式により算出する
ＰＡＳDF＝Σｎ｛（Ｄｎ→*→Ｆｎ)が生じた数×（ＤとＤｎの類似度）×（ＦとＦｎの類似度）×Ｔ／Ｆの総数｝・・・（４．２）
ここで、Ｔは現在の対話状況と、Ｄｎ→*→Ｆｎが生じたときの対話状況の類似度であり、一致するときを１、全く異なるときを０となるよう正規化された係数である。              
【００４０】
選択部１１５は、次発話遷移確率算出部１０３により算出された次発話遷移確率と、質問誘導遷移確率算出部１１０により算出された質問誘導遷移確率とを重み付け加算した値が最も大きい対話文を第２出力文として選択する。例えば、図２では、次発話遷移確率算出部１０３により算出された次発話遷移確率が最も高い対話文は、「昨日は暑かったね」であり、質問誘導遷移確率算出部１１０により算出された質問誘導遷移確率が最も高い対話文は「昨日は暑かったね」である。そこで、図２に示すパターンでは、次発話遷移確率が最も高い対話文と質問誘導遷移確率が最も高い対話文とが一致する。しかし、選択部１１５は、重み付け加算することにより、次発話遷移確率が最も高い対話文と質問誘導遷移確率が最も高い対話文とが異なる場合に特に有効である。
【００４１】
出力部１１８は、選択部１１５により選択された対話文をテキスト情報として操作表示部１２０の表示画面（不図示）に出力したり、音声合成装置（不図示）によりスピーカー（不図示）から音声出力したりする。以下、出力部１１８により出力される対話文を出力文という。
【００４２】
操作表示部１２０は、ユーザから入力文を受け付けるための、また、出力部１１８から出力文を出力するためのタッチパネル等の操作画面（不図示）を表示する。また、これは、音声情報で操作する場合には、マイク、スピーカでもよい。
【００４３】
次に、以上のように構成された対話装置１００による出力文出力処理の手順について説明する。図４は、対話装置１００による出力文出力処理の手順を示すフローチャートである。
【００４４】
第２受付部１０２は、要求質問文の入力を受け付ける（ステップＳ１）。例えば、第２受付部１０２は、ユーザへの質問内容をテキスト情報または音声情報により要求質問文として入力を受け付ける。
【００４５】
類似度算出部１１９は、第２受付部１０２により受け付けられた要求質問文と対話文記憶部１５０に記憶されている対話文の類似度を算出する（ステップＳ２）。
【００４６】
出力部１１８は、選択部１１５により選択されたシステム発話（Ｓ１）を出力する（ステップＳ３）。ここで、選択部１１５は、システム発話（Ｓ１）は１ターン目の発話であるので、これまでの一連の対話順序を考慮することなく定形文としてのあいさつ等を選択する。
【００４７】
類似度算出部１１９は、出力部１１８により出力された出力文と対話文記憶部１５０に記憶されている対話文の類似度を算出する（ステップＳ４）。類似度算出部１１９は、算出した類似度を対話順序記憶部１６０に記憶する。
【００４８】
第１受付部１０１は、入力文としてユーザによる発話（Ｕ１）の入力を受け付ける（ステップＳ５）。ここで、第１受付部１０１は、ステップＳ３において出力されたシステム発話（Ｓ１）への応答としてユーザによる発話（Ｕ１）を受け付けることとなる。
【００４９】
類似度算出部１１９は、第１受付部１０１により受け付けられた入力文と対話文記憶部１５０に記憶されている対話文の類似度を算出する（ステップＳ６）。類似度算出部１１９は、算出した類似度を対話順序記憶部１６０に記憶する。
【００５０】
次発話遷移確率算出部１０３は、次発話遷移確率を算出する（ステップＳ８）。ここで、まず、次発話遷移確率算出部１０３は、対話順序記憶部１６０の中から、システム発話（Ｓ１）として対話文Ａの次にユーザ発話（Ｕ１）として対話文Ｂが生じた総数を求める。次に、次発話遷移確率算出部１０３は、システム発話（Ｓ１）として対話文Ａとユーザ発話（Ｕ１）として対話文Ｂの次に生じた対話文のパターン数を対話順序記憶部１６０に記憶されている対話文ごとに求める。そして、次発話遷移確率算出部１０３は、求めたパターン数を、総数で割って次発話遷移確率を算出する。
【００５１】
質問誘導遷移確率算出部１１０は、質問誘導遷移確率を算出する（ステップＳ８）。ここで、まず、質問誘導遷移確率算出部１１０は、対話順序記憶部１６０の中から、要求質問文と同一または類似する対話文Ｆの総数を求める。次に、質問誘導遷移確率算出部１１０は、対話文Ｄの２つ後に要求質問文と同一または類似する対話文Ｆが生じたパターンの数を対話文ごとに求める。そして、質問誘導遷移確率算出部１１０は、求めたパターン数を、総数で割って質問誘導遷移確率を算出する。
【００５２】
選択部１１５は、入力文に対して出力する出力文（第２出力文）としてシステム発話（Ｓ２）を選択する(ステップＳ９)。ここで、選択部１１５は、次発話遷移確率算出部１０３により算出された次発話遷移確率と、質問誘導遷移確率算出部１１０により算出された質問誘導遷移確率とを重み付け加算した値が最も大きい対話文を第２出力文として選択する。出力部１１８は、選択部１１５により選択されたシステム発話（Ｓ２）を第２出力文として出力する（ステップＳ１０）。
【００５３】
このように、本実施の形態によれば、次発話遷移確率と質問誘導遷移確率とを重み付け加算した値が最も大きい対話文を第２出力文として出力するので、対話の自然な流れを保持しつつユーザから入手したい情報を取得することができる。
【００５４】
（第２の実施の形態）
第１の実施の形態では、選択部は、要求質問文から算出される質問誘導遷移確率を用いて第２出力文が選択された。これに対し、第２の実施の形態では、出力部により出力された第１出力文の次の次に出力される対話文から算出される確率を用いて第２出力文が選択される。
【００５５】
図５は、第２の実施の形態にかかる対話装置の構成を示すブロック図である。図５に示すように、第２の実施の形態にかかる対話装置２００は、第１受付部１０１と、第２受付部１０２と、第１算出部１０３と、類似発話算出部２１０と、選択部２１５と、認識部１１６と、検出部１１７と、出力部１１８と、類似度算出部１１９と、対話文記憶部１５０と、対話順序記憶部１６０と、操作表示部１２０とを主に備える。なお、類似発話算出部２１０と、選択部２１５以外の各部の機能および構成は第１の実施の形態と同様である。
【００５６】
類似発話算出部２１０は、類似発話遷移確率を算出する。ここで、類似発話遷移確率とは、対話文記憶部１５０に記憶されたある対話文（第１対話文）ごとに、第１対話文の次の次に出力する対話文が、第１対話文と同一または類似の対話文の次の次の対話文と同一または類似する類似対話文となる確率のことである。
【００５７】
類似発話算出部２１０は、対話順序記憶部１６０に記憶されているパターンのうち類似対話文を含む第３パターンの総数を求める。例えば類似発話算出部２１０は、類似対話文Ｇを含む第３パターンの総数を求める。
【００５８】
例えば、図２では、Ｎｏ．１とＮｏ．２において、類似対話文Ｇ「昨日はよく眠れた？」が生じている。そこで、第３総数算出部２１１は、類似対話文Ｇ「昨日はよく眠れた？」を含む第３パターンの総数２を求める。
【００５９】
類似発話算出部２１０は、対話文ごとに、対話文の次の次に第３パターンに含まれる類似対話文が出力されたパターンのパターン数を求める。例えば、類似発話算出部２１０は、対話文ごとに、対話文を対話文Ｅとし、対話文Ｅの２つ後に類似対話文Ｇが生じるパターンのパターン数を求める。
【００６０】
例えば、図２のＮｏ．１とＮｏ．２では、同一の対話文Ｅ「いい朝だね」の２つ後に対話文Ｇ「昨日はよく眠れた？」が生じている。そこで、対話文Ｅ「いい朝だね」については、対話文Ｅ「いい朝だね」の２つ後に類似対話文Ｇ「昨日はよく眠れた？」が生じたパターンのパターン数は２である。
【００６１】
この場合、類似発話算出部２１０は、対話文Ｅ「いい朝だね」については、２つ後に類似対話文Ｇ「昨日はよく眠れた？」が生じたパターンのパターン数２を求める。
【００６２】
類似発話遷移確率算出部２１０は、第３パターン数算出部２１２により求められたパターン数を、第３総数算出部２１１により算出された第３パターンの総数で割って類似発話遷移確率を算出する。具体的には、類似発話遷移確率算出部２１０は、以下の（５）式により類似発話遷移確率ＰＮＡGIを算出する。
ＰＮＡGI＝(Ｇ→*→Ｉ)が生じた数／Ｉの総数・・・（５）
【００６３】
また、類似発話遷移確率算出部２１０は、類似度を考慮した類似発話遷移確率ＰＮＡＳGIは、以下の（６）式により算出する。
ＰＮＡＳGI＝Σｎ｛（Ｇｎ→*→Ｉｎ)が生じた数×（ＧとＧｎの類似度）×（ＩとＩｎの類似度））・・・（６）
ここで、Ｇｎは、対話文Ｇに類似する対話文、Ｉｎは、対話文Ｉに類似する対話文を示す。また、Σｎは、類似する対話文それぞれについて総和を算出することを意味する。
【００６４】
さらに、次発話遷移確率算出部１０３は、対話順序記憶部１６０に対話状況が記憶されている場合、対話順序記憶部１６０に記憶されている対話状況と、検出部１１７により検出された現在の対話状況との類似度が高い対話文ほど高い確率を算出する。
【００６５】
選択部２１５は、次発話遷移確率算出部１０３により算出された次発話遷移確率と、類似発話遷移確率算出部２１０により算出された類似発話遷移確率とを重み付け加算した値が最も大きい対話文を第２出力文として選択する。例えば、図２では、次発話遷移確率算出部１０３により算出された次発話遷移確率が最も高い対話文は、「昨日は暑かったね」であり、類似発話遷移確率算出部２１０により算出された類似発話遷移確率が最も高い対話文は「いい朝だね」である。そこで、図２に示すパターンでは、次発話遷移確率が最も高い対話文と質問誘導遷移確率が最も高い対話文とが異なる。ここで、選択部２１５は、重み付け加算することにより、重み付け加算された値がより高い対話文を第２出力文として選択する。
【００６６】
また、選択部２１５は、次発話遷移確率または類似発話遷移確率に対話情報を含む対話文が存在する場合は、対話情報を含む対話文の重み付けを高くして重み付け加算してもよい。
【００６７】
次に、以上のように構成された対話装置２００による出力文出力処理の手順について説明する。図６は、対話装置２００による出力文出力処理の手順を示すフローチャートである。
【００６８】
ステップＳ２１からステップＳ２５までの処理については、第１の実施の形態において図４で説明したステップＳ３からステップＳ７までの処理と同様である。
【００６９】
ステップＳ２６において、類似発話遷移確率算出部２１０は、類似発話遷移確率を算出する（ステップＳ２６）。ここで、まず、類似発話遷移確率算出部２１０は、対話順序記憶部１６０の中から、類似対話文Ｇの総数を求める。次に、類似発話遷移確率算出部２１０は、対話文Ｅの２つ後に類似対話文Ｇが生じたパターンの数を対話文ごとに求める。そして、類似発話遷移確率算出部２１０は、求めたパターン数を、総数で割って類似発話遷移確率を算出する。
【００７０】
選択部２１５は、第２出力文としてシステム発話（Ｓ２）を選択する(ステップＳ２７)。ここで、選択部２１５は、次発話遷移確率算出部１０３により算出された次発話遷移確率と、類似発話遷移確率算出部２１０により算出された類似発話遷移確率とを重み付け加算した値が最も大きい対話文を第２出力文として選択する。出力部１１８は、選択部２１５により選択されたシステム発話（Ｓ２）を第２出力文として出力する（ステップＳ２８）。
【００７１】
このように、本実施の形態によれば、第１受付部が音声情報を受け付けた場合に、認識部１１６による音声認識率が低く音声を認識できなかったような場合にも自然な流れで対話を続行することができる。
【００７２】
（変形例）
また、変形例として、第１の実施の形態にかかる対話装置１００の構成と第２の実施の形態にかかる対話装置２００の構成を組み合わせた構成とすることもできる。例えば、第１の実施の形態にかかる対話装置１００が備える質問誘導遷移確率算出部１１０を第２の実施の形態にかかる対話装置２００が備える類似発話遷移確率算出部２１０に替える構成としてもよい。
【００７３】
このように、本実施の形態によれば、次発話遷移確率と類似発話遷移確率とを重み付け加算した値が最も大きい対話文を第２出力文として出力するので、対話の自然な流れを保持しつつユーザから入手したい情報を取得することができる。
【００７４】
また、このように、本実施の形態によれば、第１受付部が音声情報を受け付けた場合に、認識部１１６による音声認識率が低く音声を認識できなかったような場合にも自然な流れで対話を続行することができる。
【００７５】
以上説明したとおり、第１から第２の実施形態によれば、対話の自然な流れを保持することができる。
【００７６】
次に、第１または第２の実施の形態にかかる対話装置のハードウェア構成について図７を用いて説明する。図７は、第１または第２の実施の形態にかかる対話装置のハードウェア構成を示す説明図である。
【００７７】
第１または第２の実施の形態にかかる対話装置は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５１等の制御装置と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）５２やＲＡＭ（ＲＡＮＤＯＭ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５３等の記憶装置と、ネットワークに接続して通信を行う通信Ｉ／Ｆ５４と、各部を接続するバス６１を備えている。
【００７８】
第１または第２の実施の形態にかかる対話装置で実行される出力文出力プログラムは、ＲＯＭ５２等に予め組み込まれて提供される。
【００７９】
第１または第２の実施の形態にかかる対話装置で実行される出力文出力プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅｃｏｒｄａｂｌｅ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録して提供されるように構成してもよい。
【００８０】
さらに、第１または第２の実施の形態にかかる対話装置で実行される出力文出力プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第１または第２の実施の形態にかかる対話装置で実行される出力文出力プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【００８１】
第１または第２の実施の形態にかかる対話装置で実行される出力文出力プログラムは、コンピュータを上述した対話装置の各部（第１受付部、第２受付部、次発話遷移確率算出部、質問誘導遷移確率算出部、選択部、認識部、検出部、出力部、類似度算出部）として機能させうる。このコンピュータは、ＣＰＵ５１がコンピュータ読取可能な記憶媒体から出力文出力プログラムを主記憶装置上に読み出して実行することができる。
【００８２】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせても良い。
【００８３】
なお、本発明では、出力→入力→出力、もしくは入力→出力→入力の３つの連鎖構造にて記載しているが、３つに限定されるものではなく、３つ以上の連鎖であっても同様に対応できるものである。
【符号の説明】
【００８４】
１００、２００  対話装置
１０１  第１受付部
１０２  第２受付部
１０３  次発話遷移確率算出部
１１０  質問誘導遷移確率算出部
１１５  選択部
１１７  検出部
１１８  出力部
１１９  類似度算出部
１２０  操作表示部
１５０  対話文記憶部
１６０  対話順序記憶部
２１０  類似発話遷移確率算出部
【図１】
0005166503.tif 000002
【図２】
0005166503.tif 000003
【図３】
0005166503.tif 000004
【図４】
0005166503.tif 000005
【図５】
0005166503.tif 000006
【図６】
0005166503.tif 000007
【図７】
0005166503.tif 000008