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

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

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

特表2024-512071自動音声認識のための多言語再スコアリングモデル
<>
  • 特表-自動音声認識のための多言語再スコアリングモデル 図1
  • 特表-自動音声認識のための多言語再スコアリングモデル 図2
  • 特表-自動音声認識のための多言語再スコアリングモデル 図3A
  • 特表-自動音声認識のための多言語再スコアリングモデル 図3B
  • 特表-自動音声認識のための多言語再スコアリングモデル 図4
  • 特表-自動音声認識のための多言語再スコアリングモデル 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-18
(54)【発明の名称】自動音声認識のための多言語再スコアリングモデル
(51)【国際特許分類】
   G10L 15/32 20130101AFI20240311BHJP
   G10L 15/16 20060101ALI20240311BHJP
【FI】
G10L15/32 200B
G10L15/16
G10L15/32 210F
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023558803
(86)(22)【出願日】2022-03-22
(85)【翻訳文提出日】2023-11-13
(86)【国際出願番号】 US2022021441
(87)【国際公開番号】W WO2022204218
(87)【国際公開日】2022-09-29
(31)【優先権主張番号】63/166,916
(32)【優先日】2021-03-26
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100142907
【弁理士】
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】ガウル、ニーラジ
(72)【発明者】
【氏名】チェン、トンジョウ
(72)【発明者】
【氏名】ヴァリアニ、エフサン
(72)【発明者】
【氏名】ラマバドラン、ブバナ
(72)【発明者】
【氏名】ハガニ、パリサ
(72)【発明者】
【氏名】モレノ メンヒバル、ペドロ ジェイ.
(57)【要約】
方法(400)は、発話(106)に対応する音声データから抽出済みの音響フレーム(110)のシーケンスを受信する。第1パス(301)中、本方法は、音響フレームのシーケンスを処理して、発話に対するN個の候補仮説(204)を生成する。第2パス(302)中、および各候補仮説に対して、本方法は:各々の非正規化尤度スコア(325)を生成する工程と、各々の外部言語モデルスコア(315)を生成する工程と、対応する候補仮説の事前統計をモデル化する単体スコア(205)を生成する工程と、ならびに非正規化尤度スコア、外部言語モデルスコア、および単体スコアに基づき、候補仮説に対する各々の総合スコア(355)を生成する工程と、を備える。本方法はまた、N個の候補仮説の中から、最も高い各々の総合スコアを有している候補仮説を、発話の最終トランスクリプション(120)として選択する。
【特許請求の範囲】
【請求項1】
データ処理ハードウェア(510)上で実行されると前記データ処理ハードウェア(510)に動作を実行させる、コンピュータ実装方法(400)であって、前記動作は、
発話(106)に対応する音声データから抽出済みの音響フレーム(110)のシーケンスを受信する工程と、
第1パス(301)中に多言語音声認識モデル(200)を使用することで、前記音響フレーム(110)のシーケンスを処理することによって、前記発話(106)に対するN個の候補仮説(204)を生成する工程と、
を備えており、前記動作はさらに第2パス(302)中にN個の前記候補仮説(204)のうちの前記各候補仮説(204)について、
ニューラルオラクルサーチNOSモデル(320)を使用することで、前記音響フレーム(110)のシーケンスと、対応する前記候補仮説(204)と、に基づき各々の非正規化尤度スコア(325)を生成する工程と、
外部言語モデル(310)を用いることで、各々の外部言語モデルスコア(315)を生成する工程と、
前記第1パス(301)中に生成済みの対応する前記候補仮説(204)の事前統計をモデル化する、単体スコア(205)を生成する工程と、
前記非正規化尤度スコア(325)と、前記外部言語モデルスコア(315)と、および前記単体スコア(205)と、に基づき前記候補仮説(204)の各々の総合スコア(355)を生成する工程と、
を備えており、前記動作はさらに、
N個の前記候補仮説(204)の中から、最も高い前記総合スコア(355)を有している前記候補仮説(205)を、前記発話(106)の最終トランスクリプション(120)として選択する工程を備えている、
コンピュータ実装方法(400)。
【請求項2】
N個の前記候補仮説(204)のうちの前記各候補仮説(204)は、単語またはサブワードラベルの各々のシーケンスを備えており、
前記各単語またはサブワードラベルは、各々の埋込ベクトルによって表わされる、
請求項1に記載のコンピュータ実装方法(400)。
【請求項3】
前記外部言語モデル(310)は、テキストのみのデータでトレーニングされる、
請求項1または2に記載のコンピュータ実装方法(400)。
【請求項4】
前記ニューラルオラクルサーチNOSモデル(320)は、言語固有のニューラルオラクルサーチNOSモデル(320S)を備えている、
請求項1~3のいずれか1項に記載のコンピュータ実装方法(400)。
【請求項5】
前記動作はさらに、
前記発話(106)の言語を示す言語識別子(107)を受信する工程と、
異なる各々の言語について各々がトレーニング済みの複数の言語固有ニューラルオラクルサーチNOSモデル(320S)の中から、言語固有ニューラルオラクルサーチNOSモデル(320S)を選択する工程と、
を備えている、
請求項4に記載のコンピュータ実装方法(400)。
【請求項6】
前記ニューラルオラクルサーチNOSモデル(320)は、多言語ニューラルオラクルサーチNOSモデル(320M)を備えている、
請求項1~3のいずれか1項に記載のコンピュータ実装方法(400)。
【請求項7】
前記外部言語モデル(310)は、言語固有の外部言語モデル(310)を備えている、
請求項1~6のいずれか1項に記載のコンピュータ実装方法(400)。
【請求項8】
前記動作はさらに、
前記発話(106)の言語を示す言語識別子(107)を受信する工程と、
異なる各々の言語について各々がトレーニング済みの複数の言語固有の外部言語モデル(310)の中から、言語固有の外部言語モデル(310)を選択する工程と、
を備えている、請求項7に記載のコンピュータ実装方法(400)。
【請求項9】
前記ニューラルオラクルサーチNOSモデル(320)は、2つの一方向長短期記憶(LSTM)層を備えている、
請求項1~8のいずれか1項に記載のコンピュータ実装方法(400)。
【請求項10】
前記多言語音声認識モデル(200)は、複数のコンフォーマ層を有しているコンフォーマエンコーダと、2つのLSTM層を有しているLSTMデコーダと、を備えているエンコーダデコーダアーキテクチャを備えている、
請求項1~9のいずれか1項に記載のコンピュータ実装方法(400)。
【請求項11】
システム(500)であって、前記システム(500)は、
データ処理ハードウェア(510)と、
前記データ処理ハードウェア(510)に通信するメモリハードウェア(520)であって、前記データ処理ハードウェア(510)上で実行されると前記データ処理ハードウェア(510)に動作を実行させる命令を記憶する前記メモリハードウェア(520)と、
を備えており、前記動作は、
発話(106)に対応する音声データから抽出済みの音響フレーム(110)のシーケンスを受信する工程と、
第1パス(301)中に多言語音声認識モデル(200)を使用することで、前記音響フレーム(110)のシーケンスを処理することによって、前記発話(106)に対するN個の候補仮説(204)を生成する工程と、
を備えており、前記動作はさらに第2パス(302)中にN個の前記候補仮説(204)のうちの前記各候補仮説(204)について、
ニューラルオラクルサーチNOSモデル(320)を使用することで、前記音響フレーム(110)のシーケンスと、対応する前記候補仮説(204)と、に基づき各々の非正規化尤度スコア(325)を生成する工程と、
外部言語モデル(310)を用いることで、各々の外部言語モデルスコア(315)を生成する工程と、
前記第1パス(301)中に生成済みの対応する前記候補仮説(204)の事前統計をモデル化する、単体スコア(205)を生成する工程と、
前記非正規化尤度スコア(325)と、前記外部言語モデルスコア(315)と、および前記単体スコア(205)と、に基づき前記候補仮説(204)の各々の総合スコア(355)を生成する工程と、
を備えており、前記動作はさらに、
N個の前記候補仮説(204)の中から、最も高い前記総合スコア(355)を有している前記候補仮説(205)を、前記発話(106)の最終トランスクリプション(120)として選択する工程を備えている、
システム(500)。
【請求項12】
N個の前記候補仮説(204)のうちの前記各候補仮説(204)は、単語またはサブワードラベルの各々のシーケンスを備えており、
前記各単語またはサブワードラベルは、各々の埋込ベクトルによって表わされる、
請求項11に記載のシステム(500)。
【請求項13】
前記外部言語モデル(310)は、テキストのみのデータでトレーニングされる、
請求項11または12に記載のシステム(500)。
【請求項14】
前記ニューラルオラクルサーチNOSモデル(320)は、言語固有のニューラルオラクルサーチNOSモデル(320S)を備えている、
請求項11~13のいずれか1項に記載のシステム(500)。
【請求項15】
前記動作はさらに、
前記発話(106)の言語を示す、言語識別子(107)を受信する工程と、
異なる各々の言語について各々がトレーニング済みの複数の言語固有のニューラルオラクルサーチNOSモデル(320S)の中から、言語固有のニューラルオラクルサーチNOSモデル(320S)を選択する工程と、
を備えている、請求項14に記載のシステム(500)。
【請求項16】
前記ニューラルオラクルサーチNOSモデル(320)は、多言語ニューラルオラクルサーチNOSモデル(320M)を備えている、
請求項11~13のいずれか1項に記載のシステム(500)。
【請求項17】
前記外部言語モデル(310)は、言語固有の外部言語モデル(310)を備えている、
請求項11~16のいずれか1項に記載のシステム(500)。
【請求項18】
前記動作はさらに、
前記発話(106)の言語を示す、言語識別子(107)を受信する工程と、
異なる各々の言語について各々がトレーニング済みの複数の言語固有の外部言語モデル(310)の中から、言語固有の外部言語モデル(310)を選択する工程と、
を備えている、
請求項17に記載のシステム(500)。
【請求項19】
前記ニューラルオラクルサーチNOSモデル(320)は、2つの一方向長短期記憶(LSTM)層を備えている、
請求項11~18のいずれか1項に記載のシステム(500)。
【請求項20】
前記多言語音声認識モデル(200)は、
複数のコンフォーマ層を有しているコンフォーマエンコーダと、
2つのLSTM層を有しているLSTMデコーダと、
を備えているエンコーダデコーダアーキテクチャを備えている、
請求項11~19のいずれか1項に記載のシステム(500)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、自動音声認識のための多言語再スコアリングモデルに関する。
【背景技術】
【0002】
自動音声認識(ASR)システムは、一般的にモバイル機器(移動装置)やその他の機器で使用される技術を提供する。一般に、自動音声認識ASRシステムは、ユーザがモバイル機器に話した内容の正確なトランスクリプション(転写、書き起こし、採録)を提供しようとする。より具体的には、自動音声認識ASRシステムは複数のトランスクリプション候補を生成するとともに、音声入力に一致する可能性が最も高いトランスクリプション候補を出力する。場合によっては、自動音声認識ASRシステムは、ユーザが実際に話した内容には一致しない不正確なトランスクリプションを出力する。このような場合、自動音声認識ASRシステムは複数のトランスクリプション候補を再スコアリングするとともに、音声入力に一致する正確なトランスクリプションを出力する。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】OGAWA ATSUNORI ET AL, "Rescoring N-Best Speech Recognition List Based on One-on-One Hypothesis Comparison Using Encoder-Classifier Model", 2018 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING (ICASSP), IEEE,15 April 2018 (2018-04-15), page 6099-6103,XP033403971,DOI: 10.1109/ICASSP.2018.8461405
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、再スコアリングの1つの課題は、自動音声認識ASRシステムが複数のトランスクリプション候補を正確に再スコアリングするべく、音声入力の言語情報に依存することである。そのため、自動音声認識ASRシステムが多言語の音声環境で再スコアリングを行なうのは、しばしば面倒な作業となる。
【課題を解決するための手段】
【0005】
本開示の一態様は、データ処理ハードウェア上で実行されるとデータ処理ハードウェアに、自動音声認識のための多言語再スコアリングモデルを使用する動作(操作、オペレーション)を実行させる、コンピュータ実装方法を提供する。動作は、発話に対応する音声データから抽出済みの音響フレームのシーケンスを受信する工程を備えている。第1パス中に、動作は、発話に対するN個の候補仮説(ヒポセシス)を生成するべく、多言語音声認識モデルを使用することで、音響フレームのシーケンスを処理する工程を備えている。第2パス中に、N個の候補仮説の各候補仮説について、本方法は以下を備えている:すなわち、ニューラルオラクルサーチ(NOS)モデルを使用することで、音響フレームのシーケンスと、対応する候補仮説と、に基づき各々の非正規化(正規化されていない)尤度スコアを生成する工程と、言語モデルを使用することで、各々の外部言語モデルスコアを生成する工程と、第1パス中に生成済みの対応する候補仮説の事前統計(プライアスタティスティクス)をモデル化する単体(スタンドアロン、単独)スコアを生成する工程と、非正規化スコア、外部言語モデルスコア、および単体スコア、に基づき候補仮説の各々の総合(オーバーオール、全体)スコアを生成する工程と、を備えている。動作はまた、N個の候補仮説の中から、最も高い各々の総合(全体)スコアを有している候補仮説を、発話の最終トランスクリプションとして選択する工程も備えている。
【0006】
本開示の実施形態は、以下の任意の特徴の1つまたは複数を備えていることができる。いくつかの実装では、N個の候補仮説の各候補仮説は、単語またはサブワードラベル(ワードラベルまたはサブワードラベル)の各々のシーケンスを備えている。ここで、各単語またはサブワードラベルは、各々の埋込ベクトルによって表わされる。外部言語モデルは、テキストのみのデータでトレーニング(訓練、学習)されてもよい。いくつかの例では、ニューラルオラクルサーチNOSモデルは言語固有(言語特異的)のニューラルオラクルサーチNOSモデルを備えている。これらの例では、動作はさらに、発話の言語を示す言語識別子を受信する工程と、異なる各々の言語について各々が訓練(トレーニング)された複数の言語固有ニューラルオラクルサーチNOSモデルの中から、言語固有ニューラルオラクルサーチNOSモデルを選択する工程と、を備えている。
【0007】
オプションとして、ニューラルオラクルサーチNOSモデルは、多言語ニューラルオラクルサーチNOSモデルを備えていることができる。いくつかの実装では、外部言語モデルは、言語固有の外部言語モデルを備えている。これらの実装では、動作はさらに、発話の言語を示す言語識別子を受信する工程と、異なる各々の言語で各々が訓練された複数の言語固有の外部言語モデルの中から言語固有の外部言語モデルを選択する工程と、を備えている。ニューラルオラクルサーチNOSモデルは、2つの単方向長短期記憶(一方向LSTM)層を備えていることができる。いくつかの例では、音声認識モデルは、複数のコンフォーマ層を有しているコンフォーマエンコーダと、2つのLSTM層を有しているLSTMデコーダと、を備えているエンコーダデコーダアーキテクチャを備えている。
【0008】
本開示の別の態様は、データ処理ハードウェアと、データ処理ハードウェア上で実行されるとデータ処理ハードウェアに動作(オペレーション、操作)を実行させる命令を記憶するメモリハードウェアと、を備えているシステムを提供する。動作は、発話に対応する音声データから抽出済みの音響フレームのシーケンスを受信する工程を備えている。第1パス中に、動作は、発話に対するN個の候補仮説を生成するべく、多言語音声認識モデルを使用することで、音響フレームのシーケンスを処理する工程を備えている。第2パス中に、N個の候補仮説の各候補仮説について、本方法は以下を備えている:すなわち、ニューラルオラクルサーチ(NOS)モデルを使用することで、音響フレームのシーケンスと、対応する候補仮説と、に基づき各々の非正規化尤度スコアを生成する工程と、言語モデルを使用することで、各々の外部言語モデルスコアを生成する工程と、第1パス中に生成済みの対応する候補仮説の事前統計をモデル化する単体スコアを生成する工程と、非正規化スコア、外部言語モデルスコア、および単体スコア、に基づき候補仮説の各々の総合スコアを生成する工程と、を備えている。動作はまた、N個の候補仮説の中から最も高い各々の総合スコアを有している候補仮説を、発話の最終トランスクリプションとして選択する工程も備えている。
【0009】
本開示の実施形態は、以下の任意の特徴の1つまたは複数を備えていることができる。いくつかの実装では、N個の候補仮説の各候補仮説は、単語またはサブワードラベルの各々のシーケンスを備えている。ここで、各単語またはサブワードラベルは、各々の埋込ベクトルによって表わされる。外部言語モデルは、テキストのみのデータでトレーニングされてもよい。いくつかの例では、ニューラルオラクルサーチNOSモデルは言語固有のニューラルオラクルサーチNOSモデルを備えている。これらの例では、動作はさらに、発話の言語を示す言語識別子を受信する工程と、異なる各々の言語について各々が訓練された複数の言語固有ニューラルオラクルサーチNOSモデルの中から、言語固有ニューラルオラクルサーチNOSモデルを選択する工程と、を備えている。
【0010】
オプションとして、ニューラルオラクルサーチNOSモデルは多言語ニューラルオラクルサーチNOSモデルを備えていることができる。いくつかの実装では、外部言語モデルは、言語固有の外部言語モデルを備えている。これらの実装では、動作はさらに、発話の言語を示す言語識別子を受信する工程と、異なる各々の言語で各々が訓練された複数の言語固有の外部言語モデルの中から言語固有の外部言語モデルを選択する工程と、を備えている。ニューラルオラクルサーチNOSモデルは、2つの単方向長短期記憶(一方向LSTM)層を備えていることができる。いくつかの例では、音声認識モデルは、複数のコンフォーマ層を有しているコンフォーマエンコーダと、2つのLSTM層を有しているLSTMデコーダと、を備えているエンコーダデコーダアーキテクチャを備えている。
【0011】
本開示の1つまたは複数の実施態様の詳細は、添付の図面および以下の説明に記載されている。他の態様、特徴、および利点、は説明および図面、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0012】
図1】一例の音声認識モデルを実行する、音声環境の概略図。
図2図1の例示的な音声認識モデルの概略図。
図3A】複数の言語固有のニューラルオラクル探索(NOS)モデルを使用する、例示的な再スコアリング処理の概略図。
図3B】多言語ニューラルオラクルサーチNOSモデルを用いた、再スコアリング処理の一例を示す概略図。
図4】自動音声認識のために多言語の再スコアリングモデルを使用する、方法の動作の配置例のフローチャート。
図5】本明細書に記載のシステムおよび方法を実施するべく使用され得る、例示的なコンピューティング装置の概略図。
【発明を実施するための形態】
【0013】
様々な図面における同様の参照符号は、同様の要素を示す。
自動音声認識(ASR)システムは、ユーザが話した内容のより正確なトランスクリプション(転写、書き起こし、音声記録)を提供するべく、ユーザ装置(ユーザデバイス、ユーザ機器)にますます普及している。しかし、自動音声認識ASRシステムは、ユーザが実際に話した内容を誤認識した不正確なトランスクリプションを生成する場合もありうる。いくつかの構成では、自動音声認識ASRシステムは、発声済みの発話に対してN個の最良候補仮説を生成するとともに、最良の候補仮説を最終トランスクリプションとして出力する。しかし、N個の最良候補仮説の構成は、1つの最良仮説の構成とで比較して、単語誤り率(WER)がほぼ50%低くなる。したがって、いくつかの実装では、自動音声認識ASRシステムは、単語誤り率WERを高めるべく追加情報を統合することによって、N個の最良候補仮説を再スコアリングする。このような再スコアリングの実装は、多言語音声環境における言語情報(すなわち、ユーザが話した言語識別子)に依存しており、わずかな単語誤り率WERの改善しか提供しない。上述した課題によって、N個の最良候補仮説構成を使用する自動音声認識ASRシステムと、1個の最良候補仮説構成を使用する自動音声認識ASRシステムと、の間に単語誤り率WER性能のギャップがあることが明らかになった。
【0014】
したがって、本明細書の実装は、対応する発話に対してN個の候補仮説を生成する再スコアリング処理を実行するとともに、最も可能性の高い候補仮説を選択して最終トランスクリプションとして出力するような、方法およびシステムに向けられている。特に、第1パス中、再スコアリング処理は、多言語音声認識モデルを使用することで、N個の候補仮説を生成する。その後、第2パス中、再スコアリング処理は、各候補仮説について、ニューラルオラクルサーチ(NOS)モデルを使用することで各々の非正規化(正規化されていない)尤度スコアを生成したり、外部言語モデルのスコアを生成したり、候補仮説の事前統計をモデル化した単体(スタンドアロン、単独)スコアを生成したりする。以下で明らかになるように、ニューラルオラクルサーチNOSモデルは、言語固有のニューラルオラクルサーチNOSモデルまたは多言語ニューラルオラクルサーチNOSモデルであってもよい。さらに、第2パス中、再スコアリング処理は、非正規化尤度スコア、外部言語モデルスコア、および単体スコア、に基づき各候補仮説の総合スコア(オーバーオールスコア)を生成する。再スコアリング処理は、総合スコアが最も高い候補仮説を、発話に対する最終トランスクリプションとして選択する。
【0015】
図1は、音声(スピーチ、発話)環境100の一例である。音声環境100において、ユーザ104がユーザ装置10などのコンピューティング装置とで対話する方法は、音声入力であってもよい。ユーザ装置10は、音声環境100内の1人または複数のユーザ104からの音(例えば、ストリーミング音響データ)を取り込む(キャプチャする、捕捉する)ように構成される。ここで、ストリーミング音響(オーディオ)データは、可聴クエリ、ユーザ装置10に対するコマンド、またはユーザ装置10によって捕捉された可聴コミュニケーション、として機能するユーザ104による発話(話し言葉、音声発話)106を指す場合がある。ユーザ装置10の音声対応システムは、クエリに応答することによって、および/またはコマンドを1つまたは複数の下流アプリケーションによって実行/履行させることによって、クエリまたはコマンドをフィールド化することができる。
【0016】
ユーザ装置10は、ユーザ104に関連付けられているとともに音響データを受信することができる任意のコンピューティング装置に対応することができる。ユーザ装置10のいくつかの例には、モバイル機器(例えば、携帯電話、タブレット、ラップトップ、など)、コンピュータ、ウェアラブル機器(例えば、スマートウォッチ)、スマート家電、モノのインターネット(IoT)機器、車両インフォテインメントシステム、スマートディスプレイ、スマートスピーカ、などが含まれるが、これらに限定されない。ユーザ装置10は、データ処理ハードウェア12と、データ処理ハードウェア12に通信するメモリハードウェア14と、を備えている。メモリハードウェア14は、データ処理ハードウェア12によって実行されるとデータ処理ハードウェア12に1つまたは複数の動作を実行させる命令を記憶する。ユーザ装置10はさらに音声システム16を備えている。音声システム16は、音声環境100内の発話106を捕捉およびカバーして電気信号に変換するための音声キャプチャ装置(例えば、マイクロフォン)16、16aと、可聴音声信号を(例えば、ユーザ装置10からの出力音声データとして)伝達するための音声出力装置(例えば、スピーカ)16、16bと、を有している。ユーザ装置10は、図示の例では単一の音声(音響)キャプチャ装置16aを実装しているが、ユーザ装置10は、本開示の範囲から逸脱することなく音声キャプチャ装置16aのアレイを実装してもよい。それによって、アレイ内の1つまたは複数の音声キャプチャ装置16aは、ユーザ装置10上に物理的に存在しなくてもよいが、音声(音響)システム16に通信していてもよい。
【0017】
音声環境100において、音声認識モデル(すなわち、自動音声認識ASRモデル)200を実装する自動音声認識(ASR)システム118は、ユーザ104のユーザ装置10上に、および/または、ネットワーク40を介してユーザ装置10に通信するリモートコンピューティング装置60(例えば、クラウドコンピューティング環境で実行される分散システムの1つまたは複数のリモートサーバ)上に、存在(常駐)する。自動音声認識ASRシステム118はまた、1つまたは複数の外部言語モデル310およびニューラルオラクルサーチ(NOS)モデル320を実装することができる。ユーザ装置10および/またはリモートコンピューティング装置(すなわち、リモートサーバ)60は、音声サブシステム108も備えている。音声サブシステム108は、ユーザ104によって発声済みの発話106であって、音声キャプチャ装置16aによってキャプチャ済みの発話106を、受信するとともに、当該発話106を、自動音声認識ASRシステム118によって処理可能な入力音響フレーム(音響フレーム110)に関連付けられた対応するデジタルフォーマットに変換するように構成されている。図示の例では、ユーザが各々の発話106を話している一方で、音声サブシステム108は当該発話106を、自動音声認識ASRシステム118に入力するための対応する音声データ(例えば、音響フレーム110)変換する。その後、音声認識モデル200は、入力として、発話106に対応する音声データ(110)を受信するとともに、出力として、発話106の対応するトランスクリプション120(例えば、音声認識結果/仮説)を生成/予測する。以下にさらに詳細に説明するように、音声認識モデル200は、発話106によって指定済みのクエリが待ち時間に対してどの程度敏感であるか、および/またはユーザ104が待ち時間に対してどの程度寛容であるか、に応じて音声認識を実行する際に、音声認識モデル200が推論中に、先読み音声コンテキストの異なる継続時間を設定できるようにするべく、可変の先読み音声コンテキストでトレーニング済みのエンドツーエンドの音声認識モデル200を備えていることができる。例えば、ユーザ装置10上で実行されるデジタルアシスタントアプリケーション50は、発話106によって指定済みのクエリが待ち時間(レイテンシ)に対してどの程度敏感であるか、および/またはユーザ104が待ち時間に対してどの程度の許容範囲を持っているか、に応じて音声認識を要求することができる。
【0018】
いくつかの実装では、音声認識モデル200は、N個の候補仮説204(図3A図3B)を生成するための第1パス中、音声データ110に対してストリーミング音声認識を実行している。ニューラルオラクルサーチNOSモデル320および言語モデル310は、最終トランスクリプション(転写、書き起こし)120を生成するための第2パス中、N個の候補仮説204を再スコアリングする。例えば、図示の例では、音声認識モデル200は、(N個の候補仮説204に基づき)部分音声認識結果(すなわち、部分トランスクリプション)120、120aを生成するべく、音声データ110に対してストリーミング音声認識を実行している。言語モデル310およびニューラルオラクルサーチNOSモデル320は、最終音声認識結果(すなわち、最終トランスクリプション)120、120bを生成するべく、N個の候補仮説204を再スコアリングする。特に、音声認識モデル200は、部分音声認識結果120aを生成するべく、ゼロ(または約240ミリ秒)に設定され得る先読み音声コンテキストを使用してもよい。したがって、入力発話(発話106)に対する最終音声認識結果120bは、入力発話に対する部分音声認識結果120aから遅れてもよい。
【0019】
ユーザ装置10および/またはリモートコンピューティング装置60はまた、発話106のトランスクリプション120の表現を、ユーザ装置10のユーザ104に提示するように構成されたユーザインタフェース生成部109を実行する。以下にさらに詳細に説明するように、ユーザインタフェース生成部109は、第1時間1中に部分音声認識結果120aをストリーミング方式で表示することができる。その後、ユーザインタフェース生成部109は、第2時間2中に最終音声認識結果120bを表示することができる。いくつかの構成では、自動音声認識ASRシステム118から出力されたトランスクリプション120は、例えば、ユーザ装置10またはリモートコンピューティング装置60上で実行される自然言語理解(NLU)モジュールによって処理されることで、発話106によって指定済みのユーザコマンド/クエリを実行する。追加的または代替的に、テキスト音声合成システム(図示せず)(例えば、ユーザ装置10またはリモートコンピューティング装置60の任意の組み合わせ上で実行される)は、ユーザ装置10および/または別の機器による可聴出力用に、トランスクリプションを合成音声に変換してもよい。
【0020】
図示の例では、ユーザ104がデジタルアシスタントアプリケーション50に通信している。デジタルアシスタントアプリケーション50は、ユーザ104とデジタルアシスタントアプリケーション50との間の会話を描写するべく、ユーザ装置10の画面上にデジタルアシスタントインタフェース18を表示する。この例では、ユーザ104はデジタルアシスタントアプリケーション50に、「今夜のコンサートは何時?」と質問する。ユーザ104からのこの質問は、音声キャプチャ装置16aによってキャプチャされるとともに、ユーザ装置10の音声システム16によって処理される発話106である。この例では、音声システム16は発話106を受信するとともに、当該発話106を、自動音声認識ASRシステム118に入力するための音響フレーム110に変換する。
【0021】
この例を続けると、音声認識モデル200は、ユーザ104が話す発話106に対応する音響フレーム(すなわち、音声データ)110を受信しながら、音響フレーム110を符号化(エンコード)するだけでなく、さらに符号化(エンコード)済みの音響フレーム110を部分音声認識結果120aに復号化(デコード)する。第1時間1中、ユーザインタフェース生成部109は、デジタルアシスタントインタフェース18を介して、発話106の部分音声認識結果120aの表現を、単語、単語片、および/または個々の文字、が発声されるとすぐに画面上に現れるストリーミング方式で、ユーザ装置10のユーザ104に提示する。
【0022】
第2パス中、および発話106に対応する全ての音響フレーム110が受信された後、自動音声認識ASRシステム118は、言語モデル310およびニューラルオラクルサーチNOSモデル320を使用することで、N個の候補仮説204のうちの各候補仮説204を再スコアリングするとともに、N個の候補仮説204の中から、発話106の正確なトランスクリプション(転写)120である可能性(尤度)が最も高い候補仮説204を選択する。第2時間2中、ユーザインタフェース生成部109は、デジタルアシスタントインタフェース18を介して、発話106の最終音声認識結果120bの表現を、ユーザ装置10のユーザ105に提示する。いくつかの実装では、ユーザインタフェース生成部109は、部分音声認識結果120aの表現を、最終音声認識結果120bの表現によって置き換える。例えば、最終音声認識結果120bは、先読み音声コンテキストを活用せずに生成済みの部分音声認識結果120aよりも、正確であると推定される。よって、最終的にトランスクリプション120として表示される最終音声認識結果120bは、部分音声認識結果120aにおいて誤認識されたかもしれない用語を、修正することができる。この例では、ストリーミングの部分音声認識結果120aは、音声認識モデル200によって出力されているとともに、第1時間1にユーザ装置10の画面上に表示されており、低レイテンシ(低い待ち時間)に関連付けられている。よって、自分のクエリが処理されているという応答性をユーザ104に提供する。一方、第2時間2に画面上に表示される最終音声認識結果120bは、精度の点で音声認識品質を向上させるが、待ち時間(レイテンシ)が増大する。しかし、部分音声認識結果120aはユーザが発話106を話すときに表示されるので、最終認識結果を生成するとともに最終的に表示することに関連する高い待ち時間は、ユーザ104には気づかれない。
【0023】
図1に示す例では、デジタルアシスタントアプリケーション50は、自然言語処理を使用することで、ユーザ104によって提起された質問に応答することができる。自然言語処理は、一般に、書かれた言語(例えば、部分音声認識結果120aおよび/または最終音声認識結果120b)を解釈するとともに、書かれた言語が何らかのアクションを促すかどうかを決定する、といった処理を指す。この例では、デジタルアシスタントアプリケーション50は自然言語処理を使用することで、ユーザ104からの質問が、ユーザのスケジュールに関するものであることを、より詳細にはユーザのスケジュール上のコンサートに関するものであることを、認識する。自然言語処理でこれらの詳細を認識することによって、自動アシスタントは、ユーザの問い合わせ(クエリ)に対して、応答19を返している。応答19は、「会場のドアは午後6時30分に開き、コンサートは午後8時に始まります」と述べる。いくつかの構成では、自然言語処理は、ユーザ装置10のデータ処理ハードウェア12に通信しているリモートサーバ60上で、行なわれる。
【0024】
図2を参照すると、例示的なフレームアライメントベースのトランスデューサモデル200aは、対話型アプリケーションに関連する待ち時間制約を遵守するリカレントニューラルネットワーク-トランスデューサ(RNN-T)モデルアーキテクチャを備えている。リカレントニューラルネットワーク-トランスデューサRNN-Tモデルアーキテクチャの使用は例示的なものであり、フレームアライメントベースのトランスデューサモデル200は、特に、トランスフォーマ-トランスデューサおよびコンフォーマ-トランスデューサモデルアーキテクチャなどの、他のアーキテクチャを含み得る。リカレントニューラルネットワーク-トランスデューサRNN-Tモデル200は、小さな計算フットプリントを提供しているとともに、従来の自動音声認識ASRアーキテクチャよりも少ないメモリ要件を利用するので、リカレントニューラルネットワーク-トランスデューサRNN-Tモデルアーキテクチャは、ユーザ装置102上で完全に音声認識を実行するのに適している(たとえば、リモートサーバとの通信は必要無い)。リカレントニューラルネットワーク-トランスデューサRNN-Tモデル200は、エンコーダネットワーク210、予測ネットワーク220、および結合(ジョイント)ネットワーク230、を備えている。エンコーダネットワーク210は、従来の自動音声認識ASRシステムにおける音響モデル(AM:アコースティックモデル)にほぼ類似しているので、スタックされたロングショートターム(LSTM)層のリカレントネットワークを備えていることができる。例えば、エンコーダは、d次元特徴ベクトルのシーケンス(例えば、音響フレーム110(図1)x=(X,X,…,X)、ここでXt∈R、Rは白抜き文字)を読み取ることによって、各出力ステップで高次特徴表現を生成する。この高次特徴表現は、h enc,…,h encと表記される。
【0025】
同様に、予測ネットワーク220もLSTMネットワーク(すなわち、LSTMデコーダ)であり、言語モデル(LM)のように、これまでの最終ソフトマックス層240によって出力された非ブランク記号シーケンス(すなわち、ラベル履歴)245(y,…,yui-1)を、密な表現puiに変換する。最後に、リカレントニューラルネットワーク-トランスデューサRNN-Tモデルアーキテクチャでは、エンコーダおよび予測/デコーダネットワーク210、220によって生成済みの表現同士は、結合ネットワーク230によって結合される。予測ネットワーク220は、密な表現同士を処理する代わりに、ルックアップ(先読み)されたスパース(疎)な埋め込みを出力することによってレイテンシ(待ち時間)を改善するべく、埋込ルックアップテーブルによって置き換えられてもよい。次に、結合ネットワークは、次の出力記号に対する分布である、P(y|Xti,y,…,yui-1)を予測する。別の言い方をすれば、結合ネットワーク230は、各出力ステップ(例えば、時間ステップ)において、可能性のある音声認識仮説に対する確率分布を生成する。ここで、「可能性のある(ポシブル)音声認識仮説」は、指定済みの自然言語における記号(シンボル)/文字を各々表わす、出力ラベルのセットに対応する。例えば、自然言語が英語である場合、出力ラベルのセットは、27個のシンボル(記号)を備えていることができ、例えば、英語のアルファベットにおける26個の文字の各々に対する1個のラベルと、スペースを指定する1個のラベルと、を備えていることができる。従って、結合ネットワーク230は、所定の出力ラベルの集合(セット)の各々の発生の尤度を示す値の集合を出力することができる。この値のセットはベクトルとすることができるとともに、出力ラベルのセットにわたる確率分布を示すことができる。場合によっては、出力ラベルは書記素(例えば、個々の文字であり、潜在的には句読点や他の記号)であるが、出力ラベルのセットはそれほど限定されない。例えば、出力ラベルのセットは、書記素(グラフェムズ)に加えて、または書記素の代わりに、単語片および/または単語全体を備えていることができる。結合ネットワーク230の出力分布は、異なる出力ラベル同士の各々に対する事後確率値を備えていることができる。したがって、異なる書記素または他の記号を表わす100個の異なる出力ラベルが存在する場合、結合ネットワーク230の出力yiは、出力ラベルごとに1つずつの確率値であるように、100個の異なる確率値を備えていることができる。次に、確率分布は、トランスクリプション120を決定するためのビーム探索処理(例えば、ソフトマックス層240による)において、候補となる正書法(オルソグラフィック)要素(例えば、書記素(グラフェムズ)、単語片(ワードピース)、および/または単語(ワード))を選択するとともにスコアを割り当てるべく、使用することができる。
【0026】
ソフトマックス層240は、対応する出力ステップにおいてリカレントニューラルネットワーク-トランスデューサRNN-Tモデル200によって予測される次の出力記号(アウトプットシンボル)として、分布において最も高い確率を有している出力ラベル/記号を選択する任意の技術を採用することができる。このように、リカレントニューラルネットワーク-トランスデューサRNN-Tモデル200は、条件付き独立性の仮定を行なわず、むしろ、各記号の予測は、音響だけでなく、これまでに出力されたラベルのシーケンスにも条件付けられる。リカレントニューラルネットワーク-トランスデューサRNN-Tモデル200は、出力記号が将来の音響フレーム110から独立していると仮定している。これによって、リカレントニューラルネットワーク-トランスデューサRNN-Tモデルをストリーミング方式で採用することができる。
【0027】
いくつかの例では、リカレントニューラルネットワーク-トランスデューサRNN-Tモデル200のエンコーダネットワーク(例えば、音響エンコーダ)210は、コンフォーマ層のスタックを備えているコンフォーマベースのエンコーダを有しているエンコーダデコーダアーキテクチャである。ここで、各コンフォーマ層は、一連(シリーズ)の多頭自己アテンション層、深度ワイズ畳み込み層、およびフィードフォワード層、を備えている。いくつかの例では、コンフォーマベースのエンコーダは、17個のコンフォーマ層のスタックを備えていることができる。エンコーダネットワーク210は、多頭自己アテンション機構を有している、他のタイプのエンコーダを含んでもよい。たとえば、エンコーダネットワーク210は、トランスフォーマベースのエンコーダ、または軽量畳み込み(LConv)ベースのエンコーダであってもよい。また、エンコーダネットワーク210は、LSTM層のシーケンスを備えているRNNベースであってもよい。予測ネットワーク220は、2つの2048次元LSTM層を有しているLSTMデコーダであってもよく、各LSTM層には640次元の投影層も続く。あるいは、予測ネットワーク220は、LSTM層の代わりに、変換器(トランスフォーマ)またはコンフォーマブロックのスタック、または埋込ルックアップテーブルを含んでもよい。最後に、結合ネットワーク230も640個の隠れユニットを持つことがある。ソフトマックス層240は、複数のトレーニングデータセットに含まれる全ての固有の単語片(ワードピース)または書記素を用いて生成済みの、統一された単語片または書記素セットで構成されてもよい。
【0028】
ここで図3Aおよび図3Bを参照すると、いくつかの実装では、リモートサーバ60(図1)は、第1パス301中に自動音声認識ASRモデル200によって生成済みのN個の候補仮説204を再スコアリングするための例示的な再スコアリング処理300を実行する。あるいは、ユーザ装置10(図1)は、リモートサーバ60(図1)に加えてまたはリモートサーバ60(図1)の代わりに、例示的な再スコアリング処理300を実行してもよい。再スコアリング処理300は、発話106に対応する音響フレーム110のシーケンス(X,X,…,X)に対して、N個の候補仮説204、204a~204n(H,H,…,H)を生成する第1パス301を備えている。さらに、再スコアリング処理300は、N個の候補仮説204のうちの各候補仮説204を、以下でさらに詳細に説明する追加情報源(インフォメーションリソース)を統合することによって再スコアリングする第2パス302を備えている。このように、第2パス302は、N個の候補仮説204の中から、発話106の正確なトランスクリプションである可能性(尤度)が最も高い候補仮説204を選択するように構成されたシーケンス分類オブジェクトを備えている。
【0029】
特に、自動音声認識ASRモデル200は、発話106に対応する音声データから抽出済みの音響フレーム110のシーケンスを受信する。第1パス301中、自動音声認識ASRモデル200は、音響フレーム110のシーケンスを処理することで、発話106に対するN個の候補仮説204を生成する。ここで、各候補仮説204は、発話106の候補トランスクリプション120に対応しており、各々の埋込ベクトルによって表わされる単語、サブワード、および/または書記素ラベルの各々のシーケンスによって表わされる。さらに各候補仮説204は、対応する候補仮説204の事前統計をモデル化する単体スコア205を備えている。すなわち、単体スコア205は、対応する候補仮説204が発話106の正確なトランスクリプションであるという信頼度(確信度、コンフィデンス)を示すことができる。単体スコア205の信頼度は、以前に実現された発話106の頻度(例えば、候補仮説204が以前に発声された回数)を示すこともある。
【0030】
自動音声認識ASRモデル200は、任意の数の候補仮説204を生成してもよい(例えば、Nは任意の整数値であってもよい)。いくつかの例では、自動音声認識ASRモデル200は、予め定義されたパラメータに基づき、指定済みの数の候補仮説204を出力する。例えば、自動音声認識ASRモデル200は、全ての発話106に対して5つの候補仮説204(すなわち、N=5)を出力する。例えば、N個の候補仮説204は、最も高い単体スコア205を有しているN個の候補仮説に関連する候補仮説のNベストリストに対応することができる。他の例では、自動音声認識ASRモデル200は、閾値を満たす単体スコア205を有している全ての候補仮説204を出力する。
【0031】
図示の例では、自動音声認識ASRモデル200は、ユーザ104によって発声済みの発話106「プレイ_ネクスト_ソング」(次の歌を再生して)に対応する音響フレーム110のシーケンスを処理する。そして自動音声認識ASRモデル200は、3つの候補仮説204(すなわち、N=3)を生成する。すなわち、複数の候補仮説204は、0.6の単体スコア205を有している「プレイ_ネクスト_ソング」(次の歌を再生して)と、0.3の単体スコア205を有している「ヘイ_ネクスト_ロング」(やあ次の長い)と、および0.8の単体スコア205を有している「プレイ_ネクスト_ポン」(次のポン(pong)を再生して)と、を備えている。ここで、再スコアリング処理300は、候補仮説204「プレイ_ネクスト_ポン」(次のポン(pong)を再生して)が最も高い単体スコア205を有しているので、当該候補仮説204「プレイ_ネクスト_ポン」を部分(部分的な、パーシャルな)トランスクリプション120a(図1)として出力することができる。あるいは、再スコアリング処理300は、再スコアリング処理が最終トランスクリプションを生成するまで、部分トランスクリプションの出力を控えてもよい。特にこの例では、最も高い単体スコア205を有している候補仮説204は、ユーザ104によって発声済みの発話106の、不正確なトランスクリプションである。
【0032】
自動音声認識ASRモデル200は、多言語(複数の言語)で話された発話106を認識するように構成された、多言語自動音声認識ASRモデルであってもよい。すなわち、単一の自動音声認識ASRモデル200は、第1言語で発話106を受信することによって第1言語でN個の候補仮説204を生成したり、異なる第2言語で別の発話106を受信することによって第2言語でN個の候補仮説204を生成したり、することができる。さらに、単一の自動音声認識ASRモデルは、第1言語および第2言語の両方の用語を備えているコード混合音声を備えている発話106を受信することができる。このように、再スコアリング処理300は、単一の多言語自動音声認識ASRモデル200を、多言語音声環境で実装することができる。
【0033】
いくつかの実装では、第2パス302は、第1パス301からN個の候補仮説204を受け取るとともに、各候補仮説204の追加情報を統合することによって、対応する総合スコア355を生成することができる。総合スコア355は、各候補仮説204が正確なトランスクリプションであるかどうかについての、第1パス301からの単体スコア205よりも一層正確な信頼度を示すことがある。その後、第2パス302は、最も高い総合スコア355を有している候補仮説204を、トランスクリプション120(すなわち、最終トランスクリプション120b(図1))として選択することができる。
【0034】
より具体的には、第2パス302中に、外部言語モデル(LM)310は、N個の候補仮説204を受信することで、各候補仮説204について各々の外部言語モデルスコア315を生成する。いくつかの実装では、外部言語モデルLM310は、リカレントニューラルネットワーク言語モデルRNN_LMを備えている。ここで、外部言語モデルLM310は、各々が特定の言語のテキストのみのデータ(すなわち、ペア(対)になっていないデータ)上でトレーニング済みの、複数の言語固有の外部言語モデルLM310、310a~310nを備えていることができる。このように、「外部言語モデルLM310」および「言語固有の外部言語モデルLM310」は、本明細書において互換的に使用される場合がある。したがって、各言語固有の外部言語モデルLM310は、各々の言語の発話106の外部言語モデルスコア(すなわち、言語モデルスコア)315を生成するように構成される。例えば、英語のテキストのみのデータでトレーニング済みの第1言語固有の外部言語モデルLM310、310aは、英語で発声済みの発話106の言語モデルスコア315を生成する。スペイン語のテキストのみのデータでトレーニング済みの第2言語固有の外部言語モデルLM310、310bは、スペイン語で発声済みの発話106の言語モデルスコア315を生成する。複数の外部言語モデルLM310は、任意の数の言語でトレーニングすることができる。ここで各外部言語モデルLM310は、異なる各々の言語のテキストのみのデータでトレーニングされる。
【0035】
したがって、外部言語モデルLM310は、発話106の言語を示す言語識別子107を受信することで、複数の言語固有の外部言語モデルLM310の中から、発話106の言語に対応する言語固有の外部言語モデルLM310を選択することができる。別の言い方をすれば、再スコアリング処理300は、言語識別子107に基づき、言語固有の外部言語モデルLM310を選択することができる。いくつかの例では、自動音声認識ASRモデル200は、発話106の音響フレーム110のシーケンスの処理に基づき、言語識別子107を決定する。他の例では、自動音声認識ASRモデル200は、外部ソースから言語識別子107を取得する。例えば、ユーザは、特定の言語用に自動音声認識ASRモデルを設定(構成)することができる。他の例では、自動音声認識ASRモデル200は、発話106を発声したユーザ104のアイデンティティを決定するとともに、識別済みのユーザ104に関連付けられた言語に基づき言語識別子107を識別することができる。
【0036】
したがって、第2パス302中、再スコアリング処理300は、言語識別子107に基づき発話106の言語に対応する外部言語モデルLM310を選択するとともに、各候補仮説(仮説候補)204の言語モデルスコア315を生成する。言語モデルスコア315は、候補仮説204のうちの一連(シーケンス)の仮説用語が、ユーザ104によって発声される尤度(可能性)を示す。例えば、外部言語モデルLM310は、候補仮説204「今日の天気は何?」(ワット_イズ_ザ_ウェザー_トゥデイ)に対して、候補仮説204「天気は何?ホーレイ」(ワット_イズ_ザ_ウェザー_ホーレイ(hooray、万歳))とは対照的に、より高い言語モデルスコア315を生成する。特に、外部言語モデルLM310は、「今日の天気は何?」(ワット_イズ_ザ_ウェザー_トゥデイ)に対して、より高い言語モデルスコア315を生成する。なぜなら、この仮説用語のシーケンスは、「天気は何?ホーレイ」(ワット_イズ_ザ_ウェザー_ホーレイ(hooray、万歳))よりも頻繁に、テキストのみのトレーニング(学習)データに含まれている可能性があるからである。
【0037】
例示的な再スコアリング処理300はまた、ニューラルオラクルサーチ(NOS)モデル320を備えている。ニューラルオラクルサーチNOSモデル320は、N個の候補仮説204、音響フレーム110のシーケンス、およびラベル履歴245(例えば、以前に出力された単語、単語片、および/または書記素)、を受信する。ラベル履歴245(y0:i-1)は、自動音声認識ASRモデル200、(例えば、再スコアラー350を介した)再スコアリング処理300の第2パス302、またはそれらの組み合わせ、によって出力され得る。いくつかの例では、ラベル履歴245は、ユーザ104によって発声済みの以前の発話106のトランスクリプション(文字起こし)を備えている。例えば、ユーザ104は、「明日はどうする?」(ワット_アバウト_トゥデイ?)という現在の発話106に対するラベル履歴245を表わす、「今日は私に何か会議がある?」(ドゥー_アイ_ハブ_エニー_ミーティング_トゥデイ?)という以前の発話106を以前に発声したことがあるかもしれない。他の例では、ラベル履歴245は、発話の現在のラベルに先行する、全ての用語を備えている。例えば、発話106の「プレイ_マイ_プレイリスト」(私の再生リストを再生して)について、ラベル履歴245は、発話106の現在の用語(例えば、次の仮説用語)が「プレイリスト」(再生リスト)である、用語「プレイ_マイ」(私の再生して)に対応することがある。任意選択で、ニューラルオラクルサーチNOSモデル320は、ユーザ104によって発声済みの発話106の言語を示す言語識別子107を受信することができる。
【0038】
図3Aは、複数の言語固有ニューラルオラクルサーチNOSモデル320S、320Sa~320Snを備えている再スコアリング処理300、300aの一例を示す。ここで、各言語固有ニューラルオラクルサーチNOSモデル320Sは、特定の言語のペアワイズデータ(すなわち、書き起こされた音響トレーニングデータ)上でトレーニングされる。したがって、第2パス302中、再スコアリング処理300は、言語識別子107に基づき、複数の言語固有ニューラルオラクルサーチNOSモデル320Sの中から、発話106の言語に対応する言語固有ニューラルオラクルサーチNOSモデル320Sを選択する。このように、例示的な再スコアリング処理300aは、正しい言語固有ニューラルオラクルサーチNOSモデル320Sを選択するべく、言語識別子107が利用可能にされていると仮定する。
【0039】
代替的に、図3Bは、多言語ニューラルオラクルサーチNOSモデル320、320Mを備えている例示的な再スコアリング処理300、300bを示す。この例では、多言語ニューラルオラクルサーチNOSモデル320Mは、任意の数の言語のペアワイズデータ(すなわち、書き起こされた音声トレーニングデータ)上でトレーニングされる。したがって、例示的な再スコアリング処理300bは、多言語音声環境において、単一の多言語ニューラルオラクルサーチNOSモデル320Mを実装することができる。注目すべきことに、発話106の言語に関連付けられた言語固有のニューラルオラクルサーチNOSモデル320S(図3Aを参照して説明したような)の選択が要求されないので、例示的な再スコアリング処理300bは、任意の言語識別子107の使用を必要にしない。したがって、発話106は、2つ以上の言語にまたがる音声のコードミキシングを備えている多言語発話を備えていることができる。本明細書で使用されるように、ニューラルオラクルサーチNOSモデル320は、再スコアリング処理300aが言語識別子107に基づき選択する言語固有ニューラルオラクルサーチNOSモデル320S(図3A)か、または多言語ニューラルオラクルサーチNOSモデル(図3B)か、のいずれかを備えていることができる。
【0040】
図3Aおよび図3Bを引き続き参照すると、ニューラルオラクルサーチNOSモデル320は、ラベル履歴245を与えられた次のラベルYを予測する、事前モデルを備えている。すなわち、事前モデルは、以前に認識された単語、単語片、および/または書記素、に基づき次のラベルの事前スコアを予測する。ニューラルオラクルサーチNOSモデル320の事前モデルは、1層あたり512ユニットである、2層の一方向LSTMを備えていることができる。事前モデルは、ラベル付けされた音声トレーニングデータとクロスエントロピー損失とを使用することで、トレーニング(学習)する。さらに、ニューラルオラクルサーチNOSモデル320は、ラベル履歴245と、第1パス301からの音響フレーム110のシーケンスと、をラベル同期方式で組み合わせることによって、事後スコアを予測する事後モデルを備えている。ニューラルオラクルサーチNOSモデル320の事後モデルは、1層あたり512ユニットである2層の一方向LSTMと、1層あたり128ユニットである2層のラベル同期アテンション(注意)メカニズムと、を備えていることができる。事後モデルは、ラベル履歴245と、音響フレーム110のシーケンスと、が与えられると、次のラベルYを予測するべく、ラベル付き音響トレーニングデータとクロスエントロピー損失とでトレーニング(学習)する。ニューラルオラクルサーチNOSモデル320は、トークンレベルの事前スコアと、トークンレベルの事後スコアと、を合計することで非正規化尤度スコア325を生成する。このように、非正規化尤度スコア325は、以下のような和によって表わされるシーケンスレベルのスコアである。
【0041】
【数1】
【0042】
式1において、Sθ1は非正規化尤度スコア325を表わす。
再スコアラー350は、N個の候補仮説204のうちの各候補仮説204について、単体(スタンドアロン、単独)スコア205、言語モデルスコア315、および非正規化尤度スコア325、を受け取るとともに、各々の総合スコア355を生成する。特に、再スコアラー350は、単体スコア205、言語モデルスコア315、および非正規化尤度スコア325、の任意の組み合わせに基づき、各候補仮説204の総合スコア355を生成する。いくつかの例では、再スコアラー350は、単体(スタンドアロン、単独)スコア205、言語モデルスコア315、および非正規化尤度スコア325、を線形に合計することで、以下の式で表わされるシーケンスレベルの総合スコア355を決定する。
【0043】
【数2】
【0044】
式(3)において、Sθ1は、非正規化尤度スコア325を表している。Sθ2は外部言語モデルスコア315を表している。Sθ3は単体スコア205を表わす。トレーニング中に再スコアラー350のモデルパラメータを最適化するべく、再スコアリング処理300は、事後スコアとシーケンスレベルのグラウンドトゥルース分布との間の、クロスエントロピーオブジェクトを使用する。いくつかの例では、トレーニング処理は、全(トータル)グラウンドトゥルース分布をグラウンドトゥルーストランスクリプションに割り当てる一方で、他の全ての候補仮説をゼロに割り当てる。他の例では、トレーニング処理は、最良の候補仮説(すなわち、グラウンドトゥルーストランスクリプション)未満の単語誤り率(WER)を有している全ての候補仮説にわたって一様に、全グラウンドトゥルース分布を割り当てる。さらに他の例では、トレーニング処理は、各候補仮説とグラウンドトゥルーストランスクリプションとの間の負の編集距離に、ソフトマックス関数を適用する。
【0045】
その後、再スコアラー350は、N個の候補仮説204の中から、最も高い総合スコア355を有している候補仮説204を、発話106の最終トランスクリプション120として選択する。図示の例では、候補仮説204には、0.9の総合スコア355を有している「プレイ_ネクスト_ソング」(次の歌を再生して)、0.3の総合スコア355を有している「ヘイ_ネクスト_ロング」(やあ次の長い)、および0.5の総合スコア355を有している「プレイ_ネクスト_ポン」(次のポン(pong)を再生して)、が含まれる。この例を続けると、再スコアラー350は、0.9という最も高い総合スコア355を有している「プレイ_ネクスト_ソング」(次の歌を再生して)(実線のボックスで示される)の候補仮説204を、トランスクリプション120(例えば、最終トランスクリプション120b(図1))として選択する。注目すべきは、最も高い単体スコア205(すなわち、正しいトランスクリプションである可能性)を持つ候補仮説204は、正しい候補仮説204ではないということ。そして、最も高い総合スコア355を持つ候補仮説が、第2パス302からの正しいトランスクリプションであるということである。
【0046】
図4は、自動音声認識のために多言語の再採点(再スコアリング)モデルを使用するコンピュータ実装方法400の動作(操作、オペレーション)の、例示的な配置(アレンジメント、構成)のフローチャートである。動作402において、方法400は、発話106に対応する音声データから抽出済みの音響フレーム110のシーケンスを受信する工程を備えている。動作404において、第1パス301中、方法400は、音響フレーム110のシーケンスを処理して、多言語音声認識モデル(すなわち、自動音声認識ASRモデル)200を使用することで、発話106に対するN個の候補仮説204、204a~204nを生成する工程を備えている。第2パス302中、N個の候補仮説204のうちの各候補仮説204について、方法400は動作406~412を実行する。動作406において、方法400は、ニューラルオラクルサーチNOSモデル320を用いて、各々の非正規化尤度スコア325を生成する工程を備えている。ここで、ニューラルオラクルサーチNOSモデル320は、音響フレーム110のシーケンスと、対応する候補仮説204と、に基づき非正規化尤度スコア325を生成する。動作408において、方法400は、言語モデル310を用いて各々の外部言語モデルスコア315を生成する工程を備えている。動作410において、方法400は、第1パス301中に生成済みの対応する候補仮説204の事前統計をモデル化する、単体スコア205を生成する工程を備えている。動作412において、方法400は、非正規化尤度スコア325、外部言語モデルスコア315、および単体スコア205、に基づき候補仮説255の各々の総合スコア355を生成する工程を備えている。動作414において、方法400は、N個の候補仮説204の中から最も高い(最高の)各々の総合スコア355を有している候補仮説204を、発話106の最終トランスクリプション120として選択する工程を備えている。
【0047】
図5は、本書に記載されるシステムおよび方法を実施するべく使用され得る例示的なコンピューティング装置500の概略図である。コンピューティング装置500は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータ、などの様々な形態のデジタルコンピュータを表わすことを意図している。ここに示された構成要素、それらの接続および関係、ならびにそれらの機能は、例示的なものであることのみを意図しているのであり、本書で説明および/または特許請求される発明の実施を制限することを意図していない。
【0048】
コンピューティング装置500は、プロセッサ510と、メモリ520と、ストレージデバイス530と、メモリ520および高速拡張ポート550に接続する高速インタフェース/コントローラ540と、および低速バス570およびストレージデバイス530に接続する低速インタフェース/コントローラ560と、を備えている。各構成要素510、520、530、540、550、および560、はさまざまなバスを使用して相互接続されており、共通のマザーボード上に、または適切な他の方法で、実装することができる。プロセッサ510は、高速インタフェース540に結合されたディスプレイ580などの外部入出力デバイスにグラフィカルユーザインタフェース(GUI)のためのグラフィカル情報を表示するべく、メモリ520または記憶デバイス530に記憶された命令を備えている、コンピューティング装置500内で実行するための命令を処理することができる。他の実施態様では、複数のプロセッサおよび/または複数のバスは、複数のメモリおよびメモリの種類とともに、適宜、使用されてもよい。また、複数のコンピューティング装置500が接続されることで、各装置(デバイス)が必要な動作(操作)の一部を提供してもよい(例えば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)。
【0049】
メモリ520は、コンピューティング装置500内で情報を非遷移的(非一時的、非一過性)に記憶する。メモリ520は、コンピュータ可読媒体、揮発性メモリユニット(複数可)、または不揮発性メモリユニット(複数可)、であってもよい。不揮発性メモリ520は、コンピューティング装置500によって使用されるプログラム(例えば、命令のシーケンス)またはデータ(例えば、プログラム状態情報)を一時的または永続的に記憶するべく使用される物理的デバイスであってよい。不揮発性メモリの例としては、フラッシュメモリ、読み出し専用メモリ(ROM)/プログラマブル読み出し専用メモリ(PROM)/消去可能プログラマブル読み出し専用メモリ(EPROM)/電子消去可能プログラマブル読み出し専用メモリ(EEPROM)(例えば、ブートプログラムなどのファームウェアに通常使用される)が挙げられるが、これらに限定されない。揮発性メモリの例としては、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、およびディスクやテープ、などがあるが、これらに限定されるものではない。
【0050】
記憶装置530は、コンピューティング装置500に大容量記憶装置を提供することができる。いくつかの実施態様において、記憶装置530は、コンピュータ読み取り可能な媒体である。様々な異なる実装において、記憶装置530は、フロッピー(登録商標)ディスク装置、ハードディスク装置、光ディスク装置、またはテープ装置、フラッシュメモリまたは他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークまたは他の構成のデバイスを備えているデバイスのアレイ、であってもよい。追加の実施態様において、コンピュータプログラム製品は、情報キャリアに具体化される。コンピュータプログラム製品は、実行されると上述したような1つまたは複数の方法を実行する命令を備えている。情報キャリアは、メモリ520、記憶装置530、またはプロセッサ510上のメモリ、などのコンピュータ可読媒体または機械可読媒体である。
【0051】
高速コントローラ540は、コンピューティング装置500の帯域幅集約的な動作を管理しており、低速コントローラ560は、帯域幅集約的ではない(低帯域幅集約的な)動作を管理する。このような任務の割り当ては、例示的なものに過ぎない。一部の実装では、高速コントローラ540は、メモリ520、ディスプレイ580(例えば、グラフィックプロセッサまたはアクセラレータを介して)、および高速拡張ポート550に結合されているとともに、様々な拡張カード(図示せず)を受け入れることができる。いくつかの実装では、低速コントローラ560は、ストレージデバイス530および低速拡張ポート590に結合される。低速拡張ポート590は、様々な通信ポート(例えば、USB、ブルートゥース(登録商標)、イーサネット(登録商標)、ワイヤレスイーサネット(登録商標))を備えているとともに、キーボード、ポインティングデバイス、スキャナ、などの1つまたは複数の入出力デバイスに、またはネットワークアダプタを介してスイッチやルータなどのネットワークデバイスに、結合される。
【0052】
コンピューティング装置500は、図示のように、多数の異なる形態で実装されてもよい。例えば、標準サーバ500aとして、またはそのようなサーバ500aのグループ内の複数倍(回)、ラップトップコンピュータ500bとして、またはラックサーバシステム500cの一部として、実装することができる。
【0053】
本明細書で説明するシステムおよび技術の様々な実装は、デジタル電子回路および/または光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせ、で実現することができる。これらの様々な実装は、特殊目的であっても汎用目的であってもよく、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイス、からデータおよび命令を受信したり、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイス、にデータおよび命令を送信したり、するように結合された少なくとも1つのプログラマブルプロセッサを備えているプログラマブルシステム上で実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムにおける実装を備えていることができる。
【0054】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られる)は、プログラマブルプロセッサ用の機械命令を備えており、高レベルの手続き型および/またはオブジェクト指向プログラミング言語、および/またはアセンブリ/機械言語で実装することができる。本明細書で使用される場合、「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械命令を機械可読信号として受信する機械可読媒体を含めて、機械命令および/またはデータをプログラマブルプロセッサに提供するべく使用される、任意のコンピュータプログラム製品、非一過性コンピュータ可読媒体、装置および/またはデバイス(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するべく使用される、あらゆる信号を指す。
【0055】
本明細書で説明する処理および論理フローは、データ処理ハードウェアとも呼ばれる1つまたは複数のプログラマブルプロセッサが、1つまたは複数のコンピュータプログラムを実行することで、入力データに対して動作するとともに出力を生成することによって機能を実行することで実行することができる。処理および論理フローは、特殊用途の論理回路、例えばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によっても実行できる。コンピュータプログラムの実行に適したプロセッサには、一例として、汎用および特殊用途のマイクロプロセッサが、およびあらゆる種類のデジタルコンピュータの任意の1つまたは複数のプロセッサが、含まれる。一般に、プロセッサは、読み取り専用メモリまたはランダムアクセスメモリ、あるいはその両方から命令とデータを受け取る。コンピュータの本質的な要素は、命令を実行するためのプロセッサと、命令やデータを格納するための1つまたは複数のメモリ装置と、である。一般に、コンピュータは、データを格納するための1つまたは複数の大容量記憶装置、例えば磁気ディスク、光磁気ディスク、光ディスク、などからもデータを受け取るか、それら記憶装置にデータを転送するか、あるいはその両方、を行なうようにそれら記憶装置に動作可能に結合されている。しかし、コンピュータがそのような装置を備えている必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体には、あらゆる形態の不揮発性メモリ、媒体およびメモリデバイスが含まれ、例えば、半導体メモリデバイス、例えば、EPROM、EEPROMおよびフラッシュメモリデバイス;磁気ディスク、例えば、内蔵ハードディスクまたはリムーバブルディスク;光磁気ディスク;およびCDROMおよびDVD-ROMディスクが含まれる。プロセッサとメモリは、特殊用途の論理回路によって補足されるか、または特殊用途の論理回路に組み込まれる。
【0056】
ユーザとの相互作用を提供するべく、本開示の1つまたは複数の態様は、ユーザに情報を表示するためのディスプレイデバイス、例えばCRT(陰極線管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーンと、任意選択で、ユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス、例えばマウスまたはトラックボールと、を有しているコンピュータ上で実施することができる。他の種類のデバイスも同様に、ユーザとの対話を提供するべく使用することができる。例えば、ユーザに提供されるフィードバックは、視覚フィードバック、聴覚フィードバック、または触覚フィードバック、などの任意の形式の感覚フィードバックとすることができる。ユーザからの入力は、音響入力、音声入力、または触覚入力、を備えている任意の形式で受信することができる。さらに、コンピュータは、例えば、ウェブブラウザから受信した要求に応じて、ユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザが使用するデバイスにドキュメントを送信したり、デバイスからドキュメントを受信したり、することによってユーザとで対話することができる。
【0057】
多くの実施態様を説明してきた。それにもかかわらず、本開示の精神および範囲から逸脱することなく、様々な変更がなされ得ることが理解されるであろう。従って、他の実施態様も以下の特許請求の範囲に含まれる。
図1
図2
図3A
図3B
図4
図5
【国際調査報告】