IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

特許7557007エンドツーエンドモデルによる単語タイミングの発出
<>
  • 特許-エンドツーエンドモデルによる単語タイミングの発出 図1A
  • 特許-エンドツーエンドモデルによる単語タイミングの発出 図1B
  • 特許-エンドツーエンドモデルによる単語タイミングの発出 図1C
  • 特許-エンドツーエンドモデルによる単語タイミングの発出 図2
  • 特許-エンドツーエンドモデルによる単語タイミングの発出 図3A
  • 特許-エンドツーエンドモデルによる単語タイミングの発出 図3B
  • 特許-エンドツーエンドモデルによる単語タイミングの発出 図4
  • 特許-エンドツーエンドモデルによる単語タイミングの発出 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-17
(45)【発行日】2024-09-26
(54)【発明の名称】エンドツーエンドモデルによる単語タイミングの発出
(51)【国際特許分類】
   G10L 15/16 20060101AFI20240918BHJP
   G10L 15/04 20130101ALI20240918BHJP
【FI】
G10L15/16
G10L15/04 200
【請求項の数】 20
【外国語出願】
(21)【出願番号】P 2023084811
(22)【出願日】2023-05-23
(62)【分割の表示】P 2022567384の分割
【原出願日】2021-03-17
(65)【公開番号】P2023109914
(43)【公開日】2023-08-08
【審査請求日】2023-06-01
(31)【優先権主張番号】63/021,660
(32)【優先日】2020-05-07
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】タラ・エヌ・サイナス
(72)【発明者】
【氏名】バシリオ・カスティーロ・ガルシア
(72)【発明者】
【氏名】デイヴィッド・リーバッハ
(72)【発明者】
【氏名】トレヴァー・ストローマン
(72)【発明者】
【氏名】ルオミン・パン
【審査官】中村 天真
(56)【参考文献】
【文献】特表2020-505650(JP,A)
【文献】国際公開第2020/247489(WO,A1)
【文献】国際公開第2010/146869(WO,A1)
【文献】Tara N. Sainath et al.,Emitting Word Timings with End-to-End Models,Proc. Interspeech 2020,2020年10月,p.3615-3619
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/00-15/34
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
データ処理ハードウェア上で実行されると、前記データ処理ハードウェアに動作を実行させる、コンピュータ実装方法であって、前記動作が、
口頭発話を特徴付けるオーディオデータを受信することと、
前記オーディオデータをオーディオエンコーディングのシーケンスに符号化することと、
2パスニューラルネットワークモデルの第2のパスデコーダを使用して、前記口頭発話の1つまたは複数の単語のトランスクリプションを形成する単語ピースのシーケンスを生成するために、オーディオエンコーディングの前記シーケンスを処理することと、
前記口頭発話の前記1つまたは複数の単語の前記トランスクリプション中のそれぞれの単語について、前記それぞれの単語の開始単語ピースのための第1の制約付きアライメントと、前記それぞれの単語の終了単語ピースのための第2の制約付きアライメントとを生成することと、
前記トランスクリプション中のそれぞれの単語について、前記第1の制約付きアライメントおよび前記第2の制約付きアライメントに基づいて、前記2パスニューラルネットワークモデルの前記第2のパスデコーダのアテンションヘッドを制約することと、
前記第2のパスデコーダの前記制約されたアテンションヘッドを使用して、前記口頭発話の前記1つまたは複数の単語の前記トランスクリプション中のそれぞれの単語について、実際の単語タイミングを決定することと
を含む、コンピュータ実装方法。
【請求項2】
前記動作は、
前記2パスニューラルネットワークモデルの第1のパスデコーダを使用して、前記口頭発話について、複数のストリーミング音声認識仮説を生成するために、オーディオエンコーディングの前記シーケンスを処理することをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記2パスニューラルネットワークモデルの前記第2のパスデコーダを使用して、単語ピースの前記シーケンスを生成するために、オーディオエンコーディングの前記シーケンスを処理することは、
前記口頭発話の1つまたは複数の単語の前記トランスクリプションを形成する単語ピースの前記シーケンスを生成するために、オーディオエンコーディングの前記シーケンスと、前記複数のストリーミング音声認識仮説の中での上位K個の音声認識仮説とを処理することを含む、請求項2に記載のコンピュータ実装方法。
【請求項4】
単語ピースの前記シーケンスを生成するために、オーディオエンコーディングの前記シーケンスを処理するとき、前記2パスニューラルネットワークモデルの前記第2のパスデコーダは、前記複数のストリーミング音声認識仮説を無視する、請求項2に記載のコンピュータ実装方法。
【請求項5】
前記第1のパスデコーダは、予測ネットワークと、共同ネットワークとを備える、請求項2に記載のコンピュータ実装方法。
【請求項6】
前記2パスニューラルネットワークモデルの前記第1のパスデコーダは、リカレントニューラルネットワークトランスデューサ(RNN-T)デコーダを備え、
前記2パスニューラルネットワークモデルの前記第2のパスデコーダは、リッスンアテンドスペル(LAS)デコーダを備える、請求項2に記載のコンピュータ実装方法。
【請求項7】
前記データ処理ハードウェアは、ストリーミングオーディオ中の前記口頭発話をキャプチャするユーザデバイス上に存在する、請求項1に記載のコンピュータ実装方法。
【請求項8】
前記動作は、
前記データ処理ハードウェアと通信するスクリーン上に、前記口頭発話の1つまたは複数の単語の前記トランスクリプションを表示することをさらに含み、
前記トランスクリプションは、前記トランスクリプション中のそれぞれの単語について決定された前記実際の単語タイミングで注釈付けされる、請求項1に記載のコンピュータ実装方法。
【請求項9】
前記第2のパスデコーダが、複数のアテンションヘッドを備える、請求項1に記載のコンピュータ実装方法。
【請求項10】
前記アテンションヘッドを制約することが、前記第2のパスデコーダの前記アテンションヘッドから導出されたアテンション確率を制約することを含む、請求項1に記載のコンピュータ実装方法。
【請求項11】
システムであって、
データ処理ハードウェアと、
前記データ処理ハードウェアと通信しているメモリハードウェアと
を備え、前記メモリハードウェアが、前記データ処理ハードウェア上で実行されると、前記データ処理ハードウェアに動作を実行させる命令を記憶し、前記動作が、
口頭発話を特徴付けるオーディオデータを受信することと、
前記オーディオデータをオーディオエンコーディングのシーケンスに符号化することと、
2パスニューラルネットワークモデルの第2のパスデコーダを使用して、前記口頭発話の1つまたは複数の単語のトランスクリプションを形成する単語ピースのシーケンスを生成するために、オーディオエンコーディングの前記シーケンスを処理することと、
前記口頭発話の前記1つまたは複数の単語の前記トランスクリプション中のそれぞれの単語について、前記それぞれの単語の開始単語ピースのための第1の制約付きアライメントと、前記それぞれの単語の終了単語ピースのための第2の制約付きアライメントとを生成することと、
前記トランスクリプション中のそれぞれの単語について、前記第1の制約付きアライメントおよび前記第2の制約付きアライメントに基づいて、前記2パスニューラルネットワークモデルの前記第2のパスデコーダのアテンションヘッドを制約することと、
前記第2のパスデコーダの前記制約されたアテンションヘッドを使用して、前記口頭発話の前記1つまたは複数の単語の前記トランスクリプション中のそれぞれの単語について、実際の単語タイミングを決定することと
を含む、システム。
【請求項12】
前記動作は、
前記2パスニューラルネットワークモデルの第1のパスデコーダを使用して、前記口頭発話について、複数のストリーミング音声認識仮説を生成するために、オーディオエンコーディングの前記シーケンスを処理することをさらに含む、請求項11に記載のシステム。
【請求項13】
前記2パスニューラルネットワークモデルの前記第2のパスデコーダを使用して、単語ピースの前記シーケンスを生成するために、オーディオエンコーディングの前記シーケンスを処理することは、
前記口頭発話の1つまたは複数の単語の前記トランスクリプションを形成する単語ピースの前記シーケンスを生成するために、オーディオエンコーディングの前記シーケンスと、前記複数のストリーミング音声認識仮説の中での上位K個の音声認識仮説とを処理することを含む、請求項12に記載のシステム。
【請求項14】
単語ピースの前記シーケンスを生成するために、オーディオエンコーディングの前記シーケンスを処理するとき、前記2パスニューラルネットワークモデルの前記第2のパスデコーダは、前記複数のストリーミング音声認識仮説を無視する、請求項12に記載のシステム。
【請求項15】
前記第1のパスデコーダは、予測ネットワークと、共同ネットワークとを備える、請求項12に記載のシステム。
【請求項16】
前記2パスニューラルネットワークモデルの前記第1のパスデコーダは、リカレントニューラルネットワークトランスデューサ(RNN-T)デコーダを備え、
前記2パスニューラルネットワークモデルの前記第2のパスデコーダは、リッスンアテンドスペル(LAS)デコーダを備える、請求項12に記載のシステム。
【請求項17】
前記データ処理ハードウェアは、ストリーミングオーディオ中の前記口頭発話をキャプチャするユーザデバイス上に存在する、請求項11に記載のシステム。
【請求項18】
前記動作は、
前記データ処理ハードウェアと通信するスクリーン上に、前記口頭発話の1つまたは複数の単語の前記トランスクリプションを表示することをさらに含み、
前記トランスクリプションは、前記トランスクリプション中のそれぞれの単語について決定された前記実際の単語タイミングで注釈付けされる、請求項11に記載のシステム。
【請求項19】
前記第2のパスデコーダが、複数のアテンションヘッドを備える、請求項11に記載のシステム。
【請求項20】
前記アテンションヘッドを制約することが、前記第2のパスデコーダの前記アテンションヘッドから導出されたアテンション確率を制約することを含む、請求項11に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、2パスエンドツーエンド音声認識に関する。
【背景技術】
【0002】
現代の自動音声認識(ASR)システムは、高品質(たとえば、低い単語誤り率(WER))のみでなく、低レイテンシ(たとえば、ユーザの発話とトランスクリプションの出現との間の短い遅延)も提供することに焦点を合わせている。その上、今日、ASRシステムを使用しているとき、ASRシステムが、リアルタイムに対応するストリーミング様式で、またはさらにはリアルタイムよりも速く、発話をデコードすることが要求されている。例示のために、ASRシステムが、直接的なユーザ対話性を受けるモバイルフォン上に展開されるとき、ASRシステムを使用するモバイルフォン上のアプリケーションは、単語が話されるとすぐにスクリーン上に現れるように、音声認識がストリーミングであることを必要とし得る。ここで、モバイルフォンのユーザは、レイテンシに対する忍耐力が低い可能性もある。この低い忍耐力のために、音声認識は、ユーザのエクスペリエンスに悪影響を及ぼし得るレイテンシおよび不正確さの影響を最小限に抑える方法で、モバイルデバイス上で実行するように努力する。
【発明の概要】
【課題を解決するための手段】
【0003】
本開示の一態様は、データ処理ハードウェア上で実行されると、データ処理ハードウェアに動作を実行させる、コンピュータ実装方法を提供し、動作が、2パスニューラルネットワークモデルの第2のパスデコーダのためのトレーニング例を受信することを含む。トレーニング例は、1つまたは複数の単語の口頭発話を表すオーディオデータと、口頭発話の対応するグランドトゥルーストランスクリプション(ground truth transcription)とを含む。口頭発話中の各単語について、動作はまた、それぞれの単語の前にプレースホルダーシンボルを挿入すること、それぞれの単語の開始およびそれぞれの単語の終了のための、それぞれのグランドトゥルースアライメント(ground truth alignment)を識別すること、それぞれの単語の開始単語ピース(word piece)と、それぞれの単語の終了単語ピースとを決定すること、ならびに、それぞれの単語の開始単語ピースのための第1の制約付きアライメント(constrained alignment)と、それぞれの単語の終了単語ピースのための第2の制約付きアライメントとを生成することを含む。第1の制約付きアライメントが、それぞれの単語の開始のためのグランドトゥルースアライメントと整合され、第2の制約付きアライメントが、それぞれの単語の終了のためのグランドトゥルースアライメントと整合される。動作はまた、トレーニング例の各単語のための第1の制約付きアライメントおよび第2の制約付きアライメントのすべてを含む、トレーニング例を適用することによって、2パスニューラルネットワークモデルの第2のパスデコーダのアテンションヘッドを制約することも含む。
【0004】
本開示の実装形態は、以下の任意の特徴のうちの1つまたは複数を含み得る。いくつかの実装形態では、動作は、トレーニング例において第2のパスデコーダをトレーニングする間に、トレーニング例の部分のための予想アテンション確率を識別すること、制約されたアテンションヘッドが、予想アテンション確率にマッチすることに失敗する、トレーニング例の部分のうちの少なくとも1つのためのアテンション確率を生成すると決定すること、および制約されたアテンションヘッドにトレーニングペナルティを適用することをさらに含む。これらの実装形態では、トレーニング例の部分のうちの少なくとも1つのためのアテンション確率が、第1の制約付きアライメントまたは第2の制約付きアライメントのいずれかに対応する時間に発生し得る。一方、トレーニング例の部分のうちの少なくとも1つのためのアテンション確率が、場合によっては、第1の制約付きアライメントにも第2の制約付きアライメントにも対応しない時間に発生し得る。
【0005】
開始単語ピースおよび終了単語ピースは、それぞれの単語のための同じ単語ピースを含み得るが、第2のパスデコーダは、複数のアテンションヘッドを含み得る。いくつかの例では、アテンションヘッドを制約することは、第2のパスデコーダのアテンションヘッドから導出されたアテンション確率を制約することを含む。各それぞれの制約付きアライメントは、それぞれのグランドトゥルースアライメントについてのタイミングバッファを含み得る。ここで、タイミングバッファは、第1の制約付きアライメントおよび第2の制約付きアライメントの各々を、それぞれのグランドトゥルースアライメントの前の第1の時間期間と、それぞれのグランドトゥルースアライメントの後の第2の時間期間とを含む、時間間隔に制約する。
【0006】
いくつかの例では、動作は、トレーニング例において第2のパスデコーダをトレーニングする間に、制約されたアテンションヘッドが、第1の制約付きアライメントおよび第2の制約付きアライメントに対応する境界の外側で、非ゼロのアテンション確率を生成すると決定すること、ならびに制約されたアテンションヘッドにトレーニングペナルティを適用することをさらに含む。追加または代替として、動作は、トレーニング例において第2のパスデコーダをトレーニングする間に、制約されたアテンションヘッドのためのアテンション損失を最小限に抑えること、および第2のパスデコーダのための交差エントロピー損失を最小限に抑えることをさらに含み得る。トレーニング例においてトレーニングされた第2のパスデコーダを使用しながら、2パスニューラルネットワークの実行中に、いくつかの追加の例では、動作は、発話のオーディオデータを受信すること、第2のパスデコーダの制約されたアテンションヘッドにおける最大確率に対応する時間を決定すること、および、第2のパスデコーダの制約されたアテンションヘッドにおける最大確率に対応する決定された時間のための、単語開始時間または単語終了時間を生成することをさらに含む。
【0007】
本開示の別の態様は、データ処理ハードウェアと、データ処理ハードウェアと通信しているメモリハードウェアとを含む、システムを提供する。メモリハードウェアは、データ処理ハードウェアによって実行されると、データ処理ハードウェアに動作を実行させる命令を記憶し、動作が、2パスニューラルネットワークモデルの第2のパスデコーダのためのトレーニング例を受信することを含む。トレーニング例は、1つまたは複数の単語の口頭発話を表すオーディオデータと、口頭発話の対応するグランドトゥルーストランスクリプションとを含む。口頭発話中の各単語について、動作はまた、それぞれの単語の前にプレースホルダーシンボルを挿入すること、それぞれの単語の開始およびそれぞれの単語の終了のための、それぞれのグランドトゥルースアライメントを識別すること、それぞれの単語の開始単語ピースと、それぞれの単語の終了単語ピースとを決定すること、ならびに、それぞれの単語の開始単語ピースのための第1の制約付きアライメントと、それぞれの単語の終了単語ピースのための第2の制約付きアライメントとを生成することを含む。第1の制約付きアライメントが、それぞれの単語の開始のためのグランドトゥルースアライメントと整合され、第2の制約付きアライメントが、それぞれの単語の終了のためのグランドトゥルースアライメントと整合される。動作はまた、トレーニング例の各単語のための第1の制約付きアライメントおよび第2の制約付きアライメントのすべてを含む、トレーニング例を適用することによって、2パスニューラルネットワークモデルの第2のパスデコーダのアテンションヘッドを制約することも含む。
【0008】
この態様は、以下の任意の特徴のうちの1つまたは複数を含み得る。いくつかの実装形態では、動作は、トレーニング例において第2のパスデコーダをトレーニングする間に、トレーニング例の部分のための予想アテンション確率を識別すること、制約されたアテンションヘッドが、予想アテンション確率にマッチすることに失敗する、トレーニング例の部分のうちの少なくとも1つのためのアテンション確率を生成すると決定すること、および制約されたアテンションヘッドにトレーニングペナルティを適用することをさらに含む。これらの実装形態では、トレーニング例の部分のうちの少なくとも1つのためのアテンション確率が、第1の制約付きアライメントまたは第2の制約付きアライメントのいずれかに対応する時間に発生し得る。一方、トレーニング例の部分のうちの少なくとも1つのためのアテンション確率が、場合によっては、第1の制約付きアライメントにも第2の制約付きアライメントにも対応しない時間に発生し得る。
【0009】
開始単語ピースおよび終了単語ピースは、それぞれの単語のための同じ単語ピースを含み得るが、第2のパスデコーダは、複数のアテンションヘッドを含み得る。いくつかの例では、アテンションヘッドを制約することは、第2のパスデコーダのアテンションヘッドから導出されたアテンション確率を制約することを含む。各それぞれの制約付きアライメントは、それぞれのグランドトゥルースアライメントについてのタイミングバッファを含み得る。ここで、タイミングバッファは、第1の制約付きアライメントおよび第2の制約付きアライメントの各々を、それぞれのグランドトゥルースアライメントの前の第1の時間期間と、それぞれのグランドトゥルースアライメントの後の第2の時間期間とを含む、時間間隔に制約する。
【0010】
いくつかの例では、動作は、トレーニング例において第2のパスデコーダをトレーニングする間に、制約されたアテンションヘッドが、第1の制約付きアライメントおよび第2の制約付きアライメントに対応する境界の外側で、非ゼロのアテンション確率を生成すると決定すること、ならびに制約されたアテンションヘッドにトレーニングペナルティを適用することをさらに含む。追加または代替として、動作は、トレーニング例において第2のパスデコーダをトレーニングする間に、制約されたアテンションヘッドのためのアテンション損失を最小限に抑えること、および第2のパスデコーダのための交差エントロピー損失を最小限に抑えることをさらに含み得る。トレーニング例においてトレーニングされた第2のパスデコーダを使用しながら、2パスニューラルネットワークの実行中に、いくつかの追加の例では、動作は、発話のオーディオデータを受信すること、第2のパスデコーダの制約されたアテンションヘッドにおける最大確率に対応する時間を決定すること、および、第2のパスデコーダの制約されたアテンションヘッドにおける最大確率に対応する決定された時間のための、単語開始時間または単語終了時間を生成することをさらに含む。
【0011】
本開示の1つまたは複数の実装形態の詳細は、添付の図面および以下の説明に記載される。他の態様、特徴、および利点は、説明および図面から、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0012】
図1A】共同の音響およびテキストモデルとともに2パスアーキテクチャを使用する、例示的な音声環境の概略図である。
図1B】共同の音響およびテキストモデルとともに2パスアーキテクチャを使用する、例示的な音声環境の概略図である。
図1C】共同の音響およびテキストモデルとともに2パスアーキテクチャを使用する、例示的な音声環境の概略図である。
図2】音声認識のための例示的な2パスアーキテクチャの概略図である。
図3A】音声認識のための図2の2パスアーキテクチャのための例示的なトレーニングプロセスの概略図である。
図3B図3Aのトレーニングプロセスのためのトレーニング例における例示的な制約の概略図である。
図4】制約されたアテンションを組み込む、図2の2パスアーキテクチャを実装する方法のための動作の例示的な配置のフローチャートである。
図5】本明細書で説明するシステムおよび方法を実装するために使用され得る、例示的なコンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0013】
様々な図面における同様の参照符号は、同様の要素を示す。
【0014】
音声認識は、モバイル環境の非拘束性および軽快さの要求を満たすために進化し続けている。自動音声認識システム(ASR)の品質を高めようとする新しい音声認識アーキテクチャ、または既存のアーキテクチャの改良が開発され続けている。例示のために、音声認識は、各モデルが特化した目的を有する、複数のモデルを最初に採用した。たとえば、ASRシステムは、音響モデル(AM)、発音モデル(PM)、および言語モデル(LM)を含むものであった。音響モデルは、オーディオのセグメント(すなわち、オーディオのフレーム)を音素にマッピングした。発音モデルは、これらの音素を互いに接続して、単語を形成し、言語モデルは、所与の句の尤度(すなわち、単語のシーケンスの確率)を表すために使用された。しかし、これらの個々のモデルは一緒に作動したが、各モデルは、独立してトレーニングされたものであり、異なるデータセットにおいて手動で設計されることが多かった。
【0015】
別個のモデルの手法によって、所与のモデルのためのトレーニングコーパス(すなわち、トレーニングデータの本体)がモデルの有効性の要求に応えるときは特に、音声認識システムがかなり正確になることが可能になったが、別個のモデルを独立してトレーニングする必要があることによって、それ自体の複雑さをもたらし、統合されたモデルを伴うアーキテクチャにつながった。これらの統合されたモデルは、オーディオ波形(すなわち、入力シーケンス)を出力文(すなわち、出力シーケンス)に直接マッピングするために、単一のニューラルネットワークを使用しようとした。これによって、シーケンスツーシーケンス手法が生じ、この手法は、オーディオ特徴のシーケンスが与えられると、単語(または書記素)のシーケンスを生成した。シーケンスツーシーケンスモデルの例には、「アテンションベース」モデルおよび「リッスンアテンドスペル」(LAS)モデルが含まれる。LASモデルは、リスナー構成要素、アテンダー(attender)構成要素、およびスペラー構成要素を使用して、音声発話を文字にトランスクライブする。ここで、リスナーは、オーディオ入力(たとえば、音声入力の時間周波数表現)を受信し、オーディオ入力をより高いレベルの特徴表現にマッピングする、リカレントニューラルネットワーク(RNN)エンコーダである。アテンダーは、入力特徴と予測されたサブワード単位(たとえば、書記素または単語ピース)、または音声の他の単位(たとえば、音素、音、またはセノム(senome))との間のアライメントを学習するために、より高いレベルの特徴に注意する。スペラーは、仮定された単語のセットにわたる確率分布を作り出すことによって、入力から文字シーケンスを生成する、アテンションベースRNNデコーダである。統合された構造を用いて、モデルのすべての構成要素が、単一のエンドツーエンド(E2E)ニューラルネットワークとして共同でトレーニングされ得る。ここで、E2Eモデルは、そのアーキテクチャが完全にニューラルネットワークで構築されるモデルを指す。完全なニューラルネットワークは、外部の、および/または手動で設計された構成要素(たとえば、有限状態トランスデューサ、辞書、またはテキスト正規化モジュール)なしに機能する。追加として、E2Eモデルをトレーニングするとき、これらのモデルは、一般にデシジョンツリーからのブートストラッピング、または別個のシステムからの時間アライメントを必要としない。
【0016】
初期のE2Eモデルは、正確であること、および個々にトレーニングされたモデルに勝るトレーニング改善を証明したが、LASモデルなど、これらのE2Eモデルは、出力テキストを生成する前に、入力シーケンス全体を検討することによって機能し、したがって、入力が受信されたときに出力のストリーミングを可能にしなかった。ストリーミング能力がないので、LASモデルは、リアルタイムボイストランスクリプションを実行することができない。この欠陥のために、レイテンシに敏感であり、かつ/またはリアルタイムボイストランスクリプションを必要とする音声アプリケーションのために、LASモデルを展開することによって、問題が生じ得る。これによって、LASモデル単体では、リアルタイムアプリケーション(たとえば、リアルタイム通信アプリケーション)に依拠することが多いモバイル技術(たとえば、モバイルフォン)にとって、理想的なモデルではなくなる。
【0017】
追加として、音響モデル、発音モデル、および言語モデル、または一緒に構成されたそのようなモデルを有する音声認識システムは、これらのモデルに関連付けられた比較的大きい探索グラフを探索しなければならないデコーダに依拠し得る。大きい探索グラフの場合、このタイプの音声認識システムを完全にオンデバイスでホストすることは、利益にならない。ここで、音声認識システムが「オンデバイス」でホストされるとき、オーディオ入力を受信するデバイスは、そのプロセッサを使用して、音声認識システムの機能を実行する。たとえば、音声認識システムが完全にオンデバイスでホストされるとき、デバイスのプロセッサは、音声認識システムの機能を実行するために、いかなるオフデバイスコンピューティングリソースと協調する必要もない。完全にオンデバイスではなく、音声認識を実行するデバイスは、音声認識システムの少なくともいくつかの機能を実行するために、リモートコンピューティング(たとえば、リモートコンピューティングシステムの、またはクラウドコンピューティング)と、したがってオンライン接続性とに依拠する。たとえば、音声認識システムは、サーバベースモデルとのネットワーク接続を使用して、大きい探索グラフを用いたデコーディングを実行する。
【0018】
残念ながら、リモート接続に依存することによって、音声認識システムは、通信ネットワークのレイテンシ問題および/または固有の不信頼性の影響を受けやすくなる。これらの問題を回避することによって、音声認識の有用性を向上させるために、音声認識システムは、リカレントニューラルネットワークトランスデューサ(RNN-T:recurrent neural network transducer)として知られる、シーケンスツーシーケンスモデルの形態へと再び進化した。RNN-Tは、アテンション機構を採用せず、また、一般に出力(たとえば、文)を作り出すためにシーケンス全体(たとえば、オーディオ波形)を処理する必要がある他のシーケンスツーシーケンスモデルとは異なり、RNN-Tは、連続的に入力サンプルを処理し、出力シンボルをストリーミングするものであり、特にリアルタイム通信にとって魅力的な特徴である。たとえば、RNN-Tを用いた音声認識は、話されるとき、文字を1つずつ出力し得る。ここで、RNN-Tは、モデルによって予測されたシンボルを、次のシンボルを予測するためにそれ自体にフィードバックする、フィードバックループを使用する。RNN-Tをデコードすることは、大きいデコーダグラフではなく、単一のニューラルネットワークを通したビーム探索を含むので、RNN-Tは、サーバベース音声認識モデルの何分の1のサイズにスケーリングし得る。サイズ低減によって、RNN-Tは、完全にオンデバイスで展開され、オフラインで(すなわち、ネットワーク接続なしに)実行することが可能であり、したがって、通信ネットワークに関する不信頼性問題を回避し得る。
【0019】
音声認識システムが低レイテンシで動作することに加えて、音声認識システムは、音声の認識が正確である必要もある。音声認識を実行するモデルの場合、モデルの精度を定義し得るメトリックは、単語誤り率(WER)であることが多い。WERは、実際に話された単語の数と比較して、いくつの単語が変更されるかの測度を指す。一般に、これらの単語変更は、置換(すなわち、単語が置き換えられるとき)、挿入(すなわち、単語が追加されるとき)、および/または削除(すなわち、単語が省略されるとき)を指す。例示のために、話者が「car(車)」と言うが、ASRシステムが単語「car(車)」を「bar(棒)」としてトランスクライブする。これは、音声的類似のための置換の一例である。他のASRシステムと比較して、ASRシステムの能力を測定するとき、WERは、別のシステムまたは何らかのベースラインに対する改善または品質能力の何らかの測度を示し得る。
【0020】
RNN-Tモデルは、オンデバイス音声認識のための強力な候補モデルとして有望であるが、RNN-Tモデル単体では、依然として、品質(たとえば、音声認識精度)の点で、大規模な最先端の従来のモデル(たとえば、別個のAM、PM、およびLMを伴うサーバベースモデル)に遅れをとっている。しかし、非ストリーミングのE2E、LASモデルは、大規模な最先端の従来のモデルに匹敵する音声認識品質を有する。非ストリーミングE2E LASモデルの品質を利用するために、RNN-Tネットワークの第1のパス構成要素と、後続するLASネットワークの第2のパス構成要素とを含む、2パス音声認識システム(たとえば、図2Aに示される)が開発された。この設計の場合、2パスモデルは、低レイテンシであるRNN-Tモデルのストリーミング性から恩恵を受けると同時に、LASネットワークを組み込んでいる第2のパスを通して、RNN-Tモデルの精度を高める。LASネットワークは、RNN-Tモデルのみと比較してレイテンシを増大させるが、レイテンシの増大は、適度にわずかであり、オンデバイス動作のためのレイテンシ制約に適合する。精度に関して、2パスモデルは、RNN-T単体と比較して17~22%のWER低減を達成し、大規模な従来のモデルと比較して同様のWERを有する。
【0021】
残念ながら、RNN-Tネットワークの第1のパスおよびLASネットワークの第2のパスをもつ、この2パスモデルには、いくつかの欠陥がある。たとえば、このタイプの2パスモデルは、一般に、単語のためのタイミング(たとえば、各単語のための開始時間または終了時間)を伝えることが可能ではなく、その理由は、2パスモデルが、従来のモデルのようなアライメント情報を用いてトレーニングされないからである。アライメント情報がないので、2パスモデルは、その出力予測を遅延させることが多く、単語のタイミングを決定することが困難になり得る。対照的に、従来のモデルは、従来のモデルが正確な単語タイミングを生成することを可能にする、音素アライメントまたは単語アライメントなどのアライメント情報を用いてトレーニングされる。このことは、音声認識システムのユーザに対するトレードオフを生じる。一方では、2パスモデルは、プライバシーおよび最小レイテンシを提供するオンデバイスで行われるという利益を有するが、単語タイミングを発出する能力がない。他方では、大規模な従来のモデルは、正確な単語タイミングを生成することができるが、大規模すぎてオンデバイスで実装できず、ユーザに強制的に、(たとえば、2パスモデルと比較して)レイテンシ増大の可能性があるリモートベース、非ストリーミングの音声認識システムを使用させる。
【0022】
2パスモデルが、レイテンシを損なうことまたは品質の損失なしに、単語タイミングを発出するために、2パスモデルは、追加の制約とともに、それ自体のアーキテクチャを利用するように適合され得る。別の言い方をすれば、2パスモデルは、2パスモデルがオンデバイスに適合するためのサイズ制約に基づいて、大規模な従来のモデルの要素を組み込むことができず、2パスモデルは、最終的な仮説を生成した後、後処理モジュールを使用することによって、その全体的なレイテンシを増大させることもできない。幸いにも、第2のパスのLASネットワークをトレーニングする間、LASネットワークのためのアテンション確率は、トレーニング例に対応するオーディオと、トレーニング例のための予測されたサブワード単位(たとえば、書記素、単語ピースなど)との間のアライメントを学習する。単語レベルアライメントに基づいて、LASネットワークのアテンション確率を制約することによって、2パスモデルは、各単語のための開始時間および終了時間を生成し得る。これらの単語タイミングを用いて、ユーザは、ボイスアシスタント、口述アプリケーション、またはビデオトランスクリプションなど、様々なアプリケーションとともにオンデバイスで2パスモデルを使用し得る。
【0023】
図1A図1Cは、音声環境100の例である。音声環境100では、ユーザデバイス110などのコンピューティングデバイスと対話するユーザ10の方法は、ボイス入力を通したものであり得る。ユーザデバイス110(一般にデバイス110とも呼ばれる)は、音声対応環境100内の1人または複数のユーザ10からサウンド(たとえば、ストリーミングオーディオデータ)をキャプチャするように構成される。ここで、ストリーミングオーディオデータ202は、可聴クエリ(たとえば、図1C)、デバイス110に対するコマンド、またはデバイス110によってキャプチャされた可聴通信(たとえば、図1B)として機能する、ユーザ10による口頭発話12を指すことがある。デバイス110の音声対応システムは、クエリに返答すること、および/またはコマンドを実行させることによって、クエリまたはコマンドに対応し得る。
【0024】
ここで、ユーザデバイス110は、ユーザ10による口頭発話12のオーディオデータ202をキャプチャする。ユーザデバイス110は、ユーザ10に関連付けられた、およびオーディオデータ202を受信することが可能な、任意のコンピューティングデバイスに対応し得る。ユーザデバイス110のいくつかの例には、限定はしないが、モバイルデバイス(たとえば、モバイルフォン、タブレット、ラップトップなど)、コンピュータ、ウェアラブルデバイス(たとえば、スマートウォッチ)、スマートアプライアンス、モノのインターネット(IoT)デバイス、スマートスピーカーなどが含まれる。ユーザデバイス110は、データ処理ハードウェア112と、データ処理ハードウェア112と通信しており、命令を記憶する、メモリハードウェア114とを含み、命令は、データ処理ハードウェア112によって実行されると、データ処理ハードウェア112に1つまたは複数の動作を実行させる。ユーザデバイス110は、音声対応システム100内の口頭発話12をキャプチャし、電気信号に変換するためのオーディオキャプチャデバイス(たとえば、マイクロフォン)116、116aと、(たとえば、デバイス110からの出力オーディオデータとして)可聴オーディオ信号を通信するための音声出力デバイス(たとえば、スピーカー)116、116bとをもつ、オーディオサブシステム116をさらに含む。ユーザデバイス110は、図示の例では、単一のオーディオキャプチャデバイス116aを実装するが、ユーザデバイス110は、本開示の範囲から逸脱することなく、オーディオキャプチャデバイス116aのアレイを実装してよく、それによって、アレイ内の1つまたは複数のキャプチャデバイス116aは、ユーザデバイス110上に物理的に存在しないことがあるが、オーディオサブシステム116と通信中であり得る。
【0025】
ユーザデバイス110(たとえば、ハードウェア112、114を使用する)は、音声認識器200を使用して、ストリーミングオーディオデータ202上で音声認識処理を実行するようにさらに構成される。いくつかの例では、オーディオキャプチャデバイス116aを含む、ユーザデバイス110のオーディオサブシステム116は、オーディオデータ202(たとえば、口頭発話12)を受信し、オーディオデータ202を、音声認識器200に適合するデジタルフォーマットに変換するように構成される。デジタルフォーマットは、メルフレーム(mel frame)などの音響フレーム(たとえば、パラメータ化された音響フレーム)に対応し得る。たとえば、パラメータ化された音響フレームは、対数メルフィルタバンクエネルギーに対応する。
【0026】
図1Aなどのいくつかの実装形態では、ユーザ10は、音声認識器200を使用するユーザデバイス110のプログラムまたはアプリケーション118と対話する。たとえば、図1Aは、ユーザ10が、ユーザ10によって話された発話12をトランスクライブすることが可能なトランスクリプションアプリケーション118と通信することを示す。この例では、ユーザ10の口頭発話12は、「What time is the concert tonight(今夜のコンサートは何時ですか)?」である。ユーザ10からのこの質問は、オーディオキャプチャデバイス116aによってキャプチャされ、ユーザデバイス110のオーディオサブシステム116によって処理される口頭発話12である。この例では、ユーザデバイス110の音声認識器200は、「what time is the concert tonight(今夜のコンサートは何時ですか)」のオーディオ入力202を(たとえば、音響フレームとして)受信し、オーディオ入力202をトランスクリプション204(たとえば、「what time is the concert tonight(今夜のコンサートは何時ですか)?」のテキスト表現)にトランスクライブする。ここで、トランスクリプションアプリケーション118は、音声認識器200によって生成された単語タイミング206に基づいて、トランスクリプション204の各単語に、対応する開始時間および終了時間を用いてラベリングする。たとえば、これらの開始時間および終了時間を用いて、ユーザ10は、トランスクリプション204、またはトランスクリプション204に対応するオーディオを編集することができる。いくつかの例では、トランスクリプションアプリケーション118は、たとえば、音声認識器200がトランスクリプション204の単語に関連付ける開始時間および終了時間に基づいて、ユーザデバイス110上でオーディオ/ビデオデータを編集および/または処理するように構成される、ビデオトランスクリプションアプリケーションに対応する。
【0027】
図1Bは、音声認識器200を用いた音声認識の別の例である。この例では、ユーザデバイス110に関連付けられたユーザ10が、通信アプリケーション118を用いて、ジェーン・ドウという名前の友人と通信中である。ここで、テッドという名前のユーザ10は、音声認識器200に自分のボイス入力をトランスクライブさせることによって、ジェーンと通信する。オーディオキャプチャデバイス116は、これらのボイス入力をキャプチャし、デジタル形式(たとえば、音響フレーム)で音声認識器200に通信する。音声認識器200は、これらの音響フレームを、通信アプリケーション118を介してジェーンに送られるテキストにトランスクライブする。このタイプのアプリケーション118は、テキストを介して通信するので、音声認識器200からのトランスクリプション204は、さらなる処理(たとえば、自然言語処理)なしにジェーンに送られ得る。ここで、通信アプリケーション118は、音声認識器200を使用して、時間を会話の1つまたは複数の部分に関連付け得る。通信アプリケーション118に応じて、これらの時間は、音声認識器200によって処理される会話の各単語のための単語タイミング206(たとえば、各単語のための開始時間および終了時間)に対応して、かなり詳細であり得るか、またはより一般には、(たとえば、図1Bに示されるように)各話者による会話の部分に関連付けられた時間に対応し得る。
【0028】
図1Cは、図1Bによく似た会話であるが、ボイスアシスタントアプリケーション118との会話を示す。この例では、ユーザ10は、自動アシスタントに「What time is the concert tonight(今夜のコンサートは何時ですか)?」と尋ねる。ユーザ10からのこの質問は、オーディオキャプチャデバイス116aによってキャプチャされ、ユーザデバイス110のオーディオサブシステム116によって処理される口頭発話12である。この例では、ユーザデバイス110の音声認識器200は、「what time is the concert tonight(今夜のコンサートは何時ですか)」のオーディオ入力202を(たとえば、音響フレームとして)受信し、オーディオ入力202をトランスクリプション204(たとえば、「what time is the concert tonight(今夜のコンサートは何時ですか)?」のテキスト表現)にトランスクライブする。ここで、アプリケーション118の自動アシスタントは、自然言語処理を使用して、ユーザ10によって出された質問に応答し得る。自然言語処理は、一般に、書き言葉(たとえば、トランスクリプション204)を解釈し、書き言葉がいずれかのアクションを促すか否かを決定するプロセスを指す。この例では、自動アシスタントは、自然言語処理を使用して、ユーザ10からの質問がユーザのスケジュール、およびより詳細にはユーザのスケジュール上のコンサートに関係することを認識する。自然言語処理を用いて、これらの詳細を認識することによって、自動アシスタントは、ユーザのクエリに対する応答を返し、そこで、応答は「今夜のコンサートは午後8:30に開場します」と述べる。いくつかの構成では、自然言語処理は、ユーザデバイス110のデータ処理ハードウェア112と通信しているリモートシステム上で行われる。図1Bと同様に、音声認識器200は、ボイスアシスタントアプリケーション118がユーザ10と自動アシスタントとの間の会話についての追加の詳細を提供するために使用し得る時間(たとえば、単語タイミング206)を発出し得る。たとえば、図1Cは、ボイスアシスタントアプリケーション118が、ユーザの質問が発生した時間を用いて、ユーザの質問にラベリングすることを示す。
【0029】
図2などのいくつかの例では、音声認識器200は、2パスアーキテクチャにおいて構成される。概して、音声認識器200の2パスアーキテクチャは、少なくとも1つのエンコーダ210と、RNN-Tデコーダ220と、LASデコーダ230とを含む。2パスデコーディングでは、第2のパス208、208b(たとえば、LASデコーダ230として示される)は、ラティスリスコアリング(lattice rescoring)またはnベストリランキング(n-best re-ranking)などの技法を用いて、第1のパス208、208a(たとえば、RNN-Tデコーダ220として示される)からの初期出力を改善し得る。言い換えれば、RNN-Tデコーダ220は、ストリーミング予測を作り出し、LASデコーダ230は、予測を確定する。ここで、具体的には、LASデコーダ230は、RNN-Tデコーダ220からのストリーミングされた仮説yRをリスコアリングする。LASデコーダ230は、RNN-Tデコーダ220からのストリーミングされた仮説yRをリスコアリングするリスコアリングモードにおいて機能すると一般に説明されるが、LASデコーダ230はまた、設計または他のファクタ(たとえば、発話の長さ)に応じて、ビーム探索モードなどの異なるモードにおいて動作することも可能である。
【0030】
少なくとも1つのエンコーダ210は、オーディオ入力202として、ストリーミング口頭発話12に対応する音響フレームを受信するように構成される。音響フレームは、オーディオサブシステム116によって、パラメータ化された音響フレーム(たとえば、メルフレームおよび/またはスペクトルフレーム)になるように前処理され得る。いくつかの実装形態では、パラメータ化された音響フレームは、対数メル特徴(log-mel feature)を伴う対数メルフィルタバンクエネルギーに対応する。たとえば、オーディオサブシステム116によって出力され、エンコーダ210に入力される、パラメータ化された入力音響フレームは、x=(x1,...,xT)として表され得、ただし、
【0031】
【数1】
【0032】
は、対数メルフィルタバンクエネルギーであり、Tは、xにおけるフレームの数を示し、dは、対数メル特徴の数を表す。いくつかの例では、各パラメータ化された音響フレームは、短いシフトウィンドウ(たとえば、32ミリ秒、および10ミリ秒ごとにシフトされる)内で計算された128次元対数メル特徴を含む。各特徴には、前のフレーム(たとえば、3つの前のフレーム)がスタックされて、より高次元のベクトル(たとえば、3つの前のフレームを使用する512次元ベクトル)が形成され得る。次いで、ベクトルを形成する特徴は、(たとえば、30ミリ秒フレームレートに)ダウンサンプリングされ得る。オーディオ入力202に基づいて、エンコーダ210は、エンコーディングeを生成するように構成される。たとえば、エンコーダ210は、エンコードされた音響フレーム(たとえば、エンコードされたメルフレームまたは音響埋込み)を生成する。
【0033】
エンコーダ210の構造は、異なる方法で実装され得るが、いくつかの実装形態では、エンコーダ210は、長短期記憶(LSTM)ニューラルネットワークである。たとえば、エンコーダ210は、8つのLSTM層を含む。ここで、各層は、2,048個の隠れユニットと、後続する640次元投影層とを有し得る。いくつかの例では、時間短縮層が、エンコーダ210の第2のLSTM層の後に短縮係数N=2とともに挿入される(たとえば、エンコードされた特徴が特定のフレームレートにおいて発生することを保証する)。
【0034】
いくつかの構成では、エンコーダ210は、共有エンコーダネットワークである。言い換えれば、各パスネットワーク208がそれ自体の別個のエンコーダを有するのではなく、各パス208が単一のエンコーダ210を共有する。エンコーダを共有することによって、2パスアーキテクチャを使用するASR音声認識器200は、そのモデルサイズおよび/またはその計算コストを低減し得る。ここで、モデルサイズの低減は、音声認識器200が完全にオンデバイスで十分に機能することを可能にする助けになり得る。
【0035】
いくつかの例では、図2の音声認識器200はまた、エンコーダ210の出力212をLASデコーダ230の第2のパス208bにとって好適になるように適合させるために、音響エンコーダ250などの追加のエンコーダを含む。音響エンコーダ250は、出力212を、エンコードされた出力252になるようにさらにエンコードするように構成される。いくつかの実装形態では、音響エンコーダ250は、エンコーダ210からの出力212をさらにエンコードする、LSTMエンコーダ(たとえば、2層LSTMエンコーダ)である。追加のエンコーダを含むことによって、エンコーダ210は、依然として、パス208の間の共有エンコーダとして維持され得る。
【0036】
第1のパス208aの間に、エンコーダ210は、オーディオ入力202の各音響フレームを受信し、(たとえば、音響フレームのエンコーディングeとして示される)出力212を生成する。RNN-Tデコーダ220は、各フレームのための出力212を受信し、ストリーミング様式で各時間ステップにおいて、仮説yRとして示される出力222を生成する。いくつかの実装形態では、RNN-Tデコーダ220は、予測ネットワークと、共同ネットワークとを含む。ここで、予測ネットワークは、層ごとに2,048個の隠れユニットおよび640次元投影の2つのLSTM層、ならびに128ユニットの埋込み層を有し得る。エンコーダ210および予測ネットワークの出力212が、ソフトマックス予測層を含む共同ネットワークに供給され得る。いくつかの例では、RNN-Tデコーダ220の共同ネットワークは、640個の隠れユニットと、4,096個の大小文字が混在する単語ピースを予測する、後続するソフトマックス層とを含む。
【0037】
図2の2パスモデルでは、第2のパス208bの間に、LASデコーダ230は、フレームごとにエンコーダ210からの出力212を受信し、仮説yLとして示される出力232を生成する。LASデコーダ230がビーム探索モードにおいて動作するとき、LASデコーダ230は、出力212のみから出力232を作り出し、RNN-Tデコーダ220の出力222を無視する。LASデコーダ230がリスコアリングモードにおいて動作するとき、LASデコーダ230は、RNN-Tデコーダ220から上位K個の仮説を取得し、次いで、LASデコーダ230は、出力212に注意して、教師強制モードにおいて各シーケンス上で実行されて、スコアを計算する。たとえば、スコアは、シーケンスの対数確率と、アテンションカバレージペナルティ(attention coverage penalty)とを結合する。LASデコーダ230は、最高スコアをもつシーケンスを、出力232になるように選択する。ここで、リスコアリングモードにおいて、LASデコーダ230は、出力212に注意するために、マルチヘッドアテンション(たとえば、4つのヘッドをもつ)を含み得る。さらに、LASデコーダ230は、予測のためのソフトマックス層をもつ2層LASデコーダ230であり得る。たとえば、LASデコーダ230の各層は、2,048個の隠れユニットと、後続する640次元投影とを有する。ソフトマックス層は、RNN-Tデコーダ220のソフトマックス層からの同じ大小文字が混在する単語ピースを予測するために、4,096次元を含み得る。
【0038】
概して、いかなる追加の制約もない図2の2パスモデルは、単語タイミング206を検出することが困難である。この困難は、少なくとも部分的には、2パスモデルが単語を1つまたは複数の単語ピースにトークン化または分割するので、存在する。ここで、たとえば、単一の単語ピースが単語全体に対応するとき、単語全体のための開始時間および終了時間は、単一の単語ピースのための開始時間および終了時間と一致する。しかし、単語が複数の単語ピースからなるとき、単語のための開始時間は、ある単語ピースに対応し得るが、単語のための終了時間は、異なる単語ピースに対応する。残念ながら、したがって、従来の2パスモデルは、単語ピースに基づいて、いつ単語が開始するか、およびいつ単語が終了するかを識別しようと努力し得る。これらの問題を克服するために、2パスモデルは、トレーニング例の所与の単語のための開始時間および終了時間に対する単語ピースのアライメントに関する特定の制限を用いて、トレーニングされ得る。
【0039】
図2の2パスモデルのための従来のトレーニングプロセスは、2つの段階において行われ得る。第1の段階の間に、エンコーダ210およびRNN-Tデコーダ220が、
【0040】
【数2】
【0041】
を最大化するようにトレーニングされる。第2の段階では、エンコーダ210が固定され、LASデコーダ230が、
【0042】
【数3】
【0043】
を最大化するようにトレーニングされる。2パスモデルが追加のエンコーダ250を含むとき、追加のエンコーダ250が、第2の段階において、
【0044】
【数4】
【0045】
を最大化するようにトレーニングされるが、エンコーダ210は固定される。さらに図3Aおよび図3Bによって示されるように、従来のトレーニングプロセスは、LASデコーダ230に対する追加の制約を含むトレーニングプロセス300に適合され得る。たとえば、トレーニングプロセス300は、第2のパス208bの出力232に対応する単語タイミング206を示すアテンション確率を生成するために、LASデコーダ230のアテンションヘッド(たとえば、LASデコーダ230における複数のアテンションヘッドのうちの1つのアテンションヘッド)を制約する。いくつかの構成では、この追加の制約を含むことによって、トレーニングプロセス300は、LASデコーダ230における標準交差エントロピー損失(standard cross entropy loss)を最小限に抑えること、ならびに、LASデコーダ230のためのアテンションアライメント損失(attention alignment loss)(たとえば、LASデコーダ230のアテンションヘッドのためのアテンションアライメント損失)を最小限に抑えることを行うようにトレーニングする。
【0046】
図3Aおよび図3Bなどのいくつかの例では、トレーニングプロセス300は、口頭発話を表すオーディオデータと、口頭発話の対応するグランドトゥルーストランスクリプションとを各々含む、複数のトレーニング例302において、2パスモデルアーキテクチャ200をトレーニングする。対応する口頭発話の各単語について、対応するトレーニング例302はまた、単語のためのグランドトゥルース開始時間312と、単語のためのグランドトゥルース終了時間314と、LASデコーダ230から発出する単語中の各単語ピースがどこで発生するべきであるかを示す制約304とを含む。トレーニングプロセス300は、音声認識器200をトレーニングするために、システム500(図5)上で実行し得る。トレーニングされる音声認識器200は、図1A図1Cのユーザデバイス110上で実行するように展開され得る。場合によっては、トレーニングされる音声認識器200は、システム500、またはユーザデバイス110と通信している別のシステム上で実行し得る。トレーニングプロセス300は、トレーニング例302の制約304を使用して、発話中のそれぞれの単語310の開始を示すための各単語310の前のプレースホルダーシンボル、および/または口頭発話12の最後の単語310の後のプレースホルダーシンボルを生成するように(または挿入するように)、2パスモデルに教示する。いくつかの構成では、プレースホルダーシンボルは、各単語310の前の単語境界<wb>単語ピース320(たとえば、単語ピース320、320a、320d、320gとして示される)、および/または発話12の最後の単語310の後の発話境界</s>単語ピース320である。プレースホルダーシンボルを伴うトレーニング例302は、単語310に対応するが、2パスモデルは、トランスクリプション204のその生成中に、プレースホルダーシンボルを単語ピース320として含めることを学習する。推論(すなわち、2パスモデルの使用)中に境界単語ピース320(たとえば、単語境界<wb>および/または発話境界</s>)を生成するようにトレーニングされた2パスモデルの場合、境界単語ピース320は、音声認識器200が単語タイミング206を決定するためにさらなる詳細を有することを可能にする。
【0047】
単語ピース320を使用する2パスモデルから、単語タイミング206を発出するために、2パスモデルは、それぞれの単語310の開始またはそれぞれの単語310の終了に対応する、特定の単語ピースに焦点を合わせるように構成される。より詳細には、トレーニングプロセス300は、それぞれの単語310の開始に対応する第1の単語ピース320を、それぞれの単語310のためのアライメントの開始312のできるだけ近くで発生するように制約すること、およびそれぞれの単語310の終了に対応する最後の単語ピース320を、それぞれの単語310のためのアライメントの終了314のできるだけ近くで発生するように制約することを望む。ここで、制約304は、単語310を構成するすべての他の単語ピース320を、単語310のグランドトゥルース開始時間312およびグランドトゥルース終了時間314の範囲内の任意の場所で発生するように制約する。
【0048】
図3Bを参照すると、トレーニングプロセス300中に、LASデコーダ230は、トレーニング例制約304を含むトレーニング例302を使用してトレーニングされる。上記で説明したように、トレーニング例制約304は、それぞれの単語310の開始に対応する第1の単語ピース320を、それぞれの単語310のためのアライメントの開始のできるだけ近くで発生するように制約すること、およびそれぞれの単語310の終了に対応する最後の単語ピース320を、それぞれの単語310のためのアライメントの終了のできるだけ近くで発生するように制約することを行うように構成される。例示のために、図3Bは、3つの単語310、310a~cをもつ単純なトレーニング例302、「the cat sat(その猫が座った)」を示す。ここで、トレーニング例302の各単語310は、グランドトゥルースアライメント開始時間312およびグランドトゥルースアライメント終了時間314をもつ、既知のグランドトゥルースアライメントを有する。図3Bでは、第1の単語310a「the(その)」は、第1のグランドトゥルース開始時間312、312aと、第1のグランドトゥルース終了時間314、314aとを有する。第2の単語310b「cat(猫)」は、第2のグランドトゥルース開始時間312、312bと、第2のグランドトゥルース終了時間314、314bとを有する。第3の単語310c「sat(座った)」は、第3のグランドトゥルース開始時間312、312cと、第3のグランドトゥルース終了時間314、314cとを有する。
【0049】
各単語310のためのグランドトゥルースアライメント312、314に基づいて、トレーニング例302は、単語310に対応する各単語ピース320を、グランドトゥルースアライメント312、314と整合されるように制約する、トレーニング例制約304を含む。ここで、第1の単語310a「the(その)」は、3つの単語ピース320、320a~c、すなわち、境界単語ピース320(たとえば、<wb>として示される)である第1の単語ピース320aと、第2の単語ピース320b「_th」と、第3の単語ピース320c「e」とを含む。第2の単語310b「cat(猫)」は、3つの単語ピース320、320d~f、すなわち、境界単語ピース320(たとえば、<wb>として示される)である第4の単語ピース320dと、第5の単語ピース320e「_c」と、第6の単語ピース320f「at」とを含む。第3の単語310c「sat(座った)」は、3つの単語ピース320、320g~i、すなわち、境界単語ピース320(たとえば、<wb>として示される)である第7の単語ピース320gと、第8の単語ピース320h「sat(座った)」と、発話境界320(たとえば、</s>として示される)である第9の単語ピース320iとを含む。
【0050】
トレーニングプロセス300は、それぞれの単語310のどの単語ピース320が、それぞれの単語310の開始(すなわち、開始単語ピース)に対応するか、およびそれぞれの単語310のどの単語ピース320が、それぞれの単語310の終了(すなわち、終了単語ピース)に対応するかを決定するように構成される。たとえば、図3Bの例では、トレーニングプロセス300は、第1の単語ピース320aが第1の単語310aのための開始単語ピースであり、第4の単語ピース320dが第2の単語310bのための開始単語ピースであり、第7の単語ピース320gが第3の単語310cのための開始単語ピースであると決定する。同様に、トレーニングプロセス300は、第3の単語ピース320cが第1の単語310aのための終了単語ピースであり、第6の単語ピース320fが第2の単語310bのための終了単語ピースであり、第9の単語ピース320iが第3の単語310cのための終了単語ピースであると決定する。いくつかの例では、開始単語ピース320および終了単語ピース320は、同じ単語ピース320であり、その理由は、特定の単語310が1つの単語ピース320のみを含むからである。
【0051】
トレーニングプロセス300が、トレーニング例302における各単語310のための開始単語ピースおよび終了単語ピースを決定すると、トレーニングプロセス300は、開始単語ピース320および終了単語ピース320の各々のための制約付きアライメント330を生成するように構成される。言い換えれば、トレーニングプロセス300は、グランドトゥルースアライメント312、314のタイミングに基づいて、時間のインデックス中のいつ特定の単語ピース320が発生するべきであるかを確立することを目的とするアライメント制約を生成する。いくつかの実装形態では、単語ピース320のための制約付きアライメント330は、単語ピース開始時間322から単語ピース終了時間324までに及ぶ時間間隔にわたる。単語ピース320が、単語310のための開始単語ピース320であるとき、開始単語ピース320は、グランドトゥルースアライメント開始時間312と整合される制約付きアライメント330を有する。たとえば、開始単語ピース320のための制約付きアライメント330は、グランドトゥルースアライメント開始時間312を中心とする時間間隔にわたる。一方、単語ピース320が、単語310のための終了単語ピース320であるとき、終了単語ピース320は、グランドトゥルースアライメント終了時間314と整合される制約付きアライメント330を有する。たとえば、終了単語ピース320のための制約付きアライメント330は、グランドトゥルースアライメント終了時間314を中心とする時間間隔にわたる。単語ピース320が、開始単語ピース320にも終了単語ピース320にも対応しないとき、単語ピース320は、グランドトゥルースアライメント開始時間312からグランドトゥルースアライメント終了時間314までに及ぶ時間間隔に対応する、制約付きアライメント330を有し得る。言い換えれば、トレーニング例制約304は、開始単語ピース320または終了単語ピース320のいずれかに対応しない単語ピース320が、グランドトゥルースが単語ピース320に対応する単語310について発生したときの間の任意の時点に発生し得ることを示す。
【0052】
いくつかの構成では、トレーニングプロセス300は、調節可能な制約付きアライメント330を含む。別の言い方をすれば、単語ピース開始時間322および/または単語ピース終了時間324は、グランドトゥルースアライメント312、314についての異なる時間間隔を定義するように調整され得る。ここで、時間間隔は、タイミングバッファと呼ばれることがあり、タイミングバッファが、グランドトゥルースアライメント312、314の前の第1の時間期間と、グランドトゥルースアライメント312、314の後の第2の時間期間とを含むようになる。言い換えれば、タイミングバッファの第1の時間期間は、単語ピース開始時間322とグランドトゥルースアライメント312、314との間の時間の長さに等しく、タイミングバッファの第2の時間期間は、単語ピース終了時間324とグランドトゥルースアライメント312、314との間の時間の長さに等しい。タイミングバッファを調節することによって、トレーニング例制約304は、レイテンシを最小限に抑えるように試みながら、2パスモデルのためのWERを最適化し得る。たとえば、タイミングバッファを用いた実験は、約180ミリ秒のタイミングバッファが、60ミリ秒または300ミリ秒のタイミングバッファよりも、WERおよびレイテンシに関してより最適であるという結果になった。
【0053】
いくつかの例では、トレーニングプロセス300は、LASデコーダ230に関連付けられたアテンション機構に、制約付きアライメント330(たとえば、制約付きアライメント330、330a~i)を適用する。言い換えれば、トレーニングプロセス300は、トレーニング例制約304を含む1つまたは複数のトレーニング例302を使用して、LASデコーダ230(たとえば、LASデコーダ230のアテンションヘッド)をトレーニングする。いくつかの実装形態では、LASデコーダ230が複数のアテンションヘッドを含むが、トレーニングプロセス300は、1つまたは複数のアテンションヘッドが制約なしで動作することを可能にするために、LASデコーダ230のアテンションヘッドのうちの1つ、またはすべてよりも少ないものを制約する。ここで、トレーニングプロセス300中に、制約されたアテンションヘッドは、各トレーニング例302のためのアテンション確率を生成する。アテンションヘッドによって生成されたアテンション確率が、制約付きアライメント330に対応するとき、トレーニングプロセス300は、アテンション確率を、制約付きアライメント330におけるトレーニング例302のための予想アテンション確率と比較するように構成される。いくつかの構成では、トレーニング例制約304は、各単語ピース320の制約付きアライメント330のための予想アテンション確率を示す。たとえば、単語ピース開始時間322と単語ピース終了時間324との間の制約付きアライメント330のための予想確率は、単語ピース320のアライメントが許容可能時間(すなわち、制約付きアライメント330内)に発生することを示すために、高いまたは非ゼロ値(たとえば、1の値)に設定される。いくつかの例では、トレーニング例302は、単語ピース320のアライメントが許容可能でない(たとえば、制約付きアライメント330内でない)アライメント時間に発生することを示すために、低いまたは0値に設定される予想アテンション確率を含む。トレーニングプロセス300中に、アテンション確率が、予想アテンション確率にマッチすることまたはそれを満たすことに失敗するとき、トレーニングプロセス300は、制約されたアテンションヘッドにトレーニングペナルティを適用するように構成される。いくつかの例では、トレーニングプロセス300は、トレーニングペナルティがトレーニング中のLASデコーダ230のためのアテンション損失を最小限に抑えるように、トレーニングペナルティを適用する。いくつかの例では、アテンション損失は、以下の式によって表され、
【0054】
【数5】
【0055】
ただし、βは、アテンション損失Lattentionの重みを制御するハイパーパラメータであり、uは、u∈Uであるように単語ピースユニット(word piece unit)に対応し、tは、t∈Tであるように時間に対応し、c(u,t)は、時間tにわたる各単語ピースユニットuのためのトレーニング例制約304に対応し、a(u,t)は、時間tにわたる各単語ピースユニットuのための制約されたアテンションヘッドのアテンションに対応する。追加または代替として、トレーニングプロセス300は、トレーニング中のLASデコーダ230のための全体的な損失を最小限に抑えるために、トレーニングペナルティを適用し得、ただし、全体的な損失が以下の式によって表される。
Loverall=Lattention+LLAS (2)
【0056】
トレーニングペナルティを適用することによって、トレーニングプロセス300は、複数のトレーニング例302にわたって、単語ピース320が適時に発生するときに対応する時間に、各単語ピース320のための最大アテンション確率を有するように、LASデコーダ230の制約されたアテンションヘッドに教示する。たとえば、トレーニングプロセス300が2パスモデルをトレーニングすると、デコーディング中に、LASデコーダ230は、ビーム探索における各ステップにおいて単語ピースユニットuを発出するビーム探索を動作させる。ここで、音声認識器200は、この特定の単語ピースユニットuのための最大の制約されたアテンションヘッド確率を生じる時間のインデックスを発見することによって、各単語ピースユニットuのための単語ピースタイミングを決定する。単語ピースタイミングから、実際の単語タイミング206が導出され得る。たとえば、境界単語ピース320のための単語ピースタイミングは、単語310の開始、および単語310の終了に対応する。ここで、単語310のための開始単語ピース320(たとえば、単語境界<wb>単語ピース320)は、それぞれの単語310の開始時間に対応するタイミングを有することになり、それぞれの単語310の終了単語ピース320(たとえば、図3Bにおいて発話境界</s>単語ピース320として示される)は、それぞれの単語310の終了時間に対応するタイミングを有することになる。言い換えれば、音声認識器200は、実際の単語タイミング206(たとえば、単語310の開始時間、および単語310の終了時間)が、開始単語ピース320および終了単語ピース320のための単語ピースタイミングに等しいと決定し得る。この決定に基づいて、音声認識器200は、(たとえば、図1A図1Cに示されるように)音声認識器200によって出力された単語のための単語タイミング206を生成するように構成される。
【0057】
図4は、制約されたアテンションとともに音声認識器200を実装する方法400のための動作の例示的な配置のフローチャートである。動作402において、方法400は、2パスニューラルネットワークモデルのLASデコーダ230のためのトレーニング例302を受信する。動作404において、方法400は、トレーニング例302の各単語310について、動作404、404a~dを実行する。動作404aにおいて、方法400は、それぞれの単語310の前にプレースホルダーシンボルを挿入する。動作404bにおいて、方法400は、それぞれの単語310の開始およびそれぞれの単語310の終了のための、それぞれのグランドトゥルースアライメント312、314を識別する。動作404cにおいて、方法400は、それぞれの単語310の開始単語ピース320と、それぞれの単語310の終了単語ピース320とを決定する。動作404dにおいて、方法400は、それぞれの単語310の開始単語ピース320のための第1の制約付きアライメント330と、それぞれの単語310の終了単語ピース320のための第2の制約付きアライメント330とを生成する。ここで、第1の制約付きアライメント330が、それぞれの単語310の開始のためのグランドトゥルースアライメント312、314(たとえば、グランドトゥルースアライメント開始時間312)と整合され、第2の制約付きアライメント330が、それぞれの単語310の終了のためのグランドトゥルースアライメント312、314(たとえば、グランドトゥルースアライメント終了時間314)と整合される。動作406において、方法400は、トレーニング例302の各単語310のための第1の制約付きアライメント330および第2の制約付きアライメント330のすべてを含む、トレーニング例302を適用することによって、2パスニューラルネットワークモデルのLASデコーダ230のアテンションヘッドを制約する。
【0058】
図5は、本明細書で説明するシステム(たとえば、音声認識器200)および方法(たとえば、トレーニングプロセス300および/または方法400)を実装するために使用され得る、例示的なコンピューティングデバイス500の概略図である。コンピューティングデバイス500は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなど、様々な形態のデジタルコンピュータを表すものである。ここで示される構成要素、それらの接続および関係、ならびにそれらの機能は、例示的なものにすぎないように意図され、本明細書で説明および/または請求する本発明の実装形態を限定するように意図されない。
【0059】
コンピューティングデバイス500は、プロセッサ510(たとえば、データ処理ハードウェア)と、メモリ520(たとえば、メモリハードウェア)と、記憶デバイス530と、メモリ520および高速拡張ポート550に接続する高速インターフェース/コントローラ540と、低速バス570および記憶デバイス530に接続する低速インターフェース/コントローラ560とを含む。構成要素510、520、530、540、550、および560の各々は、様々なバスを使用して相互接続され、共通マザーボード上に、または適宜に他の方法で搭載され得る。プロセッサ510は、高速インターフェース540に結合されたディスプレイ580など、外部入出力デバイス上のグラフィカルユーザインターフェース(GUI)のためのグラフィカル情報を表示するための、メモリ520内または記憶デバイス530上に記憶された命令を含む、コンピューティングデバイス500内の実行のための命令を処理することができる。他の実装形態では、複数のプロセッサおよび/または複数のバスが、適宜に、複数のメモリおよび複数のタイプのメモリとともに使用され得る。また、複数のコンピューティングデバイス500が接続され得、各デバイスは、(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)必要な動作の部分を提供する。
【0060】
メモリ520は、コンピューティングデバイス500内に非一時的に情報を記憶する。メモリ520は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであり得る。不揮発性メモリ520は、コンピューティングデバイス500による使用のために、一時的または永続的にプログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)を記憶するために使用される、物理デバイスであり得る。不揮発性メモリの例には、限定はしないが、フラッシュメモリおよび読取り専用メモリ(ROM)/プログラマブル読取り専用メモリ(PROM)/消去可能プログラマブル読取り専用メモリ(EPROM)/電子的に消去可能なプログラマブル読取り専用メモリ(EEPROM)(たとえば、典型的には、ブートプログラムなど、ファームウェアのために使用される)が含まれる。揮発性メモリの例には、限定はしないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、ならびにディスクまたはテープが含まれる。
【0061】
記憶デバイス530は、コンピューティングデバイス500のための大容量記憶装置を提供することが可能である。いくつかの実装形態では、記憶デバイス530は、コンピュータ可読媒体である。様々な異なる実装形態では、記憶デバイス530は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイス、フラッシュメモリもしくは他の同様の固体メモリデバイス、または、ストレージエリアネットワークもしくは他の構成におけるデバイスを含む、デバイスのアレイであり得る。追加の実装形態では、コンピュータプログラム製品は、情報キャリアにおいて有形に具現される。コンピュータプログラム製品は、実行されると、上記で説明したものなど、1つまたは複数の方法を実行する命令を含む。情報キャリアは、メモリ520、記憶デバイス530、またはプロセッサ510上のメモリなど、コンピュータまたは機械可読媒体である。
【0062】
高速コントローラ540は、コンピューティングデバイス500のための帯域幅集約的な動作を管理するが、低速コントローラ560は、より低い帯域幅集約的な動作を管理する。機能のそのような割振りは、例示的なものにすぎない。いくつかの実装形態では、高速コントローラ540は、メモリ520、(たとえば、グラフィックスプロセッサまたはアクセラレータを通して)ディスプレイ580に、および高速拡張ポート550に結合され、高速拡張ポート550は、様々な拡張カード(図示せず)を受け入れ得る。いくつかの実装形態では、低速コントローラ560は、記憶デバイス530および低速拡張ポート590に結合される。低速拡張ポート590は、様々な通信ポート(たとえば、USB、Bluetooth、イーサネット、ワイヤレスイーサネット)を含むことがあり、キーボード、ポインティングデバイス、スキャナなどの1つもしくは複数の入出力デバイスに、または、たとえば、ネットワークアダプタを通して、スイッチもしくはルータなどのネットワーキングデバイスに結合され得る。
【0063】
コンピューティングデバイス500は、図に示されているように、いくつかの異なる形態で実装され得る。たとえば、コンピューティングデバイス500は、標準サーバ500aとしてもしくはそのようなサーバ500aのグループにおいて複数回、ラップトップコンピュータ500bとして、またはラックサーバシステム500cの一部として実装され得る。
【0064】
本明細書で説明するシステムおよび技法の様々な実装形態は、デジタル電子および/または光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せにおいて実現され得る。これらの様々な実装形態は、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能である、1つまたは複数のコンピュータプログラムにおける実装形態を含み得、プログラマブルプロセッサは、専用であっても汎用であってもよく、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスから、データおよび命令を受信し、それらにデータおよび命令を送信するために結合される。
【0065】
(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)これらのコンピュータプログラムは、プログラマブルプロセッサのための機械命令を含み、高水準の手続き型および/もしくはオブジェクト指向プログラミング言語において、かつ/またはアセンブリ/機械言語において実装され得る。本明細書で使用する「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械命令を機械可読信号として受信する機械可読媒体を含む、機械命令および/またはデータをプログラマブルプロセッサに与えるために使用される、任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス(PLD))を指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに与えるために使用される、任意の信号を指す。
【0066】
本明細書で説明したプロセスおよび論理フローは、入力データに対して動作し、出力を生成することによって機能を実行するために、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実行され得る。プロセスおよび論理フローは、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によっても実行され得る。コンピュータプログラムの実行に好適なプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、命令およびデータを読取り専用メモリ、もしくはランダムアクセスメモリ、またはその両方から受信するようになる。コンピュータの必須要素は、命令を実行するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気ディスク、光磁気ディスク、または光ディスクを含むか、あるいは、それらからデータを受信することもしくはそれらにデータを転送すること、またはその両方を行うために動作可能に結合されるようになる。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに好適なコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD ROMおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補完され得るか、または専用論理回路に組み込まれ得る。
【0067】
ユーザとの対話を提供するために、本開示の1つまたは複数の態様は、情報をユーザに表示するためのディスプレイデバイス、たとえば、CRT(陰極線管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーンと、場合によっては、それによってユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールとを有する、コンピュータ上で実装され得る。他の種類のデバイスも、ユーザとの対話を提供するために使用され得、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであり得、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形態で受信され得る。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送り、そのデバイスから文書を受信することによって、たとえば、ユーザのクライアントデバイス上のウェブブラウザから受信された要求に応答して、そのウェブブラウザにウェブページを送ることによって、ユーザと対話することができる。
【0068】
いくつかの実装形態について説明した。それにもかかわらず、本開示の趣旨および範囲から逸脱することなしに、様々な変更が行われ得ることは理解されよう。したがって、他の実装形態が、以下の特許請求の範囲内である。
【符号の説明】
【0069】
10 ユーザ
12 口頭発話、発話、ストリーミング口頭発話
100 音声環境、音声対応環境、音声対応システム
110 ユーザデバイス、デバイス
112 データ処理ハードウェア、ハードウェア
114 メモリハードウェア、ハードウェア
116 オーディオキャプチャデバイス、音声出力デバイス、オーディオサブシステム
116a オーディオキャプチャデバイス、キャプチャデバイス
116b 音声出力デバイス
118 プログラムまたはアプリケーション、トランスクリプションアプリケーション、通信アプリケーション、アプリケーション、ボイスアシスタントアプリケーション
200 音声認識器、ASR音声認識器、2パスモデルアーキテクチャ
202 ストリーミングオーディオデータ、オーディオデータ、オーディオ入力
204 トランスクリプション
206 単語タイミング
208 第1のパス、第2のパス、パスネットワーク、パス
208a 第1のパス208、第1のパス
208b 第2のパス208、第2のパス
210 エンコーダ
212、222、232 出力
220 RNN-Tデコーダ
230 LASデコーダ、2層LASデコーダ
250 音響エンコーダ、追加のエンコーダ
252 エンコードされた出力
300 トレーニングプロセス
302 トレーニング例
304 制約、トレーニング例制約
310 単語
310a 単語、第1の単語
310b 単語、第2の単語
310c 単語、第3の単語
312 グランドトゥルース開始時間、アライメントの開始、グランドトゥルースアライメント開始時間、グランドトゥルースアライメント
312a 第1のグランドトゥルース開始時間312
312b 第2のグランドトゥルース開始時間312
312c 第3のグランドトゥルース開始時間312
314 グランドトゥルース終了時間、アライメントの終了、グランドトゥルースアライメント終了時間、グランドトゥルースアライメント
314a 第1のグランドトゥルース終了時間314
314b 第2のグランドトゥルース終了時間314
314c 第3のグランドトゥルース終了時間314
320 単語境界<wb>単語ピース、単語ピース、発話境界</s>単語ピース、境界単語ピース、第1の単語ピース、最後の単語ピース、発話境界、開始単語ピース、終了単語ピース
320a 単語ピース、第1の単語ピース
320b 単語ピース、第2の単語ピース
320c 単語ピース、第3の単語ピース
320d 単語ピース、第4の単語ピース
320e 単語ピース、第5の単語ピース
320f 単語ピース、第6の単語ピース
320g 単語ピース、第7の単語ピース
320h 単語ピース、第8の単語ピース
320i 単語ピース、第9の単語ピース
322 単語ピース開始時間
324 単語ピース終了時間
330 制約付きアライメント、調節可能な制約付きアライメント、第1の制約付きアライメント、第2の制約付きアライメント
330a~i 制約付きアライメント
500 システム、コンピューティングデバイス
500a 標準サーバ、サーバ
500b ラップトップコンピュータ
500c ラックサーバシステム
510 プロセッサ、構成要素
520 メモリ、構成要素、不揮発性メモリ
530 記憶デバイス、構成要素
540 高速インターフェース/コントローラ、構成要素、高速インターフェース、高速コントローラ
550 高速拡張ポート、構成要素
560 低速インターフェース/コントローラ、構成要素、低速コントローラ
570 低速バス
580 ディスプレイ
590 低速拡張ポート
図1A
図1B
図1C
図2
図3A
図3B
図4
図5