(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-12-24
(54)【発明の名称】ラティス音声補正
(51)【国際特許分類】
G10L 15/08 20060101AFI20241217BHJP
G10L 15/22 20060101ALI20241217BHJP
G10L 15/197 20130101ALI20241217BHJP
【FI】
G10L15/08 200Z
G10L15/22 470F
G10L15/197
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024535991
(86)(22)【出願日】2021-12-15
(85)【翻訳文提出日】2024-07-04
(86)【国際出願番号】 US2021063508
(87)【国際公開番号】W WO2023113784
(87)【国際公開日】2023-06-22
(32)【優先日】2021-12-14
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】アゴストン・ワイス
(72)【発明者】
【氏名】レオニド・ヴェリコヴィッチ
(57)【要約】
方法(500)は、クエリに対応するオーディオデータ(112)を受信することと、オーディオデータを処理して、それぞれが仮定用語のそれぞれのシーケンスによって表された複数の候補仮説(135)を生成することと、を含む。候補仮説ごとに、本方法は、仮定用語のシーケンスが、フレーズ補正ペアのリスト(125)からのソースフレーズ(126)を含むかどうかを判定することを含む。各フレーズ補正ペアは、誤認識された対応するソースフレーズと、ソースフレーズを置き換える対応するターゲットフレーズ(128)と、を含む。仮定用語のそれぞれのシーケンスがソースフレーズを含むときに、本方法は、ソースフレーズを置き換える対応する追加候補仮説(145)を生成することを含む。また、本方法は、複数の候補仮説及び各対応する追加候補仮説をランク付けすることと、複数の候補仮説及び各追加候補仮説のうちの最高ランキングの1つを選択することによって、クエリのトランスクリプション(175)を生成することと、を含む。
【特許請求の範囲】
【請求項1】
データ処理ハードウェア(122)によって実行されるときに、前記データ処理ハードウェア(122)に、動作を行わせるコンピューターにより実施される方法(500)であって、前記動作は、
ユーザーによって話されたクエリに対応するオーディオデータ(112)を受信することと、
音声認識器を使用して、前記オーディオデータ(112)を処理し、複数の候補仮説(135)を生成することであって、各候補仮説(135)は、前記クエリについての候補トランスクリプション(175)に対応し、仮定用語のそれぞれのシーケンスによって表され、
各候補仮説(135)に対して、
前記仮定用語のそれぞれのシーケンスは、フレーズ補正ペアのリスト(125)からのソースフレーズ(126)を含むかどうかを判定することであって、前記フレーズ補正ペアのリスト(125)内の各フレーズ補正ペアは、
前記ユーザーによってなされた以前の発話(401)について前記音声認識器によって転写された対応する以前のトランスクリプション(475)において誤認識された対応するソースフレーズ(126)と、
前記音声認識器によって転写された前記対応する以前のトランスクリプション(475)において誤認識された前記ソースフレーズ(126)を置き換えるユーザー補正に一致する対応するターゲットフレーズ(128)と、を含む、前記判定することと、
前記仮定用語のそれぞれのシーケンスが前記ソースフレーズ(126)を含むときに、前記仮定用語のそれぞれのシーケンスにおける前記ソースフレーズ(126)を、前記対応するターゲットフレーズ(128)に置き換える対応する追加候補仮説(145)を生成することと、を行う、前記生成することと、
前記複数の候補仮説(135)及び生成された各対応する追加候補仮説(145)をランク付けすることと、
前記複数の候補仮説(135)及び生成された各対応する追加候補仮説(145)のうちの最高ランキングの1つを選択することによって、前記ユーザーによって話された前記クエリのトランスクリプション(175)を生成することと、
を含む、前記コンピューターにより実施される方法(500)。
【請求項2】
前記動作は、さらに、前記フレーズ補正ペアのリスト(125)内の各フレーズ補正ペアに対して、
前記対応するソースフレーズ(126)を含む言語モデル(302)のnグラムを識別することと、
前記識別されたnグラムにおける前記対応するソースフレーズ(126)を、前記対応するターゲットフレーズ(128)に置換する対応する新しいnグラムをクローニングすることと、
前記言語モデル(302)を、
前記言語モデル(302)に、前記ソースフレーズ(126)を前記対応するターゲットフレーズ(128)に置換する前記新しいnグラムを追加することと、
前記ターゲットフレーズ(128)のユニグラムの事前の尤度スコア(304)が、前記ソースフレーズ(126)のユニグラムよりも高くなることを判定するように、前記言語モデル(302)を条件付けることと、によって変更することと、
各追加候補仮説(145)を入力として受信するように構成された前記修正された言語モデル(302)を使用して、各追加候補仮説(145)について対応する事前の尤度スコア(304)を判定することと、を含み、
前記複数の候補仮説(135)及び各追加候補仮説(145)をランク付けすることは、各追加候補仮説(145)について判定された前記対応する事前の尤度スコア(304)に基づいている、請求項1に記載のコンピューターにより実施される方法(500)。
【請求項3】
前記動作は、さらに、前記フレーズ補正ペアのリスト(125)内の各フレーズ補正ペアに対して、
前記対応するソースフレーズ(126)を誤認識した前記対応する以前のトランスクリプション(475)を表すnグラムのオリジナルシーケンス(326)を取得することであって、前記nグラムのオリジナルシーケンス(326)は、前記対応するソースフレーズ(126)と、前記対応する以前のトランスクリプション(475)における前記対応するソースフレーズ(126)の前及び/または後にある1つ以上の他の用語とを含む、前記取得することと、
前記nグラムのオリジナルシーケンス(326)における前記ソースフレーズ(126)を前記対応するターゲットフレーズ(128)に置き換えるnグラムの補正シーケンス(328)を取得することであって、前記nグラムの補正シーケンス(328)は、前記ターゲットフレーズ(128)と、前記対応する以前のトランスクリプション(475)における前記対応するソースフレーズ(126)の前及び/または後にある同じ1つ以上の他の用語とを含む、前記取得することと、
前記言語モデル(302)を、
前記nグラムのオリジナルシーケンス(326)及び前記nグラムの補正シーケンス(328)を、前記言語モデル(302)に追加することと、
前記ターゲットフレーズ(128)を含む前記nグラムの補正シーケンス(328)からのnグラムの数の事前の尤度スコア(304)が、前記ソースフレーズ(126)を含む前記nグラムのオリジナルシーケンス(326)からの同じ数のnグラムよりも高くなることを判定するように、前記言語モデル(302)を条件付けることと、によって変更することと、
各追加候補仮説(145)を入力として受信するように構成された前記変更された言語モデル(302)を使用して、各追加候補仮説(145)について対応する事前の尤度スコア(304)を判定することと、を含み、
前記複数の候補仮説(135)及び各追加候補仮説(145)をランク付けすることは、各追加候補仮説(145)について判定された前記対応する事前の尤度スコア(304)に基づいている、請求項1に記載のコンピューターにより実施される方法(500)。
【請求項4】
前記nグラムの補正シーケンス(328)からの前記nグラムの数と、前記nグラムのオリジナルシーケンス(326)からの前記同じ数のnグラムとについて前記言語モデル(302)によって判定された前記事前の尤度スコア(304)の間のマージンは、前記nグラムの補正シーケンス及びオリジナルシーケンスからの前記nグラムの数が増加するにつれて増加することを含む、請求項3に記載のコンピューターにより実施される方法(500)。
【請求項5】
前記言語モデル(302)を条件付けることは、さらに、前記ターゲットフレーズ(128)を含む前記nグラムのシーケンスからのnグラムの第1の数の事前の尤度スコア(304)が、前記ターゲットフレーズ(128)を含む前記nグラムのシーケンスからのnグラムのより大きい第2の数よりも低くなることを判定するように、前記言語モデル(302)を条件付けること、を含む、請求項3または4に記載のコンピューターにより実施される方法(500)。
【請求項6】
前記nグラムのオリジナルシーケンス及び補正シーケンスはそれぞれ、さらに、前記ユーザーによってなされた前記以前の発話(401)について、前記音声認識器によって転写された前記対応する以前のトランスクリプション(475)の文境界を表すnグラムを含む、請求項3~5のいずれかに記載のコンピューターにより実施される方法(500)。
【請求項7】
前記動作は、さらに、
前記音声認識器によって生成された前記複数の候補仮説(135)の各々について、前記音声認識器が前記対応する候補仮説(135)に割り当てた対応する尤度スコア(155)を取得することと、
各追加候補仮説(145)を生成した後に、追加仮説スコアラー(300)を使用して、生成された各追加候補仮説(145)について対応する尤度スコア(155)を判定することと、を含み、
前記複数の候補仮説(135)及び生成された各対応する追加候補仮説(145)をランク付けすることは、前記音声認識器によって、前記複数の候補仮説(135)に割り当てられた前記対応する尤度スコア(155)と、前記追加仮説スコアラー(300)を使用して、各追加候補仮説(145)について判定された前記対応する尤度スコア(155)とに基づいている、請求項1~6のいずれかに記載のコンピューターにより実施される方法(500)。
【請求項8】
前記追加仮説スコアラー(300)は、
オーディオデータ(112)を処理して、前記ソースフレーズ(126)もしくは前記ターゲットフレーズ(128)のいずれか一方を含む前記オーディオデータ(112)の一部分に関するアコースティックモデリングスコアを判定するように構成されたアコースティックモデル(301)、または、
各追加候補仮説(145)を入力として受信し、各追加候補仮説(145)について対応する事前の尤度スコア(304)を判定するように構成された言語モデル(302)、のうちの少なくとも1つを含み、
各追加候補仮説(145)について判定された前記対応する尤度スコア(155)は、前記アコースティックモデリングスコア、または前記追加候補仮説(145)について判定された前記対応する事前の尤度スコア(304)、のうちの少なくとも1つに基づいている、請求項7に記載のコンピューターにより実施される方法(500)。
【請求項9】
前記言語モデル(302)は、前記音声認識器の外部にある補助言語モデル(302)、または前記音声認識器と統合された内部言語モデル(302)を含む、請求項8に記載のコンピューターにより実施される方法(500)。
【請求項10】
前記音声認識器は、前記複数の候補仮説(135)の各々について、前記対応する尤度スコア(155)を生成するように構成されたエンドツーエンド音声認識モデルを含む、請求項8または9に記載のコンピューターにより実施される方法(500)。
【請求項11】
前記音声認識器はアコースティックモデル(301)及び言語モデル(302)を含み、
前記音声認識器が前記複数の候補仮説(135)の各々に割り当てた前記対応する尤度スコア(155)は、前記アコースティックモデル(301)によって出力されたアコースティックモデリングスコア、または前記言語モデル(302)によって出力された対応する事前の尤度スコア(304)、のうちの少なくとも1つに基づいている、請求項7~9のいずれかに記載のコンピューターにより実施される方法(500)。
【請求項12】
システム(100)であって、
データ処理ハードウェア(122)と、
前記データ処理ハードウェア(122)と通信して、前記データ処理ハードウェア(122)で実行されるときに、前記データ処理ハードウェア(122)に動作を行わせる命令を記憶するメモリハードウェア(124)を含み、前記動作は、
ユーザーによって話されたクエリに対応するオーディオデータ(112)を受信することと、
音声認識器を使用して、前記オーディオデータ(112)を処理し、複数の候補仮説(135)を生成することであって、各候補仮説(135)は、前記クエリについての候補トランスクリプション(175)に対応し、仮定用語のそれぞれのシーケンスによって表され、
各候補仮説(135)に対して、
前記仮定用語のそれぞれのシーケンスは、フレーズ補正ペアのリスト(125)からのソースフレーズ(126)を含むかどうかを判定することであって、前記フレーズ補正ペアのリスト(125)内の各フレーズ補正ペアは、
前記ユーザーによってなされた以前の発話(401)について前記音声認識器によって転写された対応する以前のトランスクリプション(475)において誤認識された対応するソースフレーズ(126)と、
前記音声認識器によって転写された前記対応する以前のトランスクリプション(475)において誤認識された前記ソースフレーズ(126)を置き換えるユーザー補正に一致する対応するターゲットフレーズ(128)と、を含む、前記判定することと、
前記仮定用語のそれぞれのシーケンスが前記ソースフレーズ(126)を含むときに、前記仮定用語のそれぞれのシーケンスにおける前記ソースフレーズ(126)を、前記対応するターゲットフレーズ(128)に置き換える対応する追加候補仮説(145)を生成することと、を行う、前記生成することと、
前記複数の候補仮説(135)及び生成された各対応する追加候補仮説(145)をランク付けすることと、
前記複数の候補仮説(135)及び生成された各対応する追加候補仮説(145)のうちの最高ランキングの1つを選択することによって、前記ユーザーによって話された前記クエリのトランスクリプション(175)を生成することと、
を含む、前記システム(100)。
【請求項13】
前記動作は、さらに、前記フレーズ補正ペアのリスト(125)内の各フレーズ補正ペアに対して、
前記対応するソースフレーズ(126)を含む言語モデル(302)のnグラムを識別することと、
前記識別されたnグラムにおける前記対応するソースフレーズ(126)を、前記対応するターゲットフレーズ(128)に置換する対応する新しいnグラムをクローニングすることと、
言語モデル(302)を、
前記言語モデル(302)に、前記ソースフレーズ(126)を前記対応するターゲットフレーズ(128)に置換する前記新しいnグラムを追加することと、
前記ターゲットフレーズ(128)のユニグラムの事前の尤度スコア(304)が、前記ソースフレーズ(126)のユニグラムよりも高くなることを判定するように、前記言語モデル(302)を条件付けることと、によって変更することと、
各追加候補仮説(145)を入力として受信するように構成された前記変更された言語モデル(302)を使用して、各追加候補仮説(145)について対応する事前の尤度スコア(304)を判定することと、を含み、
前記複数の候補仮説(135)及び各追加候補仮説(145)をランク付けすることは、各追加候補仮説(145)について判定された前記対応する事前の尤度スコア(304)に基づいている、請求項12に記載のシステム(100)。
【請求項14】
前記動作は、さらに、前記フレーズ補正ペアのリスト(125)内の各フレーズ補正ペアに対して、
前記対応するソースフレーズ(126)を誤認識した前記対応する以前のトランスクリプション(475)を表すnグラムのオリジナルシーケンス(326)を取得することであって、前記nグラムのオリジナルシーケンス(326)は、前記対応するソースフレーズ(126)と、前記対応する以前のトランスクリプション(475)における前記対応するソースフレーズ(126)の前及び/または後にある1つ以上の他の用語とを含む、前記取得することと、
前記nグラムのオリジナルシーケンス(326)における前記ソースフレーズ(126)を前記対応するターゲットフレーズ(128)に置き換えるnグラムの補正シーケンス(328)を取得することであって、前記nグラムの補正シーケンス(328)は、前記ターゲットフレーズ(128)と、前記対応する以前のトランスクリプション(475)における前記対応するソースフレーズ(126)の前及び/または後にある同じ1つ以上の他の用語とを含む、前記取得することと、
前記言語モデル(302)を、
前記nグラムのオリジナルシーケンス及び前記nグラムの補正シーケンスを、前記言語モデル(302)に追加することと、
前記ターゲットフレーズ(128)を含む前記nグラムの補正シーケンスからのnグラムの数の事前の尤度スコア(304)が、前記ソースフレーズ(126)を含む前記nグラムのオリジナルシーケンスからの同じ数のnグラムよりも高くなることを判定するように、前記言語モデル(302)を条件付けることと、によって変更することと、
各追加候補仮説(145)を入力として受信するように構成された前記変更された言語モデル(302)を使用して、各追加候補仮説(145)について対応する事前の尤度スコア(304)を判定することと、を含み、
前記複数の候補仮説(135)及び各追加候補仮説(145)をランク付けすることは、各追加候補仮説(145)について判定された前記対応する事前の尤度スコア(304)に基づいている、請求項12に記載のシステム(100)。
【請求項15】
前記nグラムの補正シーケンスからの前記nグラムの数と、前記nグラムのオリジナルシーケンスからの前記同じ数のnグラムとについて前記言語モデル(302)によって判定された前記事前の尤度スコア(304)の間のマージンは、前記nグラムの補正シーケンス及びオリジナルシーケンスからの前記nグラムの数が増加するにつれて増加することを含む、請求項14に記載のシステム(100)。
【請求項16】
前記言語モデル(302)を条件付けることは、さらに、前記ターゲットフレーズ(128)を含む前記nグラムのシーケンスからのnグラムの第1の数の事前の尤度スコア(304)が、前記ターゲットフレーズ(128)を含む前記nグラムのシーケンスからのnグラムのより大きい第2の数よりも低くなることを判定するように、前記言語モデル(302)を条件付けること、を含む、請求項14または15に記載のシステム(100)。
【請求項17】
前記nグラムのオリジナルシーケンス及び補正シーケンスはそれぞれ、さらに、前記ユーザーによってなされた前記以前の発話(401)について、前記音声認識器によって転写された前記対応する以前のトランスクリプション(475)の文境界を表すnグラムを含む、請求項14~16のいずれかに記載のシステム(100)。
【請求項18】
前記動作は、さらに、
前記音声認識器によって生成された前記複数の候補仮説(135)の各々について、前記音声認識器が前記対応する候補仮説(135)に割り当てた対応する尤度スコア(155)を取得することと、
各追加候補仮説(145)を生成した後に、追加仮説スコアラー(300)を使用して、生成された各追加候補仮説(145)について対応する尤度スコア(155)を判定することと、を含み、
前記複数の候補仮説(135)及び生成された各対応する追加候補仮説(145)をランク付けすることは、前記音声認識器によって、前記複数の候補仮説(135)に割り当てられた前記対応する尤度スコア(155)と、前記追加仮説スコアラー(300)を使用して、各追加候補仮説(145)について判定された前記対応する尤度スコア(155)とに基づいている、請求項12~17のいずれかに記載のシステム(100)。
【請求項19】
前記追加仮説スコアラー(300)は、
オーディオデータ(112)を処理して、前記ソースフレーズ(126)もしくは前記ターゲットフレーズ(128)のいずれか一方を含む前記オーディオデータ(112)の一部分に関するアコースティックモデリングスコアを判定するように構成されたアコースティックモデル(301)、または、
各追加候補仮説(145)を入力として受信し、各追加候補仮説(145)について対応する事前の尤度スコア(304)を判定するように構成された言語モデル(302)、のうちの少なくとも1つを含み、
各追加候補仮説(145)について判定された前記対応する尤度スコア(155)は、前記アコースティックモデリングスコア、または前記追加候補仮説(145)について判定された前記対応する事前の尤度スコア(304)、のうちの少なくとも1つに基づいている、請求項18に記載のシステム(100)。
【請求項20】
前記言語モデル(302)は、前記音声認識器の外部にある補助言語モデル(302)、または前記音声認識器と統合された内部言語モデル(302)を含む、請求項19に記載のシステム(100)。
【請求項21】
前記音声認識器は、前記複数の候補仮説(135)の各々について、前記対応する尤度スコア(155)を生成するように構成されたエンドツーエンド音声認識モデルを含む、請求項19または20に記載のシステム(100)。
【請求項22】
前記音声認識器はアコースティックモデル(301)及び言語モデル(302)を含み、
前記音声認識器が前記複数の候補仮説(135)の各々に割り当てた前記対応する尤度スコア(155)は、前記アコースティックモデル(301)によって出力されたアコースティックモデリングスコア、または前記言語モデル(302)によって出力された対応する事前の尤度スコア(304)、のうちの少なくとも1つに基づいている、請求項18~20のいずれかに記載のシステム(100)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示はラティス音声補正に関する。
【背景技術】
【0002】
自動音声認識(ASR)システムは、モバイルデバイス及び他のデバイスで通常使用される技術を提供する。一般に、ASRシステムは、ユーザーがモバイルデバイスに話す内容の正確なトランスクリプションを提供しようとする。いくつかの例では、ASRシステムは、ユーザーが話した内容と一致しない不正確なトランスクリプションを生成する。これらの例では、ユーザーは、モバイルデバイスにおいてトランスクリプションを補正するユーザー入力を提供することによって、不正確なトランスクリプションを補正し得る。ASRシステムの課題の1つとして、不正確なトランスクリプションを補正するユーザー入力をいかにして最大限に利用して、今後、正確なトランスクリプションを生成するかが含まれる。
【発明の概要】
【0003】
本開示の一態様は、データ処理ハードウェアで実行されるときに、データ処理ハードウェアに動作を行わせるコンピューターによる実施を提供し、動作は、ユーザーによって話されたクエリに対応するオーディオデータを受信することと、音声認識器を使用して、オーディオデータを処理し、複数の候補仮説を生成することと、を含む。各候補仮説は、クエリの候補トランスクリプションに対応し、仮定用語のそれぞれのシーケンスによって表される。各候補仮説について、本方法は、また、仮定用語のそれぞれのシーケンスがフレーズ補正ペアのリストからのソースフレーズを含むかどうかを判定することと、仮定用語のそれぞれのシーケンスがソースフレーズを含むときに、仮定用語のそれぞれのシーケンスにおけるソースフレーズを対応するターゲットフレーズに置き換える対応する追加候補仮説を生成することと、を含む。フレーズ補正ペアのリスト内の各フレーズ補正ペアは、ユーザーによってなされた以前の発話について音声認識器によって転写された対応する以前のトランスクリプションにおいて誤認識された対応するソースフレーズと、音声認識器によって転写された対応する以前のトランスクリプションにおいて誤認識されたソースフレーズを置き換えるユーザー補正に一致する対応するターゲットフレーズと、を含む。本方法は、また、複数の候補仮説及び生成された各対応する追加候補仮説をランク付けすることと、複数の候補仮説及び生成された各対応する追加候補仮説のうちの最高ランキングの1つを選択することによって、ユーザーによって話されたクエリのトランスクリプションを生成することと、を含む。
【0004】
本開示の実施態様は、以下の任意選択の特徴のうちの1つ以上を含み得る。いくつかの実施態様では、動作は、さらに、フレーズ補正ペアのリスト内の各フレーズ補正ペアに対して、対応するソースフレーズを含む言語モデルのnグラムを識別することと、識別されたnグラムにおける対応するソースフレーズを対応するターゲットフレーズに置換する対応する新しいnグラムをクローニングすることと、言語モデルを変更することと、各追加候補仮説を入力として受信するように構成された変更された言語モデルを使用して、各追加候補仮説について対応する事前の尤度スコアを判定することと、を含む。ここでは、言語モデルを変更することは、言語モデルに、ソースフレーズを対応するターゲットフレーズに置換する新しいnグラムを追加することと、ターゲットフレーズのユニグラムの事前の尤度スコアが、ソースフレーズのユニグラムよりも高くなることを判定するように、言語モデルを条件付けることと、を含む。これらの実施態様では、複数の候補仮説及び各追加候補仮説をランク付けすることは、各追加候補仮説について判定された対応する事前の尤度スコアに基づいている。
【0005】
追加の実施態様では、動作は、さらに、フレーズ補正ペアのリスト内の各フレーズ補正ペアに対して、対応するソースフレーズを誤認識した対応する以前のトランスクリプションを表すnグラムのオリジナルシーケンスを取得することと、nグラムのオリジナルシーケンスにおけるソースフレーズを対応するターゲットフレーズに置き換えるnグラムの補正シーケンスを取得して、言語モデルを変更することと、各追加候補仮説を入力として受信するように構成された変更された言語モデルを使用して、各追加候補仮説について対応する事前の尤度スコアを判定することと、を含む。nグラムのオリジナルシーケンスは、対応するソースフレーズと、対応する以前のトランスクリプションにおける対応するソースフレーズの前及び/または後にある1つ以上の他の用語とを含み、nグラムの補正シーケンスは、ターゲットフレーズと、対応する以前のトランスクリプションにおける対応するソースフレーズの前及び/または後にある同じ1つ以上の他の用語とを含む。ここでは、言語モデルを変更することは、nグラムのオリジナルシーケンス及びnグラムの補正シーケンスを言語モデルに追加して、ターゲットフレーズを含むnグラムの補正シーケンスからのnグラムの数の事前の尤度スコアが、ソースフレーズを含むnグラムのオリジナルシーケンスからの同じ数のnグラムよりも高くなることを判定するように、言語モデルを条件付けることと、を含む。これらの実施態様では、複数の候補仮説及び各追加候補仮説をランク付けすることは、各追加候補仮説について判定された対応する事前の尤度スコアに基づいている。任意選択で、nグラムのオリジナルシーケンス及び補正シーケンスはそれぞれ、さらに、ユーザーによってなされた以前の発話について音声認識器によって転写された対応する以前のトランスクリプションの文境界を表すnグラムを含み得る。
【0006】
前述の実施態様では、nグラムの補正シーケンスからのnグラムの数と、nグラムのオリジナルシーケンスからの同じ数のnグラムとについて言語モデルによって判定された事前の尤度スコアの間のマージンは、nグラムの補正シーケンス及びオリジナルシーケンスからのnグラムの数が増加するにつれて増加し得ることを含む。追加的または代替的に、言語モデルを条件付けることは、さらに、ターゲットフレーズを含むnグラムのシーケンスからのnグラムの第1の数の事前の尤度スコアが、ターゲットフレーズを含むnグラムのシーケンスからのnグラムのより大きい第2の数よりも低くなることを判定するように、言語モデルを条件付けることを含み得る。
【0007】
いくつかの例では、動作は、さらに、音声認識器によって生成された複数の候補仮説の各々について、音声認識器が対応する候補仮説に割り当てた対応する尤度スコアを取得することと、各追加候補仮説を生成した後に、追加仮説スコアラーを使用して、生成された各追加候補仮説について対応する尤度スコアを判定することと、を含む。ここでは、複数の候補仮説及び生成された各対応する追加候補仮説をランク付けすることは、音声認識器によって複数の候補仮説に割り当てられた対応する尤度スコアと、追加仮説スコアラーを使用して各追加候補仮説について判定された対応する尤度スコアとに基づいている。これらの例では、追加仮説スコアラーは、オーディオデータを処理して、ソースフレーズもしくはターゲットフレーズのいずれか一方を含むオーディオデータの一部分に関するアコースティックモデリングスコアを判定するように構成されたアコースティックモデル、または、各追加候補仮説を入力として受信し、各追加候補仮説について対応する事前の尤度スコアを判定するように構成された言語モデル、のうちの少なくとも1つを含む。ここでは、各追加候補仮説について判定された対応する尤度スコアは、アコースティックモデリングスコア、または追加候補仮説について判定された対応する事前の尤度スコア、のうちの少なくとも1つに基づき得る。
【0008】
言語モデルは、音声認識器の外部にある補助言語モデル、または音声認識器と統合された内部言語モデルを含み得る。さらに、音声認識器は、複数の候補仮説の各々について対応する尤度スコアを生成するように構成されたエンドツーエンド音声認識モデルを含み得る。代替として、音声認識器は、アコースティックモデル及び言語モデルを含み得、音声認識器が複数の候補仮説の各々に割り当てた対応する尤度スコアは、アコースティックモデルによって出力されたアコースティックモデリングスコア、または言語モデルによって出力された対応する事前の尤度スコア、のうちの少なくとも1つに基づき得る。
【0009】
本開示の別の態様は、データ処理ハードウェアと、データ処理ハードウェアと通信するメモリハードウェアとを含むシステムを提供する。メモリハードウェアは、データ処理ハードウェアで実行されるときに、データ処理ハードウェアに行わせる動作を行わせる命令を記憶し、動作は、ユーザーによって話されたクエリに対応するオーディオデータを受信することと、音声認識器を使用して、オーディオデータを処理し、複数の候補仮説を生成することと、を含む。各候補仮説は、クエリの候補トランスクリプションに対応し、仮定用語のそれぞれのシーケンスによって表される。各候補仮説について、本方法は、また、仮定用語のそれぞれのシーケンスがフレーズ補正ペアのリストからのソースフレーズを含むかどうかを判定することと、仮定用語のそれぞれのシーケンスがソースフレーズを含むときに、仮定用語のそれぞれのシーケンスにおけるソースフレーズを対応するターゲットフレーズに置き換える対応する追加候補仮説を生成することと、を含む。フレーズ補正ペアのリスト内の各フレーズ補正ペアは、ユーザーによってなされた以前の発話について音声認識器によって転写された対応する以前のトランスクリプションにおいて誤認識された対応するソースフレーズと、音声認識器によって転写された対応する以前のトランスクリプションにおいて誤認識されたソースフレーズを置き換えるユーザー補正に一致する対応するターゲットフレーズと、を含む。本方法は、また、複数の候補仮説及び生成された各対応する追加候補仮説をランク付けすることと、複数の候補仮説及び生成された各対応する追加候補仮説のうちの最高ランキングの1つを選択することによって、ユーザーによって話されたクエリのトランスクリプションを生成することと、を含む。
【0010】
本態様は、以下の任意選択の特徴のうちの1つ以上を含み得る。いくつかの実施態様では、動作は、さらに、フレーズ補正ペアのリスト内の各フレーズ補正ペアに対して、対応するソースフレーズを含む言語モデルのnグラムを識別することと、識別されたnグラムにおける対応するソースフレーズを対応するターゲットフレーズに置換する対応する新しいnグラムをクローニングすることと、言語モデルを変更することと、各追加候補仮説を入力として受信するように構成された変更された言語モデルを使用して、各追加候補仮説について対応する事前の尤度スコアを判定することと、を含む。ここでは、言語モデルを変更することは、言語モデルに、ソースフレーズを対応するターゲットフレーズに置換する新しいnグラムを追加することと、ターゲットフレーズのユニグラムの事前の尤度スコアが、ソースフレーズのユニグラムよりも高くなることを判定するように、言語モデルを条件付けることと、を含む。これらの実施態様では、複数の候補仮説及び各追加候補仮説をランク付けすることは、各追加候補仮説について判定された対応する事前の尤度スコアに基づいている。
【0011】
追加の実施態様では、動作は、さらに、フレーズ補正ペアのリスト内の各フレーズ補正ペアに対して、対応するソースフレーズを誤認識した対応する以前のトランスクリプションを表すnグラムのオリジナルシーケンスを取得することと、nグラムのオリジナルシーケンスにおけるソースフレーズを対応するターゲットフレーズに置き換えるnグラムの補正シーケンスを取得して、言語モデルを変更することと、各追加候補仮説を入力として受信するように構成された変更された言語モデルを使用して、各追加候補仮説について対応する事前の尤度スコアを判定することと、を含む。nグラムのオリジナルシーケンスは、対応するソースフレーズと、対応する以前のトランスクリプションにおける対応するソースフレーズの前及び/または後にある1つ以上の他の用語とを含み、nグラムの補正シーケンスは、ターゲットフレーズと、対応する以前のトランスクリプションにおける対応するソースフレーズの前及び/または後にある同じ1つ以上の他の用語とを含む。ここでは、言語モデルを変更することは、nグラムのオリジナルシーケンス及びnグラムの補正シーケンスを言語モデルに追加して、ターゲットフレーズを含むnグラムの補正シーケンスからのnグラムの数の事前の尤度スコアが、ソースフレーズを含むnグラムのオリジナルシーケンスからの同じ数のnグラムよりも高くなることを判定するように、言語モデルを条件付けることと、を含む。これらの実施態様では、複数の候補仮説及び各追加候補仮説をランク付けすることは、各追加候補仮説について判定された対応する事前の尤度スコアに基づいている。任意選択で、nグラムのオリジナルシーケンス及び補正シーケンスはそれぞれ、さらに、ユーザーによってなされた以前の発話について音声認識器によって転写された対応する以前のトランスクリプションの文境界を表すnグラムを含み得る。
【0012】
前述の実施態様では、nグラムの補正シーケンスからのnグラムの数と、nグラムのオリジナルシーケンスからの同じ数のnグラムとについて言語モデルによって判定された事前の尤度スコアの間のマージンは、nグラムの補正シーケンス及びオリジナルシーケンスからのnグラムの数が増加するにつれて増加し得ることを含む。追加的または代替的に、言語モデルを条件付けることは、さらに、ターゲットフレーズを含むnグラムのシーケンスからのnグラムの第1の数の事前の尤度スコアが、ターゲットフレーズを含むnグラムのシーケンスからのnグラムのより大きい第2の数よりも低くなることを判定するように、言語モデルを条件付けることを含み得る。
【0013】
いくつかの例では、動作は、さらに、音声認識器によって生成された複数の候補仮説の各々について、音声認識器が対応する候補仮説に割り当てた対応する尤度スコアを取得することと、各追加候補仮説を生成した後に、追加仮説スコアラーを使用して、生成された各追加候補仮説について対応する尤度スコアを判定することと、を含む。ここでは、複数の候補仮説及び生成された各対応する追加候補仮説をランク付けすることは、音声認識器によって複数の候補仮説に割り当てられた対応する尤度スコアと、追加仮説スコアラーを使用して各追加候補仮説について判定された対応する尤度スコアとに基づいている。これらの例では、追加仮説スコアラーは、オーディオデータを処理して、ソースフレーズもしくはターゲットフレーズのいずれか一方を含むオーディオデータの一部分に関するアコースティックモデリングスコアを判定するように構成されたアコースティックモデル、または、各追加候補仮説を入力として受信し、各追加候補仮説について対応する事前の尤度スコアを判定するように構成された言語モデル、のうちの少なくとも1つを含む。ここでは、各追加候補仮説について判定された対応する尤度スコアは、アコースティックモデリングスコア、または追加候補仮説について判定された対応する事前の尤度スコア、のうちの少なくとも1つに基づき得る。
【0014】
言語モデルは、音声認識器の外部にある補助言語モデル、または音声認識器と統合された内部言語モデルを含み得る。さらに、音声認識器は、複数の候補仮説の各々について対応する尤度スコアを生成するように構成されたエンドツーエンド音声認識モデルを含み得る。代替として、音声認識器は、アコースティックモデル及び言語モデルを含み得、音声認識器が複数の候補仮説の各々に割り当てた対応する尤度スコアは、アコースティックモデルによって出力されたアコースティックモデリングスコア、または言語モデルによって出力された対応する事前の尤度スコア、のうちの少なくとも1つに基づき得る。
【0015】
本開示の1つ以上の実施態様の詳細は、添付の図面及び下記の説明において記載されている。他の態様、特徴、及び利点は、説明及び図面、ならびに特許請求の範囲から明らかになる。
【図面の簡単な説明】
【0016】
【
図1】フレーズ補正ペアを使用する自動音声認識のための例示的なシステムの概略図である。
【
図2A】ワードラティスの例を示すダイヤグラムの概略図である。
【
図2B】ワードラティスの例を示すダイヤグラムの概略図である。
【
図3】候補仮説をスコアリングする言語モデル示す概略図である。
【
図4A】誤認識された以前のトランスクリプションを補正するために入力インジケーションを提供するユーザーの概略図である。
【
図4B】誤認識された以前のトランスクリプションを補正するために入力インジケーションを提供するユーザーの概略図である。
【
図4C】誤認識された以前のトランスクリプションを補正するために入力インジケーションを提供するユーザーの概略図である。
【
図5】ラティス音声補正の方法の動作の例示的な配置のフローチャートである。
【
図6】本明細書に説明されるシステム及び方法を実施するために使用され得る例示的なコンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0017】
様々な図面における同様の参照記号は、同様の要素を指す。
【0018】
ユーザーが話す内容のより正確なトランスクリプションを自動音声認識(ASR)システムが提供し続けるため、クライアントデバイスにおいて、ASRシステムはますます普及しつつある。それでも、いくつかの例では、ASRシステムは、ユーザーが実際に話した内容を誤認識する不正確なトランスクリプションを生成する。これは、多くの場合、ワードが音響的に類似しているときに、またはユーザーがASRシステムに知られていないユニークなワードを話すときに起こる。例えば、「I say」及び「Ice age」は非常に類似した響きがあり、ASRシステムがどのフレーズをユーザーが伝えることを意図したかの曖昧さを除去することが困難であり得る。いくつかの例では、ユーザーが実際に「Ice age」を伝えることを意図したときに、クライアントデバイスが「I say」と不正確に転写する場合、ユーザーはクライアントデバイスを使用することによって(例えば、クライアントデバイスのキーボードを用いて、正しいトランスクリプションを入力することによって)、トランスクリプションを補正し得る。
【0019】
ASRシステムの特に困難なことのうちの1つとして、これらのユーザーの補正を活用して、ユーザーの後続の発話のためのより正確なトランスクリプションをいかにして生成するかが挙げられる。例えば、ASRシステムは、ユーザーによってなされた発話が「I say」及び「Ice age」と類似しているときは毎回、「Ice age」と単純に転写することはできない。すなわち、ユーザーが以前に「Ice age」を伝えることを意図していたからというだけで、ユーザーが後に「I say」を伝えることを決して意図しないことを意味しない。さらに、ユーザーが「Ice age」と伝え続けても、ASRシステムが不正確なトランスクリプション「I say」を繰り返し生成する場合、ユーザーはASRシステムへの信頼を失い得る。
【0020】
本明細書の実施態様は、ラティス音声補正を行うシステム及び方法を対象とする。特に、コンピューティングシステムは、ユーザーによってなされた発話のオーディオデータを受信し、コンピューティングシステムは、オーディオデータを処理して、候補仮説を生成する。次に、コンピューティングシステムは、候補仮説におけるいずれかのワードまたはフレーズが、コンピューティングシステムによって転写されたソースフレーズ(例えば、以前に誤認識されたフレーズ)を含むかどうかを判定する。コンピューティングシステムが、候補仮説がソースフレーズを含むと判定するときに、コンピューティングシステムは、ソースフレーズを補正フレーズ(例えば、ターゲットフレーズ)に置き換える追加候補仮説を生成する。その後、コンピューティングシステムは、候補仮説及び追加候補仮説の各々についての尤度スコアを生成する。ここでは、尤度スコアは、仮説がユーザーによってなされた発話の正しいトランスクリプションである確率を示す。コンピューティングシステムは、候補仮説または追加候補仮説のいずれか一方の最高尤度スコアを選択することによって、ユーザーによってなされた発話のトランスクリプションを生成する。
【0021】
図1は、発話(すなわち、クエリ)101に対応するオーディオデータ112を使用して、ユーザー10によってなされた発話101の自動音声認識(ASR)のためのシステム100の例を示す。システム100は、クライアントデバイス110、コンピューティングシステム120、及びネットワーク118を含む。コンピューティングシステム120は、スケーラブルな弾性リソースを有する分散システム(例えば、クラウドコンピューティング環境)であり得る。リソースは、コンピューティングリソース122(例えば、データ処理ハードウェア)及び/またはストレージリソース124(例えば、メモリハードウェア)を含む。ネットワーク118は、有線、無線、またはそれらの組み合わせであり得、プライベートネットワーク及び/またはインターネット等のパブリックネットワークを含み得る。
【0022】
いくつかの例では、コンピューティングシステム120は、オーディオデータ112をクライアントデバイス110から受信し、コンピューティングシステム120は、オーディオデータ112を処理して、オーディオデータ112に基づいて、発話101に対する複数の候補仮説135を生成する。ここでは、各候補仮説は、発話101の候補トランスクリプションに対応し、仮定用語のそれぞれのシーケンスによって表される。下記により詳細に説明されるように、各候補仮説135について、コンピューティングシステム120は、仮定用語のそれぞれのシーケンスが補正フレーズリスト125からのソースフレーズ126を含むかどうかを判定するように構成される。仮定用語のそれぞれのシーケンスが補正フレーズリスト125からのソースフレーズ126を含むときに、コンピューティングシステム120は、ソースフレーズ126を対応するターゲットフレーズ128に置き換える追加候補仮説145を生成するように構成される。その後、コンピューティングシステム120は、複数の候補仮説135または追加候補仮説145から最高ランキングの仮説を選択することによって、トランスクリプション175を生成する。
【0023】
図1は、データの流れを示す動作(A)~(G)を示す。本明細書に説明されるように、コンピューティングシステム120は動作(B)~(G)を行う。しかしながら、クライアントデバイス110は、また、コンピューティングシステム120が動作を行うことに加えて、またはその代わりに、動作(B)~(G)を行い得ることが理解される。いくつかの例では、クライアントデバイス110は動作の第1の部分(例えば、動作(B)~(D))を行い、コンピューティングシステム120は動作の第2の部分(例えば、動作(E)~(G))を行う、またはその逆も同様である。
【0024】
クライアントデバイス110は、データ処理ハードウェア114及びメモリハードウェア116を含む。クライアントデバイス110は、ユーザー10から発話101をキャプチャし、オーディオデータ112(例えば、電気信号)に変換するための1つ以上のオーディオキャプチャデバイス(例えば、マイクロフォン(複数可))103を含み得る。いくつかの例では、マイクロフォン103は、クライアントデバイス110とは分離しており、クライアントデバイス110と通信して、記録された発話101をクライアントデバイス110に提供する。クライアントデバイス110は、ネットワーク118を経由してコンピューティングシステム120と通信することが可能な任意のコンピューティングデバイスであり得る。クライアントデバイス110は、限定ではないが、ラップトップ、タブレット、スマートフォン、スマートスピーカー/ディスプレイ、スマートアプライアンス、モノのインターネット(IoT)デバイス、及びウェアラブルコンピューティングデバイス(例えば、ヘッドセット及び/または時計)等、デスクトップコンピューティングデバイス及びモバイルコンピューティングデバイスを含む。
【0025】
図1の例では、ステージ(A)の期間中、ユーザー10が発話101をし、クライアントデバイス110のマイクロフォン103は発話101を記録する。この例では、発話101は、「call Beshad on mobile」と話しているユーザー10を含む。クライアントデバイス110は、マイクロフォン103によって記録された発話101に対応するオーディオデータ112を、ネットワーク118を介してコンピューティングシステム120に伝送する。ステージ(B)の期間中、コンピューティングシステム120はオーディオデータ112を処理して、複数の候補仮説135、135a~nを生成する。ここでは、各候補仮説135は、発話101の候補トランスクリプションに対応し、仮定用語のそれぞれのシーケンスによって表される。例えば、コンピューティングシステム120は、オーディオデータ112に基づいて発話101に対して可能性のある複数の候補仮説トランスクリプション135を示すワードラティス200を作るために、音声認識器モジュール130(例えば、自動音声認識(ASR)モジュール)を実行し得る。音声認識器モジュール130は、ワードラティス200を通る潜在的なパスを評価して、複数の候補仮説135を判定し得る。
【0026】
図2Aは、
図1の音声認識器モジュール130によって提供され得るワードラティス200、200aの例を示す。ワードラティス200aは、発話101に対して異なる候補仮説135を形成し得るワードの複数の可能な組み合わせを表す。
【0027】
ワードラティス200aは、ワード間の、可能性のある境界に対応する1つ以上のノード202a~gを含む。ワードラティス200aは、ワードラティス200aから生じる候補仮説の、可能性のあるワードの複数のエッジ204a-lを含む。さらに、エッジ204a-lのそれぞれは、そのエッジが対応するノードからの正しいエッジである1つ以上の重みまたは確率を有し得る。重みは、音声認識器モジュール130によって判定され、例えば、音声データとそのエッジのワードとの一致の信頼性と、ワードがワードラティス200aの他のワードと文法的に及び/または語彙的に適合している程度とに基づき得る。
【0028】
例えば、最初に、ワードラティス200aを通る最高確度のパス(例えば、最高確度の候補仮説135)は、テキスト「we’re coming about 11:30」を有する、エッジ204c、204e、204i、204kを含み得る。ワードラティス200aを通る第2の最良パス(例えば、第2の最良の候補仮説135)は、テキスト「deer hunting scouts 7:30」を有する、エッジ204d、204h、204j、204lを含み得る。
【0029】
ノードの各ペアは、様々な候補仮説135における代替ワードに対応する1つ以上のパスを有し得る。例えば、ノード202aで始まり、ノード202cで終わるノードペア間の初期の最高確度のパスは、エッジ204c「we’re」である。このパスは、エッジ204a、204b「we are」及びエッジ204d「deer」を含む代替パスを有する。
【0030】
図2Bは、
図1の音声認識器モジュール130によって提供され得る階層ワードラティス200、200bの例である。ワードラティス200bは、発話101に対する様々な候補仮説135を構成するワードを表すノード252a-lを含む。ノード252a~lの間のエッジは、可能性のある候補仮説135が、(1)ノード252c、252e、252i、252k「we’re coming about 11:30」、(2)ノード252a、252b、252e、252i、252k「we are coming about 11:30」、(3)ノード252a、252b、252f、252g、252i、252k「we are come at about 11:30」、(4)ノード252d、252f、252g、252i、252k「deer come at about 11:30」、(5)ノード252d、252h、252j、252k「deer hunting scouts 11:30」、及び(6)ノード252d、252h、252j、252l「deer hunting scouts 7:30」を含む。
【0031】
この場合も、ノード242a~lの間のエッジは、音声認識の信頼性(例えば、候補仮説)及び結果として得られるテキストの文法/語彙分析に基づいて、関連する重みまたは確率を有し得る。この例では、「we are coming about 11:30」は現時点で最良の仮説であり得、「deer hunting scouts 7:30」は次に最良の仮説であり得る。ワードとその代替語を一緒にグループ化する1つ以上のディビジョン354a~dは、ワードラティス200bに作ることができる。例えば、ディビジョン254aは、ワード「we’re」と、代替語「we are」及び「deer」とを含む。ディビジョン252bは、ワード「comming」と、代替語「come at」及び「hunting」とを含む。ディビジョン254cはワード「about」及び代替語「Scouts」を含み、ディビジョン254dはワード「11:30」及び代替語「7:30」を含む。
【0032】
図1を再び参照すると、音声認識器モジュール130は、ワードラティス200から複数の候補仮説135を生成し得る。すなわち、音声認識器モジュール130は、ワードラティス200の候補仮説135の各々に対して、尤度スコア155を生成する。各尤度スコア155は、候補仮説135が正しい(例えば、発話101に一致する)確率を示す。いくつかの実施態様では、音声認識器モジュール130は、オーディオデータ112を受信し、ワードラティス200を生成するように構成されたエンドツーエンド(E2E)音声認識モデルを含む。特に、E2E音声認識モデルは、オーディオデータ112を処理して、ワードラティス200からの複数の候補仮説135の各々について、対応する尤度スコア155を生成する。いくつかの例では、音声認識器モジュール130は、別個のアコースティックモデル、言語モデル、及び/または発音モデルを含む。音声認識器モジュール130は、アコースティックモデル及び言語モデル(例えば、アコースティックモデル301及び言語モデル302)を追加仮説スコアラー300と共有し得る、または独立型のアコースティックモデル及び言語モデルを有し得る。
【0033】
いくつかの例では、音声認識器モジュール130はアコースティックモデル及び/または言語モデルを含み、これらのモデルは、オーディオデータ112に基づいて、ワードラティス200を生成する、またはそうでなければ、発話101に対する複数の候補仮説135を生成する。ここでは、複数の候補仮説135の尤度スコア155は、アコースティックモデルからのアコースティックモデリングスコア及び/または言語モデルからの事前の尤度スコアの組み合わせを含み得る。言い換えれば、尤度スコア155は、アコースティックモデルによって出力されたアコースティックモデリングスコア、及び/または言語モデルによって出力された事前の尤度スコア、のうちの少なくとも1つを含む。
【0034】
ステージ(C)の期間中、コンピューティングシステム120は、ワードラティス200における複数の候補仮説135から、最高ランキングの候補仮説135のセットを識別する。例えば、音声認識器モジュール130からの尤度スコア155を使用して、コンピューティングシステム120は、最高尤度スコア155を伴うn個の候補仮説135を選択する(nは整数である)。いくつかの例では、コンピューティングシステム120は、尤度スコア閾値を満たす尤度スコア155を伴う候補仮説135を選択する。任意選択で、音声認識器モジュール130は、尤度スコア155を使用して、最高ランキングの候補仮説135のセットをランク付けし得る。
【0035】
示される例では、音声認識器モジュール130は、ユーザー10によってなされた発話101「call Beshad on mobile」について、候補仮説135を生成する。この例では、上位2つの候補トランスクリプション(例えば、正しい可能性が最も高い2つ)は、最高ランキングの候補仮説135のセットとして選択される。最高ランキングの候補仮説135は、尤度スコア155が0.8の第1の候補仮説135「call best shot on mobile」と、尤度スコア155が0.2の第2の候補仮説135「goal best shot immobile」と、を含む。ここでは、尤度スコア155が高いほど、候補仮説135が正しいという信頼性が高くなることを示す。とりわけ、最高ランキングの候補仮説135のいずれも、ユーザー10によって実際になされた発話101(例えば、「call Beshad on mobile」を含まない。したがって、コンピューティングシステム120が最高ランキングの候補仮説135のいずれかを選択する場合、ユーザー10に出力されたトランスクリプション175は不正確になる。
【0036】
ステージ(D)の期間中、コンピューティングシステム120は、各候補仮説135について、仮定用語のそれぞれのシーケンスが、補正フレーズリスト125からのソースフレーズ126を含むかどうかを判定するラティスオーグメンター140を実行する。補正フレーズリスト125は、フレーズ補正ペアのリストを含む。補正フレーズリスト125内の各フレーズ補正ペアは、ソースフレーズ126及び対応するターゲットフレーズ128を含む。したがって、補正フレーズリスト(例えば、フレーズ補正ペアのリスト)125は、複数のソースフレーズ126、126a~nと、複数の対応するターゲットフレーズ128、128a~nとを含む。特に、ソースフレーズ126は、音声認識器モジュール130によって以前に生成された誤認識トランスクリプションを表し、ターゲットフレーズ128は、誤認識トランスクリプションに対する補正トランスクリプションを表す。
【0037】
図4A~
図4Cは、誤認識されたトランスクリプションを補正し、補正トランスクリプションを記憶して、補正フレーズリスト125(
図1)を生成することを示す。いくつかの実施態様では、音声認識器モジュール130は、ユーザー10によってなされた以前の発話401を誤認識する誤認識トランスクリプション475を生成する。本明細書で使用される場合、以前の発話401及びの誤認識トランスクリプション475は、トランスクリプション175及び発話101(
図1)を受信する前の時点で、クライアントデバイス110において受信される。明らかになるように、誤認識トランスクリプション475及び以前の発話401を使用して、補正フレーズリスト125(
図1)を生成して、クライアントデバイス110が発話101(
図1)を後で受信するときに、音声認識精度を向上させることができる。
【0038】
図4Aは、クライアントデバイス110のマイクロフォン103が、ユーザー10が以前の発話401「call Beshad on mobile」を話すことを記録することを示す。クライアントデバイス110は、以前の発話401をオーディオデータ412に変換して、オーディオデータ412を音声認識器モジュール130に伝送する。音声認識器モジュール130は、オーディオデータ412を処理して、オーディオデータ412に対応する誤認識トランスクリプション475を生成する。示される例では、音声認識器モジュール130は、ユーザー10によって話された以前の発話401の誤認識である誤認識トランスクリプション475「call best shot」を生成する。クライアントデバイス110は、グラフィカルユーザーインタフェース(GUI)111を介して、以前のトランスクリプション475をユーザー10に表示する。
【0039】
ここで
図4Bを参照すると、ユーザー10は、GUI111上に表示された誤認識トランスクリプション475が以前の発話401と一致しないことを識別し得る。したがって、ユーザー10は、クライアントデバイス110のGUI111に、誤認識トランスクリプション475の誤認識フレーズ425の選択を示す入力インジケーションを提供する。いくつかの例では、入力インジケーションは、ユーザー10が、誤認識トランスクリプション475から誤認識フレーズ425を選択するGUI111にタッチ入力を提供することを含む。誤認識フレーズ425は、誤認識されたトランスクリプション475の全体またはその一部分を含み得る。示される例では、誤認識フレーズ425「best shot」は、以前のトランスクリプション475の不正確な部分だけを含む。
【0040】
図4Cは、ユーザー10が、誤認識トランスクリプション475の誤認識フレーズ425を補正フレーズ430に置き換えることを示す。いくつかの例では、ユーザー10は、クライアントデバイス110のキーボード119を使用して、補正フレーズ430を提供するためにテキストを入力する。任意選択で、キーボード119は、クライアントデバイス110がユーザー10から入力インジケーションを受信することに応答して表示し得る(
図4B)。これらの例では、ユーザー10は、クライアントデバイス110のキーボード118を使用して、補正フレーズ(例えば、「Beshad」)をタイプし得る。他の例では、ユーザー10は、クライアントデバイス110に話すことによって、補正フレーズ430を入力する。すなわち、ユーザー10は、補正フレーズ430の各文字(例えば、「B-E-S-H-A-D」)を話し得る。補正フレーズ430を受信した後に、クライアントデバイス110は、誤認識フレーズ425を補正フレーズ430に置き換えて、以前の発話401の正確なトランスクリプションを表す以前の補正トランスクリプション476を生成する。
【0041】
したがって、コンピューティングシステム120は、誤認識フレーズ425及び補正フレーズ430を、それぞれソースフレーズ126及びターゲットフレーズ128として、補正フレーズリスト125にフレーズ補正ペアとして記憶し得る。いくつかの例では、コンピューティングシステムは、誤認識トランスクリプション475及び以前の補正トランスクリプション476を、それぞれソースフレーズ及びターゲットフレーズ128として、補正フレーズリスト125にフレーズ補正ペアとして記憶する。フレーズ補正ペアは、クライアントデバイス110のメモリハードウェア116に、及び/またはコンピューティングシステム120のメモリハードウェア124に記憶され得る。フレーズ補正ペアは、また、補正履歴データストア320(
図3)に記憶され得る。明らかになるように、コンピューティングシステム120は、フレーズ補正ペアを使用して、コンピューティングシステム120がソースフレーズ126(例えば、best shot)を再度検出するときに、正確なトランスクリプション175を生成する。
【0042】
図1を再び参照すると、いくつかの実施態様では、ラティスオーグメンター140は、候補仮説135及び補正フレーズリスト125を使用して、追加候補仮説145、145a~nを生成するように構成される。特に、ラティスオーグメンター140は、候補仮説135及び補正フレーズリスト125を受信し、各候補仮説135について、仮定用語のそれぞれのシーケンスが補正フレーズリスト125からのソースフレーズ126のうちの1つを含むかどうかを判定する。仮定用語のそれぞれのシーケンスがソースフレーズ126のうちの1つを含むときに、ラティスオーグメンター140は、仮定用語のそれぞれのシーケンスにおけるソースフレーズ126を対応するターゲットフレーズ128に置き換える追加候補仮説145を生成する。
【0043】
示される例を続けて説明すると、ラティスオーグメンター140は、第1の候補仮説135「call best shot on mobile」及び第2の候補仮説「goal best shot immobile」が、両方とも、補正フレーズリスト125からのソースフレーズ「best shot」を含むかどうかを判定する。したがって、ラティスオーグメンター140は、第1の追加候補仮説145「call Beshad on mobile」及び第2の追加候補仮説145「goal Beshad immobile」を生成する。ここでは、ラティスオーグメンター140は、追加候補仮説145の各々において、ソースフレーズ126「best shot」をターゲットフレーズ128「Beshad」に置き換える。
【0044】
いくつかの実施態様では、コンピューティングシステム120は、追加仮説スコアラー300(単に「仮説スコアラー300」とも呼ばれる)を実行し、追加仮説スコアラー300は、ラティスオーグメンター140によって生成された各追加候補仮説145に対して尤度スコア155を判定するように構成される。すなわち、追加候補仮説145を単純に生成することは、追加候補仮説145が発話101の正しいトランスクリプション175を含むことを意味しない。例えば、ラティスオーグメンター140は、「What is Hungary’s best shot at the Euro cup」の候補仮説135から、追加候補仮説145「What is Hungary’s Beshad at the Euro cup」を生成し得る(例えば、ソースフレーズ126「best shot」をターゲットフレーズ「Beshad」に置き換える)。この例では、追加候補仮説145は、無意味な可能性が最も高い仮説であり、候補仮説135よりも低い尤度スコア155を含むはずである。したがって、コンピューティングシステム120は、最高尤度を伴う仮説を候補仮説135及び追加候補仮説145から選択して、正確なトランスクリプション175の確率を最大化する。
【0045】
しかしながら、いくつかの例では、仮説スコアラー300は、追加候補仮説145に対して正確な尤度スコア155を生成できない場合がある。すなわち、コンピューティングシステム120が追加候補仮説145をユーザー入力から受信するため、追加候補仮説145は、領域外、語彙外(OOV)であり得る、及び/またはコンピューティングシステム120におけるスパース訓練データだけを含み得る。したがって、仮説スコアラー300は、追加候補仮説145が正しいかどうかの確率を正確に反映する尤度スコア155を生成する必要がある。
【0046】
仮説スコアラー300は、アコースティックモデル301及び/または言語モデル302のうちの少なくとも1つを含む。いくつかの例では、言語モデル302は、音声認識器モジュール130の外部の補助言語モデルを含む。他の例では、言語モデル302は、音声認識器モジュール130と統合された内部言語モデルを含む。アコースティックモデル301は、オーディオデータ112を処理して、ソースフレーズ126またはターゲットフレーズ128のいずれか一方を含むオーディオデータ112の一部分に関するアコースティックモデリングスコアを判定するように構成される。いくつかの例では、アコースティックモデル301は、ソースフレーズ126を含むオーディオデータ112の部分と、ソースフレーズ126を含む候補仮説135の部分とについて音響類似度を比較する。他の例では、アコースティックモデルは、ターゲットフレーズ128を含むオーディオデータ112の部分と、ターゲットフレーズ128を含む追加候補仮説145の部分とについて音響類似度を比較する。
【0047】
したがって、アコースティックモデリングスコアは、ソースフレーズ126またはターゲットフレーズ128を含むオーディオデータ112の部分が、候補仮説135または追加候補仮説145に音響的に類似しているかどうかを示し得る。いくつかの例では、仮説スコアラー300は、追加候補仮説145のアコースティックモデリングスコアを判定できない。例えば、追加候補仮説145のターゲットフレーズ128がOOVフレーズであるときに、仮説スコアラー300は、オーディオデータ112の部分とOOVフレーズとを比較できない。これらの例では、仮説スコアラー300は、ソースフレーズ126及びターゲットフレーズ128が音響的に類似し、言語モデル302だけに依存すると想定する。
【0048】
いくつかの実施態様では、仮説スコアラー300の言語モデル302は、各追加候補仮説145を入力として受信し、各追加候補仮説145に対応する事前の尤度スコア304を判定するように構成される。事前の尤度スコア304は、言語モデル302 120によって受信される、異なる用語のシーケンスが発生する頻度を示す確率データに基づいて、追加候補仮説145の確率を示し得る。例えば、言語モデル302は、「tree blind mice」よりも高い事前の尤度スコア304を追加候補仮説「three blind mice」に割り当て得る。この理由として、前者の言語シーケンスが、後者よりも発話101のコーパスでより頻繁に発生するためである。
【0049】
いくつかの実施態様では、ターゲットフレーズ128は、言語モデル301のOOVフレーズである。したがって、補正フレーズリスト125内の各フレーズ補正ペアについて、言語モデル302は、対応ソースフレーズ126を含む言語モデル302内のnグラムを識別する。ここでは、言語モデル302は、識別されたnグラムにおける対応するソースフレーズ126をターゲットフレーズ128に置換する、対応する新しいnグラムをクローニングする。すなわち、言語モデル302は、言語モデル302における既存のnグラムを使用して、ターゲットフレーズ128に対する新しいnグラムを作成する。これらの実施態様では、コンピューティングシステム120は、ターゲットフレーズ128の新しいnグラムを言語モデル302に追加し、ターゲットフレーズ128のnグラムの事前の尤度スコアが、ソースフレーズ126のnグラムよりも高くなることを判定するように、言語モデル302を条件付けることによって、言語モデル302を変更する。
【0050】
例えば、コンピューティングシステム120は、ターゲットフレーズ128「Beshad」に関するnグラムを、ソースフレーズ「best shot」に関する既存のnグラムよりもわずかに高い確率を含む言語モデル302に追加する。ターゲットフレーズ128のnグラムは、ソースフレーズ126をターゲットフレーズ128に置き換えるユーザー入力インジケーションにより、わずかに高い確率を含む。しかしながら、いくつかの例では、言語モデル302は、ユーザー10の意図が「Beshad」または「best shot」を話すことであったかどうかについて、ソースフレーズ126及びターゲットフレーズ128だけを単純に分析することによって判定できない。例えば、「Beshad」は、独立した名前、または「Call Beshad」等の固有の名前(例えば、映画名)のいずれか一方であり得る。「Call Beshad」が固有の名前であるときに、「Beshad」自体は特に重要な意味がない場合がある。したがって、言語モデル302は、ターゲットフレーズ128に隣接する追加コンテキスト(例えば、追加のnグラム)を追加し、ユーザー10がソースフレーズ126またはターゲットフレーズ128を意図したかどうかを予測する条件付き確率が高まり得る。簡単に言うと、ターゲットフレーズ128が一般に隣接する隣接用語がターゲットフレーズ128に含まれる場合、ユーザー10がターゲットフレーズ128を意図した確率は、ソースフレーズ126よりも大きくなる。
【0051】
ここで
図3を参照すると、いくつかの例では、言語モデル302は、ターゲットフレーズ128から、nもしくはn-1個だけ前にある用語及び/またはnもしくはn+1個だけ後にある用語に基づいて、nグラムのシーケンスにおける用語を連続して予測する条件付き確率を使用するnグラム言語モデルを含む。示される例では、言語モデルは、増加した条件付き確率310を含み、ユーザー10がターゲットフレーズ128を伝えることを意図する確率は、nグラムの数が増加するにつれて増加する。例えば、1つのnグラムを伴うシーケンスはユニグラム(例えば、1つのワード)であり、2つのnグラムを伴うシーケンスはバイグラム(例えば、2つのワード)であり、3つのnグラムを伴うシーケンスはトリグラム(例えば、3つのワード)である。
【0052】
示される例では、増加した条件付き確率310は、ターゲットフレーズ128(例えば、「Beshad」)を伴うユニグラムの事前の尤度スコア304を含み、そのスコアは、ソースフレーズ126(例えば、「best shot」)を伴うユニグラムの事前の尤度スコア304よりもわずかに高い確率を有する。言語モデル302がターゲットフレーズ128及びソースフレーズ126の周りのコンテキスト(例えば、他のワード)を知らないため、確率がほんのわずかだけ高いである。
【0053】
また、増加した条件付き確率310は、ターゲットフレーズ128(例えば、「call Beshad」)を伴うバイグラムの事前の尤度スコア304を含み、そのスコアは、ソースフレーズ126(例えば、「call best shot」)を伴うバイグラムの事前の尤度スコア304よりも高い確率を有する。ここでは、ターゲットフレーズ128の事前の尤度スコア304とバイグラム(例えば、より高い確率)のソースフレーズ126との間のマージンは、ターゲットフレーズ128の事前の尤度スコア304と、ユニグラム(例えば、わずかに高い確率)のソースフレーズ126との間のマージンよりも大きくなる。この理由として、ターゲットフレーズ128及びソースフレーズ126の後にあるnグラムの数が増加するためである。nグラムの数が増加することにより、増加したコンテキストが言語モデル302に提供されることになり、言語モデル302は、ユーザー10がターゲットフレーズ128またはソースフレーズ126を意図したかどうかをより正確に予測できる。簡単に言うと、用語「Beshad」を一般に含むワードが追加候補仮説145にあるため、ユーザー10が「best shot」よりもむしろ「Beshad」を伝える意図があった尤度がより大きくなる。
【0054】
さらに、増加した条件付き確率310は、また、ターゲットフレーズ128(例えば、「<S>call Beshad」を伴うトリグラムの事前の尤度スコア304を含み、そのスコアは、ソースフレーズ126(例えば、<S>「Call Beshad」)を伴うトリグラムの事前の尤度スコア304よりもはるかに高い確率を有する。この例では、<S>は、追加コンテキストを提供するために文の始まりを示す。ここでは、ターゲットフレーズ128の事前の尤度スコア304とトリグラム(例えば、はるかに高い確率)のソースフレーズ126との間のマージンは、ターゲットフレーズ128の事前の尤度スコア304と、バイグラム及びユニグラムのソースフレーズ126との間のマージンよりも大きくなる。この理由として、ターゲットフレーズ128及びソースフレーズ126の後にあるnグラムの数が増加するためである。すなわち、トリグラムは、さらに多くのコンテキストを言語モデル302に提供することにより、言語モデル302は、ユーザー10がターゲットフレーズ128またはソースフレーズ126を伝えることを意図する確率をより正確に予測できる。
【0055】
図3に示されるように、いくつかの実施態様では、言語モデル302は、新しいnグラムに加えて、nグラムのオリジナルシーケンス326と、nグラムの補正シーケンス328とを使用する。すなわち、補正フレーズリスト125内の各フレーズ補正ペアについて、言語モデル302は、補正履歴データストア320からnグラムのシーケンス325を取得し得る。補正履歴データストア320は、
図4に説明されるように、以前のトランスクリプション475及び以前の補正トランスクリプション476を記憶する。nグラムのシーケンス325は、対応するソースフレーズ126を誤認識した対応する以前のトランスクリプション475(
図4)を表すnグラムのオリジナルシーケンス326と、nグラムのオリジナルシーケンス326におけるソースフレーズ126を対応するターゲットフレーズ128に置き換えるnグラムの補正シーケンス328(例えば、以前の補正トランスクリプション476(
図4))と、を含む。ここでは、nグラムのオリジナルシーケンス326は、ソースフレーズ126と、以前のトランスクリプション475(
図4)におけるソースフレーズ126の前及び/または後にある1つ以上の他の用語と、を含む。nグラムの補正シーケンスは、ターゲットフレーズ128と、以前のトランスクリプション475(
図4)における対応するソースフレーズ126の前及び/または後にある同じ1つ以上の他の用語と、を含む。
【0056】
示される例では、nグラムのオリジナルシーケンス326は「<S>call best shot</S>」を含み、nグラムの補正シーケンス328は「<S>Call Beshad</S>」を含む。ここでは、nグラムの両方のシーケンスは、ソースフレーズ126またはターゲットフレーズ128の前にある用語「call」を含む。この例では、nグラムのオリジナルシーケンス326及び補正シーケンス328は、さらに、ユーザー10によって話された以前の発話401について音声認識器モジュール130によって転写された以前のトランスクリプション475の文境界を表すnグラムを含む。すなわち、<S>は文の始まりの境界トークンを表し、</S>は文の終わりの境界トークンを表す。
【0057】
コンピューティングシステム120は、nグラムのオリジナルシーケンス326及びnグラムの補正シーケンス328を言語モデル302に追加し、nグラムの補正シーケンス328からのnグラムの数の事前の尤度スコア304が、nグラムのオリジナルシーケンス326からの同じ数のnグラムよりも高くなることを判定するように、言語モデル302を条件付けることによって、言語モデル302を変更する。すなわち、nグラムのオリジナルシーケンス326及びnグラムの補正シーケンス328が両方ともバイグラムである場合、コンピューティングシステム120は、nグラムの補正シーケンス328の事前の尤度スコア304がより高くなることを判定するように、言語モデル302を条件付ける。例えば、言語モデル320は、nグラムの補正シーケンス328「call Beshad」の尤度スコア155が、nグラムのオリジナルシーケンス326「call best shot」よりも高くなることを判定する。
【0058】
いくつかの例では、コンピューティングシステム120は、ターゲットフレーズ128を含むnグラムのシーケンスからのnグラムの第1の数の事前の尤度スコア304が、ターゲットフレーズ128を含むnグラムのシーケンスからのnグラムのより大きい第2の数よりも低くなることを判定するように、言語モデル302を条件付ける。例えば、「call Beshad on mobile」は、「call Beshad」よりもnグラムの数が大きいため、より高い事前の尤度スコア304を含むはずである。ターゲットフレーズ128に隣接するこれらの追加のnグラムは、ターゲットフレーズ128が正しいトランスクリプションであることのより高い信頼性を提供する。すなわち、ターゲットフレーズ128は、これらの他のワードまたはフレーズで見られる可能性が高いため、この文脈では、正しいトランスクリプションは、ターゲットフレーズ128を含む可能性が高い。
【0059】
いくつかの実施態様では、言語モデル302が候補仮説135「What is Hungary’s best shot at the Euro cup」を受信する場合、言語モデル302は事前の尤度スコア304が高いことを判定する。この理由は、候補仮説135が共通のnグラムのシーケンスを含むためである。しかしながら、言語モデル302は、また、追加候補仮説145を受信し得、追加候補仮説145は、ソースフレーズ126をターゲットフレーズ128に置き換えて、「What is Hungary’s Beshad at the Euro cup」を生成する。この例では、言語モデル302は、このnグラムのシーケンスがユーザー10によって前に話されていないと判定する。したがって、言語モデル302は、「Beshad」につながるnグラムの数を減少させ、そのnグラムの減少したシーケンスの確率を判定する。
【0060】
例えば、言語モデル302は、nグラムのシーケンス「What is Hungary’s Beshad」もまた、ユーザー10によって前に話されていない、または非常にまれに話されていると判定し、ひいては、言語モデル302は、別のnグラムを削除する。例えば、言語モデル302は、nグラムのシーケンス「Hungary’s Beshad」もまた、ユーザー10によって前に話されていない、または非常にまれに話されていると判定し、ひいては、言語モデル302は、さらに別のnグラムを削除する。例を続けて説明すると、言語モデル302は、ターゲットフレーズ128「Beshad」が、誤認識トランスクリプションのためにユーザー10が追加した新しいユニグラムであると判定する。したがって、ユニグラム「Beshad」の事前の尤度スコア304が、ユニグラム「best shot」の事前の尤度スコア304よりもわずかに高い確率を有しても、このシナリオにおける「best shot」のnグラムのシーケンスのワード履歴は、「What is Hungary’s best shot at the Euro cup」が最も可能性の高いトランスクリプションであることを意味し得る。
【0061】
図1を再び参照すると、各追加候補仮説145について判定された対応する尤度スコア155は、アコースティックモデリングスコア、及び/または追加候補仮説145について判定された対応する事前の尤度スコア304、のうちの少なくとも1つに基づいている。ステージ(F)の期間中、リランカー160は、複数の候補仮説135に対する尤度スコア155を音声認識器モジュール130から受信し、追加候補仮説145に対する尤度スコア155を仮説スコアラー300から受信する。リランカー160は、尤度スコアに基づいて、複数の候補仮説135及び追加候補仮説145のランキングを含む再ランク付け済み結果165を出力するように構成される。示される例では、再ランク付け済み結果165は追加仮説候補145を含み、尤度スコア155は0.9であり、最も可能性が高い正しいトランスクリプション175として考えられる。
【0062】
ステージ(G)において、コンピューティングシステム120は、再ランク付け済み結果165における最高ランキング候補を選択することによって、ユーザー10によってなされた発話101のトランスクリプション175を生成するように構成される。したがって、コンピューティングシステム120は、ソースフレーズ126を含む候補仮説135またはターゲットフレーズ128を含む追加候補仮説145が、最高尤度スコア155を有するかどうかを判定する。示される例では、コンピューティングシステム120は、0.9の最高尤度スコア155を有するため、追加候補仮説145「call Beshad on mobile」を選択する。コンピューティングシステム120は、トランスクリプション175を、ネットワーク118を介して、クライアントデバイス110に伝送して、トランスクリプション175をユーザー10に提供する。
【0063】
図5は、ラティス音声補正を行う方法500の動作の例示的な配置のフローチャートである。クライアントデバイス110のデータ処理ハードウェア114(
図1)及び/またはコンピューティングシステム120のデータ処理ハードウェア122(
図1)は、メモリハードウェア116、124に記憶された命令を実行することによって、方法500の動作を実行し得る。動作502において、方法500は、ユーザー10によって話されたクエリ(すなわち、発話)101に対応するオーディオデータ112を受信することを含む。動作504において、方法500は、音声認識器モジュール130を使用して、オーディオデータ112を処理し、複数の候補仮説135を生成することを含む。各候補仮説135は、クエリ101の候補トランスクリプションに対応し、仮定用語のそれぞれのシーケンスによって表される。
【0064】
各候補仮説135に対して、方法500は動作506及び508を行う。動作506において、方法500は、仮定用語のそれぞれのシーケンスが、フレーズ補正ペアのリスト(すなわち、補正フレーズリスト)125からのソースフレーズ126を含むかどうかを判定することを含む。フレーズ補正ペア125のリスト内の各フレーズ補正ペアは、ユーザー10によってなされた以前の発話401について音声認識器モジュール130によって転写された対応する以前のトランスクリプション475で誤認識された対応するソースフレーズ126を含む。ここでは、フレーズ補正ペア125のリスト内の各フレーズ補正ペアは、また、音声認識器モジュール130によって転写された対応する以前のトランスクリプション475で誤認識されたソースフレーズ126を置き換えるユーザー補正に一致する対応するターゲットフレーズ128を含む。動作508において、仮定用語のそれぞれのシーケンスがソースフレーズ126を含むときに、方法500は、仮定用語のそれぞれのシーケンスにおけるソースフレーズ126を対応するターゲットフレーズ128に置き換える対応する追加候補仮説145を生成することを含む。
【0065】
動作510において、方法500は、複数の候補仮説135及び各対応する追加候補仮説145をランク付けすることを含む。動作512において、方法500は、複数の候補仮説135及び各対応する追加候補仮説145のうちの最高ランキングの1つを選択することによって、ユーザー10によって話されたクエリ101のトランスクリプション175を生成することを含む。
【0066】
図6は、この文書に説明されるシステム及び方法を実施するために使用され得るコンピューティングデバイス600の例の概略図である。コンピューティングデバイス600は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバー、ブレードサーバー、メインフレーム、及び他の適当なコンピューター等、様々な形式のデジタルコンピューターを表すことを意図している。ここで示されるコンポーネント、それらの接続及び関係、ならびにそれらの機能は、例示だけを意図しており、この文書で説明及び/または特許請求されている発明の実施態様を制限することを意図していない。
【0067】
コンピューティングデバイス600は、プロセッサ610、メモリ620、ストレージデバイス630、メモリ620及び高速拡張ポート650に接続する高速インターフェース/コントローラー640、ならびに低速バス670及びストレージデバイス630に接続する低速インターフェース/コントローラー660を含む。コンポーネント610、620、630、640、650、及び660の各々は、様々なバスを使用して相互接続されており、共通のマザーボードに取り付けられ得る、または必要に応じて他の方式で取り付けられ得る。プロセッサ610は、メモリ620内またはストレージデバイス630上に記憶された命令を含む、コンピューティングデバイス600内で実行するための命令を処理して、高速インターフェース640に結合されたディスプレイ680等の外部入力/出力デバイスにグラフィカルユーザーインターフェース(GUI)のグラフィカル情報を表示できる。他の実施態様では、複数のメモリ及び複数のタイプのメモリと一緒に、必要に応じて、複数のプロセッサ及び/または複数のバスを使用し得る。また、複数のコンピューティングデバイス600が接続され得、各デバイスが(例えば、サーバーバンク、ブレードサーバーのグループ、またはマルチプロセッサシステムとして)必要な動作の一部を提供する。
【0068】
メモリ620は、コンピューティングデバイス600内に情報を非一時的に記憶する。メモリ620は、コンピューター可読媒体、揮発性メモリユニット(複数可)、または不揮発性メモリユニット(複数可)であり得る。非一時的メモリ620は、コンピューティングデバイス600で使用するために一時的または永続的にプログラム(例えば、命令のシーケンス)またはデータ(例えば、プログラム状態情報)を記憶するために使用される物理デバイスであり得る。不揮発性メモリの例は、限定ではないが、フラッシュメモリ、読み取り専用メモリ(ROM)/プログラマブル読み取り専用メモリ(PROM)/消去可能なプログラマブル読み取り専用メモリ(EPROM)/電子的に消去可能なプログラマブル読み取り専用メモリ(EEPROM)(例えば、通常、ブートプログラム等のファームウェアに使用される)を含む。揮発性メモリの例は、限定ではないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、及びディスクまたはテープを含む。
【0069】
ストレージデバイス630は、コンピューティングデバイス600にマスストレージを提供することが可能である。いくつかの実施態様では、ストレージデバイス630はコンピューター可読媒体である。様々な異なる実施態様では、ストレージデバイス630は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイス、フラッシュメモリ、または他の同様のソリッドステートメモリデバイス、あるいはストレージエリアネットワークまたは他の構成内のデバイスを含むデバイスのアレイであり得る。追加の実施態様では、コンピュータープログラム製品は情報キャリア内に有形に具体化される。コンピュータープログラム製品は、実行されるときに、上記に説明した方法等の1つ以上の方法を行う命令を含む。情報キャリアは、メモリ620、ストレージデバイス630、またはプロセッサ610上のメモリ等のコンピューター可読媒体または機械可読媒体である。
【0070】
高速コントローラー640は、コンピューティングデバイス600の帯域幅を集中的に使用する動作を管理する一方、低速コントローラー660は、より低い帯域幅を集中的に使用する動作を管理する。そのような役割の割り当ては単なる例である。いくつかの実施態様では、高速コントローラー640は、メモリ620、ディスプレイ680(例えば、グラフィックプロセッサまたはアクセラレータを経由して)、及び様々な拡張カード(図示せず)を受け入れ得る高速拡張ポート650に結合される。いくつかの実施態様では、低速コントローラー660は、ストレージデバイス630及び低速拡張ポート690に結合される。様々な通信ポート(例えば、USB、Bluetooth、イーサネット、無線イーサネット)を含み得る低速拡張ポート690は、例えば、ネットワークアダプタを経由して、キーボード、ポインティングデバイス、スキャナ等の1つ以上の入力/出力デバイス、またはスイッチもしくはルーター等のネットワーキングデバイスに結合され得る。
【0071】
コンピューティングデバイス600は、図に示されるように、様々な形式で実装され得る。例えば、標準サーバー600aとして、またはそのようなサーバー600aのグループで複数回、ラップトップコンピューター600bとして、またはラックサーバーシステム600cの一部として実装され得る。
【0072】
本明細書で説明されるシステム及び技術の様々な実施態様は、デジタル電子回路及び/または光学回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピューターハードウェア、ファームウェア、ソフトウェア、及び/またはそれらの組み合わせにおいて実現できる。これらの様々な実施態様は、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムで実行可能及び/または解読可能である1つ以上のコンピュータープログラムにおける実施態様を含み得、少なくとも1つのプログラマブルプロセッサは、ストレージシステム、少なくとも1つの入力デバイス、及び少なくとも1つの出力デバイスからデータ及び命令を受信し、それらにデータ及び命令を伝送するために結合された、専用または汎用のものであり得る。
【0073】
これらのコンピュータープログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラマブルプロセッサに対する機械命令を含み、高レベル手続き型プログラミング言語、及び/またはオブジェクト指向プログラミング言語、及び/またはアセンブリ/機械言語で実装できる。本明細書で使用される場合、「機械可読媒体」及び「コンピューター可読媒体」という用語は、機械可読信号として機械命令を受信する機械可読媒体を含む、プログラマブルプロセッサに機械命令及び/またはデータを提供するために使用される任意のコンピュータープログラム製品、非一時的コンピューター可読媒体、装置、及び/またはデバイス(例えば、磁気ディスク、光学ディスク、メモリ、プログラマブル論理回路(PLD))を指す。「機械可読信号」という用語は、プログラマブルプロセッサに機械命令及び/またはデータを提供するために使用される任意の信号を指す。
【0074】
本明細書に説明されるプロセス及び論理フローは、1つ以上のコンピュータープログラムを実行する1つ以上のプログラマブルプロセッサ(データ処理ハードウェアとも呼ばれる)によって行われ、入力データを操作して出力を生成することによって機能を行うことができる。また、プロセス及び論理フローは、専用論理回路、例えば、FPGA(フィールドプログラムゲートアレイ)またはASIC(特定用途向け集積回路)によって行うことができる。コンピュータープログラムの実行に適当なプロセッサは、例として、汎用マイクロプロセッサ及び専用マイクロプロセッサの両方、ならびに任意の種類のデジタルコンピューターの任意の1つ以上のプロセッサを含み得る。概して、プロセッサは、読み取り専用メモリ、ランダムアクセスメモリ、またはそれら両方から命令及びデータを受信する。コンピューターの重要な要素として、命令を行うためのプロセッサと、命令及びデータを記憶するための1つ以上のメモリデバイスとが挙げられる。概して、コンピューターは、また、データを記憶するための1つ以上のマスストレージデバイス(例えば、磁気ディスク、光磁気ディスク、または光ディスク)を含む、あるいはマスストレージデバイスからデータを受信する、もしくはマスストレージデバイスにデータを転送する、またはそれら両方を行うようにマスストレージデバイスに動作可能に結合される。しかしながら、コンピューターはそのようなデバイスを有する必要はない。コンピュータープログラム命令及びデータを記憶するために適当なコンピューター可読媒体は、例として、半導体メモリデバイス、例えば、EPROM、EEPROM、及びフラッシュメモリデバイス、磁気ディスク、例えば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMディスク及びDVD-ROMディスクを含む、不揮発性メモリ、媒体、及びメモリデバイスの全ての形態を含む。プロセッサ及びメモリは、専用論理回路によって補完できる、または専用論理回路に組み込みできる。
【0075】
ユーザーとのインタラクションを提供するために、本開示の1つ以上の態様は、ユーザーに情報を表示するためのディスプレイデバイス、例えば、CRT(陰極線管)、LCD(液晶ディスプレイ)モニター、またはタッチスクリーン、ならびに任意選択で、ユーザーがコンピューターに入力を提供できるキーボード及びポインティングデバイス、例えば、マウスまたはトラックボールを有するコンピューターに実装できる。同様に、他の種類のデバイスを使用して、ユーザーとのインタラクションを提供できる。例えば、ユーザーに提供されたフィードバックは、任意の形式の知覚フィードバック、例えば、視覚的フィードバック、聴覚的フィードバック、または触知的フィードバックであり得、ユーザーからの入力は、音響入力、発話入力、または触知的入力を含む、任意の形式で受信できる。さらに、コンピューターは、ユーザーが使用するデバイスにドキュメントを送信することによって、またそのデバイスからドキュメントを受信することによって、ユーザーとインタラクトできる。例えば、ウェブブラウザから受信した要求に応じて、ユーザーのクライアントデバイスのウェブブラウザにウェブページを送信することによってインタラクトする。
【0076】
いくつかの実施態様が説明されている。それにもかかわらず、本開示の趣旨及び範囲から逸脱することなく、様々な変更がなされ得ることが理解される。したがって、他の実施態様は、以下の特許請求の範囲内にある。
【国際調査報告】