(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-24
(45)【発行日】2024-08-01
(54)【発明の名称】音声認識
(51)【国際特許分類】
G10L 15/32 20130101AFI20240725BHJP
G10L 15/07 20130101ALI20240725BHJP
G10L 15/10 20060101ALI20240725BHJP
【FI】
G10L15/32 220Z
G10L15/07
G10L15/10 200W
(21)【出願番号】P 2023053048
(22)【出願日】2023-03-29
(62)【分割の表示】P 2022546105の分割
【原出願日】2021-01-20
【審査請求日】2023-03-29
(32)【優先日】2020-01-30
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100142907
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】ビアジー、ファディ
(72)【発明者】
【氏名】モレノ メンヒバル、ペドロ ジェイ.
【審査官】山下 剛史
(56)【参考文献】
【文献】特開2017-182452(JP,A)
【文献】特表2005-512246(JP,A)
【文献】特開2010-154397(JP,A)
【文献】米国特許出願公開第2017/0032781(US,A1)
【文献】米国特許出願公開第2014/0195227(US,A1)
【文献】米国特許出願公開第2016/0316059(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/00-17/26
(57)【特許請求の範囲】
【請求項1】
データ処理ハードウェア上での実行時に、前記データ処理ハードウェアに動作を実行させるコンピュータが実施する方法であって、前記動作は、
第2のユーザとの会話中に第1のユーザによって話された第1の発話の音響特徴を受信することと、
前記第1のユーザに関連付けられた第1の音声認識器を使用して、前記第1の発話の音響特徴を処理して、前記第1の発話の第1の転写を生成することと、ここで、前記第1の転写は、1つまたは複数のバイアス用語を含んでおり、
前記第1の転写の前記1つまたは複数のバイアス用語に基づいて、前記第2のユーザに関連付けられた第2の音声認識器をバイアスすることと、
前記第1のユーザとの会話中に、前記第2のユーザによって話された第2の発話の音響特徴を受信することと、
前記1つまたは複数のバイアス用語に基づいてバイアスされた前記第2の音声認識器を使用して、前記第2の発話の音響特徴を処理して、前記第2の発話の第2の転写を生成することと、を含むコンピュータが実施する方法。
【請求項2】
前記第1のユーザが第1のタイプの音声で話し、
前記第1の音声認識器は、前記第1のタイプの音声で話す話者によって話されたトレーニング発話でトレーニングされ、
前記第2のユーザは、前記第1のユーザによって話された前記第1のタイプの音声とは異なる第2のタイプの音声で話し、
前記第2の音声認識器は、前記第2のタイプの音声で話す話者によって話されたトレーニング発話でトレーニングされる、請求項1に記載のコンピュータが実施する方法。
【請求項3】
前記第2のタイプの発話で話す話者によって話された前記トレーニング発話は、発語失行、聴覚障害音声、クラッタリング、発達性言語協調障害、構音障害、失音調、語音障害、不明瞭発語、吃音症、音声障害、または不全歯擦音のうちの少なくとも1つを有する話者によって話された発話を含む、請求項2に記載のコンピュータが実施する方法。
【請求項4】
前記動作が、前記第1の転写における非機能的な用語を識別することによって前記1つまたは複数のバイアス用語を識別することをさらに含む、請求項1に記載のコンピュータが実施する方法。
【請求項5】
前記動作が、前記第1の転写に対して用語頻度-逆文書頻度(tf-idf)分析を実行して前記1つまたは複数のバイアス用語を識別することをさらに含む、請求項1に記載のコンピュータが実施する方法。
【請求項6】
前記動作が、前記第1のユーザと前記第2のユーザとの間の会話中に前記第1の音声認識器によって生成された複数の転写に含まれる相互情報を識別することをさらに含む、請求項1に記載のコンピュータが実施する方法。
【請求項7】
前記第1の発話が、前記第1のユーザに関連付けられた第1のユーザデバイスによってキャプチャされ、
前記データ処理ハードウェアは、前記第1のユーザデバイス上に存在する、請求項1に記載のコンピュータが実施する方法。
【請求項8】
前記第1の発話が、前記第1のユーザに関連付けられた第1のユーザデバイスによってキャプチャされ、
前記データ処理ハードウェアは、前記第1のユーザデバイスと通信するリモートコンピューティングデバイス上に存在する、請求項1に記載のコンピュータが実施する方法。
【請求項9】
前記動作が、前記第1のユーザに関連付けられたユーザデバイスのディスプレイ上に前記第2の発話の前記第2の転写を表示することをさらに含む、請求項1に記載のコンピュータが実施する方法。
【請求項10】
前記動作が、前記第2の発話の前記第2の転写のための合成音声表現を生成することと、
前記第1のユーザに関連付けられたユーザデバイスからの可聴的な出力のために前記合成音声表現を提供することと、をさらに含む、請求項1に記載のコンピュータが実施する方法。
【請求項11】
システムであって、
データ処理ハードウェアと、
前記データ処理ハードウェアと通信し、かつ命令を格納するメモリハードウェアと、を備え、前記命令は、前記データ処理ハードウェア上で実行されるときに、前記データ処理ハードウェアに、
第2のユーザとの会話中に第1のユーザによって話された第1の発話の音響特徴を受信することと、
前記第1のユーザに関連付けられた第1の音声認識器を使用して、前記第1の発話の音響特徴を処理して、前記第1の発話の第1の転写を生成することと、ここで、前記第1の転写は、1つまたは複数のバイアス用語を含んでおり、
前記第1の転写の前記1つまたは複数のバイアス用語に基づいて、前記第2のユーザに関連付けられた第2の音声認識器をバイアスすることと、
前記第1のユーザとの会話中に、前記第2のユーザによって話された第2の発話の音響特徴を受信することと、
前記1つまたは複数のバイアス用語に基づいてバイアスされた前記第2の音声認識器を使用して、前記第2の発話の音響特徴を処理して、前記第2の発話の第2の転写を生成することと、を含む動作を実行させる、システム。
【請求項12】
前記第1のユーザが第1のタイプの音声で話し、
前記第1の音声認識器は、前記第1のタイプの音声で話す話者によって話されたトレーニング発話に対してトレーニングされ、
前記第2のユーザは、前記第1のユーザによって話された前記第1のタイプの音声とは異なる第2のタイプの音声で話し、
前記第2の音声認識器は、前記第2のタイプの音声で話す話者によって話されたトレーニング発話でトレーニングされる、請求項11に記載のシステム。
【請求項13】
前記第2のタイプの発話で話す話者によって話される前記トレーニング発話は、発語失行、聴覚障害音声、クラッタリング、発達性言語協調障害、構音障害、失音調、語音障害、不明瞭発語、吃音症、音声障害、または不全歯擦音のうちの少なくとも1つを有する話者によって話された発話を含む、請求項12に記載のシステム。
【請求項14】
前記動作が、前記第1の転写における非機能的な用語を識別することによって前記1つまたは複数のバイアス用語を識別することをさらに含む、請求項11に記載のシステム。
【請求項15】
前記動作が、前記第1の転写に対して用語頻度-逆文書頻度(tf-idf)分析を実行して前記1つまたは複数のバイアス用語を識別することをさらに含む、請求項11に記載のシステム。
【請求項16】
前記動作が、前記第1のユーザと前記第2のユーザとの間の会話中に前記第1の音声認識器によって生成された複数の転写に含まれる相互情報を識別することをさらに含む、請求項11に記載のシステム。
【請求項17】
前記第1の発話が、前記第1のユーザに関連付けられた第1のユーザデバイスによってキャプチャされ、
前記データ処理ハードウェアは、前記第1のユーザデバイス上に存在する、請求項11に記載のシステム。
【請求項18】
前記第1の発話が、前記第1のユーザに関連付けられた第1のユーザデバイスによってキャプチャされ、
前記データ処理ハードウェアは、前記第1のユーザデバイスと通信するリモートコンピューティングデバイス上に存在する、請求項11に記載のシステム。
【請求項19】
前記動作が、前記第1のユーザに関連付けられたユーザデバイスのディスプレイ上に前記第2の発話の前記第2の転写を表示することをさらに含む、請求項11に記載のシステム。
【請求項20】
前記動作が、前記第2の発話の前記第2の転写のための合成音声表現を生成することと、
前記第1のユーザに関連付けられたユーザデバイスからの可聴的な出力のために前記合成音声表現を提供することと、をさらに含む、請求項11に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、概して、音声処理に関する。
【背景技術】
【0002】
音声処理は、音声信号および信号の処理方法の考察である。信号は通常デジタル表現で処理されるため、音声処理は、音声信号に適用されるデジタル信号処理のケースと見なすことができる。音声処理の態様には、音声信号の取得、操作、保存、転送、および出力が含まれる。
【発明の概要】
【0003】
非定型音声(atypical speech)(例えば、発語失行(apraxia)、クラッタリング(cluttering)、発達性言語協調障害(developmental verbal dyspraxia)、構音障害(dysarthria)、失音調(dysprosody)、語音障害(speech sound disorders)、不明瞭発語(slurred speech)、吃音症(stuttering)、音声障害(voice disorders)、不全歯擦音(lisp)、その他)の話者にとって、他の人が話者の言っていることを理解できるようにすることは難しい場合がある。音声認識技術を利用して、話者の音声を転写して、ユーザインタフェースにおいて、または合成音声を介して転写(transcription)を出力することによって、他者を支援することは有用であり得る。しかしながら、聞き手が非定型音声の話者を理解するのが困難であるのと同様に、音声認識器も非定型音声を転写する際に精度が低下することがあり得る。
【0004】
この課題を克服するには、非定型音声の話者と定型音声(typical speech)の別の話者との間の会話のコンテキストを判定することが有用であり得る。システムは、複数の音声認識器を使用して、システムが非定型音声または定型音声のどちらを検出したかに応じて、そのうちの1つを選択的に作動させることができる。
【0005】
システムは、一般音声認識器を使用して、定型音声の話者からの音声の転写を生成し得る。システムは、その転写を使用して会話のコンテキストを決定し、代替音声認識器をバイアスする(bias)ことができる。システムは、非定型音声の話者からの音声を転写する際に、バイアスされた代替音声認識器を使用し得る。代替音声認識器をバイアスすることによって、システムは、定型音声の話者からの音声の転写の精度を向上させることができる。
【0006】
これは、様々な場面で有用であり得る。一例には、非定型音声で話す人と定型音声で話す人の2人の間での電話会話が含まれ得る。システムは、定型音声で話す話者の対話の転写を使用して、代替音声認識器をバイアスし得る。システムは、バイアスされた代替音声認識器を使用して、非定型音声で話す話者の対話に対して音声認識を実行する。システムは、定型音声で話す話者が非定型音声で話す話者をよりよく理解することが可能となるように、非定型音声の話者の対話の転写を出力するか、または合成音声を出力することができる。
【0007】
本開示の一態様は、データ処理ハードウェア上での実行時に、データ処理ハードウェアに動作を実行させるコンピュータが実施する方法を提供し、動作は、定型音声で話す第1のユーザによって話された第1の発話の音響特徴を受信することと、一般音声認識器を使用して、第1の発話の音響特徴を処理して、第1の発話の第1の転写を生成することと、第1の発話の第1の転写を分析して、代替音声認識器をバイアスするために第1の転写における1つまたは複数のバイアス用語を識別することと、第1の転写において識別された1つまたは複数のバイアス用語で代替音声認識器をバイアスすることと、を含む。動作は、非定型音声で話す第2のユーザによって話された第2の発話の音響特徴を受信することと、第1の転写において識別された1つまたは複数のバイアス用語でバイアスされた代替音声認識器を使用して、第2の発話の音響特徴を処理して第2の発話の第2の転写を生成することとをも含む。
【0008】
本開示の実施形態は、以下の任意の機能のうちの1つまたは複数を含み得る。いくつかの実施形態では、動作は、第1のユーザに関連付けられたユーザデバイスのディスプレイ上に第2の発話の第2の転写を表示すること、かつ/または第2の発話の第2の転写に対する合成音声表現を生成して、第1のユーザに関連付けられたユーザデバイスからの可聴的な出力のために合成音声表現を提供することとをも含む。いくつかの例では、動作は、非定型音声で話す第2のユーザによって話された第2の発話の音響特徴を受信した後、第2の発話の音響特徴に対して音声識別を実行して、第2の発話の話者を非定型音声で話す第2のユーザとして識別することと、第2の発話の音響特徴に対して実行された音声識別が第2のユーザを第2の発話の話者として識別することに基づいて、第2の発話の音響特徴に対して音声認識を実行するための代替音声認識器を選択することとをも含む。
【0009】
他のいくつかの例では、動作は、非定型音声で話す第2のユーザによって話された第2の発話の音響特徴を受信した後、音声分類器モデルを使用して、第2の発話の音響特徴が非定型音声の話者によって話された発話に関連していることを示す出力を生成することと、第2の発話の音響特徴が非定型音声の話者によって話された発話に関連していることを示す、音声分類器モデルによって生成された出力に基づいて、第2の発話の音響特徴に対して音声認識を実行するための代替音声認識器を選択することとをも含む。これらの他の例では、音声分類器モデルは、非定型トレーニング発話でトレーニングされ得、非定型トレーニング発話は、非定型音声の話者によって話されたことを示す個々のラベルを含む。ここで、非定型トレーニング発話は、発語失行、聴覚障害音声(deaf speech)、クラッタリング、発達性言語協調障害、構音障害、失音調、語音障害、不明瞭発語、吃音症、音声障害、または不全歯擦音のうちの少なくとも1つを有する話者によって話された発話を含み得る。音声分類器モデルは、定型トレーニング発話でトレーニングされ得、定型トレーニング発話は、定型音声の話者によって話されたことを示す個々のラベルを含む。
【0010】
いくつかの実施形態では、第1の発話の第1の転写を分析して、第1の転写における1つまたは複数のバイアス用語を識別することは、第1の転写における非機能的な用語を識別することによって1つまたは複数のバイアス用語を識別することを含む。第1の発話の第1の転写を分析して、第1の転写における1つまたは複数のバイアス用語を特定することは、第1の転写に対して用語頻度-逆文書頻度(tf-idf)分析を実行して、1つまたは複数のバイアス用語を識別することを含み得る。追加的または代替的に、第1の発話の第1の転写を分析して、第1の転写における1つまたは複数のバイアス用語を識別することは、第1のユーザと第2のユーザとの間の進行中の会話中に一般音声認識器によって生成された複数の転写に含まれる相互情報を識別することを含み得る。
【0011】
第1の発話は、第1のユーザに関連付けられた第1のユーザデバイスによってキャプチャされ得、データ処理ハードウェアは、第1のユーザデバイス上に存在し得る。他の構成では、データ処理ハードウェアは、第1のユーザデバイスと通信するリモートコンピューティングデバイス上に存在する。
【0012】
本開示の別の態様は、データ処理ハードウェアと、データ処理ハードウェアと通信するメモリハードウェアとを含むシステムを提供し、メモリハードウェアは命令を格納し、命令は、データ処理ハードウェア上で実行されるときに、データ処理ハードウェアに動作を実行させ、動作は、定型音声で話す第1のユーザによって話された第1の発話の音響特徴を受信することと、一般音声認識器を使用して、第1の発話の音響特徴を処理して、第1の発話の第1の転写を生成することと、第1の発話の第1の転写を分析して、代替音声認識器をバイアスするために第1の転写における1つまたは複数のバイアス用語を識別することと、第1の転写において識別された1つまたは複数のバイアス用語で代替音声認識器をバイアスすることと、を含む。動作は、非定型音声で話す第2のユーザによって話された第2の発話の音響特徴を受信することと、第1の転写において識別された1つまたは複数のバイアス用語でバイアスされた代替音声認識器を使用して、第2の発話の音響特徴を処理して第2の発話の第2の転写を生成することとをも含む。
【0013】
この態様は、以下の任意の特徴のうちの1つまたは複数を含み得る。いくつかの実施形態では、動作はまた、第1のユーザに関連付けられたユーザデバイスのディスプレイ上に第2の発話の第2の転写を表示すること、かつ/または第2の発話の第2の転写に対する合成音声表現を生成して、第1のユーザに関連付けられたユーザデバイスからの可聴的な出力のために合成音声表現を提供することをも含む。いくつかの例では、動作は、非定型音声で話す第2のユーザによって話された第2の発話の音響特徴を受信した後、第2の発話の音響特徴に対して音声識別を実行して、第2の発話の話者を非定型音声で話す第2のユーザとして識別することと、第2の発話の音響特徴に対して実行された音声識別が第2のユーザを第2の発話の話者として識別することに基づいて、第2の発話の音響特徴に対して音声認識を実行するための代替音声認識器を選択することとをも含む。
【0014】
他のいくつかの例では、動作は、非定型音声で話す第2のユーザによって話された第2の発話の音響特徴を受信した後、音声分類器モデルを使用して、第2の発話の音響特徴が非定型音声の話者によって話された発話に関連していることを示す出力を生成することと、第2の発話の音響特徴が非定型音声の話者によって話された発話に関連していることを示す、音声分類器モデルによって生成された出力に基づいて、第2の発話の音響特徴に対して音声認識を実行するための代替音声認識器を選択することとをも含む。これらの他の例では、音声分類器モデルは、非定型トレーニング発話でトレーニングされ得、非定型トレーニング発話は、非定型音声の話者によって話されたことを示す個々のラベルを含む。ここで、非定型トレーニング発話は、発語失行、聴覚障害音声、クラッタリング、発達性言語協調障害、構音障害、失音調、語音障害、不明瞭発語、吃音症、音声障害、または不全歯擦音のうちの少なくとも1つを有する話者によって話された発話を含み得る。音声分類器モデルは、定型トレーニング発話でトレーニングされ得、定型トレーニング発話は、定型音声の話者によって話されたことを示す個々のラベルを含む。
【0015】
いくつかの実施形態では、第1の発話の第1の転写を分析して、第1の転写における1つまたは複数のバイアス用語を識別することは、第1の転写における非機能的な用語を識別することによって1つまたは複数のバイアス用語を識別することを含む。第1の発話の第1の転写を分析して、第1の転写における1つまたは複数のバイアス用語を特定することは、第1の転写に対して用語頻度-逆文書頻度(tf-idf)分析を実行して、1つまたは複数のバイアス用語を識別することを含み得る。追加的または代替的に、第1の発話の第1の転写を分析して、第1の転写における1つまたは複数のバイアス用語を識別することは、第1のユーザと第2のユーザとの間の進行中の会話中に一般音声認識器によって生成された複数の転写に含まれる相互情報を識別することを含み得る。
【0016】
第1の発話は、第1のユーザに関連付けられた第1のユーザデバイスによってキャプチャされ得、データ処理ハードウェアは、第1のユーザデバイス上に存在し得る。他の構成では、データ処理ハードウェアは、第1のユーザデバイスと通信するリモートコンピューティングデバイス上に存在する。
【0017】
本開示の1つまたは複数の実施の詳細は、添付の図面および以下の詳細な説明に記載されている。他の態様、特徴、および利点は、詳細な説明および図面、ならびに特許請求の範囲から明らかになる。
【図面の簡単な説明】
【0018】
【
図1】2人のユーザが会話をしている例示的な環境の概略図であり、コンピューティングデバイスは、非定型音声で話すユーザに対してユーザの音声の転写を出力する。
【
図2】定型音声および非定型音声に対して音声認識を実行する例示的な自動音声認識(ASR:automated speech recognition)システムの概略図である。
【
図3】音声分類器モデルをトレーニングするための例示的なトレーニング手順の概略図である。
【
図4】定型音声および非定型音声に対して音声認識を実行する方法のための例示的な動作の構成のフローチャートである。
【
図5】本明細書で説明されるシステムおよび方法を実施するために使用され得る例示的なコンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0019】
様々な図面の同様の参照番号および記号は、同様の構成要素を示す。
図1は、2人のユーザ102a、102bが会話している例示的な環境100を示しており、コンピューティングデバイス106は、非定型音声で話すユーザ102bによって話された音声の転写146、146a-bを出力する。簡単に説明すると、そして以下でより詳細に説明するように、定型音声で話すユーザ102aは、非定型音声で話すユーザ102bと会話している。ユーザ102aがユーザ102bを理解するのを支援するために、コンピューティングデバイス106は、ユーザ102bによって話された発話134、142の転写146a、146bを含むグラフィカルインタフェース150を提供する。コンピューティングデバイス106は、非定型音声を認識するように構成された代替音声認識器132をバイアスすることによって、ユーザ102からの非定型音声に対して実行される音声認識の精度を向上させる。会話は、個々のユーザデバイス106、106a-b(例えば、スマートフォン)を介した電話での会話を含み得る。他の例では、ユーザ102a、102bは、単一のユーザデバイス106が両方のユーザ102a、102bによって話された発話108、134、138、142をキャプチャしている対面会話をし得る。
【0020】
より詳細には、ユーザ102bは、他の人がユーザ102bを理解することを時には困難にする非定型音声で話すが、ユーザ102aは、非定型音声で話さない。ユーザ102は、非定型音声のユーザ102bを理解するのを支援するためにユーザデバイス106を使用し得る。ユーザデバイス106は、複数の音声認識器124、132を有するコンピューティングデバイスに対応し得る。例えば、ユーザデバイス106は、一般音声認識器124を使用して、非定型音声を含んでいない音声に対して音声認識を実行し、代替音声認識器132を使用して、非定型音声に対して音声認識を実行し得る。より具体的には、一般音声認識器124は、定型音声で話す話者によって支配される音声でトレーニングされ得るため、一般音声認識器124は、非定型音声のユーザによって話された音声を正確に認識することが困難となる。代替音声認識器132は、限定されるものではないが、発語失行、クラッタリング、発達性言語協調障害、構音障害、失音調、語音障害、不明瞭発語、吃音症、音声障害、不全歯擦音、または、他の人が理解するのを困難にする他の類似の言語障害などの様々なタイプの音声障害を有する話者によって話された音声発話に対してトレーニングされる。
【0021】
ステージAにおいて、ユーザ102aは、「昨夜の試合を見ましたか。(Did you see the game last night?)」という発話108を行う。ユーザデバイス106は、発話108をキャプチャするマイクロフォン204(
図2)を含み得る。ユーザデバイス106は、キャプチャされた発話108を話したユーザ102aが非定型音声で話したかどうかを判定するように構成された音声認識器セレクタ110を含む。発話108が非定型音声を含んでいないことを示す決定120に基づいて、音声認識器セレクタ110は、一般音声認識器124を選択することを示す決定114に到達する。
【0022】
ユーザデバイス106は、一般音声認識器124を使用して、発話108を特徴付ける音声データに対して音声認識を実行する。一般音声認識器124は、発話108に対するASR結果218(
図2)を出力し、発話108に対するASR結果218を音声認識バイアス器222に提供する。音声認識バイアス器222は、代替音声認識器132をバイアスするための用語224およびクラスを選択するように構成される。この例では、音声認識バイアス器222は、発話108がスポーツに関連していると判定し、代替音声認識器132をスポーツに関連する用語224aのクラスにバイアスする。また、音声認識バイアスは、代替音声認識器132をバイアスするのに適切な用語224aとして「試合」という用語を識別する。
【0023】
ステージBにおいて、ユーザ102bは、「見ました。あの最後のプレーは素晴らしかったです。今夜行きますか。(I did. That last play was great. Are you going tonight?)」という発話134を行う。ユーザ102bの発話は非定型であり、そのため、ユーザ102aがユーザ102bが何を言っているかを理解することが困難な場合がある。また、非定型音声で話すことによって、一般音声認識器124が発話104の音声データに対して正確に音声認識を実行することが困難な場合がある。ユーザデバイス106のマイクロフォンは、発話134をキャプチャし、発話132を、発話132を特徴付ける音声データ(例えば、音響特徴205(
図2))にデジタル形式で変換する。音声認識器セレクタ110は、発話134の音声データを分析し、決定136によって示されるように、発話134が非定型音声を含んでいると判定する。
【0024】
音声認識器セレクタ110が発話134が非定型音声を含んでいると判定することに基づいて、音声認識器セレクタ110は、代替音声認識器132を使用して音声データに対して音声認識を実行するようにユーザデバイス106に指示する。代替音声認識器132は、代替音声認識器132を用語「試合」およびスポーツクラスに関連する一組の用語を含む用語224aに向けてバイアスする際に使用するために、バイアス器222によって識別されたバイアス用語224を取得/受信し得る。代替音声認識器132は、「見ました。あの最後のプレーは素晴らしかったです。今夜行きますか。」という転写146を生成する。
【0025】
ユーザ102aがユーザ102bを理解するのを支援するために、ユーザデバイス106は、転写146を含むグラフィカルインタフェース150を生成する。ユーザデバイス106は、グラフィカルインタフェース150をユーザデバイス106のディスプレイに出力する。ユーザ102aは、ユーザデバイス106のディスプレイ上で「見ました。あの最後のプレーは素晴らしかったです。今夜行きますか。」を見ることが可能である。ユーザデバイス106は、追加的または代替的に、転写146の合成音声表現を可聴的に出力し得る。
【0026】
ステージCにおいて、ユーザ102aとユーザ102bとの間の会話が続き、ユーザ102aは、「行きたいですが、チケットがありません。(I want to, but I don’t have a ticket.)」という発話138で応答する。ユーザデバイス106のマイクロフォンは、発話138をキャプチャして、発話138をデジタル形式で特徴付けるために発話138を音声データ(例えば、音響特徴205(
図2))に変換する。音声認識器セレクタ110は、発話138の音声データを分析する。音声認識器セレクタ110は、決定140によって示されるように、発話138が非定型音声で話さないユーザによって話されたものであると判定する。
【0027】
音声認識器セレクタ110は、発話138の音声データに対して音声認識を実行するように一般音声認識器124に指示を提供する。いくつかの実施形態では、コンピューティングデバイス106は、一般音声認識器124をバイアスしない。一般音声認識器124は、発話138のASR結果218を生成し、発話138のASR結果218を音声認識バイアス器222に提供する。この例では、音声認識バイアス器222は、発話138が用語「チケット」を代替音声認識器132をバイアスするための用語224、224bとして特定していることを決定する。音声認識バイアス器222は、代替音声認識器132をバイアスするために用語「チケット」を用語224bとして追加して、バイアス用語224が、用語「試合」および「チケット」ならびに「スポーツ」クラスに関連する一組の用語を含むようにする。
【0028】
いくつかの実施形態では、音声認識バイアス器222は、ユーザ102aによって話された累積発話を分析して、代替音声認識器132をバイアスするための用語224を判定する。例えば、音声認識バイアス器222は、発話108に対するASR結果218および発話138の両方を分析して、後続の発話に関してバイアス用語224を決定することができる。この場合、音声認識バイアス器222は、話者102aが定型音声で話した発話108,138に対するASR結果218の分析に基づいて、用語「試合」および「チケット」ならびに「スポーツ」クラスに関連する一組の用語を識別し得る。
【0029】
いくつかの実施形態では、音声認識バイアス器222は、ユーザ102aによって話された最新の発話を分析して、以前に識別された用語224に追加するために、用語224および識別されたクラスに関連する一組の用語を決定する。例えば、音声認識バイアス器222は、発話138を分析して、追加のバイアス用語224bを決定し得る。この場合、音声認識バイアス器222は、発話138に対するASR結果224の分析に基づいて、用語「チケット」を識別し得る。音声認識バイアス器222は、以前に識別された用語224aを、新たな用語「チケット」224bとともに、ユーザデバイス106上にあるメモリハードウェアに格納し得る。音声認識バイアス器222は、バイアス用語224、224a-bを使用して、代替音声認識器132をバイアスし得る。
【0030】
ステージDにおいて、ユーザ102bは、「よかったら、1枚余分にあります。(I have an extra one if you want it.)」という発話142を行う。ユーザ102bは、非定型音声で話し続ける。ユーザデバイス106のマイクロフォンは、発話142をキャプチャし、発話142を、発話142を特徴付ける音声データに変換する。音声認識器セレクタ110は、発話142の音声データを分析し、決定144によって示されるように、発話142が非定型音声でユーザによって話されたと判定する。
【0031】
音声認識器セレクタ110が発話142がユーザによって非定型音声で話されたと判定することに基づいて、音声認識器セレクタ110は、音声データに対して音声認識を実行するようにユーザデバイス106に指示する。代替音声認識器132は、バイアス用語224を取得/受信し、代替音声認識器132を、用語「試合」および「スポーツ」クラスに関連する一組の用語を含むバイアス用語224a、ならびに用語「チケット」を含むバイアス用語224bに向けてバイアスする。代替音声認識器132は、「よかったら、1枚余分にあります。」という転写148を生成する。
【0032】
ユーザデバイス106は、転写148を含むようにグラフィカルインタフェース150を更新する。ユーザデバイス106は、グラフィカルインタフェース150をユーザデバイス106のディスプレイに出力する。ユーザ102は、コンピューティングデバイス106のディスプレイ上で「よかったら、1枚余分にあります。」を見ることができる。ユーザデバイス106は、追加的または代替的に、転写148の合成音声表現を可聴的に出力し得る。
【0033】
図2は、定型音声および非定型音声に対して音声認識を実行する例示的な自動音声認識(ASR)システム200を示す。いくつかの実施形態では、ASRシステム200は、ユーザ102、104のユーザデバイス106上、および/またはユーザデバイスと通信するリモートコンピューティングデバイス201(例えば、クラウドコンピューティング環境で実行される分散システムの1つまたは複数のサーバ)上に存在する。いくつかの例では、ASRシステム200の構成要素の一部は、ユーザデバイス106上に存在し、一方、構成要素の残りの部分は、リモートコンピューティングデバイス201上に存在する。ユーザデバイス106は、モバイルコンピューティングデバイス(例えば、スマートフォン)として示されているが、ユーザデバイス106は、これらに限定されない、タブレットデバイス、ラップトップ/デスクトップコンピュータ、ウェアラブルデバイス、デジタルアシスタントデバイス、スマートスピーカ/ディスプレイ、スマート家電、自動車インフォテインメントシステム、またはモノのインターネット(IoT)デバイスなどの任意のタイプのコンピューティングデバイスに対応し得る。
【0034】
ASRシステム200は、システム200の他の構成要素がユーザデバイス106および/またはリモートシステム201上に存在し得る一方で、ユーザデバイス106上に実装されるオーディオサブシステム202を含む。オーディオサブシステム202は、1つまたは複数のマイクロフォン204、アナログ-デジタル(A-D)変換器206、バッファ208、および他の様々なオーディオフィルタを含み得る。1つまたは複数のマイクロフォン204は、ユーザ102によって話された発話などの音声をキャプチャするように構成され、A-D変換器206は、音声を、ASRシステム200の様々な構成要素によって処理することが可能な入力音響特徴205に関連付けられた対応するデジタル形式に変換するように構成される。いくつかの例では、音響特徴205は、短い(例えば、25ミリ秒(ミリ秒))ウィンドウで計算され、かつ例えば、10ミリ秒ごとにシフトされる80次元の対数メル特徴をそれぞれ含む一連のパラメータ化された入力音響フレームを含む。バッファ208は、ASRシステム200によるさらなる処理のために、1つまたは複数のマイクロフォン204によってキャプチャされた対応する音声からサンプリングされた最新の音響特徴205(例えば、最後の10秒)を格納し得る。ASRシステム200の他の構成要素は、さらなる処理のために、音響特徴205を取得してバッファ208に格納し得る。
【0035】
いくつかの実施形態では、ASRシステム200は、オーディオサブシステム202から音響特徴205を受信し、音響特徴205が非定型音声の話者によって話された発話に関連するか、または定型音声の話者によって話された発話に関連するかを決定するように構成された音声識別器210を含む。音声識別器210は、音響特徴205が非定型音声または定型音声のどちらに関連付けられているかを示す出力211を生成し得る。例えば、
図1に示される定型音声検出決定120、140の各々および非定型音声検出決定136、144の各々は、音声識別器210によって生成された対応する出力211を含み得る。いくつかの例では、音声識別器210は、音響特徴205を処理することによって音声認識/音声識別を実行して、音声埋め込み(例えば、dベクトルまたはiベクトル)を生成し、音声埋め込みが、非定型音声または定型音声のユーザに対する格納された音声埋め込みと一致するかどうかを判定する。音声埋め込みは、格納されている音声埋め込みとの間の埋め込み距離が距離閾値を満たす場合、格納されている音声埋め込みと一致する。
【0036】
追加の例では、音声識別器210は、音響特徴205を入力として受け取り、音響特徴205が非定型音声の話者または非定型音声の話者によって話された発話に関連するかどうかを示す出力211を生成するようにトレーニングされた音声分類器モデル310を含む。例えば、
図3は、音声分類器モデル310をトレーニングするための例示的なトレーニング手順300を示す。音声分類器モデル310は、ニューラルネットワークベースのモデルであり得る。トレーニング手順300は、非定型音声の話者によって話された発話を含む非定型トレーニング発話302で音声分類器モデル310をトレーニングする。非定型トレーニング発話302は、限定されるものではないが、発語失行、クラッタリング、発達性言語協調障害、構音障害、失音調、語音障害、不明瞭発語、吃音症、音声障害、不全歯擦音、または、他の人が理解するのを困難にする他の類似の言語障害などの様々なタイプの音声障害を有する話者によって話された発話を含み得る。非定型トレーニング発話302は、非定型話者によって話された発話を非定型音声として分類するように音声分類器モデル310を教えるためにラベル付けされ得る。いくつかのシナリオでは、モデル310は、発話が特定のタイプの非定型音声の話者によって話されたかどうかを示す出力211を生成するようにトレーニングされる。例えば、出力211は、構音障害のある話者によって話された発話に関連する音響特徴が構音障害を含むことを示し、出力211は、聴覚障害のある別の話者によって話された別の発話に関連する他の音響特徴が聴覚障害の音声を含むことを示すことができる。これらのシナリオでは、モデル310は、構音障害の非定型音声を含んでいると明示的にラベル付けされた非定型トレーニング発話302と、聴覚障害の音声を含んでいると明示的にラベル付けされた非定型トレーニング発話302とでトレーニングされる。モデル310は、より細分性を提供するために、任意の数の異なる特定のタイプの非定型音声を示す出力211を生成するようにトレーニングされ得る。このようにして、各タイプの非定型音声は、特定のタイプの非定型音声を認識するために個人化された個々の代替音声認識器132に関連付けられ得る。
【0037】
追加的または代替的に、トレーニング手順300は、定型音声の話者によって話された発話を含む定型トレーニング発話304で音声分類器モデル310をトレーニングし得る。非定型トレーニング発話302と同様に、定型トレーニング発話304は、定型の話者によって話された発話を定型音声として分類するように音声分類器モデル310を教えるためにラベル付けされ得る。
【0038】
システム200はまた、音声認識器セレクタ112を含む。音声認識器セレクタ112は、音響特徴205が定型音声の話者または非定型音声の話者によって話された発話を含むかどうかを示す音声識別器210によって生成された出力211を受信するように構成される。音声認識器セレクタ112によって受信された出力211が、音響特徴205が非定型音声の話者によって話された発話を含むことを示す場合、音声認識器セレクタ112は、音響特徴205に対して音声認識を実行するために代替音声認識器132を(例えば、決定118により)選択する。音声認識器セレクタ112が、音声特徴205が非定型音声の話者によって話された発話を含んでいないことを示す出力211を受信した場合、音声認識器セレクタ112は、音響特徴205に対して音声認識を実行するために一般音声認識器124を(例えば、決定114により)選択する。
【0039】
いくつかの実施形態では、音声識別器210は、異なるタイプの非定型音声を識別するように構成される。例えば、音声識別器210は、話者が非定型音声なしで話すか、構音障害音声で話すか、または発語失行で話すかを判定するように構成され得る。即ち、音声識別器210は、音声分類器モデル310を実装して、異なるタイプの非定型音声および定型音声を示す出力211を生成することができ、かつ/または音声識別器210は、受信した音響特徴205に対して音声識別を単に実行して、音声埋め込みが特定のタイプの非定型音声または定型音声で話すことが知られている話者に対する格納された音声埋め込みと一致するかどうかを判定することができる。この例では、ASRシステム200は、3つの音声認識器、即ち、定型音声を認識するための一般音声認識器124、構音障害音声を認識するようにトレーニングされた第1の代替音声認識器132、および発語失行を認識するようにトレーニングされた第2の代替音声認識器132を含み得る。音声認識器セレクタ110は、音声識別器210が話者が非定型音声で話していないという出力211を生成した場合、一般音声認識器124を選択し得る。音声認識器セレクタ110は、音声識別器110が話者が構音障害音声を有していることを示す出力211を生成した場合、構音障害音声の話者に関する第1の代替音声認識器132を選択し得る。音声認識器セレクタ110は、音声識別器210が話者が発語失行を有してることを示す出力211を生成した場合、発語失行の話者に関する第2の代替音声認識器132を選択し得る。
【0040】
音声認識器セレクタ110が決定114を介して一般音声認識器124を選択する場合、一般音声認識器124は、オーディオサブシステム202から、またはオーディオサブシステム202から受信した音響特徴205を格納するストレージデバイスから音響特徴205を受信する。一般音声認識器124は、音響特徴205に対して音声認識を実行して、定型音声で話者によって話された発話に対するASR結果218を生成する。
【0041】
音声認識バイアス器222は、一般音声認識器124によって生成されたASR結果218を取得/受信して、ASR結果218を使用して代替音声認識器132をバイアスする。具体的には、音声認識バイアス器222は、ASR結果218において最も顕著な用語224を識別し、代替音声認識器132をそれらの用語224に向けてバイアスするように構成される。従って、バイアス器222によってASR結果217において識別された顕著な用語224は、代替音声認識器132をバイアスするためのバイアス用語224と呼ばれ得る。いくつかの実施形態では、音声認識バイアス器222は、ASR結果218において最も繰り返される非機能的な用語(non-functional terms)を識別することによって、顕著な用語を識別する。追加の実施形態では、音声認識バイアス器222は、ASR結果218に対して用語頻度-逆文書頻度(tf-idf:term frequency-inverse document frequency)分析を実行することによって、顕著な用語224を識別する。追加的または代替的に、音声認識バイアス器222は、進行中の会話中に一般音声認識器124によって生成される複数のASR結果218に含まれる相互情報(mutual information)を識別することによって、顕著な用語を識別することができる。
【0042】
いくつかの実施形態では、音声認識バイアス器222は、減衰関数(decay function)を使用して、代替音声認識器132をバイアスするための顕著な用語224を決定する。この場合、音声認識バイアス器222は、各用語224に重みを割り当て、ASRシステム200が以前に識別した用語を含んでいない追加の発話を受け取ると、その重みを減らす。例えば、音声認識バイアス器222が最初の発話で「雪」および「氷」という用語を識別し、次に、次の発話で「雨」という用語を識別した場合、音声認識バイアス器222は、代替音声認識器132を「雪」や「雨」よりも「雨」に対してより一層向けてバイアスし得る。
【0043】
いくつかの追加の実施形態では、音声認識バイアス器222は、バイアス、言語モデル適応(language model adaption)、および/またはビームサーチの任意の組み合わせを使用して、代替音声認識器132を調整する。音声認識バイアス器222はまた、代替音声認識器132が会話の話題性、ドメイン、および/または言語的文脈をより認識するように、フィードを使用して代替音声認識器132を更新することができる。音声認識バイアス器222は、代替音声認識器132によるビームサーチ復号中に、特定の単語またはフレーズをブーストするように構成され得る。音声認識バイアス器222は、代替音声認識器132による第1のパスまたは第2のパスに対して、言語モデルをオンザフライ(on the fly)で構築および/または適合させるように構成され得る。音声認識バイアス器222は、代替音声認識器132がリカレントニューラルネットワーク言語モデルエンコーダの隠れ状態にわたってアテンションするように代替音声認識器132を修正するように構成され得る。
【0044】
音声認識器セレクタ110が決定118を介して代替音声認識器132を選択する場合、代替音声認識器132は、オーディオサブシステム202から、またはオーディオサブシステム202から受信した音響特徴205を格納するストレージデバイスから音響特徴205を受信する。代替音声認識器132は、発話に対応する音響特徴205に対して音声認識を実行し、発話の転写230(例えば、転写146、
図1の146)をメモリハードウェアに格納する。ここで、音響特徴205に対して音声認識を実行する場合、代替音声認識器132は、定型音声で話者によって話された会話の以前の発話から一般音声認識器124によって生成されたASR結果(単数または複数)218から音声認識器バイアス器222によって識別されたバイアス用語224でバイアスされ得る。
【0045】
ユーザインタフェースジェネレータ232は、代替音声認識器132から転写(単数または複数)230を取得/受信して、代替音声認識器の転写230を含むユーザインタフェース150を生成する。ASRシステム200は、システム200と通信するディスプレイ上にユーザインタフェース150を出力する。例えば、ASRシステム200は、定型音声で話す
図1のユーザ102aに関連付けられたユーザデバイス106aのディスプレイ上にユーザインタフェース150を出力し得る。特に、第2の転写230は、第1のユーザ102aが第2のユーザ102bによって非定型音声で話された第2の発話134を理解することができるように、標準的なテキスト(canonical text)である。
【0046】
いくつかの実施形態では、ASRシステム200は、代替音声認識器132によって生成された転写230の合成音声236を生成する音声合成器234を含む。合成器234は、テキスト読み上げモジュール/システムを含み得る。ASRシステム200は、合成音声236をスピーカまたは他の音声出力デバイスを介して出力し得る。例えば、ASRシステム200は、定型音声で話す
図1のユーザ102aに関連付けられたユーザデバイス106aのスピーカを介して合成音声236を出力し得る。ここで、合成音声表現236は、非定型音声で話す第2のユーザ102bによって話された発話134、142を伝達する標準的な音声に対応する。
【0047】
ASRシステム200が一般音声認識器124を使用して音声認識を実行する場合、ASRシステム200は、代替音声認識器132での音声認識の実行を非アクティブ化するか、またはバイパスする。ASRシステム200が複数の代替音声認識器132のうちの1つを使用する場合、ASRシステム200は、一般音声認識器124および他の任意の代替音声認識器132での音声認識の実行を非アクティブ化するか、またはバイパスし得る。
【0048】
図4は、代替音声認識器132をバイアスする方法400の例示的な動作の構成のフローチャートである。代替音声認識器132は、非定型音声のユーザによって話された音声に対して自動音声認識(ASR)を実行するようにトレーニングされ得る。データ処理ハードウェア510(
図5)は、方法400の動作を実行するために、メモリハードウェア520(
図5)に格納された命令を実行し得る。データ処理ハードウェア510およびメモリハードウェア520は、ユーザ102に関連付けられたユーザデバイス106またはユーザデバイス106と通信するリモートコンピューティングデバイス(例えば、サーバ)上に存在し得る。方法400は、
図1および
図2を参照して説明することができる。
【0049】
動作402において、方法400は、定型音声で話す第1のユーザ102aによって話された第1の発話108の音響特徴205を受信することを含み、動作404において、方法400は、一般音声認識器124を使用して、第1の発話108の音響特徴を処理して、第1の発話108の第1の転写(即ち、ASR結果)218を生成することを含む。
【0050】
動作406において、方法400は、第1の発話108の第1の転写218を分析して、代替音声認識器132をバイアスするための第1の転写218における1つまたは複数のバイアス用語224を識別することを含む。動作408において、方法400は、第1の転写218で識別された1つまたは複数のバイアス用語224で代替音声認識器132をバイアスすることを含む。1つまたは複数のバイアス用語224の少なくとも一部は、第1の転写218で識別されたトピックまたはクラスに関連するバイアス用語に関連付けられ得る。例えば、一般音声認識器124によって生成された転写218が政治に関連する場合、方法400は、政治に関連する1つまたは複数のバイアス用語224のセットで代替音声認識器132をバイアスし得る。
【0051】
動作410において、方法400は、非定型音声で話す第2のユーザ102bによって話された第2の発話134の音響特徴205を受信することを含む。動作412において、方法400は、第1の転写224において識別された1つまたは複数のバイアス用語224でバイアスされた代替音声認識器132を使用して、第2の発話134の音響特徴205を処理して、第2の発話134の第2の転写230を生成することを含む。
【0052】
いくつかの例では、コンピューティングデバイス106は、そのような第1のユーザ104のグラフィカルユーザインタフェース150に第2の発話134の第2の転写146を表示する。特に、第2の転写230は、第1のユーザ102aが第2のユーザ102bによって非定型音声で話された第2の発話134を理解することができるように、標準的なテキストである。追加的または代替的に、方法400は、さらに合成器(例えば、テキスト読み上げモジュール)234を使用して、第2の転写230に対する合成音声表現236を生成して、コンピューティングデバイス106から合成音声表現236を可聴的に出力し得る。ここで、合成音声表現236は、非定型音声で話す第2のユーザ102bによって話された第2の発話134を伝達する標準的な音声に対応する。
【0053】
図5は、本明細書で説明されるシステム(例えば、音声認識器200)および方法(例えば、方法400)を実施するために使用され得る例示的なコンピューティングデバイス500の概略図である。コンピューティングデバイス500は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの様々な形態のデジタルコンピュータを代表することが意図されている。本明細書に示された構成要素、それらの接続および関係、およびそれらの機能は、例示的なものに過ぎず、本明細書に記載および/または特許請求の範囲に記載される本発明の実施形態を限定するものではない。
【0054】
コンピューティングデバイス500は、プロセッサ510(例えば、データ処理ハードウェア)、メモリ520(例えば、メモリハードウェア)、ストレージデバイス530、メモリ520および高速拡張ポート540に接続する高速インタフェース/コントローラ540、および低速バス570およびストレージデバイス530に接続する低速インタフェース/コントローラ560を含む。構成要素510、520、530、540、550、および560の各々は、様々なバスを使用して相互接続され、かつ共通のマザーボード上に、または適切な他の方法で搭載され得る。プロセッサ510は、メモリ520またはストレージデバイス530に格納された命令を含むコンピューティングデバイス500内での実行のための命令を処理して、高速インタフェース540に接続されたディスプレイ580などの外部入力/出力デバイス上にグラフィカルユーザインタフェース(GUI)用のグラフィカル情報を表示する。他の実施形態では、複数のメモリおよび複数のタイプのメモリと共に、複数のプロセッサおよび/または複数のバスが適宜使用されてもよい。また、複数のコンピューティングデバイス500が接続され、各デバイスが(例えば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)必要な処理の一部を提供してもよい。
【0055】
メモリ520は、コンピューティングデバイス500内に非一時的に情報を記憶する。メモリ520は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであってもよい。非一時的メモリ520は、コンピューティングデバイス500による使用のための一時的または永久的な基準でプログラム(例えば、命令のシーケンス)またはデータ(例えば、プログラム状態情報)を格納するために使用される物理的デバイスであってもよい。不揮発性メモリの例には、これらに限定されないが、フラッシュメモリおよび読み出し専用メモリ(ROM)/プログラム可能読み出し専用メモリ(PROM)/消去可能プログラム可能読み出し専用メモリ(EPROM)/電子消去可能プログラム可能読み出し専用メモリ(EEPROM)(例えば、通常、ブートプログラムなどのファームウェアに使用される)が含まれる。揮発性メモリの例には、これらに限定されないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、およびディスクまたはテープが含まれる。
【0056】
ストレージデバイス530は、コンピューティングデバイス500の大容量ストレージデバイスを提供することができる。いくつかの実施形態では、ストレージデバイス530は、コンピュータ可読媒体である。種々の異なる実施形態では、ストレージデバイス530は、フロッピーディスク(登録商標)デバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリまたは他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークまたはその他の構成におけるデバイスを含むデバイスのアレイであり得る。追加の実施形態では、コンピュータプログラム製品は、情報媒体に有形的に具体化される。コンピュータプログラム製品は、実行時に、上記したような1つまたは複数の方法を実行する命令を含む。情報媒体は、メモリ520、ストレージデバイス530、またはプロセッサ510上のメモリなどの、コンピュータ可読媒体または機械可読媒体である。
【0057】
高速コントローラ540は、コンピューティングデバイス500の帯域幅を大量に使用する処理を管理し、低速コントローラ560は、より低い帯域幅を大量に使用する処理を管理する。このような役割の配分は、例示的なものに過ぎない。いくつかの実施形態では、高速コントローラ540は、メモリ520、ディスプレイ580(例えば、グラフィックプロセッサまたはアクセラレータを介する)、および各種拡張カード(図示せず)を受け入れる高速拡張ポート550に接続される。いくつかの実施形態では、低速コントローラ560は、ストレージデバイス530および低速拡張ポート590に接続される。様々な通信ポート(例えば、USB、ブルートゥース(登録商標)、イーサネット(登録商標)、無線イーサネット(登録商標))を含む低速拡張ポート590は、キーボード、ポインティングデバイス、スキャナ、または例えばネットワークアダプターを介するスイッチまたはルータなどのネットワークデバイスなどの1つまたは複数の入力/出力デバイスに接続され得る。
【0058】
コンピューティングデバイス500は、図面に示されるように、いくつかの異なる形態で実施することができる。例えば、標準サーバ500aとして、またはそのようなサーバ500aのグループ内で複数回、ラップトップコンピュータ500bとして、またはラックサーバシステム500cの一部として実施することができる。
【0059】
本明細書に記載のシステムおよび技術の様々な実施形態は、デジタル電子回路および/または光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせにおいて実現することができる。これらの様々な実施形態は、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、それらにデータおよび命令を送信するように接続された、特別または一般的な目的であってもよい、少なくとも1つのプログラム可能なプロセッサを含むプログラム可能なシステム上で実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムにおける実施形態を含むことができる。
【0060】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られている)は、プログラマブルプロセッサ用の機械命令を含み、高水準の手続き型言語および/またはオブジェクト指向のプログラミング言語、および/またはアセンブリ言語/機械語で実施することができる。本明細書で使用する場合、「機械可読媒体」および「コンピュータ可読媒体」という用語は、任意のコンピュータプログラム製品、非一時的なコンピュータ可読媒体、機械命令を機械可読信号として受け取る機械可読媒体を含む、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される装置および/またはデバイス(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【0061】
本明細書で説明するプロセスおよび論理フローは、入力データを処理して出力を生成することによって機能を実行する1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実行することができる。プロセスおよび論理フローは、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの特定用途論理回路によっても実行することができる。コンピュータプログラムの実行に適したプロセッサは、一例として、汎用マイクロプロセッサおよび専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、読み出し専用メモリまたはランダムアクセスメモリ、あるいはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実行するプロセッサと、命令およびデータを格納するための1つまたは複数のメモリデバイスとである。一般に、コンピュータは、データを格納するための1つまたは複数の大容量ストレージデバイス(例えば、磁気ディスク、光磁気ディスク、または光ディスク)からのデータを受信するか、またはデータを転送するか、あるいはその両方を行うように動作可能に結合される。しかしながら、コンピュータはそのようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを格納するのに適したコンピュータ可読媒体には、半導体メモリデバイス(例えば、EPROM、EEPROM、およびフラッシュメモリデバイス)、磁気ディスク(例えば、内蔵ハードディスクまたはリムーバブルディスク)、光磁気ディスク、およびCDROMおよびDVD-ROMディスクを含む全ての形態の不揮発性メモリ、媒体およびメモリデバイスが含まれる。プロセッサおよびメモリは、特定用途論理回路によって補完または特定用途論理回路に組み込むことができる。
【0062】
ユーザとのインタラクションを提供するために、本開示の1つまたは複数の態様は、例えば、CRT(陰極線管)、LDC(液晶ディスプレイ)モニタ、またはタッチスクリーンなどのユーザに情報を表示するためのディスプレイデバイスと、任意選択でユーザがコンピュータに入力を提供するキーボードおよびポインティングデバイス(例えば、マウスやトラックボール)とを有するコンピュータ上で実施することができる。他の種類の装置を使用して、例えば、任意の形態の感覚フィードバック(例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であり得るユーザに提供されるフィードバックとともにユーザとのインタラクションを提供することもでき、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態で受信することができる。さらに、コンピュータは、ユーザによって使用されるデバイスとの間でドキュメントを送受信することによって(例えば、ウェブブラウザから受信した要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって)、ユーザとインタラクションすることができる。
【0063】
いくつかの実施形態が説明されている。それにもかかわらず、本開示の技術思想および範囲から逸脱することなく、様々な変更がなされ得ることが理解されるであろう。従って、他の実施形態も以下の特許請求の範囲内にある。