(57)【特許請求の範囲】
【請求項１】
予め準備された機械可読な形式の、発話の言語を示す言語ラベルがそれぞれ付された複数の音声データを記憶するための記憶手段と、
前記記憶手段に記憶された音声データの各々について、所定時間長かつ所定シフト長の音声特徴の系列を抽出し、対応する言語ラベルを付すための音声特徴抽出手段と、
前記音声特徴抽出手段により前記音声データの各々について抽出された音声特徴の系列をクラスタリングし、各クラスタの代表ベクトルによりコードブックを作成するためのコードブック作成手段と、
前記音声特徴抽出手段により抽出された、複数の音声データの各々について、当該音声データから得られた前記音声特徴の系列に含まれる音声特徴と最も近い代表ベクトルを前記コードブックから算出し、得られる代表ベクトルの分布に基づいて当該音声データの音声言語特徴を生成し、言語ラベルを付すための音声言語特徴生成手段と、
前記音声言語特徴生成手段により得られた、各々に言語ラベルが付された複数の音声言語特徴を学習データとして、音声言語特徴から言語を推定するための音声言語識別モデルを生成するためのモデル生成手段とを含む、音声言語識別装置の学習装置。
【請求項２】
請求項１に記載の音声言語識別装置の学習装置であって、前記モデル生成手段は、前記音声言語特徴生成手段により得られた前記複数の音声言語特徴を学習データとして、音声言語特徴から言語を推定するためのマルチクラス・サポート・ベクター・マシン（ＳＶＭ）を生成するためのＳＶＭ学習手段を含む、音声言語識別装置の学習装置。
【請求項３】
請求項１又は請求項２に記載の音声言語識別装置の学習装置であって、
前記音声特徴抽出手段は、
前記記憶手段に記憶された音声データの各々について、第１の時間長及び第１のシフト長のフレームの音声特徴の系列を抽出するためのフレーム音声特徴抽出手段と、
前記フレーム音声特徴抽出手段から出力される一連のフレームの音声特徴の系列から、前記第１の時間長よりも長い第２の時間長の音声の特徴を現す音声ブロック特徴を生成するための手段とを含む、音声言語識別装置の学習装置。
【請求項４】
請求項３に記載の音声言語識別装置の学習装置であって、
前記音声言語特徴生成手段は、
前記音声特徴抽出手段により抽出された、複数の音声データの各々について、当該音声データから得られた前記音声特徴の系列に含まれる音声特徴と前記コードブックとをマッチングし、最も近い代表ベクトルを特定するためのマッチング手段と、
前記複数の音声データの各々について、前記マッチング手段により得られた代表ベクトルのヒストグラムを算出するためのヒストグラム算出手段と、
前記ヒストグラム算出手段により算出されたヒストグラムを所定の正規化方法にしたがって正規化し、絶対値が一定の特徴ベクトルを生成し、前記音声ブロック特徴として出力するための正規化手段とを含む、音声言語識別装置の学習装置。
【請求項５】
コンピュータを、
予め準備された機械可読な形式の、発話の言語を示す言語ラベルがそれぞれ付された複数の音声データを記憶するための記憶手段と、
前記記憶手段に記憶された音声データの各々について、所定時間長かつ所定シフト長の音声特徴の系列を抽出し、対応する言語ラベルを付すための音声特徴抽出手段と、
前記音声特徴抽出手段により前記音声データの各々について抽出された音声特徴の系列をクラスタリングし、各クラスタの代表ベクトルによりコードブックを作成するためのコードブック作成手段と、
前記音声特徴抽出手段により抽出された、複数の音声データの各々について、当該音声データから得られた前記音声特徴の系列に含まれる音声特徴と最も近い代表ベクトルを前記コードブックから算出し、得られる代表ベクトルの分布に基づいて当該音声データの音声言語特徴を生成し、言語ラベルを付すための音声言語特徴生成手段と、
前記音声言語特徴生成手段により得られた、各々に言語ラベルが付された複数の音声言語特徴を学習データとして、音声言語特徴から言語を推定するための音声言語識別モデルを生成するためのモデル生成手段として機能させる、音声言語識別装置の学習プログラム。
【請求項６】
入力される音声信号から、所定時間長かつ所定シフト長の音声特徴の系列を抽出するための音声特徴抽出手段と、
予め準備されたコードブックを記憶するためのコードブック記憶手段と、
前記音声特徴抽出手段により抽出された前記音声特徴の系列に含まれる音声特徴の各々について、前記コードブック記憶手段に記憶された前記コードブックとマッチングし、前記音声特徴の各々に最も近い代表ベクトルの分布を得て、当該分布に基づいて前記入力される音声信号の音声言語特徴ベクトルを生成するための音声言語特徴ベクトル生成手段と、
前記音声言語特徴ベクトル生成手段により生成されるものと同一の形式の音声言語特徴ベクトルが与えられると、当該音声言語特徴ベクトルが得られたもとの発話の言語を推定するための言語推定手段とを含む、音声言語の識別装置。
【請求項７】
請求項６に記載の音声言語の識別装置であって、
前記音声言語特徴ベクトル生成手段は、
前記音声特徴抽出手段により抽出された前記音声特徴の系列に含まれる音声特徴の各々について、前記コードブックとマッチングし、最も近い代表ベクトルを特定するためのマッチング手段と、
前記マッチング手段により得られた代表ベクトルのヒストグラムを算出するためのヒストグラム算出手段と、
前記ヒストグラム算出手段により算出されたヒストグラムを所定の正規化方法にしたがって正規化し、絶対値が予め定められた値の特徴ベクトルを生成し、前記音声言語特徴ベクトルとして出力するための正規化手段とを含む、音声言語の識別装置。
【請求項８】
コンピュータを、
入力される音声信号から、所定時間長かつ所定シフト長の音声特徴の系列を抽出するための音声特徴抽出手段と、
予め準備されたコードブックを記憶するためのコードブック記憶手段と、
前記音声特徴抽出手段により抽出された前記音声特徴の系列に含まれる音声特徴の各々について、前記コードブック記憶手段に記憶された前記コードブックとマッチングし、前記音声特徴の各々に最も近い代表ベクトルの分布を得て、当該分布に基づいて前記入力される音声信号の音声言語特徴ベクトルを生成するための音声言語特徴ベクトル生成手段と、
前記音声言語特徴ベクトル生成手段により生成されるものと同一の形式の音声言語特徴ベクトルが与えられると、当該音声言語特徴ベクトルが得られたもとの発話の言語を推定するための言語推定手段として機能させる、音声言語の識別プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は自然言語処理に関し、特に、音声の言語が何かを判定するための言語判定装置と、そのような言語判定装置を備え、相手の言語に応じて翻訳言語を切替える機械翻訳装置に関する。
【背景技術】
【０００２】
音声認識及び自動翻訳技術の実用化が進んでいる。これらと音声合成技術とを組合わせることで、例えば互いに異なる言語を母語とする話者同士が電話を介してコミュニケーションを図ることができる。特に、グローバル化が進む世界では、様々な国の人同士の交流が増えることが予想される。したがって音声認識及び自動翻訳技術の重要性はより高くなると思われる。
【０００３】
ところで、音声認識及び自動翻訳の対象となる言語には多数の組合せがある。仮に固定した言語の組合せしか認識及び翻訳できない装置では、十分なコミュニケーションが行なわれない可能性がある。そのような問題を解決するための１つの提案が後掲の特許文献１においてされている。
【０００４】
特許文献１に開示された音声認識装置は、複数の言語の言語モデル等の言語資源と、入力されている音声信号に基づいて予められた複数の言語の限定された単語を認識することにより、音声信号が何語の発話に基づくものかを認識する単語認識部と、言語資源の中から、単語認識部により認識された言語の資源を選択するモデル切替部と、モデル切替部により選択された言語資源を用い、入力される音声信号の認識を行なう音声認識部とを含む。
【０００５】
単語認識部が、入力された音声からその発話が何語かを認識する。モデル切替部が、言語資源の中から、認識された言語の資源を選択し、音声認識部に与える。音声認識部はこの資源を用いて、入力音声の認識を行なう。
【０００６】
文献１に記載されたシステムは音声認識装置であるが、このシステムを使用すれば、予め準備された複数の言語の間で相互に自動翻訳を行なうことが可能になる。
【０００７】
こうした問題は、音声認識に特有の問題ではない。例えば、現在ではインターネット上に、多くの言語のビデオストリーミングなど、音声を伴う情報が大量に存在する。そうした情報を収集したり、探したりする者からは、それら音声が何語であるかが容易に判定できることが望ましい。他の言語の学習をしたり、ある特定の言語の発話データを収集したりするためには、発話データがどの言語に関するものであるかが明らかであることが望ましい。
【０００８】
そうした発話データをインターネット上に公開するユーザが、自発的にそうした情報を発話データに付加するのであれば、そのような処理は容易になると思われる。しかしそのような情報が発話データに付加されているという保証はない。発話データが公開されているサーバの存在している地域から発話データの言語を推定することもできるし、発話データに関連して公開されているテキストデータから言語を推定することもできる。しかし、そのように推定された結果が正しいという保証はない。プログラムによりインターネット上から自動的に発話データを収集する場合には、発話データが収集された地域に関する情報についても、関連して公開されているテキストデータなどについても高い信頼度で得ることができない。そのためそうした発話データ中の音声言語を推定することは難しい。
【０００９】
したがってこうした用途においても、発話データ中の音声に基づいて、その発話の言語を特定できる技術が求められている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００９−３００５７３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
特許文献１に記載された音声認識装置を利用すると、予め定められた複数の言語の発話については、自動的に何語かを認識して適切な資源を用いて音声認識を行なうことができるとされている。同様の原理で、多量の発話データの言語による分類も可能かもしれない。
【００１２】
しかし、この装置では、予め各言語の単語を認識するための言語資源を言語ごとに準備しておかなければならないという問題がある。さらに、言語を判定するときに良く使用される単語を用いなければ、言語の認識ができないという問題もある。したがってどのような単語を言語識別に使用するかが重要になる。そのため、各言語に精通した人がこれら言語識別のための単語を選択する必要が生ずる。こうした処理を言語ごとに行なう必要があり、作業量が増えるという問題がある。
【００１３】
特に問題と考えられるのは、言語識別に用いるための単語をどのようにして選択するかについての指針が全くないという点である。複数の言語に精通している人が少ないという問題とあわせると、信頼性の高い結果が得られるような単語を、対象となる全ての言語で適切に選択することは困難であると考えられる。
【００１４】
それゆえに本発明の目的は、発話データから、その発話の言語を信頼性高く識別できる音声言語の識別装置を提供することである。
【００１５】
それゆえに本発明の他の目的は、言語識別のための特別な知識がなくても、発話データから、その発話の言語を信頼性高く識別できるよう、音声言語の識別装置を学習することが可能な学習装置を提供することである。
【課題を解決するための手段】
【００１６】
本発明の第１の局面に係る音声言語識別装置の学習装置は、は、予め準備された機械可読な形式の、発話の言語を示す言語ラベルがそれぞれ付された複数の音声データを記憶するための記憶手段と、記憶手段に記憶された音声データの各々について、所定時間長かつ所定シフト長の音声特徴の系列を抽出し、対応する言語ラベルを付すための音声特徴抽出手段と、音声特徴抽出手段により音声データの各々について抽出された音声特徴の系列をクラスタリングし、各クラスタの代表ベクトルによりコードブックを作成するためのコードブック作成手段と、音声特徴抽出手段により抽出された、複数の音声データの各々について、当該音声データから得られた音声特徴の系列に含まれる音声特徴と最も近い代表ベクトルをコードブックから算出し、得られる代表ベクトルの分布に基づいて当該音声データの音声言語特徴を生成し、言語ラベルを付すための音声言語特徴生成手段と、音声言語特徴生成手段により得られた、各々に言語ラベルが付された複数の音声言語特徴を学習データとして、音声言語特徴から言語を推定するための音声言語識別モデルを生成するためのモデル生成手段とを含む。
【００１７】
好ましくは、モデル生成手段は、音声言語特徴生成手段により得られた複数の音声言語特徴を学習データとして、音声言語特徴から言語を推定するためのマルチクラス・サポート・ベクター・マシン（ＳＶＭ）を生成するためのＳＶＭ学習手段を含む。
【００１８】
より好ましくは、音声特徴抽出手段は、記憶手段に記憶された音声データの各々について、第１の時間長及び第１のシフト長のフレームの音声特徴の系列を抽出するためのフレーム音声特徴抽出手段と、フレーム音声特徴特徴抽出手段から出力される一連のフレームの音声特徴の系列から、第１の時間長よりも長い第２の時間長の音声の特徴を現す音声ブロック特徴を生成するための手段とを含む。
【００１９】
さらに好ましくは、音声言語特徴生成手段は、音声特徴抽出手段により抽出された、複数の音声データの各々について、当該音声データから得られた音声特徴の系列に含まれる音声特徴とコードブックとをマッチングし、最も近い代表ベクトルを特定するためのマッチング手段と、複数の音声データの各々について、マッチング手段により得られた代表ベクトルのヒストグラムを算出するためのヒストグラム算出手段と、ヒストグラム算出手段により算出されたヒストグラムを所定の正規化方法にしたがって正規化し、絶対値が一定の特徴ベクトルを生成し、音声ブロック特徴として出力するための正規化手段とを含む。
【００２０】
本発明の第２の局面に係る音声言語識別装置の学習プログラムは、コンピュータを、予め準備された機械可読な形式の、発話の言語を示す言語ラベルがそれぞれ付された複数の音声データを記憶するための記憶手段と、記憶手段に記憶された音声データの各々について、所定時間長かつ所定シフト長の音声特徴の系列を抽出し、対応する言語ラベルを付すための音声特徴抽出手段と、音声特徴抽出手段により音声データの各々について抽出された音声特徴の系列をクラスタリングし、各クラスタの代表ベクトルによりコードブックを作成するためのコードブック作成手段と、音声特徴抽出手段により抽出された、複数の音声データの各々について、当該音声データから得られた音声特徴の系列に含まれる音声特徴と最も近い代表ベクトルをコードブックから算出し、得られる代表ベクトルの分布に基づいて当該音声データの音声言語特徴を生成し、言語ラベルを付すための音声言語特徴生成手段と、音声言語特徴生成手段により得られた、各々に言語ラベルが付された複数の音声言語特徴を学習データとして、音声言語特徴から言語を推定するための音声言語識別モデルを生成するためのモデル生成手段として機能させる。
【００２１】
本発明の第３の局面に係る音声言語の識別装置は、入力される音声信号から、所定時間長かつ所定シフト長の音声特徴の系列を抽出するための音声特徴抽出手段と、予め準備されたコードブックを記憶するためのコードブック記憶手段と、音声特徴抽出手段により抽出された音声特徴の系列に含まれる音声特徴の各々について、コードブック記憶手段に記憶されたコードブックとマッチングし、音声特徴の各々に最も近い代表ベクトルの分布を得て、当該分布に基づいて入力される音声信号の音声言語特徴ベクトルを生成するための音声言語特徴ベクトル生成手段と、音声言語特徴ベクトル生成手段により生成されるものと同一の形式の音声言語特徴ベクトルが与えられると、当該音声言語特徴ベクトルが得られたもとの発話の言語を推定するための言語推定手段とを含む。
【００２２】
好ましくは、音声言語特徴ベクトル生成手段は、音声特徴抽出手段により抽出された音声特徴の系列に含まれる音声特徴の各々について、コードブックとマッチングし、最も近い代表ベクトルを特定するためのマッチング手段と、マッチング手段により得られた代表ベクトルのヒストグラムを算出するためのヒストグラム算出手段と、ヒストグラム算出手段により算出されたヒストグラムを所定の正規化方法にしたがって正規化し、絶対値が予め定められた値の特徴ベクトルを生成し、音声言語特徴ベクトルとして出力するための正規化手段とを含む。
【００２３】
本発明の第４の局面に係る音声言語の識別プログラムは、コンピュータを、入力される音声信号から、所定時間長かつ所定シフト長の音声特徴の系列を抽出するための音声特徴抽出手段と、予め準備されたコードブックを記憶するためのコードブック記憶手段と、音声特徴抽出手段により抽出された音声特徴の系列に含まれる音声特徴の各々について、コードブック記憶手段に記憶されたコードブックとマッチングし、音声特徴の各々に最も近い代表ベクトルの分布を得て、当該分布に基づいて入力される音声信号の音声言語特徴ベクトルを生成するための音声言語特徴ベクトル生成手段と、音声言語特徴ベクトル生成手段により生成されるものと同一の形式の音声言語特徴ベクトルが与えられると、当該音声言語特徴ベクトルが得られたもとの発話の言語を推定するための言語推定手段として機能させる。
【図面の簡単な説明】
【００２４】
【図１】本発明の１実施の形態に係る音声自動翻訳システムの構成を示す概略図である。
【図２】図１に示す音声自動翻訳システムを構成する音声認識サーバ及びクライアントである携帯電話機の機能的構成を示すブロック図である。
【図３】図１に示す音声自動翻訳システムにおいて、音声認識サーバとクライアントとの間で行なわれる通信のシーケンスを示すシーケンス図である。
【図４】図１に示す音声自動翻訳システムにおいて、言語を判定するための原理を説明するための、音素クラスタと各言語の音素範囲との関係の概念を模式的に示す図である。
【図５】言語ごとの音素クラスタのヒストグラムの相違を模式的に示す図である。
【図６】図２に示す音声認識サーバの一部であるＳＶＭ学習処理部の機能的構成を示すブロック図である。
【図７】図２に示すクライアントの一部である言語識別部の機能的構成を示すブロック図である。
【図８】図６に示すＳＶＭ学習処理部を実現するプログラムの内、音声ブロック化処理を実現するプログラムの制御構造を示すフローチャートである。
【図９】図６に示すＳＶＭ学習処理部を実現するプログラムのうち、特徴ベクトル算出処理を実現するプログラムの制御構造を示すフローチャートである。
【図１０】図７に示す言語識別部を実現するコンピュータプログラムのメインルーチンの制御構造を示すフローチャートである。
【図１１】図１０に示すプログラムの内、特徴ベクトル算出処理を実現するプログラムの制御構造を示すフローチャートである。
【図１２】図１〜図１１に示す音声自動翻訳システムの音声認識サーバを実現するコンピュータシステムの外観図である。
【図１３】図１２に示すコンピュータシステムのハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【００２５】
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。なお、以下に説明する実施の形態は音声自動翻訳システムに関するものであるが、例えばインターネット上の発話データに対する言語の自動識別システムについても、以下の実施の形態と同様の考え方にしたがって実現できることは当業者には容易に理解できるであろう。
【００２６】
なお、以下の実施の形態では自動翻訳が行なわれるが、自動翻訳の入力側の言語をソース言語と呼び、出力側の言語をターゲット言語と呼ぶ。異なる言語を母語とする２人の話者の間のコミュニケーションという典型的なケースでは、ソース言語とターゲット言語とが発話ごとに入れ替わることになる。
【００２７】
［構成］
図１を参照して、この実施の形態に係る音声自動翻訳システム２０は、ネットワークを介して各種の端末と通信可能で、音声自動翻訳のための、対となる言語を特定する情報（言語情報２８）を端末から受けると、後に通信３０を介してその端末から与えられる発話データに対し、言語情報２８により特定されるソース言語側の言語情報に対応する適切な言語資源を用いて音声認識をし、さらに、言語情報２８により特定されるターゲット側の言語への自動翻訳を行ない、結果をテキストデータとしてその端末に返信するサービスを提供する音声翻訳サーバ２２と、上記した端末の一例である携帯電話機２４とを含む。
【００２８】
携帯電話機２４は、マイク、スピーカ及び表示装置を持っており、マイクが出力する音声信号に基づいて、発話の言語を推定して音声翻訳サーバ２２に送信する機能と、その後にマイクが出力する音声信号をデジタル化して音声翻訳サーバ２２に送信し、音声翻訳サーバ２２から返信されてくる翻訳結果のテキストデータを受信して出力する機能とを持つ。なお、音声翻訳サーバ２２に音声合成機能を持たせれば、音声翻訳サーバ２２における翻訳結果から音声信号を合成し、携帯電話機２４に送信することもできる。この場合、携帯電話機２４ではその音声信号をスピーカを用いて音声に変換すればよい。以下の説明では、実施の形態の説明を分かりやすくするため、そのような音声合成の機能は用いないものとする。
【００２９】
なお、この実施の形態では、携帯電話機２４における言語の識別処理には、ＳＶＭを用いる。ＳＶＭは、任意の装置で学習したものを携帯電話機２４に記憶させておけばよい。本実施の形態では、音声翻訳サーバ２２がＳＶＭの学習装置を兼ねるものとし、音声自動翻訳のサービスを提供する際に、サービス利用者の端末にＳＶＭ２６として配布するものとする。
【００３０】
《音声翻訳サーバ２２》
図２を参照して、音声翻訳サーバ２２は、ＳＶＭ２６の学習のための学習データを記憶する学習データ記憶部４０と、学習データ記憶部４０に記憶された学習データを用いて、音声データに基づいて発話の言語を識別するためのＳＶＭの学習と、音素のコードブックの生成とを行なうためのＳＶＭ学習処理部４２と、ＳＶＭ学習処理部４２により学習が行なわれたＳＶＭのパラメータを記憶するためのＳＶＭ記憶部５６と、ＳＶＭ学習処理部４２により生成されたコードブックを記憶するためのコードブック記憶部５４とを含む。コードブックがどのようなものかについては、図４を参照して後述する。
【００３１】
音声翻訳サーバ２２はさらに、音声認識及び自動翻訳に用いられる各種言語資源（音響モデル、言語モデル、翻訳モデル等）を記憶する言語資源記憶部４４と、音声翻訳サーバ２２を利用する端末（例えば携帯電話機２４）から言語情報を受け、言語資源記憶部４４に記憶された各種の言語資源の中から、ソース言語に対する音声認識のための言語資源を選択するための選択部４６と、言語情報により特定される言語の組合せに対する自動翻訳のための言語資源を選択するための選択部５０と、選択部４６により選択された言語資源のうち、音響モデル及び言語モデルを用い、携帯電話機２４から送信されてくる音声データの認識を行ない、認識結果をテキストデータとして出力する音声認識装置４８と、音声認識装置４８から出力されるテキストデータを入力とし、選択部５０により選択された言語モデル及び翻訳モデル等を用いて自動翻訳を行ない、翻訳結果をテキストデータとして携帯電話機２４に送信するための統計的自動翻訳装置（ＳＭＴ）５２とを含む。
【００３２】
クライアントとしての携帯電話機２４は、マイク６０と、図示しないスピーカと、音声を音声信号に変換するマイク６０と、マイク６０の出力する音声信号をデジタル信号に変換するＡｎａｌｏｇ−ｔｏ−Ｄｉｇｉｔａｌ（Ａ／Ｄ）変換回路６２と、操作部５８とを含む。操作部５８は、異言語間の対話時の言語の識別モードと、対話モードとの切替を行なうためのモード切替スイッチ６４と、識別モード時と対話モード時とのいずれにおいても、処理対象の発話がソース言語側の言語とターゲット側の言語のいずれであるかを指定するためのソース／ターゲット切替スイッチ６６と、Ａ／Ｄ変換回路６２の出力を受ける入力と、第１及び第２の出力とを持ち、モード切替スイッチ６４による設定にしたがってＡ／Ｄ変換回路６２の出力を第１及び第２の出力のいずれかに切替えて出力するための切替回路６８とを含む。
【００３３】
携帯電話機２４はさらに、音声翻訳サーバ２２から配布されるコードブックを記憶するためのコードブック記憶部７２と、同じく音声翻訳サーバ２２から配布されるＳＶＭのパラメータを記憶するためのＳＶＭ記憶部７４と、コードブック記憶部７２及びＳＶＭ記憶部７４、並びに切替回路６８の第１の出力に接続され、切替回路６８から与えられるデジタル化された音声信号により表される発話の言語を、コードブックとＳＶＭとを用いて識別するための言語識別部７０と、ソース／ターゲット切替スイッチ６６及び言語識別部７０の出力に接続され、ソース／ターゲット切替スイッチ６６によりソース言語が指定されているときに言語識別部７０の出力を記憶するためのソース言語記憶部８０と、ソース／ターゲット切替スイッチ６６及び言語識別部７０の出力に接続され、ソース／ターゲット切替スイッチ６６によりターゲット言語が指定されているときに言語識別部７０の出力を記憶するためのターゲット言語記憶部８２とを含む。なお、ソース言語記憶部８０及びターゲット言語記憶部８２は、モード切替スイッチ６４により言語の識別モードが指定されているときのみ、言語識別部７０の出力を記憶する。
【００３４】
携帯電話機２４はさらに、切替回路６８の第２の出力に接続された入力を持ち、デジタル化された音声信号をフレーム化し、各フレームから音声認識装置４８の音声認識で使用される特徴量を算出するための特徴量算出部７６と、特徴量算出部７６の出力に接続された入力を持ち、特徴量算出部７６の算出した特徴量を一時的に記憶するための特徴量記憶部７８と、ソース／ターゲット切替スイッチ６６、ソース言語記憶部８０、ターゲット言語記憶部８２、及び特徴量記憶部７８の出力に接続され、ソース／ターゲット切替スイッチ６６の出力がソースとターゲットとの間で切替えられたことに応答して、特徴量記憶部７８に記憶されていた特徴量と、ソース／ターゲット切替スイッチ６６の出力に応じてソース言語記憶部８０及びターゲット言語記憶部８２に記憶されている言語情報を交互に入替えた言語情報とを音声翻訳サーバ２２に送信するための送信部８６と、音声翻訳サーバ２２のＳＭＴ５２から送信されてくる自動翻訳後のテキストデータを受信するための受信部８８と、受信部８８の受信したテキストデータを表示する液晶表示装置（ＬＣＤ）９０とを含む。なお、ターゲット言語としては、携帯電話機２４の保有者の母語を記憶しておけばよい場合も多い。そうした場合には、予めターゲット言語記憶部８２にその母語を示す情報を記憶しておき、ターゲット言語については言語識別部７０によるターゲット言語の識別処理は省略できる。通常はそうした手続の方が普通であると考えられる。したがって以下の説明では、ターゲット言語記憶部８２には所定の言語情報が予め記憶されており、言語識別部７０による言語識別はソース言語のみについて行なうものとする。
【００３５】
図３を参照して、音声翻訳サーバ２２及び携帯電話機２４の間の通信シーケンスは以下のとおりである。ここでは、第１及び第２の２人の話者の間の音声自動翻訳による対話を行なうものとし、第２の話者が携帯電話機２４の所有者であるものとする。すなわち、ターゲット言語記憶部８２には、第２の話者の母語を示す言語情報が予め記憶されている。
【００３６】
まず、携帯電話機２４側で第１の話者の発話１００について、その言語を識別する処理１０２を行なう。言語識別の処理１０２が終了した後、いずれかの話者の発話１１０から得られる特徴量１１２を、その話者が第１の話者か第２の話者かに応じた組合せの言語情報とともに携帯電話機２４から音声翻訳サーバ２２に送信する。音声翻訳サーバ２２ではこの特徴量と、言語情報のうちのソース言語情報に基づいて音声認識し、音声認識の結果得られたソース言語の文を、言語情報のターゲット言語情報により特定されるターゲット言語に翻訳する音声認識・自動翻訳処理１１４が行なわれる。音声翻訳サーバ２２は、自動翻訳の結果のテキスト１１６を携帯電話機２４に送信する。携帯電話機２４はこのテキストを表示する処理１１８を行なう。続いて、携帯電話機２４側では、いずれかの話者の発話１２０から得られた特徴量１２２を、その話者の母語と他方の話者の母語との組合せからなる言語情報とともに音声翻訳サーバ２２に送信する。以下、サーバでの音声認識・自動翻訳処理１２４、自動翻訳の結果のテキスト１２６の携帯電話機２４への送信、その表示１２８、次の話者の発話１３０の入力、という処理が以下繰返される。携帯電話機２４では、発話に先だっていずれの話者が発話するかをソース／ターゲット切替スイッチ６６で指定する。携帯電話機２４から音声翻訳サーバ２２への音声特徴量の送信には、その言語の組合せに応じて、第１及び第２の話者の母語の言語情報が、発話者の母語がソース言語、聴者の母語がターゲット言語となるように入替えられて音声翻訳サーバ２２に送信される。音声翻訳サーバ２２ではこの情報を用いて、音声認識装置４８及びＳＭＴ５２に必要な言語資源を選択する。
【００３７】
以下、言語識別部７０による発話の言語識別処理の原理とその実現方法とについて説明する。ここでは言語はいずれも音声言語であるものとする。各言語で使用される音素は多様であるが、ある言語で使用される音素と、他の言語で使用される音素との間には相違がある。図４を参照して、例えば、第１の言語で使用される音素の分布範囲１５０、第２の言語で使用される音素の分布範囲１５２、及び第３の言語で使用される音素の分布範囲１５４の間では、重複した部分もあるだろうが、全く重なることはないと考えられる。
【００３８】
したがって、以下のような原理により、言語を識別することができる。多くの言語の音声を収集し、それらの音素を調べる。ここでは、それら音素について、共通の要素を持つ特徴ベクトルで表すものとする。すると、類似した音素は類似した特徴量を持ち、したがってそれらの特徴ベクトルも、ベクトル空間で近い位置に存在することになる。異なる音素の特徴ベクトルは、ベクトル空間で離れた位置に存在することになる。
【００３９】
そこで、多様な言語から集めた多様な音素について、それらの特徴ベクトルをクラスタリングする。クラスタリングにより、ベクトル空間はクラスタの集合１４０に分割される。各クラスタについて、それを代表する特徴ベクトルを定める。ここでは、それら特徴ベクトルをプロトタイプと呼ぶ。図４では、プロトタイプを黒い丸で表している。プロトタイプの集合をコードブックと呼ぶ。図２に示すコードブック記憶部５４に記憶されるのがこのコードブックである。
【００４０】
ある音声のある音素について、その特徴ベクトルを算出した場合を考える。この特徴ベクトルに最も近いプロトタイプを求めることにより、その特徴ベクトルがどのクラスタに属するかを判定できる。すなわち、その音声の音素が、どのクラスタの音声に最も近いかが分かる。
【００４１】
入力される一まとまりの音声の各音素について、この処理を繰返す。すると、その音声に含まれる音素が属するクラスタの分布を知ることができる。前述したとおり、言語によって使用される音素の集合には相違がある。したがって、予め、各言語の発話中の音素の属するクラスタについて、その分布を調べておき、入力された音声信号中の音素の分布と比較することにより、言語を識別することが可能になる。本実施の形態では、図５のグラフ１６０、１６２により示すように、発話中の音素が属するクラスタのヒストグラムをとり、そのヒストグラムを正規化することにより、発話の言語識別のための特徴ベクトルとする。図５では、ヒストグラムを連続したグラフのように表している。図５のグラフ１６０及び１６２の形状の相違により示されるように、言語によってヒストグラムの形状（すなわち言語識別のための特徴ベクトル）は互いに異なる。したがって、入力された発話の言語識別のための特徴ベクトルを、予め各言語について算出されていた特徴ベクトルと比較し、最も類似している特徴ベクトルの言語が、入力された発話の言語であると判定することができる。
【００４２】
なお、日本語の音素数は２６程度、英語では３８程度、中国語では４０以上と言われている。同じ音素でも、性別、年齢別に別々のクラスタに分類されることもあることを考えると、１言語について３００個のクラスタ、すなわち１言語について３００個のプロトタイプからなるコードブックが得られるように特徴ベクトルをクラスタリングすることが望ましい。クラスタリング及びコードブックの算出には、一般的なクラスタリングアルゴリズムであればどのようなものでも使用できる。例えばｋ−平均法、又はＬＶＱ（Ｌｅａｒｎｉｎｇ  Ｖｅｃｔｏｒ  Ｑｕａｎｔｉｚｅ）などのアルゴリズムを用いることができる。
【００４３】
以下の実施の形態では、判定にはＳＶＭを用いることとし、ＳＶＭは予め各言語について算出された言語識別のための特徴ベクトルを学習データとしてトレーニングされる。トレーニングはどの装置で行なってもよいが、本実施の形態では、音声自動翻訳サービスを提供する音声翻訳サーバ２２でこのトレーニングをし、得られたＳＶＭをサービスの利用者に配布することとする。
【００４４】
この目的のため、ＳＶＭ学習処理部４２は以下のような構成を有する。なお、学習データ記憶部４０には、発話ごとに言語ラベルが付された各国語の音声データが蓄積されている。図６を参照して、ＳＶＭ学習処理部４２は、学習データ記憶部４０に記憶された音声データの各々について、所定長のブロックと呼ばれる長さの音声部分についての特徴量を算出し、もとの音声の言語ラベルが付された音声ブロック特徴ベクトルを出力するブロック特徴生成部１８０と、ブロック特徴生成部１８０から出力される音声ブロック特徴ベクトルを、言語情報とともに記憶するためのブロック特徴記憶部１８２とを含む。ブロック長（ブロックを構成するフレーム数）としては、１以上で、母音の平均長の半分程度が好適である。
【００４５】
ブロック特徴記憶部１８２に記憶された音声ブロック特徴ベクトルを、その言語に関係なくクラスタリングしてコードブックを算出し、コードブック記憶部５４に記憶させるためのコードブック算出部１８４と、ブロック特徴記憶部１８２に記憶された音声ブロック特徴ベクトルをその言語情報とともに読出し、コードブック記憶部５４に記憶されたコードブックとマッチングすることを繰返すことにより、言語ごとに、その言語で使用される音素の属するクラスタの分布の特徴を示す特徴ベクトルを算出するための特徴ベクトル算出部１８６と、特徴ベクトル算出部１８６により出力される特徴ベクトルを、各言語を示す情報とともに記憶するための特徴ベクトル記憶部１８８とを含む。
【００４６】
ＳＶＭ学習処理部４２はさらに、特徴ベクトル記憶部１８８に記憶された特徴ベクトルを読出し、各特徴ベクトルに付された言語情報を正解データとしてＳＶＭの学習を行なうためのＳＶＭ学習部１９０を含む。ＳＶＭ学習部１９０としては、公知のＳＶＭ学習アルゴリズムを使用できる。
【００４７】
ブロック特徴生成部１８０は、学習データ記憶部４０に記憶された音声データを読出し、例えばフレーム長が２０〜２５ミリ秒程度、シフト長が５〜１０ミリ秒程度のフレームにフレーム化し、言語ラベルを付して出力するためのフレーム化処理部２００と、フレーム化処理部２００の出力するフレームを受け、各フレーム内の音声データから所定の特徴量を算出して、言語ラベルが付された特徴ベクトルを生成する処理を行なう特徴量抽出部２０２と、特徴量抽出部２０２の出力を受けるように接続され、５ミリ秒程度のシフト長で１０フレーム程度のフレームの特徴ベクトルをまとめてブロック化し、これら特徴ベクトルの要素をつなぎ合わせた音声ブロック特徴ベクトルを生成し言語ラベルを付して出力するためのブロック化処理部２０４とを含む。
【００４８】
特徴ベクトル算出部１８６は、ブロック特徴記憶部１８２に記憶されたブロック特徴ベクトルを言語ラベルと共に読出し、コードブック記憶部５４に記憶されたコードブックとマッチングすることにより、そのブロック特徴ベクトルがどのクラスタに適合するかを判定するためのマッチング部２２０と、マッチング部２２０による判定結果を受け、言語ごとにブロック特徴ベクトルの適合するクラスタ数のヒストグラムを算出するためのヒストグラム算出部２２２と、ヒストグラム算出部２２２により全学習データを対象に言語毎に算出されたヒストグラムを正規化することにより、各言語の音声言語特徴ベクトルを生成し、特徴ベクトル記憶部１８８に記憶させるためのヒストグラム正規化部２２４とを含む。本実施の形態では、ヒストグラム正規化部２２４は、各言語のヒストグラムを、ヒストグラムの各ビンの持つ値（各クラスに属するブロック特徴ベクトルの数）の合計がある定数（例えばビン数）となるように正規化する。
【００４９】
一方、言語識別部７０は以下のような構成を持つ。図７を参照して、言語識別部７０は、図２に示すＡ／Ｄ変換回路６２によりデジタル化された音声信号を受け、図６に示すブロック特徴生成部１８０と同様にして音声ブロック特徴ベクトルを生成するためのブロック特徴生成部２４０と、ブロック特徴生成部２４０の出力するブロック特徴ベクトルと、コードブック記憶部７２に記憶されているコードブック及びＳＶＭ記憶部７４に記憶されているＳＶＭとを用いて、入力された音声の言語を推定する言語推定部２４２とを含む。言語識別部７０は、ＳＶＭにより十分な信頼度で言語の推定ができるまで、入力される発話データを蓄積しながら言語の推定処理を繰返す。
【００５０】
ブロック特徴生成部２４０は、図６に示すフレーム化処理部２００と同じ方法で音声信号をフレーム化するためのフレーム化処理部２６０と、フレーム化処理部２６０により出力されるフレームデータを受け、図６に示す特徴量抽出部２０２と同じ方法により各フレーム内の音声データから所定の特徴量を算出し、特徴ベクトルを生成するための特徴量抽出部２６２と、特徴量抽出部２６２の出力する特徴ベクトルを、図６に示すブロック化処理部２０４と同じ方法でブロック化し、音声ブロック特徴ベクトルを出力するためのブロック化処理部２６４とを含む。フレーム化処理部２６０、特徴量抽出部２６２及びモード切替スイッチ６４は、入力される音声に対して上記した処理を繰返す。なお、言語推定部２４２は、十分な信頼度で言語の推定ができると、ブロック化処理部２６４に対してブロック化処理を停止するよう指示を出す。この指示に応答してブロック化処理部２６４はブロック化処理を停止する。フレーム化処理部２６０及び特徴量抽出部２６２は、対話による音声認識処理のために、引き続き動作する。
【００５１】
言語推定部２４２は、図６に示すマッチング部２２０と同様、ブロック化処理部２６４から与えられる音声ブロック特徴ベクトルの各々をコードブック記憶部７２に記憶されたコードブックとマッチングし、その音声ブロック特徴ベクトルが適合するクラスタを特定してそのクラスタ番号を出力するマッチング部２８０と、マッチング部２８０が次々に出力するクラスタ番号のヒストグラムを算出するヒストグラム算出部２８２と、ヒストグラム算出部２８２により算出されるヒストグラムを、適時に正規化し、音声言語特徴ベクトルとして出力するヒストグラム正規化部２８４と、ヒストグラム正規化部２８４の出力する音声言語特徴ベクトルを、ＳＶＭ記憶部７４に記憶されたＳＶＭを用いて入力音声の言語を識別し、その結果を出力する言語判定部２８６とを含む。ヒストグラム正規化部２８４による正規化には、図６のヒストグラム正規化部２２４と同じ手法が使用される。
【００５２】
ＳＶＭ記憶部７４による判定時には、音声言語特徴ベクトルのうち、ＳＶＭによって最も確率が高いと判定された言語名が、その信頼度（確率）とともに出力される。言語判定部２８６は、この信頼度が所定のしきい値以下であれば、判定結果を出力することなく、次の音声ブロックに対する処理を行なうよう、ブロック化処理部２６４、マッチング部２８０、ヒストグラム算出部２８２、及びヒストグラム正規化部２８４を制御する。判定時の信頼度がしきい値を越えると、言語判定部２８６は判定結果を出力するとともに、ブロック化処理部２６４、マッチング部２８０、ヒストグラム算出部２８２及びヒストグラム正規化部２８４を停止させ、待機状態とする。
【００５３】
《コンピュータプログラム》
上記したＳＶＭ学習処理部４２（図２）及び言語識別部７０の機能は、実質的にコンピュータを構成するハードウェア中のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）により実行されるコンピュータプログラムにより実現される。特に、本実施の形態では、図６に示すブロック特徴生成部１８０、コードブック算出部１８４、特徴ベクトル算出部１８６及びＳＶＭ学習部１９０はそれぞれ個別のプログラムにより実現される。この中で、コードブック算出部１８４及びＳＶＭ学習部１９０は、既存のコードブック算出用のプログラムとＳＶＭ学習用のプログラムとをそれぞれ用いて実現できる。以下、ブロック特徴生成部１８０及び特徴ベクトル算出部１８６について、それぞれを実現するためのコンピュータプログラムの制御構造について説明する。
【００５４】
図８を参照して、ブロック特徴生成部１８０を実現するコンピュータプログラムは、コンピュータ内でこのプログラムが使用する資源（メモリ）等を初期化するステップ３２０と、学習データ記憶部４０（図６参照）に記憶された全ての発話データに対して、以下に説明するブロック生成処理３２４を実行するステップ３２２とを含む。
【００５５】
ブロック生成処理３２４は、対象となる発話データファイルを開くステップ３４０と、ステップ３４０で開いた発話データファイルのデータをメモリに読込むステップ３４１と、フレーム化すべきデータの先頭箇所を示すポインタをデータの先頭に設定し、処理されたフレームに関する特徴量が保存される配列の要素のインデックスを示す変数Ｉに０を代入し、各フレームの特徴量が保存される配列をクリアする、後述するように最初のＩＢ個のフレームデータの読込が完了したか否かを示すフラグをクリアする等、発話データファイルごとの初期化を行なうステップ３４２と、変数Ｉに１を加算するステップ３４４と、変数Ｉが予め定められた上限の定数ＩＭＡＸを超えたか否かを判定し、判定結果にしたがって制御の流れを分岐させるステップ３４６とを含む。定数ＩＭＡＸは、フレームごとの特徴ベクトルを記憶する配列の要素数（インデックスの上限）である。定数ＩＢは、１個の音声ブロック特徴ベクトルを構成するフレーム特徴ベクトルの個数である。
【００５６】
ブロック生成処理３２４はさらに、ステップ３４６の判定が肯定のときに実行され、変数Ｉに１を代入するステップ３４８と、ステップ３４６の判定が否定のとき、及びステップ３４８の処理が終了した後に実行され、メモリに格納された発話データファイルの、ポインタにより示される位置から１フレーム分の時間のデータを読出すステップ３５０と、ステップ３５０での読出処理の結果、データの終端に到達したか否かを判定するステップ３５２と、ステップ３５２の判定が肯定のときに実行され、配列の変数Ｉにより示される要素を含めて最後のＩＢ個の要素に記憶されていたフレーム特徴ベクトルをまとめて音声ブロック特徴ベクトルを生成して出力するステップ３６８と、処理対象の発話データファイルをクローズしてその発話データファイルに対する処理を終了するステップ３７０とを含む。ステップ３４６及びステップ３４８の処理から分かるように、本実施の形態では、配列をリングバッファのように使用してフレーム特徴ベクトルから音声ブロック特徴ベクトルを生成する。なお、本実施の形態では、フレームのシフト長とブロックのシフト長とを等しくしているため、図８に示すようにブロック化の処理が簡略になる。
【００５７】
このプログラムはさらに、ステップ３５２の判定が否定のときに実行され、フラグの値が０か否かを判定するステップ３５４と、ステップ３５４の判定が否定のときに、変数Ｉの値が前述した定数ＩＢより大きいか否かを判定するステップ３５６と、ステップ３５６の判定が肯定のときに実行され、フラグを１にセットするステップ３５８と、ステップ３５４の判定が肯定のとき、及びステップ３５８の処理が完了した後に実行され、配列の、変数Ｉにより示される位置の直前のＩＢ個の要素に含まれるフレーム特徴ベクトルから音声ブロック特徴ベクトルを生成して出力するステップ３６０と、ステップ３６０の後に実行され、ステップ３５０で読出された発話データを１フレーム分として、所定の特徴量を算出するステップ３６０と、ステップ３６０において算出された特徴量を配列の要素（Ｉ）に保存するステップ３６４と、ステップ３６４に続き、フレームのシフト長分に相当する値だけ発話データの読出ポインタに加算して制御をステップ３４４に戻すステップ３６６とを含む。なお、ステップ３５６での判定が否定のときには制御はステップ３６２に進む。すなわち、発話データファイルの最初のＩＢ個のフレーム特徴ベクトルについては無条件で配列に保存し、それ以後は、ＩＢ個のフレーム特徴ベクトルをまとめて１つの音声ブロック特徴ベクトルを生成して出力した後に、ステップ３５０で読出されたフレームのフレーム特徴ベクトルを保存する処理を繰返す。
【００５８】
なお、音声ブロック特徴ベクトルは、１発話データファイルに対して１ファイルとなるように出力され、ハードディスクに記憶される。このファイルを、以後、発話ブロックデータファイルと呼ぶ。発話ブロックデータファイルには、対応する発話データの言語ラベルが付される。
【００５９】
図９を参照して、図６に示す特徴ベクトル算出部１８６を実現するコンピュータプログラムは、プログラムの実行開始とともに、プログラムが使用するメモリエリアのクリアなどの初期化を実行するステップ３８０と、ステップ３８０に続き、に対して音声言語特徴ベクトルを生成する言語特徴ベクトル生成処理３８４を繰返し実行するステップ３８２とを含む。
【００６０】
言語特徴ベクトル生成処理３８４は、全発話のうち、処理対象の発話ブロックデータファイルを開き、データをメモリに読込むステップ４００と、ヒストグラム用の配列をクリアするステップ４０２とを含む。ヒストグラム用の配列は、クラスタリングにより得られたクラスタ数だけの、数字を記憶するための要素を持ち、ここでその全てが０にクリアされる。
【００６１】
言語特徴ベクトル生成処理３８４はさらに、ステップ４０２に続き、ステップ４００で読込んだ全ブロックのデータに対して、ヒストグラム生成処理４０６を実行するステップ４０４を含む。
【００６２】
ヒストグラム生成処理４０６は、処理対象のブロックの音声ブロック特徴ベクトルが、コードブック算出部１８４により算出されコードブック記憶部５４に記憶されているコードブックのプロトタイプのうち、いずれのプロトタイプに最も近いかに基づいて、コードブックを選択するステップ４３０と、ステップ４３０で選択されたコードブックに対応するヒストグラムのいずれかのビンに対応する配列要素に１を加算してヒストグラムを更新するステップ４３２とを含む。
【００６３】
ヒストグラム生成処理４０６により、処理対象の発話ブロックデータファイル中の全てのブロック音声特徴ベクトルをヒストグラムの各ビンに分類した後、ステップ４０８において、ヒストグラムの各ビンの値を、その合計がヒストグラムのビン数と一致するように正規化する。得られたヒストグラムの各ビンの値は、この発話データファイルの発話の特徴ベクトルを構成する。ステップ４１０では、この特徴ベクトルを、処理対象の発話データファイルに付されていた言語ラベルと共に保存する。ステップ４１２では、処理対象となっていた発話ブロックデータファイルを閉じ、この発話ブロックデータファイルに対する処理を終了する。
【００６４】
以上が図６に示すブロック特徴生成部１８０及び特徴ベクトル算出部１８６を実現するプログラムの構成に関する説明である。
【００６５】
図７に示す言語識別部７０を実現するコンピュータプログラムは、以下のような制御構造を持つ。図１０を参照して、この処理は、言語の判定が指示されたことに応答して開始し、メモリなど、以下の処理で使用する資源を初期化するステップ４４０と、図６に示すＡ／Ｄ変換回路６２の出力するデジタル化された発話データをリアルタイムで受信して音声ブロック化し、音声ブロック特徴ベクトルを算出するステップ４４２と、ステップ４４２で算出された音声ブロック特徴ベクトルと、コードブック記憶部７２（図７参照）に記憶されているコードブックとのマッチングを行ない、与えられた音声ブロック特徴ベクトルと最も近いコードブックを選択するステップ４４４と、ステップ４４４での判定結果にしたがい、発話の言語を示す音声言語特徴ベクトルを生成するステップ４４６とを含む。
【００６６】
このプログラムはさらに、ステップ４４６で算出された音声言語特徴ベクトルを入力として、ＳＶＭ記憶部７４（図７参照）に記憶されているＳＶＭパラメータにより構成されるＳＶＭで入力された発話の言語を判定して、その信頼度とともに出力するステップ４４８と、ステップ４４８で出力された信頼度が予め定められたしきい値より大きいか否かを判定し、信頼度がしきい値以下であれば制御をステップ４４２に戻すステップ４５０と、ステップ４５０の判定が肯定のときに、ステップ４４８での言語の判定結果を出力し、処理を終了するステップ４５２とを含む。
【００６７】
図１１を参照して、図７のステップ４４６において実行される処理は、ステップ４４４での照合の結果、処理中のブロックと一番近いと判定されたプロトタイプを特定し、ヒストグラムの内でそのプロトタイプに対応するビンの値に１を加算するステップ４６０と、ステップ４６０で更新されたヒストグラムを正規化して特徴ベクトルを生成し、この処理を終了するステップ４６２とを含む。ステップ４６２でのヒストグラムの正規化は、図９のステップ４３２で行なうのと全く同じ処理である。
【００６８】
［動作］
図１〜図１１を参照して、上記した音声自動翻訳システム２０は以下のように動作する。音声自動翻訳システム２０の動作フェーズには大きく分けて２つがある。第１は音声翻訳サーバ２２におけるＳＶＭ２６の学習フェーズである。第２は携帯電話機２４で話者の言語の判定を行ない、その情報（言語情報２８）を用いて携帯電話機２４における話者の対話内容を音声翻訳サーバ２２で機械翻訳し、携帯電話機２４に返信する対話フェーズである。
【００６９】
《学習フェーズ》
特に図６を参照して、音声翻訳サーバ２２の学習データ記憶部４０には、学習用のデータが予め準備されているものとする。学習用のデータとは、音声信号をデジタル化したものに、言語ラベルが付されたものである。ブロック特徴生成部１８０のフレーム化処理部２００は、学習データ記憶部４０から学習データの発話データファイルの各々をその言語ラベルと共に読出し（図８のステップ３４０、３４１）、所定長かつ所定シフト長でフレーム化し（図８のステップ３５０）、順次特徴量抽出部２０２に与える。特徴量抽出部２０２は、与えられた各フレームについて、ＭＦＣＣ，パワー、Ｆ０などの特徴量を抽出し（図８のステップ３６２）、言語ラベルと共にフレーム特徴ベクトルとしてブロック化処理部２０４に与える。ブロック化処理部２０４は、このフレーム特徴ベクトルを所定個数だけ連結することにより、所定長かつ所定シフト長の音声ブロック特徴ベクトルを作成し、ブロック特徴記憶部１８２に順次保存する（図８のステップ３６０及びステップ３６８）。
【００７０】
ブロック特徴記憶部１８２に学習データから得られた全ての音声ブロック特徴ベクトルが保存されると、コードブック算出部１８４が公知のクラスタリングアルゴリズムを用いて音声ブロック特徴ベクトルをクラスタリングし、コードブックを算出する。コードブックの実体は、各クラスタを代表するプロトタイプベクトルである。算出されたコードブックはコードブック記憶部５４に記憶される。
【００７１】
コードブックの算出が終了すると、図６に示すマッチング部２２０は、ブロック特徴記憶部１８２から処理対象の音声ブロック特徴ベクトルのデータファイルを言語ラベルとともに順次読出し、各データファイルについて以下の処理を実行する。すなわち、マッチング部２２０は、ヒストグラムの各ビンの値を格納する配列をクリアする（図９のステップ４０２）。マッチング部２２０及びヒストグラム算出部２２２は、読出したデータファイルに含まれる全音声ブロック特徴ベクトルについて、以下の処理を実行する（ステップ４０４）。
【００７２】
すなわち、マッチング部２２０は、そのブロック特徴ベクトルを、コードブック記憶部５４に記憶されたプロトタイプベクトルとマッチングすることにより、そのブロック特徴ベクトルに最も近いプロトタイプを決定し（図１０、ステップ４３０）、そのプロトタイプを特定する情報をヒストグラム算出部２２２に与える。ヒストグラム算出部２２２は、ヒストグラムの各ビンのうち、マッチング部２２０からの情報により特定されるプロトタイプに対応するビンに１を加算する（図１０、ステップ４３２）。マッチング部２２０及びヒストグラム算出部２２２は、読出された全音声ブロック特徴ベクトルに対しこの処理を行なう。
【００７３】
マッチング部２２０及びヒストグラム算出部２２２による処理が、処理多少のデータファイルから読出した全音声ブロック特徴ベクトルに対して完了すると、ヒストグラム正規化部２２４は、ヒストグラム算出部２２２により最終的に得られたヒストグラムを正規化する。この正規化は、本実施の形態では、各ビンの値を合計した値がビン数と等しくなるように行なわれる。このようにして正規化されたヒストグラムが、この発話の特徴ベクトルとして、処理対象のデータファイルに付されていた言語ラベルと共に特徴ベクトル記憶部１８８に保存される。
【００７４】
特徴ベクトル算出部１８６は、上記した処理をブロック特徴記憶部１８２に記憶された全てのブロック特徴ベクトルのデータファイルに対して実行する。その結果、特徴ベクトル記憶部１８８には、学習データ記憶部４０に記憶されていた全発話データについて、その特徴ベクトルが言語ラベルと共に蓄積されることになる。
【００７５】
全ての発話に関する特徴ベクトルが特徴ベクトル記憶部１８８に保存されると、ＳＶＭ学習部１９０が公知のＳＶＭ学習アルゴリズムによりＳＶＭの学習を行ない、得られたＳＶＭパラメータをＳＶＭ記憶部５６に記憶する。ＳＶＭ記憶部５６に記憶されたＳＶＭパラメータ、及びコードブック記憶部５４に記憶されたコードブックは、通信を介して音声翻訳サーバ２２から携帯電話機２４などの端末に配布される。以上で学習フェーズは終了である。
【００７６】
《対話フェーズ》
対話フェーズには、図３に示すようにさらに細かい２つのサブフェーズがある。第１のサブフェーズは、発話者の言語を判定する判定フェーズである。第２のサブフェーズは、判定された言語情報を用い、発話者の発話を音声翻訳サーバ２２に送信して機械翻訳を依頼し、得られた翻訳結果を受信して表示する翻訳フェーズである。以下、これらサブフェーズについて順次携帯電話機２４及び音声翻訳サーバ２２の動作を説明する。
【００７７】
（判定フェーズ）
仮に発話者の話す言語が予め分かっている場合には、適当なインタフェースを通じて図２に示すソース言語記憶部８０及びターゲット言語記憶部８２に各話者の言語情報を記憶させておけばよい。ソース及びターゲットは便宜的に定めればよい。例えば携帯電話機２４の持ち主の言語がターゲット言語であり、相手の言語がソース言語であると予め決めておけば、ターゲット言語を設定する回数が少なくてよく、好都合である。
【００７８】
発話者の話す言語が不明な場合には、以下のようにする。
【００７９】
ＬＣＤ９０の表示面には、モード切替スイッチ６４及びソース／ターゲット切替スイッチ６６を実現するＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）、例えば「判定」と「翻訳」との２つのラジオボタン、「ソース」と「ターゲット」との２つのラジオボタンが表示される。ユーザが「判定」ラジオボタンを選択すると、携帯電話機２４の動作モードが言語の識別モードに設定される。切替回路６８は、モード切替スイッチ６４の出力により制御されて、Ａ／Ｄ変換回路６２の出力を言語識別部７０に与えるように動作する。ユーザが「ソース」ラジオボタンを選択すると、携帯電話機２４が判定した発話の言語情報はソース言語記憶部８０に格納されるように設定される。
【００８０】
この状態でソース言語に相当する言語（携帯電話機２４の所有者の相手となる話者）が発話を始めると、言語識別部７０は以下のようにしてソース言語の判定を行なう。
【００８１】
図２を参照して、マイク６０は、入力される音声をアナログの電気信号に変換し、出力する。Ａ／Ｄ変換回路６２は、この電気信号をデジタル化し、切替回路６８の入力に与える。切替回路６８は、モード切替スイッチ６４の制御により、言語識別部７０の入力にデジタル化された音声信号を与える。
【００８２】
この音声信号を受けると、図７を参照して、言語識別部７０のブロック特徴生成部２４０は以下のように動作する。すなわち、フレーム化処理部２６０は、入力される音声信号を所定フレーム長及び所定シフト長でフレーム化し、特徴量抽出部２６２に与える。特徴量抽出部２６２は、各フレームの特徴量を算出し、フレーム特徴ベクトルとしてブロック化処理部２６４に与える。ブロック化処理部２６４は、与えられる各フレームの特徴ベクトルを所定個数だけつなぐことにより、所定シフト長のブロックについて、所定長の音声ブロック特徴ベクトルを生成し、マッチング部２８０に与える。
【００８３】
マッチング部２８０は、与えられた音声ブロック特徴ベクトルをコードブック記憶部７２に記憶されたコードブックとマッチングし、最も近いプロトタイプベクトルを決定し、プロトタイプを特定する情報をヒストグラム算出部２８２に与える。ヒストグラム算出部２８２の各ビンに対応する配列は言語識別部７０の処理開始時に初期化されており、ヒストグラムのビンに対応する配列のうち、マッチング部２８０により特定されたプロトタイプに対応するものに１を加算する。ヒストグラム正規化部２８４は、ヒストグラム算出部２８２が保持するプロトタイプの配列を、各ビンの値の合計がヒストグラムのビン数と一致するように正規化し、発話の言語の特徴ベクトルとして言語判定部２８６に与える。言語判定部２８６は、ＳＶＭ記憶部７４に記憶されたＳＶＭにより、ヒストグラム正規化部２８４により与えられた特徴ベクトルの属するクラス（言語）を、その信頼度とともに決定する。言語判定部２８６はさらに、信頼度が所定のしきい値よりも高ければ、得られた言語を特定する情報を図２のソース言語記憶部８０に格納し、ブロック化処理部２６４、マッチング部２８０、ヒストグラム算出部２８２及び言語判定部２８６の動作を停止させる。信頼度が低ければ、言語判定部２８６はさらに言語識別部７０を続けて動作させる。言語判定部２８６は、このようにして、言語の判定結果の信頼度がしきい値を越えるまで上記した処理を繰返し、信頼度がしきい値を越えた時点で処理を終了する。
【００８４】
仮にターゲット言語も同じように言語識別部７０を使用して判定するなら、ソース／ターゲット切替スイッチ６６を使用して、言語の判定結果をターゲット言語記憶部８２に記憶させるようにして、上と同じ処理を繰返せばよい。通常、ターゲット側の言語は携帯電話機２４の持ち主の言語に固定されるので、この処理は不要となることが多いであろう。
【００８５】
（翻訳フェーズ）
翻訳フェーズでは、音声自動翻訳システム２０は以下のように動作する。図２を参照して、携帯電話機２４のモード切替スイッチ６４は対話モード側に切替えられる。２人の話者のうち、これから発話する人の言語にあわせてソース／ターゲット切替スイッチ６６をソース言語側又はターゲット言語側に切替える。この状態で、発話者が発話を開始する。
【００８６】
マイク６０は、入力される音声をアナログの電気信号に変換し、出力する。Ａ／Ｄ変換回路６２は、この電気信号をデジタル化し、切替回路６８の入力に与える。切替回路６８は、モード切替スイッチ６４の設定にしたがい、特徴量算出部７６にＡ／Ｄ変換回路６２からのデジタル化された音声信号を与える。特徴量算出部７６はこの音声信号をフレーム化し、各フレームから、音声翻訳サーバ２２での音声認識に使用される特徴量を算出する。この特徴量はフレームごとに特徴量記憶部７８に記憶される。発話が終了し、例えば利用者が図示しない「翻訳開始」ボタンを押すと、送信部８６が、特徴量記憶部７８に格納された発話者の発話から得た一連の特徴量に、ソース言語記憶部８０から読出した言語ラベルと、ターゲット言語記憶部８２から読出した言語ラベルとをこの順で対にして付し、音声翻訳サーバ２２に送信する。
【００８７】
音声翻訳サーバ２２は、送信部８６から送信されてきた情報のうち、言語のラベル対のうち最初のもの（ソース言語側）の言語ラベルを選択部４６に与え、言語のラベル対を選択部５０に与え、特徴量を音声認識装置４８に与える。選択部４６は、言語資源記憶部４４から、この言語ラベルにより特定される言語の音声認識のための言語資源（音響モデル及び言語モデルなど）を選択し、音声認識装置４８に接続する。選択部５０は、与えられた言語ラベルのうち、ソース言語ラベルにより特定される言語からターゲット言語ラベルにより特定される言語への自動翻訳に必要な言語資源（ソース／ターゲット言語の翻訳モデル、ターゲット言語の言語モデル等）を選択し、ＳＭＴ５２に接続する。
【００８８】
音声認識装置４８は、送信部８６から与えられる音響特徴量に対し、選択部４６を介して接続された言語資源を用いた音声認識を行ない、結果をテキスト形式でＳＭＴ５２に出力する。ＳＭＴ５２は、この音声認識の結果に対し、選択部５０を介して接続された言語資源を用いてソース言語からターゲット言語への翻訳を行ない、得られた結果をテキスト形式で携帯電話機２４の受信部８８に送信する。
【００８９】
携帯電話機２４の受信部８８は、この翻訳結果をＬＣＤ９０に表示する。
【００９０】
次に発話者が交代して同様の動作を行なうものとする。この場合、ソース／ターゲット切替スイッチ６６をターゲット側に切替える。
【００９１】
マイク６０、Ａ／Ｄ変換回路６２、切替回路６８、特徴量算出部７６、及び特徴量記憶部７８は、最初の発話者に対する処理と同様の処理をする。その結果、２番目の話者の発話の音響特徴量が特徴量記憶部７８に蓄積される。発話が完了すると、利用者は図示しない「翻訳開始」ボタンを押す。送信部８６は、ソース／ターゲット切替スイッチ６６が「ターゲット言語」側に切替えられているため、先ほどとは逆に、ターゲット言語記憶部８２から読出した言語ラベルを先に、ソース言語記憶部８０から読出した言語ラベルを後にして言語ラベルの対とし、特徴量記憶部７８から読出した特徴量とともに音声翻訳サーバ２２に送信する。
【００９２】
音声翻訳サーバ２２は、送信部８６からの情報を受けて、先ほどと全く同様の処理をする。ただし今度は、先の発話におけるソース言語のラベルとターゲット言語のラベルとが入れ替わっている。そのため、選択部４６が選択する言語資源は、ターゲット言語記憶部８２に格納された言語ラベルにより特定された言語の音声認識のためのものとなる。選択部５０が選択する言語資源は、ターゲット言語記憶部８２に格納された言語ラベルにより特定される言語から、ソース言語記憶部８０に格納された言語ラベルにより特定される言語への自動翻訳に必要な言語資源となる。音声認識装置４８及びＳＭＴ５２は、いずれも統計的な処理をするものであるため、このように対象となる言語が変化しても、使用する言語資源を変更するだけで、同じ音声認識エンジン及び自動翻訳エンジンを使用して異なる言語に対する処理を行なうことができる。すなわち、音声認識装置４８は、特徴量記憶部７８から与えられた音響特徴量に対し、選択部４６を介して接続された言語資源を用いて音声認識し、その結果をＳＭＴ５２に与える。この音声認識の結果は、ターゲット言語記憶部８２に格納された言語ラベルにより特定される言語のものとなる。ＳＭＴ５２は、音声認識の結果に対し、選択部５０を介して接続された言語資源を用いて自動翻訳処理を実行し、自動翻訳の結果を得る。ＳＭＴ５２が実行する処理は、ターゲット言語記憶部８２に格納された言語ラベルにより特定される言語から、ソース言語記憶部８０に格納された言語ラベルにより特定される言語への自動翻訳である。
【００９３】
得られた翻訳結果は、受信部８８に送信され、ＬＣＤ９０に表示される。
【００９４】
以上のような処理を、２人の発話者のうちいずれが発話するかによりソース／ターゲット切替スイッチ６６を切替ながら行なうことにより、異なる言語を母語とする発話者のペアの間の自動翻訳による対話が可能になる。言語識別部７０により、発話者の言語を識別することができるので、互いに相手の母語がどの言語か全く分からない場合でも、音声翻訳サーバ２２によるＳＶＭの学習において対象となった言語であれば、携帯電話機２４が自動的に認識し、相互に翻訳を行なうことができる。
【００９５】
上記実施の形態では、音声言語特徴の識別に、事後確率を信頼度として出力可能な多クラスＳＶＭを用いている。しかし本発明はそのような実施の形態には限定されない。２つ以上の多クラス分類問題を解くことができるモデルであって、予測クラスの事後確率を出力できるもの、及びそのモデルの学習を行なうアルゴリズムを上記実施の形態のＳＶＭ及びＳＶＭ学習部１９０に代えて用いることができる。
【００９６】
さらに、上記実施の形態では、図７に示すヒストグラム正規化部２８４及び言語判定部２８６は、音声ブロック特徴ベクトルがブロック化処理部２６４から与えられるたびにそれぞれヒストグラムの正規化と言語の判定処理とを実行している。しかし本発明はそのような実施の形態には限定されない。入力される音声ブロック特徴ベクトルの数が少ない場合、ヒストグラム正規化部２８４及び言語判定部２８６により判定の信頼性が低くなることも考えられる。そのような問題を回避するため、例えば、ブロック化処理部２６４から入力されるブロックの数が所定個数を越えた時点で初めてヒストグラム正規化部２８４及び言語判定部２８６が動作を開始するようにしたり、所定の複数個の音声ブロック特徴ベクトルが入力されるたびにヒストグラム正規化部２８４と言語判定部２８６とが間歇的に動作したりするようにしてもよい。
【００９７】
上記実施の形態は、２人の話者の間の自動音声翻訳に関するものである。しかし、このシステムを３人以上の話者の間の自動音声翻訳にも容易に適用可能なことは、当業者には明らかである。
【００９８】
＜コンピュータによる実現＞
この実施の形態に係る音声翻訳サーバ２２は、コンピュータハードウェアと、そのコンピュータハードウェアにより実行されるプログラムと、コンピュータハードウェアに格納されるデータとにより実現できる。
【００９９】
図１２を参照して、音声翻訳サーバ２２を実現するコンピュータシステム５３０は、メモリインタフェース（メモリＩ／Ｆ）５５２及びＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）ドライブ５５０を有するコンピュータ５４０と、キーボード５４６と、マウス５４８と、モニタ５４２とを含む。
【０１００】
図１３を参照して、コンピュータ５４０は、メモリＩ／Ｆ５５２及びＤＶＤドライブ５５０に加えて、ＣＰＵ（中央処理装置）５５６と、ＣＰＵ５５６、メモリＩ／Ｆ５５２及びＤＶＤドライブ５５０に接続されたバス５６６と、ブートアッププログラム等を記憶する読出専用メモリ（ＲＯＭ）５５８と、バス５６６に接続され、プログラム命令、システムプログラム、及び作業データ等を記憶するランダムアクセスメモリ（ＲＡＭ）５６０とを含む。コンピュータシステム５３０はさらに、インターネットへの接続を提供するネットワークインターフェイス（Ｉ／Ｆ）５４４を含む。図示しないが、コンピュータ５４０はネットワークＩ／Ｆ５４４を介して携帯電話機ネットワークと接続されており、携帯電話機２４などの外部端末とデータ通信を行なうことができる。
【０１０１】
コンピュータシステム５３０に音声翻訳サーバ２２としての動作を行なわせるためのコンピュータプログラムは、ＤＶＤドライブ５５０又はメモリＩ／Ｆ５５２に装着されるＤＶＤ５６２又はメモリ５６４に記憶され、さらにハードディスク５５４に転送される。又は、プログラムは図示しないネットワークを通じてコンピュータ５４０に送信されハードディスク５５４に記憶されてもよい。プログラムは実行の際にＲＡＭ５６０にロードされる。ＤＶＤ５６２から、メモリ５６４から、又はネットワークを介して、直接にＲＡＭ５６０にプログラムをロードしてもよい。
【０１０２】
このプログラムは、コンピュータ５４０にこの実施の形態の音声翻訳サーバ２２として動作を行なわせる複数の命令を含む。この動作を行なわせるのに必要な基本的機能のいくつかはコンピュータ５４０上で動作するオペレーティングシステム（ＯＳ）もしくはサードパーティのプログラム、又はコンピュータ５４０にインストールされる各種ツールキットのモジュールにより提供される。したがって、このプログラムはこの実施の形態のシステム及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能又は「ツール」を呼出すことにより、上記した音声翻訳サーバ２２としての動作を実行する命令のみを含んでいればよい。
【０１０３】
コンピュータシステム３３０の動作は周知であるので、ここでは繰返さない。
【０１０４】
なお、上記実施の形態では、音声翻訳サーバ２２と携帯電話機２４とが別々のものとして説明した。当業者であれば、上記実施の形態において携帯電話機２４の機能として説明したものを音声翻訳サーバ２２に設けることで、音声翻訳サーバ２２単体で音声自動翻訳システム２０と同様の機能を実現できることは明らかである。また、逆に、携帯電話機２４の計算能力が高い場合には、上記した音声自動翻訳システム２０の機能を全て携帯電話機２４に盛り込むことも可能である。ここでは携帯電話機２４のハードウェア構成については特に示さないが、上記した言語処理を実現するために必要なハードウェアは、大きさ、重さ、消費電力などの点で携帯用に適したものであれば、機能的には上に説明したコンピュータのハードウェアと同様のものでよい。
【０１０５】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
【符号の説明】
【０１０６】
２０  音声自動翻訳システム
２２  音声翻訳サーバ
２４  携帯電話機
２６  ＳＶＭ
２８  言語情報
４０  学習データ記憶部
４２  ＳＶＭ学習処理部
４４  言語資源記憶部
４６、５０  選択部
４８  音声認識装置
５２  ＳＭＴ
５４、７２  コードブック記憶部
５６，７４  ＳＶＭ記憶部
６８  切替回路
７０  言語識別部
７６  特徴量算出部
７８  特徴量記憶部
１４０  クラスタの集合
１５０，１５２，１５４  各言語の音素の分布範囲
１８０  ブロック特徴生成部
１８６  特徴ベクトル算出部
１８８  特徴ベクトル記憶部
１９０  ＳＶＭ学習部
２００，２６０  フレーム化処理部
２０２，２６２  特徴量抽出部
２０４，２６４  ブロック化処理部
２２０，２８０  マッチング部
２２２，２８２  ヒストグラム算出部
２２４，２８４  ヒストグラム正規化部
２８６  言語判定部
【図１】
0005672487.tif 000002
【図２】
0005672487.tif 000003
【図３】
0005672487.tif 000004
【図４】
0005672487.tif 000005
【図５】
0005672487.tif 000006
【図６】
0005672487.tif 000007
【図７】
0005672487.tif 000008
【図８】
0005672487.tif 000009
【図９】
0005672487.tif 000010
【図１０】
0005672487.tif 000011
【図１１】
0005672487.tif 000012
【図１２】
0005672487.tif 000013
【図１３】
0005672487.tif 000014