(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-23
(45)【発行日】2022-05-31
(54)【発明の名称】文脈ホットワード
(51)【国際特許分類】
G10L 15/28 20130101AFI20220524BHJP
G10L 15/10 20060101ALI20220524BHJP
G10L 15/00 20130101ALI20220524BHJP
【FI】
G10L15/28 230K
G10L15/10 200W
G10L15/00 200A
【外国語出願】
(21)【出願番号】P 2020172546
(22)【出願日】2020-10-13
(62)【分割の表示】P 2019540550の分割
【原出願日】2017-08-01
【審査請求日】2020-11-11
(32)【優先日】2016-12-27
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】クリストファー・サディアス・ヒューズ
(72)【発明者】
【氏名】イグナシオ・ロペス・モレーノ
(72)【発明者】
【氏名】アレクサンダー・クラカン
【審査官】中村 天真
(56)【参考文献】
【文献】特開2016-218852(JP,A)
【文献】特表2004-516517(JP,A)
【文献】米国特許出願公開第2016/0104480(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/00-15/34
G06F 3/16
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
コンピューティングデバイスのデータ処理ハードウェアにおいて、前記コンピューティングデバイスに関連付けられたユーザによって話された第1の発話に対応する音声データを受信するステップであって、前記第1の発話が、デフォルトホットワードと、それに続く前記コンピューティングデバイスから音楽を再生するためのコマンドとを含む、ステップと、
前記データ処理ハードウェアによって、前記ユーザによって話された前記第1の発話に対応する前記音声データ内の前記デフォルトホットワードを検出するステップと、
前記音声データ内の前記デフォルトホットワードの検出に応答して、前記コンピューティングデバイスから前記音楽を再生するための前記コマンドを識別するために、前記音声データに対する音声認識を音声認識部に実行させるステップと、
前記音声認識部が、前記音楽を再生するための前記コマンドを識別するために、前記音声データに対する音声認識を実行したことに応答して、前記データ処理ハードウェアによって、前記コンピューティングデバイスから前記音楽を再生するための前記コマンドを実行するステップと、
前記コンピューティングデバイスからの前記音楽の再生中に、
前記データ処理ハードウェアによって、追加のホットワードのセットを有効にするステップであって、前記追加のホットワードのそれぞれが、前記コンピューティングデバイスからの前記音楽の前記再生を制御するための各アクションに関連付けられる、ステップと、
前記データ処理ハードウェアにおいて、前記ユーザによって話された第2の発話に対応する追加の音声データを受信するステップであって、前記第2の発話が、前記追加のホットワードの有効にされたセット内の前記追加のホットワードのうちの1つを含む、ステップと、
前記データ処理ハードウェアによって、前記ユーザによって話された前記第2の発話に対応する前記追加の音声データ内の前記追加のホットワードを検出するステップと、
前記第2の発話に対応する前記追加の音声データ内の前記追加のホットワードの検出に基づいて、前記データ処理ハードウェアによって、前記コンピューティングデバイスからの前記音楽の前記再生を制御するための前記検出された追加のホットワードに関連付けられた前記各アクションを実行するステップとを含む、
方法。
【請求項2】
前記第1の発話に対応する前記音声データ内の前記デフォルトホットワードを検出するステップが、
前記音声データに対する音声認識を実行せずに、前記音声データ内の前記デフォルトホットワードを検出するステップを含む、
請求項1に記載の方法。
【請求項3】
前記音声認識部が、前記コンピューティングデバイスの前記データ処理ハードウェア上で実行する、
請求項1に記載の方法。
【請求項4】
前記ユーザによって話された前記第1の発話に対応する前記音声データ内の前記デフォルトホットワードを検出したことに応答して、前記データ処理ハードウェアによって、前記第1の発話に対応する前記音声データを、前記データ処理ハードウェアと通信するサーバに提供するステップであって、前記サーバが、前記コンピューティングデバイスから前記音楽を再生するための前記コマンドを識別するために、前記音声データに対する前記音声認識を実行する前記音声認識部を実行する、ステップをさらに含む、
請求項1に記載の方法。
【請求項5】
前記第2の発話に対応する前記追加の音声データ内の前記追加のホットワードを検出するステップが、
前記追加の音声データに対する音声認識を実行せずに、前記追加の音声データ内の前記追加のホットワードを検出するステップを含む、
請求項1に記載の方法。
【請求項6】
前記第2の発話に対応する前記追加の音声データ内の前記追加のホットワードを検出するステップが、
前記第2の発話に対応する前記追加の音声データの音声特徴を抽出するステップと、
ホットワード検出部を使用して、前記抽出された音声特徴を処理することによって、ホットワード信頼スコアを生成するステップと、
前記ホットワード検出部によって、前記ホットワード信頼スコアがホットワード信頼閾値を満たすかどうかを判定するステップと、
前記ホットワード信頼スコアが前記ホットワード信頼閾値を満たす場合に、前記ホットワード検出部によって、前記第2の発話に対応する前記追加の音声データが前記追加のホットワードを含むことを判定するステップとを含む、
請求項1に記載の方法。
【請求項7】
前記ホットワード信頼スコアが前記ホットワード信頼閾値を満たさない場合に、
前記ホットワード検出部によって
、前記第2の発話に対応する前記追加の音声データ
が前記追加のホットワードを含まないことを判定するステップと、
前記データ処理ハードウェアによって、前記コンピューティングデバイスからの前記音楽の前記再生を制御するための前記各アクション
を実行することを回避するステップとをさらに含む、
請求項6に記載の方法。
【請求項8】
前記第2の発話が、前記追加のホットワードの有効にされたセット内の前記追加のホットワードのうちの1つのみを含む、
請求項1に記載の方法。
【請求項9】
前記追加のホットワードの有効にされたセット内の追加のホットワードのそれぞれが、前記追加のホットワードのそれぞれの音声を認識するように構成された各ホットワードモデルに関連付けられる、
請求項1に記載の方法。
【請求項10】
前記データ処理ハードウェアによって、前記コンピューティングデバイスのメモリハードウェア上に複数のホットワードモデルを記憶す
るステップであって、前記複数のホットワードモデルの各ホットワードモデルが
、前記追加のホットワードの有効にされたセット内の前記追加のホットワードの各々に関連付けられ
、前記追加のホットワードのそれぞれの音声を認識するように構成される、ステップをさらに含む、
請求項1に記載の方法。
【請求項11】
データ処理ハードウェアと、
前記データ処理ハードウェアと通信しかつ前記データ処理ハードウェアに以下の動作を実行させるための命令を記憶するメモリハードウェアとを備えた、
コンピューティングデバイスであって、前記動作が、
前記コンピューティングデバイスに関連付けられたユーザによって話された第1の発話に対応する音声データを受信するステップであって、前記第1の発話が、デフォルトホットワードと、それに続く前記コンピューティングデバイスから音楽を再生するためのコマンドとを含む、ステップと、
前記ユーザによって話された前記第1の発話に対応する前記音声データ内の前記デフォルトホットワードを検出するステップと、
前記音声データ内の前記デフォルトホットワードの検出に応答して、前記コンピューティングデバイスから前記音楽を再生するための前記コマンドを識別するために、前記音声データに対する音声認識を音声認識部に実行させるステップと、
前記音声認識部が、前記音楽を再生するための前記コマンドを識別するために、前記音声データに対する音声認識を実行したことに応答して、前記コンピューティングデバイスから前記音楽を再生するための前記コマンドを実行するステップと、
前記コンピューティングデバイスからの前記音楽の再生中に、
追加のホットワードのセットを有効にするステップであって、前記追加のホットワードのそれぞれが、前記コンピューティングデバイスからの前記音楽の前記再生を制御するための各アクションに関連付けられる、ステップと、
前記ユーザによって話された第2の発話に対応する追加の音声データを受信するステップであって、前記第2の発話が、前記追加のホットワードの有効にされたセット内の前記追加のホットワードのうちの1つを含む、ステップと、
前記ユーザによって話された前記第2の発話に対応する前記追加の音声データ内の前記追加のホットワードを検出するステップと、
前記第2の発話に対応する前記追加の音声データ内の前記追加のホットワードの検出に基づいて、前記コンピューティングデバイスからの前記音楽の前記再生を制御するための前記検出された追加のホットワードに関連付けられた前記各アクションを実行するステップとを含む、
コンピューティングデバイス。
【請求項12】
前記第1の発話に対応する前記音声データ内の前記デフォルトホットワードを検出するステップが、
前記音声データに対する音声認識を実行せずに、前記音声データ内の前記デフォルトホットワードを検出するステップを含む、
請求項11に記載のコンピューティングデバイス。
【請求項13】
前記音声認識部が、前記コンピューティングデバイスの前記データ処理ハードウェア上で実行する、
請求項11に記載のコンピューティングデバイス。
【請求項14】
前記動作が、
前記ユーザによって話された前記第1の発話に対応する前記音声データ内の前記デフォルトホットワードを検出したことに応答して、前記第1の発話に対応する前記音声データを、前記データ処理ハードウェアと通信するサーバに提供するステップであって、前記サーバが、前記コンピューティングデバイスから前記音楽を再生するための前記コマンドを識別するために、前記音声データに対する前記音声認識を実行する前記音声認識部を実行する、ステップをさらに含む
請求項11に記載のコンピューティングデバイス。
【請求項15】
前記第2の発話に対応する前記追加の音声データ内の前記追加のホットワードを検出するステップが、
前記追加の音声データに対する音声認識を実行せずに、前記追加の音声データ内の前記追加のホットワードを検出するステップを含む、
請求項11に記載のコンピューティングデバイス。
【請求項16】
前記第2の発話に対応する前記追加の音声データ内の前記追加のホットワードを検出するステップが、
前記第2の発話に対応する前記追加の音声データの音声特徴を抽出するステップと、
ホットワード検出部を使用して、前記抽出された音声特徴を処理することによって、ホットワード信頼スコアを生成するステップと、
前記ホットワード検出部によって、前記ホットワード信頼スコアがホットワード信頼閾値を満たすかどうかを判定するステップと、
前記ホットワード信頼スコアが前記ホットワード信頼閾値を満たす場合に、前記ホットワード検出部によって、前記第2の発話に対応する前記追加の音声データが前記追加のホットワードを含むことを判定するステップとを含む、
請求項11に記載のコンピューティングデバイス。
【請求項17】
前記動作が、前記ホットワード信頼スコアが前記ホットワード信頼閾値を満たさない場合に、
前記ホットワード検出部によって
、前記第2の発話に対応する前記追加の音声データ
が前記追加のホットワードを含まないことを判定するステップと、
前記コンピューティングデバイスからの前記音楽の前記再生を制御するための前記各アクションを実行することを回避するステップとをさらに含む、
請求項16に記載のコンピューティングデバイス。
【請求項18】
前記第2の発話が、前記追加のホットワードの有効にされたセット内の前記追加のホットワードのうちの1つのみを含む、
請求項11に記載のコンピューティングデバイス。
【請求項19】
前記追加のホットワードの有効にされたセット内の追加のホットワードのそれぞれが、前記追加のホットワードのそれぞれの音声を認識するように構成された各ホットワードモデルに関連付けられる、
請求項11に記載のコンピューティングデバイス。
【請求項20】
前記動作が、
前記コンピューティングデバイスの前記メモリハードウェア上に複数のホットワードモデルを記憶するステップであって、前記複数のホットワードモデルの各ホットワードモデルが
、前記追加のホットワードの有効にされたセット内の前記追加のホットワードの各々に関連付けられ
、前記追加のホットワードのそれぞれの音声を認識するように構成される、ステップをさらに含む、
請求項11に記載のコンピューティングデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、概して自動音声処理に関する。
【背景技術】
【0002】
音声対応住居または他の環境-すなわち、ユーザがクエリまたは命令を大きく発しさえすれば、コンピュータベースのシステムがクエリに対処および回答し、そして/または命令を行わせることになる環境-の現実が近づいている。音声対応環境(例えば、自宅、仕事場、学校等)は、環境の様々な部屋または領域にわたって分散されるマイクロホンデバイスの接続ネットワークを使用して実装され得る。そのようなマイクロホンのネットワークを通じて、ユーザは、自分の前にまたは更に近くにコンピュータまたは他のデバイスを有する必要なく環境の基本的にどこからでもシステムに口頭で問い合わせる力を有する。例えば、キッチンでの料理中に、ユーザがシステムに「3カップで何ミリリットル?」と尋ね、そして応答で、例えば、合成音声出力の形態で、システムから回答を受けることもある。代替的に、ユーザがシステムに「最寄りのガソリンスタンドはいつ閉まる」、または、外出する準備をした上で、「今日はコートを着ていくべき?」などの質問を尋ねることもある。
【0003】
更に、ユーザが、ユーザの個人情報に関する、クエリをシステムに尋ね、そして/または命令を出してよい。例えば、ユーザがシステムに「ジョンとのミーティングはいつ?」と尋ねる、またはシステムに「帰宅するときにジョンに電話するのを気づかせて」と命令することもある。
【発明の概要】
【発明が解決しようとする課題】
【0004】
音声対応システムに対して、ユーザがシステムと対話する仕方は、専らではないにしても、主に音声入力を用いてであるように設計される。結果的に、システムは、システムに向けられていないものを含め、周辺環境においてなされる全ての発話を潜在的に拾い上げており、任意の所与の発話が、例えば、環境に存在する個人に向けられているのとは対照的に、システムに向けられるときを見分ける何らかの手段を有しなければならない。これを達成する1つの手段がホットワードを使用することであり、それは、環境におけるユーザ間の取決めによって、システムの注意を引くために発せられる所定の語として予約される。環境例では、システムの注意を引くために使用されるホットワードは、語「オーケーコンピュータ」である。結果的に、語「オーケーコンピュータ」が発せられるたびに、それは、マイクロホンによって拾い上げられ、システムに伝達され、これが音声モデリング技法を行って、ホットワードが発せられたかどうかを判定し、そして、その場合は、後に続く命令またはクエリを待つ。したがって、システムに向けられる発話は、一般形式[ホットワード][クエリ]をとり、ここでこの例の「ホットワード」は「オーケーコンピュータ」であり、そして「クエリ」は、単独でかネットワークを介してサーバと連動してか、システムによって音声認識、構文解析および作用され得る任意の質問、命令、宣言または他の要求であり得る。
【0005】
ユーザが、移動電話などの音声対応システムに数個のホットワードベースの命令を提供する場合、電話とのユーザの対話は面倒になるであろう。ユーザは、「オーケーコンピュータ、ホームワークプレイリストを再生して」と話してよい。電話は、プレイリストの1曲目を流し始めてよい。ユーザは、次の曲に進むことを望んで、「オーケーコンピュータ、次」と話してよい。更に別の曲に進むために、ユーザは再び、「オーケーコンピュータ、次」と話してよい。ホットワードを繰り返し続ける必要を軽減するために、電話は、「次」だけでホットワードおよびクエリ、またはこの実例では、命令の両方として認識するように構成されてよい。この特徴により、ユーザは、「オーケーコンピュータ、次」の代わりに、次の曲に進むために「次」と発しさえすればよいので、電話および音楽アプリケーションとのユーザの対話はより自然になる。
【0006】
これを達成するために、音声対応システムは、システムの現在のコンテキストを判定し、そして関連するホットワードを識別する。コンテキストは、システム上で動いているアプリケーション、システムの位置、システムの移動または任意の他の同様の状況に基づいてよい。システムは、システムのコンテキストを使用して追加のホットワードを識別してよい。例えば、音楽が流れているとき、システムは、音楽を制御するためのホットワード「次」、「止める」および「戻る」を識別してよい。システムは、識別したホットワードの各々に対するホットワードモデルを要求してよい。システムは、ユーザの音声に対応する音声データの音声特性を処理し、そして音声特性にホットワードモデル群を適用することによって、ホットワードモデル群を使用して新たなホットワードを認識してよい。システムは、発せられるホットワードを認識し、そして対応する動作を行う。ユーザが「止める」と発し、かつシステムが音楽を流しているので「止める」が有効ホットワードであれば、システムは、音楽を流すのを止めてよい。
【課題を解決するための手段】
【0007】
本出願に記載される主題の革新的な態様によれば、耐ロールバックセキュリティのための方法が、
コンピューティングデバイスによって、コンピューティングデバイスと関連したコンテキストを判定する行為と、コンピューティングデバイスと関連したコンテキストに基づいて、ホットワードを判定する行為と、ホットワードを判定した後に、発話に対応する音声データを受信する行為と、音声データがホットワードを含むと判定する行為と、音声データがホットワードを含むとの判定に応答して、ホットワードと関連した動作を行う行為とを含む。
【0008】
これらおよび他の実装は各々、以下の特徴の1つまたは複数を任意選択で含み得る。音声データがホットワードを含むと判定する行為は、音声データに音声認識を行うことなく音声データがホットワードを含むと判定することを含む。音声データがホットワードを含むと判定する行為は、発話に対応する音声データの音声特徴を抽出することと、音声特徴を処理することによってホットワード信頼スコアを生成することと、ホットワード信頼スコアがホットワード信頼閾値を満たすと判定することと、ホットワード信頼スコアがホットワード信頼閾値を満たすとの判定に基づいて、発話に対応する音声データがホットワードを含むと判定することとを含む。上記行為は、ホットワードを判定した後に、ホットワードに対応するホットワードモデルを受信することを更に含む。音声データがホットワードを含むと判定する行為は、ホットワードモデルを使用して、音声データがホットワードを含むと判定することを含む。
【0009】
上記行為は、コンピューティングデバイスによって、コンピューティングデバイス上で動いているアプリケーションを識別することを更に含む。コンテキストは、コンピューティングデバイス上で動いているアプリケーションに基づく。上記行為は、コンピューティングデバイスによって、コンテキストがもはやコンピューティングデバイスと関連付けられないと判定することと、ホットワードを含むその後に受信される音声データが動作をトリガしないことになると判定することとを更に含む。上記行為は、出力のために、ホットワードを識別するデータを提供することを更に含む。上記行為は、コンピューティングデバイスによって、コンピューティングデバイスの移動を識別することを更に含む。コンテキストは、コンピューティングデバイスの移動に基づく。上記行為は、コンピューティングデバイスによって、コンピューティングデバイスの位置を識別することを更に含む。コンテキストは、コンピューティングデバイスの位置に基づく。ホットワードと関連した動作を行う行為は、ホットワードを含まない音声データの一部分に音声認識を行うことを含む。動作は、ホットワードを含まない音声の一部分の転写に基づく。音声データは、ホットワードだけを含む。音声データの初期部分がホットワードを含む。
【0010】
本態様の他の実施形態は、上記方法の動作を行うように各々構成される、対応するシステム、装置、およびコンピュータ記憶デバイスに記録されたコンピュータプログラムを含む。
【0011】
本出願に記載される主題は、以下の利点の1つまたは複数を有してよい。コンピューティングデバイスは、典型的にホットワードに続いて命令を発することをユーザに要求するものである従来のシステムにおいてより短い命令を認識して、それに応答して作動してよい。したがって、必要とされる認識した命令の処理はより少なく、そしてコンピューティングデバイスが応答することができるために必要とされるリソース消費(入力用語の記憶のためのメモリおよび電力消費を含む)もより低く、そしてコンピューティングデバイスはより迅速かつ効率的に応答できる。コンピューティングデバイスは、命令に音声認識を行うことなく異なる命令を認識して、それに応答して作動することができてよい。コンピューティングデバイスが1つの用語でクエリおよび命令を認識してよく、別々の動作ステップで2つ以上の異なる用語を処理する必要を回避するので、クエリおよび命令を認識するために必要とされる必要なコンピューティングリソースおよびバッテリ電力も削減され得る。
【0012】
本明細書に記載される主題の1つまたは複数の実施形態の詳細は、添付図面および以下の説明に明かにされる。同主題の他の特徴、態様および利点が同説明、図面および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0013】
【
図1】文脈ホットワードを識別および処理するためのシステム例を例示する。
【
図2】文脈ホットワードを識別および処理するためのプロセス例を例示する。
【
図3】コンピューティングデバイスおよびモバイルコンピューティングデバイスの例を例示する。
【発明を実施するための形態】
【0014】
図において、同様の参照番号は全体を通して対応する部品を表す。
【0015】
図1は、文脈ホットワードを識別および処理するためのシステム例100を例示する。簡潔には、かつ以下により詳細に記載されるように、コンピューティングデバイス104が、発話106「オーケーコンピュータ、音楽を流して」に応答して音楽を流し始める。コンピューティングデバイス104は音楽を流し始め、そしてコンピューティングデバイス104は、追加ホットワード「次」を次の曲に進む命令として認識することができる。
【0016】
より詳細にかつ
図1におけるステージAから始まり、ユーザ102がコンピューティングデバイス104の近くで発話106「オーケーコンピュータ、音楽を流して」と話す。コンピューティングデバイス104のマイクロホンが発話106を受信し、そして発話に対応する音声データを処理する。音声データの初期処理は、音声データをフィルタリングし、そして音声データをアナログ信号からデジタル信号に変換することを含んでよい。
【0017】
コンピューティングデバイス104が音声データを処理するにつれて、コンピューティングデバイスは、追加処理のために音声データをバッファに記憶してよい。音声データがバッファにあるため、コンピューティングデバイス104は、音声データがいくらかでも発語を含むかどうかを識別してよい。コンピューティングデバイス104が発語を識別する1つの手段は、ホットワード検出部108を使用することである。ホットワード検出部108は、音声データに含まれるホットワードを識別するように構成される。
【0018】
いくつかの実装では、ホットワード検出部108は、発話106の初期部分にあるホットワードを識別するように構成されてよい。この例では、ホットワード検出部108が有効ホットワード112に特有である音声データの音響特徴を検出すれば、ホットワード検出部108は、発話106「オーケーコンピュータ、音楽を流して」がホットワード110「オーケーコンピュータ」を含むと判定してよい。音響特徴は、発話の短期パワースペクトルの表現であるメル周波数ケプストラム係数(MFCC)であってよく、または発話106に対するメル尺度フィルタバンクエネルギーであってよい。例えば、ホットワード検出部108は、音声データからMFCCを生成し、そしてMFCCが、ホットワードモデル群114に記憶される、ホットワード「オーケーコンピュータ」に特有であるMFCCと同様であるMFCCを含むと分類することに基づいて、発話106「オーケーコンピュータ、音楽を流して」がホットワード110「オーケーコンピュータ」を含むと検出してよい。別の例として、ホットワード検出部108は、音声データからメル尺度フィルタバンクエネルギーを生成し、そしてメル尺度フィルタバンクエネルギーが、ホットワードモデル群114に記憶される、ホットワード「オーケーコンピュータ」に特有であるメル尺度フィルタバンクエネルギーと同様であるメル尺度フィルタバンクエネルギーを含むと分類することに基づいて、発話106「オーケーコンピュータ、音楽を流して」がホットワード110「オーケーコンピュータ」を含むと検出してよい。
【0019】
ホットワード検出部108は、発話106に対応する音声データがホットワード110を含むと判定し、そしてコンピューティングデバイス104は、発話106に対応する音声データに音声認識または意味解釈を行ってよい。音声認識部116が、ホットワード110に続く音声データの一部分に音声認識を行ってよい。この例では、音声認識部116は、語118「音楽を流して」を識別してよい。
【0020】
いくつかの実装では、音声認識部116は、コンピューティングデバイス104に設けられなくてよい。代わりに、コンピューティングデバイス104は、ホットワード110の後の発話106の一部分に対応する音声データをサーバ(例えば、サーバ120)に提供する。サーバ120は、音声認識を行い、そしてコンピューティングデバイス104に音声データの転写(transcription)を返す。コンピューティングデバイス104は、発話106の語を識別し、そしてコンピューティングデバイスは、意味解釈を行って、任意の音声命令を識別する。コンピューティングデバイス104は、命令を識別し、そして命令を実行する。この例ではかつステージBでは、コンピューティングデバイス104は、「音楽を流す」命令118を識別した上で音楽122を流し始める。
【0021】
音楽122を流していると、コンピューティングデバイス104は、フォアグラウンドかバックグラウンドかのいずれかで音楽アプリケーションを動かしている。コンピューティングデバイス104は、コンテキスト識別部124および有効ホットワード選択部126を含んでよい。コンテキスト識別部124は、コンピューティングデバイス104の現在のコンテキストを識別するように構成されてよい。有効ホットワード選択部126は、コンピューティングデバイス104の現在のコンテキストを使用して有効ホットワードを選択してよい。この例では、デバイスのコンテキストは、音楽122を流すことおよび音楽アプリケーションを動かすことに関連されてよい。有効ホットワード選択部126は、音楽アプリケーションのコードを調べて、音楽アプリケーションの開発者が、音楽アプリケーションおよび各ホットワードに対するそれぞれの行為と対話するためにユーザが発することができることを望む任意のホットワードを識別してよい。音楽アプリケーションは、「流す」、「次」、「止める」および「戻る」などのホットワードを識別してよい。音楽が有効に流れているコンテキストに基づいて、有効ホットワード選択部126は、「次」、「止める」および「戻る」のホットワードを選択し、そしてそれらを有効ホットワード群112に記憶してよい。
【0022】
いくつかの実装では、コンテキスト識別部124は、コンピューティングデバイス104の位置を使用してコンテキストを判定してよい。例えば、コンテキスト識別部124は、位置がコンピューティングデバイス104のユーザ102の自宅に対応すると判定してよい。有効ホットワード選択部126は、デバイスがユーザ102の自宅にあるというコンテキストを使用して、ユーザが自宅の温度を制御するのを可能にするために、「暖かく」および「涼しく」などのホットワードを識別してよい。上記の例と同様に、有効ホットワード選択部126は、ユーザ102が在宅中、有効ホットワード群112に「暖かく」および「涼しく」ホットワードを記憶してよい。
【0023】
いくつかの実装では、コンテキスト識別部124は、コンピューティングデバイス104の運動を使用してコンテキストを判定してよい。例えば、コンテキスト識別部124は、コンピューティングデバイス104の移動が典型的な車両の速度および運動に対応すると判定してよい。コンテキスト識別部124は、コンピューティングデバイス104の速度および運動を比較して、コンピューティングデバイス104が車両内にあるという信頼を増すために、コンピューティングデバイス104が道路に沿って移動しているかどうかを判定してもよい。この実例では、有効ホットワード選択部126は、コンピューティングデバイスのコンテキストを使用して、ユーザが特定の位置への方向を要求するのを可能にするために、ホットワード「方向」を識別してよい。有効ホットワード選択部126は、コンピューティングデバイス104が車両内にある間、有効ホットワード群112にホットワード「方向」を記憶してよい。
【0024】
いくつかの実装では、コンテキスト識別部124は、日または時間または両方とも使用してコンテキストを判定してよい。例えば、コンテキスト識別部124は、コンテキストが、午後9:00と真夜中との間などの夕刻に対応すると判定してよい。この実例では、有効ホットワード選択部126は、夕刻のコンテキストを使用して、ユーザ102がアラームをセットするのを可能にするために、ホットワード「アラームをセット」を識別してよい。有効ホットワード選択部126は、午後9:00~真夜中の時限の間、有効ホットワード群112にホットワード「アラームをセット」を記憶してよい。
【0025】
いくつかの実装では、コンテキスト識別部124は、ユーザ102の過去の行為およびパターンを使用してホットワードを識別してよい。コンテキスト識別部124は、ユーザがおそらく一日の異なる時間に典型的に行う行為を識別し、そしてそれらの行為に基づいてコンテキストを判定してよい。有効ホットワード選択部126は、関連するホットワードを識別し、そして対応する時限の間、それらのホットワードを有効ホットワード群112に記憶してよい。例えば、コンテキスト識別部124は、ユーザ102が午前8:00~午前10:00の時間の間コンピューティングデバイス104上でニュースを読むと判定してよい。有効ホットワード選択部126は、有効ホットワード112として「ニュース」を選択してよい。ホットワードとして「ニュース」があるため、ユーザ102は、午前8:00~午前10:00の時間の間、「ニュース」と言ってニュースアプリケーションを開いてよい。ニュースアプリケーションは、それ自体の対応するホットワードを有してよい。有効ホットワード選択部126は、コンピューティングデバイス104上でニュースアプリケーションが開かれると、有効ホットワード群112として「スポーツ」、「地域」および「国内」などのホットワードを識別してよい。
【0026】
いくつかの実装では、コンテキスト識別部124は、必ずしも時間依存であるわけではない過去の行為を識別してよい。例えば、ユーザ102は、コンピューティングデバイス104上で天気を習慣的に確認するかもしれない。コンテキスト識別部124は、コンピューティングデバイスのコンテキストが、ユーザ102が天気を確認した時間にほぼ常に対応すると判定してよい。この場合、有効ホットワード選択部126は、ホットワード「天気」を識別し、そして有効ホットワード群112にホットワードを記憶してよい。有効ホットワードとして「天気」があるため、ユーザ102は、「天気」と発するだけで天気アプリケーションを開いて天気を確認する。
【0027】
いくつかの実装では、コンテキスト識別部124は、コンピューティングデバイス104の状態に基づいてコンテキストを判定してよい。例えば、コンピューティングデバイス104の状態は「ロック」されていてよい。この場合、有効ホットワード選択部126は、デバイスがロックされると、ホットワード「ロック解除」を識別し、そして有効ホットワード群112にホットワードを記憶してよい。有効ホットワードとして「ロック解除」があるため、ユーザは、「ロック解除」と発して電話をロック解除する。セキュリティを改善するために、コンピューティングデバイス104は、話者識別技術を使用して、話者がユーザ102であることを検証してよい。この場合、対応するホットワードモデルが、ユーザ102の音声を使用して訓練されることになる。例えば、コンピューティングデバイス104は、コンピューティングデバイス104またはサーバ120が音声サンプルでユーザ102に固有のホットワードモデルを構築できるようにユーザ102に「ロック解除」と数回発することを促してよい。
【0028】
有効ホットワード群112は新たなホットワードを含み、そしてコンピューティングデバイス104は、ホットワードモデル群114を確認して、コンピューティングデバイス104が新たに追加されたホットワードに対するホットワードモデルを有するかどうかを判定してよい。例えば、コンピューティングデバイス104は、有効ホットワード選択部126が有効ホットワード群112に「次」を記憶するときに、ホットワードモデル群114が「次」に対するホットワードモデルを含むかどうかを確認してよい。「次」に対するホットワードモデルがホットワードモデル群114にあれば、ホットワード検出部108はホットワード「次」を検出し始めることができ、そしてコンピューティングデバイス104はステージC、DおよびEを省略できる。「次」に対するホットワードモデルがホットワードモデル群114になければ、コンピューティングデバイス104は、ステージCで、「次」に対するホットワードモデルを求めてサーバ120に要求128を送信する。
【0029】
いくつかの実装では、コンピューティングデバイス104は、ホットワードモデル群114に対応するホットワードモデルを既に有するホットワード語に対するホットワードモデルを要求してよい。コンピューティングデバイス104は、週1回など定期的にホットワードモデルを要求して、ローカルに記憶されるホットワードモデルができるだけ正確であることを確保してよい。コンピューティングデバイス104は、ユーザ102からのフィードバックに応答して、ホットワードモデルを要求してもよい。いくつかの実例では、ユーザ102は「次」などのホットワードを発してよく、そしてコンピュータは曲を進めなくてよい。ホットワード検出部108は、「次」に対応する音声データを処理してよいが、ホットワード信頼スコアが閾値を満たさなかったので、ホットワードを識別しなくてよい。
【0030】
ユーザ102は、コンピューティングデバイス104上の次曲ボタンを選択することによって曲を進めてよい。コンピューティングデバイス104がこの一連の行為を検出すると、コンピューティングデバイス104は、「次」に対する更新されたホットワードモデルを要求してよい。代替的に、コンピューティングデバイス104は、閾値を満たすホットワード信頼スコアを生成しなかったが、下限ホットワード信頼閾値を越えた音声データを使用して「次」に対するホットワードモデルを更新してよい。いくつかの実装では、コンピューティングデバイス104は、閾値を満たすホットワード信頼スコアを生成しなかった音声データに対するノイズレベルを計算してよい。ノイズレベルがノイズ閾値より大きければ、対応する音声データがあまりに多くのバックグラウンドノイズを有するかもしれないので、コンピューティングデバイス104は、そのデータでホットワードモデルを更新しなくてよい。
【0031】
サーバ120は、ステージDで、ホットワードモデルの要求128を受信し、そして対応するホットワードモデル130を識別する。サーバ120は、インターネットなどのネットワーク132を通じてアクセス可能である1つまたは複数のサーバに相当してよい。1つのサーバによってアクセス可能なデータは、他のサーバによってアクセス可能であってよい。ホットワードモデルを識別および提供することに加えて、サーバ120は、音声データを受信し、そして受信した音声データに基づいてホットワードモデル群130を生成するように構成される。
【0032】
ホットワードモデル群130を生成するために、サーバ120は、音声データ134を受信および収集する。サーバ120は、音声認識を行うサーバから音声データ134を受信してよい。サーバは、音声認識を行い、そしてサーバ120に音声データを提供して、ホットワードモデルを生成してよい。収集音声データ134があるため、音声認識部136が収集音声データにおける語を識別する。
【0033】
音声認識部136は、転写および音声データを音声データトークナイザ138に提供する。音声データトークナイザ138は、音声データを異なる語に対応する部分に分割する。例えば、収集音声データ134が語「その次の曲を流して」に対応すれば、音声認識部は「その次の曲を流して」の転写を生成し、そして音声データトークナイザ138は音声データを4つの区間にトークン化する。「流す」に対する1つの区間、「その」に対する別の区間、「次」に対する別の区間および「曲」に対する別の区間がある。
【0034】
音声認識部136および音声データトークナイザ138は、多くの音声サンプルをトークン化し、そしてトークン化した音声サンプルをホットワードモデル生成部140に提供してよい。ホットワードモデル生成部140は、同じ語の複数のサンプルを処理して、その語に対するホットワードモデルを生成する。例えば、ホットワードモデル生成部140は、語「次」に対応する複数の音声サンプルを受信してよい。ホットワードモデル生成部140は、音声サンプルの音声特性を抽出して、「次」に対するホットワードモデルを生成する。ホットワードモデル生成部140は、「次」に対するホットワードモデルをホットワードモデル群130に記憶する。
【0035】
ホットワードモデル群130は、サーバ120がコンピューティングデバイスに提供して、それらの特定のホットワードを認識する準備ができている。いくつかの実装では、サーバ120は、ホットワードモデル群130に要求されたホットワードを有しなくてよい。この場合、サーバ120は、音声認識部136および音声データトークナイザ138を使用して収集音声データ134を解析して、要求された語に対応する音声サンプルを識別してよい。代替的に、サーバ120は、コンピューティングデバイス104がサンプルを収集するように要求してよい。コンピューティングデバイス104は、ユーザに語を数回繰り返すように要求してよい。コンピューティングデバイス104は、音声データを処理のためにサーバ120に提供して、ホットワードモデルを生成してよい。いくつかの実装では、要求されるホットワードは2語以上であってよい。この実例では、ホットワードモデル生成部140は、ホットワードモデル群130を組み合わせて複数語ホットワードに対するホットワードモデルを生成してよい。
【0036】
いくつかの実装では、ホットワードモデル生成部140は、特定のコンテキストに固有であるノイズを含むホットワードモデルを生成してよい。ホットワードモデル生成部140は、目標ホットワードに対応する全ての音声トークンを選択してよいわけではない。代わりに、ホットワードモデル生成部140は、対応するコンテキストに存在しそうであるバックグラウンドノイズを含む音声トークンを選択する。例えば、ホットワードモデル生成部140は、「次」を含みかつバックグラウンドミュージックを有する音声トークンで「次」に対するホットワードモデルを生成してよい。サーバ120がホットワードモデル「次」の要求を受信し、かつコンテキストが音楽を流すことであることを要求が示す場合、サーバ120は、バックグラウンドミュージックに対して構成される「次」のホットワードモデルを提供してよい。サーバ120がホットワードモデル「次」の要求を受信し、かつコンテキストが写真を見ることであることを要求が示す場合、サーバ120は、バックグラウンドノイズなく構成される「次」のホットワードモデルを提供してよい。
【0037】
ステージEでは、サーバ120は、要求されたホットワードモデルを含む応答142を提供する。
図1に図示される例では、サーバ120は、コンピューティングデバイス104に「次」に対するホットワードモデルを提供する。コンピューティングデバイス104は、ホットモデル群114にホットワードモデルを記憶し、そして有効ホットワード群112の指標を更新して、コンピューティングデバイス104に記憶された対応するホットワードモデルがあることを示してよい。
【0038】
いくつかの実装では、有効ホットワード選択部126は、有効ホットワード群112からホットワードを削除してよい。コンテキスト識別部124がコンテキストが変わったことを示すとき、有効ホットワード選択部126は、新たなコンテキストに基づいて有効ホットワード群112を更新してよい。上記からの例のいくつかに沿って、有効ホットワード選択部126は、午前10:00以後有効ホットワード群112からホットワード「ニュース」を削除してよい。同様に、有効ホットワード選択部126は、真夜中過ぎにホットワード「アラームをセット」を削除し、そして午後9:00以後有効ホットワード群112に再びホットワード「アラームをセット」を追加してよい。いくつかの実装では、有効ホットワード選択部126が有効ホットワード群112からホットワードを削除するとき、対応するホットワードモデルはホットワードモデル群114に残る。
【0039】
いくつかの実装では、有効ホットワード選択部126は、同じアプリケーションがコンピューティングデバイス104上で動いているときでも有効ホットワード群112からホットワードを削除してよい。コンピューティングデバイス104が音楽アプリケーションを実行するとき、有効ホットワード選択部126は、ホットワード「流す」、「次」、「止める」および「戻る」を識別し、そしてホットワードモデル群114に対応するホットワードモデルをロードしてよい。この実例では、ホットワードは、コンピューティングデバイス104がホットワードモデルを要求するために、有効ホットワード群112に追加される必要はない。音楽が流れていると、有効ホットワード選択部126は、有効ホットワードとしてホットワード「次」、「止める」および「戻る」を含んでよい。音楽が止まって音楽アプリケーションが開いたままであれば、有効ホットワード選択部126は、有効ホットワード群112を「次」、「流す」および「戻る」に更新してよい。
【0040】
いくつかの実装では、ユーザインタフェース生成部144が、コンピューティングデバイス104上での表示のためのユーザインタフェースを生成する。ユーザインタフェースは、有効ホットワード群112を示してよい。例えば、ユーザインタフェースは、曲が流れ始めると、ユーザ102が「次」、「止める」または「戻る」と言って音楽を制御するように示してよい。音楽が止まると、ユーザインタフェースは、ユーザ102が「次」、「流す」および「戻る」と言って音楽を制御できることを示してよい。ユーザインタフェース生成部144は、ホットワードが有効であるときに通知を生成してもよい。
【0041】
例えば、ユーザインタフェースは、現在時刻が午後9時に達すると、ホットワード「アラームをセット」が有効であることを示してよい。同様に、ユーザインタフェースは、現在時刻が真夜中に達すると、ホットワード「アラームをセット」がもはや有効でないことを示してよい。ユーザインタフェースは、各ホットワードを発する効果を示してもよい。例えば、音楽アプリケーションが有効であり、かつ音楽が流れているとき、ユーザインタフェースは、「次」がプレイリストの次の曲に進み、「止める」が現在の曲が流れるのを止め、そして「戻る」がプレイリストの前の曲に戻ることを示してよい。
【0042】
いくつかの実装では、ユーザインタフェース生成部144は、異なるホットワードが有効であるときを制御するユーザインタフェースを生成してもよい。制御インタフェースは、ホットワードが有効であるときにコンテキストを含み、そしてユーザがホットワードが有効であるときにコンテキストを更新するのを可能にしてよい。追加的または代替的に、制御インタフェースは、ユーザ102が各コンテキストに対して有効であるホットワードを示すのを可能にしてよい。例えば、制御インタフェースは、ホットワード「ニュース」が午前8:00から午前10:00まで有効であることを示してよい。ユーザ102は、「ニュース」ホットワードが午前8:00から正午まで有効であるようにそのコンテキストを調節してよい。
【0043】
制御インタフェースは、音楽が流れているときにホットワード「次」、「止める」または「戻る」が有効であることを示してもよい。ユーザ102は、音楽を流すコンテキストのためのホットワードを「次」および「止める」だけであるように更新してよい。いくつかの実装では、制御インタフェースは、ユーザ102に既存のまたはカスタムコンテキストのためのカスタムホットワードを追加する能力を提供してもよい。例えば、ユーザ102は、ホットワードとして「母に電話」と制御インタフェースに入力し、常にホットワードを有効にさせ、そしてホットワードを検出した上で連絡先「母」に電話させてよい。ユーザ102は、音楽を流すコンテキストに「上げる」および「下げる」を追加し、そしてホットワードが音量を制御することを指定してもよい。ユーザは、午前11:00~午後1:00の時限に対応する新たなコンテキストを追加してもよい。ユーザは、その時限の間有効であるホットワード「昼食を注文」を追加し、そしてホットワードが食品注文アプリケーションを開くことになることを示してよい。
【0044】
ステージFで、ユーザ102は、ホットワード148を含む発話146を発する。コンピューティングデバイス104は、マイクロホンを通じて発話146を受信し、そして対応する音声データを処理する。ホットワード検出部108は、有効ホットワード群112のホットワードモデル群114を比較して、発話146がいくらかでも有効ホットワードを含むかどうかを識別する。ホットワード検出部108がホットワードを識別すれば、コンピューティングデバイスは対応する命令を行う。
図1に図示される例では、ユーザ102は「次」と発する。有効ホットワード群112は、「止める」、「次」および「戻る」であってよい。ホットワード検出部108は、発話146に対応する音声データを、「止める」、「次」および「戻る」に対応するホットワードモデル群114と比較し、そして発話146がホットワード「次」を含むと判定する。次の曲に進む命令に対応するホットワード「次」を検出することに基づいて、コンピューティングデバイスは、ステージGで次の曲150に進む。
【0045】
いくつかの実装では、ホットワード検出部108は、有効ホットワード群112の中ではないが、そのモデルがまだホットワードモデル群に記憶されているホットワードを検出してよい。この実例では、ホットワード検出部108は、ユーザインタフェース生成部144に、ホットワードが現在有効でないことを示すユーザインタフェースを生成するよう指示を提供してよい。例えば、ユーザ102は、音楽が流れているときに「流す」と発するかもしれない。ホットワード検出部108は、ホットワード「流す」を識別してよい。ホットワードが有効でないので、コンピューティングデバイス104は行為を行わない。しかしながら、ユーザインタフェース生成部144は、ホットワード「流す」が有効でないことを示し、かつ有効ホットワードが「止める」、「次」および「戻る」であると示すインタフェースを生成してよい。
【0046】
いくつかの実装では、コンピューティングデバイス104は、デフォルトホットワード「オーケーコンピュータ」を識別するように更に構成されてよい。この実例では、コンピューティングデバイス104は、音声認識を使用して「オーケーコンピュータ」に続く音声データを処理し、そしてその後の音声データの転写に基づいて適切な行為を実行してよい。例えば、音楽が流れている間にユーザ102が「オーケーコンピュータ、次」と話せば、コンピューティングデバイス104は、「オーケーコンピュータ」ホットワードを識別し、そして命令「次」を含む音声データのその後の部分を転写した後で、次の曲に進む。
【0047】
同様に、文脈ホットワードの後に命令が続くことができる。「昼食を注文」例を続けると、ユーザ102は、ホットワードが有効である時間の間に「昼食を注文、サンドイッチデリに」と話してよい。この実例では、ホットワード検出部108は、「昼食を注文」ホットワードを識別する。音声認識部116は、転写「サンドイッチデリに」を生成する。コンピューティングデバイス104は、食品注文アプリケーションを開き、そしてサンドイッチデリメニューを開いてよい。
【0048】
いくつかの実装では、ホットワード検出部108は、処理した音声データの各初期部分に対してホットワード信頼スコアを生成する。ホットワード信頼スコアが閾値を満たせば、ホットワード検出部108は、音声データがホットワードを含むと判定する。例えば、ホットワード信頼スコアが0.9であり、そしてホットワード信頼閾値が0.8であれば、ホットワード検出部108は、音声データがホットワードを含むと判定する。
【0049】
いくつかの実装では、ホットワード信頼スコアが閾値未満の範囲にあれば、ユーザインタフェース生成部144は、ユーザ102がホットワードを発したという確認を求めるインタフェースを生成してよい。例えば、ホットワード信頼スコアは0.7であってよい。範囲が0.6と0.8との間であれば、ユーザインタフェース生成部144は、ユーザ102がホットワードを確認するまたは繰り返すように要求するユーザインタフェースを生成してよい。いくつかの実装では、かつユーザ102がホットワードを発したことをユーザ102が確認すれば、コンピューティングデバイス104は、音声データを使用して、将来の性能を改善するためにホットワードモデルを更新してよい。音声データにあまりに多くのノイズがあれば、コンピューティングデバイス104は、音声データを使用しなくてよい。
【0050】
図2は、文脈ホットワードを識別および処理するためのプロセス例200を例示する。概して、プロセス200は、デバイスのコンテキストに基づいてホットワードを識別し、そしてユーザがホットワードを発すると、プロセスが対応する行為を行うように、ホットワードに行為を割り当てる。プロセス200は、1つまたは複数のコンピュータを備えるコンピュータシステム、例えば、
図1に図示されるシステム100によって行われると説明されることになる。
【0051】
システムは、コンピューティングデバイスと関連したコンテキストを判定する(210)。いくつかの実装では、システムは、システム上で動いているアプリケーションを識別する。システムは、システム上で動いているアプリケーションに基づいてコンテキストを判定する。例えば、アプリケーションは、音楽アプリケーションであってよい。この場合、コンテキストは、音楽を流しているであってよい。システムは、バックグラウンドおよびフォアグラウンドで動いているアプリケーション間を区別してもよい。例えば、バックグラウンドまたはフォアグラウンドで動いておりかつ音楽を流している音楽アプリケーションは、まだ音楽を流している同じコンテキストを有してよい。バックグラウンドで動いているブラウザなどのアプリケーションは、コンテキストに影響を及ぼさないことがある。いくつかの実装では、コンテキストは、デバイスがロックされているときなど、デバイスの状態に関連されてもよい。コンテキストは、画面上に表示されているもの、例えば、「ホーム画面」に関連されてもよい。
【0052】
いくつかの実装では、コンテキストは、システムの移動に基づいてよい。例えば、システムが車と同様である速度で移動していれば、システムは、コンテキストが「車内」であると判定してよい。いくつかの実装では、コンテキストは、コンピューティングデバイスの位置に基づいてよい。例えば、システムは、ユーザの自宅に設けられてよい。この場合、デバイスのコンテキストは「在宅」であってよい。いくつかの実装では、コンテキストは、コンテキストの組合せであってよい。例えば、コンテキストは、システムがロックされかつユーザの自宅にあるときに対して、「自宅でロック」されているであってよい。
【0053】
システムは、システムと関連したコンテキストに基づいて、ホットワードを判定する(220)。いくつかの実装では、システムは、ソフトウェアで識別されるホットワードに基づいてホットワードを判定する。例えば、音楽アプリケーションは、コンテキストが「音楽を流している」であるときおよび音楽が止められかつ音楽アプリケーションが開いているときに対してホットワードを識別してよい。
【0054】
いくつかの実装では、システムは、以前の使用に基づいてホットワードを判定してよい。例えば、ユーザが或る時間範囲の間にニュースを典型的に読む場合、システムは、コンテキストがその時間範囲にあるときに対してホットワード「ニュース」を判定してよい。いくつかの実装では、システムは、ホットワードを表示し、そして表示内にホットワードによって行われる行為を示してよい。システムは、ホットワードが有効になるときおよびシステムがそれを無効にするときに通知を提供してよい。
【0055】
システムは、ホットワードを判定した後に、発話に対応する音声データを受信する(230)。いくつかの実装では、システムは、サーバにホットワードに対するホットワードモデルを要求し、そしてシステムは、ホットワードを判定する。例えば、システムがホットワード「次」を判定すれば、システムは、「次」に対するホットワードモデルをサーバに要求してよい。
【0056】
システムは、音声データがホットワードを含むと判定する(240)。いくつかの実装では、システムは、音声データに音声認識を行うことなく音声データがホットワードを含むと判定する。いくつかの実装では、システムは、発話に対応する音声データの音声特徴を抽出することによって、音声データがホットワードを含むと判定する。システムは、音声特徴を処理することによって、および場合により音声特徴をホットワードモデルのそれらと比較することによって、ホットワード信頼スコアを生成する。
【0057】
ホットワード信頼スコアがホットワード信頼閾値を満たせば、システムは、音声データがホットワードを含むと判定する。ホットワード信頼スコアがホットワード信頼閾値を満たさなければ、システムは、音声データがホットワードを含まないと判定する。例えば、ホットワード信頼閾値が0.8であれば、0.8を上回るホットワード信頼スコアを持つ音声データはホットワードを含むとして分類されることになり、そして0.8を下回るホットワード信頼スコアを持つ音声データはホットワードを含まないとして分類されることになる。
【0058】
いくつかの実装では、音声データは、ホットワードだけを含む。例えば、ユーザは「次」と発するだけでよく、これがホットワードとなる。いくつかの実装では、音声データの初期部分がホットワードを含む。例えば、ホットワードは「昼食を注文」であってよく、そしてユーザは「昼食を注文、サンドイッチデリに」と話してよい。この実例では、システムは、ホットワード「昼食を注文」を識別し、そして音声認識を使用してホットワードに続く音声データの一部分を処理する。
【0059】
システムは、音声データがホットワードを含むとの判定に応答して、ホットワードと関連した動作を行う(250)。いくつかの実装では、システムは、ホットワードを使用して行為を識別する。例えば、音楽が流れており、そしてユーザが「次」と発すると、システムは曲を進める。
【0060】
いくつかの実装では、システムは、コンテキストがもはや有効でないときに有効ホットワードリストからホットワードを削除する。例えば、ユーザが音楽を流すのを止めれば、システムは、有効ホットワードのリストからホットワード「次」を削除する。ユーザがこの場合に「次」と発する場合、システムは「次」に応答して行為を行わない。
【0061】
いくつかの実装では、動作は、ホットワードおよびホットワードに続く任意の音声データに、またはホットワードに続く音声データだけに基づいてよい。例えば、有効ホットワードは「方向」であってよく、そしてユーザは「方向自宅」と発してよい。この場合、システムは、地図アプリケーションを開き、そしてユーザの自宅へのユーザ方向を提供し始めてよい。
【0062】
いくつかの実装では、動作は、ホットワードに続く音声データに依存していてよい。ホットワードに続く音声データに応じて有効ホットワードが異なる動作を有してよい実例があってよい。例えば、ユーザが在宅であってよく、そしてシステムは音楽を流していてよい。在宅であるユーザは、サーモスタットの温度を上げるためにシステムにホットワード「上げる」を有効にさせてよい。音楽を流しているシステムも、音楽の音量を上げるためにシステムにホットワード「上げる」を有効にさせてよい。この場合、システムは、以下の手段の1つまたは複数でこの競合を軽減してよい。
【0063】
システムは、ホットワードを「温度を上げる」および「音量を上げる」であるように更新してよい。システムは、ユーザが「上げる」と言う場合、ユーザは音楽音量を上げるためには「音量を上げる」またはサーモスタットの温度を上げるためには「温度を上げる」と話すべきであるという指示を画面上に表示してよい。代替的に、システムは、「上げる」をホットワードとして保ち、そして「上げる」の後に引数を必要として、システムが「上げる」の後の任意の音声データに音声認識を行って、またはユーザに明確化を要求してよい。例えば、ユーザは「上げる」と発してよい。システムは、ユーザが何を上げるかを明らかにするために、要求を表示し、または要求の合成音声を流してよい。
【0064】
いくつかの実装では、システムは、発声ホットワードに対する引数または添え字の存在下の、時には発声ホットワードに対する引数または添え字の存在下でだけ、有効ホットワードの検出を行ってよい。例えば、有効ホットワードが「アラームをセット」でよい。システムは、「午前6:00に」または「明朝に」などの引数が続くときにホットワード「アラームをセット」を承認するだけでよい。この場合、システムは、ホットワードに続く音声データの一部分に音声認識を行い、そしてホットワードの後に追加の発語が続かなければ、ホットワードを承認しなくてよい。いくつかの実装では、追加の発語は、ホットワードが受け入れる引数である。ホットワード「アラームをセット」は、「ツナサンドイッチ」でなく「午前6:00に」などの引数を受け入れてよい。
【0065】
いくつかの実装では、システムは、音声データが2つ以上のホットワードを含むと判定してよい。これは、現在の有効ホットワードが同じように聞こえるために発生することがある。例えば、2つの有効ホットワードは、「次(next)」および「テキスト(text)」であってよい。いくつかの実装では、システムは、音声データが、必ずしもどのホットワードでなく、あるホットワードを含むと判定するだけでよい。システムが2つ以上のホットワードモデルが音声データと一致すると判定する場合、システムは、ホットワードを含む音声データの一部分に音声認識を行って、ユーザがどのホットワードを発したかを判定してよい。
【0066】
図3は、ここで記載される技術を実装するために使用され得るコンピューティングデバイス300およびモバイルコンピューティングデバイス350の例を図示する。コンピューティングデバイス300は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレームおよび他の適切なコンピュータなど、デジタルコンピュータの様々な形態を表すと意図される。モバイルコンピューティングデバイス350は、携帯情報端末、セルラ電話、スマートフォンおよび他の同様のコンピューティングデバイスなど、モバイルデバイスの様々な形態を表すと意図される。ここで図示される部品、それらの接続および関係、ならびにそれらの機能は単に例であると意味され、限定的であるとは意味されない。
【0067】
コンピューティングデバイス300は、プロセッサ302、メモリ304、記憶デバイス306、メモリ304および複数の高速拡張ポート310に接続する高速インタフェース308、ならびに低速拡張ポート314および記憶デバイス306に接続する低速インタフェース312を含む。プロセッサ302、メモリ304、記憶デバイス306、高速インタフェース308、高速拡張ポート310および低速インタフェース312の各々は、様々なバスを使用して相互接続され、かつ一般のマザーボード上にまたは適宜他の方式で装着されてよい。プロセッサ302は、高速インタフェース308に結合されるディスプレイ316などの外部入出力デバイス上にGUIのためのグラフィック情報を表示するためにメモリ304にまたは記憶デバイス306に記憶される命令を含め、コンピューティングデバイス300内の実行のための命令を処理できる。他の実装では、複数のプロセッサおよび/または複数のバスが、適宜、複数のメモリおよび複数の種類のメモリと共に使用されてよい。また、複数のコンピューティングデバイスが接続されて、(例えば、サーババンク、一群のブレードサーバまたはマルチプロセッサシステムとして)、各デバイスが必要な動作の一部分を提供してよい。
【0068】
メモリ304は、コンピューティングデバイス300内の情報を記憶する。いくつかの実装では、メモリ304は、1つまたは複数の揮発性メモリユニットである。いくつかの実装では、メモリ304は、1つまたは複数の不揮発性メモリユニットである。メモリ304は、磁気または光ディスクなどの、コンピュータ可読媒体の別の形態であってもよい。
【0069】
記憶デバイス306は、コンピューティングデバイス300に大容量記憶を提供することが可能である。いくつかの実装では、記憶デバイス306は、フロッピーディスク(登録商標)デバイス、ハードディスクデバイス、光ディスクデバイスもしくはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくは他の構成のデバイスを含め、デバイスのアレイなど、コンピュータ可読媒体であっても、またはそれを含んでもよい。命令が情報担体に記憶され得る。命令は、1つまたは複数の処理デバイス(例えば、プロセッサ302)によって実行されると、上記のものなど、1つまたは複数の方法を行う。命令は、コンピュータまたは機械可読媒体(例えば、メモリ304、記憶デバイス306またはプロセッサ302上のメモリ)など、1つまたは複数の記憶デバイスによっても記憶され得る。
【0070】
高速インタフェース308がコンピューティングデバイス300のための帯域幅集約動作を管理する一方で、低速インタフェース312は低帯域幅集約動作を管理する。そのような機能の割振りは単に例である。いくつかの実装では、高速インタフェース308は、メモリ304、ディスプレイ316(例えば、グラフィックプロセッサまたはアクセラレータを通じて)に、および高速拡張ポート310に結合され、これは様々な拡張カードを受け入れることができる。実装では、低速インタフェース312は、記憶デバイス306および低速拡張ポート314に結合される。低速拡張ポート314は、様々な通信ポート(例えば、USB、ブルートゥース(登録商標)、イーサネット(登録商標)、無線イーサネット(登録商標)を含んでよく、キーボード、ポインティングデバイス、スキャナ、または、例えば、ネットワークアダプタを通じてスイッチもしくはルータなどのネットワークデバイスなどの、1つまたは複数の入出力デバイスに結合されてよい。
【0071】
コンピューティングデバイス300は、図に図示されるように、いくつかの異なる形態で実装されてよい。例えば、それは、標準サーバ320として、または何度も一群のそのようなサーバにおいて実装されてよい。加えて、それは、ラップトップコンピュータ322などのパーソナルコンピュータにおいて実装されてよい。それは、ラックサーバシステム324の一部として実装されてもよい。代替的に、コンピューティングデバイス300からの部品が、モバイルコンピューティングデバイス350などのモバイルデバイスの他の部品と組み合わされてよい。そのようなデバイスの各々は、コンピューティングデバイス300およびモバイルコンピューティングデバイス350の1つまたは複数を含んでよく、そして全システムは、互いと通信する複数のコンピューティングデバイスから構成されてよい。
【0072】
モバイルコンピューティングデバイス350は、他の部品の中でも、プロセッサ352、メモリ364、ディスプレイ354などの入出力デバイス、通信インタフェース366および送受信部368を含む。モバイルコンピューティングデバイス350は、マイクロドライブまたは他のデバイスなどの記憶デバイスも設けられて追加記憶を提供してよい。プロセッサ352、メモリ364、ディスプレイ354、通信インタフェース366および送受信部368の各々は、様々なバスを使用して相互接続され、そして部品のいくつかは、一般のマザーボード上にまたは適宜他の方式で装着されてよい。
【0073】
プロセッサ352は、メモリ364に記憶される命令を含め、モバイルコンピューティングデバイス350内の命令を実行できる。プロセッサ352は、別々のかつ複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実装されてよい。プロセッサ352は、例えば、ユーザインタフェース、モバイルコンピューティングデバイス350によって動かされるアプリケーションおよびモバイルコンピューティングデバイス350による無線通信の制御などの、モバイルコンピューティングデバイス350のその他の部品の協調を提供してよい。
【0074】
プロセッサ352は、ディスプレイ354に結合される制御インタフェース358およびディスプレイインタフェース356を通じてユーザと通信してよい。ディスプレイ354は、例えば、TFT(薄膜トランジスタ液晶ディスプレイ)ディスプレイもしくはOLED(有機発光ダイオード)ディスプレイ、または他の適切なディスプレイ技術であってよい。ディスプレイインタフェース356は、ディスプレイ354を駆動してユーザにグラフィックおよび他の情報を提示するための適切な回路網を備えてよい。制御インタフェース358は、ユーザから命令を受け、そしてそれらをプロセッサ352への発信のために変換してよい。加えて、外部インタフェース362が、モバイルコンピューティングデバイス350の、他のデバイスとの近領域通信を可能にするように、プロセッサ352との通信を提供してよい。外部インタフェース362は、例えば、いくつかの実装では有線通信を、または他の実装では無線通信を提供してよく、そして複数のインタフェースが使用されてもよい。
【0075】
メモリ364は、モバイルコンピューティングデバイス350内の情報を記憶する。メモリ364は、1つもしくは複数のコンピュータ可読媒体、1つもしくは複数の揮発性メモリユニットまたは1つもしくは複数の不揮発性メモリユニットの1つまたは複数として実装され得る。拡張メモリ374も設けられて、モバイルコンピューティングデバイス350に拡張インタフェース372を通じて接続されてよく、それは、例えば、SIMM(シングルインラインメモリモジュール)カードインタフェースを含んでよい。拡張メモリ374は、モバイルコンピューティングデバイス350のための追加の記憶空間を提供してよく、またはモバイルコンピューティングデバイス350のためのアプリケーションもしくは他の情報を記憶してもよい。詳細には、拡張メモリ374は、上記のプロセスを実施または補足する命令を含んでよく、かつ安全な情報も含んでよい。したがって、例えば、拡張メモリ374は、モバイルコンピューティングデバイス350のためのセキュリティモジュールとして設けられてよく、かつモバイルコンピューティングデバイス350の安全な使用を許可する命令がプログラムされてよい。加えて、SIMMカード上に非ハッキング可能な方式で識別情報を置くことなど、安全なアプリケーションが、追加情報と共に、SIMMカードを介して提供されてよい。
【0076】
メモリは、後述されるように、例えば、フラッシュメモリおよび/またはNVRAMメモリ(不揮発性ランダムアクセスメモリ)を含んでよい。いくつかの実装では、命令が情報担体に記憶される。命令は、1つまたは複数の処理デバイス(例えば、プロセッサ352)によって実行されると、上記のものなど、1つまたは複数の方法を行う。命令は、1つまたは複数のコンピュータまたは機械可読媒体(例えば、メモリ364、拡張メモリ374またはプロセッサ352上のメモリ)など、1つまたは複数の記憶デバイスによっても記憶され得る。いくつかの実装では、命令は、例えば、送受信部368または外部インタフェース362を通じて、伝搬信号で受信され得る。
【0077】
モバイルコンピューティングデバイス350は、通信インタフェース366を通じて無線で通信してよく、それは必要に応じ、デジタル信号処理回路網を含んでよい。通信インタフェース366は、とりわけ、GSM(登録商標)音声通話(グローバルシステムフォーモバイルコミュニケーションズ)、SMS(ショートメッセージサービス)、EMS(拡張メッセージサービス)もしくはMMSメッセージ送信(マルチメディアメッセージサービス)、CDMA(登録商標)(符号分割多元接続)、TDMA(時分割多元接続)、PDC(パーソナルデジタルセルラ)、WCDMA(登録商標)(広帯域符号分割多元接続)、CDMA2000、またはGPRS(汎用パケット無線サービス)などの、様々なモードまたはプロトコル下で通信を提供してよい。そのような通信は、例えば、無線周波数を使用して送受信部368を通じて発生してよい。加えて、ブルートゥース(登録商標)、WiFiまたは他のそのような送受信部を使用してなど、短距離通信が発生してよい。加えて、GPS(全地球測位システム)受信部モジュール370が、モバイルコンピューティングデバイス350に追加のナビゲーションおよび位置関連無線データを提供してよく、それはモバイルコンピューティングデバイス350上で動いているアプリケーションによって適宜使用されてよい。
【0078】
モバイルコンピューティングデバイス350は、音声コーデック360を使用して可聴に通信してもよく、それはユーザから発声情報を受信し、そしてそれを使用可能なデジタル情報に変換してよい。音声コーデック360は同様に、例えば、モバイルコンピューティングデバイス350のハンドセットのスピーカを通してなど、ユーザに対して可聴音を生成してよい。そのような音は、音声通話からの音を含んでよく、録音(例えば、音声メッセージ、音楽ファイル等)を含んでよく、そしてモバイルコンピューティングデバイス350上で動作しているアプリケーションによって生成される音も含んでよい。
【0079】
モバイルコンピューティングデバイス350は、図に図示されるように、いくつかの異なる形態で実装されてよい。例えば、それは、セルラ電話380として実装されてよい。それは、スマートフォン382、携帯情報端末または他の同様のモバイルデバイスの一部として実装されてもよい。
【0080】
ここで記載されているシステムおよび技術の様々な実装は、デジタル電子回路網、集積回路網、特別設計のASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェアおよび/またはそれらの組合せで実現され得る。これらの様々な実装は、記憶システム、少なくとも1つの入力デバイスおよび少なくとも1つの出力デバイスからデータおよび命令を受けるように、かつそれらにデータおよび命令を送るように結合される、専用または汎用であってよい、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能である1つまたは複数のコンピュータプログラムによる実装を含むことができる。
【0081】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られる)は、プログラマブルプロセッサ用の機械命令を含み、そして高水準手続き型および/もしくはオブジェクト指向プログラミング言語で、ならびに/またはアセンブリ/機械語で実装され得る。本明細書において使用される場合、機械可読媒体およびコンピュータ可読媒体という用語は、機械可読信号として機械命令を受ける機械可読媒体を含むプログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、装置および/またはデバイス(例えば、磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス(PLD))を指す。機械可読信号という用語は、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意の信号を指す。
【0082】
ユーザとの対話を提供するために、ここで記載されるシステムおよび技術は、ユーザに情報を表示するためのディスプレイデバイス(例えば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)ならびにユーザがコンピュータに入力を提供できるキーボードおよびポインティングデバイス(例えば、マウスまたはトラックボール)を有するコンピュータ上に実装され得る。ユーザとの対話を提供するために他の種類のデバイスも使用され得る;例えば、ユーザに提供されるフィードバックは任意の形態の感覚フィードバック(例えば、視覚フィードバック、聴覚フィードバックまたは触覚フィードバック)であり得;そしてユーザからの入力は、音響、音声または触覚入力を含め、任意の形態で受け取られ得る。
【0083】
ここで記載されるシステムおよび技術は、バックエンド部品(例えば、データサーバとして)を含む、あるいはミドルウェア部品(例えば、アプリケーションサーバ)を含む、あるいはフロントエンド部品(例えば、ユーザがここで記載されるシステムおよび技術の実装と対話できるグラフィカルユーザインタフェースもしくはウェブブラウザを有するクライアントコンピュータ)、またはそのようなバックエンド、ミドルウェアもしくはフロントエンド部品の任意の組合せを含む、コンピューティングシステムにおいて実装され得る。システムの部品は、デジタルデータ通信の任意の形態または媒体(例えば、通信ネットワーク)によって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)およびインターネットを含む。
【0084】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に互いから離れており、典型的に通信ネットワークを通じて対話する。クライアントおよびサーバの関係は、それぞれのコンピュータ上で動いており、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。
【0085】
以上いくつかの実装が詳細に記載されたが、他の変更が可能である。例えば、クライアントアプリケーションがデリゲートにアクセスすると記載されるのに対して、他の実装では、デリゲートは、1つまたは複数のサーバ上で実行しているアプリケーションなどの、1つまたは複数のプロセッサによって実装される他のアプリケーションによって利用されてよい。加えて、図に描かれる論理フローは、望ましい結果を達成するために、図示される特定の順序または順番を必要としない。加えて、記載されたフローから、他の行為が設けられてよく、または行為が除かれてよく、そして記載されたシステムに他の部品が追加されても、またはそれから削除されてもよい。したがって、他の実装は以下の特許請求の範囲の範囲内である。
【符号の説明】
【0086】
100 システム
102 ユーザ
104 コンピューティングデバイス
106 発話
108 ホットワード検出部
110 ホットワード
112 有効ホットワード
114 ホットワードモデル、ホットワード語モデル
116 音声認識部
118 語、命令
120 サーバ
122 音楽
124 コンテキスト識別部
126 有効ホットワード選択部
128 要求
130 ホットワードモデル
132 ネットワーク
134 収集音声データ、音声データ
136 音声認識部
138 音声データトークナイザ
140 ホットワードモデル生成部
142 応答
144 ユーザインタフェース生成部
146 発話
148 ホットワード
150 次の曲
200 プロセス
300 コンピューティングデバイス
302 プロセッサ
304 メモリ
306 記憶デバイス
308 高速インタフェース
310 高速拡張ポート
312 低速インタフェース
314 低速拡張ポート
316 ディスプレイ
320 標準サーバ
322 ラップトップコンピュータ
324 ラックサーバシステム
350 モバイルコンピューティングデバイス
352 プロセッサ
354 ディスプレイ
356 ディスプレイインタフェース
358 制御インタフェース
360 音声コーデック
362 外部インタフェース
364 メモリ
366 通信インタフェース
368 送受信部
370 GPS(全地球測位システム)受信部モジュール
372 拡張インタフェース
374 拡張メモリ
380 セルラ電話
382 スマートフォン