(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-05
(45)【発行日】2024-11-13
(54)【発明の名称】音声認識のためのコンテキストバイアス
(51)【国際特許分類】
G10L 15/16 20060101AFI20241106BHJP
G10L 15/183 20130101ALI20241106BHJP
【FI】
G10L15/16
G10L15/183 200Z
【外国語出願】
(21)【出願番号】P 2023025301
(22)【出願日】2023-02-21
(62)【分割の表示】P 2021566032の分割
【原出願日】2020-03-31
【審査請求日】2023-02-22
(32)【優先日】2019-05-06
(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)【発明者】
【氏名】タラ・エヌ・サイナス
【審査官】渡部 幸和
(56)【参考文献】
【文献】特表2017-535823(JP,A)
【文献】Golan Pundak, et al.,Deep Context: End-to-end Contextual Speech Recognition,IEEE Spoken Language Technology Workshop,2018,IEEE,2018年12月18日,pp. 418-425,https://ieeexplore.ieee.org/document/8639034
【文献】Antoine Bruguier, et al.,Phoebe: Pronunciation-aware Contextualization for End-to-end Speech Recognition,IEEE International Conference on Acoustics, Speech and Signal Processing,2019,IEEE,2019年05月12日,pp. 6171-6175,https://ieeexplore.ieee.org/document/8682441
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/00
(57)【特許請求の範囲】
【請求項1】
データ処理ハードウェア上で実行されると、前記データ処理ハードウェアに、
発話を符号化するオーディオデータを受信する動作と、
発話のコンテキストに対応するバイアスフレーズのセットを取得する動作であって、前記バイアスフレーズのセット内の各バイアスフレーズが1つまたは複数の単語を含む、動作と、
音声認識モデルを使用して、発話に対する部分的なトランスクリプトがバイアス接頭辞を含むことを判定する動作であって、前記バイアス接頭辞は、前記バイアスフレーズのセット内の前記バイアスフレーズのうちの1つまたは複数の最初の部分を表す、動作と、
前記部分的なトランスクリプト内に含まれる前記バイアス接頭辞を含むバイアスフレーズのセット内の1つまたは複数のバイアスフレーズのサブセットを識別する動作と、
前記音声認識モデルをバイアスするために前記1つまたは複数のバイアスフレーズの識別されたサブセットのみを有効にする動作と、
有効にされた前記1つまたは複数のバイアスフレーズの識別されたサブセットによってバイアスされた前記音声認識モデルを使用して、前記音声認識モデルからの出力を生成するために、前記オーディオデータから導出された音響特徴を処理する動作であって、前記音声認識モデルが、
前記音響特徴を受信し、前記音響特徴から符号化されたオーディオベクトルを出力するように構成されたオーディオエンコーダと、
前記取得されたバイアスフレーズのセットを示すデータを受信し、前記バイアスフレーズのセット内の各バイアスフレーズについて、対応するバイアス埋め込みを出力するように構成されたバイアスエンコーダと、
前記バイアスフレーズのセット内の各バイアスフレーズについて前記バイアスエンコーダから出力された前記対応するバイアス埋め込みを受信するように構成されたバイアス注意モジュールと、
前記オーディオエンコーダから出力された前記オーディオベクトルと前記バイアス注意モジュールの出力とに基づいて音声要素のシーケンスの尤度を決定するように構成されたデコーダと
を備える、動作と、
前記音声認識モデルからの前記出力に基づいて前記発話に対するトランスクリプトを決定する動作と
を含む動作を実行させるコンピュータ実装方法。
【請求項2】
前記バイアスフレーズのセット内の各バイアスフレーズの前記1つまたは複数の単語の各単語が、部分語ユニットのシーケンスによって表される、請求項1に記載の方法。
【請求項3】
前記
音声要素が、部分
語を含む、請求項
1に記載の方法。
【請求項4】
前記バイアス注意モジュールが、前記バイアスエンコーダから出力された各対応するバイアス埋め込みと、前記デコーダによって出力された非空白記号のシーケンスを示す以前の時間ステップからのデコーダコンテキスト状態とを受信するようにさらに構成された、請求項1に記載の方法。
【請求項5】
前記バイアス注意モジュールが、前記バイアスエンコーダから出力された前記対応するバイアス埋め込みと、前記デコーダコンテキスト状態とを処理し、前記バイアスフレーズのセット内の各バイアスフレーズについて対応するバイアスコンテキストベクトルを生成するように構成された、請求項4に記載の方法。
【請求項6】
前記バイアスエンコーダおよび前記バイアス注意モジュールが、音声認識モデルのトレーニング中に指定されない前記バイアスフレーズのセット内の可変数のバイアスフレーズで動作するように構成された、請求項1に記載の方法。
【請求項7】
前記オーディオエンコーダ、前記バイアスエンコーダ、前記バイアス注意モジュール、および前記デコーダが、音響特徴フレームのシーケンスから部分語ユニットのシーケンスを予測するように共同でトレーニングされる、請求項1に記載の方法。
【請求項8】
前記音声要素が、単語、部分語、または書記素である、請求項1に記載の方法。
【請求項9】
前記バイアスエンコーダが、多層長・短期記憶(LSTM)ネットワークを備える、請求項1に記載の方法。
【請求項10】
前記バイアスフレーズのセットが、特定のユーザに対してパーソナライズされた連絡先の名前のセットを含む、請求項1に記載の方法。
【請求項11】
データ処理ハードウェアと、
前記データ処理ハードウェアと通信するメモリハードウェアであって、前記メモリハードウェアが、前記データ処理ハードウェア上で実行されると前記データ処理ハードウェアに、
発話を符号化するオーディオデータを受信する動作と、
発話のコンテキストに対応するバイアスフレーズのセットを取得する動作であって、前記バイアスフレーズのセット内の各バイアスフレーズが1つまたは複数の単語を含む、動作と、
音声認識モデルを使用して、発話に対する部分的なトランスクリプトがバイアス接頭辞を含むことを判定する動作であって、前記バイアス接頭辞は、前記バイアスフレーズのセット内の前記バイアスフレーズのうちの1つまたは複数の最初の部分を表す、動作と、
前記部分的なトランスクリプト内に含まれる前記バイアス接頭辞を含むバイアスフレーズのセット内の1つまたは複数のバイアスフレーズのサブセットを識別する動作と、
前記音声認識モデルをバイアスするために前記1つまたは複数のバイアスフレーズの識別されたサブセットのみを有効にする動作と、
有効にされた前記1つまたは複数のバイアスフレーズの識別されたサブセットによってバイアスされた前記音声認識モデルを使用して、前記音声認識モデルからの出力を生成するために、前記オーディオデータから導出された音響特徴を処理する動作であって、前記音声認識モデルが、
前記音響特徴を受信し、前記音響特徴から符号化されたオーディオベクトルを出力するように構成されたオーディオエンコーダと、
前記取得されたバイアスフレーズのセットを示すデータを受信し、前記バイアスフレーズのセット内の各バイアスフレーズについて、対応するバイアス埋め込みを出力するように構成されたバイアスエンコーダと、
前記バイアスフレーズのセット内の各バイアスフレーズについて前記バイアスエンコーダから出力された前記対応するバイアス埋め込みを受信するように構成されたバイアス注意モジュールと、
前記オーディオエンコーダから出力された前記オーディオベクトルと前記バイアス注意モジュールの出力とに基づいて音声要素のシーケンスの尤度を決定するように構成されたデコーダと
を備える、動作と、
前記音声認識モデルからの前記出力に基づいて前記発話に対するトランスクリプトを決定する動作と
を含む動作を実行させる命令を記憶する、メモリハードウェアと
を備えるシステム。
【請求項12】
前記バイアスフレーズのセット内の各バイアスフレーズの前記1つまたは複数の単語の各単語が、部分語ユニットのシーケンスによって表される、請求項11に記載のシステム。
【請求項13】
前記
音声要素が、部分
語を含む、請求項11に記載のシステム。
【請求項14】
前記バイアス注意モジュールが、前記バイアスエンコーダから出力された各対応するバイアス埋め込みと、前記デコーダによって出力された非空白記号のシーケンスを示す以前の時間ステップからのデコーダコンテキスト状態とを受信するようにさらに構成された、請求項11に記載のシステム。
【請求項15】
前記バイアス注意モジュールが、前記バイアスエンコーダから出力された前記対応するバイアス埋め込みと、前記デコーダコンテキスト状態とを処理し、前記バイアスフレーズのセット内の各バイアスフレーズについて対応するバイアスコンテキストベクトルを生成するように構成された、請求項14に記載のシステム。
【請求項16】
前記バイアスエンコーダおよび前記バイアス注意モジュールが、音声認識モデルのトレーニング中に指定されない前記バイアスフレーズのセット内の可変数のバイアスフレーズで動作するように構成された、請求項11に記載のシステム。
【請求項17】
前記オーディオエンコーダ、前記バイアスエンコーダ、前記バイアス注意モジュール、および前記デコーダが、音響特徴フレームのシーケンスから部分語ユニットのシーケンスを予測するように共同でトレーニングされる、請求項11に記載のシステム。
【請求項18】
前記音声要素が、単語、部分語、または書記素である、請求項11に記載のシステム。
【請求項19】
前記バイアスエンコーダが、多層長・短期記憶(LSTM)ネットワークを備える、請求項11に記載のシステム。
【請求項20】
前記バイアスフレーズのセットが、特定のユーザに対してパーソナライズされた連絡先の名前のセットを含む、請求項11に記載のシステム。
【発明の詳細な説明】
【技術分野】
【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を有する従来のARSシステムと比較して競争力のある結果を示している。典型的なE2Eモデルは、単語ベースのコネクショニスト時間分類(CTC(connectionist temporal classification))モデル、リカレントニューラルネットワークトランスデューサ(RNN-T(recurrent neural network transducer))モデル、および聞いて、出席して、綴る(LAS(Listen, Attend, and Spell))などの注意(attention)ベースのモデルを含む。
【0005】
E2Eの書記素のみのモデルでは、アテンダー(attender)構成要素によって出力される予測された部分語ユニットは、書記素である。E2Eの部分語のみのモデルでは、アテンダー構成要素によって出力される予測された部分語ユニットは、部分語、すなわち、共通の部分語ユニットのセットである。注意モジュールの出力は、スペラー(または「デコーダ」)に渡され、このスペラーは、LMに類似しており、仮定された単語のセットにわたる確率分布を生成する。
【0006】
E2Eモデルは、ビームサーチ復号中に限られた数の認識候補を維持するので、コンテキストASRは、E2Eモデルにとって困難であり得る。E2Eの書記素のみのモデルおよびE2Eの部分語のみのモデルにとって、語彙外(OOV(out-of-vocabulary))の単語、特に、トレーニングにおいてほとんど見られない単語のクラスを綴ることは、特に困難である可能性がある。
【発明の概要】
【課題を解決するための手段】
【0007】
本明細書における実装形態は、音声認識プロセスを現在のコンテキストに関連する所定の単語およびフレーズに向けてバイアスするように構成されている音声認識モデルに向けられている。モデルは、ニューラルネットワークを用いて実装されたエンドツーエンドモデルとすることができる。モデルは、共同でトレーニングされたオーディオ処理構成要素とコンテキストバイアス構成要素とを有することができ、オーディオベースの符号化と、コンテキストのn-gramの埋め込みとが一緒に最適化される。使用中、モデルには、トレーニング中に見られなかった語彙外(OOV)用語を含み得るコンテキストフレーズのセットを提示することができる。従来のコンテキスト化手法と比較して、提案されているシステムは、単語誤り率(WER)に対して大幅な改善を提供することができ、いくつかのテストでは、相対的WERが68%も向上し、個別にトレーニングされた構成要素に対する共同最適化の利点を示している。
【0008】
バイアスするために使用されるコンテキストフレーズのセットは、コンテキストが変化するにつれて動的に変更することができる。たとえば、システムは、バイアスするフレーズを表すテキスト情報(たとえば、書記素のシーケンス)を使用することができる。様々な状況に対してフレーズの様々なセットを使用することができ、フレーズのセットをユーザに対してパーソナライズすることができる。たとえば、ユーザが「call(通話)」という単語に言及したか、または通話もしくはメッセージング用のアプリケーションを開いた場合、システムは、バイアスするためのコンテキストフレーズとしてユーザの連絡先リストから名前を選択することができる。別の例として、ユーザがメディア再生アプリケーションを開いているか、または現在メディアを再生している場合、バイアスするためのコンテキストフレーズのリストは、ユーザのメディアライブラリからの利用可能な曲もしくは他のメディアアイテムのリスト、または関連用語のリストであり得る。音声認識システムは、たとえば、ユーザの連絡先、カレンダーの予定、開いているアプリケーション、または場所を示すコンテキストデータに基づいて、適切なコンテキストを決定することができる。このコンテキストから、システムは、関連フレーズの適切なセットを選択することができる。
【0009】
明らかになるように、コンテキストバイアスをニューラルネットワークに動的に組み込むことで、ASRモデルは、語彙外用語および珍しいフレーズの認識を改善することができる。コンテキストフレーズは、単語のn-gramのセットとして表すことができる。いくつかの実装形態において、コンテキストバイアスを組み込んだニューラルネットワークASRモデルは、コンテキスト聞いて、出席して、綴る(CLAS)モデルを含む。CLASモデルは、コンテキストn-gramの埋め込みとともにASR構成要素を一緒に最適化するエンコーダ-デコーダモデルである。推論中、CLASモデルには、トレーニング中には見られなかったOOV用語を含み得るコンテキストフレーズのセットを提示することができる。モデルは、トレーニング時にコンテキストフレーズの数および内容が固定されることを必要としないので、モデルにコンテキストフレーズのセットを与えることは、大きな利点を提供する。
【0010】
本開示の一態様は、音声認識を1つまたは複数の所定の用語/フレーズに向けてバイアスするためにコンテキストバイアス情報を音声認識モデルに組み込むための方法を提供する。方法は、データ処理ハードウェアにおいて、発話を符号化するオーディオデータを受信するステップと、データ処理ハードウェアによって、発話のコンテキストに対応するバイアスフレーズのセットを取得するステップとを含む。バイアスフレーズのセット内の各バイアスフレーズは、1つまたは複数の単語を含む。方法は、データ処理ハードウェアによって、音声認識モデルを使用して、音声認識モデルからの出力を生成するために、オーディオデータから導出された音響特徴を処理するステップも含む。音声認識モデルは、第1のエンコーダおよび対応する第1の注意モジュールと、バイアスエンコーダおよび対応するバイアス注意モジュールと、第1の注意モジュールの出力とバイアス注意モジュールの出力とに基づいて音声要素のシーケンスの尤度を決定するように構成されたデコーダとを含む。第1のエンコーダは、音響特徴を受信するように構成され、バイアスエンコーダは、取得されたバイアスフレーズのセットを示すデータを受信するように構成される。方法は、データ処理ハードウェアによって、デコーダによって決定された音声要素のシーケンスの尤度に基づいて、発話に対するトランスクリプトを決定するステップも含む。
【0011】
本開示の実装形態は、以下のオプションの特徴のうちの1つまたは複数を含み得る。いくつかの実装形態において、バイアスエンコーダは、バイアスフレーズのセット内のバイアスフレーズごとに対応するバイアスコンテキストベクトルを符号化するように構成され、バイアス注意モジュールは、バイアスコンテキストベクトルに対する注意を計算するように構成される。これらの実装形態において、バイアス注意モジュールは、バイアスフレーズのセット内のバイアスフレーズのいずれにも対応しない追加のバイアスコンテキストベクトルを受信するように構成され得る。ここで、追加のバイアスコンテキストベクトルは、デコーダによって決定された音声要素のシーケンスの尤度をバイアスフレーズのいずれに向けてもバイアスしないオプションを表す。これらの実装形態は、追加的または代替的に、音声認識モデルのトレーニング中に指定されないバイアスフレーズのセット内の可変数のバイアスフレーズで動作するように構成されたバイアスエンコーダとバイアス注意モジュールとを含み得る。
【0012】
音声要素は、単語、部分語、または書記素を含み得る。バイアスフレーズのセットは、特定のユーザに対してパーソナライズされた連絡先の名前のセット、またはメディアアイテム名のセットを含み得る。
【0013】
いくつかの例では、第1のエンコーダ、第1の注意モジュール、バイアスエンコーダ、バイアス注意モジュール、およびデコーダは、音響特徴フレームのシーケンスから書記素のシーケンスを予測するように共同でトレーニングされる。いくつかの構成において、第1のエンコーダは、積層型リカレントニューラルネットワーク(RNN)を含み、および/またはデコーダは、出力トークンのシーケンスの確率を計算するように構成された積層型単方向RNNを含む。
【0014】
いくつかの実装形態において、第1の注意モジュールは、デコーダの以前の隠れ状態と、発話に対して第1のエンコーダによって出力されたコンテキストベクトルの完全なシーケンスとの関数として注意を計算するように構成され、バイアス注意モジュールは、デコーダの以前の隠れ状態と、バイアスフレーズのセット内のバイアスフレーズを表すコンテキストベクトルの完全なシーケンスとの関数として注意を計算するように構成される。追加の実装形態において、デコーダは、音声認識モデルから出力された以前の書記素のための埋め込みベクトルと、デコーダの以前の隠れ状態と、第1の注意モジュールによって出力されたオーディオコンテキストベクトルと、バイアス注意モジュールによって出力されたバイアスコンテキストベクトルとに基づいて隠れ状態を決定するように構成される。
【0015】
いくつかの例では、方法はまた、データ処理ハードウェアによって、バイアスフレーズのセット内のバイアスフレーズに対応するバイアス接頭辞のリストを取得するステップと、データ処理ハードウェアによって、音声認識モデルを使用して、発話に対する部分的なトランスクリプトがバイアス接頭辞のリスト内のバイアス接頭辞のうちの1つを含むかどうかを判定するステップとを含む。ここで、バイアス接頭辞のリスト内の各バイアス接頭辞は、バイアスフレーズのセット内のバイアスフレーズのうちの1つまたは複数の最初の部分を表す。これらの例では、発話に対する部分的なトランスクリプトがバイアス接頭辞のうちの1つを含む場合、方法はまた、データ処理ハードウェアによって、部分的なトランスクリプト内に含まれるバイアス接頭辞のうちの1つを含むバイアスフレーズのセット内の1つまたは複数のバイアスフレーズのサブセットを識別するステップと、データ処理ハードウェアによって、音声認識モデルをバイアスするために1つまたは複数のバイアスフレーズの識別されたサブセットのみを有効にするステップとを含む。他の例では、方法は、データ処理ハードウェアによって、バイアスフレーズのセット内のバイアスフレーズに対応するバイアス接頭辞のリストを取得するステップであって、バイアス接頭辞のリスト内の各バイアス接頭辞がバイアスフレーズのセット内のバイアスフレーズのうちの1つまたは複数の最初の部分を表す、ステップと、データ処理ハードウェアによって、バイアス接頭辞のリスト内のバイアス接頭辞のうちの1つまたは複数が発話に対する部分的なトランスクリプション内に含まれているかどうかに基づいて、バイアスフレーズのセット内のバイアスフレーズに対するバイアスエンコーダの出力を符号化するためのバイアス注意モジュールのバイアス注意確率を調整するステップとを含む。バイアス接頭辞のリスト内の少なくとも1つのバイアス接頭辞は、バイアスフレーズのセット内の対応するバイアスフレーズの最初の単語を含み、対応するバイアスフレーズの最後の単語を除外する。
【0016】
本開示の別の態様は、1つまたは複数の所定の用語/フレーズに向けて音声認識をバイアスするために、コンテキストバイアス情報を音声認識モデルに組み込むシステムを提供する。システムは、データ処理ハードウェアと、データ処理ハードウェアと通信し、データ処理ハードウェア上で実行されるとデータ処理ハードウェアに動作を実行させる命令を記憶するメモリハードウェアとを含む。動作は、発話を符号化するオーディオデータを受信する動作と、発話のコンテキストに対応するバイアスフレーズのセットを取得する動作とを含む。バイアスフレーズのセット内の各バイアスフレーズは、1つまたは複数の単語を含む。動作は、音声認識モデルを使用して、音声認識モデルからの出力を生成するために、オーディオデータから導出された音響特徴を処理する動作も含む。音声認識モデルは、第1のエンコーダおよび対応する第1の注意モジュールと、バイアスエンコーダおよび対応するバイアス注意モジュールと、第1の注意モジュールの出力とバイアス注意モジュールの出力とに基づいて音声要素のシーケンスの尤度を決定するように構成されたデコーダとを含む。第1のエンコーダは、音響特徴を受信するように構成され、バイアスエンコーダは、取得されたバイアスフレーズのセットを示すデータを受信するように構成される。動作は、デコーダによって決定された音声要素のシーケンスの尤度に基づいて、発話に対するトランスクリプトを決定する動作も含む。
【0017】
この態様は、以下のオプションの特徴のうちの1つまたは複数を含み得る。いくつかの実装形態において、バイアスエンコーダは、バイアスフレーズのセット内のバイアスフレーズごとに対応するバイアスコンテキストベクトルを符号化するように構成され、バイアス注意モジュールは、バイアスコンテキストベクトルに対する注意を計算するように構成される。これらの実装形態において、バイアス注意モジュールは、バイアスフレーズのセット内のバイアスフレーズのいずれにも対応しない追加のバイアスコンテキストベクトルを受信するように構成され得る。ここで、追加のバイアスコンテキストベクトルは、デコーダによって決定された音声要素のシーケンスの尤度をバイアスフレーズのいずれに向けてもバイアスしないオプションを表す。これらの実装形態は、追加的または代替的に、音声認識モデルのトレーニング中に指定されないバイアスフレーズのセット内の可変数のバイアスフレーズで動作するように構成されたバイアスエンコーダとバイアス注意モジュールとを含み得る。
【0018】
音声要素は、単語、部分語、または書記素を含み得る。バイアスフレーズのセットは、特定のユーザに対してパーソナライズされた連絡先の名前のセット、またはメディアアイテム名のセットを含み得る。
【0019】
いくつかの例では、第1のエンコーダ、第1の注意モジュール、バイアスエンコーダ、バイアス注意モジュール、およびデコーダは、音響特徴フレームのシーケンスから書記素のシーケンスを予測するように共同でトレーニングされる。いくつかの構成において、第1のエンコーダは、積層型リカレントニューラルネットワーク(RNN)を含み、および/またはデコーダは、出力トークンのシーケンスの確率を計算するように構成された積層型単方向RNNを含む。
【0020】
いくつかの実装形態において、第1の注意モジュールは、デコーダの以前の隠れ状態と、発話に対して第1のエンコーダによって出力されたコンテキストベクトルの完全なシーケンスとの関数として注意を計算するように構成され、バイアス注意モジュールは、デコーダの以前の隠れ状態と、バイアスフレーズのセット内のバイアスフレーズを表すコンテキストベクトルの完全なシーケンスとの関数として注意を計算するように構成される。追加の実装形態において、デコーダは、音声認識モデルから出力された以前の書記素のための埋め込みベクトルと、デコーダの以前の隠れ状態と、第1の注意モジュールによって出力されたオーディオコンテキストベクトルと、バイアス注意モジュールによって出力されたバイアスコンテキストベクトルとに基づいて隠れ状態を決定するように構成される。
【0021】
いくつかの例では、動作はまた、バイアスフレーズのセット内のバイアスフレーズに対応するバイアス接頭辞のリストを取得する動作と、音声認識モデルを使用して、発話に対する部分的なトランスクリプトがバイアス接頭辞のリスト内のバイアス接頭辞のうちの1つを含むかどうかを判定する動作とを含む。ここで、バイアス接頭辞のリスト内の各バイアス接頭辞は、バイアスフレーズのセット内のバイアスフレーズのうちの1つまたは複数の最初の部分を表す。これらの例では、発話に対する部分的なトランスクリプトがバイアス接頭辞のうちの1つを含む場合、動作はまた、部分的なトランスクリプト内に含まれるバイアス接頭辞のうちの1つを含むバイアスフレーズのセット内の1つまたは複数のバイアスフレーズのサブセットを識別する動作と、音声認識モデルをバイアスするために1つまたは複数のバイアスフレーズの識別されたサブセットのみを有効にする動作とを含む。他の例では、t動作は、バイアスフレーズのセット内のバイアスフレーズに対応するバイアス接頭辞のリストを取得する動作であって、バイアス接頭辞のリスト内の各バイアス接頭辞がバイアスフレーズのセット内のバイアスフレーズのうちの1つまたは複数の最初の部分を表す、動作と、バイアス接頭辞のリスト内のバイアス接頭辞のうちの1つまたは複数が発話に対する部分的なトランスクリプション内に含まれているかどうかに基づいて、バイアスフレーズのセット内のバイアスフレーズに対するバイアスエンコーダの出力を符号化するためのバイアス注意モジュールのバイアス注意確率を調整する動作とを含む。バイアス接頭辞のリスト内の少なくとも1つのバイアス接頭辞は、バイアスフレーズのセット内の対応するバイアスフレーズの最初の単語を含み、対応するバイアスフレーズの最後の単語を除外する。
【0022】
本開示の1つまたは複数の実装形態の詳細は、添付図面および以下の説明において記載されている。他の態様、特徴、および利点は、説明および図面から、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0023】
【
図1】音声認識を改善するためにコンテキストバイアスを組み込んだ例示的な音声認識器の概略図である。
【
図2】コンテキストバイアスのための音声認識モデルの例示的なアーキテクチャの概略図である。
【
図3A】コンテキストバイアスフレーズのオンザフライ再スコアリングのための様々な技法を示す概略図である。
【
図3B】コンテキストバイアスフレーズのオンザフライ再スコアリングのための様々な技法を示す概略図である。
【
図3C】コンテキストバイアスフレーズのオンザフライ再スコアリングのための様々な技法を示す概略図である。
【
図4】コンテキストバイアス情報を音声認識モデルに組み込む方法のための動作の例示的な配置のフローチャートである。
【
図5】本明細書に記載のシステムおよび方法を実装するために使用され得る例示的なコンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0024】
様々な図面における同様の参照記号は、同様の要素を示す。
【0025】
音声技術がますます普及するにつれて、音声は、モバイルデバイスおよびインテリジェントパーソナルアシスタントにおける主要な入力モダリティの1つとして浮上している。自動音声認識(ASR)モデルの精度は、ASRモデルが発話が話されている現在のコンテキストに関する情報を認識プロセスに組み込んでいる場合、向上させることができる。そのようなコンテキストの例は、ダイアログの状態(たとえば、アラームが鳴っているとき、「停止」または「キャンセル」の可能性を高くしたい場合がある)、話者の場所(近くのレストランまたは場所である可能性を高くする場合がある)、ならびにユーザの連絡先または曲のプレイリストなどのユーザに関するパーソナライズされた情報を含む。特に、現在のコンテキストに関連することがわかっているフレーズをASRモデルに提供することは、一般的でない単語、またはトレーニング例内に含まれていなかった単語を認識する精度を大幅に改善することができる。本明細書における実装形態は、コンテキストバイアス機能を、以下の別々にトレーニングされたモデル、すなわち、音響モデル(AM)、言語モデル(LM)、および発音モデル(PM)の各々によって従来実行されていた機能を単一のモデルに結合するエンドツーエンド(E2E)音声認識モデルに組み込むことに向けられている。具体的には、E2E音声認識モデルは、推論(たとえば、音声の内容を予測するためのモデルの使用)中に単語n-gramのセットとして表されるコンテキストフレーズを受信することができ、コンテキストフレーズのうちのいくつかは、モデルをトレーニングするために使用されるトレーニング例内に含まれない語彙外の用語を含む場合がある。
【0026】
従来のASRシステムでは、そのような情報を組み込むための主要なパラダイムのうちの1つは、特定の認識コンテキストに関連する少数のn-gramのLM重みを動的に調節する独立してトレーニングされたオンザフライ(OTF)再スコアリングフレームワークの使用を含む。そのような技法をシーケンス間モデルに拡張することは、システム性能を改善するために重要であり、活発な研究の領域である。いくつかの手法は、OTF再スコアリングのためにシーケンス間モデルに外部の独立してトレーニングされたLMの使用を適用するが、シーケンス間モデルの構成要素の共同の最適化から得られる利点の多くは、失われる。
【0027】
コンテキストバイアスを組み込んだE2E音声認識モデルは、OTF再スコアリングのためにいかなる外部の独立してトレーニングされたモデルも使用せず、代わりにモデルに与えられるコンテキストフレーズごとにコンテキスト埋め込みを生成するコンテキスト聞いて、出席して、綴る(CLAS)モデルを含み得る。たとえば、CLASモデルは、書記素のシーケンスとして表される各コンテキストフレーズを入力として受信し、コンテキストフレーズに対する対応する固定次元表現をバイアス埋め込みとして出力として個別に生成するバイアスエンコーダを含み得る。CLAsモデルは、次いで、モデルの出力予測の各ステップにおいて、利用可能なコンテキストを要約するために、バイアス注意メカニズムを用い得る。バイアス注意メカニズムは、関連するコンテキストフレーズを表すバイアス埋め込みの完全なシーケンスに対して動作する。このようにして、コンテキストフレーズの数、コンテキストフレーズの長さ、およびコンテキストフレーズの内容は、時間とともに動的に変化する可能性があり、モデルがトレーニングされるときに設定される必要はない。この手法は、推論中に可変数のコンテキストフレーズを使用して、語彙外の用語の容易な組み込みを可能にする。この技法は、特定のコンテキスト情報がトレーニング時に利用可能であることも、再スコアリングの重みを注意深い調整も必要としない。
【0028】
バイアスのためのコンテキストフレーズを選択するために使用することができるコンテキストのタイプの例は、アプリケーションのダイアログ状態、またはデジタルアシスタントとの会話を含む。他のシグナルまたは要因も同様に、どの用語が最も関連性があり得るかを示すコンテキストを提供することができる。たとえば、アラームが鳴っているとき、「停止」または「キャンセル」という単語の可能性が高くなる可能性がある。別の例示的なコンテキストは、話者の場所であり、これは、近くの店、レストラン、または他の場所の名前の可能性をより高くし得る。追加のコンテキスト情報を、ユーザの連絡先または曲のプレイリストなどのユーザに関するパーソナライズされた情報とすることができる。
【0029】
図1を参照すると、例示的なASRシステム100は、発話が話されている現在のコンテキストに関連する所定の単語およびフレーズに向けて音声認識プロセスをバイアスするためにコンテキストバイアスを組み込んだ音声認識モデル200を含む。音声認識モデル200は、オーディオエンコーダ210と、バイアスエンコーダ220と、オーディオ注意モジュール218と、バイアス注意モジュール228と、両方の注意モジュール218、228の出力を入力として受信するデコーダ240とを含む。デコーダ240の出力は、書記素のセットなどの言語ユニットのセットにわたる確率分布を提供し得るソフトマックス層242を用いてさらに正規化される。ソフトマックス層242の出力は、言語における書記素の各々に関する確率値、ならびに潜在的に他の記号(たとえば、句読点、スペースなど)に関する確率値を有するベクトルとすることができる。ソフトマックス層242からのベクトルのシーケンスは、デバイス106によって記録された音声発話104のトランスクリプション150を生成するために使用される。たとえば、ビームサーチモジュール243は、トランスクリプション150を構成する書記素のシーケンスを決定し得る。いくつかの例では、音声認識モデル200は、ユーザ102に関連付けられたユーザデバイス106上に存在する。他の例では、音声認識モデル200は、ユーザデバイス106と通信するリモートサーバ上に存在するか、または音声認識モデル200の機能が、リモートサーバとユーザデバイス106との間で分割される。
【0030】
示されている例では、ユーザ102は、ユーザデバイス106の1つまたは複数のマイクロフォンによってキャプチャされた発話104を話す。ユーザデバイス106は、スマートフォン、タブレット、スマートヘッドフォン、スマートウォッチなどのモバイルデバイスを含み得る。ユーザ102によって話された発話104は、「アラームを停止して」というコマンドであり得、この場合、1つまたは複数のマイクロフォンは、話されたコマンドからオーディオ信号108を生成する。オーディオ信号108は、音声認識モデル200のニューラルネットワーク要素に対する入力を決定するために、様々な方法のいずれかにおいて処理することができる。たとえば、特徴抽出モジュール109は、オーディオ信号108の異なるウィンドウまたはフレームに対するメル周波数ケプストラム成分など、オーディオ信号から音響特徴110を生成することができる。
【0031】
音声認識モデルは、異なるタイプの入力に対して動作する2つの異なるエンコーダ/注意経路/分岐を含む。たとえば、オーディオエンコーダ210およびオーディオ注意モジュール218は、音響情報を処理するが、バイアスエンコーダ220およびバイアス注意モジュール228は、コンテキスト関連用語(たとえば、単語またはフレーズ)に関する情報を処理する。より具体的には、オーディオエンコーダ210は、発話104の音響特性を表す特徴抽出モジュール109によって抽出された音響特徴110を受信し、オーディオエンコーダ220は、様々なバイアスフレーズを表す入力を受信する。
【0032】
いくつかの実装形態において、ユーザデバイスは、現在のコンテキストに関する情報を示すコンテキストデータ111を取得する。ここで、コンテキストデータは、ユーザデバイス106の物理的状態、ユーザデバイス106の動作状態、ユーザ102の最近の入力またはタスクなどの要因を示すことができる。一例では、コンテキストデータ111は、ユーザデバイス106の場所、ユーザデバイス106上にインストールされているおよび/または実行されているアプリケーション、およびユーザ102の今後のカレンダーの予定を示す。たとえば、コンテキストデータ111は、開いている時計アプリ、および早朝であることを示す時刻を含み得る。コンテキストデータ111は、デバイス106がユーザの家にあること、および今後のカレンダーの予定が一時間で発生する会議を含んでいることを示し得る。この例におけるコンテキストデータ111は、ユーザが、時間通りに会議に出るために、早朝に家にいて、時計アプリからのアラームで目を覚ましている可能性が高いことを示す。
【0033】
コンテキストデータ111から、ユーザデバイス106は、現在のコンテキストに関連すると予測されるコンテキストバイアスフレーズ114のセットを選択する。これらのフレーズ114は、コンテキストデータ111を解釈し、フレーズのリストを編集するバイアスフレーズセレクタ113によって選択することができる。バイアスフレーズセレクタ113は、コンテキストデータ111が、メディアを再生すること、通話を開始すること、メッセージを口述すること、音声コマンドを発行することなどを表す可能性が最も高いかどうかを選択することなど、現在のコンテキストに対する分類またはカテゴリを決定し得る。これらの分類から、またはコンテキストデータ111から直接、バイアスフレーズセレクタ113は、発話される可能性が高いフレーズ114のリストを編集する。図示されている例では、バイアスフレーズセレクタ113は、音声コマンドがありそうだと判断するので、バイアスフレーズセレクタ113は、「ライトをつけて」、「アラームを停止して」などのコマンドを含むコンテキストバイアスフレーズ114、114a~nのセットを提供する。
【0034】
引き続き
図1を参照すると、音声認識モデル200は、コンテキストバイアスフレーズ114のセットをコンテキスト情報として受信する。音声認識モデル200は、可変長の可変数のコンテキストバイアスフレーズ114の受信および処理を可能にする。ここで、バイアスエンコーダ220は、セット内の各バイアスフレーズ114を対応する書記素116のシーケンス(たとえば、書記素データ)として受信し、バイアスフレーズ114ごとに、バイアスベクトル222またはバイアス埋め込みと呼ばれる対応する固定次元表現を生成する。すなわち、バイアスエンコーダ220は、対応するバイアスフレーズ114内の書記素116のシーケンスに基づいて、各バイアスベクトル222を1つずつ生成する。
【0035】
多数のバイアスフレーズ114が利用可能である場合、意味のあるバイアス情報を選択することは、困難である可能性がある。いくつかの例では、コンテキストバイアス機能の有効性を改善するために、バイアス条件付けモジュール115は、バイアスフレーズ114の適切なサブセットのみが所与の時間にアクティブになるように、バイアスフレーズを選択的にオプションでアクティブ化し得る。この技法では、バイアスフレーズ114は、ビームサーチビーム上で部分的に復号された仮説/トランスクリプション上で関連するバイアス接頭辞が検出された場合にのみ有効にされ得る。バイアス条件付けモジュール115は、音声認識モデル200の一部、または別個の構成要素とすることができる。
【0036】
バイアス条件付けモジュール115は、現在の時間ステップにおいて意味のないバイアスフレーズ114を効果的に除去し、それによってバイアス注意モジュール228においてバイアスベクトル222に注意を払う際に気が散るかまたは混乱する可能性を制限するために、発話104に関する部分的、中間的、または予備的なトランスクリプション情報を使用し得る。いくつかの例では、バイアスフレーズ114ごとに、バイアスフレーズセレクタ113は、バイアスフレーズ114の最初の部分を表す対応するバイアス接頭辞114Fをバイアス条件付けモジュール115に提供する。したがって、バイアス条件付けモジュール115は、各バイアス接頭辞114Fを現在の部分的トランスクリプション151と比較し、現在の部分的トランスクリプション151がバイアス接頭辞114Fを含むかどうかを判定し得る。部分的トランスクリプション151がバイアス接頭辞114Fを含む場合、バイアス条件付けモジュール115は、対応するバイアスフレーズ114をアクティブ化/有効化し得る。たとえば、「stop the alarm(アラームを停止して)」というバイアスフレーズ114に関する所与の例において、現在の部分的トランスクリプション151がバイアス接頭辞114Fを含む場合にフレーズ114に関するバイアスベクトル122のアクティブ化/有効化を条件付けるために、バイアスフレーズセレクタ113は、「stop」(または「stop the」)の対応するバイアス接頭辞114Fをバイアス条件付けモジュール115に提供し得る。
【0037】
バイアス条件付けモジュール115はまた、現在の部分的トランスクリプション151内に含まれないバイアス接頭辞114Fに対応するバイアスフレーズ114を無効化するか、またはペナルティを課し得る。無効化されたまたはペナルティを課されたバイアスフレーズ114は、バイアスフレーズ114に関する低下した確率を示すことによって、またはフレーズ114に関するバイアスベクトル222を変更するか、もしくはバイアスエンコーダ220にフレーズ114に関するバイアスベクトル222を異なって符号化させる無バイアス入力117を提供することによって調整され得る。バイアスフレーズ114のセットからフレーズ114を削除すること、またはバイアス注意モジュール228によって演算されたセットからバイアスベクトル222を削除することなどの他の技法も使用され得る。
【0038】
引き続き
図1を参照すると、バイアス注意モジュール228は、バイアス注意ベクトル232を生成するために、バイアスエンコーダ220から出力されたバイアスベクトル222と、前の時間ステップからのデコーダコンテキスト状態238とを処理する。デコーダコンテキスト状態238は、前のバイアス注意ベクトル232に関する前の時間ステップにおけるデコーダ240の状態を含む。デコーダコンテキスト状態238は、デコーダ140の出力の指定されたサブセットなどの、デコーダ240の出力の一部を表し得る。デコーダコンテキスト状態238は、現在の時間ステップにおいてバイアス注意モジュール228に入力されたバイアスベクトル222の相対的な重要性をコンテキストバイアス注意モジュール228に通知する。したがって、デコーダコンテキスト状態238が変化すると、バイアス注意モジュール228は、バイアスベクトル222の異なる要約または集約を計算し、したがって、デコーダが異なるバイアスフレーズ114の要素に対して示す確率を変更する。
【0039】
音声認識モデル200の音響処理ブランチを参照せずに、オーディオエンコーダ210によって出力されたオーディオベクトル212は、オーディオ注意ベクトル230を生成するオーディオ注意モジュール218に提供される。オーディオ注意ベクトル230は、注意モジュール218が現在注意を払っているオーディオフレームの重み付けされた要約、たとえば、ここまでの発話104の前のオーディオベクトル212のシーケンスの重み付けされた要約を提供する。オーディオエンコーダ210は、追加のオーディオ特徴が受信されると、オーディオデータ108の各ウィンドウまたはフレームに対してオーディオベクトル212を生成することができ、したがって、より多くのオーディオが受信されると、追加のオーディオベクトル212を提供し続ける。いくつかの例では、オーディオ注意モジュール218は、前の時間ステップからのデコーダオーディオ状態236と符号化されたオーディオベクトル212とを使用して、オーディオベクトル212のシーケンスにわたる注意重みを計算する。デコーダオーディオ状態236は、最新のデコーダ出力を出力するときのデコーダ240の状態の一部、たとえば、オーディオの直前のウィンドウまたはフレームを表す、前の時間ステップのデコーダ状態の一部を表し得る。デコーダ状態は、現在の時間ステップにおいてオーディオ注意モジュール218に入力されたオーディオベクトル212の相対的な重要性をオーディオ注意モジュール218に通知するのに役立つ。デコーダオーディオ状態336は、デコーダ240の出力の指定されたサブセット、典型的には、デコーダコンテキスト状態338において使用されるものとは異なる出力のセットなどの、デコーダ340の出力の一部とすることができる。いくつかの実装形態において、状態ベクトル236、238は、デコーダ140の出力の重複しない部分を表す。他の実装形態において、状態ベクトル236、238は、1つまたは複数の重複するセクションを含むか、または両方の状態ベクトル236、238は、各々がデコーダ240の出力全体を表す。
【0040】
両方の注意モジュール218、228の出力は、デコーダ240に提供される。たとえば、オーディオ注意ベクトル230およびコンテキスト注意ベクトル232は、デコーダ230への入力として機能する合成ベクトル234を生成するために連結され得る。この連結は、バイアスを音声認識モデル200に注入し、デコーダ240は、バイアス情報を音響情報と一緒に処理する。デコーダ240は、長・短期記憶(LSTM(long short-term memory))ニューラルネットワークなどのシーケンスモデルとすることができる。上記で論じられているように、デコーダ240の状態のそれぞれの部分を表す状態ベクトル236、238は、次の注意ベクトル230、232を計算する際に使用されるように、オーディオ注意モジュール218およびコンテキストバイアス注意モジュール228にフィードバックされる。デコーダ240の出力は、図示されている例における書記素である出力ターゲットのセットにわたる確率分布を生成するために、ソフトマックス層242で正規化される。他の例では、確率分布における出力ターゲットのセットは、部分語または音素を含み得る。デコーダ240からの様々な出力ベクトルは、発話104に対するトランスクリプション150を生成するためにビームサーチを使用するビームサーチモジュール243に提供される。どの書記素が現在の時間ステップにおけるオーディオを表すかについてなされた決定は、書記素出力244としてデコーダ140にフィードバックされ、次のデコーダ出力241を計算するために使用される。
【0041】
ユーザデバイス106は、様々な方法のいずれかにおいて、ビームサーチモジュール243から出力されたトランスクリプション150を使用することができる。たとえば、ユーザ102が音声認識機能を呼び出した方法に応じて、ユーザデバイス106は、トランスクリプション150によって指定されたコマンドを識別および実行すること、トランスクリプション150を表示すること、トランスクリプション150を別のシステム(たとえば、ネットワーク上のサーバシステムなど)に提供すること、トランスクリプションをモバイルデバイス106上のアプリケーションに提供することなどを行い得る。
【0042】
図1における例では、ユーザの場所、開いているアプリ、および今後のカレンダーの予定のコンテキスト情報は、音声認識モデル200を、発話104においてユーザが話したのと同じフレーズである「アラームを停止して」というバイアスフレーズ114にバイアスする。したがって、ユーザデバイス106(または、代替的には、サーバシステムが音声認識モデル200を実行する場合はサーバシステム)は、ユーザのコマンドを「アラームを停止して」と正しくトランスクライブする。ユーザデバイス106は、次いで、このトランスクリプションに基づいて、目覚まし時計アプリのアラームをオフにするなどのアクションを実行することができる。
【0043】
図2は、コンテキストバイアスを組み込んだ音声認識モデル200のための例示的なコンテキスト聞いて、出席して、綴る(CLAS)モデルアーキテクチャを示す。CLASモデルアーキテクチャ200は、認識性能を改善するために、コンテキストバイアスフレーズ114(
図1)のリストとして提供されるコンテキスト情報を活用することができるオールニューラルメカニズムである。この技法は、まず、書記素116のシーケンスとして表される各フレーズを固定次元表現222に埋め込み、次いで、モデルの出力予測の各ステップにおいて利用可能なコンテキスト232を要約するために注意モデル228を用いることで構成される。この手法は、推論中の可変数のコンテキストフレーズを可能にする。さらに、本明細書で開示されている技法は、トレーニング時に特定のコンテキスト情報が利用可能であることを必要とせず、重要なことに、いくつかの以前のシステムとは異なり、この方法は、依然として語彙外(OOV)の用語を組み込むことができる一方で、再スコアリング重みの注意深い調整を必要としない。
【0044】
実験的な評価では、コンテキスト構成要素をモデルの残りの部分と共同でトレーニングするCLASモデル200は、数100のコンテキストフレーズを扱う場合にはオンライン再スコアリング技法を大幅に上回り、数1000のフレーズを扱う場合にはこれらの技法と同等である。標準的なLASモデルについて、標準的なコンテキスト手法とともに説明する。次いで、CLASモデルを取得するために提案されているLASモデルに対する修正について説明する。
【0045】
LASアーキテクチャは、3つの主要な構成要素、すなわち、エンコーダ210と、デコーダ240と、注意ネットワーク218とを含む。3つの主要な構成要素は、音響特徴フレーム110のシーケンスから書記素244のシーケンスを予測するように共同でトレーニングされる。エンコーダ210は、音響特徴110、x=(x1,...,xK)を読み取り、高レベル特徴(隠れ状態)212のシーケンス、
【0046】
【0047】
を出力する積層型リカレントニューラルネットワーク(RNN)(この作業では単方向)を含む。エンコーダ210は、ASRシステムにおける音響モデルに類似している。
【0048】
デコーダ220は、以下のように、出力トークン(この作業では文字)のシーケンスの確率y=(y1,...,yT)を計算する積層型単方向RNNである。
【0049】
【0050】
エンコーダ状態ベクトル212、hxに対する条件付き依存性は、現在のデコーダ隠れ状態dtおよび完全なエンコーダ状態シーケンスhxの関数としてマルチヘッド注意を使用して計算されるコンテキストベクトル230、ct=cx
tを使用してモデル化される。前の文字コンテキストy<tをキャプチャするデコーダの隠れ状態dtは、
【0051】
【0052】
によって与えられ、ここで、dt-1は、デコーダの前の隠れ状態であり、
【0053】
【0054】
は、yt-1に対する埋め込みベクトルである。時間ステップtにおける出力241の事後分布は、
P(yt|hx,y<t)=ソフトマックス(Ws[ct;dt]+bs) (3)
によって与えられ、ここで、Wsおよびbsは、再び学習可能なパラメータであり、[ct;dt]は、2つのベクトルの連結を表す。モデルは、識別損失を最小化するようにトレーニングされる。
LLAS=-logP(y|x) (4)
【0055】
オンザフライ(OTF)再スコアリングは、特定のコンテキストに関連するn-gramの重みを調整するための手法である。この技法は、以下のそのバリエーションの各々において、以下で論じられているLASモデルまたはCLASモデル200で使用することができる。OTF再スコアリングにおいて、単語レベルのバイアスフレーズのセットが、事前に知られていると仮定され、重み付き有限状態トランスデューサ(WFST)にコンパイルされる。単語レベルのWFST、Gは、次いで、書記素/部分語のシーケンスを対応する単語に変換する「スペラー」FST、Sと左合成される。コンテキスト言語モデルは、
【0056】
【0057】
によって取得される。
【0058】
コンテキスト化言語モデルPC(y)からのスコアは、次いで、復号基準に組み込むことができる。これは、標準的な対数尤度項を、コンテキスト化言語モデルからのスケーリングされた寄与で増加させることによって行われ、
【0059】
【0060】
ここで、λは、コンテキスト言語モデルがビームサーチ中にモデル全体のスコアにどの程度影響を与えるかを制御する調整可能なハイパーパラメータである。
【0061】
図3A~
図3Cは、部分語ユニットに重みを割り当てることによって、OTFがコンテキストバイアスフレーズ114を再スコアリングための様々な技法を示す。
図3Aは、重みの押し付けが適用されず、単語境界において式5を使用して全体的なスコアの適用をもたらす例示的なOTF再スコアリングを示す。したがって、この技法は、関連する単語が最初にビーム内に現れたときにのみOTF再スコアリング性能を改善する。さらに、この技法は、コンテキストバイアスフレーズの数が少ない(たとえば、はい、いいえ、キャンセル)場合にはかなりよく機能するが、この技法は、コンテキストフレーズのセットが多数の固有名詞(たとえば、曲名、連絡先など)を含む場合、禁止されている。
【0062】
図3Bは、各単語の先頭の部分語ユニットへの全体的なスコアの適用をもたらす重みの押し付けを適用する例示的なOTF再スコアリング技法を示す。先頭の部分語ユニットのみにスコアを適用することは、単語が早い段階で人為的にブーストされる可能性があるので、過度のバイアスの問題が発生する可能性がある。
【0063】
図3Cは、単語の各部分語ユニットに重みを押し付ける第3のOTF再スコアリング技法を示す。早期にブーストされるが、フレーズ全体に一致しない接頭辞に人為的に重みを与えることを回避するために、
図3Cに示す負の重みによって示されるように、減算コストが含まれる。単語の各部分語ユニットに重みを押し付けることによって、
図3CのOTF再スコアリング技法は、単語をビーム上に維持するのを助けることを目的とする。
【0064】
図2に戻って参照すると、CLASモデル200は、提供されたバイアスフレーズ114、zのリストを通じて追加のコンテキストを使用することによってLASモデルを修正し、したがって、P(y|x;z)を効果的にモデル化する。z内の個々の要素は、特定の認識コンテキストに関連する、パーソナライズされた連絡先の名前、曲のリストなどのフレーズを表す。示されている例では、CLASモデル200は、z=z
1,...,z
Nとして示される、バイアスフレーズ114の追加のシーケンスのリストにアクセスすることができる。z内の個々の要素は、特定の認識コンテキストに関連する、パーソナライズされた連絡先の名前、曲のリストなどのフレーズを表す。バイアスフレーズ114の目的は、特定のフレーズを出力する方向にモデルをバイアスすることである。しかしながら、現在の発話を考慮すると、すべてのバイアスフレーズが必ずしも関連しているわけではなく、あるとすれば、どのフレーズが関連している可能性があるかを判断し、ターゲット分布P(y
t|h
x,y<t)を修正するためにそれらを使用するのは、モデル次第である。
【0065】
バイアスエンコーダ220は、バイアスフレーズ114(z=z
1,...,z
N)をベクトル222、h
z={h
0
z,h
1
z,...,h
n
z}のセットに埋め込む。上付き文字zは、バイアス注意変数とオーディオ関連変数とを区別する。ベクトルh
i
zは、i>0の場合、z
iの埋め込みである。バイアスフレーズ114は、現在の発話に関連していない可能性があるので、追加の学習可能なベクトルh
z
0=h
z
nbが追加される。学習可能なベクトルh
z
0は、無バイアス入力117(
図1)に対応し、出力を生成するためにバイアスフレーズのいずれも使用しない。このオプションは、バイアスフレーズのどれもがオーディオに一致しない場合にモデルを「バイアスなし」の復号手法に戻すことを可能にし、モデルがバイアスフレーズを完全に無視することを可能にする。
【0066】
いくつかの例では、バイアスエンコーダ220は、LSTMの最後の状態をフレーズ全体の埋め込みとして使用して埋め込みを取得するために、デコーダによって使用されるのと同じ書記素または部分語ユニットであるziにおける部分語の埋め込みのシーケンスを受信するように受信するように構成された多層LSTMネットワークを含む。
【0067】
バイアス注意モジュール228は、hzにわたってバイアス注意を計算する。二次コンテキストベクトルは、時間ステップtにおけるzを以下のように要約する。
【0068】
【0069】
バイアス注意モジュール228は、連結されたコンテキストベクトル234(
図1)、c
tをデコーダ240への入力として提供するために、オーディオコンテキストベクトル230、c
t
xと連結されたバイアスコンテキストベクトル232、c
t
zを出力し、c
t=[c
t
x;c
t
z]は、xおよびzに関して取得されたコンテキストベクトルの連結である。いくつかの実装形態において、コンテキストバイアスに関係しないCLASモジュール200の他の構成要素(たとえば、デコーダおよびオーディオエンコーダ)は、標準的なLASモデルにおける対応する構成要素と同一であるが、これらの構成要素は、コンテキストバイアス要素との共同トレーニングの結果として、著しく異なるトレーニング状態を有することになる。
【0070】
したがって、CLASモデル200は、オーディオ特徴110と前の出力241、244とが与えられた場合に、特定のバイアスフレーズ114を見る確率を明示的にモデル化する。ここで、確率
【0071】
【0072】
は、以下のように表され得るバイアス注意確率に対応する。
【0073】
【0074】
さらに、CLASモデル200は、以下の式に基づいて損失を最小化するようにトレーニングされ得る。
LCLAS=-logP(y|x,z) (式9)
【0075】
図1および
図2を参照すると、モデル200は、推論中にどのようなバイアスフレーズ114が使用されるのかについていかなる仮定もしないので、各バッチのトレーニング中、CLASモデル200は、推論時に柔軟性を可能にするために、バイアスフレーズzのリストをランダムに生成する。いくつかの例では、CLASモデル200は、トレーニングバッチ内のオーディオ特徴110に対応する参照トランスクリプトr
1,...,r
Nbatchのリストを取ることによって、トレーニングバッチ内の発話に関連付けられた参照トランスクリプトからトレーニングバイアスフレーズ114のリストをランダムに作成/生成し、参照トランスクリプトのいくつかにおいて部分文字列として現れるn-gramフレーズ116のバイアスフレーズ114、zのリストをランダムに選択する。
【0076】
いくつかの例では、無バイアスオプションを訓練するために、特定のバイアスフレーズ114、zがバッチ内の発話のうちのいくつかと一致しないCLASモデル200をトレーニングすることは、確率Pkeepを用いて作成プロセスから各参照を破棄/除外することを含む。参照が破棄されても、発話は、バッチ内に保持され続けるが、バイアスフレーズは、そのトランスクリプトから抽出されない。PkeepがPkeep=0に設定されている場合、無バイアスフレーズは、トレーニングバッチに提示されない。Pkeep=1の場合、バッチ内の各発話は、少なくとも1つの一致するバイアスフレーズを有する。次に、各々の保持されている参照から、トレーニングプロセスは、[1,Nphrases]から一様にkをランダムに選択し、[1,Norder]から一様にnをランダムに選択することによって、kの単語n-gramをランダムに選択する。ここで、Pkeep、Nphrases、およびNorderは、トレーニングプロセスのハイパーパラメータである。たとえば、Pkeep=1.0、Nphrases=1、Norder=1の場合、各参照トランスクリプトから1つのユニグラムが選択される。一例では、Pkeep=0.5、Nphrases=1、およびNorder=4を設定することは、無バイアスに対するロバスト性を促進し、17の予想されるサイズ(たとえば、シャードサイズの半分に無バイアス用の1を加えたもの)を有するバイアスフレーズ214のリストにつながる。
【0077】
いくつかの実装形態において、トレーニングプロセスは、トレーニングプロセスが、一致が見つかるたびに特別な</bias>記号を挿入するように、バイアスフレーズ114、zのリストをランダムに発生した後、zと各参照トランスクリプトrとの共通部分を計算する。参照トランスクリプトが「play a song(曲を再生して)」であり、一致するバイアスフレーズが「play(再生して)」である場合、ターゲットシーケンスは、「play </bias> a song(曲を</bias>再生して)」に変更される。</bias>記号の目的は、正しいバイアスフレーズを考慮することによってのみ修正することができるトレーニングエラーを導入することである。</bias>を予測できるようにするために、モデル200は、正しいバイアスフレーズに注意しなければならず、したがって、バイアスエンコーダ220がトレーニングプロセス中に更新を受信することを確実にしなければならない。
【0078】
推論中、ユーザ102がモデル200にオーディオ特徴ベクトル110、xのシーケンスと、トレーニングではおそらく見られないコンテキストバイアスフレーズシーケンスzのセットとを提供すると、モデル200は、zをh
zに埋め込むためにバイアスエンコーダ220を使用する。この埋め込みは、オーディオストリーミングが始まる前に行うことができる。オーディオ特徴ベクトル110、xのシーケンスは、オーディオエンコーダ210に供給されたフレームのシーケンスとして表すことができ、デコーダ240は、トランスクリプト150を生成するために、(たとえば、
図1のビームサーチモジュール243において)ビームサーチ復号を使用してNベスト仮説を生成するように実行される。
【0079】
前述のように、バイアスコンテキストベクトル232は、多くの異なるバイアス埋め込みzの加重和に対応し、したがって、トレーニング中に見られるいかなるコンテキストベクトルからも遠く離れている可能性があるので、ユーザ102が数1000のフレーズ114をCLASモデル200に提示した場合、意味のあるバイアスコンテキストベクトル232、czを検索することは、困難である可能性がある。この問題を軽減するために、バイアス条件付けは、推論中、モデル200にバイアスフレーズのリストz=z1,...,zNとバイアス接頭辞114Fのリストp=p1,...,pNの両方を提供する。ここで、バイアス条件付けは、対応するバイアス接頭辞piがビームy<t上の部分的に復号された仮説(たとえば、部分的なトランスクリプト151)において検出された場合にのみ、ステップtにおいてバイアスフレーズziを有効にする。これは、
【0080】
【0081】
を設定することによってバイアス注意確率を更新することによって達成され、ここで、⊆は、文字列の包含である。
【0082】
バイアス条件付けは、バイアス接頭辞114Fのリストを任意に構築し得る。たとえば、「the cat sat(猫が座った)」というバイアスフレーズは、「the cat(猫)」というバイアス接頭辞114Fを条件とすることができる。ここで、バイアス条件付けは、モデル200がビームy<t上の部分的トランスクリプト151において「the cat(猫)」というバイアス接頭辞114Fを検出すると、「the cat sat(猫が座った)」というバイアスフレーズ114に対する埋め込みzのみを有効にする。バイアス接頭辞114Fの良好な選択は、同じ接頭辞を共有するバイアスフレーズ114の数を最小化することによって、バイアス注意モジュール228におけるバイアス注意の過負荷を軽減し、同時に、各バイアスフレーズ114の多すぎるセグメントへの分割を防ぐことによって、特徴的なバイアス埋め込みzを可能にする。いくつかの実装形態において、アルゴリズムは、同じ接頭辞114Fが多すぎるフレーズ114によって共有されない限り、空の接頭辞(pi=ε)から開始し、各接頭辞を(ziから)1単語だけ繰り返し拡張することによって、バイアス接頭辞114Fを選択する。
【0083】
例示的なトレーニング設定は、3300万の英語発話からなる約25000時間のトレーニングセットを使用する。トレーニング発話は、匿名化され、手書きで転写されている。このデータセットは、ルームシミュレータを使用してクリーンな発話を人為的に破壊し、全体的なSNRが0dBと30dBとの間になり、平均SNRが12dBになるように、様々な程度のノイズと残響とを追加することによって増大され得る。
【0084】
モデルは、グローバルバッチサイズが4096の8×8のテンソル処理ユニット(TPU(tensor processing unit))スライスにおいてトレーニングされる。各トレーニングコアは、各トレーニングステップにおいて32の発話のシャードサイズにおいて動作する。このシャードから、バイアスフレーズがランダム化され、したがって、各シャードは、トレーニング中に最大32のバイアスフレーズを見る。
【0085】
例示的なトレーニングプロセスは、25ミリ秒のウィンドウにわたって10ミリ秒ごとに計算された80次元の対数メル音響特徴100を使用する。3つの連続するフレームがスタックされ、3倍にストライドされる。このダウンサンプリングは、より単純なエンコーダアーキテクチャの使用を可能にする。
【0086】
エンコーダ210のアーキテクチャは、各々が256ノードを有する10の単方向LSTM層を含み得る。いくつかの例では、エンコーダ注意モジュール218は、4つの注意ヘッドを使用して、512次元にわたって注意を計算する。それに加えて、バイアスエンコーダ220は、512ノードを有する単一のLSTM層を含み得、バイアス注意モジュール228は、512次元にわたって注意を計算し得る。デコーダ240は、256ノードを有する4つのLSTM層を含み得る。合計で、モデル200は、約5800万のトレーニング可能なパラメータを有し得る。
【0087】
高い率の語彙外(OOV)単語に関連付けられた数100のバイアスフレーズ114を有する発話のテストセットにおいて、CLASモデル200は、非コンテキストASRモデルよりも著しく良好に機能する。しかしながら、CLASモデル200は、数1000のバイアスフレーズ114を有するテストセットについては、相関がそれぞれの埋め込みz間に現れ始めるので劣化する。このスケーラビリティの問題は、モデル200がビームy<t上の部分的に復号された仮説(たとえば、部分的トランスクリプト151)において対応する接頭辞114Fを検出した場合にのみ、CLASモデル200がバイアスフレーズ114を「有効にする」ように、バイアス接頭辞114Fのリストを提供することによって、バイアス条件付けを用いて対処することができる。
【0088】
バイアス条件付けを伴うクラスCLASモデルの使用を含むテストは、ルールベースの方法においてバイアス接頭辞を作成した。「talk-to-chatbot」セットについて、接頭辞は、「talk to」+次の単語として生成された(たとえば、「talk to pharmacy flashcards(薬局のフラッシュカードに話す)」というフレーズは、接頭辞pi=「talk to pharmacy」および接尾辞zi=「flashcards」に分割される)。それに加えて、「talk to」の後の最初の単語をその最初の文字において条件付けることも有用だった(たとえば、「pharmacy」は、「talk to p」において条件付けられる)。この構造は、同じ接頭辞を共有するフレーズの数を255(対3255)に制限し、同時に、バイアスフレーズセグメントの総数を10パーセント(10%)しか増加させない。
【0089】
CLASモデル200は、バイアス条件付けとOTF再スコアリング手法の両方から、ならびに精度のいかなる低下もなしに多数のフレーズへのスケーラビリティを可能にすることによって、それらの組合せから利益を得る。これらの特徴なしでは、非常に多数のバイアスフレーズが使用される場合、コンテキストバイアスの利点は、失われる可能性がある。それにもかかわらず、条件付けおよび/またはOTF再スコアリングは、精度を低下させることなく、たとえば、数千または数万の、バイアスフレーズの大きいセットが使用されることを可能にすることができる。
【0090】
したがって、CLASモデル200は、完全なコンテキストバイアスフレーズ114を埋め込むことによってコンテキスト情報を組み込む、オールニューラルのコンテキスト化されたASRモデルを含む。CLASモデル200は、コンテキストフレーズの大きいセットを扱うことを可能にするために、バイアス条件付けを用い得る。モデル200は、標準的なバイアス技法よりも、相対的なWERが68パーセント(68%)も優れている。
【0091】
図4は、発話が話されている現在のコンテキストに関連する所定の単語およびフレーズに向けて音声認識をバイアスするために、コンテキストバイアス情報を音声認識モデル200に組み込む方法400のための動作の例示的な配置のフローチャートである。方法400は、
図1および
図2を参照して説明され得る。ユーザデバイス106(および/またはリモートサーバ)は、方法400のための動作を実行し得る。動作402において、方法400は、発話104を符号化するオーディオデータ108を受信する動作を含む。たとえば、ユーザ102に関連付けられたユーザデバイス106の1つまたは複数のマイクロフォンは、ユーザ102によって話された発話104を記録および符号化し得る。動作404において、方法400は、発話104のコンテキストに対応するバイアスフレーズ114のセットを取得する動作を含む。バイアスフレーズのセット内の各バイアスフレーズ114は、1つまたは複数の単語を含む。
【0092】
動作406において、方法400は、音声認識モデル200を使用して、音声認識モデル200からの出力241を生成するために、オーディオデータ108から導出された音響特徴110を処理する動作を含む。音声認識モデル200は、第1のエンコーダ210と、第1のエンコーダ210に対応する第1の注意モジュール218と、バイアスエンコーダ220と、バイアスエンコーダ220に対応するバイアス注意モジュール228と、第1の注意モジュール218の出力とバイアス注意モジュール228の出力とに基づいて音声要素224のシーケンスの尤度を決定するように構成されたデコーダ240とを含む。第1のエンコーダ210は、オーディオデータ108から導出された音響特徴110を受信するように構成され、バイアスエンコーダは、取得されたバイアスフレーズ114のセットを示すデータ116を受信するように構成される。
【0093】
動作408において、方法400は、デコーダ240によって決定された音声要素244のシーケンスの尤度に基づいて、発話104に対するトランスクリプト150を決定する動作を含む。音声要素244は、単語、部分語、または書記素を含み得る。さらに、第1のエンコーダ210、第1の注意モジュール218、バイアスエンコーダ220、バイアス注意モジュール228、およびデコーダ240は、音響特徴フレームのシーケンスから書記素のシーケンスを予測するように共同でトレーニングされる。
【0094】
ソフトウェアアプリケーション(すなわち、ソフトウェアリソース)は、コンピュータデバイスにタスクを実行させるコンピュータソフトウェアを指す場合がある。いくつかの例では、ソフトウェアアプリケーションは、「アプリケーション」、「アプリ」、または「プログラム」と呼ばれる場合がある。例示的なアプリケーションは、限定はしないが、システム診断アプリケーション、システム管理アプリケーション、システムメンテナンスアプリケーション、ワード処理アプリケーション、スプレッドシートアプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲームアプリケーションを含む。
【0095】
非一時的メモリは、コンピューティングデバイスによって使用するために、プログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)を一時的または永続的に記憶するために使用される物理デバイスであり得る。非一時的メモリは、揮発性および/または不揮発性のアドレス可能な半導体メモリであり得る。不揮発性メモリの例は、限定はしないが、フラッシュメモリおよび読み取り専用メモリ(ROM)/プログラマブル読み取り専用メモリ(PROM)/消去可能なプログラマブル読み取り専用メモリ(EPROM)/電気的消去可能なプログラマブル読み取り専用メモリ(EEPROM)(たとえば、典型的には、ブートプログラムなどのファームウェアのために使用される)を含む。揮発性メモリの例は、限定はしないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、ならびにディクスまたはテープを含む。
【0096】
図5は、この文書において説明されているシステムおよび方法を実装するために使用され得る例示的なコンピューティングデバイス500の概略図である。コンピューティングデバイス500は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことを意図している。ここに示されている構成要素、それらの接続および関係、ならびにそれらの機能は、例示のみであることを意図しており、この文書において説明および/または特許請求されている本発明の実装形態を限定することを意図していない。
【0097】
コンピューティングデバイス500は、プロセッサ510と、メモリ520と、記憶デバイス530と、メモリ520および高速拡張ポート550に接続する高速インターフェース/コントローラ540と、低速バス570および記憶デバイス530に接続する低速インターフェース/コントローラ560とを含む。構成要素510、520、530、540、550、および560の各々は、様々なバスを使用して相互接続されており、共通のマザーボード上に、または必要に応じて他の方法で取り付けられ得る。プロセッサ510は、高速インターフェース540に結合されたディスプレイ580などの外部入力/出力デバイス上にグラフィカルユーザインターフェース(GUI)のためのグラフィカル情報を表示するために、メモリ520内または記憶デバイス530上に記憶された命令を含む、コンピューティングデバイス500内で実行するための命令を処理することができる。他の実装形態において、複数のメモリおよびメモリのタイプとともに、必要に応じて、複数のプロセッサおよび/または複数のバスが使用され得る。また、(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)複数のコンピューティングデバイス500が接続され、各デバイスが必要な動作の一部を提供し得る。
【0098】
メモリ520は、コンピューティングデバイス500内に情報を非一時的に記憶する。メモリ520は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであり得る。非一時的メモリ520は、コンピューティングデバイス500によって使用するために、プログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)を一時的または永続的に記憶するために使用される物理デバイスであり得る。不揮発性メモリの例は、限定はしないが、フラッシュメモリおよび読み取り専用メモリ(ROM)/プログラマブル読み取り専用メモリ(PROM)/消去可能なプログラマブル読み取り専用メモリ(EPROM)/電気的消去可能なプログラマブル読み取り専用メモリ(EEPROM)(たとえば、典型的には、ブートプログラムなどのファームウェアのために使用される)を含む。揮発性メモリの例は、限定はしないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、ならびにディクスまたはテープを含む。
【0099】
記憶デバイス530は、コンピューティングデバイス500のための大容量ストレージを提供することができる。いくつかの実装形態において、記憶デバイス530は、コンピュータ可読媒体である。様々な異なる実装形態において、記憶デバイス530は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくは他の構成におけるデバイスを含むデバイスのアレイであり得る。追加の実装形態において、コンピュータプログラム製品は、情報キャリア内に明白に具体化される。コンピュータプログラム製品は、実行されると、上記で説明されている方法などの、1つまたは複数の方法を実行する命令を含む。情報キャリアは、メモリ520、記憶デバイス530、またはプロセッサ510上のメモリなどの、コンピュータ可読媒体または機械可読媒体である。
【0100】
高速コントローラ540は、コンピューティングデバイス500のための帯域幅を消費する動作を管理し、低速コントローラ560は、より帯域幅を消費しない動作を管理する。そのような役割の割り当ては、単なる例示である。いくつかの実装形態において、高速コントローラ540は、メモリ520、(たとえば、グラフィックスプロセッサまたはアクセラレータを介して)ディスプレイ580、および様々な拡張カード(図示せず)を受け入れ得る高速拡張ポート550に結合される。いくつかの実装形態において、低速コントローラ560は、記憶デバイス530および低速拡張ポート590に結合される。様々な通信ポート(たとえば、USB、Bluetooth、イーサネット、ワイヤレスイーサネット)を含み得る低速拡張ポート590は、キーボード、ポインティングデバイス、スキャナ、または、たとえば、ネットワークアダプタを介してスイッチもしくはルータなどのネットワーキングデバイスなどの、1つまたは複数の入力/出力デバイスに結合され得る。
【0101】
コンピューティングデバイス500は、図に示されるように、いくつかの異なる形態において実装され得る。たとえば、それは、標準的なサーバ500aとして、もしくはサーバ500aのグループ内で複数回、ラップトップコンピュータ500bとして、またはラックサーバシステム500cの一部として実装され得る。
【0102】
本明細書で説明されているシステムおよび技法の様々な実装形態は、デジタル電気および/もしくは光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、ならびに/またはそれらの組合せにおいて実現することができる。これらの様々な実装形態は、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスにデータおよび命令を送信するように結合された、専用または汎用であり得る少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムにおける実装形態を含むことができる。
【0103】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラマブルプロセッサのための機械語を含み、高級手続き型および/もしくはオブジェクト指向言語、ならびに/またはアセンブリ/機械語において実装することができる。本明細書で使用される場合、「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械命令を機械可読信号として受信する機械可読媒体を含む、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置、および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【0104】
本明細書で説明されているプロセスおよび論理フローは、入力データに対して動作し、出力を生成することによって機能を実行するために1つまたは複数のコンピュータプログラムを実行する、データ処理ハードウェアとも呼ばれる1つまたは複数のプログラマブルプロセッサによって実行することができる。プロセスおよび論理フローは、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行することもできる。コンピュータプログラムの実行に適したプロセッサは、例として、汎用および専用の両方のマイクロプロセッサ、ならびに任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、読み取り専用メモリ、またはランダムアクセスメモリ、またはその両方から命令とデータとを受信する。コンピュータの本質的な要素は、命令を実行するためのプロセッサ、および命令とデータとを記憶するための1つまたは複数のメモリである。一般に、コンピュータは、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気ディスク、光磁気ディスク、または光ディスクも含むか、またはそれらからデータを受信、もしくはそれらにデータを送信、もしくはその両方を行うように動作可能に結合される。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令とデータとを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD ROMおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補完することができ、または専用論理回路の中に組み込むことができる。
【0105】
ユーザとの対話を提供するために、本開示の1つまたは複数の態様は、ユーザに情報を表示するための表示デバイス、たとえば、CRT(陰極線管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーンと、オプションで、ユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールとを有するコンピュータ上に実装することができる。他の種類のデバイスも同様にユーザとの対話を提供するために使用することができ、ユーザに提供されるフィードバックは、任意の形態の感覚的フィードバック、たとえば、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックとすることができ、ユーザからの入力は、音響的入力、音声入力、または触覚的入力を含む任意の形態で受信することができる。それに加えて、コンピュータは、ユーザによって使用されるデバイスにドキュメントを送信し、そのデバイスからドキュメントを受信することによって、たとえば、ユーザのクライアントデバイス上のウェブブラウザから受信された要求に応答して、ウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
【0106】
いくつかの実装形態について説明してきた。それにもかかわらず、本開示の要旨および範囲から逸脱することなく、様々な修正が行われ得ることが理解されよう。したがって、他の実装形態は、以下の特許請求の範囲内にある。
【符号の説明】
【0107】
100 ASRシステム
102 ユーザ
104 音声発話、発話
106 デバイス、ユーザデバイス
108 オーディオ信号、オーディオデータ
109 特徴抽出モジュール
110 音響特徴、音響特徴フレーム、オーディオ特徴、オーディオ特徴ベクトル
111 コンテキストデータ
113 バイアスフレーズセレクタ
114 コンテキストバイアスフレーズ、フレーズ、バイアスフレーズ、トレーニングバイアスフレーズ
114F バイアス接頭辞、接頭辞
115 バイアス条件付けモジュール
116 書記素、n-gramフレーズ、データ
117 無バイアス入力
140 デコーダ
150 トランスクリプション、トランスクリプト
151 部分的トランスクリプション、部分的トランスクリプト
200 音声認識モデル、CLASモデルアーキテクチャ、CLASモデル、CLASモジュール、モデル
210 オーディオエンコーダ、エンコーダ、第1のエンコーダ
212 オーディオベクトル、符号化されたオーディオベクトル、高レベル特徴(隠れ状態)、エンコーダ状態ベクトル
218 オーディオ注意モジュール、注意モジュール、第1の注意モジュール
220 バイアスエンコーダ、オーディオエンコーダ、デコーダ
222 バイアスベクトル、固定次元表現、ベクトル
228 バイアス注意モジュール、注意モジュール
230 オーディオ注意ベクトル、注意ベクトル、コンテキストベクトル、オーディオコンテキストベクトル
232 バイアス注意ベクトル、コンテキスト注意ベクトル、注意ベクトル、コンテキスト、バイアスコンテキストベクトル
234 合成ベクトル、連結されたコンテキストベクトル
236 デコーダオーディオ状態、デコーダ状態、状態ベクトル
238 デコーダコンテキスト状態、状態ベクトル
240 デコーダ
241 デコーダ出力、出力
242 ソフトマックス層
243 ビームサーチモジュール
244 書記素出力、書記素、出力、音声要素
500 コンピューティングデバイス
500a サーバ
500b ラップトップコンピュータ
500c ラックサーバシステム
510 プロセッサ、構成要素
520 メモリ、構成要素
530 記憶デバイス、構成要素
540 高速インターフェース/コントローラ、構成要素、高速インターフェース、高速コントローラ
550 高速拡張ポート、構成要素
560 低速インターフェース/コントローラ、構成要素、低速コントローラ
570 低速バス
580 ディスプレイ
590 低速拡張ポート