(57)【要約】【課題】従来、ユーザーと音声対話装置との一連の対話がある程度進行した後、そのユーザーまたは別のユーザーが過去の対話の状況を確認したり等ができなかった。【解決手段】クロスリンガルの音声対話システムであって、ユーザー端末からの指示をペアリングサーバーが受信した場合に、記録媒体に格納されている対話情報がユーザー端末に送信される音声対話システムにより、ユーザーと音声対話装置との一連の対話がある程度進行した後、そのユーザーまたは別のユーザーが過去の対話の状況を確認したり、認知したりすることができる。【選択図】図１
2018077306.tif 000002
【特許請求の範囲】
【請求項１】
記録媒体に、一連の対話の情報であり、ユーザーの発話入力音声の音声認識結果である発話テキストと、当該発話テキストから生成した１以上の発話翻訳結果と、前記発話テキストに対するシステムの応答である応答テキストと、当該応答テキストから生成した応答翻訳結果とを有する対話情報が格納され、
クロスリンガルの音声対話システムにおける対話の進行中に、ユーザー端末からペアリングの指示を受信した場合に、当該ユーザー端末とのペアリングの処理を行い、当該ユーザー端末に、前記対話情報を送信する音声対話システム。
【請求項２】
一連の対話の情報であり、ユーザーの発話入力音声の音声認識結果である発話テキストと当該発話テキストに対するシステムの応答である応答テキストとを有する対話情報が格納される対話情報格納部と、
２以上の異なる言語により発声され得る入力音声を受け付ける受付部と、
前記入力音声を音声認識し、音声認識結果である発話テキストを生成する音声認識部と、
前記発話テキストを用いて、当該発話テキストに対する応答である応答テキストを生成する対話制御部と、
前記発話テキストから１以上の発話翻訳結果を生成するとともに、前記応答テキストから１以上の応答翻訳結果を生成する翻訳部と、
前記応答テキストに応じた音声を取得する音声合成部と、
前記音声を出力する音声出力部と、
ユーザー端末からペアリングの指示を受信する指示受信部と、
指示受信部が前記ユーザー端末から前記指示を受信した場合に、前記対話情報格納部に格納されている対話情報を前記ユーザー端末に送信する対話情報送信部とを具備する音声対話装置。
【請求項３】
前記受付部は、
ユーザー端末からの入力音声も受け付け、
前記対話制御部は、
ユーザー端末からの入力音声が受け付けられた場合、当該入力音声に対応する発話テキストから、当該発話テキストに対する応答である応答テキストを生成し、
当該応答テキストが前記ユーザー端末に送信される請求項２記載の音声対話装置。
【請求項４】
前記対話制御部は、
一連の対話の対話情報の中の一の箇所を示す箇所情報をも受け付け、
前記対話情報の中の対話の情報であり、前記箇所情報に対応する箇所までの対話の情報を用いて、前記ユーザー端末からの入力音声に対応する発話テキストから、当該発話テキストに対する応答である応答テキストを生成する請求項３記載の音声対話装置。
【請求項５】
請求項１に記載の音声対話システムまたは請求項２ないし４いずれか一項に記載の音声対話装置との間の一連の対話の途中において、ペアリングの指示を送信する端末送信部と、
前記指示の送信に応じて、今までの一連の対話の情報である対話情報を受信する端末受信部と、
ユーザーが使用する言語を識別する言語識別子が格納される端末格納部と、
前記端末受信部が受信した対話情報の中の、前記言語識別子で識別される言語の情報のみを出力する端末出力部とを具備するユーザー端末。
【請求項６】
記録媒体に、一連の対話の情報であり、ユーザーの発話入力音声の音声認識結果である発話テキストと、当該発話テキストから生成した1以上の発話翻訳結果と、前記発話テキストに対するシステムの応答である応答テキストと、当該応答テキストから生成した応答翻訳結果とを有する対話情報が格納され、
クロスリンガルの音声対話システムにおける対話の進行中に、ユーザー端末からペアリングの指示を受信するステップと、
前記ペアリングの指示を受信した場合に、当該ユーザー端末とのペアリングの処理を行うステップと、
当該ユーザー端末に、前記対話情報を送信するステップとを具備する音声対話方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の言語が混在した環境で使用されるクロスリンガルの音声対話装置等に関するものである。
【背景技術】
【０００２】
音声対話システムは、ユーザーがシステムに対して質問等を音声で発話すると、システムはその発話に対して以下のような（１）から（４）の処理を行ない、得られた応答を音声または文字などで出力する。
（１）音声認識：音声発話を対応するテキストに変換する。
（２）言語理解：音声認識結果を、意味に応じた概念に分類すると共に、応答生成で使用するキーワードの抽出等を行なう。
（３）対話制御：概念およびキーワードから、それに相応しい応答のテキストを生成する。対話履歴の反映や、対話シナリオの遷移などを行なうことで、同一の音声発話に対しても異なる応答を生成するといった処理も必要に応じて行なう。
（４）音声合成：応答のテキストを、該当する音声波形に変換する。
【０００３】
また、空港や有名観光地など、様々な言語を話す人が集まる場所において、施設案内や観光案内を行なう音声対話システムは、複数の言語に対応していることが望ましい。単一言語のみに対応したシステムをモノリンガル（音声）対話システムと呼び、複数言語に対応したシステムをマルチリンガル（音声）対話システムと呼ぶ。言語の切り替えは、ユーザーによる手動操作の他に、ユーザー発話の言語を自動で判別し、その言語に合わせた音声認識・言語理解・応答生成・音声合成を使用することも技術的に可能である。
【０００４】
さらに、前述のような様々な言語を話す人々が存在する環境では、それぞれ別の言語を話す複数の人々が、一台のシステムを同時に使用するような場面も考えられる。そのような場面では、あるユーザーが一つの言語でシステムとの対話を進めた後、別の言語を話すユーザーがシステムとの対話を開始した場合に、そこまでの対話履歴を引き継いで応答生成がなされると、以下の点から有益である。
（１）前のユーザーが行なった質問に対して追加で質問したい場合に、言語が切り替わっても前の質問を入力し直す必要がないため、言語間での対話の引継ぎがない場合と比べ、同じ時間で多数のユーザーが使用することができる。
（２）異なる言語を話すユーザー同士でも、一台のシステムを協同で使用することが可能であるため、コミュニケーション促進ツールとなり得る。
【０００５】
以上のような特徴を持つ音声対話システムを、クロスリンガル音声対話システムと呼んでいる。
【０００６】
そして、クロスリンガル対話システムについて、以下の非特許文献１、非特許文献２の従来技術が公開されている。かかるクロスリンガル対話システムは、重み付き有限状態トランスデューサ（ＷＦＳＴ）の枠組みを用いた音声対話システムである。
【０００７】
上記の音声対話システムでは、ユーザーの発話およびシステムの応答を全ての対応言語で表示する機構を備えている。これを「実況中継ディスプレイ」と呼ぶ。実況中継ディスプレイの例を、図２７に示す。図２７では、音声対話システムである一台のロボット（Ｒ）と、英語・日本語・中国語を話す３人のユーザー（ＥＵ，ＪＵ，ＣＵ）とが対話を行なっている。ここでは、英語を話すユーザー（ＥＵ）がロボット（Ｒ）に対して英語で発話し、それに対してロボット（Ｒ）も英語で応答しており、日本語を話すユーザー（ＪＵ）および中国語を話すユーザー（ＣＵ）についても、それぞれ自分の言語で発話し、ロボット（Ｒ）はそれと同じ言語で応答する。一方、実況中継ディスプレイの表示では、ユーザーの発話は、ユーザーが発話した言語に加え、他の対応言語でも表示される。また、ロボット（Ｒ）の応答についても同様に、ユーザー発話と同じ言語に加え、他の対応言語でも表示される。
【０００８】
このような実況中継ディスプレイにより、クロスリンガル対話に参加している互いに異なる言語を話すユーザーは、他のユーザーの発話およびシステムの応答を容易に理解できるようになる。また、その対話システムの周辺で対話を眺めている人達（以下、適宜、「ギャラリー」と言う。）も、どのような対話が行われているか理解できるため、途中から対話に参加しやすくなる。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】岡本拓磨, 廣江厚夫, 堀智織, 河井恒,"言語理解WFST並列接続に基づくクロスリンガル音声対話", 2015年秋季日本音響学会研究発表会講演論文集, pp.35-38, 2015年9月.
【非特許文献２】"クロスリンガル音声対話システムの紹介"、［online］、［平成２８年１０月３０日検索］、インターネット［URL：https://www.nict.go.jp/video/cross-lingual.html］
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、従来の音声対話システムにおいては、ユーザーと音声対話システムとの一連の対話がある程度進行した後、そのユーザーまたは別のユーザーが過去の対話の状況を確認したり、認知したりすることができない、という課題があった。
【００１１】
さらに詳細には、上述した実況中継ディスプレイには、例えば、以下のような（Ａ）から（Ｃ）の課題があった。
（Ａ）対話システムがディスプレイを持っていない場合には適用できない。
（Ｂ）一台のディスプレイで全ユーザーに対して全言語で情報を表示しているため、あまり多くの情報は表示できない。すなわち、ユーザー発話とシステム応答は最新のものか、せいぜい数ターン前までしか表示できない。従って、ギャラリーが対話を理解するためには、対話開始（対話セッションの開始）から実況中継ディスプレイをずっと眺めている必要があった。
（Ｃ）ギャラリーが対話の途中から参加できるといっても、既存のユーザーの対話の邪魔をしたくない場合、あるいは、発話を他人に聞かれたくないと思った場合は、途中からの参加を躊躇してしまう。
【００１２】
以上の課題に鑑み、本発明のうちの少なくとも一部は、クロスリンガル音声対話システム等において、ユーザーと音声対話システムとの一連の対話がある程度進行した後でも、そのユーザーまたは別のユーザーが過去の対話の状況を確認したり、認知したりすることを目的とする。
【００１３】
また、本発明のうちの少なくとも一部は、一連の対話の途中から、１人目のユーザーとは独立に対話を続けることを目的とする。
【課題を解決するための手段】
【００１４】
本第一の発明の音声対話システムは、記録媒体に、一連の対話の情報であり、ユーザーの発話入力音声の音声認識結果である発話テキストと、当該発話テキストから生成した１以上の発話翻訳結果と、前記発話テキストに対するシステムの応答である応答テキストと、当該応答テキストから生成した応答翻訳結果とを有する対話情報が格納され、クロスリンガルの音声対話システムにおける対話の進行中に、ユーザー端末からペアリングの指示を受信した場合に、当該ユーザー端末とのペアリングの処理を行い、当該ユーザー端末に、前記対話情報を送信する音声対話システムである。
【００１５】
かかる構成により、クロスリンガル音声対話システムにおいて、ユーザーと音声対話システムとの一連の対話がある程度進行した後、そのユーザーまたは別のユーザーが過去の対話の状況を確認したり、認知したりすることができる。
【００１６】
また、本第二の発明の音声対話システムは、一連の対話の情報であり、ユーザーの発話入力音声の音声認識結果である発話テキストと当該発話テキストに対するシステムの応答である応答テキストとを有する対話情報が格納される対話情報格納部と、２以上の異なる言語により発声され得る入力音声を受け付ける受付部と、入力音声を音声認識し、音声認識結果である発話テキストを生成する音声認識部と、発話テキストを用いて、当該発話テキストに対する応答である応答テキストを生成する対話制御部と、発話テキストから1以上の発話翻訳結果を生成するとともに、応答テキストから１以上の応答翻訳結果を生成する翻訳部と、応答テキストに応じた音声を取得する音声合成部と、音声を出力する音声出力部と、ユーザー端末からペアリングの指示を受信する指示受信部と、指示受信部がユーザー端末から指示を受信した場合に、対話情報格納部に格納されている対話情報をユーザー端末に送信する対話情報送信部とを具備する音声対話装置である。
【００１７】
かかる構成により、ユーザーと音声対話装置との一連の対話がある程度進行した後、そのユーザーまたは別のユーザーが過去の対話の状況を確認したり、認知したりすることができる
【００１８】
また、本第三の発明の音声対話装置は、第二の発明に対して、受付部は、ユーザー端末からの入力音声も受け付け、対話制御部は、ユーザー端末からの入力音声が受け付けられた場合、当該入力音声に対応する発話テキストから、当該発話テキストに対する応答である応答テキストを生成し、当該応答テキストが前記ユーザー端末に送信される音声対話装置である。
【００１９】
かかる構成により、ユーザーがユーザー端末に対して発話した場合、同期が解除され、対話履歴の分岐を発生させることができる。つまり、例えば、２人目以降のユーザーは、自分のユーザー端末に発話することで、対話の途中から、１人目のユーザーとは独立に対話を続けることができる。
【００２０】
また、本第四の発明の音声対話システムは、第三の発明に対して、対話制御部は、一連の対話の対話情報の中の一の箇所を示す箇所情報をも受け付け、対話情報の中の対話の情報であり、箇所情報に対応する箇所までの対話の情報を用いて、ユーザー端末からの入力音声に対応する発話テキストから、当該発話テキストに対する応答である応答テキストを生成する音声対話装置である。
【００２１】
かかる構成により、対話の分岐を、過去の対話のやり取りに遡って行なうことができる。
【００２２】
また、本第五の発明のユーザー端末は、音声対話システムまたは音声対話装置との間の一連の対話の途中において、ペアリングの指示を送信する端末送信部と、指示の送信に応じて、今までの一連の対話の情報である対話情報を受信する端末受信部と、ユーザーが使用する言語を識別する言語識別子が格納される端末格納部と、端末受信部が受信した対話情報の中の、言語識別子で識別される言語の情報のみを出力する端末出力部とを具備するユーザー端末である。
【００２３】
かかる構成により、ユーザーと音声対話装置との一連の対話がある程度進行した後、別のユーザーが過去の対話の状況を、自分が使用する言語で、確認したり、認知したりすることができる
【発明の効果】
【００２４】
本発明による音声対話システム等によれば、ユーザーとの一連の対話がある程度進行した後であっても、そのユーザーまたは別のユーザーが過去の対話の状況を確認したり、認知したりすることができる。
【図面の簡単な説明】
【００２５】
【図１】実施の形態１における音声対話システム１のシステム構成図の例を示す図
【図２】同音声対話システム１を構成する音声認識サーバー１１のブロック図
【図３】同対話制御サーバー１２のブロック図
【図４】同対話制御サーバー１２を構成する対話制御モジュール１２２のブロック図
【図５】同音声合成サーバー１３のブロック図
【図６】同機械翻訳サーバー１４のブロック図
【図７】同ペアリングサーバー１５のブロック図
【図８】同対話クライアント１６およびロボット１７のブロック図
【図９】同ユーザー端末１８のブロック図
【図１０】同対話制御サーバー１２の動作について説明するフローチャート
【図１１】同ユーザー端末１８の動作について説明するフローチャート
【図１２】同表示例を示す図
【図１３】同表示例を示す図
【図１４】同表示例を示す図
【図１５】同表示例を示す図
【図１６】同対話シナリオの例を示す図
【図１７】同対話履歴である対話情報を示す図
【図１８】同対話クライアント１６の詳細な例を示す図
【図１９】同クロスリンガル音声対話システム１の一状態を示す図
【図２０】同クロスリンガル音声対話システム１の一状態を示す図
【図２１】同クロスリンガル音声対話システム１の一状態を示す図
【図２２】同対話履歴である対話情報を示す図
【図２３】実施の形態２における音声対話システム２のブロック図
【図２４】同音声対話装置２１の動作について説明するフローチャート
【図２５】実施の形態１、実施の形態２のコンピュータシステムの概観図
【図２６】同コンピュータシステムの内部構成を示すブロック図
【図２７】従来技術の実況中継ディスプレイの例を示す図
【発明を実施するための形態】
【００２６】
以下、音声対話システム等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００２７】
（実施の形態１）
【００２８】
本実施の形態において、クロスリンガルの音声対話システムにおける対話の進行中に、記録媒体に、一連の対話の情報であり、ユーザーの発話である入力音声の音声認識結果である発話テキストと発話テキストに対するシステムの応答である応答テキストとを有する対話情報が格納され、対話の進行中に、ユーザー端末からペアリングの指示を受信した場合に、ユーザー端末とのペアリングの処理を行い、ユーザー端末に、対話情報を送信する音声対話システムについて説明する。
【００２９】
また、本実施の形態において、音声対話システムとユーザー端末との同期がとれる音声対話システムについて説明する。
【００３０】
また、本実施の形態において、ユーザーがユーザー端末に対して発話した場合、音声対話システムとの同期が解除され、対話履歴の分岐を発生し得る音声対話システムについて説明する。
【００３１】
また、本実施の形態において、ユーザー端末上での操作により、分岐は、過去のやり取りに遡って行なうこともできる音声対話システムについて説明する。
【００３２】
図１は、本実施の形態における音声対話システム１のシステム構成図の例である。音声対話システム１は、音声認識サーバー１１、対話制御サーバー１２、音声合成サーバー１３、機械翻訳サーバー１４、ペアリングサーバー１５、対話クライアント１６、ロボット１７、および１または２以上のユーザー端末１８を備える。なお、音声対話システム１は、ユーザー端末１８を備えないと考えても良い。
【００３３】
または、音声認識サーバー１１、対話制御サーバー１２、音声合成サーバー１３、機械翻訳サーバー１４、ペアリングサーバー１５、対話クライアント１６、およびユーザー端末１８は、インターネットまたはＬＡＮ等のネットワークにより相互に通信可能である、とする。
【００３４】
なお、音声対話システム１は現実の対話エージェントとしてロボット１７を備え、それは対話クライアント１６から制御できるものとする。
【００３５】
また、音声認識サーバー１１、対話制御サーバー１２、音声合成サーバー１３、機械翻訳サーバー１４、ペアリングサーバー１５、および対話クライアント１６は、通常、いわゆるサーバー装置であり、例えば、クラウドサーバー、ＡＳＰサーバーであり、その種類は問わない。上記のサーバーは、いわゆるパーソナルコンピュータ等により実現されても良い。ロボット１７は、対話を行うユーザーが話しかけるロボットである。ロボットは、人型であっても良いし、動物等を模したものであっても良い。つまり、ロボットの形状は問わない。ロボット１７は、受け付けたユーザーの音声を対話クライアント１６に渡し、対話クライアント１６から受け付けた音声を出力する。また、対話クライアント１６とロボット１７とは一体となっていても良いことは言うまでもない。さらに、ユーザー端末１８は、例えば、いわゆるスマートフォン、タブレット端末、パーソナルコンピュータ、携帯電話等であり、その種類は問わない。なお、ロボット１７を、適宜、対話ロボット１７という。
【００３６】
図２は、本実施の形態における音声対話システム１を構成する音声認識サーバー１１のブロック図である。音声認識サーバー１１は、音声受付部１１１、言語識別部１１２、音声認識エンジン１１３、および発話テキスト送出部１１４を備える。ここでの音声認識エンジン１１３は、日本語、英語などの２以上の言語に対応する言語毎の音声認識エンジン１１３を有するが、一つの音声認識エンジン１１３が複数の言語の音声に対して音声認識処理を行っても良いことは言うまでもない。
【００３７】
音声認識サーバー１１は、２以上の異なる言語により発声され得る入力音声を受け付け、入力音声を音声認識し、音声認識結果である発話テキストを生成する。さらに詳細には、音声認識サーバー１１は、受け付けた音声波形に対応した言語を特定するとともに、認識結果の生成を行ない、言語識別結果である言語識別子と認識結果とのセットをクライアントに送信する。なお、ここで言うクライアントは、サービス（ここでは、音声認識処理）を依頼する装置である。クライアントは、例えば、対話クライアント１６であるが、ユーザー端末１８等でも良く、問わない。
【００３８】
また、音声認識サーバー１１は、ユーザー端末１８からの入力音声も受け付ける。ここでの受け付けとは、通常、受信である。ただし、受け付けとは、図示しないマイクからの入力音声の受け付けでも良い。入力音声は、ユーザーがロボット１７またはユーザー端末１８に対して発生した音声のデータである。なお、音声認識サーバー１１が行う音声認識処理は種々のアルゴリズムが考えられ、音声認識処理は公知技術であるので、詳細な説明は省略する。
【００３９】
以下音声認識サーバー１１の詳細について述べる。音声認識サーバー１１を構成する音声受付部１１１は、入力音声を受け付ける。
【００４０】
言語識別部１１２は、音声受付部１１１が受け付けた入力音声から、言語を識別する処理を行い、言語識別子を取得する。言語識別子は、言語を識別する情報であれば良く、そのデータ構造は問わない。言語識別子は、例えば、「日本語」「英語」「中国語」「韓国語、或いは「日」「英」「中」「韓」等である。なお、言語識別部１１２の処理は公知技術であるので、詳細な説明は省略する。
【００４１】
音声認識エンジン１１３は、音声受付部１１１が受け付けた入力音声を音声認識し、音声認識結果である発話テキストを取得する。
【００４２】
発話テキスト送出部１１４は、音声認識エンジン１１３が取得した発話テキストを送出する。発話テキスト送出部１１４は、通常、発話テキストをクライアントに送信する。なお、ここでのクライアントは、例えば、音声認識サーバー１１、対話制御サーバー１２、対話クライアント１６、ユーザー端末１８であるが、他の装置でも良い。
【００４３】
図３は、対話制御サーバー１２のブロック図である。対話制御サーバー１２は、発話テキスト受付部１２１、対話制御モジュール１２２、および応答テキスト送出部１２３を備える。対話制御サーバー１２は、例えば、後述する分岐が発生した場合に対応できるように、複数の各対話制御モジュール１２２が存在し得る。
【００４４】
対話制御サーバー１２は、音声認識サーバー１１が生成した発話テキストを受け付け、発話テキストに対する応答である応答テキストを生成する。対話制御サーバー１２は、ユーザー端末１８からの入力音声が受け付けられた場合も、当該入力音声に対応する発話テキストから、発話テキストに対する応答である応答テキストを生成する。
【００４５】
また、対話制御サーバー１２は、過去の発話テキストと応答テキストとを対話履歴として保存しており、クライアントからのリクエストに応じてそれの送信も行なうことができる。対話制御および履歴の管理はクライアントごとに行なう必要があるため、対話制御サーバーは、通常、各クライアントに対応した対話制御モジュールを保持する。なお、ここでのクライアントは、例えば、ユーザー端末１８であるが、他の装置でも良い。
【００４６】
対話制御サーバー１２は、一連の対話の対話情報の中の一の箇所を示す箇所情報をも受け付けても良い。かかる場合、対話制御サーバー１２は、一連の対話の対話情報の中の、当該箇所情報が示す箇所までの対話情報を用いて、受け付けた発話テキストに対する応答である応答テキストを生成できる。対話情報は、一連の対話の履歴の情報である。対話情報は、通常、発話テキストと１以上の発話翻訳結果と応答テキストと１以上の応答翻訳結果とを有する。発話テキストは、ユーザーの発話である入力音声の音声認識結果である。発話翻訳結果は、発話テキストの言語以外の言語への発話テキストの翻訳結果である。応答テキストは、発話テキストに対するシステムの応答である。応答翻訳結果は、応答テキストの言語以外の言語への応答テキストの翻訳結果である。
【００４７】
対話制御サーバー１２を構成する発話テキスト受付部１２１は、発話テキストを受け付ける。発話テキスト受付部１２１は、通常、音声認識サーバー１１から発話テキストを受信する。
【００４８】
対話制御モジュール１２２は、発話テキスト受付部１２１が受け付けた発話テキストから、当該発話テキストが示す発話に対応する応答である応答テキストを生成する。対話制御モジュール１２２のアルゴリズムは問わない。対話制御モジュール１２２について、例えば、特開２０１３−１６８１６９、特開２０１１−２４８５４９、特開２００９−２１１６２９、特願２０１６−１４８９８４等に記載されている、発話テキストから応答テキストを生成するアルゴリズムが利用可能である。また、発話テキストから応答テキストを生成するアルゴリズムについて、種々の公知のアルゴリズムが利用可能である。
【００４９】
図４は、対話制御サーバー１２を構成している対話制御モジュール１２２のブロック図の例である。対話制御モジュール１２２は、例えば、対話シナリオ格納部１２２１、データベース１２２２、対話履歴格納部１２２３、言語理解部１２２４、シナリオ制御部１２２５、および応答生成部１２２６を備える。なお、図４では、対話制御モジュール１２２は、各言語に対応する複数の言語理解部１２２４を有するが、一つの言語理解部１２２４が複数の言語に対する処理を行っても良い。
【００５０】
対話制御モジュール１２２を構成する対話シナリオ格納部１２２１は、対話制御のための対話シナリオが格納されている。対話シナリオは、対話のシナリオ、つまり対話の流れを示す情報である。
【００５１】
対話シナリオは、例えば、以下の対話構造情報である。対話構造情報とは、対話の繋がりを示す情報であって、対話連結情報を１以上有する。対話連結情報は、第一話者（通常、ユーザー）の入力音声を抽象する第一対話行為タグと、第二話者（通常、音声対話システム１）の出力音声を抽象する第二対話行為タグとを有する。ここで、第一話者は、例えば、音声対話システム１を利用するユーザーを示す。第二話者は、音声対話システム１内の仮想的な話者を示す。また、第一対話行為タグと第二対話行為タグのどちらかは空でも良い。また、入力音声又は出力音声の抽象とは、入力音声又は出力音声を構成する文の意義、意味などから、入力音声又は出力音声を種類に分類することをいう。なお、入力音声又は出力音声を種類に分類することは、入力音声又は出力音声に対して、複数の種類の中の１の種類を決定することである。そして、入力音声又は出力音声を抽象した対話行為タグは、対話行為の種類を示す情報である。対話行為の種類を示す情報は、例えば、「ｑ．ｓｐｏｔ」「ｑ．ｗｅａｔｈｅｒ」「ｑ．ｈｏｗ−ｔｏ−ｔａｋｅ」「ｑ．ｃｏｓｔ」「ｔｈａｎｋｓ」などがある。ｑ．ｓｐｏｔは観光場所を尋ねる質問、ｑ．ｗｅａｔｈｅｒは今日の天気を尋ねる質問、ｑ．ｈｏｗ−ｔｏ−ｔａｋｅは目的地までどのように行くかを尋ねる質問、ｑ．ｃｏｓｔは目的地までに必要な金額を尋ねる質問、ｔｈａｎｋｓはお礼を表す対話行為タグである。第二話者の出力音声は、通常、第一話者の入力音声に対応する応答の音声などである。対話連結情報は、始端ノード識別子と終端ノード識別子と第一対話行為タグと第二対話行為タグとを有しても良い。また、対話連結情報は、始端ノード識別子で識別されるノードから終端ノード識別子で識別されるノードへの遷移の確率を示す情報である重み情報をも有することは好適である。対話連結情報は、動作を示す情報である動作識別子をもさらに有することは好適である。また、対話連結情報は、始端ノード識別子と終端ノード識別子を有し、第一対話行為タグ、第二対話行為タグ、動作識別子のうちの１以上の情報とを有しても良い。動作識別子とは、例えば、関数名、メソッド名、実行モジュール名などである。ここで、ノードは、概念的な対話の状態を示すものである。なお、始端ノード識別子とは、対話の始端を示すノードを識別する情報である。また、終端ノード識別子とは、対話の終端を示すノードを識別する情報である。始端ノード識別子と、終端ノード識別子とにより、１回の対話のキャッチボール（質問と回答など）が実現していることとなる。なお、対話の繋がりを示す情報とは、対話連結情報に含まれる始端ノード識別子と、対話連結情報に含まれる終端ノード識別子とにより繋がりが示されている情報でも良いし、対話連結情報間を有向リンクにより繋げることにより、繋がりが示されている情報でも良い。また、動作識別子は、第一話者が入力した文に対する処理を行う前処理の動作識別子、第二話者の出力文に対する処理を行う後処理の動作識別子、その他の一般的な処理を行う動作識別子など、いくつかの種類があり、適用される文や情報が異なっても良い。
【００５２】
データベース１２２２は、応答テキストを生成するための情報を有する。かかる情報は、例えば、交通機関等の経路を示す情報、交通機関における交通費の情報、経路の所要時間の情報等である。ただし、かかる情報の種類や内容は問わない。
【００５３】
対話履歴格納部１２２３は、対話の履歴、即ち対話情報を格納している。この対話情報は、例えば既に出現した対話文である。なお、対話履歴格納部１２２３は、図示しない外部の記録媒体に存在していても良い。対話履歴格納部１２２３が外部の記録媒体に存在する場合、対話制御サーバー１２から当該記録媒体にアクセス可能である。
【００５４】
言語理解部１２２４は、発話テキストの理解のための処理を行う。言語理解部１２２４は、基本的に対応言語ごとに存在する。言語理解部１２２４は、例えば、以下の２つの処理を行なう。（１）音声認識結果である発話テキストを言語非依存のコンセプトシンボルに変換する。（２）発話テキストから、スポット名や時刻といった、応答の生成で鍵となる語句を抽出する。
【００５５】
シナリオ制御部１２２５は、言語理解部１２２４の処理結果を用いて、応答テキストを生成するためのコマンドを生成する。シナリオ制御部１２２５は、例えば、言語理解部１２２４によって生成されたコンセプトシンボルおよびキーワードを入力として、対話シナリオ上で状態を遷移させつつ、応答生成のためのコマンドを生成する。
【００５６】
応答生成部１２２６は、シナリオ制御部１２２５によって生成された応答生成用コマンドから、応答テキストを生成する。なお、本発明のクロスリンガルの音声対話システム１では、応答を全対応言語で表示するため、応答テキストは全ての対応言語の分を生成する。
【００５７】
応答生成においては、ユーザーの発話（例えば、質問）の内容によっては経路・交通費・所要時間などを調べる必要があるが、応答生成部１２２６は、データベース１２２２を必要に応じて参照し、経路・交通費・所要時間などの情報を取得し、当該情報を用いて、応答テキストを生成する。
【００５８】
図３の応答テキスト送出部１２３は、応答生成部１２２６が生成した応答テキストを送出する。ここでの送出は、通常、送信である。ただし、送出は、他のモジュールへの引き渡し等でも良い。
【００５９】
図５は、音声合成サーバー１３のブロック図である。音声合成サーバー１３は、応答テキスト受付部１３１、音声合成エンジン１３２、および音声送出部１３３を備える。なお、図５では、音声合成サーバー１３は、各言語に対応する複数の音声合成エンジン１３２を有するが、一つの音声合成エンジン１３２が複数の言語に対する音声合成処理を行っても良い。
【００６０】
音声合成サーバー１３は、応答テキストに応じた音声を生成する。音声合成サーバー１３は、クライアントから送信されてきた応答テキストに対応した音声波形を生成し、クライアントに送信する。なお、ここでのクライアントは、例えば、対話制御サーバー１２であるが、他の装置でも良い。
【００６１】
音声合成サーバー１３を構成する応答テキスト受付部１３１は、対話制御サーバー１２から送出された応答テキストを受け付ける。
【００６２】
音声合成エンジン１３２は、応答テキスト受付部１３１が受け付けた応答テキストに対して音声合成処理を行い、音声を取得する。
【００６３】
音声送出部１３３は、音声合成エンジン１３２が取得した音声を、通常、対話クライアント１６へ送出する。
【００６４】
図６は、機械翻訳サーバー１４のブロック図である。機械翻訳サーバー１４は、テキスト受付部１４１、機械翻訳エンジン１４２、および翻訳結果送出部１４３を備える。なお、図６では、機械翻訳サーバー１４は、全言語対に対応する複数の機械翻訳エンジン１４２を有するが、一つの機械翻訳エンジン１４２が複数の言語対に対する機械翻訳処理を行っても良い。
【００６５】
機械翻訳サーバー１４は、発話テキストを当該発話テキストの言語以外の１以上の言語に翻訳し、１以上の発話翻訳結果を取得する。また、機械翻訳サーバー１４は、応答テキストを当該応答テキストの言語以外の１以上の言語に翻訳し、１以上の応答翻訳結果を取得する。
【００６６】
詳細には、機械翻訳サーバー１４は、例えば、クライアントから送信された翻訳元言語のテキストおよび翻訳元言語のＩＤ（＝言語識別子）と１以上の翻訳先言語のＩＤとから、翻訳先言語のテキストを生成し、クライアントに送信する。機械翻訳サーバー１４では、実況中継ディスプレイにおいて、ユーザー発話を元の言語以外の全対応言語で表示するために補助的に用いている。機械翻訳サーバー１４の内部は図６の通りであり、各対応言語の一方を翻訳元言語、もう一方を翻訳先言語とする機械翻訳エンジン１４２を具備する。対応言語数をＮとすると、機械翻訳エンジン１４２は、Ｎ×(Ｎ−１)個用意してもよい。なお、機械翻訳サーバー１４は、公知技術であるので、詳細な説明を省略する。なお、ここでのクライアントは、例えば、音声認識サーバー１１、対話制御サーバー１２、ユーザー端末１８であるが、他の装置でも良い。
【００６７】
テキスト受付部１４１は、音声認識サーバー１１からの発話テキスト並びに対話制御サーバー１２からの応答テキストを受け付ける。
【００６８】
機械翻訳エンジン１４２は、テキスト受付部１４１が受け付けたテキストに対して、機械翻訳処理を行い、目的言語のテキストを取得する。かかるテキストは、１以上の発話翻訳結果または１以上の応答翻訳結果である。
【００６９】
翻訳結果送出部１４３は、機械翻訳エンジン１４２が取得した翻訳結果のテキストを送出する。ここでの送出は、クライアントへの送信である。
【００７０】
図７は、ペアリングサーバー１５のブロック図である。ペアリングサーバー１５は、例えば、ペアリング情報格納部１５１、指示受信部１５２、ペアリング情報蓄積部１５３、およびペアリング関連情報送出部１５４を備える。
【００７１】
ペアリングサーバー１５は、対話クライアント１６（およびロボット１７）とユーザー端末１８との間でペアリングを行なうために用いる。ペアリングサーバー１５は、通常、ユーザー端末１８からのペアリングの指示を受信し、当該指示に応じたペアリングの処理を行う。ペアリングサーバー１５は、例えば、ユーザー端末１８からのペアリングの指示を受信し、指示に応じたペアリング情報を蓄積する。ここで、ペアリングの指示は、例えば、ユーザー端末１８を識別する端末識別子、または対話情報が格納されている記憶領域のＵＲＬ等を含む。
【００７２】
ペアリングサーバー１５が行うペアリングでは既存の技術が利用可能であるが、例えば、下記のような方法（１）〜（４）を用いる。
（１）予め、ペアリングサーバー１５にＵＲＬを付与しておく。また、対話クライアント１６とペアリングサーバー１５とは予めセッションを確立しておき、両者間でデータのやり取りができるようにしておく。
（２）対話クライアント１６またはロボット１７に、そのＵＲＬを埋め込んだコード（例えば、ＱＲコード（登録商標）、バーコード等）、またはそれに類するものを印刷しておく。
（３）ユーザー端末１８上でコードリーダーのアプリまたはそれに類するものを起動し、ユーザー端末１８のカメラでそのコードを撮影すると、ユーザー端末１８とペアリングサーバー１５の間でセッションが確立される。
（４）対話クライアント１６とペアリングサーバー１５との間は既にセッションが確立されているため、（３）と合わせて対話クライアント１６とユーザー端末１８との間でペアリングが完成したことになる。
【００７３】
ペアリングサーバー１５を構成するペアリング情報格納部１５１は、ユーザー端末１８とのペアリングを示す情報である１以上のペアリング情報が格納される。ペアリング情報は、例えば、ユーザー端末１８の端末識別子である。
【００７４】
指示受信部１５２は、例えば、端末識別子を有するペアリングの指示を受信する。指示受信部１５２は、通常、ユーザー端末１８から指示を受信する。
【００７５】
ペアリング情報蓄積部１５３は、指示受信部がペアリングの指示を受信した場合に、指示に対応するペアリング情報をペアリング情報格納部１５１に蓄積する。
【００７６】
ペアリング関連情報送出部１５４は、対話クライアント１６とユーザー端末１８との間でペアリングを行なうためのペアリング関連情報を送出する。ペアリング関連情報のデータ構造等は問わない。ペアリング関連情報は、例えば、対話クライアント１６がユーザー端末１８にテキストを送信するために用いる、端末識別子である。
【００７７】
図８は、対話クライアント１６およびロボット１７のブロック図である。対話クライアント１６は、音声受付部１６１、音声出力部１６２を備える。
【００７８】
対話クライアント１６は、音声合成サーバー１３が取得した音声を受け付け、出力する。ここでの出力は、通常、ロボット１７への引き渡しである。また、対話クライアント１６は、ロボット１７から入力音声を受け付ける。
【００７９】
対話クライアント１６は、例えば、主に以下の処理を行なうモジュールである。
（１）ロボット１７のマイクロホンから音声波形を取得し、それを音声認識サーバー１１に送信し、音声認識結果（応答テキスト）と言語識別子とを受信する。
（２）音声認識結果と言語識別子とを対話制御サーバー１２に送信し、全言語分の応答テキストを受信する。
（３）全言語分の応答テキストの内、言語識別子と一致する言語に対応するものを音声合成サーバー１３に送信し、そのテキストに対応した音声波形を受信する。
（４）受信した音声波形をロボット１７のスピーカーから出力する。
（５）必要に応じて、ユーザー発話とシステム応答などからなる対話履歴を対話制御サーバー１２から受信し、その情報を加工した上で、ディスプレイへの表示やユーザー端末１８への送信を行なう。
【００８０】
対話クライアント１６を構成する音声受付部１６１は、入力音声を受け付ける。ここでの受け付けは、通常、ロボット１７からの受信である。
【００８１】
音声出力部１６２は、音声受付部１６１が受け付けた入力音声を音声認識サーバー１１に送出する。また、音声出力部１６２は、音声合成サーバー１３から受け付けた音声をロボット１７に送出する。
【００８２】
ロボット１７は、ユーザーから入力音声を受け付ける。また、ロボット１７は、応答テキストに応じた音声を出力する。ここでの出力は、通常、音声出力である。ロボット１７がディスプレイを有する場合、発話テキスト、１以上の発話翻訳結果、応答テキスト、１以上の応答翻訳結果を、当該ディスプレイに表示することは好適である。なお、かかるディスプレイを、実況中継ディスプレイという。
【００８３】
図９は、ユーザー端末１８のブロック図である。ユーザー端末１８は、端末格納部１８１、端末受付部１８２、端末処理部１８３、端末送信部１８４、端末受信部１８５、および端末出力部１８６を備える。
【００８４】
ユーザー端末１８は、対話に参加するユーザーが保持する端末である。ユーザー端末１８は、通常、実況中継ディスプレイに表示されている文の中のユーザーが理解できる言語の文の表示を行なう他、仮想エージェントの持ち出しや同期・分岐などを行なうことができる。仮想エージェントの持ち出しや同期・分岐などの詳細については、後述する。
【００８５】
ユーザー端末１８を構成する端末格納部１８１は、各種の情報を格納している。各種の情報とは、例えば、ユーザーが使用する言語を識別する言語識別子、ユーザー端末１８を識別する端末識別子等である。
【００８６】
端末受付部１８２は、入力音声やペアリングの指示等の各種の情報や指示等を受け付ける。各種の情報や指示等の入力手段は、マイク、カメラ、タッチパネル、メニュー画面によるもの等、何でも良い。端末受付部１８２は、入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【００８７】
端末処理部１８３は、各種の処理を行う。各種の処理とは、例えば、受信された対話情報から、端末格納部１８１の言語識別子に対応するテキストを取得するフィルタリング処理、端末受付部１８２が受け付けた情報や指示等から送信する情報や指示等を構成する処理、端末受信部１８５が受信した情報を表示するための情報に構成する処理等である。
【００８８】
端末送信部１８４は、各種の情報や指示等を送信する。端末送信部１８４は、例えば、音声対話システム１との間の一連の対話の途中において、ペアリングの指示を送信する。
【００８９】
端末受信部１８５は、各種の情報を受信する。端末受信部１８５は、例えば、ペアリングの指示の送信に応じて、今までの一連の対話の情報である対話情報を受信する。
【００９０】
端末出力部１８６は、端末受信部１８５が受信した情報をフィルタリングして出力する。端末出力部１８６は、端末受信部１８５が受信した対話情報の中の、言語識別子で識別される言語の情報のみを出力することは好適である。つまり、端末出力部１８６は、端末処理部１８３が行ったフィルタリング処理の結果、抽出されたテキストのみを出力することは好適である。
【００９１】
言語識別部１１２、音声認識エンジン１１３、言語理解部１２２４、シナリオ制御部１２２５、応答生成部１２２６、音声合成エンジン１３２、機械翻訳エンジン１４２、ペアリング情報蓄積部１５３、および端末処理部１８３は、通常、ＭＰＵやメモリー等から実現され得る。言語識別部１１２等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００９２】
音声受付部１１１、発話テキスト受付部１２１、応答テキスト受付部１３１、テキスト受付部１４１、指示受信部１５２、音声受付部１６１、および端末受信部１８５は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【００９３】
発話テキスト送出部１１４、応答テキスト送出部１２３、音声送出部１３３、翻訳結果送出部１４３、ペアリング関連情報送出部１５４、音声出力部１６２、および端末送信部１８４は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【００９４】
端末出力部１８６は、ディスプレイやスピーカー等の出力デバイスとそのドライバーソフトによって構成されている。
【００９５】
次に、音声対話システム１の動作について説明する。まず、対話制御サーバー１２の動作について、図１０のフローチャートを用いて説明する。
【００９６】
（ステップＳ１００１）発話テキスト受付部１２１は、発話テキストを受け付けたか否かを判断する。発話テキストを受け付けた場合はステップＳ１００２に行き、発話テキストを受け付けない場合はステップＳ１００６に行く。
【００９７】
（ステップＳ１００２）対話制御モジュール１２２は、ステップＳ１００１で受け付けられた発話テキストから、当該発話テキストに対応する応答テキストを生成する。
【００９８】
（ステップＳ１００３）応答テキスト送出部１２３は、ステップＳ１００２で生成された応答テキスト等を送出する。応答テキスト等とは、通常、応答テキスト、または発話テキストと応答テキストである。応答テキスト送出部１２３は、例えば、応答テキストを音声合成サーバーと対話クライアント１６とに送出する。また、応答テキスト送出部１２３は、例えば、発話テキストと応答テキストとを機械翻訳サーバー１４に送出する。
【００９９】
（ステップＳ１００４）対話制御サーバー１２のテキスト受付部１２１は、機械翻訳サーバー１４の処理結果である翻訳結果を受け付けたか否かを判断する。翻訳結果を受け付けた場合はステップＳ１００５に行き、翻訳結果を受け付けない場合はステップＳ１００４を繰り返す。なお、翻訳結果とは、１以上の発話翻訳結果、または１以上の発話翻訳結果と１以上の応答翻訳結果である。また、発話翻訳結果や応答翻訳結果は、通常、言語を識別する言語識別子に対応付いている。
【０１００】
（ステップＳ１００５）対話制御サーバー１２の図示しない処理部は、例えば、対話制御モジュール１２２の対話履歴格納部１２２３に、発話テキスト、応答テキスト、および翻訳結果を蓄積し、ステップＳ１００１に戻る。
【０１０１】
（ステップＳ１００６）対話制御サーバー１２の図示しない受付部は、ペアリング関連情報を受け付けたか否かを判断する。ペアリング関連情報を受け付けた場合はステップＳ１００７に行き、ペアリング関連情報を受け付けない場合はステップＳ１００９に行く。なお、ペアリング関連情報は、対話クライアント１６（およびロボット１７）とユーザー端末１８との間でペアリングが行われた場合に受け付けられる。
【０１０２】
（ステップＳ１００７）対話制御サーバー１２の図示しない処理部は、今までの一連の対話の内容を示す対話情報を、対話制御モジュール１２２の対話履歴格納部１２２３から取得する。
【０１０３】
（ステップＳ１００８）対話制御サーバー１２の図示しない送信部は、ペアリング関連情報に対応するユーザー端末１８に、ステップＳ１００７で取得された対話情報を送信し、ステップＳ１００１に戻る。
【０１０４】
（ステップＳ１００９）対話制御サーバー１２の図示しない受信部は、ユーザー端末１８からの情報を受け付けたか否かを判断する。ユーザー端末１８からの情報を受け付けた場合はステップＳ１０１０に行き、ユーザー端末１８からの情報を受け付けない場合はステップＳ１００１に戻る。なお、受け付けられる情報は、通常、発話テキストと箇所情報とを含む。
【０１０５】
（ステップＳ１０１０）対話制御モジュール１２２は、ユーザー端末１８からの情報から箇所情報を取得する。
【０１０６】
（ステップＳ１０１１）対話制御モジュール１２２は、ステップＳ１０１０で取得した箇所情報に対応する箇所までの対話情報を用いて、ユーザー端末１８からの情報に含まれる発話テキストから、応答テキストを生成する。
【０１０７】
（ステップＳ１０１２）対話制御サーバー１２の図示しない送信部は、情報を送信してきたユーザー端末１８に、例えば発話テキストも含む応答テキスト等を送信する。
【０１０８】
（ステップＳ１０１３）対話制御サーバー１２の図示しない処理部は、発話テキストと応答テキストを端末識別子に対応付けて蓄積し、ステップＳ１００１に戻る。
【０１０９】
なお、図１０のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０１１０】
次に、ユーザー端末１８の動作について、図１１のフローチャートを用いて説明する。
【０１１１】
（ステップＳ１１０１）端末受付部１８２は、ペアリングの指示を受け付けたか否かを判断する。ペアリングの指示を受け付けた場合はステップＳ１１０２に行き、ペアリングの指示を受け付けない場合はステップＳ１１０６に行く。なお、例えば、ユーザー端末１８の図示しないカメラを経由したＱＲコードの読み込み、Bluetooth（登録商標）による通信の開始により、ペアリングの指示が受け付けられる。
【０１１２】
（ステップＳ１１０２）端末送信部１８４は、ステップＳ１１０１で受け付けられたペアリングの指示をペアリングサーバー１５に送信する。
【０１１３】
（ステップＳ１１０３）端末受信部１８５は、ステップＳ１１０２におけるペアリングの指示の送信に応じて、対話情報を受信したか否かを判断する。対話情報を受信した場合はステップＳ１１０４に行き、対話情報を受信しない場合はステップＳ１１０３を繰り返す。
【０１１４】
（ステップＳ１１０４）端末処理部１８３は、ステップＳ１１０３で受信された対話情報から、端末格納部１８１の言語識別子に対応するテキストを取得するフィルタリング処理を行う。
【０１１５】
（ステップＳ１１０５）端末出力部１８６は、ステップＳ１１０４で取得されたテキストである対話情報を出力し、ステップＳ１１０１に戻る。
【０１１６】
（ステップＳ１１０６）端末受信部１８５は、テキストを受信したか否かを判断する。テキストを受信した場合はステップＳ１１０７に行き、テキストを受信しない場合はステップＳ１１０９に行く。なお、ここでのテキストは、例えば、ペアリング後、他のユーザーとロボット１７との間で行われるリアルタイムの対話の情報であり、ロボット１７での表示とユーザー端末１８での表示が同期している場合の対話の情報である。また、ここでのテキストは、例えば、ペアリング後、ユーザー端末１８が、ロボット１７との同期から分岐して、ユーザー独自に音声対話システム１と対話する場合の対話の情報である。
【０１１７】
（ステップＳ１１０７）端末処理部１８３は、ステップＳ１１０６で受信されたテキストから、端末格納部１８１の言語識別子に対応するテキストを取得するフィルタリング処理を行う。
【０１１８】
（ステップＳ１１０８）端末出力部１８６は、ステップＳ１１０７でフィルタリングされたテキストを出力し、ステップＳ１１０１に戻る。
【０１１９】
（ステップＳ１１０９）端末受付部１８２は、ユーザーの入力音声を受け付けたか否かを判断する。入力音声を受け付けた場合はステップＳ１１１０に行き、入力音声を受け付けない場合はステップＳ１１０１に戻る。
【０１２０】
（ステップＳ１１１０）端末処理部１８３は、箇所情報を取得する。この箇所情報は、例えば、一連の対話の対話情報の中で、現在、フォーカスされている発話テキストまたは応答テキストの箇所を示す情報である。また、箇所情報は、例えば、出力されている対話情報の中で、ユーザーが指示した発話テキストまたは応答テキストの箇所を示す情報でも良い。
【０１２１】
（ステップＳ１１１１）端末送信部１８４は、ステップＳ１１０９で受け付けられた入力音声、およびステップＳ１１１０で取得された箇所情報を送信し、ステップＳ１１０１に戻る。なお、端末送信部１８４は、入力音声と箇所情報とを、通常、対話制御サーバー１２に送信する。
【０１２２】
なお、図１１のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０１２３】
以下、本実施の形態における音声対話システム１の具体的な動作について説明する。音声対話システム１のシステム構成図は図１である。
【０１２４】
上述したように、従来の音声対話システムにおける実況中継ディスプレイには、例えば、［発明が解決しようとする課題］で述べた（Ａ）から（Ｃ）の課題があった。
【０１２５】
そして、音声対話システム１は、課題（Ａ）と（Ｂ）とを解決するために以下の解決手段を講じる。つまり、音声対話システム１では、ユーザー所有のユーザー端末１８上に実況表示ディスプレイと同等の表示をする機構を備える。その表示の例を図１２に示す。図１２の１２０１は、従来の実況中継ディスプレイであり、ユーザーの発話（ユーザー発話）とロボットの形で具現化されたシステムからの応答（システム応答）とが全対応言語（図１２では、日英中韓の４言語）で表示されている。なお、１２０１の星印は、実際に発話された言語の文字列である。
【０１２６】
一方、ユーザー端末１８上では、その端末の表示言語設定などの情報（上述した言語識別子と同意義）を用いて、ユーザー端末１８の所有者が通常使用する言語のみ（１２０２では日本語）で表示する。また、最近のユーザー発話およびシステム応答だけでなく、対話のセッションが開始されてから現在までのユーザー発話およびシステム応答も表示する。実況中継ディスプレイと異なり、ユーザー端末１８はユーザー各人が操作できるため、スクロール等により過去の対話のやり取りをユーザー端末１８の画面上で、しかも自分の理解できる言語で確認することができる。
【０１２７】
以上により、ディスプレイを持たない音声対話システム１でも、ユーザーは現在どのような対話がなされているかを理解することができる。また、実況中継ディスプレイで表示可能な範囲よりも前の対話のやり取りも確認できるため、音声対話システム１、特に、ロボット１７のある場所に途中からやってきたユーザーであっても、それまでどのような対話がなされていたかを理解した上で対話に参加することが容易になる。
【０１２８】
なお、音声対話システム１と自分のユーザー端末１８との間で連携を行なうためには、両者の間でペアリングのような操作が必要である。ペアリングの手段としては、例えば、以下のような既存の（１）または（２）の方法を用いることができる。
（１）所定のＵＲＬを埋め込んだＱＲコードを対話システム（ロボット１７本体など）に印字しておき、それをユーザー端末１８のＱＲコードリーダーで読み込ませると、ユーザー端末１８は所定のＵＲＬにアクセスし、対話システムとのペアリングが行なわれる。
（２）Bluetoothのペアリングの機構を利用する。
【０１２９】
また、音声対話システム１では、課題（Ｃ）を解決するために以下の解決手段を講じる。つまり、音声対話システム１で、ロボット１７等に対応した仮想エージェントを用意し、その仮想エージェントの「持ち出し」および「同期・分岐」機構を導入する。なお、仮想エージェントとは、ユーザー端末１８上で音声対話を行なうアプリ内に存在するキャラクターである。なお、以下では、現実の対話システムを対話ロボット、ユーザー端末１８内にいるキャラクターを仮想エージェントと呼んで区別する。
【０１３０】
そして、音声対話システム１とユーザー端末１８との間でペアリングが行なわれると、対話ロボット１７とユーザー端末１８とが同期する状態となる。そして、ユーザー端末１８の画面には実況中継ディスプレイと同内容であり、通常、ユーザーが理解できる言語の文が表示される。なお、ユーザー端末１８で表示される文の言語はユーザー端末１８の表示言語設定に合わせる。また、ユーザー端末１８には、図１２で説明した通り、過去の対話のやり取りも表示される。
【０１３１】
同期している状態で、ユーザーが対話ロボット１７に対して発話した場合、応答はロボット１７から、ユーザー発話と同じ言語で出力される。それと共に、実況中継ディスプレイには、ユーザー発話とロボット応答とが全言語で表示され、それと同期してユーザー端末１８上にも、ユーザー発話とロボット応答とが表示される。ユーザーが対話ロボットに対して発話する限りは、対話ロボットと仮想エージェントとは同期し続ける。
【０１３２】
一方、同期している状態で、ユーザーがユーザー端末１８に向かって発話した場合は、同期は解除され、応答はユーザー端末１８からのみ出力される。そして、ユーザー端末１８内に仮想エージェント１３０１が存在するようになる。これを「仮想エージェントの持ち出し」と呼ぶ。また、この段階では、ユーザー端末１８の表示は、図１３のような状態である。なお、仮想エージェントとは、システムを模したものであり、ユーザー端末１８上に表示される仮想的な対話ロボットである。
【０１３３】
そして、かかる状態のユーザー端末１８の表示例が図１３である。図１３では、ユーザーがユーザー端末１８に向かって発話した文が表示される前に、仮想エージェント１３０１がユーザー端末１８に表示されているが、以下の図１４に示すように、ユーザー端末１８に向かって発話した文等も一緒に、または当該文等の表示の後に仮想エージェント１３０１が表示されても良い。
【０１３４】
そして、ユーザーがユーザー端末１８に向かって発話した文等も表示されている状態が図１４である。図１４では、ユーザーがユーザー端末１８に対して日本語で「他のルートはありますか」と発話した状況を想定している。それまでの対話は京都駅までの行き方についてだったため、音声対話システム１はユーザーが京都駅までの別のルートを聞いていると理解し、そのルートを応答として出力する。ただし、この出力はユーザー端末１８上でのみ行なわれ、対話ロボット１７および実況中継ディスプレイからは出力されない。すなわち実況中継ディスプレイは図１２の１２０１の状態から変化しない。
【０１３５】
上記では、ユーザー端末１８に向かって発話され、同期が解除された場合（即ち、ユーザー端末１８が分岐された場合）に、仮想エージェントを出現させ、ユーザーに分岐状態にあることを視認させる態様を説明した。
【０１３６】
しかしながら、音声対話システム１とユーザー端末１８との間でペアリングが行なわれた際に、ユーザー端末１８上に仮想エージェントを表示させ、その後ユーザー端末１８が分岐された場合には、仮想エージェントの表示形態（色彩等）を変更して、ユーザーが分岐状態にあることを視認できるようにしても良い。
【０１３７】
以下、「同期・分岐」について、さらに説明する。まだ、対話に参加していないユーザー（図１４では英語、日本語、中国語をしゃべる３人のユーザーが既に対話に参加しているという想定なので、４人目のユーザーということになる）は、ユーザー端末１８上でこれまでの対話のやり取りを確認した後、対話に参加したい場合は対話ロボット１７に対して発話すればよい。一方、これまでの対話の流れを引き継いだ発話をしたいと思いながらも既存のユーザーと対話ロボット１７との間の対話に影響を与えたくない場合は、既存のユーザーには聞こえないように自分のユーザー端末１８に対して発話すればよい。後者の場合、対話ロボット１７と仮想エージェントとで分岐が発生する。一度分岐した後は、ユーザーは対話ロボット１７と同じ場所にいる必要はなく、別の場所に行って対話を続けることができる。
【０１３８】
さらに、同じセッションの対話であれば、過去の任意のやり取りに遡って分岐することが可能である。このことを、図１５を用いて説明する。
【０１３９】
図１５においては、京都駅への行き方についての対話が行なわれる前に、奈良駅への行き方についての対話がなされていたとする。そしてユーザー（図１４と同様に、また対話に参加していない４人目のユーザー）は、ユーザー端末１８上で過去にそのような対話がなされていたことを確認し、奈良駅までの交通費について追加で質問したくなったとする。
【０１４０】
現時点では対話の内容は図１４に示すように京都駅への行き方についての対話に変化してしまっているため、ここで対話ロボット１７に対して「いくらですか」と発話しても、対話ロボット１７トは奈良駅ではなく京都駅までの交通費を答えてしまう。なお、対話ロボット１７に対して「奈良駅までいくらかかりますか」と発話すれば、ロボットは答えてくれるだろうが、そこで対話の話題が切り替わってしまうため、京都駅までのルートについての話題を続けたかった既存のユーザーからは不評を買うであろう。従来のシステムでは、新規ユーザーはそのことを懸念し、質問自体を断念してしまう可能性もあった。
【０１４１】
そこでユーザーは、ユーザー端末１８上で奈良駅への行き方が話題となっていた時点の対話のやり取り（図１５ではロボット応答の「奈良駅にはバスと電車で行けます。・・・（以下略）」かユーザー発話の「奈良駅への行き方を教えて」）を指定しながら「いくらですか」と発話する。かかる場合、上述した箇所情報は、ロボット応答「奈良駅にはバスと電車で行けます。・・・（以下略）」またはユーザー発話「奈良駅への行き方を教えて」を識別する情報である。
【０１４２】
すると対話システムは、その時点で対話ロボットと仮想エージェントとを分岐させる。その結果、その応答である「５８０円です」がユーザー端末１８のみから出力される。それと同時に、仮想エージェントにおいては、「奈良駅にはバスと電車で行けます。・・・（以下略）」の次以降（図１５では「京都駅への行き方を教えて」以降）のやり取りを削除した上で、今回の「いくらですか」というユーザー発話と「５８０円です」というシステム応答を追加する。
【０１４３】
このような仮想エージェントの「持ち出し」および「同期・分岐」の機構を導入することで、まだ対話に参加していないユーザーが対話に参加するための心理的な敷居が下がる。すなわち、仮想エージェントを持ち出した後は、時間や場所の制約を受けずに過去の任意のやり取りに遡って対話を継続することができる。
【０１４４】
なお、仮想エージェントの持ち出し自体は従来技術として存在するが、従来の仮想エージェントとの相違点は以下の（１）〜（３）である。（１）対話が進んだ状態の対話システムを持ち出すことができる。（２）過去の対話のやり取りが残っていれば、任意のところから対話を分岐させることができる。言い換えると、やり取りの先頭に遡って分岐させた場合は、従来の「持ち出し」と等価である。（３）クロスリンガル対話システムである。
【０１４５】
次に、対話制御モジュール１２２を構成する対話シナリオ格納部１２２１に格納されている対話シナリオの例について、図１６を用いて説明する。この図では、対話シナリオにおける状態を３状態のオートマトンで表現しており、円が状態（ノード）、矢印がアークである。図１６において、状態１は対話開始直後の状態を表わす。この状態において、例えば奈良駅への経路を聞くような発話が入力された場合は状態２に遷移する。そして、状態２において交通費や所要時間を尋ねる発話が入力された場合は、それぞれ奈良駅までの交通費および所要時間について尋ねているとシステムは理解し、それに対応した応答をする。
【０１４６】
一方、京都駅への経路を聞くような発話が入力された場合は状態３に遷移する。そして、状態３において交通費や所要時間を尋ねる発話が入力された場合は、それぞれ京都駅までの交通費および所要時間について尋ねているとシステムは理解し、それに対応した応答をする。
【０１４７】
次に、対話履歴格納部１２２３の対話履歴である対話情報について、図１７を用いて説明する。対話情報は、例えば、テーブルの形式で保存される。「発話者」の欄には「ユーザー」と「システム」とのどちらかが入り、前者はその行がユーザー発話であり、後者はシステム応答であることを表わす。また、「発話言語」は、ユーザー発話またはシステム応答がどの言語でなされたかを表わす。また、「全言語分のテキスト」は、全対応言語におけるユーザー発話またはシステム応答である。発話者が「システム」である場合、この欄には応答生成部１２２６によって生成された全対応言語分の応答テキストが保存されている。一方、発話者が「ユーザー」である場合、発話言語と同じテキストは音声認識結果が保存されるが、それ以外の言語のテキストについては、機械翻訳サーバー１４による翻訳結果である。例えば、図１７の一番上の行では、発話言語が日本語であるため、「全言語分のテキスト」の内の日本語「奈良駅への行き方を教えて」は音声認識結果であるが、それ以外の言語のテキストは機械翻訳による翻訳結果である。さらに、「シナリオの状態」は、応答生成の際に発生した対話シナリオ上の遷移が記録される欄である。例えば、図１７の表において、１行目と２行目は、対話システム１とユーザーとが以下の対話をした際に、図１６の対話シナリオにおいて状態１から状態２への遷移が発生したことを表わしている（１７０１のシナリオの状態の属性値「状態１→状態２」のレコードを参照）。
【０１４８】
以上のような対話履歴において、シナリオの状態もあわせて記録しておくことで、図１５のように過去の対話のやり取りの一つを指定しながら発話した場合に、そこから分岐を発生させることが可能になる。
【０１４９】
次に、対話クライアント１６の詳細な例について、図１８を用いて説明する。対話クライアント１６を構成するマイクロホン＆ＡＤコンバーター１６３は、ユーザーの発話を取得し、それをデジタル信号の音声波形に変換する。
【０１５０】
音声区間検出手段１６４は、連続的に入力される波形の中から、ユーザーの発話の始端から終端に相当する部分の音声波形を切り出す働きをする。この処理は自動で行なってもよいし、ユーザーが所定のボタンを押している間の波形を切り出すという処理でも良い。
【０１５１】
スピーカー１６５は、音声合成サーバー１３によって生成された対話応答の音声波形を音として出力するために用いる。
【０１５２】
ディスプレイ１６６は、前述の実況中継ディスプレイとして使用する。
【０１５３】
対話履歴１６７は、図４において対話制御モジュール１２２が備えている対話履歴格納部１２２３の対話履歴のコピーである。対話履歴のコピーを持たず、必要に応じて対話制御モジュール１２２から取得するようにしてもよい。なお、対話履歴は、対話情報と言っても良い。
【０１５４】
なお、マイクロホン＆ＡＤコンバーター１６３と音声区間検出手段１６４は、音声受付部１６１に該当し、スピーカー１６５は、音声出力部１６２に該当する。
【０１５５】
次に、仮想エージェントの「持ち出し」および「同期・分岐」を実現する方法について説明する。
【０１５６】
図１９は、仮想エージェントを持ち出す前の状態であり、これは従来のクロスリンガル音声対話システム１と同一である。この時点では、対話制御サーバー１２の中では対話制御モジュール１２２が１個だけ動作している。この状態で、1人以上のユーザーと対話ロボット１７との間でクロスリンガル対話が進行する。
【０１５７】
ユーザーと対話ロボット１７との間でクロスリンガル対話が進行した後、ユーザー（既存でも新規でも良い）が自分のユーザー端末１８と対話クライアント１６との間でペアリングを行なうと、図２０のように、対話クライアント１６とユーザー端末１８とが接続された状態になる。正しくは、ユーザー端末１８と対話クライアント１６との間はペアリングサーバー１５によって中継されているが、図の簡略化のため、直接接続されているように記載されている。
【０１５８】
対話クライアント１６は、内部に保持されている対話履歴をユーザー端末１８に送信する。あるいは、最新の対話履歴を対話制御モジュール１２２から取得し、それをユーザー端末１８に送信する。対話履歴には、例えば、全言語分のテキストが保存されているが、ユーザー端末１８では表示言語設定と一致するもののみをフィルタリングして表示することで、図１２の１２０２のような表示を行なう。
【０１５９】
そして、ユーザーがロボット１７に対して発話する場合は、発話のたびに対話履歴が更新され、そのたびに対話履歴がユーザー端末１８に送信される。
【０１６０】
この段階では、ロボット１７とユーザー端末１８は同期している。言い換えると、見た目は対話ロボット１７と仮想エージェントという２つの対話エージェントが存在しているように見えるが、応答生成等を行なう対話制御モジュール１２２は１個だけであるため、対話履歴も１個だけである。
【０１６１】
ここで、ユーザーがユーザー端末１８に対して発話すると、ロボット１７と仮想エージェントとの間で分岐が発生する。分岐後の状態を図２１に示す。この図２１においては、対話クライアント１６とユーザー端末１８との接続が消滅している（セッションが切断されている）。つまり、対話クライアント１６またはユーザー端末１８が当該セッションを切断する。
【０１６２】
一方、対話制御サーバー１２においては、対話制御モジュール１２２が複製されている。複製とは、図４の各モジュールを複製することを意味するが、支障がなければ、オリジナルとコピーとの間で共通のモジュールを参照するようにしてもよい。ただし、対話シナリオと対話履歴については、それぞれオリジナルとは別のメモリー空間にコピーし、オリジナルとコピーとで別々に更新できるようにする。以下の説明では、対話制御モジュール１２２のオリジナルを１２２（１）、コピーを１２２（２）とする。箇所情報を使った、コピーの処理の詳細については後述する。
【０１６３】
分岐によって、ユーザー端末１８は１２２（２）と接続するようになる（正しくは、両者はペアリングサーバー１５によって中継されている）。また、ユーザー端末１８から音声認識サーバー１１および音声合成サーバー１３（さらに必要に応じて機械翻訳サーバー１４）に対しても、直接アクセスできるようにする。
【０１６４】
そして、一度分岐が発生すると、対話ロボット１７と仮想エージェントはそれぞれ別の対話制御モジュール１２２に接続するため、ユーザー端末１８に対して発話すると応答の出力はユーザー端末１８からのみ行なわれ、対話ロボット１７からは出力されない。逆も同様である。
【０１６５】
分岐後にユーザー端末１８にユーザー発話およびシステム応答を表示するために、ユーザー端末１８は対話履歴を対話クライアント１６からではなく対話制御モジュール１２２（２）から取得し、言語によるフィルタリングを行なった上で画面上に表示する。図１３の１３０１は、そのような状態である。
【０１６６】
次に、分岐の他の例として、図１５に示すように、過去の対話のやり取りの一つを指定しながらユーザーがユーザー端末１８に対して発話した場合について説明する。
【０１６７】
この場合も、分岐後の状態は、図２１の通りであるが、対話制御モジュール１２２（２）が保持する対話履歴は図１７ではなく図２２の通りである。すなわち、テーブルの上２行(２２０１)は同一であるが、３行目(２２０２)以降から相違が発生する。以下、その点について説明する。
【０１６８】
図１５の１５０１では、ユーザーは過去の履歴の「奈良駅にはバスと電車で行けます。・・・（以下略）」というシステム応答を指定しながら「いくらですか」と発話している。図１７によると、このシステム応答はテーブルの２行目に対応し、この応答によって対話シナリオは状態２（奈良駅への行き方に関する話題を表わす状態）に遷移したことが分かる。そこで対話制御モジュール１２２は対話履歴の複製において、１７０１の部分のみを複製する。それが２２０１である（あるいは、図１７のテーブル全体を複製した後で１７０２の部分を削除する。）。そして、対話シナリオの状態を状態２に戻した上で、「いくらですか」というユーザー発話に対する応答生成を行なう。その結果、２２０２に相当する部分が生成される。この対話履歴がユーザー端末１８に送信され、言語によるフィルタリングを行なった後で１５０２の表示が行なわれる。
【０１６９】
以上、本実施の形態によれば、クロスリンガル音声対話システムにおいて、ユーザーと音声対話システムとの一連の対話がある程度進行した後、そのユーザーまたは別のユーザーが過去の対話の状況を確認したり、認知したりすることができる。
【０１７０】
また、本実施の形態によれば、音声対話システム１とユーザー端末１８とが同期できる。
【０１７１】
また、本実施の形態によれば、ユーザーがユーザー端末１８に対して発話した場合、同期が解除され、対話履歴の分岐を発生させることができる。つまり、例えば、２人目以降のユーザーは、自分のユーザー端末１８に発話することで、対話の途中から、１人目のユーザーとは独立に対話を続けることができる。
【０１７２】
また、本実施の形態によれば、対話の分岐を、過去の対話のやり取りに遡って行なうことができる。
【０１７３】
また、本実施の形態において、音声対話システム１を構成する音声認識サーバー１１、対話制御サーバー１２、音声合成サーバー１３、機械翻訳サーバー１４、ペアリングサーバー１５、対話クライアント１６、ロボット１７は、分離した装置である必要はない。つまり、音声対話システム１は、１または２以上の装置で実現されれば良い。
【０１７４】
さらに、本実施の形態における音声対話システム１を構成する各装置の処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをＣＤ−ＲＯＭなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。
【０１７５】
（実施の形態２）
【０１７６】
本実施の形態において、実施の形態１の音声対話システム１を構成する音声認識サーバー１１、対話制御サーバー１２、音声合成サーバー１３、機械翻訳サーバー１４、ペアリングサーバー１５、対話クライアント１６、ロボット１７を、一つの音声対話装置で実現する場合の例について説明する。なお、音声対話システム１を構成する各装置の機能をいくつの装置で実現しても良いことは言うまでもない。
【０１７７】
図２３は、本実施の形態における音声対話システム２のブロック図である。音声対話システム２は、音声対話装置２１、１または２以上のユーザー端末１８を備える。ここでのユーザー端末１８は、各種の情報の送受信を音声対話装置２１との間で行う以外、実施の形態１のユーザー端末１８と同じであるため、説明を略す。
【０１７８】
音声対話装置２１は、格納部２１１、受付部２１２、処理部２１３、出力部２１４、受信部２１５、および送信部２１６を備える。
【０１７９】
格納部２１１は、対話情報格納部２１１１、およびペアリング情報格納部２１１２を備える。
【０１８０】
処理部２１３は、音声認識部２１３１、対話制御部２１３２、対話情報蓄積部２１３３、音声合成部２１３４、機械翻訳部２１３５、およびペアリング情報蓄積部２１３６を備える。
【０１８１】
出力部２１４は、音声出力部２１４１を備える。
【０１８２】
受信部２１５は、指示受信部２１５１、およびユーザー情報受信部２１５２を備える。
【０１８３】
送信部２１６は、対話情報送信部２１６１を備える。
【０１８４】
音声対話装置２１を構成する格納部２１１には、各種の情報が格納される。
【０１８５】
格納部２１１を構成する対話情報格納部２１１１は、一連の対話の履歴である対話情報が格納される。対話情報は、通常、発話テキストと１以上の発話翻訳結果と応答テキストと１以上の応答翻訳結果とを有する。
【０１８６】
ペアリング情報格納部２１１２は、ユーザー端末１８とのペアリングを示す情報である１または２以上のペアリング情報が格納される。
【０１８７】
受付部２１２は、２以上の異なる言語により発声され得る入力音声を受け付ける。
【０１８８】
処理部２１３は、各種の処理を行う。各種の処理は、後述するペアリングの処理、音声認識部２１３１等が行う処理である。
【０１８９】
音声認識部２１３１は、入力音声を音声認識し、音声認識結果である発話テキストを生成する。なお、音声認識部２１３１は、通常、入力音声の言語を識別する言語識別子も取得する。
【０１９０】
対話制御部２１３２は、音声認識部２１３１が生成した発話テキストを用いて、発話テキストに対する応答である応答テキストを生成する。
【０１９１】
対話制御部２１３２は、ユーザー情報受信部２１５２が入力音声または発話テキスト(いずれも、ユーザー情報に含まれる)を受信した場合、ユーザー情報受信部２１５２が受信した入力音声に対応する発話テキストまたはユーザー情報受信部２１５２が受信した発話テキストから、発話テキストに対する応答である応答テキストを生成する。
【０１９２】
対話制御部２１３２は、対話情報の中の対話の情報であり、箇所情報に対応する箇所までの対話の情報を用いて、ユーザー情報受信部２１５２が受信した入力音声に対応する発話テキストまたはユーザー情報受信部２１５２が受信した発話テキストから、発話テキストに対する応答である応答テキストを生成する。
【０１９３】
対話情報蓄積部２１３３は、対話履歴である対話情報を対話情報格納部２１１１に蓄積する。対話情報蓄積部２１３３は、発話テキストと応答テキストとを含む対話情報を対話情報格納部２１１１に蓄積する。また、対話情報蓄積部２１３３は、発話テキストと１以上の発話翻訳結果と応答テキストと１以上の応答翻訳結果とを含む対話情報を対話情報格納部２１１１に蓄積する。
【０１９４】
音声合成部２１３４は、対話制御部２１３２が生成した応答テキストに対して音声合成処理を行い、音声を取得する。
【０１９５】
機械翻訳部２１３５は、発話テキストを発話テキストの言語以外の１以上の言語に翻訳し、１以上の発話翻訳結果を取得する。また、機械翻訳部２１３５は、応答テキストを応答テキストの言語以外の１以上の言語に翻訳し、１以上の応答翻訳結果を取得する。
【０１９６】
なお、発話テキストの言語を含む２以上の言語は予め決められている。例えば、日本語、英語、中国語、韓国語の４カ国の言語のテキストが必要であることが格納部２１１に格納されている場合（４つの言語の言語識別子が格納部２１１に格納されている場合）、機械翻訳部２１３５は、受け付けたテキストが日本語の場合、当該テキストを、英語、中国語、韓国語の３カ国の言語に翻訳し、翻訳結果を取得する。また、例えば、日本語、英語、中国語、韓国語の４カ国の言語のテキストが必要であることが格納部２１１に格納されている場合、機械翻訳部２１３５は、受け付けたテキストが英語の場合、当該テキストを、日本語、中国語、韓国語の３カ国の言語に翻訳し、翻訳結果を取得する。
【０１９７】
ペアリング情報蓄積部２１３６は、指示受信部２１５１がペアリングの指示を受信した場合に、指示に対応するペアリング情報をペアリング情報格納部２１１２に蓄積する。
【０１９８】
出力部２１４は、各種の情報を出力する。ここでの出力は、通常、音声出力であるが、ディスプレイへの表示、表示装置への送信等でも良い。ディスプレイへの表示は、例えば、上述した実況中継ディスプレイである。
【０１９９】
音声出力部２１４１は、音声を出力する。
【０２００】
受信部２１５は、各種の情報や指示等を受信する。各種の情報や指示等とは、例えば、ペアリングの指示、後述するユーザー情報である。
【０２０１】
指示受信部２１５１は、ユーザー端末１８からペアリングの指示を受信する。ペアリングの指示は、例えば、端末識別子、または対話情報が格納されているＵＲＬ等を含む。
【０２０２】
ユーザー情報受信部２１５２は、ユーザー端末１８からユーザー情報を受信する。ユーザー情報は、例えば、入力音声または発話テキストである。また、ユーザー情報は、例えば、対話情報の中の一の箇所を示す箇所情報を有しても良い。なお、ユーザー情報が発話テキストである場合、ユーザー端末１８が入力音声を音声認識し、発話テキストを取得する。
【０２０３】
送信部２１６は、各種の情報を送信する。
【０２０４】
対話情報送信部２１６１は、指示受信部２１５１がユーザー端末１８から指示を受信した場合に、対話情報格納部２１１１に格納されている対話情報をユーザー端末１８に送信する。
【０２０５】
対話情報送信部２１６１は、対話情報、または対話情報の中の情報でありユーザー端末１８に対応する言語の情報をユーザー端末１８に送信する。
【０２０６】
対話情報送信部２１６１は、受付部２１２が入力音声を受け付けるごとに、発話テキストをユーザー端末１８に送信し、対話制御部２１３２が応答テキストを生成するごとに、応答テキストをユーザー端末１８に送信する。
【０２０７】
対話情報送信部２１６１は、ペアリング情報格納部２１１２に格納されている１以上の各ペアリング情報に対応する１以上のユーザー端末１８に、受付部２１２が入力音声を受け付けるごとに、発話テキストをユーザー端末１８に送信し、対話制御部２１３２が応答テキストを生成するごとに、応答テキストを送信する。
【０２０８】
対話情報送信部２１６１は、対話制御部２１３２が生成した応答テキストをユーザー端末１８に送信する。
【０２０９】
格納部２１１、対話情報格納部２１１１、およびペアリング情報格納部２１１２は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【０２１０】
格納部２１１等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部２１１等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部２１１等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部２１１等で記憶されるようになってもよい。
【０２１１】
処理部２１３、音声認識部２１３１、対話制御部２１３２、対話情報蓄積部２１３３、音声合成部２１３４、機械翻訳部２１３５、およびペアリング情報蓄積部２１３６は、通常、ＭＰＵやメモリー等から実現され得る。処理部２１３等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【０２１２】
出力部２１４は、ディスプレイやスピーカー等の出力デバイスとそのドライバーソフトとによって構成されている。
【０２１３】
受信部２１５、指示受信部２１５１、およびユーザー情報受信部２１５２は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【０２１４】
送信部２１６、および対話情報送信部２１６１は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【０２１５】
次に、音声対話装置２１の動作について、図２４のフローチャートを用いて説明する。
【０２１６】
（ステップＳ２４０１）受付部２１２は、入力音声を受け付けたか否かを判断する。入力音声を受け付けた場合はステップＳ２４０２に行き、入力音声を受け付けない場合はステップＳ２４０９に行く。
【０２１７】
（ステップＳ２４０２）音声認識部２１３１は、ステップＳ２４０１で受け付けられた入力音声を音声認識し、発話テキストを生成する。
【０２１８】
（ステップＳ２４０３）対話制御部２１３２は、ステップＳ２４０２で生成された発話テキストから、当該発話テキストに対する応答テキストを生成する。
【０２１９】
（ステップＳ２４０４）音声合成部２１３４は、ステップＳ２４０３で生成された応答テキストに対して音声合成処理を行い、音声を取得する。
【０２２０】
（ステップＳ２４０５）機械翻訳部２１３５は、ステップＳ２４０２で生成された発話テキストを発話テキストの言語以外の１以上の言語に翻訳し、１以上の発話翻訳結果を取得する。また、機械翻訳部２１３５は、ステップＳ２４０３で生成された応答テキストを応答テキストの言語以外の１以上の言語に翻訳し、１以上の応答翻訳結果を取得する。
【０２２１】
（ステップＳ２４０６）処理部２１３は、ステップＳ２４０２で生成された発話テキスト、ステップＳ２４０３で生成された応答テキスト、およびステップＳ２４０５で取得された翻訳結果を対応付けて、対話情報格納部２１１１に蓄積する。
【０２２２】
（ステップＳ２４０７）出力部２１４は、ステップＳ２４０２で生成された発話テキスト、ステップＳ２４０３で生成された応答テキスト、およびステップＳ２４０５で取得された翻訳結果を表示する。
【０２２３】
（ステップＳ２４０８）音声出力部２１４１は、ステップＳ２４０４で取得された音声を出力し、ステップＳ２４０１に戻る。
【０２２４】
（ステップＳ２４０９）指示受信部２１５１は、ユーザー端末１８からペアリングの指示を受信したか否かを判断する。ペアリングの指示を受信した場合はステップＳ２４１０に行き、ペアリングの指示を受信しない場合はステップＳ２４１３に行く。
【０２２５】
（ステップＳ２４１０）処理部２１３は、ユーザー端末１８と音声対話装置２１とのペアリングのための処理を行う。かかる処理は、実施の形態１で述べた処理、ペアリング情報蓄積部２１３６がペアリング情報をペアリング情報格納部２１１２に蓄積する処理である。
【０２２６】
（ステップＳ２４１１）処理部２１３は、対話情報格納部２１１１から対話情報を取得する。
【０２２７】
（ステップＳ２４１２）対話情報送信部２１６１は、ステップＳ２４１０で取得された対話情報を、ペアリングの指示を送信してきたユーザー端末１８に送信し、ステップＳ２４０１に戻る。
【０２２８】
（ステップＳ２４１３）ユーザー情報受信部２１５２は、ユーザー端末１８から情報を受信したか否かを判断する。情報を受信した場合はステップＳ２４１４に行き、情報を受信しない場合はステップＳ２４０１に戻る。
【０２２９】
（ステップＳ２４１４）処理部２１３は、ステップＳ２４１３で受信された情報から入力音声、箇所情報を取得する。
【０２３０】
（ステップＳ２４１５）音声認識部２１３１は、ステップＳ２４１４で取得した入力音声を音声認識し、発話テキストを生成する。ここで、音声認識部２１３１は、通常、言語識別子も取得する。
【０２３１】
（ステップＳ２４１６）対話制御部２１３２は、ステップＳ２４１５で生成した発話テキストを用いて、発話テキストに対する応答である応答テキストを生成する。
【０２３２】
（ステップＳ２４１７）送信部２１６は、情報を送信してきたユーザー端末１８に、応答テキスト等を送信する。なお、応答テキスト等とは、例えば、発話テキストと応答テキスト、または応答テキストである。
【０２３３】
（ステップＳ２４１８）処理部２１３は、発話テキストと応答テキストとを端末識別子に対応付けて蓄積し、ステップＳ２４０１に戻る。
【０２３４】
なお、図２４のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０２３５】
以下、本実施の形態における音声対話システム２の具体的な動作は、音声対話システム１の具体的な動作と同様であるので、説明を省略する。
【０２３６】
以上、本実施の形態によれば、クロスリンガル音声対話において、ユーザーと音声対話装置２１との一連の対話がある程度進行した後、そのユーザーまたは別のユーザーが過去の対話の状況を確認したり、認知したりすることができる。
【０２３７】
また、本実施の形態によれば、音声対話装置２１とユーザー端末とが同期できる。
【０２３８】
また、本実施の形態によれば、ユーザーがユーザー端末に対して発話した場合、同期が解除され、対話履歴の分岐を発生させることができる。つまり、例えば、２人目以降のユーザーは、自分のユーザー端末に発話することで、対話の途中から、１人目のユーザーとは独立に対話を続けることができる。
【０２３９】
さらに、本実施の形態によれば、対話の分岐を、過去の対話のやり取りに遡って行なうことができる。
【０２４０】
また、図２５は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の音声対話システム１を構成する各装置、音声対話装置２１等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図２５は、このコンピュータシステム３００の概観図であり、図２６は、システム３００の内部構成を示すブロック図である。
【０２４１】
図２５において、コンピュータシステム３００は、ＣＤ−ＲＯＭドライブを含むコンピュータ３０１と、キーボード３０２と、マウス３０３と、モニタ３０４と、マイク３０５と、スピーカー３０６とを含む。
【０２４２】
図２６において、コンピュータ３０１は、ＣＤ−ＲＯＭドライブ３０１２に加えて、ＭＰＵ３０１３と、ＣＤ−ＲＯＭドライブ３０１２等に接続されたバス３０１４と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ３０１５と、ＭＰＵ３０１３に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのＲＡＭ３０１６と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク３０１７とを含む。ここでは、図示しないが、コンピュータ３０１は、さらに、ＬＡＮへの接続を提供するネットワークカードを含んでも良い。
【０２４３】
コンピュータシステム３００に、上述した実施の形態の音声対話装置２１等の機能を実行させるプログラムは、ＣＤ−ＲＯＭ３１０１に記憶されて、ＣＤ−ＲＯＭドライブ３０１２に挿入され、さらにハードディスク３０１７に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ３０１に送信され、ハードディスク３０１７に記憶されても良い。プログラムは実行の際にＲＡＭ３０１６にロードされる。プログラムは、ＣＤ−ＲＯＭ３１０１またはネットワークから直接、ロードされても良い。
【０２４４】
プログラムは、コンピュータ３０１に、上述した実施の形態の音声対話装置２１等の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能（モジュール）を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム３００がどのように動作するかは周知であり、詳細な説明は省略する。
【０２４５】
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信するステップにおけるモデムやインターフェースカードなどで行われる処理（ハードウェアでしか行われない処理）は含まれない。
【０２４６】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【０２４７】
また、上記各実施の形態において、一の装置に存在する２以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
【０２４８】
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【０２４９】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０２５０】
以上のように、本発明にかかる音声対話システムは、ユーザーと装置との一連の対話がある程度進行した後、そのユーザーまたは別のユーザーが過去の対話の状況を確認したり、認知したりすることができるという効果を有し、音声対話システム等として有用である。
【符号の説明】
【０２５１】
１、２  音声対話システム
１１  音声認識サーバー
１２  対話制御サーバー
１３  音声合成サーバー
１４  機械翻訳サーバー
１５  ペアリングサーバー
１６  対話クライアント
１７  ロボット
１８  ユーザー端末
２１  音声対話装置
１１１、１６１  音声受付部
１１２  言語識別部
１１３  音声認識エンジン
１１４  発話テキスト送出部
１２１  発話テキスト受付部
１２２  対話制御モジュール
１２３  応答テキスト送出部
１３１  応答テキスト受付部
１３２  音声合成エンジン
１３３  音声送出部
１４１  テキスト受付部
１４２  機械翻訳エンジン
１４３  翻訳結果送出部
１５１、２１１２  ペアリング情報格納部
１５２、２１５１  指示受信部
１５３、２１３６  ペアリング情報蓄積部
１５４  ペアリング関連情報送出部
１６２、２１４１  音声出力部
１６３  マイクロホン＆ＡＤコンバーター
１６４  音声区間検出手段
１６５  スピーカー
１６６  ディスプレイ
１６７  対話履歴
１８１  端末格納部
１８２  端末受付部
１８３  端末処理部
１８４  端末送信部
１８５  端末受信部
１８６  端末出力部
２１１  格納部
２１２  受付部
２１３  処理部
２１４  出力部
２１５  受信部
２１６  送信部
１２２１  対話シナリオ格納部
１２２２  データベース
１２２３  対話履歴格納部
１２２４  言語理解部
１２２５  シナリオ制御部
１２２６  応答生成部
１３０１  仮想エージェント
２１１１  対話情報格納部
２１３１  音声認識部
２１３２  対話制御部
２１３３  対話情報蓄積部
２１３４  音声合成部
２１３５  機械翻訳部
２１５２  ユーザー情報受信部
２１６１  対話情報送信部
【図１】
2018077306.tif 000003
【図２】
2018077306.tif 000004
【図３】
2018077306.tif 000005
【図４】
2018077306.tif 000006
【図５】
2018077306.tif 000007
【図６】
2018077306.tif 000008
【図７】
2018077306.tif 000009
【図８】
2018077306.tif 000010
【図９】
2018077306.tif 000011
【図１０】
2018077306.tif 000012
【図１１】
2018077306.tif 000013
【図１２】
2018077306.tif 000014
【図１３】
2018077306.tif 000015
【図１４】
2018077306.tif 000016
【図１５】
2018077306.tif 000017
【図１６】
2018077306.tif 000018
【図１７】
2018077306.tif 000019
【図１８】
2018077306.tif 000020
【図１９】
2018077306.tif 000021
【図２０】
2018077306.tif 000022
【図２１】
2018077306.tif 000023
【図２２】
2018077306.tif 000024
【図２３】
2018077306.tif 000025
【図２４】
2018077306.tif 000026
【図２５】
2018077306.tif 000027
【図２６】
2018077306.tif 000028
【図２７】
2018077306.tif 000029