(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-10
(45)【発行日】2024-01-18
(54)【発明の名称】音声認識のためのエンドツーエンドモデルでコンテキスト情報を使用すること
(51)【国際特許分類】
G10L 15/08 20060101AFI20240111BHJP
G10L 15/16 20060101ALI20240111BHJP
【FI】
G10L15/08 200J
G10L15/16
(21)【出願番号】P 2021566525
(86)(22)【出願日】2020-03-24
(86)【国際出願番号】 US2020024404
(87)【国際公開番号】W WO2020231522
(87)【国際公開日】2020-11-19
【審査請求日】2022-01-07
(32)【優先日】2019-05-10
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ディン・ジャオ
(72)【発明者】
【氏名】ボ・リ
(72)【発明者】
【氏名】ルオミン・パン
(72)【発明者】
【氏名】タラ・エヌ・サイナス
(72)【発明者】
【氏名】デイヴィッド・リバッハ
(72)【発明者】
【氏名】ディープティ・バティア
(72)【発明者】
【氏名】ゼリン・ウー
【審査官】大野 弘
(56)【参考文献】
【文献】Yanzhange He et al.,Streaming End-to-end Speech Recognition For Mobile Devices,arXiv:1811.06621,2018年11月15日,https://arxiv.org/abs/1811.06621
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/08
G10L 15/16
(57)【特許請求の範囲】
【請求項1】
データ処理ハードウェア(610)において、発話(120)を符号化するオーディオデータ(125)を受信するステップと、
前記データ処理ハードウェア(610)によって、音声認識モデル(220)を使用して、音声要素の音声認識スコア(145)を生成するために前記オーディオデータ(125)を処理するステップと、
前記データ処理ハードウェア(610)によって、前記発話(120)のコンテキスト(122)を示すコンテキストデータに基づいて前記音声要素のコンテキストスコア(166)を決定するステップと、
前記データ処理ハードウェア(610)によって、前記音声認識スコア(145)と前記コンテキストスコア(166)とを使用して、前記発話(120)に対する1つまたは複数の候補トランスクリプションを決定するためにビーム検索復号プロセス(180)を実行するステップと、
前記データ処理ハードウェア(610)によって、前記1つまたは複数の候補トランスクリプションから前記発話(120)に対するトランスクリプション(185)を選択するステップと
を含む方法であって、
前記データ処理ハードウェア(610)によって、前記発話(120)に対する予備的トランスクリプション(186)が前記発話(120)の前記コンテキスト(122)に対応する接頭辞要素を表す単語を含むことを判定するステップをさらに含み、
前記音声要素の前記コンテキストスコア(166)を決定するステップが、前記発話(120)に対する前記予備的トランスクリプション(186)が前記発話(120)の前記コンテキスト(122)に対応する前記接頭辞要素を表す前記単語を含むという判定に基づく、
方法(500)。
【請求項2】
データ処理ハードウェア(610)によって、発話(120)を話したユーザ(115)のパーソナライズされたデータコレクション(150)内の単語またはフレーズの異なるセットを各々が表す複数のコンテキストFST(160)を生成するステップであって、前記複数のコンテキストFST(160)内の各コンテキストFST(160)が異なる特定のコンテキスト(122)に対応する、ステップと、
前記データ処理ハードウェア(610)において、前記発話(120)を符号化するオーディオデータ(125)を受信するステップと、
前記データ処理ハードウェア(610)において、音声認識モデル(220)を使用して、音声要素の音声認識スコア(145)を生成するために前記オーディオデータ(125)を処理するステップと、
前記データ処理ハードウェア(610)によって、前記発話(120)のコンテキスト(122)を示すコンテキストデータに基づいて前記音声要素のコンテキストスコア(166)を決定するステップと、
前記データ処理ハードウェア(610)によって、前記音声認識スコア(145)と前記コンテキストスコア(166)とを使用して、前記発話(120)に対する1つまたは複数の候補トランスクリプションを決定するためにビーム検索復号プロセス(180)を実行するステップと、
前記データ処理ハードウェア(610)によって、前記1つまたは複数の候補トランスクリプションから前記発話(120)に対するトランスクリプション(185)を選択するステップと
を含む方法であって、
前記複数のコンテキストFST(160)内の少なくとも1つのコンテキストFST(160)の各々について、
前記データ処理ハードウェア(610)によって、前記対応するコンテキストFST(160)の前記異なる特定のコンテキスト(122)に各々が対応する1つまたは複数の接頭辞のセットを含む対応する接頭辞FST(163)を生成するステップをさらに含む、
方法(500)。
【請求項3】
前記ビーム検索復号プロセス(180)の実行中、前記コンテキストスコア(166)が、前記1つまたは複数の候補トランスクリプションのいずれかを評価から剪定する前に、前記1つまたは複数の候補トランスクリプションの尤度を調整するように構成される、請求項1または2に記載の方法(500)。
【請求項4】
前記ビーム検索復号プロセス(180)を実行するステップが、前記発話(120)に対する前記1つまたは複数の候補トランスクリプションを決定するために、音声認識格子(175)を通るパスを剪定するために前記コンテキストスコア(166)を使用するステップを含む、請求項1から3のいずれか一項に記載の方法(500)。
【請求項5】
前記データ処理ハードウェア(610)によって、前記コンテキストデータに基づいて、前記発話(120)に関する特定のコンテキスト(122)を識別するステップをさらに含み、
前記音声要素の前記コンテキストスコア(166)を決定するステップが、前記識別された特定のコンテキスト(122)に基づく、
請求項1から4のいずれか一項に記載の方法(500)。
【請求項6】
前記音声要素の前記コンテキストスコア(166)を決定するステップが、前記音声要素の前記コンテキストスコア(166)を決定するためにコンテキス
トFST(160)を使用するステップであって、前記コンテキストFST(160)が前記特定のコンテキスト(122)に対応する、ステップを含む、請求項5に記載の方法(500)。
【請求項7】
前記発話(120)を符号化する前記オーディオデータ(125)を受信するステップの前に、
前記データ処理ハードウェア(610)によって、前記データ処理ハードウェア(610)と通信するメモリハードウェア(620)内に前記複数のコンテキストFST(160)を記憶するステップ
をさらに含む、請求項2に記載の方法(500)。
【請求項8】
前記パーソナライズされたデータコレクション(150)が、前記ユーザ(115)の連絡先のリストを含む、請求項7に記載の方法(500)。
【請求項9】
前記パーソナライズされたデータコレクション(150)が、前記ユーザ(115)のメディアライブラリを含む、請求項7または8に記載の方法(500)。
【請求項10】
前記パーソナライズされたデータコレクション(150)が、前記ユーザ(115)に関連付けられたユーザデバイス(110)上にインストールされたアプリケーションのリストを含む、請求項7から9のいずれか一項に記載の方法(500)。
【請求項11】
前記複数のコンテキストFST(160)内の少なくとも1つのコンテキストFST(160)の各々について、
前記データ処理ハードウェア(610)によって、前記複数のコンテキストFST(160)内の前記少なくとも1つのコンテキストFST(160)に対して生成された前記対応する接頭辞FST(163)を記憶するステップ
をさらに含む、請求項7から10のいずれか一項に記載の方法(500)。
【請求項12】
前記データ処理ハードウェア(610)によって、前記発話(120)に対する予備的トランスクリプション(186) (185)が前記対応する接頭辞FST(163)の前記1つまたは複数の接頭辞のうちの1つを含むことを判定するステップと、
前記データ処理ハードウェア(610)によって、前記予備的トランスクリプション(186)内に含まれる前記1つまたは複数の接頭辞のうちの前記1つを含む前記接頭辞FST(163)に対応する前記コンテキストFST(160)を選択的にアクティブ化するステップと
をさらに含み、
前記音声要素の前記コンテキストスコア(166)を決定するステップが、前記選択的にアクティブ化されたコンテキストFST(160)に基づく、
請求項11に記載の方法(500)。
【請求項13】
前記データ処理ハードウェア(610)が、
前記発話(120)を話したユーザ(115)に関連付けられたユーザデバイス(110)上に存在し、
前記音声認識モデル(220)を実行する、
請求項1から12のいずれか一項に記載の方法(500)。
【請求項14】
前記音声認識モデル(220)がエンドツーエンド音声認識モデルを含む、請求項1から13のいずれか一項に記載の方法(500)。
【請求項15】
前記エンドツーエンド音声認識モデルがリカレントニューラルネットワークトランスデューサ(RNN-T)を含む、請求項14に記載の方法(500)。
【請求項16】
前記コンテキスト(122)に基づいて前記音声要素の前記コンテキストスコア(166)を決定するステップが、部分語単位を表す要素を使用してコンテキスト用語を表すコンテキストFST(160)を使用して前記コンテキストスコア(166)を決定するステップを含む、請求項1から15のいずれか一項に記載の方法(500)。
【請求項17】
前記コンテキストFST(160)が、
コンテキスト用語の前記部分語単位間の各遷移をバイアスするように構成された遷移重みと、
前記遷移重みのバイアス効果を元に戻すように構成されたオフセット重みを有するバックオフアークと
を含む、請求項16に記載の方法(500)。
【請求項18】
前記音声要素が単語断片または書記素を含む、請求項1から17のいずれか一項に記載の方法(500)。
【請求項19】
データ処理ハードウェア(610)と、
前記データ処理ハードウェア(610)と通信するメモリハードウェア(620)であって、前記メモリハードウェア(620)が、前記データ処理ハードウェア(610)上で実行されると、前記データ処理ハードウェア(610)に、
発話(120)を符号化するオーディオデータ(125)を受信する動作と、
音声認識モデル(220)を使用して、音声要素の音声認識スコア(145)を生成するために前記オーディオデータ(125)を処理する動作と
前記発話(120)のコンテキスト(122)を示すコンテキストデータに基づいて前記音声要素のコンテキストスコア(166)を決定する動作と、
前記音声認識スコア(145)と前記コンテキストスコア(166)とを使用して、前記発話(120)に対する1つまたは複数の候補トランスクリプションを決定するためにビーム検索復号プロセス(180)を実行する動作と、
前記1つまたは複数の候補トランスクリプションから前記発話(120)に対するトランスクリプション(185)を選択する動作と
を含む動作を実行させる命令を記憶する、メモリハードウェア(620)と
を備えるシステム
であって、
前記動作が、
前記発話(120)に対する予備的トランスクリプション(186)が前記発話(120)の前記コンテキスト(122)に対応する接頭辞要素を表す単語を含むことを判定する動作をさらに含み、
前記音声要素の前記コンテキストスコア(166)を決定する動作が、前記発話(120)に対する前記予備的トランスクリプション(186)が前記発話(120)の前記コンテキスト(122)に対応する前記接頭辞要素を表す前記単語を含むという判定に基づく、
システム(100)。
【請求項20】
データ処理ハードウェア(610)と、
前記データ処理ハードウェア(610)と通信するメモリハードウェア(620)であって、前記メモリハードウェア(620)が、前記データ処理ハードウェア(610)上で実行されると、前記データ処理ハードウェア(610)に、
発話(120)を話したユーザ(115)のパーソナライズされたデータコレクション(150)内の単語またはフレーズの異なるセットを各々が表す複数のコンテキストFST(160)を生成する動作であって、前記複数のコンテキストFST(160)内の各コンテキストFST(160)が異なる特定のコンテキスト(122)に対応する、動作と、
前記発話(120)を符号化するオーディオデータ(125)を受信する動作と、
音声認識モデル(220)を使用して、音声要素の音声認識スコア(145)を生成するために前記オーディオデータ(125)を処理する動作と
前記発話(120)のコンテキスト(122)を示すコンテキストデータに基づいて前記音声要素のコンテキストスコア(166)を決定する動作と、
前記音声認識スコア(145)と前記コンテキストスコア(166)とを使用して、前記発話(120)に対する1つまたは複数の候補トランスクリプションを決定するためにビーム検索復号プロセス(180)を実行する動作と、
前記1つまたは複数の候補トランスクリプションから前記発話(120)に対するトランスクリプション(185)を選択する動作と
を含む動作を実行させる命令を記憶する、メモリハードウェア(620)と
を備えるシステムであって、
前記動作が、前記複数のコンテキストFST(160)内の少なくとも1つのコンテキストFST(160)の各々について、
前記対応するコンテキストFST(160)の前記異なる特定のコンテキスト(122)に各々が対応する1つまたは複数の接頭辞のセットを含む対応する接頭辞FST(163)を生成する動作をさらに含む、
システム(100)。
【請求項21】
前記ビーム検索復号プロセス(180)の実行中、前記コンテキストスコア(166)が、前記1つまたは複数の候補トランスクリプションのいずれかを評価から剪定する前に、前記1つまたは複数の候補トランスクリプションの尤度を調整するように構成される、請求項19または20に記載のシステム(100)。
【請求項22】
前記ビーム検索復号プロセス(180)を実行する動作が、前記発話(120)に対する前記1つまたは複数の候補トランスクリプションを決定するために、音声認識格子(175)を通るパスを剪定するために前記コンテキストスコア(166)を使用する動作を含む、請求項19から21のいずれか一項に記載のシステム(100)。
【請求項23】
前記動作が、
前記コンテキストデータに基づいて、前記発話(120)に関する特定のコンテキスト(122)を識別する動作をさらに含み、
前記音声要素の前記コンテキストスコア(166)を決定する動作が、前記識別された特定のコンテキスト(122)に基づく、
請求項19から22のいずれか一項に記載のシステム(100)。
【請求項24】
前記音声要素の前記コンテキストスコア(166)を決定する動作が、前記音声要素の前記コンテキストスコア(166)を決定するためにコンテキス
トFS
T(160)を使用する動作であって、前記コンテキストFST(160)が前記識別された特定のコンテキスト(122)に対応する、動作を含む、請求項23に記載のシステム(100)。
【請求項25】
前記動作が、前記発話(120)を符号化する前記オーディオデータ(125)を受信する動作の前に、
前記データ処理ハードウェア(610)と通信するメモリハードウェア(620)内に前記複数のコンテキストFST(160)を記憶する動作と
をさらに含む、請求項20に記載のシステム(100)。
【請求項26】
前記パーソナライズされたデータコレクション(150)が、前記ユーザ(115)の連絡先のリストを含む、請求項25に記載のシステム(100)。
【請求項27】
前記パーソナライズされたデータコレクション(150)が、前記ユーザ(115)のメディアライブラリを含む、請求項25または26に記載のシステム(100)。
【請求項28】
前記パーソナライズされたデータコレクション(150)が、前記ユーザ(115)に関連付けられたユーザデバイス(110)上にインストールされたアプリケーションのリストを含む、請求項25から27のいずれか一項に記載のシステム(100)。
【請求項29】
前記動作が、前記複数のコンテキストFST(160)内の少なくとも1つのコンテキストFST(160)の各々について、
前記複数のコンテキストFST(160)内の前記少なくとも1つのコンテキストFST(160)に対して生成された前記対応する接頭辞FST(163)を記憶する動作
をさらに含む、請求項25から28のいずれか一項に記載のシステム(100)。
【請求項30】
前記動作が、
前記発話(120)に対する予備的トランスクリプション(186)が前記対応する接頭辞FST(163)の前記1つまたは複数の接頭辞のうちの1つを含むことを判定する動作と、
前記予備的トランスクリプション(186)内に含まれる前記1つまたは複数の接頭辞のうちの前記1つを含む前記接頭辞FST(163)に対応する前記コンテキストFST(160)を選択的にアクティブ化する動作と
をさらに含み、
前記音声要素の前記コンテキストスコア(166)を決定する動作が、前記選択的にアクティブ化されたコンテキストFST(160)に基づく、
請求項29に記載のシステム(100)。
【請求項31】
前記データ処理ハードウェア(610)が、
前記発話(120)を話したユーザ(115)に関連付けられたユーザデバイス(110)上に存在し、
前記音声認識モデル(220)を実行する、
請求項19から30のいずれか一項に記載のシステム(100)。
【請求項32】
前記音声認識モデル(220)がエンドツーエンド音声認識モデルを含む、請求項19から31のいずれか一項に記載のシステム(100)。
【請求項33】
前記エンドツーエンド音声認識モデルがリカレントニューラルネットワークトランスデューサ(RNN-T)を含む、請求項32に記載のシステム(100)。
【請求項34】
前記コンテキスト(122)に基づいて前記音声要素の前記コンテキストスコア(166)を決定する動作が、部分語単位を表す要素を使用してコンテキスト用語を表すコンテキストFST(160)を使用して前記コンテキストスコア(166)を決定する動作を含む、請求項19から33のいずれか一項に記載のシステム(100)。
【請求項35】
前記コンテキストFST(160)が、
コンテキスト用語の前記部分語単位間の各遷移をバイアスするように構成された遷移重みと、
前記遷移重みのバイアス効果を元に戻すように構成されたオフセット重みを有するバックオフアークと
を含む、請求項34に記載のシステム(100)。
【請求項36】
前記音声要素が単語断片または書記素を含む、請求項19から35のいずれか一項に記載のシステム(100)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、音声認識のためのエンドツーエンドモデルでコンテキスト情報を使用することに関する。
【背景技術】
【0002】
音声のコンテキストを認識することは、人々が話す可能性がある多種多様な単語、ならびにアクセントおよび発音における多くのバリエーションを考慮すると、自動音声認識(ASR: automated speech recognition)システムにとって困難である。多くの場合、人が話す単語およびフレーズのタイプは、その人が気がつくとそこにいるコンテキストに応じて異なる。
【0003】
コンテキスト自動音声認識(ASR)は、ユーザ自身のプレイリスト、連絡先、地理的な場所の名前などの、所与のコンテキストに向けて音声認識をバイアスすることを伴う。コンテキスト情報は、通常、認識されるべき関連フレーズのリストを含み、このリストは、しばしば、トレーニングする際にまれに見られる珍しいフレーズまたは外来語さえ含む。コンテキストバイアスを実行するために、従来のASRシステムは、ときには、n-gram重み付き有限状態トランスデューサ(WFST: weighted finite state transducer)を使用して独立したコンテキスト言語モデル(LM: language model)においてコンテキスト情報をモデル化し、オンザフライ(OTF: on-the-fly)再スコアリングのためのベースラインLMを用いて独立したコンテキストLMを構成する。
【0004】
最近、エンドツーエンド(E2E: end-to-end)モデルが、従来のオンデバイスモデルと比較して、改善された単語誤り率(WER: word error rate)およびレイテンシメトリックを示し、ASRに対して大きな期待を示している。音声からテキストへのマッピングを直接学習するために、音響モデル(AM: acoustic model)、発音モデル(PM: pronunciation model)、およびLMを単一のネットワークに畳み込むこれらのE2Eモデルは、個別のAM、PM、およびLMを有する従来のASRシステムと比較して競争力のある結果を示している。典型的なE2Eモデルは、単語ベースのコネクショニスト時間分類(CTC: connectionist temporal classification)モデル、リカレントニューラルネットワークトランスデューサ(RNN-T: recurrent neural network transducer)モデル、ならびにListen, Attend, and Spell(LAS)などの注意(attention)ベースのモデルを含む。
【0005】
E2Eモデルは、ビーム検索復号中に限られた数の認識候補を維持するので、コンテキストASRは、E2Eモデルにとって困難であり得る。E2Eの書記素のみのモデルおよびE2Eの単語断片のみのモデルにとって、語彙外(OOV: out-of-vocabulary)の単語、特に、トレーニングにおいてほとんど見られない単語のクラスを綴ることは、特に困難である可能性がある。
【発明の概要】
【課題を解決するための手段】
【0006】
本明細書における実装形態は、発話が話された現在のコンテキストに最も関連する可能性が高い単語およびフレーズに向けて音声認識をバイアスするために様々なタイプのコンテキスト情報を使用するバイアス技法を適用する自動音声認識(ASR)システムに向けられている。コンテキストのうちの1つが検出されると、ASRシステムは、関連する単語のセットの認識を改善するためにこれらの単語を使用する。バイアス技法は、音響モデル、発音モデル、および言語モデルの機能を単一の統一されたモデルに組み込んだニューラルネットワークモデルなどの、エンドツーエンドモデルで使用することができる。本明細書で開示されている様々な技法は、エンドツーエンドモデルのコンテキストバイアスを改善することができ、エンドツーエンドモデルを用いてバイアスを実装する際に発生する問題に対処することができる。
【0007】
ユーザの曲名、アプリケーション名、または連絡先の名前などの特定のドメインへのコンテキストバイアスは、ASRシステムの精度を大幅に改善することができる。エンドツーエンドモデルは、しばしば、ビーム検索中に候補の小さいリストのみを保持しているので、コンテキストバイアスは、これらのモデルを使用することが困難である可能性がある。多くのエンドツーエンドモデルは、バイアスフレーズの最も一般的なソースである固有名詞を認識する際の精度も比較的低い。
【0008】
コンテキスト知識をエンドツーエンドモデルに組み込むことは、様々な理由のために困難である可能性がある。第1に、ニューラルネットワークモデルは、共同の音響、発音、および言語モデルを用いてトレーニングされるので、ニューラルネットワークモデルは、典型的には、従来の言語モデルよりもはるかに少ないテキストデータを用いてトレーニングされる。従来の言語モデルは、対応するオーディオデータが利用できない場合でも、任意のソースからのテキストを使用してトレーニングされ得るが、エンドツーエンドモデルは、一般に、純粋なテキストよりも変動が少なく、純粋なテキストよりも取得するのが困難な、ペアのテキストおよび対応するオーディオデータを用いて訓練される。これにより、モデルは、はるかに少ない固有名詞の例を用いて訓練されることになり、結果として固有名詞に対する精度が低くなる。特定のコンテキストに関連するn-gramの多くは、固有名詞であり、バイアスなしでは、モデルがこれらのコンテキストに関連するn-gramを予測することは、困難である。第2に、効率的なデコードのために、エンドツーエンドモデルは、一般に、ビーム検索の各ステップにおいて、候補のトランスクリプションのための検索空間を少数の候補にまで剪定しなければならない。結果として、従来のエンドツーエンドモデルでは、この剪定プロセスは、しばしば、まれな単語およびフレーズが早期に剪定され、したがって、候補トランスクリプションのセットから除外されることを引き起こす。
【0009】
コンテキスト知識をエンドツーエンドモデルの出力を復号するプロセスに組み込むことは、エンドツーエンドモデルを使用する音声認識の精度を改善することができる。以下でより詳細に説明されているが、コンテキスト情報を復号プロセスに組み込むことは、コンテキスト情報とモデルからの出力(たとえば、可能な音声認識仮説にわたる確率分布)を選択的に格子に統合することを伴い得る。コンテキスト情報を使用するかどうか、およびどのようなコンテキスト情報を使用するかの判断は、音声が発話されたコンテキスト情報、または他の要因に基づいて行うことができる。
【0010】
単語全体に対してではなく、部分語単位レベルで(たとえば、個々の書記素または単語断片に対して)バイアスを実行することは、エンドツーエンドモデルによるコンテキストバイアスをさらに改善することができる。これは、単語が完成された後に単にバイアスするのではなく、ターゲット単語の最初の書記素または単語断片単位をバイアスすることによって、大幅な改善を精度にもたらすことができる。いくつかのエンドツーエンドモデルでは、モデルによって実行される復号プロセスは、最初の数個の書記素または単語断片のみを考慮した後、(たとえば、ビーム検索中に剪定することによって)固有名詞などの一般的でない単語を考慮から素早く外す。単語レベルのバイアスでは、この状況は、単語が完成される前に単語が考慮から外される可能性があるので、バイアスは、発生する機会がない。対照的に、単語を構成する部分語単位のスコアをブーストすることによって単語をバイアスすることは、バイアスによって提供されるブーストが単語を候補トランスクリプションとして維持するように、単語の最初の部分のスコアを高めることができる。さらに、ビーム剪定後とは対照的にビーム剪定前に音声認識スコアを調整することによって、復号プロセスにおいて早期にコンテキストバイアスを適用することは、バイアスプロセスが効果を生じる機会を有する前に、剪定によって削除されるのではなく、ターゲット単語が適切に考慮されることを保証するのを助けることができる。
【0011】
全体的な認識精度をさらに改善するために、ASRシステムは、バイアスを実行するときに、接頭辞の単語およびフレーズも考慮に入れることができる。特定の単語またはフレーズは、しばしば、特定のタイプの単語を含むステートメントの前にある。たとえば、ユーザがデバイスにコマンドを提供する場合、「call(電話をかける)」という単語は、しばしば、人の名前の前に存在し、「play(再生する)」という単語は、しばしば、ユーザのコレクション内の曲などのメディアアイテムの名前の前にある。たとえば、既知の接頭辞の存在は、認識が特定のタイプの単語にバイアスされるべきであるという追加の確信を提供するので、ASRシステムは、認識精度を改善するために接頭辞の検出を使用することができる。加えて、いくつかの実装形態において、バイアスが一般的な単語の認識の精度を妨げたり低下させたりしないように、バイアスすることは、適切な接頭辞が検出された場合にのみ適用することができる。結果として、コンテキストに依存する方法で尤度がブーストされた特定の単語およびフレーズに対する認識精度をコンテキストバイアスが改善する場合でも、モデルの一般的な語彙について高い認識精度を維持することができる。
【0012】
固有名詞のモデル化を改善するために、様々な技法を使用することもできる。これらの技法のうちのいくつかは、テキストのみのデータの大規模なコーパスを活用することができる。たとえば、トレーニングのために、システムは、多数の固有名詞のテキストのみを取得または作成し、次いで、対応する音声を合成することができる。システムは、固有名詞を有するデータを保持するようにフィルタリングされた、オーディオおよび対応するテキストデータを示す大量の教師なしデータを活用することができる。別の例として、システムは、より多くの固有名詞の例を作成するために、トレーニングデータトランスクリプションの変形または「ファズ(fuzz)」を作成することができる。
【0013】
本開示の一態様は、音声を転写するためにコンテキストバイアスを使用するための方法を提供する。方法は、データ処理ハードウェアにおいて、発話を符号化するオーディオデータを受信するステップと、データ処理ハードウェアにおいて、音声認識モデルを使用して、音声要素の音声認識スコアを生成するためにオーディオデータを処理するステップとを含む。方法は、データ処理ハードウェアによって、発話のコンテキストを示すコンテキストデータに基づいて音声要素のコンテキストスコアを決定するステップも含む。方法は、データ処理ハードウェアによって、音声認識スコアとコンテキストスコアとを使用して、発話に対する1つまたは複数の候補トランスクリプションを決定するためにビーム検索復号プロセスを実行するステップと、データ処理ハードウェアによって、1つまたは複数の候補トランスクリプションから発話に対するトランスクリプションを選択するステップとをさらに含む。
【0014】
本開示の実装形態は、以下のオプションの特徴のうちの1つまたは複数を含み得る。いくつかの実装形態において、ビーム検索復号プロセスの実行中、コンテキストスコアは、1つまたは複数の候補トランスクリプションのいずれかを評価から剪定する前に、1つまたは複数の候補トランスクリプションの尤度を調整するように構成される。追加の実装形態において、ビーム検索復号プロセスを実行するステップは、発話に対する1つまたは複数の候補トランスクリプションを決定するために、音声認識格子を通るパスを剪定するためにコンテキストスコアを使用するステップを含む。いくつかの例では、方法は、データ処理ハードウェアによって、コンテキストデータに基づいて、発話に関する特定のコンテキストを識別するステップも含む。これらの例では、音声要素のコンテキストスコアを決定するステップは、識別された特定のコンテキストに基づく。これらの例では、音声要素のコンテキストスコアを決定するステップは、音声要素のコンテキストスコアを決定するためにコンテキスト有限状態トランスデューサ(FST: finite-state transducer)を使用するステップであって、コンテキストFSTが特定のコンテキストに対応する、ステップをさらに含み得る。
【0015】
いくつかの実装形態において、方法は、発話を符号化するオーディオデータを受信する前に、データ処理ハードウェアによって、発話を話したユーザのパーソナライズされたデータコレクション内の単語またはフレーズの異なるセットを各々が表す複数のコンテキストFSTを生成するステップと、データ処理ハードウェアによって、データ処理ハードウェアと通信するメモリハードウェア内に複数のコンテキストFSTを記憶するステップとをさらに含む。ここで、複数のコンテキストFST内のコンテキストFSTは、異なる特定のコンテキストに対応する。これらの実装形態において、パーソナライズされたデータコレクションは、ユーザの連絡先のリスト、および/またはユーザのメディアライブラリ、および/またはユーザに関連付けられたユーザデバイス上にインストールされたアプリケーションのリストを含み得る。これらの実装形態において、方法は、複数のコンテキストFST内の少なくとも1つのコンテキストFSTの各々について、データ処理ハードウェアによって、対応するコンテキストFSTの異なる特定のコンテキストに各々が対応する1つまたは複数の接頭辞のセットを含む対応する接頭辞FSTを生成するステップと、データ処理ハードウェアによって、複数のコンテキストFST内の少なくとも1つのコンテキストFSTに対して生成された対応する接頭辞FSTを記憶するステップとをさらに含み得る。これらの実装形態において、方法は、データ処理ハードウェアによって、発話に対する予備的トランスクリプションが対応する接頭辞FSTの1つまたは複数の接頭辞のうちの1つを含むことを判定するステップと、データ処理ハードウェアによって、予備的トランスクリプション内に含まれる1つまたは複数の接頭辞のうちの1つを含む接頭辞FSTに対応するコンテキストFSTを選択的にアクティブ化するステップとをオプションで含み得る。ここで、音声要素のコンテキストスコアを決定するステップは、選択的にアクティブ化されたコンテキストFSTに基づく。
【0016】
いくつかの例では、データ処理ハードウェアは、発話を話したユーザに関連付けられたユーザデバイス上に存在し、音声認識モデルを実行する。いくつかの実装形態において、音声認識モデルは、エンドツーエンド音声認識モデルを含む。たとえば、エンドツーエンド音声認識モデルは、リカレントニューラルネットワークトランスデューサ(RNN-T: recurrent neural network-transducer)を含み得る。
【0017】
いくつかの例では、方法は、データ処理ハードウェアによって、発話に対する予備的トランスクリプションが発話のコンテキストに対応する接頭辞要素を表す単語を含むことを判定するステップをさらに含む。これらの例では、音声要素のコンテキストスコアを決定するステップは、発話に対する予備的トランスクリプションが発話のコンテキストに対応する接頭辞要素を表す単語を含むという判定に基づく。追加の例では、コンテキストに基づいて音声要素のコンテキストスコアを決定するステップは、部分語単位を表す要素を使用してコンテキスト用語を表すコンテキストFSTを使用してコンテキストスコアを決定するステップを含む。これらの例では、コンテキストFSTは、コンテキスト用語の部分語単位間の各遷移をバイアスするように構成された遷移重みと、遷移重みのバイアス効果を元に戻すように構成されたオフセット重みを有するバックオフアーク(backoff arc)とを含み得る。いくつかの例では、音声要素は、単語断片または書記素を含む。
【0018】
本開示の別の態様は、音声を転写するためにコンテキストバイアスを使用するためのシステムを提供する。システムは、データ処理ハードウェアと、データ処理ハードウェアと通信するメモリハードウェアとを含む。メモリハードウェアは、データ処理ハードウェアによって実行されると、データ処理ハードウェアに、発話を符号化するオーディオデータを受信する動作と、音声認識モデルを使用して、音声要素の音声認識スコアを生成するためにオーディオデータを処理する動作とを含む動作を実行させる命令を記憶する。動作は、発話のコンテキストを示すコンテキストデータに基づいて音声要素のコンテキストスコアを決定する動作も含む。動作は、音声認識スコアとコンテキストスコアとを使用して、発話に対する1つまたは複数の候補トランスクリプションを決定するためにビーム検索復号プロセスを実行する動作と、1つまたは複数の候補トランスクリプションから発話に対するトランスクリプションを選択する動作とをさらに含む。
【0019】
本開示の実装形態は、以下のオプションの特徴のうちの1つまたは複数を含み得る。いくつかの実装形態において、ビーム検索復号プロセスの実行中、コンテキストスコアは、1つまたは複数の候補トランスクリプションのいずれかを評価から剪定する前に、1つまたは複数の候補トランスクリプションの尤度を調整するように構成される。追加の実装形態において、ビーム検索復号プロセスを実行する動作は、発話に対する1つまたは複数の候補トランスクリプションを決定するために、音声認識格子を通るパスを剪定するためにコンテキストスコアを使用する動作を含む。動作は、コンテキストデータに基づいて、発話に関する特定のコンテキストを識別するステップも含み得、音声要素のコンテキストスコアを決定する動作は、識別された特定のコンテキストに基づく。さらに、音声要素のコンテキストスコアを決定する動作は、音声要素のコンテキストスコアを決定するためにコンテキスト有限状態トランスデューサ(FST)を使用する動作であって、コンテキストFSTが特定のコンテキストに対応する、動作を含み得る。
【0020】
いくつかの例では、動作は、発話を符号化するオーディオデータを受信する前に、発話を話したユーザのパーソナライズされたデータコレクション内の単語またはフレーズの異なるセットを各々が表す複数のコンテキストFSTを生成する動作と、データ処理ハードウェアと通信するメモリハードウェア内に複数のコンテキストFSTを記憶する動作とをさらに含む。ここで、複数のコンテキストFST内のコンテキストFSTは、異なる特定のコンテキストに対応する。これらの例では、パーソナライズされたデータコレクションは、ユーザの連絡先のリスト、および/またはユーザのメディアライブラリ、および/またはユーザに関連付けられたユーザデバイス上にインストールされたアプリケーションのリストを含み得る。例では、動作は、複数のコンテキストFST内の少なくとも1つのコンテキストFSTの各々について、対応するコンテキストFSTの異なる特定のコンテキストに各々が対応する1つまたは複数の接頭辞のセットを含む対応する接頭辞FSTを生成する動作と、複数のコンテキストFST内の少なくとも1つのコンテキストFSTに対して生成された対応する接頭辞FSTを記憶する動作とをさらに含み得る。これらの例では、動作は、発話に対する予備的トランスクリプションが対応する接頭辞FSTの1つまたは複数の接頭辞のうちの1つを含むことを判定する動作と、予備的トランスクリプション内に含まれる1つまたは複数の接頭辞のうちの1つを含む接頭辞FSTに対応するコンテキストFSTを選択的にアクティブ化する動作とをさらに含み得る。ここで、音声要素のコンテキストスコアを決定する動作は、選択的にアクティブ化されたコンテキストFSTに基づく。
【0021】
いくつかの実装形態では、データ処理ハードウェアは、発話を話したユーザに関連付けられたユーザデバイス上に存在し、音声認識モデルを実行する。音声認識モデルは、エンドツーエンド音声認識モデルを含み得る。たとえば、エンドツーエンド音声認識モデルは、リカレントニューラルネットワークトランスデューサ(RNN-T)を含み得る。
【0022】
いくつかの例では、動作は、発話に対する予備的トランスクリプションが発話のコンテキストに対応する接頭辞要素を表す単語を含むことを判定する動作をさらに含む。これらの例では、音声要素のコンテキストスコアを決定する動作は、発話に対する予備的トランスクリプションが発話のコンテキストに対応する接頭辞要素を表す単語を含むという判定に基づく。追加の例では、コンテキストに基づいて音声要素のコンテキストスコアを決定する動作は、部分語単位を表す要素を使用してコンテキスト用語を表すコンテキストFSTを使用してコンテキストスコアを決定する動作を含む。これらの例では、コンテキストFSTは、コンテキスト用語の部分語単位間の各遷移をバイアスするように構成された遷移重みと、遷移重みのバイアス効果を元に戻すように構成されたオフセット重みを有するバックオフアークとを含み得る。いくつかの例では、音声要素は、単語断片または書記素を含む。
【0023】
本開示の1つまたは複数の実装形態の詳細は、添付図面および以下の説明において記載されている。他の態様、特徴、および利点は、説明および図面、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0024】
【
図1】音声を転写するためにコンテキストバイアスを使用する例示的な音声認識器の概略図である。
【
図2】例示的なエンドツーエンドリカレントニューラルネットワークトランスデューサ(RNN-T)音声認識モデルの概略図である。
【
図3】音声認識スコアとコンテキストスコアとに基づいて格子に対してビーム剪定プロセスを実行する
図1の音声認識器の図である。
【
図4】コンテキストバイアスフレーズのオンザフライ再スコアリングのための技法を示す概略図である。
【
図5】音声を転写するためにコンテキストバイアスを使用する方法のための動作の例示的な配置のフローチャートである。
【
図6】本明細書で説明されているシステムおよび方法を実装するために使用され得る例示的なコンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0025】
様々な図面中の同様の参照記号は、同様の要素を示す。
【0026】
高精度の音声認識を提供するために、音声認識システムは、音声が発生するコンテキストを考慮に入れるように構成することができる。コンテキストは、数ある中で、曲名、アプリケーション名、連絡先の名前、または場所などの、言語の特定のドメインまたはクラスを表し得る。たとえば、音声認識システムが、ユーザが電話をかけようとしている可能性が高いと判断した場合、音声認識システムがユーザの連絡先のリスト内の連絡先の名前に向けて認識処理をバイアスすると、音声認識品質が改善する可能性がある。
【0027】
音声認識器は、多くの異なるタイプの状況において使用され得る。たとえば、音声認識器は、ディスプレイのないモバイルデバイスによって、ディスプレイを有するモバイルデバイスによって、携帯電話上で実行されるデジタルアシスタントアプリケーションによって、限定はしないが、デスクトップコンピュータ、ラップトップコンピュータ、スマートスピーカ、スマート家電、スマートディスプレイ、スマートヘッドフォン、または他のウェアラブルデバイスなどのコンピューティングデバイス上で実行されるデジタルアシスタントアプリケーションによって、車両内での使用に適合され得る。
【0028】
音声認識器は、多くの異なる目的のために使用され得る。たとえば、音声認識器は、デバイスが特定の曲、または特定のアーティストによる音楽アルバムを再生することを要求するために使用され得る。音声認識器は、連絡先に電話をかけるため、もしくはテキストを送るため、または電子メール、メモ、もしくはカレンダーイベントに入力するために音声を転写するために使用され得る。発話が発生する状況を示す様々な要因は、コンテキストと呼ばれる場合がある。異なるコンテキストは、関連性があり、ユーザによって話される可能性が高い用語の異なるセットを有し得る。一般に、異なるコンテキストは、異なる単語、話題、ユーザアクション、アプリケーションなどに関連し得る。結果として、音声認識システムが識別するコンテキストに応じて、音声認識システムは、ユーザの予想される音声によりよく一致するように用語の異なるセットをバイアスすることができる。これは、一般的に音声内にありそうもないが、特定のコンテキストまたは状況内では発生する可能性がはるかに高くなる可能性がある、固有名詞および他の用語を認識する精度を大幅に改善することができる。
【0029】
いくつかの実装形態において、重み付き有限状態トランスデューサ(FST)として表される、独立してトレーニングされたコンテキストn-gram言語モデルが、コンテキスト情報を表す。ASRシステムは、音声格子の要素のスコアリングに影響を与える別の構成要素としてコンテキストn-gram言語モデルを組み込むことによって、特定のコンテキストの用語に向けて認識プロセスをバイアスする。以下で論じられているように、コンテキストバイアスは、単語格子または部分語(たとえば、書記素または音素)の格子の要素のスコアを調整することができる。したがって、コンテキストバイアス言語モデルの寄与は、剪定後に単に適用されるのではなく、ビーム検索復号中の剪定決定における要因となる可能性がある。
【0030】
エンドツーエンド音声認識モデルは、従来の音響モデル、発音モデル、および言語モデルを単一のニューラルネットワークに組み合わせるが、コンテキスト情報/知識をこれらのエンドツーエンド音声認識モデルに組み込むことは、様々な理由のために困難である。たとえば、効率的な復号のために、エンドツーエンドモデルは、一般に、ビーム検索の各ステップにおいて少数の候補に剪定する。したがって、固有名詞などのまれな単語およびフレーズは、ビームから離れる可能性が高い。以下でより詳細に説明されているように、剪定決定前にコンテキストバイアスを格子に組み込むことによって、コンテキストバイアスは、現在のコンテキストにおいて使用されている可能性がより高い一般的でない用語に対してより大きい重みを与えることができ、それによって、これらの候補が早まって省略されないように、これらの候補をビーム検索復号プロセスのパス内に保持する。
【0031】
ASRシステムは、多数の異なるコンテキストの各々に関連する用語を表すために、コンテキストFSTを作成し得る。これらのFSTは、ユーザのデバイス上に記憶されるか、またはユーザのデバイスによってアクセス可能な情報(たとえば、ユーザのカレンダー、ユーザの連絡先のリスト、ユーザのメディアライブラリなど)に基づいて、ユーザに対してパーソナライズすることができる。ASRシステムは、異なるコンテキストFSTの関連性を示す接頭辞のコレクションを表す接頭辞FSTを組み込むこともできる。たとえば、「open(開く)」、「start(開始する)」、および「close(閉じる)」という接頭辞は、話される次の用語がアプリケーション名であることを示す接頭辞であり得るので、それらの接頭辞のうちの1つの検出は、音声認識システムに、アプリケーション名のためのコンテキストFSTをアクティブにさせ得る。別の例として、「play(再生する)」という接頭辞は、メディアアイテムのためのコンテキストFSTが使用される可能性があることを示し得、「call(電話をかける)」、「text(テキスト)」、または「e-mail(電子メール)」という接頭辞は、連絡先の名前のためのコンテキストFSTが使用されるべきであることを示し得る。
【0032】
書記素レベルではなく単語断片においてバイアスを実行することは、単語間をより正確に区別し、検索ビーム上に維持される必要がある候補の数を制限することによって、エンドツーエンドモデルによるコンテキストバイアスをさらに改善することができる。ビーム剪定前にコンテキストバイアスを適用することは、関連する単語断片を検索ビームから早まって削除することを回避し得る。
【0033】
図1は、音声を転写するためにコンテキストバイアスを使用する例示的な音声認識器100を示す。いくつかの実装形態において、携帯電話、タブレットコンピュータ、スマートスピーカ、スマートディスプレイ、スマートヘッドフォン、スマート家電、ラップトップコンピュータ、ウェアラブルデバイス、デスクトップコンピュータなどのユーザデバイス110が、音声認識器100を記憶および実行する。これらの実装形態において、音声認識器100は、サーバまたは他のネットワークベースのリソースなどの他のデバイスとの通信、または他のデバイスからのサポートなしに、ユーザデバイス110上でローカルに実行されるように構成される。しかしながら、本開示の範囲から逸脱することなく、ユーザデバイス110と通信するリモートサーバまたは他のネットワークベースのリソースが、音声認識器100を記憶および実行し得る。いくつかの構成において、音声認識器100の機能は、ユーザデバイス110と、リモートサーバまたは他のネットワークベースのリソースとの間で分割される。
【0034】
図示されている例では、ユーザ115は、ユーザデバイス110の1つもしくは複数のマイクロフォンおよび/またはユーザデバイス110と通信する少なくとも1つのマイクロフォンによって検出される発話120を話す。ユーザデバイス110は、発話120に対するトランスクリプション185を決定するために音声認識器100を使用する、この例では、ユーザ115は、会話型デジタルアシスタントへのコマンド、たとえば、要求を話す。トランスクリプション185が決定されると、ユーザデバイス110は、トランスクリプション185を解釈し、要求されたアクションを実行すること、検索エンジンにクエリを提供すること、トランスクリプションを表示すること、メッセージフィールド内にトランスクリプションを入力することなど、応答して適切なアクションをとることができる。
【0035】
ユーザ115が発話120を話す前に、ユーザデバイス110は、音声認識精度を改善する高速で正確なコンテキストバイアスを準備するためのステップをとる。これらのステップのうちの1つは、どの用語(たとえば、単語および/またはフレーズ)が異なるコンテキストまたは話題ドメインに関連するかを決定するために、ユーザ115および/またはユーザデバイス110に関連付けられた情報を取得および処理することである。ユーザデバイス110(たとえば、ユーザデバイス110のメモリハードウェア)は、ユーザの連絡先のリスト、ユーザのメディアライブラリ内のアイテムの名前、近くの場所の名前、およびインストールされたアプリケーションの名前などのコンテキスト情報のデータストア150を含む。データストア150またはその一部は、リモート記憶デバイス、たとえば、クラウドストレージ環境のリモートサーバ101上にも存在し得る。音声認識器100は、これらの用語のリストを取得するために、ユーザデバイス110のソフトウェアと通信することができる。これらの異なるコンテキストデータセット内の情報は、ユーザが連絡先を追加または削除したとき、ユーザのメディアライブラリが変更されたとき、ユーザが場所を変更したときなどに、随時変化する。音声認識器は、使用するコンテキスト情報を最新の情報に更新するために、データのリストに対して更新を定期的に要求することができる。これは、たとえば、地図サービス用のサーバ、ユーザのメディアライブラリに関する情報をホストするサーバなどから、ネットワークを介して情報を取得することを含み得る。
【0036】
音声認識器100は、コンテキストFST160、160a~nを生成/更新するために、データストア150からのコンテキスト情報を使用するように構成されたコンテキストFST生成モジュール155をさらに含む。コンテキストFST生成モジュール155は、システムが検出するように構成されたコンテキストごとに、異なるそれぞれ重み付けされたコンテキストFST160を決定することができる。コンテキストFST生成モジュール155は、各コンテキストFST160を生成するために、データストア150からのデータにアクセスする。たとえば、第1のコンテキストFST160aは、ユーザ115の連絡先のリストからの名前を表すことができ、第2のコンテキストFST160bは、ユーザ115のメディアライブラリ内のアイテムの名前を表すことができ、第3のコンテキストFST160cは、ユーザ1115の現在の場所の近くの場所の場所名を表すことができるなどである。コンテキストFST生成モジュール155は、データストア150内のデータにおける変化を検出したことなどに応答して、継続的に、たとえば、一定の間隔で、コンテキストFST160を更新することができる。
【0037】
各コンテキストFST160は、他のコンテキストFST160に関連付けられたコンテキストとは異なるコンテキストに対応するので、すべてのコンテキストFST160が同時に使用するのに適切であるとは限らない。本明細書で使用される場合、各FST160が対応するコンテキストは、コンテキストドメインと呼ばれる場合がある。現在のコンテキストに一致しない他のコンテキストFST160をアクティブ化せずに、現在のコンテキストに一致する関連するコンテキストFST160を選択的にアクティブ化するために、様々な技法を使用することができる。コンテキストバイアスを現在のコンテキストに適合させる1つの方法は、異なるそれぞれのコンテキストに対応する接頭辞の異なるセットの出現を各々が表す接頭辞FST163を使用することである。たとえば、「call(電話をかける)」という接頭辞の出現は、連絡先の名前が次の単語である可能性が高いことを示すことができるので、この接頭辞のための接頭辞FST163は、音声認識器100に連絡先名コンテキストFST160を有効にさせることができる。別の例として、「play(再生する)」という接頭辞の出現は、メディアアイテム名が次の単語である可能性が高いことを示すことができるので、この接頭辞のための接頭辞FST163は、音声認識器にメディアアイテム名コンテキストFST160を有効にさせることができる。各コンテキストFST160は、コンテキストFST160内の用語の可能性が高いことを示すために、ユーザ入力ログの分析を通じて決定された1つまたは複数の接頭辞のセットを表す対応する接頭辞FST163をオプションで有することができる。いくつかの実装形態において、接頭辞FSTは、空の接頭辞オプション164を含み、これは、最初に接頭辞の初期の発話なしで、コンテキストバイアスの使用を可能にする。
【0038】
いくつかの実装形態において、コンテキストFST160および接頭辞FST163は、音声認識プロセス中に使用するための単一のコンテキストFSTに構成される。代替的には、コンテキスト分析モジュール165などのモジュールは、どのコンテキストFST160が異なるコンテキストに対して適用されるかを選択するために、様々な要因を使用することができる。
【0039】
音声認識器100は、特徴抽出モジュール130と音声認識モデル200とを含む、音響情報を処理するための様々な要素を含む。発話120が話されると、ユーザデバイス110の1つまたは複数のマイクロフォンは、発話120の音響特性を表すオーディオデータ125を生成する。特徴抽出モジュール130は、オーディオデータ125を受信し、オーディオデータ125から音響特徴135(たとえば、対数メル特徴)を生成する。たとえば、モジュール130の出力は、オーディオデータ125のウィンドウまたはフレーム(たとえば、セグメント)ごとの音響特徴ベクトルとすることができ、ここで、音響特徴ベクトルは、異なる周波数帯域におけるエネルギーレベルなどの特徴を示す値を含む。
【0040】
音声認識モデル200は、音響特徴135を入力として受信し、異なる音声要素が発生した尤度を表す音声認識スコア145を出力として計算する。音声要素は、単語断片または書記素を含み得る。たとえば、音声認識モデル200は、出力ターゲットのセット、たとえば、潜在的に出力される可能性がある異なる書記素または単語断片のセットにわたる確率分布を表すスコアのベクトルを出力し得る。したがって、音声認識モデル200からの音声認識スコア145の出力ベクトルは、様々な書記素または単語断片がオーディオデータ125の一部における音声を正確に記述する尤度を示すことができる。音声認識モデル200は、発音モデル、音響モデル、および言語モデルの機能を単一のモデル(たとえば、ニューラルネットワーク)に組み合わせたエンドツーエンドモデルを含むので、音声認識モデル200は、音響特徴125、または生のオーディオデータ125さえも受信し、それに応答して、正字法特徴(たとえば、書記素、単語断片、または単語)の尤度を示す出力スコアを提供し得る。
【0041】
発話120を認識するとき、音声認識器100は、コンテキストスコア166を決定するために、発話120のコンテキストを示すデータも処理する。音声認識器100は、発話120のコンテキスト122に関する様々なタイプの情報を受信するコンテキスト分析モジュール165を含むことができる。たとえば、コンテキスト分析モジュール165は、デバイス110の場所、デバイス110を使用するユーザ115によって実行されているタスク、デバイス110上で開いているかまたはアクティブであるアプリケーションなどに関する情報を受信し得る。コンテキスト分析モジュール165は、ビーム検索プロセス中の部分的または予備的なトランスクリプション186内に含まれる、最近認識された書記素、単語断片、単語、またはフレーズなどの、最近の音声認識決定を示すデータを受信することもできる。このテキスト情報のいずれかまたはすべてを使用して、コンテキスト分析モジュール165は、コンテキストFST160の中から選択するか、またはコンテキストFST160に異なる重みを適用することができる。コンテキストFST160(たとえば、発話120の現在のコンテキストに適用可能であるように選択された1つまたは複数のコンテキストFST160)は、次いで、データストレージ150内の識別された用語またはフレーズに向けて認識プロセスをバイアスすることができるコンテキストスコア166を生成するために使用される。上記で論じられているように、コンテキストFST160ならびに接頭辞FST163および164は、以前に生成され、記憶されたので、それらは、発話120が話される前に利用可能である。
【0042】
コンテキスト分析モジュール165は、予備的トランスクリプション186において検出された所定の接頭辞またはキーワードの存在に基づいて、所与の発話120をバイアスするためにどのコンテキストFST160が使用されるかを制限することができる。コンテキスト分析モジュール165は、認識された音声を接頭辞または他のキーワードと比較するために任意の適切な方法を使用し得るが、プロセスは、接頭辞FST163および164を使用して効率的に行われ得る。接頭辞FST163および164の重みおよび遷移は、(たとえば、予備的トランスクリプション186において)既知の接頭辞の音声単位が認識されたとき、コンテキストFST160のうちのどれが最も関連する可能性が高いかと、それらのバイアスの影響がどのように重み付けされるべきかとを示すことができる。接頭辞163は、接頭辞FSTがコンテキストFST160のうちの1つまたは複数を使用するバイアスに直接つながるように、コンテキストFST160に連結またはリンクすることができる。
【0043】
上記で論じられているように、接頭辞FST163は、一般的に使用される接頭辞のセットが前にある場合にのみ、コンテキストFSTと、対応するバイアスフレーズとをアクティブ化するために使用される。接頭辞が話されると、特定のフレーズが話される信頼度がより高くなる。接頭辞FST163をコンテキストFST160にリンクすることによって、コンテキスト分析モジュール165は、全体的なバイアスを改善するためにバイアス重みを増加させる。たとえば、「call(電話をかける)」という単語を話した場合、接頭辞FST163は、コンテキスト分析モジュール165に連絡先に対応するコンテキストFSTを有効にさせるので、認識は、連絡先の名前に向けてバイアスされることになる。したがって、連絡先の名前は、トランスクリプション185内に含まれている可能性が高くなる。
【0044】
メディア名、連絡先、およびアプリケーション名などの多くのカテゴリに対してバイアスがアクティブである場合、標準的な単語の使用から気をそらす過剰なバイアスのため、認識品質は、低下する可能性がある。接頭辞FST163は、空の接頭辞オプション164を有し、これは、所定の接頭辞の出現なしにコンテキストFST160が使用されることを可能にするが、空の接頭辞オプション164は、過剰バイアスを防ぐために、接頭辞が話されない場合、より小さいバイアス重みを適用する。
【0045】
コンテキスト情報122、186に基づくコンテキストスコア166、および音響情報135に基づく音声認識スコア122、186は、発話120のトランスクリプション185を決定するために一緒に使用される。特に、コンテキストスコア166は、音声認識全体よりも現在のコンテキストにおける特定のユーザ115に関連する用語に向けて認識をバイアスする。いくつかの実装形態において、スコアコンバイナ170は、音声格子175において使用される結合されたスコア172を生成するために、音声認識スコア145をコンテキストスコア166と結合する。重要なことに、コンテキストスコア166のバイアスの影響は、格子175の剪定の前、およびビーム検索におけるビーム剪定の前に、音声格子175に適用される。結果として、コンテキストスコア166の影響により、そうでなければ剪定されていた可能性がある関連用語が、ビーム検索プロセスおよび関連する剪定を通じて維持される。「ビーム検索プロセス」は、「ビーム検索復号プロセス」と互換的に呼ばれる場合がある。
【0046】
音声認識器100は、音声格子175を通る潜在的なパスを評価し、トランスクリプション185を決定するために、ビーム検索プロセスを実行する。格子175を通る各パスは、異なる候補トランスクリプションを表すことができる。一般に、各々がそれぞれの候補トランスクリプションに関連付けられているすべての可能な単語シーケンスを評価することは、効率的ではないか、または可能ですらない。したがって、コンテキストスコア166およびASRスコア145が計算され、結合されたスコア172として結合された後、ビーム剪定プロセス180が、最も有望な単語パスに検索を誘導する。ビーム剪定180は、可能性が高い単語または単語断片について検索される格子175の範囲を減少させることができる。各単語断片の確率が計算されると、最も可能性が高い経路のみが残るまで、可能性の低い検索パスが剪定される。
【0047】
ビーム検索プロセスの出力は、ユーザの発話120のトランスクリプション185である。トランスクリプション185が決定されると、トランスクリプション185は、様々な方法のいずれかにおいて使用することができ、たとえば、ユーザ115に対して表示される、テキストフィールドに入力される、検索エンジンへのクエリまたはデジタル会話アシスタントへの要求として送信される、音声コマンドとして解釈されるなどである。たとえば、ユーザデバイス110は、テキストメッセージをまたは電子メールを書き込む、電話をかける、曲を再生するなど、ユーザデバイス110が実行するアクションを識別するために、トランスクリプション185を使用する。たとえば、トランスクリプションが「Call Jason(Jasonに電話をかける)」である場合、ユーザデバイス110は、Jasonという名前の連絡先に電話をかけることを開始し、「Calling Jason now(今、Jasonに電話をかけています)」などの合成された発話などの、ユーザ115への確認で応答し得る。
【0048】
図2を参照すると、音声認識モデル200は、対話型アプリケーションに関連するレイテンシ制約に準拠するE2E、RNN-Tモデル200を含み得る。RNN-Tモデル200は、小さい計算フットプリントを提供し、従来のASRアーキテクチャよりも少ないメモリ要件を利用し、RNN-Tモデルアーキテクチャを、(たとえば、リモートサーバとの通信が必要とされない)ユーザデバイス102上で完全に音声認識を実行するのに適したものにする。RNN-Tモデル200は、エンコーダネットワーク210と、予測ネットワーク220と、共同ネットワーク230とを含む。従来のASRシステムにおける音響モデル(AM)にほぼ類似しているエンコーダネットワーク210は、積層型長・短期記憶(LSTM: Long Short-Term Memory)層のリカレントネットワークを含む。たとえば、エンコーダは、d次元の特徴ベクトルのシーケンス(たとえば、音響フレーム110(
図1))x=(x
1,x
2,...,x
r)、ここで、
【0049】
【0050】
を読み取り、各時間ステップにおいてより高次の特徴表現を生成する。このより高次の特徴表現は、
【0051】
【0052】
として示される。
【0053】
同様に、予測ネットワーク220も、LSTMネットワークであり、これは、言語モデル(LM)のように、これまでに最終ソフトマックス層240によって出力された非空白シンボルのシーケンスy0,...,yui-1を密な表現
【0054】
【0055】
に処理する。最後に、RNN-Tモデルアーキテクチャでは、エンコーダおよび予測ネットワーク210、220によって生成された表現は、共同ネットワーク230によって結合される。共同ネットワークは、次いで、次の出力記号にわたる分布である
【0056】
【0057】
を予測する。別の言い方をすれば、共同ネットワーク230は、各出力ステップ(たとえば、時間ステップ)において、可能な音声認識仮説にわたる確率分布を生成する。ここで、「可能な音声認識仮説」は、指定された自然言語における記号/文字を各々が表す出力ラベルのセットに対応する。したがって、共同ネットワーク230は、出力ラベルの所定のセットの各々の出現の尤度を表す値のセットを出力し得る。この値のセットは、ベクトルとすることができ、出力ラベルのセットにわたる確率分布を示すことができる。場合によっては、出力ラベルは、書記素(たとえば、個々の文字、ならびに潜在的には句読点および他の記号)であるが、出力ラベルのセットは、そのように制限されない。共同ネットワーク230の出力分布は、異なる出力ラベルの各々に対する事後確率値を含むことができる。したがって、異なる書記素または他の記号を表す100の異なる出力ラベルが存在する場合、共同ネットワーク230の出力yiは、出力ラベルごとに1つずつ、100の異なる確率値を含むことができる。確率分布は、次いで、中間トランスクリプション115を決定するための(たとえば、ソフトマックス層240による)ビーム検索プロセスにおいて、候補正字法要素(たとえば、書記素、単語断片、および/または単語)を選択し、スコアを割り当てるために使用することができる。
【0058】
ソフトマックス層240は、対応する出力ステップにおいてモデル200によって予測される次の出力記号として、分布において最も高い確率を有する出力ラベル/記号を選択するために、任意の技法を用い得る。このようにして、RNN-Tモデル200は、条件付き独立仮定をせず、むしろ、各記号の予測は、音響だけでなく、これまでに出力されたラベルのシーケンスにも条件付けられる。RNN-Tモデル200は、出力記号が将来の音響フレーム110から独立していることを想定しており、これは、RNN-Tモデルがストリーミング方式で用いられることを可能にする。
【0059】
いくつかの例では、RNN-Tモデル200のエンコーダネットワーク210は、時間短縮層と、それに続く8つの2000次元LSTM層と、それらの各々に続く600次元投影層とを含む。予測ネットワーク220は、2つの2048次元LSTM層を有し得、その各々にも、640次元の投影層が続く。最後に、共同ネットワーク230は、640の隠れユニットも有し得、その後に4096の単語断片ソフトマックス出力が続く。デコーダは、層ごとに2000の隠れユニットと600次元の投影とを有する2つのLSTM層である。エンコーダおよびデコーダは、600の隠れユニットを有する共同ネットワークに供給される。共同ネットワークは、96ユニット(書記素実験用)または4096ユニット(単語断片用)のいずれかを有するソフトマックス層に供給される。すべてのRNN-Tモデルは、4096のバッチサイズを有する8×8テンソル処理ユニット(TPU: Tensor Processing Unit)スライス上のTensorFlowにおいてトレーニングされる。推論中、各発話は、コンテキストFST160を構築するために使用されるバイアスフレーズのセットと関連付けられる。
図4を参照して以下で示されているように、バイアスFST160における各アークは、同じ重みを有する。この重みは、上記のテストセットにおけるパフォーマンスを最適化するために、カテゴリ(曲、連絡先など)ごとに独立して調整される。
【0060】
一般に、音声認識モデル200などのASRモデルは、様々な方法を使用してトレーニングすることができ、プロセスは、大量のトレーニングデータを使用し得る。
図1に戻って参照すると、音声認識モデル200(たとえば、RNN-T)は、教師なしデータ193、教師ありデータ197、および/または合成データ195を含むトレーニングデータにおいてトレーニングし得る。
【0061】
固有名詞の認識を改善するために、音声認識モデル200は、名詞のより多くの例を提供するために大量のテキストデータを用いてトレーニングされ得、したがって、モデルが曝される固有名詞の種類を増加させる。教師なしデータ193は、音声検索トラフィックから発話をマイニングすることによって収集することができる。これらの発話は、次いで、ASRモデルによって復号され、高い信頼度を有する発話のみがさらなるトレーニングのために使用される。トレーニングが大量の教師なしデータ193によって支配されないことを確実にするために、トレーニングの各ステップ中、教師なしデータ193は、正確に転写されていることが確認または検証された教師ありデータ194と組み合わされる。たとえば、各ステップ中、トレーニングバッチは、最良のパフォーマンスを与えることが経験的にわかっているので、80%の割合で教師ありデータ197で満たされ、20%の割合で教師なしデータ193で満たされ得る。トレーニング中の固有名詞の認識を強調するために、教師なしデータ193における自動的に生成されたトランスクリプションをフィルタリングするために、固有名詞タガープロセスを実行することができる。いくつかの実装形態において、固有名詞を含むとタグ付けされた例示的な発話のみがトレーニングにおいて使用される。具体的には、固有名詞タガーは、固有名詞ごとに固有名詞の音声表現が生成されるように、各発話に対して実行され得る。たとえば、「Caitlin」は、k eI t l @ nという音素によって表される。次に、同じ音素シーケンスを有するレキシコン内の代替単語、たとえば、「Kaitlyn」が観察される。グラウンドトゥルースおよび代替単語が与えられると、これらの単語は、トレーニング中にランダムにサンプリングされる。これは、トレーニング中にモデルにより多くの固有名詞を与える。モデル200がトレーニング中により多くの名前を綴ることができる場合、復号中にコンテキストFSTが使用されるときにこれらの名前を綴ることがより確実になり、単語がビームから離れない。
【0062】
いくつかの実装形態において、様々な固有名詞を有する文章を生成し、次いで、対応するオーディオデータを合成することによって、合成トレーニングデータ195を作成することができる。この技法は、トレーニング例として使用することができるオーディオ-テキストペアの数を大幅に増やすことができる。いくつかの実装形態において、生成されたテキストおよび合成されたオーディオは、特定のドメインまたはカテゴリに対して決定される。たとえば、例示的なテキストを生成するために、カテゴリ固有の接頭辞と固有名詞とを組み合わせることができる。次いで、生成されたテキストの合成音声を生成するために、テキスト音声化技法を使用することができる。このようにして、カテゴリごとに多くの発話を有するトレーニングデータセットを作成することができる。たとえば、テキストメッセージ、電子メールなどの通信を表すために、人工的な例を生成することができる。同様に、別のカテゴリにおいて、メディア要求を表すために、例を生成することができる。別のカテゴリにおいて、コマンド、アクション、またはアプリケーションに対する要求をシミュレートするために、例を生成することができる。合成データ195が生成されると、教師ありデータ197および合成データ195の組合せをトレーニングのために使用することができ、したがって、教師ありデータセットからのコア例を提供し、特定のドメインまたはカテゴリからの固有名詞または可能性の高い言語のモデルの処理をさらに改善するために、合成例を使用する。ルームシミュレータは、合成データおよび教師ありデータ195、197の一方または両方における発話の少なくともいくつかにノイズを追加し得る。トレーニング中、各バッチは、90%の割合で教師ありデータ197で満たされ、10%の割合で合成データ195で満たされ得る。
【0063】
図3は、音声認識スコア145(
図1)とコンテキストスコア166(
図1)とに基づいてスコアコンバイナ170(
図1)によって出力された格子175上でビーム剪定プロセス(たとえば、
図1の剪定180)を実行する音声認識器100の
図300を示す。示されている例では、ユーザ115が、自動ペット給餌器を含む家庭用機器を制御することができるユーザデバイス110上のアプリケーションを起動する。アプリケーションの起動は、コンテキストFST生成モジュール155に、ペット給餌器などの家庭用機器に関連付けられた単語をバイアスするために1つまたは複数のコンテキストFST160を生成させる。ユーザ115は、「feed cat(猫に餌をあげて)」という単語を含む発話120をユーザデバイス110の1つまたは複数のマイクロフォンに話す。いくつかの例では、この発話120は、家庭用機器を制御するためのアプリケーションを起動するためにユーザデバイス110を呼び出す。他の例では、ユーザ115は、発話120を話す前に、アプリケーションを起動するために別の音声コマンドを話し得る。追加の例では、ユーザ115は、ユーザデバイス110が発話120を処理することができるように、ユーザデバイス110をスリープ状態から起こすためにホットワードを話し得る。
【0064】
いくつかの例では、コンテキスト分析モジュール165(
図1)は、(たとえば、予備的トランスクリプション186において)「feed(餌をあげて)」という接頭辞の出現を、ホームオートメーションのカテゴリ/コンテキストに対して一般的に使用される接頭辞として認識し、それによって、「fish(魚)」、「dog(犬)」、および「cat(猫)」などの、「feed」に続く可能性が高い単語をバイアスする。すなわち、「feed」という接頭辞を含む対応する接頭辞FST163は、音声認識器100に、ホームオートメーションのカテゴリ/コンテキストに関連付けられたコンテキストFST160を有効にさせ得る。したがって、コンテキスト分析モジュール165は、コンテキストスコア166を計算するために、コンテキストFST160と接頭辞FST163とを参照し、同時に、音声認識モジュール200は、接頭辞FST163に対応する音声認識スコア145を計算するためにオーディオ特徴135を評価する。
【0065】
ステップ1から3は、対応する発話120において「feed」という単語に続く「cat」という単語のオーディオ特徴135の異なるパート/部分を認識する際に音声認識器100が実行する連続する出力ステップを示す。上記の注釈に記載されているように、ホームオートメーションコンテキストFST160に対応する接頭辞FST163に関する接頭辞としてコンテキスト分析モジュール165によって認識された予備的トランスクリプション186における「feed」という単語の出現は、コンテキスト分析モジュール165に、ステップ1~3において行われる様々な書記素決定をバイアスする際に使用するためのコンテキストスコア166を生成させる。
【0066】
ステップ1において、スコアコンバイナ170は、結合されたスコア172を計算するためにASRスコア145(「音声認識スコア」と互換的に呼ばれる)とコンテキストスコア166とを結合する。結合されたスコア172に基づいて、結合されたスコア172が1.1の「c」という書記素が最も可能性が高いと識別される。ASRスコア145およびコンテキストスコア166は、剪定プロセスの各ステップにおいて再計算される。
【0067】
ステップ2において、スコアコンバイナ170は、結合されたスコア172を計算するために、現在のステップの出力分布における出力ラベルの各々について、ASRスコア145(「音声認識スコア」と互換的に呼ばれる)とコンテキストスコア166とを結合する。したがって、ステップ2において、結合されたスコア172が0.9の「a」という書記素が最も可能性が高いと識別される。
【0068】
ステップ3において、0.6の最も高いASRスコア145は、「r」という書記素に対するものであり、これは、結果として生じるトランスクリプション185において「car(車)」という単語を誤って出力するように「t」という書記素を省略する剪定プロセスをもたらすが、0.8のコンテキストスコア166は、「t」という書記素について高い尤度を示す。したがって、「t」という書記素に対する0.3のASRスコア145は、ステップ3の格子175において最も高いASRスコア145ではないが、剪定プロセスは、ここで、1.0の結合されたスコア172により、「t」という書記素をステップ3の格子175における最も高い出力ラベルとして識別する。したがって、剪定プロセスは、ここでは、結果として生じるトランスクリプション185において「feed」という単語に続く「cat」という候補単語を正しく出力し得る。この例では、音声認識器100がビーム剪定180の後までコンテキストスコア166を考慮しなかった場合、ビーム剪定180は、コンテキストスコアを適用する機会なしに、「cat」という正しい候補単語をビームから早まって剪定したであろう。したがって、ユーザデバイス115上の開いている/起動されているアプリケーションから導出されたホームオートメーションの現在のコンテキスト122、および予備的トランスクリプション186における「feed」という接頭辞の認識は、協働して、音声認識器100に、音声認識モデル200が「c」および「a」という可能性のある書記素を識別した後に、「r」という書記素のコンテキストスコア166よりも高い「t」という書記素のコンテキストスコア166を計算させる。したがって、音声認識器100は、格子175における候補書記素または単語断片に対してビーム剪定180を適用する前に、コンテキストスコア166を生成し、コンテキストスコア166を音声認識モデル200から出力されたASRスコア145と結合することによって、トランスクリプション185の精度を改善することができる。音声認識器100の音声認識モデル200がRNN-Tを含む場合、音声認識器100は、書記素が各出力ステップにおいて個別に出力されるように、ストリーミング方式においてトランスクリプション185を出力し得る。いくつかの例では、音声認識器100は、トランスクリプション180において複数の書記素を含む単語断片または単語全体を出力するのを待ち得る。
【0069】
いくつかの実装形態において、ニューラルネットワークコンテキストバイアスは、単語境界においてのみコンテキストスコア166を適用する。この手法は、コンテキストフレーズのリストが曲名または連絡先などの多くの固有名詞を含む場合には効果的でない場合がある。ニューラルネットワークモデルは、ビーム検索中に書記素または単語断片などの部分語単位を予測するので、バイアスされるべき単語がビーム内に存在しない場合、単語境界においてコンテキストスコアを適用することは、機能しない。
【0070】
図4は、単語の各部分語単位に重みを押し付けるオンザフライ(OTF)再スコアリング技法を示す概略
図400である。具体的には、
図4は、バックオフアークを有する部分語FSTを示し、ここで、バックオフアークは、早期にブーストされるが、フレーズ全体に一致しない接頭辞に重みを人為的に与えることを回避するために減算コストを提供するための負の重みに対応する。すなわち、部分語FSTは、現在の状態に到達する前に追加された重みを無効にするバックオフアークを含む。単語の各部分語単位に重みを押し付けることによって、
図4のOTF再スコアリング技法は、単語をビーム上に維持するのを助けることを目的とする。したがって、部分語単位ごとにバイアスすることは、バイアス候補をビームから早まって剪定する可能性を減らすので、部分語単位ごとにバイアスすることは、各単語の末尾においてバイアスすることよりも効果的である。
【0071】
一般に、書記素をバイアスすることは、コンテキストFST160と一致する部分的な書記素を有する不必要な単語でビームを溢れさせる。たとえば、
図4に示されている例では、バイアス単語が「cat」である場合、コンテキストFST生成モジュール155は、「c」、「a」、および「t」という書記素がバイアスされるように、対応するコンテキストFST160を生成する。最初に「c」という書記素がバイアスされ、したがって、「cat」および「car」は、ビーム上に乗せられ得る。しかしながら、バイアスが単語断片レベルにおいて適用される場合、関連する部分語の一致が疎らになり、したがって、より多くの関連する単語がビームに来る。前の例に従って、バイアスする単語断片が「cat」である場合、「car」は、ビームに来ない。バイアスがより長い単位において実行されるように、書記素から単語断片バイアスに切り替えることは、より多くの関連候補がビーム上に維持されるのを助け、パフォーマンスを改善する。
【0072】
一般に、ユーザの曲名、アプリ名、および連絡先の名前などの特定のドメインへのコンテキストバイアスは、プロダクションレベルの自動音声認識(ASR)システムの重要な構成要素である。エンドツーエンドモデルは、典型的には、ビーム検索中に候補の小さいリストを維持し、バイアスフレーズの主要なソースである固有名詞においてうまく機能しないので、コンテキストバイアスは、エンドツーエンドモデルでは特に困難である。この議論は、エンドツーエンドモデルのための浅い融合(shallow-fusion)ベースのバイアスに対する様々なアルゴリズムおよび固有名詞の改善を提示する。様々なタスクにわたって、提案されている手法は、最先端の従来のモデルと同様のパフォーマンスを得る。
【0073】
前述のように、エンドツーエンド音声認識モデルによるAM、PM、およびLMの単一のニューラルネットワークへの結合は、様々な理由のため、コンテキスト知識を組み込む能力を困難にする。第1に、エンドツーエンドモデルは、共同のAM、PM、およびLMを用いてトレーニングされるので、従来のLMと比較してはるかに少ないデータを用いてトレーニングされ、したがって、従来のモデルと比較して固有名詞においてより多くのエラーを生じさせる。コンテキストn-gramは、しばしば、固有名詞(「call Jason(Jasonに電話をかけて)」、「text Jane(Janeにテキストメッセージを送って)」)であるので、モデルがこれらのn-gramを予測することは困難である。第2に、効率的な復号のために、エンドツーエンドモデルは、ビーム検索の各ステップにおいて、少数の候補(約4~10)に剪定しなければならない。したがって、コンテキストn-gramaの場合のように、まれな単語およびフレーズは、ビームから離れてしまう可能性がある。
【0074】
独立したコンテキストn-gram LMをエンドツーエンド音声認識モデルのフレームワークに組み込む浅い融合の従来の技法は、バイアスが(エンドツーエンドモデルが予測する書記素/単語断片単位ではなく)単語の末尾において、ビームが各ステップにおいて剪定された後に発生するので、固有名詞がビームから離れることに依然として苦しんでいる。しばしば、オールニューラル最適化のテーマに沿って、エンドツーエンドモデル内でバイアスを実行することがより効率的である。しかしながら、オールニューラルバイアスに関する懸念の1つは、多数のn-gramまでスケールアップしたときに単語誤り率(WER)が悪化することである。別の懸念は、コンテキストバイアスは、適切でない場合であっても、常にアクティブである可能性があることであり、「アンチコンテキスト」と呼ばれる、バイアスされることが意図されない発話において、パフォーマンスが低下しないことが望ましい。
【0075】
上記で論じられている実装形態は、単語レベルではなく部分語単位レベル(書記素、単語断片)においてバイアスを実行し、ビーム剪定後ではなくビーム剪定前にコンテキストFST160を適用し、アンチコンテキストに非常に役立つように接頭辞の共通のセット(たとえば、「call」、「text」)を有する接頭辞FST163を組み込み、固有名詞のモデル化を改善するためにテキストのみのデータのより大きいコーパスを活用することによって、コンテキストn-gramの早期の剪定に対処する。具体的には、固有名詞のモデル化は、(1)多数の固有名詞のテキストのみのクエリを作成し、対応する音声を合成することによって、合成トレーニングデータセット195を作成することと、(2)固有名詞を有するデータを維持するようにフィルタリングされた大量の教師なしオーディオ-テキストデータ(たとえば、教師なしトレーニングデータ193)を活用することと、(3)より多くの固有名詞を作成するために教師ありトレーニングデータ197のトランスクリプトをファジングすることとを含む。結果は、4つの異なるコンテキストテストセットにわたって報告される。FST構造への提案されている変更は、浅い融合ベースのバイアスにおける大幅な改善につながる。それに加えて、大量の教師なしデータを用いたトレーニングによるよりよい固有名詞のモデリングにより、パフォーマンスがさらに改善する。全体的に、エンドツーエンドバイアス解決策は、相対的に20~40%の曲を除くすべてのセットにわたって、従来の埋込みモデルよりも性能が優れている。
【0076】
従来のASRシステム(別個のAM、PM、およびLMを有する)は、バイアスフレーズのリストをn-gram有限状態トランスデューサ(FST)として表し、復号中にこのコンテキストFSTを用いてLMを構成することによってコンテキストバイアスを実行する。これは、認識結果をコンテキストFST内のn-gramに向けてバイアスするのに役立ち、特定のシナリオにおいてWERを低減する。同様の技法は、n-gramFSTを構築し、次いでn-gramFSTをエンドツーエンド復号フレームワークに組み込むために使用される。
【0077】
音響観測のセットx=(x1,...,xK)が与えられると、エンドツーエンドモデルは、これらの観測が与えられた部分語単位のセットy=(y1,...,yL)に対する事後確率、すなわち、P(y|x)を提供する。浅い融合は、式(1)によって与えられるように、ビーム検索復号中にエンドツーエンドモデルからのスコアを外部コンテキストLMで補間する。
【0078】
【0079】
ここで、PC(y)は、コンテキストLMからのスコアであり、λは、ビーム検索中にコンテキストLMが全体的なモデルスコアにどれくらい影響を与えるかを制御する調整可能なハイパーパラメータである。
【0080】
エンドツーエンドモデルのためのコンテキストLMを構築するために、単語レベルのバイアスフレーズのセットが事前に知られており、n-gram重み付き有限状態トランスデューサ(WFST)にコンパイルされる。この単語レベルのWFST、Gは、次いで、書記素/単語断片のシーケンスを対応する単語に変換する「スペラー」FST、Sで左合成される。部分語FSTは、コンテキストLM、min(det(S○G))として取得される。
【0081】
浅い融合によるエンドツーエンドモデルのバイアスは、コンテキストLMが従来のシステムによるバイアスと同様に単語境界においてのみ適用される方法を使用して最初に調査された。この手法は、コンテキストフレーズのリストが多くの固有名詞(たとえば、曲名または連絡先)を含む場合、効果的ではないことがわかった。エンドツーエンドモデルは、ビーム検索中に部分語単位ラベルy(書記素、単語断片)を予測するので、バイアスされるべき単語がビーム内に存在しない場合、単語境界においてコンテキストLMを適用することは、機能しない。この問題に対処するために、部分語FSTの重みは、各部分語単位に押し付けられる。部分語FSTを決定論的にするために、同じ重みは、すべての部分語単位について使用される。
図3に示されているように、接頭辞に一致するがフレーズ全体には一致しない候補に人為的に重みを与えることを回避するために、失敗アークが含まれる。失敗アークが重みを担持しないn-gramFSTとは異なり、部分語FSTは、現在の状態に到達する前に追加された重みを無効にする失敗アークを含む。部分語単位のバイアスは、バイアス候補がビームから早期に剪定される機会を減らすので、各単語の末尾におけるバイアスよりも効果的であることがわかった。しかしながら、このアイデアは、書記素部分語単位を使用してのみ検討された。それに加えて、バイアスされることが意図されていないフレーズが過度にバイアスされないことを確実にするために、「アンチコンテキスト」を用いた結果は、調査されなかった。これらの懸念に対処するための浅い融合エンドツーエンドバイアスへの追加の改善について、以下で説明されている。
【0082】
バイアスフレーズは、たとえば、バイアスフレーズの前に一般的に使用される接頭辞のセットがある場合にのみ、選択的にアクティブ化することができる。たとえば、連絡先の要求は、典型的には、「call」、「text」、または「message」を有するが、曲の要求は、しばしば、「play」という接頭辞を使用する。この技法は、従来のモデルによって使用され、2つの主な利点を有する。第1に、曲、連絡先、およびアプリのような要求ごとにバイアスがアクティブである場合、いかなるバイアスフレーズも含まない発話について認識品質が低下する、アンチコンテキストとして知られる問題がある。接頭辞を見た後のみにバイアスを制御することは、そのような過剰バイアスを回避するのを助ける。第2の利点は、接頭辞を見た後、特定のフレーズに向けてバイアスすることについての信頼度がより高くなることであり、これは、バイアス重みを増加させ、全体的なバイアスパフォーマンスを改善することを可能にする。
【0083】
一例において、コンテキストFST160は、対応するバイアスフレーズに先行するしきい値回数(たとえば、50回)よりも多く出現するすべての接頭辞が、対応するコンテキストFST160と各々連結される対応する接頭辞FST163において使用するために抽出されるように、接頭辞のリストで構成され得る。接頭辞をスキップするために空の接頭辞オプションが許可されるが、これは、アクティブ化接頭辞の意図された抑制効果をキャンセルする。したがって、より小さいバイアス重みλが、空の接頭辞のために使用され得る。
【0084】
Table 1(表1)は、提案されているアルゴリズムの改善を示し、ここで、実験E0およびE1は、それぞれバイアスなしの書記素ベースラインおよびWPMベースラインを示し、実験E2は、提案されている改善なしの書記素バイアス結果を示し、実験E3は、曲、連絡先-実際、連絡先 TTS、およびアプリに関連するコンテキストセットについて、モデルが悪い候補をビーム上に維持することを防ぐために減算コストを使用する。
【0085】
バイアスがより長い単位において発生するように書記素バイアスからWPMバイアスへ切り替えること(E4)は、より多くの関連する候補をビーム上に維持するのを助け、パフォーマンスも改善する。最後に、以下では早期バイアスとして示されている、剪定の前にバイアスFSTを適用することは、よい候補が早期にビーム上に残ることを保証するのを助け、追加の改善につながる(E5)。全体的に、最良の浅い融合の設定は、減算コストと早期バイアスとを用いてWPMレベルにおいてバイアスすることである。
【0086】
【0087】
動的クラスバイアスは、常にオンであるので、バイアスフレーズが発話内に存在しない場合、パフォーマンスを低下させないことが重要である。Table 2(表2)は、アンチコンテキストの結果を示す。E1は、ベースラインの無バイアスWPMである。このモデルをバイアスすること(E5)は、VSおよびIMEにおけるパフォーマンスにおける大幅な低下を与える。セクション2.3.3において論じられているように、従来のモデルは、接頭辞をバイアスFST内に含めることによってこの問題に対処する。接頭辞を無視するために重みなしで接頭辞が使用され、コンテキストがバイアスされる場合(E6)、VSおよびIMEにおける結果は、改善するが、バイアスセットにおいて品質が低下する。しかしながら、E7において、空の接頭辞を有するパスを含めることは、過剰バイアスを引き起こし、VSおよびIMEにおける劣化をもたらす。サーバと同様に、解決策は、空の接頭辞が前にある場合、コンテキストフレーズに対してより小さい重みを使用することである(E7)。この手法では、VSおよびIMEにおいて劣化がほとんど観察されず、バイアステストセットにおいてパフォーマンスも改善する(E8)。
【0088】
【0089】
さらに、Table 3(表3)は、固有名詞の知識を改善することによってバイアス数を改善することができることを示す。ここでのベースラインは、E8であり、3500万の教師ありVS発話においてトレーニングされたRNN-T WPMである。実験E9は、教師なしデータを用いてトレーニングした場合のすべてのバイアステストセットにわたる改善を示す。TTSデータ(E10)を用いたトレーニングは、教師なしデータ(E9)と比較してTTSテストセットにおいてより大きい改善を与えるが、実際のテストセット(Contacts-Real)においてより大きい劣化をもたらす。これは、TTSバイアスセットにおける改善が、固有名詞のより豊富な語彙を学習するのではなく、主にトレーニングとテストデータとの間の一致したオーディオ条件から来ていることを示す。最後に、トランスクリプトをファジングすること(E11)は、すべてのセットにおいて品質の劣化を示す。今後の分析は、E9(教師なしデータ)に基づく。
【0090】
【0091】
Table 4(表4)は、バイアスフレーズのエラー率(ERR)と、これらのフレーズにおけるOOVの総数が与えられた場合のバイアスフレーズにおけるOOVにおいて発生したエラーの割合とを示す。(OOV)。第1に、この表は、すべてのテストセットにわたって、教師なしデータがバイアスとは無関係にERRメトリックを大幅に改善することを示す。それに加えて、教師なしデータモデルは、トレーニングにおいてより多くの単語を見ているので、バイアスありのERRメトリックは、より優れている。第2に、バイアスなしでは、OOVメトリックは、95%を超えており、単語がOOVである場合、ほぼ確実に検出されないことを示す。しかしながら、教師なしデータを用いてトレーニングする場合、バイアスは、教師ありデータにおいてトレーニングするよりもOOVにおけるエラーを大幅に改善する。両方のメトリックは、教師なしデータが、モデルがより多くの固有名詞を見るのを助け、正しい単語をビームにもたらすより高い信頼性をモデルに与えることを示している。
【0092】
【0093】
Table 5(表5)は、RNN-Tのバイアスパフォーマンスを、別個のPMおよびLMとともにコンテキストに依存しない音素ターゲットを用いてトレーニングされたCTC AMからなる同等のサイズ(130MB)の従来モデルと比較する。RNN-Tモデルは、おそらくは、他のカテゴリと比較してTable 1(表1)におけるより高いOOV率により、曲を除くすべてのカテゴリにおいて、埋込み型の従来のモデルよりも20%~40%優れている。
【0094】
【0095】
単一のオールニューラルエンドツーエンドシステムは、別個の音響モデル(AM)、発音モデル(PM)、および言語モデル(LM)を有する従来のモデルと比較して、はるかに単純でコンパクトな解決策を提供するので、エンドツーエンド(end-to-end)モデルは、音声認識における有望な研究動向である。しかしながら、エンドツーエンド最適化は、結合オーディオ-テキストペアを必要とし、従来のモデルにおけるLMを訓練するために使用される追加のレキシコンおよび大量のテキストのみのデータを利用しないので、ときには、テールワード(たとえば、単語使用分布の「ロングテール」における珍しい単語)および固有名詞において不十分に機能することが指摘されている。テキストのみのデータにおいてリカレントニューラルネットワーク言語モデル(RNN-LM)をトレーニングし、それをエンドツーエンドモデルに融合させることにおいて、多数の努力があった。この議論において、エンドツーエンドモデルをトレーニングすることに対するこの手法は、教師なし音声データから生成されたオーディオ-テキストペアと対比される。固有名詞の問題を具体的にターゲットにするために、品詞(POS: Part-of-Speech)タガーが、固有名詞を有する教師なしデータのみを使用するために教師なしデータをフィルタリングする。フィルタリングされた教師なしデータを用いたトレーニングは、単語誤り率(WER)において最大13%の相対的な低下を提供し、コールドフュージョン(cold-fusion)RNN-LMと組み合わせて使用されると、最大17%の相対的改善を提供する。
【0096】
エンドツーエンドモデルは、自動音声認識(ASR)のための単純だが効果的な方法を提供する。従来、ASRシステムは、AM、PM、およびLMから構成されるが、エンドツーエンドモデルは、これらの3つの構成要素を、共同で最適化された単一のニューラルネットワークに畳み込む。Listen, Attend, and Spell(LAS)は、強力な従来のASRシステムと比較して有望な結果を示したそのようなエンドツーエンドモデルの1つである。しかしながら、従来のシステムにおけるLMは、大量のテキストのみのデータにおいて独立してトレーニングすることができるが、LASモデルをトレーニングすることは、収集するためにはるかに費用がかかり、規模がはるかに小さいオーディオ-テキストペアを必要とする。したがって、LASは、曲名、連絡先などのまれな単語またはフレーズを認識する際に、従来のモデルと比較して不十分に機能する。ペアでないテキストデータを使用してエンドツーエンドモデルのパフォーマンスを改善するために、多くの努力がなされてきた。人気のある研究動向の1つは、テキストのみのデータにおいてトレーニングされた外部LMをエンドツーエンドモデルと統合することに向いている。たとえば、エンドツーエンドモデルは、テキストのみのデータから事前にトレーニングされたLMを用いて初期化し、次いで、マルチタスクトレーニングを通じてLMと共同で最適化することができる。それに加えて、独立してトレーニングされたエンドツーエンドモデルとLMモデルとを、浅い融合を介して補間することは、ニューラル機械翻訳とASRの両方について検討されている。たとえば、テキストのみのデータにおいてトレーニングされたRNN-LMを、コールドフュージョンと深い融合の両方を介して、エンドツーエンドデコーダに共同で統合することが検討されている。全体として、テキストのみのデータを活用することは、ASRのWERにおいて3%から7%の相対的な改善を示している。単一言語のトレーニングデータを用いて機械翻訳を改善するために、逆翻訳が検討されている。これは、BLEUスコアを2.8~3.7改善した。このアイデアは、音声認識にも適用されており、エンドツーエンドモデルをトレーニングするためのオーディオ-テキストペアを拡張するために、ペアでないテキストデータから生成された合成オーディオが使用された。TTSデータの使用は、TTSテストセットにおける劇的な改善を与えるが、実際のテストセットにおいて劣化が観察されている。
【0097】
それに加えて、従来のASRシステムは、パフォーマンスを改善するために、ラベルのないオーディオデータを利用する。既存のASRシステムからの信頼度スコアは、より多くのデータを用いてトレーニングするための教師なしデータを選択するために一般的に使用される。たとえば、認識単語の信頼度スコアと、低リソース言語のためのMLPポステリオグラム(posteriorgram)ベースの音素出現信頼度との組合せを使用して、教師なし音声データを選択することができる。ビデオ音声キャプションタスクについて、WERパフォーマンスを改善するためにトレーニングデータの量を大幅に増加させるために、「信頼の島」手法が開発された。
【0098】
LASなどのオールニューラルエンドツーエンドシステムをトレーニングすることは、AM、PM、およびLMを共同で学習するためにオーディオ-テキストペアを必要とする。この共同トレーニングは、潜在的によりよい最適化を可能にするが、ペアのオーディオ-テキストデータの使用に制限もされるので、エンドツーエンドモデルがまれな単語および固有名詞において不十分に機能するという結果をもたらす。この作業では、技法は、これらのテールワードにおいてエンドツーエンドモデルのパフォーマンスを改善するために、転写されていない音声データを利用する。
【0099】
教師なしオーディオ-テキストペアにおいて起こり得る不一致に対処するための別の方法は、並列WaveNetボコーダを有する単一話者TTSエンジンを使用して、テキスト仮説から合成オーディオを生成することである。これは、機械翻訳において使用される「逆翻訳」手法と類似している。この手法に関する潜在的な問題の1つは、実際の音声と合成オーディオとの間の音響的な違い、特に、限られた話者の特性とクリーンな話し方である。
【0100】
この懸念に対処するために、LASモデルのエンコーダおよびデコーダをバックプロッピング(backpropping)することが、デコーダだけをバックプロッピングすることと比較される。エンコーダは、AMを表し、現実的な条件においてトレーニングされるべきである。しかしながら、デコーダは、LMに類似しており、あまり現実的でない条件を用いてトレーニングすることができる。したがって、デコーダのみをバックプロッピングすることは、おそらくTTSデータに関する非現実的なオーディオの懸念に対処することができる。
【0101】
10億を超える教師なし発話が利用可能である。これには、教師なしデータが多ければ、モデルがトレーニング中にはるかにより多くの語彙を見るという利点がある。しかしながら、データが多くなると、モデルのトレーニング時間がより長くなる。
【0102】
したがって、LASモデルをトレーニングするために、データのセブセットが選択される。具体的には、モデルは、固有名詞においてうまく機能しないので、これらの発話を含むように教師なしデータをフィルタリングすることは、すべてのデータを使用することに比べてより短いトレーニング時間で、教師なしデータに関する品質改善を生じ得る。発話が固有名詞を含むかどうかの判断は、テキスト仮説において品詞(POS)タガーを実行することによって行われる。実験は、人間が転写した教師ありトレーニングセットと、ラベルなしの教師なしトレーニングセットとにおいて行われる。3500万の英語の発話(約27500時間)で構成される教師ありトレーニングセット。これらの発話は、匿名化され、手書きで転写され、インターネットの音声検索および口述トラフィックを表す。これらの発話は、全体的なSNRが0dBと30dBとの間になり、平均SNRが12dBになるように、ルームシミュレータを使用し、様々な程度のノイズと残響とを追加して、さらに人為的に破壊される。ノイズ源は、インターネットビデオおよび日常生活の騒々しい環境録音からである。発話ごとに、25の異なるノイズバージョンがトレーニングのために生成される。
【0103】
実験は、25マイクロ秒のウィンドウを用いて計算され、10ミリ秒ごとにシフトされた、80次元の対数メル特徴を使用する。各々の現在のフレームにおいて、これらの特徴は、左に3つの連続するフレームでスタックされ、次いで、30ミリ秒のフレームレートにダウンサンプリングされる。実験は、LASモデルを用いて行われる。具体的には、エンコーダネットワークは、10の単方向長・短期記憶(LSTM)層で構成され、各層は、2048の隠れユニットを有し、その後に384次元の投影層が続く。エンコーダネットワークの第2の層の後、各フレームは、隣接する左の隣接フレームと連結され、2つずつストライドされてから次の層に渡される。このスタッキング層は、フレームレートを60ミリ秒にさらに低下させる。トレーニングを安定させるために、エンコーダ層に対して層の正規化が採用される。4つのアテンションヘッドを有する追加のアテンションが使用される。デコーダネットワークは、2048の隠れ層と384の出力投影サイズとを有する4つの単方向LSTM層で構成される。LASモデルの出力は、16000の単語断片の語彙である。
【0104】
モデルは、TensorFlowを使用してラベル平滑化とクロスエントロピー損失とを用いてトレーニングされる。実験は、4096のグローバルバッチサイズを有する8×8のテンソル処理ユニット(TPU)スライスを使用し、約200000ステップについてモデルをトレーニングする。
【0105】
教師ありトレーニングデータ(B0として示されている)のみを用いてトレーニングされたLASモデルのパフォーマンスは、Table 6(表6)において提示されている。弱蒸留(weak distillation)のための教師モデルとして使用されるフルスタックの従来のモデルのパフォーマンスも提示されている。教師モデルは、従来のコンテキスト依存の音素ベースの低フレームレート音響モデル、400万語の発音レキシコン、および5-gramの言語モデルである。このモデルは、B1と呼ばれる。教師モデルは、同じ教師ありトレーニングデータを使用してトレーニングされる。この表は、ほとんどのテストセットにおいてLASモデルが従来のモデルよりも優れていることを示している。しかしながら、従来のモデルは、実際には、検索空間を剪定するためにコンテキスト情報を使用し、これは、多くの固有名詞(曲、連絡先、アプリ)を有するセットにおいてWERを減らすのを助ける。コンテキストバイアスを用いる教師モデルのパフォーマンスは、Table 6(表6)においてB2として示されている。
【0106】
認識された仮説において符号化された知識を抽出するために、B0は、10億の教師なしデータをトレーニングする。B2によって生成された仮説は、それらのトランスクリプトにおけるエラーに関係なく、参照トランスクリプトとして使用される。450000のステップについて10億の教師なしデータにおいてトレーニングすると(E0)、TTSセットのすべてにおいて良好な改善が得られるが、Voice Search(音声検索)およびContacts-Real(連絡先-実際)について劣化が見られる。TTSセットにおける勝利は、主に、データによってもたらされたより多くの単語のバリエーションによるものであるが、損失は、復号された仮説におけるエラーによるものである可能性が最も高い。Voice SearchおよびContacts-Realにおける劣化を減らすために、E0は、150000ステップについての教師ありデータを用いてさらに微調整される(E1)。それは、すべてのテストセットにおいてB0よりも改善する。
【0107】
【0108】
10億のデータを用いたトレーニングは、長い時間がかかる。この量のデータが必要かどうかを理解するために、教師なしデータは、それぞれ、5億と1億とにランダムにダウンサンプリングされる。モデルは、最初に教師なしデータのみ(E2およびE4)においてトレーニングし、次いで、教師ありデータ(E3およびE5)において微調整する。1億と5億の両方の教師ありデータでゲインが達成されるが、1億のデータを使用するほうが、わずかによいパフォーマンスを提供する。
【0109】
【0110】
図7における実験は、教師なしデータを用いてLASモデルをトレーニングした後、モデルは、再び教師ありデータを用いて微調整される必要があることを示した。トレーニング手順を簡略化するために、教師ありデータおよび教師なしデータは、トレーニング中に混合される。具体的には、トレーニング用の発話のバッチを作成するときはいつでも、2つのトレーニングセットから固定比率でランダムな選択が生じる。たとえば、8:2の混合比では、トレーニングバッチは、80%の割合で教師ありデータに由来し、20%の割合で教師なしデータに由来する。
【0111】
Table 8(表8)における結果から、教師ありデータと教師なしデータとを混合することは、教師なしデータを利用する効果的な方法である。3つの異なる比率の中で、8:2は、わずかな差で、全体的に最高のパフォーマンスを与える。E8をE1と比較すると、Voice Searchにおけるゲインは、E1と比べて小さいが、より多くの固有名詞(アプリ、曲、連絡先)を有するテストセットにおいて、はるかに低いWERが達成される。
【0112】
このセクションでは、教師なしデータを組み込むための別の手法が比較される。すべての実験は、実験の素早い方向転換のために、教師なしデータのランダムにサンプリングされた1億のサブセットを使用する。E9は、E8とまったく同じ方法であるが、より少ない教師なしデータを用いてトレーニングされる。
【0113】
【0114】
【0115】
Table 9(表9)における結果は、教師なしデータが少ないほど、一般的なVoice Searchテストセットにおいてわずかによいパフォーマンスを生じるが、より多いテールワードを有するテストセットにおいて、より高いWERを生じることを示している。次に、教師なしトランスクリプトからオーディオが合成され、ここで、まれな単語テストセットを作成するために前述のTTSシステムが使用される。E9において使用された教師なしデータは、このTTSトレーニングセットに置き換えられ、結果は、Table 9(表9)においてE10として提示されている。すべてのTTSテストセットについて大きいWERの低下を達成したが、Contacts-Realにおいてパフォーマンスを低下させた。TTSセットにおけるこの大幅な減少は、主に、追加された教師なしデータとテストセットとの間の一致した音響に由来する。実際のデータと合成データとの間で可能性のある一致しないオーディオ条件を回避するために、エンコーダネットワークパラメータの更新は、無効にされ、LASモデルのデコーダネットワークのみがトレーニング中に更新される。結果(E11)は、E10と同様で、アプリにおいてわずかに劣化している。TTSセットにおける大きいエラー削減にもかかわらず、E9と比較してより現実的なテストセットにおける劣化が、本当のところを物語っている。したがって、E9は、E10およびE11よりも優先される。
【0116】
教師なしデータを利用する別の方法は、LMをLASシステムに統合することである。具体的には、RNN-LMは、教師ありデータトランスクリプトおよび1億の教師なしデータトランスクリプトにおいてトレーニングされ、次いで、コールドフュージョンを使用してLASモデルのトレーニングに統合される。結果(E12)は、教師ありベースライン(B0)に対して2%~6%の相対的なWER低減を示すが、ゲインは、E9と比較してはるかに小さい。
【0117】
このセクションは、教師なしデータをよりよく利用する方法を探索する。第1に、1億の教師なし発話のランダムな選択(E9)の代わりに、教師なしデータは、固有名詞を有するものだけを使用するようにフィルタリングされ(Table 10(表10)におけるE13)、これは、LASモデルが十分に機能しない発話の選択を可能にする。この選択は、固有名詞タガーを用いて行われる。固有名詞に焦点を当てた1億の教師なしデータは、トレーニングのために同じ8:2の比率で教師ありトレーニングデータと混合される。同じ量のデータを用いて、固有名詞をフィルタリングした音声を用いたトレーニングは、ランダム選択を使用した4%~12%の相対的な低下と比較して、6%~13%の相対的なWERの低下を与える。
【0118】
【0119】
最後に、フィルタリングのアイデアは、10億の教師なしトレーニングデータ全体に拡張され、固有名詞を有する約5億の発話を残す。フィルタリングされたデータを使用する弱蒸留は、コールドフュージョンと組み合わされる。最終結果(Table 10(表10)におけるE14)は、10億のデータすべてを使用するよりもはるかに優れており、4つのテストセットすべてにおけるベースラインシステムのWERをそれぞれ6%~17%低下させる。
【0120】
教師なしデータによってもたらされる改善を理解するために、2つのシステムB0およびE14がこのセクションにおいて比較される。B0は、教師ありトレーニングデータのみを使用し、E14は、追加された教師なしトレーニングデータを使用する。テストセット内に現れるが、対応するトレーニングセット内には現れない一意の単語の割合として計算された語彙外(「OOV」)率がTable 11(表11)内に提示されている。教師なしデータでは、固有名詞セットにおけるOOV率は、最大84.0%低下する。これは、教師なしデータが実際により多くのテールワードをもたらすことを示唆している。
【0121】
【0122】
ロングテールワードにおけるLASモデルのパフォーマンスを改善するための教師なし音声データの使用が調査された。大量の教師なしデータのためのトランスクリプトトゥルースとしてテキスト仮説を生成するために、コンテキストバイアスを用いる従来のASRシステムが教師モデルとして使用された。これらの機械がラベル付けしたデータは、エンドツーエンドLASモデルをトレーニングするために、人間がラベル付けしたデータと混合された。まれな単語におけるLASモデルの弱点に焦点を当てるために、固有名詞モデルベースのフィルタリングが教師なしデータに適用された。フィルタリングされたデータでは、実験結果は、教師なしデータを導入することによって最大17%の相対的なWERの低下を達成することができたことを示している。
【0123】
たとえば、「call」という接頭辞の出現は、連絡先の名前が次の単語である可能性が高いことを示すことができるので、この接頭辞に対する接頭辞FST163は、音声認識器100に連絡先名コンテキストFST160を有効にさせることができる。
【0124】
ソフトウェアアプリケーション(すなわち、ソフトウェアリソース)は、コンピュータデバイスにタスクを実行させるコンピュータソフトウェアを指す場合がある。いくつかの例では、ソフトウェアアプリケーションは、「アプリケーション」、「アプリ」、または「プログラム」と呼ばれる場合がある。例示的なアプリケーションは、限定はしないが、システム診断アプリケーション、システム管理アプリケーション、システムメンテナンスアプリケーション、ワード処理アプリケーション、スプレッドシートアプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲームアプリケーションを含む。
【0125】
非一時的メモリは、コンピューティングデバイスによって使用するために、プログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)を一時的または永続的に記憶するために使用される物理デバイスであり得る。非一時的メモリは、揮発性および/または不揮発性のアドレス可能な半導体メモリであり得る。不揮発性メモリの例は、限定はしないが、フラッシュメモリおよび読み取り専用メモリ(ROM)/プログラマブル読み取り専用メモリ(PROM)/消去可能なプログラマブル読み取り専用メモリ(EPROM)/電気的消去可能なプログラマブル読み取り専用メモリ(EEPROM)(たとえば、典型的には、ブートプログラムなどのファームウェアのために使用される)を含む。揮発性メモリの例は、限定はしないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、ならびにディスクまたはテープを含む。
【0126】
図5は、音声を転写するためにコンテキストバイアスを使用する方法500のための動作の例示的な配置のフローチャートである。動作502において、方法500は、データ処理ハードウェア610(
図6)において、発話120を符号化するオーディオデータ125を受信するステップを含む。いくつかの例では、データ処理ハードウェア610は、ユーザデバイス110上に存在する。他の実装形態において、データ処理ハードウェア610は、ユーザデバイス110と通信するリモートサーバ101上に存在する。ユーザデバイス110は、ユーザ115によって話された発話120をキャプチャし、発話120を符号化するオーディオデータ125を生成する1つまたは複数のマイクロフォンを含み得る。
【0127】
動作504において、方法300は、データ処理ハードウェア610によって、音声認識モデル200を使用して、音声要素の音声認識スコア145を生成するためにオーディオデータ125を処理するステップを含む。音声認識スコア145は、異なる音声要素が発生した尤度を示し得る。音声要素の例は、単語断片または書記素を含み得る。音声認識モデル200は、発音モデル、音響モデル、および言語モデルの機能を単一のモジュール(たとえば、ニューラルネットワーク)に組み合わせたエンドツーエンドモデルを含むので、音声認識モデル200は、音響特徴125、または生のオーディオデータ125さえも受信し、それに応答して、正字法特徴(たとえば、書記素、単語断片、または単語)の尤度を示す出力スコアを提供し得る。
【0128】
動作506において、方法500は、データ処理ハードウェア610によって、発話120のコンテキスト122を示すコンテキストデータに基づいて、音声要素のコンテキストスコア166を決定するステップも含む。音声認識器100は、発話120のコンテキスト122に関する様々なタイプの情報を受信するコンテキスト分析モジュール165を含むことができる。たとえば、デバイス110の場所、デバイス110を使用してユーザ115によって実行されているタスク、デバイス110上で開いているかまたはアクティブであるアプリケーションなどに関する情報を受信し得る。コンテキスト分析モジュール165は、ビーム検索プロセス中の部分的または予備的なトランスクリプション186内に含まれる、最近認識された書記素、単語断片、単語、またはフレーズなどの、最近の音声認識決定を示すデータを受信することもできる。順次発生するように示されているが、コンテキスト分析モジュール165は、コンテキストスコア166を計算し得、同時に、音声認識モジュール200は、音声認識スコア145を計算するためにオーディオ特徴135を評価する。
【0129】
動作508において、方法500は、データ処理ハードウェア610によって、音声認識スコア145とコンテキストスコア166とを使用して、発話120に対する1つまたは複数の候補トランスクリプションを決定するためにビーム検索復号プロセスを実行するステップも含む。ビーム検索プロセスは、音声格子175を通る潜在的なパスを評価し、トランスクリプション185を決定し得る。格子175を通る各パスは、異なる候補トランスクリプションを表すことができる。ここで、コンテキストスコア166は、音声認識全体よりも現在のコンテキストにおける特定のユーザ115に関連する用語に向けて認識をバイアスする。いくつかの実装形態において、スコアコンバイナ170は、音声格子175において使用される結合されたスコア172を生成するために、音声認識スコア145をコンテキストスコア166と結合する。重要なことに、コンテキストスコア166のバイアスの影響は、格子175の剪定の前、およびビーム検索におけるビーム剪定の前に、音声格子175に適用される。結果として、コンテキストスコア166の影響により、そうでなければ剪定されていた可能性がある関連用語が、ビーム検索プロセスおよび関連する剪定を通じて維持される。
【0130】
動作510において、方法500は、データ処理ハードウェア610によって、1つまたは複数の候補トランスクリプションから発話120に対するトランスクリプション185を選択するステップも含む。格子175を通る各パスは、異なる候補トランスクリプションを表すことができる。ビーム剪定180は、可能性のある単語または単語断片について検索される格子175の範囲を減少させることができる。各単語断片の確率が計算されると、最も可能性が高い経路のみが残るまで、可能性の低い検索パスが剪定される。トランスクリプション185が決定されると、トランスクリプション185は、様々な方法のいずれかにおいて使用することができ、たとえば、ユーザ115に対して表示される、テキストフィールドに入力される、検索エンジンへのクエリまたはデジタル会話アシスタントへの要求として送信される、音声コマンドとして解釈されるなどである。
【0131】
図6は、この文書において説明されているシステムおよび方法を実装するために使用され得る例示的なコンピューティングデバイス600の概略図である。コンピューティングデバイス600は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことを意図している。ここに示されている構成要素、それらの接続および関係、ならびにそれらの機能は、例示のみであることを意図しており、この文書において説明および/または特許請求されている本発明の実装形態を限定することを意図していない。
【0132】
コンピューティングデバイス600は、プロセッサ610と、メモリ620と、記憶デバイス630と、メモリ620および高速拡張ポート650に接続する高速インターフェース/コントローラ640と、低速バス670および記憶デバイス630に接続する低速インターフェース/コントローラ660とを含む。構成要素610、620、630、640、650、および660の各々は、様々なバスを使用して相互接続されており、共通のマザーボード上に、または必要に応じて他の方法で取り付けられ得る。プロセッサ610は、高速インターフェース640に結合されたディスプレイ680などの外部入力/出力デバイス上にグラフィカルユーザインターフェース(GUI)のためのグラフィカル情報を表示するために、メモリ620内または記憶デバイス630上に記憶された命令を含む、コンピューティングデバイス600内で実行するための命令を処理することができる。他の実装形態において、複数のメモリおよびメモリのタイプとともに、必要に応じて、複数のプロセッサおよび/または複数のバスが使用され得る。また、(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)複数のコンピューティングデバイス600が接続され、各デバイスが必要な動作の一部を提供し得る。
【0133】
メモリ620は、コンピューティングデバイス600内に情報を非一時的に記憶する。メモリ620は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであり得る。非一時的メモリ620は、コンピューティングデバイス600によって使用するために、プログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)を一時的または永続的に記憶するために使用される物理デバイスであり得る。不揮発性メモリの例は、限定はしないが、フラッシュメモリおよび読み取り専用メモリ(ROM)/プログラマブル読み取り専用メモリ(PROM)/消去可能なプログラマブル読み取り専用メモリ(EPROM)/電気的消去可能なプログラマブル読み取り専用メモリ(EEPROM)(たとえば、典型的には、ブートプログラムなどのファームウェアのために使用される)を含む。揮発性メモリの例は、限定はしないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、ならびにディスクまたはテープを含む。
【0134】
記憶デバイス630は、コンピューティングデバイス600のための大容量ストレージを提供することができる。いくつかの実装形態において、記憶デバイス630は、コンピュータ可読媒体である。様々な異なる実装形態において、記憶デバイス630は、フロッピーディスク、ハードディスクドライブ、光ディスクドライブ、もしくはテープドライブ、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくは他の構成におけるデバイスを含むデバイスのアレイであり得る。追加の実装形態において、コンピュータプログラム製品は、情報キャリア内に明白に具体化される。コンピュータプログラム製品は、実行されると、上記で説明されている方法などの、1つまたは複数の方法を実行する命令を含む。情報キャリアは、メモリ620、記憶デバイス630、またはプロセッサ610上のメモリなどの、コンピュータ可読媒体または機械可読媒体である。
【0135】
高速コントローラ640は、コンピューティングデバイス600のための帯域幅を消費する動作を管理し、低速コントローラ660は、より帯域幅を消費しない動作を管理する。そのような役割の割り当ては、単なる例示である。いくつかの実装形態において、高速コントローラ640は、メモリ620、(たとえば、グラフィックスプロセッサまたはアクセラレータを介して)ディスプレイ680、および様々な拡張カード(図示せず)を受け入れ得る高速拡張ポート650に結合される。いくつかの実装形態において、低速コントローラ660は、記憶デバイス630および低速拡張ポート690に結合される。様々な通信ポート(たとえば、USB、Bluetooth、イーサネット、ワイヤレスイーサネット)を含み得る低速拡張ポート690は、キーボード、ポインティングデバイス、スキャナ、または、たとえば、ネットワークアダプタを介してスイッチもしくはルータなどのネットワーキングデバイスなどの、1つまたは複数の入力/出力デバイスに結合され得る。
【0136】
コンピューティングデバイス600は、図に示されるように、いくつかの異なる形態において実装され得る。たとえば、それは、標準的なサーバ600aとして、もしくはサーバ600aのグループ内で複数回、ラップトップコンピュータ600bとして、またはラックサーバシステム600cの一部として実装され得る。
【0137】
本明細書で説明されているシステムおよび技法の様々な実装形態は、デジタル電気および/もしくは光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、ならびに/またはそれらの組合せにおいて実現することができる。これらの様々な実装形態は、記憶装置、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、記憶装置、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスにデータおよび命令を送信するように結合された、専用または汎用であり得る少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムにおける実装形態を含むことができる。
【0138】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラマブルプロセッサのための機械語を含み、高級手続き型および/もしくはオブジェクト指向言語、ならびに/またはアセンブリ/機械語において実装することができる。本明細書で使用される場合、「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械命令を機械可読信号として受信する機械可読媒体を含む、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置、および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【0139】
本明細書で説明されているプロセスおよび論理フローは、入力データに対して動作し、出力を生成することによって機能を実行するために1つまたは複数のコンピュータプログラムを実行する、データ処理ハードウェアとも呼ばれる1つまたは複数のプログラマブルプロセッサによって実行することができる。プロセスおよび論理フローは、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行することもできる。コンピュータプログラムの実行に適したプロセッサは、例として、汎用および専用の両方のマイクロプロセッサ、ならびに任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、読み取り専用メモリ、もしくはランダムアクセスメモリ、またはその両方から命令とデータとを受信する。コンピュータの本質的な要素は、命令を実行するためのプロセッサと、命令とデータとを記憶するための1つまたは複数のメモリである。一般に、コンピュータは、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気ディスク、光磁気ディスク、または光ディスクも含むか、あるいはそれらからデータを受信、もしくはそれらにデータを送信、またはその両方を行うように動作可能に結合される。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令とデータとを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD ROMおよびDVD-ROMディスクを含むか、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補完することができ、または専用論理回路の中に組み込むことができる。
【0140】
ユーザとの対話を提供するために、本開示の1つまたは複数の態様は、ユーザに情報を表示するための表示デバイス、たとえば、CRT(陰極線管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーンと、オプションで、ユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールとを有するコンピュータ上に実装することができる。他の種類のデバイスも同様にユーザとの対話を提供するために使用することができ、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚的フィードバック、たとえば、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックとすることができ、ユーザからの入力は、音響的入力、音声入力、または触覚的入力を含む任意の形態で受信することができる。それに加えて、コンピュータは、ユーザによって使用されるデバイスにドキュメントを送信し、そのデバイスからドキュメントを受信することによって、たとえば、ユーザのクライアントデバイス上のウェブブラウザから受信された要求に応答して、ウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
【0141】
いくつかの実装形態について説明してきた。それにもかかわらず、本開示の要旨および範囲から逸脱することなく、様々な変更が行われ得ることが理解されよう。したがって、他の実装形態は、以下の特許請求の範囲内にある。
【符号の説明】
【0142】
100 音声認識器
101 リモートサーバ
110 ユーザデバイス、デバイス、音響フレーム
115 ユーザ、ユーザデバイス
120 発話
122 コンテキスト、コンテキスト情報
125 オーディオデータ
130 特徴抽出モジュール、モジュール
135 オーディオ特徴、音響特徴
145 音声認識スコア、ASRスコア
150 データスコア、データストレージ
155 コンテキストFST生成モジュール
160、160a~n コンテキストFST
163 接頭辞FST
164 空の接頭辞オプション、接頭辞FST
165 コンテキスト分析モジュール
166 コンテキストスコア
170 スコアコンバイナ
172 結合されたスコア
175 音声格子、格子
180 ビーム剪定プロセス、ビーム剪定、剪定、トランスクリプション
185 トランスクリプション
186 部分的または予備的なトランスクリプション、予備的トランスクリプション、コンテキスト情報
193 教師なしデータ、教師なしトレーニングデータ
195 合成データ、合成トレーニングデータ
197 教師ありデータ、教師ありトレーニングデータ
200 音声認識モデル、RNN-Tモデル、モデル
210 エンコーダネットワーク
220 予測ネットワーク
230 共同ネットワーク
240 最終ソフトマックス層、ソフトマックス層
300 図
400 概略図
600 コンピューティングデバイス
600a サーバ
600b ラップトップコンピュータ
600c ラックサーバシステム
610 プロセッサ、構成要素
620 メモリ、構成要素
630 記憶デバイス、構成要素
640 高速インターフェース/コントローラ、構成要素、高速インターフェース、高速コントローラ
650 高速拡張ポート、構成要素
660 低速インターフェース/コントローラ、構成要素、低速コントローラ
670 低速バス
680 ディスプレイ
690 低速拡張ポート