(57)【要約】【課題】音声出力される応答文を保持することなく、音声応答を実現する。【解決手段】対話制御部１６は、ユーザに伝える情報が抽象化された情報要素ごとに対話制御ルールを保持し、ユーザの発話内容から生成された構造化データをユーザ意図としてユーザ意図理解部１４から受信すると、対話制御ルールに基づいてユーザ意図に対応した情報要素を決定し、その情報要素を応答生成部１７に出力し、応答生成部１７は、対話制御部１６から情報要素を受信すると、応答生成テンプレートを参照することで、その情報要素を応答文の形式に変換し、その応答文を文字列として音声合成部１８に出力する。【選択図】図１
2020008635.tif 000002
【特許請求の範囲】
【請求項１】
ユーザに伝える情報が抽象化された情報要素ごとに対話制御ルールを保持する対話制御部と、
前記情報要素に基づいて、音声出力に用いられる応答文を生成する応答生成部と、
前記ユーザへの応答済みの内容を前記情報要素ごとに管理するシステム理解管理部とを備える音声対話システム。
【請求項２】
前記情報要素は、前記ユーザに伝える目的語および前記目的語に関するトピックごとに前記目的語および前記トピックが類別された情報である請求項１に記載の音声対話システム。
【請求項３】
前記応答済みの内容を前記情報要素に変換するシステム意図理解部を備え、
前記システム意図理解部は、前記情報要素をシステム理解データベースに格納する請求項１に記載の音声対話システム。
【請求項４】
前記応答生成部は、前記情報要素を前記応答文の形式に変換するテンプレートを備える請求項１に記載の音声対話システム。
【請求項５】
前記ユーザからの音声入力に基づいて、目的語および前記目的語に関するトピックを抽出し、前記目的語および前記トピックごとに類別された構造化データに変換するユーザ意図理解部を備え、
前記対話制御部は、前記構造化データに基づいて、前記応答生成部に前記情報要素を出力する請求項１に記載の音声対話システム。
【請求項６】
前記情報要素ごとに出力条件が設定され、
前記応答生成部は、
前記構造化データに基づいて、前記情報要素の出力条件を判別し、
前記判別した出力条件に基づいて、前記情報要素を前記応答文に用いるかどうかを決定する請求項１に記載の音声対話システム。
【請求項７】
前記対話制御ルールには、前記構造化データの入力に応じて出力される前記情報要素が登録され、
前記応答生成部は、
前記構造化データの入力に応じて前記対話制御部から出力された前記情報要素を記憶し、
前記構造化データに対して前記応答済みの情報要素を前記システム理解管理部から取得し、
前記記憶した情報要素から前記応答済みの情報要素を除いて前記応答文を生成する請求項５に記載の音声対話システム。
【請求項８】
前記応答生成部にて生成された応答文に基づいて音声合成する音声合成部をさらに備え、
前記対話制御部は、前記ユーザからの音声の検出結果に基づいて、前記音声合成の停止を前記音声合成部に指示し、
前記音声合成部は、前記音声合成の停止の指示に基づいて、前記応答文の出力済みの文字列を前記システム意図理解部に出力し、
前記システム意図理解部は、前記応答文の出力済みの文字列を前記情報要素に変換し、システム理解データベースに格納する請求項７に記載の音声対話システム。
【請求項９】
音声を入力する音声入力部と、
前記音声入力部に入力された音声を検出する音声検出部と、
前記音声入力部に入力された音声を認識する音声認識部と、
前記音声合成部で合成された音声を出力する音声出力部とをさらに備える請求項７に記載の音声対話システム。
【請求項１０】
ユーザに伝える情報が抽象化された情報要素ごとに対話制御ルールを保持する対話制御部と、
前記情報要素に基づいて、音声出力に用いられる応答文を生成する応答生成部とを備える音声対話装置。
【請求項１１】
前記応答文に基づいて音声合成する音声合成部と、
前記音声合成部から前記応答文の出力済みの文字列を取得し、前記出力済みの文字列を前記情報要素に変換するシステム意図理解部と、
前記ユーザからの音声入力に基づいて、目的語および前記目的語に関するトピックを抽出し、前記目的語および前記トピックごとに類別された構造化データに変換するユーザ意図理解部と、
前記構造化データを管理するユーザ理解管理部とをさらに備える請求項１０に記載の音声対話装置。
【請求項１２】
前記対話制御ルールには、前記構造化データの入力に応じて出力される前記情報要素が登録され、
前記応答生成部は、
前記構造化データの入力に応じて前記対話制御部から出力された前記情報要素を記憶し、
前記構造化データに対する前記応答済みの情報要素を前記システム理解管理部から取得し、
前記記憶した情報要素から前記応答済みの情報要素を除いて前記応答文を生成する請求項１１に記載の音声対話装置。
【請求項１３】
プロセッサを備える音声対話方法であって、
前記プロセッサは、
ユーザからの音声入力に基づいて、目的語および前記目的語に関するトピックごとに類別された構造化データを生成し、
前記ユーザに伝える情報が抽象化された情報要素が前記構造化データに対応して登録された対話制御ルールを参照することで、前記構造化データの入力に対応した前記情報要素を取得し、
前記情報要素に基づいて、音声出力に用いられる応答文を生成する音声対話方法。
【請求項１４】
前記プロセッサは、
音声出力済みの応答文を情報要素に変換し、
前記変換した情報要素を記憶部に格納し、
前記記憶部に記憶された情報要素を除外してバージイン後の音声出力に用いられる応答文を生成する請求項１３に記載の音声対話方法。
【請求項１５】
前記プロセッサは、
前記バージイン時の前記ユーザからの音声入力に基づいて生成された構造化データの入力に対応した情報要素を取得し、
前記バージインに基づいて取得された情報要素を追加して前記バージイン後の音声出力に用いられる応答文を生成する請求項１４に記載の音声対話方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声により会話を行うことが可能な音声対話システム、音声対話装置および音声対話方法に関する。
【背景技術】
【０００２】
近年、家庭や公共空間においてユーザと音声による会話を行いながらサービスを提供するスマートデバイスやサービスロボットが開発されている。スマートデバイスやサービスロボットに搭載されている音声による対話を実現するシステムを音声対話システムと称する。ユーザの満足度が高い対話を行う音声対話システムには、高精度な音声認識技術、高品質な音声合成技術、対話の状況を管理して適切な応答を生成する対話制御技術などが必要である。
【０００３】
音声対話システムにおいては、システム側が発話している最中にユーザが割り込んで音声を発した場合においても、その音声を受け付けることが望ましい（バージイン機能）。この時、入力音声にはシステムの発話とユーザの発話が混在する。このため、音声認識部には、入力音声からシステムの発話を取り除き、ユーザの発話のみを音声認識する技術が必要となる。さらに、対話制御には、割り込みが発生したという状態を適切に処理し、適切な応答を生成する技術が必要となる。
【０００４】
特許文献１には、ユーザのバージインが生じる場合にも音声対話を円滑に進行する音声対話システムが開示されている。出力部は現行の対話状態に対応する応答文を音声出力し、ユーザの発話の開始タイミングにおいて音声出力済の部分応答の発話テキストに基づきユーザの発話の意図を理解して対話状態を更新するための代替対話状態を生成することが記載されている。
【０００５】
特許文献２には、ユーザのバージインが生じる場合に、音声応答の出力履歴および入力音声の認識語の入力履歴を考慮して優先度が補正され、音声応答出力の維持または中断を決定するシステムが開示されている。ロボットが音声発話中に「おはよう」と挨拶されると、発話を中断して「おはよう」に対応する応答音声を出力することが記載されている。
【０００６】
特許文献３には、外部情報に基づいて音声出力を中断し、中断の原因となった状況に対して応答行動を行い、応答行動後に元の会話情報の音声出力の再開位置を決定して再開するシステムが開示されている。音声認識結果である単語を解析し、質問内容を理解して適切な回答をする旨が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１４−３８１５０号公報
【特許文献２】特開２００８−３５１７号公報
【特許文献３】特開２０１１−２２７２３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、音声出力される応答文をバージインの開始タイミングごとに保持することはコストが高く現実性が低かった。
【０００９】
本発明は、上記事情に鑑みなされたものであり、その目的は、音声出力される応答文を保持することなく、音声応答を実現することが可能な音声対話システム、音声対話装置および音声対話方法を提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、第１の観点に係る音声対話システムは、ユーザに伝える情報が抽象化された情報要素ごとに対話制御ルールを保持する対話制御部と、前記情報要素に基づいて、音声出力に用いられる応答文を生成する応答生成部と、前記ユーザへの応答済みの内容を前記情報要素ごとに管理するシステム理解管理部とを備える。
【発明の効果】
【００１１】
本発明によれば、音声出力される応答文を保持することなく、音声応答を実現することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施形態に係る音声対話システムの構成を示すブロック図である。
【図２】図２は、図１の対話制御部が保持する対話制御ルールの一例を示す図である。
【図３】図３は、図１の応答生成部が保持する応答生成テンプレートの一例を示す図である。
【図４】図４は、図１の音声対話システムの対話例１における音声入出力ログを示す図である。
【図５】図５は、図１の音声対話システムの対話例１におけるユーザ理解ＤＢの内容を示す図である。
【図６】図６は、図１の音声対話システムの対話例１におけるシステム理解ＤＢの内容を示す図である。
【図７】図７は、図１の音声対話システムの対話例２における音声入出力ログを示す図である。
【図８】図８は、図１の音声対話システムの対話例２におけるユーザ理解ＤＢの内容を示す図である。
【図９】図９は、図１の音声対話システムの対話例２におけるシステム理解ＤＢの内容を示す図である。
【図１０】図１０は、図１の音声対話システムの対話例３における音声入出力ログを示す図である。
【図１１】図１１は、図１の音声対話システムの対話例３におけるユーザ理解ＤＢの内容を示す図である。
【図１２】図１２は、図１の音声対話システムの対話例３におけるシステム理解ＤＢの内容を示す図である。
【図１３】図１３は、図１の音声対話システムの対話例４における音声入出力ログを示す図である。
【図１４】図１４は、図１の音声対話システムの対話例４におけるユーザ理解ＤＢの内容を示す図である。
【図１５】図１５は、図１の音声対話システムの対話例４におけるシステム理解ＤＢの内容を示す図である。
【図１６】図１６は、図１の音声対話システムの対話例５における音声入出力ログを示す図である。
【図１７】図１７は、図１の音声対話システムの対話例５におけるユーザ理解ＤＢの内容を示す図である。
【図１８】図１８は、図１の音声対話システムの対話例５におけるシステム理解ＤＢの内容を示す図である。
【図１９】図１９は、図１の音声対話システムの対話例６における音声入出力ログを示す図である。
【図２０】図２０７は、図１の音声対話システムの対話例６におけるユーザ理解ＤＢの内容を示す図である。
【図２１】図２１は、図１の音声対話システムの対話例６におけるシステム理解ＤＢの内容を示す図である。
【図２２】図２２は、図１の音声対話システムに適用可能な音声対話装置のハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【００１３】
実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１４】
図１は、第１実施形態に係る音声対話システムの構成を示すブロック図である。なお、図１の矢印はブロック間の音声に関する信号の流れを示し、制御に関する信号の流れは省略した。
図１において、音声対話システムには、音声入力部１１、音声検出部１２、音声認識部１３、ユーザ意図理解部１４、ユーザ理解管理部１５、対話制御部１６、応答生成部１７、音声合成部１８、システム意図理解部１９、システム理解管理部２０および音声出力部２１が設けられている。音声対話システムは、スマートデバイスやサービスロボットなどに搭載することができる。
【００１５】
音声入力部１１は、システムに搭載されたマイクロフォンから音声波形を取得する。音声検出部１２は、音声入力部１１から受信した音声波形から、ユーザが発生した音声を検出し、その音声区間情報を音声認識部１３に送信する。音声認識部１３は、音声入力部１１から受信した音声波形と、音声検出部１２から受信した音声区間情報を用いて音声認識処理を行い、音声波形を音声認識結果である文字列に変換する。
【００１６】
ユーザ意図理解部１４は、ユーザが発生した音声の音声認識結果を音声認識部１３から受信する。また、ユーザ意図理解部１４は、音声認識部１３から受信した音声認識結果に基づいて、ユーザ意図を理解する。ユーザ意図は、ユーザが音声でシステムに伝えようとしている意図である。ユーザ意図理解部１４は、音声認識結果である文字列から目的語およびその目的語に関するトピックを抽出し、構造化データに変換することで、ユーザ意図を取得する。構造化データは、目的語およびトピックごとに類別されたデータである。トピックは、目的語についてユーザが伝えようとしている意図を示す。この時、構造化データはユーザ意図を示すことができる。ユーザ理解管理部１５は、ユーザ意図理解部１４から構造化データを受信し、その構造化データをユーザ理解データベース（以下、ユーザ理解ＤＢと言う）に格納する。
【００１７】
対話制御部１６は、ユーザに伝える情報が抽象化された情報要素ごとに対話制御ルールを保持する。対話制御ルールには、構造化データの入力に応じて出力される情報要素が登録される。情報要素は、ユーザに音声で伝える内容を抽象化した情報である。情報要素は、ユーザの発話内容から抽出された目的語およびその目的語についてのトピックを含むことができる。この時、情報要素には、目的語およびトピックに対し、それぞれ情報の種類または属性またはガテゴリを付加することができる。情報要素は、ユーザに伝える目的語およびその目的語に関するトピックごとに、それらの目的語およびトピックが類別された情報であってもよい。各情報要素には、その情報要素を応答文の生成に用いるかどうかを判断するための出力条件を設定することができる。
【００１８】
例えば、ユーザに伝える情報が、フランス、ハワイまたはイタリアなどであれば、そのカテゴリを地名に設定することができる。ユーザに伝える情報が、今日、夜または１１時などであれば、そのカテゴリを日時に設定することができる。ユーザに伝える情報が、晴、雨または曇などであれば、そのカテゴリを天気に設定することができる。
【００１９】
また、対話制御部１６は、ユーザ意図理解部１４から構造化データを受信する。そして、対話制御部１６は、対話制御ルールを参照することにより、構造化データに対応する情報要素を決定し、その情報要素を応答生成部１７に出力する。さらに、対話制御部１６は、音声検出部１２から音声区間情報を受信する。そして、対話制御部１６は、音声区間開始を検出した時に音声合成の停止指示を音声合成部１８に送信する。なお、対話制御ルールには、音声区間開始を検出しても、音声合成の停止を音声合成部１８に指示しないように設定してもよい。
【００２０】
応答生成部１７は、情報要素を応答文の形式に変換する応答生成テンプレートを保持する。また、応答生成部１７は、対話制御部１６から情報要素を受信する。そして、応答生成部１７は、ユーザ理解ＤＢとシステム理解データベース（以下、システム理解ＤＢと言う）の内容を参照しつつ、応答文を文字列として生成し、音声合成部１８に出力する。この時、応答生成部１７は、構造化データの入力に応じて対話制御部１６から出力された情報要素を記憶する。また、応答生成部１７は、構造化データに対して応答済みの情報要素をシステム理解管理部２０から取得する。そして、応答生成部１７は、記憶した情報要素から応答済みの情報要素を除いて応答文を生成し、音声合成部１８に出力する。
【００２１】
この時、応答生成部１７は、ある構造化データに対し、応答生成部１７が記憶した情報要素と、システム理解管理部２０から取得した応答済みの情報要素とをバージインごとに比較することができる。そして、応答生成部１７は、ある構造化データに対し、応答生成部１７が記憶した情報要素と、システム理解管理部２０から取得した応答済みの情報要素との間の差分がなくなるまで、応答生成部１７が記憶した情報要素のうちの未応答の情報要素を用いた応答文の出力をバージインごとに繰り返すことができる。また、応答生成部１７は、バージイン時のユーザからの音声入力に基づいて生成された構造化データの入力に対応した新たな情報要素を取得し、その新たな情報要素を追加してバージイン後の音声出力に用いられる応答文を生成することができる。
【００２２】
音声合成部１８は、応答生成部１７から応答文を受信する。そして、音声合成部１８は、応答文に基づいて音声合成を行うことで音声波形を生成し、音声出力部２１に逐次送信する。この時、音声合成部１８は、音声波形の送信完了位置を記憶する。音声合成部１８は、音声波形の送信が完了すると、応答生成部１７から受信した応答文をシステム意図理解部１９に送信する。また、音声合成部１８は、対話制御部１６から音声合成の停止指示を受信すると、送信完了位置に相当する応答文の部分文字列をシステム意図理解部１９に送信する。音声出力部２１は、音声合成部１８から受信した音声波形をシステムに搭載されたスピーカから出力する。
【００２３】
システム意図理解部１９は、音声合成部１８から受信した応答文（あるいはその部分文字列）に対してシステム意図を理解する。システム意図は、システムが音声でユーザに伝えようとしている意図である。システム意図理解部１９は、音声合成部１８から受信した文字列の目的語およびその目的語に関するトピックを抽出し、情報要素に変換することで、システム意図を取得する。システム理解管理部２０は、システム意図理解部１９からシステム意図として取得された情報要素を受信し、その情報要素をシステム理解ＤＢに格納する。
【００２４】
ここで、情報要素で与えられる内容の一部しかユーザに伝えられていない場合、システム理解管理部２０は、その情報要素で与えられる内容の伝達度合いを推定し、その伝達度合いが所定値を超えている場合に、その情報要素をシステム理解ＤＢに格納する。この伝達度合いは、例えば、その情報要素の目的語およびトピックが何％伝わったかで判断することができる。この伝達度合いは、情報要素に基づく応答文の音声出力直後のユーザの発話内容から、その情報要素で与えられる内容の伝達度合いを推定するようにしてもよい。例えば、システムがある目的語を音声出力している途中でユーザが割り込んで発話した時に、そのユーザの発話にその目的語に関する内容が含まれている場合は、システムは、その目的語がユーザに伝わったと推定することができる。
【００２５】
以下、図１の音声対話システムの動作について説明する。
ユーザが音声入力部１１に音声を入力すると、音声入力部１１は、ユーザが発した音声波形を音声検出部１２および音声認識部１３に送信する。音声検出部１２は、ユーザが発した音声波形から、音声が発せられている区間を検出し、その音声区間情報を音声認識部１３および対話制御部１６に送信する。音声認識部１３は、音声検出部１２から受信した音声区間情報からユーザの音声波形を特定する。そして、音声認識部１３は、ユーザの音声波形に対して音声認識処理を行うことにより、その音声波形を文字列に変換し、ユーザ意図理解部１４に出力する。
【００２６】
ユーザ意図理解部１４は、音声認識部１３から文字列を取得すると、その文字列から目的語およびその目的語に関するトピックを抽出する。そして、ユーザ意図理解部１４は、目的語およびトピックを構造化データに変換することで、ユーザ意図を取得し、ユーザ理解管理部１５および対話制御部１６に送信する。この時、ユーザ意図は構造化データで表現することができる。構造化データは、文字列から抽出された目的語ごとにトピックを対応させたデータである。なお、目的語とトピックとの対応関係を表形式で表現するようにしてもよい。ユーザ理解管理部１５は、ユーザ意図理解部１４から構造化データを受信すると、その構造化データをユーザ理解ＤＢに格納する。
【００２７】
対話制御部１６は、ユーザ意図理解部１４から構造化データを受信すると、対話制御ルールを参照することにより、その構造化データに対応した情報要素を決定し、その情報要素を応答生成部１７に出力する。応答生成部１７は、対話制御部１６から情報要素を受信すると、応答生成テンプレートを参照することで、その情報要素を応答文の形式に変換し、その応答文を文字列として音声合成部１８に出力する。この時、応答生成部１７は、構造化データの入力に応じて対話制御部１６から出力された情報要素を記憶する。また、応答生成部１７は、その構造化データに対応する情報要素をシステム理解管理部２０から取得する。そして、応答生成部１７は、応答生成部１７が記憶した情報要素と、システム理解管理部２０から取得した情報要素との対応関係を判断する。応答生成部１７が記憶した情報要素の中に、システム理解管理部２０から取得した情報要素以外の情報要素がない場合、その構造化データに対応するユーザ意図に対してシステム意図がユーザに伝わったと判断することができる。この時、応答生成部１７は、その構造化データに対応する情報要素の応答文が再送されないようにする。
【００２８】
音声合成部１８は、応答生成部１７から取得した応答文に基づいて音声合成を行うことで音声波形を生成し、音声出力部２１に逐次送信する。また、音声合成部１８は、音声波形の送信が完了すると、応答生成部１７から受信した応答文をシステム意図理解部１９に送信する。音声出力部２１は、音声合成部１８から音声波形を受信すると、その音声波形を出力する。
【００２９】
一方、システム意図理解部１９は、音声合成部１８から応答文を取得すると、その応答文から目的語およびその目的語に関するトピックを抽出する。そして、システム意図理解部１９は、目的語およびトピックを情報要素に変換することでシステム意図を取得し、システム理解管理部２０に送信する。システム理解管理部２０は、システム意図理解部１９からシステム意図として取得された情報要素を受信すると、その情報要素をシステム理解ＤＢに格納する。
【００３０】
ここで、音声合成部１８から受信した音声波形を音声出力部２１が出力している最中にユーザが割り込んで音声を発することで、バージインが発生したものとする。この時、バージインに伴って取得された音声区間情報が音声検出部１２から対話制御部１６に入力される。
【００３１】
対話制御部１６は、その音声区間情報から音声区間開始を検出すると、音声合成の停止指示を音声合成部１８に送信する。音声合成部１８は、対話制御部１６から音声合成の停止指示を受信すると、音声合成を停止するとともに、送信完了位置に相当する応答文の部分文字列をシステム意図理解部１９に送信する。
【００３２】
システム意図理解部１９は、音声合成部１８から応答文の部分文字列を取得すると、その応答文の部分文字列からシステム意図を理解し、システム理解管理部２０に送信する。この時、システム意図理解部１９は、応答文の部分文字列を情報要素に変換する。そして、システム意図理解部１９は、この情報要素をシステム意図として理解することができる。システム理解管理部２０は、システム意図理解部１９からシステム意図として理解された情報要素を受信すると、その情報要素をシステム理解ＤＢに格納し、応答生成部１７に出力する。
【００３３】
一方、音声認識部１３は、バージイン時のユーザの音声波形に対して音声認識処理を行うことにより、その音声波形を文字列に変換し、ユーザ意図理解部１４に出力する。ユーザ意図理解部１４は、音声認識部１３から文字列を取得すると、その文字列を構造化データに変換することで、ユーザ意図を取得し、ユーザ理解管理部１５および対話制御部１６に送信する。ユーザ理解管理部１５は、ユーザ意図理解部１４から構造化データを受信すると、その構造化データをユーザ理解ＤＢに格納する。
【００３４】
対話制御部１６は、ユーザ意図理解部１４から構造化データを受信すると、対話制御ルールを参照し、その構造化データに対応した情報要素が対話制御ルールに登録されているかどうかを判断する。その構造化データに対応した情報要素が対話制御ルールに登録されている場合、対話制御部１６は、その構造化データに対応した情報要素を応答生成部１７に出力する。
【００３５】
応答生成部１７は、対話制御部１６から情報要素を受信すると、応答生成テンプレートを参照することで、その情報要素を応答文の形式に変換し、その応答文を文字列として音声合成部１８に出力する。
【００３６】
さらに、応答生成部１７は、応答生成部１７が記憶した構造化データに対応する情報要素をシステム理解管理部２０から取得する。そして、応答生成部１７は、応答生成部１７が記憶した構造化データに対応する情報要素と、システム理解管理部２０から取得したその構造化データに対応する情報要素との対応関係を判断する。そして、応答生成部１７が記憶した情報要素の中に、システム理解管理部２０から取得した情報要素以外の情報要素がある場合、その構造化データに対応するユーザ意図に対して全てのシステム意図がユーザに伝わっていない判断することができる。この時、応答生成部１７は、システム理解管理部２０から取得した情報要素以外の情報要素に対して応答生成テンプレートを適用することで、未応答の情報要素をバージイン後の応答文の形式に変換し、その応答文を文字列として音声合成部１８に出力する。
【００３７】
未応答の情報要素をバージイン後の応答文の形式に変換するに当たり、応答生成部１７は、情報要素の出力条件を満たさないトピックが構造化データに含まれていないかどうかを判断する。そして、情報要素の出力条件を満たさないトピックが構造化データに含まれている場合、応答生成部１７は、その出力条件を満たさない情報要素を除外して応答文の形式に変換する。
【００３８】
上述したように、図１の音声対話システムは、ユーザに伝える情報が抽象化された情報要素を保持し、その情報要素に基づいて応答文を生成することができる。このため、ユーザのバージインが様々なタイミングで生じる場合においても、そのタイミングに応じて情報要素を選択することにより、バージインの様々なタイミングに応じた応答文を生成することが可能となる。この結果、バージイン時に想定されるユーザの様々の発話内容に応じた応答文を保持することなく、バージイン後の音声応答を実現することができ、バージインに対応した音声対話システムの低コスト化を図ることが可能となる。
【００３９】
以下、図１の音声対話システムの動作について、ユーザＵとシステムＳとの間での旅行に関する対話を具体例にとって説明する。
【００４０】
図２は、図１の対話制御部が保持する対話制御ルールの一例を示す図である。
図２において、対話制御ルールは、対話制御部１６にユーザ意図として入力される構造化データと、その構造化データに対応して対話制御部１６から出力される情報要素を含む。対話制御ルールの入力において、構造化データの目的語をｏｂｊｅｃｔ、構造化データのトピックをｔｙｐｅで示すことができる。この時、構造化データには、ｔｙｐｅおよびｏｂｊｅｃｔに対応する内容を設定することができる。
【００４１】
対話制御ルールの出力において、各情報要素は、目的語およびトピックを含む表形式で表現することができる。この時、情報要素の目的語をｏｂｊｅｃｔ、情報要素のトピックをｔｙｐｅで示すことができる。さらに、情報要素には、場所、特徴、状態、嗜好などの属性を含めることができる。場所はａｔ、特徴はｆｅａｔｕｒｅ、状態はｏｆまたはｄａｔａ、嗜好はｆｏｒで示すことができる。この時、情報要素には、ｔｙｐｅおよびｏｂｊｅｃｔに対応する内容を設定することができる。さらに、情報要素には、ａｔ、ｆｅａｔｕｒｅ、ｏｆ、ｄａｔａおよびｆｏｒに対応する内容を適宜設定することができる。さらに、情報要素には、その情報要素を応答文の生成に用いるかどうかを判断するための出力条件を設定することができる。出力条件はｉｆで示すことができる。
【００４２】
図２では、対話制御部１６の入力である構造化データＵ１に対して、対話制御部１６の出力である情報要素Ｓ１〜Ｓ５が登録され、対話制御部１６の入力である構造化データＵ２に対して、対話制御部１６の出力である情報要素Ｓ６が登録されている例を示した。
【００４３】
対話制御部１６は、このような対話制御ルールを、ユーザＵとシステムＳとの間で想定される全ての対話について保持することができる。例えば、図２では、旅行先の観光地を紹介する例を示したが、飲食店、宿泊先、交通機関、ショッピングなどの対話にも対応できるようにする場合には、対話制御部１６は、これらの対話についての対話制御ルールも保持する。
【００４４】
図３は、図１の応答生成部が保持する応答生成テンプレートの一例を示す図である。
図３において、応答生成テンプレートには、情報要素パターンごとに、音声出力される応答文の形式が登録される。なお、ＸおよびＹは、音声出力される具体的な単語を設定することができる。応答生成部１７は、対話制御部１６から情報要素を受信すると、応答生成テンプレートを参照することで、その情報要素を応答文に変換し、音声合成部１８に出力する。この時、応答生成部１７は、情報要素を応答生成テンプレートに当てはめることにより、応答文を生成することができる。
【００４５】
例えば、応答生成部１７は、「ｔｙｐｅ＝ｉｎｔｒｏｄｕｃｅ，ｏｂｊｅｃｔ＝Ｘ，ａｔ＝Ｙ」という情報要素パターンを対話制御部１６から受信すると、応答生成テンプレートを参照することにより、その情報要素パターンに対応した「＜Ｘ＞が＜Ｙ＞にあります」という応答文を取得する。そして、音声出力される具体的な単語をＸおよびＹに設定し、「＜Ｘ＞が＜Ｙ＞にあります」という応答文を音声合成部１８に出力する。
【００４６】
この時、「＜Ｘ＞が＜Ｙ＞にあります」という応答文では、Ｘには、様々な観光スポットの名称、Ｙには、その観光スポットが存在する地名を設定することができる。このため、応答生成部１７は、様々な観光スポットの名称や、その観光スポットが存在する地名ごとに応答文を保持する必要がなくなり、様々のタイミングで発生するバージインを受付可能な音声対話システムを実現することが可能となる。
【００４７】
なお、図３の応答生成テンプレートの（のでご注意ください）の部分はあってもよいし、なくてもよい。以下の音声入出力ログでは、図３の応答生成テンプレートの（のでご注意ください）の部分は省略した。
【００４８】
以下、音声入出力ログを例にとって図１の音声対話システムの動作について具体的に説明する。まず、システムＳの応答中にユーザＵからのバージインがない場合を説明する。
【００４９】
図４は、図１の音声対話システムの対話例１における音声入出力ログを示す図、図５は、図１の音声対話システムの対話例１におけるユーザ理解ＤＢの内容を示す図、図６は、図１の音声対話システムの対話例１におけるシステム理解ＤＢの内容を示す図である。
図４において、音声入出力ログには、発話ＩＤが付与される。システムＳは、ユーザＵおよびシステムＳの発話の順序に従って発話ＩＤを付与することができる。
【００５０】
最初にユーザＵが「こんにちは。」と発話したものとする（発話ＩＤ＝０）。この時、システムＳは、「こんにちは。」に対応した出力を対話制御ルールから取得し、「こんにちは。何かお困りですか？」と応答する（発話ＩＤ＝１）。
【００５１】
次に、ユーザＵが「〇〇に旅行に行きたいのですが、おすすめの場所はありますか？」と発話したものとする（発話ＩＤ＝２）。この時、システムＳにおいて、ユーザ意図理解部１４は、ユーザＵの発話に対応した文字列を構造化データＵ１に変換し、図５のユーザ理解ＤＢに格納するとともに、対話制御部１６に送信する。この時、システムＳは、ユーザ理解ＤＢに格納される構造化データＵ１の発話ＩＤを２に設定する。対話制御部１６は、図２の対話制御ルールを参照し、構造化データＵ１に対応した情報要素Ｓ１〜Ｓ５を応答生成部１７に出力する。応答生成部１７は、情報要素Ｓ１〜Ｓ５を対話制御部１６から受信すると、情報要素Ｓ１〜Ｓ５を記憶する。
【００５２】
また、応答生成部１７は、構造化データＵ１をユーザ理解ＤＢから読み出し、各情報要素Ｓ１〜Ｓ３の出力条件を満たさない内容が構造化データＵ１のトピックに含まれていないかどうかを判断する。そして、応答生成部１７は、各情報要素Ｓ１〜Ｓ３の出力条件を満たさない内容が構造化データＵ１のトピックに含まれていないと判断すると、図３の応答生成テンプレートを参照することで、その情報要素Ｓ１〜Ｓ５を応答文の形式に変換し、その応答文を文字列として音声合成部１８に出力する。そして、音声合成部１８は、応答生成部１７から受信した応答文を音声合成し、音声出力部２１に出力する。音声出力部２１は、音声合成にて生成された音声波形を出力することで、システムＳは、「○○ですね。有名な建物がＡＡＡで見られます。絵画に興味があるならＢＢＢがおすすめです。ＣＣＣには有名なＤＤＤ寺院があります。現在見ることができません。改装中です。」と応答する（発話ＩＤ＝３）。
【００５３】
また、音声合成部１８は、応答生成部１７から受信した応答文をシステム意図理解部１９に送信する。システム意図理解部１９は、「○○ですね。有名な建物がＡＡＡで見られます。絵画に興味があるならＢＢＢがおすすめです。ＣＣＣには有名なＤＤＤ寺院があります。現在見ることができません。改装中です。」という応答文から、目的語およびその目的語に関するトピックを抽出し、情報要素Ｓ１Ａ、Ｓ２Ａ、Ｓ３Ａ、Ｓ４、Ｓ５に変換する。なお、情報要素Ｓ１Ａ、Ｓ２Ａ、Ｓ３Ａは、情報要素Ｓ１、Ｓ２、Ｓ３に対応する。ただし、情報要素Ｓ１Ａ、Ｓ２Ａ、Ｓ３Ａは、情報要素Ｓ１、Ｓ２、Ｓ３からｉｆ文が除去されている。そして、システム意図理解部１９は、情報要素Ｓ１Ａ、Ｓ２Ａ、Ｓ３Ａ、Ｓ４、Ｓ５を図６のシステム理解ＤＢに格納する。この時、システムＳは、情報要素Ｓ１Ａ、Ｓ２Ａ、Ｓ３Ａ、Ｓ４、Ｓ５の発話ＩＤを３に設定する。
【００５４】
次に、応答生成部１７は、構造化データＵ１に対応する情報要素Ｓ１Ａ、Ｓ２Ａ、Ｓ３Ａ、Ｓ４、Ｓ５をシステム理解管理部２０から取得する。そして、応答生成部１７は、応答生成部１７が記憶した情報要素Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５と、システム理解管理部２０から取得した情報要素Ｓ１Ａ、Ｓ２Ａ、Ｓ３Ａ、Ｓ４、Ｓ５との対応関係を判断する。応答生成部１７が記憶した情報要素Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５の中に、システム理解管理部２０から取得した情報要素Ｓ１Ａ、Ｓ２Ａ、Ｓ３Ａ、Ｓ４、Ｓ５以外の情報要素がない場合、応答生成部１７は、構造化データＵ１に対応する全ての情報要素Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５がユーザＵに伝えられたと判断することができる。この時、応答生成部１７は、その構造化データＵ１に対応する情報要素Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５の応答文が再送されないようにする。
【００５５】
次に、ユーザＵが「いいですね。」と発話すると、システムＳのユーザ意図理解部１４は、ユーザＵが発話した文字列を構造化データＵ３に変換し、図５のユーザ理解ＤＢに格納するとともに、対話制御部１６に送信する。この時、システムＳは、ユーザ理解ＤＢに格納される構造化データＵ３の発話ＩＤを４に設定する。対話制御部１６は、図２の対話制御ルールを参照し、その構造化データＵ３に対応した情報要素がない場合は、システムＳは、ユーザＵの「いいですね。」に対する音声応答を出力しない。
【００５６】
なお、〇〇は、具体的な地名を設定することができる。ＡＡＡは、有名な建物が存在する具体的な地名を設定することができる。ＢＢＢは、具体的な美術館名などを設定することができる。ＣＣＣは、ＤＤＤ寺院が存在する具体的な地名を設定することができる。ＤＤＤは、具体的な寺院名を設定することができる。例えば、〇〇がフランスとすると、ＡＡＡはパリ、ＢＢＢはルーブル美術館、ＣＣＣはシテ島、ＤＤＤはノートルダムとすることができる。
【００５７】
次に、図１の音声対話システムの動作について、システムＳの応答中にユーザＵからのバージインがある場合を具体的に説明する。
【００５８】
図７は、図１の音声対話システムの対話例２における音声入出力ログを示す図、図８は、図１の音声対話システムの対話例２におけるユーザ理解ＤＢの内容を示す図、図９は、図１の音声対話システムの対話例２におけるシステム理解ＤＢの内容を示す図である。
図７において、システムＳが発話ＩＤ＝３の内容を応答中に／の位置でユーザＵのバージインが生じたものとする。すなわち、システムＳは、「○○ですね。有名な建物がＡＡＡで見られます。絵画に興味があるなら」と応答したところで、ユーザＵが「いいですね。」と発話したものとする。
【００５９】
ユーザＵが「いいですね。」と発話すると、システムＳのユーザ意図理解部１４は、ユーザＵが発話した文字列を構造化データＵ３に変換し、図８のユーザ理解ＤＢに格納するとともに、対話制御部１６に送信する。この時、システムＳは、ユーザ理解ＤＢに格納される構造化データＵ３の発話ＩＤを４に設定する。対話制御部１６は、図２の対話制御ルールを参照し、その構造化データＵ３に対応した情報要素がない場合は、システムＳは、ユーザＵの「いいですね。」に対する音声応答を出力しない。
【００６０】
また、対話制御部１６は、システムＳの応答中に音声区間開始を検出すると、音声合成の停止指示を音声合成部１８に送信する。音声合成部１８は、対話制御部１６から音声合成の停止指示を受信すると、送信完了位置に相当する「○○ですね。有名な建物がＡＡＡで見られます。絵画に興味があるなら」という部分文字列をシステム意図理解部１９に送信する。
【００６１】
システム意図理解部１９は、「○○ですね。有名な建物がＡＡＡで見られます。絵画に興味があるなら」という部分文字列から、目的語およびその目的語に関するトピックを抽出し、情報要素Ｓ１Ａ、Ｓ７に変換する。そして、システム意図理解部１９は、情報要素Ｓ１Ａ、Ｓ７を図９のシステム理解ＤＢに格納する。この時、システムＳは、情報要素Ｓ１Ａ、Ｓ７の発話ＩＤを３に設定する。
【００６２】
ここで、図７の音声入出力ログにおいて、図２の情報要素Ｓ２に基づく応答文である「絵画に興味があるならＢＢＢがおすすめです。」のうち、「絵画に興味があるなら」という部分はバージイン前に伝わっているが、ＢＢＢというｏｂｊｅｃｔは伝わっていない。このため、応答生成部１７は、図９の発話ＩＤ＝３の情報要素Ｓ１Ａ、Ｓ７をシステム理解ＤＢに格納する時に、情報要素Ｓ２Ａはシステム理解ＤＢに格納しないようにすることができる。
【００６３】
次に、応答生成部１７は、構造化データＵ１に対応する情報要素Ｓ１Ａ、Ｓ７をシステム理解管理部２０から取得する。そして、応答生成部１７は、応答生成部１７が記憶した情報要素Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５と、システム理解管理部２０から取得した情報要素Ｓ１Ａ、Ｓ７との対応関係を判断する。応答生成部１７が記憶した情報要素Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５の中に、システム理解管理部２０から取得した情報要素Ｓ１Ａ、Ｓ７以外の情報要素がある場合、応答生成部１７は、構造化データＵ１に対応する全ての情報要素Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５がユーザＵに伝えられていないと判断することができる。
【００６４】
この時、応答生成部１７は、図３の応答生成テンプレートを参照することで、情報要素Ｓ２、Ｓ３、Ｓ４、Ｓ５を応答文の形式に変換し、その応答文を文字列として音声合成部１８に出力する。この時、情報要素Ｓ２に基づく応答文である「絵画に興味があるならＢＢＢがおすすめです。」のうち、「絵画に興味があるなら」という部分はバージイン前に伝わっているが、図３の応答生成テンプレートを参照することで、「絵画に興味があるなら」という部分を補ってバージイン後の応答文を生成することができる。
【００６５】
そして、音声合成部１８は、応答生成部１７から受信した応答文を音声合成し、音声出力部２１に出力する。音声出力部２１は、音声合成にて生成された音声波形を出力することで、システムＳは、「はい。絵画に興味があるならＢＢＢがおすすめです。ＣＣＣには有名なＤＤＤ寺院があります。現在見ることができません。改装中です。」と応答する（発話ＩＤ＝５）。
【００６６】
また、音声合成部１８は、応答生成部１７から受信した応答文をシステム意図理解部１９に送信する。システム意図理解部１９は、「はい。絵画に興味があるならＢＢＢがおすすめです。ＣＣＣには有名なＤＤＤ寺院があります。現在見ることができません。改装中です。」という応答文から、目的語およびその目的語に関するトピックを抽出し、情報要素Ｓ２Ａ、Ｓ３Ａ、Ｓ４、Ｓ５に変換する。そして、システム意図理解部１９は、情報要素Ｓ２Ａ、Ｓ３Ａ、Ｓ４、Ｓ５を図９のシステム理解ＤＢに格納する。この時、システムＳは、情報要素Ｓ２Ａ、Ｓ３Ａ、Ｓ４、Ｓ５の発話ＩＤを５に設定する。
【００６７】
次に、ユーザＵが「そこにします。」と発話したものとする（発話ＩＤ＝６）。この時、システムＳにおいて、ユーザ意図理解部１４は、ユーザＵが発話した文字列を構造化データＵ４に変換し、図８のユーザ理解ＤＢに格納するとともに、対話制御部１６に送信する。この時、システムＳは、ユーザ理解ＤＢに格納される構造化データＵ４の発話ＩＤを６に設定する。対話制御部１６は図２の対話制御ルールを参照し、その構造化データＵ４に対応した情報要素がない場合は、システムＳは、ユーザＵの「そこにします。」に対する音声応答を出力しない。
【００６８】
ここで、システムＳは、どの情報要素がバージイン前にユーザＵに伝わったかを判断し、バージイン前に伝わった情報要素を除外し、バージイン前に伝わっていない情報要素に基づいて、バージイン後の応答文を生成することができる。これにより、バージインの様々なタイミングに応じた応答文を保持することなく、バージインの様々なタイミングに応じたバージイン後の音声応答を実現することができる。
【００６９】
図１０は、図１の音声対話システムの対話例３における音声入出力ログを示す図、図１１は、図１の音声対話システムの対話例３におけるユーザ理解ＤＢの内容を示す図、図１２は、図１の音声対話システムの対話例３におけるシステム理解ＤＢの内容を示す図である。
図１０において、システムＳが、「○○ですね。有名な建物がＡＡＡで見られます。絵画に興味があるなら」と応答したところで、ユーザＵが「％％％の絵とかはありますか？」と発話したものとする。
【００７０】
ユーザＵが「％％％の絵とかはありますか？」と発話すると、システムＳのユーザ意図理解部１４は、ユーザＵが発話した文字列を構造化データＵ２Ａに変換し、図１１のユーザ理解ＤＢに格納するとともに、対話制御部１６に送信する。この時、システムＳは、ユーザ理解ＤＢに格納される構造化データＵ２Ａの発話ＩＤを４に設定する。対話制御部１６は、図２の対話制御ルールを参照し、その構造化データＵ２Ａに対応した情報要素Ｓ６がある場合は、その情報要素Ｓ６を応答生成部１７に出力する。なお、図１１の構造化データＵ２Ａは、図２の構造化データＵ２に対応する。
【００７１】
応答生成部１７は、情報要素Ｓ６を受信すると、図３の応答生成テンプレートを参照することで、その情報要素Ｓ６を応答文の形式に変換し、その応答文を文字列として音声合成部１８に出力する。応答生成部１７は、情報要素Ｓ６を対話制御部１６から受信すると、情報要素Ｓ６を記憶する。そして、音声合成部１８は、応答生成部１７から受信した応答文を音声合成し、音声出力部２１に出力する。
【００７２】
さらに、応答生成部１７は、構造化データＵ１に対応する情報要素Ｓ１Ａ、Ｓ７をシステム理解管理部２０から取得する。そして、応答生成部１７は、応答生成部１７が記憶した情報要素Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５と、システム理解管理部２０から取得した情報要素Ｓ１Ａ、Ｓ７との対応関係を判断する。応答生成部１７が記憶した情報要素Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５の中に、システム理解管理部２０から取得した情報要素Ｓ１Ａ、Ｓ７以外の情報要素がある場合、応答生成部１７は、図３の応答生成テンプレートを参照することで、情報要素Ｓ１Ａ、Ｓ７以外の情報要素Ｓ２、Ｓ３、Ｓ４、Ｓ５を応答文の形式に変換し、その応答文を文字列として音声合成部１８に出力する。そして、音声合成部１８は、応答生成部１７から受信した応答文を音声合成し、音声出力部２１に出力する。
【００７３】
音声出力部２１は、音声合成にて生成された音声波形を出力することで、システムＳは、「ありますよ。絵画に興味があるならＢＢＢがおすすめです。ＣＣＣには有名なＤＤＤ寺院があります。現在見ることができません。改装中です。」と応答する。
【００７４】
また、音声合成部１８は、応答生成部１７から受信した応答文をシステム意図理解部１９に送信する。システム意図理解部１９は、「ありますよ。絵画に興味があるならＢＢＢがおすすめです。ＣＣＣには有名なＤＤＤ寺院があります。現在見ることができません。改装中です。」という応答文から、目的語およびその目的語に関するトピックを抽出し、情報要素Ｓ６Ａ、Ｓ２Ａ、Ｓ３Ａ、Ｓ４、Ｓ５に変換する。そして、システム意図理解部１９は、情報要素Ｓ６Ａ、Ｓ２Ａ、Ｓ３Ａ、Ｓ４、Ｓ５を図１２のシステム理解ＤＢに格納する。この時、システムＳは、情報要素Ｓ６Ａ、Ｓ２Ａ、Ｓ３Ａ、Ｓ４、Ｓ５の発話ＩＤを５に設定する。
【００７５】
次に、応答生成部１７は、構造化データＵ２Ａに対応する情報要素Ｓ６Ａをシステム理解管理部２０から取得する。そして、応答生成部１７は、応答生成部１７が記憶した情報要素Ｓ６Ａの中に、システム理解管理部２０から取得した情報要素Ｓ６Ａ以外の情報要素がない場合、応答生成部１７は、構造化データＵ２Ａに対応する全ての情報要素Ｓ６がユーザＵに伝えられたと判断することができる。
【００７６】
さらに、応答生成部１７は、構造化データＵ１に対応する情報要素Ｓ１Ａ、Ｓ２Ａ、Ｓ３Ａ、Ｓ４、Ｓ５をシステム理解管理部２０から取得する。そして、応答生成部１７は、応答生成部１７が記憶した情報要素Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５の中に、システム理解管理部２０から取得した情報要素Ｓ１Ａ、Ｓ２Ａ、Ｓ３Ａ、Ｓ４、Ｓ５以外の情報要素がない場合、応答生成部１７は、構造化データＵ１に対応する全ての情報要素Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５がユーザＵに伝えられたと判断することができる。
【００７７】
ここで、システムＳは、バージイン時のユーザＵからの発話に対する情報要素を対話制御ルールに保持することにより、バージイン時のユーザＵからの発話に対して齟齬のない音声応答を実現することができる。
【００７８】
図１３は、図１の音声対話システムの対話例４における音声入出力ログを示す図、図１４は、図１の音声対話システムの対話例４におけるユーザ理解ＤＢの内容を示す図、図１５は、図１の音声対話システムの対話例４におけるシステム理解ＤＢの内容を示す図である。
図１３において、システムＳが、「○○ですね。有名な建物がＡＡＡで見られます。絵画に興味があるなら」と応答したところで、ユーザＵが「絵は好きじゃない。」と発話したものとする。
【００７９】
ユーザＵが「絵は好きじゃない。」と発話すると、システムＳのユーザ意図理解部１４は、ユーザＵが発話した文字列を構造化データＵ５に変換し、図１４のユーザ理解ＤＢに格納するとともに、対話制御部１６に送信する。この時、システムＳは、ユーザ理解ＤＢに格納される構造化データＵ５の発話ＩＤを４に設定する。対話制御部１６は、図２の対話制御ルールを参照し、その構造化データＵ５に対応した情報要素がない場合は、そのことを応答生成部１７に伝えるとともに、システムＳは、ユーザＵの「絵は好きじゃない。」に対する音声応答を出力しない。
【００８０】
応答生成部１７は、構造化データＵ５に対応した情報要素がないという通知を受信すると、構造化データＵ１に対応する情報要素Ｓ１Ａ、Ｓ７をシステム理解管理部２０から取得する。そして、応答生成部１７は、応答生成部１７が記憶した情報要素Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５と、システム理解管理部２０から取得した情報要素Ｓ１Ａ、Ｓ７との対応関係を判断する。応答生成部１７が記憶した情報要素Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５の中に、システム理解管理部２０から取得した情報要素Ｓ１Ａ、Ｓ７以外の情報要素Ｓ２、Ｓ３、Ｓ４、Ｓ５がある場合、応答生成部１７は、構造化データＵ５をユーザ理解ＤＢから読み出す。そして、応答生成部１７は、各情報要素Ｓ２、Ｓ３の出力条件を満たさない内容が構造化データＵ５のトピックに含まれていないかどうかを判断する。そして、応答生成部１７は、情報要素Ｓ２の出力条件（図２のｉｆ文）を満たさない内容が構造化データＵ５のトピックに含まれていると判断すると、情報要素Ｓ２、Ｓ３、Ｓ４、Ｓ５から情報要素Ｓ２を除外する。そして、応答生成部１７は、図３の応答生成テンプレートを参照することで、情報要素Ｓ１Ａ、Ｓ７、Ｓ２以外の情報要素Ｓ３、Ｓ４、Ｓ５を応答文の形式に変換し、その応答文を文字列として音声合成部１８に出力する。そして、音声合成部１８は、応答生成部１７から受信した応答文を音声合成し、音声出力部２１に出力する。
【００８１】
音声出力部２１は、音声合成にて生成された音声波形を出力することで、システムＳは、「はい。ＣＣＣには有名なＤＤＤ寺院があります。現在見ることができません。改装中です。」と応答する。
【００８２】
また、音声合成部１８は、応答生成部１７から受信した応答文をシステム意図理解部１９に送信する。システム意図理解部１９は、「はい。ＣＣＣには有名なＤＤＤ寺院があります。現在見ることができません。改装中です。」という応答文から、目的語およびその目的語に関するトピックを抽出し、情報要素Ｓ３Ａ、Ｓ４、Ｓ５に変換する。そして、システム意図理解部１９は、情報要素Ｓ３Ａ、Ｓ４、Ｓ５を図１５のシステム理解ＤＢに格納する。この時、システムＳは、情報要素Ｓ３Ａ、Ｓ４、Ｓ５の発話ＩＤを５に設定する。
【００８３】
ここで、システムＳは、ユーザＵからの発話に対する情報要素の出力条件を対話制御ルールに保持することにより、ユーザＵからの発話に対して不要な音声応答を省略することができる。
【００８４】
図１６は、図１の音声対話システムの対話例５における音声入出力ログを示す図、図１７は、図１の音声対話システムの対話例５におけるユーザ理解ＤＢの内容を示す図、図１８は、図１の音声対話システムの対話例５におけるシステム理解ＤＢの内容を示す図である。
図１６において、システムＳが、「○○ですね。有名な建物がＡＡＡで見られます。絵画に興味があるならＢＢＢがおすすめです。ＣＣＣには有名なＤＤＤ寺院があります。」と応答したところで、ユーザＵが「いいですね。」と発話したものとする。
【００８５】
ユーザＵが「いいですね。」と発話すると、システムＳのユーザ意図理解部１４は、ユーザＵが発話した文字列を構造化データＵ３Ａに変換し、図１７のユーザ理解ＤＢに格納するとともに、対話制御部１６に送信する。この時、システムＳは、ユーザ理解ＤＢに格納される構造化データＵ３Ａの発話ＩＤを４に設定する。対話制御部１６は、図２の対話制御ルールを参照し、その構造化データＵ３Ａに対応した情報要素がない場合は、システムＳは、ユーザＵの「いいですね。」に対する音声応答を出力しない。
【００８６】
また、対話制御部１６は、システムＳの応答中に音声区間開始を検出すると、音声合成の停止指示を音声合成部１８に送信する。音声合成部１８は、対話制御部１６から音声合成の停止指示を受信すると、送信完了位置に相当する「○○ですね。有名な建物がＡＡＡで見られます。絵画に興味があるならＢＢＢがおすすめです。ＣＣＣには有名なＤＤＤ寺院があります。」という部分文字列をシステム意図理解部１９に送信する。
【００８７】
システム意図理解部１９は、「○○ですね。有名な建物がＡＡＡで見られます。絵画に興味があるならＢＢＢがおすすめです。ＣＣＣには有名なＤＤＤ寺院があります。」という部分文字列から、目的語およびその目的語に関するトピックを抽出し、情報要素Ｓ１Ａ、Ｓ２Ａ、Ｓ３Ａに変換する。そして、システム意図理解部１９は、情報要素Ｓ１Ａ、Ｓ２Ａ、Ｓ３Ａを図１８のシステム理解ＤＢに格納する。この時、システムＳは、情報要素Ｓ１Ａ、Ｓ２Ａ、Ｓ３Ａの発話ＩＤを３に設定する。
【００８８】
次に、応答生成部１７は、構造化データＵ１に対応する情報要素Ｓ１Ａ、Ｓ２Ａ、Ｓ３Ａをシステム理解管理部２０から取得する。そして、応答生成部１７は、応答生成部１７が記憶した情報要素Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５と、システム理解管理部２０から取得した情報要素Ｓ１Ａ、Ｓ２Ａ、Ｓ３Ａとの対応関係を判断する。応答生成部１７が記憶した情報要素Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５の中に、システム理解管理部２０から取得した情報要素Ｓ１Ａ、Ｓ２Ａ、Ｓ３Ａ以外の情報要素がある場合、応答生成部１７は、構造化データＵ１に対応する全ての情報要素Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５がユーザＵに伝えられていないと判断することができる。この時、応答生成部１７は、図３の応答生成テンプレートを参照することで、情報要素Ｓ１Ａ、Ｓ２Ａ、Ｓ３Ａ以外の情報要素Ｓ４、Ｓ５を応答文の形式に変換し、その応答文を文字列として音声合成部１８に出力する。
【００８９】
そして、音声合成部１８は、応答生成部１７から受信した応答文を音声合成し、音声出力部２１に出力する。音声出力部２１は、音声合成にて生成された音声波形を出力することで、システムＳは、「はい。ＤＤＤ寺院は現在見ることができません。改装中です。」と応答する（発話ＩＤ＝５）。
【００９０】
また、音声合成部１８は、応答生成部１７から受信した応答文をシステム意図理解部１９に送信する。システム意図理解部１９は、「はい。ＤＤＤ寺院は現在見ることができません。改装中です。」という応答文から、目的語およびその目的語に関するトピックを抽出し、情報要素Ｓ４、Ｓ５に変換する。そして、システム意図理解部１９は、情報要素Ｓ４、Ｓ５を図１８のシステム理解ＤＢに格納する。この時、システムＳは、情報要素Ｓ４、Ｓ５の発話ＩＤを５に設定する。
【００９１】
次に、ユーザＵが「そうなんですね。」と発話したものとする（発話ＩＤ＝６）。この時、システムＳにおいて、ユーザ意図理解部１４は、ユーザＵが発話した文字列を構造化データＵ４Ａに変換し、図１７のユーザ理解ＤＢに格納するとともに、対話制御部１６に送信する。この時、システムＳは、ユーザ理解ＤＢに格納される構造化データＵ４Ａの発話ＩＤを６に設定する。対話制御部１６は、図２の対話制御ルールを参照し、その構造化データＵ４Ａに対応した情報要素がない場合は、システムＳは、ユーザＵの「そうなんですね。」に対する音声応答を出力しない。
【００９２】
ここで、応答生成部１７は、情報要素Ｓ４、Ｓ５を応答文の形式に変換する際に、図３の応答生成テンプレートを参照することで、情報要素Ｓ４のｏｂｊｅｃｔであるＤＤＤ寺院を補うことができる。このため、図１６の発話ＩＤ＝３の「現在見ることができません。改装中です。」という音声を出力する直前にバージインが発生した場合においても、システムＳは、「はい。ＤＤＤ寺院は現在見ることができません。改装中です。」という応答をバージイン後に出力することができ、バージイン後のシステムＳの応答に脈絡がなくなるのを防止することができる。
【００９３】
図１９は、図１の音声対話システムの対話例６における音声入出力ログを示す図、図２０は、図１の音声対話システムの対話例６におけるユーザ理解ＤＢの内容を示す図、図２１は、図１の音声対話システムの対話例６におけるシステム理解ＤＢの内容を示す図である。
図１９において、システムＳが、「○○ですね。有名な建物がＡＡＡで見られます。絵画に興味があるならＢＢＢがおすすめです。ＣＣＣには有名なＤＤＤ寺院があります。現在見ることができません。」と応答したところで、ユーザＵが「残念ですね。」と発話したものとする。
【００９４】
ユーザＵが「残念ですね。」と発話すると、システムＳのユーザ意図理解部１４は、ユーザＵが発話した文字列を構造化データＵ６に変換し、図２０のユーザ理解ＤＢに格納するとともに、対話制御部１６に送信する。この時、システムＳは、ユーザ理解ＤＢに格納される構造化データＵ６の発話ＩＤを４に設定する。対話制御部１６は、図２の対話制御ルールを参照し、その構造化データＵ６に対応した情報要素がない場合は、システムＳは、ユーザＵの「残念ですね。」に対する音声応答を出力しない。
【００９５】
また、対話制御部１６は、システムＳの応答中に音声区間開始を検出すると、音声合成の停止指示を音声合成部１８に送信する。音声合成部１８は、対話制御部１６から音声合成の停止指示を受信すると、送信完了位置に相当する「○○ですね。有名な建物がＡＡＡで見られます。絵画に興味があるならＢＢＢがおすすめです。ＣＣＣには有名なＤＤＤ寺院があります。現在見ることができません。」という部分文字列をシステム意図理解部１９に送信する。
【００９６】
システム意図理解部１９は、「○○ですね。有名な建物がＡＡＡで見られます。絵画に興味があるならＢＢＢがおすすめです。ＣＣＣには有名なＤＤＤ寺院があります。現在見ることができません。」という部分文字列から、目的語およびその目的語に関するトピックを抽出し、情報要素Ｓ１Ａ、Ｓ２Ａ、Ｓ３Ａ、Ｓ４に変換する。そして、システム意図理解部１９は、情報要素Ｓ１Ａ、Ｓ２Ａ、Ｓ３Ａ、Ｓ４を図２１のシステム理解ＤＢに格納する。この時、システムＳは、情報要素Ｓ１Ａ、Ｓ２Ａ、Ｓ３Ａ、Ｓ４の発話ＩＤを３に設定する。
【００９７】
次に、応答生成部１７は、構造化データＵ１に対応する情報要素Ｓ１Ａ、Ｓ２Ａ、Ｓ３Ａ、Ｓ４をシステム理解管理部２０から取得する。そして、応答生成部１７は、応答生成部１７が記憶した情報要素Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５と、システム理解管理部２０から取得した情報要素Ｓ１Ａ、Ｓ２Ａ、Ｓ３Ａ、Ｓ４との対応関係を判断する。応答生成部１７が記憶した情報要素Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５の中に、システム理解管理部２０から取得した情報要素Ｓ１Ａ、Ｓ２Ａ、Ｓ３Ａ、Ｓ４以外の情報要素がある場合、応答生成部１７は、構造化データＵ１に対応する全ての情報要素Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５がユーザＵに伝えられていないと判断することができる。この時、応答生成部１７は、図３の応答生成テンプレートを参照することで、情報要素Ｓ１Ａ、Ｓ２Ａ、Ｓ３Ａ、Ｓ４以外の情報要素Ｓ５を応答文の形式に変換し、その応答文を文字列として音声合成部１８に出力する。
【００９８】
そして、音声合成部１８は、応答生成部１７から受信した応答文を音声合成し、音声出力部２１に出力する。音声出力部２１は、音声合成にて生成された音声波形を出力することで、システムＳは、「はい。ＤＤＤ寺院は改装中です。」と応答する（発話ＩＤ＝５）。
【００９９】
また、音声合成部１８は、応答生成部１７から受信した応答文をシステム意図理解部１９に送信する。システム意図理解部１９は、「はい。ＤＤＤ寺院は改装中です。」という応答文から、目的語およびその目的語に関するトピックを抽出し、情報要素Ｓ５に変換する。そして、システム意図理解部１９は、情報要素Ｓ５を図２１のシステム理解ＤＢに格納する。この時、システムＳは、情報要素Ｓ５の発話ＩＤを５に設定する。
【０１００】
次に、ユーザＵが「そうですか。」と発話したものとする（発話ＩＤ＝６）。この時、システムＳにおいて、ユーザ意図理解部１４は、ユーザＵが発話した文字列を構造化データＵ４Ａに変換し、図２０のユーザ理解ＤＢに格納するとともに、対話制御部１６に送信する。この時、システムＳは、ユーザ理解ＤＢに格納される構造化データＵ４Ａの発話ＩＤを６に設定する。対話制御部１６は図２の対話制御ルールを参照し、その構造化データＵ４Ａに対応した情報要素がない場合は、システムＳは、ユーザＵの「そうですか。」に対する音声応答を出力しない。
【０１０１】
ここで、応答生成部１７は、情報要素Ｓ５を応答文の形式に変換する際に、図３の応答生成テンプレートを参照することで、情報要素Ｓ５のｏｂｊｅｃｔであるＤＤＤ寺院を補うことができる。このため、図１６の発話ＩＤ＝３の「改装中です。」という音声を出力する直前にバージインが発生した場合においても、システムＳは、「はい。ＤＤＤ寺院は改装中です。」という応答をバージイン後に出力することができ、バージイン後のシステムＳの応答に脈絡がなくなるのを防止することができる。
【０１０２】
なお、上述した実施形態では、応答生成部１７が対話制御部１６から出力された情報要素を記憶し、応答生成部１７が記憶した情報要素と、システム理解管理部２０から取得した応答済みの情報要素とを比較する方法について示した。別の実施形態として、対話制御部１６が応答生成部１７に出力した情報要素を記憶し、対話制御部１６が記憶した情報要素と、システム理解管理部２０から取得した応答済みの情報要素とを比較するようにしてもよい。この時、対話制御部１６が記憶した情報要素と、システム理解管理部２０から取得した応答済みの情報要素との間に差分がある場合、対話制御部１６が記憶した情報要素のうちの未応答の情報要素を応答生成部１７に出力するようにしてもよい。
【０１０３】
図２２は、図１の音声対話システムに適用可能な音声対話装置のハードウェア構成を示すブロック図である。
図２２において、音声対話装置１００には、プロセッサ１０１、通信制御デバイス１０２、通信インターフェース１０３、主記憶デバイス１０４および外部記憶デバイス１０５が設けられている。プロセッサ１０１、通信制御デバイス１０２、通信インターフェース１０３、主記憶デバイス１０４および外部記憶デバイス１０５は、内部バス１０６を介して相互に接続されている。主記憶デバイス１０４および外部記憶デバイス１０５は、プロセッサ１０１からアクセス可能である。
【０１０４】
また、音声対話装置１００の外部には、マイクロフォン１２０およびスピーカ１３０が設けられている。マイクロフォン１２０およびスピーカ１３０は、入出力インターフェース１０７を介して内部バス１０６に接続されている。
【０１０５】
プロセッサ１０１は、音声対話装置１００全体の動作制御を司るハードウェアである。主記憶デバイス１０４は、例えば、ＳＲＡＭまたはＤＲＡＭなどの半導体メモリから構成することができる。主記憶デバイス１０４には、プロセッサ１０１が実行中のプログラムを格納したり、プロセッサ１０１がプログラムを実行するためのワークエリアを設けたりすることができる。
【０１０６】
外部記憶デバイス１０５は、大容量の記憶容量を有する記憶デバイスであり、例えば、ハードディスク装置やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）である。外部記憶デバイス１０５は、各種プログラムの実行ファイルやプログラムの実行に用いられるデータを保持することができる。外部記憶デバイス１０５には、音声対話プログラム１０５Ａ、対話制御ルール１０５Ｂおよび応答生成テンプレート１０５Ｃを格納することができる。音声対話プログラム１０５Ａは、音声対話装置１００にインストール可能なソフトウェアであってもよいし、音声対話装置１００にファームウェアとして組み込まれていてもよい。
【０１０７】
通信制御デバイス１０２は、外部との通信を制御する機能を有するハードウェアである。通信制御デバイス１０２は、通信インターフェース１０３を介してネットワーク１０９に接続される。ネットワーク１０９は、インターネットなどのＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であってもよいし、ＷｉＦｉなどのＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であってもよいし、ＷＡＮとＬＡＮが混在していてもよい。
【０１０８】
入出力インターフェース１０７は、マイクロフォン１２０から入力される音声波形をプロセッサ１０１が処理可能なデータ形式に変換したり、プロセッサ１０１から出力されるデータをスピーカ１３０の駆動信号に変換したりする。入出力インターフェース１０７には、ＡＤコンバータおよびＤＡコンバータを設けるようにしてもよい。
【０１０９】
プロセッサ１０１が音声対話プログラム１０５Ａを主記憶デバイス１０４に読み出し、対話制御ルール１０５Ｂおよび応答生成テンプレート１０５Ｃを参照しつつ、音声対話プログラム１０５Ａを実行することにより、ユーザからのバージインに対応しつつ、ユーザとの対話を実現することができる。
【０１１０】
この時、音声対話プログラム１０５Ａは、図１の音声検出部１２、音声認識部１３、ユーザ意図理解部１４、対話制御部１６、応答生成部１７、音声合成部１８およびシステム意図理解部１９の機能を実現することができる。
なお、音声対話プログラム１０５Ａの実行は、複数のプロセッサやコンピュータに分担させてもよい。あるいは、プロセッサ１０１は、ネットワーク１０９を介してクラウドコンピュータなどに音声対話プログラム１０５Ａの全部または一部の実行を指示し、その実行結果を受け取るようにしてもよい。
【符号の説明】
【０１１１】
１１  音声入力部、１２  音声検出部、１３  音声認識部、１４  ユーザ意図理解部、１５  ユーザ理解管理部、１６  対話制御部、１７  応答生成部、１８  音声合成部、１９  システム意図理解部、２０  システム理解管理部、２１  音声出力部
【図１】
2020008635.tif 000003
【図２】
2020008635.tif 000004
【図３】
2020008635.tif 000005
【図４】
2020008635.tif 000006
【図５】
2020008635.tif 000007
【図６】
2020008635.tif 000008
【図７】
2020008635.tif 000009
【図８】
2020008635.tif 000010
【図９】
2020008635.tif 000011
【図１０】
2020008635.tif 000012
【図１１】
2020008635.tif 000013
【図１２】
2020008635.tif 000014
【図１３】
2020008635.tif 000015
【図１４】
2020008635.tif 000016
【図１５】
2020008635.tif 000017
【図１６】
2020008635.tif 000018
【図１７】
2020008635.tif 000019
【図１８】
2020008635.tif 000020
【図１９】
2020008635.tif 000021
【図２０】
2020008635.tif 000022
【図２１】
2020008635.tif 000023
【図２２】
2020008635.tif 000024