(57)【特許請求の範囲】
【請求項１】
(i)分類器サーバと(ii)自動アシスタントデバイスとを含む分類システムの前記自動アシスタントデバイスによって、発話に対応するオーディオデータを受け取るステップと、
前記分類器サーバによって、前記発話のトランスクリプションを取得するステップと、
前記分類器サーバによって、前記オーディオデータに対応する音響特徴ベクトルを生成するステップと、
前記分類器サーバによって、前記発話の前記トランスクリプションに対応する音響特徴ベクトルを生成するステップと、
前記分類器サーバによって、(i)前記オーディオデータに対応する前記音響特徴ベクトルおよび(ii)前記発話の前記トランスクリプションに対応する前記音響特徴ベクトルをニューラルネットワークベースの分類器に提供するステップであって、前記ニューラルネットワークベースの分類器が、オーディオデータに対応する所与の音響特徴ベクトルおよび発話のトランスクリプションに対応する所与の音響特徴ベクトルに基づいて、前記オーディオデータに対応する前記所与の音響特徴ベクトルに関連する所与の発話が自動アシスタントに向けられる可能性が高いか、それとも自動アシスタントに向けられる可能性が低いかの指示を出力するようにトレーニングされる、ステップと、
前記分類器サーバによって、受け取った前記オーディオデータに対応する前記発話が前記自動アシスタントに向けられる可能性が高いとの指示を、前記分類器が出力したと判定するステップと、
前記分類器サーバによって、受け取った前記オーディオデータに対応する前記発話が前記自動アシスタントに向けられる可能性が高いとの前記指示に少なくとも基づいて、前記発話への応答を生成するために、前記自動アシスタントデバイスに命令するステップと、
前記自動アシスタントデバイスによって、出力のため、前記分類器サーバによる前記命令に基づいて、前記発話への前記応答を生成するステップと、
前記自動アシスタントデバイスによって、出力のため、前記生成された応答を提供するステップと
を含むコンピュータ実装方法。
【請求項２】
(i)前記オーディオデータに対応する前記音響特徴ベクトルおよび(ii)前記発話の前記トランスクリプションに対応する前記音響特徴ベクトルを前記分類器に提供するステップが、
(i)前記オーディオデータに対応する前記音響特徴ベクトルと(ii)前記発話に対応する前記音響特徴ベクトルとの間の連結に対応する入力音響特徴ベクトルを生成するステップと、
連結された前記入力音響特徴ベクトルを前記分類器に提供するステップと
をさらに含む請求項1に記載のコンピュータ実装方法。
【請求項３】
(i)前記オーディオデータに対応する前記音響特徴ベクトルと(ii)前記発話の前記トランスクリプションに対応する前記音響特徴ベクトルとの間の前記連結に対応する前記入力音響特徴ベクトルを生成するステップが、
前記発話の前記トランスクリプション内で認識される1つまたは複数のワードから変換された1つまたは複数の数値ベクトルを生成するステップと、
前記1つまたは複数の数値ベクトルを含む数値ベクトルの行列を生成し、前記分類器に提供するステップと
をさらに含む請求項2に記載のコンピュータ実装方法。
【請求項４】
ワード埋込みモデルにおいて、前記発話に対応する認識可能なテキストを音声認識器から受け取るステップと、
前記ワード埋込みモデルにおいて、前記認識可能なテキストから前記発話の前記トランスクリプションを生成するステップと、
前記ワード埋込みモデルから、前記発話の前記トランスクリプションを前記分類器に提供するステップと
をさらに含む請求項2に記載のコンピュータ実装方法。
【請求項５】
前記オーディオデータに対応する前記音響特徴ベクトルが音響メル周波数ケプストラム係数(MFCC)値を含む請求項1に記載のコンピュータ実装方法。
【請求項６】
前記ワード埋込みモデルの最大プーリング層によって、埋込み単位を含む前記発話の前記トランスクリプションを提供するステップと、
音響ニューラルネットワークによって、オーディオ単位を含む前記オーディオデータに対応する前記音響特徴ベクトルを提供するステップと、
前記埋込み単位および前記オーディオ単位を表現単位入力に連結するステップと、
前記表現単位入力を前記分類器に対する入力として提供するステップと
をさらに含む請求項4に記載のコンピュータ実装方法。
【請求項７】
前記分類器サーバが、ネットワークを介して前記自動アシスタントデバイスと通信している請求項1に記載のコンピュータ実装方法。
【請求項８】
(i)分類器サーバと(ii)自動アシスタントデバイスとを含む分類システムであって、前記分類システムが、
1つまたは複数のコンピュータと、
前記1つまたは複数のコンピュータによって実行されるとき、前記1つまたは複数のコンピュータに、
前記自動アシスタントデバイスによって、発話に対応するオーディオデータを受け取ること、
前記分類器サーバによって、前記発話のトランスクリプションを取得すること、
前記分類器サーバによって、前記オーディオデータに対応する音響特徴ベクトルを生成すること、
前記分類器サーバによって、前記発話の前記トランスクリプションに対応する音響特徴ベクトルを生成すること、
前記分類器サーバによって、(i)前記オーディオデータに対応する前記音響特徴ベクトルおよび(ii)前記発話の前記トランスクリプションに対応する前記音響特徴ベクトルをニューラルネットワークベースの分類器に提供することであって、前記ニューラルネットワークベースの分類器が、前記オーディオデータに対応する所与の音響特徴ベクトルおよび発話の前記トランスクリプションに対応する所与の音響特徴ベクトルに基づいて、前記オーディオデータに対応する前記所与の音響特徴ベクトルに関連する所与の発話が自動アシスタントに向けられる可能性が高いか、それとも自動アシスタントに向けられる可能性が低いかの指示を出力するようにトレーニングされる、提供すること、
前記分類器サーバによって、受け取った前記オーディオデータに対応する前記発話が前記自動アシスタントに向けられる可能性が高いとの指示を、前記分類器が出力したと判定すること、および
前記分類器サーバによって、受け取った前記オーディオデータに対応する前記発話が前記自動アシスタントに向けられる可能性が高いとの前記指示に少なくとも基づいて、前記発話への応答を生成するために、前記自動アシスタントデバイスに命令すること、
前記自動アシスタントデバイスによって、出力のため、前記分類器サーバによる前記命令に基づいて、前記発話への前記応答を生成することと、
前記自動アシスタントデバイスによって、出力のため、前記生成された応答を提供することと
を含む動作を実施させるように動作可能である命令を記憶した1つまたは複数の記憶デバイスと
を備えるシステム。
【請求項９】
(i)前記オーディオデータに対応する前記音響特徴ベクトルおよび(ii)前記発話の前記トランスクリプションに対応する前記音響特徴ベクトルを前記分類器に提供することが、
(i)前記オーディオデータに対応する前記音響特徴ベクトルと(ii)前記発話に対応する前記音響特徴ベクトルとの間の連結に対応する入力音響特徴ベクトルを生成すること、および
連結された前記入力音響特徴ベクトルを前記分類器に提供すること
をさらに含む請求項8に記載のシステム。
【請求項１０】
(i)前記オーディオデータに対応する前記音響特徴ベクトルと(ii)前記発話の前記トランスクリプションに対応する前記音響特徴ベクトルとの間の前記連結に対応する前記入力音響特徴ベクトルを生成することが、
前記発話の前記トランスクリプション内で認識される1つまたは複数のワードから変換された1つまたは複数の数値ベクトルを生成すること、および
前記1つまたは複数の数値ベクトルを含む数値ベクトルの行列を生成し、前記分類器に提供すること
をさらに含む請求項9に記載のシステム。
【請求項１１】
ワード埋込みモデルにおいて、前記発話に対応する認識可能なテキストを音声認識器から受け取ること、
ワード埋込みモデルにおいて、前記認識可能なテキストから前記発話の前記トランスクリプションを生成すること、および
前記ワード埋込みモデルから、前記発話の前記トランスクリプションを前記分類器に提供すること
をさらに含む請求項9に記載のシステム。
【請求項１２】
前記ワード埋込みモデルの最大プーリング層によって、埋込み単位を含む前記発話の前記トランスクリプションを提供すること、
音響ニューラルネットワークによって、オーディオ単位を含む前記オーディオデータに対応する前記音響特徴ベクトルを提供すること、
前記埋込み単位および前記オーディオ単位を表現単位入力に連結すること、および
前記表現単位入力を前記分類器に対する入力として提供すること
をさらに含む請求項11に記載のシステム。
【請求項１３】
前記オーディオデータに対応する前記音響特徴ベクトルが音響メル周波数ケプストラム係数(MFCC)値を含む請求項8に記載のシステム。
【請求項１４】
前記分類器サーバが、ネットワークを介して前記自動アシスタントデバイスと通信している請求項8に記載のシステム。
【請求項１５】
1つまたは複数のコンピュータによって実行可能な命令を含むソフトウェアを記憶した非一時的コンピュータ可読記録媒体であって、前記命令が実行されると、前記1つまたは複数のコンピュータに、
(i)分類器サーバと(ii)自動アシスタントデバイスとを含む分類システムの自動アシスタントデバイスによって、発話に対応するオーディオデータを受け取ること、
前記分類器サーバによって、前記発話のトランスクリプションを取得すること、
前記分類器サーバによって、前記オーディオデータに対応する音響特徴ベクトルを生成すること、
前記分類器サーバによって、前記発話の前記トランスクリプションに対応する音響特徴ベクトルを生成すること、
前記分類器サーバによって、(i)前記オーディオデータに対応する前記音響特徴ベクトルおよび(ii)前記発話の前記トランスクリプションに対応する前記音響特徴ベクトルをニューラルネットワークベースの分類器に提供することであって、前記ニューラルネットワークベースの分類器が、前記オーディオデータに対応する所与の音響特徴ベクトルおよび発話の前記トランスクリプションに対応する所与の音響特徴ベクトルに基づいて、前記オーディオデータに対応する前記所与の音響特徴ベクトルに関連する所与の発話が自動アシスタントに向けられる可能性が高いか、それとも自動アシスタントに向けられる可能性が低いかの指示を出力するようにトレーニングされる、提供すること、
前記分類器サーバによって、受け取った前記オーディオデータに対応する前記発話が前記自動アシスタントに向けられる可能性が高いとの指示を、前記分類器が出力したと判定すること、および
前記分類器サーバによって、受け取った前記オーディオデータに対応する前記発話が前記自動アシスタントに向けられる可能性が高いとの前記指示に少なくとも基づいて、前記発話への応答を生成するために、前記自動アシスタントデバイスに命令すること、
前記自動アシスタントデバイスによって、出力のため、前記分類器サーバによる前記命令に基づいて、前記発話への前記応答を生成することと、
前記自動アシスタントデバイスによって、出力のため、前記生成された応答を提供することと
を含む動作を実施させる非一時的コンピュータ可読記録媒体。
【請求項１６】
(i)前記オーディオデータに対応する前記音響特徴ベクトルおよび(ii)前記発話の前記トランスクリプションに対応する前記音響特徴ベクトルを前記分類器に提供することが、
(i)前記オーディオデータに対応する前記音響特徴ベクトルと(ii)前記発話に対応する前記音響特徴ベクトルとの間の連結に対応する入力音響特徴ベクトルを生成すること、および
連結された前記入力音響特徴ベクトルを前記分類器に提供すること
をさらに含む請求項15に記載の非一時的コンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、一般には分類に関し、より詳細には、ニューラルネットワークを使用する分類に関する。
【背景技術】
【０００２】
音声対応環境は、ユーザが照会またはコマンドを声に出して話すことができ、コンピュータベースのシステムが音声認識(speech recognition)技法を使用して照会を取得し、照会に回答し、かつ/またはコマンドを実施させるものである。音声対応環境は、環境の様々な部屋またはエリア全体にわたって分散した、接続されたマイクロフォンデバイスのネットワークを含み得る。ユーザは、コンピュータまたは他のデバイスをユーザの正面にし、さらには近くにする必要なしに、音声対応環境内の本質的に任意の場所からコンピュータベースのシステムに口頭で照会する能力を有する。たとえば、朝に着替える間に、ユーザは、コンピュータベースのシステムに「外の気温は?」と尋ね、それに応答して、システムから合成音声出力の形態で回答を受け得る。他の例では、ユーザは、コンピュータベースのシステムに「私のお気に入りのレストランは何時に開店するか?」や「最も近いガソリンスタンドはどこ?」などと尋ね得る。
【発明の概要】
【課題を解決するための手段】
【０００３】
音声対応環境では、ユーザは、主に音声入力を通じてコンピュータベースのシステムと対話し得る。その結果、コンピュータベースのシステムは、コンピュータベースのシステムに向けられないものを含む、音声対応環境内で行われた潜在的にすべての発話および雑音を取得し得る。したがって、コンピュータベースのシステムは、コンピュータベースのシステムに向けられる発話と、コンピュータベースのシステムに向けられるのではなく、やはり音声対応環境内に存在する他の個人に向けられる発話とを区別するための何らかの方式を有さなければならない。これを実施するための一方式は、ユーザがホットワードやキーワードなどの所定のワードを使用して、コンピュータベースのシステムの注意を知らせることである。さらに、音声対応環境内の他の個人は、所定のワードの使用がコンピュータベースのシステムだけに対するものであることを理解する。たとえば、ユーザは、「OKコンピュータ」と、その後に続く照会を話し、コンピュータベースのシステムに質問を尋ね得る。しかしながら、ユーザがコンピュータベースのシステムに質問を尋ねる度に所定のワードを言わなければならないことは、通常の会話の流れを中断させ、ユーザに認知的負担を課す。この認知的負担を軽減するために、コンピュータベースのシステムは、ユーザが所定のワードを使用して最初の質問を尋ねた後にユーザが有し得る任意の後続の質問に対してマイクロフォンをオープンしたままに保ち得る。後続の質問は、所定のワードの使用を必要としないことになる。しかしながら、コンピュータベースのシステムは、コンピュータベースのシステムに向けられる後続の質問と、コンピュータベースのシステムに向けられない、取得された他の発話とを依然として区別する必要があることになる。したがって、後続の発話がコンピュータベースのシステムに向けられる可能性の高い質問に見えるとコンピュータベースのシステムが判定した場合、後続の発話が受諾され、処理される。そうでない場合、コンピュータベースのシステムはマイクロフォンをクローズし、所定のワードを含むユーザからの次の発話を待機する。したがって、コンピュータベースのシステムに対する、ユーザコマンドなどのユーザ入力を容易にするための改良型の機構が提供され得る。
【０００４】
いくつかの実装では、コンピュータベースのシステムは、コンピュータベースのシステムが後続の質問を聴取した後の、ユーザとの自由形式会話を可能にする。ユーザはもはや、コンピュータベースのシステムと通信するための所定のホットワードを使用する必要はない。コンピュータベースのシステムは、取得された発話の音響(acoustic)特性と、取得された発話の認識されたテキストのどちらも使用して、後続の質問がコンピュータベースのシステムに向けられるかどうかを判定する。
【０００５】
いくつかの実装では、分類システムは、人間の音声の内容を識別するための分類器を含む。具体的には、内容は、人間の音声に対する聴衆が自動アシスタントサーバに向けられる可能性が高いという判定を含む。分類システムは、この判定機能を実施するために、音声認識器、トランスクリプション表現生成器、音響特徴生成器(acoustic feature generator)、連結モジュール、分類器を含む。音声認識器は、ユーザによって話された発話情報を取得し、ユーザからの発話のトランスクリプションを生成し得る。音響特徴生成器は、ユーザによって話された発話情報を受け取り、受け取った発話のオーディオ特性を記述する特徴ベクトルなどの音声単位表現を出力し得る。トランスクリプション表現生成器は、音声認識器から発話のトランスクリプションを受け取り、ワード埋込みを含むトランスクリプションを出力し得る。連結モジュールは、音響情報およびワード埋込みを受け取り、音響情報およびワード埋込みを行列表現として連結し、行列表現を分類器に提供し得る。分類器は、取得された発話に対する聴衆が自動アシスタントサーバに向けられる可能性が高いという指示を提供する。
【０００６】
いくつかの実装では、分類器は、発話を処理するために1つまたは複数のニューラルネットワーク要素を含む。分類器は、自動アシスタントサーバに向けられた可能性が低い、ユーザによって以前に話された照会の例を用いてニューラルネットワーク要素をトレーニングする。このタイプのトレーニングは、分類器がこれらのタイプの照会を検出し、さらに、取得された照会に対する聴衆が自動アシスタントサーバに向けられる可能性が高いという指示を提供することを可能にする。
【０００７】
1つの一般的な態様では、分類システムの1つまたは複数のコンピュータによって方法が実施される。方法は、発話に対応するオーディオデータを受け取ること、発話のトランスクリプションを取得すること、オーディオデータの表現を生成すること、発話のトランスクリプションの表現を生成すること、(i)オーディオデータの表現および(ii)発話のトランスクリプションの表現を分類器に提供することであって、分類器が、オーディオデータの所与の表現および発話のトランスクリプションの所与の表現に基づいて、その所与の表現に関連する発話が自動アシスタントに向けられる可能性が高いか、それとも自動アシスタントに向けられる可能性が低いかの指示を出力するようにトレーニングされること、受け取ったオーディオデータに対応する発話が自動アシスタントに向けられる可能性が高いか、それとも自動アシスタントに向けられる可能性が低いかの指示を分類器から受け取ること、および受け取ったオーディオデータに対応する発話が自動アシスタントに向けられる可能性が高いか、それとも自動アシスタントに向けられる可能性が低いかの指示に少なくとも基づいて、自動アシスタントに選択的に命令することを含む。
【０００８】
本開示のこの態様および他の態様の他の実施形態は、方法のアクションを実施するように構成され、コンピュータ記憶デバイス上に符号化された、対応するシステム、装置、およびコンピュータプログラムを含む。1つまたは複数のコンピュータのシステムは、システム上にインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せによって、動作の際に、システムにアクションを実施させるように構成され得る。1つまたは複数のコンピュータプログラムは、命令を有することによって、データ処理装置によって実行されるとき、装置にアクションを実施させるように構成され得る。
【０００９】
実装は、以下の特徴のうちの1つまたは複数を含み得る。たとえば、いくつかの実装では、(i)オーディオデータの表現および(ii)発話のトランスクリプションの表現を分類器に提供することは、(i)オーディオデータの表現と(ii)発話の表現との間の連結の入力表現を生成すること、および連結された入力表現を分類器に提供することをさらに含む。
【００１０】
いくつかの実装では、(i)オーディオデータの表現と(ii)発話のトランスクリプションの表現との間の連結の入力表現を生成することが、発話のトランスクリプションの表現内で認識される1つまたは複数のワードから変換された1つまたは複数の数値ベクトルを生成すること、および1つまたは複数の数値ベクトルを含む数値ベクトルの行列を生成し、分類器に提供することをさらに含む。
【００１１】
いくつかの実装では、方法は、ワード埋込みモデルにおいて、発話に対応する認識可能なテキストを音声認識器から受け取ること、ワード埋込みモデルにおいて、認識可能なテキストから発話のトランスクリプションを生成すること、およびワード埋込みモデルから、発話のトランスクリプションを分類器に提供することをさらに含む。
【００１２】
いくつかの実装では、オーディオデータの表現は音響メル周波数ケプストラム係数(MFCC)値を含む。
【００１３】
いくつかの実装では、方法は、ワード埋込みモデルの最大プーリング層によって、埋込み単位を含む発話のトランスクリプションを提供すること、音響ニューラルネットワークによって、オーディオ単位を含むオーディオデータの表現を提供すること、埋込み単位およびオーディオ単位を表現単位入力に連結すること、および表現単位入力を分類器に対する入力として提供することをさらに含む。
【００１４】
いくつかの実装では、自動アシスタントに選択的に命令することは、受け取ったオーディオデータに対応する発話が自動アシスタントに向けられる可能性が高いという指示を分類器が提供したとき、自動アシスタントに発話を処理するように選択的に命令すること、および受け取ったオーディオデータに対応する発話が自動アシスタントに向けられる可能性が低いという指示を分類器が提供したとき、自動アシスタントに発話を処理しないように選択的に命令することをさらに含む。
【００１５】
本明細書の主題の1つまたは複数の実施形態の詳細が、添付の図面および以下の説明において説明される。主題の他の特徴、態様、および利点が、説明、図面、および特許請求の範囲から明らかとなるであろう。
【図面の簡単な説明】
【００１６】
【図１】分類器を使用する音声分類のためのシステムの一例を示すブロック図である。
【図２】分類システムの一例を示すブロック図である。
【図３】音声分類のためのプロセスの一例を示す流れ図である。
【図４】コンピューティングデバイスおよびモバイルコンピューティングデバイスの一例を示す図である。
【発明を実施するための形態】
【００１７】
様々な図面における同様の参照番号および名称は同様の要素を示す。
【００１８】
本明細書は、音声分類を実施して、取得された発話がコンピュータベースのシステムに向けられる可能性が高いかどうかを判定するための技法を説明する。コンピュータベースのシステムは、取得された発話がコンピュータベースのシステムの注意を呼び覚ますためのホットワードなどの所定のワードを含むことを必要としない。むしろ、コンピュータベースのシステムのマイクロフォンは、所定のワードを含むユーザの第1の照会に続く、後続の質問の任意の取得された発話に対してオープンしたままとなる。有利には、技法は、取得された発話の音響特性と、認識されたテキストの両方についてのニューラルネットワークを使用して、取得された発話に対する聴衆がコンピュータベースのシステムに向けられる可能性が高いかどうかの指示を生成するようにニューラルネットワークをトレーニングする。これは、ユーザがホットワードの使用なしにコンピュータベースのシステムとより流暢に会話することができるので、有益であり得る。
【００１９】
図1は、分類器サーバ108を使用する音声分類のためのシステム100の一例を示すブロック図である。システム100は、分類器サーバ108および自動アシスタントサーバ116を含む。分類器サーバ108および自動アシスタントサーバ116のそれぞれは、1つまたは複数のコンピュータを含み得る。分類器サーバ108は、1つまたは複数のニューラルネットワーク構成要素、音声認識器、および音響特徴生成器を含み、それらは、図2に関連して以下でさらに説明される。分類器サーバ108は、ローカルに、またはネットワークを介して接続された1つまたは複数のサーバを含み得る。分類器サーバ108は、ソフトウェア、ハードウェア、ファームウェア、またはそれらの組合せとして実装され得る。図1は、示されるシーケンスまたは別のシーケンスで実施され得る、ステージ(A)から(D)および(A')から(B')での様々な動作を示す。
【００２０】
図1の例は、発話が受信側に向けられる可能性が高いかどうかを判定する分類器サーバ108の一例を示す。図1に示される処理は、2つの重要なタスクを達成する。第1に、ユーザがシステムに話す度にユーザがホットワードまたはキーワードを話すことを必要とするシステムとは異なり、分類器サーバ108は、聴衆が自動アシスタントサーバ116に向けられる可能性が高いことを知らせるホットワードまたはキーワードの最初の使用の後に、発話がホットワードまたはキーワードを含むことを必要としない。分類器サーバ108は、ユーザ102が自動アシスタントサーバ116に最初に話すときに、ユーザがホットワードやキーワードなどのワードを含めることを必要とする。分類器サーバ108は、ホットワードまたはキーワードの聞き取りに応答してオンになるマイクロフォンを含む。さらに、マイクロフォンは、ユーザ102によって提供される後続の質問についてオンのままとなる。ユーザ102が質問を尋ねることをやめると、マイクロフォンはオフとなる。
【００２１】
従来の設定では、ユーザは、分類器サーバ108などのデバイスに知らせる度にホットワードまたはキーワードを含め、ホットワードは通常の会話の流れを中断し得る。したがって、図1に示される処理は、ホットワードまたはキーワードの最初の使用の後、ホットワードまたはキーワードの使用を除去し、より流暢な会話を可能にする。
【００２２】
第2に、分類器サーバ108は、ホットワードの使用なしに、発話が向けられる可能性の高い聴衆が自動アシスタントサーバ116であると判定し得る。その結果、分類器サーバ108は、自動アシスタントサーバ116に向けられる発話と、自動アシスタントサーバ116に向けられない発話とを区別し得る。いくつかの実装では、自動アシスタントサーバ116に向けられない発話は、潜在的に自動アシスタントサーバ116に向けられる語句を含み得る。たとえば、「今何時」などの語句が、分類器サーバ108が取得し得る、「ねえママ、学校に遅れる、今何時」などの語句内に含まれ得る。
【００２３】
しかしながら、記録された発話を解析するとき、分類器サーバ108は、発話が質問と共に他の語句を含むと判定し得、発話に対する聴衆が自動アシスタントサーバ116ではないことを示す。要約すると、分類器サーバ108は、可能性を判断し、取得された発話に対する聴衆が自動アシスタントサーバ116に向けられる可能性が高いという指示を提供し得る。
【００２４】
いくつかの実装では、分類器サーバ108は、取得された発話および命令を示すデータを自動アシスタントサーバ116に提供し得る。分類器サーバ108は、取得された発話を処理するか否かを自動アシスタントサーバ116に伝達するための命令を生成する。たとえば、分類器サーバ108は、ユーザ102などのユーザによって話された発話を取得し、取得された発話に対する聴衆が自動アシスタントサーバ116に向けられる可能性が高いと判定し得る。それに応答して、分類器サーバ108は、ネットワーク114などのネットワークを介して、命令および取得された発話を示すデータを自動アシスタントサーバ116に提供し得る。命令は、自動アシスタントサーバ116が、取得された発話を処理し、取得された発話に対する応答を生成することを要求する。
【００２５】
いくつかの実装では、自動アシスタントサーバ116は、取得された発話に対する応答を生成し得る。具体的には、自動アシスタントサーバ116は、分類器サーバ108によって提供された質問および/または陳述に対する回答を提供し得る。たとえば、自動アシスタントサーバ116は、発話と、自動アシスタントサーバ116が発話を処理することを要求する命令とを示すデータを取得し得る。自動アシスタントサーバ116は、発話が「今何時」と述べていると判定し、発話に対する応答を生成する。たとえば、自動アシスタンスサーバ116は、時刻が「6:02PM」であると判定し、応答113を生成し、ネットワーク114を介して分類器サーバ108に提供する。応答113は、「時刻は6:02PMです」と述べる回答を含み得る。分類器サーバ108は、自動アシスタントサーバ116によって生成された応答を、ユーザ102によって所有される、クライアントデバイス110などのクライアントデバイスに提供し得る。
【００２６】
前述のこのシステムの例が、図1に示され、以下で説明される例示的使用ケースに関して示され得る。
【００２７】
ステージ(A)の間に、分類器サーバ108は、ユーザ102から発話を取得する。発話は、自動アシスタントサーバ116に向けられる様々なタイプの語句および/または質問を含み得る。他の実装では、分類器サーバ108は、自動アシスタントサーバ116に向けられる可能性の低いユーザ102から1つまたは複数の発話を取得し得る。発話は、所定の長さの時間にわたるオーディオ波形を含み得る。
【００２８】
いくつかの実装では、分類器サーバ108は、しきい値レベルの音量を超えて検出された発話を記録し得る。音量のレベルはデシベル(dB)で測定され得る。たとえば、分類器サーバ108は、分類器サーバ108が近くのユーザおよび/またはデバイスからのしきい値を超える音響特性を検出した第1の時刻から開始して、分類器サーバ108が近くのユーザおよび/またはデバイスからの音響特性をもはや検出しない第2の時刻までオーディオ記録を取得し得る。たとえば、典型的なエリア内のユーザの通常の音声は、ユーザと分類器サーバ108との間の距離に応じて、42dBから80dBの間で変動し得る。音量レベルの下端では、たとえば、分類器サーバ108はかすかな背景雑音を記録していることがある。音量レベルの上端では、たとえば、分類器サーバ108は、ほんのいくつかの例を挙げれば、大きな音楽または大きな会話を記録していることがある。一例では、ユーザ102は、2:15PMに「OKコンピュータ、今日は何を着るべき?」などの質問を自動アシスタントサーバ116に提起し得る。分類器サーバ108は、話された質問の音響特性からホットワードを検出し、「今日は何を着るべき?」という質問を処理し得る。次いで、分類器サーバ108のマイクロフォンは、ユーザ102からの後続の質問を待機するために、2:15PMからある期間にわたってオンのままとなる。ほんのいくつかの例を挙げれば、時間枠は5秒、10秒、15秒であり得る。マイクロフォンは、ユーザ102が自動アシスタントサーバ116に向けられる後続の質問を尋ね続ける限りはオンのままとなる。
【００２９】
いくつかの実装では、分類器サーバ108は、特定のしきい値レベルを超える、分類器サーバ108の位置の近くに位置する様々なデバイスおよび/またはユーザからの各オーディオ発話を記録し得る。たとえば、分類器サーバ108は、分類器サーバ108と同一の室内のユーザからのオーディオを聴取および記録し得る。一例では、分類器サーバ108は、テレビジョンによって表示されるテレビジョン番組から意思疎通する1人または複数の個人を聴取および記録し得る。別の例では、分類器サーバ108は、分類器サーバ108の可聴範囲内のスピーカから再生される音楽を聴取および記録し得る。別の例では、分類器サーバ108は、voice-to-talkまたはビデオチャッティングアプリケーションを使用するセルフォンやラップトップなどのクライアントデバイスを介して意思疎通する1つまたは複数の個人を聴取および記録し得る。具体的には、オーディオ記録は、分類器サーバ108が配置される部屋全体にわたって様々なデバイスおよび/またはユーザから記録され得る。
【００３０】
図示される例では、分類器サーバ108は、ユーザ102から発話104を取得する。発話104は、自動アシスタントサーバ116に質問106を提起する。質問106は「外の気温は何度?」と述べる。分類器サーバ108は発話104を取得し、さらなる処理のために発話104を記録する。
【００３１】
いくつかの実装では、ユーザ102は、短期間に自動アシスタントサーバ116に複数の質問を尋ね得る。他の実装では、ユーザ102は、エリア内の別の個人に向けられる1つの質問と、自動アシスタントサーバ116に向けられる後続の質問とを尋ね得る。たとえば、ユーザ102は、ユーザ102の重要な他者に「レイチェル、今日は何を着るべき?」という質問を尋ね、その後で、自動アシスタントサーバ116に「外の気温は何度?」という別の質問を尋ね得る。この例では、分類器サーバ108は、ユーザ102によって尋ねられた両方の質問を記録し、前の質問が自動アシスタントサーバ116に向けられないのに対して、後の質問が自動アシスタントサーバ116に向けられるという、記録された発話の次の処理を決定し得る。
【００３２】
ステージ(B)の間に、分類器サーバ108は、記録された発話104に関する処理を実施する。具体的には、分類器サーバ108は、記録された発話104を分類し、発話に対する聴衆が自動アシスタントサーバ116に向けられる可能性が高いことの可能性を示す出力を提供する。図2に関連して以下でさらに説明されるように、分類器サーバ108は、発話104の音響表現およびテキスト表現を利用して、発話104に対する聴衆が自動アシスタントサーバ116に向けられる可能性が高いかどうかを判定する。
【００３３】
この図示される例では、分類器サーバ108は、発話104に対する聴衆が自動アシスタントサーバ116に向けられる可能性が高いという指示を生成する。図1に示されるように、チェックボックスが指示を示す。実際の応用では、自動アシスタントサーバ116は、発話104に対する聴衆が自動アシスタントサーバ116に向けられる可能性が高いという分類器サーバ108による判定時に、閃光などの指示を提供し得る。いくつかの実装では、自動アシスタントサーバ116は、分類器サーバ108からの選択的命令109の受け取りに応答して指示を提供し得る。他の実装では、自動アシスタントサーバ116は、ユーザ102からの発話104に対する聴衆が自動アシスタントサーバ116に向けられる可能性が高いことを示すために、ユーザ102によって示されたビープ、ベル音、または所定のトーンを提供し得る。
【００３４】
代替実装では、分類器サーバ108は発話を取得し、取得された発話が自動アシスタントサーバ116に向けられる可能性が低いと判定し得る。このことは、図1に示される例において示され得る。
【００３５】
ステージ(A')の間に、分類器サーバ108は、1つまたは複数のデバイスから別の発話122を取得する。この図示される例では、テレビジョン120からのテレビジョン番組が、質問106を含む語句118の発話122を生成する。たとえば、テレビジョン番組内の人物が、「ボブが、外の気温は何度と言い、私は首を横に振った」と述べることがある。それに応答して、分類器サーバ108は、発話122を取得し、発話の音量がデシベルしきい値レベルより高いと判定したとき、発話122を記録し得る。
【００３６】
いくつかの実装では、分類器サーバ108は、発話104および発話122などの発話を、ほぼ同時に取得し、記録し得る。分類器サーバ108は、記録された発話のそれぞれを区別し得る。他の実装では、分類器サーバ108は、発話104および発話122などの発話を順次取得し、記録し得る。分類器サーバ108が発話を順次取得するケースでは、分類器サーバ108は、各発話を受け取った順序で処理する。他の実装では、分類器サーバ108は、取得され、記録された発話が識別不能であるという指示を生成し得る。たとえば、取得され、記録された発話104は、ほんのいくつかの例を挙げれば、他のユーザの話し声、テレビジョンの大音量、背景で動作中のファン、犬のほえ声などの外部事象からの様々な雑音成分を含み得る。分類器サーバ108は、スピーカを介して「語句を繰り返して下さい」などの指示をユーザ102に提供し得る。
【００３７】
ステージ(B')の間に、分類器サーバ108は、記録された発話122に関する処理を実施する。具体的には、分類器サーバ108は、記録された発話122を分類し、発話122に対する聴衆が自動アシスタントサーバ116に向けられた可能性が高いことの可能性を示す出力を提供する。この図示される例では、分類器サーバ108は、記録された発話122に対する聴衆が自動アシスタントサーバ116に向けられた可能性が低いという指示を提供する。図1からわかるように、ボックス内の「X」は、分類器サーバ108内部に示されるように指示を提供する。実際の応用では、記録された発話122が自動アシスタントサーバ116に向けられた可能性が低いという判定に応答して、分類器サーバ108はマイクロフォンをオフにして、会話を聴取することを停止する。
【００３８】
他の実装では、分類器サーバ108は、記録された発話に対する聴衆が自動アシスタントサーバ116に向けられた可能性が低いという判定に応答して、追加のアクションを実施し得る。たとえば、分類器サーバ108は、記録された発話122などの記録された発話を廃棄し、他の発話の聴取を続行し得る。別の例では、分類器サーバ108は、記録された発話122などの記録された発話を、特定の命令と共に自動アシスタントサーバ116に転送し得る。
【００３９】
いくつかの実装では、分類器サーバ108が記録された発話122を処理するように自動アシスタントサーバ116に命令する代わりに、分類器サーバ108は、データベース内に発話を記憶するように自動アシスタントサーバ116に命令し得る。データベースは1つまたは複数の発話を記憶し得、分類器サーバ108は、その1つまたは複数の発話にアクセスして、現在の取得された発話が記憶された発話のいずれにも合致しないかどうかを判定し得る。たとえば、分類器サーバ108は、取得された発話104を、データベース内に記憶された1つまたは複数の発話と比較し得る。比較のうちのいずれかが所定のしきい値以内で合致する場合、聴衆が自動アシスタントサーバ116に向けられた可能性が低いので、分類器サーバ108はその特定の発話を拒否し得る。あるいは、比較のうちのいずれも合致しない場合、図2に関連して以下で説明されるように、分類器サーバ108は、分類器を通じて、記録された発話を処理し得る。
【００４０】
ステージ(C)の間に、自動アシスタントサーバ116は、記録された発話および選択的命令を示すデータを分類器サーバ108から取得する。図示される例では、前の発話に対する聴衆が自動アシスタントサーバ116に向けられる可能性が高いのに対して、後の発話に対する聴衆が自動アシスタントサーバ116に向けられる可能性が低いと分類器サーバ108が判定したので、自動アシスタントサーバ116は、記録された発話104を取得し、記録された発話122を取得しない。分類器サーバ108は、記録された発話104の可能性の高い受信側であったのは誰かについての指示を提供せず、むしろ受信側が自動アシスタントサーバ116に向けられた可能性が低いという指示を提供する。
【００４１】
いくつかの実装では、データ109内の命令に応答して、自動アシスタントサーバ116は、発話104などの記録された発話を処理する。たとえば、命令は、記録された発話104を処理し、ユーザ102の質問106に対する応答を提供するように、自動アシスタントサーバ116に伝達し得る。自動アシスタントサーバ116は、インターネットに対するネットワークアクセスを使用して、ユーザ102の質問106に対する回答を探索し、取得し得る。図1に示される例を続けると、自動アシスタントサーバ116は、「外の気温は何度?」という質問106に対する回答を取得し得る。
【００４２】
いくつかの実装では、自動アシスタントサーバ116は、分類器サーバ108に関連する情報を使用して、質問に回答するのを支援する。たとえば、自動アシスタントサーバ116は、分類器サーバ108の位置座標、時刻、およびモデルタイプを取得して、質問106に回答するのを助け得る。分類器サーバ108の位置および時刻を知ることによって、自動アシスタントサーバ116は、インターネットまたは他のデータベースから「華氏35度」という回答を取得し得る。
【００４３】
いくつかの実装では、自動アシスタントサーバ116は、ユーザ102の質問106に対する回答を含む応答113を生成する。たとえば、応答は、文構造フォーマットのユーザ102の質問に対する回答を含む。応答113は、「気温は華氏35度です」と述べる陳述112を含み得る。いくつかの実装では、陳述112はテキスト形式またはオーディオ形式であり得る。自動アシスタントサーバ116は、ネットワーク114を介して分類器サーバ108に応答113を送信する。
【００４４】
ステージ(D)の間に、分類器サーバ108は、自動アシスタントサーバ116から応答113を取得する。分類器サーバ108は、ネットワーク114を介して応答113を取得し得る。応答113の取得に応答して、分類器サーバ108は、どのクライアントデバイスに陳述112を送るかを判定する。分類器サーバ108は、分類器サーバ108に接続された1つまたは複数のクライアントデバイスのリストを解析する。いくつかの実装では、クライアントデバイス110などのクライアントデバイスは、Bluetooth(登録商標)やWi-Fiなどの近距離通信プロトコルを介して分類器サーバ108に接続し得る。いくつかの実装では、分類器サーバ108は、接続されたデバイスのそれぞれに陳述112を送り得る。
【００４５】
いくつかの実装では、分類器サーバ108は、ユーザ102などのユーザに関連するクライアントデバイス110に陳述112を送信し得る。たとえば、分類器サーバ108は、取得された、記録された発話104から、話者がユーザ102であることを判定し得る。分類器サーバ108は、新しいユーザが自動アシスタントサーバ116に向けられる可能性の高い発話を話す度に、ユーザ102などのユーザのオーディオ表現をプロファイル内に記憶し得る。これは有益であり、ユーザの発話に応答する際の遅延を改善し得る。分類器108は発話を受け取り、どのユーザが話しているかを判定することができるからである。発話が受け取られ、ユーザプロファイルに関連する、対応する発話を有さない場合、分類器サーバ108は、新しいユーザプロファイルを作成し、新しいユーザプロファイルと共に、新たに取得された発話をメモリ内に記憶する。
【００４６】
いくつかの実装では、分類器サーバ108は、ほんのいくつかの例を挙げれば、テキストメッセージ、eメール、ショートメッセージサービス(SMS)メッセージなどのメッセージを陳述112と共にクライアントデバイス110に送り得る。他の実装では、分類器サーバ108は、分類器サーバ108に接続されたスピーカから陳述112を再生し得る。
【００４７】
ステージ(A)から(D)および(A')から(B')の動作は、分類器サーバ108を使用して、取得された発話が向けられる可能性が高い聴衆を判定する1つまたは複数の反復を示す。分類器サーバ108は、多くの他の反復のためにステージ(A)から(D)および(A')から(B')の動作を反復し得る。いくつかの実装では、分類器サーバ108は、図1に示される動作を同時に実施し得る。さらに、分類器サーバ108は、発話104および発話122などの一度に2つだけの発話よりも多くの発話について図1に示される動作を決定し得る。図1は、単に例示のために2つの発話を示す。
【００４８】
図2は、分類システムの一例を示すブロック図である。具体的には、図2は、上記で論じたシステム100の分類器サーバ108の一例を示す。いくつかの実装では、分類器サーバ108は、取得された発話を記録するためのマイクロフォン201、音声認識器202、音響特徴生成器、トランスクリプション表現生成器、連結モジュール208、ニューラルネットワーク209、およびシグマ211を含む。図1において説明したように、分類器サーバ108は、ユーザ102から記録された発話104を取得する。いくつかの実装では、分類器サーバ108は、音声認識器202、音響特徴生成器204、トランスクリプション表現生成器206、連結モジュール208、ニューラルネットワーク209、およびシグマ211を通じて、記録された発話104を伝播し、取得された発話104に対する聴衆が自動アシスタントサーバ116に向けられる可能性が高いことの可能性を判断する。
【００４９】
音声認識器202は、話された言語のワードおよび語句を識別するように構成されたハードウェア、ソフトウェア、およびファームウェアの組合せを含むデバイスであり得る。いくつかの実装では、音声認識器202は取得された発話104を機械可読フォーマットに変換する。機械可読フォーマットは、取得された発話104を表す文構造フォーマットの1つまたは複数のワードを含み得る。いくつかの実装では、音声認識器202は、方法の様々な組合せを使用して音声認識を実施し得る。たとえば、音声認識器202は、隠れマルコフモデル手法、動的時間伸縮法(DTW)ベースの、ニューラルネットワーク、ディープフィードフォワードおよび再帰型ニューラルネットワーク手法、または様々な手法の何らかの組合せを含み得る。分類器サーバ108は、音声認識器202の出力をトランスクリプション表現生成器206に提供する。同時に、分類器サーバ108は、取得された発話104を音響特徴生成器204に提供する。
【００５０】
いくつかの実装では、音響特徴生成器204は、取得された発話104から特徴ベクトルを抽出し、抽出された特徴ベクトルを再帰型ニューラルネットワーク要素に対する入力として提供するように構成されたハードウェア、ソフトウェア、およびファームウェアの組合せを含むデバイスであり得る。音響特徴生成器204は、取得された発話104の異なるセグメントまたは解析ウィンドウを解析する。これらのウィンドウはw0、...wnであり得、オーディオのフレームと呼ばれる。いくつかの実装では、各ウィンドウまたはフレームは、同一の固定サイズの量のオーディオ、たとえば5ミリ秒(ms)のオーディオを表す。ウィンドウは部分的に重複することがあり、または重複しないことがある。取得された発話104について、第1のフレームw0は0msから5msのセグメントを表し得、第2のウィンドウw1は5msから10msのセグメントを表し得、以下同様である。
【００５１】
いくつかの実装では、取得された発話104の各フレームについて、特徴ベクトル、または音響特徴ベクトルのセットが決定され得る。たとえば、音響特徴生成器は、各ウィンドウw0、....wn内のオーディオに関して高速フーリエ変換(FFT)を実施し、メル周波数スケールを使用してスペクトルの羃を対応付け、各メル周波数において羃の対数を取り、メル対数羃(mel log power)のリストの離散コサイン変換を取り、特徴の振幅内容を解析して、各ウィンドウについての音響特徴を決定し得る。音響特徴は、メル周波数ケプストラム係数(MFCC)、知覚線形予測(PLP)変換を使用して決定された特徴、または他の技法を使用して決定された特徴であり得る。
【００５２】
分類器サーバ108は、音響特徴生成器204内の再帰型ニューラルネットワーク要素に特徴ベクトルを一度に1つずつ提供する。再帰型ニューラルネットワーク要素は、1つまたは複数の長短期記憶(LSTM)層であり得る。音響特徴生成器204は、複数のLSTM層を積み重ねることによって構築されたディープレイヤードLSTMニューラルネットワークアーキテクチャであり得る。分類器サーバ108は、音響特徴生成器204内のニューラルネットワークをトレーニングして、固定サイズの音声単位表現または埋込みの出力を提供し得る。たとえば、埋込みは64単位ベクトルであり得る。いくつかの実装では、単位はビットまたはバイトであり得る。各特徴ベクトルについて1つの埋込みが出力される。
【００５３】
いくつかの実装では、分類器サーバ108は、取得された発話104のコンテキストの認識を高めるために、音声認識器202と共に音響特徴生成器204を含む。図1の図示される例では、分類器サーバ108が質問106を分類し、ユーザ102が後続の質問を尋ねなかった後、時には、分類器サーバ108は、音声認識システムによって誤って認識されたかすかな背景雑音または音声を含み得る将来の発話を記録する。たとえば、音響特徴生成器204を使用しないと、分類器サーバ108は、「停止」や「再生」などの一般的な語句に対する誤認識を文字化し得る。
【００５４】
さらに、音響特徴生成器204がないと、分類器サーバ108がこれらの発話を分類するとき、認識されたテキストが不十分に差別的となる。分類器サーバ108内の音響特徴生成器204を使用可能にすることによって、分類器サーバ108は誤認識の失敗ケースを低減し得る。さらに、人々の発話は、発話のテキストによって取り込まれない独特の音響要素を含む。たとえば、音響要素は、ほんのいくつかの例を挙げれば、ピッチ、音声テンポ、およびアクセントなどの特徴を含み得る。音響特徴生成器204を含めることによって、独特の音響要素は、発話に対する聴衆が自動アシスタントサーバ116に向けられる可能性が高いかどうかを判定するのを支援し得る。
【００５５】
トランスクリプション表現生成器206は1つまたは複数のニューラルネットワーク層を含み得る。たとえば、トランスクリプション表現生成器206は畳込みニューラルネットワーク(CNN)ワード埋込みモデルを含み得る。音響特徴生成器204と同様に、トランスクリプション表現生成器206は1つまたは複数のLSTM層を含み得、複数のLSTM層を積み重ねることによって構築されたディープLSTMニューラルネットワークアーキテクチャであり得る。さらに、分類器サーバ108は、トランスクリプション表現生成器206内のニューラルネットワークをトレーニングして、取得された発話104のトランスクリプションの出力を提供する。いくつかの実装では、発話のトランスクリプションは、固定サイズのテキスト単位表現または埋込みを含む。たとえば、各埋込み出力は100単位ベクトルであり得る。いくつかの実装では、単位は浮動小数点または整数値であり得る。文の各ワードについて、1つの埋込みがトランスクリプション表現生成器206から出力される。トランスクリプションは、出力として提供される埋込み単位のそれぞれを含む。
【００５６】
いくつかの実装では、分類器サーバ108は、音声認識器202によって生成された文を含む入力をトランスクリプション表現生成器206に提供する。分類器サーバ108は、文からトランスクリプション表現生成器206のCNNワード埋込みモデル内に一度に1ワードずつ入力する。さらに、CNNワード埋込みモデルは、ネットワークの計算複雑さを低減するために、CNNワード埋込みモデルに提供された文データを最大プーリングして入力データを低減し得る。最大プーリングは、入力データをフィルタリングし、平均化することによって、CNNワード埋込みモデルを通るデータスループットの著しい削減を可能にする。このことは、出力品質の細部を損なうことなく、トランスクリプション表現生成器206によって実施されるプロセスを加速させる。
【００５７】
分類器サーバ108が取得された発話104が自動アシスタントサーバ116に向けられることの最大確率を実現するために、分類器サーバ108は、トランスクリプション表現生成器206と音響特徴生成器204の両方の出力を利用する。連結モジュール208は、トランスクリプション表現生成器206からの埋込み出力と、音響特徴生成器204からの埋込み出力とを組み合わせる、ソフトウェア、ハードウェア、ファームウェア、またはそれぞれの組合せとしてのデバイスであり得る。たとえば、連結モジュール208は、トランスクリプション表現生成器206から出力された100単位ベクトルと、音響特徴生成器204出力から出力された64単位ベクトルとを組み合わせ、164単位ベクトル出力を作成する。
【００５８】
いくつかの実装では、連結モジュール208は164単位ベクトル出力の行列を作成し得る。たとえば、行列は164単位ベクトルの1つまたは複数の列を含み得る。この連結モジュール208は、100単位埋込みを、1つまたは複数の数を含む意味的に有意味のベクトルに変換し得る。連結モジュール208は、word2vecやGloVeなどのプログラミング言語での1つまたは複数の機能呼出しを使用して、100単位埋込みを、1つまたは複数の数を含む意味的に有意味のベクトルに変換する。
【００５９】
図示される例では、連結モジュール208は、トランスクリプション表現生成器206からの数値ベクトルの行列と、音響特徴生成器204からの埋込みの行列とを生成し得る。具体的には、各ワードが100単位埋込みに関連付けられる10ワードの文を仮定すると、連結モジュール208は、10×100行列を作成し、それを音響特徴生成器204からの行列と連結し得る。同一の例では、音響特徴生成器204からの行列は、64単位埋込みをそれぞれ含む10個の特徴ベクトルを含み得る。連結モジュール208は、10×64行列を作成し、トランスクリプション表現生成器206からの10×100行列と連結し得る。連結モジュール208によって作成される、得られる行列は10×164であり得る。
【００６０】
発話104の音響特徴についての行列と、発話104のテキスト特徴についての行列とを生成することの利点は、それぞれの行列についての次元が、それらが適切な行列に組み合わされ得るようなものとなることである。たとえば、各行列は同数の行を含み、そのことは水平連結を可能にする。それぞれの行列の間の列の数が同様であると仮定すると、連結モジュール208は垂直結合を作成することになる。いくつかの実装では、連結モジュール208は、連結された行列をニューラルネットワーク209に提供する。
【００６１】
いくつかの実装では、連結モジュール208は、ニューラルネットワーク209が1つの164単位ベクトルを処理するまで、行列内の164単位ベクトルの数をバッファリングし得る。ニューラルネットワーク209が1つの164単位ベクトルを処理すると、連結モジュール208は、次の164単位ベクトルをニューラルネットワーク209内に提供する。音声認識器202、音響特徴生成器204、トランスクリプション表現生成器206、および連結モジュール208は、ニューラルネットワーク209が1つの164単位ベクトルを処理し得るよりも高速に164単位ベクトルを作成し得る。したがって、連結モジュール208は、格納するための、処理する準備のできた164単位ベクトルの行列バッファを作成する。
【００６２】
いくつかの実装では、分類器サーバ108は、連結された行列を処理するためのニューラルネットワーク209を含む。具体的には、ニューラルネットワーク209は分類器210-Aおよび別のLSTM 210-Bを含む。分類器サーバ108は、分類器210-AおよびLSTM210-Bをトレーニングして、取得された発話104に対する聴衆が自動アシスタントサーバ116に向けられる可能性が高いことの可能性を示す出力を生成し得る。いくつかの実装では、分類器210-AおよびLSTM210-Bは、ユーザによって以前に話された照会の例と、自動アシスタントサーバ116に向けられない、記録されたダイアログとを使用してトレーニングされる。たとえば、分類器サーバ108は、自動アシスタントサーバ116に向けられない、話された、テキストフォーマットの複数の語句を取り出し得る。
【００６３】
いくつかの実装では、分類器サーバ108は、自動アシスタントサーバ116に向けられない語句を含む1つまたは複数のデータベースから、インターネットを介して他の語句を取り出し得る。たとえば、語句のうちの1つは、「ボブが、外の気温は何度と言い、私は首を横に振った」、または「あなたの両親が来るのは何時?」を含み得る。一般に、分類器サーバ108が、これらのタイプの質問について、聴衆が自動アシスタントサーバ116に向けられると解釈し得るとしても、これらのタイプの質問に対する聴衆は、室内の別の個人である。しかしながら、これらのタイプの質問は、ニューラルネットワーク209をトレーニングするために使用するのに最適な語句である。分類器210-Aは、語句を識別するように学習し得る。自動アシスタントサーバ116に向けられる可能性が高い聴衆をしっかりと識別し、その聴衆を含むように見えるが、実際には背景雑音であり、室内の他の個人に向けられる語句を学習し得る。そのような例は、「あなたの両親が来るのは何時」、「あなたの体重は」、または「食料雑貨店で何を買ったの?」を含む。これらの質問のそれぞれは、話者が誰に話しかけているかを示す識別子を含まないが、自動アシスタントサーバ116に向けられない語句を識別したときに注意をそらすように分類器210-Aに示し得る名詞を含む。
【００６４】
いくつかの実装では、分類器サーバ108は、トレーニング中に分類器210-Aの重みおよびLSTM210-Bの重みを更新する。たとえば、分類器サーバ108は、確率勾配降下に伴う時間を介する誤差の逆伝播を使用して、分類器210-AおよびLSTM210-Bの重みを更新し得る。
【００６５】
いくつかの実装では、分類器210-AおよびLSTM210-Bの出力は、取得された発話104に対する聴衆が自動アシスタントサーバ116に向けられた可能性が高いという指示を含み得る。たとえば、指示は、取得された発話に対する聴衆が自動アシスタントサーバ116に向けられる可能性が高いことを164単位ベクトルの出力が示す確率を含み得る。他の実装では、分類器210-AおよびLSTM210-Bの出力は、集合的に0から100の範囲のスコアを含み得る。
【００６６】
いくつかの実装では、シグマ211は、LSTM210-Bによって提供された出力のそれぞれを合計する。たとえば、シグマ211は、ニューラルネットワーク209を通じて伝播する各発話についての164単位ベクトルのそれぞれについての出力確率または出力スコアを受け取る。シグマ211は、取得された発話104全体についてのニューラルネットワーク209からの各出力確率またはスコアを累積的に合計する。
【００６７】
いくつかの実装では、シグマ211は、最終出力確率またはスコアを所定のしきい値と比較する。最終出力確率またはスコアが所定のしきい値を超えるとシグマ211が判定した場合、分類器サーバ208は、取得された発話104に対する聴衆が自動アシスタントサーバ116に向けられる可能性が高いことの可能性を示す。あるいは、最終出力確率またはスコアが所定のしきい値未満である場合、分類器サーバ108は、取得された発話104に対する聴衆が自動アシスタントサーバ114に向けられる可能性が高いことの可能性を示す。たとえば、所定のしきい値は、50%の確率または50/100のスコアであり得る。
【００６８】
いくつかの実装では、分類器サーバ108は、取得された発話104を自動アシスタントサーバ116に提供するかどうかをシグマ211の出力から判定し得る。たとえば、最終出力確率またはスコアが所定のしきい値を超えると分類器サーバ108が判定した場合、分類器サーバ108は、自動アシスタントサーバ116に提供するための命令を生成する。命令は、取得された発話104を処理するように自動アシスタントサーバ116に伝達する。分類器サーバ108は、取得された発話104および生成された命令をデータ109としてパッケージ化し、処理のためにデータ109を自動アシスタントサーバ116に送信する。
【００６９】
あるいは、分類器サーバ108は、最終出力確率またはスコアが所定のしきい値を超えないと判定し得る。それに応答して、分類器サーバ108は、取得された発話104をメモリから削除し、新しい取得された発話まで待機することに進み得る。他の実装では、分類器サーバ108は、取得された発話104を処理しないように示す、自動アシスタントサーバ116に対する命令を生成し得る。さらに、命令は、自動アシスタントサーバ116に向けられない、記憶された発話のデータベース内に、取得された発話104を記憶するように自動アシスタントサーバ116に伝達し得る。分類器サーバ108は、取得された発話104および生成された命令をデータ109としてパッケージ化し、処理のためにデータを自動アシスタントサーバ116に送信する。
【００７０】
図3は、音声分類のためのプロセス300の一例を示す流れ図である。分類器サーバ108の1つまたは複数のコンピュータなどの1つまたは複数のコンピュータがプロセス300を実施し得る。
【００７１】
プロセス300では、1つまたは複数のコンピュータは、発話に対応するオーディオデータを受け取る(302)。たとえば、分類器サーバ108がユーザ102からの発話を取得する。発話は、自動アシスタントサーバ116に向けられる様々なタイプの語句および/または質問を含み得る。他の実装では、分類器サーバ108は、自動アシスタントサーバ116に向けられないユーザ102からの1つまたは複数の発話を取得し得る。他の実装では、分類器サーバ108は、分類器サーバ108の近くに位置する様々なデバイスからのオーディオ発話を取得し得る。たとえば、分類器サーバ108は、テレビジョンによって表示されるテレビジョン番組内で意思疎通する1人または複数の個人を聴取し、記録し得る。別の例では、分類器サーバ108は、分類器サーバ108の可聴範囲内のスピーカから再生される音楽を聴取し、記録し得る。
【００７２】
1つまたは複数のコンピュータは、発話についてのトランスクリプションを提供する(304)。たとえば、分類器サーバ108内に含まれる音声認識器202が、取得された発話104を機械可読フォーマットに変換する。機械可読フォーマットは、取得された発話104を表す構造化フォーマットの1つまたは複数のワードを含み得る。分類器サーバ108は、音声認識器202によって生成された文を含む入力をトランスクリプション表現生成器206に提供する。
【００７３】
1つまたは複数のコンピュータは、オーディオデータの表現および発話のトランスクリプションの表現を生成する(306)。たとえば、分類器サーバ108は、取得された発話104から特徴ベクトルを抽出し、抽出された特徴ベクトルを音響特徴生成器204内の再帰型ニューラルネットワーク要素に対する入力として提供するように構成された音響特徴生成器204を含む。具体的には、分類器サーバ108は、抽出された特徴ベクトルを再帰型ニューラルネットワーク要素に一度に1つずつ提供する。
【００７４】
いくつかの実装では、分類器サーバ108は、音響特徴生成器204内の再帰型ニューラルネットワークをトレーニングして、固定サイズの音声表現または埋込みの出力を提供し得る。たとえば、埋込みは64単位ベクトルであり得る。いくつかの実装では、ユニットはビットまたはバイトであり得る。1つの埋込みは各特徴ベクトルについての出力である。
【００７５】
いくつかの実装では、分類器サーバ108は、文からトランスクリプション表現生成器206のCNNワード埋込みモデル内に一度に1ワードずつ入力する。分類器サーバ108は、トランスクリプション表現生成器206内のニューラルネットワークをトレーニングして、取得された発話104のトランスクリプションの出力を提供し得る。発話のトランスクリプションは、固定サイズのテキストユニット表現または埋込みを含む。たとえば、各埋込み出力は100単位ベクトルであり得る。トランスクリプションは、出力として提供された埋込み単位のそれぞれを含む。
【００７６】
1つまたは複数のコンピュータは、(i)オーディオデータの表現および(ii)発話の表現を分類器に提供する(308)。たとえば、連結モジュール208は、100単位埋込みのそれぞれを、1つまたは複数の数を含む意味的に有意味のベクトルに変換する。連結モジュール208は、トランスクリプション表現生成器206の埋込み出力と、音響特徴生成器204からの埋込み出力とを組み合わせる。たとえば、連結モジュール208は、トランスクリプション表現生成器206からの100単位ベクトル出力と、音響特徴生成器204出力からの64単位ベクトル出力とを組み合わせ、164単位ベクトル出力を作成する。
【００７７】
いくつかの実装では、連結モジュール208は、トランスクリプション表現生成器206からの数値ベクトルの行列と、音響特徴生成器204からの埋込みの行列とを生成し得る。具体的には、各ワードが100単位埋込みに関連付けられる10ワードの文を仮定すると、連結モジュール208は、10×100行列を作成し、それを音響特徴生成器204からの行列と連結し得る。同一の例では、音響特徴生成器204からの行列は、64単位埋込みをそれぞれ含む10個の特徴ベクトルを含み得る。連結モジュール208は、10×64行列を作成し、トランスクリプション表現生成器206からの10×100行列と連結し得る。連結モジュール208によって作成される、得られる行列はサイズ10×164であり得る。いくつかの実装では、連結モジュール208は、連結された行列をニューラルネットワーク209に、一度に1つの164単位ベクトルずつ提供する。
【００７８】
1つまたは複数のコンピュータは、発話に対する聴衆が自動アシスタントに向けられる可能性が高いかどうかの指示を受け取る(310)。たとえば、分類器サーバ108は、連結された行列を処理するためのニューラルネットワーク209を含む。具体的には、ニューラルネットワーク209は分類器210-Aおよび別のLSTM210-Bを含む。分類器サーバ108は、分類器210-AおよびLSTM210-Bをトレーニングして、取得された発話104に対する聴衆が自動アシスタントサーバ116に向けられる可能性が高いことを示す出力を生成し得る。いくつかの実装では、分類器210-AおよびLSTM210-Bは、ユーザによって以前に話された照会の例と、自動アシスタントサーバ116に向けられない、記録されたダイアログとを使用してトレーニングされる。
【００７９】
いくつかの実装では、分類器210-AおよびLSTM210-Bの出力は、取得された発話に対する聴衆が自動アシスタントサーバ116に向けられる可能性が高いという指示を含み得る。たとえば、指示は、164単位ベクトルの出力に対する聴衆が自動アシスタントサーバ116に向けられる可能性がどれほど高いかの確率を含み得る。他の実装では、分類器210-AおよびLSTM210-Bの出力は、集合的に0から100の範囲のスコアを含み得る。
【００８０】
1つまたは複数のコンピュータは、受け取ったオーディオデータに対応する発話が自動アシスタントに向けられる可能性が高いという指示に基づいて、自動アシスタントに選択的に命令する(312)。たとえば、分類器サーバ108は、ニューラルネットワーク109の出力においてシグマ211を含む。シグマ211は、LSTM210-Bによって提供された出力のそれぞれを合計する。たとえば、シグマ211は、ニューラルネットワーク209を通じて伝播する各発話についての164単位ベクトルのそれぞれについての出力確率または出力スコアを受け取る。シグマ211は、シグマ211が取得された発話104を全体的に処理するまで、ニューラルネットワーク209からの各出力確率またはスコアを累積的に合計する。
【００８１】
いくつかの実装では、シグマ211は、最終出力確率またはスコアを所定のしきい値と比較する。最終出力確率またはスコアが所定のしきい値を超えるとシグマ211が判定した場合、分類器サーバ108は、取得された発話104に対する聴衆が自動アシスタントサーバ116に向けられる可能性が高いことの可能性を示す。あるいは、最終出力確率またはスコアが所定のしきい値未満である場合、分類器サーバ108は、取得された発話104に対する聴衆が自動アシスタントサーバ114に向けられる可能性が高いことの可能性を示す。
【００８２】
いくつかの実装では、分類器サーバ108は、取得された発話104を自動アシスタントサーバ116に提供するかどうかをシグマ211の出力から判定し得る。たとえば、最終出力確率またはスコアが所定のしきい値を超えると分類器サーバ108が判定した場合、分類器サーバ108は、自動アシスタントサーバ116に提供するための命令を生成する。命令は、取得された発話104を処理するように自動アシスタントサーバ116に命令する。分類器サーバ108は、取得された発話104および生成された命令をデータ109としてパッケージ化し、処理のためにデータ109を自動アシスタントサーバ116に送信する。
【００８３】
あるいは、分類器サーバ108は、最終出力確率またはスコアが所定のしきい値を超えないと判定し得る。それに応答して、分類器サーバ108は、取得された発話104をメモリから削除し、次の取得された発話まで待機することに進み得る。
【００８４】
図4は、ここで説明される技法を実装するために使用され得るコンピューティングデバイス400およびモバイルコンピューティングデバイス450の一例を示す。
【００８５】
コンピューティングデバイス400は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すものとする。モバイルコンピューティングデバイス450は、携帯情報端末、セルラー電話、スマートフォン、および他の類似のコンピューティングデバイスなどの様々な形態のモバイルデバイスを表すものとする。ここで示される構成要素、その接続および関係、ならびにその機能は例に過ぎず、限定を意味するものではない。
【００８６】
コンピューティングデバイス400は、プロセッサ402と、メモリ404と、記憶デバイス406と、メモリ404および複数の高速拡張ポート410に接続する高速インターフェース408と、低速拡張ポート414および記憶デバイス406に接続する低速インターフェース412とを含む。プロセッサ402、メモリ404、記憶デバイス406、高速インターフェース408、高速拡張ポート410、および低速インターフェース412のそれぞれは、様々なバスを使用して相互接続され、共通マザーボード上に、または適宜他の方式で取り付けられ得る。プロセッサ402は、高速インターフェース408に結合されたディスプレイ416などの外部入力/出力デバイス上にGUIについてのグラフィカル情報を表示するためにメモリ404内または記憶デバイス406上に記憶された命令を含む、コンピューティングデバイス400内で実行するための命令を処理し得る。他の実装では、複数のプロセッサおよび/または複数のバスが、複数のメモリおよび複数のタイプのメモリと共に適宜使用され得る。さらに、複数のコンピューティングデバイスが接続され得、各デバイスが必要な動作の各部分を実現する(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)。
【００８７】
メモリ404は、コンピューティングデバイス400内に情報を記憶する。いくつかの実装では、メモリ404は揮発性メモリユニットである。いくつかの実装では、メモリ404は不揮発性メモリユニットである。メモリ404はまた、磁気または光ディスクなどの別の形態のコンピュータ可読媒体であり得る。
【００８８】
記憶デバイス406は、コンピューティングデバイス400のためのマスストレージを提供することができる。いくつかの実装では、記憶デバイス406は、フロッピィディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリまたは他の類似の固体メモリデバイス、あるいはストレージエリアネットワークまたは他の構成内のデバイスを含むデバイスのアレイなどのコンピュータ可読媒体でよく、またはコンピュータ可読媒体を含み得る。命令は情報キャリア内に記憶され得る。命令は、1つまたは複数の処理デバイス(たとえば、プロセッサ402)によって実行されるとき、前述のような1つまたは複数の方法を実施する。命令はまた、コンピュータ可読媒体または機械可読媒体などの1つまたは複数の記憶デバイス(たとえば、メモリ404、記憶デバイス406、またはプロセッサ402上のメモリ)によって記憶され得る。
【００８９】
高速インターフェース408は、コンピューティングデバイス400についての帯域幅集約的な動作を管理し、低速インターフェース412は、帯域幅集約性の低い動作を管理する。そのような機能の割振りは一例に過ぎない。いくつかの実装では、高速インターフェース408は、(たとえばグラフィックスプロセッサまたはアクセラレータを通じて)メモリ404、ディスプレイ416に結合され、様々な拡張カード(図示せず)を受け入れ得る高速拡張ポート410に結合される。実装では、低速コントローラ412が、記憶デバイス406および低速拡張ポート414に結合される。低速拡張ポートは、様々な通信ポート(たとえば、USB、Bluetooth(登録商標)、イーサネット(登録商標)、ワイヤレスイーサネット(登録商標))を含み得、キーボード、ポインティングデバイス、スキャナ、スイッチやルータなどのネットワーキングデバイスなどの1つまたは複数の入力/出力デバイスに、たとえばネットワークアダプタを通じて結合され得る。
【００９０】
コンピューティングデバイス400は、図示されるように、いくつかの異なる形態で実装され得る。たとえば、コンピューティングデバイス400は、標準サーバ420として、またはそのようなサーバのグループ内で複数回実装され得る。さらに、コンピューティングデバイス400は、ラップトップコンピュータ422などのパーソナルコンピュータとして実装され得る。コンピューティングデバイス400はまた、ラックサーバシステム424の部分として実装され得る。あるいは、コンピューティングデバイス400からの構成要素が、モバイルコンピューティングデバイス450などのモバイルデバイス(図示せず)内の他の構成要素と組み合わされ得る。そのようなデバイスのそれぞれは、コンピューティングデバイス400およびモバイルコンピューティングデバイス450のうちの1つまたは複数を含み得、システム全体は、互いに通信する複数のコンピューティングデバイスから構成され得る。
【００９１】
モバイルコンピューティングデバイス450は、構成要素の中でもとりわけ、プロセッサ452、メモリ464、ディスプレイ454などの入力/出力デバイス、通信インターフェース466、およびトランシーバ468を含む。モバイルコンピューティングデバイス450はまた、追加のストレージを提供するために、マイクロドライブや他のデバイスなどの記憶デバイスを備え得る。プロセッサ452、メモリ464、ディスプレイ454、通信インターフェース466、およびトランシーバ468のそれぞれは、様々なバスを使用して相互接続され、構成要素のうちのいくつかは、共通マザーボード上に、または適宜他の方式で取り付けられ得る。
【００９２】
プロセッサ452は、メモリ464内に記憶された命令を含む、モバイルコンピューティングデバイス450内の命令を実行し得る。プロセッサ452は、別々の、複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実装され得る。プロセッサ452は、たとえば、ユーザインターフェース、モバイルコンピューティングデバイス450によって実行されるアプリケーション、モバイルコンピューティングデバイス450によるワイヤレス通信の制御などの、モバイルコンピューティングデバイス450の他の構成要素の協働を実現し得る。
【００９３】
プロセッサ452は、制御インターフェース458およびディスプレイ454に結合されたディスプレイインターフェース456を通じてユーザと通信し得る。ディスプレイ454は、たとえば、TFT(薄膜トランジスタ液晶ディスプレイ)ディスプレイまたはOLED(有機発光ダイオード)ディスプレイ、あるいは他の適切なディスプレイ技術であり得る。ディスプレイインターフェース456は、グラフィカル情報および他の情報をユーザに提示するようにディスプレイ454を駆動するための適切な回路を備え得る。制御インターフェース458は、ユーザからコマンドを受け取り、プロセッサ452にサブミットするためにコマンドを変換し得る。さらに、外部インターフェース462は、モバイルコンピューティングデバイス450の、他のデバイスとの近隣エリア通信を可能にするように、プロセッサ452との通信を提供し得る。外部インターフェース462は、たとえば、ある実装ではワイヤード通信、または他の実装ではワイヤレス通信を実現し得、複数のインターフェースも使用され得る。
【００９４】
メモリ464は、モバイルコンピューティングデバイス450内に情報を記憶する。メモリ464は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットのうちの1つまたは複数として実装され得る。拡張メモリ474も提供され、拡張インターフェース472を通じてモバイルコンピューティングデバイス450に接続され得、拡張インターフェース472は、たとえばSIMM(Single In Line Memory Module)カードインターフェースを含み得る。拡張メモリ474は、モバイルコンピューティングデバイス450のための余分な記憶空間を提供し得、またはモバイルコンピューティングデバイス450のためのアプリケーションまたは他の情報をも記憶し得る。具体的には、拡張メモリ474は、前述のプロセスを実施または補足するための命令を含み得、セキュア情報をも含み得る。したがって、たとえば、拡張メモリ474は、モバイルコンピューティングデバイス450のためのセキュリティモジュールとして提供され得、モバイルコンピューティングデバイス450のセキュアな使用を可能にする命令でプログラムされ得る。さらに、ハッキング不可能な方式でSIMMカード上に識別情報を配置するなど、追加の情報と共に、SIMMカードを介してセキュアアプリケーションが提供され得る。
【００９５】
メモリは、たとえば、以下で論じるように、フラッシュメモリおよび/またはNVRAMメモリ(不揮発性ランダムアクセスメモリ)を含み得る。いくつかの実装では、命令は情報キャリア内に記憶され、それによって命令は、1つまたは複数の処理デバイス(たとえば、プロセッサ452)によって実行されるとき、前述のような1つまたは複数の方法を実施する。命令はまた、1つまたは複数のコンピュータ可読媒体または機械可読媒体などの1つまたは複数の記憶デバイス(たとえば、メモリ464、拡張メモリ474、またはプロセッサ452上のメモリ)によって記憶され得る。いくつかの実装では、命令は、たとえばトランシーバ468または外部インターフェース462を介して、伝播信号として受信され得る。
【００９６】
モバイルコンピューティングデバイス450は通信インターフェース466を通じてワイヤレスに通信し得、通信インターフェース466は、必要な場合はデジタル信号処理回路を含み得る。通信インターフェース466は、とりわけ、GSM(登録商標)ボイスコール(Global System for Mobile communications)、SMS(Short Message Service)、EMS(Enhanced Messaging Service)、またはMMSメッセージング(Multimedia Messaging Service)、CDMA(code division multiple access)、TDMA(time division multiple access)、PDC(Personal Digital Cellular)、WCDMA(登録商標)(Wideband Code Division Multiple Access)、CDMA2000、またはGPRS(General Packet Radio Service)などの、様々なモードまたはプロトコルの下で通信を実現し得る。そのような通信は、たとえば、無線周波数を使用してトランシーバ468を通じて行われ得る。さらに、Bluetooth(登録商標)、WiFi、または他のそのようなトランシーバ(図示せず)を使用するなどして近距離通信が行われ得る。さらに、GPS(全地球測位システム)受信機モジュール470が、追加のナビゲーション関連および位置関連のワイヤレスデータをモバイルコンピューティングデバイス450に提供し得、データは、モバイルコンピューティングデバイス450上で実行中のアプリケーションによって適宜使用され得る。
【００９７】
モバイルコンピューティングデバイス450はまた、オーディオコーデック460を使用して可聴に通信し得、オーディオコーデック460は、ユーザから発話情報を受け取り、発話情報を使用可能なデジタル情報に変換し得る。同様に、オーディオコーデック460は、たとえばモバイルコンピューティングデバイス450のハンドセット内のスピーカなどを通じて、ユーザに対する可聴音を生成し得る。そのような音は、音声電話呼出しからの音を含み得、記録された音(たとえば、ボイスメッセージ、音楽ファイルなど)を含み得、モバイルコンピューティングデバイス450上で動作するアプリケーションによって生成された音をも含み得る。
【００９８】
モバイルコンピューティングデバイス450は、図に示されるように、いくつかの異なる形態で実装され得る。たとえば、モバイルコンピューティングデバイス450はセルラー電話480として実装され得る。モバイルコンピューティングデバイス450はさらに、スマートフォン482、携帯情報端末、または他の類似のモバイルデバイスの部分として実装され得る。
【００９９】
ここで説明したシステムおよび技法の様々な実装は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せとして実現され得る。これらの様々な実装は、少なくとも1つのプログラム可能プロセッサを含むプログラム可能システム上で実行可能および/または解釈可能である1つまたは複数のコンピュータプログラム内の実装を含み得、プログラム可能プロセッサは、専用または汎用でよく、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受け取り、それらにデータおよび命令を送信するように結合され得る。
【０１００】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラム可能プロセッサ用の機械語命令を含み、高水準手続型および/またはオブジェクト指向プログラミング言語、ならびにあるいはアセンブリ/機械語として実装され得る。本明細書では、機械可読媒体およびコンピュータ可読媒体という用語は、機械可読信号として機械語命令を受け取る機械可読媒体を含む、プログラム可能プロセッサに機械語命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、装置、および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス(PLD))を指す。機械可読信号という用語は、プログラム可能プロセッサに機械語命令および/またはデータを提供するために使用される任意の信号を指す。
【０１０１】
ユーザとの対話を実現するために、ここで説明するシステムおよび技法は、ユーザに情報を表示するためのディスプレイデバイス(たとえば、CRT(陰極線管)、またはLCD(液晶ディスプレイ)モニタ)と、ユーザがコンピュータに入力を提供し得るキーボードおよびポインティングデバイス(たとえば、マウスまたはトラックボール)とを有するコンピュータ上に実装され得る。他の種類のデバイスも、ユーザとの対話を実現するために使用され得、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック(たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であり得、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態として受け取られ得る。
【０１０２】
ここで説明するシステムおよび技法は、バックエンド構成要素を(たとえば、データサーバとして)含み、またはミドルウェア構成要素(たとえば、アプリケーションサーバ)を含み、またはフロントエンド構成要素(たとえば、ユーザがそれを通じてここで説明するシステムおよび技法の一実装と対話し得るグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータ)を含み、あるいはそのようなバックエンド、ミドルウェア、またはフロントエンド構成要素の任意の組合せを含むコンピューティングシステムとして実装され得る。システムの構成要素は、任意の形態または媒体のデジタルデータ通信(たとえば、通信ネットワーク)によって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、およびインターネットを含む。
【０１０３】
コンピューティングシステムはクライアントおよびサーバを含み得る。クライアントとサーバは、一般に互いに遠隔にあり、通常は通信ネットワークを通じて対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で動作し、互いにクライアントサーバ関係を有するコンピュータプログラムによって生じる。
【０１０４】
いくつかの実装が上記で詳細に説明されたが、他の修正形態が可能である。たとえば、クライアントアプリケーションがデリゲート(delegate)にアクセスすると説明されるが、他の実装では、デリゲートが、1つまたは複数のサーバ上で実行中のアプリケーションなどの、1つまたは複数のプロセッサによって実装される他のアプリケーションによって利用され得る。さらに、図示される論理フローは、望ましい結果を達成するために、図示される特定の順序、または順次的順序を必要としない。さらに、他のアクションが提供され得、または記載のフローからアクションが省略され得、他の構成要素が記載のシステムに追加され、または記載のシステムから除去され得る。さらに、他の実装が以下の特許請求の範囲内にある。
【０１０５】
本明細書は多くの特定の実装詳細を含むが、これらは、何らかの発明の範囲、または特許請求され得るものの範囲に関する限定と解釈されるべきではなく、むしろ特定の発明の特定の実施形態に特有のものであり得る特徴の説明と解釈されるべきである。本明細書において別々の実施形態の文脈において説明されるいくつかの特徴はまた、単一の実施形態において組み合わせて実装され得る。逆に、単一の実施形態の文脈において説明される様々な特徴はまた、複数の実施形態として別々に、または任意の適切な部分組合せとして実装され得る。さらに、特徴が、いくつかの組合せとして働くものとして上記で説明され、さらにはそのように最初に特許請求され得るが、いくつかのケースでは、特許請求される組合せからの1つまたは複数の特徴が組合せから削除され得、特許請求される組合せは、部分組合せまたは部分組合せの変形を対象とし得る。
【０１０６】
同様に、図面では動作が特定の順序で示されるが、このことは、望ましい結果を達成するために、そのような動作が図示される特定の順序で、または順次的順序で実施されること、またはすべての図示される動作が実施されることを必要とすると理解されるべきではない。いくつかの環境では、マルチタスキングおよび並列処理が有利であり得る。さらに、前述の実施形態での様々なシステムモジュールおよび構成要素の分離が、すべての実施形態においてそのような分離を必要とすると理解されるべきではなく、記載のプログラム構成要素およびシステムは一般に、単一のソフトウェア製品として共に一体化され、または複数のソフトウェア製品としてパッケージ化され得ることを理解されたい。
【０１０７】
主題の特定の実施形態が説明された。他の実施形態は以下の特許請求の範囲内にある。たとえば、請求項に記載のアクションは、異なる順序で実施され、それでもなお望ましい結果を達成し得る。一例として、添付の図に示されるプロセスは、望ましい結果を達成するために、図示される特定の順序、または順次的順序を必ずしも必要とするわけではない。いくつかの実装では、マルチタスキングおよび並列処理が有利であり得る。
【符号の説明】
【０１０８】
100  システム
102  ユーザ
104  発話
106  質問
108  分類器サーバ
109  データ
110  クライアントデバイス
112  陳述
113  応答
114  ネットワーク
116  自動アシスタントサーバ
118  語句
120  テレビジョン
122  発話
201  マイクロフォン
202  音声認識器
204  音響特徴生成器
206  トランスクリプション表現生成器
208  連結モジュール
209  ニューラルネットワーク
210-A  分類器
210-B  LSTM
211  シグマ
400  コンピューティングデバイス
402  プロセッサ
404  メモリ
406  記憶デバイス
410  高速拡張ポート
412  低速インターフェース
414  低速拡張ポート
416  ディスプレイ
420  標準サーバ
422  ラップトップコンピュータ
424  ラックサーバシステム
450  モバイルコンピューティングデバイス
452  プロセッサ
454  ディスプレイ
464  メモリ
466  通信インターフェース
468  トランシーバ
470  GPS(全地球測位システム)受信機モジュール
472  拡張インターフェース
474  拡張メモリ
480  セルラー電話
482  スマートフォン
【要約】
ニューラルネットワークを使用する分類のための、コンピュータ記憶媒体上に符号化されたコンピュータプログラムを含む方法、システム、および装置。一方法は、発話に対応するオーディオデータを受け取ること、発話のトランスクリプションを取得すること、オーディオデータの表現を生成すること、発話のトランスクリプションの表現を生成すること、(i)オーディオデータの表現および(ii)発話のトランスクリプションの表現を分類器に提供することであって、分類器が、オーディオデータの所与の表現および発話のトランスクリプションの所与の表現に基づいて、その所与の表現に関連する発話が自動アシスタントに向けられる可能性が高いか、それとも自動アシスタントに向けられる可能性が低いかの指示を出力するようにトレーニングされることを含む。【図１】
0006740504.tif 000002
【図２】
0006740504.tif 000003
【図３】
0006740504.tif 000004
【図４】
0006740504.tif 000005