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

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

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

特表2024-541131希少単語音声認識のための大規模言語モデルデータ選択
<>
  • 特表-希少単語音声認識のための大規模言語モデルデータ選択 図1A
  • 特表-希少単語音声認識のための大規模言語モデルデータ選択 図1B
  • 特表-希少単語音声認識のための大規模言語モデルデータ選択 図2
  • 特表-希少単語音声認識のための大規模言語モデルデータ選択 図3
  • 特表-希少単語音声認識のための大規模言語モデルデータ選択 図4
  • 特表-希少単語音声認識のための大規模言語モデルデータ選択 図5
  • 特表-希少単語音声認識のための大規模言語モデルデータ選択 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-07
(54)【発明の名称】希少単語音声認識のための大規模言語モデルデータ選択
(51)【国際特許分類】
   G10L 15/06 20130101AFI20241030BHJP
   G10L 15/16 20060101ALI20241030BHJP
【FI】
G10L15/06 300Y
G10L15/16
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024519718
(86)(22)【出願日】2021-12-13
(11)【特許番号】
(45)【特許公報発行日】2024-10-29
(85)【翻訳文提出日】2024-05-24
(86)【国際出願番号】 US2021063004
(87)【国際公開番号】W WO2023055409
(87)【国際公開日】2023-04-06
(31)【優先権主張番号】63/261,946
(32)【優先日】2021-09-30
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ロニー・ファン
(72)【発明者】
【氏名】タラ・エヌ・サイナス
(57)【要約】
希少単語音声認識のための言語モデル(206)をトレーニングする方法(500)は、トレーニングテキストサンプル(422)のセットを取得するステップと、音声認識モデル(200)をトレーニングするために使用されるトレーニング発話(452)のセットを取得するステップとを含む。複数のトレーニング発話における各トレーニング発話は、発話に対応するオーディオデータ(454)と、発話の対応する書き写し(456)とを含む。方法は、トレーニング発話のセットからの書き写し内に出現しないか、またはトレーニング発話のセットからの書き写し内にしきい値回数未満しか出現しない単語を含む希少単語トレーニングテキストサンプル(432)のサブセットを識別するために、トレーニングテキストサンプルのセットに希少単語フィルタリングを適用するステップも含む。方法は、トレーニング発話のセットからの書き写しと、希少単語トレーニングテキストサンプルの識別されたサブセットとにおいて外部言語モデルをトレーニングするステップをさらに含む。
【特許請求の範囲】
【請求項1】
音声中の希少単語を認識するために外部言語モデル(206)をトレーニングするためのコンピュータ実装方法(500)であって、前記コンピュータ実装方法(500)が、データ処理ハードウェア(610)上で実行されると、前記データ処理ハードウェア(610)に、
トレーニングテキストサンプル(422)のセットを取得するステップと、
自動音声認識(ASR)モデル(200)をトレーニングするために使用されるトレーニング発話(452)のセットを取得するステップであって、前記複数のトレーニング発話(452)における各トレーニング発話(452)が、発話に対応するオーディオデータ(454)と、前記発話の対応する書き写し(456)とを含む、ステップと、
前記トレーニング発話(452)のセットからの前記書き写し(456)内に出現しないか、または前記トレーニング発話(452)のセットからの前記書き写し(456)内にしきい値回数未満しか出現しない単語を含む希少単語トレーニングテキストサンプル(432)のサブセットを識別するために、前記トレーニングテキストサンプル(422)のセットに希少単語フィルタリングを適用するステップと、
前記トレーニング発話(452)のセットからの前記書き写し(456)と、前記希少単語トレーニングテキストサンプル(432)の識別されたサブセットとにおいて前記外部言語モデル(206)をトレーニングするステップと
を含む動作を実行させる、
コンピュータ実装方法(500)。
【請求項2】
前記トレーニングテキストサンプル(422)のセットを取得するステップが、
トレーニングテキストサンプル(412)のコーパスを受信するステップと、
前記トレーニングテキストサンプル(412)のコーパス内に発生する高頻度テキストサンプルを識別するために、前記トレーニングテキストサンプル(412)のコーパスにおいてリサンプリング関数を実行するステップと、
前記トレーニングテキストサンプル(412)のコーパスから前記識別された高頻度テキストサンプルを除去することによって、前記トレーニングテキストサンプル(422)のセットを取得するステップと
を含む、請求項1に記載のコンピュータ実装方法(500)。
【請求項3】
前記リサンプリング関数が、単純パワーリサンプリング関数、強制パワーリサンプリング関数、またはソフト対数リサンプリング関数のうちの1つを含む、請求項1または2に記載のコンピュータ実装方法(500)。
【請求項4】
前記動作が、
前記トレーニング発話(452)のセットに関連付けられたターゲットドメインに一致するターゲットドメイントレーニングテキストサンプル(442)のサブセットを識別するために、前記トレーニングテキストサンプル(442)のセットに対して対照フィルタリングを適用するステップをさらに含み、
前記トレーニング発話(452)のセットからの前記書き写し(456)および前記希少単語トレーニングテキストサンプル(432)の識別されたサブセットにおいて前記外部言語モデル(206)をトレーニングするステップが、前記ターゲットドメインに一致する前記ターゲットドメイントレーニングテキストサンプル(442)の識別されたサブセットにおいて前記外部言語モデル(206)をトレーニングするステップをさらに含む、
請求項1から3のいずれか一項に記載のコンピュータ実装方法(500)。
【請求項5】
前記外部言語モデル(206)が、外部ニューラル言語モデルを含む、請求項1から4のいずれか一項に記載のコンピュータ実装方法(500)。
【請求項6】
前記外部ニューラル言語モデルが、コンフォーマ層またはトランスフォーマ層のスタックを含む、請求項5に記載のコンピュータ実装方法(500)。
【請求項7】
前記動作が、前記トレーニングされた言語モデル(206)を前記ASRモデル(200)と統合するステップをさらに含み、前記トレーニングされた外部言語モデル(206)が、前記トレーニングされたASRモデル(200)によって予測された可能な音声認識仮説にわたる確率分布を再スコアするように構成される、請求項1から6のいずれか一項に記載のコンピュータ実装方法(500)。
【請求項8】
前記ASRモデル(200)が、
音響フレーム(110)のシーケンスを入力として受信し、
複数の出力ステップの各々において、前記音響フレーム(110)のシーケンス内の対応する音響フレーム(110)に対する第1の高次特徴表現を生成するように構成された
第1のエンコーダ(210)と、
前記複数の出力ステップの各々において前記第1のエンコーダ(210)によって生成された前記第1の高次特徴表現を入力として受信し、
前記複数の出力ステップの各々において、対応する第1の高次特徴フレームに対する第2の高次特徴表現を生成するように構成された
第2のエンコーダ(220)と、
前記複数の出力ステップの各々において前記第2のエンコーダ(220)によって生成された前記第2の高次特徴表現を入力として受信し、
前記複数の時間ステップの各々において、可能な音声認識仮説にわたる第1の確率分布(120a)を生成するように構成された
デコーダ(204)と
を含む、請求項7に記載のコンピュータ実装方法(500)。
【請求項9】
前記デコーダ(204)が、
前記複数の出力ステップの各々において前記第1のエンコーダ(210)によって生成された前記第1の高次特徴表現を入力として受信し、
前記複数の時間ステップの各々において可能な音声認識仮説にわたる第2の確率分布(120b)を生成する
ようにさらに構成された、請求項7または8に記載のコンピュータ実装方法(500)。
【請求項10】
前記デコーダ(204)が、
前記複数の時間ステップの各々において、
最終ソフトマックス層によって出力されたN個の前の非空白記号のシーケンスを入力として受信し、
前記N個の前の非空白記号のシーケンスの各非空白記号について、それぞれの埋め込み(306)を生成し、
前記それぞれの埋め込み(306)を平均することによって平均埋め込み(312)を生成する
ように構成された予測ネットワーク(300)と、
前記複数の出力ステップの各々において前記予測ネットワーク(300)によって生成された前記平均埋め込み(312)と、
前記ASRモデル(200)がストリーミングモードにおいて動作しているとき、前記複数の出力ステップの各々において前記第1のエンコーダ(210)によって生成された前記第1の高次特徴表現、または
前記ASRモデル(200)が非ストリーミングモードにおいて動作しているとき、前記複数の出力ステップの各々において前記第2のエンコーダ(220)によって生成された前記第2の高次特徴表現
のうちの1つとを入力として受信し、
前記複数の出力ステップの各々において、
前記ASRモデル(200)が前記ストリーミングモードにおいて動作しているとき、可能な音声認識仮説にわたる前記第2の確率分布(120b)、または
前記ASRモデル(200)が非ストリーミングモードにおいて動作しているとき、可能な音声認識仮説にわたる前記第1の確率分布(120a)
のうちの1つを生成する
ように構成された結合ネットワーク(230)と
を含む、請求項7から9のいずれか一項に記載のコンピュータ実装方法(500)。
【請求項11】
前記第1のエンコーダ(210)が、コンフォーマ層の初期スタックを含む因果エンコーダを含み、
前記第2のエンコーダ(220)が、前記コンフォーマ層の初期スタック上に重ねられたコンフォーマ層の最終スタックを含む非因果エンコーダを含む、
請求項8から10のいずれか一項に記載のコンピュータ実装方法(500)。
【請求項12】
前記ASRモデル(200)の前記第1のエンコーダ(210)および前記第2のエンコーダ(220)が、前記トレーニング発話(452)のセットからの前記書き写し(456)と前記希少単語トレーニングテキストサンプル(432)の識別されたサブセットとを含むテキストのみのデータにおいてトレーニングされた前記外部言語モデル(206)の前記統合を容易にするために、ハイブリッド自己回帰トランスデューサ因数分解を使用してトレーニングされる、請求項8から11のいずれか一項に記載のコンピュータ実装方法(500)。
【請求項13】
データ処理ハードウェア(610)と、
前記データ処理ハードウェア(610)上で実行されると、前記データ処理ハードウェア(610)に、
トレーニングテキストサンプル(422)のセットを取得することと、
自動音声認識(ASR)モデル(200)をトレーニングするために使用されるトレーニング発話(452)のセットを取得することであって、前記複数のトレーニング発話(452)における各トレーニング発話(452)が、発話に対応するオーディオデータ(454)と、前記発話の対応する書き写し(456)とを含む、ことと、
前記トレーニング発話(452)のセットからの前記書き写し(456)内に出現しないか、または前記トレーニング発話(452)のセットからの前記書き写し(456)内にしきい値回数未満しか出現しない単語を含む希少単語トレーニングテキストサンプル(432)のサブセットを識別するために、前記トレーニングテキストサンプル(422)のセットに希少単語フィルタリングを適用することと、
前記トレーニング発話(452)のセットからの前記書き写し(456)と、前記希少単語トレーニングテキストサンプル(432)の識別されたサブセットとにおいて前記外部言語モデル(206)をトレーニングすることと
を含む動作を実行させる命令を記憶するメモリハードウェア(620)と
を備えるシステム。
【請求項14】
前記トレーニングテキストサンプル(422)のセットを取得することが、
トレーニングテキストサンプル(412)のコーパスを受信することと、
前記トレーニングテキストサンプル(412)のコーパス内に発生する高頻度テキストサンプルを識別するために、前記トレーニングテキストサンプル(412)のコーパスにおいてリサンプリング関数を実行することと、
前記トレーニングテキストサンプル(412)のコーパスから前記識別された高頻度テキストサンプルを除去することによって、前記トレーニングテキストサンプル(422)のセットを取得することと
を含む、請求項13に記載のシステム。
【請求項15】
前記リサンプリング関数が、単純パワーリサンプリング関数、強制パワーリサンプリング関数、またはソフト対数リサンプリング関数のうちの1つを含む、請求項13または14に記載のシステム。
【請求項16】
前記動作が、
前記トレーニング発話(452)のセットに関連付けられたターゲットドメインに一致するターゲットドメイントレーニングテキストサンプル(442)のサブセットを識別するために、前記トレーニングテキストサンプル(442)のセットに対して対照フィルタリングを適用することをさらに含み、
前記トレーニング発話(452)のセットからの前記書き写し(456)および前記希少単語トレーニングテキストサンプル(432)の識別されたサブセットにおいて前記外部言語モデル(206)をトレーニングすることが、前記ターゲットドメインに一致する前記ターゲットドメイントレーニングテキストサンプル(442)の識別されたサブセットにおいて前記外部言語モデル(206)をトレーニングすることをさらに含む、
請求項13から15のいずれか一項に記載のシステム。
【請求項17】
前記外部言語モデル(206)が、外部ニューラル言語モデルを含む、請求項13から16のいずれか一項に記載のシステム。
【請求項18】
前記外部ニューラル言語モデルが、コンフォーマ層またはトランスフォーマ層のスタックを含む、請求項17に記載のシステム。
【請求項19】
前記動作が、前記トレーニングされた言語モデル(206)を前記トレーニングされたASRモデル(200)と統合することをさらに含み、前記トレーニングされた外部言語モデル(206)が、前記トレーニングされたASRモデル(200)によって予測された可能な音声認識仮説にわたる確率分布を再スコアするように構成される、請求項13から18のいずれか一項に記載のシステム。
【請求項20】
前記ASRモデル(200)が、
音響フレーム(110)のシーケンスを入力として受信し、
複数の出力ステップの各々において、前記音響フレーム(110)のシーケンス内の対応する音響フレーム(110)に対する第1の高次特徴表現を生成するように構成された
第1のエンコーダ(210)と、
前記複数の出力ステップの各々において前記第1のエンコーダ(210)によって生成された前記第1の高次特徴表現を入力として受信し、
前記複数の出力ステップの各々において、対応する第1の高次特徴フレームに対する第2の高次特徴表現を生成するように構成された
第2のエンコーダ(220)と、
前記複数の出力ステップの各々において前記第2のエンコーダ(220)によって生成された前記第2の高次特徴表現を入力として受信し、
前記複数の時間ステップの各々において、可能な音声認識仮説にわたる第1の確率分布(120a)を生成するように構成された
デコーダ(204)と
を備える、請求項19に記載のシステム。
【請求項21】
前記デコーダ(204)が、
前記複数の出力ステップの各々において前記第1のエンコーダ(210)によって生成された前記第1の高次特徴表現を入力として受信し、
前記複数の時間ステップの各々において、可能な音声認識仮説にわたる第2の確率分布(120b)を生成する
ようにさらに構成された、請求項19または20に記載のシステム。
【請求項22】
前記デコーダ(204)が、
前記複数の時間ステップの各々において、
最終ソフトマックス層によって出力されたN個の前の非空白記号のシーケンスを入力として受信し、
前記N個の前の非空白記号のシーケンスの各非空白記号について、それぞれの埋め込み(306)を生成し、
前記それぞれの埋め込み(306)を平均することによって平均埋め込み(312)を生成する
ように構成された予測ネットワーク(300)と、
前記複数の出力ステップの各々において前記予測ネットワーク(300)によって生成された平均埋め込み(312)と、
前記ASRモデル(200)がストリーミングモードにおいて動作しているとき、前記複数の出力ステップの各々において前記第1のエンコーダ(210)によって生成された前記第1の高次特徴表現、または
前記ASRモデル(200)が非ストリーミングモードにおいて動作しているとき、前記複数の出力ステップの各々において前記第2のエンコーダ(220)によって生成された第2の高次特徴表現
のうちの1つとを受信し、
前記複数の出力ステップの各々において、
前記ASRモデル(200)がストリーミングモードにおいて動作しているとき、可能な音声認識仮説にわたる前記第2の確率分布(120b)、または
前記ASRモデル(200)が非ストリーミングモードにおいて動作しているとき、可能な音声認識仮説にわたる前記第1の確率分布(120a)
のうちの1つを生成する
ように構成された結合ネットワークと
を備える、請求項19から21のいずれか一項に記載のシステム。
【請求項23】
前記第1のエンコーダ(210)が、コンフォーマ層の初期スタックを備える因果エンコーダを備え、
前記第2のエンコーダ(220)が、前記コンフォーマ層の初期スタック上に重ねられたコンフォーマ層の最終スタックを備える非因果エンコーダを備える、
請求項20から22のいずれか一項に記載のシステム。
【請求項24】
前記ASRモデル(200)の前記第1のエンコーダ(210)および前記第2のエンコーダ(220)が、前記トレーニング発話(452)のセットからの前記書き写し(456)と前記希少言語トレーニングテキストサンプル(432)の識別されたサブセットとを含むテキストのみのデータにおいてトレーニングされた前記外部言語モデル(206)の統合を容易にするために、ハイブリッド自己回帰トランスデューサ因数分解を使用してトレーニングされる、請求項20から23のいずれか一項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、希少単語音声認識のための大規模言語モデルデータ選択に関する。
【背景技術】
【0002】
自動音声認識(ASR)システムは、各モデルが専用の目的を有する複数のモデルから、単一のニューラルネットワークがオーディオ波形(すなわち、入力シーケンス)を出力文(すなわち、出力シーケンス)に直接マッピングするために使用される統合モデルへ進化してきた。この統合は、オーディオ特徴のシーケンスが与えられると単語(または書記素)のシーケンスを生成するシーケンスツーシーケンス手法をもたらした。統合構造により、モデルのすべての構成要素は、単一のエンドツーエンド(E2E)ニューラルネットワークとして共同でトレーニングされ得る。ここで、E2Eモデルは、アーキテクチャ全体がニューラルネットワークで構成されたモデルを指す。完全なニューラルネットワークは、外部構成要素および/または手動で設計された構成要素(例えば、有限状態トランスデューサ、レキシコン、またはテキスト正規化モジュール)なしで機能する。それに加えて、E2Eモデルをトレーニングする場合、これらのモデルは、一般に、決定木からのブートストラップまたは別個のシステムからのタイムアライメントを必要としない。これらのE2E自動音声認識(ASR)システムは、すさまじい進歩を遂げ、単語誤り率(WER)を含むいくつかの一般的なベンチマークにおいて従来のASRシステムを上回っている。E2E ASRモデルのアーキテクチャは、アプリケーションに大きく依存する。例えば、音声検索またはデバイス上のディクテーションなどの、ユーザとの対話を伴ういくつかのアプリケーションは、モデルがストリーミング方式で認識を実行することを必要とする。オフラインビデオキャプションのような他のアプリケーションは、モデルがストリーミングされることを必要とせず、性能を改善するための将来のコンテキストを利用することができる。それに加えて、既存のE2Eモデルは、トレーニング中に見られなかった希少単語を認識する際に高い失敗率を経験する。大規模なトレーニングデータセットにおいて外部言語モデルをトレーニングすることによって、希少単語認識が改善される。
【発明の概要】
【課題を解決するための手段】
【0003】
本開示の一態様は、希少単語音声認識のための言語モデルをトレーニングするコンピュータ実装方法を提供する。コンピュータ実装方法は、データ処理ハードウェア上で実行されると、データ処理ハードウェアに、トレーニングテキストサンプルのセットを取得するステップと、自動音声認識(ASR)モデルをトレーニングするために使用されるトレーニング発話のセットを取得するステップとを含む動作を実行させる。複数のトレーニング発話における各トレーニング発話は、発話に対応するオーディオデータと、発話の対応する書き写しとを含む。動作は、トレーニング発話のセットからの書き写し内に出現しないか、またはトレーニング発話のセットからの書き写し内にしきい値回数未満しか出現しない単語を含む希少単語トレーニングテキストサンプルのサブセットを識別するために、トレーニングテキストサンプルのセットに希少単語フィルタリングを適用するステップも含む。動作は、トレーニング発話のセットからの書き写しと、希少単語トレーニングテキストサンプルの識別されたサブセットとにおいて外部言語モデルをトレーニングするステップをさらに含む。
【0004】
本開示の実装形態は、以下のオプションの特徴のうちの1つまたは複数を含み得る。いくつかの実装形態において、トレーニングテキストサンプルのセットを取得するステップは、トレーニングテキストサンプルのコーパスを受信するステップと、トレーニングテキストサンプルのコーパス内に発生する高頻度テキストサンプルを識別するために、トレーニングテキストサンプルのコーパスにおいてリサンプリング関数を実行するステップと、トレーニングテキストサンプルのコーパスから識別された高頻度テキストサンプルを除去することによって、トレーニングテキストサンプルのセットを取得するステップとを含む。いくつかの例において、リサンプリング関数は、単純パワーリサンプリング関数、強制パワーリサンプリング関数、またはソフト対数リサンプリング関数のうちの1つを含む。
【0005】
いくつかの実装形態において、動作は、トレーニング発話のセットに関連付けられたターゲットドメインに一致するターゲットドメイントレーニングテキストサンプルのサブセットを識別するために、トレーニングテキストサンプルのセットに対して対照フィルタリングを適用するステップをさらに含む。ここで、トレーニング発話のセットからの書き写しおよび希少単語トレーニングテキストサンプルの識別されたサブセットにおいて外部言語モデルをトレーニングするステップは、ターゲットドメインに一致するターゲットドメイントレーニングテキストサンプルの識別されたサブセットにおいて外部言語モデルをトレーニングするステップをさらに含む。いくつかの例において、外部言語モデルは、外部ニューラル言語モデルを含む。これらの例において、外部ニューラル言語モデルは、コンフォーマ層またはトランスフォーマ層のスタックを含み得る。
【0006】
いくつかの実装形態において、動作は、トレーニングされた外部言語モデルをトレーニングされたASRモデルと統合するステップをさらに含む。トレーニングされた外部言語モデルは、トレーニングされたASRモデルによって予測された可能な音声認識仮説にわたる確率分布を再スコアするように構成される。これらの実装形態において、ASRモデルは、第1のエンコーダと、第2のエンコーダと、デコーダとを含む。第1のエンコーダは、音響フレームのシーケンスを入力として受信し、複数の出力ステップの各々において、音響フレームのシーケンス内の対応する音響フレームに対する第1の高次特徴表現を生成するように構成される。第2のエンコーダは、複数の出力ステップの各々において第1のエンコーダによって生成された第1の高次特徴表現を入力として受信し、複数の出力ステップの各々において対応する第1の高次特徴フレームに対する第2の高次特徴表現を生成するように構成される。デコーダは、複数の出力ステップの各々において第2のエンコーダによって生成された第2の高次特徴表現を入力として受信し、複数の時間ステップの各々において、可能な音声認識仮説にわたる第1の確率分布を生成するように構成される。
【0007】
これらの実装形態において、デコーダは、複数の出力ステップの各々において第1のエンコーダによって生成された第1の高次特徴表現を入力として受信し、複数の時間ステップの各々において可能な音声認識仮説にわたる第2の確率分布を生成するようにさらに構成される。それに加えて、デコーダは、予測ネットワークと結合ネットワークとを含み得る。ASRモデルがストリーミングモードにおいて動作している場合、予測ネットワークは、複数の出力ステップの各々において予測ネットワークによって生成された平均埋め込みと、複数の出力ステップの各々において第1のエンコーダによって生成された第1の高次特徴表現とを入力として受信し、複数の出力ステップの各々において可能な音声認識仮説にわたる第2の確率分布を生成するように構成される。代替的に、ASRモデルが非ストリーミングモードにおいて動作している場合、予測ネットワークは、複数の出力ステップの各々において予測ネットワークによって生成された平均埋め込みと、複数の出力ステップの各々において第2のエンコーダによって生成された第2の高次特徴表現とを入力として受信し、可能な音声認識仮説にわたる第1の確率分布を生成するように構成される。
【0008】
追加的または代替的に、第1のエンコーダは、コンフォーマ層の初期スタックを含む因果エンコーダを含み得る。ここで、第2のエンコーダは、コンフォーマ層の初期スタック上に重ねられたコンフォーマ層の最終スタックを含む非因果エンコーダを含み得る。ASRモデルの第1のエンコーダおよび第2のエンコーダは、トレーニング発話のセットからの書き写しと希少言語トレーニングテキストサンプルの識別されたサブセットとを含むテキストのみのデータにおいてトレーニングされた外部言語モデルの統合を容易にするために、ハイブリッド自己回帰トランスデューサ因数分解を使用してトレーニングされ得る。
【0009】
本開示の別の態様は、希少言語音声認識のための言語モデルをトレーニングするためのシステムを提供する。システムは、データ処理ハードウェアと、データ処理ハードウェアと通信するメモリハードウェアとを含む。メモリハードウェアは、データ処理ハードウェア上で実行されると、データ処理ハードウェアに、トレーニングテキストサンプルのセットを取得することと、自動音声認識(ASR)モデルをトレーニングするために使用されるトレーニング発話のセットを取得することとを含む動作を実行させる命令を記憶する。複数のトレーニング発話における各トレーニング発話は、発話に対応するオーディオデータと、発話の対応する書き写しとを含む。動作は、トレーニング発話のセットからの書き写し内に出現しないか、またはトレーニング発話のセットからの書き写し内にしきい値回数未満しか出現しない単語を含む希少単語トレーニングテキストサンプルのサブセットを識別するために、トレーニングテキストサンプルのセットに希少単語フィルタリングを適用することも含む。動作は、トレーニング発話のセットからの書き写しと、希少単語トレーニングテキストサンプルの識別されたサブセットとにおいて外部言語モデルをトレーニングすることをさらに含む。
【0010】
この態様は、以下のオプションの特徴のうちの1つまたは複数を含み得る。いくつかの実装形態において、トレーニングテキストサンプルのセットを取得することは、トレーニングテキストサンプルのコーパスを受信することと、トレーニングテキストサンプルのコーパス内に発生する高頻度テキストサンプルを識別するために、トレーニングテキストサンプルのコーパスにおいてリサンプリング関数を実行することと、トレーニングテキストサンプルのコーパスから識別された高頻度テキストサンプルを除去することによって、トレーニングテキストサンプルのセットを取得することとを含む。いくつかの例において、リサンプリング関数は、単純パワーリサンプリング関数、強制パワーリサンプリング関数、またはソフト対数リサンプリング関数のうちの1つを含む。
【0011】
いくつかの実装形態において、動作は、トレーニング発話のセットに関連付けられたターゲットドメインに一致するターゲットドメイントレーニングテキストサンプルのサブセットを識別するために、トレーニングテキストサンプルのセットに対して対照フィルタリングを適用することをさらに含む。ここで、トレーニング発話のセットからの書き写しおよび希少単語トレーニングテキストサンプルの識別されたサブセットにおいて外部言語モデルをトレーニングすることは、ターゲットドメインに一致するターゲットドメイントレーニングテキストサンプルの識別されたサブセットにおいて外部言語モデルをトレーニングすることをさらに含む。いくつかの例において、外部言語モデルは、外部ニューラル言語モデルを含む。これらの例において、外部ニューラル言語モデルは、コンフォーマ層またはトランスフォーマ層のスタックを含み得る。
【0012】
いくつかの実装形態において、動作は、トレーニングされた外部言語モデルをトレーニングされたASRモデルと統合することをさらに含む。トレーニングされた外部言語モデルは、トレーニングされたASRモデルによって予測された可能な音声認識仮説にわたる確率分布を再スコアするように構成される。これらの実装形態において、ASRモデルは、第1のエンコーダと、第2のエンコーダと、デコーダとを含む。第1のエンコーダは、音響フレームのシーケンスを入力として受信し、複数の出力ステップの各々において、音響フレームのシーケンス内の対応する音響フレームに対する第1の高次特徴表現を生成するように構成される。第2のエンコーダは、複数の出力ステップの各々において第1のエンコーダによって生成された第1の高次特徴表現を入力として受信し、複数の出力ステップの各々において、対応する第1の高次特徴フレームに対する第2の高次特徴表現を生成するように構成される。デコーダは、複数の出力ステップの各々において第2のエンコーダによって生成された第2の高次特徴表現を入力として受信し、複数の時間ステップの各々において、可能な音声認識仮説にわたる第1の確率分布を生成するように構成される。
【0013】
これらの実装形態において、デコーダは、複数の出力ステップの各々において第1のエンコーダによって生成された第1の高次特徴表現を入力として受信し、複数の時間ステップの各々において、可能な音声認識仮説にわたる第2の確率分布を生成するようにさらに構成される。それに加えて、デコーダは、予測ネットワークと結合ネットワークとを含み得る。ASRモデルがストリーミングモードにおいて動作している場合、予測ネットワークは、複数の出力ステップの各々において予測ネットワークによって生成された平均埋め込みと、複数の出力ステップの各々において第1のエンコーダによって生成された第1の高次特徴表現とを入力として受信し、複数の出力ステップの各々において、可能な音声認識仮説にわたる第2の確率分布を生成するように構成される。代替的に、ASRモデルが非ストリーミングモードにおいて動作している場合、予測ネットワークは、複数の出力ステップの各々において予測ネットワークによって生成された平均埋め込みと、複数の出力ステップの各々において第2のエンコーダによって生成された第2の高次特徴表現とを入力として受信し、可能な音声認識仮説にわたる第1の確率分布を生成するように構成される。
【0014】
追加的または代替的に、第1のエンコーダは、コンフォーマ層の初期スタックを含む因果エンコーダを含み得る。ここで、第2のエンコーダは、コンフォーマ層の初期スタック上に重ねられたコンフォーマ層の最終スタックを含む非因果エンコーダを含み得る。ASRモデルの第1のエンコーダおよび第2のエンコーダは、トレーニング発話のセットからの書き写しと希少言語トレーニングテキストサンプルの識別されたサブセットとを含むテキストのみのデータにおいてトレーニングされた外部言語モデルの統合を容易にするために、ハイブリッド自己回帰トランスデューサ因数分解を使用してトレーニングされ得る。
【0015】
本開示の1つまたは複数の実装形態の詳細は、添付図面および以下の説明において記載される。他の態様、特徴、および利点は、説明および図面、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0016】
図1A】自動音声認識のための音声認識モデルおよび外部言語モデルアーキテクチャを使用する例示的な音声環境の概略図である。
図1B】自動音声認識のための音声認識モデルおよび外部言語モデルアーキテクチャを使用する例示的な音声環境の概略図である。
図2図1の音声認識モデルおよび言語モデルアーキテクチャの概略図である。
図3図2の音声認識モデルの予測ネットワークの例示的な結び付けられ、縮小された予測層の概略図である。
図4】言語モデルをトレーニングするためのデータ選択パイプラインの概略図である。
図5】言語モデルをトレーニングする方法の動作の例示的な配置の概略図である。
図6】本明細書で説明されるシステムおよび方法を実装するために使用され得る例示的なコンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0017】
様々な図面における同様の参照符号は、同様の要素を示す。
【0018】
エンドツーエンド(E2E)自動音声認識(ASR)モデルは、従来、ストリーミングモードまたは非ストリーミングモードのいずれかで動作するように構造化される。従来、E2E ASRモデルは、主な構成要素としてエンコーダとデコーダとを含む。音声検索またはデバイス上のディクテーションなどの、エンドユーザとの対話を伴うアプリケーションは、モデルがストリーミング方式で認識を実行することを必要とする場合があり、そこでは、単語は、可能な限り短い待ち時間で話されるように出力されることが期待される。これは、双方向LSTMなどの、精度を改善するために将来のコンテキストを使用するモデルの使用を妨げる。契約によって、オフラインビデオキャプションなどのアプリケーションは、ストリーミング認識を必要とせず、性能を改善するために任意の利用可能な将来のコンテキストを最大限利用し得る。さらに、従来のE2E ASRモデルは、従来のモデルがトレーニングされる1000億を超えるテキスト発話と比較して、ごく一部のオーディオ-テキスト対においてトレーニングされ、したがって、ロングテールの固有名詞および希少単語において性能が低い。
【0019】
本明細書における実装形態は、ASRモデルの希少単語の認識品質を改善するために選択されたデータにおいてトレーニングされたオンデバイスニューラル言語モデルと組み合わせた単一のE2E ASRモデルを対象としている。より具体的には、本明細書における実装形態は、希少単語およびロングテール固有名詞の認識品質を改善するために言語モデルをトレーニングするのに適したトレーニングデータの十分なサブセットを選択するためのデータ選択パイプラインを対象としている。ASRモデルは、ストリーミングエンコーダと非ストリーミングエンコーダとを含むカスケードエンコーダと、ASRモデルがストリーミングモードまたは非ストリーミングモードにおいて動作することを可能にするためにストリーミングエンコーダまたは非ストリーミングエンコーダの出力を使用して復号することを学習する単一のデコーダとを使用し得る。ASRモデルに加えて、アーキテクチャは、ストリーミングモードと非ストリーミングモードの両方を実装する機械翻訳などの他のモードにも適用することができる。
【0020】
図1Aおよび図1Bは、音声環境100、100a~bの例である。音声環境100において、ユーザ104がユーザデバイス10などのコンピューティングデバイスと対話する方式は、音声入力を介するものであり得る。ユーザデバイス10(一般にデバイス10とも呼ばれる)は、音声環境100内の1人または複数のユーザ104から音(例えば、ストリーミングオーディオデータ)をキャプチャするように構成される。ここで、ストリーミングオーディオデータは、可聴クエリ、デバイス10に対するコマンド、またはデバイス10によってキャプチャされる可聴通信として機能する、ユーザ104による口頭発話106を指し得る。デバイス10の音声対応システムは、クエリに応答すること、および/またはコマンドを1つもしくは複数の下流アプリケーションによって実行/履行させることによって、クエリまたはコマンドに対処し得る。
【0021】
ユーザデバイス10は、ユーザ104に関連付けられ、オーディオデータを受信することができる任意のコンピューティングデバイスに対応し得る。ユーザデバイス10のいくつかの例は、限定はしないが、モバイルデバイス(例えば、携帯電話、タブレット、ラップトップなど)、コンピュータ、ウェアラブルデバイス(例えば、スマートウォッチ)、スマート家電、インターネットオブシングス(IoT)デバイス、車載インフォテインメントシステム、スマートディスプレイ、スマートスピーカなどを含む。ユーザデバイス10は、データ処理ハードウェア12と、データ処理ハードウェア12と通信し、データ処理ハードウェア12によって実行されると、データ処理ハードウェア12に1つまたは複数の動作を実行させる命令を記憶するメモリハードウェア14とを含む。ユーザデバイス10は、音声環境100内の口頭発話106をキャプチャして電気信号に変換するためのオーディオキャプチャデバイス(例えば、マイクロフォン)16、16aと、可聴オーディオ信号を(例えば、デバイス10からの出力オーディオデータとして)伝達するための音声出力デバイス(例えば、スピーカ)16、16bとを有するオーディオシステム16をさらに含む。ユーザデバイス10は、図示の例において単一のオーディオキャプチャデバイス16aを実装しているが、ユーザデバイス10は、本開示の範囲から逸脱することなくオーディオキャプチャデバイス16aのアレイを実装し得、それによって、アレイ内の1つまたは複数のキャプチャデバイス16aは、ユーザデバイス10上に物理的に存在しなくてもよいが、オーディオシステム16と通信する。
【0022】
音声環境100において、外部言語モデル(LM)206と統合されたASRモデル200(モデル200とも呼ばれる)を実装する自動音声認識(ASR)システム109が、ユーザ104のユーザデバイス10上、および/またはネットワーク40を介してユーザデバイス10と通信するリモートコンピューティングデバイス60(例えば、クラウドコンピューティング環境内で実行する分散システムの1つまたは複数のリモートサーバ)上に存在する。リモートコンピューティングデバイス60は、リモートデータ処理ハードウェア62(例えば、リモートサーバまたはCPU)および/またはリモートメモリハードウェア64(例えば、リモートデータベースまたは他の記憶ハードウェア)などのリモートリソースを含み得る。ユーザデバイス10および/またはリモートコンピューティングデバイス60は、ユーザ104によって話され、オーディオキャプチャデバイス16aによってキャプチャされた発話106を受信し、発話106を、ASRシステム109によって処理されることが可能な入力音響フレーム110に関連する対応するデジタルフォーマットに変換するように構成されたオーディオサブシステム108も含む。図1Aに示す例において、ユーザ104は、それぞれの発話106を話し、オーディオサブシステム108は、発話106を、ASRシステム109への入力のために対応するオーディオデータ(例えば、音響フレーム)110に変換する。その後、モデル200は、発話106に対応するオーディオデータ110を入力として受信し、発話106の対応する書き写し120(認識結果/仮説120とも呼ばれる)を出力として生成/予測する。
【0023】
モデル200は、そのエンコーダ間で共有されるデコーダ204(図2)(共有デコーダ204とも呼ばれる)も含み、これは、モデル200が、(例えば、各モデルがストリーミングモードまたは非ストリーミングモードのいずれか専用である2つの別個のモデルとは対照的に)ストリーミングモードおよび非ストリーミングモードにおいて動作することができる単一のモデルであることを可能にする。例えば、図1Aに示すように、ユーザデバイス10上で実行するデジタルアシスタントアプリケーション50は、単語、単語片、および/または個々の文字が話されるとすぐに画面上に出現するように、音声認識がストリーミングされることを必要とする場合がある。それに加えて、ユーザデバイス10のユーザ104が、デジタルアシスタントアプリケーション50が実行するクエリを発行する際に待ち時間に対する低い耐性を有する可能性も高い。アプリケーションが最短の待ち時間を要求するこれらのシナリオにおいて、モデル200は、ユーザ104が発話106を話しているときにモデル200がリアルタイムでストリーミング書き写し能力を提供し得るストリーミングモードにおいて動作する。一方、ユーザ104が音声認識待ち時間に対してより高い耐性を有する場合、および/または認識されるべき発話106が長い形式の発話(すなわち、完全な段落または複数の文からなる音声を指す)に関連する場合、同じモデル200は、非ストリーミングモードにおいて動作し得、正確な書き写し120を提供するために予測ネットワークを活用し得るが、待ち時間が増加する。
【0024】
それに加えて、ユーザ104は、ユーザデバイス10のASRシステム109が希少単語またはロングテール固有名詞を正確に識別することができることを要求し、これは、希少単語または固有名詞を検出するときにモデル200の出力にバイアスをかけるのを助けるために、モデル200とともにLM206を使用することによって達成されることが可能である。図4を参照して以下でより詳細に説明するように、LM206は、希少単語または固有名詞を検出するためにモデル200の出力に正確にバイアスをかけるためにLM206をトレーニングするために必要なテキストのみの1トレーニングデータの量を減らすために、異なるデータ選択方策を通じて取得されたデータセットを用いてトレーニングされ得る。したがって、ASRシステム109は、発話106が希少単語またはロングテール固有名詞を含む場合に書き写し120の精度を高めるためにLM206も使用しながら、タスクごとに別々にトレーニングされたASRモデルを活用することなく、ストリーミング書き写し能力と非ストリーミング書き写し能力の両方を提供するために、多数の異なる音声認識タスクのためにカスケードエンコーダ210、220を含む単一のASRモデルを実装し得る。
【0025】
いくつかの実装形態において、モデル200は、最初に、オーディオデータ110に対してストリーミング符号化を実行し、次いで、ストリーミングエンコーダの出力に対して非ストリーミング符号化を実行する。例えば、図示の例において、モデル200は、部分的な音声認識結果120、120aを生成するために、第1のエンコーダ(すなわち、低遅延エンコーダ)を使用して、オーディオデータ110に対してストリーミング音声認識を実行し、最終的な音声認識結果120、120bを生成するために、第2のエンコーダ(すなわち、高遅延エンコーダ)を使用して、符号化されたオーディオデータ110に対して非ストリーミング音声認識を実行する。特に、第1のエンコーダは、部分的な音声認識結果120aを生成し、一方、第2のエンコーダは、最終的な音声認識結果120bを生成するために、第1のエンコーダの出力を待つ。したがって、入力発話106に対する最終的な音声認識結果120bは、入力発話に対する部分的な音声認識結果120aから持続時間だけ遅れる場合がある。
【0026】
ユーザデバイス10および/またはリモートコンピューティングデバイス60は、発話106の書き写し120の表現をユーザデバイス10のユーザ104に提示するように構成されたユーザインターフェース発生器107も実行する。以下でより詳細に説明するように、ユーザインターフェース発生器107は、時間1の間に部分的な音声認識結果120aをストリーミング方式で表示し、その後、時間2の間に最終的な音声認識結果120bを表示し得る。いくつかの構成において、ASRシステム109から出力された書き写し120は、例えば、発話106によって指定されたユーザコマンド/クエリを実行するために、ユーザデバイス10またはリモートコンピューティングデバイス60上で実行する、例えば自然言語理解(NLU)モジュールによって処理される。追加的または代替的に、テキスト読み上げシステム(図示せず)(例えば、ユーザデバイス10またはリモートコンピューティングデバイス60の任意の組合せにおいて実行する)は、書き写し120を、ユーザデバイス10および/または別のデバイスによる可聴出力のための合成音声に変換し得る。
【0027】
図1Aの例において、音声環境100a内のユーザ104は、ASRシステム109を使用するユーザデバイス10のプログラムまたはアプリケーション50(例えば、デジタルアシスタントアプリケーション50a)と対話する。例えば、図1Aは、デジタルアシスタントアプリケーション50aと通信するユーザ104と、ユーザデバイス10とデジタルアシスタントアプリケーション50aとの間の会話を示すために、ユーザデバイス10のスクリーン上にデジタルアシスタントインターフェース18を表示するデジタルアシスタントアプリケーション50aとを示す。この例において、ユーザ104は、デジタルアシスタントアプリケーション50aに「セレンディピティは、何年にリリースされましたか(What year was Serendipity released?)」と尋ねる。ユーザ104からのこの質問は、オーディオキャプチャデバイス16aによってキャプチャされ、ユーザデバイス10のオーディオシステム16によって処理される口頭発話106である。この例において、オーディオシステム16は、口頭発話106を受信し、それを、ASRシステム109への入力のための音響フレーム110に変換する。
【0028】
例を続けると、モデル200は、ユーザ104が話すときの発話106に対応する音響フレーム110を受信しながら、第1のエンコーダ210(すなわち、図2)を使用して音響フレーム110を符号化し、次いで、デコーダ204(図2)を使用して音響フレーム110の符号化された表現を部分的な音声認識結果120aに復号する。時間1の間、ユーザインターフェース発生器107は、デジタルアシスタントインターフェース18を介して、発話106の部分的な音声認識結果120aの表現を、単語、単語片、および/または個々の文字が話されるとすぐに画面上に出現するように、ストリーミング方式でユーザデバイス10のユーザ104に提示する。
【0029】
発話106に対応する音響フレーム110のすべて(またはある程度の量)が受信され、第1のエンコーダ210がこれらの音響フレーム110を符号化した後、第2のエンコーダ220(すなわち、図2A)は、第1のエンコーダ210によってすでに符号化された発話106に対応する音響フレーム110のセットについての符号化を生成するために、第1のエンコーダ210からの符号化出力を符号化する。次いで、デコーダ204は、第2のエンコーダ220によって符号化された音響フレーム110を復号し、復号された音響フレーム110を、LM206を使用して処理し、LM206は、復号された音響フレームを再スコアして、最終的な音声認識結果120bを生成する。例えば、第1のエンコーダ210が発話106に対応する音響フレーム110のすべてを符号化した場合(例えば、音響フレーム110が受信されると)、第2のエンコーダ220は、第1のエンコーダ210によって符号化された音響フレーム110のすべてを符号化する。この点において、複数の符号化された音響フレーム110にわたって符号化することによって、第2のエンコーダ210は、第1のエンコーダ210のストリーミング性質によって見逃されたまたは誤って解釈された発話106の態様を潜在的に調整または修正し得る非ストリーミング方式において、(例えば、発話106に関する音響フレーム110のすべての表現を受信することによって)より大きいコンテキスト認識を提供することができる。
【0030】
いくつかの例において、ユーザ104が発話106を話し終えたことを識別するエンドポイントなどの指示は、モデル200の第2のエンコーダ220がすべての音響フレーム110を符号化するようにトリガするように機能する。他の例において、第2のエンコーダ220は、第1のエンコーダ210と並行して音響フレーム110を符号化し、第1のエンコーダ210は、発話106の終わりのエンドポイントを識別し、それによって、第2のエンコーダ220が最終的な音声認識結果120bを発するようにトリガする。第1のエンコーダ210によって識別されたエンドポイントは、同時に、マイクロフォンを閉じるイベントをトリガし得る。時間2の間、ユーザインターフェース発生器107は、デジタルアシスタントインターフェース18を介して、発話106の最終的な音声認識結果120bの表現をユーザデバイス10のユーザ104に提示する。いくつかの実装形態において、ユーザインターフェース発生器107は、部分的な音声認識結果120aの表現を最終的な音声認識結果120bで置き換える(または修正する)。この例において、ユーザ104の発話106は、モデル200がトレーニングされていない「セレンディピティ(Serendipity)」という希少単語を含む。したがって、モデル200によって出力され、時間1において画面上に表示された部分的な音声認識結果120aは、ユーザ104の発話106が「穏やかには、何年にリリースされましたか(What year was serene released?)」であると誤って予測する。モデル200によって出力され、時間2において画面上に増加した待ち時間で表示された最終的な音声認識結果120bは、ユーザ104が「セレンディピティ(Serendipity)」と言ったことを識別することによって、精度の点で音声認識品質を改善する。しかしながら、ユーザインターフェース発生器107は、ユーザが発話106を話しているときに部分的な音声認識結果を表示するので、最終的な音声認識結果120bを生成し、最終的に表示することに関連するより長い待ち時間は、ユーザ104とってあまり目立たない。
【0031】
いくつかの実装形態において、モデル200は、最終的な音声認識結果120bが利用可能になる前に音声認識結果をフェッチすることによって待ち時間を短縮するプリフェッチ技法を利用する。ここで、部分的な音声認識結果120aが最終的な音声認識結果120bと一致する場合、部分的な音声認識結果120aに対してフェッチされた応答は、最終的な音声認識結果120bが完了した後に典型的に発生する実行待ち時間を節約するために、即座に発せられることが可能である。
【0032】
図1Aに示す例において、デジタルアシスタントアプリケーション50aは、自然言語処理を使用して、ユーザ104によって提起された質問に応答し得る。自然言語処理は、一般に、書き言葉(例えば、部分的な音声認識結果120aおよび/または最終的な音声認識結果120b)を解釈し、書き言葉が何らかのアクションを促すかどうかを判定するプロセスを指す。この例において、デジタルアシスタントアプリケーション50aは、ユーザデバイス10からの質問がユーザの環境、より具体的にはユーザの近くで再生されている曲に関するものであることを認識するために、自然言語処理を使用する。自然言語処理を用いてこれらの詳細を認識することによって、自動アシスタントは、ユーザのクエリに対して応答19を返し、応答19は、「セレンディピティは、2001年にリリースされました(Serendipity was released in 2001)」と述べる。いくつかの構成において、自然言語処理は、ユーザデバイス10のデータ処理ハードウェア12と通信するリモートコンピューティングデバイス60上で行われる。
【0033】
図1Bは、音声環境100bのASRシステム109による音声認識の別の例である。例に示すように、ユーザ104は、Jane Doeによってユーザ104に残されたボイスメールを書き写すために、ボイスメールアプリケーションインターフェース18、18bをユーザデバイス10の画面上に表示するボイスアプリケーション50、50bと対話する。この例において、待ち時間は、重要ではないが、ロングテール固有名詞または希少単語を処理するときの書き写しの精度が重要である。ASRシステム109のモデル200およびLM206は、ボイスメールに対応する音響フレーム110のすべてが生成されるまで待つことによって、オーディオの完全なコンテキストを利用することができる。ボイスメールは、しばしば複数の文またはいくつかの段落であるので、このボイスメールシナリオは、モデル200が長い形式の音声をどのように処理することができるかも示す。長い形式の音声を処理する能力は、LASデコーダを有する2パスモデルなどの他のASRモデルよりも特に有利であり、これは、これらの2パスモデルが、長い形式の条件に適用された場合、しばしば長い形式の問題(例えば、長い形式の音声におけるより高い単語削除率)に悩まされるからである。例えば、カスケードエンコーダ202(例えば、第1のエンコーダ210および第2のエンコーダ220)と組み合わせて、デコーダ204としてRNN-Tデコーダを使用することによって、モデル200は、長い形式の欠点なしに、長い形式の音声と短い形式の音声の両方に対して動作する。
【0034】
引き続き図1Bを参照すると、図1Aに関して論じたように、モデル200は、音響フレーム110を受信しながら、第1のエンコーダ210を使用して音響フレーム110を符号化する。モデル200が音響フレーム110のすべてを受信し、それらを第1のエンコーダ210を用いて符号化した後、モデル200は、第1のエンコーダ出力を第2のエンコーダ220への入力として提供する。第2のエンコーダ220は、デコーダ204が埋め込みを生成する前に第1のエンコーダ出力を符号化し、LM206は、最終的な音声認識結果120bを生成するためにデコーダ204の出力を再スコアする。時間3の間、ユーザインターフェース発生器107は、デジタルアシスタントインターフェース18bを介して、最初に部分的な音声認識結果120aを表示することなく最終的な音声認識結果120bの表現を提示する。例えば、最終的な音声認識結果120bは、「今夜セレンディピティを見たいですか。これを受け取ったら折り返し電話してください。(Do you want to watch Serendipity tonight? Give me a call back when you get this.)」と述べるJane Doeからの長い形式のボイスメールの書き写しである。
【0035】
図2は、ストリーミングモードと非ストリーミングモードの様々な組合せにおいて動作することができる例示的なモデル200を含む。具体的には、モデル200は、カスケードエンコーダ202と、デコーダ204と、外部LM206とを含む。カスケードエンコーダ202は、符号化経路が、エンコーダ210の出力が復号の前に他のエンコーダ220の入力を供給するようにカスケード接続する2つのエンコーダ210、220を含むモデル構造を指す。ここで、エンコーダ210、220は、各エンコーダの基礎となるアーキテクチャに関係なくカスケード接続されることが可能である。いくつかの例において、エンコーダ210、220は、512次元のコンフォーマ層のスタックを含む。将来入力しないモデルの使用を厳密に制限するために、各コンフォーマ層に対して因果畳み込み層および左コンテキストアテンション層が使用され得る。自己アテンション層において、マルチヘッド(例えば、8ヘッド)アテンションメカニズムが使用され得る。カスケードエンコーダ210、220は、17のコンフォーマ層を含み得る。ここで、因果エンコーダ210は、15のコンフォーマ層を含み得、一方、非因果エンコーダ210は、追加の右コンテキスト(例えば、5.04秒)を取り込む2つのコンフォーマ層を含み得る。オプションで、コンフォーマ層の代わりにトランスフォーマ層が使用され得る。
【0036】
他の実装形態において、一方のエンコーダは、LSTM構造で構成され、他方のエンコーダは、双方向LSTM層またはコンフォーマ層(例えば、コンフォーマ-トランスデューサ)を使用して構成される。言い換えれば、エンコーダ210、220は、異なるアーキテクチャまたは同様のアーキテクチャを有し得る。例えば、カスケードエンコーダ202は、従来のASRシステムにおける音響モデル(AM)にほぼ類似し得、スタックされた長短期メモリ(LSTM)層のリカレントネットワークを含み得る。ここで、第1のエンコーダ210は、単方向長短期メモリ(LSTM)層を含むストリーミングエンコーダであり、一方、第2のエンコーダ220は、双方向LSTM層またはコンフォーマ層を含む非ストリーミングエンコーダである。両方のエンコーダ210、220がLSTM層を含むカスケードエンコーダ202において、第1のエンコーダ210の出力を受信する第2のエンコーダ220は、第2のエンコーダ220が第1のエンコーダ210よりも少ないLSTM層(および、完全な非ストリーミングモデルよりも少ないLSTM層)を含むように、第1のエンコーダ210のLSTM層を利用し得る。より少ないLSTM層を有することによって、カスケードエンコーダ202は、より計算コストの高い双方向層の数を減らし得、モデル200を、従来のストリーミングモデルと従来の非ストリーミングモデルとを単純に組み合わせるよりも合理化されたものにする。いくつかの実装形態において、カスケードエンコーダモデル200が見る将来のコンテキストの量を制限するために、第2のエンコーダ220は、特定の量の右コンテキスト(例えば、5秒間の右コンテキスト)を有するいくつかの数のコンフォーマ層(例えば、2つの層)を使用し、一方、第1のエンコーダ210は、LSTM層を使用し続ける。これらの実装形態について、第2のエンコーダ220における各コンフォーマ層は、LSTM層と一致するように640のユニットを有し得、約1000万の追加パラメータを追加する。
【0037】
依然として図2を参照すると、第1のエンコーダ210は、d次元特徴ベクトルのシーケンス(例えば、図1Aおよび図1Bに示す音響フレーム110)(x1,x2,...,xr)を読み取り、ここで、
【0038】
【数1】
【0039】
であり、各時間ステップにおいて、第1の高次特徴表現を生成する。この高次特徴表現は、esとして表される。同様に、第2のエンコーダ220は、第1のエンコーダ210にカスケード接続され、第1の高次特徴esを入力として受信し、第2の高次特徴表現を出力するようにトレーニングされる。第2の高次特徴表現は、eaとして表される。第1のエンコーダ210と第2のエンコーダ220の両方は、デコーダ204に直接接続され、デコーダ204によって共有される。したがって、デコーダ204は、第1の高次特徴表現esと第2の高次特徴表現eaの両方を入力として受信する。
【0040】
デコーダ204は、結合層230と予測ネットワーク300とを有するリカレントニューラルネットワーク-トランスデューサ(RNN-T)を含み得る。デコーダ204は、デコーダ出力を生成するために、カスケードエンコーダ202によって出力される第1および第2の高次特徴表現es、ea、ならびに前の予測yr-1)に対して埋め込みルックアップ300からの埋め込み出力を結合するために(すなわち、モデル200が非ストリーミングモードにおいて動作するときに)結合層230を使用する。次いで、デコーダ出力は、格子再スコアリングまたはnベスト再ランキングなどの技法を用いてデコーダ204からの初期出力を再スコア/改善する外部LM206に渡される。言い換えれば、デコーダ204は、予測を生成し、外部LM206は、希少単語またはロングテール固有名詞に対する認識精度を改善することによって予測を確定する。モデル200がストリーミングモードにおいて動作する場合、結合層230は、埋め込みルックアップ300の出力と、第1のエンコーダ210からの第1の高次特徴表現esのみとを受信する。
【0041】
デコーダ出力は、N個の前の非空白記号301の前のユニットのシーケンス{yi-1,...,yi-N}と入力xとが与えられた場合、現在のサブ単語ユニットyiにわたる確率分布P(yi|yi-1,...,y0,x)とすることができる。図示されていないが、モデル200は、デコーダ204の出力を受信するソフトマックス層を含み得る。いくつかの実装形態において、ソフトマックス層は、デコーダ204とは別個であり、デコーダ204からの出力yrを処理する。次いで、ソフトマックス層の出力は、正書法要素を選択するためにビームサーチプロセスにおいて使用される。いくつかの実装形態において、ソフトマックス層は、デコーダ204の出力yrがソフトマックス層の出力を表すように、デコーダ204と統合される。
【0042】
いくつかの例において、予測ネットワーク300は、2つの2048次元LSTM層を有し、そのLSTM層の各々には、LSTMベースの埋め込みルックアップ300が約2340万個のパラメータを有し得るように、640次元射影層が続く。予測ネットワーク300がLSTM層を含む場合、モデル200の精度/性能を犠牲にすることなく予測ネットワーク300のサイズを縮小するための技法に寄与するために、予測ネットワーク300は、最後のソフトマックス層によって出力されるN個の前の非空白記号301に限定される非空白記号の限定履歴シーケンスyui-n,...,yui-1を受信するステートレス予測ネットワークを含み得る。例えば、図3は、最後のソフトマックス層によって出力されるN個の前の非空白記号301a~nに限定される非空白記号のシーケンスyui-n,...,yui-1を入力として受信するモデル200のステートレス予測ネットワーク300を示す。いくつかの例において、Nは、2に等しい。他の例において、Nは、5に等しいが、本開示は、非限定的であり、Nは、任意の整数に等しくてもよい。非空白記号301a~nのシーケンスは、初期音声認識結果120a(図1)を示す。いくつかの実装形態において、予測ネットワーク300は、マルチヘッドアテンションメカニズムの各ヘッド302A~302Hにわたって共有埋め込みマトリックス304を共有するマルチヘッドアテンションメカニズム302を含む。一例において、マルチヘッドアテンションメカニズム302は、4つのヘッドを含む。しかしながら、任意の数のヘッドがマルチヘッドアテンションメカニズム302によって用いられ得る。特に、マルチヘッドアテンションメカニズムは、モデルサイズの増加を最小限に抑えながら、性能を大幅に改善する。以下でより詳細に説明するように、各ヘッド302A~Hは、位置ベクトル308のそれ自体の行を含み、すべてのヘッドからの出力318A~Hを連結することによってモデルサイズの増加を招くのではなく、出力318A~Hは、代わりに、ヘッド平均モジュール322によって平均化される。
【0043】
マルチヘッドアテンションメカニズム302の第1のヘッド302Aを参照すると、ヘッド302Aは、共有埋め込みマトリックス304を使用して、複数の時間ステップからの対応する時間ステップにおいて入力として受信された非空白記号のシーケンスyui-n,...,yui-1の中の各非空白記号301について、対応する埋め込み306、306a~n(例えば、
【0044】
【数2】
【0045】
)を生成する。特に、共有埋め込みマトリックス304は、マルチヘッドアテンションメカニズム302のすべてのヘッドにわたって共有されるので、他のヘッド302B~Hのすべては、各非空白記号について同じ対応する埋め込み306を生成する。ヘッド302Aは、また、それぞれの位置ベクトルPVAa-An308、308Aa~An(例えば、
【0046】
【数3】
【0047】
)を、非空白記号のシーケンスyui-n,...,yui-1内の各々の対応する非空白記号に割り当てる。各非空白記号に割り当てられたそれぞれの位置ベクトルPV308は、非空白記号のシーケンス(例えば、最後のソフトマックス層によって出力されたN個の前の非空白記号)の履歴における位置を示す。例えば、第1の位置ベクトルPVAaは、履歴における最新の位置に割り当てられ、一方、最後の位置ベクトルPVAnは、最後のソフトマックス層によって出力されたN個の前の非空白記号の履歴における最後の位置に割り当てられる。特に、埋め込み306の各々は、位置ベクトルPV308の各々と同じ次元性(すなわち、次元サイズ)を含み得る。
【0048】
非空白記号301a~nのシーケンスyui-n,...,yui-1のうちの各非空白記号301について共有埋め込みマトリックス304によって生成された対応する埋め込みは、マルチヘッドアテンションメカニズム302のヘッド302A~Hのすべてにおいて同じであるが、各ヘッド302A~Hは、位置ベクトル308の異なるセット/行を定義する。例えば、第1のヘッド302Aは、位置ベクトルPVAa-An 308Aa-Anの行を定義し、第2のヘッド302Bは、位置ベクトルPVBa-Bn 308Ba-Bnの異なる行を定義し、...、第Hのヘッド302Hは、位置ベクトルPVHa-Hn 308Ha-Hnの別の異なる行を定義する。
【0049】
受信された非空白記号302a~nのシーケンス内の各非空白記号について、第1のヘッド302Aは、また、重み層310を介して、対応する埋め込みとそれに関連付けられたそれぞれの位置ベクトルPV308との間の類似度に比例して、対応する埋め込み306に重み付けする。いくつかの例において、類似度omc;idesは、コサイン類似度(例えば、コサイン距離)である。図示の例において、重み層310は、重み付けされた埋め込み312、312Aa~Anのシーケンスを出力し、重み付けされた埋め込み312、312Aa~Anの各々は、それに割り当てられたそれぞれの位置ベクトルPV308に比例して重み付けされた対応する埋め込み306に関連付けられている。言い換えれば、各埋め込み306について重み層310によって出力された重み付けされた埋め込み312は、埋め込み306とそれぞれの位置ベクトルPV308との間のドット積に対応し得る。重み付けされた埋め込み312は、それらがそれらのそれぞれの位置ベクトルPV308に関連付けられた位置とどれだけ類似しているかに比例して埋め込みに伴うと解釈され得る。計算速度を高めるために、予測ネットワーク300は、非リカレント層を含み、したがって、重み付けされた埋め込み312Aa~Anのシーケンスは、連結されず、代わりに、第1のヘッド302Aからの出力として、
【0050】
【数4】
【0051】
によって表される重み付けされた埋め込み312Aa~Anの加重平均318Aを生成するために、加重平均モジュール316によって平均化される。式1において、hは、ヘッド302のインデックスを表し、nは、コンテキストにおける位置を表し、eは、埋め込み次元を表す。それに加えて、式1において、H、N、およびdeは、対応する次元のサイズを含む。位置ベクトルPV308は、トレーニング可能である必要はなく、ランダム値を含み得る。特に、重み付けされた埋め込み312が平均化されていても、位置ベクトルPV308は、位置履歴情報を潜在的に保存することができ、予測ネットワーク300の各層においてリカレント接続を設ける必要性を軽減する。
【0052】
第1のヘッド302Aに関して上記で説明した動作は、マルチヘッドアテンションメカニズム302の各々の他のヘッド302B~Hによって同様に実行される。各ヘッド302によって定義される位置ベクトルPV308の異なるセットにより、重み層310は、各々の他のヘッド302B~Hにおいて、第1のヘッド302Aにおける重み付けされた埋め込み312Aa~Aaのシーケンスとは異なる重み付けされた埋め込み312Ba~Bn、312Ha~Hnのシーケンスを出力する。その後、加重平均モジュール316は、各々の他の対応するヘッド302B~Hからの出力として、非空白記号のシーケンスの対応する重み付けされた埋め込み312のそれぞれの加重平均318B~Hを生成する。
【0053】
図示の例において、予測ネットワーク300は、対応するヘッド302A~Hから出力された加重平均318A~Hを平均するヘッド平均モジュール322を含む。SWISHを有する投影層326は、加重平均318A~Hの平均に対応するヘッド平均モジュール322からの出力324を入力として受信し、投影出力328を出力として生成し得る。最終層正規化330は、複数の時間ステップからの対応する時間ステップにおいて単一の埋め込みベクトルPui350を提供するために、投影出力328を正規化し得る。予測ネットワーク300は、初期タイムステップに続く複数の時間ステップの各々において、単一の埋め込みベクトルPui350のみを生成する。
【0054】
いくつかの構成において、予測ネットワーク300は、マルチヘッドアテンションメカニズム302を実装せず、第1のヘッド302Aに関して上記で説明した動作のみを実行する。これらの構成において、重み付けされた埋め込み312Aa~Anの加重平均318Aは、単一の埋め込みベクトルPui350を提供するために、単に投影層326および層正規化330を通過させられる。
【0055】
他の構成において、予測ネットワーク300は、LSTM層の代わりにコンフォーマ層またはトランスフォーマ層を含み得る。他の例において、予測ネットワーク300は、LSTM層、トランスフォーマ層、またはコンフォーマ層の代わりに、V2埋め込みルックアップテーブルを含む。各時間ステップにおいて、V2埋め込みルックアップテーブルは、結合層230によって出力された前の2つの予測(例えば、ワンホットベクトル)を入力として受信し、前の2つの予測の各々についてそれぞれの埋め込みd1、d2を計算し、連結された出力[d1,d2]を結合層230に提供する。比較すると、V2埋め込みルックアップテーブルは、約200万個のパラメータのみを有し得るのに対し、LSTMベースの予測ネットワークは、約2340万個のパラメータを含み得る。最後に、結合層230は、640個の隠れユニットを有する単層ニューラルネットワークでもあり得る。ソフトマックス層は、複数のトレーニングデータセット内のすべての固有の単語片または書記素を使用して生成された統一された単語片または書記素から構成され得る。
【0056】
デコーダ204は、各出力ステップにおいて、可能な音声認識仮説にわたる確率分布を生成するように構成される。言い換えれば、結合層230は、各出力ステップ(例えば、時間ステップ)において、可能な音声認識仮説にわたる確率分布を生成する。ここで、「可能な音声認識仮説」は、各々が指定された自然言語における書記素(例えば、記号/文字)または単語片を表す出力ラベル/記号(「音声単位」とも呼ばれる)のセットに対応する。例えば、自然言語が英語である場合、出力ラベルのセットは、27個の記号、例えば、英語のアルファベットにおける26文字の各々について1つのラベル、およびスペースを指定する1つのラベルを含み得る。したがって、結合層230は、出力ラベルの所定のセットの各々の発生の尤度を示す値のセットを出力し得る。この値のセットは、ベクトル(例えば、ワンホットベクトル)とすることができ、出力ラベルのセットにわたる確率分布を示すことができる。場合によっては、出力ラベルは、書記素(例えば、個々の文字、ならびに潜在的には句読点および他の記号)であるが、出力ラベルのセットは、それに限定されない。例えば、出力ラベルのセットは、書記素に加えて、または書記素の代わりに、単語片および/または単語全体を含むことができる。出力ラベルは、音素またはサブ音素などの他のタイプの音声単位とすることもできる。結合層230の出力分布は、異なる出力ラベルの各々についての事後確率値を含むことができる。したがって、異なる書記素または他の記号を表す100個の異なる出力ラベルが存在する場合、結合層230の出力は、各出力ラベルについて1つ、100個の異なる確率値を含むことができる。次いで、確率分布は、書き写し120を決定するための(例えば、ソフトマックス層による)ビームサーチプロセスにおいて、候補正書法要素(例えば、書記素、単語片、および/または単語)を選択し、スコアを割り当てるために使用されることが可能である。
【0057】
いくつかの実装形態において、LM206は、各々の出力単語片モデル予測について、所定の数のトークン(例えば、7つのトークン)を遡及する単方向コンフォーマを含む。コンフォーマLM206は、層のスタック(例えば、12枚の層)を有し得、各層は、768のモデル次元と、2048のフィードフォワード層次元と、6ヘッドアテンションとを含む。これらの実装形態において、コンフォーマLM206は、4096個の単語片を予測するようにトレーニングされる。
【0058】
ASRモデルを外部LMと統合することは、典型的には、浅い融合を必要とする。しかしながら、カスケードエンコーダ202およびデコーダ204の過信は、重み付けを困難にし、しばしば、単語の高率の削除につながる可能性がある。したがって、モデル200の有効スコアが以下のように表されることが可能であるように、モデル200の内部損失言語モデルスコアpILM(y)を因数分解するために、ハイブリッド自己回帰トランスデューサ(HAT)モデルが利用され得る。
log p(x|y)≒log p(y|x)-log plm(y) (2)
【0059】
したがって、HAT因数分解は、以下のようにカバレッジペナルティを必要とすることなくモデル200と外部LM206との統合を可能にする。
y*=arg maxy1log p(y|x)-λ2log pilm(y)+log plm(y)] (3)
【0060】
ここで、λ1およびλ2は、それぞれ、外部LM206および内部言語モデルに割り当てられた重みを示す。トレーニングプロセス300中にHAT因数分解を使用することによって、LM206は、カスケードエンコーダ202およびデコーダ204とよりよく統合される。
【0061】
図2における例を続けると、いくつかの実装形態において、モデル200は、ストリーミングモードと非ストリーミングモードの両方において並行して動作する。ストリーミングモードと非ストリーミングモードの両方において同時に動作する場合、モデル200は、まず、第2のエンコーダ220とデコーダ204の両方に対して第1の高次表現esを生成するために、第1のエンコーダ210を使用してオーディオデータ110に対するストリーミング音声認識を実行する。次いで、デコーダ204は、部分的な音声認識結果120、120aを生成する。モデル200は、符号化されたオーディオデータ110に対して非ストリーミング音声認識も実行し、第2のエンコーダ220は、第2の高次表現eaを生成するために、第1のエンコーダ210から受信された第1の高次表現esを使用する。次いで、デコーダ204は、音声認識結果を生成し、次いで、音声認識結果は、最終的な音声認識結果120、120bを生成するために、LM206によって再スコアされる。時間によって示されるように、第1のエンコーダ210は、部分的な音声認識結果120aを生成し、一方、第2のエンコーダ220は、第1のエンコーダ210の出力を待つ。最後に、LM206は、最終的な音声認識結果120bを生成するために、デコーダ204からの出力にバイアスをかけ得る。したがって、入力発話106に対する最終的な音声認識結果120bは、入力された発話に対する部分的な音声認識結果120aから遅れる場合がある。前述したように、第1のエンコーダ210は、マイクロフォンを閉じるイベントをトリガし、最終的な音声認識結果120bが発せられるようにトリガする発話106のエンドポイントを識別し得る。
【0062】
いくつかの実装形態において、デコーダ204、すなわち、予測ネットワーク300および結合層230のサイズをさらに縮小するために、予測ネットワーク300と結合層230との間のパラメータの結び付けが適用される。具体的には、語彙サイズ|V|および埋め込み次元deについて、予測ネットワーク300における共有埋め込みマトリックス304は、
【0063】
【数5】
【0064】
である。一方、最後の隠れ層は、結合層230における次元サイズdhを含み、隠れ層から出力ロジックへのフィードフォワード投影重みは、
【0065】
【数6】
【0066】
であり、語彙において余分な空白トークンを有する。したがって、結合層230の最後の層に対応するフィードフォワード層は、重みマトリックス[dh,|V|]を含む。埋め込み次元deのサイズを結合層230の最後の隠れ層の次元dhに結び付けるために予測ネットワーク300を有することによって、結合層230のフィードフォワード投影重みおよび予測ネットワーク300の共有埋め込みマトリックス304は、単純な転置変換を介して、すべての非空白記号についてそれらの重みを共有することができる。2つのマトリックスは、すべてのそれらの値を共有するので、2つの個別のマトリックスを記憶する代わりに、値をメモリ上に一度記憶するだけでよい。埋め込み次元deのサイズを隠れ層次元dhのサイズに等しく設定することによって、デコーダ204は、埋め込み次元deと語彙サイズ|V|との積に等しいパラメータの数を削減する。この重みの結び付けは、正規化技法に対応する。
【0067】
図4は、ASRシステム109の外部LM206をトレーニングするためのデータ選択パイプライン400の例を示す。一般に、トレーニングテキストサンプル412、412a~nのコーパスなどの大規模トレーニングデータセットは、処理、メモリ/ストレージ、および電力の制約によって阻害されないコンピューティング環境(例えば、クラウド)において実行する言語モデルをトレーニングするために使用される。しかしながら、いくつかの構成において、ASRシステム109は、ユーザ104のユーザデバイス10上に存在し、それによって、LM206におけるパラメータの数を制限し、その結果、LM206をトレーニングするために使用されるトレーニングセット内のトレーニングサンプルの数を制限する。これを解決するために、データ選択パイプライン400は、希少単語を正確に認識するようにLM206をトレーニングするために必要なトレーニングデータ(すなわち、トレーニングテキストサンプル)の量を削減するために、テキストサンプル412をトレーニングするコーパスを処理し、それによって、外部LM206を含むASRシステム109が、処理および/またはメモリ/ストレージリソースが制限されるデバイス上で実行されることを可能にする。言い換えれば、データ選択パイプライン400は、希少単語認識を改善するのに十分なトレーニングサンプルのサブセットを識別するために、コーパスからトレーニングテキストサンプルをフィルタリングする。トレーニングテキストサンプル412のコーパスは、約12テラバイトのサイズを有する2130億の文を含み得、サンプルのうちの72億は、別個のものである。パイプライン400は、LM206をトレーニングするためのコーパスにおけるサンプル412の数を、元のコーパスの53分の1であり、単語誤り率(WER)の点でLM206の全体的な性能を低下させることがないわずか約40億の文に低減し得る。
【0068】
図4に示すように、データ選択パイプライン400は、LM206をトレーニングするためのトレーニングテキストサンプル412のコーパス内のトレーニングテキスト発話の数を削減するために、リサンプリングフィルタ420と、希少単語フィルタ430と、対照フィルタ440とを使用する。データ選択パイプライン400は、トレーニングテキストデータストア410内に記憶されたトレーニングデータサンプル412、412a~nのコーパスと、トレーニング発話データストア450内に記憶された複数のトレーニング発話452、452a~nとを取得する。トレーニング発話データストア450内に記憶されたトレーニング発話452は、ASRモデル200をトレーニングするために使用され、各トレーニング発話452は、発話に対応するオーディオデータ454と、発話の対応する書き写し456とを含む。図4は、トレーニングテキストデータを選択するために、リサンプリングフィルタ420、希少単語フィルタ430、および対照フィルタ440の各々を用いるパイプライン400を示しているが、パイプラインは、トレーニングテキストデータを選択するために、リサンプリングフィルタ420、希少単語フィルタ430、および対照フィルタ440のうちの1つまたは2つのみを使用し得る。
【0069】
リサンプリングフィルタ420は、トレーニングテキストデータストア410内に記憶されたトレーニングテキストサンプル412のコーパスを受信し、希少単語を含むトレーニングテキストサンプル412のコーパスからのサンプルに対応する低頻度トレーニングテキストサンプル422のセット(「トレーニングテキストサンプルのセット」とも呼ばれる)を出力するために、高頻度トレーニングテキストサンプルを識別し、コーパスから除去することによって、コーパス内の希少単語(例えば、あまり頻繁に発生しない単語)を識別するためのリサンプリング関数を実行する。図示の例において、リサンプリングフィルタ420は、単純化するために、単語レベルではなく文レベルにおいて頻度を測定する。しかしながら、リサンプリングフィルタ420は、本開示の範囲から逸脱することなく、それ自体の単語の集合体から文の希少性を測定し得る。本明細書で使用される場合、単語または文は、他の単語または文と比較してコーパス内でのより低い頻度を有する(出現がより少ない)場合、より希少である。「テール性(tailedness)」という用語は、トレーニングテキストサンプル412のコーパスに出現する希少単語の相対的な量を記述するために使用され得る。トレーニングテキストサンプル412のコーパス全体の頻度分布は、両対数プロット上で線形であり、
distinct_count(f)≒Af(-∝) (4)
によって表され、ここで、fは、頻度を示し、Aは、別個のトレーニングテキストサンプル412(すなわち、1の頻度fを有する)の数を示す。パワーαを変更することによって、分布が変化する。例えば、より大きいαは、希少単語の高い頻度を有する分布を結果として生じる。αが無限大に近づく例は、複数のトレーニングテキストサンプル412内に重複するトレーニングテキスト412が存在しないことを示す。しかしながら、トレーニングテキストデータストア410内に記憶された複数のトレーニングテキストサンプル412は、1.1~2.5のαを含む。さらに、過剰な頻度率において発生するトレーニングテキストサンプル412(例えば、地図ドメインにおける「家(home)」)は、頻度分布の線形分布から逸脱する。
【0070】
トレーニングテキストサンプル412のコーパスから高頻度トレーニングテキストをフィルタリングし、それによって、低頻度トレーニングテキストサンプル422のセット内の希少単語の数を増加させるために、リサンプリングフィルタ420は、単純パワーリサンプリング関数、強制パワーリサンプリング関数、またはソフト対数リサンプリング関数のうちの1つを含むリサンプリング関数を実行し得る。単純パワーリサンプリングは、パラメータβを適用することによって頻度分布distinct_count(f)の希少性を調整することを含み得る。この場合、単純パワー頻度分布は、Af-αβとして表され得る。他の実装形態において、強制パワーリサンプリングは、各トレーニングテキスト412がラインフィットにフィットするように強制することによって、トレーニングテキストサンプル412のコーパス内の過剰な頻度のトレーニングテキストサンプルを管理するために使用される。例えば、地図ドメインのラインフィットは、106の頻度に対応する1の個別カウントを示し得る。これらの例において、1のdistinct_countを有する各トレーニングテキストサンプルについて、そのリサンプリングされた頻度f1は、その元の頻度f0に関係なく106になる。この例において、高い元の頻度f0(例えば、108)を有するトレーニングテキストサンプルは、106のリサンプリングされた周波数f1に強制される。この強制パワーリサンプリング演算は、以下のように表される。
【0071】
【数7】
【0072】
代替的には、リサンプリングフィルタ420は、トレーニングテキストサンプル412のコーパスの元の頻度分布distinct_count(f)をマッチングさせ、しきい値を超えるトレーニングテキストをコーパスから除去するソフト対数リサンプリング関数を実行し得る。ソフト対数関数は、
【0073】
【数8】
【0074】
によって表される。ここで、fcは、しきい値頻度を示す。
【0075】
リサンプリングフィルタ420が、希少単語を含むトレーニングテキストサンプル422のセットを出力するために、トレーニングテキストサンプル412のコーパスから高頻度トレーニングテキストを除去すると、トレーニングテキストサンプル422のセットは、希少単語フィルタ430および対照フィルタ440への入力として提供される。特に、高頻度テキストサンプルは、LM206が多くの希少単語を含むコーパスの形態のロングテールを学習するのを妨げ得る分布バイアスを提供するので、コーパスからの高頻度トレーニングテキストサンプルの除去は、望ましい。希少単語フィルタ430は、トレーニング発話452のセットからの書き写し456において出現しない単語、またはトレーニング発話452のセットからの書き写し456においてしきい値回数未満しか出現しない単語を含む希少単語トレーニングテキストサンプル432のサブセットを識別する。同様に、対照フィルタ440は、ASRモデル200をトレーニングするために使用されるトレーニング発話452に関連付けられたターゲットドメインに一致する、セットトレーニングテキストサンプル422内のターゲットドメイントレーニングテキストサンプル442のサブセットを識別する。トレーニング発話452は、対応するASR書き写し456と対にされたASRオーディオデータ454を各々が含むASRトレーニング発話452と呼ばれる場合がある。次いで、データ選択パイプライン400は、ASR書き写し456と、希少単語トレーニングテキストサンプル432と、ターゲットドメイントレーニングテキストサンプル442とを、LM206をトレーニングするために言語モデルトレーナ480によって使用するためのミニバッチに結合する。ミニバッチは、サンプリング比(例えば、ASR書き写し456/希少単語トレーニングテキストサンプル432/ターゲットドメイントレーニングテキストサンプル442について、20%/40%/40%)に従って結合され得る。
【0076】
希少単語フィルタ430は、希少単語トレーニングテキストサンプル432のサブセット内に含めるためのトレーニングテキストサンプルを識別するために、頻度しきい値ft(例えば、15)を使用して、トレーニングテキストサンプル422のセット内に出現する単語を含むASRトレーニング発話452のセットからの書き写し456を直接フィルタリングする。希少単語フィルタ420は、希少単語トレーニングテキストサンプル432のサブセット内に含めるための書き写し456内に出現しない任意のトレーニングテキストサンプル422も識別する。対照フィルタ440は、ASRモデル200をトレーニングするために使用されるトレーニング発話452のセットに関連付けられたターゲットドメインと一致するターゲットドメイントレーニングテキストサンプル442のサブセットを識別するために、リサンプリングフィルタ420によって出力された低頻度トレーニングテキストサンプル422のセットに対照的選択/フィルタリングを適用する。トレーニングテキストサンプル412のコーパスは、ASRモデル200が音声を認識するようにトレーニングされるドメインとは異なるドメインから収集されたテキストサンプルを含み得る。例えば、テキストサンプルは、より多くのウェブサイト名を含むタイプされた検索クエリから収集され得、一方、ASRモデル200のターゲットドメインは、より多くの音声コマンドを含む音声検索に対応する。この対照的な選択は、低頻度トレーニングテキストサンプル422のセット内の各トレーニングテキストサンプルについて、
score(x)=Ltarget(x)-Lbackground(x) (7)
によって計算され、ここで、Lは、トレーニングテキストサンプル422の対数パープレキシティを示し、targetは、ターゲットLM206を示し、backgroundは、トレーニングデータの完全に重複排除されたセットにおいてトレーニングされたバックグラウンド言語モデルを示す。次いで、対照的選択は、ターゲットLM206を生成するために、トレーニング発話452の書き写し456において調整される。トレーニングテキストサンプルがASRモデル200をトレーニングするために使用されるトレーニング発話452の書き写し456により近い場合、トレーニングテキストサンプルのスコアは、より低くなる。次いで、対照フィルタ440は、しきい値を下回る低頻度トレーニングテキストサンプル422のセットからターゲットドメイントレーニングテキスト442のサブセットを識別するために、しきい値を上回るトレーニングテキストサンプル422を破棄し得る。本明細書で使用される場合、トレーニング発話に関連付けられたターゲットドメインは、アシスタントクエリ、音声検索クエリ、ナビゲーションクエリ、または任意の他のドメインに関連付けられた発話を含み得る。特に、図1図3のASRモデル200は、対応する発話のオーディオデータ454と、オーディオデータ454のグラウンドトゥルースラベルとして機能する発話の対応する書き写し456とを各々が含むトレーニング発話452においてトレーニングされる。
【0077】
図5は、希少単語音声認識のための言語モデル206をトレーニングする方法500の動作の例示的な配置のフローチャートを含む。方法500は、動作502において、トレーニングテキストサンプル412のセットを取得することを含む。動作504において、方法500は、ASRモデル200をトレーニングするために使用されるトレーニング発話452のセットを取得するステップも含み、複数のトレーニング発話452内の各トレーニング発話452は、発話に対応するオーディオデータ454と、発話の対応する書き写し456とを含む。
【0078】
動作506において、方法500は、希少単語トレーニングテキストサンプル432のサブセットを識別するために、トレーニングテキストサンプル412のセットに希少単語フィルタリングを適用することを含む。希少単語トレーニングテキストサンプル432のサブセットは、トレーニング発話452のセットからの書き写し456において出現しない単語、またはトレーニング発話452のセットからの書き写し456においてしきい値回数未満しか出現しない単語を含む。方法500は、動作508において、トレーニング発話452のセットからの書き写し456および希少単語トレーニングテキストサンプル432の識別されたサブセットにおいて外部言語モデル206をトレーニングするステップをさらに含む。
【0079】
図6は、本文書において説明されるシステムおよび方法を実装するために使用され得る例示的なコンピューティングデバイス600の概略図である。コンピューティングデバイス600は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの、様々な形態のデジタルコンピュータを表すことを意図している。ここに示す構成要素、それらの接続および関係、ならびにそれらの機能は、例示的であることのみを意図しており、本文書で説明および/または特許請求する実装形態の実装を限定することを意図していない。
【0080】
コンピューティングデバイス600は、プロセッサ610と、メモリ620と、記憶デバイス630と、メモリ620および高速拡張ポート650に接続する高速インターフェース/コントローラ640と、低速バス670および記憶デバイス630に接続する低速インターフェース/コントローラ660とを含む。構成要素610、620、630、640、650、および660の各々は、様々なバスを使用して相互接続され、共通のマザーボード上に取り付けられ得、または必要に応じて他の方法において取り付けられ得る。プロセッサ610(ユーザデバイス10のデータ処理ハードウェア12またはリモートコンピューティングデバイス60のデータ処理ハードウェア62を含み得る「データ処理ハードウェア610」とも呼ばれる)は、高速インターフェース640に結合されたディスプレイ680などの外部入力/出力デバイス上にグラフィカルユーザインターフェース(GUI)のためのグラフィカル情報を表示するための、メモリ620内または記憶デバイス630上に記憶された命令を含む、コンピューティングデバイス600内で実行するための命令を処理することができる。他の実装形態において、複数のプロセッサおよび/または複数のバスが、複数のメモリおよびメモリのタイプとともに、必要に応じて使用され得る。また、複数のコンピューティングデバイス600が接続され得、各デバイスが(例えば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)必要な動作の一部を提供する。
【0081】
メモリ620(ユーザコンピューティングデバイス10のメモリハードウェア14またはリモートコンピューティングデバイス60のメモリハードウェア64を含み得る「メモリハードウェア620」とも呼ばれる)は、コンピューティングデバイス600内に情報を非一時的に記憶する。メモリ620は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであり得る。非一時的メモリ620は、プログラム(例えば、命令のシーケンス)またはデータ(プログラム状態情報)を、コンピューティングデバイス600によって使用するために一時的または永続的に記憶するために使用される物理デバイスであり得る。不揮発性メモリの例は、限定はしないが、フラッシュメモリおよび読み取り専用メモリ(ROM)/プログラム可能読み取り専用メモリ(PROM)/消去可能プログラム可能読み取り専用メモリ(EPROM)/電気的消去可能プログラム可能読み取り専用メモリ(EEPROM)(例えば、典型的には、ブートプログラムなどのファームウェアに使用される)を含む。揮発性メモリの例は、限定はしないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、ならびにディスクまたはテープを含む。
【0082】
記憶デバイス630は、コンピューティングデバイス600のための大容量ストレージを提供することができる。いくつかの実装形態において、記憶デバイス630は、コンピュータ可読媒体である。様々な異なる実装形態において、記憶デバイス630は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくは他の構成におけるデバイスを含むデバイスのアレイであり得る。追加の実装形態において、コンピュータプログラム製品は、情報キャリア内に明白に具体化される。コンピュータプログラム製品は、実行されると、上記で説明した方法などの、1つまたは複数の方法を実行する命令を含む。情報キャリアは、メモリ620、記憶デバイス630、またはプロセッサ610上のメモリなどの、コンピュータ可読媒体または機械可読媒体である。
【0083】
高速コントローラ640は、コンピューティングデバイス600のための帯域幅集約的動作を管理し、一方、低速コントローラ660は、より帯域幅集約的でない動作を管理する。そのような役割の割り当ては、単なる例示である。いくつかの実装形態において、高速コントローラ640は、メモリ620、(例えば、グラフィックスプロセッサまたはアクセラレータを介して)ディスプレイ680、および様々な拡張カード(図示せず)を受け入れ得る高速拡張ポート650に結合される。いくつかの実装形態において、低速コントローラ660は、記憶デバイス630および低速拡張ポート690に結合される。様々な通信ポート(例えば、USB、Bluetooth、イーサネット、ワイヤレスイーサネット)を含み得る低速拡張ポート690は、キーボード、ポインティングデバイス、スキャナ、または、例えば、ネットワークアダプタを介するスイッチもしくはルータなどのネットワーキングデバイスなどの、1つまたは複数の入力/出力デバイスに結合され得る。
【0084】
コンピューティングデバイス600は、図に示すように、いくつかの異なる形態において実装され得る。例えば、コンピューティングデバイス600は、標準的なサーバ600aとして、もしくはサーバ600aのグループ内で複数回、ラップトップコンピュータ600bとして、またはラックサーバシステム600cの一部として実装され得る。
【0085】
本明細書で説明するシステムおよび技法の様々な実装形態は、デジタル電子回路および/もしくは光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、ならびに/またはそれらの組合せにおいて実現されることが可能である。これらの様々な実装形態は、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスにデータおよび命令を送信するように結合された、専用または汎用であり得る少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムにおける実装を含むことができる。
【0086】
ソフトウェアアプリケーション(すなわち、ソフトウェアリソース)は、コンピューティングデバイスにタスクを実行させるコンピュータソフトウェアを指す場合がある。いくつかの例において、ソフトウェアアプリケーションは、「アプリケーション」、「アプリ」、または「プログラム」と呼ばれる場合がある。例示的なアプリケーションは、限定はしないが、システム診断アプリケーション、システム管理アプリケーション、システムメンテナンスアプリケーション、ワードプロセッシングアプリケーション、スプレッドシートアプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲーミングアプリケーションを含む。
【0087】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラマブルプロセッサのための機械命令を含み、高級手続き型および/もしくはオブジェクト指向プログラミング言語、ならびに/またはアセンブリ/機械語において実装され得る。本明細書で使用される場合、「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械命令を機械可読信号として受信する機械可読媒体を含む、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置、および/またはデバイス(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【0088】
本明細書で説明するプロセスおよび論理フローは、入力データに対して動作し、出力を生成することによって機能を実行するために1つまたは複数のコンピュータプログラムを実行する、データ処理ハードウェアとも呼ばれる1つまたは複数のプログラマブルプロセッサによって実行されることが可能である。プロセスおよび論理フローは、専用論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行されることも可能である。コンピュータプログラムの実行に適したプロセッサは、例として、汎用および専用の両方のマイクロプロセッサ、ならびに任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、読み取り専用メモリ、またはランダムアクセスメモリ、またはその両方から命令とデータとを受信する。コンピュータの本質的な要素は、命令を実行するためのプロセッサ、および命令とデータとを記憶するための1つまたは複数のメモリである。一般に、コンピュータは、データを記憶するための1つまたは複数の大容量記憶デバイス、例えば、磁気ディスク、光磁気ディスク、または光ディスクも含むか、またはそれらからデータを受信、もしくはそれらにデータを送信、もしくはその両方を行うように動作可能に結合される。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令とデータとを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、例えば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、例えば、内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD ROMおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補完されるか、または専用論理回路の中に組み込まれることが可能である。
【0089】
ユーザとの対話を提供するために、本開示の1つまたは複数の態様は、ユーザに情報を表示するための表示デバイス、例えば、CRT(陰極線管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーンと、オプションで、ユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス、例えば、マウスまたはトラックボールとを有するコンピュータ上に実装されることが可能である。他の種類のデバイスも同様にユーザとの対話を提供するために使用され得、例えば、ユーザに提供されるフィードバックは、任意の形態の感覚的フィードバック、例えば、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックであることが可能であり、ユーザからの入力は、音響的入力、音声入力、または触覚的入力を含む任意の形態で受信されることが可能である。それに加えて、コンピュータは、ユーザによって使用されるデバイスにドキュメントを送信し、そのデバイスからドキュメントを受信することによって、例えば、ユーザのクライアントデバイス上のウェブブラウザから受信された要求に応答して、ウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
【0090】
いくつかの実装形態について説明してきた。それにもかかわらず、本開示の要旨および範囲から逸脱することなく、様々な修正が行われ得ることが理解されよう。したがって、他の実装形態は、以下の特許請求の範囲内にある。
【符号の説明】
【0091】
10 ユーザデバイス、デバイス、ユーザコンピューティングデバイス
12 データ処理ハードウェア
14 メモリハードウェア
16 オーディオシステム
16、16a オーディオキャプチャデバイス、キャプチャデバイス
16、16b 音声出力デバイス
18 デジタルアシスタントインターフェース
18、18b ボイスメールアプリケーションインターフェース
18b デジタルアシスタントインターフェース
19 応答
40 ネットワーク
50 デジタルアシスタントアプリケーション、プログラムまたはアプリケーション
50a デジタルアシスタントアプリケーション
50、50b ボイスアプリケーション
60 リモートコンピューティングデバイス
62 リモートデータ処理ハードウェア、データ処理ハードウェア
64 リモートメモリハードウェア、メモリハードウェア
100、100a~b 音声環境
104 ユーザ
106 口頭発話、発話、入力発話
107 ユーザインターフェース発生器
108 オーディオサブシステム
109 自動音声認識(ASR)システム、ASRシステム
110 入力音響フレーム、オーディオデータ、音響フレーム
120 書き写し
120 認識結果/仮説、書き写し
120、120a 部分的な音声認識結果、初期音声認識結果
120、120b 最終的な音声認識結果
200 ASRモデル、モデル、カスケードエンコーダモデル
202 カスケードエンコーダ
204 デコーダ、共有デコーダ
206 外部言語モデル(LM)、LM、外部LM、コンフォーマLM
210 カスケードエンコーダ、第1のエンコーダ、因果エンコーダ、非因果エンコーダ
220 カスケードエンコーダ、第2のエンコーダ
230 結合層
300 予測ネットワーク、埋め込みルックアップ、ステートレス予測ネットワーク
301 非空白記号
301a~n 非空白記号
302 マルチヘッドアテンションメカニズム
302A~302H ヘッド
304 共有埋め込みマトリックス
306、306a~n 埋め込み
308、308Aa~An 位置ベクトル、位置ベクトルPV
310 重み層
312、312Aa~An 重み付けされた埋め込み
316 加重平均モジュール
318A~H 出力
322 ヘッド平均モジュール
324 出力
326 投影層
328 投影出力
330 最終層正規化
350 埋め込みベクトルPui
400 データ選択パイプライン、パイプライン
410 トレーニングテキストデータストア
412、412a~n トレーニングテキストサンプル、トレーニングテキスト
420 リサンプリングフィルタ、希少単語フィルタ
422 低頻度トレーニングテキストサンプル、トレーニングテキストサンプル
430 希少単語フィルタ
432 希少単語トレーニングテキストサンプル
440 対照フィルタ
442 ターゲットドメイントレーニングテキストサンプル
450 トレーニング発話データストア
452、452a~n トレーニング発話、ASRトレーニング発話
454 オーディオデータ、ASRオーディオデータ
456 書き写し、ASRトレーニング発話
480 言語モデルトレーナ
600 コンピューティングデバイス
600a サーバ
600b ラップトップコンピュータ
600c ラックサーバシステム
610 プロセッサ、構成要素、データ処理ハードウェア
620 メモリ、構成要素、メモリハードウェア、非一時的メモリ
630 記憶デバイス、構成要素
640 高速インターフェース/コントローラ、構成要素、高速コントローラ
650 高速拡張ポート、構成要素
660 低速インターフェース/コントローラ、構成要素、低速コントローラ
670 低速バス
680 ディスプレイ
690 低速拡張ポート
図1A
図1B
図2
図3
図4
図5
図6
【手続補正書】
【提出日】2024-05-24
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
音声中の希少単語を認識するために外部言語モデル(206)をトレーニングするためのコンピュータ実装方法(500)であって、前記コンピュータ実装方法(500)が、データ処理ハードウェア(610)上で実行されると、前記データ処理ハードウェア(610)に、
トレーニングテキストサンプル(422)のセットを取得するステップと、
自動音声認識(ASR)モデル(200)をトレーニングするために使用されるトレーニング発話(452)のセットを取得するステップであって、複数の前記トレーニング発話(452)における各トレーニング発話(452)が、発話に対応するオーディオデータ(454)と、前記発話の対応する書き写し(456)とを含む、ステップと、
前記トレーニング発話(452)のセットからの前記書き写し(456)内に出現しないか、または前記トレーニング発話(452)のセットからの前記書き写し(456)内にしきい値回数未満しか出現しない単語を含む希少単語トレーニングテキストサンプル(432)のサブセットを識別するために、前記トレーニングテキストサンプル(422)のセットに希少単語フィルタリングを適用するステップと、
前記トレーニング発話(452)のセットからの前記書き写し(456)と、前記希少単語トレーニングテキストサンプル(432)の識別されたサブセットとにおいて前記外部言語モデル(206)をトレーニングするステップと
を含む動作を実行させる、
コンピュータ実装方法(500)。
【請求項2】
前記トレーニングテキストサンプル(422)のセットを取得するステップが、
トレーニングテキストサンプル(412)のコーパスを受信するステップと、
前記トレーニングテキストサンプル(412)のコーパス内に発生する高頻度テキストサンプルを識別するために、前記トレーニングテキストサンプル(412)のコーパスにおいてリサンプリング関数を実行するステップと、
前記トレーニングテキストサンプル(412)のコーパスから前記識別された高頻度テキストサンプルを除去することによって、前記トレーニングテキストサンプル(422)のセットを取得するステップと
を含む、請求項1に記載のコンピュータ実装方法(500)。
【請求項3】
前記リサンプリング関数が、単純パワーリサンプリング関数、強制パワーリサンプリング関数、またはソフト対数リサンプリング関数のうちの1つを含む、請求項2に記載のコンピュータ実装方法(500)。
【請求項4】
前記動作が、
前記トレーニング発話(452)のセットに関連付けられたターゲットドメインに一致するターゲットドメイントレーニングテキストサンプル(442)のサブセットを識別するために、前記トレーニングテキストサンプル(442)のセットに対して対照フィルタリングを適用するステップをさらに含み、
前記トレーニング発話(452)のセットからの前記書き写し(456)および前記希少単語トレーニングテキストサンプル(432)の識別されたサブセットにおいて前記外部言語モデル(206)をトレーニングするステップが、前記ターゲットドメインに一致する前記ターゲットドメイントレーニングテキストサンプル(442)の識別されたサブセットにおいて前記外部言語モデル(206)をトレーニングするステップをさらに含む、
請求項1から3のいずれか一項に記載のコンピュータ実装方法(500)。
【請求項5】
前記外部言語モデル(206)が、外部ニューラル言語モデルを含む、請求項1から4のいずれか一項に記載のコンピュータ実装方法(500)。
【請求項6】
前記外部ニューラル言語モデルが、コンフォーマ層またはトランスフォーマ層のスタックを含む、請求項5に記載のコンピュータ実装方法(500)。
【請求項7】
前記動作が、前記トレーニングされた言語モデル(206)を前記ASRモデル(200)と統合するステップをさらに含み、前記トレーニングされた外部言語モデル(206)が、前記トレーニングされたASRモデル(200)によって予測された可能な音声認識仮説にわたる確率分布を再スコアするように構成される、請求項1から6のいずれか一項に記載のコンピュータ実装方法(500)。
【請求項8】
前記ASRモデル(200)が、
音響フレーム(110)のシーケンスを入力として受信し、
複数の出力ステップの各々において、前記音響フレーム(110)のシーケンス内の対応する音響フレーム(110)に対する第1の高次特徴表現を生成するように構成された
第1のエンコーダ(210)と、
前記複数の出力ステップの各々において前記第1のエンコーダ(210)によって生成された前記第1の高次特徴表現を入力として受信し、
前記複数の出力ステップの各々において、対応する第1の高次特徴フレームに対する第2の高次特徴表現を生成するように構成された
第2のエンコーダ(220)と、
前記複数の出力ステップの各々において前記第2のエンコーダ(220)によって生成された前記第2の高次特徴表現を入力として受信し、
数の時間ステップの各々において、可能な音声認識仮説にわたる第1の確率分布(120a)を生成するように構成された
デコーダ(204)と
を含む、請求項7に記載のコンピュータ実装方法(500)。
【請求項9】
前記デコーダ(204)が、
前記複数の出力ステップの各々において前記第1のエンコーダ(210)によって生成された前記第1の高次特徴表現を入力として受信し、
前記複数の時間ステップの各々において可能な音声認識仮説にわたる第2の確率分布(120b)を生成する
ようにさらに構成された、請求項8に記載のコンピュータ実装方法(500)。
【請求項10】
前記デコーダ(204)が、
前記複数の時間ステップの各々において、
最終ソフトマックス層によって出力されたN個の前の非空白記号のシーケンスを入力として受信し、
前記N個の前の非空白記号のシーケンスの各非空白記号について、それぞれの埋め込み(306)を生成し、
前記それぞれの埋め込み(306)を平均することによって平均埋め込み(312)を生成する
ように構成された予測ネットワーク(300)と、
前記複数の出力ステップの各々において前記予測ネットワーク(300)によって生成された前記平均埋め込み(312)と、
前記ASRモデル(200)がストリーミングモードにおいて動作しているとき、前記複数の出力ステップの各々において前記第1のエンコーダ(210)によって生成された前記第1の高次特徴表現、または
前記ASRモデル(200)が非ストリーミングモードにおいて動作しているとき、前記複数の出力ステップの各々において前記第2のエンコーダ(220)によって生成された前記第2の高次特徴表現
のうちの1つとを入力として受信し、
前記複数の出力ステップの各々において、
前記ASRモデル(200)が前記ストリーミングモードにおいて動作しているとき、可能な音声認識仮説にわたる前記第2の確率分布(120b)、または
前記ASRモデル(200)が非ストリーミングモードにおいて動作しているとき、可能な音声認識仮説にわたる前記第1の確率分布(120a)
のうちの1つを生成する
ように構成された結合ネットワーク(230)と
を含む、請求項9に記載のコンピュータ実装方法(500)。
【請求項11】
前記第1のエンコーダ(210)が、コンフォーマ層の初期スタックを含む因果エンコーダを含み、
前記第2のエンコーダ(220)が、前記コンフォーマ層の初期スタック上に重ねられたコンフォーマ層の最終スタックを含む非因果エンコーダを含む、
請求項8から10のいずれか一項に記載のコンピュータ実装方法(500)。
【請求項12】
前記ASRモデル(200)の前記第1のエンコーダ(210)および前記第2のエンコーダ(220)が、前記トレーニング発話(452)のセットからの前記書き写し(456)と前記希少単語トレーニングテキストサンプル(432)の識別されたサブセットとを含むテキストのみのデータにおいてトレーニングされた前記外部言語モデル(206)の前記統合を容易にするために、ハイブリッド自己回帰トランスデューサ因数分解を使用してトレーニングされる、請求項8から11のいずれか一項に記載のコンピュータ実装方法(500)。
【請求項13】
データ処理ハードウェア(610)と、
前記データ処理ハードウェア(610)上で実行されると、前記データ処理ハードウェア(610)に、
トレーニングテキストサンプル(422)のセットを取得することと、
自動音声認識(ASR)モデル(200)をトレーニングするために使用されるトレーニング発話(452)のセットを取得することであって、複数の前記トレーニング発話(452)における各トレーニング発話(452)が、発話に対応するオーディオデータ(454)と、前記発話の対応する書き写し(456)とを含む、ことと、
前記トレーニング発話(452)のセットからの前記書き写し(456)内に出現しないか、または前記トレーニング発話(452)のセットからの前記書き写し(456)内にしきい値回数未満しか出現しない単語を含む希少単語トレーニングテキストサンプル(432)のサブセットを識別するために、前記トレーニングテキストサンプル(422)のセットに希少単語フィルタリングを適用することと、
前記トレーニング発話(452)のセットからの前記書き写し(456)と、前記希少単語トレーニングテキストサンプル(432)の識別されたサブセットとにおいて外部言語モデル(206)をトレーニングすることと
を含む動作を実行させる命令を記憶するメモリハードウェア(620)と
を備えるシステム。
【請求項14】
前記トレーニングテキストサンプル(422)のセットを取得することが、
トレーニングテキストサンプル(412)のコーパスを受信することと、
前記トレーニングテキストサンプル(412)のコーパス内に発生する高頻度テキストサンプルを識別するために、前記トレーニングテキストサンプル(412)のコーパスにおいてリサンプリング関数を実行することと、
前記トレーニングテキストサンプル(412)のコーパスから前記識別された高頻度テキストサンプルを除去することによって、前記トレーニングテキストサンプル(422)のセットを取得することと
を含む、請求項13に記載のシステム。
【請求項15】
前記リサンプリング関数が、単純パワーリサンプリング関数、強制パワーリサンプリング関数、またはソフト対数リサンプリング関数のうちの1つを含む、請求項14に記載のシステム。
【請求項16】
前記動作が、
前記トレーニング発話(452)のセットに関連付けられたターゲットドメインに一致するターゲットドメイントレーニングテキストサンプル(442)のサブセットを識別するために、前記トレーニングテキストサンプル(442)のセットに対して対照フィルタリングを適用することをさらに含み、
前記トレーニング発話(452)のセットからの前記書き写し(456)および前記希少単語トレーニングテキストサンプル(432)の識別されたサブセットにおいて前記外部言語モデル(206)をトレーニングすることが、前記ターゲットドメインに一致する前記ターゲットドメイントレーニングテキストサンプル(442)の識別されたサブセットにおいて前記外部言語モデル(206)をトレーニングすることをさらに含む、
請求項13から15のいずれか一項に記載のシステム。
【請求項17】
前記外部言語モデル(206)が、外部ニューラル言語モデルを含む、請求項13から16のいずれか一項に記載のシステム。
【請求項18】
前記外部ニューラル言語モデルが、コンフォーマ層またはトランスフォーマ層のスタックを含む、請求項17に記載のシステム。
【請求項19】
前記動作が、前記トレーニングされた言語モデル(206)を前記トレーニングされたASRモデル(200)と統合することをさらに含み、前記トレーニングされた外部言語モデル(206)が、前記トレーニングされたASRモデル(200)によって予測された可能な音声認識仮説にわたる確率分布を再スコアするように構成される、請求項13から18のいずれか一項に記載のシステム。
【請求項20】
前記ASRモデル(200)が、
音響フレーム(110)のシーケンスを入力として受信し、
複数の出力ステップの各々において、前記音響フレーム(110)のシーケンス内の対応する音響フレーム(110)に対する第1の高次特徴表現を生成するように構成された
第1のエンコーダ(210)と、
前記複数の出力ステップの各々において前記第1のエンコーダ(210)によって生成された前記第1の高次特徴表現を入力として受信し、
前記複数の出力ステップの各々において、対応する第1の高次特徴フレームに対する第2の高次特徴表現を生成するように構成された
第2のエンコーダ(220)と、
前記複数の出力ステップの各々において前記第2のエンコーダ(220)によって生成された前記第2の高次特徴表現を入力として受信し、
数の時間ステップの各々において、可能な音声認識仮説にわたる第1の確率分布(120a)を生成するように構成された
デコーダ(204)と
を備える、請求項19に記載のシステム。
【請求項21】
前記デコーダ(204)が、
前記複数の出力ステップの各々において前記第1のエンコーダ(210)によって生成された前記第1の高次特徴表現を入力として受信し、
前記複数の時間ステップの各々において、可能な音声認識仮説にわたる第2の確率分布(120b)を生成する
ようにさらに構成された、請求項20に記載のシステム。
【請求項22】
前記デコーダ(204)が、
前記複数の時間ステップの各々において、
最終ソフトマックス層によって出力されたN個の前の非空白記号のシーケンスを入力として受信し、
前記N個の前の非空白記号のシーケンスの各非空白記号について、それぞれの埋め込み(306)を生成し、
前記それぞれの埋め込み(306)を平均することによって平均埋め込み(312)を生成する
ように構成された予測ネットワーク(300)と、
前記複数の出力ステップの各々において前記予測ネットワーク(300)によって生成された平均埋め込み(312)と、
前記ASRモデル(200)がストリーミングモードにおいて動作しているとき、前記複数の出力ステップの各々において前記第1のエンコーダ(210)によって生成された前記第1の高次特徴表現、または
前記ASRモデル(200)が非ストリーミングモードにおいて動作しているとき、前記複数の出力ステップの各々において前記第2のエンコーダ(220)によって生成された第2の高次特徴表現
のうちの1つとを受信し、
前記複数の出力ステップの各々において、
前記ASRモデル(200)がストリーミングモードにおいて動作しているとき、可能な音声認識仮説にわたる前記第2の確率分布(120b)、または
前記ASRモデル(200)が非ストリーミングモードにおいて動作しているとき、可能な音声認識仮説にわたる前記第1の確率分布(120a)
のうちの1つを生成する
ように構成された結合ネットワークと
を備える、請求項21に記載のシステム。
【請求項23】
前記第1のエンコーダ(210)が、コンフォーマ層の初期スタックを備える因果エンコーダを備え、
前記第2のエンコーダ(220)が、前記コンフォーマ層の初期スタック上に重ねられたコンフォーマ層の最終スタックを備える非因果エンコーダを備える、
請求項20から22のいずれか一項に記載のシステム。
【請求項24】
前記ASRモデル(200)の前記第1のエンコーダ(210)および前記第2のエンコーダ(220)が、前記トレーニング発話(452)のセットからの前記書き写し(456)と前記希少単語トレーニングテキストサンプル(432)の識別されたサブセットとを含むテキストのみのデータにおいてトレーニングされた前記外部言語モデル(206)の統合を容易にするために、ハイブリッド自己回帰トランスデューサ因数分解を使用してトレーニングされる、請求項20から23のいずれか一項に記載のシステム。
【国際調査報告】