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

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

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

特表2023-545988トランスフォーマトランスデューサ:ストリーミング音声認識と非ストリーミング音声認識を統合する1つのモデル
<>
  • 特表-トランスフォーマトランスデューサ:ストリーミング音声認識と非ストリーミング音声認識を統合する1つのモデル 図1
  • 特表-トランスフォーマトランスデューサ:ストリーミング音声認識と非ストリーミング音声認識を統合する1つのモデル 図2
  • 特表-トランスフォーマトランスデューサ:ストリーミング音声認識と非ストリーミング音声認識を統合する1つのモデル 図3A
  • 特表-トランスフォーマトランスデューサ:ストリーミング音声認識と非ストリーミング音声認識を統合する1つのモデル 図3B
  • 特表-トランスフォーマトランスデューサ:ストリーミング音声認識と非ストリーミング音声認識を統合する1つのモデル 図4
  • 特表-トランスフォーマトランスデューサ:ストリーミング音声認識と非ストリーミング音声認識を統合する1つのモデル 図5
  • 特表-トランスフォーマトランスデューサ:ストリーミング音声認識と非ストリーミング音声認識を統合する1つのモデル 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-11-01
(54)【発明の名称】トランスフォーマトランスデューサ:ストリーミング音声認識と非ストリーミング音声認識を統合する1つのモデル
(51)【国際特許分類】
   G10L 15/32 20130101AFI20231025BHJP
   G10L 15/16 20060101ALI20231025BHJP
   G10L 15/30 20130101ALI20231025BHJP
【FI】
G10L15/32 220Z
G10L15/16
G10L15/30
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023520502
(86)(22)【出願日】2021-03-19
(85)【翻訳文提出日】2023-06-02
(86)【国際出願番号】 US2021023052
(87)【国際公開番号】W WO2022076029
(87)【国際公開日】2022-04-14
(31)【優先権主張番号】63/087,817
(32)【優先日】2020-10-05
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
2.ETHERNET
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】アンシュマン・トリパティ
(72)【発明者】
【氏名】ハシム・サク
(72)【発明者】
【氏名】ハン・ル
(72)【発明者】
【氏名】チエン・ジャン
(72)【発明者】
【氏名】ジェヨン・キム
(57)【要約】
トランスフォーマ-トランスデューサモデル(200)は、オーディオエンコーダ(300)と、ラベルエンコーダ(220)と、ジョイントネットワーク(230)とを含む。オーディオエンコーダは、音響フレーム(110)のシーケンス受信し、複数の時間ステップの各々において、各音響フレームについての高次特徴表現を生成する。ラベルエンコーダは、ソフトマックス層(240)によって出力された非ブランク記号のシーケンスを受信し、複数の時間ステップの各々において密な表現を生成する。ジョイントネットワークは、高次特徴表現および複数の時間ステップの各々における密な表現を受信し、あり得る音声認識仮説にわたる確率分布を生成する。モデルのオーディオエンコーダは、ゼロの先読みオーディオコンテキストを用いて訓練されたトランスフォーマ層(400)の初期スタック(310)と、可変先読みオーディオコンテキストを用いて訓練されたトランスフォーマ層(400)の最終スタック(320)とを有するニューラルネットワークをさらに含む。
【特許請求の範囲】
【請求項1】
ストリーミング音声認識と非ストリーミング音声認識を統合する単一のトランスフォーマ-トランスデューサモデル(200)であって、前記単一のトランスフォーマ-トランスデューサモデル(200)は、
オーディオエンコーダ(300)であって、
音響フレーム(110)のシーケンスを入力として受信し、
複数の時間ステップの各々において、前記音響フレーム(110)のシーケンス内の対応する音響フレーム(110)についての高次特徴表現を生成する
ように構成された、オーディオエンコーダ(300)と、
ラベルエンコーダ(220)であって、
最終ソフトマックス層(240)によって出力された非ブランク記号のシーケンスを入力として受信し、
前記複数の時間ステップの各々において密な表現を生成する
ように構成された、ラベルエンコーダ(220)と、
ジョイントネットワーク(230)であって、
前記複数の時間ステップの各々において前記オーディオエンコーダ(300)によって生成された前記高次特徴表現、および前記複数の時間ステップの各々において前記ラベルエンコーダ(220)によって生成された前記密な表現を入力として受信し、
前記対応する時間ステップにおいてあり得る音声認識仮説にわたる確率分布を、前記複数の時間ステップの各々において生成する
ように構成された、ジョイントネットワーク(230)とを備え、
前記オーディオエンコーダ(300)は、複数のトランスフォーマ層(400)を有するニューラルネットワークを備え、前記複数のトランスフォーマ層(400)は、
各々がゼロの先読みオーディオコンテキストを用いて訓練されたトランスフォーマ層(400)の初期スタック(310)と、
各々が可変先読みオーディオコンテキストを用いて訓練されたトランスフォーマ層(400)の最終スタック(320)とを備える、単一のトランスフォーマ-トランスデューサモデル(200)。
【請求項2】
前記オーディオエンコーダ(300)の各トランスフォーマ層(400)は、
正規化層(404)と、
相対位置符号化を伴うマスクされたマルチヘッドアテンション層(406)と、
残差接続(408)と、
スタッキング/アンスタッキング層(410)と、
フィードフォワード層(412)とを備える、請求項1に記載の単一のトランスフォーマ-トランスデューサモデル(200)。
【請求項3】
前記スタッキング/アンスタッキング層(410)は、前記対応するトランスフォーマ層(400)のフレームレートを変更して、訓練および推論の間に前記単一のトランスフォーマ-トランスデューサモデル(200)による処理時間を調整するように構成される、請求項2に記載の単一のトランスフォーマ-トランスデューサモデル(200)。
【請求項4】
トランスフォーマ層(400)の前記初期スタック(310)は、トランスフォーマ層(400)の前記最終スタック(320)よりも多くのトランスフォーマ層(400)を備える、請求項1から3のいずれか一項に記載の単一のトランスフォーマ-トランスデューサモデル(200)。
【請求項5】
訓練の間に、前記可変先読みオーディオコンテキストが、トランスフォーマ層(400)の前記最終スタック(320)における各トランスフォーマ層(400)に対して一様にサンプリングされる、請求項1から4のいずれか一項に記載の単一のトランスフォーマ-トランスデューサモデル(200)。
【請求項6】
第1の先読みオーディオコンテキストを使用して符号化されたオーディオデータ(110)から入力された発話(106)についての対応する音声認識結果(120)を復号するように構成された低レイテンシ復号ブランチ(321)と、
第2の先読みオーディオコンテキストを使用して符号化されたオーディオデータ(110)から前記入力された発話(106)についての対応する音声認識結果(120)を復号するように構成された高レイテンシ復号ブランチ(322)とをさらに備え、前記第2の先読みオーディオコンテキストは、前記第1の先読みオーディオコンテキストよりも長い持続時間の先読みオーディオを含む、請求項1から5のいずれか一項に記載の単一のトランスフォーマ-トランスデューサモデル(200)。
【請求項7】
トランスフォーマ層(400)の前記初期スタック(310)が、ゼロの先読みオーディオコンテキストを適用して、前記低レイテンシ復号ブランチ(321)と前記高レイテンシ復号ブランチ(322)の両方によって使用される共有活性化(312)を算出し、
トランスフォーマ層(400)の前記最終スタック(320)が、前記第1の先読みオーディオコンテキストを適用して、前記低レイテンシ復号ブランチ(321)によって使用されるが前記高レイテンシ復号ブランチ(322)では使用されない低レイテンシ活性化(323)を算出し、
トランスフォーマ層(400)の前記最終スタック(320)が、前記第2の先読みオーディオコンテキストを適用して、前記高レイテンシ復号ブランチ(322)によって使用されるが前記低レイテンシ復号ブランチ(321)では使用されない高レイテンシ活性化(324)活性化(312)を算出する、請求項6に記載の単一のトランスフォーマ-トランスデューサモデル(200)。
【請求項8】
前記第1の先読みオーディオコンテキストは、ゼロの先読みオーディオコンテキストを含む、請求項6または7に記載の単一のトランスフォーマ-トランスデューサモデル(200)。
【請求項9】
前記低レイテンシ復号ブランチ(321)および前記高レイテンシ復号ブランチ(322)は、前記入力された発話(106)についての前記対応する音声認識結果(120)を復号するために並行して実行される、請求項6から8のいずれか一項に記載の単一のトランスフォーマ-トランスデューサモデル(200)。
【請求項10】
前記入力された発話(106)について前記高レイテンシ復号ブランチ(322)によって復号される対応する音声認識結果(120)は、前記入力された発話(106)について前記低レイテンシ復号ブランチ(321)によって復号される前記対応する音声認識結果(120)に対して、前記第2の先読みオーディオコンテキストと前記第1の先読みオーディオコンテキストとの差に基づく持続時間だけ遅延させられる、請求項9に記載の単一のトランスフォーマ-トランスデューサモデル(200)。
【請求項11】
前記低レイテンシ復号ブランチ(321)は、前記入力された発話(106)が前記単一のトランスフォーマ-トランスデューサモデル(200)によって受信されたときに、前記対応する音声認識結果(120)を部分音声認識結果(120)としてストリーミングするように構成され、
前記高レイテンシ復号ブランチ(322)は、前記単一のトランスフォーマ-トランスデューサモデル(200)が完全な前記入力された発話(106)を受信した後に、前記対応する音声認識結果を最終トランスクリプション(120)として出力するように構成される、請求項6から10のいずれか一項に記載の単一のトランスフォーマ-トランスデューサモデル(200)。
【請求項12】
前記入力された発話(106)は、アプリケーション(50)に向けられ、
前記入力された発話(106)についての前記対応する音声認識結果(120)を復号するために前記高レイテンシ復号ブランチ(322)によって使用される前記第2の先読みオーディオコンテキストの持続時間は、前記入力された発話(106)が向けられる前記アプリケーションのタイプに基づく、請求項6から11のいずれか一項に記載の単一のトランスフォーマ-トランスデューサモデル(200)。
【請求項13】
前記ラベルエンコーダ(220)は、複数のトランスフォーマ層(400)を有するニューラルネットワークを備える、請求項1から12のいずれか一項に記載の単一のトランスフォーマ-トランスデューサモデル(200)。
【請求項14】
前記ラベルエンコーダ(220)は、bigram埋め込みルックアップデコーダモデルを備える、請求項1から12のいずれか一項に記載の単一のトランスフォーマ-トランスデューサモデル(200)。
【請求項15】
前記単一のトランスフォーマ-トランスデューサモデル(200)は、クライアントデバイス(10)上で実行されるか、または
前記単一のトランスフォーマ-トランスデューサモデル(200)は、サーバベースのシステム(60)上で実行される、請求項1から14のいずれか一項に記載の単一のトランスフォーマ-トランスデューサモデル(200)。
【請求項16】
データ処理ハードウェア(12)上で実行されたときに、前記データ処理ハードウェア(12)に動作を実行させるコンピュータ実施方法(500)であって、前記動作は、
発話(106)に対応するオーディオデータ(110)をトランスフォーマ-トランスデューサモデル(200)への入力として受信することと、
前記トランスフォーマ-トランスデューサモデル(200)を使用してストリーミング音声認識と非ストリーミング音声認識を前記オーディオデータ(110)に対して並行して実行することとを含み、前記実行することは、
前記トランスフォーマ-トランスデューサモデル(200)の低レイテンシブランチ(321)では、
前記発話(106)に対応する前記オーディオデータ(110)を受信する間、第1の先読みオーディオコンテキストを使用して前記オーディオデータ(110)を符号化し、
前記第1の先読みオーディオコンテキストを使用して符号化された前記オーディオデータ(110)を、前記発話(106)についての部分音声認識結果(120)に復号し、
前記発話(106)についての前記部分音声認識結果(120)をストリーミングし、
前記トランスフォーマ-トランスデューサモデルの高レイテンシブランチ(322)では、
前記発話(106)に対応する前記オーディオデータ(110)が受信された後、第2の先読みオーディオコンテキストを使用して前記オーディオデータ(110)を符号化し、
前記第2の先読みオーディオコンテキストを使用して符号化された前記オーディオデータ(110)を、前記発話(106)についての最終音声認識結果(120)に復号し、
前記ストリーミングされる部分音声認識結果(120)を前記最終音声認識結果(120)で置き換えることによって行われる、コンピュータ実施方法(500)。
【請求項17】
前記トランスフォーマ-トランスデューサモデル(200)は、複数のトランスフォーマ層(400)を有するニューラルネットワークを備えるオーディオエンコーダ(300)を備え、前記複数のトランスフォーマ層(400)は、
各々がゼロの先読みオーディオコンテキストを用いて訓練されたトランスフォーマ層(400)の初期スタック(310)と、
各々が可変先読みオーディオコンテキストを用いて訓練されたトランスフォーマ層(400)の最終スタック(320)とを備える、請求項16に記載のコンピュータ実施方法(500)。
【請求項18】
各トランスフォーマ層(400)は、
正規化層(404)と、
相対位置符号化を伴うマスクされたマルチヘッドアテンション層(406)と、
残差接続(408)と、
スタッキング/アンスタッキング層(410)と、
フィードフォワード層(412)とを備える、請求項17に記載のコンピュータ実施方法(500)。
【請求項19】
前記スタッキング/アンスタッキング層(410)は、前記対応するトランスフォーマ層(400)のフレームレートを変更して、訓練および推論の間の前記単一のトランスフォーマ-トランスデューサモデル(200)による処理時間を調整するように構成される、請求項18に記載のコンピュータ実施方法(500)。
【請求項20】
トランスフォーマ層(400)の前記初期スタック(310)は、トランスフォーマ層(400)の前記最終スタック(320)よりも多くのトランスフォーマ層(400)を備える、請求項17から19のいずれか一項に記載のコンピュータ実施方法(500)。
【請求項21】
訓練の間に、前記可変先読みオーディオコンテキストが、前記トランスフォーマ層(400)の前記最終スタック(320)における各トランスフォーマ層(400)に対して一様にサンプリングされる、請求項17から20のいずれか一項に記載のコンピュータ実施方法(500)。
【請求項22】
トランスフォーマ層(400)の前記初期スタック(310)が、ゼロの先読みオーディオコンテキストを適用して、前記低レイテンシブランチ(321)と前記高レイテンシブランチ(322)の両方によって使用される共有活性化(312)を算出し、
トランスフォーマ層(400)の前記最終スタック(320)が、前記第1の先読みオーディオコンテキストを適用して、前記低レイテンシブランチ(321)によって使用されるが前記高レイテンシ復号ブランチ(322)では使用されない低レイテンシ活性化(323)を算出し、
トランスフォーマ層(400)の前記最終スタック(320)が、前記第2の先読みオーディオコンテキストを適用して、前記高レイテンシブランチ(322)によって使用されるが前記低レイテンシブランチ(321)では使用されない高レイテンシ活性化(324)活性化(312)を算出する、請求項17から21のいずれか一項に記載のコンピュータ実施方法(500)。
【請求項23】
前記第1の先読みオーディオコンテキストは、ゼロの先読みオーディオコンテキストを含む、請求項16から22のいずれか一項に記載のコンピュータ実施方法(500)。
【請求項24】
前記発話(106)について前記高レイテンシブランチ(322)によって復号される前記最終音声認識結果(120)は、前記発話(106)について前記低レイテンシブランチ(321)によって復号される前記部分音声認識結果(120)に対して、前記第2の先読みオーディオコンテキストと前記第1の先読みオーディオコンテキストとの差に基づく持続時間だけ遅延させられる、請求項16から23のいずれか一項に記載のコンピュータ実施方法(500)。
【請求項25】
前記動作は、
前記発話(106)が向けられるアプリケーション(50)のタイプを示すアプリケーション識別子(52)を受信することと、
前記アプリケーション識別子(52)に基づいて前記第2の先読みオーディオコンテキストの持続時間を設定することとをさらに含む、請求項16から24のいずれか一項に記載のコンピュータ実施方法(500)。
【請求項26】
前記トランスフォーマ-トランスデューサモデル(200)は、複数のトランスフォーマ層(400)を有するニューラルネットワークを含むラベルエンコーダ(220)を備える、請求項16から25のいずれか一項に記載のコンピュータ実施方法(500)。
【請求項27】
前記トランスフォーマ-トランスデューサモデル(200)は、bigram埋め込みルックアップデコーダモデルを含むラベルエンコーダ(220)を備える、請求項16から25のいずれか一項に記載のコンピュータ実施方法(500)。
【請求項28】
前記データ処理ハードウェア(12)は、前記トランスフォーマ-トランスデューサモデル(200)を実行し、
クライアントデバイス(10)、または
サーバベースのシステム(60)上に存在する、請求項16から27のいずれか一項に記載のコンピュータ実施方法(500)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ストリーミング音声認識および非ストリーミング音声認識用の統合モデルの使用に関する。
【背景技術】
【0002】
オーディオ入力を得てテキストに書き起こすプロセスである自動音声認識(ASR)は、モバイルデバイスおよび他のデバイスによって使用される非常に重要な技術である。一般に、ASRは、オーディオ入力(たとえば、発話)を得てオーディオ入力をテキストに書き起こすことによって人が話したことの正確なトランスクリプションを提供することを試みる。現代のASRモデルは、ディープニューラルネットワークの継続的な開発に基づいて精度(たとえば、低い単語誤り率(WER))とレイテンシ(たとえば、ユーザの発話とトランスクリプションとの間の遅延)の両方が改善され続けている。現在ASRシステムを使用する際、ASRシステムが、リアルタイムに相当するかまたは場合によってはリアルタイムよりも速いが、正確でもあるストリーミング方式によって発話を復号することが要求される。しかし、ディープラーニングベースのASRモデルを開発する際の1つの課題は、ストリーミングモデルが、低レイテンシであるが、不正確である場合があることである。逆に、非ストリーミングモデルは、高レイテンシを伴うが、一般により高い精度をもたらす。
【発明の概要】
【課題を解決するための手段】
【0003】
本開示の一態様は、ストリーミング音声認識と非ストリーミング音声認識を統合するための単一のトランスフォーマ-トランスデューサモデルを提供する。単一のトランスフォーマ-トランスデューサモデルは、オーディオエンコーダ、ラベルエンコーダ、およびジョイントネットワークを含む。オーディオエンコーダは、音響フレームのシーケンスを入力として受信し、複数の時間ステップの各々において、音響フレームのシーケンス内の対応する音響フレームについての高次特徴表現を生成する。ラベルエンコーダは、最終ソフトマックス層によって出力された非ブランク記号のシーケンスを入力として受信し、複数の時間ステップの各々において密な表現を生成する。ジョイントネットワークは、オーディオエンコーダによって生成された高次特徴表現および複数の時間ステップの各々においてラベルエンコーダによって生成された密な表現を入力として受信し、対応する時間ステップにおいて、あり得る音声認識仮説にわたる確率分布を生成するように構成される。モデルのオーディオエンコーダは、複数のトランスフォーマ層を有するニューラルネットワークをさらに含む。複数のトランスフォーマ層は、各々がゼロの先読みオーディオコンテキスト(zero look ahead audio context)を用いて訓練されたトランスフォーマ層の初期スタックと、各々が可変先読みオーディオコンテキストを用いて訓練されたトランスフォーマ層の最終スタックとを含む。
【0004】
本開示の実装形態は、以下の任意の特徴のうちの1つまたは複数を含んでもよい。いくつかの実装形態では、オーディオエンコーダの各トランスフォーマ層は、正規化層と、相対位置符号化を伴うマスクされたマルチヘッドアテンション層と、残差接続と、スタッキング/アンスタッキング層と、フィードフォワード層とを含む。これらの実装形態では、スタッキング/アンスタッキング層は、対応するトランスフォーマ層のフレームレートを変更して訓練および推論の間に単一のトランスフォーマ-トランスデューサモデルによる処理時間を調整するように構成されてもよい。いくつかの例では、トランスフォーマ層の初期スタックは、トランスフォーマ層の最終スタックよりも多くのトランスフォーマ層を含む。いくつかの例では、訓練の間に、可変先読みオーディオコンテキストが、トランスフォーマ層の最終スタックにおける各トランスフォーマ層に対して一様にサンプリングされる。
【0005】
いくつかの実装形態では、モデルは、第1の先読みオーディオコンテキストを使用して符号化されたオーディオデータから入力された発話についての対応する音声認識結果を復号するように構成された低レイテンシ復号ブランチと、第2の先読みオーディオコンテキストを使用して符号化されたオーディオデータから入力された発話についての対応する音声認識結果を復号するように構成された高レイテンシ復号ブランチとをさらに含む。ここで、第2の先読みオーディオコンテキストは、第1の先読みオーディオコンテキストよりも長い持続時間の先読みオーディオを含む。これらの実装形態では、トランスフォーマ層の初期スタックが、ゼロの先読みオーディオコンテキストを適用して、低レイテンシ復号ブランチと高レイテンシ復号ブランチの両方によって使用される共有活性化を算出してもよく、トランスフォーマ層の最終スタックが、第1の先読みオーディオコンテキストを適用して、低レイテンシ復号ブランチによって使用されるが高レイテンシ復号ブランチでは使用されない低レイテンシ活性化を算出してもよく、トランスフォーマ層の最終スタックが、第2の先読みオーディオコンテキストを適用して、高レイテンシ復号ブランチによって使用されるが低レイテンシ復号ブランチでは使用されない高レイテンシ活性化を算出してもよい。いくつかの追加の実装形態では、第1の先読みオーディオコンテキストは、ゼロの先読みオーディオコンテキストを含む。
【0006】
いくつかの例では、低レイテンシ復号ブランチおよび高レイテンシ復号ブランチは、入力された発話についての対応する音声認識結果を復号するために並行して実行される。これらの例では、入力された発話について高レイテンシ復号ブランチによって復号される対応する音声認識結果は、入力された発話について低レイテンシ復号ブランチによって復号される対応する音声認識結果に対して、第2の先読みオーディオコンテキストと第1の先読みオーディオコンテキストとの差に基づく持続時間だけ遅延させられる。追加または代替として、低レイテンシ復号ブランチは、入力された発話が単一のトランスフォーマ-トランスデューサモデルによって受信されたときに対応する音声認識結果を部分音声認識結果としてストリーミングするように構成されてもよく、高レイテンシ復号ブランチは、単一のトランスフォーマ-トランスデューサモデルが完全な入力された発話を受信した後に対応する音声認識結果を最終トランスクリプションとして出力するように構成されてもよい。
【0007】
いくつかの実装形態では、入力された発話はアプリケーションに向けられ、入力された発話についての対応する音声認識結果を復号するために高レイテンシ復号ブランチによって使用される第2の先読みオーディオコンテキストの持続時間は、入力された発話が向けられるアプリケーションのタイプに基づく。いくつかの例では、ラベルエンコーダは、複数のトランスフォーマ層を有するニューラルネットワークを含む。代替的に、ラベルエンコーダは、bigram埋め込みルックアップデコーダモデルを含んでもよい。単一のトランスフォーマ-トランスデューサモデルは、クライアントデバイス上で実行されてもよく、またはサーバベースのシステム上で実行されてもよい。
【0008】
本開示の別の態様は、データ処理ハードウェア上で実行されたときに、データ処理に、発話に対応するオーディオデータをトランスフォーマ-トランスデューサモデルへの入力として受信することと、トランスフォーマ-トランスデューサモデルを使用してストリーミング音声認識および非ストリーミング音声認識をオーディオデータに対して並行して実行することとを含む動作を実行させるコンピュータ実施方法を提供する。トランスフォーマ-トランスデューサモデルの低レイテンシブランチでは、動作はまた、発話に対応するオーディオデータを受信する間、第1の先読みオーディオコンテキストを使用してオーディオデータを符号化することと、第1の先読みオーディオコンテキストを使用して符号化されたオーディオデータを入力された発話についての部分音声認識結果に復号することと、入力された発話についての部分音声認識結果をストリーミングすることとを含む。トランスフォーマ-トランスデューサモデルの高レイテンシブランチでは、動作は、発話に対応するオーディオデータが受信された後、第2の先読みオーディオコンテキストを使用してオーディオデータを符号化することと、第2の先読みオーディオコンテキストを使用して符号化されたオーディオデータを入力された発話についての最終音声認識結果に復号することと、ストリーミングされる部分音声認識結果を最終音声認識結果で置き換えることとを含む。
【0009】
この態様は、以下の任意の特徴のうちの1つまたは複数を含んでもよい。いくつかの実装形態では、動作は、複数のトランスフォーマ層を有するニューラルネットワークを含むオーディオエンコーダをさらに含む。複数のトランスフォーマ層は、各々がゼロの先読みオーディオコンテキストを用いて訓練されたトランスフォーマ層の初期スタックと、可変先読みオーディオコンテキストを用いて訓練されたトランスフォーマ層の最終スタックとを含む。各トランスフォーマ層は、正規化層と、相対位置符号化を伴うマスクされたマルチヘッドアテンション層と、残差接続と、スタッキング/アンスタッキング層と、フィードフォワード層とを含んでもよい。ここで、スタッキング/アンスタッキング層は、対応するトランスフォーマ層のフレームレートを変更して訓練および推論の間の単一のトランスフォーマ-トランスデューサモデルによる処理時間を調整するように構成されてもよい。
【0010】
いくつかの例では、トランスフォーマ層の初期スタックは、トランスフォーマ層の最終スタックよりも多くのトランスフォーマ層を含む。いくつかの実装形態では、訓練の間、可変先読みオーディオコンテキストが、トランスフォーマ層の最終スタックにおける各トランスフォーマ層に対して一様にサンプリングされる。いくつかの例では、トランスフォーマ層の初期スタックが、ゼロの先読みオーディオコンテキストを適用して、低レイテンシブランチと高レイテンシブランチの両方によって使用される共有活性化を算出してもよく、トランスフォーマ層の最終スタックが、第1の先読みオーディオコンテキストを適用して、低レイテンシブランチによって使用されるが高レイテンシ復号ブランチでは使用されない低レイテンシ活性化を算出してもよく、トランスフォーマ層の最終スタックが、第2の先読みオーディオコンテキストを適用して、高レイテンシブランチによって使用されるが低レイテンシブランチでは使用されない高レイテンシ活性化を算出してもよい。第1の先読みオーディオコンテキストは、ゼロの先読みオーディオコンテキストを含んでもよい。いくつかの実装形態では、入力された発話について高レイテンシブランチによって復号される最終音声認識結果は、入力された発話について低レイテンシブランチによって復号される部分音声認識結果に対して、第2の先読みオーディオコンテキストと第1の先読みオーディオコンテキストとの差に基づく持続時間だけ遅延させられる。
【0011】
いくつかの例では、動作は、入力された発話が向けられるアプリケーションのタイプを示すアプリケーション識別子を受信することと、アプリケーション識別子に基づいて第2の先読みオーディオコンテキストの持続時間を設定することとをさらに含む。いくつかの実装形態では、トランスフォーマ-トランスデューサモデルは、複数のトランスフォーマ層を有するニューラルネットワークを含むラベルエンコーダを含む。いくつかの例では、トランスフォーマ-トランスデューサモデルは、bigram埋め込みルックアップデコーダモデルを含むラベルエンコーダを含む。データ処理ハードウェアは、トランスフォーマ-トランスデューサモデルを実行し、クライアントデバイスまたはサーバベースのシステム上に存在する。
【0012】
本開示の1つまたは複数の実装形態の詳細は、添付の図面および以下の説明に記載されている。他の態様、特徴、および利点は、説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【0013】
図1】ストリーミングおよび非ストリーミング音声認識を実行する単一のトランスフォーマ-トランスデューサモデルを実装する音声環境の概略図である。
図2】例示的なトランスデューサ-トランスフォーマモデルアーキテクチャの概略図である。
図3A】複数のトランスフォーマ層を含むオーディオエンコーダの概略図である。
図3B】並列低レイテンシおよび高レイテンシ復号ブランチを提供するようにy-アーキテクチャとして配置されたオーディオエンコーダの概略図である。
図4】例示的なトランスフォーマアーキテクチャの概略図である。
図5図1のトランスフォーマ-トランスデューサモデルを使用してストリーミング音声認識と非ストリーミング音声認識を統合する方法のための動作の例示的な構成のフローチャートである。
図6】本明細書で説明するシステムおよび方法を実施するために使用され得る例示的なコンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0014】
様々な図面における同じ参照符号は同じ要素を示す。
【0015】
自動音声認識(ASR)システムは、品質/精度(たとえば、単語誤り率(WER)が低い)だけでなく低レイテンシ(たとえば、ユーザの発話と出現するトランスクリプションとの間の遅延が短い)も実現することを対象としている。最近、精度およびレイテンシにおいて最新の性能を実現するうえでエンドツーエンド(E2E)ASRモデルが広く利用されている。別々の音響モデル、発音モデル、および言語モデルを含む従来のハイブリッドASRシステムとは対照的に、E2Eモデルは、シーケンスツーシーケンス手法を適用して、学習データ、たとえば、発話-トランスクリプション対、からエンドツーエンドで訓練される単一のニューラルネットワークにおいて、音響および言語モデリングを一緒に学習する。ここで、E2Eモデルは、アーキテクチャが完全にニューラルネットワークから構成されたモデルを指す。完全なニューラルネットワークは、外部の構成要素および/または手動で設計された構成要素(たとえば、有限状態トランスデューサ、辞書、またはテキスト正規化モジュール)なしに機能する。また、E2Eモデルを訓練する際、これらのモデルは一般に、決定木からのブートストラッピングも、別個のシステムからの時刻合わせも必要としない。
【0016】
シーケンスツーシーケンスモデルの例は、「アテンションベースの」モデルおよび「リッスンアテンドスペル(listen-attend-spell)」(LAS)モデルを含む。LASモデルは、リスナー(listener)構成要素、アテンダー(attender)構成要素、およびスペラー(speller)構成要素を使用して発話を文字に書き起こす。ここで、リスナーは、再帰型ニューラルネットワーク(RNN)エンコーダであり、オーディオ入力(たとえば、音声入力の時間-周波数表現)を受信し、オーディオ入力を高次特徴表現にマップする。アテンダーは、高位特徴に注意を払い、入力された特徴と予測されたサブワード単位(たとえば、書記素またはワードピース)との整合を学習する。スペラーは、アテンションベースのRNNデコーダであり、仮定された語のセットを介して確率分布を生成することによって入力から文字シーケンスを生成する。LASモデルなどのアテンションベースのモデルは一般に、シーケンス全体(たとえば、オーディオ波形)を処理し、文全体についてのオーディオコンテキストを、それに基づいて出力(たとえば、文)を生成する前に使用するので、これらのモデルは出力を非ストリーミングトランスクリプションとして提供する。
【0017】
さらに、現在ASRシステムを使用する際、ASRシステムが、ユーザが発話するときに発話の記述をリアルタイムまたは場合によってはリアルタイムよりも速く表示することに相当するストリーミング方式で発話を復号することを要求される場合がある。一例として、ASRシステムが、直接的なユーザとの対話を経験する、たとえば携帯電話などのユーザコンピューティングデバイス上で表示されるとき、ユーザデバイス上で実行され、ASRシステムを使用するアプリケーション(たとえば、デジタルアシスタントアプリケーション)は、単語、ワードピース、および/または個々の文字が、発話されたときに画面上に表示されるように音声認識をストリーミングする必要がある。また、ユーザデバイスのユーザがレイテンシに対する低い許容度を有する可能性もある。たとえば、ユーザが、予定を調べるためにデジタルアシスタントにカレンダーアプリケーションから詳細情報を取り出すことを要求するクエリを発話するとき、ユーザは、デジタルアシスタントが取り出した詳細情報を伝える応答をできるだけ速く提供することを望む。このように許容度が低いことに起因して、ASRシステムは、ユーザの体験に悪影響を与える場合があるレイテンシおよび不正確さによる影響を最小限に抑えるようにユーザデバイス上で懸命に動作する。しかし、出力テキストを生成する前に入力されたオーディオのシーケンス全体を再検討することによって機能するLASモデルなどのアテンションベースのシーケンスツーシーケンスモデルは、入力が受信されたときに出力をストリーミングすることを許容しない。この欠陥に起因して、レイテンシの影響を受けやすくならびに/またはリアルタイム音声トランスクリプションを必要とする音声アプリケーション用のアテンションベースのシーケンスツーシーケンスモデルを展開すると問題が生じることがある。これによって、LASモデル単独では、レイテンシの影響を受けやすいアプリケーションおよび/またはユーザが発話したときにストリーミングトランスクリプション機能をリアルタイムに実現するアプリケーションには理想的なモデルにならない。
【0018】
再帰型ニューラルネットワークトランスデューサ(RNN-T)と呼ばれるシーケンスツーシーケンスモデルの別の形態は、アテンション機構を使用せず、一般にシーケンス全体(オーディオ波形)を処理して出力(たとえば、文)を生成する必要がある他のシーケンスツーシーケンスモデルとは異なり、RNN-Tは連続的に入力サンプルを処理し、出力記号をストリーミングする。このことは、特にリアルタイム通信に魅力的である。たとえば、RNN-Tによる音声認識は、発話に応じて文字を1つずつ出力してもよい。ここで、RNN-Tは、モデルによって予測された記号をRNN-T自体に送るフィードバックループを使用して、次の記号を予測する。RNN-Tを復号することは、大規模なデコーダグラフではなく単一のニューラルネットワークによるビーム探索を含むので、RNN-Tはサーバベースの音声認識モデルのサイズの分数にスケーリングしてもよい。サイズ縮小によって、RNN-T全体をデバイス上に展開してもよく、オフラインで(すなわち、ネットワーク接続なしで)動作できる場合もあり、したがって、通信ネットワークとの信頼性欠如問題が回避される。
【0019】
RNN-Tモデルは、認識結果を予測する際に先読みオーディオコンテキスト(たとえば、後行コンテキスト)を適用することができないので、依然として、大規模な最新の従来モデル(たとえば、別々のAM、PM、およびLMを有するサーバベースのモデル)およびアテンションベースのシーケンスツーシーケンスモデル(たとえば、LASモデル)に品質(たとえば、単語誤り率(Wer)によって測定されることが多い音声認識精度)の点で遅れをとっている。このような音声認識精度における遅れを補償するために、最近では、RNN-Tネットワークの第1のパス構成要素と、それに続く、第1のパスの間に生成された認識結果を再評価するためのLASネットワークの第2のパス構成要素とを含む2パス認識システムの開発に焦点が当てられている。この設計では、2パスモデルは、低レイテンシのRNN-Tモデルのストリーミング特性から利益を受け、一方、LASネットワークを組み込んだ第2のパスによってRNN-Tモデルの精度を向上させる。LASネットワークは、RNN-Tモデルのみと比較してレイテンシを増大させるが、レイテンシの増大は、ごくわずかであると考えられ、オンデバイス動作についてのレイテンシ制約に準拠する。
【0020】
長短期記憶(LSTM)を利用してシーケンスエンコーダを提供するRNN-Tモデルは、ストリーミングトランスクリプション機能、ならびに一般に会話型クエリ(たとえば、「タイマーをセットしてください」、「ミルクを買うのを忘れないでと言ってください」など)を認識するレイテンシの影響を受けやすいアプリケーションを提供するのに適しているが、先読みオーディオコンテキストの能力が限られており、それによって、長文の発話を認識するときに単語を削除しがちである。本明細書では、長文の発話は、ユーザがeメール、メッセージ、ドキュメント、ソーシャルメディアポスト、または他のコンテンツの一部を口述する口述ベースのクエリ非会話型クエリを含む。
【0021】
多くの場合、ユーザは、RNN-Tモデルなどのストリーミング音声認識モデルを使用して、会話型クエリを認識し、別個の非ストリーミング音声認識モデルを使用して非会話型クエリを認識する。一般に、ユーザが発話を送っているアプリケーションを使用して、音声認識に使用するのはストリーミング音声認識モデルまたは非ストリーミング音声認識モデルのどちらかを特定することができる。アプリケーションおよび/またはクエリタイプに応じて音声認識を実行するには異なる別々の音声認識モデルが必要であるので、計算コストがかかり、ユーザデバイス上にそれぞれのモデルを記憶するのに十分なメモリ容量が必要になる。モデルのうちの1つがリモートサーバ上で実行可能である場合でも、リモートサーバに接続するための追加のコストおよび帯域幅制約が、音声認識性能、最終的にはユーザ体験に影響を与えることがある。
【0022】
本明細書の実装形態は、ストリーミング音声認識タスクと非ストリーミング音声認識タスクを統合するための単一のトランスフォーマ-トランスデューサ(T-T)モデルを対象とする。明らかになるように、T-Tモデルは、RNN-Tモデルの前述の欠点の影響を受けずに、ストリーミングトランスクリプション機能、低レイテンシの音声認識、小さい計算フットプリント、および低メモリ要件などのRNN-Tモデルの肯定的な属性を実現する場合がある。すなわち、T-Tモデルは、可変先読みオーディオコンテキストで訓練されてもよく、それによって、入力された発話に対して音声認識を実行するときに十分な持続時間の先読みオーディオコンテキストを適用することができる。また、T-Tモデルは、入力された発話についてのストリーミング部分音声認識結果を復号するための低レイテンシブランチと、同じ入力された発話についての最終音声認識結果を復号するための高レイテンシブランチを並行して提供するy-アーキテクチャを実装してもよい。
【0023】
図1は、音声環境100の一例である。音声環境100では、ユーザデバイス10などのコンピューティングデバイスと対話するユーザ104の方法は音声入力を介したものであってもよい。ユーザデバイス10(一般にデバイス10とも呼ばれる)は、音声環境100内の1人または複数のユーザ104から音声(たとえば、ストリーミングオーディオデータ)を取り込むように構成される。ここで、ストリーミングオーディオデータは、可聴クエリ、デバイス10用のコマンド、デバイス10によって取り込まれる可聴通信として働くユーザ104による発話106を指すことがある。デバイス10の音声対応システムは、クエリに回答し、ならびに/または1つまたは複数の下流側アプリケーションによってコマンドを実行/完遂させることによってクエリまたはコマンドを処理してもよい。
【0024】
ユーザデバイス10は、ユーザ104に関連する任意のコンピューティングデバイスに相当してもよく、オーディオデータを受信することができる。ユーザデバイス10のいくつかの例には、限定はしないが、モバイルデバイス(たとえば、携帯電話、タブレット、ラップトップなど)、コンピュータ、ウエアラブルデバイス(たとえば、スマートウォッチ)、スマート家電、モノのインターネット(IoT)デバイス、車両インフォテインメントシステム、スマートディスプレイ、スマートスピーカなどが含まれる。ユーザデバイス10は、データ処理ハードウェア12と、データ処理ハードウェア12と通信するメモリハードウェア14とを含み、データ処理ハードウェア12によって実行されたときにデータ処理ハードウェア12に1つまたは複数の動作を実行させる命令を記憶する。ユーザデバイス10は、音声環境100内の発話106を取り込んで電気信号に変換するための音声取り込みデバイス(たとえば、マイクロフォン)16、16aと、可聴オーディオ信号を(たとえば、デバイス10からの出力オーディオデータとして)通信するための音声出力デバイス(たとえば、スピーカ)16、16bを有するオーディオシステム16をさらに含む。ユーザデバイス10は、図示の例では単一の音声取り込みデバイス16aを実装しているが、ユーザデバイス10は、本開示の範囲から逸脱せずに音声取り込みデバイス16aのアレイを実装してもよく、アレイ内の1つまたは複数の取り込みデバイス16aはユーザデバイス10上に物理的に存在せずに、オーディオシステム16と通信してよい。
【0025】
音声環境100では、トランスフォーマ-トランスデューサ(T-T)モデル200を実装する自動音声認識(ASR)システム118は、ユーザ104のユーザデバイス10上および/またはネットワーク40を介してユーザデバイス10と通信するリモートコンピューティングデバイス60(たとえば、クラウド-コンピューティング環境において実行される分散システムの1つまたは複数のリモートサーバ)上に存在する。ユーザデバイス10および/またはリモートコンピューティングデバイス60はまた、音声取り込みデバイス16aによって取り込まれるユーザ104による発話106を受信し、発話106を、ASRシステム118によって処理することのできる入力音響フレーム110に関連する対応するデジタルフォーマットに変換するように構成されたオーディオサブシステム108を含む。図示の例では、ユーザは、それぞれの発話106を発し、オーディオサブシステム108は、発話106をASRシステム118に入力される対応するオーディオデータ(たとえば、音響フレーム)110に変換する。その後、T-Tモデル200は、発話106に対応するオーディオデータ110を入力として受信し、発話106の対応するトランスクリプション120(たとえば、認識結果/仮説)を出力として生成/予測する。以下により詳しく説明するように、T-Tモデル200は、T-Tモデル200が、推論の間に、発話106によって指定されるクエリがレイテンシをどの程度感知するか、および/またはユーザ106がレイテンシをどの程度許容するかに応じて音声認識を実行するときに先読みオーディオコンテキストのそれぞれに異なる持続時間を設定するのが可能になるように可変先読みオーディオコンテキストを用いて訓練されてもよい。たとえば、ユーザデバイス10上で実行されるデジタルアシスタントアプリケーション50は、単語、ワードピース、および/または個々の文字が、発話されたときに画面上に表示されるように音声認識をストリーミングすることが必要になる場合がある。また、ユーザデバイス10のユーザ104は、デジタルアシスタントアプリケーション50が実行するクエリを発行するときのレイテンシに対する許容度が低い可能性もある。そのようなシナリオにおいて、音声認識レイテンシを最小限に抑えることが好ましいとき、T-Tモデル200はゼロまたは最小の先読みオーディオコンテキスト(「後行コンテキスト」とも呼ばれる)を適用して、ユーザ104が発話106を発しているときにストリーミングトランスクリプション機能をリアルタイムに提供してもよい。一方、ユーザが、音声認識レイテンシについての許容度がより高く、ならびに/または認識される発話106が長文の音声を伴うとき、同じT-Tモデル200が、正確なトランスクリプション120を提供するのに十分な先読みオーディオコンテキストの持続時間を適用し、先読みオーディオコンテキストの持続時間に基づいてレイテンシが増大する場合がある。したがって、ASRシステム118は、複数のそれぞれに異なる音声認識タスクについて単一のT-Tモデル200を実装して、タスクごとに別々のASRモデルを利用する必要なしにストリーミングトランスクリプション機能と非ストリーミングトランスクリプション機能の両方を提供してもよい。
【0026】
いくつかの実装形態では、T-Tモデル200は、ストリーミング音声認識と非ストリーミング音声認識の両方をオーディオデータ110に対して並行して実行する。たとえば、図示の例では、T-Tモデル200は、第1の復号ブランチ(すなわち、低レイテンシブランチ321(図3B))を使用してオーディオデータ110に対してストリーミング音声認識を実行して、部分音声認識結果120、120aを生成し、それと並行して、第2の復号ブランチ(すなわち、高レイテンシブランチ322(図3B))を使用して同じオーディオデータ110に対して非ストリーミング音声認識を実行して、最終音声認識結果120、120bを生成する。特に、第1の復号ブランチは、ゼロ(または約240ミリ秒)に設定され得る第1先読みオーディオコンテキストを使用して部分音声認識結果120aを生成し、一方、第2の復号ブランチは、第1の先読みオーディオコンテキストよりも長い持続時間の第2の先読みオーディオコンテキストを使用して、最終音声認識結果120bを生成してもよい。したがって、入力された発話106についての最終音声認識結果120bを、入力された発話についての部分音声認識結果120aに対して、第2の先読みオーディオコンテキストと第1の先読みオーディオコンテキストとの差に基づく持続時間だけ遅延させてもよい。
【0027】
ユーザデバイス10および/またはリモートコンピューティングデバイス60はまた、発話106のトランスクリプション120の表現をユーザデバイス10のユーザ104に提示するように構成されたユーザインターフェース生成器107を実行する。以下に詳しく説明するように、ユーザインターフェース生成器107は、時間1の間部分音声認識結果120aをストリーミング方式で表示し、その後、時間2の間最終音声認識結果120bを表示してもよい。いくつかの構成では、ASRシステム118から出力されたトランスクリプション120は、たとえば、ユーザデバイス10またはリモートコンピューティングデバイス60上で実行される自然言語理解(NLU)モジュールによって処理され、発話106によって指定されたユーザコマンド/クエリを実行する。追加または代替として、テキストツースピーチシステム(図示せず)(たとえば、ユーザデバイス10またはリモートコンピューティングデバイス60の任意の組合せ上で実行される)は、トランスクリプションをユーザデバイス10および/または別のデバイスによる可聴出力用の合成音声に変換してもよい。
【0028】
図示の例では、ユーザ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に変換する。
【0029】
引き続き例について説明すると、T-Tモデル200は、ユーザ104が発話するときに発話106に対応する音響フレーム110を受信する間、第1の先読みオーディオコンテキストを使用して音響フレーム110を符号化し、次いで、第1の先読みオーディオコンテキストを使用して符号化された音響フレームを部分音声認識結果120aに復号する。時間1の間に、ユーザインターフェース生成器107は、デジタルアシスタントインターフェース18を介して、発話106の部分音声認識結果120aの表現をストリーミング方式でユーザデバイス10のユーザ104に提示し、それによって、単語、ワードピース、および/または個々の文字が、発話されたときに画面上に表示される。いくつかの例では、第1の先読みオーディオコンテキストはゼロに等しい。
【0030】
これと並行して、発話106に対応する音響フレーム110のすべてが受信された後、T-Tモデル200は、第2の先読みオーディオコンテキストを使用して発話106に対応する音響フレーム110のすべてを符号化し、第2の先読みオーディオコンテキストを使用した音響フレーム110を最終音声認識結果120bに復号する。第2の先読みオーディオコンテキストの持続時間は、1.2秒、2.4秒、または任意の他の持続時間であってもよい。いくつかの例では、ユーザ104が発話106を終了したことを示すエンドポイントなどの指示が、T-Tモデル200をトリガして、第2の先読みオーディオコンテキストを使用してすべての音響フレーム110が符号化される。時間2の間に、ユーザインターフェース生成器107は、デジタルアシスタントインターフェース18を介して、発話106の最終音声認識結果120bの表現をユーザデバイス10のユーザ104に提示する。いくつかの実装形態では、ユーザインターフェース生成器107は、部分音声認識結果120aの表現を最終音声認識結果120bの表現で置き換える。たとえば、最終音声認識結果120bは、先読みオーディオコンテキストを利用せずに生成される部分音声認識結果120aよりも正確であると仮定されるので、最終的にトランスクリプション120として表示される最終音声認識結果120bは、部分音声認識結果120aにおいて誤認識された可能性がある言葉を修正してもよい。この例では、T-Tモデル200によって出力され、時間1においてユーザデバイス10の画面上に表示されるストリーミング部分音声認識結果120aは、それに伴うレイテンシが低く、ユーザ104のクエリが処理されているという応答をユーザ104に提供し、一方、T-Tモデル200によって出力され、時間2において画面上に表示される最終音声認識結果120bは、先読みオーディオコンテキストを利用して、音声認識品質を精度の点で向上させるが、レイテンシを増大させる。しかし、部分音声認識結果120aはユーザが発話106を発するのと同時に表示されるので、生成、および最終的な最終音声認識結果の表示に伴うより高いレイテンシは、ユーザ104に気づかれない。
【0031】
図1に示す例では、デジタルアシスタントアプリケーション50は、自然言語処理を使用してユーザ104によって提示される質問に応答してもよい。自然言語処理は一般に、書かれた言語(たとえば、部分音声認識結果120aおよび/または最終音声認識結果120b)を解釈し、書かれた言語が何らかのアクションを促しているかどうかを判定するプロセスを指す。この例では、デジタルアシスタントアプリケーション50は、自然言語処理を使用して、ユーザ104からの質問がユーザのスケジュールに関する質問であり、より詳細にはユーザのスケジュール上のコンサートに関する質問であることを認識する。自然言語処理によってこのような詳細情報を認識することによって、自動化されたアシスタントは、ユーザのクエリに対する応答19を返し、この場合、応答19には、「会場は午後6時半に開場になり、コンサートは8時から始まります」と提示される。いくつかの構成では、自然言語処理は、ユーザデバイス10のデータ処理ハードウェア12と通信するリモートサーバ60上で行われる。
【0032】
図2を参照すると、T-Tモデル200は、音響モデル、発音モデル、および言語モデルを単一のニューラルネットワークに組み込むことによってエンドツーエンド(E2E)音声認識を可能にしてもよく、この場合、辞書も別個のテキスト正規化構成要素も必要とされない。様々な構造および最適化機構が、精度を高め、モデル訓練時間を短縮することができる。T-Tモデル200は、トランスフォーマ-トランスデューサ(T-T)モデルアーキテクチャを含み、このアーキテクチャは対話型アプリケーションに関連するレイテンシ制約を順守する。T-Tモデル200は、計算フットプリントが小さく、かつ従来のASRアーキテクチャよりもメモリ要件が少なく、それによって、T-Tモデルアーキテクチャはユーザデバイス10全体に対して音声認識を実行するのに適している(たとえば、リモートサーバ60との通信は必要とされない)。T-Tモデル200は、オーディオエンコーダ300と、ラベルエンコーダ220と、ジョイントネットワーク230とを含む。オーディオエンコーダ300は、従来のASRシステムにおける音響モデル(AM)に概略的に類似しており、複数のトランスフォーマ層400(図3A、3B、および4)を有するニューラルネットワークを含む。たとえば、オーディオエンコーダ300は、d次元特徴ベクトル(たとえば、音響フレーム110(図1))のシーケンスx = (x1, x2, ..., xT)を読み取り、ここで
【0033】
【数1】
【0034】
であり、オーディオエンコーダ300は、各時間ステップにおいて高次特徴表現を生成する。この高次特徴表現はah1, ..., ahTとして示される。
【0035】
同様に、ラベルエンコーダ220はまた、トランスフォーマ層のニューラルネットワークまたはルックアップテーブル埋め込みモデルを含んでもよく、ルックアップテーブル埋め込みモデルは、言語モデル(LM)と同様に、これまで最終ソフトマックス層240によって出力されている非ブランク記号のシーケンスy0, ..., yui-1を、予測されたラベル履歴を符号化する密な表現Ihuとして処理する。ラベルエンコーダ220がトランスフォーマ層のニューラルネットワークを含む実装形態では、各トランスフォーマ層は、正規化層と、相対位置符号化を伴うマスクされたマルチヘッドアテンション層と、残差接続と、フィードフォワード層と、ドロップアウト層とを含んでもよい。これらの実装形態では、ラベルエンコーダ220は、2つのトランスフォーマ層を含んでもよい。ラベルエンコーダ220がbi-gramラベルコンテキストを有するルックアップテーブル埋め込みモデルを含む実装形態では、埋め込みモデルは、各々のあり得るbigramラベルコンテキストについてd次元の重みベクトルを学習するように構成され、dは、オーディオエンコーダ300およびラベルエンコーダ200の出力の次元である。いくつかの例では、埋め込みモデルにおけるパラメータの総数はN2×dであり、ここで、Nはラベルについての語彙サイズである。ここで、学習された重みベクトルは次いで、高速ラベルエンコーダ220実行時間を生成するためにT-Tモデル200におけるbigramラベルコンテキストの埋め込みとして使用される。
【0036】
最後に、T-Tモデルアーキテクチャでは、オーディオエンコーダ300およびラベルエンコーダ220によって生成された表現が、密な層Ju,tを使用してジョイントネットワーク230によって組み合わされる。ジョイントネットワーク230は次いで、P(zu,t|x,t,y1, ..., yu-1)、すなわち、次の出力記号上の分布を予測する。別の言い方をすれば、ジョイントネットワーク230は、各出力ステップ(たとえば、時間ステップ)において、あり得る音声認識仮説にわたる確率分布を生成する。ここで、「あり得る音声認識仮説」は、指定された自然言語における書記素(たとえば、記号/文字)またはワードピースを各々が表す出力ラベル(「音声単位」とも呼ばれる)のセットに対応する。たとえば、自然言語が英語であるとき、出力ラベルのセットは、27個の記号、たとえば英語のアルファベットにおける26個の文字各々に1つのラベルおよびスペースを指定する1つのラベルを含んでもよい。したがって、ジョイントネットワーク230は、出力ラベルの所定のセットの各々の発生尤度を示す値のセットを出力してもよい。この値のセットは、ベクトルとすることができ(たとえば、ワンホットベクトル)、出力ラベルのセットにわたる確率分布を示すことができる。場合によっては、出力ラベルは、書記素(たとえば、個々の文字、ならびに場合によっては句読点および他の記号)であるが、出力ラベルのセットはそのように限定されない。たとえば、出力ラベルのセットは、書記素に加えてまたは書記素の代わりに、ワードピースおよび/または単語全体を含むことができる。ジョイントネットワーク230の出力分布は、それぞれに異なる出力ラベルの各々についての事後確率値を含むことができる。したがって、それぞれに異なる書記素または他の記号を表す100個の異なる出力ラベルがある場合、ジョイントネットワーク230の出力zu,tは、各出力ラベルに1つずつ、100個の異なる確率値を含むことができる。次いで、確率分布を使用して(たとえば、ソフトマックス層240による)ビーム探索プロセスにおいてスコアを選択して、候補直交要素(たとえば、書記素、ワードピース、および/または単語)に割り当ててトランスクリプション120を判定することができる。
【0037】
ソフトマックス層240は、任意の技法を使用して、分布における最高確率を有する出力ラベル/記号を、対応する出力ステップにおいてT-Tモデル200によって予測される次の出力記号として選択してもよい。このようにして、T-Tモデル200は、条件付き独立仮定を行わず、各記号の予測は、音響だけでなくこれまでに出力されているラベルのシーケンスを条件とする。
【0038】
図3Aを参照すると、いくつかの実装形態では、T-Tモデル200のオーディオエンコーダ300の複数のトランスフォーマ層400は、トランスフォーマ層400の初期スタック310とトランスフォーマ層400の最終スタック320とを含む。初期スタック310における各トランスフォーマ層400は、ゼロの先読みオーディオコンテキストを用いて訓練されてもよく、一方、最終スタック320における各トランスフォーマ層400は、可変先読みオーディオコンテキストを用いて訓練されてもよい。T-Tモデル200の初期スタック310は、トランスフォーマ層400の最終スタック320よりも多くのトランスフォーマ層400を有してもよい。たとえば、トランスフォーマ層400の初期スタック310は、15個のトランスフォーマ層400を含んでもよく、一方、トランスフォーマ層400の最終スタック320は5つのトランスフォーマ層400を含んでもよい。しかし、初期スタック310および最終スタック320の各々におけるトランスフォーマ層400のそれぞれの数は限定されない。したがって、本明細書の例では、初期スタック310が15個のトランスフォーマ層400を含み、トランスフォーマ層の最終スタック320が5つのトランスフォーマ層400を含むと説明することがあるが、トランスフォーマ層400の初期スタック310は15個よりも少ないかまたは多いトランスフォーマ層400を含んでもよく、トランスフォーマ層400の最終スタック320は5つよりも少ないかまたは多いトランスフォーマ層400を含んでもよい。さらに、オーディオエンコーダ300によって利用されるトランスフォーマ層400の総数は、20よりも少ないかまたは多いトランスフォーマ層400であってもよい。
【0039】
T-Tモデル200は、対応するトランスクリプションと対にされた発話に対応するオーディオデータの学習データセットに対して訓練される。T-Tモデル200の訓練には、リモートサーバ60上が含まれ、訓練済みのT-Tモデル200はユーザデバイス10にプッシュされてもよい。トランスフォーマ層400の最終スタック320を可変先読みオーディオコンテキストを用いて訓練することは、最終スタック320におけるトランスフォーマ層400の先行コンテキストを一定に設定し、最終スタック320における各層の後行コンテキスト長を学習データセット内の所与の分布からサンプリングすることを含む。ここで、サンプリングされる後行コンテキスト長は、所与の分布からサンプリングされる先読みオーディオコンテキストの持続時間に相当する。明らかになるように、サンプリングされる後行コンテキスト長は、最終スタック320における各トランスフォーマ層400の対応するマスクされたマルチヘッドアテンション層406(図4)によって適用されるセルフアテンションのためのマスクを指定する。
【0040】
いくつかの実装形態では、オーディオエンコーダ300の訓練の間に、可変先読みオーディオコンテキストが、トランスフォーマ層400の最終スタック320における各トランスフォーマ層400に対して一様にサンプリングされる。たとえば、トランスフォーマ層400の最終スタック320における各トランスフォーマ層400に対して一様にサンプリングされる可変先読みオーディオコンテキストは、ゼロ、1.2秒、および2.4秒の持続時間を含んでもよい。先読みオーディオコンテキストのこのような持続時間は、非限定的であり、それぞれに異なる持続時間を含んでもよく、ならびに/またはトランスフォーマ層400の最終スタック320についての3つよりも多いかまたは少ない持続時間の先読みオーディオコンテキストのサンプリングを含んでもよい。訓練中のこれらの実装形態では、トランスフォーマ層400についてのそれぞれの先読みオーディオコンテキスト構成は、各々の異なる持続時間の先読みオーディオコンテキストについて指定されてもよい。さらに、T-Tモデル200のオーディオエンコーダ300は、4つの音響フレーム110の出力遅延を用いて訓練されてもよい。たとえば、引き続き、15個のトランスフォーマ層400の初期スタック310がゼロの先読みオーディオコンテキストを用いて訓練され、5つのトランスフォーマ層400の最終スタック320が可変先読みコンテキストを用いて訓練される上記の例によって説明すると、ゼロの先読みオーディオコンテキストについて指定された第1の先読みコンテキスト構成は、[0]×19+[4]を含んでもよく、1.2秒の先読みオーディオコンテキストについて指定された第2の先読みコンテキスト構成は、[0]×15+[8]×5を含んでもよく、2.4秒の先読みオーディオコンテキストについて指定された第3の先読みオーディオコンテキスト構成は、[0]×15+[16]×5を含んでもよい。先読みオーディオコンテキスト構成の各々における括弧内の数は、先読みオーディオコンテキストの指定された持続時間に対応する先読みオーディオフレームの数を示す。上記の例では、ゼロの先読みオーディオコンテキストを評価するために使用される[0]×19+[4]の第1の先読みコンテキスト構成は、最終トランスフォーマ層400が4つのオーディオフレーム110の出力遅延を適用する。ここで、4つのオーディオフレームの出力遅延は、240ミリ秒の先読みオーディオコンテキストに相当する。
【0041】
トランスフォーマ層400の初期スタック310をゼロの先読みオーディオコンテキストを用いて訓練するのではなく、トランスフォーマ層400の最終スタック320を可変先読みオーディオコンテキストを用いて訓練するだけのいくつかの追加の実装形態では、T-Tモデル200のオーディオエンコーダ300のトランスフォーマ層400のすべてが可変先読みオーディオコンテキストを用いて訓練される。たとえば、引き続き、持続時間がゼロ、1.2秒、および2.4秒の先読みコンテキストが訓練中に一様にサンプリングされる上記の例によって説明すると、ゼロの先読みオーディオコンテキストについて指定された第1の先読みコンテキスト構成は、[0]×19+[4]を含んでもよく(たとえば、[4]は、最終トランスフォーマ層400が240ミリ秒の先読みオーディオコンテキストに相当する4つのオーディオフレームの出力遅延を適用することを指定する)、1.2秒の先読みオーディオコンテキストについて指定された第2の先読みコンテキスト構成は、[2]×20を含んでもよく、2.4秒の先読みオーディオコンテキストについて指定された第3の先読みコンテキスト構成は、[4]×20を含んでもよい。すなわち、20個のトランスフォーマ層400の各々によって適用された2つのオーディオフレームの出力遅延は、1.2秒の先読みオーディオコンテキストについての学習データセットの所与の分布を評価し、20個のトランスフォーマ層400の各々によって適用された4つのオーディオフレームの出力遅延は、2.4秒の先読みオーディオコンテキストについての学習データセットの別の分布を評価する。
【0042】
図3Bは、単一のT-Tモデル200が入力された発話106に対してストリーミング音声認識と非ストリーミング音声認識を並行して実行するのを可能にするようにy-アーキテクチャに配置されたオーディオエンコーダ300を有するT-Tモデル200の例を示す。オーディオエンコーダ300のy-アーキテクチャは、各々がトランスフォーマ層400の初期スタック310から延びる平行な低レイテンシブランチ321および高レイテンシブランチ322によって形成される。図3Aを参照して上記で説明したように、トランスフォーマ層400の初期スタック310は、ゼロの先読みオーディオコンテキストを用いて訓練されてもよく、トランスフォーマ層400の最終スタック320は、可変先読みオーディオコンテキストを用いて訓練されてもよい。したがって、推論の間に、トランスフォーマ層400の最終スタック320は、第1の先読みオーディオコンテキストを適用することによって低レイテンシブランチ321(低レイテンシ復号ブランチ321とも呼ばれる)を提供するとともに、第1の先読みオーディオコンテキストよりも長い持続時間の先読みオーディオコンテキストに関連する第2の先読みオーディオコンテキストを適用することによって高レイテンシブランチ322(「高レイテンシ復号ブランチ322」とも呼ばれる)を提供してもよい。
【0043】
いくつかの例では、第1の先読みオーディオコンテキストは、ゼロまたは最小の出力遅延(たとえば、240ミリ秒)であり、訓練中に適用される制約されたアライメントに起因する単語誤り率を低下させる。第2の先読みオーディオコンテキストは、先読みオーディオコンテキストの任意の持続時間を含んでもよい。たとえば、第2の先読みオーディオコンテキストは、1.2秒または2.4秒の持続時間を含んでもよい。
【0044】
図示の例では、オーディオエンコーダ300のトランスフォーマ層400の初期スタック310は、ユーザ104による入力され、ユーザデバイス10によって取り込まれた発話106に対応するオーディオデータ110(たとえば、音響フレーム)を受信する。オーディオデータ110を受信する間、トランスフォーマ層400(たとえば、15個のトランスフォーマ層400)の初期スタック310は、ゼロの先読みオーディオコンテキストを適用して低レイテンシブランチ321と高レイテンシブランチ322の両方によって使用される共有活性化312を算出してもよい。その後、トランスフォーマ層400(たとえば、5つのトランスフォーマ層400)の最終スタック320は、ユーザ104が入力される発話106を発しているときにオーディオデータ110を受信する間、トランスフォーマ層400の初期スタック310によって算出された共有活性化312を使用し、第1の先読みオーディオコンテキストを適用して、低レイテンシブランチ321によって使用されるが高レイテンシブランチ322では使用されない低レイテンシ活性化323を算出し、この低レイテンシ活性化323が、ジョイントネットワーク230およびソフトマックス240を介して復号され、入力された発話106についての部分音声認識結果120aを提供してもよい。したがって、低レイテンシブランチ321は、入力された発話106に対応するオーディオデータ110を受信する間、第1の先読みオーディオコンテキストを使用してオーディオデータ110を符号化し、符号化されたオーディオデータ110(すなわち、低レイテンシ活性化323によって表現される)を部分音声認識結果120aに復号する。部分音声認識結果120aは、入力された発話106がユーザ104によって発されたときにユーザデバイス10(図1)上に表示されるようにリアルタイムにストリーミングされてもよい。
【0045】
ユーザ104が入力された発話106を完了し、すべてのオーディオデータ110が受信された後、トランスフォーマ層400の最終スタック320は、トランスフォーマ層400の初期スタック310によって算出された共有活性化312を使用し、第2の先読みオーディオコンテキストを適用して、高レイテンシブランチ322によって使用されるが低レイテンシブランチ321では使用されない高レイテンシ活性化324を算出し、この高レイテンシ活性化324が、ジョイントネットワーク230およびソフトマックス240を介して復号され、入力された発話106についての最終音声認識結果120bを提供してもよい。ここで、入力された発話106について高レイテンシブランチ322によって復号された最終音声認識結果120bは、低レイテンシブランチ321によって復号された部分音声認識結果120aに対して、第2の先読みオーディオコンテキストと第1の先読みオーディオコンテキストとの差に基づく持続時間だけ遅延させられる。したがって、入力された発話106に対応するオーディオデータ110が受信された後(たとえば、ユーザ104が発話106を完了した後)、高レイテンシブランチ322は、第2の先読みオーディオコンテキストを使用してオーディオデータ110を符号化し、符号化されたオーディオデータ110(すなわち、高レイテンシ活性化324によって表現されたオーディオデータ)を最終音声認識結果120bに復号する。最終音声認識結果120bは、ストリーミングされた部分音声認識結果120aに置き換わる。特に、部分音声認識結果120aはリアルタイムにストリーミングされるので、ユーザ104は、最終音声認識結果120bによって生じるレイテンシを知覚しない場合がある。しかしながら、先読みオーディオコンテキストから利益を得る最終音声認識結果120bは、部分音声認識結果120aに存在する認識エラーを補正してもよく、それによって、最終音声認識結果120bは下流側NLUモジュールおよび/またはアプリケーションによるクエリ解釈により適したものになる。図示されていないが、別個の再判定モデル(たとえば、LASモデル)が、高レイテンシ復号ブランチ322によって復号された候補仮説を再評価してもよい。
【0046】
いくつかの例では、第2の先読みオーディオコンテキストの持続時間は、入力された発話106が向けられるアプリケーションのタイプ(たとえば、デジタルアシスタントアプリケーション50)に基づく。たとえば、オーディオエンコーダ300は、入力された発話が向けられるアプリケーションのタイプを示すアプリケーション識別子52を受信してもよく、オーディオエンコーダは、アプリケーション識別子52に基づいて第2の先読みオーディオコンテキストの持続時間を設定してもよい。入力された発話106が向けられるアプリケーションのタイプは、音声認識レイテンシ、音声認識精度、入力された発話が会話型クエリ(たとえば、短文発話)に対応するかそれとも非会話型クエリ(たとえば、口述などの長文発話)に対応するか、または適用される第2の先読みオーディオコンテキストの持続時間を最適化/調整する際に使用できるように導出され得る任意の他の情報に対するユーザの許容度を示すコンテキスト情報として働いてもよい。
【0047】
図4は、オーディオエンコーダ300の複数のトランスフォーマ層の間の例示的なトランスフォーマ層400を示す。ここで、各時間ステップの間に、初期トランスフォーマ層400は、対応する音響フレーム110を入力として受信し、次のトランスフォーマ層400によって入力として受信される対応する出力表現/埋め込み450を生成する。すなわち、初期トランスフォーマ層400に続く各トランスフォーマ層400は、直前のトランスフォーマ層400によって出力として生成された出力された表現/埋め込みに対応する入力された埋め込み450を受信してもよい。最終トランスフォーマ層400(たとえば、最終スタック320内の最後のトランスフォーマ層)は、複数の時間ステップの各々において、対応する音響フレーム110について高次特徴表現aht(図2)を生成する。
【0048】
ラベルエンコーダ220(図2)への入力は、それまでに最終ソフトマックス層240によって出力されている非ブランク記号のシーケンスy0, ..., yui-1を示すベクトル(たとえば、ワンホットベクトル)を含んでもよい。したがって、ラベルエンコーダ220がトランスフォーマ層を含むとき、初期トランスフォーマ層は、ワンホットベクトルをルックアップテーブルに通すことにより、入力された埋め込み111を受信してもよい。
【0049】
オーディオエンコーダ300の各トランスフォーマ層400は、正規化層404と、相対位置符号化を伴うマスクされたマルチヘッドアテンション層406と、残差接続408と、スタッキング/アンスタッキング層410と、フィードフォワード層412とを含む。相対位置符号化を伴うマスクされたマルチヘッドアテンション層406は、T-Tモデル200が使用する先読みオーディオコンテキストの量(すなわち、持続時間)を制御する柔軟な方法を提供する。具体的には、正規化層404が音響フレーム110および/または入力された埋め込み111を正規化した後、マスクされたマルチヘッドアテンション層406は、すべてのヘッドについて入力をある値に投射する。その後、マスクされたマルチヘッド層406は、現在の音響フレーム110の先行フレームにアテンションスコアをマスクして、前の音響フレーム110のみを条件とする出力を生成してもよい。次いで、すべてのヘッドについての加重平均された値が連結されて、密な層2 416に渡され、そこで残差接続414が、正規化された入力および密な層416の出力に追加され、相対位置符号化を伴うマルチヘッドアテンション層406の最終出力が形成される。残差接続408は、正規化層404の出力に追加され、マスクされたマルチヘッドアテンション層406またはフィードフォワード層412のそれぞれへの入力として提供される。スタッキング/アンスタッキング層410を使用してトランスフォーマ層400ごとにフレームレートを変更して訓練および推論を加速することができる。
【0050】
フィードフォワード層412は、正規化層404を適用し、その後、密な層1 420、正規化線形層(ReLu)418、および密な層2 416に順に適用される。Relu 418は密な層1 420の出力に対する活性化として使用される。相対位置符号化を伴うマルチヘッドアテンション層406と同様に、正規化層404からの出力の残差接続414が密な層2 416の出力に加えられる。
【0051】
図5は、単一のトランスフォーマ-トランスデューサ(T-T)モデル200を使用してストリーミング音声認識と非ストリーミング音声認識を統合する方法500についての動作の例示的な構成のフローチャートを含む。動作502において、方法500は、発話106に対応するオーディオデータ110をT-Tモデル200への入力として受信することを含む。動作504において、方法は、T-Tモデル200を使用して、ストリーミング音声認識と非ストリーミング音声認識をオーディオデータ110に対して並行して実行することをさらに含む。
【0052】
T-Tモデル200の低レイテンシブランチ321では、方法500は、動作506において、発話106に対応するオーディオデータ110を受信しつつ、第1の先読みオーディオコンテキストを使用してオーディオデータ110を符号化することを含む。方法500はまた、動作508において、第1の先読みオーディオコンテキストを使用して符号化されたオーディオデータ110を、入力された発話106についての部分音声認識結果120aに復号することを含む。動作510において、方法500は、入力された発話106についての部分音声認識結果120aをストリーミングすることをさらに含む。
【0053】
T-Tモデル200の高レイテンシブランチ322では、方法500は、動作512において、発話106に対応するオーディオデータ110が受信された後に、第2の先読みオーディオコンテキストを使用してオーディオデータ110を符号化することを含む。方法500はまた、動作514において、第2の先読みオーディオコンテキストを使用して符号化されたオーディオデータ110を、入力された発話106についての最終音声認識結果120bに復号することを含む。動作516において、方法500は、ストリーミングされた部分音声認識結果120aを最終音声認識結果120bで置き換えることをさらに含む。
【0054】
図6は、本明細書で説明するシステムおよび方法を実施するために使用され得る例示的なコンピューティングデバイス600の概略図である。コンピューティングデバイス600は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことが意図されている。ここに示す構成要素、それらの接続および関係、ならびにそれらの機能は、例示的なものにすぎないことが意図されており、本明細書において説明および/または請求する本発明の実装形態を制限することは意図されていない。
【0055】
コンピューティングデバイス600は、プロセッサ610と、メモリ620と、記憶デバイス630と、メモリ620および高速拡張ポート650に接続する高速インターフェース/コントローラ640と、低速バス670および記憶デバイス630に接続する低速インターフェース/コントローラ660とを含む。構成要素610、620、630、640、650、および660の各々は、様々なバスを使用して相互接続されており、共通のマザーボード上に取り付けられてもよくまたは必要に応じて他の方法で取り付けられてもよい。プロセッサ610は、グラフィカルユーザインターフェース(GUI)についてのグラフィカル情報を高速インターフェース640に結合されたディスプレイ680などの外部入力/出力デバイス上に表示するためにメモリ620内または記憶デバイス630上に記憶された命令を含む、コンピューティングデバイス600内で実行される命令を処理することができる。他の実装形態では、必要に応じて、複数のプロセッサおよび/または複数のバスが、複数のメモリおよび複数のタイプのメモリとともに使用されてもよい。また、複数のコンピューティングデバイス600を、各デバイスが必要な動作の一部を行うように接続してもよい(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステム)。
【0056】
メモリ620は、情報を非一時的にコンピューティングデバイス600内に記憶する。メモリ620は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであってもよい。非一時的メモリ620は、プログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)をコンピューティングデバイス600によって使用できるように一時的または持続的に記憶するために使用される物理デバイスであってもよい。不揮発性メモリの例には、限定はしないが、フラッシュメモリおよび読み取り専用メモリ(ROM)/プログラム可能な読み取り専用メモリ(PROM)/消去可能プログラム可能な読み取り専用メモリ(EPROM)/電子的に消去可能プログラム可能な読み取り専用メモリ(EEPROM)(たとえば、ブートプログラムなどのファームウェアに一般に使用される)が含まれる。揮発性メモリの例には、限定はしないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタチックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)ならびにディスクまたはテープが含まれる。
【0057】
記憶デバイス630は、コンピューティングデバイス600用の大容量記憶装置を提供することができる。いくつかの実装形態では、記憶デバイス630は、コンピュータ可読媒体である。様々な異なる実装形態では、記憶デバイス630は、フロッピーディスクデバイス、ハードディスクデバイス、光学ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の同様の固体状態メモリデバイス、または記憶領域ネットワークもしくは他の構成内のデバイスを含むデバイスのアレイであってもよい。追加の実装形態では、コンピュータプログラム製品は情報キャリアにおいて実際に具現化される。コンピュータプログラム製品は、実行されたときに、上記で説明したような1つまたは複数の方法を実行する命令を含む。情報キャリアは、メモリ620、記憶デバイス630、またはプロセッサ610上のメモリなどのコンピュータまたは機械可読媒体である。
【0058】
高速コントローラ640は、コンピューティングデバイス600用の帯域幅集約動作を管理し、一方、低速コントローラ660はより低い帯域幅集約動作を管理する。デューティのそのような割り振りは例示的なものにすぎない。いくつかの実装形態では、高速コントローラ640は、メモリ620、ディスプレイ680(たとえば、グラフィックスプロセッサまたは加速器を介して)、および高速拡張ポート650に結合される。高速拡張ポート650は様々な拡張カード(図示せず)を受け入れてもよい。いくつかの実装形態では、低速コントローラ660は、記憶デバイス630および低速拡張ポート690に結合される。低速拡張ポート690は、様々な通信ポート(たとえば、USB、Bluetooth、Ethernet、ワイヤレスEthernet)を含んでもよく、たとえば、ネットワークアダプタを介してキーボード、ポインティングデバイス、スキャナ、またはスイッチもしくはルータなどのネットワーキングデバイスなどの1つまたは複数の入力/出力デバイスに結合されてもよい。
【0059】
コンピューティングデバイス600は、図示するようにいくつかの異なる方法で実装されてもよい。たとえば、コンピューティングデバイス600は、標準的なサーバ600aとして、またはそのようなサーバ600aのグループ内で複数回実装されても、ラップトップコンピュータ600bとして実装されても、ラックサーバシステム600cの一部として実装されてもよい。
【0060】
本明細書で説明するシステムおよび技法の様々な実装形態は、デジタル電気および/または光学回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せにおいて実現することができる。これらの様々な実装形態は、少なくとも1つのプログラム可能なプロセッサを含むプログラム可能なシステム上で実行可能および/または解釈可能である1つまたは複数のコンピュータプログラム内の実装を含むことができる。プログラム可能なプロセッサは、専用のものであっても、汎用的なものであってもよく、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスとの間でデータおよび命令の受信および送信を行うように結合されてもよい。
【0061】
ソフトウェアアプリケーション(すなわち、ソフトウェアリソース)は、コンピューティングデバイスにタスクを実行させるコンピュータソフトウェアを指すことがある。いくつかの例では、ソフトウェアアプリケーションは、「アプリケーション」、「アプリ」、または「プログラム」と呼ばれることがある。例示的なアプリケーションには、限定はしないが、システム診断アプリケーション、システム管理アプリケーション、システム維持アプリケーション、文書処理アプリケーション、スプレッドシートアプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲーミングアプリケーションが含まれる。
【0062】
非一時的メモリは、コンピューティングデバイスによって使用できるように一時的または持続的にプログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)を記憶するために使用される物理デバイスであってもよい。非一時的メモリは、揮発性および/または不揮発性のアドレス指定可能半導体メモリであってもよい。不揮発性メモリの例には、限定はしないが、フラッシュメモリおよび読み取り専用メモリ(ROM)/プログラム可能な読み取り専用メモリ(PROM)/消去可能プログラム可能な読み取り専用メモリ(EPROM)/電子的に消去可能プログラム可能な読み取り専用メモリ(EEPROM)(たとえば、ブートプログラムなどのファームウェアに一般に使用される)が含まれる。揮発性メモリの例には、限定はしないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタチックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)ならびにディスクまたはテープが含まれる。
【0063】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られる)は、プログラム可能なプロセッサ用の機械命令を含み、高レベル手続き言語および/もしくはオブジェクト指向プログラミング言語、ならびに/またはアセンブリ/機械言語で実装することができる。本明細書では、「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械命令を機械可読信号として受信する機械可読媒体を含む、機械命令および/またはデータをプログラム可能プロセッサに提供するために使用される任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラム可能論理デバイス(PLD))を指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラム可能プロセッサに提供するために使用される任意の信号を指す。
【0064】
本明細書に記載されたプロセスおよび論理フローは、データ処理ハードウェアとも呼ばれ、1つまたは複数のコンピュータプログラムを実行して入力データに作用して出力を生成することによって機能を実行する、1つまたは複数のプログラム可能プロセッサによって実行することができる。プロセスおよび論理フローは、特殊目的論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行することもできる。コンピュータプログラムを実行するのに適したプロセッサには、一例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサが含まれる。一般に、プロセッサは、読み取り専用メモリもしくはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの基本的な要素は、命令を実行するためのプロセッサ、および命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するために1つもしくは複数の大容量記憶デバイス、たとえば、磁気ディスク、光磁気ディスク、または光ディスクを含むか、あるいは1つもしくは複数の大容量記憶デバイスからデータを受信するかまたは大容量記憶デバイスにデータを転送するか、またはその両方を行うように動作可能に結合される。しかし、コンピュータはそのようなデバイスを有さなくてもよい。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体には、すべての形態の不揮発性メモリ、メディアおよびメモリデバイスが含まれ、一例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内部ハードディスクまたは取り外し可能ディスク、光磁気ディスク、ならびにCD ROMおよびDVD ROMディスクが挙げられる。プロセッサおよびメモリは、専用論理回路によって補助するか、または専用論理回路に組み込むことができる。
【0065】
ユーザとの対話を可能にするように、本開示の1つまたは複数の態様は、ユーザに情報を表示するための表示デバイス、たとえば、CRT(陰極管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーンと、場合によっては、ユーザが入力をコンピュータに提供することができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールとを有するコンピュータ上に実装することができる。他の種類のデバイスを使用してユーザとの対話を可能にすることもできる。たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックとすることができ、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形態で受信することができる。また、コンピュータは、ユーザによって使用されているデバイスにドキュメントを送信し、そのデバイスからドキュメントを受信することによってユーザと対話することができる、たとえば、ウェブブラウザから受信された要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによってユーザと対話することができる。
【0066】
いくつかの実装形態について説明した。それにもかかわらず、本開示の趣旨および範囲から逸脱せずに様々な修正を施してもよいことが理解されよう。したがって、他の実装形態が以下の特許請求の範囲の範囲内にある。
【符号の説明】
【0067】
1、2 時間
10 ユーザデバイス
12 データ処理ハードウェア
14 メモリハードウェア
16 オーディオシステム
16a 音声取り込みデバイス
16b 音声出力デバイス
18 デジタルアシスタントインターフェース
19 応答
20 ネットワーク
50 デジタルアシスタントアプリケーション
52 アプリケーション識別子
60 リモートコンピューティングデバイス
100 音声環境
104 ユーザ
106 発話
107 ユーザインターフェース生成器
108 オーディオサブシステム
110 音響フレーム、オーディオデータ
111 入力された埋め込み
118 ASRシステム
120 トランスクリプション
120a 部分音声認識結果
120b 最終音声認識結果
200 トランスフォーマ-トランスデューサ(T-T)モデル
220 ラベルエンコーダ
230 ジョイントネットワーク
240 ソフトマックス層
300 オーディオエンコーダ
310 初期スタック
312 共有活性化
320 最終スタック
321 低レイテンシブランチ
322 高レイテンシブランチ
323 低レイテンシ活性化
324 高レイテンシ活性化
400 トランスフォーマ層
404 正規化層
406 マスクされたマルチヘッドアテンション層
408、414 残差接続
410 スタッキング/アンスタッキング層
412 フィードフォワード層
418 正規化線形層
416、420 密な層
450 出力表現/埋め込み
600 コンピューティングデバイス
600a サーバ
600b ラップトップコンピュータ
600c ラックサーバシステム
610 プロセッサ
620 メモリ
630 記憶デバイス
640 高速インターフェース/コントローラ
650 高速拡張ポート
660 低速インターフェース/コントローラ
670 高速バス
680 ディスプレイ
690 低速拡張ポート
図1
図2
図3A
図3B
図4
図5
図6
【手続補正書】
【提出日】2023-06-02
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ストリーミング音声認識と非ストリーミング音声認識を統合する単一のトランスフォーマ-トランスデューサモデル(200)であって、前記単一のトランスフォーマ-トランスデューサモデル(200)は、
オーディオエンコーダ(300)であって、
音響フレーム(110)のシーケンスを入力として受信し、
複数の時間ステップの各々において、前記音響フレーム(110)のシーケンス内の対応する音響フレーム(110)についての高次特徴表現を生成する
ように構成された、オーディオエンコーダ(300)と、
ラベルエンコーダ(220)であって、
最終ソフトマックス層(240)によって出力された非ブランク記号のシーケンスを入力として受信し、
前記複数の時間ステップの各々において密な表現を生成する
ように構成された、ラベルエンコーダ(220)と、
ジョイントネットワーク(230)であって、
前記複数の時間ステップの各々において前記オーディオエンコーダ(300)によって生成された前記高次特徴表現、および前記複数の時間ステップの各々において前記ラベルエンコーダ(220)によって生成された前記密な表現を入力として受信し、
前記対応する時間ステップにおいてあり得る音声認識仮説にわたる確率分布を、前記複数の時間ステップの各々において生成する
ように構成された、ジョイントネットワーク(230)とを備え、
前記オーディオエンコーダ(300)は、複数のトランスフォーマ層(400)を有するニューラルネットワークを備え、前記複数のトランスフォーマ層(400)は、
各々がゼロの先読みオーディオコンテキストを用いて訓練されたトランスフォーマ層(400)の初期スタック(310)と、
各々が可変先読みオーディオコンテキストを用いて訓練されたトランスフォーマ層(400)の最終スタック(320)とを備える、単一のトランスフォーマ-トランスデューサモデル(200)。
【請求項2】
前記オーディオエンコーダ(300)の各トランスフォーマ層(400)は、
正規化層(404)と、
相対位置符号化を伴うマスクされたマルチヘッドアテンション層(406)と、
残差接続(408)と、
スタッキング/アンスタッキング層(410)と、
フィードフォワード層(412)とを備える、請求項1に記載の単一のトランスフォーマ-トランスデューサモデル(200)。
【請求項3】
前記スタッキング/アンスタッキング層(410)は、前記対応するトランスフォーマ層(400)のフレームレートを変更して、訓練および推論の間に前記単一のトランスフォーマ-トランスデューサモデル(200)による処理時間を調整するように構成される、請求項2に記載の単一のトランスフォーマ-トランスデューサモデル(200)。
【請求項4】
トランスフォーマ層(400)の前記初期スタック(310)は、トランスフォーマ層(400)の前記最終スタック(320)よりも多くのトランスフォーマ層(400)を備える、請求項1から3のいずれか一項に記載の単一のトランスフォーマ-トランスデューサモデル(200)。
【請求項5】
訓練の間に、前記可変先読みオーディオコンテキストが、トランスフォーマ層(400)の前記最終スタック(320)における各トランスフォーマ層(400)に対して一様にサンプリングされる、請求項1から4のいずれか一項に記載の単一のトランスフォーマ-トランスデューサモデル(200)。
【請求項6】
第1の先読みオーディオコンテキストを使用して符号化されたオーディオデータ(110)から入力された発話(106)についての対応する音声認識結果(120)を復号するように構成された低レイテンシ復号ブランチ(321)と、
第2の先読みオーディオコンテキストを使用して符号化されたオーディオデータ(110)から前記入力された発話(106)についての対応する音声認識結果(120)を復号するように構成された高レイテンシ復号ブランチ(322)とをさらに備え、前記第2の先読みオーディオコンテキストは、前記第1の先読みオーディオコンテキストよりも長い持続時間の先読みオーディオを含む、請求項1から5のいずれか一項に記載の単一のトランスフォーマ-トランスデューサモデル(200)。
【請求項7】
トランスフォーマ層(400)の前記初期スタック(310)が、ゼロの先読みオーディオコンテキストを適用して、前記低レイテンシ復号ブランチ(321)と前記高レイテンシ復号ブランチ(322)の両方によって使用される共有活性化(312)を算出し、
トランスフォーマ層(400)の前記最終スタック(320)が、前記第1の先読みオーディオコンテキストを適用して、前記低レイテンシ復号ブランチ(321)によって使用されるが前記高レイテンシ復号ブランチ(322)では使用されない低レイテンシ活性化(323)を算出し、
トランスフォーマ層(400)の前記最終スタック(320)が、前記第2の先読みオーディオコンテキストを適用して、前記高レイテンシ復号ブランチ(322)によって使用されるが前記低レイテンシ復号ブランチ(321)では使用されない高レイテンシ活性化(324)を算出する、請求項6に記載の単一のトランスフォーマ-トランスデューサモデル(200)。
【請求項8】
前記第1の先読みオーディオコンテキストは、ゼロの先読みオーディオコンテキストを含む、請求項6または7に記載の単一のトランスフォーマ-トランスデューサモデル(200)。
【請求項9】
前記低レイテンシ復号ブランチ(321)および前記高レイテンシ復号ブランチ(322)は、前記入力された発話(106)についての前記対応する音声認識結果(120)を復号するために並行して実行される、請求項6から8のいずれか一項に記載の単一のトランスフォーマ-トランスデューサモデル(200)。
【請求項10】
前記入力された発話(106)について前記高レイテンシ復号ブランチ(322)によって復号される対応する音声認識結果(120)は、前記入力された発話(106)について前記低レイテンシ復号ブランチ(321)によって復号される前記対応する音声認識結果(120)に対して、前記第2の先読みオーディオコンテキストと前記第1の先読みオーディオコンテキストとの差に基づく持続時間だけ遅延させられる、請求項9に記載の単一のトランスフォーマ-トランスデューサモデル(200)。
【請求項11】
前記低レイテンシ復号ブランチ(321)は、前記入力された発話(106)が前記単一のトランスフォーマ-トランスデューサモデル(200)によって受信されたときに、前記対応する音声認識結果(120)を部分音声認識結果(120)としてストリーミングするように構成され、
前記高レイテンシ復号ブランチ(322)は、前記単一のトランスフォーマ-トランスデューサモデル(200)が完全な前記入力された発話(106)を受信した後に、前記対応する音声認識結果を最終トランスクリプション(120)として出力するように構成される、請求項6から10のいずれか一項に記載の単一のトランスフォーマ-トランスデューサモデル(200)。
【請求項12】
前記入力された発話(106)は、アプリケーション(50)に向けられ、
前記入力された発話(106)についての前記対応する音声認識結果(120)を復号するために前記高レイテンシ復号ブランチ(322)によって使用される前記第2の先読みオーディオコンテキストの持続時間は、前記入力された発話(106)が向けられる前記アプリケーションのタイプに基づく、請求項6から11のいずれか一項に記載の単一のトランスフォーマ-トランスデューサモデル(200)。
【請求項13】
前記ラベルエンコーダ(220)は、複数のトランスフォーマ層(400)を有するニューラルネットワークを備える、請求項1から12のいずれか一項に記載の単一のトランスフォーマ-トランスデューサモデル(200)。
【請求項14】
前記ラベルエンコーダ(220)は、bigram埋め込みルックアップデコーダモデルを備える、請求項1から12のいずれか一項に記載の単一のトランスフォーマ-トランスデューサモデル(200)。
【請求項15】
前記単一のトランスフォーマ-トランスデューサモデル(200)は、クライアントデバイス(10)上で実行されるか、または
前記単一のトランスフォーマ-トランスデューサモデル(200)は、サーバベースのシステム(60)上で実行される、請求項1から14のいずれか一項に記載の単一のトランスフォーマ-トランスデューサモデル(200)。
【請求項16】
データ処理ハードウェア(12)上で実行されたときに、前記データ処理ハードウェア(12)に動作を実行させるコンピュータ実施方法(500)であって、前記動作は、
発話(106)に対応するオーディオデータ(110)をトランスフォーマ-トランスデューサモデル(200)への入力として受信することと、
前記トランスフォーマ-トランスデューサモデル(200)を使用してストリーミング音声認識と非ストリーミング音声認識を前記オーディオデータ(110)に対して並行して実行することとを含み、前記実行することは、
前記トランスフォーマ-トランスデューサモデル(200)の低レイテンシブランチ(321)では、
前記発話(106)に対応する前記オーディオデータ(110)を受信する間、第1の先読みオーディオコンテキストを使用して前記オーディオデータ(110)を符号化し、
前記第1の先読みオーディオコンテキストを使用して符号化された前記オーディオデータ(110)を、前記発話(106)についての部分音声認識結果(120)に復号し、
前記発話(106)についての前記部分音声認識結果(120)をストリーミングし、
前記トランスフォーマ-トランスデューサモデルの高レイテンシブランチ(322)では、
前記発話(106)に対応する前記オーディオデータ(110)が受信された後、第2の先読みオーディオコンテキストを使用して前記オーディオデータ(110)を符号化し、
前記第2の先読みオーディオコンテキストを使用して符号化された前記オーディオデータ(110)を、前記発話(106)についての最終音声認識結果(120)に復号し、
前記ストリーミングされる部分音声認識結果(120)を前記最終音声認識結果(120)で置き換えることによって行われる、コンピュータ実施方法(500)。
【請求項17】
前記トランスフォーマ-トランスデューサモデル(200)は、複数のトランスフォーマ層(400)を有するニューラルネットワークを備えるオーディオエンコーダ(300)を備え、前記複数のトランスフォーマ層(400)は、
各々がゼロの先読みオーディオコンテキストを用いて訓練されたトランスフォーマ層(400)の初期スタック(310)と、
各々が可変先読みオーディオコンテキストを用いて訓練されたトランスフォーマ層(400)の最終スタック(320)とを備える、請求項16に記載のコンピュータ実施方法(500)。
【請求項18】
各トランスフォーマ層(400)は、
正規化層(404)と、
相対位置符号化を伴うマスクされたマルチヘッドアテンション層(406)と、
残差接続(408)と、
スタッキング/アンスタッキング層(410)と、
フィードフォワード層(412)とを備える、請求項17に記載のコンピュータ実施方法(500)。
【請求項19】
前記スタッキング/アンスタッキング層(410)は、前記対応するトランスフォーマ層(400)のフレームレートを変更して、訓練および推論の間の単一のトランスフォーマ-トランスデューサモデル(200)による処理時間を調整するように構成される、請求項18に記載のコンピュータ実施方法(500)。
【請求項20】
トランスフォーマ層(400)の前記初期スタック(310)は、トランスフォーマ層(400)の前記最終スタック(320)よりも多くのトランスフォーマ層(400)を備える、請求項17から19のいずれか一項に記載のコンピュータ実施方法(500)。
【請求項21】
訓練の間に、前記可変先読みオーディオコンテキストが、前記トランスフォーマ層(400)の前記最終スタック(320)における各トランスフォーマ層(400)に対して一様にサンプリングされる、請求項17から20のいずれか一項に記載のコンピュータ実施方法(500)。
【請求項22】
トランスフォーマ層(400)の前記初期スタック(310)が、ゼロの先読みオーディオコンテキストを適用して、前記低レイテンシブランチ(321)と前記高レイテンシブランチ(322)の両方によって使用される共有活性化(312)を算出し、
トランスフォーマ層(400)の前記最終スタック(320)が、前記第1の先読みオーディオコンテキストを適用して、前記低レイテンシブランチ(321)によって使用されるが前記高レイテンシブランチ(322)では使用されない低レイテンシ活性化(323)を算出し、
トランスフォーマ層(400)の前記最終スタック(320)が、前記第2の先読みオーディオコンテキストを適用して、前記高レイテンシブランチ(322)によって使用されるが前記低レイテンシブランチ(321)では使用されない高レイテンシ活性化(324)を算出する、請求項17から21のいずれか一項に記載のコンピュータ実施方法(500)。
【請求項23】
前記第1の先読みオーディオコンテキストは、ゼロの先読みオーディオコンテキストを含む、請求項16から22のいずれか一項に記載のコンピュータ実施方法(500)。
【請求項24】
前記発話(106)について前記高レイテンシブランチ(322)によって復号される前記最終音声認識結果(120)は、前記発話(106)について前記低レイテンシブランチ(321)によって復号される前記部分音声認識結果(120)に対して、前記第2の先読みオーディオコンテキストと前記第1の先読みオーディオコンテキストとの差に基づく持続時間だけ遅延させられる、請求項16から23のいずれか一項に記載のコンピュータ実施方法(500)。
【請求項25】
前記動作は、
前記発話(106)が向けられるアプリケーション(50)のタイプを示すアプリケーション識別子(52)を受信することと、
前記アプリケーション識別子(52)に基づいて前記第2の先読みオーディオコンテキストの持続時間を設定することとをさらに含む、請求項16から24のいずれか一項に記載のコンピュータ実施方法(500)。
【請求項26】
前記トランスフォーマ-トランスデューサモデル(200)は、複数のトランスフォーマ層(400)を有するニューラルネットワークを含むラベルエンコーダ(220)を備える、請求項16から25のいずれか一項に記載のコンピュータ実施方法(500)。
【請求項27】
前記トランスフォーマ-トランスデューサモデル(200)は、bigram埋め込みルックアップデコーダモデルを含むラベルエンコーダ(220)を備える、請求項16から25のいずれか一項に記載のコンピュータ実施方法(500)。
【請求項28】
前記データ処理ハードウェア(12)は、前記トランスフォーマ-トランスデューサモデル(200)を実行し、
クライアントデバイス(10)、または
サーバベースのシステム(60)上に存在する、請求項16から27のいずれか一項に記載のコンピュータ実施方法(500)。
【国際調査報告】