(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-18
(54)【発明の名称】自然会話音声システムのための非流暢性検出モデル
(51)【国際特許分類】
G10L 15/04 20130101AFI20241010BHJP
G10L 15/16 20060101ALI20241010BHJP
【FI】
G10L15/04 200
G10L15/16
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024520857
(86)(22)【出願日】2022-08-26
(85)【翻訳文提出日】2024-05-24
(86)【国際出願番号】 US2022075550
(87)【国際公開番号】W WO2023059963
(87)【国際公開日】2023-04-13
(32)【優先日】2021-10-06
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100142907
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】チャン、シュオ-イーン
(72)【発明者】
【氏名】リー、ボー
(72)【発明者】
【氏名】サイナス、ターラ エヌ
(72)【発明者】
【氏名】ストローマン、トレバー
(72)【発明者】
【氏名】ジャン、チャオ
(57)【要約】
方法(500)は1つまたは複数の発話(106)を特徴付ける音響フレーム(110)のシーケンスを受信する工程を備える。複数の時間ステップの各々において、方法は音声認識モデル(200)のエンコーダネットワーク(220)によって、音響フレームのシーケンスの対応する音響フレームの高次特徴表現(224)を生成する工程と、音声認識モデルの予測ネットワーク(300)によって、音声認識モデルの最終ソフトマックス層(250)によって出力された対応する非空白記号のシーケンス(252)の隠れ表現(350)を生成する工程と、エンコーダネットワークによって生成された高次特徴表現と、予測ネットワークによって生成された稠密表現と、を受信する音声認識モデルの第1ジョイントネットワーク(210)によって、対応する時間ステップが休止および話の終わりに対応する確率分布を生成する工程と、を備える。
【特許請求の範囲】
【請求項1】
コンピュータ実装方法(500)であって、データ処理ハードウェア上(610)で実行されると、前記データ処理ハードウェア(610)に、
1つまたは複数の発話(106)を特徴付ける音響フレーム(110)のシーケンスを受信する工程と、
複数の時間ステップの各々において、
音声認識モデル(200)のエンコーダネットワーク(220)によって、前記音響フレーム(110)のシーケンス内の対応する音響フレームの高次特徴表現(224)を生成する工程と、
前記音声認識モデル(200)の予測ネットワーク(300)によって、前記音声認識モデル(200)の最終ソフトマックス層(250)によって出力された対応する非空白記号のシーケンス(252)の隠れ表現(350)を生成する工程と、
前記エンコーダネットワーク(220)によって生成された前記高次特徴表現(224)と、前記予測ネットワーク(300)によって生成された前記隠れ表現(350)と、を受信する前記音声認識モデル(200)の第1ジョイントネットワーク(210)によって、対応する前記時間ステップが休止および話の終わりに対応する確率分布を生成する工程と、
を備えている動作を実行させる、コンピュータ実装方法(500)。
【請求項2】
前記動作は、
対応する前記時間ステップが前記話の終わりに対応する確率が、話の終わり閾値を満たすと判定する工程と、
対応する前記時間ステップが前記話の終わりに対応する前記確率が、前記話の終わり閾値を満たすと判定したことに応じて、マイク終了イベントをトリガする工程と、
をさらに備えている、
請求項1に記載のコンピュータ実装方法(500)。
【請求項3】
前記動作は、
対応する前記時間ステップが前記休止に対応する確率が休止閾値を満たすと判定する工程と、
対応する前記時間ステップが前記休止に対応する前記確率が前記休止閾値を満たすと判定したことに基づき、対応する前記時間ステップで休止トークン(212)を発行する工程と、
をさらに備えている、
請求項1または2に記載のコンピュータ実装方法(500)。
【請求項4】
前記動作は、複数の出力ステップの各々において、前記音声認識モデル(200)の第2ジョイントネットワーク(240)によって、可能性を有している音声認識仮説について確率分布(242)を生成する工程、をさらに備えている、
請求項1~3のいずれか1項に記載のコンピュータ実装方法(500)。
【請求項5】
前記音声認識モデル(200)は、2段階のトレーニング処理によって訓練されており、前記2段階のトレーニング処理は、
音声認識タスクに関して前記エンコーダネットワーク(220)、前記予測ネットワーク(300)、および前記第2ジョイントネットワーク(240)、を訓練する第1段階と、
前記第1ジョイントネットワーク(210)を初期化および微調整することで、発話(106)中の休止位置および話の終わり位置を予測する方法を学習する第2段階と、
を備えている、
請求項4に記載のコンピュータ実装方法(500)。
【請求項6】
前記エンコーダネットワーク(220)、前記予測ネットワーク(300)、および前記第2ジョイントネットワーク(240)、のパラメータは前記2段階のトレーニング処理のうちの前記第2段階中に固定される、
請求項5に記載のコンピュータ実装方法(500)。
【請求項7】
前記2段階のトレーニング処理は、前記休止位置と話の前記終わり位置とを示すラベルを有している複数の書き起こされたトレーニング発話に関して前記音声認識モデル(200)を訓練する、
請求項5または6に記載のコンピュータ実装方法(500)。
【請求項8】
前記エンコーダネットワーク(220)は自己注意ブロックのスタックを備えている、
請求項1~7のいずれか1項に記載のコンピュータ実装方法(500)。
【請求項9】
前記自己注意ブロックのスタックは、コンフォーマブロックのスタックまたはトランスフォーマブロックのスタックを備えている、
請求項8に記載のコンピュータ実装方法(500)。
【請求項10】
対応する前記非空白記号(252)のシーケンスの前記隠れ表現(350)を生成する工程は、
対応する前記時間ステップにおいて入力として受信された前記非空白記号のシーケンス(252)内の非空白記号ごとに、
前記予測ネットワーク(300)によって、共有埋込行列(304)を使用することで、対応する前記非空白記号の埋込(306)を生成する工程と、
前記予測ネットワーク(300)によって、対応する前記非空白記号に各々の位置ベクトル(308)を割り当てる工程と、
前記予測ネットワーク(300)によって、前記埋込(306)と前記各々の位置ベクトル(308)との間の類似性に比例して前記埋込(306)に重み付けする工程と、
前記予測ネットワーク(300)からの出力として、対応する前記時間ステップにおいて単一の埋込ベクトル(305)を生成する工程であって、前記単一の埋込ベクトル(305)は重み付けされた前記埋込の加重平均に基づいており、前記単一の埋込ベクトル(305)は前記隠れ表現(350)を備えている、前記単一の埋込ベクトル(305)を生成する工程と、
を備えている、
請求項1~9のいずれか1項に記載のコンピュータ実装方法(500)。
【請求項11】
前記予測ネットワーク(300)はマルチヘッド注意機構(302)を備えており、前記マルチヘッド注意機構(302)は、前記マルチヘッド注意機構(302)の各ヘッド(302A~H)全体で前記共有埋込行列(304)を共有している、
請求項10に記載のコンピュータ実装方法(500)。
【請求項12】
システム(100)であって、前記システム(100)は、
データ処理ハードウェア(610)と、
前記データ処理ハードウェア(610)に通信しているメモリハードウェア(620)であって、前記データ処理ハードウェア(610)上で実行されると、前記データ処理ハードウェア(610)に、
1つまたは複数の発話(106)を特徴付ける音響フレーム(110)のシーケンスを受信する工程と、
複数の出力ステップの各々において、
音声認識モデル(200)のエンコーダネットワーク(220)によって、前記音響フレーム(110)のシーケンス内の対応する音響フレームの高次特徴表現(224)を生成する工程と、
前記音声認識モデル(200)の予測ネットワーク(300)によって、前記音声認識モデル(200)の最終ソフトマックス層(250)によって出力される対応する非空白記号のシーケンス(252)の隠れ表現(350)を生成する工程と、
前記エンコーダネットワーク(220)によって生成された前記高次特徴表現(224)と、前記予測ネットワーク(300)によって生成された前記隠れ表現(350)と、を受信する前記音声認識モデル(200)の第1ジョイントネットワーク(210)によって、対応する時間ステップが休止および話の終わりに対応する確率分布を生成する工程と、
を備えている動作を実行させる前記メモリハードウェア(620)と、
を備えている、システム(100)。
【請求項13】
前記動作は、
対応する前記時間ステップが前記話の終わりに対応する確率が、話の終わり閾値を満たすと判定する工程と、
対応する前記時間ステップが前記話の終わりに対応する前記確率が前記話の終わり閾値を満たすと判定したことに応じて、マイク終了イベントをトリガする工程と、
をさらに備えている、
請求項12に記載のシステム(100)。
【請求項14】
前記動作は、
対応する前記時間ステップが前記休止に対応する確率が休止閾値を満たすと判定する工程と、
対応する前記時間ステップが前記休止に対応する前記確率が前記休止閾値を満たすと判定したことに基づき、対応する前記時間ステップで休止トークン(212)を発行する工程と、
をさらに備えている、
請求項12または13に記載のシステム(100)。
【請求項15】
前記動作は、複数の前記出力ステップの各々において、前記音声認識モデル(200)の第2ジョイントネットワーク(240)によって、可能性を有している音声認識仮説について確率分布(242)を生成する工程、をさらに備えている、
請求項12~14のいずれか1項に記載のシステム(100)。
【請求項16】
前記音声認識モデル(200)は、2段階のトレーニング処理によって訓練されており、前記2段階のトレーニング処理は、
音声認識タスクに関して前記エンコーダネットワーク(220)、前記予測ネットワーク(300)、および前記第2ジョイントネットワーク(240)、を訓練する第1段階と、
前記第1ジョイントネットワーク(210)を初期化および微調整することで、発話(106)中の休止位置および話の終わり位置を予測する方法を学習する第2段階と、
を備えている、
請求項15に記載のシステム(100)。
【請求項17】
前記エンコーダネットワーク(220)、前記予測ネットワーク(300)、および前記第2ジョイントネットワーク(240)、のパラメータは前記2段階のトレーニング処理のうちの前記第2段階中に固定される、
請求項16に記載のシステム(100)。
【請求項18】
前記2段階のトレーニング処理は、前記休止位置および話の前記終わり位置を示すラベルを有している複数の書き起こされたトレーニング発話に関して前記音声認識モデル(200)を訓練する、
請求項16または17に記載のシステム(100)。
【請求項19】
前記エンコーダネットワーク(220)は自己注意ブロックのスタックを備えている、
請求項12~18のいずれか1項に記載のシステム(100)。
【請求項20】
前記自己注意ブロックのスタックは、コンフォーマブロックのスタックまたはトランスフォーマブロックのスタックを備えている、
請求項12~19のいずれか1項に記載のシステム(100)。
【請求項21】
対応する前記非空白記号(252)のシーケンスの前記隠れ表現(350)を生成する工程は、
対応する前記時間ステップにおいて入力として受信された前記非空白記号(252)のシーケンス内の非空白記号ごとに、
前記予測ネットワーク(300)によって、共有埋込行列(304)を使用することで、対応する前記非空白記号の埋込(306)を生成する工程と、
前記予測ネットワーク(300)によって、対応する前記非空白記号に各々の位置ベクトル(308)を割り当てる工程と、
前記予測ネットワーク(300)によって、前記埋込(306)と前記各々の位置ベクトル(308)との間の類似性に比例して前記埋込(306)に重み付けする工程と、
前記予測ネットワーク(300)からの出力として、対応する前記時間ステップにおいて単一の埋込ベクトル(305)を生成する工程であって、前記単一の埋込ベクトル(305)は重み付けされた前記埋込の加重平均に基づいており、前記単一の埋込ベクトル(305)は前記隠れ表現(350)を備えている、前記単一の埋込ベクトル(305)を生成する工程と、
を備えている、
請求項12~20のいずれか1項に記載のシステム(100)。
【請求項22】
前記予測ネットワーク(300)はマルチヘッド注意機構(302)を備えており、前記マルチヘッド注意機構(302)は、前記マルチヘッド注意機構(302)の各ヘッド(302A~H)全体で前記共有埋込行列(304)を共有している、
請求項21に記載のシステム(100)。
【請求項23】
自然会話の自動音声認識(ASR)モデル(200)であって、自動音声認識ASRモデル(200)は、
エンコーダネットワーク(220)であって、
入力として、1つまたは複数の発話(106)を特徴付ける音響フレーム(110)のシーケンスを受信することで、
複数の時間ステップの各々において、前記音響フレーム(110)のシーケンス内の対応する音響フレームの高次特徴表現(224)を生成する
ように構成された前記エンコーダネットワーク(220)と、
予測ネットワーク(300)であって、
入力として、最終ソフトマックス層(250)によって出力された非空白記号(252)のシーケンスを受信することで、
複数の前記時間ステップの各々において、隠れ表現(350)を生成する
ように構成された前記予測ネットワーク(300)と、
第1ジョイントネットワーク(210)であって、
入力として、複数の前記時間ステップの各々において前記予測ネットワーク(300)によって生成された前記隠れ表現(350)と、複数の前記時間ステップの各々において前記エンコーダネットワーク(220)によって生成された前記高次特徴表現(224)と、を受信することで、
複数の前記時間ステップの各々において、対応する前記時間ステップが休止および話の終わりに対応する確率分布を生成する
ように構成された前記第1ジョイントネットワーク(210)と、
を備えている、自動音声認識ASRモデル(200)。
【請求項24】
前記自動音声認識ASRモデル(200)は、対応する前記時間ステップが閾値を満たす話の終わりに対応する確率に基づき、マイク終了イベントをトリガする、
請求項23に記載の自動音声認識ASRモデル(200)。
【請求項25】
入力として、複数の前記時間ステップの各々において前記予測ネットワーク(300)によって生成された前記隠れ表現(350)と、複数の前記時間ステップの各々において前記エンコーダネットワーク(220)によって生成された前記高次特徴表現(224)と、を受信することで、
複数の前記時間ステップの各々において、可能性を有している音声認識仮説について確率分布を生成する
ように構成された第2ジョイントネットワーク(240)をさらに備えている、
請求項23または24に記載の自動音声認識ASRモデル(200)。
【請求項26】
前記エンコーダネットワーク(220)、前記予測ネットワーク(300)、および前記第2ジョイントネットワーク(240)、は第1トレーニング段階中に音声認識タスクに関して訓練されており、
前記第1トレーニング段階の後、前記エンコーダネットワーク(220)、前記予測ネットワーク(300)、および前記第2ジョイントネットワーク(240)、が固定中に前記第1ジョイントネットワーク(210)が初期化および微調整されることで発話(106)中の休止位置と話の終わり位置とを予測する方法を学習する、
請求項25に記載の自動音声認識ASRモデル(200)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、自然会話音声システムのための非流暢性(ディスフルーエンシー)検出モデルに関する。
【背景技術】
【0002】
最新の自動音声認識(ASR)システムは、高品質(例えば、低い単語誤り率)だけではなく、低遅延(例えば、発話しているユーザと、表示される書き起こし(トランスクリプション、転写)と、の間の短い遅延)を提供することにも重点を置いている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
例えば、今日の自動音声認識ASRシステムを実装しているデバイスを使用するとき、多くの場合、自動音声認識ASRシステムがリアルタイムにまたはリアルタイムよりも高速に対応するストリーミング方式で発話をデコードすることが期待されている。
【課題を解決するための手段】
【0004】
本開示の一態様は、データ処理ハードウェア上で実行されると、データ処理ハードウェアに、1つまたは複数の発話を特徴付ける音響フレームのシーケンスを受信する工程を備えている動作(オペレーション、操作)を実行させるコンピュータ実装方法を提供する。複数の出力時間ステップの各々において、動作は、音声認識モデルのエンコーダネットワークによって、音響フレームのシーケンス内の対応する音響フレームの高次特徴表現を生成する工程と、音声認識モデルの予測ネットワークによって、音声認識モデルの最終ソフトマックス層によって出力された対応する非空白記号のシーケンスの隠れ表現(ヒドゥンレプリゼンテーション、隠し表現)を生成する工程と、エンコーダネットワークによって生成された高次特徴表現と、予測ネットワークによって生成された隠れ表現と、を受信する音声認識モデルの第1ジョイントネットワーク(第1のジョイントネットワーク)によって、対応する時間ステップが休止および話の終わりに対応する確率分布を生成する工程と、をさらに備えている。
【0005】
本開示の実装は、以下の任意選択の特徴の1つまたは複数を含み得る。いくつかの実装では、動作は、対応する時間ステップが話の終わりに対応する確率が、話の終わり閾値を満たすと判定する工程と、対応する時間ステップが話の終わりに対応する確率が、閾値を満たすと判定したことに応じて、マイク終了イベントをトリガする工程と、をさらに備えている。
【0006】
いくつかの実装では、動作は、対応する時間ステップが休止に対応する確率が休止閾値を満たすと判定する工程と、対応する時間ステップが休止に対応する確率が休止閾値を満たすと判定したことに基づき、対応する時間ステップで休止トークンを発行する工程と、を備えている。
【0007】
いくつかの例では、動作は、複数の出力ステップの各々において、音声認識モデルの第2ジョイントネットワーク(第2のジョイントネットワーク)によって、可能性を有している音声認識仮説について確率分布を生成する工程を備えている。いくつかの実装では、音声認識モデルは、2段階のトレーニング処理によって訓練される。2段階のトレーニング処理は、音声認識タスクに関してエンコーダネットワーク、予測ネットワーク、および第2ジョイントネットワークを訓練する第1段階と、第1ジョイントネットワークを初期化および微調整することで発話中の休止位置および話の終わり位置を予測する方法を学習する第2段階と、を含み得る。いくつかの例では、エンコーダネットワーク、予測ネットワーク、および第2ジョイントネットワーク、のパラメータは2段階のトレーニング処理のうちの第2段階中に固定される。いくつかの実装では、2段階のトレーニング処理は、休止位置および話の終わり位置を示すラベルを有している複数の書き起こされたトレーニング発話に関して音声認識モデルを訓練する。
【0008】
いくつかの実装では、エンコーダネットワークは自己注意ブロックのスタックを備えている。自己注意ブロックのスタックは、コンフォーマブロックのスタックまたはトランスフォーマブロックのスタックを含み得る。
【0009】
いくつかの例では、対応する非空白記号のシーケンスの隠れ表現を生成する工程は、対応する時間ステップにおいて入力として受信された非空白記号のシーケンス内の非空白記号ごとに、予測ネットワークによって、共有埋込行列(共有された埋め込みマトリクス)を使用することで、対応する非空白記号の埋込を生成する工程と、予測ネットワークによって、対応する非空白記号に各々の位置ベクトルを割り当てる工程と、予測ネットワークによって、埋込と各々の位置ベクトルとの間の類似性に比例して埋込に重み付けする工程と、を備えている。隠れ表現を生成する工程は、予測ネットワークからの出力として、対応する時間ステップにおいて単一の埋込ベクトルを生成する工程であって、単一の埋込ベクトルは重み付けされた埋込の加重平均に基づいており、単一の埋込ベクトルは隠れ表現を備えている、単一の埋込ベクトルを生成する工程、をさらに備えている。
【0010】
いくつかの実装では、予測ネットワークはマルチヘッド注意機構を備えており、マルチヘッド注意機構は、マルチヘッド注意機構の各ヘッド全体で共有された埋込行列を共有している。
【0011】
本開示の別の態様は、データ処理ハードウェアと、データ処理ハードウェアに通信するメモリハードウェアと、を備えているシステムを提供する。データ処理ハードウェア上で実行されると、データ処理ハードウェアに動作を実行させる命令を格納するメモリハードウェア。動作は、1つまたは複数の発話を特徴付ける音響フレームのシーケンスを受信する工程を備えている。動作は、複数の出力時間ステップの各々において、音声認識モデルのエンコーダネットワークによって、音響フレームのシーケンス内の対応する音響フレームの高次特徴表現を生成する工程と、音声認識モデルの予測ネットワークによって、音声認識モデルの最終ソフトマックス層によって出力された対応する非空白記号のシーケンスの隠れ表現を生成する工程と、エンコーダネットワークによって生成された高次特徴表現と、予測ネットワークによって生成された隠れ表現と、を受信する音声認識モデルの第1ジョイントネットワークによって、対応する時間ステップが休止および話の終わりに対応する確率分布を生成する工程と、をさらに備えている。
【0012】
本開示の実装は、以下の任意選択の特徴の1つまたは複数を含み得る。いくつかの実装では、動作は、対応する時間ステップが話の終わりに対応する確率が、話の終わり閾値を満たすと判定する工程と、対応する時間ステップが話の終わりに対応する確率が、閾値を満たすと判定したことに応じて、マイク終了イベントをトリガする工程と、をさらに備えている。
【0013】
いくつかの実装では、動作は、対応する時間ステップが休止に対応する確率が休止閾値を満たすと判定する工程と、対応する時間ステップが休止に対応する確率が休止閾値を満たすと判定したことに基づき、対応する時間ステップで休止トークンを発行する工程と、を備えている。
【0014】
いくつかの例では、動作は、複数の出力ステップの各々において、音声認識モデルの第2ジョイントネットワークによって、可能性を有している音声認識仮説について確率分布を生成する工程を備えている。いくつかの実装では、音声認識モデルは、2段階のトレーニング処理によって訓練される。2段階のトレーニング処理は、音声認識タスクに関してエンコーダネットワーク、予測ネットワーク、および第2ジョイントネットワークを訓練する第1段階と、第1ジョイントネットワークを初期化および微調整することで発話中の休止位置および話の終わり位置を予測する方法を学習する第2段階と、を含み得る。いくつかの例では、エンコーダネットワーク、予測ネットワーク、および第2ジョイントネットワーク、のパラメータは2段階のトレーニング処理のうちの第2段階中に固定される。いくつかの実装では、2段階のトレーニング処理は、休止位置および話の終わり位置を示すラベルを有している複数の書き起こされたトレーニング発話に関して音声認識モデルを訓練する。
【0015】
いくつかの実装では、エンコーダネットワークは自己注意ブロックのスタックを備えている。自己注意ブロックのスタックは、コンフォーマブロックのスタックまたはトランスフォーマブロックのスタックを含み得る。
【0016】
いくつかの例では、対応する非空白記号のシーケンスの隠れ表現を生成する工程は、対応する時間ステップにおいて入力として受信された非空白記号のシーケンス内の非空白記号ごとに、予測ネットワークによって、共有埋込行列を使用することで、対応する非空白記号の埋込を生成する工程と、予測ネットワークによって、対応する非空白記号に各々の位置ベクトルを割り当てる工程と、予測ネットワークによって、埋込と各々の位置ベクトルとの間の類似性に比例して埋込に重み付けする工程と、を備えている。隠れ表現を生成する工程は、予測ネットワークからの出力として、対応する時間ステップで単一の埋込ベクトルを生成することであって、単一の埋込ベクトルは重み付けされた埋込の加重平均に基づいており、単一の埋込ベクトルは隠れ表現を備えている、単一の埋込ベクトルを生成する工程、をさらに備えている。
【0017】
いくつかの実装では、予測ネットワークはマルチヘッド注意機構を備えており、マルチヘッド注意機構は、マルチヘッド注意機構の各ヘッド全体で共有された埋込行列を共有している。
【0018】
本開示のさらに別の態様は、エンコーダと、予測ネットワークと、第1ジョイントネットワークと、を備えている自然会話(ナチュラルカンバセーション)の自動音声認識(ASR)モデルを提供する。入力として、1つまたは複数の発話を特徴付ける音響フレームのシーケンスを受信することで、複数の時間ステップの各々において、音響フレームのシーケンス内の対応する音響フレームの高次特徴表現を生成するように構成されたエンコーダ。入力として、最終ソフトマックス層によって出力された非空白記号のシーケンスを受信することで、複数の時間ステップの各々において、隠れ表現を生成するように構成される予測ネットワーク。入力として、複数の時間ステップの各々において予測ネットワークによって生成された隠れ表現と、複数の時間ステップの各々においてエンコーダによって生成された高次特徴表現と、を受信することで複数の時間ステップの各々において、対応する時間ステップが休止および話の終わりに対応するかどうかの確率分布を生成するように構成された第1ジョイントネットワーク。
【0019】
本開示の実装は、以下の任意選択の特徴の1つまたは複数を含み得る。いくつかの実装では、自動音声認識ASRモデルは、話の終わりに対応している対応する時間ステップが閾値を満たす確率に基づき、マイク終了イベントをトリガする。
【0020】
いくつかの例では、自動音声認識ASRモデルはまた、複数の時間ステップの各々において予測ネットワークによって生成された隠れ表現と、複数の時間ステップの各々においてエンコーダによって生成された高次特徴表現と、を受信することで複数の時間ステップの各々において、可能性を有している音声認識仮説について確率分布を生成するように構成された第2ジョイントネットワークを備えている。
【0021】
いくつかの実装では、エンコーダネットワーク、予測ネットワーク、および第2ジョイントネットワーク、は第1トレーニング段階中に音声認識タスクに関して訓練されており、第1トレーニング段階の後、エンコーダネットワーク、予測ネットワーク、および第2ジョイントネットワーク、が固定されている間に、第1ジョイントネットワークが初期化および微調整されることで発話中の休止位置および話の終わり位置を予測する方法を学習する。
【0022】
本開示のさらに別の態様は、エンコーダと、予測ネットワークと、第1ジョイントネットワークと、を備えている自動音声認識ASRモデルと、順序交代検出器(ターンテイキングディテクタ)モデルと、を備えている自然会話の自動音声認識(ASR)システムを提供する。入力として、1つまたは複数の発話を特徴付ける音響フレームのシーケンスを受信することで、複数の時間ステップの各々において、音響フレームのシーケンス内の対応する音響フレームの高次特徴表現を生成するように構成されたエンコーダ。入力として、最終ソフトマックス層によって出力された非空白記号のシーケンスを受信することで、複数の時間ステップの各々において、隠れ表現を生成するように構成される予測ネットワーク。入力として、複数の時間ステップの各々において予測ネットワークによって生成された隠れ表現と、複数の時間ステップの各々においてエンコーダによって生成された高次特徴表現と、を受信することで複数の時間ステップの各々において、対応する時間ステップが休止および話の終わりに対応するかどうかの確率分布を生成するように構成されたジョイントネットワーク。入力として、複数の時間ステップの各々においてエンコーダによって生成された高次特徴表現を受信することで、高次の特徴表現ごとに、高次特徴表現が会話、休止、および話の終わり、に対応するのかどうかの対応する確率分布を生成するように構成された順序交代検出器モデル。
【0023】
本開示のさらに別の態様は、エンコーダと、予測ネットワークと、ジョイントネットワークと、を備えている自動音声認識ASRモデルと、順序交代検出器モデルと、を備えている自然会話の自動音声認識(ASR)システムを提供する。入力として、1つまたは複数の発話を特徴付ける音響フレームのシーケンスを受信することで、複数の時間ステップの各々において、音響フレームのシーケンス内の対応する音響フレームの高次特徴表現を生成するように構成されたエンコーダを備えている自動音声認識ASRモデル。入力として、最終ソフトマックス層によって出力された非空白記号のシーケンスを受信することで、複数の時間ステップの各々において、隠れ表現を生成するように構成される予測ネットワーク。複数の時間ステップの各々において予測ネットワークによって生成された隠れ表現と、複数の時間ステップの各々においてエンコーダによって生成された高次特徴表現と、を受信することで、複数の時間ステップの各々において、可能性を有している音声認識仮説について確率分布を生成するように構成されたジョイントネットワーク。入力として、複数の時間ステップの各々において予測ネットワークによって生成された隠れ表現を受信することで、次のサブワード単位が、休止、および話の終わり、に対応するのかどうかの対応する確率分布を生成するように構成された順序交代検出器モデル。
【0024】
本開示の1つまたは複数の実施態様の詳細は、添付の図面および以下の説明において述べられる。他の態様、特徴、および利点、は説明および図面ならびに特許請求の範囲から明らかになる。
【図面の簡単な説明】
【0025】
【
図1】音声発話を書き起こすための非流暢性検出ジョイントモデルを備えている自動音声認識(ASR)システムを使用する例示的な音声環境の概略図である。
【
図2A】非流暢性検出モデルを統合した例示的な自動音声認識ASRシステムの概略図である。
【
図2B】非流暢性検出モデルを統合した例示的な自動音声認識ASRシステムの概略図である。
【
図2C】非流暢性検出モデルを統合した例示的な自動音声認識ASRシステムの概略図である。
【
図3】
図2A~
図2Cの自動音声認識ASRシステムの例示的な結合および縮小予測ネットワークの概略図である。
【
図4A】例示的な長文式の書き起こされたトレーニング発話を示す。
【
図4B】
図4Aの長文式の書き起こされたトレーニング発話のための例示的な注釈付きの書き起こされたトレーニング発話を示す。
【
図5】自動音声認識ASRシステム内で非流暢性検出ジョイントモデルを実行するコンピュータ実装方法の動作の例示的な構成のフローチャートである。
【
図6】本明細書に説明されるシステムおよび方法を実装するべく使用し得る例示的なコンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0026】
様々な図面における同様の参照記号は、同様の要素を示す。
音声起動デジタルアシスタントおよびダイアログシステムなどの多くの音声対話アプリケーションは、ストリーミング自動音声認識(ASR)システムを使用している。しかしながら、人間のような自然な会話の経験を提供するには、自動音声認識ASRシステムは、人間の会話の話、やりとり、順序交代(ターンテイキング)、などに似た話および対話のパターンを正確に認識する必要がある。自然会話音声の認識に伴う問題は、休止を認識する工程と、人がいつ話を終えたのかを判断する工程と、を備えているがこれらに限定されない。多くの自然会話音声は非流暢性を備えているとしても、大部分の従来の自動音声認識ASRシステムは、非流暢性が存在していないと想定している。例えば、大部分の従来の自動音声認識ASRシステムは、人が事前に何を言いたいのかを知っているので、したがって流暢でなくなることは無しに話す、流暢な一回限りの発話を想定している。例示的な非流暢性は、休止、考えるための休止、無作為な休止、躊躇、言葉の長音化(例えば、「あの…(onnn…)」)、つなぎの休止または言葉(例えば、「うー(uh)」、「うーむ(um)」)、繰り返されるフレーズ、および行動の変更、を備えているがこれらに限定されない。流暢ではないことによって、発話中に短い休止または長い休止が生じる場合があり、これによって自動音声認識ASR中に曖昧さが生じる場合があるので、自動音声認識ASRシステムは、発話を時期尚早に終了(end-point)させることで、人が話し終える前に人を遮る場合がある。例えば、人は、「どこでできますか」と話すことによって発話を開始しており、後に休止が続く場合がある。自然会話音声中、休止は、人が話し終えていないことを示す場合がある。しかしながら、従来の自動音声認識ASRシステムは、多くの場合、人が、例えば「タイ料理を注文する」と話すことによって続ける、など自分が話すことを意図していた残りの内容を話す機会を得る前に、「申し訳ありませんが、聞き取れませんでした」と応答する。自然な会話のやりとりのためには、自動音声認識ASRシステムが休止中に「mmh」など確認のフレーズで応じることで、自動音声認識ASRシステムは人が話し終えるのを待機していることを示すか、または単に人が話し続けてから話し終えるのを待機するか、のどちらかであることが好ましい。したがって、自然な会話のやりとりのためには、自動音声認識ASRシステムが、非流暢性、および話の終わりのイベントを正確に認識および処理するとともに、人が話し終えるまで非流暢性を使用することで「話し続ける」(ホールドザフロア)ことによって、人が話し終えたら可能な限り迅速に応答することを可能にすることが重要である。
【0027】
本明細書の実施態様は、自然な会話のやりとりの音声発話で自然に発生する非流暢性および話の終わりのイベントを検出するように構成および訓練された非流暢性検出モデルと自動音声認識ASRシステムとを統合することを対象としている。例示的な非流暢性検出モデルは、再帰型ニューラルネットワーク-変換器(RNN-T)モデル、などエンドツーエンド(E2E)自動音声認識ASR上に構築されるか、またはエンドツーエンド(E2E)自動音声認識ASRモデルに統合される。例示的な方法では、自動音声認識ASRシステムは、1つまたは複数の発話を特徴付ける音響フレームのシーケンスを受信する。複数の出力ステップの各々のために、自動音声認識ASRモデルのエンコーダネットワークは、音響フレームのシーケンス内の対応する音響フレームの高次特徴表現を生成しており、自動音声認識ASRモデルの予測ネットワークは、自動音声認識ASRモデルの最終ソフトマックス層によって出力された対応する非空白記号のシーケンスの隠れ表現を生成しており、自動音声認識ASRモデルの第1ジョイントネットワーク(つまり、非流暢性検出ジョイントネットワーク)は、高次特徴表現および隠れ表現を受信することで、対応する時間ステップが非流暢性(例えば、休止)および話の終わりイベントに対応する確率分布を生成する。自動音声認識ASRモデルの第2ジョイントネットワーク(例えば、単語片ジョイントネットワーク)は、対応する時間ステップにおいて高次特徴表現および隠れ表現を受信することで、対応する時間ステップにおいて可能性を有している音声認識仮説について確率分布を生成する。
【0028】
図1は、例示的な音声環境100の概略図である。音声環境100では、ユーザ104がユーザデバイス10などのコンピューティングデバイスとで対話する方法は、音声入力を通してであってよい。ユーザデバイス10(一般にデバイス10とも呼ばれる)は、音声環境100内の1人以上のユーザ104からのサウンド(例えば、ストリーミング音声データ)を取り込むように構成されている。ここで、ストリーミング音声データは、可聴クエリ、デバイス10に対するコマンド、またはデバイス10によって取り込まれる可聴通信、として機能するユーザ104による音声発話106を指す場合がある。デバイス10の音声対応システムは、クエリに応えること、および/または1つまたは複数のダウンストリームアプリケーションによってコマンドを実行/達成させること、によってクエリまたはコマンドを処理し得る。
【0029】
ユーザデバイス10は、ユーザ104に関連付けられており、音声データを受信できる任意のコンピューティングデバイスに対応する場合がある。ユーザデバイス10のいくつかの例は、モバイルデバイス(例えば、携帯電話、タブレット、ラップトップなど)、コンピュータ、ウェアラブルデバイス(例えば、スマートウォッチ)、スマート家電、車両インフォテインメントシステム、モノのインターネット(IoT)デバイス、車両インフォテインメントシステム、スマートディスプレイ、スマートスピーカなどを備えているが、これらに限定されない。ユーザデバイス10は、データ処理ハードウェア12と、データ処理ハードウェア12に通信するメモリハードウェア14と、を備えている。メモリハードウェア14は、データ処理ハードウェア12上で実行されると、データ処理ハードウェア12に1つまたは複数の動作(オペレーション、操作)を実行させる命令を格納する。ユーザデバイス10は、音声環境100内で音声発話106を取り込み、電気信号に変換するための音声キャプチャデバイス(例えば、マイク)16、16aと、(例えば、デバイス10から出力された音声データとして)可聴音声信号を通信するための音声出力デバイス(例えば、スピーカ)16、16bと、を備えた音声システム16をさらに備えている。ユーザデバイス10は、示されている例では単一の音声キャプチャデバイス16aを実装しているが、ユーザデバイス10は、本開示の範囲から逸脱することなく音声キャプチャデバイス16aのアレイを実装し得、それによってアレイ内の1つまたは複数のキャプチャデバイス16aは、ユーザデバイス10に物理的に常駐するのではなく、音声システム16に通信し得る。
【0030】
音声環境100では、再帰型ニューラルネットワーク-変換器(RNN-T)モデル200と非流暢性検出モデル205とを実装する自動音声認識(自動音声認識ASR)システム118は、ユーザ104のユーザデバイス10上に、および/またはネットワーク40を介してユーザデバイス10に通信するリモートコンピューティングデバイス60(例えば、クラウドコンピューティング環境で実行する分散システムの1つまたは複数のリモートサーバ)上に、常駐する。ユーザデバイス10および/またはリモートコンピューティングデバイス60はまた、ユーザ104によって話されることで音声キャプチャデバイス16aによって取り込まれた発話106を受信することによって、発話106を、自動音声認識ASRシステム118が処理できる入力音響フレーム110に関連付けられた対応するデジタルフォーマットに変換するように構成された音声サブシステム108を備えている。示されている例では、ユーザは各々の発話106を話しており、音声サブシステム108は、自動音声認識ASRシステム118への入力のために発話106を対応する音声データ(例えば、音響フレーム)110に変換する。その後、RNN-Tモデル200は、入力として、発話106に対応する音響フレーム110を受信することで、出力として、発話106の対応する書き起こし(トランスクリプション、転写)120を生成/予測する。示されている例では、RNN-Tモデル200は、ストリーミング音声認識を実行することで、ユーザが話すにつれて部分的な書き起こし(例えば、ストリーミング認識結果)120a、120bを生成し得る。
【0031】
ユーザデバイス10および/またはリモートコンピューティングデバイス60はまた、発話106の書き起こし120、120a~120nの表現をユーザデバイス10のユーザ104に提示するとともに、発話106のクエリおよび/またはコマンドに対する1つまたは複数の応答121、121a~121nを提示するように構成されたユーザインタフェース(ユーザーインターフェース)ジェネレータ107を実行する。以下にさらに詳細に説明されるように、ユーザインタフェースジェネレータ107は、音声認識結果120、120a~nおよび応答121、121a~nを異なる時間中にまたは異なるときに表示し得る。示されるように、ユーザインタフェースジェネレータ107は、音声認識結果120、120a~n(例えば、書き起こし)および応答121、121a~nを提示することで、ユーザ104とで対話型プログラムまたは対話型アプリケーション(例えば、デジタルアシスタントアプリケーション50)との間のやりとり/会話を表現し得る。
【0032】
いくつかの構成では、自動音声認識ASRシステム118から出力された書き起こし120は、発話106によって指定されるユーザコマンド/クエリを実行するべく、例えば、ユーザデバイス10またはリモートコンピューティングデバイス60上で実行する自然言語処理/理解(NLP/NLU)モジュールによって処理される。デジタルアシスタントアプリケーション50は、発話106によって指定されたユーザコマンド/クエリの実行に続いて、適切な応答121を提供し得る。さらにまたは代わりに、音声変換システム(図示せず)(例えば、ユーザデバイス10またはリモートコンピューティングデバイス60の任意の組合せで実行する)は、書き起こし120および/または応答121をユーザデバイス10および/または別のデバイスによる可聴出力のための合成音声に変換し得る。
【0033】
示されている例では、ユーザ104は、自動音声認識ASRシステム118を使用するユーザデバイス10のプログラムまたはアプリケーション(例えば、デジタルアシスタントアプリケーション50)とで対話する。例えば、
図1は、デジタルアシスタントアプリケーション50に通信しているユーザ104の、およびユーザ104とデジタルアシスタントアプリケーション50との間の、自然な会話のやりとりを示すために、ユーザデバイス10の画面19上に対話型デジタルアシスタントインタフェース18を表示するデジタルアシスタントアプリケーション50を示す。この例では、ユーザ104は、時間1中に発話106の第1部分106a(「どこでできますか」)を話しており、次に、発話の第2部分106b中でに休止する(省略記号「…」で表される)。
【0034】
この例を続けると、RNN-Tモデル200は、ユーザ104が話すにつれて発話106に対応する音響フレーム110を受信しながら、音響フレーム110に対して音声認識を実行することで、発話106の第1部分106aに対応する第1音声認識結果120a(つまり、「どこでできますか」(ウェアーキャンアイ))を生成する。示されている例では、非流暢性検出モデル205は、発話106の第2部分106bに対応する音響フレーム110が、発話を時期尚早に終了させるであろう話の終わりイベントではなく、ユーザの話の休止を示すことを検出する。時間2中、ユーザインタフェースジェネレータ107は、デジタルアシスタントインタフェース18を介して、発話106の第1音声認識結果120aの表現をユーザデバイス10のユーザ104にストリーミング方式で提示しており、その結果、単語、単語片、および/または個々の文字、はそれらが話されるとすぐにユーザデバイス10の画面19に表示される。非流暢性検出モデル205が、第2部分106b中の休止の存在を検出することに基づき、時間3で、デジタルアシスタント50は、自動音声認識ASRシステム118およびデジタルアシスタント50が、ユーザ104が話し続けることを待機していることをユーザ104に示すために確認応答121a(「Mhm」)で応答する。
【0035】
この例を続けると、ユーザ104が休止後に発話106の第3部分(残りの部分)106c(「タイ料理を注文する」)を話し始めると、RNN-Tモデル200は、発話106の残りの部分106cに対応するオーディオフレーム110に対して音声認識を実行することで、第2音声認識結果120b(つまり、「タイ料理を注文する」)を生成する。ユーザ104が発話106の残りの部分106cを話し終えると、非流暢性検出モデル205は、話の終わりイベントを検出することで、発話106が完了したことを示す。時間4中、ユーザインタフェースジェネレータ107は、デジタルアシスタントインタフェース18を介して、発話106の第2音声認識結果120bの表現をユーザデバイス10のユーザ104にストリーミング方式で提示しており、その結果、単語、単語片、および/または個々の文字、はそれらが話されるとすぐにユーザデバイス10の画面19に表示される。特に、自動音声認識ASRシステム118は、マイク終了(クロージング、閉じ)イベントをトリガしており、(例えば、NLP/NLUモジュールによって)書き起こし120を処理することで、非流暢性検出モデル205が話の終わりイベントを検出したことに応じて、発話106によって指定されたユーザコマンド/クエリ(例えば、タイレストランの検索を実行する)を実行する。時間5で、ユーザインタフェースジェネレータ107は、デジタルアシスタントインタフェース18を介して、クエリに対する応答121b(つまり、「これらのタイレストランが近くにあります…」)を提示する。
【0036】
図2Aは、デジタルアシスタントとの人間の会話の音声、やりとり、および/または順序交代、に似た音声およびやりとりのパターンを示す音声発話中の非流暢性を検出するための第1ジョイントネットワーク(つまり、非流暢性検出ジョイントネットワーク)210として非流暢性検出モデル205を統合した例示的なRNN-Tモデル200、200aの概略図である。自然会話音声の認識に伴う問題は、休止を認識する工程と、人がいつ話を終えたのかを判断する工程と、を備えているがこれらに限定されない。例示的な非流暢性は、休止、考えるための休止、無作為な休止、躊躇、言葉の長音化(例えば、「あの…」)、つなぎの休止または言葉(例えば、「うー」、「うーむ」)、繰り返されるフレーズ、および行動の変更、を備えているがこれらに限定されない。閾値期間中に音声活動が検出されないことによって特徴付けられるこれらの非流暢性は、従来の自動音声認識ASRシステムに、ユーザが発話を話すことを完了する前に発話を時期尚早に終了させる可能性がある。このように時期尚早に終了させることによって、デジタルアシスタントがユーザにクエリを反復することを促すために遮る場合、デジタルアシスタントが処理できないというようにクエリが誤って解釈されることで、それによってユーザの不満につながる場合がある。
【0037】
示されるように、RNN-Tモデル200aは、エンコーダネットワーク220と、予測/デコーダネットワーク300と、第2ジョイントネットワーク240(つまり、単語片ジョイントネットワーク240)と、最終ソフトマックス出力層250と、を備えている。従来の自動音声認識ASRシステムにおける音響モデル(AM)にほぼ類似しているエンコーダネットワーク220(例えば、音声エンコーダ)は、特徴ベクトルのシーケンス
【0038】
【0039】
を受信しており、上式で
【0040】
【0041】
(例えば、
図1の音響フレーム110)であり、各時間ステップにおいて
【0042】
【0043】
として示される高次特徴表現224(一般に音響表現とも呼ばれる)を生成する。
示されている例では、予測/デコーダネットワーク300は、言語モデル(LM)とで同様に、ソフトマックス層250によってこれまでに出力された非空白記号のシーケンス
【0044】
【0045】
を、現在の時間ステップが休止および話の終わりに対応するかどうかの確率分布を表す隠れ表現
【0046】
【0047】
(一般に、稠密表現(デンスレプリゼンテーション)または言語表現とも呼ばれる)に処理するLSTMベースの予測ネットワークを備えており、上式で、
【0048】
【0049】
は特殊なシーケンスの開始記号を表す。
図3は、入力として、最終ソフトマックス層250によって出力されたN個の以前の非空白記号252a~252nに限定された非空白記号のシーケンスy
u-n,…,y
u-1を受信するRNN-Tモデル200用の予測ネットワーク300を示す。いくつかの例では、Nは2に等しい。他の例では、Nは5に等しいが、本開示は非限定的であり、Nは任意の整数に等しくてよい。非空白記号のシーケンス252a~nは、部分的な音声認識結果120a、120b(
図1)を示し得る。いくつかの実装では、予測ネットワーク300はマルチヘッド注意機構302を備えており、マルチヘッド注意機構302は、マルチヘッド注意機構の各ヘッド302A~302H全体で共有埋込行列(共有された埋め込みマトリクス)304を共有している。一例では、マルチヘッド注意機構302は4つのヘッドを備えている。ただし、マルチヘッド注意機構302は、任意の数のヘッドを用い得る。特に、マルチヘッド注意機構302は、モデルサイズの拡大を最小限に抑えるとともに性能を大幅に向上させる。以下にさらに詳細に説明されるように、各ヘッド302A~Hは、独自の位置ベクトル308の行を備えており、出力318A~Hは、すべてのヘッドからの出力318A~Hを連結することによってモデルサイズの拡大を招くことなく、代わりにヘッド平均モジュール322によって平均化される。
【0050】
マルチヘッド注意機構302の第1ヘッド302Aを参照すると、ヘッド302Aは、共有埋込行列304を使用することで、複数の時間ステップからの対応する時間ステップにおいて入力として受信された非空白記号のシーケンスyui-n,…,yui-1内の各非空白記号301に対して、対応する埋込306、306a~n(例えば
【0051】
【0052】
)を生成する。特に、共有埋込行列304は、マルチヘッド注意機構302のすべてのヘッドにわたって共有されるので、他のヘッド302B~Hはすべて、各非空白記号に対して同じ対応する埋込306を生成する。ヘッド302Aはまた、非空白記号のシーケンスyu-n,…,yu-1内の対応する各非空白記号に各々の位置ベクトルPVAa~An308、308Aa~An(例えば
【0053】
【0054】
)を割り当てる。各非空白記号に割り当てられた各々の位置ベクトルPV308は、非空白記号のシーケンスの履歴内の位置を示す(例えば、最終ソフトマックス層250によって出力されたN個の以前の非空白記号)。例えば、最初の位置ベクトルPVAaは、履歴内の最新の位置に割り当てられ、一方、最後の位置ベクトルPVAnは、最終ソフトマックス層250によって出力されたN個の以前の非空白記号の履歴内の最後の位置に割り当てられる。特に、埋込306の各々は、位置ベクトルPV308の各々とで同じ次元性(つまり、次元サイズ)を含み得る。
【0055】
非空白記号のシーケンス252a~252n、yu-n,…,yu-1の中の各非空白記号301の各々に対して、共有埋込行列304によって生成された対応する埋込は、マルチヘッド注意機構302のヘッド302A~Hのすべてとで同じであるが、各ヘッド302A~Hは、位置ベクトル308の異なるセット/行を定義する。例えば、第1ヘッド302Aは、位置ベクトルPVAa~An308Aa~Anの行の位置を定義しており、第2ヘッド302Bは、位置ベクトルPVBa~Bn308Ba~Bn,…,の異なる行を定義しており、H番目のヘッド302Hは、位置ベクトルPVHa~Hn308Ha~Hnの別の異なる行を定義する。
【0056】
受信された非空白記号のシーケンス252a~n内の非空白信号ごとに、第1ヘッド302Aはまた、重み層310を介して、対応する埋込と、それに割り当てられた各々の位置ベクトルPV308と、の間の類似性に比例して、対応する埋込306に重み付けする。いくつかの例では、類似性はコサイン類似性(例えば、コサイン距離)を含み得る。示されている例では、重み層310は、各々が、それに割り当てられた各々の位置ベクトルPV308に比例して重み付けされた対応する埋込306に関連付けられた重み付けされた埋込のシーケンス312、312Aa~Anを出力する。別の言い方をすれば、各埋込306に対して重み層310によって出力された重み付けされた埋込312は、埋込306と各々の位置ベクトルPV308との間のドット積に対応し得る。重み付けされた埋込312は、埋込が、その各々の位置ベクトルPV308に関連付けられた位置とでどの程度類似しているのかに比例して埋込に注意を向けていると解釈され得る。計算速度を加速するべく、予測ネットワーク300は、非再帰層を備えているので、重み付けされた埋込のシーケンス312Aa~Anは連結されるのではなく、代わりに加重平均モジュール316によって平均化されて、第1ヘッド302Aの出力として、以下によって表される重み付けされた埋込312Aa~Anの加重平均318Aを生成する。
【0057】
【0058】
方程式(1)では、hはヘッド302のインデックスを表しており、nはコンテキスト内の位置を表しており、eは埋込次元を表す。さらに、方程式(1)では、H、N、およびde、は対応する次元のサイズを備えている。位置ベクトルPV308は、訓練可能にされている必要はなく、乱数値を含み得る。特に、重み付けられた埋込312が平均化されても、位置ベクトルPV308は、潜在的に位置履歴情報を保存することができるので、予測ネットワーク300の各層で再帰接続を提供する必要性を軽減する。
【0059】
第1ヘッド302Aに関して上述された動作は、マルチヘッド注意機構302の他の各ヘッド302B~Hによって同様に実行される。各ヘッド302によって定義された位置ベクトルPV308の異なるセットによって、重み層310は、第1ヘッド302Aにおける重み付けされた埋込のシーケンス312Aa~Aaとは異なる他の各ヘッド302B~Hで、重み付けされた埋込のシーケンス312Ba~Bn、312Ha~Hnを出力する。その後、加重平均モジュール316は、他の対応する各ヘッド302B~Hからの出力として、非空白記号のシーケンスの対応する重み付けされた埋込312の各々の加重平均318B~318Hを生成する。
【0060】
示されている例では、予測ネットワーク300は、対応するヘッド302A~Hから出力された加重平均318A~Hを平均化するヘッド平均モジュール322を備えている。SWISH(スウィッシュ)を備えている投影層326は、入力として、加重平均318A~Hの平均に対応するヘッド平均モジュール322からの出力324を受信することで、出力として、投影された出力328を生成し得る。最終層正規化330は、投影された出力328を正規化することで、複数の時間ステップからの対応する時間ステップにおいて単一の埋込ベクトル
【0061】
【0062】
(つまり、隠れ表現)を提供し得る。予測ネットワーク300は、最初の時間ステップに続く複数の時間ステップの各々において、単一の埋込ベクトル
【0063】
【0064】
のみを生成する。
いくつかの構成では、予測ネットワーク300は、マルチヘッド注意機構302を実装せず、第1ヘッド302Aに関して上述された動作を実行するだけである。これらの構成では、重み付けされた埋込312Aa~Anの加重平均318Aは、単に投影層326および層正規化330を通過することで、単一の埋込ベクトル
【0065】
【0066】
を提供する。
図2Aに戻ると、単語片ジョイントネットワーク240は、予測ネットワーク300から単一の埋込ベクトル
【0067】
【0068】
を受信するとともに、エンコーダ220から高次特徴表現
【0069】
【0070】
を受信する。単語片ジョイントネットワーク240は、対応する時間ステップにおいて可能性を有している音声認識仮説について確率分布
【0071】
【0072】
を生成する。例えば、自然言語が英語であるとき、出力ラベルのセットは、例えば、英語のアルファベットの26文字の各々に対する1つのラベル、およびスペースを指定する1つのラベル、など二十七(27)の記号を含み得る。したがって、単語片ジョイントネットワーク240は、所定の出力ラベルのセットの各々の発生の可能性を示す値のセットを出力し得る。この値のセットはベクトルである可能性があり、出力ラベルのセットについて確率分布を示すことができる。いくつかの場合、出力ラベルは書記素(例えば、個々の文字、および潜在的に句読点および他の記号)であるが、出力ラベルのセットは、そのように限定されていない。例えば、出力ラベルのセットは、書記素に加えてまたは書記素の代わりに、単語片および/または単語全体を備えている可能性がある。単語片ジョイントネットワーク240は、異なる出力ラベルの各々の事後確率値を備えている可能性がある。したがって、異なる書記素または他の記号を表す100個の互いに異なる出力ラベルがあるとき、単語片ジョイントネットワーク240の出力
【0073】
【0074】
は、出力ラベルごとに1つずつ、100個の互いに異なる確率値を備えていることができる。可能性を有している音声認識仮説についての確率分布
【0075】
【0076】
は、音声認識結果120(
図1)の確率を示す。すなわち、ジョイントネットワーク230は、非空白記号のシーケンス252に基づく単一の埋込ベクトル350を使用することで、音声認識結果120の確率分布を決定する。別の言い方をすれば、単語片ジョイントネットワーク240は、各出力ステップ(例えば、時間ステップ)において、可能性を有している音声認識仮説についての確率分布242を生成する。確率分布
【0077】
【0078】
は、次に、書き起こし120を決定するためのビーム検索処理(例えば、ソフトマックス層240による)で候補綴り要素(例えば、書記素、単語片、および/または単語)にスコアを選択および割り当てるべく使用できる。
【0079】
ソフトマックス層250は、対応する出力ステップにおいてRNN-Tモデル200によって予測された次の出力記号
【0080】
【0081】
として、分布
【0082】
【0083】
内の最高の確率を有している出力ラベル/記号を選択するべく任意の技術を用い得る。このようにして、RNN-Tモデル200は、条件付き独立仮定を行なわない。代わりに、RNN-Tモデル200は、音響だけではなく、これまでに出力されたラベルのシーケンスに関しても条件付けされた各記号を予測する。RNN-Tモデル200は、出力記号が将来の音響フレーム110とは関係がないと想定しており、これによってRNN-Tモデル200をストリーミング方式で用いることが可能になる。いくつかの例では、ソフトマックス層250は、複数のトレーニングデータセット内のすべての一意の単語片または書記素を使用することで生成される統一された単語片または書記素のセットから成る。
【0084】
第1ジョイントネットワーク(つまり、非流暢性検出ジョイントネットワーク)210は、エンコーダネットワーク220によって出力された高次特徴表現
【0085】
【0086】
と、予測ネットワーク300によって出力された単一の埋込ベクトル
【0087】
【0088】
と、に基づき対応する時間ステップが非流暢性(例えば、休止)または話の終わりイベントに対応する確率分布を生成する。別の言い方をすれば、第1ジョイントネットワークは、休止の<pause>(ポーズ)と、話の終わりイベントの<eos>(エンドオブスピーチ)と、を備えている所定の出力ラベルのセットの各々の発生の可能性を示す値のセットを出力できる。この値のセットは、ベクトルである場合があり、出力ラベルのセットについて確率分布を示すことができる。休止の条件付き確率および話の終わりイベントの条件付き可能性を提供する確率分布は、以下の数式を使用することで決定できる。
【0089】
【0090】
上式で、
【0091】
【0092】
は、最高の確率
【0093】
【0094】
を有している出力された単語片仮説である。非流暢性検出ジョイントネットワーク210は、対応する確率が所定の閾値を満たす(例えば、超える)とき、トークン212(例えば、<pause>トークンおよび<eos>トークン)を発行する。例えば
【0095】
【0096】
が話の終わり閾値を満たす(例えば、超える)と、<eos>トークン212が発行されており、
【0097】
【0098】
が休止閾値を満たす(例えば、超える)と、<pause>トークン212が発行される。話の終わり閾値および休止閾値は、同じ値を有している必要はない。いくつかの例では、話の終わりイベントが検出される(例えば、対応する時間ステップが話の終わりに対応する確率が、話の終わり閾値を満たす)と、例えば、マイク終了イベントのトリガを引き起こす話の終わりトークン212を発行することによって、ユーザデバイス10によるマイク終了イベントがトリガされる。
【0099】
図1および
図2Aを参照すると、RNN-T200aが従来のRNN-Tとで同じ音声認識品質を有していることを保証するべく、トレーニングシステム130(
図1)は、2段階のトレーニング処理を使用することでRNN-T200を訓練する。第1段階中、トレーニングシステム130は、音声認識タスクに関してエンコーダネットワーク220、予測ネットワーク300、および単語片ジョイントネットワーク240、を訓練することで音声認識を実行する。第2段階中、トレーニングシステム130は、非流暢性検出ジョイントネットワーク210を初期化および微調整(例えば、トレーニング)することで休止および話の終わりイベントの存在を検出する方法を学習しながら、エンコーダネットワーク220、予測ネットワーク300、および単語片ジョイントネットワーク240、のパラメータを固定および保持する。すなわち、トレーニングシステム130は、発話中の休止位置および話の終わり位置を予測する方法を学習するように、非流暢性検出ジョイントネットワーク210を訓練する。トレーニングシステム130は、例えば、トレーニングデータジェネレータ140(
図1)によって注釈が付けられた複数の書き起こされたトレーニング発話を使用することで、休止位置および話の終わり位置を示すラベル(例えば、<pause>および<eos>)を備えているように非流暢性検出ジョイントネットワーク210を訓練する。例えば、トレーニングデータジェネレータ140は、一時休止の場合には<pause>トークンを挿入しており、発話の終わりには<eos>トークンを挿入することができる。
【0100】
単一の音声クエリを備えている短文式の発話の場合、トレーニングデータジェネレータ140は、<eos>トークンを各発話の終わりに付加しており、例えば強制位置合わせを使用することで決定された無音セグメントに対して<pause>トークンを挿入する。短文式の発話は話の終わりイベントおよび通常の短い休止をモデル化するべく使用できるが、それらは可能性を有している非流暢性の更に幅広い範囲をカバーしない場合がある。さらに、単一の<eos>トークンのみが各発話終わりに付加されるので、非流暢性検出ジョイントネットワーク210は、発話中の最初の話の終わりイベントを決定した後に追加の<eos>トークンを発行するのを停止することを学習する場合があり、これによって、更に長い発話または複数の非流暢性を有している発話の非流暢性検出の問題が引き起こされる場合がある。
【0101】
図2Aに戻ると、エンコーダネットワーク220に入力された特徴ベクトル
【0102】
【0103】
は、3つの25ミリ秒(ms)の音響フレームを、10msシフトすることで積み重ねるとともに、30msフレームレートまでダウンサンプリングすることによって形成された80次元のlog-Melフィルタバンク特徴を含み得る。いくつかの例では、エンコーダネットワーク220は、12個の512次元コンフォーマ層を備えている。コンフォーマ層は、カーネルサイズが15の因果畳み込み、および8ヘッドの自己注意を有している左コンテキスト注意層のスタックを備えている。説明されるエンコーダネットワーク220は、コンフォーマ層/ブロック(例えば、12のコンフォーマブロック)を備えている自己注意を有しているマルチヘッド注意層/ブロックのスタックを有しているが、本開示はこのように限定されない。例えば、エンコーダネットワーク220は、トランスフォーマ層のスタックおよび/または任意の他のタイプのマルチヘッド注意層/ブロックのスタックを含み得る。エンコーダネットワーク220は、一連のマルチヘッド自己注意層、深さ方向畳み込み層、およびフィードフォワード層、を含み得る。代わりに、エンコーダネットワーク220は、マルチヘッド注意層/ブロックの代わりに、複数の長文式メモリ(LSTM)層を含み得る。
【0104】
予測ネットワーク300は、320の埋込次元を有しているLTSMベースのネットワークを含み得る。融合された表現
【0105】
【0106】
の次元
【0107】
【0108】
は、640に設定され得る。いくつかの例では、単語片ジョイントネットワーク240は隠れ単位を備えている。さらにまたは代わりに、単語片ジョイントネットワーク240は、完全接続(FC)層を含まない。代わりに、予測ネットワーク300は、トランスフォーマブロックまたはコンフォーマブロック(または他のタイプのマルチヘッド注意ブロック)のスタックを含み得る。予測ネットワーク300はまた、隠れ表現を生成する代わりにルックアップされたスパース埋込を出力することによって遅延を改善するべく、埋込ルックアップテーブル(例えば、V2埋込ルックアップテーブル)であってよい。いくつかの実装では、予測ネットワーク300はステートレス(状態無し)予測ネットワークである。
【0109】
単語片ジョイントネットワーク240および予測ネットワーク300は、RNN-Tモデル200のRNN-Tデコーダを集合的に形成し得る。いくつかの実装では、RNN-Tデコーダ、つまり予測ネットワーク300および単語片ジョイントネットワーク240のサイズをさらに縮小するべく、予測ネットワーク300と単語片ジョイントネットワーク240との間のパラメータ結合が適用される。具体的には、語彙サイズ|V|および埋込次元deの場合、予測ネットワークにおける共有埋込行列304は、
【0110】
【0111】
である。一方、最後の隠れ層は、ジョイントネットワーク240において次元サイズdhを含んでおり、隠れ層から出力ロジットへのフィードフォワード投影重みは
【0112】
【0113】
となり、語彙に余分な空白トークンが含まれる。したがって、単語片ジョイントネットワーク240の最後の層に対応するフィードフォワード層は、重み行列[dh,|V|]を備えている。予測ネットワーク300に、埋込次元deのサイズを単語片ジョイントネットワーク240の最後の隠れ層の次元性dhに結合させることによって、単語片ジョイントネットワーク240のフィードフォワード投影重みおよび予測ネットワーク300の共有埋込行列304は、単純な転置変換を介してすべての非空白記号の重みを共有できる。2つの行列はそのすべての値を共有しているので、RNN-Tデコーダは、2つの個別の行列を格納する代わりに、メモリに一度に値を格納すれば十分である。埋込次元deのサイズを隠れ層次元dhのサイズに等しく設定することによって、RNN-Tデコーダは、埋込次元deと語彙サイズ|V|との積に等しいパラメータの数を減少させる。この重み結合は、正規化技術に相当する。
【0114】
図2Bは、対応する各時間ステップにおいて(つまり、各音響フレーム222x(t)ごとに、対応する時間ステップが非流暢性(例えば、休止)および話の終わりイベントに対応する確率分布を計算するべく、音響ベースの順序交代デコーダ410として非流暢性検出モデル205を統合する例示的なRNN-Tモデル200、200bの概略図である。示されるように、RNN-Tモデル200bは、
図2AのRNN-Tモデル200aのエンコーダネットワーク220と、予測/デコーダネットワーク300と、単語片ジョイントネットワーク240と、最終ソフトマックス出力層250と、を備えているが、非流暢性検出ジョイントネットワーク210を、音響ベースの順序交代検出ネットワーク205で置き換える。エンコーダネットワーク220と、予測/デコーダネットワーク300と、単語片ジョイントネットワーク240と、最終ソフトマックス出力層250と、の詳細は
図2Aおよび
図3に関して上述される。
【0115】
音響ベースの順序交代検出ネットワーク410は、時間ステップtにおける入力された各特徴ベクトル
【0116】
【0117】
について、入力された特徴ベクトル
【0118】
【0119】
に対してエンコーダネットワーク220によって生成された高次特徴表現
【0120】
【0121】
に基づき、対応する時間ステップが休止および話の終わりイベントに対応する確率分布を生成する。別の言い方をすれば、音響ベースの順序交代検出ネットワーク410は、休止の<pause>と、話の終わりイベントの<eos>と、を備えている所定の出力ラベルのセットの各々の発生の可能性を示す値のセットを出力できる。この値のセットは、ベクトルである場合があり、出力ラベルのセットについて確率分布を示すことができる。休止の条件付き確率および話の終わりイベントの条件付き可能性を提供する確率分布は、以下の数式を使用することで決定できる。
【0122】
【0123】
順序交代検出ネットワーク410は、対応する確率が所定の閾値を満たす(例えば、超える)とき、トークン412(例えば、<pause>トークンおよび<eos>トークン)を発行する。例えば
【0124】
【0125】
が話の終わり閾値を満たす(例えば、超える)と、<eos>トークン412が発行されており、
【0126】
【0127】
が休止閾値を満たす(例えば、超える)と、<pause>トークン412が発行される。話の終わり閾値および休止閾値は、同じ値を有している必要はない。いくつかの例では、話の終わりイベントが検出される(例えば、対応する時間ステップが、話の終わりに対応する確率が話の終わり閾値を満たす)と、例えば、マイク終了イベントのトリガを引き起こす話の終わりトークン412を発行することによって、ユーザデバイス10によるマイク終了イベントがトリガされる。
【0128】
RNN-T200aは、エンコーダネットワーク220を共有していることによって、RNN-Tデコーダによる、つまり予測ネットワーク300および単語片ジョイントネットワーク240による音声認識を、音響ベースの順序交代検出ネットワーク410による順序交代検出とで同期させるので、これは、自然会話の入力の正しいやりとりを保証するのに役立つ。さらに、順序交代検出ネットワーク410はエンコーダネットワーク220を再利用するので、もう1つの別個のエンコーダを構成するか、または備えていることは必要ではなく、これによって、計算の複雑さは軽減される。遅延したまたは遅い非流暢検出は、クエリおよびコマンドに対する遅い応答をもたらす場合があるので、いくつかの例は、順序交代検出ネットワーク410に発行正規化方法(例えば、FastEmit)を適用することで、非流暢性検出の遅延を減少させる。RNN-T200bが、従来のRNN-Tとで同じ音声認識品質を有していることを保証するべく、トレーニングシステム130(
図1)は、
図2AのRNN-T200aに関して上述されたのとで同様の方法によって2段階でRNN-T200bを訓練する。
【0129】
図2Cは、対応する各時間ステップにおいて、対応する時間ステップが非流暢性(例えば、休止)および話の終わりイベントに対応する確率分布を計算するべく、意味論(セマンティック)ベースの順序交代検出ネットワーク420として非流暢性検出モデル205を統合する例示的なRNN-Tモデル200、200cの概略図である。示されるように、RNN-Tモデル200bは、
図2AのRNN-Tモデル200aのエンコーダネットワーク220と、予測/デコーダネットワーク300と、単語片ジョイントネットワーク240と、最終ソフトマックス出力層250と、を備えているが、非流暢性検出ジョイントネットワーク210を、音響ベースの順序交代検出ネットワーク205で置き換える。エンコーダネットワーク220と、予測/デコーダネットワーク300と、単語片ジョイントネットワーク240と、最終ソフトマックス出力層250と、の詳細は
図2Aおよび
図3に関して上述される。
【0130】
意味論ベースの順序交代検出ネットワーク420は、各時間ステップについて、ソフトマックス層250によって出力された出力記号の過去のシーケンス
【0131】
【0132】
に基づき、対応する時間ステップが非流暢性(例えば、休止)および話の終わりイベントに対応する確率分布を生成する。別の言い方をすれば、意味論ベースの順序交代検出ネットワーク420は、休止の<pause>と、話の終わりイベントの<eos>と、を備えている所定の出力ラベルのセットの各々の発生の可能性を示す値のセットを出力できる。この値のセットは、ベクトルである場合があり、出力ラベルのセットについて確率分布を示すことができる。休止の条件付き確率および話の終わりイベントの条件付き可能性を提供する確率分布は、以下の数式を使用することで決定できる。
【0133】
【0134】
いくつかの例では、意味論ベースの順序交代検出ネットワーク420は、次の出力記号(例えば、部分語単位)が<pause>および<eos>に対応する確率を決定する言語モデル(LM)を備えている。意味論ベースの順序交代検出ネットワーク420は、対応する確率が所定の閾値を満たす(例えば、超える)とき、トークン422(例えば、<pause>トークンおよび<eos>トークン)を発行する。例えば、
【0135】
【0136】
が話の終わり閾値を満たす(例えば、超える)と、<eos>トークン422が発行されており、
【0137】
【0138】
が休止閾値を満たす(例えば、超える)と、<pause>トークン422が発行される。話の終わり閾値および休止閾値は、同じ値を有している必要はない。いくつかの例では、話の終わりイベントが検出される(例えば、対応する時間ステップが、話の終わりに対応する確率が話の終わり閾値を満たす)と、例えば、マイク終了イベントのトリガを引き起こす話の終わりトークン422を発行することによって、ユーザデバイス10によるマイク終了イベントがトリガされる。RNN-T200cが、従来のRNN-Tとで同じ音声認識品質を有していることを保証するべく、トレーニングシステム130(
図1)は、
図2AのRNN-T200aに関して上述されたのとで同様の方法によって2段階でRNN-T200cを訓練する。
【0139】
図4Aは、例示的な書き起こされた長文式のトレーニング発話400を示す。
図4Bは、
図4Aの書き起こされた長文式のトレーニング発話500についてトレーニングデータジェネレータ140によって生成された例示的な注釈付きの書き起こされたトレーニング発話450を示す。長文式の発話(例えば、数十秒の長さおよび/またはより自然な会話の音声入力およびやりとりを備えている複数の音声セグメントを備えている)の場合、トレーニングデータジェネレータ140は、例えば強制位置合わせを使用することで無音セグメント402、402a~nを決定しており、無音の持続時間に基づき文の境界を決定する。例えば、トレーニングデータジェネレータ140は、短い無音休止(例えば、無音休止402aおよび402b)に各々の<pause>トークン(例えば、トークン452aおよび452b)でラベルを付け、少なくとも最初に長い無音休止(例えば、無音休止402cおよび402d)に各々の<eos>トークンでラベルを付ける一方で、最後の無音休止(例えば、無音休止402e)に<eos>トークン(例えば、トークン452e)でラベルを付ける。いくつかの例では、無音休止は、無音休止の持続時間を所定の閾値とで比較することによって、短いのか、それとも長いのか、が判定される。例えば、トレーニングデータジェネレータ140は、所定の閾値に満たない無音休止を「短い」と分類しており、所定の閾値よりも長い無音休止持続時間を「長い」と分類する。しかしながら、このように長い無音休止にラベルを付けることによって、トレーニングデータジェネレータ140は、いくつかの長い無音休止(例えば、無音休止402cおよび402d)を<eos>トークンで誤ってラベルを付ける場合がある。したがって、トレーニングデータジェネレータ140は、躊躇語412(つなぎ、繰り返されるフレーズ、など)に続く任意の長さの無音休止(例えば、無音休止402c)を<pause>トークン(例えば、トークン452c)で再度ラベルを付ける。さらに、トレーニングデータジェネレータ140は、単語長音化414に続く任意の長さの無音休止(例えば、無音休止402d)に<pause>トークン(例えば、トークン452d)で再度ラベルを付ける。いくつかの例では、トレーニングデータジェネレータ140は、単語または単語片の最後の音素が、基準を満たす(例えば、音素について事前に計算された10の標準偏差を超える)持続時間を有している場合、単語長音化を決定する。
【0140】
図5は、非流暢性を検出しており、音声認識を実行するためのコンピュータ実装方法500のための動作(オペレーション、操作)の例示的な構成のフローチャートである。動作502で、方法500は、1つまたは複数の発話(例えば、発話106)を特徴付ける音響フレーム(例えば、特徴ベクトル
【0141】
【0142】
)のシーケンスを受信する工程を備えている。
複数の時間ステップの各々において、方法500は、動作504、506、508、および510を実行する。動作504で、方法500は、音声認識モデル(例えば、RNN-T200)のエンコーダネットワーク220によって、音響フレームのシーケンス内の対応する音響フレームの高次特徴表現
【0143】
【0144】
を生成する工程を備えている。
動作506で、方法500は、音声認識モデルの予測ネットワーク300によって、音声認識モデルの最終ソフトマックス層250によって出力された対応する非空白記号
【0145】
【0146】
のシーケンスのために隠れ表現(例えば、単一の埋込ベクトル
【0147】
【0148】
)を生成する工程を備えている。
動作508で、方法500は、エンコーダネットワークによって生成された高次特徴表現と、予測ネットワークによって生成された稠密表現(デンスレプリゼンテーション)と、を受信する音声認識モデルの第1ジョイントネットワーク(例えば、非流暢性検出ジョイントネットワーク)210によって、対応する時間ステップが休止および話の終わりに対応する確率分布を生成する工程を備えている。
【0149】
動作510で、方法500は、音声認識モデルの第2ジョイントネットワーク(例えば、単語片ジョイントネットワーク)240によって、可能性を有している音声認識仮説について確率分布
【0150】
【0151】
を生成する工程を備えている。
図6は、本文書に説明されるシステムおよび方法を実装するべく使用できる例示的なコンピューティングデバイス600の概略図である。コンピューティングデバイス600は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、およびその他の適切なコンピュータデバイス、など様々な形式のデジタルコンピュータを表すことを目的としている。ここに示されている構成要素、その接続および関係性、ならびにその機能は、例示的となることのみを目的としており、本文書に説明および/請求される本発明の実装を制限することを目的としていない。
【0152】
コンピューティングデバイス600は、データ処理ハードウェア12および/または62を実装するべく使用できるプロセッサ610(つまり、データ処理ハードウェア)と、メモリハードウェア14および/または64を実装するべく使用できるメモリ620(つまり、メモリハードウェア)と、メモリハードウェア14および/または64を実装するべく使用できるストレージデバイス630(つまり、メモリハードウェア)と、メモリ620および高速拡張ポート650に接続する高速インタフェース/コントローラ640と、低速バス660およびストレージデバイス630に接続する低速インタフェース/コントローラ670と、を備えている。構成要素610、620、630、640、650、および660の各々は、様々なバスを使用することで相互接続されており、共通のマザーボード上に取り付けられる場合もあれば、必要に応じて他の方法で取り付けられる場合もある。プロセッサ610は、高速インタフェース640に結合されたディスプレイ680などの外部入力/出力デバイス上にグラフィカルユーザインタフェース(GUI)用のグラフィック情報を表示するべく、メモリ620内にまたはストレージデバイス630上に格納された命令を備えている、コンピューティングデバイス600内で実行するための命令を処理できる。他の実装では、複数のプロセッサおよび/または複数のバスは、複数のメモリおよびメモリのタイプとともに、必要に応じて使用され得る。また、複数のコンピューティングデバイス600が接続されてよく、各デバイスは、必要な動作の部分を提供する(例えば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)。
【0153】
メモリ620は、コンピューティングデバイス600内に情報を非一時的に格納する。メモリ620は、コンピュータ可読媒体、揮発性メモリユニット(複数可)、または不揮発性メモリユニット(複数可)である場合がある。非一時的メモリ620は、コンピューティングデバイス600が使用するべく一時的または永続的にプログラム(例えば、命令のシーケンス)またはデータ(例えば、プログラム状態情報)を格納するべく使用される物理デバイスであってよい。不揮発性メモリの例は、フラッシュメモリおよび読み取り専用メモリ(ROM)/プログラム可能な読み取り専用メモリ(PROM)/消去可能なプログラム可能な読み取り専用メモリ(EPROM)/電子的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM)(例えば、通常はブートプログラムなどのファームウェアに使用される)を備えているが、これらに限定されない。揮発性メモリの例は、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、およびディスクまたはテープを備えているが、これらに限定されない。
【0154】
ストレージデバイス630は、コンピューティングデバイス600に大容量ストレージを提供することができる。いくつかの実装では、ストレージデバイス630はコンピュータ可読媒体である。様々な異なる実装では、ストレージデバイス630は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、テープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくは他の構成内のデバイスを備えているデバイスのアレイである場合がある。追加の実装では、コンピュータプログラム製品は情報キャリア内に有形に具体化される。コンピュータプログラム製品は、実行されると、上述の1つまたは複数の方法を実行する命令を備えている。情報キャリアは、メモリ620、ストレージデバイス630、またはプロセッサ610上のメモリなどのコンピュータ可読媒体またはマシン可読媒体である。
【0155】
高速コントローラ640は、コンピューティングデバイス600の帯域幅を集中使用する動作を管理しており、一方、低速コントローラ670は、帯域幅を集中使用する動作を一層少なく管理する。このような業務の割り当ては例示的にすぎない。いくつかの実装では、高速コントローラ640は、メモリ620、(例えば、グラフィックプロセッサまたはアクセレレータを介して)ディスプレイ680に、および様々な拡張カード(図示せず)を受け入れ得る高速拡張ポート650に結合される。いくつかの実装では、低速コントローラ670は、ストレージデバイス630および低速拡張ポート690に結合される。様々な通信ポート(例えば、USB、ブルートゥース(登録商標)、イーサネット(登録商標)、無線イーサネット(登録商標))を含み得る低速拡張ポート690は、キーボード、ポインティングデバイス、スキャナなどの1つまたは複数の入力/出力デバイス、またはスイッチもしくはルータなどのネットワーキングデバイスに、例えばネットワークアダプタを介して結合し得る。
【0156】
コンピューティングデバイス600は、図に示されるように、いくつかの異なる形式で実装し得る。例えば、コンピューティングデバイス600は、標準的なサーバ600aとして、またはこのようなサーバ600aのグループ内で複数回、ラップトップコンピュータ600bとして、またはラックサーバシステム600cの一部として実装され得る。
【0157】
本明細書に説明されるシステムおよび技術の様々な実装は、デジタル電子回路および/または光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せで実現できる。これらの様々な実装は、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信するとともに、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイス、にデータおよび命令を送信するべく結合された、特殊目的または汎用である場合がある、少なくとも1つのプログラム可能なプロセッサを備えているプログラム可能なシステム上で実行可能および/または解釈可能にされている1つまたは複数のコンピュータプログラム内に実装を含めることができる。
【0158】
ソフトウェアアプリケーション(つまり、ソフトウェアリソース)は、コンピューティングデバイスにタスクを実行させるコンピュータソフトウェアを指す場合がある。いくつかの例では、ソフトウェアアプリケーションは、「アプリケーション」、「アプリ」、または「プログラム」と呼ばれる場合がある。例示的なアプリケーションは、システム診断アプリケーション、システム管理アプリケーション、システム保守アプリケーション、文書作成アプリケーション、スプレッドシートアプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲーミングアプリケーションを備えているが、これらに限定されない。
【0159】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラム可能プロセッサに対する機械命令を備えており、高水準手続き型言語および/またはオブジェクト指向プログラミング言語で、および/またはアセンブリ/機械言語で実装できる。本願で使用される場合、用語「機械可読媒体」および「コンピュータ可読媒体」は、機械命令および/またはデータを、機械可読信号として機械命令を受け取る機械可読媒体を備えているプログラム可能プロセッサに提供するべく使用される、任意のコンピュータプログラム製品、非一時的なコンピュータ可読媒体、装置および/またはデバイス(例えば、磁気ディスク、光ディスク、メモリ、プログラマブル論理回路(PLD))を指す。用語「機械可読信号」は、機械命令および/またはデータをプログラム可能プロセッサに提供するべく用いられる任意の信号を指す。
【0160】
本明細書に説明される処理および論理の流れは、入力されたデータに作用しており、出力を生成することによって機能を実行するべく1つまたは複数のコンピュータプログラムを実行する、データ処理ハードウェアとも呼ばれる1つまたは複数のプログラム可能プロセッサによって実行できる。処理および論理の流れはまた、特殊目的論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行できる。コンピュータプログラムの実行に適したプロセッサは、一例として、汎用マイクロプロセッサと特殊目的マイクロプロセッサの両方と、任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサと、を備えている。一般に、プロセッサは、読み取り専用メモリもしくはランダムアクセスメモリ、または両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実行するためのプロセッサ、ならびに命令およびデータを格納するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、例えば磁気ディスク、光磁気ディスク、もしくは光ディスクなどのデータを格納するための1つまたは複数の大量記憶装置を備えているか、または1つまたは複数の大量記憶装置からデータを受信するもしくは1つまたは複数の大量記憶装置にデータを転送する、もしくは両方を行なうように動作可能に結合される。しかしながら、コンピュータは、このようなデバイスを有している必要はない。コンピュータプログラム命令およびデータを格納するべく適したコンピュータ可読媒体は、例として、例えば、EPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス、例えば内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスクなどの磁気ディスク、およびCD ROMディスクとDVD-ROMディスクを備えているすべての形式の不揮発性メモリ、メディア、およびメモリデバイスを備えている。プロセッサおよびメモリは、特殊目的論理回路によって補完することができるか、または特殊目的論理回路に組み込むことができる。
【0161】
ユーザとのやりとりを提供するべく、本開示の1つまたは複数の態様は、例えば、CRT(ブラウン管)、LCD(液晶画面)モニタ、またはタッチスクリーンなどのユーザに情報を表示するためのディスプレイデバイス、ならびに任意選択でユーザがコンピュータへの入力を提供することができる、例えば、マウスやトラックボールなどのキーボードおよびポインティングデバイスを有しているコンピュータ上に実装できる。他の種類のデバイスもまた、ユーザとのやりとりを提供するべく使用できる。例えば、ユーザに提供されるフィードバックは、例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックなど任意の形式の感覚的フィードバックである場合があり、ユーザからの入力は、音響入力、音声入力、または触覚入力、を備えている任意の形式で受け取ることができる。さらに、コンピュータは、例えば、ウェブブラウザから受け取られた要求に応じて、ユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、などユーザによって使用されるデバイスに文書を送信しており、ユーザによって使用されるデバイスから文書を受信することによってユーザとで対話することができる。
【0162】
いくつかの実装が説明されてきた。言うまでもなく、本開示の趣旨および範囲から逸脱することなく、多様な修正が成され得ることが理解される。したがって、他の実装は、以下の特許請求の範囲の範囲内である。
【手続補正書】
【提出日】2024-05-24
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータ実装方法(500)であって、データ処理ハードウェア上(610)で実行されると、前記データ処理ハードウェア(610)に、
1つまたは複数の発話(106)を特徴付ける音響フレーム(110)のシーケンスを受信する工程と、
複数の時間ステップの各々において、
音声認識モデル(200)のエンコーダネットワーク(220)によって、前記音響フレーム(110)のシーケンス内の対応する音響フレームの高次特徴表現(224)を生成する工程と、
前記音声認識モデル(200)の予測ネットワーク(300)によって、前記音声認識モデル(200)の最終ソフトマックス層(250)によって出力された対応する非空白記号のシーケンス(252)の隠れ表現(350)を生成する工程と、
前記エンコーダネットワーク(220)によって生成された前記高次特徴表現(224)と、前記予測ネットワーク(300)によって生成された前記隠れ表現(350)と、を受信する前記音声認識モデル(200)の第1ジョイントネットワーク(210)によって、対応する前記時間ステップが休止および話の終わりに対応する確率分布を生成する工程と、
を備えている動作を実行させる、コンピュータ実装方法(500)。
【請求項2】
前記動作は、
対応する前記時間ステップが前記話の終わりに対応する確率が、話の終わり閾値を満たすと判定する工程と、
対応する前記時間ステップが前記話の終わりに対応する前記確率が、前記話の終わり閾値を満たすと判定したことに応じて、マイク終了イベントをトリガする工程と、
をさらに備えている、
請求項1に記載のコンピュータ実装方法(500)。
【請求項3】
前記動作は、
対応する前記時間ステップが前記休止に対応する確率が休止閾値を満たすと判定する工程と、
対応する前記時間ステップが前記休止に対応する前記確率が前記休止閾値を満たすと判定したことに基づき、対応する前記時間ステップで休止トークン(212)を発行する工程と、
をさらに備えている、
請求項
1に記載のコンピュータ実装方法(500)。
【請求項4】
前記動作は、複数の出力ステップの各々において、前記音声認識モデル(200)の第2ジョイントネットワーク(240)によって、可能性を有している音声認識仮説について確率分布(242)を生成する工程、をさらに備えている、
請求項1~3のいずれか1項に記載のコンピュータ実装方法(500)。
【請求項5】
前記音声認識モデル(200)は、2段階のトレーニング処理によって訓練されており、前記2段階のトレーニング処理は、
音声認識タスクに関して前記エンコーダネットワーク(220)、前記予測ネットワーク(300)、および前記第2ジョイントネットワーク(240)、を訓練する第1段階と、
前記第1ジョイントネットワーク(210)を初期化および微調整することで、発話(106)中の休止位置および話の終わり位置を予測する方法を学習する第2段階と、
を備えている、
請求項4に記載のコンピュータ実装方法(500)。
【請求項6】
前記エンコーダネットワーク(220)、前記予測ネットワーク(300)、および前記第2ジョイントネットワーク(240)、のパラメータは前記2段階のトレーニング処理のうちの前記第2段階中に固定される、
請求項5に記載のコンピュータ実装方法(500)。
【請求項7】
前記2段階のトレーニング処理は、前記休止位置と話の前記終わり位置とを示すラベルを有している複数の書き起こされたトレーニング発話に関して前記音声認識モデル(200)を訓練する、
請求項
5に記載のコンピュータ実装方法(500)。
【請求項8】
前記エンコーダネットワーク(220)は自己注意ブロックのスタックを備えている、
請求項1~
3のいずれか1項に記載のコンピュータ実装方法(500)。
【請求項9】
前記自己注意ブロックのスタックは、コンフォーマブロックのスタックまたはトランスフォーマブロックのスタックを備えている、
請求項8に記載のコンピュータ実装方法(500)。
【請求項10】
対応する前記非空白記号(252)のシーケンスの前記隠れ表現(350)を生成する工程は、
対応する前記時間ステップにおいて入力として受信された前記非空白記号のシーケンス(252)内の非空白記号ごとに、
前記予測ネットワーク(300)によって、共有埋込行列(304)を使用することで、対応する前記非空白記号の埋込(306)を生成する工程と、
前記予測ネットワーク(300)によって、対応する前記非空白記号に各々の位置ベクトル(308)を割り当てる工程と、
前記予測ネットワーク(300)によって、前記埋込(306)と前記各々の位置ベクトル(308)との間の類似性に比例して前記埋込(306)に重み付けする工程と、
前記予測ネットワーク(300)からの出力として、対応する前記時間ステップにおいて単一の埋込ベクトル(305)を生成する工程であって、前記単一の埋込ベクトル(305)は重み付けされた前記埋込の加重平均に基づいており、前記単一の埋込ベクトル(305)は前記隠れ表現(350)を備えている、前記単一の埋込ベクトル(305)を生成する工程と、
を備えている、
請求項1~
3のいずれか1項に記載のコンピュータ実装方法(500)。
【請求項11】
前記予測ネットワーク(300)はマルチヘッド注意機構(302)を備えており、前記マルチヘッド注意機構(302)は、前記マルチヘッド注意機構(302)の各ヘッド(302A~H)全体で前記共有埋込行列(304)を共有している、
請求項10に記載のコンピュータ実装方法(500)。
【請求項12】
システム(100)であって、前記システム(100)は、
データ処理ハードウェア(610)と、
前記データ処理ハードウェア(610)に通信しているメモリハードウェア(620)であって、前記データ処理ハードウェア(610)上で実行されると、前記データ処理ハードウェア(610)に、
1つまたは複数の発話(106)を特徴付ける音響フレーム(110)のシーケンスを受信する工程と、
複数の出力ステップの各々において、
音声認識モデル(200)のエンコーダネットワーク(220)によって、前記音響フレーム(110)のシーケンス内の対応する音響フレームの高次特徴表現(224)を生成する工程と、
前記音声認識モデル(200)の予測ネットワーク(300)によって、前記音声認識モデル(200)の最終ソフトマックス層(250)によって出力される対応する非空白記号のシーケンス(252)の隠れ表現(350)を生成する工程と、
前記エンコーダネットワーク(220)によって生成された前記高次特徴表現(224)と、前記予測ネットワーク(300)によって生成された前記隠れ表現(350)と、を受信する前記音声認識モデル(200)の第1ジョイントネットワーク(210)によって、対応する時間ステップが休止および話の終わりに対応する確率分布を生成する工程と、
を備えている動作を実行させる前記メモリハードウェア(620)と、
を備えている、システム(100)。
【請求項13】
前記動作は、
対応する前記時間ステップが前記話の終わりに対応する確率が、話の終わり閾値を満たすと判定する工程と、
対応する前記時間ステップが前記話の終わりに対応する前記確率が前記話の終わり閾値を満たすと判定したことに応じて、マイク終了イベントをトリガする工程と、
をさらに備えている、
請求項12に記載のシステム(100)。
【請求項14】
前記動作は、
対応する前記時間ステップが前記休止に対応する確率が休止閾値を満たすと判定する工程と、
対応する前記時間ステップが前記休止に対応する前記確率が前記休止閾値を満たすと判定したことに基づき、対応する前記時間ステップで休止トークン(212)を発行する工程と、
をさらに備えている、
請求項1
2に記載のシステム(100)。
【請求項15】
前記動作は、複数の前記出力ステップの各々において、前記音声認識モデル(200)の第2ジョイントネットワーク(240)によって、可能性を有している音声認識仮説について確率分布(242)を生成する工程、をさらに備えている、
請求項12~14のいずれか1項に記載のシステム(100)。
【請求項16】
前記音声認識モデル(200)は、2段階のトレーニング処理によって訓練されており、前記2段階のトレーニング処理は、
音声認識タスクに関して前記エンコーダネットワーク(220)、前記予測ネットワーク(300)、および前記第2ジョイントネットワーク(240)、を訓練する第1段階と、
前記第1ジョイントネットワーク(210)を初期化および微調整することで、発話(106)中の休止位置および話の終わり位置を予測する方法を学習する第2段階と、
を備えている、
請求項15に記載のシステム(100)。
【請求項17】
前記エンコーダネットワーク(220)、前記予測ネットワーク(300)、および前記第2ジョイントネットワーク(240)、のパラメータは前記2段階のトレーニング処理のうちの前記第2段階中に固定される、
請求項16に記載のシステム(100)。
【請求項18】
前記2段階のトレーニング処理は、前記休止位置および話の前記終わり位置を示すラベルを有している複数の書き起こされたトレーニング発話に関して前記音声認識モデル(200)を訓練する、
請求項1
6に記載のシステム(100)。
【請求項19】
前記エンコーダネットワーク(220)は自己注意ブロックのスタックを備えている、
請求項12~
14のいずれか1項に記載のシステム(100)。
【請求項20】
前記自己注意ブロックのスタックは、コンフォーマブロックのスタックまたはトランスフォーマブロックのスタックを備えている、
請求
項19に記載のシステム(100)。
【請求項21】
対応する前記非空白記号(252)のシーケンスの前記隠れ表現(350)を生成する工程は、
対応する前記時間ステップにおいて入力として受信された前記非空白記号(252)のシーケンス内の非空白記号ごとに、
前記予測ネットワーク(300)によって、共有埋込行列(304)を使用することで、対応する前記非空白記号の埋込(306)を生成する工程と、
前記予測ネットワーク(300)によって、対応する前記非空白記号に各々の位置ベクトル(308)を割り当てる工程と、
前記予測ネットワーク(300)によって、前記埋込(306)と前記各々の位置ベクトル(308)との間の類似性に比例して前記埋込(306)に重み付けする工程と、
前記予測ネットワーク(300)からの出力として、対応する前記時間ステップにおいて単一の埋込ベクトル(305)を生成する工程であって、前記単一の埋込ベクトル(305)は重み付けされた前記埋込の加重平均に基づいており、前記単一の埋込ベクトル(305)は前記隠れ表現(350)を備えている、前記単一の埋込ベクトル(305)を生成する工程と、
を備えている、
請求項12~
14のいずれか1項に記載のシステム(100)。
【請求項22】
前記予測ネットワーク(300)はマルチヘッド注意機構(302)を備えており、前記マルチヘッド注意機構(302)は、前記マルチヘッド注意機構(302)の各ヘッド(302A~H)全体で前記共有埋込行列(304)を共有している、
請求項21に記載のシステム(100)。
【請求項23】
自然会話の自動音声認識(ASR)モデル(200)であって、自動音声認識ASRモデル(200)は、
エンコーダネットワーク(220)であって、
入力として、1つまたは複数の発話(106)を特徴付ける音響フレーム(110)のシーケンスを受信することで、
複数の時間ステップの各々において、前記音響フレーム(110)のシーケンス内の対応する音響フレームの高次特徴表現(224)を生成する
ように構成された前記エンコーダネットワーク(220)と、
予測ネットワーク(300)であって、
入力として、最終ソフトマックス層(250)によって出力された非空白記号(252)のシーケンスを受信することで、
複数の前記時間ステップの各々において、隠れ表現(350)を生成する
ように構成された前記予測ネットワーク(300)と、
第1ジョイントネットワーク(210)であって、
入力として、複数の前記時間ステップの各々において前記予測ネットワーク(300)によって生成された前記隠れ表現(350)と、複数の前記時間ステップの各々において前記エンコーダネットワーク(220)によって生成された前記高次特徴表現(224)と、を受信することで、
複数の前記時間ステップの各々において、対応する前記時間ステップが休止および話の終わりに対応する確率分布を生成する
ように構成された前記第1ジョイントネットワーク(210)と、
を備えている、自動音声認識ASRモデル(200)。
【請求項24】
前記自動音声認識ASRモデル(200)は、対応する前記時間ステップが閾値を満たす話の終わりに対応する確率に基づき、マイク終了イベントをトリガする、
請求項23に記載の自動音声認識ASRモデル(200)。
【請求項25】
入力として、複数の前記時間ステップの各々において前記予測ネットワーク(300)によって生成された前記隠れ表現(350)と、複数の前記時間ステップの各々において前記エンコーダネットワーク(220)によって生成された前記高次特徴表現(224)と、を受信することで、
複数の前記時間ステップの各々において、可能性を有している音声認識仮説について確率分布を生成する
ように構成された第2ジョイントネットワーク(240)をさらに備えている、
請求項23または24に記載の自動音声認識ASRモデル(200)。
【請求項26】
前記エンコーダネットワーク(220)、前記予測ネットワーク(300)、および前記第2ジョイントネットワーク(240)、は第1トレーニング段階中に音声認識タスクに関して訓練されており、
前記第1トレーニング段階の後、前記エンコーダネットワーク(220)、前記予測ネットワーク(300)、および前記第2ジョイントネットワーク(240)、が固定中に前記第1ジョイントネットワーク(210)が初期化および微調整されることで発話(106)中の休止位置と話の終わり位置とを予測する方法を学習する、
請求項25に記載の自動音声認識ASRモデル(200)。
【国際調査報告】