(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】特表2020-537765(P2020-537765A)
(43)【公表日】2020年12月24日
(54)【発明の名称】多言語音声認識ネットワークをトレーニングする方法、音声認識システム及び多言語音声認識システム
(51)【国際特許分類】
G10L 15/06 20130101AFI20201127BHJP
G10L 15/16 20060101ALI20201127BHJP
【FI】
G10L15/06 300Y
G10L15/16
G10L15/06 500Z
G10L15/06 300C
【審査請求】有
【予備審査請求】未請求
【全頁数】36
(21)【出願番号】特願2020-518836(P2020-518836)
(86)(22)【出願日】2018年5月31日
(85)【翻訳文提出日】2020年4月1日
(86)【国際出願番号】JP2018021790
(87)【国際公開番号】WO2019116606
(87)【国際公開日】20190620
(31)【優先権主張番号】15/843,047
(32)【優先日】2017年12月15日
(33)【優先権主張国】US
(81)【指定国】
AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JO,JP,KE,KG,KH,KN,KP,KR,KW,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT
(71)【出願人】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】100110423
【弁理士】
【氏名又は名称】曾我 道治
(74)【代理人】
【識別番号】100111648
【弁理士】
【氏名又は名称】梶並 順
(74)【代理人】
【識別番号】100122437
【弁理士】
【氏名又は名称】大宅 一宏
(74)【代理人】
【識別番号】100147566
【弁理士】
【氏名又は名称】上田 俊一
(74)【代理人】
【識別番号】100161171
【弁理士】
【氏名又は名称】吉田 潤一郎
(72)【発明者】
【氏名】渡部 晋司
(72)【発明者】
【氏名】堀 貴明
(72)【発明者】
【氏名】関 博史
(72)【発明者】
【氏名】ル・ルー、ジョナサン
(72)【発明者】
【氏名】ハーシェイ、ジョン
(57)【要約】
多言語音声認識ネットワークをトレーニングする方法は、所定の言語に対応する発話データセットを提供することと、言語識別(ID)ラベルを発話データセットに挿入することであって、発話データセットの各々は、言語IDラベルの各々によってラベル付けされることと、ラベル付けされた発話データセットを連結することと、発話データセットから初期ネットワークパラメータを生成することと、所定の系列に従って初期ネットワークパラメータを選択することと、トレーニング結果が閾値に達するまで、一連の選択された初期ネットワークパラメータ及び連結されたラベル付けされた発話データセットを用いてエンドツーエンドネットワークを反復的にトレーニングすることとを含む。
【特許請求の範囲】
【請求項1】
多言語音声認識ネットワークをトレーニングする方法であって、
所定の言語に対応する発話データセットを提供することと、
言語識別(ID)ラベルを前記発話データセットに挿入することであって、前記発話データセットの各々は、前記言語IDラベルの各々によってラベル付けされることと、
前記ラベル付けされた発話データセットを連結することと、
前記発話データセットから初期ネットワークパラメータを生成することと、
トレーニング結果が閾値に達するまで、一連の前記初期ネットワークパラメータ及び前記連結されたラベル付けされた発話データセットを用いてエンドツーエンドネットワークを反復的にトレーニングすることと、
を含む、方法。
【請求項2】
前記発話データセットの各々は、音響データセットと、前記音響データセットに対応するグランドトゥルースラベルとの対を含む、請求項1に記載の方法。
【請求項3】
前記エンドツーエンドネットワークは言語非依存モデルである、請求項1に記載の方法。
【請求項4】
前記言語非依存モデルは、ディープBLSTMエンコーダネットワークを用いる、請求項3に記載の方法。
【請求項5】
前記ディープBLSTMエンコーダネットワークにおける層の数は7以上である、請求項4に記載の方法。
【請求項6】
前記IDラベルは、配列規則に従って前記発話データセットに対し配列される、請求項1に記載の方法。
【請求項7】
前記配列規則により、前記IDラベルの各々が前記発話データセットの各々の先頭位置に追加される、請求項6に記載の方法。
【請求項8】
前記トレーニング結果が前記閾値に到達すると、トレーニングされたネットワークパラメータを生成することを更に含む、請求項1に記載の方法。
【請求項9】
前記エンドツーエンドネットワークは、所定の方法に基づいて、前記一連の初期ネットワークパラメータと、前記連結されたラベル付けされた発話データセットとを同時に最適化する、請求項1に記載の方法。
【請求項10】
多言語音声認識を行う音声認識システムであって、
声音を受信するためのインターフェースと、
1つ以上のプロセッサと、
請求項1に記載の方法によって得られた、トレーニングされたネットワークパラメータを用いることによってトレーニングされたエンドツーエンド音声認識モジュールを記憶する1つ以上の記憶デバイスであって、前記エンドツーエンド音声認識モジュールは、実行されると、前記1つ以上のプロセッサに、
前記声音から変換されたオーディオ波形データから、音響特徴抽出モジュールを用いて音響特徴系列を抽出する動作と、
前記音響特徴系列を、エンコーダネットワークパラメータを有するエンコーダネットワークを用いて隠れベクトル系列に符号化する動作と、
前記隠れベクトル系列を、デコーダネットワークパラメータを有するデコーダネットワークにフィードすることによって、第1の出力ラベル系列確率を予測する動作と、
コネクショニスト時系列分類(CTC)モジュールによって、CTCネットワークパラメータ、及び前記エンコーダネットワークからの前記隠れベクトル系列を用いて第2の出力ラベル系列確率を予測する動作と、
ラベル系列探索モジュールを用いて、前記デコーダネットワーク及び前記CTCモジュールから提供された前記第1の出力ラベル系列確率及び前記第2の出力ラベル系列確率を組み合わせることによって、最も高い系列確率を有する出力ラベル系列を探索する動作と、
を含む動作を実行させる命令を含む、1つ以上の記憶デバイスと、
を備える、システム。
【請求項11】
多言語音声認識のために、トレーニングされたネットワークパラメータを生成する多言語音声認識システムであって、
1つ以上のプロセッサと、
パラメータ、及び前記1つ以上のプロセッサによって実行可能な命令を含むプログラムモジュールを記憶する1つ以上の記憶デバイスであって、前記命令は、実行されると、前記1つ以上のプロセッサに、
所定の言語に対応する発話データセットを提供する動作と、
言語識別(ID)ラベルを前記発話データセットに挿入する動作であって、前記発話データセットの各々は、前記言語IDラベルの各々によってラベル付けされる、動作と、
前記ラベル付けされた発話データセットを連結する動作と、
前記発話データセットから初期ネットワークパラメータを生成する動作と、
所定の系列に従って前記初期ネットワークパラメータを選択する動作と、
トレーニング結果が閾値に達するまで、一連の前記選択された初期ネットワークパラメータ及び前記連結されたラベル付けされた発話データセットを用いてエンドツーエンドネットワークを反復的にトレーニングする動作と、
を実行させる、1つ以上の記憶デバイスと、
を備える、システム。
【請求項12】
前記発話データセットの各々は、音響データセットと、前記音響データセットに対応するグランドトゥルースラベルとの対を含む、請求項11に記載のシステム。
【請求項13】
前記エンドツーエンドネットワークは言語非依存モデルである、請求項11に記載のシステム。
【請求項14】
前記言語非依存モデルは、ディープBLSTMエンコーダネットワークを用いる、請求項13に記載のシステム。
【請求項15】
前記ディープBLSTMエンコーダネットワークにおける層の数は7以上である、請求項14に記載のシステム。
【請求項16】
前記IDラベルは、配列規則に従って前記発話データセットに対し配列される、請求項11に記載のシステム。
【請求項17】
前記配列規則により、前記IDラベルの各々が前記発話データセットの各々の先頭位置に追加される、請求項16に記載のシステム。
【請求項18】
前記トレーニング結果が前記閾値に到達すると、トレーニングされたネットワークパラメータを生成することを更に含む、請求項11に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、包括的には、多言語エンドツーエンド音声認識のための装置及び方法に関し、より具体的には、同時の言語識別及び音声認識のためにニューラルネットワークをトレーニングする方法及びシステムに関する。
【背景技術】
【0002】
エンドツーエンド自動音声認識(ASR)は、近年、開発の容易さの観点で従来のハイブリッドASRシステムを凌ぎながら、これらの従来のハイブリッドASRシステムによって得られた最新技術の性能に達することにより、その効率性を証明している。従来のASRシステムは、発音辞書及び単語のセグメンテーション等の言語に依存したリソースを必要とする。これらは、音素と共に、中間表現としてモデルに組み込まれる。これらのリソースは手作業で開発されるため、2つの不利点を有する。第1に、これらのリソースはエラーを起こしやすいか又はそうでない場合準最適である場合があり、第2に、これらのリソースは、特に新たな言語について、ASRシステムを開発するのに必要な労力を大幅に増大させる。このため、言語に依存したリソースの使用は、多言語認識システムの開発を特に複雑にする。対照的に、エンドツーエンドASRシステムは、入力音声特徴系列を、音素又は単語等の表音/言語構成体のいかなる明確な中間表現も用いることなく、出力ラベル系列(主に、本発明の実施形態では、n−gram文字で構成される文字又はトークンの系列)に直接変換する。エンドツーエンドASRシステムの主要な利点は、手作業で作製された言語に依存するリソースの必要性を回避することである。
【0003】
多言語/言語非依存ASRに関するいくつかの従来の研究が存在する。ディープニューラルネットワーク(DNN)に基づく多言語システムとの関連においては、DNNは言語非依存のボトルネック特徴を計算するのに用いられる。したがって、発音辞書及び言語モデルのような言語依存バックエンドシステムを準備する必要がある。加えて、言語非依存モジュール及び言語依存モジュールを繋げるには、発話された言語を予測する必要がある。
【発明の概要】
【0004】
本発明では、複数の異なる言語において、音声の認識及び言語の識別を同時に行うことができる言語非依存ニューラルネットワークアーキテクチャを用いたシステム及び方法が開示される。例えば、本発明は、英語、日本語、標準中国語、ドイツ語、スペイン語、フランス語、イタリア語、オランダ語、ポルトガル語及びロシア語での発話を自動的に認識し、同時に各発話の言語を識別することを可能にする。
【0005】
本発明の一実施形態によれば、ネットワークは、複数の言語にわたるsoftmax層を含む全てのパラメータを共有する。
【0006】
例えば、ネットワークは、複数の言語の書記素集合を連結することによって、softmax層を含む全てのパラメータを共有するため、本発明の言語非依存ニューラルネットワークアーキテクチャは、音声を認識し、同時に、英語、日本語、標準中国語、ドイツ語、スペイン語、フランス語、イタリア語、オランダ語、ポルトガル語及びロシア語等の様々な言語において言語を識別することができる。
【0007】
本発明の言語非依存ニューラルネットワークは、(1)複数の言語からの書記素集合及び言語IDの和集合としてユニバーサルラベル集合を作成し、これに基づいて初期ネットワークが構築されることと、(2)複数の異なる言語コーパスにおける各発話のトランスクリプトに言語IDラベルを挿入することと、(3)複数の異なる言語コーパスから1つ以上の発話を選択し、これらを任意の順序で連結することによって発話を生成することであって、対応するトランスクリプトも同じ順序で連結されることと、(4)生成された発話及びトランスクリプトを用いて初期ネットワークをトレーニングすることと、(5)トレーニングされたネットワークを用いて音声を認識することと、によって多言語エンドツーエンド音声認識を可能にする。
【0008】
多言語音声認識のためのこのモノリシックエンドツーエンドASRシステムは、3つの利点を有し、第1に、モノリシックアーキテクチャが、言語依存ASRモジュール及び外部言語識別モジュールをなくし、第2に、エンドツーエンドアーキテクチャが、手作業で作成された発音辞書を準備することを不要にし、第3に、共有ネットワークが、低リソース言語の場合であっても、より良好な特徴表現の学習を可能にする。
【0009】
本発明はまた、言語切り替えを含めるようにトレーニングデータが拡張されるため、音声信号内に言語の切り替えが存在する場合であっても、エンドツーエンドASRシステムが正しく機能することを可能にする。
【0010】
本発明のいくつかの実施形態によれば、多言語音声認識ネットワークをトレーニングする方法は、所定の言語に対応する発話データセットを提供することと、言語識別(ID)ラベルを前記発話データセットに挿入することであって、前記発話データセットの各々は、前記言語IDラベルの各々によってラベル付けされることと、前記ラベル付けされた発話データセットを連結することと、前記発話データセットから初期ネットワークパラメータを生成することと、トレーニング結果が閾値に達するまで、一連の前記初期ネットワークパラメータ及び前記連結されたラベル付けされた発話データセットを用いてエンドツーエンドネットワークを反復的にトレーニングすることとを含む。
【0011】
さらに、本発明の一実施形態によれば、多言語音声認識を行う音声認識システムは、声音を受信するためのインターフェースと、1つ以上のプロセッサと、前記多言語音声認識ネットワークをトレーニングする方法によって得られた、トレーニングされたネットワークパラメータを用いることによってトレーニングされたエンドツーエンド音声認識モジュールを記憶する1つ以上の記憶デバイスであって、前記エンドツーエンド音声認識モジュールは、実行されると、前記1つ以上のプロセッサに、前記声音から変換されたオーディオ波形データから、音響特徴抽出モジュールを用いて音響特徴系列を抽出する動作と、前記音響特徴系列を、エンコーダネットワークパラメータを有するエンコーダネットワークを用いて隠れベクトル系列に符号化する動作と、前記隠れベクトル系列を、デコーダネットワークパラメータを有するデコーダネットワークにフィードすることによって、第1の出力ラベル系列確率を予測する動作と、コネクショニスト時系列分類(CTC)モジュールによって、CTCネットワークパラメータ、及び前記エンコーダネットワークからの前記隠れベクトル系列を用いて第2の出力ラベル系列確率を予測する動作と、ラベル系列探索モジュールを用いて、前記デコーダネットワーク及び前記CTCモジュールから提供された前記第1の出力ラベル系列確率及び前記第2の出力ラベル系列確率を組み合わせることによって、最も高い系列確率を有する出力ラベル系列を探索する動作とを含む動作を実行させる命令を含む、1つ以上の記憶デバイスとを備える。
【0012】
またさらに、本発明の一実施形態によれば、多言語音声認識のために、トレーニングされたネットワークパラメータを生成する多言語音声認識システムは、1つ以上のプロセッサと、パラメータ、及び前記1つ以上のプロセッサによって実行可能な命令を含むプログラムモジュールを記憶する1つ以上の記憶デバイスであって、前記命令は、実行されると、前記1つ以上のプロセッサに、所定の言語に対応する発話データセットを提供する動作と、言語識別(ID)ラベルを前記発話データセットに挿入する動作であって、前記発話データセットの各々は、前記言語IDラベルの各々によってラベル付けされる、動作と、前記ラベル付けされた発話データセットを連結する動作と、前記発話データセットから初期ネットワークパラメータを生成する動作と、所定の系列に従って前記初期ネットワークパラメータを選択する動作と、トレーニング結果が閾値に達するまで、一連の前記選択された初期ネットワークパラメータ及び前記連結されたラベル付けされた発話データセットを用いてエンドツーエンドネットワークを反復的にトレーニングする動作とを実行させる、1つ以上の記憶デバイスとを備える。
【0013】
ここに開示されている実施形態は、添付図面を参照して更に説明される。示されている図面は、必ずしも一律の縮尺というわけではなく、その代わり、一般的に、ここに開示されている実施形態の原理を示すことに重点が置かれている。
【図面の簡単な説明】
【0014】
【
図1】本発明の実施形態による多言語音声認識方法を示すブロック図である。
【
図2】本発明の実施形態による多言語エンドツーエンドネットワークを用いた音声認識モジュールを示すブロック図である。
【
図3】本発明の実施形態による多言語音声認識モジュールにおけるニューラルネットワークを示す概略図である。
【
図4】本発明の実施形態による多言語音声認識システムを示すブロック図である。
【
図5】本発明の実施形態による多言語音声認識モジュールにおけるニューラルネットワークを示す概略図である。
【
図6】本発明の実施形態による多言語音声認識モジュールをトレーニングするデータ準備手順を示す図である。
【
図7】本発明の実施形態による多言語音声認識による、文字誤り率を、発話における言語数の関数として示す評価結果を示す図である。
【
図8】本発明の実施形態による多言語音声認識の例示的な出力を示す図である。
【発明を実施するための形態】
【0015】
上記で明らかにされた図面は、ここに開示されている実施形態を記載しているが、この論述において言及されるように、他の実施形態も意図されている。この開示は、限定ではなく代表例として例示の実施形態を提示している。ここに開示されている実施形態の原理の範囲及び趣旨に含まれる非常に多くの他の変更及び実施形態を当業者は考案することができる。
【0016】
本発明の好ましい実施形態において、言語非依存ニューラルネットワークは、様々な言語の複数の音声コーパスを用いて構築される。
【0017】
ニューラルネットワークを用いて、話した発話の認識及び発話の言語の識別を同時に行うことができる。例えば、このニューラルネットワークを用いて、英語、日本語、標準中国語、ドイツ語、スペイン語、フランス語、イタリア語、オランダ語、ポルトガル語及びロシア語における発話を自動的にトランスクリプションし、同時に各発話の言語を識別することができる。本発明の実施形態に従って構築されたシステムに対し、人物が英語で「How are you?」と話す場合、システムは、テキストフォーマットで、「[EN] how are you?」を出力することができる。別の人物が同じシステムに対しフランス語で「comment allez-vous?」と話す場合、システムは、テキストフォーマットで、「[FR] comment allez-vous?」を出力することができる。[EN]及び[FR]は、それぞれ、英語及びフランス語に対応する言語IDラベルを表す。人物が英語及びフランス語でシステムに対し「How are you? comment allez-vous?」と話す場合、システムは、「[EN] how are you? [FR] comment allez-vous?」をテキストフォーマットで出力することができる。
【0018】
以下の説明は、例示的な実施形態のみを提供し、本開示の範囲も、適用範囲も、構成も限定することを意図していない。そうではなく、例示的な実施形態の以下の説明は1つ以上の例示的な実施形態を実施することを可能にする説明を当業者に提供する。添付の特許請求の範囲に明記されているような開示された主題の趣旨及び範囲から逸脱することなく要素の機能及び配置に行うことができる様々な変更が意図されている。
【0019】
以下の説明では、実施形態の十分な理解を提供するために、具体的な詳細が与えられる。しかしながら、当業者は、これらの具体的な詳細がなくても実施形態を実施することができることを理解することができる。例えば、開示された主題におけるシステム、プロセス、及び他の要素は、実施形態を不必要な詳細で不明瞭にしないように、ブロック図形式の構成要素として示される場合がある。それ以外の場合において、よく知られたプロセス、構造、及び技法は、実施形態を不明瞭にしないように不必要な詳細なしで示される場合がある。さらに、様々な図面における同様の参照符号及び名称は、同様の要素を示す。
【0020】
また、個々の実施形態は、フローチャート、フロー図、データフロー図、構造図、又はブロック図として描かれるプロセスとして説明される場合がある。フローチャートは、動作を逐次的なプロセスとして説明することができるが、これらの動作の多くは、並列又は同時に実行することができる。加えて、これらの動作の順序は、再配列することができる。プロセスは、その動作が完了したときに終了することができるが、論述されない又は図に含まれない追加のステップを有する場合がある。さらに、特に説明される任意のプロセスにおける全ての動作が全ての実施形態において行われ得るとは限らない。プロセスは、方法、関数、手順、サブルーチン、サブプログラム等に対応することができる。プロセスが関数に対応するとき、その関数の終了は、呼び出し側関数又はメイン関数へのその機能の復帰に対応することができる。
【0021】
さらに、開示された主題の実施形態は、少なくとも一部は手動又は自動のいずれかで実施することができる。手動実施又は自動実施は、マシン、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、又はそれらの任意の組み合わせを用いて実行することもできるし、少なくとも援助することができる。ソフトウェア、ファームウェア、ミドルウェア又はマイクロコードで実施されるとき、必要なタスクを実行するプログラムコード又はプログラムコードセグメントは、マシン可読媒体に記憶することができる。プロセッサ(複数の場合もある)が、それらの必要なタスクを実行することができる。
【0022】
本開示において例示されるモジュール及びネットワークは、コンピュータプログラム、ソフトウェア又は命令コードとすることができ、1つ以上のプロセッサを用いて命令を実行することができる。モジュール及びネットワークは1つ以上の記憶デバイスに記憶することができるか、又は別の状況では、例えば、磁気ディスク、光ディスク若しくはテープ等の、記憶媒体、コンピュータ記憶媒体又はデータ記憶デバイス(取外し可能及び/又は非取外し可能)等のコンピュータ可読媒体に記憶することができ、コンピュータ可読媒体は、命令を実行するために1つ以上のプロセッサからアクセス可能である。
【0023】
コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール又は他のデータ等の情報を記憶するための任意の方法又は技術において実現される揮発性及び不揮発性、取外し可能及び非取外し可能の媒体を含むことができる。コンピュータ記憶媒体は、RAM、ROM、EEPROM若しくはフラッシュメモリ、CD−ROM、デジタルバーサタイルディスク(DVD)若しくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置若しくは他の磁気記憶デバイス、又は所望の情報を記憶するために使用することができ、1つ以上のプロセッサを用いて、アプリケーション、モジュール又は両方によってアクセスすることができる任意の他の媒体とすることができる。任意のそのようなコンピュータ記憶媒体は、そのデバイスの一部とすることができるか、そのデバイスからアクセス可能とすることができるか、又はそのデバイスに接続可能とすることができる。本明細書において説明される任意のアプリケーション又はモジュールは、そのようなコンピュータ可読媒体によって記憶できるか、又は別の方法で保持できるコンピュータ可読/実行可能命令を用いて実現することができる。
【0024】
図1は、
図4における記憶装置430に記憶された多言語音声認識モジュール100を示す。多言語音声認識モジュール100は、言語ID挿入モジュール112、発話連結モジュール113、初期ネットワーク構築モジュール115、エンドツーエンドネットワークトレーニングモジュール117及びエンドツーエンド音声認識モジュール200等のプログラムモジュール(コンピュータ実行可能命令モジュール)を含むプロセッサ(ハードウェアプロセッサ)実行可能プログラムである。多言語音声認識モジュール100に含まれるプログラムモジュール112、113、115、117及び200は
図4にも示されている。さらに、記憶装置430は、以下で検討される、エンコーダネットワークモジュール202、注意デコーダネットワークモジュール204、CTCモジュール208及び音響特徴抽出モジュール434を含む。
【0025】
多言語音声認識モジュール100は、以下のステップに従って言語非依存ネットワークを構築する。
(1)初期ネットワーク構築モジュール115が、様々な言語の音声コーパス110を用いて、書記素集合及び言語IDの和集合として得られたユニバーサルラベル集合を用いて初期ネットワークパラメータ116を作成(生成)する。
(2)言語ID挿入モジュール112が、言語IDラベルを、様々な言語の音声コーパス110内の各発話のトランスクリプトに挿入する。
(3)発話連結モジュール113が、様々な言語の音声コーパス110から1つ以上の発話を選択し、これをランダムな順序で連結することによって発話を生成する。ここで、対応するトランスクリプトも、連結された発話と同じ順序で連結される。
(4)エンドツーエンドネットワークトレーニングモジュール117が、生成された発話及びトランスクリプトを用いて初期ネットワークパラメータ116を最適化し、トレーニングされたネットワークパラメータ118を出力する。
【0026】
いくつかの事例では、様々な言語の音声コーパス110は、音響データセット110と呼ぶことができる。さらに、本開示に示されるモジュール及びネットワークパラメータは、システム設計に従って単数又は複数の記憶装置に記憶することができ、モジュールは、
図4に示されるプロセッサ420によってコンピュータ(ハードウェアプロセッサ)実行可能プログラムである。プロセッサ420は、1つ以上の(ハードウェア)プロセッサ(コンピュータ)とすることができる。モジュールの各々は、単数又は複数のプロセッサを用いて実行されることによって、所定の単数又は複数のプロセスを実行する。
【0027】
トレーニングされたネットワークパラメータ118に記憶された言語非依存ネットワークを用いて、エンドツーエンド音声認識モジュール200は、音声及び音声入力の言語IDを同時に認識することができ、認識結果を出力する。
【0028】
図2は、本発明の実施形態によるエンドツーエンド音声認識モジュール200を示すブロック図である。
【0029】
エンドツーエンド音声認識モジュール200は、エンコーダネットワークモジュール202と、エンコーダネットワークパラメータ203と、注意デコーダモジュール204と、デコーダネットワークパラメータ205と、ラベル系列探索モジュール206と、CTCモジュール208と、CTCネットワークパラメータ209とを含む。エンコーダネットワークパラメータ203、デコーダネットワークパラメータ205、及びCTCネットワークパラメータ209は、対応するモジュール202、204、及び208にパラメータを提供する記憶デバイスにそれぞれ記憶される。
図4の音響特徴抽出モジュール434を用いて、オーディオ波形データ又はスペクトルデータから音響特徴系列201が抽出される。オーディオ波形データ又はスペクトルデータは、記憶デバイスに記憶し、エンコーダネットワークモジュール202に与えることができる。オーディオ波形データ又はスペクトルデータは、声音を受信し、オーディオ波形データ又はスペクトルデータに変換するデジタル信号処理モジュール(図示せず)を用いて、
図4の入力デバイス475を介して取得することができる。さらに、記憶デバイス430又はメモリ440に記憶されるオーディオ波形データ又はスペクトルデータは、エンコーダネットワークモジュール202に与えることができる。声音の信号は
図4のネットワーク490を介して与えることができ、入力デバイス475はマイクロフォンデバイスとすることができる。
【0030】
エンコーダネットワークモジュール202はエンコーダネットワークを含み、エンコーダネットワークパラメータ203からパラメータを読み出すエンコーダネットワークを用いて、音響特徴系列201が隠れベクトル系列に変換される。
【0031】
注意デコーダネットワークモジュール204を使用する注意機構が、以下のように説明される。注意デコーダネットワークモジュール204はデコーダネットワークを含む。注意デコーダネットワークモジュール204は、エンコーダネットワークモジュール202から隠れベクトル系列を、ラベル系列探索モジュール206から先行するラベルを受信し、その後、デコーダネットワークパラメータ205からパラメータを読み出すデコーダネットワークを用いて、先行するラベルに関する次のラベルの第1の事後確率分布を計算する。注意デコーダネットワークモジュール204は、第1の事後確率分布をラベル系列探索モジュール206に与える。CTCモジュール208は、エンコーダネットワークモジュール202から隠れベクトル系列を、ラベル系列探索モジュール206から先行するラベルを受信し、CTCネットワークパラメータ209及び動的計画法を用いて、次のラベル系列の第2の事後確率分布を計算する。この計算後、CTCモジュール208は、第2の事後確率分布をラベル系列探索モジュール206に与える。
【0032】
ラベル系列探索モジュール206は、注意デコーダネットワークモジュール204及びCTCモジュール208から与えられる第1の事後確率分布及び第2の事後確率分布を用いて、最も高い系列確率を有するラベル系列を見つける。注意デコーダネットワークモジュール204及びCTCモジュール208によって計算されるラベル系列の第1の事後確率分布及び第2の事後確率分布は結合され、1つの確率にされる。この場合、計算された事後確率の結合は、線形結合に基づいて実行することができる。エンドツーエンド音声認識モジュール200によれば、CTC確率を考慮に入れて、入力音響特徴系列に対してより良好なアライメントされた仮説を見つけることが可能になる。
【0033】
言語非依存エンドツーエンド音声認識のためのニューラルネットワークアーキテクチャ
エンドツーエンド音声認識は、入力音響特徴系列Xが与えられたときの最も確からしいラベル系列
【数1】
を見つける問題と一般に定義され、すなわち、
【数2】
である。ただし、U
*は所定のラベルの集合Uが与えられたときの取り得るラベル系列の集合を表す。ラベルは、文字又は単語とすることができる。ラベル系列確率p(Y|X)を、予めトレーニングされたニューラルネットワークを用いて計算することができる。
【0034】
本発明の実施形態において、言語非依存ニューラルネットワークは、フィードフォワードニューラルネットワーク(FFNN)、畳み込みニューラルネットワーク(CNN)及びリカレントニューラルネットワーク(RNN)等の様々なネットワークの組み合わせとすることができる。
【0035】
例えば、言語非依存ニューラルネットワークのために、ハイブリッド注意/CTCアーキテクチャを用いることができる。
図2は、ハイブリッド注意/CTCアーキテクチャを有する多言語エンドツーエンドネットワークを用いる音声認識モジュール200を示すブロック図であり、ラベル系列確率は以下のように計算される。
【0036】
エンコーダモジュール202は、
【数3】
として、音響特徴系列X=x
1,...,x
Tを隠れベクトル系列H=h
1,...,h
Tに変換するために使用されるエンコーダネットワークを含む。ただし、関数Encoder(X)は、スタックされる、1つ以上のリカレントニューラルネットワーク(RNN)からなることができる。RNNは長短期メモリ(LSTM)として実現することができ、長短期メモリは、各隠れユニット内に入力ゲート、忘却ゲート、出力ゲート及びメモリセルを有する。別のRNNは双方向RNN(BRNN)又は双方向LSTM(BLSTM)とすることができる。BLSTMは一対のLSTM RNNであり、一方は順方向LSTMであり、他方は逆方向LSTMである。BLSTMの隠れベクトルは、順方向LSTM及び逆方向LSTMの隠れベクトルの連結として取得される。
【0037】
順方向LSTMの場合、順方向の第tの隠れベクトル
【数4】
は以下のように計算される。
【数5】
ただし、σ(・)は要素ごとのシグモイド関数であり、tanh(・)は要素ごとの双曲線正接関数であり、
【数6】
、及び
【数7】
はそれぞれ、x
tに関する入力ゲートベクトル、忘却ゲートベクトル、出力ゲートベクトル及びセルアクティベーションベクトルである。
【数8】
はベクトル間の要素ごとの乗算を表す。重み行列
【数9】
及びバイアスベクトル
【数10】
はLSTMのパラメータであり、それらは下付き文字z∈{x,h,i,f,o,c}
によって識別される。例えば、
【数11】
は隠れ/入力ゲート行列であり、
【数12】
は入力/出力ゲート行列である。隠れベクトル
【数13】
は入力ベクトルx
t及び先行する隠れベクトル
【数14】
から再帰的に取得される。ただし、
【数15】
は零ベクトルであると仮定される。
【0038】
逆方向LSTMによれば、逆方向の第tの隠れベクトル
【数16】
は以下のように計算される。
【数17】
ただし、
【数18】
及び
【数19】
はそれぞれ、x
tに関する入力ゲートベクトル、忘却ゲートベクトル、出力ゲートベクトル及びセルアクティベーションベクトルである。重み行列
【数20】
及びバイアスベクトル
【数21】
はLSTMのパラメータであり、それらは順方向LSTMと同様にして下付き文字によって識別される。隠れベクトル
【数22】
は入力ベクトルx
t及び後続の隠れベクトル
【数23】
から再帰的に取得される。ただし、
【数24】
は零ベクトルであると仮定される。
【0039】
BLSTMの隠れベクトルは、以下のように、順方向隠れベクトル及び逆方向隠れベクトルを連結することによって取得される。
【数25】
ただし、Tは、全てのベクトルが列ベクトルであると仮定するときに、ベクトルに関する転置演算を表す。
【数26】
及び
【数27】
はBLSTMのパラメータとみなされる。
【0040】
より良好な隠れベクトルを取得するために、第1のBLSTMの隠れベクトルを第2のBLSTMに送り込み、その後、第2のBLSTMの隠れベクトルを第3のBLSTMに送り込み、以下同様にすることによって、複数のBLSTMをスタックすることができる。h
t’が1つのBLSTMによって取得された隠れベクトルである場合には、それを別のBLSTMに送り込むときに、x
t=h
t’であると仮定する。計算を削減するために、1つのBLSTMから別のBLSTMに1つおきの隠れベクトルのみを送り込むことができる。この場合、出力隠れベクトル系列の長さは、入力音響特徴系列の長さの半分になる。
【0041】
複数のBLSTMの下付き文字z∈{x,h,i,f,o,c}によって識別される全てのパラメータ
【数28】
及び
【数29】
は、エンコーダネットワークパラメータ203に記憶され、隠れベクトル系列Hを計算するために使用される。
【0042】
注意デコーダモジュール204は、隠れベクトル系列Hを用いて、ラベル系列確率p
att(Y|X)を計算するために使用されるデコーダネットワークを含む。YがL長のラベル系列y
1,y
2,...,y
Lであると仮定する。p
att(Y|X)を効率的に計算するために、その確率は、
【数30】
として確率連鎖律によって分解することができ、各ラベル確率p
att(y
l|y
1,...,y
l−1,X)はラベルにわたる確率分布から取得され、その確率分布は、
【数31】
としてデコーダネットワークを用いて推定される。ただし、yはラベルを表す確率変数であり、r
lはコンテンツベクトルと呼ばれ、それはHのコンテンツ情報を有する。q
l−1はデコーダ状態ベクトルであり、それは、先行するラベルy
1,...,y
l−1及び先行するコンテンツベクトルr
0,...,r
l−1の文脈情報を含む。したがって、ラベル確率は、文脈を与えられるとすると、y=y
lの確率として取得され、すなわち、
【数32】
である。
【0043】
コンテンツベクトルr
lは一般に、エンコーダネットワークの隠れベクトルの加重和として与えられ、すなわち、
【数33】
である。ただし、a
ltは注意重みと呼ばれ、それはΣ
ta
lt=1を満たす。注意重みはq
l−1及びHを用いて、以下のように計算することができる。
【数34】
ただし、W、V、F及びUは行列であり、w及びbはベクトルであり、それらはデコーダネットワークのトレーニング可能なパラメータである。e
ltは第(l−1)の状態ベクトルq
l−1と第tの隠れベクトルh
tとの間の照合スコアであり、時間的なアライメント分布a
l={a
lt|t=1,...,T}を形成する。a
l−1は、先行するラベルy
l−1を予測するために使用される先行するアライメント分布{a
(l−1)t|t=1,...,T}を表す。f
l={f
lt|t=1,...,T}は、a
l−1に関するFとの畳み込み結果であり、それは、先行するアライメントを現在のアライメントに反映させるために使用される。「*」は畳み込み演算を表す。
【0044】
ラベル確率分布は、
【数35】
として状態ベクトルq
l−1及びコンテンツベクトルr
lを用いて取得される。ただし、W
qy及びW
ryは行列であり、b
yはベクトルであり、それらはデコーダネットワークのトレーニング可能なパラメータである。softmax()関数は、K次元ベクトルvの場合に、
【数36】
として計算される。ただし、v[i]は、vの第iの要素を示す。
【0045】
その後、デコーダ状態ベクトルq
l−1が、以下のように、LSTMを用いて、q
lに更新される。
【数37】
ただし、
【数38】
及び
【数39】
はそれぞれ、入力ベクトルx
lに関する入力ゲートベクトル、忘却ゲートベクトル、出力ゲートベクトル及びセルアクティベーションベクトルである。重み行列
【数40】
及びバイアスベクトル
【数41】
はLSTMのパラメータであり、それは順方向LSTMと同様にして下付き文字によって識別される。状態ベクトルq
lは入力ベクトル
【数42】
及び先行する状態ベクトルq
l−1から再帰的に取得され、ただし、q
0は、q
−1=0、y
0=<sos>及びa
0=1/Tを仮定して計算される。デコーダネットワークの場合、入力ベクトル
【数43】
は、ラベルy
l及びコンテンツベクトルr
lの連結ベクトルとして与えられ、それは
【数44】
として取得することができ、ただし、Embed(・)は、ラベルを固定次元ベクトルに変換するラベル埋め込みを表す。例えば、これは、以下の式によって計算することができる。
【数45】
ただし、OneHot(y)は、ラベルインデックスをワンホットベクトル表現に変換するラベルyの1−of−Nコーディングを表す。
【数46】
は、行列であり、トレーニング可能なパラメータである。
【0046】
下付き文字z∈{x,h,i,f,o,c}によって識別される全てのパラメータ
【数47】
及び
【数48】
と、W
qy、W
ry、b
y、
【数49】
は、デコーダネットワークパラメータ205に記憶され、ラベル確率分布p
att(y|y
1,...,y
l−1,X)を計算するために使用される。
【0047】
CTCモジュール208は、隠れベクトル系列Hを与えられると、ラベル系列YのCTC順方向確率を計算する。CTC定式化は、異なるラベルの集合Uを有するL長のラベル系列Y={y
t∈U|l=1,...,L}を使用することに留意されたい。付加的な「ブランク」ラベルを有するフレームごとのラベル系列を導入することによって、Z={z
t∈U∪{b}|t=1,...,T}である。ただし、bはブランクラベルを表す。確率連鎖律と、条件付き独立仮定とを使用することによって、事後確率p(Y|X)は以下のように分解される。
【数50】
ただし、p(z
t|z
t−1|Y)はブランクラベルを含むラベル遷移確率とみなされる。p(z
t|X)は、入力系列Xを条件とし、双方向長短期メモリ(BLSTM)を使用することによってモデル化される、フレームごとの事後確率である。
【数51】
ただし、h
tはエンコーダネットワークを用いて得られる。
【数52】
は行列であり、
【数53】
はベクトルであり、それらはCTCのトレーニング可能なパラメータであり、CTCネットワークパラメータ209に記憶される。式(29)は、全ての取り得るZにわたる総和を取り扱わなければならないが、順方向アルゴリズムを使用することによって効率的に計算される。
【0048】
CTCのための順方向アルゴリズムは以下のように実行される。長さ2L+1の拡張ラベル系列Y’=y’
1,y’
2,...,y’
2L+1=b,y
1,b,y
2,...,b,y
L,bが使用される。ただし、ブランクラベル「b」が各対の隣接するラベル間に挿入される。α
t(s)を順方向確率とする。それは時間フレーム1,...,tに関するラベル系列y
1,...,y
lの事後確率を表し、ただし、sは、拡張ラベル系列Y’内の位置を示す。
【0049】
初期化のために、
【数54】
が設定される。t=2〜Tの場合に、α
t(s)は、
【数55】
として再帰的に計算される。ただし、
【数56】
である。最後に、CTCベースラベル系列確率が
【数57】
として得られる。
【0050】
フレームごとのラベル系列Zは、音響特徴系列Xと出力ラベル系列Yとの間のアライメントを表す。順方向確率を計算するとき、式(34)の再帰によって、Zが単調になるように強制し、アライメントZにおいてsがループ又は大きくジャンプできないようにする。なぜなら、α
t(s)を得るための再帰は、多くてもα
t(s)、α
t−1(s−1)、α
t−1(s−2)しか考慮しないためである。これは、時間フレームが1フレームだけ進むと、ラベルが先行するラベル又はブランクから変化するか、又は同じラベルを維持することを意味する。この制約は、アライメントが単調になるように強制する遷移確率p(z
t|z
t−1,Y)の役割を果たす。それゆえ、p
ctc(Y|X)が、不規則な(非単調の)アライメントに基づいて計算されるときに、0又は非常に小さい値とすることができる。
【0051】
最終的に、式(36)のCTCベース確率及び式(14)の注意ベース確率を対数領域において以下のように結合することによってラベル系列確率を得る。
【数58】
ここで、λは、0≦λ≦1となるようなスカラー重みであり、手動で求めることができる。
【0052】
図3は、本発明の実施形態による結合ニューラルネットワークモジュール300を示す概略図である。結合ニューラルネットワーク300は、エンコーダネットワークモジュール202と、注意デコーダネットワークモジュール204と、CTCモジュール208とを含む。各矢印は、変換を伴う、又は伴わないデータ転送を表し、各正方形ノード又は円形ノードは、ベクトル又は予測ラベルを表す。音響特徴系列X=x
1,...,x
Tが、エンコーダネットワークモジュール202に送り込まれ、エンコーダネットワークモジュールでは、2つのBLSTMがスタックされ、第1のBLSTMの1つおきの隠れベクトルが第2のBLSTMに送り込まれる。エンコーダモジュール202の出力の結果、隠れベクトル系列H=h’
1,h’
2,...,h’
T’が生成される。ただし、T’=T/2である。その後、HがCTCモジュール208及びデコーダネットワークモジュール204に送り込まれる。CTCベース系列確率及び注意ベース系列確率がそれぞれ、CTCモジュール208及び注意デコーダネットワークモジュール204を用いて計算され、ラベル系列確率を取得するために結合される。
【0053】
同時の言語識別及び音声認識
言語非依存エンドツーエンドシステムの主要な着想は、全てのターゲット言語に現れる文字集合の和集合を含む拡張文字集合を出力ラベルの集合とみなすことである。すなわち、U
union=U
EN∪U
JP∪...,であり、ここで、U
EN/JP/...は、特定の言語の文字集合である。この拡張文字集合を用いることによって、別個の言語識別モジュールを必要とすることなく、任意の言語について文字系列の尤度を計算することができる。ネットワークは、各発話のターゲット言語のための正しい文字系列を自動的に予測するようにトレーニングされる。和集合の使用は、言語ごとに一意の文字集合を用いることと対照的に、複数の言語において生じる出力シンボルの複製を排除し、低減された計算コストで、よりコンパクトなモデル表現をもたらす。言語非依存システムは、連続した多言語音声を与えられると、言語ID及び音声認識の予測を繰り返す。
【0054】
さらに、出力ラベルの集合を、言語IDを含むように更に拡張することによって、言語IDの予測をシステムの明確な部分にする。すなわち、U
final=U
union∪{[EN],[JP],...}がエンドツーエンド音声認識のためのラベルの集合Uとして用いられる。本発明の実施形態によれば、ネットワークは、まず、言語ID、k∈{[EN],[JP],...}を予測する。Y=y
1,...,y
Lは、Uにおける文字の系列であり、Xは音響特徴ベクトルの系列である、事後分布p(Y|X)の代わりに、システムは、言語ID、及び拡張系列Y’=(k,Y)の文字系列としての文字系列の同時分布p(k,Y|X)をモデル化する。ここで、y’
1=kであり、y’
l=y
l+1,∀l>1である。これは、以下のように確率連鎖律を用いることによって定式化される。
【数59】
【0055】
さらに、発話に複数の言語を含む場合、ネットワークが、全体を通じて複数の言語IDを出力することが可能になる。U
finalにおける文字の系列Y’=y’
1,...,y’
Lについて、言語IDである、Y’における文字
【数60】
のインデックスを、l
1,...,l
Nによって表す(すなわち、k
n∈{[EN],[JP],...})。ここで、システムは、言語ID及び文字の同時分布を以下のようにモデル化する。
【数61】
【0056】
これは、「[EN]how<space>are<space>you?[FR]comment<space>allez-vous?」等の、言語IDを含む言語混合文字系列の分布のモデル化と同じである。ここで、<space>は形式上、スペース文字を表す。
【0057】
ハイブリッド注意/CTCアーキテクチャを用いて、そのような言語混合文字系列をモデル化することができる。言語混合発話を認識するとき、ネットワークは、出力系列の言語を切り替えることができる。
図5は、ハイブリッド注意/CTCネットワークを用いた文字系列予測の例を示す。エンコーダネットワークは、日本語及び英語の音声からなる音響特徴を入力として取ることによって、隠れベクトル系列Hを計算する。この例では、x
1,...,x
5が日本語に対応し、x
6,...,x
Tが英語に対応すると仮定するが、実際の音響特徴系列には、言語を分離するインジケーターが存在しない。本発明の実施形態によれば、注意デコーダネットワークは、日本語文字系列が続く言語ID「[JP]」を予測することができ、第1の日本語文字系列を復号した後、ネットワークは、続く文字系列に一致する言語ID、ここでは[EN]を更に予測することができる。
【0058】
多言語音声認識のためのデータ生成
言語混合発話を予測するために、ハイブリッド注意/CTCネットワークが、そのような言語混合コーパスの集合を用いてトレーニングされる必要がある。しかしながら、同じ発話内に複数の言語が現れるそのような音声コーパスを十分な量収集することは非常に困難である。実際には、そのような発話を収集及びトランスクリプションすることは非常にコストが高く、時間がかかる。本発明の実施形態では、そのようなコーパスは、既に存在する言語依存コーパスの集合から人工的に生成される。
【0059】
複数のコーパス内の各発話が、文字の系列として対応するトランスクリプトを有すると仮定する。以後、
図1における本発明の実施形態に従って、そのような言語混合コーパスを生成する方法が説明される。第1に、言語ID挿入モジュール112は、言語依存コーパス内の各発話のトランスクリプトに言語IDを挿入する。言語IDは、各文字系列の先頭に位置することができる。次に、発話連結モジュール113は、以下で更に説明されるように、選択された発話のカバレッジ、及び言語推移の変動に注意を払いながら、言語依存コーパスから発話を選択する。次に、選択された発話(及びそれらのトランスクリプト)が連結され、生成されたコーパスにおいて単一の発話とみなされる。この手順は、生成されたコーパスの持続時間が、元のコーパスの和集合の持続時間に到達するまで繰り返される。
【0060】
図6は、生成手順の詳細を示す。第1に言語及び発話をサンプリングする確率を定義する。言語をサンプリングする確率は、元のコーパスの持続時間と比例し、データサイズによって生じる選択バイアスを緩和するために、定数項1/Nが付加される。本発明者らの実験では、連結する発話の最大数N
concatを3に設定する。1とN
concatとの間の各数n
concatについて、n
concat個の言語及び発話をそれらのサンプリング確率に基づいてサンプリングすることによって、元のコーパスからのn
concat個の発話からなる連結された発話を生成する。元のコーパスの適用範囲を最大にするために、トレーニングセットについて5に設定され、開発セット及び評価セットについて2に設定された最大使用カウントn
reuseを導入することによって、発話が過度に再利用されることを防ぐ。この手順を用いて、トレーニングセット、開発セット及び評価セットを生成する。
【0061】
トレーニング手順
エンドツーエンドネットワークトレーニングモジュール117において、損失関数
【数62】
の値を小さくするように、エンコーダネットワークパラメータ203、デコーダネットワークパラメータ205、及びCTCネットワークパラメータ209が同時に最適化される。ここで、X及びYは、音響特徴系列及びラベル系列を含むトレーニングデータである。本発明の実施形態によれば、トレーニングデータ(X,Y)は、
図1における言語ID挿入モジュール112及び発話連結モジュール113を用いて既存の言語依存コーパスから生成される。
【0062】
Θは、エンコーダネットワークパラメータ203、デコーダネットワークパラメータ205及びCTCネットワークパラメータ209を含むネットワークパラメータの集合を表す。Nは、トレーニングサンプルの数である。X
nは、Xにおける第nの音響特徴系列であり、Y
nは、Yにおける第nのラベル系列である。p
ctc(Y
n|X
n,Θ)は、パラメータ集合Θを用いて計算された、式(36)におけるCTCベースの系列確率であり、p
att(Y
n|X
n,Θ)は、パラメータ集合Θを用いて計算された、式(14)における注意ベースの系列確率である。
【0063】
ネットワークパラメータの集合Θは、確率的勾配降下法によって最適化することができる。第1に、初期ネットワーク構築モジュール115が、初期ネットワークパラメータ116を取得し、行列及びベクトルのサイズと、行列及びベクトルの各要素の初期値とが求められる。行列及びベクトルのサイズは、手作業で又は自動的に決定することができる。例えば、ラベル集合U
finalのサイズに依存する行列及びベクトルの場合、サイズは、ラベル集合サイズ|U
final|に従って求められる。例えば、行列W
qy及びW
ryの行数が|U
final|に等しい場合、式(21)においてベクトルb
yの次元数も|U
final|に等しいはずである。なぜなら、この数はラベル確率分布p
att(y|y
1,...,y
l−1,X)の次元と等しくなるはずであるためである。行列及びベクトルの各要素は、ランダム実数として設定することができる。様々な言語の元の音声コーパス110における一意の文字及び言語IDを取得することによって、U
finalが求められる。
【0064】
次に、エンドツーエンドネットワークトレーニングモジュール117は、パラメータ集合Θ内のエンコーダネットワークパラメータ、デコーダネットワークパラメータ及びCTCネットワークパラメータを同時に最適化する。勾配降下法に基づいて、パラメータ集合Θの各要素は、L(X,Y,Θ)が収束するまで、
【数63】
として繰り返し更新される。ここで、ηは学習速度である。
【0065】
X=X
1∪...∪X
M及びY=Y
1∪...∪Y
Mとなるように、X及びYをM個の小さな部分集合{X
m,Y
m}
m=1,...,Mに分割し、m=1,...,Mについて以下を繰り返すことによってパラメータを更新することも可能である。
【数64】
小さな部分集合を用いてパラメータを更新することによって、パラメータはより頻繁に更新され、損失関数はより迅速に収束する。
【0066】
本発明者らの実験では、2つのトレーニング手順を検討する。フラットスタート手順では、モデルは、生成されたコーパスのみをゼロから用いてトレーニングされる。再トレーニング手順では、モデルは、以下のように元のコーパス及び生成されたコーパスを用いて2つのステップでトレーニングされる。まず、言語切り替えのないトレーニングデータ(すなわち、元のコーパス)を用いてモデルをトレーニングし、次に、言語切り替えのあるデータ(生成されたコーパス)を用いてトレーニングを継続する。本発明者らは、以下の理由でこれらの2つのステップを検討する。第1に、言語切り替えのないデータによってトレーニングされたモデルは、言語切り替えのある、間違いなくより難易度の高いデータのトレーニングのための良好な開始点である。第2に、本発明者らは、低リソース言語の比を増大させるために、データ生成アルゴリズムが複製された発話を選択することを可能にした。しかしながら、この特性は、カバレッジの減少を引き起こす。2ステップトレーニングはこの問題を緩和する。
【0067】
ラベル系列探索
ラベル系列探索モジュール206は、組み合わされたラベル系列確率に従って、以下のように最も確からしいラベル系列
【数65】
を得る。
【数66】
ここで、p
ctc(Y|X)は、式(36)におけるCTCベースのラベル系列確率であり、p
att(Y|X)は、式(14)における注意ベースのラベル系列確率であり、本発明の実施形態によればU=U
finalである。
【0068】
しかしながら、あり得るラベル系列の数は系列の長さに対し指数関数的に増大するため、Yの全ての可能なラベル系列を列挙し、λ log p
ctc(Y|X)+(1−λ)log p
att(Y|X)を計算することは困難である。したがって、通例、ビーム探索技法を用いて
【数67】
が得られ、ビーム探索技法では、最初に、より短いラベル系列仮説が生成され、他よりも高いスコアを有する限られた数の仮説のみが、より長い仮説を得るように拡張される。最終的に、完全な仮説において、系列の末尾に到達した最良のラベル系列仮説が選択される。
【0069】
Ω
lを、長さlの部分的仮説の集合とする。ビーム探索の開始時に、Ω
0は、開始シンボル<sos>を有する1つのみの仮説を含む。l=1〜L
maxについて、Ω
l−1における各部分仮説は、あり得る単一のラベルを付加することによって拡張され、新たな仮説はΩ
lに記憶される。ここで、L
maxは、探索されることになる仮説の最大長である。
【0070】
各部分仮説hのスコアは以下のように計算される。
【数68】
ここで、ψ
att(h)は以下のように計算される。
【数69】
【0071】
ψ
ctc(h,X)を計算するために、自身のプレフィックスとしてhを有する全てのラベル系列の累積確率として定義されるCTCプレフィックス確率
【数70】
が利用され、CTCスコアは、
【数71】
と定義される。ただし、vは、空のストリングを除く、全ての取り得るラベル系列を表す。CTCスコアは、式(45)におけるψ
att(h)として再帰的に得ることはできないが、入力時間フレームにわたって順方向確率を維持することによって、部分仮説ごとに効率的に計算することができる。
【0072】
本発明の実施形態によれば、ラベル系列探索モジュール206は、
【数72】
を以下の手順に従って見つける。
【数73】
【0073】
この手順において、Ω
l及び
【数74】
は、それぞれ長さlの部分的仮説及び完全な仮説を受け入れるキューとして実施される。1行目〜2行目において、Ω
0及び
【数75】
が、空のキューとして初期化される。3行目において、初期仮説<sos>のためのスコアが0に設定される。4行目〜24行目において、Ω
l−1における各部分仮説gが、ラベル集合U∪{<eos>}内の各ラベルyによって拡張される。ここで、演算Head(Ω)は、キューΩにおける第1の仮説を返し、Dequeue(Ω)はキューから第1の仮説を除去する。
【0074】
各拡張された仮説hは、11行目において注意デコーダネットワークを用いてスコアリングされ、12行目においてCTCスコアと組み合わされる。その後、y=<eos>の場合、仮説hは、完全であると仮定され、14行目において、
【数76】
に記憶される。ここで、
【数77】
は、hを
【数78】
に加算する演算である。y≠<eos>の場合、hは16行目においてΩ
lに記憶される。ここで、Ω
lにおける仮説数、すなわち|Ω
l|は、17行目において所定の数beamWidthと比較される。|Ω
l|がbeamWidthを超える場合、Ω
lにおいて最小スコアh
minを有する仮説が18行目〜19行目においてΩ
lから除去され、ここで、Remove(Ω
l,h
min)は、h
minをΩ
lから除去する演算である。最終的に、25行目において、
【数79】
が最良仮説として選択される。
【0075】
CTCスコアψ
ctc(h,X)は、修正順方向アルゴリズムを用いて計算することができる。
【数80】
及び
【数81】
を時間フレームt=1,...,tにわたる仮説hの順方向確率であるとする。ただし、上付き文字(n)及び(b)はそれぞれ、全てのCTC経路が非ブランクラベル又はブランクラベルで終了する異なる事例を表す。ビーム探索を開始する前に、
【数82】
及び
【数83】
が、t=1,...,Tに関して、
【数84】
として初期化される。ただし、
【数85】
であり、bがブランクラベルであると仮定する。エンコーダに関するサブサンプリング技法のため、時間インデックスt及び入力長Tは入力発話Xの時間インデックス及び入力長とは異なる場合があることに留意されたい。CTCスコア関数は以下のように実施することができる。
【数86】
【0076】
この関数において、所与の仮説hが、1行目において、最初に、最後のラベルy及び残りのラベルgに分割される。yが<eos>である場合には、3行目において、hが完全な仮説であると仮定して、順方向確率の対数を返す。hの順方向確率は、
【数87】
及び
【数88】
の定義に従って、
【数89】
によって与えられる。yが<eos>でない場合には、hが完全な仮説でないと仮定して、順方向確率
【数90】
及び
【数91】
並びにプレフィックス確率Ψ=p
ctc(h,...|X)を計算する。それらの確率に関する初期化ステップ及び再帰ステップが5行目〜13行目に記述されている。この関数において、10行目〜12行目において
【数92】
及びΨを計算するときにはいつでも、gがhのプレフィックスであり、|g|<|h|であるので、9行目の確率
【数93】
及び
【数94】
がビーム探索プロセスを通して既に取得されていると仮定される。したがって、プレフィックス確率及び順方向確率を効率的に計算することができる。9行目のlast(g)は、gの最後のラベルを返す関数であることを留意されたい。
【0077】
多言語エンドツーエンド音声認識装置
図4は、本発明のいくつかの実施形態による、多言語エンドツーエンド音声認識システム400のブロック図を示す。エンドツーエンド音声認識システム400は、キーボード411及びポインティングデバイス/媒体412と接続可能なヒューマンマシンインターフェース(HMI)410と、1つ以上のプロセッサ420と、記憶デバイス430と、メモリ440と、ローカルエリアネットワーク及びインターネットネットワークを含むネットワーク490と接続可能なネットワークインターフェースコントローラー450(NIC)と、ディスプレイインターフェース460と、マイクロフォンデバイス475と接続可能なオーディオインターフェース470と、印刷デバイス485と接続可能なプリンターインターフェース480とを含む。メモリ440は1つ以上のメモリユニットとすることができる。エンドツーエンド音声認識システム400は、NIC450に接続されるネットワーク490を介して電気的なオーディオ波形/スペクトルデータ495を受信することができる。記憶デバイス430は、言語ID挿入モジュール112と、発話連結モジュール113と、初期ネットワーク構築モジュール115と、エンドツーエンドネットワークトレーニングモジュール117と、エンドツーエンド音声認識モジュール200と、エンコーダネットワークモジュール202と、注意デコーダネットワークモジュール204と、CTCモジュール208と、音響特徴抽出モジュール434とを備える。いくつかの場合、モジュール112、113、115、117、202、204及び208は、システム設計に依拠して、記憶装置430、メモリ440又は外部の取付け可能メモリ(図示せず)に独立して配置することができる。
【0078】
ラベル系列探索モジュール、エンコーダネットワークパラメータ、デコーダネットワークパラメータ及びCTCネットワークパラメータ等の他のプログラムモジュールについては、この図面において省略されている。さらに、ポインティングデバイス/媒体412は、コンピュータ可読記録媒体に記憶されるコンピュータ実行可能(プロセッサ実行可能)プログラムであるモジュールを含むことができる。注意デコーダネットワークモジュール204、エンコーダネットワークモジュール202及びCTCモジュール208は、ニューラルネットワークパラメータによって形成することができる。音響特徴抽出モジュール434は、音響特徴系列を抽出するために使用されるプログラムモジュールである。音響特徴系列は、一次及び二次時間導関数及び/又はピッチ特徴を伴うメルスケールフィルターバンク係数の系列とすることができる。
【0079】
エンドツーエンド音声認識を実行するために、キーボード411、ポインティングデバイス/媒体412を用いて、又は他のコンピュータ(図示せず)に接続されているネットワーク490を介して、エンドツーエンド音声認識システム400に命令を送信することができる。システム400は、HMI410を介して命令を受信し、記憶デバイス430に記憶されているエンドツーエンド音声認識モジュール200、注意デコーダネットワークモジュール204、エンコーダネットワークモジュール202、CTCモジュール208及び音響特徴抽出モジュール434をロードすることによって、メモリ440に関連するプロセッサ420を用いてエンドツーエンド音声認識を実行するための命令を実行する。
【0080】
実験
元のコーパスは、WSJ、CSJ(Maekawa他、2000)、HKUST(Liu他、2006)及びVoxforge(ドイツ語、スペイン語、フランス語、イタリア語、オランダ語、ポルトガル語、ロシア語)(「VoxForge」n.d.)に基づく。
【0081】
本発明者らは、ハイブリッド注意/CTCネットワークアーキテクチャを用いて言語依存のエンドツーエンドシステム及び言語非依存のエンドツーエンドシステムを構築した。言語依存モデルは、4層BLSTMエンコーダネットワークを用いるのに対し、言語非依存モデルは、ディープ7層BLSTMエンコーダネットワーク等のディープBLSTMエンコーダネットワークを有する。BLSTMエンコーダネットワーク内の層数は7層に限定されない。いくつかの場合、システム設計によれば、層数は2以上であってもよい。本発明者らは、3次元ピッチ特徴と連結された80次元Melフィルターバンク特徴を用いた。言語非依存モデルの場合、CTCベース及び注意ベースの双方の分岐における最終的なsoftmax層は、5520次元を有した(すなわち、|U
final|=5520)。
【0082】
英語の場合、WSJコーパスにおける比較的長い文を扱うために、WSJテキストコーパスに頻繁に現れる最大で5−gramの文字系列に対応するトークンを追加することによって、アルファベット文字集合を201に拡張する。これにより、計算コスト及びGPUメモリ使用を低減するために、出力長Lは短くなる。
【0083】
言語ごとに、言語依存のASRモデルをトレーニングした。ここで、最終softmax層の次元は、その言語のための別個の文字/トークンの数に設定された。本文書は、エンドツーエンドASRコンセプトに厳密に従い、発音辞書、単語ベースの言語モデル、GMM/HMM、又はDNN/HMMをいずれも使用しなかった。本発明者らのハイブリッド注意/CTCアーキテクチャは、Chainer(Tokui他、2015)を用いて実施された。
【0084】
結果
図7は、言語切り替えを含む多言語評価セットにおけるトレーニングされた言語依存エンドツーエンドASRシステム及び言語非依存エンドツーエンドASRシステムの文字誤り率(CER)を示す。CERは、10言語にわたって平均を取られ、各発話における言語数に依拠して別個に示される。
【0085】
各発話に1つのみの言語を含む事例(すなわち、言語切り替えなし)では、言語非依存モデルは、言語依存モデルよりも大幅に性能が上回った。言語数が2又は3であるとき、言語切り替えデータでトレーニングされた言語非依存モデルは、2言語の事例について、31.5%から21.3%まで、3言語の事例について、38.6%から20.8%までCERを低減させた。フラットスタート言語非依存モデルを再トレーニングすることによって、更なるCER低減を得た。すなわち、CERは全ての事例について、それぞれ結果として19.4%、19.3%及び18.6%となった。
【0086】
したがって、言語非依存ASRは、CERの低減に成功し、言語切り替えデータを用いてトレーニングされたモデルは、復号プロセス中に言語間で適切に切り替えることが可能である。
【0087】
また、本発明者らは、言語切り替えデータを用いて再トレーニングされた言語非依存モデルを用いて得られた認識結果から言語IDを抽出することによって、言語ID誤り率を計算した。各発話に1つのみの言語を含む事例では、言語ID誤り率は2.0%であった。各発話に1つ〜3つの言語を含む事例では、ID誤り率は8.5%であった。このため、本発明は、僅かな数の誤りで多言語音声及び言語IDを同時に認識することができる。
【0088】
図8は、本発明によるモデルによって生成されるトランスクリプション例を示す。発話は、日本語、英語及びオランダ語からなる。言語切り替えのないモデルは、正しい言語IDも、日本語文字集合の使用も予測することができない。言語切り替えのあるモデルが、低CERで多言語音声を認識したことを観測することができる。
【0089】
本開示のいくつかの実施形態において、上記のエンドツーエンド音声認識システムがコンピュータシステム内にインストールされるときに、少ない計算能力で音声認識を実効的、かつ正確に実行することができ、それゆえ、本開示のエンドツーエンド音声認識方法又はシステムを使用することにより、中央処理ユニット使用量及び電力消費量を削減することができる。
【0090】
さらに、本開示による実施形態は、エンドツーエンド音声認識を実行する実効的な方法を提供し、それゆえ、そのエンドツーエンド音声認識モデルを使用する方法及びシステムを使用することによって、中央処理ユニット(CPU)使用量、電力消費量及び/又はネットワーク帯域幅使用量を削減することができる。
【0091】
本開示の上記で説明した実施形態は、多数の方法のうちの任意のもので実施することができる。例えば、実施形態は、ハードウェア、ソフトウェア又はそれらの組み合わせを用いて実施することができる。ソフトウェアで実施される場合、ソフトウェアコードは、単一のコンピュータに設けられるのか又は複数のコンピュータ間に分散されるのかにかかわらず、任意の適したプロセッサ又はプロセッサの集合体において実行することができる。そのようなプロセッサは、1つ以上のプロセッサを集積回路部品に有する集積回路として実装することができる。ただし、プロセッサは、任意の適したフォーマットの回路類を用いて実装することができる。
【0092】
また、本明細書において略述された様々な方法又はプロセスは、様々なオペレーティングシステム又はプラットフォームのうちの任意の1つを用いる1つ以上のプロセッサ上で実行可能なソフトウェアとしてコード化することができる。加えて、そのようなソフトウェアは、複数の適したプログラミング言語及び/又はプログラミングツール若しくはスクリプティングツールのうちの任意のものを用いて記述することができ、実行可能機械語コード、又はフレームワーク若しくは仮想機械上で実行される中間コードとしてコンパイルすることもできる。通常、プログラムモジュールの機能は、様々な実施形態において所望に応じて組み合わせることもできるし、分散させることもできる。
【0093】
さらに、本開示の実施形態は、方法として具現化することができ、この方法の一例が提供されている。この方法の一部として実行される動作は、任意の適した方法で順序付けることができる。したがって、例示したものと異なる順序で動作が実行される実施形態を構築することができ、この順序は、いくつかの動作が例示の実施形態では順次的な動作として示されていても、それらの動作を同時に実行することを含むことができる。さらに、請求項の要素を修飾する、特許請求の範囲における第1、第2等の序数の使用は、それ自体で、1つの請求項の要素の別の請求項の要素に対する優先順位も、優位性も、順序も暗示するものでもなければ、方法の動作が実行される時間的な順序も暗示するものでもなく、請求項の要素を区別するために、単に、或る特定の名称を有する1つの請求項の要素を、同じ(序数の用語の使用を除く)名称を有する別の要素と区別するラベルとして用いられているにすぎない。
【手続補正書】
【提出日】2020年4月1日
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
多言語音声認識ネットワークをトレーニングする方法であって、
所定の言語に対応する発話データセットを提供することと、
言語識別(ID)ラベルを前記発話データセットに挿入することであって、前記発話データセットの各々は、前記言語IDラベルの各々によってラベル付けされ、言語IDラベルが、様々な言語の音声コーパスにおける各発話データセットのトランスクリプトに挿入されることと、
前記ラベル付けされた発話データセットをランダムな順序で連結することであって、対応するトランスクリプトも、前記連結された発話データセットと同じ順序で連結されることと、
前記発話データセットから初期ネットワークパラメータを生成することであって、前記初期ネットワークパラメータは、書記素集合及び言語IDの和集合として得られたユニバーサルラベル集合を用いて生成されることと、
トレーニング結果が閾値に達するまで、一連の前記初期ネットワークパラメータ及び前記連結されたラベル付けされた発話データセットを用いてエンドツーエンドネットワークを反復的にトレーニングすることであって、前記エンドツーエンドネットワークをトレーニングすることは、前記連結された発話データセット及び前記トランスクリプトを用いて前記初期ネットワークパラメータを最適化することを含むことと、
を含む、方法。
【請求項2】
前記発話データセットの各々は、音響データセットと、前記音響データセットに対応するグランドトゥルースラベルとの対を含む、請求項1に記載の方法。
【請求項3】
前記エンドツーエンドネットワークは言語非依存モデルである、請求項1に記載の方法。
【請求項4】
前記言語非依存モデルは、ディープBLSTMエンコーダネットワークを用いる、請求項3に記載の方法。
【請求項5】
前記ディープBLSTMエンコーダネットワークにおける層の数は7以上である、請求項4に記載の方法。
【請求項6】
前記IDラベルは、配列規則に従って前記発話データセットに対し配列される、請求項1に記載の方法。
【請求項7】
前記配列規則により、前記IDラベルの各々が前記発話データセットの各々の先頭位置に追加される、請求項6に記載の方法。
【請求項8】
前記トレーニング結果が前記閾値に到達すると、トレーニングされたネットワークパラメータを生成することを更に含む、請求項1に記載の方法。
【請求項9】
前記エンドツーエンドネットワークは、所定の方法に基づいて、前記一連の初期ネットワークパラメータと、前記連結されたラベル付けされた発話データセットとを同時に最適化する、請求項1に記載の方法。
【請求項10】
多言語音声認識のために、トレーニングされたネットワークパラメータを生成する多言語音声認識システムであって、
1つ以上のプロセッサと、
パラメータ、及び前記1つ以上のプロセッサによって実行可能な命令を含むプログラムモジュールを記憶する1つ以上の記憶デバイスであって、前記命令は、実行されると、前記1つ以上のプロセッサに、
所定の言語に対応する発話データセットを提供する動作と、
言語識別(ID)ラベルを前記発話データセットに挿入する動作であって、前記発話データセットの各々は、前記言語IDラベルの各々によってラベル付けされ、言語IDラベルが、様々な言語の音声コーパスにおける各発話データセットのトランスクリプトに挿入される、動作と、
前記ラベル付けされた発話データセットをランダムな順序で連結する動作であって、前記対応するトランスクリプトも、前記連結された発話データセットと同じ順序で連結される、動作と、
前記発話データセットから初期ネットワークパラメータを生成する動作であって、前記初期ネットワークパラメータは、書記素集合及び言語IDの和集合として得られたユニバーサルラベル集合を用いて生成される、動作と、
所定の系列に従って前記初期ネットワークパラメータを選択する動作と、
トレーニング結果が閾値に達するまで、一連の前記選択された初期ネットワークパラメータ及び前記連結されたラベル付けされた発話データセットを用いてエンドツーエンドネットワークを反復的にトレーニングする動作であって、前記エンドツーエンドネットワークをトレーニングすることは、前記連結された発話データセット及び前記トランスクリプトを用いて前記初期ネットワークパラメータを最適化することを含む、動作と、
を実行させる、1つ以上の記憶デバイスと、
を備える、システム。
【請求項11】
前記発話データセットの各々は、音響データセットと、前記音響データセットに対応するグランドトゥルースラベルとの対を含む、請求項10に記載のシステム。
【請求項12】
前記エンドツーエンドネットワークは言語非依存モデルである、請求項10に記載のシステム。
【請求項13】
前記言語非依存モデルは、ディープBLSTMエンコーダネットワークを用いる、請求項12に記載のシステム。
【請求項14】
前記ディープBLSTMエンコーダネットワークにおける層の数は7以上である、請求項13に記載のシステム。
【請求項15】
前記IDラベルは、配列規則に従って前記発話データセットに対し配列される、請求項10に記載のシステム。
【請求項16】
前記配列規則により、前記IDラベルの各々が前記発話データセットの各々の先頭位置に追加される、請求項15に記載のシステム。
【請求項17】
前記1つ以上のプロセッサによって実行可能な前記命令は、実行されると、前記1つ以上のプロセッサに、
前記トレーニング結果が前記閾値に到達すると、トレーニングされたネットワークパラメータを生成する動作を更に実行させる、請求項10に記載のシステム。
【国際調査報告】