(57)【特許請求の範囲】
【請求項１】
発声を備えるオーディオデータを受信するステップと、
1つまたは複数の期待される発話認識結果を示すコンテキストデータを取得するステップと、
前記コンテキストデータに基づいて、前記オーディオデータについての期待される発話認識結果を決定するステップと、
発話認識エンジンによって生成された中間発話認識結果を受信するステップと、
前記コンテキストデータに基づいて、前記中間発話認識結果を前記オーディオデータについての前記期待される発話認識結果と比較するステップと、
前記コンテキストデータに基づいて、前記中間発話認識結果が前記オーディオデータについての前記期待される発話認識結果に対応するか否かを判定するステップと、
前記コンテキストデータに基づいて、前記中間発話認識結果が前記オーディオデータについての前記期待される発話認識結果に対する部分的一致を含むかまたは一致を含まないかの判定に応じて、追加のオーディオデータを受信するために発話認識の終了のための時間期間のしきい時間を延長するステップであって、前記追加のオーディオデータは少なくとも前記発声の休止を含む、ステップと、
前記オーディオデータおよび前記追加のオーディオデータの最終発話認識結果が前記コンテキストデータによって示される前記1つまたは複数の期待される発話認識結果に一致しているとの判定に応じて、前記発話認識を終了し、かつ前記最終発話認識結果を提供するステップと
を備える、コンピュータ実施方法。
【請求項２】
前記時間期間が前記しきい時間を満足するのに応じて、前記発話認識を終了するステップをさらに備える、請求項1に記載のコンピュータ実施方法。
【請求項３】
前記コンテキストデータに基づいて、前記中間発話認識結果が前記オーディオデータについての前記期待される発話認識結果に対する部分的一致を含むとの判定に応じて、前記発話認識の終了のための前記しきい時間が第1の時間長さであると判定され、前記コンテキストデータに基づいて、前記中間発話認識結果が前記オーディオデータについての前記期待される発話認識結果に対する一致を含まないとの判定に応じて、前記しきい時間が第2の時間長さであると判定され、前記第1の時間長さは前記第2の時間長さとは異なる、請求項1または2に記載のコンピュータ実施方法。
【請求項４】
コンテキストデータを取得するステップは、前記発声を備える前記オーディオデータを受信する前に、コンテキストデータを取得し、かつメモリに記憶するステップを備える、請求項1から3のいずれか一項に記載のコンピュータ実施方法。
【請求項５】
コンテキストデータを取得するステップは、前記発声を備える前記オーディオデータを受信するステップと同時にコンテキストデータを取得するステップを備える、請求項1から3のいずれか一項に記載のコンピュータ実施方法。
【請求項６】
前記コンテキストデータは、クライアントデバイスから取得され、かつ前記クライアントデバイスに記憶または表示されるデータに対応する、請求項1から5のいずれか一項に記載のコンピュータ実施方法。
【請求項７】
前記発話認識の終了は、前記発声がなされたオーディオ入力デバイスをオフするステップを備える、請求項1から6のいずれか一項に記載のコンピュータ実施方法。
【請求項８】
1つまたは複数のコンピュータと、
前記1つまたは複数のコンピュータによって実行された場合、前記1つまたは複数のコンピュータに対して、
発声を備えるオーディオデータを受信するステップと、
1つまたは複数の期待される発話認識結果を示すコンテキストデータを取得するステップと、
前記コンテキストデータに基づいて、前記オーディオデータについての期待される発話認識結果を決定するステップと、
発話認識エンジンによって生成された中間発話認識結果を受信するステップと、
前記コンテキストデータに基づいて、前記中間発話認識結果を前記オーディオデータについての前記期待される発話認識結果と比較するステップと、
前記コンテキストデータに基づいて、前記中間発話認識結果が前記オーディオデータについての前記期待される発話認識結果に対応するか否かを判定するステップと、
前記コンテキストデータに基づいて、前記中間発話認識結果が前記オーディオデータについての前記期待される発話認識結果に対する部分的一致を含むかまたは一致を含まないかの判定に応じて、追加のオーディオデータを受信するために発話認識の終了のための時間期間のしきい時間を延長するステップであって、前記追加のオーディオデータは少なくとも前記発声の休止を含む、ステップと、
前記オーディオデータおよび前記追加のオーディオデータの最終発話認識結果が前記コンテキストデータによって示される前記1つまたは複数の期待される発話認識結果に一致しているとの判定に応じて、前記発話認識を終了し、かつ前記最終発話認識結果を提供するステップと
を備える動作を実行させるように動作可能な命令を記憶する1つまたは複数の記憶デバイスと
を備える、システム。
【請求項９】
前記動作はさらに、前記時間期間が前記しきい時間を満足するのに応じて、前記発話認識を終了するステップを備える、請求項8に記載のシステム。
【請求項１０】
前記コンテキストデータに基づいて、前記中間発話認識結果が前記オーディオデータについての前記期待される発話認識結果に対する部分的一致を含むとの判定に応じて、前記発話認識の終了のための前記しきい時間が第1の時間長さであると判定され、前記コンテキストデータに基づいて、前記中間発話認識結果が前記オーディオデータについての前記期待される発話認識結果に対する一致を含んでいないとの判定に応じて、前記しきい時間が第2の時間長さであると判定され、前記第1の時間長さは前記第2の時間長さとは異なる、請求項8または9に記載のシステム。
【請求項１１】
コンテキストデータを取得するステップは、前記発声を備える前記オーディオデータを受信する前に、コンテキストデータを取得し、かつメモリに記憶するステップを備える、請求項8から10のいずれか一項に記載のシステム。
【請求項１２】
コンテキストデータを取得するステップは、前記発声を備える前記オーディオデータを受信するステップと同時にコンテキストデータを取得するステップを備える、請求項8から10のいずれか一項に記載のシステム。
【請求項１３】
前記コンテキストデータは、クライアントデバイスから取得され、かつ前記クライアントデバイスに記憶または表示されるデータに対応する、請求項8から12のいずれか一項に記載のシステム。
【請求項１４】
前記発話認識の終了は、前記発声がなされたオーディオ入力デバイスをオフするステップを備える、請求項8から13のいずれか一項に記載のシステム。
【請求項１５】
発声を備えるオーディオデータを受信するステップと、
1つまたは複数の期待される発話認識結果を示すコンテキストデータを取得するステップと、
前記コンテキストデータに基づいて、前記オーディオデータについての期待される発話認識結果を決定するステップと、
発話認識エンジンによって生成された中間発話認識結果を受信するステップと、
前記コンテキストデータに基づいて、前記中間発話認識結果を前記オーディオデータについての前記期待される発話認識結果と比較するステップと、
前記コンテキストデータに基づいて、前記中間発話認識結果が前記オーディオデータについての前記期待される発話認識結果に対応するか否かを判定するステップと、
前記コンテキストデータに基づいて、前記中間発話認識結果が前記オーディオデータについての前記期待される発話認識結果に対する部分的一致を含むかまたは一致を含まないかの判定に応じて、追加のオーディオデータを受信するために発話認識の終了のための時間期間のしきい時間を延長するステップであって、前記追加のオーディオデータは少なくとも前記発声の休止を含む、ステップと、
前記オーディオデータおよび前記追加のオーディオデータの最終発話認識結果が前記コンテキストデータによって示される前記1つまたは複数の期待される発話認識結果に一致しているとの判定に応じて、前記発話認識を終了し、かつ前記最終発話認識結果を提供するステップと
を備える動作を実行時に1つまたは複数のコンピュータに実行させる前記1つまたは複数のコンピュータによって実行可能な命令を備えるソフトウェアを記憶した、コンピュータ読取可能な記憶デバイス。
【請求項１６】
前記動作はさらに、前記時間期間が前記しきい時間を満足するのに応じて前記発話認識を終了するステップを備える、請求項15に記載のコンピュータ読取可能な記憶デバイス。
【請求項１７】
前記コンテキストデータに基づいて、前記中間発話認識結果が前記オーディオデータについての前記期待される発話認識結果に対する部分的一致を含むとの判定に応じて、前記発話認識の終了のための前記しきい時間が第1の時間長さであると判定され、前記コンテキストデータに基づいて、前記中間発話認識結果が前記オーディオデータについての前記期待される発話認識結果に対する一致を含んでいないとの判定に応じて、前記しきい時間が第2の時間長さであると判定され、前記第1の時間長さは前記第2の時間長さとは異なる、請求項15または16に記載のコンピュータ読取可能な記憶デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、一般に発話認識に関する。
【背景技術】
【０００２】
自然言語処理システムは、典型的には、ユーザが発声を開始し、終了したときを判定するために、エンドポインタを使用する。いくつかの従来のエンドポインタは、発声が始まったとき、または終了したときを判定する際に、単語同士の間の休止の持続時間を評価する。たとえば、ユーザが「夕飯は<長い休止>何」と言うと、従来のエンドポインタは、長い休止のときに、音声入力をセグメント化し得、自然言語処理システムに対して、「夕飯は何」という完全なフレーズの代わりに、不完全なフレーズである「何」の処理を試みるように指示し得る。エンドポインタが音声入力について不正確な開始ポイントまたはエンドポイントを指定すると、自然言語処理システムを使用して音声入力を処理した結果は、不正確または望ましくないものであり得る。
【発明の概要】
【課題を解決するための手段】
【０００３】
この明細書において説明される主題の革新的な態様は、発話エンドポイント指定を向上するために、提供されたコンテキストデータを使用し、減少された発話認識レイテンシと、向上された発話認識精度を達成することである。クライアントが提供したコンテキストデータは、発声を表現する特定のオーディオデータの、期待される発話認識結果を判定するために使用され得る。中間発話認識結果が、発話認識器によって返され得る。中間発話認識結果が返されると、中間発話認識結果は、期待される発話認識結果を示すコンテキストデータと比較され得る。
【０００４】
中間発話認識結果とコンテキストデータとの間で一致、または十分な類似性が判定されると、発話エンドポインタは、オーディオデータに対応する発声をエンドポイント指定し得、最終発話認識結果を返し得る。中間発話認識結果とコンテキストデータとの間の一致が判定されないか、または、中間発話認識結果とコンテキストデータとの間の部分的な一致が判定された場合、発話エンドポインタは、たとえば、追加のオーディオデータが入力されることを可能にするために、発話終了(EOS)タイムアウトを動的に判定し得る。
【０００５】
この明細書において説明される主題の1つの革新的な態様は、発声を含むオーディオデータを受信し、1つまたは複数の期待される発話認識結果を示すコンテキストデータを取得し、コンテキストデータに基づいて、オーディオデータについての期待される発話認識結果を判定するアクションを含み得る方法において具体化される。この方法は、発話認識エンジンによって生成された中間発話認識結果を受信し、コンテキストデータに基づいて、中間発話認識結果を、オーディオデータについての期待される発話認識結果と比較し、コンテキストデータに基づいて、中間発話認識結果が、オーディオデータについての期待される発話認識結果に対応するか否かを判定するアクションを含み得る。この方法は、コンテキストデータに基づく、中間発話認識結果が、オーディオデータについての期待される発話認識結果に一致しているか、または、十分に類似しているかの判定に応じて、発話状態の終了を設定し、最終発話認識結果を提供するアクションを含み得、最終発話認識結果は、コンテキストデータによって示される1つまたは複数の期待される発話認識結果を含む。
【０００６】
一般に、この明細書において説明される主題の別の態様は、コンテキストデータに基づく、中間発話認識結果が、オーディオデータについての期待される発話認識結果に対する部分的一致を含むか、一致を含まないかの判定に応じて、追加のオーディオデータを受信するために、発話状態の終了のための時間期間を判定するアクションを含む方法において具体化され得る。この明細書において説明される主題の別の態様は、時間期間がしきい時間を満足するのに応じて、発話状態の終了を設定するアクションを含む方法において具体化され得る。
【０００７】
この明細書において説明される主題の別の態様は、コンテキストデータに基づく、中間発話認識結果が、オーディオデータについての期待される発話認識結果に対する部分的一致を含むか、または一致を含まないかの判定に応じて、追加のオーディオデータを受信するために、発話状態の終了のための時間期間を判定するアクションを含む方法において具体化され得、コンテキストデータに基づく、中間発話認識結果が、オーディオデータについての期待される発話認識結果に対する部分的一致を含むとの判定に応じて、発話状態の終了のための時間期間が、第1の時間長さであると判定され、コンテキストデータに基づく、中間発話認識結果が、オーディオデータについての期待される発話認識結果に対する一致を含んでいないとの判定に応じて、時間期間が、第2の時間長さであると判定され、第1の時間長さは、第2の時間長さとは異なる。
【０００８】
これらおよび他の実施形態は各々、オプションとして、以下の特徴のうちの1つまたは複数を含み得る。たとえば、コンテキストデータを取得するステップは、発声を備えるオーディオデータを受信する前に、コンテキストデータを取得し、メモリに記憶するステップを含み得る。さらに、コンテキストデータを取得するステップは、発声を備えるオーディオデータを受信することと同時にコンテキストデータを取得するステップを含み得る。さらに、コンテキストデータは、クライアントデバイスから取得され得、クライアントデバイスに記憶または表示されるデータに対応し得る。それに加えて、発話状態の終了は、発声がなされたオーディオ入力デバイスをオフするステップを含み得る。
【０００９】
これらの態様の他の実施形態は、コンピュータ記憶デバイスにおいてエンコードされた方法のアクションを実行するように構成された対応するシステム、装置、およびコンピュータプログラムを含む。たとえば、1つまたは複数のコンピュータと、1つまたは複数のコンピュータによって実行された場合、1つまたは複数のコンピュータに対して、方法のアクションを備える動作を実行させるように動作可能な命令を記憶する1つまたは複数の記憶デバイスとを備えるシステムである。本明細書において説明される方法、システム、装置、およびコンピュータプログラムは、上記参照されたように、より高い精度の発話認識という結果をもたらし得る。言い換えれば、方法を実施するシステムまたは装置は、以前のシステムよりも、より少ない発話認識誤りで、より信頼性の高い発話認識結果を生成し得る。この発話認識結果の高い信頼性は、副次的効果を有し得る。たとえば、発声が特定のシステムのためのパスフレーズまたは他の任意のタイプのアクセスフレーズに対応するか否かを識別するために、発話認識結果が使用されるのであれば、発話認識の高い信頼性は、方法を実施するシステムまたは装置が、以前のシステムよりもより安全であることを意味し得る。方法を実施するシステムまたは装置は、パスフレーズに対する発声を正しく識別し、したがって、発声がパスフレーズに一致するユーザに対して、システムへアクセスすることを確実に許可する可能性がより高い一方、発声がパスフレーズに一致しないユーザを確実に許可しない。方法を実施するシステムおよび装置はまた、パスフレーズの認識以外のコンテキストにおいて高められたセキュリティをも生成し得ることが認識されるだろう。発話認識の高い信頼性と、より低い発声認識誤りとの別の効果は、誤り訂正のより少ないインスタンスしか要求されないことである。誤り訂正は、追加の時間と、追加のコンピューティングリソースとの両方を必要とし得る。誤り訂正のための必要性を低減することによって、システムは、誤りを訂正するのにより短い時間しか費やさないという事実によって、その全体の動作速度の観点から改善され得る。さらに、より少ない誤り訂正によって節約されるコンピューティングリソースは、システム内の他のタスクへ割り当てられ得、システムの動作の速度をさらに高める。発話認識の高い信頼性の別の効果は、向上されたマシン制御であり得る。たとえば、車両のようなマシン(または他のシステムもしくは装置)が、発話入力を使用して制御されているのであれば、発話認識の高い信頼性は、向上されたマシンの動作という結果となり得る。車両のコンテキストでは、そのような向上された動作の1つの効果は、向上された安全性、および/または、向上された効率であり得る。特に、本明細書において説明された方法を実施するコンピューティング装置を備える車両は、車両を制御するための発話発声を正しく認識する可能性がより高くなり得、したがって、車両の指示のユーザに従う可能性がより高い。
【００１０】
本発明の1つまたは複数の実施形態の詳細が、添付図面および以下の説明に記述されている。本発明の他の特徴および利点が、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に従う例示的なシステムの図解である。
【図２】本発明の実施形態に従う発話認識およびエンドポイント指定において使用される例示的な発声および例示的な信号を例示する図解である。
【図３】本発明の実施形態に従うエンドポイント指定のための例示的な処理を例示するフローチャートである。
【発明を実施するための形態】
【００１２】
様々な図面において、同様の参照番号および指定は、同様の要素を示す。
【００１３】
図1は、本発明の実施形態に従う例示的なシステムの図解である。システム100は、発話エンドポインタ110、記憶媒体120、および発話認識器130を含む。この図解は、特定のシーケンスにおいて例示されることもされないこともあり得る様々な入力および出力を図示する。
【００１４】
一般に、発話認識システムにおいて、発話エンドポイント指定は、発声の開始および終了を判定することによって、到来するオーディオのどの部分が、発話を含んでいるのかを判定する処理である。発話に対応する到来するオーディオの部分は、オーディオの発話認識結果または転写を取得するために発話認識器へ送られる。
【００１５】
不正確な発話エンドポイント指定は、認識誤りの著しい増加へと至り得、ユーザ経験に悪影響を及ぼし得る。不正確な発話エンドポイント指定の効果は、雑音の多い状態においてよりさらに弊害をもたらし得、エンドポイント指定の問題は、さらにより困難となる。発話認識のユーザが感知するレイテンシは、ユーザが話を止めたときから、発話認識結果または転写が受信されるまでの時間である。不正確な発話エンドポイント指定は、発話認識のユーザが感知したレイテンシの増加へと至り得る。したがって、本開示の利点は、発話認識レイテンシを向上させるステップと、発話認識精度を向上させるステップとを含む。
【００１６】
発話エンドポイント指定を向上するために、本明細書において説明されるものは、発話認識要求の前、後、またはそのときにクライアントデバイスによって提供され得、したがって、発話認識精度を向上させ、発話認識レイテンシを減少させる、コンテキストを利用するための様々な方式である。
【００１７】
発話認識中、認識システムが発話オーディオデータを受信すると、発話エンドポイント指定モジュールおよびクライアントが利用可能になるや否や、中間発話認識結果が、発話エンドポイント指定モジュールおよびクライアントへ送り戻され得る。発話エンドポイント指定の際、ユーザが感知するレイテンシは、発話終了(EOS)タイムアウトと高い相関がある。これは、ユーザが発話するのを止めたと思われた後から、ユーザが発話を続けるのをシステムが待つ時間を表す。ユーザが発話を終えたか、または、短い休止をとっているだけなのかに関して不確実性があるので、システムは待つ。あらかじめ決定されたEOSタイムアウト後に、ユーザが発話を続けない、すなわち、さらなる発話が検出されないのであれば、最終認識結果が返され得、たとえば、マイクロホンが閉じられ得るか、または、オフされ得、現在の認識セッションが終了され得る。EOSタイムアウトが終了する前に、ユーザが発話し続ければ、システムは、オーディオを消費し、そのオーディオに対して発話認識を実行することを続け得る。したがって、EOSタイムアウトの選択は、発話認識結果の精度とレイテンシとの両方に著しく影響を与え得る。
【００１８】
EOSタイムアウトを動的に調節するために、本明細書において説明されるように、クライアントによって提供されたコンテキストが使用され得る。この結果、低減された発話認識レイテンシ、および、向上された発話認識結果の精度となる。
【００１９】
図1を参照して示すように、発声に対応するオーディオデータが、クライアントデバイスから受信され得、発話エンドポインタ110へ入力され得る。同時に、すなわち、オーディオデータの受信前、受信中、および/または、受信後に、コンテキストデータがクライアントデバイスから受信され得、発話エンドポインタ110へ入力され得る。代替実施形態では、コンテキストデータは、オーディオデータを受信する前に受信され得、あらかじめ決定されたクライアントコンテキストIDに関連付けられ得る。受信されたコンテキストデータおよび関連付けられたクライアントコンテキストIDが、記憶されたクライアントコンテキストとして記憶媒体120に記憶され得る。したがって、コンテキストデータおよびコンテキストIDは、オーディオデータが受信される前に、互いに関連付けられて記憶され得、コンテキストIDは、オーディオデータを受信するのと同時に受信され得る。受信されたコンテキストIDに関連付けられたコンテキストデータが、記憶媒体120から取得され得る。
【００２０】
受信されたオーディオデータは、発話認識器130へ入力され得る。発話認識器130は、オーディオデータを処理し、そして、処理しているとき、オーディオデータについての中間発話認識結果を返し得る。発話エンドポイント指定モジュールは、発話認識器130から返されたオーディオデータの中間発話認識結果を、オーディオデータの受信と同時に受信されたコンテキストIDに基づいて、オーディオデータを受信することと同時に受信された、または、記憶媒体120から取得されたかのいずれかであるコンテキストデータと比較し得る。オーディオデータが発話認識器130へ入力されると、発話認識器は、オーディオデータを処理し、オーディオデータの認識結果を返すことを続ける。
【００２１】
中間発話認識結果とコンテキストデータとの間に一致または十分な類似性が判定されると、発話エンドポインタ110は、オーディオデータに対応する発声をエンドポイント指定し、最終発話認識結果を返し得る。返された発話認識結果は、クライアントデバイスへ送信され得る。最終発話認識結果は、コンテキストデータを含み得る。たとえば、コンテキストデータは、1つまたは複数の名前を含み得、最終認識結果は、コンテキストデータに含まれる名前のうちの1つまたは複数を含み得る。
【００２２】
中間発話認識結果とコンテキストデータとの間で一致が判定されなかった、または、中間発話認識結果とコンテキストデータとの間で部分的な一致が判定されたのであれば、発話エンドポインタ110が、EOSタイムアウトを動的に調節し得る。たとえば、EOSタイムアウトは、期待される発話認識結果と関連したあらかじめ決定された時間長さだけ延長され得る。EOSタイムアウトは、中間発話認識結果とコンテキストデータとの間の部分的な一致の判定に応じて、あらかじめ決定された時間長さだけ延長され得る。さらに、EOSタイムアウトは、中間発話認識結果とコンテキストデータとの間の一致がないとの判定に応じて、あらかじめ決定された時間長さだけ延長され得る。あるいは、中間発話認識結果とコンテキストデータとの間に一致がないとの判定に応じて、EOSタイムアウトは、デフォルト期間へ戻り得る。
【００２３】
コンテキストデータは、ユーザへ提示されたクエリに関連付けられ得る。あるいは、コンテキストデータは、テキスト、画像、ビデオ、オーディオ等のように、スクリーン上に表示された情報から導出され得る。あるいは、コンテキストデータは、クライアントデバイスの現在の動作状況または状態に基づき得る。たとえば、コンテキストデータは、クライアントデバイス上で実行されているアプリケーションの所与の動作状況または状態に関連付けられ得る。たとえば、アプリケーションは、選択がなされるべき、または、特定の情報が入力されるべき状況にあり得る。したがって、コンテキストデータは、クライアントデバイスの現在の状況に関連付けられた期待される発声に基づくことを含む様々な方式にて導出または生成され得る。
【００２４】
たとえば、オプションが表示され得る。ユーザは、これらオプションのうちの1つを選択する。表示されたオプションは、コンテキストデータとして受信され得る。発声が受信され、発話認識器が、発声に関連付けられたオーディオデータの処理を開始した場合、発話認識器が、コンテキストデータとして入力されたこれら表示されたオプションのうちの1つについて一致、たとえば、十分な類似性を判定するや否や、発話状態の終了が、直ちに開始され、発話認識結果が返され得る。したがって、フルEOSタイムアウトが、エンドポイント指定のための期限切れになることを待つのではなく、コンテキストデータに基づいて、発声に関する一致が判定されると、発話認識結果を返すことによって、発話認識のレイテンシが低減され得る。
【００２５】
それに加えて、エンドポイント指定は、クエリに対して期待される発声または応答に基づき得る。たとえば、メッセージが送信されるべき受信者の入力に関連付けられたコンテキストデータとしてコンタクトのリストを用いて、エンドポインタは、1つよりも多くのコンタクト名の入力を可能にし得る。したがってたとえば、エンドポインタは、第1の名前とコンテキストデータとの一致の判定、および発話認識器による、入力された第1の名前の返却に応じて、入力された第1の名前のみからなる発話認識結果を返さず、オーディオデータの入力を停止しないであろう。たとえば、「あなたはこのメッセージを誰に送りたいのか?」というようなクエリがユーザへ提示され得、ユーザは、「ジョン、ビル、およびジョー」と応答し得る。「ジョン」がコンテキストデータとしてコンタクトリストの一部であるケースでは、システムは、ジョンの入力発声が、コンテキストデータに一致すると判定した後、処理(すなわち、発声のエンドポイント指定)を終了せず、むしろ、「ジョン、ビル、およびジョー」の完全発声の処理を可能にするであろう。そのようなケースでは、期待される入力は、1つよりも多くの名前を含み得、期待される入力に基づいて、システムは、1つよりも多くの名前の発声を可能にするために、EOSタイムアウトを延長し得る。それでもやはり、発話認識レイテンシは、発話認識器から返された中間発話認識結果のコンテキストデータへの一致のより高速な判定に基づいて、依然として減少され得る。
【００２６】
発声について、コンテキストデータへの部分的な一致が判定されると、EOSタイムアウトは、追加のオーディオデータが入力されることを可能にするために、延長され得る。たとえば、コンテキストデータに基づいて、誕生年が入力されると期待され、ユーザは、「19」と言い、その後休止が続く。このケースでは、発話認識器は、「19」である認識結果を返し得、システムは、それがコンテキストデータへの部分的な一致であると判定し得る。その判定に応じて、ユーザが、誕生年の残りの部分を発話するために、EOSタイムアウトが延長され得る。しかしながら、ユーザが、何ら追加の入力をも話さないのであれば、エンドポインタは、あらかじめ決定されたデフォルトのEOSタイムアウトに基づいて、発話状態の終了を開始し得る。
【００２７】
特定の例は、たとえば「赤、緑、または青と言って下さい」のようなプロンプトとしてスクリーン上に表示された3色のうちの1つを選択するようにユーザへ要求し得る、特定の状況にあるアプリケーションであるクライアントである。ユーザが、このプロンプトへ応答するために発話し始めると、アプリケーションは、このケースでは「赤」、「緑」、「青」というフレーズであり得るアプリケーションまたはクライアントコンテキストデータを、オーディオデータとともに送信し得る。上記で説明したように、これらフレーズは、発話認識結果のレイテンシを減少させるために、発話エンドポイント指定システムによって使用され得る。たとえば発話エンドポインタ110のような発話エンドポイント指定モジュールは、このコンテキストデータを受信し保存し得る。中間、すなわち、最終ではない認識結果が、発話認識器130から受信され始めると、中間発話認識結果が、提供されたコンテキストデータと比較され得る。発話認識器130によって返された認識結果が、クライアントが提供したコンテキストデータに存在するフレーズに一致すると判定されると、発話エンドポインタ110は、EOSタイムアウトが終了するのをそれ以上待つ必要はない。その代わりに、最終認識結果が返され、クライアントへ送信され得、時間を節約し、発話認識レイテンシを減少させる。
【００２８】
別の特定の例は、飛行スケジューリングが実行されるべき特定の状況または機能にあるアプリケーションである。ユーザは、「[出発地_空港]から[目的地_空港]へ」というフレーズのような特定のクエリフレーズを言うように促され得る。たとえば、発話エンドポインタ110のような発話エンドポイント指定モジュールにおいて、すべての空港のリストが、コンテキストデータとして受信され得る。あるいは、すべての空港のリストを含むコンテキストデータが、コンテキストIDに関連付けられて記憶媒体120に記憶され得、コンテキストIDが受信され得、そのコンテキストIDに関連付けられたコンテキストデータが、記憶媒体120から取得され得る。
【００２９】
たとえば「JFKから」とユーザが発言し、その後、目的地の空港名を考えることを試みている間の休止に応じて、なされた休止が、デフォルトのEOSタイムアウトよりも長いのであれば、発話認識システムは、認識セッションを停止させ得る。これは、単に、生成されている部分的な認識結果にしかならず、所望されないユーザ経験となるであろう。なぜなら、ユーザは、適切な出力を取得するために、全フレーズを繰り返す必要があるからである。しかしながら、クライアントが提供した情報をコンテキストデータとして使用することによって、オーディオは、「[出発地_空港]から[目的地_空港]へ」というフレーズに一致することが期待され、期待されるフレーズに対する部分的な一致だけが受信されたならば、EOSタイムアウトが延長され得る。したがって、上記説明されたシナリオでは、たとえば発話エンドポインタ110のような発話エンドポインタモジュールが、中間結果の例として「JFKから」のみを受信することに応じて、システムは、デフォルトのEOSタイムアウトが終了したときから、期待されるフレーズをユーザが話し終えるのを、延長された時間長さだけ待つ。したがって、このフレーズをユーザが発話するために、時間を延長する。「[出発地_空港]から[目的地_空港]へ」という期待されるフレーズの形式である結果が受信された場合、発話エンドポインタ110は、認識セッションを停止させるであろう。あるいは、「私は、[出発地_空港]から出発し、[目的地_空港]へ行きたい」のような情報を伝えるためにユーザが発声する可能性がある様々なフレーズに適応するために、より複雑な文法が使用され得る。
【００３０】
いくつかの実施では、コンテキストデータが記憶媒体120に記憶される。これは、コンテキストが変化する可能性が高くないシナリオのために特に役立つ。空港に関して上記で説明された例は、コンテキストデータとして空港のリストが前もって受信され得るような一例であるシナリオである。なぜなら、そのリストはあまり頻繁に変化することはないであろうからである。別の例として、たとえば、ユーザが、誕生日または年を話す必要があるフォームを埋めるシナリオにおいても、コンテキストデータは、前もって受信され記憶され得る。
【００３１】
一般に、図2に描写されるように、図解200は、コンピューティングデバイス210が、到来するオーディオ入力202を処理している場合、コンピューティングデバイス210によって生成または検出され得る信号202〜206を例示する。コンピューティングデバイス210は、コンピューティングデバイス210のマイクロホンまたは他のオーディオ入力デバイスを介してオーディオ入力202を受信し得る。コンピューティングデバイス210は、オーディオ入力202を受信し、あらかじめ指定された周波数および分解能でオーディオ入力202をサンプリングし得る。たとえば、コンピューティングデバイス210は、8kHz、16kHz、44.1kHz、または他の任意のサンプルレートでオーディオ入力202をサンプリングし得、分解能は、16ビット、22ビット、または任意の他の分解能であり得る。オーディオ入力202は、ユーザ214からの例示的な発声212に基づく、サンプリングされたアナログデータを例示する。コンピューティングデバイス210は、発声212に対応するオーディオ入力202を記録し記憶し得る。
【００３２】
コンピューティングデバイス210は、ユーザ214によって話された発声212を転写し得る。あるいは、発声212の転写は、遠隔サーバ上で生成され得る。いくつかの実施では、コンピューティングデバイス210は、自動発話認識(ASR)ソフトウェアを起動しているコンピューティングデバイス210のプロセッサを使用して、発声212の単語を転写する。たとえば、コンピューティングデバイス210は、オーディオ入力202の最初の部分が「から」という文言220を含んでいるということを、コンピューティングデバイス210においてローカルに判定し得る。コンピューティングデバイス210がユーザから発声212を受信すると、ASRソフトウェアは、オーディオ入力202を受信し得る。ASRソフトウェアがオーディオ入力202における文言を認識すると、その後、ASRソフトウェアは、その文言を、出力のために、コンピューティングデバイス210へ提供する。コンピューティングデバイス210は、ASRソフトウェアが認識する文言をASRソフトウェアが返す間の時間長さを記録し得る。
【００３３】
いくつかの実施では、ネットワークを介してアクセス可能なサーバは、ASRソフトウェアを起動中であり得る。このケースにおいて、コンピューティングデバイスは、オーディオ入力202を、ネットワークを介してサーバへ送信し得、サーバから文言を受信し得、サーバが文言を返す間の時間長さを記録し得る。それに加えて、たとえば、発話エンドポインタ110のような発話エンドポイント指定モジュールはまた、ネットワークを介してアクセス可能なサーバ上にあり得る。
【００３４】
図2に例示されるように、フライト検索のためのプロンプトに応じて、たとえば、ユーザが「JFKから」という発声を話し得、その後、「JFKへ」というフレーズを終了する前に、休止が続く。そのケースでは、デフォルトまたは一般的なエンドポイント204は、「から」という文言220と、「JFK」という文言222とだけをキャプチャし得る。発声212におけるフレーズ間の休止中に、デフォルトのEOSタイムアウトが発生し、結果として、発話状態の終了が開始され得る。したがって、「から」という文言220と、「JFK」という文言222のみが、プロンプトに応じて生成された発声212のために転写され得、「JFKから」という最終認識結果230を生成する。しかしながら、本開示の実施態様に従って、コンテキストデータに基づいて、出発地空港と目的地空港とを有するクエリが、発声212として入力されていると判定され得、EOSタイムアウトは、ユーザが、クエリを発話し終えるために、時間を延長するように動的に調節され得る。そのケースでは、調節されたエンドポイント206が、発声212における文言220〜226のすべてをキャプチャし得、したがって、クエリの転写235を「JFKからLAXへ」として生成し得る。
【００３５】
図3は、発声のエンドポイント指定のための例示的な処理の図解である。処理300は、図2からのコンピューティングデバイス210のようなコンピューティングデバイスによって、または、図1に描写されたようなサーバもしくはサーバのネットワークによって実行され得る。処理300は、コンテキストデータに基づいて、中間発話認識結果を、オーディオデータについての期待される発話認識結果と比較し、中間発話認識結果と、期待される発話認識結果との間の一致があるか、一致がないか、または部分的一致があるかの判定に従って、発声をエンドポイント指定するために、EOSタイムアウトを動的に調節するために、オーディオデータおよびコンテキストデータを分析する。
【００３６】
システムは、発声を含むオーディオデータを受信する(310)。発声は、コンピューティングデバイスのマイクロホンへ話すユーザと、ユーザの発話に対応するオーディオ信号を受信するデバイスとから受信され得る。デバイスは、オーディオ信号を処理し得、それをサーバへ送信し得る。発声を含むオーディオデータが、サーバによって受信され得る。いくつかの実施では、オーディオデータは、サーバへ送信されないことがあり得、発話認識は、サーバではなく、コンピューティングデバイスにおいて生じ得る。
【００３７】
システムは、1つまたは複数の期待される発話認識結果を示すコンテキストデータを取得する(320)。上記説明されるように、コンテキストデータは、オーディオデータを受信することと同時に受信され得る。代替実施態様では、コンテキストデータは、オーディオデータの受信の前に受信され得、あらかじめ決定されたクライアントコンテキストIDに関連付けられ得、記憶デバイスに記憶され得る。そのケースでは、システムは、オーディオデータを受信することと同時にクライアントコンテキストIDを受信し、クライアントコンテキストIDに関連付けられたコンテキストデータを記憶デバイスから取得し得る。コンテキストデータは、ユーザへ提示されたクエリに関連付けられ得、たとえば、コンテキストデータは、クエリに関連付けられた1つまたは複数の期待される発話認識結果を含み得る。あるいは、コンテキストデータは、テキスト、画像、ビデオ、オーディオ等のような、スクリーン上に表示される情報から導出され得る。あるいは、コンテキストデータは、クライアントデバイスの現在の動作状況または状態に基づき得る。
【００３８】
システムは、コンテキストデータに基づいて、オーディオデータについての期待される発話認識結果を判定する(330)。たとえば、ユーザが、「あなたは誰に電話したいですか?」または「あなたは誰とゲームをしたいですか?」のようなクエリとともに名前を促されるならば、コンテキストデータは、ユーザに関連付けられたコンタクトリストであり得る。したがって、期待される発話認識結果は、ユーザに関連付けられたコンタクトリストにおける名前のうちの1つまたは複数であり得る。別の例として、誕生年のための入力フィールドが、強調または選択されていれば、コンテキストデータは、年のリストであり得、期待される発話認識結果は、これら年のうちの1つであり得る。
【００３９】
システムは、発話認識エンジンによって生成された中間発話認識結果を受信する(340)。オーディオデータが受信され、発話認識エンジンへ送信されると、発話認識エンジンは、オーディオデータを処理し、中間発話認識結果を生成して返すことを開始し得る。たとえば、中間発話認識結果は、単語の最初の音節、または、単語の最初の音素音を含み得る。あるいは、中間発話認識結果は、単語の多数のシラブル、多数の音素音、または、フレーズの1つもしくは複数の単語を含み得る。
【００４０】
システムは、コンテキストデータに基づいて、中間発話認識結果を、オーディオデータについての期待される発話認識結果を比較する(350)。発話認識エンジンが、中間発話認識結果を生成して返すと、その中間発話認識結果は、コンテキストデータに基づいて判定される、期待される発話認識結果と比較され得る。コンテキストデータがコンタクトリストである上記説明された例に戻って説明すると、期待される発話認識結果は、コンタクトリスト内の名前のうちの1つまたは複数であり得る。中間発話認識結果は、コンタクトリスト内の1つまたは複数の名前のうちの期待される発話認識結果と比較される。たとえば、コンタクトリストが、「ビル」、「チャーリー」、および「ヒラリー」という名前を含んでいるのであれば、システムは、中間発話認識結果を、これら名前の各々と比較する。
【００４１】
システムは、コンテキストデータに基づいて、中間発話認識結果が、オーディオデータについての期待される発話認識結果に対応するか否かを判定する(360)。「ビル」、「チャーリー」、および「ヒラリー」という名前のコンタクトリストを示すコンテキストデータを用いて上記説明された例に再び戻って説明すると、中間発話認識結果が、たとえば、「チャー」であれば、期待される発話認識結果が、「ビル」、「チャーリー」、および「ヒラリー」のうちの1つであることを示すコンテキストデータに基づいて、中間発話認識結果は、「チャーリー」であって、「ビル」でも「ヒラリー」でもないという期待される発話認識結果に相当することが判定され得る。それに加えて、中間発話認識結果は、発話認識エンジンによって生成された中間発話認識結果に関連付けられた特定の信頼度レベルを有し得る。信頼度レベルは、発話認識結果の精度の信頼度に相当し得る。信頼度レベルは、中間発話認識結果が、期待される発話認識結果に相当するか否かを判定することに寄与し得る。
【００４２】
システムは、コンテキストデータに基づいて、中間発話認識結果が、オーディオデータについての期待される発話認識結果に一致するとの判定に応じて、発話状態の終了を初期化し、最終発話認識結果を提供する(370)。最終発話認識結果は、コンテキストデータによって示される1つまたは複数の期待される発話認識結果を含み得る。したがって、中間発話認識結果が、期待される発話認識結果に一致するとの判定がなされるや否や、エンドポインタは、EOSタイムアウトが終了するのを待ち続ける必要はない。むしろ、最終発話認識結果は、クライアントデバイスへ、または、ユーザへ出力され得、これによって、発話認識レイテンシを減少させる。
【００４３】
システムは、コンテキストデータに基づいて、中間発話認識結果が、オーディオデータについての期待される発話認識結果に対する部分的な一致を含んでいるか、または、不一致を含んでいるかの判定に応じて、追加のオーディオデータを受信するために、発話状態の終了のために時間期間を延長する(380)。中間発話認識結果とコンテキストデータとの間の一致が判定されないか、または、中間発話認識結果とコンテキストデータとの間の部分的な一致が判定されたのであれば、EOSタイムアウトが動的に調節され得る。EOSタイムアウトは、特定の期待される発話認識結果に関連するあらかじめ決定された時間長さだけ延長され得る。たとえば、期待される発話認識結果が、いくつかの3つの単語からなるフレーズのうちの1つであり、中間発話認識結果が、2つの単語しか含んでいないのであれば、EOSタイムアウトは、第3の単語のオーディオの入力のための追加の時間を可能にするために、あらかじめ決定された時間長さだけ延長され得る。
【００４４】
EOSタイムアウトは、中間発話認識結果とコンテキストデータとの間の部分的な一致の判定に応じて、あらかじめ決定された時間長さだけ延長され得る。たとえば、期待される発話認識結果が101と200との間の数字であり、ユーザによって発話された発声が、「百」、その後、休止が続いた後、「二十五」であることをコンテキストデータが示すのであれば、デフォルトのEOSタイムアウトは、この休止が、タイムアウトよりも長ければ、発話認識システムに対して、認識セッションを終了させ得、「百」の転写のみを生成させ、ユーザに対して、全フレーズを繰り返させる。しかしながら、本開示の実施形態に従って、中間発話認識結果が「百」であれば、EOSタイムアウトは、期待される発話認識結果が101と200との間の数字であることを示すコンテキストデータに基づいて、数字の残りのオーディオの入力のための追加の時間を可能とするために、あらかじめ決定された時間長さだけ延長され得る。したがって、「百二十五」という完全な発声の転写が生成され得、発話認識システムの精度を向上させ、ユーザが全フレーズを繰り返すことを強制されることを回避する。
【００４５】
さらに、EOSタイムアウトは、中間発話認識結果とコンテキストデータとの間の一致がないことの判定に応じて、あらかじめ決定された時間長さだけ延長され得る。たとえば、ファイルのフォルダが表示されており、「あなたはどのファイルを開きたいですか?」のようなプロンプトが提示されているのであれば、コンテキストデータは、その開いたフォルダにおけるファイルのリストであり得る。コンテキストデータに基づいて、期待される中間発話認識結果は、ファイルの名前のうちの1つまたは複数であり得る。ユーザによって発話された発声が、「開く」であり、その後、休止が続いた後、「ファイルA」であり、中間発話認識結果が「開く」であれば、中間発話認識結果は、コンテキストデータと一致しない。このケースでは、EOSタイムアウトは、開かれるべきファイル名のオーディオの入力のための追加の時間を可能にするために、あらかじめ決定された時間長さだけ延長され得る。したがって、発声の部分的な転写でも、たとえば、「開く」という名前のファイルが存在しないことをユーザへ示すこと(これは、所望されないユーザ経験である)でもなく、完全な発声である「ファイルAを開く」の転写が生成され得る。あるいは、中間発話認識結果とコンテキストデータの間に一致がないとの判定に応じて、EOSタイムアウトは、デフォルトのEOSタイムアウトとして、デフォルト期間へ戻され得る。
【００４６】
本明細書において説明されるエンティティの実施形態は、他の、および/または、本明細書で説明されたものとは異なるモジュールを含み得る。それに加えて、他の実施形態では、モジュールに起因する機能が、他のまたは異なるモジュールによって実行され得る。さらに、この詳細説明は、ときおり、明確化および利便性の目的のために「モジュール」という文言を省略する。
【００４７】
多くの実施が説明された。しかしながら、様々な修正が、本開示の趣旨および範囲から逸脱することなくなされ得ることが理解されるであろう。たとえば、上記に図示された様々な形式のフローが、順序換えされた、追加された、または削除されたステップとともに使用され得る。
【００４８】
本明細書において説明された主題および動作の実施形態は、デジタル電子回路において、または、本明細書において開示された構成、およびその構成的な均等物を含む、もしくはそれらの1つもしくは複数の組合せである、コンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて実施され得る。この明細書において説明された主題の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置による実行のため、または、データ処理装置の動作を制御するために、コンピュータ記憶媒体においてエンコードされたコンピュータプログラム命令の1つまたは複数のモジュールとして実施され得る。あるいは、または、それに加えて、プログラム命令は、データ処理装置による実行のために適切な受信機装置への送信のための情報をエンコードするために生成された、たとえば、マシンによって生成された電気、光、または電磁気信号のような人工的に生成された伝搬信号においてエンコードされ得る。
【００４９】
コンピュータ記憶媒体は、コンピュータ読取可能な記憶デバイス、コンピュータ読取可能な記憶基板、ランダムもしくはシリアルアクセスメモリアレイもしくはデバイス、または、これらの1つもしくは複数の組合せであり得るか、または、これらに含まれ得る。さらに、コンピュータ記憶媒体は、伝搬信号ではない一方、コンピュータ記憶媒体は、人工的に生成された伝搬信号においてエンコードされたコンピュータプログラム命令のソースまたは目的地であり得る。コンピュータ記憶媒体はまた、たとえば、多数のCD、ディスク、または他の記憶デバイスのような1つまたは複数の個別の物理的な構成要素または媒体であり得るか、またはこれらに含まれ得る。
【００５０】
この明細書において説明された動作は、1つもしくは複数のコンピュータ読取可能な記憶デバイスに記憶された、または、他のソースから受信されたデータについて、データ処理装置によって実行される動作として実施され得る。
【００５１】
「データ処理装置」という文言は、例として、プログラマブルプロセッサ、コンピュータ、システムオンチップ、または、前述したもののうちの複数もしくは組合せを含む、データを処理するためのすべての種類の装置、デバイス、およびマシンを包含する。装置は、たとえば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向け集積回路(ASIC)のような専用のロジック回路を含み得る。装置はまた、ハードウェアに加えて、問題となっているコンピュータプログラムのための実行環境を生成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、プラットフォーム間ランタイム環境、仮想マシン、またはこれらのうちの1つもしくは複数の組合せを構成するコードを含み得る。装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッドコンピューティングインフラストラクチャのような様々な異なるコンピューティングモデルインフラストラクチャを実現し得る。
【００５２】
プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られているコンピュータプログラムは、コンパイルまたは翻訳された言語を含む任意の形式のプログラミング言語で記述され得、スタンドアロンプログラムとして、または、モジュール、構成要素、サブルーチン、もしくは、コンピューティング環境における使用のために適切な他のユニットとしてを含む任意の形式で展開され得る。コンピュータプログラムは、必ずしも、ファイルシステム内のファイルに対応する必要はない。プログラムは、たとえば、マークアップドキュメントにおいて、問題となっているプログラムに専用の単一ファイルにおいて、または、たとえば、1つもしくは複数のモジュール、サブプログラム、もしくはコードの一部を記憶するファイルのような多数の調整されたファイルにおいて記憶された1つまたは複数のスクリプトのような他のプログラムまたはデータを保持するファイルの一部に記憶され得る。コンピュータプログラムは、1つのコンピュータにおいて、または、1つのサイトに配置されているか、もしくは、多数のサイトにわたって分散され、通信ネットワークによって相互接続された多数のコンピュータにおいて実行されるように展開され得る。
【００５３】
この明細書において説明される処理および論理フローは、入力データに対して演算し、出力を生成することによって機能を実行するために、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実行され得る。処理および論理フローはまた、たとえばFPGAまたはASICのような専用の論理回路によって実行され得、装置はまた、たとえばFPGAまたはASICのような専用の論理回路として実施され得る。
【００５４】
コンピュータプログラムの実行のために適切なプロセッサは、例として、汎用および専用の両方のマイクロプロセッサと、任意の種類のデジタルコンピュータの1つまたは複数の任意のプロセッサとを含む。一般に、プロセッサは、読取専用メモリまたはランダムアクセスメモリまたはその両方から、命令およびデータを受信するであろう。
【００５５】
コンピュータの必須の要素は、命令に従ってアクションを実行するためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、たとえば磁気ディスク、磁気光ディスク、または光ディスクのように、データを記憶するための1つまたは複数の大容量記憶デバイスを含んでいるか、あるいは、データを記憶するための1つもしくは複数の大容量記憶デバイスからデータを受け取るため、または、データを記憶するための1つもしくは複数の大容量記憶デバイスへデータを転送するため、またはその両方のために、動作可能に結合され得る。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。
【００５６】
さらに、コンピュータは、ほんのいくつか名前を挙げると、たとえば、モバイル電話、携帯情報端末(PDA)、モバイルオーディオまたはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、または、たとえばユニバーサルシリアルバス(USB)フラッシュドライブのようなポータブル記憶デバイスのような別のデバイスに組み込まれ得る。コンピュータプログラム命令およびデータを記憶するために適切なデバイスは、例として、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイスのような半導体メモリデバイスと、たとえば内部ハードディスクまたはリムーバブルディスクのような磁気ディスクと、磁気光ディスクと、CD ROMディスクおよびDVD-ROMディスクとを含むすべての形式の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補足され得るか、または、専用論理回路内に組み込まれ得る。
【００５７】
ユーザとのインタラクションを提供するために、この明細書において説明される主題の実施形態は、情報をユーザへ表示するためのたとえば、陰極線管(CRT)、液晶ディスプレイ(LCD)モニタのようなディスプレイデバイスと、ユーザがコンピュータへ入力を提供し得るキーボードと、たとえばマウスまたはトラックボールのようなポインティングデバイスとを有するコンピュータにおいて実施され得る。他の種類のデバイスもまた同様に、ユーザとのインタラクションを提供するために使用され得、たとえば、ユーザへ提供されるフィードバックは、たとえば、視覚的なフィードバック、聴覚的なフィードバック、または触覚的なフィードバックのような任意の形態の知覚的なフィードバックであり得、ユーザからの入力は、音響、発話、または触覚入力を含む任意の形態で受信され得る。それに加えて、コンピュータは、たとえば、ウェブブラウザから受信された要求に応じて、ユーザのクライアントデバイス上のウェブブラウザへウェブページを送ることによって、ユーザによって使用されるデバイスへドキュメントを送信し、該デバイスからドキュメントを受信することによって、ユーザとインタラクトし得る。
【００５８】
この明細書において説明される主題の実施形態は、たとえば、データサーバのようなバックエンド構成要素を含むか、または、たとえば、アプリケーションサーバのようなミドルウェア構成要素を含むか、または、たとえば、この明細書において説明された主題の実施とユーザがインタラクトし得るグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータのようなフロントエンド構成要素を含むか、または、1つもしくは複数のこのようなバックエンド構成要素、ミドルウェア構成要素、もしくはフロントエンド構成要素の任意の組合せを含む、コンピューティングシステムにおいて実施され得る。システムの構成要素は、たとえば通信ネットワークのような、デジタルデータ通信の任意の形態または媒体によって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(LAN)および広域ネットワーク(WAN)、たとえばインターネットのようなインターネットワーク、および、たとえばアドホックピアツーピアネットワークのようなピアツーピアネットワークを含む。
【００５９】
1つまたは複数のコンピュータのシステムは、ソフトウェアと、ファームウェアと、ハードウェアと、または、動作中、これらアクションを実行するかもしくはシステムに対してこれらアクションを実行させる、システムにインストールされたこれらの組合せとを有することによって、特定の動作またはアクションを実行するように構成され得る。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行された場合、この装置に対してアクションを実行させる指示を含むことによって特定の動作またはアクションを実行するように構成され得る。
【００６０】
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、一般に、互いに離れており、典型的には、通信ネットワークを通じてインタラクトする。クライアントとサーバとの関係は、各々のコンピュータにおいて起動し、互いにクライアント-サーバ関係を有している、コンピュータプログラムによって生じる。いくつかの実施形態では、サーバは、たとえば、クライアントデバイスとインタラクトしているユーザにデータを表示し、またそのユーザからユーザ入力を受信する目的のために、たとえばHTMLページのようなデータをクライアントデバイスへ送信する。たとえば、ユーザインタラクションの結果のように、クライアントデバイスにおいて生成されたデータが、クライアントデバイスから、サーバにおいて受信され得る。
【００６１】
この明細書は、多くの具体的な実施詳細を含んでいるが、これらは、任意のイノベーションまたは、特許請求され得るものの範囲における限定として解釈されるべきではなく、むしろ、特定のイノベーションの特定の実施形態に特有の特徴の説明として解釈されるべきである。個別の実施形態のコンテキストにおいて本明細書において説明されているいくつかの特徴はまた、単一の実施形態における組合せにおいても実施され得る。逆に、単一の実施形態のコンテキストにおいて説明されている様々な特徴はまた、多くの実施形態において個別に、または、任意の適切な部分組合せにおいても実施され得る。さらに、特徴は、いくつかの組合せにおいて作用するものとして上記で説明され得、そのようなものとして最初に特許請求さえされているが、特許請求された組合せからの1つまたは複数の特徴が、いくつかのケースでは、組合せから削除され得、特許請求された組合せは、部分集合または部分集合の変形を対象とされ得る。
【００６２】
同様に、これら動作は、図面において特定の順序で描写されているが、これは、そのような動作が、望ましい結果を達成するために、図示された特定の順序で、または、シーケンシャルな順序で実行されること、または、例示されたすべての動作が実行されるべきであることを要求しているとは理解されるべきではない。いくつかの状況では、マルチタスクおよび並列処理が有利であり得る。さらに、上記で説明された実施形態における様々なシステム構成要素の分離は、すべての実施形態において、そのような分離を必要とするものとして理解されるべきではなく、説明されたプログラム構成要素およびシステムは、一般に、単一のソフトウェア製品へともに統合され得るか、または、多数のソフトウェア製品へパッケージされ得ることが理解されるべきである。
【００６３】
HTMLファイルが言及される各事例では、他のファイルタイプまたはフォーマットが、代用され得る。たとえば、HTMLファイルは、XML、JSON、プレーンテキスト、または他のタイプのファイルと交換され得る。さらに、テーブルまたはハッシュテーブルが言及される場合、スプレッドシート、リレーショナルデータベース、構造化されたファイル等のような他のデータ構造が、使用され得る。
【００６４】
したがって、主題の特定の実施形態が説明された。他の実施形態は、以下の特許請求の範囲の範囲内である。いくつかのケースでは、特許請求の範囲において記載されたアクションは、異なる順序で実行され得、依然として望ましい結果を達成し得る。それに加えて、添付図面に描写された処理は、望ましい結果を達成するために、必ずしも図示された特定の順序または連続した順序を必要とする訳ではない。いくつかの実施では、マルチタスクおよび並列処理が有利であり得る。
【符号の説明】
【００６５】
110  発話エンドポインタ
120  記憶媒体
130  発話認識器
200  図解
202  オーディオ入力
204  一般的なエンドポイント
206  調節されたエンドポイント
210  コンピューティングデバイス
212  発声
214  ユーザ
220  「から」という文言
222  「JFK」という文言
230  最終認識結果
235  クエリの転写
300  処理
【図１】
0006567664.tif 000002
【図２】
0006567664.tif 000003
【図３】
0006567664.tif 000004