(57)【要約】【課題】従来技術において、複数の言語による音声対話を適切に支援できなかった。【解決手段】２以上の異なる言語により発声された入力音声に対し、その発話の始端から終端までを検出して該当区間の音声データを取得する受付部と、入力音声の言語を識別する言語識別子を取得する言語識別子取得部と、入力音声および言語識別子に応じて音声認識結果であるテキストを生成する音声認識部と、音声認識結果のテキストと言語識別子とを入力し、前回とは言語識別子が変わっても対話の履歴は維持する一方で言語識別子に応じて異なる内容の出力文を生成する対話制御部と、出力文および言語識別子に応じて音声波形を生成する音声合成部と、音声合成部が取得した音声波形に応じた音声を出力する音声出力部とを具備する音声対話装置により、複数の言語による音声対話を適切に支援できる。【選択図】図１
2018017936.tif 000002
【特許請求の範囲】
【請求項１】
２以上の異なる言語により発声された入力音声に対し、その発話の始端から終端までを検出して該当区間の音声データを取得する受付部と、
前記入力音声の言語を識別する言語識別子を取得する言語識別子取得部と、
前記入力音声および前記言語識別子に応じて音声認識結果であるテキストを生成する音声認識部と、
音声認識結果のテキストと言語識別子とを入力し、前回とは言語識別子が変わっても対話の履歴は維持する一方で言語識別子に応じて異なる内容の出力文を生成する対話制御部と、
出力文と言語識別子に応じて音声波形を生成する音声合成部と、
前記音声合成部が取得した音声波形に応じた音声を出力する音声出力部とを具備する音声対話装置。
【請求項２】
対話の繋がりを示す情報であり、第一話者の入力音声を抽象する第一対話行為タグ、および第二話者の出力音声を抽象する第二対話行為タグとを有する対話連結情報を１以上有する対話構造情報を格納し得る対話構造情報格納部と、
第二対話行為タグと１以上の文とを有する出力音声情報を格納し得る出力文情報格納部とをさらに具備し、
前記対話制御部は、
前記対話構造情報格納部から、前記音声認識手段が取得した文字列を用いて、当該文字列に対応する第一対話行為タグを取得する第一対話行為タグ取得手段と、
前記第一対話行為タグ取得手段が取得した第一対話行為タグに対応する１以上の第二前記第一対話行為タグ取得手段が取得した第一対話行為タグに対応する１以上の第二対話行為タグのうちの、１の第二対話行為タグを取得する第二対話行為タグ取得手段と、
前記第二対話行為タグ取得手段が取得した第二対話行為タグに対応する文を、前記出力文情報格納部から取得する文取得手段と、
前記文取得手段が取得した文を、前記言語識別子取得部が取得した言語識別子に応じて変更し、変更した文を取得する文変更手段とを具備する請求項１記載の音声対話装置。
【請求項３】
対話の繋がりを示す情報であり、第一話者の入力音声を抽象する第一対話行為タグ、および第二話者の出力音声を抽象する第二対話行為タグとを有する対話連結情報を１以上有する対話構造情報であり、第一対話行為タグに連結し、言語識別子に対応する２以上の第二対話行為タグを有する対話構造情報を格納し得る対話構造情報格納部と、
第二対話行為タグと１以上の文とを有する出力音声情報を格納し得る出力文情報格納部とをさらに具備し、
前記対話制御部は、
前記対話構造情報格納部から、前記音声認識手段が取得した文字列を用いて、当該文字列に対応する第一対話行為タグを取得する第一対話行為タグ取得手段と、
前記第一対話行為タグ取得手段が取得した第一対話行為タグに対応する１以上の第二対話行為タグのうちの、前記言語識別子取得部が取得した言語識別子に対応する１の第二対話行為タグを取得する第二対話行為タグ取得手段と、
前記第二対話行為タグ取得手段が取得した第二対話行為タグに対応する文を、前記出力文情報格納部から取得する文取得手段とを具備する請求項１記載の音声対話装置。
【請求項４】
第一話者の入力音声を第一端末から受信し、その発話の始端から終端までを検出して該当区間の音声データを取得する受付部と、
前記入力音声を音声認識し、文字列を取得する音声認識部と、
前記入力音声に基づく情報を出力する先を決定する出力先決定部と、
前記出力先決定部が決定した出力先が第二端末である場合は、前記入力音声に基づく情報を前記第二端末に送信し、前記出力先決定部が決定した出力先が音声対話装置である場合は、前記音声認識部が取得した文字列を前記音声対話装置に渡す送信部と、
前記音声対話装置から前記文字列に対応する応答を受け付ける応答受付部と、
前記応答受付部が受け付けた応答を前記第一端末および前記第二端末に送信する応答送信部とを具備するサーバ装置。
【請求項５】
前記出力先決定部は、
前記音声認識部が取得した文字列に含まれる１以上の用語に応じて、前記入力音声に基づく情報を出力する先を決定する請求項４記載のサーバ装置。
【請求項６】
前記出力先決定部は、
前記第一端末から送信されたユーザの指示に応じて、前記入力音声に基づく情報を出力する先を決定する請求項４記載のサーバ装置。
【請求項７】
受付部、言語識別子取得部、音声認識部、対話制御部、音声合成部、および音声出力部により実現される音声対話方法であって、
前記受付部が、２以上の異なる言語により発声された入力音声を受け付ける受付ステップと、
前記言語識別子取得部が、前記入力音声の言語を識別する言語識別子を取得する言語識別子取得ステップと、
前記音声認識部が、前記入力音声および前記言語識別子に応じて音声認識結果であるテキストを生成する音声認識ステップと、
前記対話制御部が、前記音声認識結果および前記言語識別子に応じて出力文を生成する対話制御ステップと、
前記出力文と前記言語識別子に応じて音声波形を生成する音声合成ステップと、
前記音声出力部が、前記合成取得ステップで取得された音声波形に応じた音声を出力する音声出力ステップとを具備する音声対話方法。
【請求項８】
受付部、音声認識部、出力先決定部、送信部、応答受付部、および応答送信部により実現される方法であって、
前記受付部が、第一話者の入力音声を第一端末から受信し、その発話の始端から終端までを検出して該当区間の音声データを取得する受付ステップと、
前記音声認識部が、前記入力音声を音声認識し、文字列を取得する音声認識ステップと、
前記出力先決定部が、前記入力音声に基づく情報を出力する先を決定する出力先決定ステップと、
前記送信部が、前記出力先決定ステップで決定された出力先が第二端末である場合は、前記入力音声に基づく情報を前記第二端末に送信し、前記出力先決定ステップで決定された出力先が音声対話装置である場合は、前記音声認識ステップで取得された文字列を前記音声対話装置に渡す送信ステップと、
前記応答受付部が、前記音声対話装置から前記文字列に対応する応答を受け付ける応答受付ステップと、
前記応答送信部が、前記応答受付ステップで受け付けられた応答を前記第一端末および前記第二端末に送信する応答送信ステップとを具備する音声処理方法。
【請求項９】
コンピュータを、
２以上の異なる言語により発声された入力音声に対し、その発話の始端から終端までを検出して該当区間の音声データを取得する受付部と、
前記入力音声の言語を識別する言語識別子を取得する言語識別子取得部と、
前記入力音声および前記言語識別子に応じて音声認識結果であるテキストを生成する音声認識部と、
音声認識結果のテキストと言語識別子とを入力し、前回とは言語識別子が変わっても対話の履歴は維持する一方で言語識別子に応じて異なる内容の出力文を生成する対話制御部と、
前記出力文と前記言語識別子に応じて音声波形を生成する音声合成部と、
前記音声合成部が取得した音声波形に応じた音声を出力する音声出力部として機能させるためのプログラム。
【請求項１０】
コンピュータを、
第一話者の入力音声を第一端末から受信し、その発話の始端から終端までを検出して該当区間の音声データを取得する受付部と、
前記入力音声を音声認識し、文字列を取得する音声認識部と、
前記入力音声に基づく情報を出力する先を決定する出力先決定部と、
前記出力先決定部が決定した出力先が第二端末である場合は、前記入力音声に基づく情報を前記第二端末に送信し、前記出力先決定部が決定した出力先が音声対話装置である場合は、前記音声認識部が取得した文字列を前記音声対話装置に渡す送信部と、
前記音声対話装置から前記文字列に対応する応答を受け付ける応答受付部と、
前記応答受付部が受け付けた応答を前記第一端末および前記第二端末に送信する応答送信部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の言語を用いた対話を支援する音声対話装置であるクロスリンガルの音声対話装置等に関するものである。
【背景技術】
【０００２】
複数言語による音声が混在する場合おいて、異なる言語による対話の履歴を引き継いで、音声の対話文を生成することのできるシステムをクロスリンガル音声対話システムと呼ぶ。従来、重み付き有限状態トランスデューサ（ＷＦＳＴ）の枠組みを用いたクロスリンガル音声対話システムがあった（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】岡本拓磨, 廣江厚夫, 堀智織, 河井恒,“言語理解WFST並列接続に基づくクロスリンガル音声対話”, 2015年秋季日本音響学会研究発表会講演論文集, pp.35-38, 2015年9月.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術においては、ユーザが使用する言語（入力言語）が切り替わっても音声対話システムが対話履歴を引き継ぐ一方で、入力言語によって応答を変えることができなかった。また、従来技術においては、音声対話装置をテレビ電話やテレビ会議システム等に利用する場合といった、異なる言語を話す複数のユーザが離れた場所に存在する場合でも、音声対話装置を適切に利用しながら人間同士の通話を行なうことが困難であった。例えば、テレビ電話の最中にユーザの一人が音声対話システムに対して質問を行ない、それにシステムが回答し、その回答に対して別の言語を話すもう一人のユーザがシステムに別の言語で質問し、システムはそれに対しても適切に回答するといったことは困難であった。
【０００５】
以上の課題に鑑み、本発明は、複数の言語による音声対話を適切に支援することを目的とする。
【課題を解決するための手段】
【０００６】
本第一の発明の音声対話装置は、２以上の異なる言語により発声された入力音声に対し、その発話の始端から終端までを検出して該当区間の音声データを取得する受付部と、入力音声の言語を識別する言語識別子を取得する言語識別子取得部と、入力音声および言語識別子に応じて音声認識結果であるテキストを生成する音声認識部と、音声認識結果のテキストと言語識別子とを入力し、前回とは言語識別子が変わっても対話の履歴は維持する一方で言語識別子に応じて異なる内容の出力文を生成する対話制御部と、出力文と言語識別子に応じて音声波形を生成する音声合成部と、音声合成部が取得した音声波形に応じた音声を出力する音声出力部とを具備する音声対話装置である。
かかる構成により、ユーザの使用言語を識別することで、ユーザに応じた適切な応答を返すことができる。
【０００７】
また、本第二の発明の音声対話装置は、第一の発明に対して、対話の繋がりを示す情報であり、第一話者の入力音声を抽象する第一対話行為タグ、および第二話者の出力音声を抽象する第二対話行為タグとを有する対話連結情報を１以上有する対話構造情報を格納し得る対話構造情報格納部と、第二対話行為タグと１以上の文とを有する出力音声情報を格納し得る出力文情報格納部とをさらに具備し、対話制御部は、対話構造情報格納部から、音声認識手段が取得した文字列を用いて、文字列に対応する第一対話行為タグを取得する第一対話行為タグ取得手段と、第一対話行為タグ取得手段が取得した第一対話行為タグに対応する１以上の第二第一対話行為タグ取得手段が取得した第一対話行為タグに対応する１以上の第二対話行為タグのうちの、１の第二対話行為タグを取得する第二対話行為タグ取得手段と、第二対話行為タグ取得手段が取得した第二対話行為タグに対応する文を、出力文情報格納部から取得する文取得手段と、文取得手段が取得した文を、言語識別子取得部が取得した言語識別子に応じて変更し、変更した文を取得する文変更手段とを具備する音声対話装置である。
かかる構成により、ユーザの使用言語を識別することで、ユーザに応じた適切な応答を返すことができる。
【０００８】
また、本第三の発明の音声対話装置は、第一の発明に対して、対話の繋がりを示す情報であり、第一話者の入力音声を抽象する第一対話行為タグ、および第二話者の出力音声を抽象する第二対話行為タグとを有する対話連結情報を１以上有する対話構造情報であり、第一対話行為タグに連結し、言語識別子に対応する２以上の第二対話行為タグを有する対話構造情報を格納し得る対話構造情報格納部と、第二対話行為タグと１以上の文とを有する出力音声情報を格納し得る出力文情報格納部とをさらに具備し、対話制御部は、対話構造情報格納部から、音声認識手段が取得した文字列を用いて、文字列に対応する第一対話行為タグを取得する第一対話行為タグ取得手段と、第一対話行為タグ取得手段が取得した第一対話行為タグに対応する１以上の第二対話行為タグのうちの、言語識別子取得部が取得した言語識別子に対応する１の第二対話行為タグを取得する第二対話行為タグ取得手段と、第二対話行為タグ取得手段が取得した第二対話行為タグに対応する文を、出力文情報格納部から取得する文取得手段とを具備する音声対話装置である。
かかる構成により、ユーザの使用言語を識別することで、ユーザに応じた適切な応答を返すことができる。
【０００９】
また、本第四の発明のサーバ装置は、第一話者の入力音声を第一端末から受信し、その発話の始端から終端までを検出して該当区間の音声データを取得する受付部と、入力音声を音声認識し、文字列を取得する音声認識部と、入力音声に基づく情報を出力する先を決定する出力先決定部と、出力先決定部が決定した出力先が第二端末である場合は、入力音声に基づく情報を第二端末に送信し、出力先決定部が決定した出力先が音声対話装置である場合は、音声認識部が取得した文字列を音声対話装置に渡す送信部と、音声対話装置から文字列に対応する応答を受け付ける応答受付部と、応答受付部が受け付けた応答を第一端末および第二端末に送信する応答送信部とを具備するサーバ装置である。
かかる構成により、異なる言語を話す２以上のユーザが離れた場所に存在する場合であっても、テレビ電話やテレビ会議システム等に音声対話装置を適切に利用した対話ができる。
【００１０】
また、本第五の発明のサーバ装置は、第四の発明に対して、出力先決定部は、音声認識部が取得した文字列に含まれる１以上の用語に応じて、入力音声に基づく情報を出力する先を決定するサーバ装置である。
かかる構成により、異なる言語を話す２以上のユーザが離れた場所に存在する場合であっても、テレビ電話やテレビ会議システム等に音声対話装置を適切に利用した対話ができる。
【００１１】
また、本第六の発明のサーバ装置は、第四の発明に対して、出力先決定部は、第一端末から送信されたユーザの指示に応じて、入力音声に基づく情報を出力する先を決定するサーバ装置である。
かかる構成により、異なる言語を話す２以上のユーザが離れた場所に存在する場合であっても、テレビ電話やテレビ会議システム等において、音声対話装置を適切に利用しながら、人間同士の通話および人間と装置との対話ができる。
【発明の効果】
【００１２】
本発明による音声対話装置によれば、複数の言語による音声対話を適切に支援することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態１における音声対話装置のブロック図
【図２】同実施の形態における音声対話装置の動作を示すフローチャート
【図３】同実施の形態における第一対話行為タグ取得処理の動作を示すフローチャート
【図４】同実施の形態における第二対話行為タグ取得処理の動作を示すフローチャート
【図５】同実施の形態における文取得処理の動作を示すフローチャート
【図６】同実施の形態における文変更処理の動作を示すフローチャート
【図７】同実施の形態における後処理の動作を示すフローチャート
【図８】同実施の形態における対話構造情報管理表を示す図
【図９】同実施の形態における対話状態遷移図
【図１０】同実施の形態における文対話行為情報管理表を示す図
【図１１】同実施の形態における出力文情報管理表を示す図
【図１２】同実施の形態におけるキーワード管理表を示す図
【図１３】同実施の形態における出力文変更情報管理表を示す図
【図１４】本発明の実施の形態２における音声対話装置のブロック図
【図１５】同実施の形態における音声対話装置の動作を示すフローチャート
【図１６】同実施の形態における第二対話行為タグ取得処理の動作を示すフローチャート
【図１７】同実施の形態における対話構造情報管理表を示す図
【図１８】同実施の形態における対話状態遷移図
【図１９】同実施の形態における出力文情報管理表を示す図
【図２０】本発明の実施の形態３におけるサーバ装置のブロック図
【図２１】同実施の形態におけるサーバ装置の動作を示すフローチャート
【図２２】同実施の形態における出力先決定処理を示す図
【図２３】上記実施の形態におけるコンピュータシステムの外観の一例を示す図
【図２４】上記実施の形態におけるコンピュータシステムの内部構成の一例を示す図
【発明を実施するための形態】
【００１４】
以下、音声対話装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００１５】
（実施の形態１）
本実施の形態において、複数言語による音声が混在する場合おいて、異なる言語による対話の履歴を引き継いで、音声の対話文を生成し、出力する音声対話装置について説明する。また、生成する対話文が言語によって異なる音声対話装置について説明する。音声は、アナログデータでもデジタルデータでも良い。
【００１６】
また、本実施の形態において、対話構造情報、対話行為タグに対応する文の情報を用いて、クロスリンガルの対話を実現する音声対話装置について説明する。
【００１７】
また、本実施の形態において、対話の中で出現している主題に合致した対話文を出力できる音声対話装置について説明する。
【００１８】
また、本実施の形態において説明する対話構造情報は、例えば、有限状態トランスデューサ（ＦＳＴ）、重み付き有限状態トランスデューサ（ＷＦＳＴ）の構造を有している。
【００１９】
また、本実施の形態において、行った対話の情報である履歴情報を覚えておくことにより、例えば、ユーザが否定的に考えている対象や一度対話の中で出現した対象についての文が、対話文として出力されないような対話装置についても説明する。なお、主題とは、後述するキーワードであり、例えば、文中の名詞（名詞句を含む）などである。
【００２０】
図１は、本実施の形態における音声対話装置１のブロック図である。音声対話装置１は、格納部１１、受付部１２、言語識別子取得部１３、対話統括制御部１４、音声出力部１５を備える。格納部１１は、対話構造情報格納部１１１、出力文情報格納部１１２、カレントノード識別子格納部１１５、動作手段格納部１１６、履歴情報格納部１１７、文対話行為情報格納部１１３、および出力文変更情報格納部１１４を備える。対話統括制御部１４は、音声認識部１４０１、対話制御部１４１、音声合成部１４０６を備える。対話制御部１４１は、第一対話行為タグ取得手段１４０２、第二対話行為タグ取得手段１４０３、文取得手段１４０４、文変更手段１４０５、カレントノード識別子更新手段１４０７、実行手段１４０８、履歴情報取得手段１４０９、および履歴情報蓄積手段１４１０を備える。文取得手段１４０４は、用語取得手段１４０４１、および出力文取得手段１４０４２を備える。
【００２１】
音声対話装置１を構成する格納部１１は、各種の情報を格納し得る。各種の情報とは、例えば、後述する対話構造情報、後述する出力音声情報、後述するカレントノード識別子、後述する動作手段、後述する履歴情報、後述する文対話行為情報、後述する出力文変更情報などである。
【００２２】
対話構造情報格納部１１１は、１または２以上の対話構造情報を格納し得る。対話構造情報とは、対話の繋がりを示す情報である。対話構造情報は、対話連結情報を１以上有する。対話連結情報は、第一話者（通常、ユーザ）の入力音声を抽象する第一対話行為タグと、第二話者（通常、音声対話装置１）の出力音声を抽象する第二対話行為タグとを有する。ここで、第一話者は、例えば、音声対話装置１のユーザを示す。第二話者は、音声対話装置１内の仮想的な話者を示す。また、第一対話行為タグと第二対話行為タグのどちらかは空（後述する「ｅｐｓ」）でも良い。また、入力音声又は出力音声の抽象とは、入力音声又は出力音声を構成する文の意義、意味などから、入力音声又は出力音声を種類に分類することをいう。なお、入力音声又は出力音声を種類に分類することは、入力音声又は出力音声に対して、複数の種類の中の１の種類を決定することである。そして、入力音声又は出力音声を抽象した対話行為タグは、対話行為の種類を示す情報であり、例えば、「ｑ．ｓｐｏｔ」「ｑ．ｗｅａｔｈｅｒ」「ｑ．ｈｏｗ−ｔｏ−ｔａｋｅ」「ｑ．ｃｏｓｔ」「ｔｈａｎｋｓ」などがある。ｑ．ｓｐｏｔは観光場所を尋ねる質問、ｑ．ｗｅａｔｈｅｒは今日の天気を尋ねる質問、ｑ．ｈｏｗ−ｔｏ−ｔａｋｅは目的地までどのように行くかを尋ねる質問、ｑ．ｃｏｓｔは目的地までに必要な金額を尋ねる質問、ｔｈａｎｋｓはお礼を表す対話行為タグである。第二話者の出力音声は、通常、第一話者の入力音声に対応する応答の音声などである。対話連結情報は、始端ノード識別子と終端ノード識別子と第一対話行為タグと第二対話行為タグとを有しても良い。また、対話連結情報は、始端ノード識別子で識別されるノードから終端ノード識別子で識別されるノードへの遷移の確率を示す情報である重み情報をも有することは好適である。対話連結情報は、動作を示す情報である動作識別子をもさらに有することは好適である。また、対話連結情報は、始端ノード識別子と終端ノード識別子を有し、第一対話行為タグ、第二対話行為タグ、動作識別子のうちの１以上の情報とを有しても良い。動作識別子とは、例えば、関数名、メソッド名、実行モジュール名などである。ここで、ノードは、概念的な対話の状態を示すものである。なお、始端ノード識別子とは、対話の始端を示すノードを識別する情報である。また、終端ノード識別子とは、対話の終端を示すノードを識別する情報である。始端ノード識別子と、終端ノード識別子とにより、1回の対話のキャッチボール（質問と回答など）が実現していることとなる。なお、対話の繋がりを示す情報とは、対話連結情報に含まれる始端ノード識別子と、対話連結情報に含まれる終端ノード識別子とにより繋がりが示されている情報でも良いし、対話連結情報間を有向リンクにより繋げることにより、繋がりが示されている情報でも良い。また、動作識別子は、第一話者が入力した文に対する処理を行う前処理の動作識別子、第二話者の出力文に対する処理を行う後処理の動作識別子、その他の一般的な処理を行う動作識別子など、いくつかの種類があり、適用される文や情報が異なっても良い。
【００２３】
出力文情報格納部１１２は、１または２以上の出力文情報を格納し得る。出力文情報は、出力音声を構成する文（以下、出力文）の情報である。出力文情報は、第二対話行為タグと１以上の文とを有する。また、出力文情報は、第二対話行為タグと、用語と、１以上の文とを有していても良い。また、出力文情報に含まれる１以上の文は、同一の意味を表す複数の言語で記述された文を含んでも良い。また、出力文情報格納部１１２は、キーワード管理表を保持していても良い。キーワード管理表は、出力文を検索したり、構成したりするための情報の集合であり、詳細については、後述する。
【００２４】
カレントノード識別子格納部１１５は、現在の対話の状態を示すノードを識別するカレントノード識別子を格納し得る。カレントノード識別子格納部１１５には、通常、最初は、対話のスタートポイントを示すノード識別子（例えば、「０」）が記憶されている。
【００２５】
動作手段格納部１１６は、動作手段を１以上格納している。動作手段は、動作識別子に対応する動作を行う。動作手段とは、プログラム、実行モジュール、関数、メソッド、ハードウェアで実現された処理回路などである。動作手段は、例えば、音声認識、音声合成、機械翻訳、履歴蓄積、観光案内検索、スケジューラー、Ｗｅｂ検索、天気予報検索、レストラン検索、チケット予約などの動作を行う。
【００２６】
履歴情報格納部１１７は、対話の履歴に関する情報である履歴情報を格納し得る。履歴情報とは、例えば、既に出現した対話文の中の情報であり、例えば、話題にあがった用語である既出用語などである。
【００２７】
文対話行為情報格納部１１３は、文対話行為情報が格納される。文対話行為情報は、第一対話行為タグ取得手段１４０２が、音声認識部１４０１が取得したテキストから第一対話行為タグを取得するための情報である。文対話行為情報は、第一対話行為タグと文、または第一対話行為タグと句、または第一対話行為タグと文の構造を示す情報などを含む情報である。
【００２８】
出力文変更情報格納部１１４は、１または２以上の出力文変更情報が格納される。出力文変更情報は、出力文を変更するための情報である。出力文変更情報は、文変更手段１４０５が文を変更するために使用する情報である。出力文変更情報は、例えば、言語条件と変更範囲と変更内容を含む情報である。ここで、言語条件とは、言語識別子取得部１３が取得した言語識別子に関する条件である。言語条件は、「言語識別子取得部１３が取得した言語識別子が特定の１の言語識別子」という条件でも良く、「言語識別子１３が取得した言語識別子が複数の言語識別子のいずれか」という条件でも良く、「言語識別子１３が取得した言語識別子が特定の１の言語識別子以外」という条件でも良い。また、変更範囲とは、変更の対象となる出力文の一部を特定する情報である。変更範囲は、出力文の一部を特定する情報であれば何でも良く、文字列、単語、複合語、句、節、または、文そのものでも良い。また、変更範囲は、正規表現等のパターンであっても良い。また、変更内容とは、変更の処理に関する情報である。変更内容は、例えば、「変更範囲の削除」、「変更範囲を指定したテキストに置換」等の具体的な変更の内容を示す情報である。変更内容は、例えば、削除、追加又は置換である。変更内容が追加又は置換の場合は、追加又は置換するテキストも同時に指定される。さらに、変更内容が追加の場合、通常、テキストを追加する場所も同時に指定される。ここで、追加又は置換するテキストは特定の文字列であって良いし、「（変更範囲に含まれる数値を中国元として、当該数値を本日の為替レートで日本円に変換した数値）円」のように、変更範囲に含まれる値を用いた関数を含めても良い。
【００２９】
受付部１２は、マイク等で入力された音データの中から、ユーザが音声対話システムに対して発話したと推測される区間（発話区間）を検出し、その発話区間の始端から終端までの音データを音声認識部１４０１に送付する。以下、入力音声を発声した話者を第一話者と呼ぶ。すなわち、受付部１２は、第一話者の入力音声を受け付ける。発話区間を検出する手段は、Voice Activity Detection（VAD）と呼ばれる既知の技術を用いるのが好適である。あるいは、装置が押しボタンを備え、ユーザがボタンを押しながら発話した場合のみ、そのタイミングに該当する音データの区間を音声認識部１４０１に送付するようにしてもよい。あるいは、装置がカメラを備え、ユーザの顔画像を取得し、顔画像の口唇部分の形状や動きによって発話区間を検出するという公知の技術を用いてもよい。または、入力音声以外の命令や情報（例えば、音声対話装置１の起動指示など）を受け付けても良い。入力音声の入力手段は、通常、マイクであるが、音声を入力する手段であれば何でも良い。受付部１２は、マイク等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【００３０】
言語識別子取得部１３は、受付部１２が受け付けた入力音声の言語識別子を取得する。言語識別子は、言語を識別する情報である。言語識別子は言語を識別可能な情報であれば何でも良い。例えば、日本語に対応する言語識別子として、「ｊａ」を用いても良いし、「日本語」を用いても良い。また、音声の言語を識別する手段については、ｉ−ｖｅｃｔｏｒに基づく方法（N. Dehak, P. A. Torres-Carrasquillo, D. Reynolds, and R. Dehak, “Language recognition via ivectors and dimensionality reduction,” in Proc. INTERSPEECH, Aug. 2011, pp.857-860）や、深層学習に基づく方法（J. Gonzalez-Dominguez, I. Lopez-Moreno, P. J. Moreno, and J. Gonzalez-Rodriguez, “Frame-by-frame language identification in short utterances using deep neural networks,” Neural Netw., vol. 64, pp. 49-58, Apr. 2015）等、音声の言語を識別可能な方法ならば何でもよい。言語識別子取得部１３の処理は、公知技術であるので、詳細な説明を省略する。
【００３１】
音声認識部１４０１は、受付部１２が受け付けた第一話者の入力音声を音声認識し、テキストを取得する。音声認識部１４０１は、通常、言語識別子取得部１３が取得した言語識別子に応じて、音声認識結果のテキストを取得する。また、音声認識部１４０１は、音声をその音声に対応するテキストに変換可能な手段であれば何でも良い。例えば、言語ごとに音声認識器が用意されており、音声認識部１４０１は、言語識別子取得部１３が取得した言語識別子に対応する音声認識器を用いて音声を認識しても良い。また、音声認識部１４０１は、多言語に対応する音声認識器であっても良い。音声認識部１４０１が行う音声認識技術は、公知技術であるので詳細な説明は省略する。なお、受付部１２が受け付けた第一話者の入力音声に対して音声認識処理を行うことは、受付部１２が取得した音声データに対して音声認識処理を行うことである。
【００３２】
対話制御部１４１は、音声認識部１４０１が取得した音声認識結果のテキスト、および言語識別子取得部１３が取得した言語識別子に応じて、第二話者の出力文を生成する。第二話者の出力文を生成とは、出力文の選択や読出し等を含む概念である、とする。対話制御部１４１は、第一話者の入力音声の内容が同じでも、言語識別子取得部１３が取得した言語識別子が異なれば、異なる内容の出力音声を取得することは好適である。かかる場合、対話制御部１４１が生成する出力文は、例えば、第一話者の入力音声に対する応答を、第一話者が使用した言語に基づいて文変更手段１４０５により変更した文である。例えば、第一話者が日本についての地理情報について尋ね、その回答が「北海道」を含むものであった場合、第一話者が日本語以外を使用していたならば、その話者は日本の地理について不詳である可能性があるため、「北海道」に対する補足情報（例えば、「北海道は日本の北部に位置する」ことを意味する情報）を追加した方が親切である。一方、第一話者が日本語を使用していたならば、当該補足情報は冗長に感じられる可能性があるため省略した方が良い。また、例えば、レストランを検索・案内する音声対話装置においては、食べ物の嗜好は話者の国籍によって異なると考えられ、さらにそれは第一話者の入力言語によってある程度推定可能だと考えられる。具体的な例として、第一話者が「祇園はどこですか？」を意味する出力文を音声対話装置１に与え、その後、「その付近のレストランを教えてください」を意味する出力文が与えられた場合、第一話者が使用した言語が日本語か中国語かアラビア語かによって、応答の内容すなわち紹介する店を変えた方が良い場合がある。
【００３３】
第一対話行為タグ取得手段１４０２は、音声認識部１４０１が認識した音声に対応するテキストから、当該テキストに対応する第一対話行為タグを取得する。第一対話行為タグ取得手段１４０２は、テキストから対応する第一対話行為タグに変換可能な手段であれば何でも良い。例えば、言語ごとに変換器が用意されており、第一対話行為タグ取得手段１４０２は、言語識別子取得部１３が取得した言語識別子に対応する変換器を用いて第一対話行為タグに変換しても良い。また、第一対話行為タグ取得手段１４０２は、多言語に対応する変換器であっても良い。以下、受付部１２が受け付けた第一話者の入力音声から音声認識部１４０１が取得したテキストを入力音声テキストと呼ぶ。第一対話行為タグ取得手段１４０２は、入力音声テキストに対して、例えば、自然言語処理し、第一対話行為タグを取得する。第一対話行為タグ取得手段１４０２は、例えば、文対話行為情報格納部１１３に格納された文対話行為情報を検索し、入力音声テキストと対になる対話行為タグを取得する。また、第一対話行為タグ取得手段１４０２は、例えば、入力音声テキストを形態素解析し、一部の形態素（例えば、文「京都でよろしいでしょうか？」の一部の形態素である「よろしいですか？」）が含まれる文と対になる対話行為タグを取得する。また、第一対話行為タグ取得手段１４０２は、例えば、入力音声テキストの一部と、文対話行為情報をパターンマッチングし、マッチした（部分一致も含む）文対話行為情報に含まれる対話行為タグを取得する。この取得された対話行為タグが第一対話行為タグである。
【００３４】
第二対話行為タグ取得手段１４０３は、第一対話行為タグ取得手段１４０２が取得した第一対話行為タグに対応する１の第二対話行為タグを取得する。また、第二対話行為タグ取得手段１４０３は、カレントノード識別子格納部１１５に格納されているカレントノード識別子と一致する始端ノード識別子に対応し、かつ、第一対話行為タグ取得手段１４０２が取得した第一対話行為タグに対応する１の第二対話行為タグを取得することは好適である。第二対話行為タグ取得手段１４０３は、取得の候補となる第二対話行為タグが２以上、存在する場合、重み情報を用いて、より高い遷移確率を示す重み情報と対になる第二対話行為タグを選択することは好適である。第二対話行為タグ取得手段１４０３は、取得の候補となる第二対話行為タグが２以上、存在する場合、例えば、カレントノード識別子で識別されるノードより２以上先の始端ノード識別子に対応する重み情報を用いて、ＤＰ（動的計画法）アルゴリズムを適用し、ルート内で累積された重み情報の合計である累積重み情報を用いて、最も高い遷移確率を示す累積重み情報に対応するルートに含まれる第二対話行為タグを取得しても良い。さらに、第二対話行為タグ取得手段１４０３は、対話の初めに、初期ノード（例えば、後述する始端ノード識別子「０」に対応するノード）に対応する第二対話行為タグを取得しても良い。
【００３５】
文取得手段１４０４は、第二対話行為タグ取得手段１４０３が取得した第二対話行為タグに対応する文を、出力文情報格納部１１２から取得する。また、文取得手段１４０４は、例えば、音声認識部１４０１が認識した入力音声に対応するテキスト（入力音声テキスト）から１以上の用語を取得し、当該１以上の用語と第二対話行為タグとを用いて、出力文情報格納部１１２から文を取得する。また、文取得手段１４０４は、履歴情報を用いて、第二対話行為タグ取得手段１４０３が取得した第二対話行為タグに対応する文を、出力文情報格納部１１２から取得することは好適である。例えば、文取得手段１４０４は、第二対話行為タグ取得手段１４０３が取得した第二対話行為タグに対応する文を、出力文情報格納部１１２から取得する。文取得手段１４０４は、複数の文のうちの１以上を選択して、取得しても良いし、２以上の文をすべて取得しても良い。
【００３６】
用語取得手段１４０４１は、音声認識部１４０１が認識した入力音声に対応するテキスト（入力音声テキスト）から用語を取得する。用語取得手段１４０４１は、例えば、入力音声テキストを形態素解析し、入力音声テキストを構成する名詞などを取得する。
【００３７】
出力文取得手段１４０４２は、用語取得手段１４０４１が取得した用語に対応し、かつ、第二対話行為タグ取得手段１４０３が取得した第二対話行為タグに対応する文を、出力文情報格納部１１２から取得する。出力文取得手段１４０４２は、履歴情報を用いて、第二対話行為タグ取得手段１４０３が取得した第二対話行為タグに対応する文を、出力文情報格納部１１２から取得することは好適である。
【００３８】
文変更手段１４０５は、文取得手段１４０４が取得した文を、言語識別子取得部１３が取得した言語識別子に応じて変更し、変更した文を取得する。また、文変更手段１４０５は、文取得手段１４０４が取得した出力文と、出力文変更情報格納部１１４の出力文変更情報をパターンマッチングし、マッチした（部分一致も含む）出力文変更情報に基づいて出力分を変更しても良い。
【００３９】
音声合成部１４０６は、文変更手段１４０５が取得した出力文の音声波形を取得する。音声合成部１４０６は、通常、音声合成処理を用いて出力文に対応する音声波形を取得する。音声合成処理は公知技術であるため説明を省略する。音声合成部１４０６は、テキストから対応する音声波形を取得可能な手段であれば何でも良い。例えば、言語ごとに合成器が用意されており、音声合成部１４０６は、言語識別子取得部１３が取得した言語識別子に対応する合成器を用いて音声波形を取得しても良い。また、音声合成部１４０６は、多言語に対応する合成器であっても良い。
【００４０】
カレントノード識別子更新手段１４０７は、文取得手段１４０４が取得した出力文に対応する第二対話行為タグと対になる終端ノード識別子を、カレントノード識別子格納部１１５のカレントノード識別子に書き換える。
【００４１】
実行手段１４０８は、第二対話行為タグ取得手段１４０３が選択した第二対話行為タグに対応する動作識別子を取得し、当該動作識別子に対応する動作手段を実行する。実行手段１４０８は、受付部１２が受け付けた第一話者の入力音声に対して、予め決められた動作識別子に対応する動作手段を実行しても良い。かかる処理を、適宜、前処理という。実行手段１４０８は、例えば、関数の呼び出し処理、メソッドの実行処理、実行モジュールの起動処理などの処理を行う。
【００４２】
履歴情報取得手段１４０９は、受付部１２が受け付けた第一話者の入力音声から、履歴情報を取得する。履歴情報取得手段１４０９は、例えば、第一話者の入力音声から音声認識部１４０１が取得したテキストから名詞等を取得し、履歴情報とする。また、履歴情報は、話者を区別して取得しても良いし、話者を使用言語等でグループ化し、グループごとに取得しても良いし、話者と使用言語を区別せずに取得しても良い。
【００４３】
履歴情報蓄積手段１４１０は、履歴情報取得手段１４０９が取得した履歴情報を履歴情報格納部１１７に蓄積する。
【００４４】
音声出力部１５は、音声合成部１４０６が生成した音声波形を出力する。なお、ここでの音声波形の出力は、波形に応じた音の出力である、と考えても良い。音声出力部１５は、言語識別子取得部１３が言語識別子を取得していた場合、当該言語識別子に対応する言語の出力文のみを出力しても良い。また、音声出力部１５は、音声合成部１４０６によって生成された音声波形に加え、対話制御部１４１によって生成された出力文を取得した場合、音声波形と同時に出力文を出力しても良い。また、出力とは、スピーカー等からの音声出力、ディスプレイへの表示、プロジェクターを用いた投影、プリンタへの印字、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラム等への処理結果の引渡し等を含む概念である。音声出力部１５は、スピーカーやディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。音声出力部１５は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【００４５】
格納部１１、対話構造情報格納部１１１、出力文情報格納部１１２、カレントノード識別子格納部１１５、動作手段格納部１１６、履歴情報格納部１１７、文対話行為情報格納部１１３、および出力文変更情報格納部１１４は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。また、格納部１１等について、各種情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部１１等で記憶されるようになってもよく、通信回線等を介して送信された情報が対話構造情報格納部１１１等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部１１等で記憶されるようになってもよい。
【００４６】
言語識別子取得部１３、対話統括制御部１４、音声認識部１４０１、対話制御部１４１、音声合成部１４０６、第一対話行為タグ取得手段１４０２、第二対話行為タグ取得手段１４０３、文取得手段１４０４、文変更手段１４０５、カレントノード識別子更新手段１４０７、実行手段１４０８、履歴情報取得手段１４０９、履歴情報蓄積手段１４１０、用語取得手段１４０４１、および出力文取得手段１４０４２は、通常、ＭＰＵやメモリ等から実現され得る。また、言語識別子取得部１３等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。ただし、ハードウェア（専用回路）で実現しても良い。
【００４７】
次に、音声対話装置１の動作について図２のフローチャートを用いて説明する。
【００４８】
（ステップＳ２０１）受付部１２は、マイク等で入力された音データの中から、ユーザが音声対話システムに対して発話したと推測される区間（発話区間）を検出する。発話区間が検出された場合はステップＳ２０２に行き、検出されなかった場合はステップＳ２０１に戻る。
【００４９】
（ステップＳ２０２）言語識別子取得部１３は、ステップＳ２０１で検出された発話区間に対して言語識別処理を行ない、第一話者の入力音声の言語識別子を取得する。
【００５０】
（ステップＳ２０３）実行手段１４０８は、前処理を行う。前処理とは、ステップＳ２０１で受け付けられた入力音声に対して、予め決められた動作識別子に対応する動作手段を実行することである。なお、例えば、実行手段１４０８は、ノイズ除去を実行し、入力音声に含まれるノイズを除去する。
【００５１】
（ステップＳ２０４）音声認識部１４０１は、ユーザの入力音声に対して音声認識を実行し、第一話者の入力音声に対応するテキストを取得する。
【００５２】
（ステップＳ２０５）第一対話行為タグ取得手段１４０２は、ステップＳ２０４で取得したテキストに対して自然言語処理を行ない、第一対話行為タグを取得する。かかる処理を第一対話行為タグ取得処理という。第一対話行為タグ取得処理の詳細については、図３のフローチャートを用いて説明する。
【００５３】
（ステップＳ２０６）第二対話行為タグ取得手段１４０３は、ステップＳ２０５で取得された第一対話行為タグに対応する１の第二対話行為タグを取得する。かかる処理を第二対話行為タグ取得処理という。第二対話行為タグ取得処理の詳細について、図４のフローチャートを用いて説明する。なお、本ステップで、第二対話行為タグが取得できない場合もあり得る。
【００５４】
（ステップＳ２０７）対話統括制御部１４は、ステップＳ２０６において、第二対話行為タグが取得できた場合はステップＳ２０８へ行き、取得できなかった場合はステップＳ２１２へ行く。なお、第二対話行為タグが取得できなかった場合にＳ２１２に直接ジャンプすることは、出力文および音声を何も出力しないことを意味する。その代わりに、出力が「空」であることを表わす特殊なシンボルを出力し、その後にステップＳ２１２にジャンプしてもよい。
【００５５】
（ステップＳ２０８）文取得手段１４０４は、ステップＳ２０６で取得された第二対話行為タグに対応する出力文を、出力文情報格納部１１２から取得する。かかる処理を文取得処理という。文取得処理の詳細については、図５のフローチャートを用いて説明する。
【００５６】
（ステップＳ２０９）文変更手段１４０５は、ステップＳ２０８で取得した出力文をステップＳ２０２で取得した言語識別子に応じて変更し、変更した出力文を取得する。かかる処理を文変更処理という。文変更処理の詳細については、図６のフローチャートを用いて説明する。なお、ステップＳ２０８で取得した出力文に変更を要する箇所がなかった場合、文変更手段１４０５は、ステップＳ２０８で取得した文をそのまま取得する。
【００５７】
（ステップＳ２１０）音声合成部１４０６は、ステップＳ２０９で取得した出力文に対応する音声波形を生成する。
【００５８】
（ステップＳ２１１）音声出力部１５は、ステップＳ２１０で取得された音声波形を出力する。ここでの出力は、音声対話装置１のスピーカー等への音声出力でも良いし、他のプログラム等へ音声波形を渡す処理などでも良い。
【００５９】
（ステップＳ２１２）実行手段１４０８は、いわゆる後処理を行う。後処理の詳細については、図７のフローチャートを用いて説明する。その後、ステップＳ２０１に戻る。なお、ステップＳ２０１に戻ることにより、ユーザと音声対話装置１との対話が次々と進んでいく。
【００６０】
なお、図２のフローチャートにおいて、前処理が無い場合がある。
【００６１】
また、図２のフローチャートにおいて、ステップＳ２１２の後処理の後、ステップＳ２０１に戻った。しかし、ユーザからの入力音声を受け付けるノード（状態）に行くまで（ユーザからの入力音声を受け付ける対話連結情報に進むまで）、対話構造情報格納部１１１の繋がっている対話連結情報を処理しても良い。かかる処理は、ステップＳ２０５からステップＳ２１２までの処理である。その詳細は、後述する具体例において説明する。
【００６２】
また、図２のフローチャートにおいて、ステップＳ２０６から処理を開始しても良い。
【００６３】
さらに、図２のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【００６４】
次に、ステップＳ２０５の第一対話行為タグ取得処理の詳細の具体例について、図３のフローチャートを用いて説明する。
【００６５】
（ステップＳ３０１）第一対話行為タグ取得手段１４０２は、ステップＳ２０４で取得されたテキストを形態素解析し、1以上の形態素の列を得る。
【００６６】
（ステップＳ３０２）第一対話行為タグ取得手段１４０２は、カウンタｉに１を代入する。
【００６７】
（ステップＳ３０３）第一対話行為タグ取得手段１４０２は、ステップＳ３０１で得た１以上の形態素列の中に、ｉ番目の形態素が存在するか否かを判断する。ｉ番目の形態素が存在すればステップＳ３０４に行き、ｉ番目の形態素が存在しなければ上位処理にリターンする。なお、上位処理にリターンする前に、対話行為タグが付与されていない形態素には、対話行為タグ「ｅｐｓ」を付与することは好適である。
【００６８】
（ステップＳ３０４）第一対話行為タグ取得手段１４０２は、カウンタｊにｉを代入する。
【００６９】
（ステップＳ３０５）第一対話行為タグ取得手段１４０２は、ステップＳ３０１で取得した形態素列のｉ番目からｊ番目までの形態素を部分形態素列として取得し、当該部分形態素列をキーとして、文対話行為情報格納部１１３を検索する。
【００７０】
（ステップＳ３０６）第一対話行為タグ取得手段１４０２は、文対話行為情報格納部１１３の中のいずれかの文対話行為情報が、キーとした部分形態素列に合致するか否かを判断する。合致すればステップＳ３０７に行き、合致しなければステップＳ３０８に行く。なお、合致とは、完全一致でも良いし、部分一致でも良い。また、表現のゆらぎや類義語などでも合致する、と看做すように処理することは好適である。表現のゆらぎや類義語などの処理は公知技術であるので、詳細な説明を省略する。
【００７１】
（ステップＳ３０７）第一対話行為タグ取得手段１４０２は、ステップＳ３０６で合致した文対話行為情報に含まれる対話行為タグを取得し、上位処理にリターンする。
【００７２】
（ステップＳ３０８）第一対話行為タグ取得手段１４０２は、ｊ＋１番目の形態素が存在するか否かを判断する。ｊ＋１番目の形態素が存在すればステップＳ３０９に行き、ｊ＋１番目の形態素が存在しなければステップＳ３１０に行く。
【００７３】
（ステップＳ３０９）第一対話行為タグ取得手段１４０２は、カウンタｊを１だけ増加させ、ステップＳ３０５に戻る。
【００７４】
（ステップＳ３１０）第一対話行為タグ取得手段１４０２は、ｉ番目の形態素に対話行為タグ「ｅｐｓ」を付与する。
【００７５】
（ステップＳ３１１）第一対話行為タグ取得手段１４０２は、カウンタｉを１だけ増加させ、ステップＳ３０３に戻る。
【００７６】
次に、ステップＳ２０６の第二対話行為タグ取得処理の詳細について、図４のフローチャートを用いて説明する。
【００７７】
（ステップＳ４０１）第二対話行為タグ取得手段１４０３は、カレントノード識別子格納部１１５に格納されているカレントノード識別子を読み出す。次に、そのカレントノード識別子と一致する始端ノード識別子に対応し、かつ、第一対話行為タグ取得手段１４０２が取得した第一対話行為タグに対応する１以上の第二対話行為タグを、対話構造情報格納部１１１から取得する。
【００７８】
（ステップＳ４０２）第二対話行為タグ取得手段１４０３は、カウンタｉに１を代入する。
【００７９】
（ステップＳ４０３）第二対話行為タグ取得手段１４０３は、ステップＳ４０１で取得された１以上の第二対話行為タグの中に、ｉ番目の高い遷移確率を示す重み情報と対になる第二対話行為タグが存在するか否かを判断する。かかる第二対話行為タグが存在すればステップＳ４０４に行き、存在しなければステップＳ４０７に行く。なお、かかる判断は、対話構造情報格納部１１１の対話構造情報を参照することにより行われる。
【００８０】
（ステップＳ４０４）第二対話行為タグ取得手段１４０３は、ステップＳ４０１で取得された１以上の第二対話行為タグの中から、ｉ番目の高い遷移確率を示す重み情報と対になる第二対話行為タグを取得し、メモリ上に配置する。
【００８１】
（ステップＳ４０５）第二対話行為タグ取得手段１４０３は、ｉ番目の高い遷移確率を示す重み情報と対になる第二対話行為タグに対応する文を出力したか否か（ｉ番目の高い遷移確率を示す重み情報と対になる第二対話行為タグを処理済みか否か）を判断する。処理済みであればステップＳ４０６に行き、処理済みでなければステップＳ４０８に行く。
【００８２】
（ステップＳ４０６）第二対話行為タグ取得手段１４０３は、カウンタｉを１だけ増加させ、ステップＳ４０３に戻る。
【００８３】
（ステップＳ４０７）第二対話行為タグ取得手段１４０３は、デフォルトの第二対話行為タグを、最終的な第二対話行為タグに決定する。デフォルトの第二対話行為タグとは、例えば、音声対話装置１からユーザへの確認を表す「Ｃｏｎｆｉｒｍ」等である。上位処理にリターンする。なお、ステップＳ４０７を経由することが無い場合には、デフォルトの第二対話行為タグを予め格納する必要は無い。
【００８４】
（ステップＳ４０８）第二対話行為タグ取得手段１４０３は、ｉ番目の高い遷移確率を示す重み情報と対になる第二対話行為タグを、最終的な第二対話行為タグに決定し、上位処理にリターンする。
【００８５】
なお、図４のフローチャートにおいて、例えば、既に処理された第二対話行為タグには、フラグが付されている、とする。
【００８６】
次に、ステップＳ２０８の文取得処理の詳細について、図５のフローチャートを用いて説明する。
【００８７】
（ステップＳ５０１）文取得手段１４０４は、第二対話行為タグ取得手段１４０３が、最終的に決定した第二対話行為タグを取得する。
【００８８】
（ステップＳ５０２）用語取得手段１４０４１は、音声認識部１４０１において取得した入力音声テキストから用語を取得する。ここでの用語は、例えば、入力音声テキストを構成する名詞等である。用語取得手段１４０４１は、入力音声テキストを形態素解析し、文を構成する名詞等を抽出する。なお、文から名詞等を取得する技術は公知技術であるので、詳細な説明を省略する。
【００８９】
（ステップＳ５０３）出力文取得手段１４０４２は、用語取得手段１４０４１が取得した用語に対応し、かつ、第二対話行為タグ取得手段１４０３が取得した第二対話行為タグに対応する１以上の文を、出力文情報格納部１１２から取得する。
【００９０】
（ステップＳ５０４）出力文取得手段１４０４２は、履歴情報格納部１１７から履歴情報を読み出す。この際、ステップＳ２０１が受け付けた入力音声の話者や当該入力音声の言語に対応しない履歴情報は読み出さないことは好適である。
【００９１】
（ステップＳ５０５）出力文取得手段１４０４２は、ステップＳ５０３で取得した１以上の文から、ステップＳ５０４で取得した履歴情報に含まれる用語に対応する文を抽出する。
【００９２】
（ステップＳ５０６）出力文取得手段１４０４２は、残っている文から、１以上の文を取得する。ここで、残っている文が１文であれば、出力文取得手段１４０４２は、当該１文を取得する。また、残っている文が２文以上であれば、出力文取得手段１４０４２は、１文を選択して取得しても良いし、２文以上のうちのいくつか、またはすべてを取得しても良い。取得後は上位処理にリターンする。
【００９３】
なお、図５のフローチャートにおいて、履歴情報が存在しなくても良い。かかる場合、出力文取得手段１４０４２は、ステップＳ５０３で取得した１以上の文から、最終的に、１文または２文以上の文を取得する。
【００９４】
また、図５のフローチャートのステップＳ５０２において、用語が取得できなくても良い。かかる場合、出力文取得手段１４０４２は、第二対話行為タグ取得手段１４０３が取得した第二対話行為タグに対応する１以上の文を、出力文情報格納部１１２から取得する。
【００９５】
次に、ステップＳ２０９の文変更処理の詳細について、図６のフローチャートを用いて説明する。
【００９６】
（ステップＳ６０１）文変更手段１４０５は、カウンタｉに１を代入する。
【００９７】
（ステップＳ６０２）文変更手段１４０５は、出力文変更情報格納部１１４に、ｉ番目の出力文変更情報が存在するか否かを判断する。ｉ番目の出力文変更情報が存在すればステップＳ６０３へ行き、ｉ番目の出力文変更情報が存在しなければ上位処理にリターンする。なお、ステップＳ２０８で出力文が取得されなかった場合も、上位処理へリターンする。
【００９８】
（ステップＳ６０３）文変更手段１４０５は、出力文変更情報格納部１１４から、ｉ番目の出力文変更情報を取得する。
【００９９】
（ステップＳ６０４）文変更手段１４０５は、ステップＳ２０２で取得した言語識別子がｉ番目の出力文変更情報の言語条件を満たし、かつ、出力文に当該出力文変更情報の変更範囲を含む部分があるか否かを判断する。言語条件を満たし、かつ、変更範囲を含む場合、ステップＳ６０５へ行き、それ以外の場合、ステップＳ６０６へ行く。
【０１００】
（ステップＳ６０５）文変更手段１４０５は、ｉ番目の出力文変更情報に含まれる変更内容に従って出力文を変更する。
【０１０１】
（ステップＳ６０６）文変更手段１４０５は、カウンタｉを１だけ増加させ、ステップＳ６０２に戻る。
【０１０２】
次に、ステップＳ２１２の後処理の詳細について、図７のフローチャートを用いて説明する。
【０１０３】
（ステップＳ７０１）カレントノード識別子更新手段１４０７は、対話制御部１４１が出力した文に対応する第二対話行為タグと対になる終端ノード識別子を、対話構造情報格納部１１１から取得し、メモリ上に配置する。
【０１０４】
（ステップＳ７０２）カレントノード識別子更新手段１４０７は、ステップＳ７０１で取得された終端ノード識別子を、カレントノード識別子格納部１１５のカレントノード識別子に書き換える。
【０１０５】
（ステップＳ７０３）実行手段１４０８は、第二対話行為タグ取得手段１４０３が選択した第二対話行為タグに対応する１以上の動作識別子を、対話構造情報格納部１１１から取得する。
【０１０６】
（ステップＳ７０４）実行手段１４０８は、ステップＳ７０３で取得された１以上の動作識別子が存在するか否かを判断する。１以上の動作識別子が存在すればステップＳ７０５に行き、存在しなければステップＳ７０６に行く。
【０１０７】
（ステップＳ７０５）実行手段１４０８は、ステップＳ７０３で取得された１以上の動作識別子に対応する動作手段を実行する。
【０１０８】
（ステップＳ７０６）履歴情報取得手段１４０９は、音声認識部１４０１が取得した入力音声テキストから、キーワードを取得する。なお、キーワードは、例えば、文中の名詞などである。履歴情報の取得方法は問わない。
【０１０９】
（ステップＳ７０７）履歴情報取得手段１４０９は、取得したキーワード等を用いて履歴情報を構成する。
【０１１０】
（ステップＳ７０８）履歴情報蓄積手段１４１０は、ステップＳ７０７で取得された履歴情報を履歴情報格納部１１７に蓄積し、上位処理にリターンする。
【０１１１】
以下、本実施の形態における音声対話装置１の具体的な動作について説明する。
【０１１２】
今、対話構造情報格納部１１１は、図８に示す対話構造情報管理表を格納している。対話構造情報管理表は、１以上の対話連結情報のレコードを保持している。対話連結情報は、「ＩＤ」「始端ノード識別子」「終端ノード識別子」「第一対話行為タグ」「第二対話行為タグ」「重み情報」「動作識別子」の属性を有する。なお、対話連結情報は、「始端ノード識別子」「終端ノード識別子」の属性値を有し、かつ、「第一対話行為タグ」「第二対話行為タグ」「動作識別子」のうちの１以上の属性値を有する。また、「重み情報」の属性値は存在しなくても良い。また、図８において、「第一対話行為タグ」「第二対話行為タグ」の「−」はＮＵＬＬである。また、「動作識別子」の属性値として、記載がない場合も、「動作識別子」がＮＵＬＬである。さらに、対話連結情報のレコードは、図示していないが、ユーザからの入力音声の入力を待つためのノードであることを示す入力待ちフラグを有しても良い。入力待ちフラグが付与された場合、音声対話装置１は、入力待ちフラグが設定されたレコードに対する処理を行った後、ユーザからの音声の入力を待つ。入力待ちフラグは、図８において、「ＩＤ＝１，４，６，７，９，１０」のレコードに付与されている、とする。
【０１１３】
なお、図８に示す対話構造情報管理表の「動作識別子」にある「スポット検索（ユーザ）」は、入力音声の言語識別子に対応するユーザに応じた観光場所を検索する処理を表し、「スポット検索（場所）」は、ユーザの現在地に応じた観光場所を検索する処理である。
【０１１４】
さらに、図８に示す対話構造情報管理表は、図９に示す対話状態遷移図で示される。図９に示す対話状態遷移図は、いわゆるＷＦＳＴである。図９に示す対話状態遷移図において、網掛けノード（状態）は、ユーザからの文を待っているノードである。また、二重丸の（０）は初期ノードであり、対話の始まりを示すノードである。さらに、二重丸の（８）は終了ノードであり、対話の終了を示すノードである。
【０１１５】
また、文対話行為情報格納部１１３は、図１０に示す文対話行為情報管理表を格納している。文対話行為情報管理表は、「ＩＤ」と「第一対話行為タグ」と「部分テキスト」とを有する。第一対話行為タグ取得手段１４０２は、音声認識部１４０１が取得したテキスト中に、図１０の各レコードにおける「部分テキスト」が含まれる場合、当該レコードの第一対話行為タグを取得する。
【０１１６】
また、出力文情報格納部１１２は、図１１に示す出力文情報管理表を格納している。出力文情報管理表は、「ＩＤ」「出力文情報」を有する。「出力文情報」は、「対話行為タグ」と日本語、英語、中国語の「出力文」を有する。「出力文」において＜＞内の情報は、内部変数の値が代入されることを示す。内部変数は、例えば、スポットの検索結果を示す＜ｓｐｏｔ＞や、天気を示す＜ｗｅａｔｈｅｒ＞や、開始地点を表す＜ｆｒｏｍ＞や、時間を表す＜ｔｉｍｅ＞や、交通手段を表す＜ｔｒａｎｓ＞、金額を表す＜ｃｏｓｔ＞等である。
【０１１７】
また、出力文情報格納部１１２は、図１２に示すキーワード管理表を保持している。キーワード管理表は、音声対話装置１が行うタスク（ある話題）について、キーワードになり得る情報を格納している表である。図１２において、「ｒａｎｋｉｎｇ」「ｓｐｏｔ」「ｆｒｏｍ」「ｔｉｍｅ」「ｔｒａｎｓ」「ｃｏｓｔ」などの属性を有するレコードを多数格納している。ここで、音声対話装置１が行うタスクは、日本の観光のガイドである。「ｒａｎｋｉｎｇ」は日本の観光でのスポットの人気の度合いを示す情報である。「ｓｐｏｔ」「ｆｒｏｍ」「ｔｉｍｅ」「ｔｒａｎｓ」「ｃｏｓｔ」は各スポットの情報をモデル化したものである。「ｓｐｏｔ」は観光スポットである。「ｆｒｏｍ」は当該観光スポットへ向かう出発地である。「ｔｉｍｅ」は後述する交通手段を用いて当該出発地から当該観光スポットへ向かう際に要する時間である。「ｔｒａｎｓ」は当該出発地から当該観光スポットへ向かうための交通手段である。「ｃｏｓｔ」は当該交通手段を用いて当該出発地から当該観光スポットへ行く際に必要な料金である。
後述のように、音声対話システムは日本語の「京都」と英語の“Kyoto”と中国語の「京都」とが対応したキーワードであることを知っている必要がある。同様に、「飛行機」（日本語）と“airplane”（英語）と
2018017936.tif 000003
（中国語）とがお互いに対応していることを知っている必要がある。それを実現するため、図１２の表の各欄では、各国語において対応するキーワードが記述されている。
【０１１８】
また、出力文変更情報格納部１１４は、図１３に示す出力文変更情報管理表を保持している。出力文変更情報管理表は、「ＩＤ」「出力文変更情報」を有する。「出力文変更情報」は、「言語条件」と「変更範囲」と「変更内容」を有する。「言語条件」において、「Ｌａｎｇ＝言語Ｌ」とは、言語識別子が言語Ｌであるという条件を意味する。また、「（％ｄ）」は、数値を表す文字列であり、「ｙｕａｎ＿ｔｏ＿ｙｅｎ（＄１）」は当該数値を表す文字列を、中国元を表す数値と仮定し、当該数値を日本円に変換する関数を表す。図１３における「タイプ＝追加」は、出力文の言語が「言語条件」と一致した場合に、「場所」が表わす出力文の位置に「内容」のテキストを追加することを意味する。この図においては、日本語を除き、出力文に「北海道」に対応するキーワードが含まれていた場合に、「北海道は日本の北部に位置する」ことを意味する一文が追加される。
【０１１９】
かかる状況において、「日本語」、「英語」、「中国語」の各言語を話す３名のユーザ（３名の第一話者）が「東京」において、音声対話装置１を用いる実施例について、以下、説明する。
【０１２０】
ユーザは、音声対話装置１の電源を入れた、とする。すると、音声対話装置１の第二対話行為タグ取得手段１４０３は、初期ノード（例えば、始端ノード識別子「０」に対応するノード）に対応する第二対話行為タグ「ｉｎｔｒｏ」を、図８の対話構造情報管理表から取得する。
【０１２１】
次に、文取得手段１４０４は、取得された第二対話行為タグ「ｉｎｔｒｏ」に対応する出力文「こんにちは。」、「Ｈｅｌｌｏ．」、
2018017936.tif 000004
を、図１１の出力文情報管理表から取得する。
【０１２２】
次に、文変更手段１４０５は、出力文変更情報管理表から、出力文にマッチする出力文変更情報を探すが、言語識別子取得部１３は言語識別子も取得していないため、出力文の変更は行わない。
【０１２３】
次に、音声合成部１４０６は、出力文を音声に変換し、音声出力部１５へ渡す。そして、音声出力部１５は、言語識別子取得部１３は言語識別子を取得していないため、すべての言語の文の音声を出力する。
【０１２４】
次に、カレントノード識別子更新手段１４０７は、音声出力部１５が出力した文に対応する第二対話行為タグ「ｉｎｔｒｏ」と対になる終端ノード識別子「１」を、対話構造情報格納部１１１から取得し、メモリ上に配置する。さらに、カレントノード識別子更新手段１４０７は、取得された終端ノード識別子「１」を、カレントノード識別子格納部１１５のカレントノード識別子に書き換える。
【０１２５】
次に、日本語を話すユーザが「おすすめの観光スポットは？」という音声を音声対話装置１へ入力したとする。
【０１２６】
この音声発話に対し、受付部１２は発話区間を検出し、その区間に対応した音声データを得る。そして、言語識別子取得部１３は、第一話者の入力音声に対応する言語識別子として「日本語」を取得する。さらに、音声認識部１４０１は、音声認識処理を行い、入力音声テキスト「おすすめの観光スポットは」を得る。
【０１２７】
次に、第一対話行為タグ取得手段１４０２は、以下のように「おすすめの観光スポットは」に対応する第一言語タグを取得する。まず、第一対話行為タグ取得手段１４０２は、入力音声テキスト「おすすめの観光スポットは」を形態素解析する。そして、第一対話行為タグ取得手段１４０２は、図１０の文対話行為情報管理表を参照し、図３のフローチャートに従って、先頭の形態素から順番に第一対話行為タグを付与し、「おすすめ（ｅｐｓ），の（ｅｐｓ）観光スポット（ｑ．ｓｐｏｔ）」を得る。次に、第一対話行為タグ取得手段１４０２は、「おすすめの観光スポットは」に対応する第一対話行為タグを「ｑ．ｓｐｏｔ」に決定する。ここで、第一対話行為タグ取得手段１４０２は、第一対話行為タグ（ｅｐｓ）を無視し、（ｑ．ｓｐｏｔ）を採用する。
【０１２８】
次に、第二対話行為タグ取得手段１４０３は、取得された第一対話行為タグ「ｑ．ｓｐｏｔ」に対応する１の第二対話行為タグを取得する。具体的には、第二対話行為タグ取得手段１４０３は、カレントノード識別子格納部１１５に格納されているカレントノード識別子「１」を読み出し、メモリ上に配置する。
【０１２９】
次に、第二対話行為タグ取得手段１４０３は、取得されたカレントノード識別子「１」と一致する始端ノード識別子に対応し、かつ、第一対話行為タグ取得手段１４０２が取得した第一対話行為タグ「ｑ．ｓｐｏｔ」に対応する遷移先として、図８の対話構造情報管理表の「ＩＤ＝２」と「ＩＤ＝３」の２つの遷移先を候補として取得する。第二対話行為タグ取得手段１４０３は、重み情報「１／４」と「３／４」を用いて、より高い遷移確率を示す重み情報「３／４」と対になる「ＩＤ＝３」を遷移先として選択し、第二対話行為タグは取得しない。したがって、出力文の取得、出力は行われない。
【０１３０】
次に、カレントノード識別子更新手段１４０７は、取得された終端ノード識別子「３」を、カレントノード識別子格納部１１５のカレントノード識別子に書き換える。
【０１３１】
次に、実行手段１４０８は、「ＩＤ＝３」のレコード内の動作識別子「スポット検索（場所）」を対話構造情報格納部１１１から取得する。そして、実行手段１４０８は、取得された動作識別子「スポット検索（場所）」に対応する動作手段を実行する。この検索の結果、図１２のキーワード管理表の「Ｒａｎｋｉｎｇ＝１」に対応する「日本語:京都, 英語:Kyoto, 中国語:京都」が検索されたとする。
【０１３２】
さらに、次のノードに遷移しようとする。つまり、次に、第二対話行為タグ取得手段１４０３は、カレントノード識別子格納部に格納されているカレントノード識別子「３」と一致する始端ノード識別子に対応する第二対話行為タグを取得する。すなわち、図８の対話構造情報管理表の「ＩＤ＝７」のレコードがアクセスされ、第二対話行為タグ取得手段１４０３は、第二対話行為タグ「ａ．ｓｐｏｔ」を取得する。
【０１３３】
次に、文取得手段１４０４は、取得された第二対話行為タグ「ａ．ｓｐｏｔ」に対応する文日本語:「<spot>がおすすめです。」英語:「I recommend <spot>.」中国語:
2018017936.tif 000005
を取得する。さらに、文取得手段１４０４は、先の検索結果から日本語・英語・中国語の＜ｓｐｏｔ＞に「京都」、「Kyoto」、「京都」をそれぞれ代入し、「京都がおすすめです。」、「I recommend Kyoto.」、
2018017936.tif 000006
という文を生成する。さらに、それら３つの文の内、取得した言語識別子「日本語」に対応した「京都がおすすめです。」を選択する。
【０１３４】
次に、文変更手段１４０５は、出力文変更情報管理表から、出力文にマッチする出力文変更情報を探すが、言語識別子取得部１３は言語識別子も取得していないため、出力文の変更は行わない。
【０１３５】
次に、音声合成部１４０６は、文変更手段１４０５が取得した文「京都がおすすめです。」に対応した音声波形を生成する。
【０１３６】
次に、音声出力部１５は、「京都がおすすめです。」に対応した音声を出力する。
【０１３７】
次に、カレントノード識別子更新手段１４０７は、音声出力部１５が出力した文に対応する第二対話行為タグ「ａ．ｓｐｏｔ」と対になる終端ノード識別子「４」を、対話構造情報格納部１１１から取得し、メモリ上に配置する。さらに、カレントノード識別子更新手段１４０７は、取得された終端ノード識別子「４」を、カレントノード識別子格納部１１５のカレントノード識別子に書き換える。
【０１３８】
次に、直前の音声入力を行った日本語を話すユーザが「ありがとう」という音声を音声対話装置１へ入力したとする。
【０１３９】
次に、受付部１２は、第一話者の入力音声「ありがとう」を受け付ける。そして、言語識別子取得部１３は、第一話者の入力音声に対応する言語識別子として「日本語」を取得する。さらに、音声認識部１４０１は、音声認識処理を行い、入力音声テキスト「ありがとう」を得る。
【０１４０】
次に、第一対話行為タグ取得手段１４０２は、図１０の文対話行為情報管理表の「ＩＤ＝３」の「ありがとう」に対応する第一対話行為タグ「ｔｈａｎｋｓ」を取得する。
【０１４１】
次に、第二対話行為タグ取得手段１４０３は、取得された第一対話行為タグ「ｔｈａｎｋｓ」とカレントノード識別子格納部１１５に格納されているカレントノード識別子「４」に対応する１の第二対話行為タグを取得する。図８の対話構造情報管理表の「ＩＤ＝８」には第二対話行為タグは存在しないため、第二対話行為タグ取得手段１４０３は、第二対話行為タグを取得しない。したがって、出力文の取得、出力は行われない。
【０１４２】
次に、カレントノード識別子更新手段１４０７は、取得された終端ノード識別子「１」を、カレントノード識別子格納部１１５のカレントノード識別子に書き換える。
【０１４３】
次に、別のユーザが音声対話装置１へ「What do you recommend for sightseeing?」と英語で音声入力したとする。
【０１４４】
次に、受付部１２は、先の日本語の第一話者とは異なる二人目の第一話者の入力音声「What do you recommend for sightseeing?」を受け付ける。そして、言語識別子取得部１３は、第一話者の入力音声に対応する言語識別子として「英語」を取得する。さらに、音声認識部１４０１は、音声認識処理を実行し、入力音声テキスト「What do you recommend for sightseeing?」を得る。
【０１４５】
次に、第一対話行為タグ取得手段１４０２は、以下のように、「What do you recommend for sightseeing?」に対応する第一対話行為タグを取得する。まず、第一対話行為タグ取得手段１４０２は、入力音声テキスト「What do you recommend for sightseeing?」を形態素解析する。そして、第一対話行為タグ取得手段１４０２は、図１０の文対話行為情報管理表を参照し、図３のフローチャートに従って、先頭の形態素から順番に、第一対話行為タグを付与し、「What（ｅｐｓ） do（ｅｐｓ） you（ｅｐｓ） recommend for sightseeing（ｑ．ｓｐｏｔ）」を得る。次に、第一対話行為タグ取得手段１４０２は、「What do you recommend for sightseeing?」に対応する第一対話行為タグを「ｑ．ｓｐｏｔ」に決定する。ここで、第一対話行為タグ取得手段１４０２は、第一対話行為タグ（ｅｐｓ）を無視し、（ｑ．ｓｐｏｔ）を採用する。
【０１４６】
次に、第二対話行為タグ取得手段１４０３は、取得されたカレントノード識別子「１」と一致する始端ノード識別子に対応し、かつ、第一対話行為タグ取得手段１４０２が取得した第一対話行為タグ「ｑ．ｓｐｏｔ」に対応する遷移先として、図８の対話構造情報管理表の「ＩＤ＝２」と「ＩＤ＝３」の２つの遷移先を候補として取得する。当該候補のうち、「ＩＤ＝３」は、既に遷移したため、「ＩＤ＝２」を遷移先として選択し、第二対話行為タグは取得しない。したがって、出力文の取得、出力は行われない。
【０１４７】
次に、カレントノード識別子更新手段１４０７は、取得された終端ノード識別子「２」を、カレントノード識別子格納部１１５のカレントノード識別子に書き換える。
【０１４８】
次に、実行手段１４０８は、「ＩＤ＝２」のレコード内の動作識別子「スポット検索（ユーザ）」を対話構造情報格納部１１１から取得する。そして、実行手段１４０８は、取得された動作識別子「スポット検索（ユーザ）」に対応する動作手段を実行する。この検索の結果、図１２のキーワード管理表の「Ｒａｎｋｉｎｇ＝２」に対応する「日本語:北海道, 英語:Hokkaido, 中国語:北海道」が検索されたとする。
【０１４９】
さらに、次のノードに遷移しようとする。つまり、次に、第二対話行為タグ取得手段１４０３は、カレントノード識別子格納部に格納されているカレントノード識別子「２」と一致する始端ノード識別子に対応する第二対話行為タグを取得する。すなわち、図８の対話構造情報管理表の「ＩＤ＝６」のレコードがアクセスされ、第二対話行為タグ取得手段１４０３は、第二対話行為タグ「ａ．ｓｐｏｔ」を取得する。
【０１５０】
次に、文取得手段１４０４は、取得された第二対話行為タグ「ａ．ｓｐｏｔ」に対応する文日本語:「<spot>がおすすめです。」、英語:「I recommend <spot>.」、中国語:
2018017936.tif 000007
を取得する。さらに、文取得手段１４０４は、先の検索結果から日本語・英語・中国語の＜ｓｐｏｔ＞に「北海道」、「Hokkaido」、「北海道」をそれぞれ代入し、「北海道がおすすめです。」、「I recommend Hokkaido.」、
2018017936.tif 000008
という文をそれぞれ生成する。さらに、それら3つの文の内、取得した言語識別子「英語」に対応した「I recommend Hokkaido.」を選択する。
【０１５１】
次に、文変更手段１４０５は、図１３の出力文変更情報管理表からマッチする出力文変更情報を探す。すると、文変更手段１４０５は、先に言語識別子取得部１３が取得した言語識別子「英語」が言語条件を満たし、かつ、先の文取得手段１４０４が取得し文に「Hokkaido」が含まれることから、図１３の「ＩＤ＝１」がマッチする、と判断する。さらに文変更手段１４０５は、「ＩＤ＝１」の出力文変更情報の変更範囲と変更内容に従って、文を変更する。具体的には、文変更手段１４０５は、変更範囲「Hokkaido」を含む文「I recommend Hokkaido.」の「文末」に「Hokkaido is located in the northern part of Japan.」を「追加」する。この結果、出力文「I recommend Hokkaido.」から「I recommend Hokkaido. Hokkaido is located in the northern part of Japan.」を得る。
【０１５２】
次に、音声合成部１４０６は、文変更手段１４０５が取得した出力文「I recommend Hokkaido. Hokkaido is located in the northern part of Japan.」に対応した音声波形を生成する。
【０１５３】
次に、音声出力部１５は、文変更手段１４０５が取得した出力文を音声出力する。なお、音声出力部１５は、言語識別子取得部１３が取得した言語識別子「英語」に基づいて、「I recommend Hokkaido. Hokkaido is located in the northern part of Japan.」を音声出力しても良い。
なお、この例では英語以外の出力文は選択されずに破棄されているが、破棄せずに全言語の出力文を出力あるいは画面表示してもよいし、さらに音声波形に変換し、出力してもよい。
【０１５４】
次に、カレントノード識別子更新手段１４０７は、音声出力部１５が出力した文に対応する第二対話行為タグ「ａ．ｓｐｏｔ」と対になる終端ノード識別子「４」を、対話構造情報格納部１１１から取得し、メモリ上に配置する。
【０１５５】
次に、カレントノード識別子更新手段１４０７は、取得された終端ノード識別子「２」を、カレントノード識別子格納部１１５のカレントノード識別子に書き換える。
【０１５６】
次に、ユーザが音声対話装置１へ「どれくらいかかる？」と日本語で音声入力したとする。この例において重要なことは、以下の３点である。
１．前回の英語話者の「What do you recommend for sightseeing?」という質問への回答は、英語だけでなく日本語や中国語でも出力されており、英語が聞き取れない人でも音声対話システムが観光地として北海道を勧めていることが分かる。
２．そのため今回の日本語話者の質問は、目的地が含まれていないにも関わらず、北海道までの所要時間や料金を聞いている。
３．音声対話システムにおいては、前回の英語話者の質問により、図９においてノード識別子＝４まで内部状態が遷移しているため、前回とは入力言語が異なっているにもかかわらず、前回の質問に依存した応答生成が行なわれる。
【０１５７】
この音声発話に対し、受付部１２は発話区間を検出し、その区間に対応した音声データを得る。そして、言語識別子取得部１３は、第一話者の入力音声に対応する言語識別子として「日本語」を取得する。さらに、音声認識部１４０１は、音声認識処理を実行し、入力音声テキスト「どれくらいかかる」を得る。
【０１５８】
次に、第一対話行為タグ取得手段１４０２は、今回の音声認識結果である「どのくらいかかる」が図１０の文対話行為情報管理表の「ＩＤ＝７」に対応するため、第一対話行為タグ「ｑ．ｈｏｗ−ｔｏ−ｔａｋｅ」を取得する。
【０１５９】
次に、第二対話行為タグ取得手段１４０３は、取得された第一対話行為タグ「ｑ．ｈｏｗ−ｔｏ−ｔａｋｅ」に対応する１の第二対話行為タグを取得する。具体的には、第二対話行為タグ取得手段１４０３は、カレントノード識別子格納部１１５に格納されているカレントノード識別子「４」を読み出し、メモリ上に配置する。
【０１６０】
次に、第二対話行為タグ取得手段１４０３は、取得されたカレントノード識別子「４」と一致する始端ノード識別子に対応し、かつ、第一対話行為タグ取得手段１４０２が取得した第一対話行為タグ「ｑ．ｈｏｗ−ｔｏ−ｔａｋｅ」に対応する第二対話行為タグ「ａ．ｈｏｗ−ｔｏ−ｔａｋｅ」を、図８の対話構造情報管理表から取得する。
【０１６１】
次に、文取得手段１４０４は、取得された第二対話行為タグ「ａ．ｈｏｗ−ｔｏ−ｔａｋｅ」に対応する文日本語:「<from>から<trans>で<time>かかります。」、英語:「It take <time> by <trans> from <from>.」、中国語:
2018017936.tif 000009
を取得する。さらに、文取得手段１４０４は、キーワード管理表を検索する。前回のユーザー発話において図２の「Ｒａｎｋｉｎｇ＝２」の項目が選択されたという履歴情報を基に、＜ｆｒｏｍ＞に日本語:「東京」、英語:「Tokyo」、中国語:「東京」を、＜ｔｒａｎｓ＞に日本語:「飛行機」、英語:「airplane」、中国語:
2018017936.tif 000010
を、＜ｔｉｍｅ＞に日本語:「４時間」、英語:「four hours」、中国語:
2018017936.tif 000011
という値を得、それぞれ代入することで、日本語:「東京から飛行機で４時間かかります」、英語:「It take four hours by airplane from Tokyo.」、中国語:
2018017936.tif 000012
を取得する。さらに、それら３つの文の内、取得した言語識別子「日本語」に対応した「東京から飛行機で４時間かかります」を選択する。
【０１６２】
次に、文変更手段１４０５は、出力文変更情報管理表を検索するが、マッチする出力文変更情報は存在しないため、何も変更していない文を取得する。
【０１６３】
次に、音声合成部１４０６は、文変更手段１４０５が取得した文「東京から飛行機で４時間かかります」に対応した音声波形を生成する。そして、音声出力部１５は、「東京から飛行機で４時間かかります」を音声出力する。
【０１６４】
以後、同じように、音声対話装置１とユーザは、図８の対話構造情報管理表が示すＷＦＳＴに従って、対話を進める。
【０１６５】
以上、本実施の形態によれば、音声対話装置１は、ユーザの使用言語に合わせて適切な応答をすることができる。また、ユーザは、音声対話装置１と、より自然に、次々と対話できる。
【０１６６】
また、本実施の形態において、ユーザの使用言語によって補足や省略するべき情報は、出力文変更情報として、対話構造情報と出力文情報とは分類している。そのため、出力文変更情報を変更すれば、あらゆる状況において、音声対話装置１は、ユーザの使用言語に合わせて適切な応答をすることができる。
【０１６７】
また、本実施の形態によれば、例えば、対話構造情報（対話状態の構造）と対話で用いる文の集合を分離しているので、文の集合を入れ替えれば、種々の話題（タスク）に対応できる。
【０１６８】
なお、本実施の形態において、言語識別子の例として日本語や英語をあげたが、言語または、英国の英語と米国の英語といった使用される国ごとに言語を分けてもよいし、標準語と大阪弁といった、より細かい地域ごとに分けてもよい。
【０１６９】
また、本実施の形態において、例えば、出力文情報格納部１１２に格納される出力文情報に含まれる文の一部（文変更情報の変更範囲に対応する）に、入力音声に対応する言語に応じた文の変更方法に関する情報である文変更情報を含んでも良い。かかる文変更情報は、出力文変更情報と同じ言語条件と変更内容を含む。
【０１７０】
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをＣＤ−ＲＯＭなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。
【０１７１】
なお、本実施の形態における音声対話装置１を実現するソフトウェアは、以下のようなプログラムである。つまり、コンピュータを、２以上の異なる言語により発声された入力音声に対し、その発話の始端から終端までを検出して該当区間の音声データを取得する受付部と、前記入力音声の言語を識別する言語識別子を取得する言語識別子取得部と、前記入力音声および前記言語識別子に応じて音声認識結果のテキストを生成する音声認識部と、音声認識結果のテキストと言語識別子とを入力し、前回とは言語識別子が変わっても対話の履歴は維持する一方で言語識別子に応じて異なる内容の出力文を生成する対話制御部と、前記出力文および前記言語識別子に応じて音声波形を生成する音声合成部と、前記音声合成部が生成した音声波形に応じた音声を出力する音声出力部として機能させるプログラム、である。
【０１７２】
また、コンピュータがアクセス可能な記録媒体は、対話の繋がりを示す情報であり、第一話者の入力音声を抽象する第一対話行為タグ、および第二話者の出力音声を抽象する第二対話行為タグとを有する対話連結情報を１以上有する対話構造情報を格納し得る対話構造情報格納部と、第二対話行為タグと１以上の文とを有する出力音声情報を格納し得る出力文情報格納部とを具備し、上記プログラムにおいて、前記対話制御部は、前記対話構造情報格納部から、前記音声認識手段が取得した文字列を用いて、当該文字列に対応する第一対話行為タグを取得する第一対話行為タグ取得手段と、前記第一対話行為タグ取得手段が取得した第一対話行為タグに対応する１以上の第二前記第一対話行為タグ取得手段が取得した第一対話行為タグに対応する１以上の第二対話行為タグのうちの、１の第二対話行為タグを取得する第二対話行為タグ取得手段と、前記第二対話行為タグ取得手段が取得した第二対話行為タグに対応する文を、前記出力文情報格納部から取得する文取得手段と、前記文取得手段が取得した文を、前記言語識別子取得部が取得した言語識別子に応じて変更し、変更した文を取得する文変更手段とを具備するものとして、コンピュータを機能させるプログラム、であることは好適である。
【０１７３】
（実施の形態２）
本実施の形態において、実施の形態１と同様に、複数言語による音声が混在する場合おいて、異なる言語による対話の履歴を引き継いで、音声の対話文を生成し、出力する音声対話装置について説明する。
【０１７４】
なお、本実施の形態において、実施の形態１とは、対話構造情報の構造が異なる。本実施の形態において、実施の形態１とは異なる構造を有する対話構造情報を用いて、言語によって、生成する対話文を異なる対話文とすることができる音声対話装置について説明する。
【０１７５】
実施の形態１においては、ユーザがどの言語で発話しても、同一内容であれば音声認識結果は同一の第一対話行為タグに変換され、さらに同一の第二対話行為タグが生成されていた。そして、第二対話行為タグの実行時に全言語分の出力文が生成された後、言語識別子に対応した出力文が選択され、さらに言語識別子に依存した文変換処理が行なわれていた。それに対し、実施の形態２においては、同一の第一対話行為タグに変換されるところまでは同じであるが、その後、言語識別子に応じて異なる第二対話行為タグが生成される。そして第二対話行為タグの実行時に単一言語の出力文が生成される。ただし、特定の状況や特定の内容の発話に対して全言語分の出力文を生成させたい場合は、言語識別子に依らずに同一の第二対話行為タグを生成する。特定の状況とは、例えば、装置の起動時にその装置の紹介や使用上の注意などを各国語で音声合成させたい場合などである。
【０１７６】
図１４は、本実施の形態における音声対話装置２のブロック図である。音声対話装置２は、格納部２１、受付部１２、言語識別子取得部１３、対話統括制御部２４、および音声出力部１５を備える。格納部２１は、対話構造情報格納部２１１、出力文情報格納部１１２、カレントノード識別子格納部１１５、動作手段格納部１１６、履歴情報格納部１１７、文対話行為情報格納部１１３を備える。対話統括制御部２４は、音声認識部１４０１、対話制御部２４１、音声合成部１４０６を備える。対話制御部２４１は、第一対話行為タグ取得手段１４０２、第二対話行為タグ取得手段２４０３、文取得手段１４０４、カレントノード識別子更新手段１４０７、実行手段１４０８、履歴情報取得手段１４０９、および履歴情報蓄積手段１４１０を備える。文取得手段１４０４は、用語取得手段１４０４１、および出力文取得手段１４０４２を備える。
【０１７７】
上記のとおり、音声対話装置２は、音声対話装置１と一部が異なる。具体的には、音声対話装置１の対話構造情報格納部１１１を対話構造情報格納部２１１に、第二対話行為タグ取得手段１４０３を第二対話行為タグ取得手段２４０３に変更し、さらに、文変更手段１４０５を除いたものが音声対話装置２となる。
【０１７８】
以下、音声対話装置１とは異なる部分についてのみ解説する。音声対話装置２の各部で、音声対話装置１と同じ記号が付されている要素については、音声対話装置１と同じ情報を格納又は処理する。
【０１７９】
対話構造情報格納部２１１は、対話構造情報格納部１１１と同様に、対話の繋がりを示す情報である対話構造情報を格納し得る。対話構造情報は、１以上の対話連結情報を有する。対話構造情報格納部２１１の対話連結情報は、第一話者（通常、ユーザ）の入力音声を抽象する第一対話行為タグと、第一話者の入力音声に対応する言語識別子と、第二話者（通常、音声対話装置２）の出力音声を抽象する第二対話行為タグを有する。ここで、第一話者の入力音声に対応する言語識別子とは、通常、言語識別子取得部１３が取得する、第一話者の入力音声の言語を表す識別子である。また、第一対話行為タグと第二対話行為タグのどちらかは空「ｅｐｓ」でも良い。また、入力音声又は出力音声の抽象とは、入力音声又は出力音声を構成する文の意義、意味などから、入力音声又は出力音声を種類に分類することをいう。そして、入力音声又は出力音声を抽象した対話行為タグは、対話行為の種類を示す情報である。対話行為タグの詳細については、既に述べたとおりである。第二話者の出力音声は、通常、第一話者の入力音声に対応する応答の音声などである。また、対話連結情報は、始端ノード識別子と終端ノード識別子と第一対話行為タグと第二対話行為タグと言語識別子を有しても良い。また、対話連結情報は、始端ノード識別子で識別されるノードから終端ノード識別子で識別されるノードへの遷移の確率を示す情報である重み情報をも有することは好適である。対話連結情報は、動作を示す情報である動作識別子をもさらに有することは好適である。また、対話連結情報は、始端ノード識別子と終端ノード識別子を有し、第一対話行為タグ、第二対話行為タグ、言語識別子、動作識別子のうちの１以上の情報とを有しても良い。動作識別子とは、例えば、関数名、メソッド名、実行モジュール名などである。ここで、ノードは、概念的な対話の状態を示すものである。なお、始端ノード識別子とは、対話の始端を示すノードを識別する情報である。また、終端ノード識別子とは、対話の終端を示すノードを識別する情報である。なお、対話の繋がりを示す情報とは、対話連結情報に含まれる始端ノード識別子と、対話連結情報に含まれる終端ノード識別子とにより繋がりが示されている情報でも良いし、対話連結情報間を有向リンクにより繋げることにより、繋がりが示されている情報でも良い。また、動作識別子は、第一話者の入力音声に対する処理を行う前処理の動作識別子、第二話者の出力文に対する処理を行う後処理の動作識別子、その他の一般的な処理を行う動作識別子など、いくつかの種類があり、適用される文や情報が異なっても良い。
【０１８０】
第二対話行為タグ取得手段２４０３は、第一対話行為タグ取得手段１４０２が取得した第一対話行為タグに対応する１以上の第二対話行為タグのうちの、言語識別子取得部１３が取得した言語識別子に対応する１の第二対話行為タグを取得する。また、第二対話行為タグ取得手段２４０３は、カレントノード識別子格納部１１５に格納されているカレントノード識別子と一致する始端ノード識別子に対応し、かつ、第一対話行為タグ取得手段１４０２が取得した第一対話行為タグに対応し、かつ、言語識別子取得部１３が取得した言語識別子に対応する１の第二対話行為タグを取得することは好適である。第二対話行為タグ取得手段２４０３は、取得の候補となる第二対話行為タグが２以上、存在する場合、重み情報を用いて、より高い遷移確率を示す重み情報と対になる第二対話行為タグを選択することは好適である。第二対話行為タグ取得手段２４０３は、取得の候補となる第二対話行為タグが２以上、存在する場合、例えば、カレントノード識別子で識別されるノードより２以上先の始端ノード識別子に対応する重み情報を用いて、ＤＰ（動的計画法）アルゴリズムを適用し、ルート内で累積された重み情報の合計である累積重み情報を用いて、最も高い遷移確率を示す累積重み情報に対応するルートに含まれる第二対話行為タグを取得しても良い。さらに、第二対話行為タグ取得手段１４０３は、対話の初めに、初期ノード（例えば、後述する始端ノード識別子「０」に対応するノード）に対応する第二対話行為タグを取得しても良い。
【０１８１】
また、音声対話装置１と同様に、格納部２１は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能であり、対話統括制御部２４は、通常、ＭＰＵやメモリ等から実現され得る。さらに、対話統括制御部２４の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。ただし、ハードウェア（専用回路）で実現しても良い。
【０１８２】
次に、音声対話装置２の動作について図１５のフローチャートを用いて説明する。
【０１８３】
（ステップＳ１５０１）受付部１２は、マイク等で入力された音データの中から、第一話者であるユーザが音声対話システムに対して発話したと推測される区間（発話区間）を検出し、その発話区間の始端から終端までの音データを音声認識部１４０１に送信する。発話区間が検出されればステップＳ１５０２に行き、発話区間が検出されなければステップＳ１５０１に戻る。
【０１８４】
（ステップＳ１５０２）言語識別子取得部１３は、ステップＳ１５０１で受け付けた第一話者の入力音声の言語を識別し、言語識別子を取得する。
【０１８５】
（ステップＳ１５０３）実行手段１４０８は、前処理を行う。前処理とは、ステップＳ１５０１で受け付けられた入力音声に対して、予め決められた動作識別子に対応する動作手段を実行することである。なお、例えば、実行手段１４０８は、ノイズ除去を実行し、入力音声に含まれるノイズを除去する。
【０１８６】
（ステップＳ１５０４）音声認識部１４０１は、入力音声に対して音声認識を実行し、入力音声に対応するテキストを取得する。
【０１８７】
（ステップＳ１５０５）第一対話行為タグ取得手段１４０２は、ステップＳ１５０４で取得したテキストに対して自然言語処理を行ない、第一対話行為タグを取得する。かかる処理を第一対話行為タグ取得処理という。第一対話行為タグ取得処理の詳細については、既に図３のフローチャートを用いて説明した。
【０１８８】
（ステップＳ１５０６）第二対話行為タグ取得手段２４０３は、ステップＳ１５０５で取得された第一対話行為タグと、ステップＳ１５０２で取得された言語識別子に対応する１の第二対話行為タグを取得する。かかる処理を第二対話行為タグ取得処理という。第二対話行為タグ取得処理の詳細について、図１６のフローチャートを用いて説明する。なお、本ステップで、第二対話行為タグが取得できない場合もあり得る。
【０１８９】
（ステップＳ１５０７）対話統括制御部２４は、ステップＳ１５０６において、第二対話行為タグが取得できた場合はステップＳ１５０８へ行き、取得できなかった場合はステップＳ１５１２へ行く。なお、第二対話行為タグが取得できなかった場合にＳ１５１２に直接ジャンプすることは、出力文および音声を何も出力しないことを意味する。その代わりに、出力が「空」であることを表わす特殊なシンボルを出力し、その後にステップＳ１５１２にジャンプしてもよい。
【０１９０】
（ステップＳ１５０８）文取得手段１４０４は、ステップＳ１５０６で取得された第二対話行為タグに対応する出力文を、出力文情報格納部１１２から取得する。かかる処理を文取得処理という。文取得処理の詳細については、既に図５のフローチャートを用いて説明した。
【０１９１】
（ステップＳ１５１０）音声合成部１４０６は、ステップＳ１５０８で取得した出力文に対応する音声波形を生成する。
【０１９２】
（ステップＳ１５１１）音声出力部１５は、ステップＳ１５１０で取得された音声波形に応じた音声を出力する。ここでの出力は、音声対話装置２のスピーカー等への音声出力でも良いし、図示しない音声出力装置への送信でも良いし、他のプログラム等へ音声を渡す処理などでも良い。
【０１９３】
（ステップＳ１５１２）実行手段１４０８は、いわゆる後処理を行う。後処理の詳細については、図７のフローチャートを用いて説明した。その後、ステップＳ１５０１に戻る。なお、ステップＳ１５０１に戻ることにより、ユーザと音声対話装置２との対話が次々と進んでいく。
【０１９４】
なお、図１５のフローチャートにおいて、前処理が無い場合がある。
【０１９５】
また、図１５のフローチャートにおいて、ステップＳ１５１２の後処理の後、ステップＳ１５０１に戻った。しかし、ユーザからの入力音声を受け付けるノード（状態）に行くまで（ユーザからの入力音声を受け付ける対話連結情報に進むまで）、対話構造情報格納部２１１の繋がっている対話連結情報を処理しても良い。かかる処理は、ステップＳ１５０２からステップＳ１５１２までの処理である。その詳細は、後述する具体例において説明する。
【０１９６】
また、図１５のフローチャートにおいて、ステップＳ１５０６から処理を開始しても良い。
【０１９７】
さらに、図１５のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０１９８】
次に、ステップＳ２０６の第二対話行為タグ取得処理の詳細について、図１６のフローチャートを用いて説明する。
【０１９９】
（ステップＳ１６０１）第二対話行為タグ取得手段２４０３は、カレントノード識別子格納部１１５に格納されているカレントノード識別子を読み出す。次に、そのカレントノード識別子と一致する始端ノード識別子に対応し、かつ、第一対話行為タグ取得手段１４０２が取得した第一対話行為タグに対応し、かつ、言語識別子取得部１３が取得した言語識別子に対応する１以上の第二対話行為タグを、対話構造情報格納部２１１から取得する。
【０２００】
（ステップＳ１６０２）第二対話行為タグ取得手段２４０３は、カウンタｉに１を代入する。
【０２０１】
（ステップＳ１６０３）第二対話行為タグ取得手段２４０３は、ステップＳ１６０１で取得された１以上の第二対話行為タグの中に、ｉ番目の高い遷移確率を示す重み情報と対になる第二対話行為タグが存在するか否かを判断する。かかる第二対話行為タグが存在すればステップＳ１６０４に行き、存在しなければステップＳ１６０７に行く。なお、かかる判断は、対話構造情報格納部２１１の対話構造情報を参照することにより行われる。
【０２０２】
（ステップＳ１６０４）第二対話行為タグ取得手段２４０３は、ステップＳ１６０１で取得された１以上の第二対話行為タグの中から、ｉ番目の高い遷移確率を示す重み情報と対になる第二対話行為タグを取得し、メモリ上に配置する。
【０２０３】
（ステップＳ１６０５）第二対話行為タグ取得手段２４０３は、ｉ番目の高い遷移確率を示す重み情報と対になる第二対話行為タグに対応する文を出力したか否か（ｉ番目の高い遷移確率を示す重み情報と対になる第二対話行為タグを処理済みか否か）を判断する。処理済みであればステップＳ１６０６に行き、処理済みでなければステップＳ１６０８に行く。
【０２０４】
（ステップＳ１６０６）第二対話行為タグ取得手段２４０３は、カウンタｉを１だけ増加させ、ステップＳ１６０３に戻る。
【０２０５】
（ステップＳ１６０７）第二対話行為タグ取得手段２４０３は、デフォルトの第二対話行為タグを、最終的な第二対話行為タグに決定し、上位処理にリターンする。デフォルトの第二対話行為タグとは、例えば、音声対話装置２からユーザへの確認を表す「Ｃｏｎｆｉｒｍ」等である。なお、ステップＳ１６０７を経由することが無い場合には、デフォルトの第二対話行為タグを予め格納する必要は無い。
【０２０６】
（ステップＳ１６０８）第二対話行為タグ取得手段２４０３は、ｉ番目の高い遷移確率を示す重み情報と対になる第二対話行為タグを、最終的な第二対話行為タグに決定し、上位処理にリターンする。
【０２０７】
なお、図１６のフローチャートにおいて、例えば、既に処理された第二対話行為タグには、フラグが付されている、とする。
【０２０８】
以下、本実施の形態における音声対話装置２の具体的な動作について説明する。
【０２０９】
今、対話構造情報格納部２１１は、図１７に示す対話構造情報管理表を格納している。対話構造情報管理表は、１以上の対話連結情報のレコードを保持している。対話連結情報は、「ＩＤ」「始端ノード識別子」「終端ノード識別子」「第一対話行為タグ」「言語識別子」「第二対話行為タグ」の属性を有する。なお、対話連結情報は、「始端ノード識別子」「終端ノード識別子」の属性値を有し、かつ、「第一対話行為タグ」「言語識別子」「第二対話行為タグ」のうちの１以上の属性値を有する。また、図１７において、「第一対話行為タグ」「第二対話行為タグ」の「−」はＮＵＬＬである。また、「言語識別子」の「−」は、すべての言語識別子を表す。さらに、対話連結情報のレコードは、図示していないが、ユーザからの文の入力を待つためのノードであることを示す入力待ちフラグを有しても良い。入力待ちフラグは、図１７において、「ＩＤ＝１，２，３，４，６，７，８」のレコードに付与されている。
【０２１０】
さらに、図１７に示す対話構造情報管理表は、図１８に示す対話状態遷移図で示される。図１７に示す対話状態遷移図は、いわゆるＦＳＴである。図１８に示す対話状態遷移図において、網掛けノード（状態）は、ユーザからの文を待っているノードである。また、二重丸の（０）は初期ノードであり、対話の始まりを示すノードである。さらに、二重丸の（８）は終了ノードであり、対話の終了を示すノードである。
【０２１１】
また、出力文情報格納部１１２は、図１９に示す出力文情報管理表を格納している。出力文情報管理表は、「ＩＤ」「出力文情報」を有する。「出力文情報」は、「対話行為タグ」と日本語、英語、中国語の「出力文」を有する。「出力文」の「−」は、出力文が無いことを表す。
【０２１２】
また、文対話行為情報格納部１１３は、図１０に示す文対話行為情報管理表を格納している。
【０２１３】
かかる状況において、「日本語」、「英語」、「中国語」の各言語を話す３名のユーザ（３名の第一話者）が音声対話装置２を用いる場合を例にあげて説明する。
【０２１４】
ユーザは、音声対話装置２の電源を入れた、とする。すると、音声対話装置２の第二対話行為タグ取得手段２４０３は、初期ノード（例えば、始端ノード識別子「０」に対応するノード）に対応する第二対話行為タグ「ｉｎｔｒｏ」を、図１７の対話構造情報管理表から取得する。
【０２１５】
次に、文取得手段１４０４は、取得された第二対話行為タグ「ｉｎｔｒｏ」に対応する出力文「こんにちは。」、「Ｈｅｌｌｏ．」、
2018017936.tif 000013
を、図１９の出力文情報管理表から取得する。
【０２１６】
次に、音声合成部１４０６は、出力文を音声に変換し、音声出力部１５へ渡す。そして、音声出力部１５は、言語識別子取得部１３は言語識別子を取得していないため、すべての言語の文の音声を出力する。
【０２１７】
次に、カレントノード識別子更新手段１４０７は、音声出力部１５が出力した文に対応する第二対話行為タグ「ｉｎｔｒｏ」と対になる終端ノード識別子「１」を、対話構造情報格納部２１１から取得し、メモリ上に配置する。さらに、カレントノード識別子更新手段１４０７は、取得された終端ノード識別子「１」を、カレントノード識別子格納部１１５のカレントノード識別子に書き換える。
【０２１８】
次に、日本語を話すユーザが「今日の天気は？」という音声を音声対話装置２へ入力したとする。
【０２１９】
この音声発話に対し、受付部は、発話区間を検出し、その区間に対応した音声データを得る。そして、言語識別子取得部１３は、第一話者の入力音声に対応する言語識別子として「日本語」を取得する。さらに、音声認識部１４０１は、音声認識処理を行い、入力音声テキスト「今日の天気は」を得る。
【０２２０】
次に、第一対話行為タグ取得手段１４０２は、「今日の天気は」の「天気」が図１０の文対話行為情報管理表の「ＩＤ＝８」に対応するため、第一対話行為タグ「ｑ．ｗｅａｔｈｅｒ」を取得する。
【０２２１】
次に、第二対話行為タグ取得手段２４０３は、取得された第一対話行為タグ「ｑ．ｗｅａｔｈｅｒ」と、言語識別子「日本語」に対応する１の第二対話行為タグを取得する。具体的には、第二対話行為タグ取得手段２４０３は、カレントノード識別子格納部１１５に格納されているカレントノード識別子「１」を読み出し、メモリ上に配置する。
【０２２２】
次に、第二対話行為タグ取得手段２４０３は、取得されたカレントノード識別子「１」と一致する始端ノード識別子に対応し、かつ、第一対話行為タグ取得手段１４０２が取得した第一対話行為タグ「ｑ．ｗｅａｔｈｅｒ」に対応し、かつ、言語識別子取得部１３が取得した言語識別子「日本語」に対応する遷移先として、図１７の対話構造情報管理表の「ＩＤ＝２」のレコードにアクセスされ、第二対話行為タグ取得手段２４０３は、第二対話行為タグ「ａ．ｗｅａｔｈｅｒ．ｊａ」を取得する。
【０２２３】
次に、文取得手段１４０４は、取得された第二対話行為タグ「ａ．ｗｅａｔｈｅｒ．ｊａ」に対応する文「今日は、黄砂に注意して下さい。」を、図１９の出力文情報管理表から取得する。
【０２２４】
次に、音声合成部１４０６は、文取得手段１４０４が取得した文「今日は、黄砂に注意して下さい。」を変換した音声波形を取得する。そして、音声出力部１５は、当該音声波形を出力する。
【０２２５】
次に、カレントノード識別子更新手段１４０７は、音声出力部１５が出力した文に対応する第二対話行為タグ「ａ．ｗｅａｔｈｅｒ．ｊａ」と対になる終端ノード識別子「７Ｊ」を、対話構造情報格納部２１１から取得し、メモリ上に配置する。さらに、カレントノード識別子更新手段１４０７は、取得された終端ノード識別子「７Ｊ」を、カレントノード識別子格納部１１５のカレントノード識別子に書き換える。
【０２２６】
次に、直前の音声入力を行った日本語を話すユーザが「了解」という音声を音声対話装置２へ入力したとする。
【０２２７】
この音声発話に対し、受付部は発話区間を検出し、その区間に対応した音声データを得る。そして、言語識別子取得部１３は、第一話者の入力音声に対応する言語識別子として「日本語」を取得する。さらに、音声認識部１４０１は、音声認識処理を行い、入力音声テキスト「了解」を得る。
【０２２８】
次に、第一対話行為タグ取得手段１４０２は、「了解」に対応する第一対話行為タグを取得しようとする。形態素「了解」は、図１０のいずれのレコードにも合致しないため、形態素「了解」の第一対話行為タグは「ｅｐｓ」となる。さらに入力音声は「了解」という１の形態素で構成されるため、第一対話行為タグ取得手段１４０２は、第一対話行為タグ「ｅｐｓ」を最終的に取得する。
【０２２９】
次に、第二対話行為タグ取得手段２４０３は、取得されたカレントノード識別子「７Ｊ」と一致する始端ノード識別子に対応し、かつ、第一対話行為タグ取得手段１４０２が取得した第一対話行為タグ「ｅｐｓ」に対応し、かつ、言語識別子取得部１３が取得した言語識別子「日本語」に対応する遷移先として、図１７の対話構造情報管理表の「ＩＤ＝６」のレコードにアクセスする。図１７の対話構造情報管理表の「ＩＤ＝６」には第二対話行為タグは存在しないため、第二対話行為タグ取得手段２４０３は、第二対話行為タグを取得しない。したがって、出力文の取得、出力は行われない。
【０２３０】
次に、カレントノード識別子更新手段１４０７は、取得された終端ノード識別子「１」を、カレントノード識別子格納部１１５のカレントノード識別子に書き換える。
【０２３１】
次に、英語を話すユーザが「How's today's weather?」という音声を音声対話装置２へ入力したとする。
【０２３２】
この音声発話に対し、受付部は発話区間を検出し、その区間に対応した音声データを得る。そして、言語識別子取得部１３は、第一話者の入力音声に対応する言語識別子として「英語」を取得する。さらに、音声認識部１４０１は、音声認識処理を行い、入力音声テキスト「How's today's weather」を得る。
【０２３３】
次に、第一対話行為タグ取得手段１４０２は、「How's today's weather」の「weather」が図１０の文対話行為情報管理表の「ＩＤ＝９」に対応するため、第一対話行為タグ「ｑ．ｗｅａｔｈｅｒ」を取得する。
【０２３４】
次に、第二対話行為タグ取得手段２４０３は、取得された第一対話行為タグ「ｑ．ｗｅａｔｈｅｒ」と、言語識別子「英語」に対応する１の第二対話行為タグを取得する。具体的には、第二対話行為タグ取得手段２４０３は、カレントノード識別子格納部１１５に格納されているカレントノード識別子「１」を読み出し、メモリ上に配置する。
【０２３５】
次に、第二対話行為タグ取得手段２４０３は、取得されたカレントノード識別子「１」と一致する始端ノード識別子に対応し、かつ、第一対話行為タグ取得手段１４０２が取得した第一対話行為タグ「ｑ．ｗｅａｔｈｅｒ」に対応し、かつ、言語識別子取得部１３が取得した言語識別子「英語」に対応する遷移先として、図１７の対話構造情報管理表の「ＩＤ＝３」のレコードにアクセスされ、第二対話行為タグ取得手段２４０３は、第二対話行為タグ「ａ．ｗｅａｔｈｅｒ．ｅｎ」を取得する。
【０２３６】
次に、文取得手段１４０４は、取得された第二対話行為タグ「ａ．ｗｅａｔｈｅｒ．ｅｎ」に対応する文「Today, note the yellow sand phenomenon. The yellow sand phenomenon is dust carried on high winds from China.」を取得する。
【０２３７】
次に、音声合成部１４０６は、文取得手段１４０４が取得した文「Today, note the yellow sand phenomenon. The yellow sand phenomenon is dust carried on high winds from China. 」を変換した音声波形を取得する。そして、音声出力部１５は、当該音声波形を出力する。
【０２３８】
次に、カレントノード識別子更新手段１４０７は、音声出力部１５が出力した文に対応する第二対話行為タグ「ａ．ｗｅａｔｈｅｒ．ｅｎ」と対になる終端ノード識別子「７Ｅ」を、対話構造情報格納部２１１から取得し、メモリ上に配置する。さらに、カレントノード識別子更新手段１４０７は、取得された終端ノード識別子「７Ｅ」を、カレントノード識別子格納部１１５のカレントノード識別子に書き換える。
【０２３９】
以後、同様に、音声対話装置２とユーザは、図１７の対話構造情報管理表が示すＦＳＴに従って、対話を進める。
【０２４０】
以上、本実施の形態によれば、音声対話装置２は、ユーザの使用言語に合わせて適切な応答をすることができる。また、ユーザは、音声対話装置２と、より自然に、次々と対話できる。
【０２４１】
また、本実施の形態によれば、ユーザの使用言語により異なった状態遷移が可能となるため、より細やかにユーザに適応した応答を出力できる。
【０２４２】
また、本実施の形態によれば、例えば、対話構造情報（対話状態の構造）と対話で用いる文の集合を分離しているので、文の集合を入れ替えれば、種々の話題（タスク）に対応できる。
【０２４３】
なお、本実施の形態において、言語識別子の例として日本語や英語をあげたが、言語また子は、英国の英語と米国の英語といった使用される国ごとに言語を分けてもよいし、標準語と大阪弁といった、より細かい地域ごとに分けてもよい。
【０２４４】
また、本実施の形態において、音声対話装置２は、文変更情報格納部１１７と文変更手段１４０５とを有していても良い。音声対話装置２が文変更情報格納部１１７と文変更手段１４０５とを有している場合、音声対話装置２は、文取得手段１４０４で取得した出力文に対して、文変更情報格納部１１７を用いて文変更手段１４０５と同一の処理を行い、出力文を変更する。その後、当該変更した文を音声合成部１４０６とへ渡す。
【０２４５】
なお、本実施の形態における音声対話装置２を実現するソフトウェアは、以下のようなプログラムである。つまり、２以上の異なる言語により発声された入力音声に対し、その発話の始端から終端までを検出して該当区間の音声データを取得する受付部と、前記入力音声の言語を識別する言語識別子を取得する言語識別子取得部と、前記入力音声および前記言語識別子に応じて音声認識結果であるテキストを生成する音声認識部と、音声認識結果のテキストと言語識別子とを入力し、前回とは言語識別子が変わっても対話の履歴は維持する一方で言語識別子に応じて異なる内容の出力文を生成する対話制御部と、前記出力文および前記言語識別子に応じて音声波形を生成する音声合成部と、前記音声合成部が生成した音声を出力する音声出力部としてコンピュータを機能させるプログラム、である。
【０２４６】
また、コンピュータがアクセス可能な記録媒体は、対話の繋がりを示す情報であり、第一話者の入力音声を抽象する第一対話行為タグ、および第二話者の出力音声を抽象する第二対話行為タグとを有する対話連結情報を１以上有する対話構造情報であり、第一対話行為タグに連結し、言語識別子に対応する２以上の第二対話行為タグを有する対話構造情報を格納し得る対話構造情報格納部と、第二対話行為タグと１以上の文とを有する出力音声情報を格納し得る出力文情報格納部とを具備し、上記プログラムにおいて、前記対話制御部は、前記対話構造情報格納部から、前記音声認識手段が取得した文字列を用いて、当該文字列に対応する第一対話行為タグを取得する第一対話行為タグ取得手段と、前記第一対話行為タグ取得手段が取得した第一対話行為タグに対応する１以上の第二対話行為タグのうちの、前記言語識別子取得部が取得した言語識別子に対応する１の第二対話行為タグを取得する第二対話行為タグ取得手段と、前記第二対話行為タグ取得手段が取得した第二対話行為タグに対応する文を前記出力文情報格納部から取得する文取得手段とを具備するものとして、コンピュータを機能させるプログラム、であることは好適である。
【０２４７】
（実施の形態３）
本実施の形態において、２以上のユーザが２以上の言語を話し、かつユーザが２以上の離れた場所にいる環境において、音声対話装置を交えた通話を実現する音声システムについて説明する。
【０２４８】
図２０は、本実施の形態における音声システムのブロック図である。音声システムは、サーバ装置３、１または２以上の第一端末４、１または２以上の第二端末５、および音声対話装置６を有する。
【０２４９】
サーバ装置３は、１又は２以上の第一端末４、１又は２以上の第二端末５及び音声対話装置６と、直接もしくはネットワークを介して接続されている。当該ネットワークは、有線、または無線の通信回線であり、例えば、インターネットやイントラネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、公衆電話回線等である。また、第一端末４、第二端末５及び音声対話装置６は、サーバ装置３と接続可能であれば何でも良い。第一端末４、第二端末５及び音声対話装置６は、例えば、デスクトップパソコン、ノートパソコン、スマートフォン、タブレット、またはＰＤＡ等であっても良い。なお、サーバ装置３と１の第一端末４とが１つの装置で実現されていても良い。また、サーバ装置３と音声対話装置６と１の第一端末４とが１つの装置で実現されていても良い。
【０２５０】
音声対話装置６は、入力音声に基づく情報を受け付け、応答を出力する装置である。入力音声に基づく情報とは、例えば、入力音声そのものか、入力音声の音声認識結果である文字列の一方または両方である。それらに、入力音声の言語を識別する言語識別子を追加してもよい。さらに、音声対話装置６において行なわれる処理の一部をサーバ装置３で行ない、その結果を追加してもよい。例えば、入力音声を抽象する第一対話行為タグの取得処理をサーバ装置３で行ない、得られた第一対話行為タグを前述の入力音声に基づく情報に追加してもよい。また、音声対話装置６が出力する応答は、通常、音声とテキストであるが、どちらか一方でも良い。音声対話装置６は、例えば、実施の形態１で述べた音声対話装置１または実施の形態２で述べた音声対話装置２であるが、他の公知のクロスリンガル音声対話装置等でも良いことは言うまでもない。なお、音声対話装置６は複数のサーバ装置３と直接もしくはネットワークを介して接続されていても良い。
【０２５１】
図２０のサーバ装置３は、受付部３１、音声認識部３２、出力先決定部３３、送信部３４、応答受付部３５、応答送信部３６、および機械翻訳部３７を備える。
【０２５２】
受付部３１は、第一話者の入力音声を第一端末４から受け付ける。ここで、第一端末４とは、第一端末４のうち、音声の入力を行った端末である。また、受け付けとは、通常、有線もしくは無線の通信回線を介して送信された情報の受信であるが、サーバ装置３と第一端末４が１つの装置で実現されている場合等では、当該装置が有するマイクから音声を直接受け付けても良く、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報を受け付けても良い。
【０２５３】
音声認識部３２は、受付部３１が受け付けた入力音声に対して音声認識し、文字列を取得する。文字列は、音声認識の結果である。ここでの文字列は、通常、入力音声の各文を構成する語が認識された文字列である。また、音声認識部３２は、複数の言語に対応した音声認識技術を用いて、認識した音声の言語を識別する言語識別子と文字列とを取得しても良い。音声認識技術および言語識別技術は公知技術であるため説明を省略する。
【０２５４】
また、音声認識部３２は、第一対話行為タグ取得手段１４０２を備えても良い。この場合、音声対話装置６は、例えば、実施の形態１および実施の形態２で述べた、第一話者の入力音声を抽象した第一対話行為タグを受け付け、第一対話行為タグに対応する第二対話行為タグが表す文を出力する。音声認識部３２が、第一対話行為タグ取得手段１４０２を備える場合、音声認識部３２は、入力音声を音声認識した文字列を第一対話行為タグ取得手段１４０２へ渡し、第一対話行為タグを取得する。また、音声認識部３２が第一対話行為タグ取得手段１４０２を備える場合、音声認識部３２は、通常、文対話行為情報格納部１１３も備える。
【０２５５】
出力先決定部３３は、入力音声に基づく情報を用いて、入力音声に基づく情報の出力する先を決定する。出力先決定部３３は、音声認識部３２が取得した文字列の情報を基に、入力音声に基づく情報の出力先を第二端末５または音声対話装置６のいずれかに決定する。出力先決定部３３は、音声認識部３２が取得した文字列に含まれる１以上の用語に応じて、入力音声に基づく情報を出力する先を決定することは好適である。なお、入力音声に基づく情報とは、例えば、入力音声の音声認識結果である文字列、入力音声の音声認識結果である文字列から取得され得る情報である。文字列から取得され得る情報とは、例えば、上述した第一対話行為タグ、上述した第一対話行為タグと言語識別子等である。
【０２５６】
出力先決定部３３は、例えば、予め格納されている予約情報が、音声認識部３２が取得した文字列に含まれる場合、出力先を音声対話装置６と決定する。予約情報は、例えば、音声対話装置６の名前を示す文字列、ニックネームを示す文字列、「おい」等の呼びかけを表す文字列等である。出力先決定部３３は、例えば、予め格納されている予約情報が、音声認識部３２が取得した文字列に含まれない場合、出力先を第二端末５と決定する。なお、１以上の予約情報は、図示しない格納部に格納されている。
【０２５７】
また、出力先決定部３３は、第一端末４から送信されたユーザの指示に応じて、入力音声に基づく情報を出力する先を決定しても良い。例えば、第一端末４の画面上に「音声対話装置へ質問する」というボタンを表示し、当該ボタンが選択（クリックやタップ等）されている間に入力された音声について、出力先決定部３３は、出力先を音声対話装置６と決定し、それ以外の場合は、出力先を第二端末５と決定する。かかる場合、受付部３１は、第一端末４から出力先を識別する出力先識別フラグを受け付ける。出力先識別フラグは、第二端末５を示す情報、または音声対話装置６を示す情報である。あるいは、出力先を決定するための別の手段として、端末に備えられたカメラからユーザの顔画像を取得し、その画像からユーザの顔の方向や視線の方向などを検出した上で、それらが所定の方向であるときのみ入力音声を音声対話装置６に送信するようにしてもよい。例えば、端末に備えられたディスプレイ装置の所定の場所（例えば右下）に音声対話システムのエージェントが表示されており、ユーザがその方向を向きながら発話した場合には入力音声を音声対話装置６に送信するようにする。
【０２５８】
送信部３４は、出力先決定部３３が決定した出力先が第二端末５である場合は、入力音声に基づく情報を第二端末５に送信する。ここで、入力音声に基づく情報は、例えば、入力音声である。ただし、ここでの入力音声に基づく情報は、例えば、音声認識部３２が取得した文字列であっても良く、入力音声を後述する機械翻訳部３７が機械翻訳した文字列であっても良く、さらにその文字列を図示しない音声合成手段によって変換した結果である音声波形でもよい。また、ここでの入力音声に基づく情報は、例えば、入力音声、音声認識部３２が取得した文字列、機械翻訳部３７が機械翻訳した文字列、図示しない音声合成手段が生成した音声波形のうちの２以上の情報でも良い。
【０２５９】
また、送信部３４は、出力先決定部３３が決定した出力先が音声対話装置６である場合は、入力音声に基づく情報を音声対話装置６へ送信する。ここで、入力音声に基づく情報は、例えば、音声認識部３２が取得した文字列である。また、入力音声に基づく情報は、例えば、第一対話行為タグ取得手段１４０２が取得した第一対話行為タグでも良い。また、ここでの入力音声に基づく情報は、受付部３１が受け付けた入力音声の言語を表す言語識別子を有しても良い。
【０２６０】
応答受付部３５は、送信部３４が音声対話装置６へ送信した入力音声に基づく情報（通常、文字列）に対する応答を受け付ける。ここで、受け付けとは、通常、有線もしくは無線の通信回線を介して送信された情報の受信であるが、サーバ装置３と音声対話装置６が１つの装置で実現されている場合、同一コンピュータ上の別のプログラムまたはモジュール、関数等を通じて情報を受信しても良い。
【０２６１】
応答送信部３６は、応答受付部３５が受け付けた応答を第一端末４および第二端末５に送信する。ここで、第二端末５へ送信する応答は、音声対話装置６の応答そのものであっても良く、音声対話装置６の応答を後述する機械翻訳部３７が機械翻訳した文字列であっても良く、当該文字列を図示しない音声合成手段によって変換した音声波形であっても良く、又はこれらの組み合わせであっても良い。また、第二端末５へ送信する応答は、音声対話装置６の応答に関する情報以外に、受付部３１が受け付けた入力音声を含んでも良く、音声認識部３２が取得した文字列を含んでも良く、入力音声を後述する機械翻訳部３７が機械翻訳した文字列を含んでも良く、該文字列を図示しない音声合成手段によって変換した音声波形であっても良い。また、音声対話装置６の応答が複数の言語の文を含んでいる場合、すべての言語の文を各端末へ送信しても良く、各端末のユーザが使用している言語に対応する文のみを各端末へ送信しても良い。
【０２６２】
機械翻訳部３７は、音声認識部３２が取得した文字列を機械翻訳する。また、機械翻訳部３７は、応答受付部３５が受け付けた応答を機械翻訳しても良い。つまり、機械翻訳部３７は、送信部３４又は応答送信部３６が第二端末５へ送信する文字列を機械翻訳処理により取得する。ここで、機械翻訳部３７は、第二端末５ごとに異なる言語へ翻訳し、当該言語は第二端末５を利用しているユーザが用いる言語であることが好適である。また、機械翻訳処理は、直接もしくはネットワークを介した別のコンピュータで実行しても良い。この場合、機械翻訳部３７は当該機械翻訳処理を実行するコンピュータとサーバ装置３を繋ぐインターフェースである。機械翻訳については公知技術であるため説明を省略する。
【０２６３】
音声認識部３２、および出力先決定部３３は、通常、ＭＰＵやメモリ等から実現され得る。また、さらに、音声認識部３２、および出力先決定部３３の各処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。ただし、ハードウェア（専用回路）で実現しても良い。また、文対話行為情報格納部１１３は、音声対話装置１と同様に、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【０２６４】
また、受付部３１、送信部３４、応答受付部３５、および応答送信部３６は、通常、無線または有線の通信手段で実現されるが、放送受信手段で実現されても良い。
【０２６５】
次に、サーバ装置３の動作について図２１のフローチャートを用いて説明する。
【０２６６】
（ステップＳ２１０１）受付部３１は、第一端末４から、入力音声を受け付けたか否かを判断する。入力音声を受け付ければ、ステップＳ２１０２に行き、入力音声を受け付けなければステップＳ２１０１に戻る。
【０２６７】
（ステップＳ２１０２）音声認識部３２は、第一端末４の入力音声に対して音声認識を実行し、テキストを取得する。
【０２６８】
（ステップＳ２１０４）出力先決定部３３は、出力先を第二端末５か音声対話装置６のいずれかに決定する。かかる処理を出力先決定処理という。出力先決定処理の詳細は、図２２のフローチャートを用いて説明する。
【０２６９】
（ステップＳ２１０５）送信部３４は、ステップＳ２１０４で決定した出力先が第二端末５か否かを判断する。出力先が第二端末５ならば、ステップＳ２１０６へ行き、出力先が音声対話装置６ならば、ステップＳ２１０８へ行く。
【０２７０】
（ステップＳ２１０６）機械翻訳部３７は、ステップＳ２１０２で取得したテキストを機械翻訳する。
【０２７１】
（ステップＳ２１０７）送信部３４は、ステップＳ２１０１で受け付けられた入力音声を第二端末５へ送信し、ステップＳ２１０１へ戻る。
【０２７２】
（ステップＳ２１０８）送信部３４は、ステップＳ２１０２で取得した入力音声を音声認識したテキストを音声対話装置６へ送信する。
【０２７３】
（ステップＳ２１０９）応答受付部３５は、音声対話装置６から、ステップＳ２１０８で送信した情報に対する応答がないか判断する。応答があった場合はステップＳ２１１０へ行き、応答がない場合はステップＳ２１０９へ戻る。
【０２７４】
（ステップＳ２１１０）応答送信部３６は、ステップＳ２１０９で受信した音声対話装置６の応答を第一端末４へ送信する。
【０２７５】
（ステップＳ２１１１）機械翻訳部３７は、ステップＳ２１０９で受信した音声対話装置６の応答を機械翻訳する。なお、機械翻訳において翻訳先となる言語は、送信先の第二端末５に対応する言語である。また、送信先の１以上の各第二端末５に対応付けて、言語を識別する言語識別子が図示しない格納部に格納されている、とする。なお前述の通り、翻訳する代わりに音声対話装置が複数言語分の応答を生成してもよく、その場合はＳ２１１１をスキップする。
【０２７６】
（ステップＳ２１１２）応答送信部３６は、ステップＳ２１１１で取得した機械翻訳された結果であるテキストを第二端末５へ送信する。
【０２７７】
なお、図２１のフローチャートにおいて、音声対話装置６が第一対話行為タグを受け付ける場合、ステップＳ２０１８の送信処理が行われる前に、ステップＳ２１０２で取得した入力音声を音声認識したテキストに対して、図３のフローチャートで示した第一対話行為タグ取得処理を行い、第一対話行為タグを取得し、取得した第一対話行為タグを音声対話装置６へ送信する。
【０２７８】
また、図２１のフローチャートにおいて、ステップＳ２１０９は、音声対話装置６からの応答が一定時間無かった場合にステップＳ２１０１へ戻るよう処理しても良い。同様に、「応答なし」を表わす特殊なシンボルを音声対話装置６から受け取った場合も、ステップＳ２１０１へ戻るよう処理しても良い。
【０２７９】
さらに、図２１のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０２８０】
次に、ステップＳ２１０４の出力先決定処理の詳細について、図２２のフローチャートを用いて説明する。
【０２８１】
（ステップＳ２２０１）出力先決定部３３は、ステップＳ２１０２で取得したテキストに対して形態素解析を行い、テキストの形態素列を取得する。
【０２８２】
（ステップＳ２２０２）出力先決定部３３は、ステップＳ２２０１で取得した形態素列の部分形態素列の中に予め定めた特定の予約情報と一致するものがあるかを判断する。ここで、特定の予約情報は、例えば、音声対話装置６に付けられた名前やニックネーム等である。
【０２８３】
（ステップＳ２２０３）出力先決定部３３は、出力先を音声対話装置６と決定する。その後、上位処理へリターンする。
【０２８４】
（ステップＳ２２０４）出力先決定部３３は、出力先を第二端末５と決定する。その後、上位処理へリターンする。
【０２８５】
以下、本実施の形態におけるサーバ装置３の具体的な動作について説明する。
【０２８６】
今、出力先決定部３３は、第一端末４の入力音声に特定の予約情報がある場合に、当該入力音声の出力先を音声対話装置６と判断するとし、特定の予約情報は、「はんな（Hanna）」とする。なお、特定の予約情報「はんな（Hanna）」は、サーバ装置３の図示しない格納部に格納されている、とする。
【０２８７】
また、音声対話装置６は、実施の形態１の具体例の音声対話装置１と同じデータを用いた音声対話装置であるとする。すなわち、音声対話装置６は、図８の対話構造情報に基づき対話を進め、図１１の出力文情報の文を出力する。なお、実施の形態１の具体例の音声対話装置１では、入出力として、音声を用いていたが、本具体例の音声対話装置６は、入力音声のテキストと言語識別子を入力として、出力文のテキストを出力するものとする。
【０２８８】
また、文対話行為情報格納部１１３は、図１０の文対話行為情報管理表を格納している、とする。
【０２８９】
かかる状況において、２名のユーザがそれぞれ日本語と英語を話し、日本語を話すユーザをｊと、英語を話すユーザをｅとし、ユーザｊは端末Jから、ユーザｅは端末Ｅから、音声対話装置６を交えて対話を行う実施例について、以下説明する。
【０２９０】
はじめに、ユーザｊが音声「こんにちは」を端末Jから入力したとする。ここで、端末Ｊは第一端末４となる。
【０２９１】
すると、サーバ装置３の受付部３１は、受信した音データの中から音声発話「こんにちは」に相当する発話区間を検出する。次に、音声認識部３２は、当該発話区間を音声認識し、テキスト「こんにちは」と言語識別子「日本語」を取得する。
【０２９２】
次に、出力先決定部３３は、テキスト「こんにちは」を解析して、以下のように出力先を決定する。出力先決定部３３は、当該テキストを形態素解析し、形態素解析列「こんにちは」を得る。なお、ここでの形態素解析列は１つの形態素で構成される。そして、当該形態素解析列には「はんな」が含まれないため、出力先決定部３３は、出力先を第二端末５となる端末Ｅに決定する。
【０２９３】
次に、機械翻訳部３７は、テキスト「こんにちは」を機械翻訳し、テキスト「Hello」を取得する。そして、送信部３４は、テキスト「Hello」を端末Ｅへ送信する。
【０２９４】
次に、ユーザｅが音声「Good evening」を端末Ｅから入力したとする。ここで、端末Ｅは第一端末４となる。
【０２９５】
すると、サーバ装置３の受付部３１は、音声「Good evening」を受け付ける。次に、音声認識部３２は、当該音声を音声認識し、テキスト「Good evening」と言語識別子「英語」を取得する。
【０２９６】
次に、出力先決定部３３は、テキスト「Good evening」を解析して、出力先を決定する。「Good evening」には「Hanna」は含まれないため、出力先決定部３３は、出力先を第二端末５となる端末Ｊに決定する。
【０２９７】
次に、機械翻訳部３７は、テキスト「Good evening」を機械翻訳し、テキスト「こんばんは」を取得する。そして、送信部３４は、テキスト「こんばんは」を端末Ｅへ送信する。
【０２９８】
次に、ユーザｊが音声「はんな、おすすめの観光スポットは？」を端末Ｊから音声により入力したとする。ここで、端末Ｊは第一端末４となる。
【０２９９】
すると、サーバ装置３の受付部３１は、受信した音データの中から音声発話「はんな、おすすめの観光スポットは？」に対応した発話区間を検出する。次に、音声認識部３２は、当該発話区間を音声認識し、テキスト「はんな、おすすめの観光スポットは」と言語識別子「日本語」を取得する。
【０３００】
次に、出力先決定部３３は、テキスト「はんな、おすすめの観光スポットは」を解析して、以下のように出力先を決定する。出力先決定部３３は、当該テキストを形態素解析し、形態素解析列「はんな｜、｜おすすめ｜の｜観光｜スポット｜は」を得る。ここで、「｜」は形態素境界を表す。当該形態素列には「なんな」が含まれるため、出力先決定部３３は、出力先を音声対話装置６に決定する。
【０３０１】
次に、送信部３４は、テキスト「はんな、おすすめの観光スポットは」と言語識別子「日本語」とを音声対話装置６へ送信する。
【０３０２】
次に、音声対話装置６は、テキスト「はんな、おすすめの観光スポットは」と言語識別子「日本語」とを受信する。
【０３０３】
そして、音声対話装置６は、テキスト「はんな、おすすめの観光スポットは」と言語識別子「日本語」とを用いて、第一対話行為タグ「ｑ．ｓｐｏｔ」を取得し、最終的に、応答「京都がおすすめです」を取得する。具体的には、音声対話装置６は、図８の対話構造情報管理表を参照し、「ＩＤ＝３」のレコードを取得し、当該レコードの動作識別子に対応する動作であるスポット検索を行う。次に、音声対話装置６は、当該対話構造情報管理表の「ＩＤ＝７」のレコードを取得し、第二対話行為タグ「ａ．ｓｐｏｔ」を取得する。次に、音声対話装置６は、図１１の出力文情報管理表を参照し、第二対話行為タグ「ａ．ｓｐｏｔ」と言語識別子「日本語」を用いて、出力文「京都がおすすめです。」を取得する。
【０３０４】
次に、音声対話装置６は、応答「京都がおすすめです。」をサーバ装置３に送信する。
【０３０５】
次に、サーバ装置３の応答受付部３５は、音声対話装置６からの応答「京都がおすすめです」を取得する。
【０３０６】
次に、応答送信部３６は、当該応答「京都がおすすめです。」を端末Ｊへ送信する。そして、機械翻訳部３７は、当該応答を機械翻訳し「I recommend Kyoto.」を取得する。さらに、応答送信部３６は、当該機械翻訳した結果「I recommend Kyoto.」を端末Ｅへ送信する。なお、前述の通り、音声対話装置が日本語の応答の他に英語の応答「I recommend Kyoto.」を生成し、それを端末Ｅへ送信してもよく、その場合は機械翻訳処理をスキップする。
【０３０７】
次に、ユーザｅが音声「Hanna, how long does it take? 」を端末Ｅから入力したとする。ここで、端末Ｅは第一端末４となる。
【０３０８】
すると、サーバ装置３の受付部３１は、音声「Hanne, how long does it take?」を受け付ける。次に、音声認識部３２は、当該音声を音声認識し、テキスト「Hanna, how long does it take?」と言語識別子「英語」を取得する。
【０３０９】
次に、出力先決定部３３は、テキスト「Hanne, how long does it take?」を解析して、出力先を決定する。出力先決定部３３は、当該テキストに「Hanna」が含まれるため、出力先を音声対話装置６に決定する。
【０３１０】
次に、送信部３４は、テキスト「Hanne, how long does it take?」と言語識別子「英語」とを音声対話装置６へ送信する。
【０３１１】
次に、音声対話装置６は、テキスト「Hanne, how long does it take?」と言語識別子「英語」とを受信する。
【０３１２】
そして、音声対話装置６は、テキスト「Hanne, how long does it take?」と言語識別子「英語」とを用いて、第一対話行為タグ「ｑ．ｈｏｗ−ｔｏ−ｔａｋｅ」を取得し、最終的に、応答「It take 2.5 hours by Shinkansen from Tokyo.」を取得する。具体的には、音声対話装置６は、図８の対話構造情報管理表を参照し、「ＩＤ＝９」のレコードを取得し、第二対話行為タグ「ａ．ｈｏｗ−ｔｏ−ｔａｋｅ」を取得する。次に、音声対話装置６は、図１１の出力文情報管理表と図１３のキーワード管理表を参照し、第二対話行為タグ「ａ．ｈｏｗ−ｔｏ−ｔａｋｅ」と言語識別子「英語」を用いて、出力文「It take 2.5 hours by Shinkansen from Tokyo.」を取得する。
【０３１３】
次に、音声対話装置６は、応答「It take 2.5 hours by Shinkansen from Tokyo.」をサーバ装置３に送信する。
【０３１４】
次に、サーバ装置３の応答受付部３５は、音声対話装置６からの応答「It take 2.5 hours by Shinkansen from Tokyo.」を取得する。
【０３１５】
次に、応答送信部３６は、当該応答「It take 2.5 hours by Shinkansen from Tokyo.」を端末Ｅへ送信する。そして、機械翻訳部３７は、当該応答を機械翻訳し「東京から新幹線で2.5時間かかります。」を取得する。さらに、応答送信部３６は、当該機械翻訳した応答を端末Jへ送信する。
【０３１６】
以後、上記と同様に、ユーザｊとユーザｅは、音声対話装置６を交えて対話を進める。
【０３１７】
以上、本実施の形態によれば、異なる言語を話す２以上のユーザが離れた場所に存在する場合であっても、テレビ電話やテレビ会議システム等に音声対話装置を適切に利用した対話ができる。
【０３１８】
また、本実施の形態によれば、異なる言語を話す２以上のユーザが離れた場所に存在する場合であっても、テレビ電話やテレビ会議システム等に、クロスリンガルの音声対話装置を適切に利用した対話ができる。
【０３１９】
また、本実施の形態によれば、音声認識処理を分離できるため、負荷を分散したクロスリンガル音声対話システムを実現できる。
【０３２０】
なお、本実施の形態によれば、第一端末４と第二端末５へテキストを送信したが、送信部３４と応答送信部３６が音声合成部１４０６を備えることで、第一端末４と第二端末５へ音声を送信しても良い。
【０３２１】
また、本実施の形態によれば、クロスリンガル音声対話装置を交えた通話を単一のサーバ装置３によって実現したが、代わりに複数のサーバ装置３を用いても良い。この場合、図２０において、第二端末５の各端末は、図示しない別のサーバ装置３と、直接もしくはネットワークを介して第一端末として接続する。すなわち、第一端末４と第二端末５の各端末は、それぞれ１つのサーバ装置３に対して第一端末として接続されており、当該サーバ装置３以外のサーバ装置３と第二端末として接続されている、ことになる。
【０３２２】
なお、本実施の形態におけるサーバ装置を実現するソフトウェアは、以下のようなプログラムである。つまり、コンピュータを、第一話者の入力音声を第一端末から受信し、その発話の始端から終端までを検出して該当区間の音声データを取得する受付部と、前記入力音声を音声認識し、文字列を取得する音声認識部と、前記入力音声に基づく情報を出力する先を決定する出力先決定部と、前記出力先決定部が決定した出力先が第二端末である場合は、前記入力音声に基づく情報を前記第二端末に送信し、前記出力先決定部が決定した出力先が音声対話装置である場合は、前記音声認識部が取得した文字列を前記音声対話装置に渡す送信部と、前記音声対話装置から前記文字列に対応する応答を受け付ける応答受付部と、前記応答受付部が受け付けた応答を前記第一端末および前記第二端末に送信する応答送信部として機能させるプログラム、である。
【０３２３】
また、上記プログラムにおいて、前記出力先決定部は、前記音声認識部が取得した文字列に含まれる１以上の用語に応じて、前記入力音声に基づく情報を出力する先を決定するものとして、コンピュータを機能させるプログラムであることは好適である。
【０３２４】
また、上記プログラムにおいて、前記出力先決定部は、前記第一端末から送信されたユーザの指示に応じて、前記入力音声に基づく情報を出力する先を決定するものとして、コンピュータを機能させるプログラムであることは好適である。
【０３２５】
以上、すべての実施の形態において、各プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、または分散処理を行ってもよい。
【０３２６】
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を受け付ける受付部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には少なくとも含まれない。
【０３２７】
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体（例えば、ＣＤ−ＲＯＭなどの光ディスクや磁気ディスク、半導体メモリなど）に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
【０３２８】
図２３は、上記プログラムを実行して、上記実施の形態による音声対話装置１等を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
【０３２９】
図２３において、コンピュータシステム３０００は、ＣＤ−ＲＯＭドライブ３００５を含むコンピュータ３００１と、キーボード３００２と、マウス３００３と、モニタ３００４とを備える。
【０３３０】
図２４は、コンピュータシステム３０００の内部構成を示す図である。図２４において、コンピュータ３００１は、ＣＤ−ＲＯＭドライブ３００５に加えて、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１１と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ３０１２と、ＭＰＵ３０１１に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するＲＡＭ３０１３と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク３０１４と、ＭＰＵ３０１１、ＲＯＭ３０１２等を相互に接続するバス３０１５とを備える。なお、コンピュータ３００１は、ＬＡＮやＷＡＮ等への接続を提供する図示しないネットワークカードを含んでいてもよい。
【０３３１】
コンピュータシステム３０００に、上記実施の形態による音声対話装置１等の機能を実行させるプログラムは、ＣＤ−ＲＯＭ３０２１に記憶されて、ＣＤ−ＲＯＭドライブ３００５に挿入され、ハードディスク３０１４に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ３００１に送信され、ハードディスク３０１４に記憶されてもよい。プログラムは実行の際にＲＡＭ３０１３にロードされる。なお、プログラムは、ＣＤ−ＲＯＭ３０２１、またはネットワークから直接、ロードされてもよい。また、ＣＤ−ＲＯＭ３０２１に代えて他の記録媒体（例えば、ＵＳＢメモリ等）を介して、プログラムがコンピュータシステム３０００に読み込まれてもよい。
【０３３２】
プログラムは、コンピュータ３００１に、上記実施の形態による音声対話装置１等の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能やモジュールを呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム３０００がどのように動作するのかについては周知であり、詳細な説明は省略する。
【０３３３】
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０３３４】
以上のように、本発明にかかる音声対話装置は、複数の言語による音声対話を適切に支援することができるという効果を有し、音声対話装置等として有用である。
【符号の説明】
【０３３５】
１、２、６  音声対話装置
３  サーバ装置
４  第一端末
５  第二端末
１１、２１  格納部
１２、３１  受付部
１３  言語識別子取得部
１４、２４  対話統括制御部
１５  音声出力部
１１１、２１１  対話構造情報格納部
１１２  出力文情報格納部
１１３  文対話行為情報格納部
１１４  出力文変更情報格納部
１１５  カレントノード識別子格納部
１１６  動作手段格納部
１１７  履歴情報格納部
１４１、２４１  対話制御部
３２  音声認識部
３３  出力先決定部
３４  送信部
３５  応答受付部
３６  応答送信部
３７  機械翻訳部
１４０１  音声認識部
１４０２  第一対話行為タグ取得手段
１４０３、２４０３  第二対話行為タグ取得手段
１４０４  文取得手段
１４０５  文変更手段
１４０６  音声合成部
１４０７  カレントノード識別子更新手段
１４０８  実行手段
１４０９  履歴情報取得手段
１４１０  履歴情報蓄積手段
１４０４１  用語取得手段
１４０４２  出力文取得手段
【図１】
2018017936.tif 000014
【図２】
2018017936.tif 000015
【図３】
2018017936.tif 000016
【図４】
2018017936.tif 000017
【図５】
2018017936.tif 000018
【図６】
2018017936.tif 000019
【図７】
2018017936.tif 000020
【図８】
2018017936.tif 000021
【図９】
2018017936.tif 000022
【図１０】
2018017936.tif 000023
【図１１】
2018017936.tif 000024
【図１２】
2018017936.tif 000025
【図１３】
2018017936.tif 000026
【図１４】
2018017936.tif 000027
【図１５】
2018017936.tif 000028
【図１６】
2018017936.tif 000029
【図１７】
2018017936.tif 000030
【図１８】
2018017936.tif 000031
【図１９】
2018017936.tif 000032
【図２０】
2018017936.tif 000033
【図２１】
2018017936.tif 000034
【図２２】
2018017936.tif 000035
【図２３】
2018017936.tif 000036
【図２４】
2018017936.tif 000037