(57)【要約】【課題】全ての内部構成が必ずしも明らかでない複数の対話システムを含む対話応答装置において、発話入力に適した対話システムから出力される応答候補を適切に選択可能とする。【解決手段】応答対話装置９２は、入力を複数個の対話システム１２０，…，１２４に分配する入力部と、入力に対して対話システム１２０，…，１２４から出力される応答候補を受け付け、入力に対する応答としての適切さを各応答候補について評価する対話システム評価部１３２と、応答候補のうち、対話システム評価部１３２により最も高く評価された応答候補を出力した対話システムを選択する対話システム選択部１３４と、対話システム選択部１３４により選択された対話システムからの応答候補を応答として出力する応答出力部９４とを含む。【選択図】図２
2016212541.tif 000002
【特許請求の範囲】
【請求項１】
入力を受け付け、複数個の対話システムに分配するための入力手段と、
前記入力に対して前記複数個の対話システムから出力される応答候補をそれぞれ受け付け、前記入力に対する応答としての適切さを評価するための評価手段と、
前記応答候補のうち、前記評価手段により最も高く評価された応答候補を出力した対話システムを選択するための選択手段と、
前記選択手段により選択された前記対話システムから出力された前記応答候補を応答として出力するための応答出力手段とを含む、対話装置。
【請求項２】
前記複数個の対話システムそれぞれにおける、各対話システム内部での対話状態の記憶の有無を記憶し、前記複数個の対話システムのうち、対話システム内部での対話状態の記憶を有する対話システムで、かつ、前記選択手段にて選択されなかった対話システムの対話状態を、前記入力を受け付ける前の対話状態に戻すための対話状態管理手段をさらに含む、請求項１に記載の対話装置。
【請求項３】
前記入力には、当該入力に関連したユーザ識別情報が付されており、
前記入力手段は、前記入力に付されている前記ユーザ識別情報を架空のユーザに対するダミーユーザ識別情報に置き換えてダミー入力を生成し、前記複数の対話システムに分配するためのユーザ識別情報切替手段を含み、
前記選択手段にて選択された対話システムに対し、前記ユーザ識別情報を付された前記入力を与えて対話処理を再実行させ、当該対話システムから出力される応答候補を受け付け、前記応答出力手段に渡すための再実行手段をさらに含む、請求項１に記載の対話装置。
【請求項４】
コンピュータが、入力を受け付け、複数個の対話システムに分配するステップと、
コンピュータが、前記入力に対して前記複数個の対話システムから出力される応答候補をそれぞれ受け付け、前記入力に対する応答としての適切さを評価するステップと、
コンピュータが、前記応答候補のうち、前記評価手段により最も高く評価された応答候補を出力した対話システムを選択するステップと、
コンピュータが、前記選択手段により選択された前記対話システムからの前記応答候補を応答として出力するステップとを含む、対話方法。
【請求項５】
コンピュータを、請求項１〜請求項３のいずれかに記載の全ての手段として機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、対話装置に関し、特に、複数の対話システムを組合せた対話装置、及びそうした対話装置を実現するためのコンピュータプログラム（以下単に「プログラム」と呼ぶ。）に関する。
【背景技術】
【０００２】
ユーザからの問い合わせに応じて、適切な回答を返す質問応答システムをはじめ、コンピュータがユーザと対話を行う対話システムが多く開発されている。特に、音声認識及び音声合成と組み合わせ、例えば電話又はネットワークを通じた音声通信を介して人との対話を行うシステムが存在している。更にこうしたシステムは、単なる質問応答だけでなく、雑談に類する対話までも処理対象とするようになっている。
【０００３】
こうした対話システムを実現するためには、音声認識及び音声合成の技術のみならず、認識された音声テキストに対する自然言語処理を行って、入力された発話の意味を理解し、適切な応答内容を準備する等、非常に高度な情報処理技術が必要である。
【０００４】
従来の対話システムは、それぞれ得意な分野が定められていることが多い。情報処理対象の分野が限定されている方が、対象分野が広く、限定されていない場合に比べて、処理も高速で、より容易に適切な応答を返すことができるためである。一方、このような対話システムを複数個組合せることにより、広い分野の対話に応じることが可能な対話システムも提案されている。入力された発話に対し、各発話入力の分野に応じた対話システムが応答することで、１つ１つの対話システムではカバーできない広い範囲の発話に対し適切に応答できる。
【０００５】
こうした複数の対話システムの組合せを実現するためには、入力された各発話に対し、どの対話システムが応答するのか決定しなければならない。その決定のための技術が下記特許文献１に開示されている。
【０００６】
図１を参照して、特許文献１に開示された音声対話システム３０は、発話音声の入力を受ける音声入力部４０と、いずれも音声入力部４０の出力を受けるように接続され、入力された発話に対して音声認識を行い、入力に対してそれぞれの話題分野における応答候補を出力するように調整された複数の単一話題分野対話装置４２，４４，…，４６と、音声入力部４０からの音声に対して音声認識を行い、発話入力に対応するテキストデータを出力する音声認識装置４８と、話題分野選択部５０に接続され、予め収集した利用者の発話から作成された発話の文字列と話題分野の対応関係を保持している話題分野選択用データベース５２と、音声認識装置４８の出力を受け、音声認識装置４８の出力するテキストに基づいて、話題分野選択用データベース５２を参照することにより発話入力の分野を選択し、その結果にしたがって単一話題分野対話装置４２，４４，…，４６のいずれが、この入力の応答に適切かを選択して出力する話題分野選択部５０と、話題分野選択部５０が選択する単一話題分野装置の出力する応答候補に基づいて音声合成を行い、音声を出力する音声出力装置５４とを含む。
【０００７】
音声対話システム３０では、音声入力部４０が外部から音声入力を受けると、その音声を単一話題分野対話装置４２，４４，…，４６及び音声認識装置４８に分配する。単一話題分野対話装置４２，４４，…，４６は各々、入力音声に対する音声認識を行い、その結果に基づいて、応答候補を生成し、出力する。このとき、単一話題分野対話装置４２，４４，…，４６はそれぞれ特定の話題分野での応答に適したものに調整されている。したがって、入力音声の属する話題分野に適した対話装置からは応答として適切なものが出力され、それ以外からは不適切なものしか出力されないと考えられる。
【０００８】
音声認識装置４８は入力音声に対する音声認識を行って、入力音声に対応するテキストデータを話題分野選択部５０に出力する。話題分野選択部５０は、話題分野選択用データベース５２を参照して、入力音声に対応するテキストデータから、発話の属する話題分野を選択し、その話題分野に適した対話システムを単一話題分野対話装置４２，４４，…，４６の中から選択し、その出力である応答候補を音声出力装置５４に出力する。音声出力装置５４は、この応答候補に基づいて音声合成を行い、音声に変換して出力する。
【０００９】
上記特許文献１では、各対話システムの出力の中から、音声認識の結果に基づいて話題分野に適したものを選択しているが、各対話システムに入力を与えるに先立って、音声認識の結果により話題分野を決定し、その分野に対応する対話システムのみに入力を与える形式でも効果は同様である。
【００１０】
要するに、先行技術では、対話応答をさせたいタスクの種類毎に、それに適した特定の対話システムを対応づけるように、複数の対話システムを準備する。入力音声に基づいてタスク種類判定をして、応答する対話システムを最初に判断するか、同様に入力音声に基づいて、最後に対話システムの出力のいずれかを選択する。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００４−２４０１５０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
上記先行技術の手法は、応答する対話システムを判断する際に、各対話システムの性能又は得意とするタスクの分野又は範囲など、各対話システムの特徴を示す知識を、モデル又はルール等の形式で事前に用意しておかなければならない。なぜならば、そうした各対話システムの特徴を示す知識があって、初めて、入力テキストに対し、どの対話システムが適切か比較又は選択可能となるためである。しかし、一般に、各対話システムの対象範囲（ドメイン、その対話システムを通してアクセス可能なデータの種類等）及び性能（対応可能なタスクの種類、適切に応答可能な口調等）は、不明であることが一般的である。なぜならば、各対話システムの制作者は必ずしも同一であるとは限らず、複数の対話システムを組み合わせた複合対話システムを構築する者が、各対話システムの詳細な性能にアクセスできるとは限らないためである。また、仮にある時点の対話システムの対象範囲又は性能が規定されていても、それが時間経過に伴い、更新・変更される場合も多い。更新・変更に応じて話題分野選択用データベース５２の内容が適切にアップデートされていなければ、話題分野選択部５０の判定結果は信頼のおけないものとなる。
【００１３】
よって、先行技術の手法にしたがい、発話のタスク判定だけを行って、その判定結果に基づいて対話システムを選択しても、それによって適切な応答候補を選択することは難しい。
【００１４】
本発明は、こうした課題に鑑み、全ての内部構成又は特徴が必ずしも明らかでない複数の対話システムが組合された対話装置において、発話入力に適した対話システムを適切に選択し、その結果、幅広い発話入力に対して応答可能とすることを目的とする。
【課題を解決するための手段】
【００１５】
本発明の第１の局面に係る対話装置は、入力を受け付け、複数個の対話システムに分配するための入力手段と、入力に対して複数個の対話システムから出力される応答候補をそれぞれ受け付け、入力に対する応答としての適切さを評価するための評価手段と、応答候補のうち、評価手段により最も高く評価された応答候補を出力した対話システムを選択するための選択手段と、選択手段により選択された対話システムから出力された応答候補を応答として出力するための応答出力手段とを含む。
【００１６】
入力手段は、受け付けた発話を複数個の対話システムの各々に分配する。各対話システムはいずれも入力を処理して応答候補を出力する。評価手段が、それらの応答候補について、入力に対する応答としての適切さを評価し、最も高く評価された応答候補を出力した対話システムが選択手段により選択される。選択された応答公報が入力に対する応答として出力される。
【００１７】
入力される発話の認識結果により対話システムを選択するのではなく、対話システムの出力が応答としてどの程度適切かにより、その応答が出力される。対話システムの出力に基づいて応答が選択されるので、対話システムの内部構成又は特徴が明らかでない対話システムを含む組合せを用いた対話装置において、発話入力に対する応答を生成するために適切な対話システムを選択し、適切に応答できる対話装置が提供できる。
【００１８】
好ましくは、対話装置は、複数個の対話システムそれぞれにおける、各対話システム内部での対話状態の記憶の有無を記憶し、複数個の対話システムのうち、対話システム内部での対話状態の記憶を有する対話システムで、かつ、選択手段にて選択されなかった対話システムの対話状態を、入力を受け付ける前の対話状態に戻すための対話状態管理手段をさらに含む。
【００１９】
より好ましくは、入力には、当該入力に関連したユーザ識別情報が付されている。入力手段は、入力に付されているユーザ識別情報を架空のユーザに対するダミーユーザ識別情報に置き換えてダミー入力を生成し、複数の対話システムに分配するためのユーザ識別情報切替手段を含む。対話装置は、選択手段にて選択された対話システムに対し、ユーザ識別情報を付された入力を与えて対話処理を再実行させ、当該対話システムから出力される応答候補を受け付け、応答出力手段に渡すための再実行手段をさらに含む。
【００２０】
本発明の第２の局面に係る対話方法は、コンピュータが、入力を受け付け、複数個の対話システムに分配するステップと、コンピュータが、入力に対して複数個の対話システムから出力される応答候補をそれぞれ受け付け、入力に対する応答としての適切さを評価するステップと、コンピュータが、応答候補のうち、評価手段により最も高く評価された応答候補を出力した対話システムを選択するステップと、コンピュータが、選択手段により選択された対話システムからの応答候補を応答として出力するステップとを含む。
【００２１】
本発明の第３の局面に係るコンピュータプログラムは、コンピュータを、上記した対話装置のいずれかの全ての手段として機能させる。
【図面の簡単な説明】
【００２２】
【図１】特許文献１に記載された対話装置の概略ブロック図である。
【図２】本発明の第１の実施の形態に係る対話装置の概略ブロック図である。
【図３】本発明の第１の実施の形態に係る対話装置を実現するコンピュータにおいて実行されるプログラムの概略制御構造を示すフローチャートである。
【図４】本発明の第２の実施の形態に係る対話装置の概略ブロック図である。
【図５】本発明の第２の実施の形態に係る対話装置を実現するコンピュータにおいて実行されるプログラムの概略制御構造を示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。
【００２４】
以下の実施の形態の説明では、組み合わせる個々の対話システムを、単に「対話システム」と呼ぶ。さらにこうした個々の対話システムを組み合わせた、本発明の実施の形態に係る対話システム全体を「複合対話システム」と呼ぶ。
【００２５】
以下の実施の形態では、複数ある個々の対話システムのうち、どの対話システムが、与えられた発話入力に適したものであるのかを、発話入力だけを見て判定するのではない。各対話システムに発話入力を一旦与え、各対話システムが入力に応じて出力する結果（応答候補）を受け取り、発話入力と応答候補の両方の情報を見て、どのシステムが最も適した応答を与えるかを判定して選択する。選択されなかった対話システムは、発話入力に対する応答候補を一旦出力してはいるが、それは、複合対話システムの出力としては採用されない。複合対話システムとしては、今回の発話入力に適した対話システムとして選択された対話システムの応答のみを出力する。
【００２６】
ただし、対話は必ずしも１回のやり取りだけで成立するものだけではない。一般に対話は、複数回のやり取りを通じて成立する場合が多く存在する。例えば、１回のやり取りだけで成立する対話の例としては、「明日の東京の天気を教えて」に対して、対話システムが「明日は、晴れのち曇り、降水確率は０％です」と応答する、といった一問一答形式の対話がある。一方、複数回のやり取りを必要する対話の例としては、次のようなユーザと、対話システムのやり取りがある。
ユーザ：「大宮駅に行きたいのだけれど、電車の乗り換え案内をお願い」
対話システム：「どこから電車に乗るのですか？」
ユーザ：「東京」
対話システム：「特急は使用しますか？」
ユーザ：「特急は使わないで、一番安い経路を調べて」
対話システム：「東京駅から大宮駅まで、京浜東北線に乗って下さい」
１回のやり取りで、対話の最初の意図及び目的が達成される対話では、今回入力された発話だけを見て、適切に応答することが可能である。
一方、複数回の一連のやり取りを必要とする対話では、必ずしも直前の発話に全ての情報が含まれているわけではないため、今回入力された発話の他に、現在何の話題を話しているのか、既に発話された内容は何なのか、対話がどこまで進んでいるのか、といった情報を保持し、管理する必要がある。本明細書では、こうした複数のやり取りからなる対話の話題、内容、及び進行状態などを示す情報を「対話状態」と称する。複数回のやり取りを可能とする対話システムでは、対話状態をどこかに保持し、適宜処理する発話の内容に応じて、対話状態を更新することが望ましい。
本発明における以下の実施の形態のような複合対話システムにおいて、個々の対話システムにそのような対話状態の保持機能があると、発話入力を各対話システムに与えて、その出力結果を得た段階で、各対話システムがもつ対話状態が発話入力により更新されることになる。ある発話入力に対し、最適であると選択された対話システムについて、対話状態が更新されることに問題はない。しかし、選択されなかった対話システムについては、対話状態が更新されるのは好ましくない。なぜなら、その対話システムは、発話入力の発話者にとっては、対話で使用されていない対話システムとなるためである。そうした場合に対話状態が更新されると、次回以降の発話で、今回は選択されなかった対話システムに新しい発話が割り振られる際等に、対話状態に矛盾が生じてしまう。一方、個々の対話システムの中には、対話状態を維持しない対話システムもあり得る。また、対話状態を対話システムで維持するものであっても、その機能としては様々なものがあり得る。
【００２７】
よって、本実施の形態の複合対話システムでは、対話状態をどのように維持していくかが１つの問題である。対話状態の維持については各実施の形態を参照されたい。
【００２８】
なお、ここで本発明の以下の実施の形態に対する入力を、説明の便宜上「発話入力」と記述しているが、以下の実施の形態に対する入力は、必ずしも音声発話された文章に限定されるものではない。以下の実施の形態では、入力は機械可読可能なテキストの形式で与えられるものとする。音声発話された入力は、既存の公知技術である音声認識技術を用いて、機械可読可能なテキストの形式にまず変換され、以下の実施の形態に与えられるものとする。また、テキストチャットなど最初から機械可読可能なテキストとなっている情報は、そのまま本発明の以下の実施の形態に入力される。
【００２９】
［第１の実施の形態］
＜構成＞
図２に構成を示す第１の実施の形態は、それぞれ独立に対話状態を保持し、発話入力に対して応答を生成するごとに、それらに応じて対話状態を更新する機能を持つ複数の対話システムを用いるものである。ただし、個々の対話システムの中には、対話状態を持たない対話システムが含まれていても良い。また、図２には図示していないが、本実施の形態では発話入力にはユーザの識別情報（ユーザＩＤ）が付されており、ユーザごとに別スレッドで対話処理を行うものとする。これは、複数のユーザが別々に本実施の形態を使用する際に、あるユーザの発話を別のユーザの発話と区別し、対話が混線したりしないようにするための工夫である。こうしたユーザの識別情報が付与されていないと、例えばユーザAと対話システムとの対話の途中で、偶然別のユーザＢが発話したときに、その発話をユーザＡの発話と勘違いして対話が進んでしまい、ユーザＡの意図した対話内容とは異なる処理が行われるような間違いが生じる。そこで、各発話入力にユーザの識別情報を付与することで、複数のユーザが同時に本実施の形態を使用する場合でも、ユーザ毎の対話を区別して、それぞれ独立に処理することが可能となる。ユーザの識別情報は、ユーザＩＤの他に、ユーザの使用する端末機器のＩＤ、又はセッションＩＤなどユーザを区別することが可能なＩＤならばどのようなＩＤであってもよい。入力に付与されているユーザ識別情報に応じて、スレッドを分ける技術自体は、インターネット上でWebサービスを使用する際に一般的に使用されている公知技術であるため、本明細書ではこれ以上、ユーザ識別情報について詳しく説明しない。なお、本実施の形態を同時に１人のユーザだけが使用する用途で用いる場合には、発話入力にユーザ識別情報を付与する必要は無い。そのような特殊な用途で用いる場合は、特定の１つのユーザ識別情報だけが付与された発話入力と見なすことで、ユーザ識別情報が付与されている場合と同一視することが出来る。よって、以下の実施の形態の説明では、発話入力にユーザ識別情報が付与されない場合の説明を行わないが、以下の実施の形態は、ユーザ識別情報が付与されない用途又は利用シーンであっても、同様に利用可能である。
【００３０】
図２を参照すると、第１の実施の形態に係る複合対話システム８０は、入力された発話に対応するテキストデータ（以下単に「発話入力」と呼ぶ。）を入力として受け付ける発話入力部９０と、複数の対話システムを含み、発話入力部９０が受け付けた発話入力に対する応答候補と、複数の対話システムのうち、対話状態をエクスポートする機能を有する対話システムの応答生成後の対話状態を出力する、複合対話装置９２と、複合対話装置９２から出力される、個々の対話システムの対話状態と発話入力とを、ユーザの識別情報ごと、対話システムごとにログとして保持する対話状態データベース（ＤＢ）９８と、複合対話装置９２の個々の対話システムから出力される対話状態を一時的に記憶し、複合対話装置９２による対話システムの選択結果に基づいて、対話状態ＤＢ９８を参照して対話システムごとの対話状態の管理を行う対話状態管理部９６と、複合対話装置９２が選択する対話システムの応答候補のテキストデータを受け、発話入力に対する応答テキストとして出力する応答出力部９４とを含む。
【００３１】
複合対話装置９２は、複数の対話システム１２０，１２２，…，１２４と、複数の対話システム１２０，１２２，…，１２４から出力される応答候補と、発話入力とを受け、発話入力に対する応答候補の適切さを表す評価スコアを対話システムごとに計算するための対話システム評価部１３２と、対話システム評価部１３２から与えられる各対話システムの評価スコアのうち、もっとも高い評価スコアに対応する対話システムを、入力された今回の発話入力に対して応答する対話システムとして選択する対話システム選択部１３４とを含む。対話システム選択部１３４はまた、選択された対話システムの識別情報を対話状態管理部９６に与える機能を持つ。
【００３２】
複数の対話システム１２０，１２２，…，１２４は、本実施の形態では、別個独立に動作する対話システムを想定している。各対話システムが処理対象とする対話のドメインは互いに重複していてもよい。対話システムの選択は、ドメインによって行われるのではなく、対話システムが出力する応答候補の評価によって行うためである。
【００３３】
複数の対話システム１２０，１２２，…，１２４の一部ないし全部は、インターネットなどの通信手段を通して複合対話装置９２に接続され、複合対話装置９２と異なる場所に設置された遠隔の対話システムであってよい。各対話システムは、それぞれ独立したアプリケーションであってもよいし、ネットワークに接続されたサーバ形式の対話システムでもよいし、通信インターフェイスを持つ独立した対話装置でもよい。また、複数の対話システム１２０，１２２，…，１２４の一部ないし全部は、応答候補を出力するにあたって、その応答候補が発話入力に対する応答として適切である度合いを出力する機能を有していてもよい。この値をここでは確信度と呼ぶ。応答候補とその確信度とを出力する機能を有する対話システムは、例えば、統計的モデルを用いて、発話入力に対する応答としての尤度を計算しその値の大小によって応答候補を選択する。そのような対話システムの場合、確信度は尤度に対応するものとなる。
【００３４】
複数の対話システム１２０，１２２，…，１２４の全ては、それぞれ独立の対話システムとして、発話入力を受け付け、それに対する応答として適切と各対話システムが判断する応答テキスト(本明細書では応答候補と記す)を出力する機能を有するものとする。また、複数の対話システム１２０，１２２，…，１２４の一部ないし全部の対話システムは、対話状態を持たず一問一答形式の対話のみを処理対象とする対話システム(以下、対話状態なし対話システム、と記す)であってよい。対話状態なし対話システムは、対話システム評価部１３２の評価対象とはなるが、別途記述する対話状態管理部９６、及び対話状態ＤＢ９８では、対話状態なし対話システムの対話状態を記録しない。一方、複数の対話システム１２０，１２２，…，１２４のうち、対話状態なし対話システムではない対話システム(以下、対話状態あり対話システム、と記す)は、これまで入力された発話の内容又は状態をユーザ毎に記録・管理する対話状態を持つものとする。ここで、本明細書では、説明の都合上、対話状態あり対話システムにおいて、直前に入力された発話を受けて更新された対話状態をその発話が入力されていない状態まで戻す機能を「対話状態アンドウ機能」と記す。また、対話状態あり対話システムの現在の対話状態を外部に出力し、さらに外部から受け付けた対話状態を読み込んで、内部の対話状態を読み込んだ対話状態に変更する機能を「対話状態エクスポート／インポート機能」と記す。第１の実施の形態における、対話状態あり対話システムは、全て、対話状態アンドウ機能、ないしは、対話状態エクスポート／インポート機能、の２つの機能のうち、少なくともどちらか一方の機能を有するものとする。
【００３５】
複数の対話システム１２０，１２２，…，１２４の各対話システムは、発話入力部９０からそれぞれの対話システムに分配された発話入力を受け付け、その発話入力に対する応答候補を対話システム評価部１３２に出力する。さらに、複数の対話システム１２０，１２２，…，１２４のうち、対話状態あり対話システムであって、対話状態エクスポート／インポート機能を有する対話システムは、応答候補に加え、発話入力で更新された対話状態をエクスポートし、対話状態管理部９６に出力するものとする。
【００３６】
対話システム評価部１３２は、複数の対話システム１２０，１２２，…，１２４のそれぞれから出力された応答候補を受け取り、発話入力部９０から受け取った発話入力に対する応答として適している度合いを示す評価スコアを、各対話システムに対して計算する。この評価スコアの計算には、以下の様な要素が用いられる。
【００３７】
―応答候補に含まれる情報量又は重要度：
具体的な固有名詞又は日時などが含まれていると評価スコアを上げる。逆に応答候補が「分かりません」「そうだね」などの相づち、又は定型表現のように、具体的な情報を含んでいない場合、評価スコアを下げる。また具体的な評価スコアの計算には、自然言語処理技術における文の重要度計算技術を使用することができる。
【００３８】
―対話システムが出力する確信度：
確信度が高いほど、評価スコアを上げ、確信度が低いほど、評価スコアを下げる。確信度を出力する対話システムと、確信度を出力しない対話システムとが混在している場合には、確信度を出力しない対話システムに一定の確信度のデフォルト値を与え、評価スコアを出力する対話システムと同様に評価スコアの計算可能とする手法が利用可能である。
【００３９】
―応答候補の内容：
応答候補の文型、又は肯定文・否定文の種類を言語解析技術を用いて判定し、「だめです」「検索できませんでした」「該当する候補は０件です」のような否定的な表現を含む応答候補の評価スコアを低くする。逆に「分かりました」「見つかりました」のような情報を利用者に提示する表現に類似する応答文の評価スコアを高くする。
【００４０】
―発話入力と応答候補との適合性：
自然言語処理技術における質問応答技術を使用し、発話入力の文タイプをまず判定  する。同様に応答候補の文のタイプも判定する。発話入力が、「時間を聞いている質問文」に対して「時間を回答している応答文」、「理由を聞いている発話入力」に対して「〜のため」など理由と推定される表現となっている応答候補など、発話入力と応答候補の文タイプに対応がとれている応答候補の評価スコアを高くする。
【００４１】
―対話履歴：
過去の対話履歴が記録されている場合は、過去の発話入力と今回の発話入力との類似度を計算し、類似度が高い過去の発話入力において選択されている対話システムの評価スコアを今回も高く計算する。
【００４２】
―直前の対話とのトピックの継続性：
少なくとも直前の発話入力に対して、選択された対話システムを記録しておき、その直前の発話入力で選択された対話システムの評価スコアを上げる。こうすることで、ユーザの発話に対して応答する対話システムが細かく替わり、対話の継続性が阻害されることを避ける。さらに直前の１ないし２以上の過去の発話と、今回の発話に対して、トピック判定を行い、過去の発話と今回の発話とでトピックが切り替わっていると推定される場合には、直前の発話入力に対して選択された対話システムの評価スコアを他の対話システムの評価スコアと同等に評価し、逆に過去の発話と今回の発話とでトピックが共通していると推定される場合には、直前の発話入力に対して選択された対話システムの評価スコアを他の対話システムの評価スコアより高く評価する手法を用いても良い。すなわち、トピックの切り替わり時には、選択する対話システムの切替が起こりやすく、逆にトピックの途中では、選択する対話システムがあまり切り替わらないようにする手法となる。なお、発話入力がその前の発話とトピックが継続しているか、それとも新規のトピックであるかを判断するために、既存の言語処理技術であるトピック判定技術を用いる手法が利用可能である。さらに、個々の対話システムにおいて、今回の発話入力に対する応答候補が１つのトピックの途中であるか、それとも新規のトピックであるかに関する情報を出力する機能を有している場合には、そうしたトピックの継続に関する情報を各対話システムから受け取り、トピック判定技術の代わりに利用しても良い。また、直前の発話入力に対する応答出力を別途記録しておき、そうした応答出力が「どうしますか」「メールを出して良いですか」「１〜９番までのどれを選択しますか」のような、ユーザ側に追加の情報を要求する疑問文の場合には、今回の発話入力は前回とトピックが継続していると推定する手法を利用しても良い。
【００４３】
評価スコアの計算時には、これらの要素の一部または全部についてスコアを算出し、さらにそれらのスコアの重み付き線形和を用いることが考えられる。また、各要素のスコアを引数とする、事前に定めた非線形関数を用いて、各対話システムの評価スコアを計算する手法をとってもよい。
【００４４】
対話状態管理部９６は、複数の対話システム１２０，１２２，…，１２４のうち、対話状態あり対話システムであって、対話状態エクスポート／インポート機能を有する対話システムの対話状態を、対話システムおよび発話者（ユーザ）ごとに、対話状態ＤＢ９８に保持する機能を持つ。対話状態管理部９６はさらに、最低１以上の過去の発話入力に対し、その発話時点の対話状態の履歴をログとして対話状態ＤＢ９８に保持する機能を持つ。対話状態管理部９６はまた、対話システム選択部１３４により対話システムのいずれかが選択されると、その選択結果を発話入力とあわせて、対話状態ＤＢ９８に記録する。
【００４５】
さらに、対話システム選択部１３４により対話システムのいずれかが選択された後、選択されなかった残りの対話システムのうち、対話状態あり対話システムの対話状態を、今回の発話入力を受け付ける前の対話状態に戻す。具体的には、選択されなかった対話システムであって、対話状態アンドウ機能を有する対話システムに対しては、対話状態アンドウ機能を用いて、1つ前の対話状態に戻す。選択されなかった対話システムであって、対話状態アンドウ機能を持たず、対話状態エクスポート／インポート機能を有する対話システムに対しては、対話システムおよび発話者毎に対話状態ＤＢ９８に記録されている１つ前の対話状態を読み込み、その対話状態を各対話システムの対話状態インポート機能に入力し、各対話システムを１つ前の対話状態に戻す。なお、対話状態なし対話システムは、もとより対話状態を持たないため、対話状態に関する特別な処理は不要である。対話システム選択部１３４で選択された対話システムの対話状態は、今回の発話入力による更新を反映した最新の対話状態のままを保ち、さらに対話状態ＤＢ９８の記録に反映させる。対話状態管理部９６はしかし、それ以外の対話システムに対する対話状態ＤＢ９８の対話状態を更新しない。したがって、選択された対話システム以外の対話システムの、対話状態ＤＢ９８に保持された状態情報は、その対話システムが１つ前の発話を処理したときの状態情報に維持される。
【００４６】
なお、対話状態管理部９６は、複数の対話システム１２０，１２２，…，１２４のそれぞれが、対話状態なし対話システムであるか、対話状態あり対話システムで対話状態アンドウ機能を有する対話システムであるか、対話状態あり対話システムで対話状態エクスポート／インポート機能を有する対話システムであるか、といった対話状態に関する各対話システムの種別を示す情報を事前ないしは本発明の実施の形態の動作時に与えられているものとする。
【００４７】
このような対話状態管理を行う機能を有することで、発話入力に対する各対話システムの応答候補を一旦得た上で、それらの応答候補を見て応答する対話システムを選択し、さらに選択されなかった対話システムの対話状態に矛盾が生じないようにすることが可能となる。すなわち、選択されなかった対話システムの状態は、あたかも発話入力が最初から与えられなかった場合の対話状態を保つ。
【００４８】
＜動作＞
発話入力部９０は、音声認識装置、文字認識装置、又はキーボードなどの装置から、発話者のユーザＩＤが付与された発話入力を受け付け、それを複合対話装置９２に与える。
【００４９】
複合対話装置９２は、この発話入力及びユーザＩＤを、複数の対話システム１２０，１２２，…，１２４に分配し、それぞれ与える。発話入力は対話システム評価部１３２にも与えられる。
【００５０】
複数の対話システム１２０，１２２，…，１２４は各々、与えられた発話入力に応じた応答候補を生成し対話システム評価部１３２に出力する。複数の対話システム１２０，１２２，…，１２４のうち、対話状態あり対話システムは各々、この際にこのユーザＩＤに対する対話状態を更新する。さらに、対話状態あり対話システムで、対話状態エクスポート／インポート機能を有する対話システムは、その対話状態エクスポート機能を用いて、更新後の対話状態を対話状態管理部９６に出力する。対話状態管理部９６はこれらの対話状態を対話システムごとに、ユーザごとに一時的に記憶する。
【００５１】
対話システム評価部１３２は、複数の対話システム１２０，１２２，…，１２４からの応答候補と、発話入力部９０からの発話入力とを受け、前記した基準にしたがって応答候補を評価し、対話システムごとの評価スコアを出力する。この評価スコアは対話システム選択部１３４に与えられる。
【００５２】
対話システム選択部１３４は、対話システム評価部１３２から与えられる評価スコアのうちでもっとも高い評価スコアに対応する対話システムを選択する。対話システム選択部１３４はまた、選択された対話システムの識別情報を対話状態管理部９６に与える。さらに、選択された対話システムの応答候補をと応答出力部９４に与える。
【００５３】
一方、対話状態管理部９６は、対話システム選択部１３４から識別情報を受けると、選択された対話システムが対話状態あり対話システムであって、対話状態エクスポート／インポート機能とを有する対話システムの場合は、一時記憶したその対話システムの対話状態情報を用いて、対話状態ＤＢ９８に記録されている選択された対話システムの対話状態ログを更新する。さらに選択されなかった対話システムで、対話状態アンドウ機能を有する対話システムに対しては、対話状態アンドウ機能を用いて、1つ前の対話状態に戻るよう、各対話システムに指示を出す。選択されなかった対話システムであって、対話状態アンドウ機能を持たず、対話状態エクスポート／インポート機能を有する対話システムに対しては、対話システムおよび発話者毎に対話状態ＤＢ９８に記録されている１つ前の対話状態を読み込み、その対話状態を各対話システムの対話状態インポート機能に入力し、各対話システムを１つ前の対話状態に戻す。したがって、選択された対話システムの状態情報は最新の状態情報に更新（維持）されるが、それ以外の対話システムの状態情報は、今回の発話入力を受け付ける前の状態に戻る。対話状態なし対話システムは、もとより対話状態を持たないため、この処理には関係がない。
【００５４】
この第１の実施の形態に係る複合対話システム８０のうち、各対話システムを制御する発話入力部９０、対話システム評価部１３２、対話システム選択部１３４、対話状態管理部９６、応答出力部９４、及び対話状態ＤＢ９８は、コンピュータハードウェアと、当該コンピュータハードウェアにより実行されるプログラムとにより実現できる。そうしたプログラムの概略の制御構造を図３に示す。
【００５５】
図３を参照して、このプログラムは、起動後、発話入力を受け付けるステップ１４０と、ステップ１４０の後、発話入力を複数の対話システム１２０，１２２，…，１２４に分配するステップ１４２と、これら複数の対話システム１２０，１２２，…，１２４の各々に、発話入力に対する対話処理を実行させ、応答候補の出力を受けるステップ１４４と、ステップ１４４での応答候補を評価することにより、複数の対話システム１２０，１２２，…，１２４を評価するステップ１４６と、ステップ１４６における評価の結果を受けて、最も評価の高かった対話システムを選択するステップ１４８とを含む。
【００５６】
このプログラムはさらに、ステップ１４８の後、ステップ１４８で選択された対話システム（以下「選択対話システム」と呼ぶ）が、対話状態のエクスポート／インポート機能を持つか否かを判定し、その結果により制御の流れを分岐させるステップ１５０を含む。
【００５７】
ステップ１５０の判定が肯定の場合には、ステップ１５２で、選択対話システムからその対話状態エクスポート機能を用いて出力した対話状態により、対話状態ＤＢ９８の対話状態ログを更新する。続いてステップ１５４において、ステップ１５０で選択されなかった対話システム（以下これらを「非選択対話システム」と呼ぶ）の対話状態を、ステップ１４４の処理前の状態に戻す。その後、ステップ１５６で選択対話システムの応答を外部に出力し、発話入力に対する処理を終了する。
【００５８】
一方、ステップ１５０の判定が否定であれば、ステップ１５２の処理を実行することなく、ステップ１５４及びステップ１５６の処理が実行されて発話入力に対する処理を終了する。
【００５９】
以上のようにこの実施の形態に係る複合対話システム８０によれば、複数の対話システムを用いて発話入力に対する応答候補を生成する。さらに、各応答候補の評価スコアを発話入力とのペアで計算する。評価スコアが最も高い評価スコアを与える対話システムの出力を発話入力に対する応答として選択し出力する。応答の評価にあたっては、各対話システムの性能及び得意とするタスクの範囲等、対話システム間で比較することが可能な知識を事前に用意しておく必要がない。各対話システムの内部構成についての情報も必要としない。したがって、先行技術と比較して、より簡便に、複数個の対話システムを効率よく組み合わせて幅広い範囲の対話タスクを実現できる。
【００６０】
さらに上記実施の形態では、複数個の対話システムのうち、対話状態あり対話システムで、対話状態エクスポート／インポート機能を有する対話システムの対話状態を、対話状態ごと、ユーザの識別情報ごとに管理している。また、複数個の対話システムのうち、対話システム選択部１３４により選択されたものについては、その対話状態を最新に更新するが、応答されなかったもののうち、対話状態あり対話システムについては、その対話状態を直前の状態に戻す。したがって、選択されなかった対話システムの次回の応答が、前回の対話と矛盾したものになる可能性を小さくすることができる。その結果、複合対話装置の性能をより高めることができる。各対話システムの正確な守備範囲・性能が不明な場合でも、発話入力に対して各時点で適した対話システムを選択し、それを用いて応答できる。
【００６１】
［第２の実施の形態］
第２の実施の形態は、第１の実施の形態と同様、複数の対話システムを含む複合対話システムに関する。ただし、第１の実施の形態と異なりこの実施の形態では、複数ある対話システムの一部ないし全部が、対話状態あり対話システムであるが、対話状態アンドウ機能も対話状態エクスポート／インポート機能もともにもたない(あるいは、外部にそうした機能を公開していない)対話システムである点が異なる。ここで説明の便宜上、対話状態あり対話システムであるが、対話状態アンドウ機能も対話状態エクスポート／インポート機能もともにもたない対話システムのことを、外部対話システムと称する。これは、本発明の実施の形態とは独立に開発された外部の対話システムが、多くの場合、対話状態アンドウ機能又は対話状態エクスポート／インポート機能を持たない(あるいは外部に公開しておらず利用できない)ためである。しかし、ここで「外部対話システム」はあくまで、対話状態アンドウ機能又は対話状態エクスポート／インポート機能のない事が条件であり、実際に本実施の形態の外部に存在するかどうかは関係がない。
【００６２】
第１の実施の形態の説明において記述したとおり、対話の一貫性を保ち、矛盾を生じさせないため、対話システム選択部１３４で選択された対話システム以外の対話システムは、その対話状態を今回の発話入力が与えられる前の状態に戻してやる必要がある。だが、外部対話システムが選択されなかった場合、その対話状態を対話状態アンドウ機能又は対話状態エクスポート／インポート機能を用いて戻すことができない。そこで、第２の実施の形態における複合対話システム１６０では、外部対話システムに対しては一旦、発話入力に付与されているユーザＩＤを、ダミーのユーザＩＤ(以下、ダミーＩＤ)に振り替え、ダミーユーザの発話に対する応答候補を得る。さらに対話システム選択部１３４で選択された対話システムが外部対話システムであった場合には、選ばれた外部対話システムを当初の発話入力で再実行し、応答候補を得る機能又は構成を有する。以下、詳細な構成を説明する。
【００６３】
＜構成＞
図４を参照すると、この複合対話システム１６０は、第１の実施の形態の複合対話装置９２に代えて、複合対話装置１７０を含む。複合対話装置１７０は、複合対話装置９２の構成要素に加え、発話入力に付与されているユーザＩＤを切り替えるユーザＩＤ切替部１８０と、１つ以上の外部対話システム１８２と、さらに、対話システム選択部１３４が選択した対話システムが外部対話システムの場合には、当初の発話入力に付与されているユーザＩＤを用いて外部対話システム１８２を再実行させる外部対話システム再実行部１８６とを含む。なお、図４では便宜上、外部対話システム１８２を１つの対話システムとして記述しているが、複数の対話システム１２０，１２２，…，１２４の場合と同様に、複数の独立に動作する外部対話システムであってよい。
【００６４】
第２の実施の形態で、第１の実施の形態を構成する要素と同名同番号の構成要素は、その機能が同一である。よって、ここではあらためて説明を行わず、第２の実施の形態にのみ存在する構成要素の説明を行う。
【００６５】
ユーザＩＤ切替部１８０は、発話入力部９０から分配される発話入力を受け取り、外部対話システム１８２に渡す。外部対話システム１８２が２個以上の対話システムである場合は、それぞれの対話システムに独立に発話入力を渡す。ただし、外部対話システム１８２に発話入力を渡す前に、発話入力に付与されているユーザＩＤの情報を読み取る。ついで、通常のユーザＩＤと被らない新規のダミーＩＤを発行し、発話入力に付与されているユーザＩＤの情報と置き換える。すなわち、見かけ上、発話入力がダミーユーザにより発話されたテキストとなるようにする。使用するダミーＩＤは、既存のユーザＩＤ又は今後入力され得るユーザＩＤと重複が生じないよう、あらかじめユーザＩＤが取り得る値の範囲と、ダミーＩＤが取り得る値の範囲を分けておくのがよい。一般に対話システムにおける対話状態は、他のユーザの発話と取り違えないよう、ユーザＩＤ毎に管理される。よって、発話入力部９０から受け取った発話入力のユーザＩＤを、ユーザＩＤ切替部１８０でダミーＩＤに置き換えることで、外部対話システム１８２で発話入力に応じて更新される対話状態は、このダミーＩＤの対話状態となり、元のユーザＩＤの対話状態は更新されない。このため、対話システム選択部１３４で外部対話システム１８２が選択されなかった場合も、元のユーザＩＤの対話状態は更新されていないため、別途対話状態を戻す必要は生じない。
【００６６】
外部対話システム１８２は、複数の対話システム１２０、…、１２４と同様に、与えられた発話入力に対して、その対話処理を実行し、応答候補を出力する。ただし、処理する発話入力が、発話入力部９０からユーザＩＤ切替部１８０を介して与えられた場合は、応答候補を対話システム評価部１３２に渡す。一方、外部対話システム再実行部１８６から発話入力が渡された場合には、その応答候補を外部対話システム再実行部１８６に渡すものとする。なお、対話処理を行う上で、発話入力に付与されているユーザＩＤに対する対話状態が存在しない場合は、対話状態の初期値を用いる。
【００６７】
対話システム選択部１３４は、第１の実施の形態での対話システム選択部１３４と同じである。ただし、選択した対話システムの識別情報を応答出力部９４に直接渡すのでは無く、外部対話システム再実行部１８６に渡す点が異なる。
【００６８】
外部対話システム再実行部１８６は、対話システム選択部１３４が、発話入力に対して応答する対話システムとして選択した対話システムの識別情報を調べて、それが外部対話システムであるかどうか判定する。それが外部対話システムでない場合は新たに何もせずに、対話システム選択部１３４が選択した対話システムの応答候補を、発話入力に対する応答結果として、応答出力部９４に渡す。一方、対話システム選択部１３４が選択した対話システムが外部対話システムであった場合には、その外部対話システムに元のユーザＩＤが付与された発話入力を渡し、対話処理を行わせ、その結果の応答候補を取得する。ついで、その応答候補を発話入力に対する応答結果として、応答出力部９４に渡す。なお、どの対話システムが外部対話システムであるのか、対話システムの識別情報を見て判定可能なよう、外部対話システムの識別情報の一覧等の情報が、事前に外部対話システム再実行部１８６に保管されているものとする。
【００６９】
こうした構成をとることで、本実施の形態では、外部対話システム１８２のように対話状態アンドウ機能又は対話状態エクスポート／インポート機能のような対話状態を復元する機能を利用できない対話システムが、複数の対話システムに含まれていても、対話状態に矛盾無く、各対話システムの応答候補を見た後で、ユーザに出力する応答候補を選択することが可能となる。対話システム１２０、……、１２４の対話状態管理については、第１の実施の形態と同様である。外部対話システム１８２に対しては、最初にダミーＩＤを使用して応答候補を生成するため、その外部対話システム１８２が対話システム選択部１３４により選択されなかった場合には、対話状態の復元処理をする必要はない。なぜならば、発話入力に付加されたユーザ識別情報に関連した対話状態は、ダミーＩＤを用いた応答候補の生成では更新されないからである。こうした処理を行うことにより、応答候補が選択されなかった外部対話システム１８２については対話状態が更新されず、結果的に対話状態が復元されたのと同じ効果を得ることができる。一方、外部対話システム１８２が、対話システム選択部１３４により選択された場合には、改めて発話入力のユーザＩＤを用いて応答候補を再生成する。
【００７０】
なお、第２の実施の形態における対話システム評価部１３２の構成及び機能は、第１の実施の形態における対話システム評価部１３２と同じであるが、特に「直前の対話とのトピックの継続性」の評価スコア計算において、トピックの継続性に大きなスコアを与えるようにしてもよい。すなわち、直前の発話と同じトピックと判定された発話入力では、直前の発話で使用された対話システムの評価スコアを特に大きくし、トピックの途中では対話システム選択部１３４で選択される対話システムが、直前の発話で選択された対話システムと変わらないようにしてもよい。なぜならば、第２の実施の形態では、前述のように、外部対話システム１８２のような対話状態を簡単に戻すことができない対話システムに対し、ダミーＩＤを用いることで対話状態を戻すと同様の効果を生じさせている。しかし、トピックの途中での発話入力に対しては、本来のユーザＩＤが付与された発話入力の応答候補と、ダミーＩＤが付与された発話入力の応答候補とで大きなずれが生じる可能性が高いため、ダミーＩＤが付与された発話入力の応答候補では、適切に評価スコアを計算できないためである。一方、トピックの開始の発話入力では、本来のユーザＩＤに対する対話状態は、ダミーＩＤに対する対話状態と差異が少ないと考えられるため、ダミーＩＤに置き換えられた発話入力に対する応答候補を用いても、適切にその外部対話システムの評価スコアを計算できる。こうした性質から、トピックの開始の発話入力では、「応答候補に含まれる情報量又は重要度」など他の要素を重く見て、各対話システムの評価スコアを計算し、トピックの途中では、「前の対話とのトピックの継続性」を重く見て各対話システムの評価スコアを計算することで、発話入力に付与されたユーザＩＤをダミーＩＤに置き換えた場合の応答候補のすれの問題を軽減できる。
【００７１】
＜動作＞
この第２の実施の形態に係る複合対話システム１６０は以下のように動作する。
【００７２】
ユーザの発話入力が発話入力部９０から複合対話装置１７０に与えられると、その発話入力は各対話システム１２０，１２２，…，１２４、および、ユーザＩＤ切替部１８０に分配される。各対話システム１２０，１２２，…，１２４では、それぞれ独立に対話処理を実行し、各対話システムの応答候補を対話システム評価部１３２に渡す。
また、ユーザＩＤ切替部１８０では、複数の対話システム１２０，１２２，…，１２４における対話処理とは独立に、発話入力に付されているユーザＩＤの情報を抽出し、それをダミーＩＤに変更して、１つ以上の外部対話システム１８２に与える。外部対話システム１８２では、ユーザＩＤ切替部１８０から与えられた発話入力を受け取り、対話処理を実行し、その結果として得られる応答候補を、対話システム評価部１３２に渡す。
【００７３】
対話システム評価部１３２は、発話入力部９０からの発話入力を参照し、複数の対話システム１２０，１２２，…，１２４から受けた応答候補と、外部対話システム１８２から受けた応答候補のそれぞれに対し、前述したような基準にしたがって各対訳システムの評価スコアを計算する。対話システム評価部１３２はさらに、発話入力と、こうして計算された各対話システムの応答候補とその評価スコアを対話システムの識別情報とともに対話システム選択部１３４に与える。対話システム選択部１３４は対話システム評価部１３２から受けた評価スコアのうち、最も高いスコアを持つ対話システムの識別情報を決定し、その対話システムの識別情報と応答候補とを外部対話システム再実行部、および、対話状態管理部９６に与える。外部対話システム再実行部１８６では、与えられた対話システムの識別情報を参照し、それが外部対話システムであるかどうかを判定する。それが外部対話システムである場合には、発話入力に対する対話処理を再実行するよう、選ばれた外部対話システム１８２に指示を出す。さらに選ばれた外部対話システム１８２の応答結果を受け取り、応答出力部９４に渡す。与えられた対話システムの識別情報が外部対話システムでない場合には、特別な処理を行わずに、選ばれた対話システムの応答候補を、応答出力部９４に渡す。応答出力部９４は、外部対話システム再実行部１８６から渡された応答候補を、発話入力部９０が受け付けた発話入力に対する応答結果として、出力する。
【００７４】
一方、対話システム選択部１３４より、選択された対話システムの識別情報を受け取った対話状態管理部９６は、対話状態あり対話システムで、選択されなかった対話システムの対話状態を、発話入力部９０で受け取った発話入力が各対話システムに与えられる前の対話状態に戻す。この対話状態を戻す処理は、発話入力部９０で受け付けた発話入力に付されているユーザＩＤと同じユーザＩＤを持つ次の発話入力が与えられる前に行う。対話状態を戻す処理が完了するまでは、同じユーザＩＤを持つ新しい発話入力に対する対話処理は、進めないものとする。
【００７５】
上記した第２の実施の形態に係る複合対話装置１７０のうち、各発話対話システムを除いた部分は、第１の実施の形態と同様、コンピュータハードウェアと当該コンピュータハードウェアにより実行されるプログラムにより実現できる。図５にそうしたプログラムの制御構造の概略をフローチャート形式で示す。
【００７６】
図５のフローチャートが図３に示すものと異なるのは、ステップ１４２とステップ１４４との間に、外部対話システムに対するユーザＩＤを切替えるステップ２００が挿入されていることと、図３に示すステップ１５４に代えて、非選択対話システムのうち、外部対話システムでない対話システムの対話状態を、ステップ１４４の実行前の状態に戻すステップ２０６を含むこととである。ステップ１５０の判定結果が否定のときには、第１の実施の形態と同様、ステップ１５２は実行されず、制御はステップ１５０からステップ２０６に進む。
【００７７】
このプログラムはさらに、ステップ１４８とステップ１５０との間に、選択対話システムが外部対話システム否かを判定し、判定結果によって制御の流れを分岐させるステップ２０２を含む。ステップ２０２における判定が肯定のときには、ステップ２０４において発話入力に対して選択対話システムを再度実行させ、その後、制御をステップ２０６に進める。ステップ２０２の判定が否定のときには、制御はステップ１５０に進む。
【００７８】
以上のように、本発明の実施の形態によれば、複数個の対話システムを組み合わせた複合対話システムにおいて、各対話システムがどのような種類又はドメインの発話入力を適切に処理可能かなどの適切な対話システムを選択するためのルール等を予め準備しておく必要がない。その結果、必ずしも全ての対話システムについて、その内部構成が予め明らかになっていなくても、適切な対話システムを選択してその結果を応答として出力できる。
【００７９】
さらに本発明の第１の実施の形態、および第２の実施の形態における、各対話システム（外部対話システムを含む）は、複合対話装置９２、又は複合対話装置１７０の内部に設けられている必要は無い。対話システムに要求される機能を有するのであれば、それが内部にもうけられている対話システムであっても、ネットワーク等を介して外部の対話システムに接続しているのであっても、本発明の実施の形態での機能又は動作に影響はない。よって、本発明の複合対話装置では、その内部にある対話システムと外部にある対話システムとを任意に組み合わせてよいことは当業者には明らかである。
【００８０】
上記実施の形態では、複数の対話システムを用いる場合の問題点を解決するための構成について説明した。したがって、その他の細部の点では異なる構成を採用することができる。例えば、発話入力を各対話システムに入力するにあたり、言い回しの置き換え等の機構を追加することも考えられる。また、一般的には、対話には区切りがある。その区切り中は対話に一貫性がある方がよい。したがって、新しい対話が開始された後、その対話の区切りまでは、最初に選択された対話システムを以後も一貫して用い、別の対話システムが選択されないようにロックする機構があるとなおよい。
【００８１】
上記実施の形態では、各対話システムからの応答候補を１つ見て対話システムを選択している。しかしときには、発話候補を１つだけ見ても、どの対話システムが最適であるか判定が難しい場合がある。その場合は、発話入力に類似する過去の発話を調べて、その過去発話とその後の一連の発話の流れに対する各対話システムの応答結果まで見た上で、適した対話システムを判定することもできる。
【００８２】
上記実施の形態に示すような構成により、入力された発話内容だけでなく、その発話内容に対する各対話システムの結果まで見て、応答に適した対話システムを選択することが可能になる。さらに、選択されなかった対話システムの対話状態を戻し、以後も矛盾なく対話を継続することが可能となる。
【００８３】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
【符号の説明】
【００８４】
８０，１６０  複合対話システム
９０  発話入力部
９２  複合対話装置
９４  応答出力部
９６  対話状態管理部
９８  対話状態ＤＢ
１２０，１２２，１２４  対話システム
１３２  対話システム評価部
１３４  対話システム選択部
１７０  複合対話装置
１８０  ユーザＩＤ切替部
１８２  外部対話システム
１８６  外部対話システム再実行部
【図１】
2016212541.tif 000003
【図２】
2016212541.tif 000004
【図３】
2016212541.tif 000005
【図４】
2016212541.tif 000006
【図５】
2016212541.tif 000007