(57)【特許請求の範囲】
【請求項１】
多言語音声認識ネットワークをトレーニングする方法であって、
所定の言語に対応する発話データセットを提供することと、
言語識別（ＩＤ）ラベルを前記発話データセットに挿入することであって、前記発話データセットの各々は、前記言語ＩＤラベルの各々によってラベル付けされ、言語ＩＤラベルが、様々な言語の音声コーパスにおける各発話データセットのトランスクリプトに挿入されることと、
前記ラベル付けされた発話データセットをランダムな順序で連結することであって、対応するトランスクリプトも、前記連結された発話データセットと同じ順序で連結されることと、
前記発話データセットから初期ネットワークパラメータを生成することであって、前記初期ネットワークパラメータは、書記素集合及び言語ＩＤの和集合として得られたユニバーサルラベル集合を用いて生成されることと、
ネットワークパラメータの集合の各要素が収束するまで、一連の前記初期ネットワークパラメータ及び前記連結されたラベル付けされた発話データセットを用いてエンドツーエンドネットワークを反復的にトレーニングすることであって、前記エンドツーエンドネットワークをトレーニングすることは、前記連結された発話データセット及び前記トランスクリプトを用いて前記初期ネットワークパラメータを最適化することを含むことと、
を含む、方法。
【請求項２】
前記エンドツーエンドネットワークは言語非依存モデルである、請求項１に記載の方法。
【請求項３】
前記言語非依存モデルは、ディープＢＬＳＴＭエンコーダネットワークを用いる、請求項２に記載の方法。
【請求項４】
前記ディープＢＬＳＴＭエンコーダネットワークにおける層の数は７以上である、請求項３に記載の方法。
【請求項５】
前記ネットワークパラメータの集合の各要素が収束すると、トレーニングすることで最適化されたネットワークパラメータを出力することを更に含む、請求項１に記載の方法。
【請求項６】
前記エンドツーエンドネットワークは、所定の方法に基づいて、前記一連の初期ネットワークパラメータと、前記連結されたラベル付けされた発話データセットとを同時に最適化する、請求項１に記載の方法。
【請求項７】
多言語音声認識のために、トレーニングされたネットワークパラメータを生成する多言語音声認識システムであって、
１つ以上のプロセッサと、
パラメータ、及び前記１つ以上のプロセッサによって実行可能な命令を含むプログラムモジュールを記憶する１つ以上の記憶デバイスであって、前記命令は、実行されると、前記１つ以上のプロセッサに、
所定の言語に対応する発話データセットを提供する動作と、
言語識別（ＩＤ）ラベルを前記発話データセットに挿入する動作であって、前記発話データセットの各々は、前記言語ＩＤラベルの各々によってラベル付けされ、言語ＩＤラベルが、様々な言語の音声コーパスにおける各発話データセットのトランスクリプトに挿入される、動作と、
前記ラベル付けされた発話データセットをランダムな順序で連結する動作であって、前記対応するトランスクリプトも、前記連結された発話データセットと同じ順序で連結される、動作と、
前記発話データセットから初期ネットワークパラメータを生成する動作であって、前記初期ネットワークパラメータは、書記素集合及び言語ＩＤの和集合として得られたユニバーサルラベル集合を用いて生成される、動作と、
所定の系列に従って前記初期ネットワークパラメータを選択する動作と、
ネットワークパラメータの集合の各要素が収束するまで、一連の前記選択された初期ネットワークパラメータ及び前記連結されたラベル付けされた発話データセットを用いてエンドツーエンドネットワークを反復的にトレーニングする動作であって、前記エンドツーエンドネットワークをトレーニングすることは、前記連結された発話データセット及び前記トランスクリプトを用いて前記初期ネットワークパラメータを最適化することを含む、動作と、
を実行させる、１つ以上の記憶デバイスと、
を備える、システム。
【請求項８】
前記エンドツーエンドネットワークは言語非依存モデルである、請求項７に記載のシステム。
【請求項９】
前記言語非依存モデルは、ディープＢＬＳＴＭエンコーダネットワークを用いる、請求項８に記載のシステム。
【請求項１０】
前記ディープＢＬＳＴＭエンコーダネットワークにおける層の数は７以上である、請求項９に記載のシステム。
【請求項１１】
前記１つ以上のプロセッサによって実行可能な前記命令は、実行されると、前記１つ以上のプロセッサに、
前記ネットワークパラメータの集合の各要素が収束すると、トレーニングすることで最適化されたネットワークパラメータを出力する動作を更に実行させる、請求項７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的には、多言語エンドツーエンド音声認識のための装置及び方法に関し、より具体的には、同時の言語識別及び音声認識のためにニューラルネットワークをトレーニングする方法及びシステムに関する。
【背景技術】
【０００２】
エンドツーエンド自動音声認識（ＡＳＲ）は、近年、開発の容易さの観点で従来のハイブリッドＡＳＲシステムを凌ぎながら、これらの従来のハイブリッドＡＳＲシステムによって得られた最新技術の性能に達することにより、その効率性を証明している。従来のＡＳＲシステムは、発音辞書及び単語のセグメンテーション等の言語に依存したリソースを必要とする。これらは、音素と共に、中間表現としてモデルに組み込まれる。これらのリソースは手作業で開発されるため、２つの不利点を有する。第１に、これらのリソースはエラーを起こしやすいか又はそうでない場合準最適である場合があり、第２に、これらのリソースは、特に新たな言語について、ＡＳＲシステムを開発するのに必要な労力を大幅に増大させる。このため、言語に依存したリソースの使用は、多言語認識システムの開発を特に複雑にする。対照的に、エンドツーエンドＡＳＲシステムは、入力音声特徴系列を、音素又は単語等の表音／言語構成体のいかなる明確な中間表現も用いることなく、出力ラベル系列（主に、本発明の実施形態では、ｎ−ｇｒａｍ文字で構成される文字又はトークンの系列）に直接変換する。エンドツーエンドＡＳＲシステムの主要な利点は、手作業で作製された言語に依存するリソースの必要性を回避することである。
【０００３】
多言語／言語非依存ＡＳＲに関するいくつかの従来の研究が存在する。ディープニューラルネットワーク（ＤＮＮ）に基づく多言語システムとの関連においては、ＤＮＮは言語非依存のボトルネック特徴を計算するのに用いられる。したがって、発音辞書及び言語モデルのような言語依存バックエンドシステムを準備する必要がある。加えて、言語非依存モジュール及び言語依存モジュールを繋げるには、発話された言語を予測する必要がある。
【発明の概要】
【０００４】
本発明では、複数の異なる言語において、音声の認識及び言語の識別を同時に行うことができる言語非依存ニューラルネットワークアーキテクチャを用いたシステム及び方法が開示される。例えば、本発明は、英語、日本語、標準中国語、ドイツ語、スペイン語、フランス語、イタリア語、オランダ語、ポルトガル語及びロシア語での発話を自動的に認識し、同時に各発話の言語を識別することを可能にする。
【０００５】
本発明の一実施形態によれば、ネットワークは、複数の言語にわたるｓｏｆｔｍａｘ層を含む全てのパラメータを共有する。
【０００６】
例えば、ネットワークは、複数の言語の書記素集合を連結することによって、ｓｏｆｔｍａｘ層を含む全てのパラメータを共有するため、本発明の言語非依存ニューラルネットワークアーキテクチャは、音声を認識し、同時に、英語、日本語、標準中国語、ドイツ語、スペイン語、フランス語、イタリア語、オランダ語、ポルトガル語及びロシア語等の様々な言語において言語を識別することができる。
【０００７】
本発明の言語非依存ニューラルネットワークは、（１）複数の言語からの書記素集合及び言語ＩＤの和集合としてユニバーサルラベル集合を作成し、これに基づいて初期ネットワークが構築されることと、（２）複数の異なる言語コーパスにおける各発話のトランスクリプトに言語ＩＤラベルを挿入することと、（３）複数の異なる言語コーパスから１つ以上の発話を選択し、これらを任意の順序で連結することによって発話を生成することであって、対応するトランスクリプトも同じ順序で連結されることと、（４）生成された発話及びトランスクリプトを用いて初期ネットワークをトレーニングすることと、（５）トレーニングされたネットワークを用いて音声を認識することと、によって多言語エンドツーエンド音声認識を可能にする。
【０００８】
多言語音声認識のためのこのモノリシックエンドツーエンドＡＳＲシステムは、３つの利点を有し、第１に、モノリシックアーキテクチャが、言語依存ＡＳＲモジュール及び外部言語識別モジュールをなくし、第２に、エンドツーエンドアーキテクチャが、手作業で作成された発音辞書を準備することを不要にし、第３に、共有ネットワークが、低リソース言語の場合であっても、より良好な特徴表現の学習を可能にする。
【０００９】
本発明はまた、言語切り替えを含めるようにトレーニングデータが拡張されるため、音声信号内に言語の切り替えが存在する場合であっても、エンドツーエンドＡＳＲシステムが正しく機能することを可能にする。
【００１０】
本発明のいくつかの実施形態によれば、多言語音声認識ネットワークをトレーニングする方法は、所定の言語に対応する発話データセットを提供することと、言語識別（ＩＤ）ラベルを前記発話データセットに挿入することであって、前記発話データセットの各々は、前記言語ＩＤラベルの各々によってラベル付けされることと、前記ラベル付けされた発話データセットを連結することと、前記発話データセットから初期ネットワークパラメータを生成することと、トレーニング結果が閾値に達するまで、一連の前記初期ネットワークパラメータ及び前記連結されたラベル付けされた発話データセットを用いてエンドツーエンドネットワークを反復的にトレーニングすることとを含む。
【００１１】
さらに、本発明の一実施形態によれば、多言語音声認識を行う音声認識システムは、声音を受信するためのインターフェースと、１つ以上のプロセッサと、前記多言語音声認識ネットワークをトレーニングする方法によって得られた、トレーニングされたネットワークパラメータを用いることによってトレーニングされたエンドツーエンド音声認識モジュールを記憶する１つ以上の記憶デバイスであって、前記エンドツーエンド音声認識モジュールは、実行されると、前記１つ以上のプロセッサに、前記声音から変換されたオーディオ波形データから、音響特徴抽出モジュールを用いて音響特徴系列を抽出する動作と、前記音響特徴系列を、エンコーダネットワークパラメータを有するエンコーダネットワークを用いて隠れベクトル系列に符号化する動作と、前記隠れベクトル系列を、デコーダネットワークパラメータを有するデコーダネットワークにフィードすることによって、第１の出力ラベル系列確率を予測する動作と、コネクショニスト時系列分類（ＣＴＣ）モジュールによって、ＣＴＣネットワークパラメータ、及び前記エンコーダネットワークからの前記隠れベクトル系列を用いて第２の出力ラベル系列確率を予測する動作と、ラベル系列探索モジュールを用いて、前記デコーダネットワーク及び前記ＣＴＣモジュールから提供された前記第１の出力ラベル系列確率及び前記第２の出力ラベル系列確率を組み合わせることによって、最も高い系列確率を有する出力ラベル系列を探索する動作とを含む動作を実行させる命令を含む、１つ以上の記憶デバイスとを備える。
【００１２】
またさらに、本発明の一実施形態によれば、多言語音声認識のために、トレーニングされたネットワークパラメータを生成する多言語音声認識システムは、１つ以上のプロセッサと、パラメータ、及び前記１つ以上のプロセッサによって実行可能な命令を含むプログラムモジュールを記憶する１つ以上の記憶デバイスであって、前記命令は、実行されると、前記１つ以上のプロセッサに、所定の言語に対応する発話データセットを提供する動作と、言語識別（ＩＤ）ラベルを前記発話データセットに挿入する動作であって、前記発話データセットの各々は、前記言語ＩＤラベルの各々によってラベル付けされる、動作と、前記ラベル付けされた発話データセットを連結する動作と、前記発話データセットから初期ネットワークパラメータを生成する動作と、所定の系列に従って前記初期ネットワークパラメータを選択する動作と、トレーニング結果が閾値に達するまで、一連の前記選択された初期ネットワークパラメータ及び前記連結されたラベル付けされた発話データセットを用いてエンドツーエンドネットワークを反復的にトレーニングする動作とを実行させる、１つ以上の記憶デバイスとを備える。
【００１３】
ここに開示されている実施形態は、添付図面を参照して更に説明される。示されている図面は、必ずしも一律の縮尺というわけではなく、その代わり、一般的に、ここに開示されている実施形態の原理を示すことに重点が置かれている。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態による多言語音声認識方法を示すブロック図である。
【図２】本発明の実施形態による多言語エンドツーエンドネットワークを用いた音声認識モジュールを示すブロック図である。
【図３】本発明の実施形態による多言語音声認識モジュールにおけるニューラルネットワークを示す概略図である。
【図４】本発明の実施形態による多言語音声認識システムを示すブロック図である。
【図５】本発明の実施形態による多言語音声認識モジュールにおけるニューラルネットワークを示す概略図である。
【図６】本発明の実施形態による多言語音声認識モジュールをトレーニングするデータ準備手順を示す図である。
【図７】本発明の実施形態による多言語音声認識による、文字誤り率を、発話における言語数の関数として示す評価結果を示す図である。
【図８】本発明の実施形態による多言語音声認識の例示的な出力を示す図である。
【発明を実施するための形態】
【００１５】
上記で明らかにされた図面は、ここに開示されている実施形態を記載しているが、この論述において言及されるように、他の実施形態も意図されている。この開示は、限定ではなく代表例として例示の実施形態を提示している。ここに開示されている実施形態の原理の範囲及び趣旨に含まれる非常に多くの他の変更及び実施形態を当業者は考案することができる。
【００１６】
本発明の好ましい実施形態において、言語非依存ニューラルネットワークは、様々な言語の複数の音声コーパスを用いて構築される。
【００１７】
ニューラルネットワークを用いて、話した発話の認識及び発話の言語の識別を同時に行うことができる。例えば、このニューラルネットワークを用いて、英語、日本語、標準中国語、ドイツ語、スペイン語、フランス語、イタリア語、オランダ語、ポルトガル語及びロシア語における発話を自動的にトランスクリプションし、同時に各発話の言語を識別することができる。本発明の実施形態に従って構築されたシステムに対し、人物が英語で「How are you?」と話す場合、システムは、テキストフォーマットで、「[EN] how are you?」を出力することができる。別の人物が同じシステムに対しフランス語で「comment allez-vous?」と話す場合、システムは、テキストフォーマットで、「[FR] comment allez-vous?」を出力することができる。［ＥＮ］及び［ＦＲ］は、それぞれ、英語及びフランス語に対応する言語ＩＤラベルを表す。人物が英語及びフランス語でシステムに対し「How are you? comment allez-vous?」と話す場合、システムは、「[EN] how are you? [FR] comment allez-vous?」をテキストフォーマットで出力することができる。
【００１８】
以下の説明は、例示的な実施形態のみを提供し、本開示の範囲も、適用範囲も、構成も限定することを意図していない。そうではなく、例示的な実施形態の以下の説明は１つ以上の例示的な実施形態を実施することを可能にする説明を当業者に提供する。添付の特許請求の範囲に明記されているような開示された主題の趣旨及び範囲から逸脱することなく要素の機能及び配置に行うことができる様々な変更が意図されている。
【００１９】
以下の説明では、実施形態の十分な理解を提供するために、具体的な詳細が与えられる。しかしながら、当業者は、これらの具体的な詳細がなくても実施形態を実施することができることを理解することができる。例えば、開示された主題におけるシステム、プロセス、及び他の要素は、実施形態を不必要な詳細で不明瞭にしないように、ブロック図形式の構成要素として示される場合がある。それ以外の場合において、よく知られたプロセス、構造、及び技法は、実施形態を不明瞭にしないように不必要な詳細なしで示される場合がある。さらに、様々な図面における同様の参照符号及び名称は、同様の要素を示す。
【００２０】
また、個々の実施形態は、フローチャート、フロー図、データフロー図、構造図、又はブロック図として描かれるプロセスとして説明される場合がある。フローチャートは、動作を逐次的なプロセスとして説明することができるが、これらの動作の多くは、並列又は同時に実行することができる。加えて、これらの動作の順序は、再配列することができる。プロセスは、その動作が完了したときに終了することができるが、論述されない又は図に含まれない追加のステップを有する場合がある。さらに、特に説明される任意のプロセスにおける全ての動作が全ての実施形態において行われ得るとは限らない。プロセスは、方法、関数、手順、サブルーチン、サブプログラム等に対応することができる。プロセスが関数に対応するとき、その関数の終了は、呼び出し側関数又はメイン関数へのその機能の復帰に対応することができる。
【００２１】
さらに、開示された主題の実施形態は、少なくとも一部は手動又は自動のいずれかで実施することができる。手動実施又は自動実施は、マシン、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、又はそれらの任意の組み合わせを用いて実行することもできるし、少なくとも援助することができる。ソフトウェア、ファームウェア、ミドルウェア又はマイクロコードで実施されるとき、必要なタスクを実行するプログラムコード又はプログラムコードセグメントは、マシン可読媒体に記憶することができる。プロセッサ（複数の場合もある）が、それらの必要なタスクを実行することができる。
【００２２】
本開示において例示されるモジュール及びネットワークは、コンピュータプログラム、ソフトウェア又は命令コードとすることができ、１つ以上のプロセッサを用いて命令を実行することができる。モジュール及びネットワークは１つ以上の記憶デバイスに記憶することができるか、又は別の状況では、例えば、磁気ディスク、光ディスク若しくはテープ等の、記憶媒体、コンピュータ記憶媒体又はデータ記憶デバイス（取外し可能及び／又は非取外し可能）等のコンピュータ可読媒体に記憶することができ、コンピュータ可読媒体は、命令を実行するために１つ以上のプロセッサからアクセス可能である。
【００２３】
コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール又は他のデータ等の情報を記憶するための任意の方法又は技術において実現される揮発性及び不揮発性、取外し可能及び非取外し可能の媒体を含むことができる。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ若しくはフラッシュメモリ、ＣＤ−ＲＯＭ、デジタルバーサタイルディスク（ＤＶＤ）若しくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置若しくは他の磁気記憶デバイス、又は所望の情報を記憶するために使用することができ、１つ以上のプロセッサを用いて、アプリケーション、モジュール又は両方によってアクセスすることができる任意の他の媒体とすることができる。任意のそのようなコンピュータ記憶媒体は、そのデバイスの一部とすることができるか、そのデバイスからアクセス可能とすることができるか、又はそのデバイスに接続可能とすることができる。本明細書において説明される任意のアプリケーション又はモジュールは、そのようなコンピュータ可読媒体によって記憶できるか、又は別の方法で保持できるコンピュータ可読／実行可能命令を用いて実現することができる。
【００２４】
図１は、図４における記憶装置４３０に記憶された多言語音声認識モジュール１００を示す。多言語音声認識モジュール１００は、言語ＩＤ挿入モジュール１１２、発話連結モジュール１１３、初期ネットワーク構築モジュール１１５、エンドツーエンドネットワークトレーニングモジュール１１７及びエンドツーエンド音声認識モジュール２００等のプログラムモジュール（コンピュータ実行可能命令モジュール）を含むプロセッサ（ハードウェアプロセッサ）実行可能プログラムである。多言語音声認識モジュール１００に含まれるプログラムモジュール１１２、１１３、１１５、１１７及び２００は図４にも示されている。さらに、記憶装置４３０は、以下で検討される、エンコーダネットワークモジュール２０２、注意デコーダネットワークモジュール２０４、ＣＴＣモジュール２０８及び音響特徴抽出モジュール４３４を含む。
【００２５】
多言語音声認識モジュール１００は、以下のステップに従って言語非依存ネットワークを構築する。
（１）初期ネットワーク構築モジュール１１５が、様々な言語の音声コーパス１１０を用いて、書記素集合及び言語ＩＤの和集合として得られたユニバーサルラベル集合を用いて初期ネットワークパラメータ１１６を作成（生成）する。
（２）言語ＩＤ挿入モジュール１１２が、言語ＩＤラベルを、様々な言語の音声コーパス１１０内の各発話のトランスクリプトに挿入する。
（３）発話連結モジュール１１３が、様々な言語の音声コーパス１１０から１つ以上の発話を選択し、これをランダムな順序で連結することによって発話を生成する。ここで、対応するトランスクリプトも、連結された発話と同じ順序で連結される。
（４）エンドツーエンドネットワークトレーニングモジュール１１７が、生成された発話及びトランスクリプトを用いて初期ネットワークパラメータ１１６を最適化し、トレーニングされたネットワークパラメータ１１８を出力する。
【００２６】
いくつかの事例では、様々な言語の音声コーパス１１０は、音響データセット１１０と呼ぶことができる。さらに、本開示に示されるモジュール及びネットワークパラメータは、システム設計に従って単数又は複数の記憶装置に記憶することができ、モジュールは、図４に示されるプロセッサ４２０によってコンピュータ（ハードウェアプロセッサ）実行可能プログラムである。プロセッサ４２０は、１つ以上の（ハードウェア）プロセッサ（コンピュータ）とすることができる。モジュールの各々は、単数又は複数のプロセッサを用いて実行されることによって、所定の単数又は複数のプロセスを実行する。
【００２７】
トレーニングされたネットワークパラメータ１１８に記憶された言語非依存ネットワークを用いて、エンドツーエンド音声認識モジュール２００は、音声及び音声入力の言語ＩＤを同時に認識することができ、認識結果を出力する。
【００２８】
図２は、本発明の実施形態によるエンドツーエンド音声認識モジュール２００を示すブロック図である。
【００２９】
エンドツーエンド音声認識モジュール２００は、エンコーダネットワークモジュール２０２と、エンコーダネットワークパラメータ２０３と、注意デコーダモジュール２０４と、デコーダネットワークパラメータ２０５と、ラベル系列探索モジュール２０６と、ＣＴＣモジュール２０８と、ＣＴＣネットワークパラメータ２０９とを含む。エンコーダネットワークパラメータ２０３、デコーダネットワークパラメータ２０５、及びＣＴＣネットワークパラメータ２０９は、対応するモジュール２０２、２０４、及び２０８にパラメータを提供する記憶デバイスにそれぞれ記憶される。図４の音響特徴抽出モジュール４３４を用いて、オーディオ波形データ又はスペクトルデータから音響特徴系列２０１が抽出される。オーディオ波形データ又はスペクトルデータは、記憶デバイスに記憶し、エンコーダネットワークモジュール２０２に与えることができる。オーディオ波形データ又はスペクトルデータは、声音を受信し、オーディオ波形データ又はスペクトルデータに変換するデジタル信号処理モジュール（図示せず）を用いて、図４の入力デバイス４７５を介して取得することができる。さらに、記憶デバイス４３０又はメモリ４４０に記憶されるオーディオ波形データ又はスペクトルデータは、エンコーダネットワークモジュール２０２に与えることができる。声音の信号は図４のネットワーク４９０を介して与えることができ、入力デバイス４７５はマイクロフォンデバイスとすることができる。
【００３０】
エンコーダネットワークモジュール２０２はエンコーダネットワークを含み、エンコーダネットワークパラメータ２０３からパラメータを読み出すエンコーダネットワークを用いて、音響特徴系列２０１が隠れベクトル系列に変換される。
【００３１】
注意デコーダネットワークモジュール２０４を使用する注意機構が、以下のように説明される。注意デコーダネットワークモジュール２０４はデコーダネットワークを含む。注意デコーダネットワークモジュール２０４は、エンコーダネットワークモジュール２０２から隠れベクトル系列を、ラベル系列探索モジュール２０６から先行するラベルを受信し、その後、デコーダネットワークパラメータ２０５からパラメータを読み出すデコーダネットワークを用いて、先行するラベルに関する次のラベルの第１の事後確率分布を計算する。注意デコーダネットワークモジュール２０４は、第１の事後確率分布をラベル系列探索モジュール２０６に与える。ＣＴＣモジュール２０８は、エンコーダネットワークモジュール２０２から隠れベクトル系列を、ラベル系列探索モジュール２０６から先行するラベルを受信し、ＣＴＣネットワークパラメータ２０９及び動的計画法を用いて、次のラベル系列の第２の事後確率分布を計算する。この計算後、ＣＴＣモジュール２０８は、第２の事後確率分布をラベル系列探索モジュール２０６に与える。
【００３２】
ラベル系列探索モジュール２０６は、注意デコーダネットワークモジュール２０４及びＣＴＣモジュール２０８から与えられる第１の事後確率分布及び第２の事後確率分布を用いて、最も高い系列確率を有するラベル系列を見つける。注意デコーダネットワークモジュール２０４及びＣＴＣモジュール２０８によって計算されるラベル系列の第１の事後確率分布及び第２の事後確率分布は結合され、１つの確率にされる。この場合、計算された事後確率の結合は、線形結合に基づいて実行することができる。エンドツーエンド音声認識モジュール２００によれば、ＣＴＣ確率を考慮に入れて、入力音響特徴系列に対してより良好なアライメントされた仮説を見つけることが可能になる。
【００３３】
言語非依存エンドツーエンド音声認識のためのニューラルネットワークアーキテクチャ
エンドツーエンド音声認識は、入力音響特徴系列Ｘが与えられたときの最も確からしいラベル系列
【数１】
0006818941.tif 000002
を見つける問題と一般に定義され、すなわち、
【数２】
0006818941.tif 000003
である。ただし、Ｕ＊は所定のラベルの集合Ｕが与えられたときの取り得るラベル系列の集合を表す。ラベルは、文字又は単語とすることができる。ラベル系列確率ｐ（Ｙ｜Ｘ）を、予めトレーニングされたニューラルネットワークを用いて計算することができる。
【００３４】
本発明の実施形態において、言語非依存ニューラルネットワークは、フィードフォワードニューラルネットワーク（ＦＦＮＮ）、畳み込みニューラルネットワーク（ＣＮＮ）及びリカレントニューラルネットワーク（ＲＮＮ）等の様々なネットワークの組み合わせとすることができる。
【００３５】
例えば、言語非依存ニューラルネットワークのために、ハイブリッド注意／ＣＴＣアーキテクチャを用いることができる。図２は、ハイブリッド注意／ＣＴＣアーキテクチャを有する多言語エンドツーエンドネットワークを用いる音声認識モジュール２００を示すブロック図であり、ラベル系列確率は以下のように計算される。
【００３６】
エンコーダモジュール２０２は、
【数３】
0006818941.tif 000004
として、音響特徴系列Ｘ＝ｘ１，．．．，ｘＴを隠れベクトル系列Ｈ＝ｈ１，．．．，ｈＴに変換するために使用されるエンコーダネットワークを含む。ただし、関数Ｅｎｃｏｄｅｒ（Ｘ）は、スタックされる、１つ以上のリカレントニューラルネットワーク（ＲＮＮ）からなることができる。ＲＮＮは長短期メモリ（ＬＳＴＭ）として実現することができ、長短期メモリは、各隠れユニット内に入力ゲート、忘却ゲート、出力ゲート及びメモリセルを有する。別のＲＮＮは双方向ＲＮＮ（ＢＲＮＮ）又は双方向ＬＳＴＭ（ＢＬＳＴＭ）とすることができる。ＢＬＳＴＭは一対のＬＳＴＭ  ＲＮＮであり、一方は順方向ＬＳＴＭであり、他方は逆方向ＬＳＴＭである。ＢＬＳＴＭの隠れベクトルは、順方向ＬＳＴＭ及び逆方向ＬＳＴＭの隠れベクトルの連結として取得される。
【００３７】
順方向ＬＳＴＭの場合、順方向の第ｔの隠れベクトル
【数４】
0006818941.tif 000005
は以下のように計算される。
【数５】
0006818941.tif 000006
ただし、σ（・）は要素ごとのシグモイド関数であり、ｔａｎｈ（・）は要素ごとの双曲線正接関数であり、
【数６】
0006818941.tif 000007
、及び
【数７】
0006818941.tif 000008
はそれぞれ、ｘｔに関する入力ゲートベクトル、忘却ゲートベクトル、出力ゲートベクトル及びセルアクティベーションベクトルである。
【数８】
0006818941.tif 000009
はベクトル間の要素ごとの乗算を表す。重み行列
【数９】
0006818941.tif 000010
及びバイアスベクトル
【数１０】
0006818941.tif 000011
はＬＳＴＭのパラメータであり、それらは下付き文字ｚ∈｛ｘ，ｈ，ｉ，ｆ，ｏ，ｃ｝
によって識別される。例えば、
【数１１】
0006818941.tif 000012
は隠れ／入力ゲート行列であり、
【数１２】
0006818941.tif 000013
は入力／出力ゲート行列である。隠れベクトル
【数１３】
0006818941.tif 000014
は入力ベクトルｘｔ及び先行する隠れベクトル
【数１４】
0006818941.tif 000015
から再帰的に取得される。ただし、
【数１５】
0006818941.tif 000016
は零ベクトルであると仮定される。
【００３８】
逆方向ＬＳＴＭによれば、逆方向の第ｔの隠れベクトル
【数１６】
0006818941.tif 000017
は以下のように計算される。
【数１７】
0006818941.tif 000018
ただし、
【数１８】
0006818941.tif 000019
及び
【数１９】
0006818941.tif 000020
はそれぞれ、ｘｔに関する入力ゲートベクトル、忘却ゲートベクトル、出力ゲートベクトル及びセルアクティベーションベクトルである。重み行列
【数２０】
0006818941.tif 000021
及びバイアスベクトル
【数２１】
0006818941.tif 000022
はＬＳＴＭのパラメータであり、それらは順方向ＬＳＴＭと同様にして下付き文字によって識別される。隠れベクトル
【数２２】
0006818941.tif 000023
は入力ベクトルｘｔ及び後続の隠れベクトル
【数２３】
0006818941.tif 000024
から再帰的に取得される。ただし、
【数２４】
0006818941.tif 000025
は零ベクトルであると仮定される。
【００３９】
ＢＬＳＴＭの隠れベクトルは、以下のように、順方向隠れベクトル及び逆方向隠れベクトルを連結することによって取得される。
【数２５】
0006818941.tif 000026
ただし、Ｔは、全てのベクトルが列ベクトルであると仮定するときに、ベクトルに関する転置演算を表す。
【数２６】
0006818941.tif 000027
及び
【数２７】
0006818941.tif 000028
はＢＬＳＴＭのパラメータとみなされる。
【００４０】
より良好な隠れベクトルを取得するために、第１のＢＬＳＴＭの隠れベクトルを第２のＢＬＳＴＭに送り込み、その後、第２のＢＬＳＴＭの隠れベクトルを第３のＢＬＳＴＭに送り込み、以下同様にすることによって、複数のＢＬＳＴＭをスタックすることができる。ｈｔ’が１つのＢＬＳＴＭによって取得された隠れベクトルである場合には、それを別のＢＬＳＴＭに送り込むときに、ｘｔ＝ｈｔ’であると仮定する。計算を削減するために、１つのＢＬＳＴＭから別のＢＬＳＴＭに１つおきの隠れベクトルのみを送り込むことができる。この場合、出力隠れベクトル系列の長さは、入力音響特徴系列の長さの半分になる。
【００４１】
複数のＢＬＳＴＭの下付き文字ｚ∈｛ｘ，ｈ，ｉ，ｆ，ｏ，ｃ｝によって識別される全てのパラメータ
【数２８】
0006818941.tif 000029
及び
【数２９】
0006818941.tif 000030
は、エンコーダネットワークパラメータ２０３に記憶され、隠れベクトル系列Ｈを計算するために使用される。
【００４２】
注意デコーダモジュール２０４は、隠れベクトル系列Ｈを用いて、ラベル系列確率ｐａｔｔ（Ｙ｜Ｘ）を計算するために使用されるデコーダネットワークを含む。ＹがＬ長のラベル系列ｙ１，ｙ２，．．．，ｙＬであると仮定する。ｐａｔｔ（Ｙ｜Ｘ）を効率的に計算するために、その確率は、
【数３０】
0006818941.tif 000031
として確率連鎖律によって分解することができ、各ラベル確率ｐａｔｔ（ｙｌ｜ｙ１，．．．，ｙｌ−１，Ｘ）はラベルにわたる確率分布から取得され、その確率分布は、
【数３１】
0006818941.tif 000032
としてデコーダネットワークを用いて推定される。ただし、ｙはラベルを表す確率変数であり、ｒｌはコンテンツベクトルと呼ばれ、それはＨのコンテンツ情報を有する。ｑｌ−１はデコーダ状態ベクトルであり、それは、先行するラベルｙ１，．．．，ｙｌ−１及び先行するコンテンツベクトルｒ０，．．．，ｒｌ−１の文脈情報を含む。したがって、ラベル確率は、文脈を与えられるとすると、ｙ＝ｙｌの確率として取得され、すなわち、
【数３２】
0006818941.tif 000033
である。
【００４３】
コンテンツベクトルｒｌは一般に、エンコーダネットワークの隠れベクトルの加重和として与えられ、すなわち、
【数３３】
0006818941.tif 000034
である。ただし、ａｌｔは注意重みと呼ばれ、それはΣｔａｌｔ＝１を満たす。注意重みはｑｌ−１及びＨを用いて、以下のように計算することができる。
【数３４】
0006818941.tif 000035
ただし、Ｗ、Ｖ、Ｆ及びＵは行列であり、ｗ及びｂはベクトルであり、それらはデコーダネットワークのトレーニング可能なパラメータである。ｅｌｔは第（ｌ−１）の状態ベクトルｑｌ−１と第ｔの隠れベクトルｈｔとの間の照合スコアであり、時間的なアライメント分布ａｌ＝｛ａｌｔ｜ｔ＝１，．．．，Ｔ｝を形成する。ａｌ−１は、先行するラベルｙｌ−１を予測するために使用される先行するアライメント分布｛ａ（ｌ−１）ｔ｜ｔ＝１，．．．，Ｔ｝を表す。ｆｌ＝｛ｆｌｔ｜ｔ＝１，．．．，Ｔ｝は、ａｌ−１に関するＦとの畳み込み結果であり、それは、先行するアライメントを現在のアライメントに反映させるために使用される。「＊」は畳み込み演算を表す。
【００４４】
ラベル確率分布は、
【数３５】
0006818941.tif 000036
として状態ベクトルｑｌ−１及びコンテンツベクトルｒｌを用いて取得される。ただし、Ｗｑｙ及びＷｒｙは行列であり、ｂｙはベクトルであり、それらはデコーダネットワークのトレーニング可能なパラメータである。ｓｏｆｔｍａｘ（）関数は、Ｋ次元ベクトルｖの場合に、
【数３６】
0006818941.tif 000037
として計算される。ただし、ｖ［ｉ］は、ｖの第ｉの要素を示す。
【００４５】
その後、デコーダ状態ベクトルｑｌ−１が、以下のように、ＬＳＴＭを用いて、ｑｌに更新される。
【数３７】
0006818941.tif 000038
ただし、
【数３８】
0006818941.tif 000039
及び
【数３９】
0006818941.tif 000040
はそれぞれ、入力ベクトルｘｌに関する入力ゲートベクトル、忘却ゲートベクトル、出力ゲートベクトル及びセルアクティベーションベクトルである。重み行列
【数４０】
0006818941.tif 000041
及びバイアスベクトル
【数４１】
0006818941.tif 000042
はＬＳＴＭのパラメータであり、それは順方向ＬＳＴＭと同様にして下付き文字によって識別される。状態ベクトルｑｌは入力ベクトル
【数４２】
0006818941.tif 000043
及び先行する状態ベクトルｑｌ−１から再帰的に取得され、ただし、ｑ０は、ｑ−１＝０、ｙ０＝＜ｓｏｓ＞及びａ０＝１／Ｔを仮定して計算される。デコーダネットワークの場合、入力ベクトル
【数４３】
0006818941.tif 000044
は、ラベルｙｌ及びコンテンツベクトルｒｌの連結ベクトルとして与えられ、それは
【数４４】
0006818941.tif 000045
として取得することができ、ただし、Ｅｍｂｅｄ（・）は、ラベルを固定次元ベクトルに変換するラベル埋め込みを表す。例えば、これは、以下の式によって計算することができる。
【数４５】
0006818941.tif 000046
ただし、ＯｎｅＨｏｔ（ｙ）は、ラベルインデックスをワンホットベクトル表現に変換するラベルｙの１−ｏｆ−Ｎコーディングを表す。
【数４６】
0006818941.tif 000047
は、行列であり、トレーニング可能なパラメータである。
【００４６】
下付き文字ｚ∈｛ｘ，ｈ，ｉ，ｆ，ｏ，ｃ｝によって識別される全てのパラメータ
【数４７】
0006818941.tif 000048
及び
【数４８】
0006818941.tif 000049
と、Ｗｑｙ、Ｗｒｙ、ｂｙ、
【数４９】
0006818941.tif 000050
は、デコーダネットワークパラメータ２０５に記憶され、ラベル確率分布ｐａｔｔ（ｙ｜ｙ１，．．．，ｙｌ−１，Ｘ）を計算するために使用される。
【００４７】
ＣＴＣモジュール２０８は、隠れベクトル系列Ｈを与えられると、ラベル系列ＹのＣＴＣ順方向確率を計算する。ＣＴＣ定式化は、異なるラベルの集合Ｕを有するＬ長のラベル系列Ｙ＝｛ｙｔ∈Ｕ｜ｌ＝１，．．．，Ｌ｝を使用することに留意されたい。付加的な「ブランク」ラベルを有するフレームごとのラベル系列を導入することによって、Ｚ＝｛ｚｔ∈Ｕ∪｛ｂ｝｜ｔ＝１，．．．，Ｔ｝である。ただし、ｂはブランクラベルを表す。確率連鎖律と、条件付き独立仮定とを使用することによって、事後確率ｐ（Ｙ｜Ｘ）は以下のように分解される。
【数５０】
0006818941.tif 000051
ただし、ｐ（ｚｔ｜ｚｔ−１｜Ｙ）はブランクラベルを含むラベル遷移確率とみなされる。ｐ（ｚｔ｜Ｘ）は、入力系列Ｘを条件とし、双方向長短期メモリ（ＢＬＳＴＭ）を使用することによってモデル化される、フレームごとの事後確率である。
【数５１】
0006818941.tif 000052
ただし、ｈｔはエンコーダネットワークを用いて得られる。
【数５２】
0006818941.tif 000053
は行列であり、
【数５３】
0006818941.tif 000054
はベクトルであり、それらはＣＴＣのトレーニング可能なパラメータであり、ＣＴＣネットワークパラメータ２０９に記憶される。式（２９）は、全ての取り得るＺにわたる総和を取り扱わなければならないが、順方向アルゴリズムを使用することによって効率的に計算される。
【００４８】
ＣＴＣのための順方向アルゴリズムは以下のように実行される。長さ２Ｌ＋１の拡張ラベル系列Ｙ’＝ｙ’１，ｙ’２，．．．，ｙ’２Ｌ＋１＝ｂ，ｙ１，ｂ，ｙ２，．．．，ｂ，ｙＬ，ｂが使用される。ただし、ブランクラベル「ｂ」が各対の隣接するラベル間に挿入される。αｔ（ｓ）を順方向確率とする。それは時間フレーム１，．．．，ｔに関するラベル系列ｙ１，．．．，ｙｌの事後確率を表し、ただし、ｓは、拡張ラベル系列Ｙ’内の位置を示す。
【００４９】
初期化のために、
【数５４】
0006818941.tif 000055
が設定される。ｔ＝２〜Ｔの場合に、αｔ（ｓ）は、
【数５５】
0006818941.tif 000056
として再帰的に計算される。ただし、
【数５６】
0006818941.tif 000057
である。最後に、ＣＴＣベースラベル系列確率が
【数５７】
0006818941.tif 000058
として得られる。
【００５０】
フレームごとのラベル系列Ｚは、音響特徴系列Ｘと出力ラベル系列Ｙとの間のアライメントを表す。順方向確率を計算するとき、式（３４）の再帰によって、Ｚが単調になるように強制し、アライメントＺにおいてｓがループ又は大きくジャンプできないようにする。なぜなら、αｔ（ｓ）を得るための再帰は、多くてもαｔ（ｓ）、αｔ−１（ｓ−１）、αｔ−１（ｓ−２）しか考慮しないためである。これは、時間フレームが１フレームだけ進むと、ラベルが先行するラベル又はブランクから変化するか、又は同じラベルを維持することを意味する。この制約は、アライメントが単調になるように強制する遷移確率ｐ（ｚｔ｜ｚｔ−１，Ｙ）の役割を果たす。それゆえ、ｐｃｔｃ（Ｙ｜Ｘ）が、不規則な（非単調の）アライメントに基づいて計算されるときに、０又は非常に小さい値とすることができる。
【００５１】
最終的に、式（３６）のＣＴＣベース確率及び式（１４）の注意ベース確率を対数領域において以下のように結合することによってラベル系列確率を得る。
【数５８】
0006818941.tif 000059
ここで、λは、０≦λ≦１となるようなスカラー重みであり、手動で求めることができる。
【００５２】
図３は、本発明の実施形態による結合ニューラルネットワークモジュール３００を示す概略図である。結合ニューラルネットワーク３００は、エンコーダネットワークモジュール２０２と、注意デコーダネットワークモジュール２０４と、ＣＴＣモジュール２０８とを含む。各矢印は、変換を伴う、又は伴わないデータ転送を表し、各正方形ノード又は円形ノードは、ベクトル又は予測ラベルを表す。音響特徴系列Ｘ＝ｘ１，．．．，ｘＴが、エンコーダネットワークモジュール２０２に送り込まれ、エンコーダネットワークモジュールでは、２つのＢＬＳＴＭがスタックされ、第１のＢＬＳＴＭの１つおきの隠れベクトルが第２のＢＬＳＴＭに送り込まれる。エンコーダモジュール２０２の出力の結果、隠れベクトル系列Ｈ＝ｈ’１，ｈ’２，．．．，ｈ’Ｔ’が生成される。ただし、Ｔ’＝Ｔ／２である。その後、ＨがＣＴＣモジュール２０８及びデコーダネットワークモジュール２０４に送り込まれる。ＣＴＣベース系列確率及び注意ベース系列確率がそれぞれ、ＣＴＣモジュール２０８及び注意デコーダネットワークモジュール２０４を用いて計算され、ラベル系列確率を取得するために結合される。
【００５３】
同時の言語識別及び音声認識
言語非依存エンドツーエンドシステムの主要な着想は、全てのターゲット言語に現れる文字集合の和集合を含む拡張文字集合を出力ラベルの集合とみなすことである。すなわち、Ｕｕｎｉｏｎ＝ＵＥＮ∪ＵＪＰ∪．．．，であり、ここで、ＵＥＮ／ＪＰ／．．．は、特定の言語の文字集合である。この拡張文字集合を用いることによって、別個の言語識別モジュールを必要とすることなく、任意の言語について文字系列の尤度を計算することができる。ネットワークは、各発話のターゲット言語のための正しい文字系列を自動的に予測するようにトレーニングされる。和集合の使用は、言語ごとに一意の文字集合を用いることと対照的に、複数の言語において生じる出力シンボルの複製を排除し、低減された計算コストで、よりコンパクトなモデル表現をもたらす。言語非依存システムは、連続した多言語音声を与えられると、言語ＩＤ及び音声認識の予測を繰り返す。
【００５４】
さらに、出力ラベルの集合を、言語ＩＤを含むように更に拡張することによって、言語ＩＤの予測をシステムの明確な部分にする。すなわち、Ｕｆｉｎａｌ＝Ｕｕｎｉｏｎ∪｛［ＥＮ］，［ＪＰ］，．．．｝がエンドツーエンド音声認識のためのラベルの集合Ｕとして用いられる。本発明の実施形態によれば、ネットワークは、まず、言語ＩＤ、ｋ∈｛［ＥＮ］，［ＪＰ］，．．．｝を予測する。Ｙ＝ｙ１，．．．，ｙＬは、Ｕにおける文字の系列であり、Ｘは音響特徴ベクトルの系列である、事後分布ｐ（Ｙ｜Ｘ）の代わりに、システムは、言語ＩＤ、及び拡張系列Ｙ’＝（ｋ，Ｙ）の文字系列としての文字系列の同時分布ｐ（ｋ，Ｙ｜Ｘ）をモデル化する。ここで、ｙ’１＝ｋであり、ｙ’ｌ＝ｙｌ＋１，∀ｌ＞１である。これは、以下のように確率連鎖律を用いることによって定式化される。
【数５９】
0006818941.tif 000060
【００５５】
さらに、発話に複数の言語を含む場合、ネットワークが、全体を通じて複数の言語ＩＤを出力することが可能になる。Ｕｆｉｎａｌにおける文字の系列Ｙ’＝ｙ’１，．．．，ｙ’Ｌについて、言語ＩＤである、Ｙ’における文字
【数６０】
0006818941.tif 000061
のインデックスを、ｌ１，．．．，ｌＮによって表す（すなわち、ｋｎ∈｛［ＥＮ］，［ＪＰ］，．．．｝）。ここで、システムは、言語ＩＤ及び文字の同時分布を以下のようにモデル化する。
【数６１】
0006818941.tif 000062
【００５６】
これは、「[EN]how<space>are<space>you?[FR]comment<space>allez-vous?」等の、言語ＩＤを含む言語混合文字系列の分布のモデル化と同じである。ここで、＜ｓｐａｃｅ＞は形式上、スペース文字を表す。
【００５７】
ハイブリッド注意／ＣＴＣアーキテクチャを用いて、そのような言語混合文字系列をモデル化することができる。言語混合発話を認識するとき、ネットワークは、出力系列の言語を切り替えることができる。図５は、ハイブリッド注意／ＣＴＣネットワークを用いた文字系列予測の例を示す。エンコーダネットワークは、日本語及び英語の音声からなる音響特徴を入力として取ることによって、隠れベクトル系列Ｈを計算する。この例では、ｘ１，．．．，ｘ５が日本語に対応し、ｘ６，．．．，ｘＴが英語に対応すると仮定するが、実際の音響特徴系列には、言語を分離するインジケーターが存在しない。本発明の実施形態によれば、注意デコーダネットワークは、日本語文字系列が続く言語ＩＤ「［ＪＰ］」を予測することができ、第１の日本語文字系列を復号した後、ネットワークは、続く文字系列に一致する言語ＩＤ、ここでは［ＥＮ］を更に予測することができる。
【００５８】
多言語音声認識のためのデータ生成
言語混合発話を予測するために、ハイブリッド注意／ＣＴＣネットワークが、そのような言語混合コーパスの集合を用いてトレーニングされる必要がある。しかしながら、同じ発話内に複数の言語が現れるそのような音声コーパスを十分な量収集することは非常に困難である。実際には、そのような発話を収集及びトランスクリプションすることは非常にコストが高く、時間がかかる。本発明の実施形態では、そのようなコーパスは、既に存在する言語依存コーパスの集合から人工的に生成される。
【００５９】
複数のコーパス内の各発話が、文字の系列として対応するトランスクリプトを有すると仮定する。以後、図１における本発明の実施形態に従って、そのような言語混合コーパスを生成する方法が説明される。第１に、言語ＩＤ挿入モジュール１１２は、言語依存コーパス内の各発話のトランスクリプトに言語ＩＤを挿入する。言語ＩＤは、各文字系列の先頭に位置することができる。次に、発話連結モジュール１１３は、以下で更に説明されるように、選択された発話のカバレッジ、及び言語推移の変動に注意を払いながら、言語依存コーパスから発話を選択する。次に、選択された発話（及びそれらのトランスクリプト）が連結され、生成されたコーパスにおいて単一の発話とみなされる。この手順は、生成されたコーパスの持続時間が、元のコーパスの和集合の持続時間に到達するまで繰り返される。
【００６０】
図６は、生成手順の詳細を示す。第１に言語及び発話をサンプリングする確率を定義する。言語をサンプリングする確率は、元のコーパスの持続時間と比例し、データサイズによって生じる選択バイアスを緩和するために、定数項１／Ｎが付加される。本発明者らの実験では、連結する発話の最大数Ｎｃｏｎｃａｔを３に設定する。１とＮｃｏｎｃａｔとの間の各数ｎｃｏｎｃａｔについて、ｎｃｏｎｃａｔ個の言語及び発話をそれらのサンプリング確率に基づいてサンプリングすることによって、元のコーパスからのｎｃｏｎｃａｔ個の発話からなる連結された発話を生成する。元のコーパスの適用範囲を最大にするために、トレーニングセットについて５に設定され、開発セット及び評価セットについて２に設定された最大使用カウントｎｒｅｕｓｅを導入することによって、発話が過度に再利用されることを防ぐ。この手順を用いて、トレーニングセット、開発セット及び評価セットを生成する。
【００６１】
トレーニング手順
エンドツーエンドネットワークトレーニングモジュール１１７において、損失関数
【数６２】
0006818941.tif 000063
の値を小さくするように、エンコーダネットワークパラメータ２０３、デコーダネットワークパラメータ２０５、及びＣＴＣネットワークパラメータ２０９が同時に最適化される。ここで、Ｘ及びＹは、音響特徴系列及びラベル系列を含むトレーニングデータである。本発明の実施形態によれば、トレーニングデータ（Ｘ，Ｙ）は、図１における言語ＩＤ挿入モジュール１１２及び発話連結モジュール１１３を用いて既存の言語依存コーパスから生成される。
【００６２】
Θは、エンコーダネットワークパラメータ２０３、デコーダネットワークパラメータ２０５及びＣＴＣネットワークパラメータ２０９を含むネットワークパラメータの集合を表す。Ｎは、トレーニングサンプルの数である。Ｘｎは、Ｘにおける第ｎの音響特徴系列であり、Ｙｎは、Ｙにおける第ｎのラベル系列である。ｐｃｔｃ（Ｙｎ｜Ｘｎ，Θ）は、パラメータ集合Θを用いて計算された、式（３６）におけるＣＴＣベースの系列確率であり、ｐａｔｔ（Ｙｎ｜Ｘｎ，Θ）は、パラメータ集合Θを用いて計算された、式（１４）における注意ベースの系列確率である。
【００６３】
ネットワークパラメータの集合Θは、確率的勾配降下法によって最適化することができる。第１に、初期ネットワーク構築モジュール１１５が、初期ネットワークパラメータ１１６を取得し、行列及びベクトルのサイズと、行列及びベクトルの各要素の初期値とが求められる。行列及びベクトルのサイズは、手作業で又は自動的に決定することができる。例えば、ラベル集合Ｕｆｉｎａｌのサイズに依存する行列及びベクトルの場合、サイズは、ラベル集合サイズ｜Ｕｆｉｎａｌ｜に従って求められる。例えば、行列Ｗｑｙ及びＷｒｙの行数が｜Ｕｆｉｎａｌ｜に等しい場合、式（２１）においてベクトルｂｙの次元数も｜Ｕｆｉｎａｌ｜に等しいはずである。なぜなら、この数はラベル確率分布ｐａｔｔ（ｙ｜ｙ１，．．．，ｙｌ−１，Ｘ）の次元と等しくなるはずであるためである。行列及びベクトルの各要素は、ランダム実数として設定することができる。様々な言語の元の音声コーパス１１０における一意の文字及び言語ＩＤを取得することによって、Ｕｆｉｎａｌが求められる。
【００６４】
次に、エンドツーエンドネットワークトレーニングモジュール１１７は、パラメータ集合Θ内のエンコーダネットワークパラメータ、デコーダネットワークパラメータ及びＣＴＣネットワークパラメータを同時に最適化する。勾配降下法に基づいて、パラメータ集合Θの各要素は、Ｌ（Ｘ，Ｙ，Θ）が収束するまで、
【数６３】
0006818941.tif 000064
として繰り返し更新される。ここで、ηは学習速度である。
【００６５】
Ｘ＝Ｘ１∪．．．∪ＸＭ及びＹ＝Ｙ１∪．．．∪ＹＭとなるように、Ｘ及びＹをＭ個の小さな部分集合｛Ｘｍ，Ｙｍ｝ｍ＝１，．．．，Ｍに分割し、ｍ＝１，．．．，Ｍについて以下を繰り返すことによってパラメータを更新することも可能である。
【数６４】
0006818941.tif 000065
小さな部分集合を用いてパラメータを更新することによって、パラメータはより頻繁に更新され、損失関数はより迅速に収束する。
【００６６】
本発明者らの実験では、２つのトレーニング手順を検討する。フラットスタート手順では、モデルは、生成されたコーパスのみをゼロから用いてトレーニングされる。再トレーニング手順では、モデルは、以下のように元のコーパス及び生成されたコーパスを用いて２つのステップでトレーニングされる。まず、言語切り替えのないトレーニングデータ（すなわち、元のコーパス）を用いてモデルをトレーニングし、次に、言語切り替えのあるデータ（生成されたコーパス）を用いてトレーニングを継続する。本発明者らは、以下の理由でこれらの２つのステップを検討する。第１に、言語切り替えのないデータによってトレーニングされたモデルは、言語切り替えのある、間違いなくより難易度の高いデータのトレーニングのための良好な開始点である。第２に、本発明者らは、低リソース言語の比を増大させるために、データ生成アルゴリズムが複製された発話を選択することを可能にした。しかしながら、この特性は、カバレッジの減少を引き起こす。２ステップトレーニングはこの問題を緩和する。
【００６７】
ラベル系列探索
ラベル系列探索モジュール２０６は、組み合わされたラベル系列確率に従って、以下のように最も確からしいラベル系列
【数６５】
0006818941.tif 000066
を得る。
【数６６】
0006818941.tif 000067
ここで、ｐｃｔｃ（Ｙ｜Ｘ）は、式（３６）におけるＣＴＣベースのラベル系列確率であり、ｐａｔｔ（Ｙ｜Ｘ）は、式（１４）における注意ベースのラベル系列確率であり、本発明の実施形態によればＵ＝Ｕｆｉｎａｌである。
【００６８】
しかしながら、あり得るラベル系列の数は系列の長さに対し指数関数的に増大するため、Ｙの全ての可能なラベル系列を列挙し、λ  ｌｏｇ  ｐｃｔｃ（Ｙ｜Ｘ）＋（１−λ）ｌｏｇ  ｐａｔｔ（Ｙ｜Ｘ）を計算することは困難である。したがって、通例、ビーム探索技法を用いて
【数６７】
0006818941.tif 000068
が得られ、ビーム探索技法では、最初に、より短いラベル系列仮説が生成され、他よりも高いスコアを有する限られた数の仮説のみが、より長い仮説を得るように拡張される。最終的に、完全な仮説において、系列の末尾に到達した最良のラベル系列仮説が選択される。
【００６９】
Ωｌを、長さｌの部分的仮説の集合とする。ビーム探索の開始時に、Ω０は、開始シンボル＜ｓｏｓ＞を有する１つのみの仮説を含む。ｌ＝１〜Ｌｍａｘについて、Ωｌ−１における各部分仮説は、あり得る単一のラベルを付加することによって拡張され、新たな仮説はΩｌに記憶される。ここで、Ｌｍａｘは、探索されることになる仮説の最大長である。
【００７０】
各部分仮説ｈのスコアは以下のように計算される。
【数６８】
0006818941.tif 000069
ここで、ψａｔｔ（ｈ）は以下のように計算される。
【数６９】
0006818941.tif 000070
【００７１】
ψｃｔｃ（ｈ，Ｘ）を計算するために、自身のプレフィックスとしてｈを有する全てのラベル系列の累積確率として定義されるＣＴＣプレフィックス確率
【数７０】
0006818941.tif 000071
が利用され、ＣＴＣスコアは、
【数７１】
0006818941.tif 000072
と定義される。ただし、ｖは、空のストリングを除く、全ての取り得るラベル系列を表す。ＣＴＣスコアは、式（４５）におけるψａｔｔ（ｈ）として再帰的に得ることはできないが、入力時間フレームにわたって順方向確率を維持することによって、部分仮説ごとに効率的に計算することができる。
【００７２】
本発明の実施形態によれば、ラベル系列探索モジュール２０６は、
【数７２】
0006818941.tif 000073
を以下の手順に従って見つける。
【数７３】
0006818941.tif 000074
【００７３】
この手順において、Ωｌ及び
【数７４】
0006818941.tif 000075
は、それぞれ長さｌの部分的仮説及び完全な仮説を受け入れるキューとして実施される。１行目〜２行目において、Ω０及び
【数７５】
0006818941.tif 000076
が、空のキューとして初期化される。３行目において、初期仮説＜ｓｏｓ＞のためのスコアが０に設定される。４行目〜２４行目において、Ωｌ−１における各部分仮説ｇが、ラベル集合Ｕ∪｛＜ｅｏｓ＞｝内の各ラベルｙによって拡張される。ここで、演算Ｈｅａｄ（Ω）は、キューΩにおける第１の仮説を返し、Ｄｅｑｕｅｕｅ（Ω）はキューから第１の仮説を除去する。
【００７４】
各拡張された仮説ｈは、１１行目において注意デコーダネットワークを用いてスコアリングされ、１２行目においてＣＴＣスコアと組み合わされる。その後、ｙ＝＜ｅｏｓ＞の場合、仮説ｈは、完全であると仮定され、１４行目において、
【数７６】
0006818941.tif 000077
に記憶される。ここで、
【数７７】
0006818941.tif 000078
は、ｈを
【数７８】
0006818941.tif 000079
に加算する演算である。ｙ≠＜ｅｏｓ＞の場合、ｈは１６行目においてΩｌに記憶される。ここで、Ωｌにおける仮説数、すなわち｜Ωｌ｜は、１７行目において所定の数ｂｅａｍＷｉｄｔｈと比較される。｜Ωｌ｜がｂｅａｍＷｉｄｔｈを超える場合、Ωｌにおいて最小スコアｈｍｉｎを有する仮説が１８行目〜１９行目においてΩｌから除去され、ここで、Ｒｅｍｏｖｅ（Ωｌ，ｈｍｉｎ）は、ｈｍｉｎをΩｌから除去する演算である。最終的に、２５行目において、
【数７９】
0006818941.tif 000080
が最良仮説として選択される。
【００７５】
ＣＴＣスコアψｃｔｃ（ｈ，Ｘ）は、修正順方向アルゴリズムを用いて計算することができる。
【数８０】
0006818941.tif 000081
及び
【数８１】
0006818941.tif 000082
を時間フレームｔ＝１，．．．，tにわたる仮説ｈの順方向確率であるとする。ただし、上付き文字（ｎ）及び（ｂ）はそれぞれ、全てのＣＴＣ経路が非ブランクラベル又はブランクラベルで終了する異なる事例を表す。ビーム探索を開始する前に、
【数８２】
0006818941.tif 000083
及び
【数８３】
0006818941.tif 000084
が、ｔ＝１，．．．，Ｔに関して、
【数８４】
0006818941.tif 000085
として初期化される。ただし、
【数８５】
0006818941.tif 000086
であり、ｂがブランクラベルであると仮定する。エンコーダに関するサブサンプリング技法のため、時間インデックスｔ及び入力長Ｔは入力発話Ｘの時間インデックス及び入力長とは異なる場合があることに留意されたい。ＣＴＣスコア関数は以下のように実施することができる。
【数８６】
0006818941.tif 000087
【００７６】
この関数において、所与の仮説ｈが、１行目において、最初に、最後のラベルｙ及び残りのラベルｇに分割される。ｙが＜ｅｏｓ＞である場合には、３行目において、ｈが完全な仮説であると仮定して、順方向確率の対数を返す。ｈの順方向確率は、
【数８７】
0006818941.tif 000088
及び
【数８８】
0006818941.tif 000089
の定義に従って、
【数８９】
0006818941.tif 000090
によって与えられる。ｙが＜ｅｏｓ＞でない場合には、ｈが完全な仮説でないと仮定して、順方向確率
【数９０】
0006818941.tif 000091
及び
【数９１】
0006818941.tif 000092
並びにプレフィックス確率Ψ＝ｐｃｔｃ（ｈ，．．．｜Ｘ）を計算する。それらの確率に関する初期化ステップ及び再帰ステップが５行目〜１３行目に記述されている。この関数において、１０行目〜１２行目において
【数９２】
0006818941.tif 000093
及びΨを計算するときにはいつでも、ｇがｈのプレフィックスであり、｜ｇ｜＜｜ｈ｜であるので、９行目の確率
【数９３】
0006818941.tif 000094
及び
【数９４】
0006818941.tif 000095
がビーム探索プロセスを通して既に取得されていると仮定される。したがって、プレフィックス確率及び順方向確率を効率的に計算することができる。９行目のｌａｓｔ（ｇ）は、ｇの最後のラベルを返す関数であることを留意されたい。
【００７７】
多言語エンドツーエンド音声認識装置
図４は、本発明のいくつかの実施形態による、多言語エンドツーエンド音声認識システム４００のブロック図を示す。エンドツーエンド音声認識システム４００は、キーボード４１１及びポインティングデバイス／媒体４１２と接続可能なヒューマンマシンインターフェース（ＨＭＩ）４１０と、１つ以上のプロセッサ４２０と、記憶デバイス４３０と、メモリ４４０と、ローカルエリアネットワーク及びインターネットネットワークを含むネットワーク４９０と接続可能なネットワークインターフェースコントローラー４５０（ＮＩＣ）と、ディスプレイインターフェース４６０と、マイクロフォンデバイス４７５と接続可能なオーディオインターフェース４７０と、印刷デバイス４８５と接続可能なプリンターインターフェース４８０とを含む。メモリ４４０は１つ以上のメモリユニットとすることができる。エンドツーエンド音声認識システム４００は、ＮＩＣ４５０に接続されるネットワーク４９０を介して電気的なオーディオ波形／スペクトルデータ４９５を受信することができる。記憶デバイス４３０は、言語ＩＤ挿入モジュール１１２と、発話連結モジュール１１３と、初期ネットワーク構築モジュール１１５と、エンドツーエンドネットワークトレーニングモジュール１１７と、エンドツーエンド音声認識モジュール２００と、エンコーダネットワークモジュール２０２と、注意デコーダネットワークモジュール２０４と、ＣＴＣモジュール２０８と、音響特徴抽出モジュール４３４とを備える。いくつかの場合、モジュール１１２、１１３、１１５、１１７、２０２、２０４及び２０８は、システム設計に依拠して、記憶装置４３０、メモリ４４０又は外部の取付け可能メモリ（図示せず）に独立して配置することができる。
【００７８】
ラベル系列探索モジュール、エンコーダネットワークパラメータ、デコーダネットワークパラメータ及びＣＴＣネットワークパラメータ等の他のプログラムモジュールについては、この図面において省略されている。さらに、ポインティングデバイス／媒体４１２は、コンピュータ可読記録媒体に記憶されるコンピュータ実行可能（プロセッサ実行可能）プログラムであるモジュールを含むことができる。注意デコーダネットワークモジュール２０４、エンコーダネットワークモジュール２０２及びＣＴＣモジュール２０８は、ニューラルネットワークパラメータによって形成することができる。音響特徴抽出モジュール４３４は、音響特徴系列を抽出するために使用されるプログラムモジュールである。音響特徴系列は、一次及び二次時間導関数及び／又はピッチ特徴を伴うメルスケールフィルターバンク係数の系列とすることができる。
【００７９】
エンドツーエンド音声認識を実行するために、キーボード４１１、ポインティングデバイス／媒体４１２を用いて、又は他のコンピュータ（図示せず）に接続されているネットワーク４９０を介して、エンドツーエンド音声認識システム４００に命令を送信することができる。システム４００は、ＨＭＩ４１０を介して命令を受信し、記憶デバイス４３０に記憶されているエンドツーエンド音声認識モジュール２００、注意デコーダネットワークモジュール２０４、エンコーダネットワークモジュール２０２、ＣＴＣモジュール２０８及び音響特徴抽出モジュール４３４をロードすることによって、メモリ４４０に関連するプロセッサ４２０を用いてエンドツーエンド音声認識を実行するための命令を実行する。
【００８０】
実験
元のコーパスは、ＷＳＪ、ＣＳＪ（Maekawa他、2000）、ＨＫＵＳＴ（Liu他、2006）及びＶｏｘｆｏｒｇｅ（ドイツ語、スペイン語、フランス語、イタリア語、オランダ語、ポルトガル語、ロシア語）（「VoxForge」n.d.）に基づく。
【００８１】
本発明者らは、ハイブリッド注意／ＣＴＣネットワークアーキテクチャを用いて言語依存のエンドツーエンドシステム及び言語非依存のエンドツーエンドシステムを構築した。言語依存モデルは、４層ＢＬＳＴＭエンコーダネットワークを用いるのに対し、言語非依存モデルは、ディープ７層ＢＬＳＴＭエンコーダネットワーク等のディープＢＬＳＴＭエンコーダネットワークを有する。ＢＬＳＴＭエンコーダネットワーク内の層数は７層に限定されない。いくつかの場合、システム設計によれば、層数は２以上であってもよい。本発明者らは、３次元ピッチ特徴と連結された８０次元Ｍｅｌフィルターバンク特徴を用いた。言語非依存モデルの場合、ＣＴＣベース及び注意ベースの双方の分岐における最終的なｓｏｆｔｍａｘ層は、５５２０次元を有した（すなわち、｜Ｕｆｉｎａｌ｜＝５５２０）。
【００８２】
英語の場合、ＷＳＪコーパスにおける比較的長い文を扱うために、ＷＳＪテキストコーパスに頻繁に現れる最大で５−ｇｒａｍの文字系列に対応するトークンを追加することによって、アルファベット文字集合を２０１に拡張する。これにより、計算コスト及びＧＰＵメモリ使用を低減するために、出力長Ｌは短くなる。
【００８３】
言語ごとに、言語依存のＡＳＲモデルをトレーニングした。ここで、最終ｓｏｆｔｍａｘ層の次元は、その言語のための別個の文字／トークンの数に設定された。本文書は、エンドツーエンドＡＳＲコンセプトに厳密に従い、発音辞書、単語ベースの言語モデル、ＧＭＭ／ＨＭＭ、又はＤＮＮ／ＨＭＭをいずれも使用しなかった。本発明者らのハイブリッド注意／ＣＴＣアーキテクチャは、Ｃｈａｉｎｅｒ（Tokui他、2015）を用いて実施された。
【００８４】
結果
図７は、言語切り替えを含む多言語評価セットにおけるトレーニングされた言語依存エンドツーエンドＡＳＲシステム及び言語非依存エンドツーエンドＡＳＲシステムの文字誤り率（ＣＥＲ）を示す。ＣＥＲは、１０言語にわたって平均を取られ、各発話における言語数に依拠して別個に示される。
【００８５】
各発話に１つのみの言語を含む事例（すなわち、言語切り替えなし）では、言語非依存モデルは、言語依存モデルよりも大幅に性能が上回った。言語数が２又は３であるとき、言語切り替えデータでトレーニングされた言語非依存モデルは、２言語の事例について、３１．５％から２１．３％まで、３言語の事例について、３８．６％から２０．８％までＣＥＲを低減させた。フラットスタート言語非依存モデルを再トレーニングすることによって、更なるＣＥＲ低減を得た。すなわち、ＣＥＲは全ての事例について、それぞれ結果として１９．４％、１９．３％及び１８．６％となった。
【００８６】
したがって、言語非依存ＡＳＲは、ＣＥＲの低減に成功し、言語切り替えデータを用いてトレーニングされたモデルは、復号プロセス中に言語間で適切に切り替えることが可能である。
【００８７】
また、本発明者らは、言語切り替えデータを用いて再トレーニングされた言語非依存モデルを用いて得られた認識結果から言語ＩＤを抽出することによって、言語ＩＤ誤り率を計算した。各発話に１つのみの言語を含む事例では、言語ＩＤ誤り率は２．０％であった。各発話に１つ〜３つの言語を含む事例では、ＩＤ誤り率は８．５％であった。このため、本発明は、僅かな数の誤りで多言語音声及び言語ＩＤを同時に認識することができる。
【００８８】
図８は、本発明によるモデルによって生成されるトランスクリプション例を示す。発話は、日本語、英語及びオランダ語からなる。言語切り替えのないモデルは、正しい言語ＩＤも、日本語文字集合の使用も予測することができない。言語切り替えのあるモデルが、低ＣＥＲで多言語音声を認識したことを観測することができる。
【００８９】
本開示のいくつかの実施形態において、上記のエンドツーエンド音声認識システムがコンピュータシステム内にインストールされるときに、少ない計算能力で音声認識を実効的、かつ正確に実行することができ、それゆえ、本開示のエンドツーエンド音声認識方法又はシステムを使用することにより、中央処理ユニット使用量及び電力消費量を削減することができる。
【００９０】
さらに、本開示による実施形態は、エンドツーエンド音声認識を実行する実効的な方法を提供し、それゆえ、そのエンドツーエンド音声認識モデルを使用する方法及びシステムを使用することによって、中央処理ユニット（ＣＰＵ）使用量、電力消費量及び／又はネットワーク帯域幅使用量を削減することができる。
【００９１】
本開示の上記で説明した実施形態は、多数の方法のうちの任意のもので実施することができる。例えば、実施形態は、ハードウェア、ソフトウェア又はそれらの組み合わせを用いて実施することができる。ソフトウェアで実施される場合、ソフトウェアコードは、単一のコンピュータに設けられるのか又は複数のコンピュータ間に分散されるのかにかかわらず、任意の適したプロセッサ又はプロセッサの集合体において実行することができる。そのようなプロセッサは、１つ以上のプロセッサを集積回路部品に有する集積回路として実装することができる。ただし、プロセッサは、任意の適したフォーマットの回路類を用いて実装することができる。
【００９２】
また、本明細書において略述された様々な方法又はプロセスは、様々なオペレーティングシステム又はプラットフォームのうちの任意の１つを用いる１つ以上のプロセッサ上で実行可能なソフトウェアとしてコード化することができる。加えて、そのようなソフトウェアは、複数の適したプログラミング言語及び／又はプログラミングツール若しくはスクリプティングツールのうちの任意のものを用いて記述することができ、実行可能機械語コード、又はフレームワーク若しくは仮想機械上で実行される中間コードとしてコンパイルすることもできる。通常、プログラムモジュールの機能は、様々な実施形態において所望に応じて組み合わせることもできるし、分散させることもできる。
【００９３】
さらに、本開示の実施形態は、方法として具現化することができ、この方法の一例が提供されている。この方法の一部として実行される動作は、任意の適した方法で順序付けることができる。したがって、例示したものと異なる順序で動作が実行される実施形態を構築することができ、この順序は、いくつかの動作が例示の実施形態では順次的な動作として示されていても、それらの動作を同時に実行することを含むことができる。さらに、請求項の要素を修飾する、特許請求の範囲における第１、第２等の序数の使用は、それ自体で、１つの請求項の要素の別の請求項の要素に対する優先順位も、優位性も、順序も暗示するものでもなければ、方法の動作が実行される時間的な順序も暗示するものでもなく、請求項の要素を区別するために、単に、或る特定の名称を有する１つの請求項の要素を、同じ（序数の用語の使用を除く）名称を有する別の要素と区別するラベルとして用いられているにすぎない。
【図１】
0006818941.tif 000096
【図２】
0006818941.tif 000097
【図３】
0006818941.tif 000098
【図４】
0006818941.tif 000099
【図５】
0006818941.tif 000100
【図６】
0006818941.tif 000101
【図７】
0006818941.tif 000102
【図８】
0006818941.tif 000103