(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-04
(54)【発明の名称】非自己回帰デコーディングによるストリーミングRNNトランスデューサの検討
(51)【国際特許分類】
G10L 15/16 20060101AFI20240927BHJP
【FI】
G10L15/16
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024520917
(86)(22)【出願日】2022-09-16
(85)【翻訳文提出日】2024-05-24
(86)【国際出願番号】 US2022076584
(87)【国際公開番号】W WO2023059978
(87)【国際公開日】2023-04-13
(32)【優先日】2021-10-06
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100142907
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】ワン、ウェイラン
(72)【発明者】
【氏名】フー、キー
(72)【発明者】
【氏名】サイナス、ターラ エヌ
(57)【要約】
方法(400)は第1パス中、トランスデューサデコーダモデル(230)によって生成済みの候補仮説(120a)の初期アライメント(234)を受信する工程を備える。候補仮説は発話(106)の候補トランスクリプションに対応し、候補仮説の初期アライメントは出力ラベルのシーケンスを備える。各出力ラベルは、空白記号または仮定のサブワード単位に対応する。本方法はまた発話(222)を特徴付けるオーディオエンコーディングの後続シーケンスを受信する工程を備える。初期改良ステップ中、本方法はまた、非自己回帰デコーダ(300)を使用することで、出力ラベルの再スコアリング済みシーケンスに対する新しいアライメント(324)を生成する工程を備える。非自己回帰デコーダは、候補仮説の初期アライメントと、オーディオエンコーディングの後続シーケンスと、を受信するように構成される。
【特許請求の範囲】
【請求項1】
コンピュータ実施方法(400)であって、データ処理ハードウェア(510)によって実行されるとき、前記データ処理ハードウェア(510)に動作を行なわせ、前記動作は、
発話(106)を特徴付けるオーディオエンコーディングの初期シーケンス(212)に基づき、第1パス中にトランスデューサデコーダモデル(230)によって生成済みの候補仮説(120a)の初期アライメント(234)を受信する工程であって、前記候補仮説(120a)は前記発話(106)の候補トランスクリプションに対応しており、前記候補仮説(120a)の前記初期アライメント(234)は、各々が空白記号または仮定のサブワード単位に対応する出力ラベルのシーケンスを備えている、前記初期アライメント(234)を受信する工程と、
前記発話(106)を特徴付けるオーディオエンコーディングの後続シーケンス(222)を受信する工程と、
初期改良ステップ中、前記第1パス中に前記トランスデューサデコーダモデル(230)によって生成済みの前記候補仮説(120a)の前記初期アライメント(234)と、前記オーディオエンコーディングの後続シーケンス(222)と、を受信するように構成された非自己回帰デコーダ(300)を使用することで、出力ラベルの再スコアリング済みシーケンスに対する新しいアライメント(324)を生成する工程と、
を備えている、コンピュータ実施方法(400)。
【請求項2】
前記非自己回帰デコーダ(300)は複数の変換層(310)を備えており、複数の前記変換層(310)は、各々、
前記初期アライメント(234)に関連付けられたテキスト特徴に対してセルフアテンションを行なう工程と、
前記テキスト特徴に対して行なわれた前記セルフアテンションをクエリとして使用することで、キーおよび値の両方を表す前記オーディオエンコーディングの後続シーケンス(222)に対してクロスアテンションを行なうことによって、変換層出力(312)を提供する工程と、
を行なうように構成される、
請求項1に記載のコンピュータ実施方法(400)。
【請求項3】
複数の前記変換層(310)のうちの初期変換層(310)に続く各変換層(310)の各々は、対応する以前変換層(310)からの前記変換層出力(312)を前記テキスト特徴として受信する、
請求項2に記載のコンピュータ実施方法(400)。
【請求項4】
複数の前記変換層(310)のうちの最終変換層(310)は、前記出力ラベルの再スコアリング済みシーケンスの前記新しいアライメント(324)を予測するように構成された最終ソフトマックス層(320)に、前記変換層出力(312)を提供する、
請求項2または3に記載のコンピュータ実施方法(400)。
【請求項5】
前記動作はさらに、前記初期改良ステップに続く1つまたは複数の追加の改良ステップの各々の期間中、前の改良ステップ中に生成済みの前記出力ラベルの再スコアリング済みシーケンスの前記新しいアライメント(324)を受信するように構成された前記非自己回帰デコーダ(300)を使用することで、出力ラベルの再スコアリング済みシーケンスに対する新しいアライメント(324)を生成する工程を備えている、
請求項1~4のいずれか1項に記載のコンピュータ実施方法(400)。
【請求項6】
前記出力ラベルの再スコアリング済みシーケンスに対する前記新しいアライメント(324)を生成する工程は、前記候補仮説(120a)の前記初期アライメント(234)の1つまたは複数の出力ラベルを挿入、削除、または置換、する工程を備えている、
請求項1~5のいずれか1項に記載のコンピュータ実施方法(400)。
【請求項7】
前記動作はさらに、前記第1パス中にコーザルエンコーダ(210)によって、発話(106)に対応する音響フレーム(110)のシーケンスに基づき、前記オーディオエンコーディングの初期シーケンス(212)を生成する工程を備えている、
請求項1~6のいずれか1項に記載のコンピュータ実施方法(400)。
【請求項8】
前記オーディオエンコーディングの後続シーケンス(222)は、前記オーディオエンコーディングの初期シーケンス(212)に基づき、非コーザルエンコーダ(220)によってエンコードされる、
請求項7に記載のコンピュータ実施方法(400)。
【請求項9】
前記トランスデューサデコーダモデル(230)は、前記オーディオエンコーディングの初期シーケンス(212)を使用することで、前記候補仮説(120a)を生成する、
請求項7または8に記載のコンピュータ実施方法(400)。
【請求項10】
前記候補仮説(120a)の前記候補トランスクリプションは、各々が仮定のサブワード単位に対応する出力ラベルのシーケンスを備えている、
請求項1~9のいずれか1項に記載のコンピュータ実施方法(400)。
【請求項11】
データ処理ハードウェア(510)と、
前記データ処理ハードウェア(510)に通信するメモリハードウェア(520)と、を備えており、前記メモリハードウェア(520)は、前記データ処理ハードウェア(510)で実行されるとき、前記データ処理ハードウェア(510)に、動作を行なわせる命令を記憶しており、前記動作は、
発話(106)を特徴付けるオーディオエンコーディングの初期シーケンス(212)に基づき、第1パス中にトランスデューサデコーダモデル(230)によって生成済みの候補仮説(120a)の初期アライメント(234)を受信する工程であって、前記候補仮説(120a)は前記発話(106)の候補トランスクリプションに対応しており、前記候補仮説(120a)の前記初期アライメント(234)は、各々が空白記号または仮定のサブワード単位に対応する出力ラベルのシーケンスを備えている、前記初期アライメント(234)を受信する工程と、
前記発話(106)を特徴付けるオーディオエンコーディングの後続シーケンス(222)を受信する工程と、
初期改良ステップ中、前記第1パス中に前記トランスデューサデコーダモデル(230)によって生成済みの前記候補仮説(120a)の前記初期アライメント(234)と、前記オーディオエンコーディングの後続シーケンス(222)と、を受信するように構成された非自己回帰デコーダ(300)を使用することで、出力ラベルの再スコアリング済みシーケンスに対する新しいアライメント(324)を生成する工程と、
を備えている、システム(100)。
【請求項12】
前記非自己回帰デコーダ(300)は複数の変換層(310)を備えており、複数の前記変換層(310)は、各々、
前記初期アライメント(234)に関連付けられたテキスト特徴に対してセルフアテンションを行なう工程と、
前記テキスト特徴に対して行なわれた前記セルフアテンションをクエリとして使用することで、キーおよび値の両方を表す前記オーディオエンコーディングの後続シーケンス(222)に対してクロスアテンションを行なうことによって、変換層出力(312)を提供する工程と、
を行なうように構成される、
請求項11に記載のシステム(100)。
【請求項13】
複数の前記変換層(310)のうちの初期変換層(310)に続く各変換層(310)の各々は、対応する以前変換層(310)からの前記変換層出力(312)を前記テキスト特徴として受信する、
請求項12に記載のシステム(100)。
【請求項14】
複数の前記変換層(310)のうちの最終変換層(310)は、前記出力ラベルの再スコアリング済みシーケンスの前記新しいアライメント(324)を予測するように構成された最終ソフトマックス層(320)に、前記変換層出力(312)を提供する、
請求項12または13に記載のシステム(100)。
【請求項15】
前記動作はさらに、前記初期改良ステップに続く1つまたは複数の追加の改良ステップの各々の期間中、前の改良ステップ中に生成済みの前記出力ラベルの再スコアリング済みシーケンスの前記新しいアライメント(324)を受信するように構成された前記非自己回帰デコーダ(300)を使用することで、出力ラベルの再スコアリング済みシーケンスに対する新しいアライメント(324)を生成する工程を備えている、
請求項11~14のいずれか1項に記載のシステム(100)。
【請求項16】
前記出力ラベルの再スコアリング済みシーケンスに対する前記新しいアライメント(324)を生成する工程は、前記候補仮説(120a)の前記初期アライメント(234)の1つまたは複数の出力ラベルを挿入、削除、または置換、する工程を備えている、
請求項11~15のいずれか1項に記載のシステム(100)。
【請求項17】
前記動作はさらに、前記第1パス中にコーザルエンコーダ(210)によって、発話(106)に対応する音響フレーム(110)のシーケンスに基づき、前記オーディオエンコーディングの初期シーケンス(212)を生成する工程を備えている、
請求項11~16のいずれか1項に記載のシステム(100)。
【請求項18】
前記オーディオエンコーディングの後続シーケンス(222)は、前記オーディオエンコーディングの初期シーケンス(212)に基づき、非コーザルエンコーダ(220)によってエンコードされる、
請求項17に記載のシステム(100)。
【請求項19】
前記トランスデューサデコーダモデル(230)は、前記オーディオエンコーディングの初期シーケンス(212)を使用することで、前記候補仮説(120a)を生成する、
請求項17または18に記載のシステム(100)。
【請求項20】
前記候補仮説(120a)の前記候補トランスクリプションは、各々が仮定のサブワード単位に対応する出力ラベルのシーケンスを備えている、
請求項11~19のいずれか1項に記載のシステム(100)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、非自己回帰デコーディングによるストリーミングRNNトランスデューサの検討に関する。
【背景技術】
【0002】
自動音声認識(ASR)システムは、各モデルが専用の目的がある複数のモデルから、単一のニューラルネットワークを使用することで、オーディオ波形(すなわち、入力シーケンス)を出力文(すなわち、出力シーケンス)に直接マッピングする統合モデルへと進化している。この統合によって、シーケンスツーシーケンスのアプローチをもたらしているので、オーディオ特徴のシーケンスが与えられたときに単語(または書記素)のシーケンスが生成される。統合構造によって、モデルの全ての構成要素を単一のエンドツーエンド(E2E)ニューラルネットワークとして共同でトレーニングされ得る。ここで、E2Eモデルは、アーキテクチャが完全にニューラルネットワークで構築されるモデルを指す。すなわち、外部構成要素、および/またはマニュアルで設計された構成要素(例えば、有限状態トランスデューサ、レキシコン、テキスト標準化モジュール)のない完全なニューラルネットワーク機能である。加えて、E2Eモデルをトレーニングするとき、これらのモデルは、通常、決定木からのブートストラッピングまたは別のシステムからの時間調整は必要ない。これらのE2E ASRシステムは驚異的な進歩を遂げ、単語誤り率(WER)を備えているいくつかの一般的なベンチマークで従来の自動音声認識ASRシステムを上回っている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
例えば、音声検索またはオンデバイスのディクテーション等、ユーザとのインタラクションを伴う多くのアプリケーションでは、モデルがストリーミング方式で認識を行なう必要がある。オフラインビデオキャプチャ等の他のアプリケーションでは、モデルをストリーミングする必要がなく、将来のコンテキストを利用してパフォーマンスを向上させることができる。多くの場合、モデルがストリーミング方式で認識を行なうことで、同時に将来のコンテキストを利用する非ストリーミングモデルとで同様にパフォーマンスが向上することから恩恵を受けるだろう。
【課題を解決するための手段】
【0004】
本開示の一態様は、データ処理ハードウェアで実行されるとき、データ処理ハードウェアに、非自己回帰デコーディングによるストリーミングRNN-Tの検討を行なうための動作を行なわせるコンピュータ実施方法を提供する。動作は、第1パス中、トランスデューサデコーダモデルによって生成済みの候補仮説の初期アライメントを受信する工程を備えている。候補仮説は発話の候補トランスクリプションに対応しており、候補仮説の初期アライメントは、各々が空白記号または仮定のサブワード単位に対応する出力ラベルのシーケンスを備えている。動作はまた、発話を特徴付けるオーディオエンコーディングの後続シーケンスを受信する工程を備えている。初期改良ステップ中、動作は、第1パス中にトランスデューサモデルによって生成済みの候補仮説の初期アライメントと、オーディオエンコーディングの後続シーケンスと、を受信するように構成された非自己回帰デコーダを使用することで、出力ラベルの再スコアリング済みシーケンスに対する新しいアライメントを生成する工程を備えている。
【0005】
本開示の実施態様は以下の任意選択の特徴の1つまたは複数を含み得る。いくつかの実施態様では、非自己回帰デコーダは複数の変換層を備えており、複数の変換層は、各々、初期アライメントに関連付けられたテキスト特徴に対してセルフアテンション(自己注意)を行なうことで、テキスト特徴に対して行なわれたセルフアテンションをクエリとして使用することによって、キーおよび値の両方を表すオーディオエンコーディングの後続シーケンスに対してクロスアテンションを行なうことで、変換層出力を提供するように構成されている。これらの実施態様では、複数の変換層のうちの初期変換層に続く各変換層の各々は、対応する以前変換層からの変換層出力をテキスト特徴として受信する。複数の変換層のうちの最終変換層は、出力ラベルの再スコアリング済みシーケンスに対する新しいアライメントを予測するように構成された最終ソフトマックス層に、変換層出力を提供する。
【0006】
いくつかの例では、初期改良ステップに続く1つまたは複数の追加の改良ステップの各々の期間中、動作はさらに、前の改良ステップ中に生成済みの出力ラベルの再スコアリング済みシーケンスに対する新しいアライメントを受信するように構成された非自己回帰デコーダを使用することで、出力ラベルの再スコアリング済みシーケンスに対する新しいアライメントを生成する工程を備えている。出力ラベルの再スコアリング済みシーケンスに対する新しいアライメントを生成する工程は、候補仮説の初期アライメントの1つまたは複数の出力ラベルを挿入、削除、または置換、する工程を含み得る。
【0007】
いくつかの実施態様では、動作はさらに、第1パス中にコーザル(要因、因果)エンコーダによって、発話に対応する音響フレームのシーケンスに基づきオーディオエンコーディングの初期シーケンスを生成する工程を備えている。これらの実施態様では、オーディオエンコーディングの後続シーケンスは、オーディオエンコーディングの初期シーケンスに基づき、非コーザルエンコーダによってエンコードされる。トランスデューサデコーダは、オーディオエンコーディングの初期シーケンスを使用することで候補仮説を生成し得る。いくつかの例では、候補仮説の候補トランスクリプションは、各々が仮定のサブワード単位に対応する出力ラベルのシーケンスを備えている。
【0008】
本開示の別の態様は、データ処理ハードウェアと、データ処理ハードウェアで実行されるとき、データ処理ハードウェアに動作を行なわせる命令を記憶するメモリハードウェアと、を備えているシステムを提供する。動作は、第1パス中にトランスデューサデコーダモデルによって生成済みの候補仮説の初期アライメントを受信する工程を備えている。候補仮説は発話の候補トランスクリプションに対応しており、候補仮説の初期アライメントは、各々が空白記号または仮定のサブワード単位に対応する出力ラベルのシーケンスを備えている。動作はまた、発話を特徴付けるオーディオエンコーディングの後続シーケンスを受信する工程を備えている。初期改良ステップ中、動作は、第1パス中にトランスデューサモデルによって生成済みの候補仮説の初期アライメントと、オーディオエンコーディングの後続シーケンスと、を受信するように構成された非自己回帰デコーダを使用することで、出力ラベルの再スコアリング済みシーケンスに対する新しいアライメントを生成する工程を備えている。
【0009】
本開示の実施態様は以下の任意選択の特徴の1つまたは複数を含み得る。いくつかの実施態様では、非自己回帰デコーダは複数の変換層を備えており、複数の変換層は、各々、初期アライメントに関連付けられたテキスト特徴に対してセルフアテンションを行なうことで、テキスト特徴に対して行なわれたセルフアテンションをクエリとして使用することで、キーおよび値の両方を表すオーディオエンコーディングの後続シーケンスに対してクロスアテンションを行なうことによって、変換層出力を提供するように構成されている。これらの実施態様では、複数の変換層のうちの初期変換層に続く各変換層の各々は、対応する以前変換層からの変換層出力をテキスト特徴として受信する。複数の変換層のうちの最終変換層は、出力ラベルの再スコアリング済みシーケンスに対する新しいアライメントを予測するように構成された最終ソフトマックス層に、変換層出力を提供する。
【0010】
いくつかの例では、初期改良ステップに続く1つまたは複数の追加の改良ステップの各々の期間中、動作はさらに、前の改良ステップ中に生成済みの出力ラベルの再スコアリング済みシーケンスに対する新しいアライメントを受信するように構成された非自己回帰デコーダを使用することで、出力ラベルの再スコアリング済みシーケンスに対する新しいアライメントを生成する工程を備えている。出力ラベルの再スコアリング済みシーケンスに対する新しいアライメントを生成する工程は、候補仮説の初期アライメントの1つまたは複数の出力ラベルを挿入、削除、または置換、する工程を含み得る。
【0011】
いくつかの実施態様では、動作はさらに、第1パス中にコーザルエンコーダによって、発話に対応する音響フレームのシーケンスに基づきオーディオエンコーディングの初期シーケンスを生成する工程を備えている。これらの実施態様では、オーディオエンコーディングの後続シーケンスは、オーディオエンコーディングの初期シーケンスに基づき、非コーザルエンコーダによってエンコードされる。トランスデューサデコーダは、オーディオエンコーディングの初期シーケンスを使用することで候補仮説を生成し得る。いくつかの例では、候補仮説の候補トランスクリプションは、各々が仮定のサブワード単位に対応する出力ラベルのシーケンスを備えている。
【0012】
本開示の1つまたは複数の実施態様の詳細は、添付の図面および下記の説明において記載される。他の態様、特徴、および利点は、説明および図面、ならびに請求項から明らかになる。
【図面の簡単な説明】
【0013】
【
図2】非自己回帰デコーディングによる検討を行なう音声認識モデルの例の概略図である。
【
図3】初期改良ステップ中の
図2の音声認識モデルの非自己回帰デコーダの例の概略図である。
【
図4】非自己回帰デコーディングによる検討を行なうコンピュータ実施方法の動作の例示的な配列のフローチャートである。
【
図5】本明細書に説明されるシステムおよび方法を実施するべく使用され得るコンピューティングデバイスの例の概略図である。
【発明を実施するための形態】
【0014】
様々な図面における同様の参照記号は、同様の要素を指す。
エンドツーエンド(E2E)自動音声認識(ASR)モデルは、従来、ストリーミングモードまたは非ストリーミングモードのどちらか一方で動作するように構造化される。従来、E2E ASRモデルは、エンコーダおよびデコーダをメイン構成要素として備えている。音声検索またはオンデバイスのディクテーション等、エンドユーザとのインタラクションを伴うアプリケーションは、モデルがストリーミング方式で認識を行なうことが必要になり得る。ここで、ストリーミング方式で認識を行なうことは、自動音声認識ASRモデルが発話された各単語を可能な限り遅延なく出力することを指す。オフラインビデオキャプショニング等の他のアプリケーションは、モデルをストリームすることが必要ではなく、パフォーマンスを向上させる将来のコンテキストを利用できる。例えば、検討モデルは、長短期記憶(LSTM)モデルまたは変換再スコアリングモデルとで比較すると、希少単語または語彙外(OOV)単語の認識において大きな改善を示す。すなわち、検討モデルは、アテンションメカニズムを使用することで完全なオーディオコンテキストを調べることによって、初期音声認識結果を修正するのに優れている。
【0015】
検討モデルのパフォーマンスが向上すると、遅延が増加するとともに、モデルサイズが大きくなるという代償が伴うことによって、検討モデルはストリーミングまたはオンデバイスのアプリケーションには適さなくなる。特に、検討モデルは、多くの場合、初期音声認識結果を左から右の順序で検討するように制約された自己回帰モデルである。他方では、非自己回帰モデルは、左から右の順序で初期音声認識結果を検討することに制約されない。すなわち、非自己回帰モデルは、各出力ステップで、初期音声認識結果の複数の位置(例えば、出力フレーム)を同時に更新できる。したがって、非自己回帰モデルは遅延が低くなる傾向があるが、同様のサイズのシングルパス自己回帰モデルよりも精度(例えば、単語誤り率(WER))が低くなる。
【0016】
本明細書の実施態様は、非自己回帰デコーディングによるストリーミング再帰型ニューラルネットワークトランスデューサ(RNN-T)の検討のための方法およびシステムを対象としている。より具体的には、非自己回帰デコーダは、第1パス中にトランスデューサデコーダモデルによって生成済みの発話の候補仮説の初期アライメントを受信する。ここで、トランスデューサデコーダは、低いWERおよび低遅延で候補仮説を生成する小さな自己回帰モデルであり得る。また、非自己回帰デコーダは、発話を特徴付けるオーディオエンコーディングの後続シーケンスも受信する。初期改良ステップ中、非自己回帰デコーダは、出力ラベルの再スコアリング済みシーケンスに対する新しいアライメントを生成する。特に、オーディオエンコーディングの後続シーケンスは、追加の右(ライト)コンテキストを使用することでカスケーディングエンコーダによって生成されるので、非自己回帰デコーダは、検討前に追加のオーディオコンテキストから恩恵を受ける。すなわち、非自己回帰デコーダは、左から右の順序で検討を行なう制約がなく、追加の右コンテキストからのラベル依存性に基づき新しいアライメントを生成する。さらに、明らかになるように、非自己回帰デコーダは、初期改良ステップに続く任意の数の追加の改良ステップを行ない得、それによって、追加の改良ステップごとに新しいアライメントが生成される。
【0017】
図1は、音声環境で動作するシステム100の例である。音声環境では、ユーザ104がユーザデバイス10等のコンピューティングデバイスとでインタラクトする方式は音声入力によって行なわれ得る。ユーザデバイス10(一般的に、デバイス10とも呼ばれる)は、音声環境内の1人以上のユーザ104からのサウンド(例えば、ストリーミングオーディオデータ)をキャプチャするように構成されている。ここで、ストリーミングオーディオデータは、可聴クエリ、ユーザデバイス10に対するコマンド、またはデバイス10によってキャプチャされた可聴通信、として機能するユーザ104による音声発話106を指し得る。ユーザデバイス10の音声対応システムは、クエリに応じており、および/または1つまたは複数の下流アプリケーションによってコマンドを行なわせる/遂行させることによって、クエリまたはコマンドを処理し得る。
【0018】
ユーザデバイス10は、ユーザ104に関連付けられており、オーディオデータを受信することが可能にされている任意のコンピューティングデバイスに対応し得る。ユーザデバイス10のいくつかの例は、限定ではないが、モバイルデバイス(例えば、携帯電話、タブレット、ラップトップ)、コンピュータ、ウェアラブルデバイス(例えば、スマートウォッチ)、スマートアプライアンス、モノのインターネット(IoT)デバイス、車両インフォテインメントシステム、スマートディスプレイ、スマートスピーカー等を備えている。ユーザデバイス10は、データ処理ハードウェア12と、データ処理ハードウェア12に通信するメモリハードウェア14と、を備えており、データ処理ハードウェア12によって実行されるとき、データ処理ハードウェア12に1つまたは複数の動作を行なわせる命令を記憶する。ユーザデバイス10はさらにオーディオシステム16を備えており、オーディオシステム16は、音声環境内の音声発話106をキャプチャして電気信号に変換するオーディオキャプチャデバイス(例えば、マイク)16、16aと、(例えば、ユーザデバイス10からの出力オーディオデータとして)可聴音声信号を通信するための音声出力デバイス(例えば、スピーカー)16、16bと、を伴う。示される例では、ユーザデバイス10は単一のオーディオキャプチャデバイス16aを実装しているが、ユーザデバイス10は、本開示の範囲から逸脱することなく、オーディオキャプチャデバイス16aのアレイを実装し得る。それによって、アレイ内の1つまたは複数のキャプチャデバイス16aは、ユーザデバイス10に物理的に常駐していないが、オーディオシステム16に通信し得る。
【0019】
音声環境では、自動音声認識(ASR)システム118が自動音声認識ASRモデル200を実装しており、ユーザ104のユーザデバイス10に、および/またはネットワーク40を介してユーザデバイス10に通信するリモートコンピューティングデバイス60(例えば、クラウドコンピューティング環境で実行される分散システムの1つまたは複数のリモートサーバ)に、常駐する。いくつかの例では、自動音声認識ASRモデル200は、再帰型ニューラルネットワークトランスデューサ(RNN-T)モデルであり得る。ユーザデバイス10および/またはリモートコンピューティングデバイス60はまた、ユーザ104が話してオーディオキャプチャデバイス16aによってキャプチャされた発話106を受信することで、発話106を自動音声認識ASRシステム118によって処理することが可能な入力音響フレーム110に関連付けられた対応するデジタル形式に変換するように構成されたオーディオサブシステム108を備えている。示される例では、ユーザは各々の発話106を話しており、オーディオサブシステム108は、自動音声認識ASRシステム118に入力するべく、発話106を対応するオーディオデータ(例えば、音響フレームのシーケンス)110に変換する。その後、自動音声認識ASRモデル200は、発話106に対応する音響フレーム110のシーケンスを入力として受信することで、自動音声認識ASRモデル200が音響フレーム110のシーケンスで音響フレーム110の各々を受信(例えば、処理)すると、各出力ステップで、発話106の対応するトランスクリプション120(例えば、音声認識結果/仮説)を生成/予測する。
【0020】
示される例では、自動音声認識ASRモデル200は、ストリーミング音声認識を行なって初期音声認識結果(例えば、候補仮説)120、120aを生成しており、初期音声認識結果120aを改善することによって最終音声認識結果(例えば、最終仮説)120、120bを生成し得る。初期音声認識結果120aおよび最終音声認識結果120bは、部分的な音声認識結果または全体の音声認識結果のどちらか一方に対応し得る。言い換えれば、初期音声認識結果120aおよび最終音声認識結果120bは、発話106の一部または発話106の全部のどちらか一方に対応し得る。例えば、部分的な音声認識結果は、音声発話の一部、または発話された用語の一部、にさえ対応し得る。しかしながら、後述するように、自動音声認識ASRモデル200は最終音声認識結果120bに対して追加の処理を行なうため、最終音声認識結果120bは初期音声認識結果120aよりも遅れ得る。
【0021】
ユーザデバイス10および/またはリモートコンピューティングデバイス60はまた、発話106のトランスクリプション120の表現をユーザデバイス10のユーザ104に提示するように構成されたユーザインタフェースジェネレータ(ユーザーインターフェースジェネレーター)107を実行する。下記にさらに詳細に説明されるように、ユーザインタフェースジェネレータ107は、時間1中に初期音声認識結果120aをストリーミング方式で表示しており、その後、時間2中に最終音声認識結果120bをストリーミング方式で表示し得る。特に、自動音声認識ASRモデル200は、最終音声認識結果120bが初期音声認識結果120aよりも改善しているにもかかわらず、最終音声認識結果120bをストリーミング方式で出力する。いくつかの構成では、自動音声認識ASRシステム118から出力されたトランスクリプション120は、発話106によって指定されたユーザコマンド/クエリを実行するべく(例えば、ユーザデバイス10またはリモートコンピューティングデバイス60で実行される自然言語理解(NLU)モジュールによって)処理される。追加的または代替的に、テキスト読み上げシステム(図示せず)(例えば、ユーザデバイス10またはリモートコンピューティングデバイス60の任意の組合せで実行される)は、ユーザデバイス10および/または別のデバイスによって可聴出力するべく、トランスクリプション120を合成音声に変換し得る。
【0022】
示される例では、ユーザ104は、自動音声認識ASRシステム118を使用するユーザデバイス10のプログラムまたはアプリケーション50(例えば、デジタルアシスタントアプリケーション50)とでインタラクトする。例えば、
図1は、ユーザ104がデジタルアシスタントアプリケーション50に通信しており、デジタルアシスタントアプリケーション50がユーザデバイス10の画面上にデジタルアシスタントインタフェース18を表示するので、ユーザ104とデジタルアシスタントアプリケーション50との間の会話を示す。この例では、ユーザ104がデジタルアシスタントアプリケーション50に「今夜のコンサートは何時?」と尋ねる。ユーザ104からのこの質問(クエスチョン)は、オーディオキャプチャデバイス16aによってキャプチャされることで、ユーザデバイス10のオーディオシステム16によって処理された音声発話106である。この例では、オーディオシステム16は音声発話106を受信することで、それを自動音声認識ASRシステム118に入力するべく、音響フレーム110のシーケンスに変換する。
【0023】
例を続けると、自動音声認識ASRモデル200は、ユーザ104が話すときに発話106に対応する音響フレーム110のシーケンスを受信しながら、音響フレーム110のシーケンスをエンコードしており、その後、音響フレーム110のエンコードされたシーケンスを初期音声認識結果120aにデコードする。時間1中、ユーザインタフェースジェネレータ107は、デジタルアシスタントインタフェース18を介して、発話106の初期音声認識結果120aの表現を、ユーザデバイス10のユーザ104にストリーミング方式で提示する。それによって、単語、単語の断片、および/または個々の文字、は話されるとすぐに画面に表示される。いくつかの例では、第1先読み(ルックアヘッド)オーディオコンテキストはゼロに等しくなる。
【0024】
時間2中、ユーザインタフェースジェネレータ107は、デジタルアシスタントインタフェース18を介して、発話106の最終音声認識結果120bの表現を、ユーザデバイス10のユーザ104にストリーミング方式で提示する。それによって、単語、単語の断片、および/または個々の文字、は自動音声認識ASRモデル200によって生成されるとすぐに画面に表示される。いくつかの実施態様では、ユーザインタフェースジェネレータ107は、時間1に提示された初期音声認識結果120aの表現を、時間2に提示された最終音声認識結果120bの表現に置き換える。ここで、時間1および時間2は、ユーザインタフェースジェネレータ107が各々の音声認識結果120を提示したときに対応するタイムスタンプを含み得る。この例では、時間1のタイムスタンプは、ユーザインタフェースジェネレータ107が最終音声認識結果120bよりも早い時間に初期音声認識結果120aを提示することを示す。例えば、最終音声認識結果120bは、初期音声認識結果120aよりも正確であると推定されるので、最終的にトランスクリプション120として表示される最終音声認識結果120bは、初期音声認識結果120aで誤認識されている場合がある任意の用語を修正し得る。この例では、自動音声認識ASRモデル200によって出力されたストリーミング初期音声認識結果120aは、時間1にユーザデバイス10の画面に表示されることで低遅延に関連付けられているので、ユーザ104にユーザのクエリが処理されているという応答性を提供する。一方で、自動音声認識ASRモデル200によって出力されるとともに時間2において画面に表示される最終音声認識結果120bは、追加の音声認識モデルおよび/または言語モデルを活用することで精度の点で音声認識の品質を向上させるが、遅延が増加する。しかしながら、初期音声認識結果120aは、ユーザが発話106を発話するときに表示されるので、最終音声認識結果120bを生成することで最終的に表示する際に関連付けられる長い遅延は、ユーザ104には気付かれない。
【0025】
図1に示される例では、デジタルアシスタントアプリケーション50は、自然言語処理を使用することで、ユーザ104によって提示された質問(クエスチョン)に応答し得る。自然言語処理は、概して、文字言語(例えば、初期音声認識結果120aおよび/または最終音声認識結果120b)を解釈しており、文字言語がいずれかのアクションを促すかどうかを判定する処理を指す。この例では、デジタルアシスタントアプリケーション50は自然言語処理を使用することで、ユーザ104からの質問がユーザのスケジュールに関するものであり、より具体的には、ユーザのスケジュールにあるコンサートに関するものであることを認識する。自然言語処理でこれらの詳細を認識することによって、「会場の開場は午後6時30分であり、コンサートは午後8時に始まる。」と応答19に提示される場合、自動アシスタントはユーザのクエリに対して応答19を返す。いくつかの構成では、自然言語処理は、ユーザデバイス10のデータ処理ハードウェア12に通信するリモートサーバ60上で発生する。
【0026】
ここで
図2を参照すると、いくつかの例では、自動音声認識ASRモデル200は、カスケーディングエンコーダ(エンコーダー)204、トランスデューサデコーダ(トランスデューサーデコーダー)230、および非自己回帰デコーダ(デコーダー)300、を備えている。カスケーディングエンコーダ204は、エンコーディング経路に2つのエンコーダ210、220を備えており、第1エンコーダ(第1のエンコーダー)210の出力がデコーディング前に、第2エンコーダ(第2のエンコーダー)220の入力をフィードするようにカスケードするモデル構造を指す。ここで、第1エンコーダ210および第2エンコーダ220は、各エンコーダの基礎となるアーキテクチャに関係なくカスケードされ得る。エンコーダ210、220は、各々、マルチヘッド(例えば、8ヘッド)のアテンション層のスタックを含み得る。いくつかの例では、エンコーダ210、220のマルチヘッドアテンション層のスタックは、512次元コンフォーマ層のスタックを備えている。他の例では、コンフォーマ層の代わりに、変換層を使用し得る。
【0027】
第1エンコーダ210は、各々がセルフアテンション層として使用されるマルチヘッド(例えば、8ヘッド)アテンションメカニズムを備えた17個のコンフォーマ層を備えているコーザル(要因、因果)エンコーダであり得る。さらに、第1エンコーダ210の各コンフォーマ層は、コーザル畳み込み層および左(レフト)コンテキストアテンション層を使用することで、第1エンコーダが任意の将来の入力(例えば、ゼロに等しい右(ライト)コンテキスト)を使用することを制限し得る。他方では、第2エンコーダ220は、各々がセルフアテンション層として使用されるマルチヘッド(例えば、8ヘッド)アテンションメカニズムを備えた4個のコンフォーマ層を備えている非コーザルエンコーダであり得る。第2エンコーダの各コンフォーマ層は、非コーザル畳み込み層および右コンテキストアテンション層を使用し得ることによって、第2エンコーダ220が将来の入力を使用する(例えば、注目する)ことを可能にする。すなわち、第2エンコーダ220は、追加の右コンテキスト(例えば、2.88秒)を受信して処理することで、エンコーダ出力を生成し得る。
【0028】
図2を引き続き参照すると、第1エンコーダ210は、d次元の特徴ベクトルのシーケンス(例えば、音響フレーム110のシーケンス)x=(x
1、x
2、・・・、x
T)(ここで
【0029】
【0030】
を受信することで、各出力ステップで、音響フレーム110のシーケンスにおける対応する音響フレーム110の第1高次特徴表現212を生成する。同様に、第2エンコーダ220は、第1エンコーダ210にカスケード接続されているので、第1高次特徴表現212を入力として受信することで、各出力ステップで、対応する第1高次特徴表現(例えば、オーディオエンコーディングの初期シーケンス)212に対する第2高次特徴表現222を生成する。特に、第2エンコーダ220は、追加の右コンテキストに注目しており、第2高次特徴表現(例えば、オーディオエンコーディングの後続のシーケンス)222の各々を生成する。しかしながら、場合によっては、第2エンコーダ220は、いずれの音響フレーム110も入力として受信することなく、第2高次特徴表現222を生成する。これらの例では、第2エンコーダ220は、第1高次特徴表現212だけを入力として使用することで、第2高次特徴表現222を生成する。カスケーディングエンコーダ204はストリーミング方式で動作し得、各出力ステップにおいて、カスケーディングエンコーダ204は、発話の一部または発話全部のどちらか一方に対応する第1高次特徴表現212および第2高次特徴表現222を生成する。
【0031】
トランスデューサデコーダ230は、ジョイントネットワーク232および予測ネットワーク236を有しているRNN-Tアーキテクチャを含み得る。いくつかの例では、トランスデューサデコーダ230は、非自己回帰デコーダ300のモデルサイズよりも小さいモデルサイズを備えている自己回帰モデルである。トランスデューサデコーダは、ジョイントネットワーク232を使用することで、第1エンコーダ210によって出力された第1高次特徴表現212と、予測ネットワーク236から出力された密集表現(デンスレプリゼンテーション、稠密表現)238と、を組合せることでデコーダ出力を生成する。すなわち、ジョイントネットワーク232は、予測ネットワーク236から出力された密集表現238と、第1エンコーダ210によって生成済みの第1高次特徴表現212と、を入力として受信することで、各出力ステップで候補仮説120aを生成するように構成されている。図示されていないが、トランスデューサデコーダ230は、トランスデューサデコーダ230の出力を受信する最終ソフトマックス層を含み得る。いくつかの実施態様では、ソフトマックス層はトランスデューサデコーダ230とは別であり、トランスデューサデコーダ230からの出力を処理する。次に、ソフトマックス層の出力はビーム検索処理で使用されており、正投影要素が選択される。いくつかの実施態様では、ソフトマックス層がトランスデューサデコーダ230に統合されていることによって、トランスデューサデコーダ230の出力はソフトマックス層の出力を表す。
【0032】
いくつかの実施態様では、トランスデューサデコーダ230によって出力された候補仮説120aは、可能な初期アライメント234に対する確率分布(例えば、可能な初期アライメント234の各々に関連付けられた確率)を備えている。言い換えれば、ジョイントネットワーク232は、各出力ステップ(例えば、時間ステップ)において、可能な初期アライメント234に対する確率分布を生成する。ここで、「可能な初期アライメント234」の各々は、各々が空白記号または仮定のサブワード単位に対応する出力ラベル/フレームのシーケンスに対応する。仮定のサブワード単位の各々は、指定された自然言語の書記素(記号/文字)または単語の一部を表し得る。例えば、自然言語が英語であるとき、出力ラベルのシーケンス(すなわち、出力フレームのシーケンス)は、28個の記号を備えているので、例えば、英語のアルファベットの26文字の各々に1つのラベルと、スペースを指定する1つのラベルと、および空白記号を指定する1つのラベルと、を備えている。したがって、トランスデューサデコーダ230は、所定の出力ラベルのセットの各々の発生の尤度を示す値のセットを出力し得る。この値のセットはベクトル(例えば、ワンホットベクトル)であり、出力ラベルのセットに対する確率分布を示し得る。いくつかのシナリオでは、出力ラベルは書記素(例えば、個々の文字、および潜在的に句読点、ならびに他の記号)であるが、出力ラベルのセットはそれに制限されない。例えば、出力ラベルのセットは、書記素に加えて、または書記素の代わりに、空白記号、単語の断片、および/または単語全体、を含み得る。また、出力ラベルは、音素またはサブ音素等の他のタイプの音声単位であり得る。
【0033】
いくつかの実施態様では、トランスデューサデコーダ230の出力分布は、出力フレームのシーケンスの各出力フレームにおける異なる出力ラベルの各々に対する事後確率値を備えている。したがって、異なる書記素、空白記号、または他の記号、を表す100個の異なる出力ラベルがある場合、トランスデューサデコーダ230によって出力された初期アライメント234は、出力フレームのシーケンスにおける各出力フレームで、出力ラベルごとに1つずつ、100個の異なる確率値を含み得る。場合によっては、トランスデューサデコーダ230は、各出力フレームで対応する最高確率値を有している単一の出力ラベルを出力する。例えば、トランスデューサデコーダ230は、各々の出力フレームにおける確率分布から対応する最高確率を有している「アドベンチャー」(adventure)に基づき、出力フレームのシーケンスにおける各々の出力フレームとして、仮定のサブワード単位「アドベンチャー」を選択し得る。
【0034】
代替として、トランスデューサデコーダ230は、仮定のサブワード単位の各々の対応する確率が閾値確率値を満たさないと判定(決定)したことに基づき、出力フレームのシーケンスにおける各々の出力フレームとして空白記号を選択し得る。言い換えれば、トランスデューサデコーダ230が、閾値確率値を満たす仮定のサブワード単位のいずれに対しても対応する確率を生成しないとき、トランスデューサデコーダ230が正確な仮定のサブワード単位を選択する可能性は低いので、ひいては、トランスデューサデコーダ230は空白記号を選択する。例えば、トランスデューサデコーダ230は、「φφ_pullφφ_pamp er s φφ」の初期アライメント234を生成し得、ここで、φは空白記号を表しており、そして「_」、「pull」、「pamp」、「er」、および「s」は、各々、「pull campers」(プルキャンパー)という発話に対応する各々の仮定のサブワード単位を表す。特に、トランスデューサデコーダ230によって出力された初期アライメント234は、発話された音声に正確に対応していない。
【0035】
いくつかの例では、トランスデューサデコーダ230は、初期アライメント234に基づき候補仮説120aの候補トランスクリプションを生成する。特に、候補仮説120aの候補トランスクリプションは、各々が仮定のサブワード単位に対応する出力ラベルのシーケンスを備えている。したがって、候補仮説120aの候補トランスクリプションと、候補仮説120aの初期アライメント234と、の間の違いとして、初期アライメント234の出力ラベルが空白記号を含み得るが、候補トランスクリプションは空白記号を含まないことが挙げられる。したがって、トランスデューサデコーダ230は、全ての空白記号を初期アライメント234から除去することによって、候補仮説120aの候補トランスクリプションを生成し得る。上記の例を続けると、トランスデューサデコーダ230は、全ての空白記号φを除去することによって、初期アライメント234を使用することで「pull pampers」のトランスクリプションを生成し得る。トランスデューサデコーダ230は、候補仮説120aのトランスクリプションをユーザデバイス10(
図1)に出力し得る。
【0036】
トランスデューサデコーダ230内では、予測ネットワーク236は2,048次元のLSTM層を2つ有し得、また各層の後には640次元の投影層も続く。予測ネットワーク236は、ジョイントネットワーク232の最終ソフトマックス層によって出力された非空白記号のシーケンスを入力として受信することで、各出力ステップで密集表現238を生成する。ジョイントネットワーク232は、前の初期アライメント234の密集表現238を受信することで、密集表現238を使用することによって後続の初期アライメント234を生成する。非自己回帰デコーダ300は、出力ステップの各々でトランスデューサデコーダ230によって生成済みの候補仮説120aの初期アライメント234と、出力ステップの各々で第2エンコーダ220によって生成済みの第2高次特徴表現222と、を受信することで、出力ステップの各々で最終仮説120bを生成するように構成されている。最終仮説120は、出力ラベルの再スコアリング済みシーケンスに対する新しいアライメント324を含み得る。
【0037】
図3は、初期改良ステップを行なう非自己回帰デコーダ300を示す。非自己回帰デコーダ300は、マルチヘッドアテンション層310のスタックを含み得る。いくつかの例では、マルチヘッドアテンション層のスタックは、複数の変換層310を備えている。したがって、マルチヘッドアテンション層310のスタックおよび複数の変換層310は、本明細書では、互換的に使用され得る。他の例では、変換層の代わりに、コンフォーマ層を使用し得る。
図3に示されるように、複数の変換層310は、分かりやすくするためだけに、3つの変換層310a~310cを備えているが、複数の変換層310は、任意の数の変換層310を含み得ることが理解される。
【0038】
変換層310の各々は、候補仮説120aの初期アライメント234に関連付けられたテキスト特徴に対してセルフアテンションを行なうように構成されている。複数の変換層310のうちの初期変換層310は、テキスト特徴を初期アライメント234自体から抽出することでセルフアテンションを行なう。
図3に示されるように、第1変換層(第1の変換層)310、310aは、初期変換層310を備えており、テキスト特徴を初期アライメント234から抽出することでセルフアテンションを行なうように構成されている。他方では、複数の変換層310のうち初期変換層310に続く各変換層310の各々は、対応する以前変換層310から変換層出力312を受信することで、テキスト特徴を変換層出力312から抽出する。
図3を引き続き参照すると、第2変換層(第2の変換層)310、310bは、第1変換層310aによって出力された第1変換層出力312、312aからテキスト特徴を抽出することでセルフアテンションを行ない、第3変換層(第3の変換層)310、310cは、第2変換層310bによって出力された第2変換層出力312、312bからテキスト特徴を抽出することでセルフアテンションを行なう。
【0039】
変換層310の各々はさらに、テキスト特徴に対して行なわれたセルフアテンションをクエリとして使用することで、キーおよび値の両方を表す第2高次特徴表現222に対してクロスアテンションを行なうことによって、変換層出力312を提供(すなわち、生成)するように構成されている。変換層310は、第2エンコーダ220から直接、または対応する以前変換層310から、第2高次特徴表現222を受信し得る。
図3に示されるように、第1変換層310aは、初期アライメント234からのテキスト特徴に対して行なわれたセルフアテンションをクエリとして使用することで、第2高次特徴表現222に対してクロスアテンションを行なうことで、第1変換層出力312aを生成する。さらに、第2変換層310bおよび第3変換層310cは、各々の変換層出力312からのテキスト特徴に対して行なわれたセルフアテンションをクエリとして使用することで、第2高次特徴表現222に対してクロスアテンションを行なうことによって、各々、第2変換層出力312bおよび第3変換層出力312cを生成する。
【0040】
複数の変換層のうちの最終変換層310は、最終仮説120bを予測するように構成された最終ソフトマックス層320に変換層出力312を提供する。
図3に示されるように、第3変換層310cは、複数の変換層310のうちの最終変換層310であり、それによって、第3変換層310cは、第3変換層出力312cを最終ソフトマックス層320に送信する。非自己回帰デコーダ300は、最終仮説120bをユーザデバイス10(
図1)に送信し得る。
【0041】
非自己回帰デコーダ300によって出力された最終仮説出力120bは、可能な新しいアライメント324に対する確率分布を含み得る。ここで、「可能な新しいアライメント324」の各々は、各々が空白記号または仮定のサブワード単位に対応する出力ラベル/フレームのシーケンスに対応する。非自己回帰デコーダ300によって出力された確率分布は、出力フレームのシーケンスの各出力フレームにおける異なる出力ラベルの各々に対する事後確率値を含み得る。したがって、異なる書記素、空白記号、または他の記号、を表す100個の異なる出力ラベルがある場合、非自己回帰デコーダ300によって出力された新しいアライメント324は、出力フレームのシーケンスにおける各出力フレームで、出力ラベルごとに1つずつ、100個の異なる確率値を含み得る。場合によっては、非自己回帰デコーダ300は、各出力フレームで対応する最高確率値を有している単一の出力ラベルを出力する。これらの例では、非自己回帰デコーダ300は、各出力フレームで対応する最高確率値を有している単一の出力ラベルを同時に出力し得る(例えば、並列貪欲デコーディングを行なう)。代替として、トランスデューサデコーダ230は、仮定のサブワード単位の各々の対応する確率が閾値確率値を満たさないと判定したことに基づき、出力フレームのシーケンスにおける各々の出力フレームとして空白記号を選択し得る。
【0042】
非自己回帰デコーダ300によって出力された確率分布は、トランスデューサデコーダ230によって出力された確率分布とで同様であり得るが、非自己回帰デコーダ300が複数の変換層310および第2高次特徴表現222を使用することで行なう追加処理のため、事後確率値は各出力フレームで異なり得る。すなわち、非自己回帰デコーダ300は、第2高次特徴表現222および変換層出力312を使用することによって初期アライメント234を改善しており、新しいアライメント324を生成する。より具体的には、非自己回帰デコーダ300は、初期アライメント234の1つまたは複数の出力ラベルを削除することによって、初期アライメント234を改善し得る。非自己回帰デコーダ300はまた、新しいアライメント324の出力ラベルの再スコアリング済みシーケンスのうちの1つまたは複数を、初期アライメント234の出力ラベルのシーケンスに挿入または置換することによって、初期アライメント234を改善し得る。例えば、非自己回帰デコーダ300は、初期アライメント234「φφ_pullφφ_pamp er s φφ」と、対応する第2高次特徴表現222と、を受信することで、「φ_pullφφ_camp er sφφφ」の新しいアライメント324を生成し得る。この例では、非自己回帰デコーダ300は、初期アライメント234の先頭から空白記号を除去するだけでなく、初期アライメント234の末尾に空白記号を追加しているとともに、仮定のサブワード単位「pamp」を「camp」の仮定のサブワード単位に置換することによって、新しいアライメント324を生成した。したがって、新しいアライメント324が初期アライメント234のエラーを改善することによって、新しいアライメント324が発話106「pull campers」に正しく対応するようになる。
【0043】
いくつかの例では、非自己回帰デコーダ300は、新しいアライメント324に基づき、最終仮説120bの最終トランスクリプションを生成する。特に、最終仮説120bの最終トランスクリプションは、各々が仮定のサブワード単位に対応する出力ラベルのシーケンスを備えている。したがって、最終仮説120bの最終トランスクリプションと、最終仮説120bの新しいアライメント324と、の間の違いとして、新しいアライメント324の出力ラベルは空白記号を含み得るが、最終トランスクリプションは空白記号を含まないことが挙げられる。したがって、非自己回帰デコーダ300は、全ての空白記号を新しいアライメント324から除去することによって、最終トランスクリプションを生成し得る。上記の例を続けると、トランスデューサデコーダ230は、空白記号φの全てを除去することによって、新しいアライメント324を使用することで「pull campers」のトランスクリプション(転写、書き起こし)を生成し得る。
【0044】
図3では、新しいアライメント324を生成するべく初期改良ステップを行なう非自己回帰デコーダ300のみが示されるが、非自己回帰デコーダ300は、1つまたは複数(例えば、任意の数)の追加の改良ステップを行ない得ることが理解される。初期改良ステップ(
図3)に続く追加の改良ステップの各々の間に、非自己回帰デコーダ300は、前の改良ステップ中に生成済みの新しいアライメント324を受信することで、出力ラベルの再スコアリング済みシーケンスに対して別の新しいアライメントを生成するように構成されている。例えば、第2改良ステップ(例えば、
図3の初期改良ステップに続くステップ)は、初期改良ステップ中に生成済みの新しいアライメント324を受信するだろう。したがって、この例では、非自己回帰デコーダ300は、新しいアライメント324(例えば、初期アライメント234ではなく)を第1変換層310aへの入力として使用する。いくつかの実施態様では、非自己回帰デコーダ300は、最終仮説120bをユーザデバイス10(
図1)に出力する前に、所定数の改良ステップを行なう。他の実施態様では、非自己回帰デコーダ300は、新しいアライメント324が信頼閾値を満たすまで追加の改良ステップを行ない続ける。
【0045】
図4は、非自己回帰デコーディングによるストリーミングRNN-Tの検討を行なう方法400の動作の例示的な配列を示すフローチャートである。方法400は、メモリハードウェア520(
図5)に記憶された命令を使用することで、データ処理ハードウェア510(
図5)で実行し得る。データ処理ハードウェア510およびメモリハードウェア520は、コンピューティングデバイス500(
図5)に対応する
図1のユーザデバイス10および/またはリモートコンピューティングデバイス60に常駐し得る。
【0046】
動作402において、方法400は、第1パス中にトランスデューサデコーダモデル230によって生成済みの候補仮説120aの初期アライメント234を受信する工程を備えている。ここで、候補仮説120aは発話106の候補トランスクリプションに対応する。候補トランスクリプションは、各々が仮定のサブワード単位に対応する出力ラベルのシーケンスを備えている。他方で、候補仮説120aの初期アライメント234は、各々が空白記号または仮定のサブワード単位に対応する出力ラベルのシーケンスを備えている。動作404において、方法400は、発話106を特徴付ける第2高次特徴表現(例えば、オーディオエンコーディングの後続シーケンス)222を受信する工程を備えている。動作406において、方法400は、非自己回帰デコーダ300を使用することで、初期改良ステップ中に出力ラベルの再スコアリング済みシーケンスに対する新しいアライメント324を生成する工程を備えている。特に、非自己回帰デコーダ300は、第1パス中にトランスデューサデコーダモデル230によって生成済みの候補仮説120aの初期アライメント234と、第2高次特徴表現222と、を受信するように構成されている。さらに、非自己回帰デコーダ300は、新しいアライメント324の出力ラベルのシーケンスから空白記号を除去することによって、最終仮説120bを生成し得る。
【0047】
図5は、この文書に説明されるシステムおよび方法を実施するべく使用され得るコンピューティングデバイス500の例の概略図である。コンピューティングデバイス500は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、他の適切なコンピュータ等、様々な形式のデジタルコンピュータを表すことを意図している。ここで示される構成要素、それらの接続および関係、ならびにそれらの機能は、例示だけを意図しており、この文書で説明および/または特許請求されている発明の実施態様を制限することを意図していない。
【0048】
コンピューティングデバイス500は、プロセッサ510、メモリ520、ストレージデバイス530、メモリ520および高速拡張ポート550に接続する高速インタフェース/コントローラ540、ならびに低速バス570およびストレージデバイス530に接続する低速インタフェース/コントローラ560を備えている。構成要素510、520、530、540、550、および560の各々は、様々なバスを使用することで相互接続されており、共通のマザーボードに取り付けられ得る、または必要に応じて他の方式で取り付けられ得る。プロセッサ510は、メモリ520内またはストレージデバイス530上に記憶された命令を備えている、コンピューティングデバイス500内で実行するための命令を処理して、高速インタフェース540に接続されたディスプレイ580等の外部入力/出力デバイスにグラフィカルユーザインタフェース(GUI)のグラフィカル情報を表示できる。他の実施態様では、複数のメモリおよび複数のタイプのメモリと一緒に、必要に応じて、複数のプロセッサおよび/または複数のバスを使用し得る。また、複数のコンピューティングデバイス500が接続され得、各デバイスが(例えば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)必要な動作の一部を提供する。
【0049】
メモリ520は、コンピューティングデバイス500内に情報を非一時的に記憶する。メモリ520は、コンピュータ可読媒体、揮発性メモリユニット(複数可)、または不揮発性メモリユニット(複数可)であり得る。非一時的メモリ520は、コンピューティングデバイス500で使用するべく一時的または永続的にプログラム(例えば、命令のシーケンス)またはデータ(例えば、プログラム状態情報)を記憶するべく使用される物理デバイスであり得る。不揮発性メモリの例は、限定ではないが、フラッシュメモリ、読み取り専用メモリ(ROM)/プログラム可能な読み取り専用メモリ(PROM)/消去可能なプログラム可能読み取り専用メモリ(EPROM)/電子的に消去可能なプログラム可能読み取り専用メモリ(EEPROM)(例えば、通常、ブートプログラム等のファームウェアに使用される)を備えている。揮発性メモリの例は、限定ではないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、および、ディスクまたはテープ等を備えている。
【0050】
ストレージデバイス530は、コンピューティングデバイス500にマスストレージを提供することが可能にされている。いくつかの実施態様では、ストレージデバイス530はコンピュータ可読媒体である。様々な異なる実施態様では、ストレージデバイス530は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイス、フラッシュメモリ、または他の同様のソリッドステートメモリデバイス、あるいはストレージエリアネットワークまたは他の構成内のデバイスを備えているデバイスのアレイであり得る。追加の実施態様では、コンピュータプログラム製品は情報キャリア内に有形に具体化される。コンピュータプログラム製品は、実行されるとき、上記に説明した方法等の1つまたは複数の方法を行なう命令を備えている。情報キャリアは、メモリ520、ストレージデバイス530、またはプロセッサ510上のメモリ等のコンピュータまたは機械で可読媒体である。
【0051】
高速コントローラ540は、コンピューティングデバイス500の帯域幅を集中的に使用する動作を管理する一方、低速コントローラ560は、より低い帯域幅を集中的に使用する動作を管理する。そのような役割の割り当ては単なる例である。いくつかの実施態様では、高速コントローラ540は、メモリ520、ディスプレイ580(例えば、グラフィックプロセッサまたはアクセラレータを経由して)、および様々な拡張カード(図示せず)を受け入れ得る高速拡張ポート550に結合される。いくつかの実施態様では、低速コントローラ560は、ストレージデバイス530および低速拡張ポート590に結合される。様々な通信ポート(例えば、USB、Bluetooth(登録商標)、イーサネット(登録商標)、無線イーサネット(登録商標))を含み得る低速拡張ポート590は、例えば、ネットワークアダプタを経由して、キーボード、ポインティングデバイス、スキャナ等の1つまたは複数の入力/出力デバイス、またはスイッチもしくはルーター等のネットワーキングデバイスに結合され得る。
【0052】
コンピューティングデバイス500は、図に示されるように、様々な形式で実装され得る。例えば、標準サーバ500aとして、またはそのようなサーバ500aのグループで複数回、ラップトップコンピュータ500bとして、またはラックサーバシステム500cの一部として実装され得る。
【0053】
本明細書で説明されるシステムおよび技術の様々な実施態様は、デジタル電子回路および/または光学回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せにおいて実現できる。これらの様々な実施態様は、少なくとも1つのプログラマブルプロセッサを備えているプログラマブルシステムで実行可能および/または解読可能にされている1つまたは複数のコンピュータプログラムにおける実施態様を含み得、少なくとも1つのプログラマブルプロセッサは、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイス、からデータおよび命令を受信することで、それらにデータおよび命令を送信するべく結合された、特殊または汎用のものであり得る。
【0054】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラマブルプロセッサに対する機械命令を備えており、高レベル手続き型プログラミング言語、および/またはオブジェクト指向プログラミング言語、および/またはアセンブリ/機械言語で実装できる。本明細書で使用される場合、「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械可読信号として機械命令を受信する機械可読媒体を備えている、プログラマブルプロセッサに機械命令および/またはデータを提供するべく使用される任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置、および/またはデバイス(例えば、磁気ディスク、光学ディスク、メモリ、プログラマブル論理回路(PLD))を指す。「機械可読信号」という用語は、プログラマブルプロセッサに機械命令および/またはデータを提供するべく使用される任意の信号を指す。
【0055】
本明細書に説明される処理および論理フローは、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサ(データ処理ハードウェアとも呼ばれる)によって行なわれ、入力データを操作して出力を生成することによって機能を行なうことができる。また、処理および論理フローは、専用論理回路、例えば、FPGA(フィールドプログラムゲートアレイ)またはASIC(特定用途向け集積回路)によって行なわれ得る。コンピュータプログラムの実行に適切なプロセッサは、例として、汎用マイクロプロセッサおよび専用マイクロプロセッサの両方、ならびに任意のタイプのデジタルコンピュータの任意の1つまたは複数のプロセッサを含み得る。概して、プロセッサは、読み取り専用メモリ、ランダムアクセスメモリ、またはそれら両方から命令およびデータを受信する。コンピュータの重要な要素として、命令を実行するためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリデバイスとが挙げられる。概して、コンピュータはまた、データを記憶するための1つまたは複数のマスストレージデバイス(例えば、磁気ディスク、光磁気ディスク、または光ディスク)を備えている、あるいはマスストレージデバイスからデータを受信する、もしくはマスストレージデバイスにデータを転送する、またはそれら両方を行なうように動作可能に結合される。しかしながら、コンピュータはそのようなデバイスを有している必要はない。コンピュータプログラム命令およびデータを記憶するべく適切なコンピュータ可読媒体は、例として、半導体メモリデバイス(例えば、EPROM、EEPROM、およびフラッシュメモリデバイス)、磁気ディスク(例えば、内蔵ハードディスクまたはリムーバブルディスク)、光磁気ディスク、ならびにCD-ROMディスクおよびDVD-ROMディスクを備えている、不揮発性メモリ、媒体、およびメモリデバイスの全ての形態を備えている。プロセッサおよびメモリは、専用論理回路によって補完できる、または専用論理回路に組み込みできる。
【0056】
ユーザとのインタラクションを提供するべく、本開示の1つまたは複数の態様は、ユーザに情報を表示するためのディスプレイデバイス、例えば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニター、またはタッチスクリーン、および任意選択で、ユーザがコンピュータに入力を提供できるキーボードおよびポインティングデバイス、例えば、マウスまたはトラックボールを有しているコンピュータに実装できる。同様に、他の種類のデバイスを使用することで、ユーザとのインタラクションを提供できる。例えば、ユーザに提供されたフィードバックは、任意の形式の知覚フィードバック、例えば、視覚的フィードバック、聴覚的フィードバック、または触知的フィードバックであり得、ユーザからの入力は、音響入力、発話入力、または触知的入力を備えている、任意の形式で受信できる。さらに、コンピュータは、ユーザが使用するデバイスにドキュメントを送信することによって、またそのデバイスからドキュメントを受信することによって、ユーザとでインタラクトできる。例えば、ウェブブラウザから受信した要求に応じて、ユーザのクライアントデバイスのウェブブラウザにウェブページを送信することによってインタラクトする。
【0057】
いくつかの実施態様が説明されている。それにもかかわらず、本開示の趣旨および範囲から逸脱することなく、様々な修正がなされ得ることが理解される。したがって、他の実施態様は、以下の特許請求の範囲内に存在する。
【手続補正書】
【提出日】2024-05-24
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータ実施方法(400)であって、データ処理ハードウェア(510)によって実行されるとき、前記データ処理ハードウェア(510)に動作を行なわせ、前記動作は、
発話(106)を特徴付けるオーディオエンコーディングの初期シーケンス(212)に基づき、第1パス中にトランスデューサデコーダモデル(230)によって生成済みの候補仮説(120a)の初期アライメント(234)を受信する工程であって、前記候補仮説(120a)は前記発話(106)の候補トランスクリプションに対応しており、前記候補仮説(120a)の前記初期アライメント(234)は、各々が空白記号または仮定のサブワード単位に対応する出力ラベルのシーケンスを備えている、前記初期アライメント(234)を受信する工程と、
前記発話(106)を特徴付けるオーディオエンコーディングの後続シーケンス(222)を受信する工程と、
初期改良ステップ中、前記第1パス中に前記トランスデューサデコーダモデル(230)によって生成済みの前記候補仮説(120a)の前記初期アライメント(234)と、前記オーディオエンコーディングの後続シーケンス(222)と、を受信するように構成された非自己回帰デコーダ(300)を使用することで、出力ラベルの再スコアリング済みシーケンスに対する新しいアライメント(324)を生成する工程と、
を備えている、コンピュータ実施方法(400)。
【請求項2】
前記非自己回帰デコーダ(300)は複数の変換層(310)を備えており、複数の前記変換層(310)は、各々、
前記初期アライメント(234)に関連付けられたテキスト特徴に対してセルフアテンションを行なう工程と、
前記テキスト特徴に対して行なわれた前記セルフアテンションをクエリとして使用することで、キーおよび値の両方を表す前記オーディオエンコーディングの後続シーケンス(222)に対してクロスアテンションを行なうことによって、変換層出力(312)を提供する工程と、
を行なうように構成される、
請求項1に記載のコンピュータ実施方法(400)。
【請求項3】
複数の前記変換層(310)のうちの初期変換層(310)に続く各変換層(310)の各々は、対応する以前変換層(310)からの前記変換層出力(312)を前記テキスト特徴として受信する、
請求項2に記載のコンピュータ実施方法(400)。
【請求項4】
複数の前記変換層(310)のうちの最終変換層(310)は、前記出力ラベルの再スコアリング済みシーケンスの前記新しいアライメント(324)を予測するように構成された最終ソフトマックス層(320)に、前記変換層出力(312)を提供する、
請求項
2に記載のコンピュータ実施方法(400)。
【請求項5】
前記動作はさらに、前記初期改良ステップに続く1つまたは複数の追加の改良ステップの各々の期間中、前の改良ステップ中に生成済みの前記出力ラベルの再スコアリング済みシーケンスの前記新しいアライメント(324)を受信するように構成された前記非自己回帰デコーダ(300)を使用することで、出力ラベルの再スコアリング済みシーケンスに対する新しいアライメント(324)を生成する工程を備えている、
請求項1~4のいずれか1項に記載のコンピュータ実施方法(400)。
【請求項6】
前記出力ラベルの再スコアリング済みシーケンスに対する前記新しいアライメント(324)を生成する工程は、前記候補仮説(120a)の前記初期アライメント(234)の1つまたは複数の出力ラベルを挿入、削除、または置換、する工程を備えている、
請求項1~
4のいずれか1項に記載のコンピュータ実施方法(400)。
【請求項7】
前記動作はさらに、前記第1パス中にコーザルエンコーダ(210)によって、発話(106)に対応する音響フレーム(110)のシーケンスに基づき、前記オーディオエンコーディングの初期シーケンス(212)を生成する工程を備えている、
請求項1~
4のいずれか1項に記載のコンピュータ実施方法(400)。
【請求項8】
前記オーディオエンコーディングの後続シーケンス(222)は、前記オーディオエンコーディングの初期シーケンス(212)に基づき、非コーザルエンコーダ(220)によってエンコードされる、
請求項7に記載のコンピュータ実施方法(400)。
【請求項9】
前記トランスデューサデコーダモデル(230)は、前記オーディオエンコーディングの初期シーケンス(212)を使用することで、前記候補仮説(120a)を生成する、
請求項
7に記載のコンピュータ実施方法(400)。
【請求項10】
前記候補仮説(120a)の前記候補トランスクリプションは、各々が仮定のサブワード単位に対応する出力ラベルのシーケンスを備えている、
請求項1~
4のいずれか1項に記載のコンピュータ実施方法(400)。
【請求項11】
データ処理ハードウェア(510)と、
前記データ処理ハードウェア(510)に通信するメモリハードウェア(520)と、を備えており、前記メモリハードウェア(520)は、前記データ処理ハードウェア(510)で実行されるとき、前記データ処理ハードウェア(510)に、動作を行なわせる命令を記憶しており、前記動作は、
発話(106)を特徴付けるオーディオエンコーディングの初期シーケンス(212)に基づき、第1パス中にトランスデューサデコーダモデル(230)によって生成済みの候補仮説(120a)の初期アライメント(234)を受信する工程であって、前記候補仮説(120a)は前記発話(106)の候補トランスクリプションに対応しており、前記候補仮説(120a)の前記初期アライメント(234)は、各々が空白記号または仮定のサブワード単位に対応する出力ラベルのシーケンスを備えている、前記初期アライメント(234)を受信する工程と、
前記発話(106)を特徴付けるオーディオエンコーディングの後続シーケンス(222)を受信する工程と、
初期改良ステップ中、前記第1パス中に前記トランスデューサデコーダモデル(230)によって生成済みの前記候補仮説(120a)の前記初期アライメント(234)と、前記オーディオエンコーディングの後続シーケンス(222)と、を受信するように構成された非自己回帰デコーダ(300)を使用することで、出力ラベルの再スコアリング済みシーケンスに対する新しいアライメント(324)を生成する工程と、
を備えている、システム(100)。
【請求項12】
前記非自己回帰デコーダ(300)は複数の変換層(310)を備えており、複数の前記変換層(310)は、各々、
前記初期アライメント(234)に関連付けられたテキスト特徴に対してセルフアテンションを行なう工程と、
前記テキスト特徴に対して行なわれた前記セルフアテンションをクエリとして使用することで、キーおよび値の両方を表す前記オーディオエンコーディングの後続シーケンス(222)に対してクロスアテンションを行なうことによって、変換層出力(312)を提供する工程と、
を行なうように構成される、
請求項11に記載のシステム(100)。
【請求項13】
複数の前記変換層(310)のうちの初期変換層(310)に続く各変換層(310)の各々は、対応する以前変換層(310)からの前記変換層出力(312)を前記テキスト特徴として受信する、
請求項12に記載のシステム(100)。
【請求項14】
複数の前記変換層(310)のうちの最終変換層(310)は、前記出力ラベルの再スコアリング済みシーケンスの前記新しいアライメント(324)を予測するように構成された最終ソフトマックス層(320)に、前記変換層出力(312)を提供する、
請求項1
2に記載のシステム(100)。
【請求項15】
前記動作はさらに、前記初期改良ステップに続く1つまたは複数の追加の改良ステップの各々の期間中、前の改良ステップ中に生成済みの前記出力ラベルの再スコアリング済みシーケンスの前記新しいアライメント(324)を受信するように構成された前記非自己回帰デコーダ(300)を使用することで、出力ラベルの再スコアリング済みシーケンスに対する新しいアライメント(324)を生成する工程を備えている、
請求項11~14のいずれか1項に記載のシステム(100)。
【請求項16】
前記出力ラベルの再スコアリング済みシーケンスに対する前記新しいアライメント(324)を生成する工程は、前記候補仮説(120a)の前記初期アライメント(234)の1つまたは複数の出力ラベルを挿入、削除、または置換、する工程を備えている、
請求項11~
14のいずれか1項に記載のシステム(100)。
【請求項17】
前記動作はさらに、前記第1パス中にコーザルエンコーダ(210)によって、発話(106)に対応する音響フレーム(110)のシーケンスに基づき、前記オーディオエンコーディングの初期シーケンス(212)を生成する工程を備えている、
請求項11~
14のいずれか1項に記載のシステム(100)。
【請求項18】
前記オーディオエンコーディングの後続シーケンス(222)は、前記オーディオエンコーディングの初期シーケンス(212)に基づき、非コーザルエンコーダ(220)によってエンコードされる、
請求項17に記載のシステム(100)。
【請求項19】
前記トランスデューサデコーダモデル(230)は、前記オーディオエンコーディングの初期シーケンス(212)を使用することで、前記候補仮説(120a)を生成する、
請求項1
7に記載のシステム(100)。
【請求項20】
前記候補仮説(120a)の前記候補トランスクリプションは、各々が仮定のサブワード単位に対応する出力ラベルのシーケンスを備えている、
請求項11~
14のいずれか1項に記載のシステム(100)。
【国際調査報告】