(57)【要約】音声コマンドを処理するように構成されたシステムが、入力オーディオを所望の音声、非所望の音声、または非音声として分類する場合がある。所望の音声は、基準音声と同じ話者からの音声である。基準音声は、構成セッションから、またはウェイクワードを含む入力音声の第１の部分から得てもよい。基準音声を再帰型ニューラルネットワーク（ＲＮＮ）エンコーダを用いてエンコードして、基準特徴ベクトルを形成してもよい。基準特徴ベクトルと入力オーディオデータとをトレーニング済みニューラルネットワーク分類器によって処理して、入力オーディオデータを（たとえば、フレームごとに）、各フレームが基準音声と同じ話者によって話されているか否かについてラベル付けしてもよい。ラベルを、自動音声認識（ＡＳＲ）コンポーネントに送って、ＡＳＲコンポーネントが所望の音声に対するその処理にフォーカスでき得るようにしてもよい。【選択図】図１５
2019514045.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実装方法であって、
入力オーディオデータを受け取ることと、
基準オーディオデータを特定することと、
前記基準オーディオデータを再帰型ニューラルネットワークを用いて処理して、基準特徴ベクトルを決定することと、
前記入力オーディオデータの一部と前記基準特徴ベクトルとを分類器を用いて処理して、前記一部が、前記基準オーディオデータと同じ話者からの音声に対応するか否かを判定することと、を含む前記コンピュータ実装方法。
【請求項２】
前記入力オーディオデータの第１の部分がキーワードを含むと判定することと、
前記第１の部分を前記基準オーディオデータとして選択することと、をさらに含む請求項１に記載のコンピュータ実装方法。
【請求項３】
入力オーディオデータを受け取ることは、第１のデバイスとの第１の相互作用の一部として第１のオーディオデータを受け取ることと、前記第１のデバイスとの第２の相互作用の一部として第２のオーディオデータを受け取ることとを含み、
前記方法は、
前記第１のオーディオデータを前記基準オーディオデータとして選択することと、
前記第２のオーディオデータを前記入力オーディオデータの前記一部として選択することと、をさらに含む、請求項１に記載のコンピュータ実装方法。
【請求項４】
前記入力オーディオデータを受け取る前に、第１の話者に対応するトレーニングオーディオデータを記憶すること、をさらに含み、
前記基準オーディオデータを特定することは、前記トレーニングオーディオデータを前記基準オーディオデータとして選択することを含む、請求項１に記載のコンピュータ実装方法。
【請求項５】
前記入力オーディオデータの前記一部に対応する複数の特徴ベクトルを特定すること、をさらに含み、
前記入力オーディオデータの前記一部と前記基準特徴ベクトルとを前記分類器を用いて処理することは、前記複数の特徴ベクトルを処理して、前記複数の特徴ベクトル内の第１の特徴ベクトルが、前記基準オーディオデータと前記同じ話者からの音声に対応するか否かに対応する第１のスコアを決定することを含む、請求項１に記載のコンピュータ実装方法。
【請求項６】
前記第１のスコアに基づいて、前記第１の特徴ベクトルに対応する第１の重みを決定することと、
前記第１の重みと前記第１の特徴ベクトルとを用いて音声認識を実行することと、をさらに含む、請求項５に記載のコンピュータ実装方法。
【請求項７】
前記再帰型ニューラルネットワークは、
複数のオーディオ特徴ベクトルを入力して単一ベクトルを出力するように構成され、
前記単一ベクトルは、
前記複数のオーディオ特徴ベクトルのそれぞれから情報を取り入れる、請求項１に記載のコンピュータ実装方法。
【請求項８】
コンピューティングシステムであって、
少なくとも１つのプロセッサと、
命令を含むメモリデバイスであって、
前記命令は、
前記少なくとも１つのプロセッサによって実行されて、
前記システムを、
入力オーディオデータを受け取ることと、
基準オーディオデータを特定することと、
前記基準オーディオデータを再帰型ニューラルネットワークを用いて処理して基準特徴ベクトルを決定することと、
前記入力オーディオデータの一部と前記基準特徴ベクトルとを分類器を用いて処理して、前記一部が、前記基準オーディオデータと同じ話者からの音声に対応するか否かを判定することと、を行うように構成するように動作可能である前記メモリデバイスと、
を含む前記コンピューティングシステム。
【請求項９】
前記システムを、
前記入力オーディオデータの第１の部分がキーワードを含むと判定することと、
前記第１の部分を前記基準オーディオデータとして選択することと、
を行うように構成する命令をさらに含む、請求項８に記載のコンピューティングシステム。
【請求項１０】
前記システムを入力オーディオデータを受け取るように構成する前記命令は、前記システムを、第１のデバイスとの第１の相互作用の一部として第１のオーディオデータを受け取り、前記第１のデバイスとの第２の相互作用の一部として第２のオーディオデータを受け取るように構成する命令を含み、前記コンピューティングシステムはさらに、前記システムを、
前記第１のオーディオデータを前記基準オーディオデータとして選択することと、
前記第２のオーディオデータを前記入力オーディオデータの前記一部として選択することと、を行うように構成する命令を含む、請求項８に記載のコンピューティングシステム。
【請求項１１】
前記命令は、前記システムを、
前記入力オーディオデータを受け取る前に、第１の話者に対応するトレーニングオーディオデータを記憶するように構成し、
前記システムを前記基準オーディオデータを特定するように構成する前記命令は、前記システムを、前記トレーニングオーディオデータを前記基準オーディオデータとして選択するように構成する命令を含む、請求項８に記載のコンピューティングシステム。
【請求項１２】
前記システムを、基準オーディオデータを再帰型ニューラルネットワークを用いて処理するように構成する前記命令は、
前記システムを、前記トレーニングオーディオデータを前記再帰型ニューラルネットワークを用いて処理して、前記入力オーディオデータを受け取る前に、前記基準特徴ベクトルを決定するように構成する命令を含む、請求項８に記載のコンピューティングシステム。
【請求項１３】
前記システムを、前記入力オーディオデータの前記一部に対応する複数の特徴ベクトルを特定するように構成する命令を、さらに含み、
前記システムを、前記入力オーディオデータの前記一部と前記基準特徴ベクトルとを前記分類器を用いて処理するように構成する前記命令は、
前記システムを、前記複数の特徴ベクトルを処理して、前記複数の特徴ベクトル内の第１の特徴ベクトルが前記基準オーディオデータと前記同じ話者からの音声に対応するか否かに対応する第１のスコアを決定するように構成する命令を含む、請求項８に記載のコンピューティングシステム。
【請求項１４】
前記システムを、
前記第１のスコアに基づいて、前記第１の特徴ベクトルに対応する第１の重みを決定することと、
前記第１の重みと前記第１の特徴ベクトルとを用いて音声認識を実行することと、
を行うように構成する命令をさらに含む、請求項８に記載のコンピューティングシステム。
【請求項１５】
前記再帰型ニューラルネットワークは、複数のオーディオ特徴ベクトルを入力して単一ベクトルを出力するように構成され、
前記単一ベクトルは、前記複数のオーディオ特徴ベクトルのそれぞれから情報を取り入れる、請求項８に記載のコンピューティングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、米国特許出願第１５／１９６，２２８号、発明の名称「ＡＮＣＨＯＲＥＤ  ＳＰＥＥＣＨ  ＤＥＴＥＣＴＩＯＮ  ＡＮＤ  ＳＰＥＥＣＨ  ＲＥＣＯＧＮＩＴＩＯＮ」（２０１６年６月２９日に出願）、及び米国仮特許出願第６２／３１１，０８２号、発明の名称「ＡＮＣＨＯＲＥＤ  ＳＰＥＥＣＨ  ＤＥＴＥＣＴＩＯＮ  ＡＮＤ  ＳＰＥＥＣＨ  ＲＥＣＯＧＮＩＴＩＯＮ」（２０１６年３月２１日に出願）に対する優先権を主張する。前述の出願は、ここで参照により全体として取り入れられている。
【背景技術】
【０００２】
音声認識システムは、ヒトが音声を用いてコンピューティングデバイスと相互作用できるところまで進んだ。このようなシステムでは、ヒトユーザが話した単語を、受け取ったオーディオ入力の種々の品質に基づいて特定する技術を用いている。音声認識を自然言語理解処理技術と組み合わせると、コンピューティングデバイスの音声ベースのユーザ制御によって、ユーザが話したコマンドに基づいてタスクを実行することが可能になる。音声認識と自然言語理解処理技術とを組み合わせることは一般に音声処理と言われる。また音声処理はユーザの音声をテキストデータに変換する場合があり、テキストデータは次に種々のテキストベースのソフトウェアアプリケーションに与えられる場合がある。
【０００３】
音声処理を、コンピュータ、ハンドヘルドデバイス、電話コンピュータシステム、キオスク、及び幅広い他のデバイスによって用いて、ヒト−コンピュータ相互作用が改善される場合がある。
【０００４】
次に本開示をより完全に理解するために、以下の説明を添付図面と共に参照する。
【図面の簡単な説明】
【０００５】
【図１】本開示の実施形態により格子の再帰型ニューラルネットワーク表現を用いて音声認識を実行するように構成されたシステムを示す図である。
【図２】本開示の実施形態による音声処理システムの概念図である。
【図３】本開示の実施形態による音声認識に対するニューラルネットワークを例示する図である。
【図４】本開示の実施形態による音声認識に対するニューラルネットワークを例示する図である。
【図５】本開示の実施形態による音素処理と単語処理とを例示する図である。
【図６】本開示の実施形態による音声認識格子を例示する図である。
【図７】本開示の実施形態による図６の格子を渡る異なる方法を例示する図である。
【図８】本開示の実施形態による図６の格子に対応付けられた仮説のＮベストリストを例示する図である。
【図９】本開示の実施形態によるエンコーダの動作を例示する図である。
【図１０】本開示の実施形態による入力オーディオデータ内のウェイクワードの特定を例示する図である。
【図１１】本開示の実施形態による入力オーディオデータのウェイクワード部分からの基準オーディオデータの特定を例示する図である。
【図１２】本開示の実施形態による事前記憶されたオーディオデータからの基準オーディオデータの特定を例示する図である。
【図１３】本開示の実施形態による第１の入力オーディオデータからの基準オーディオデータの特定を例示する図である。
【図１４】本開示の実施形態による基準オーディオデータの特徴ベクトルへのエンコードを例示する図である。
【図１５】本開示の実施形態による基準特徴ベクトルを用いて入力オーディオデータを分類することを例示する図である。
【図１６Ａ】本開示の実施形態により入力オーディオデータと入力オーディオデータに対応するラベルとを用いてボイス活動検出を行うことを例示する図である。
【図１６Ｂ】本開示の実施形態により入力オーディオデータと入力オーディオデータに対応するラベルとを用いてＡＳＲを行うことを例示する図である。
【図１７】本開示の実施形態による入力オーディオデータの分類を例示する図である。
【図１８】本開示の実施形態による記憶されてユーザプロファイルに対応付けられたデータを例示する図である。
【図１９】本開示の実施形態によるデバイスのコンポーネント例を概念的に例示するブロック図である。
【図２０】本開示の実施形態によるサーバのコンポーネント例を概念的に例示するブロック図である。
【図２１】本システムとともに用いるコンピュータネットワークの例を例示する図である。
【発明を実施するための形態】
【０００６】
自動音声認識（ＡＳＲ）は、コンピュータ科学、人工知能、及び言語学の一分野であり、音声に対応付けられたオーディオデータをその音声を表すテキストに変換することに関するものである。同様に、自然言語理解（ＮＬＵ）は、コンピュータ科学、人工知能、及び言語学の一分野であり、自然言語を含むテキスト入力からコンピュータが意味を得ることを可能にすることに関するものである。ＡＳＲ及びＮＬＵは、音声処理システムの一部として一緒に用いられることが多い。
【０００７】
ＡＳＲ及びＮＬＵは計算コストが高い可能性がある。すなわち、ＡＳＲ及びＮＬＵの処理を妥当な時間内で行うためには著しいコンピューティング資源が必要となる場合がある。このため、音声処理を行うときに分散コンピューティング環境を用いる場合がある。典型的な分散環境は、話しているユーザから音を取り込んで、その音をオーディオ信号に変換するように構成された１つ以上のマイクロフォンを有するローカルデバイスを伴っていてもよい。したがって、オーディオを含む機械的な音波をオーディオ信号／データに変換してもよい。これは、オーディオを表すデータであり、たとえばパルス符号変調（ＰＣＭ）オーディオデータである。オーディオ信号／データを次に、下流のリモートデバイスに送ってさらなる処理を行ってもよい。たとえばオーディオ信号を最終的なコマンドに変換することである。次にコマンドを、コマンド自体に応じてリモート及びローカルデバイスを組み合わせて実行してもよい。
【０００８】
ある状況では、音声コマンドが話される環境は混雑しているか、音が大きいか、またはそうでなければ騒音が多い場合があり、音声処理の妨害になり得るものである。たとえば、ユーザが、システムが実行するコマンドを含む発声を話す場合があるが、ユーザの発声を取り込むデバイスは、他の個人も話をしている環境にある場合がある。システムが、コマンドを話したユーザ（すなわち、所望の話者）に対応するオーディオを特定する状況で問題があり得るため、音声認識を、システムにコマンドを話していない他の人からの音声にではなくその所望のオーディオに対して行ってもよい。
【０００９】
所望のユーザからの音声をユーザとのコマンド相互作用の間に特定するシステムの能力を、待ち時間に著しく影響を与えないが、それでもやはりシステムが所望の音声を非所望の音声から区別できるあるやり方で向上させるシステム及び方法が提供される。
【００１０】
図１に示すのは、本開示の実施形態による改善された所望の話者の検出を用いて音声認識を実行するように構成されたシステム１００である。図１及び下方の図／説明はシステムの動作を特定の順番で例示しているが、記載したステップは、本開示の意図から逸脱することなく、異なる順番で行ってもよい（ならびにあるステップを取り除くかまたは加えてもよい）。図１に示すように、システム１００は、所望のユーザ（複数可）１０にローカルな１つ以上のデバイス１１０、ならびに１つ以上のネットワーク１９９、及びネットワーク（複数可）１９９を介してデバイス１１０に接続された１つ以上のサーバ１２０を含んでいてもよい。サーバ（複数可）１２０（１つ以上の異なる物理デバイスであってもよい）は、ここで説明するように、従来の音声処理（たとえばＡＳＲ、ＮＬＵ、クエリ解析など）を行うことができてもよい。単一のサーバによってすべての音声処理を行うことができてもよいし、または複数のサーバ（複数可）１２０を組み合わせて音声処理を実行してもよい。さらに、サーバ（複数可）１２０を、あるコマンドを実行する（たとえばユーザ１０が話した照会に答える）ように構成してもよい。加えて、ある音声検出またはコマンド実行機能をデバイス１１０が行ってもよい。
【００１１】
図１に示すように、デバイス１１０が、所望のユーザ１０から、話された発声に対応するオーディオ入力１１を受け取る。入力オーディオ１１はまた、デバイス１１０にローカルな他の人１５からの音声または他のノイズを含んでいてもよい。デバイス１１０は、オーディオ１１をオーディオデータ１１１に変換して、オーディオデータをサーバ（複数可）１２０に送ってもよい。そしてサーバ（複数可）１２０は、話されたコマンドに対応するオーディオデータ１１１をネットワーク１９９を介して受け取ってもよい（１３０）。サーバ１２０は、入力オーディオデータ１１１の所望の話者に対応する基準オーディオデータを決定する（１３２）。基準オーディオデータは入力オーディオデータ１１１の第１の部分であってもよいし、または後述するように他の基準オーディオデータであってもよい。サーバ１２０は、基準オーディオデータをエンコードして（１３４）、エンコードされた基準オーディオデータを得る。基準オーディオデータを前もって入手できた場合には、これをオーディオデータ１１１を受け取る前に行ってもよい。基準オーディオデータをオーディオデータ１１１から取った場合には、オーディオデータ１１１を受け取った後にエンコーディングを行ってもよい。種々のエンコーディング技術（図９に関連して後述するものを含む）を用いてよい。サーバ１２０は次に、さらなる入力オーディオデータ（たとえば、さらなるオーディオフレームに対応するオーディオ特徴ベクトル）を、エンコードされた基準オーディオデータを用いて処理する（１３６）。オーディオフレームは、特定のオーディオデータセット（たとえば、２５ｍｓに値するＰＣＭまたは同様のオーディオデータ）に対応する。たとえば、サーバ１２０は、分類器または他のトレーニングされた機械学習モデルを用いて、入力オーディオ特徴ベクトルが基準オーディオデータ中の音声と同じ話者からの音声を表すか否かの判定を、エンコードされた基準オーディオデータを用いて行ってもよい。サーバは次に、各オーディオ特徴ベクトル（及び／または対応するオーディオフレーム）を、所望の音声、非所望の音声、または非音声を含んでいるとラベル付けする（１３８）。このラベル付けは、各オーディオ特徴ベクトル／入力オーディオフレームに対して、特定のオーディオフレームが所望の音声に対応する第１の確率、特定のオーディオフレームが非所望の音声に対応する第２の確率、及び特定のオーディオフレームが非音声に対応する第３の確率を割り当てることを含んでいてもよい。プロセスを各オーディオ特徴ベクトルに対して繰り返してもよい。システムは次に、エンコードされた基準オーディオデータ及び／または個々のフレームラベル／確率を用いて、入力オーディオフレーム（または対応するオーディオ特徴ベクトル）に対してＡＳＲ処理を実行する（１４０）。これによって、システムがそのＡＳＲ処理を、所望の話者１０に対応する入力オーディオ部分にフォーカスすることができてもよい。システムは次に、ＡＳＲ結果を判定して（１４２）、ＡＳＲ結果に対してＮＬＵ（１４４）を実行して、コマンドを実行する（１４６）。これは、所望のユーザ１０の話された発声に対応しているはずである。
【００１２】
図２の音声処理システム全体の説明に続いて、本改善を用いて音声認識を行うことのさらなる詳細について後述する。図２は、話された発声が従来どのように処理されているかの概念図であり、システムは、ユーザが話したコマンド（たとえばウェイクワードに続いてもよい話されたコマンド）を取り込んで実行することができる。例示した種々のコンポーネントを、同じ物理デバイス上に配置してもよいし、または異なる物理デバイス上に配置してもよい。図２に例示した種々のコンポーネント間の通信を直接行ってもよいし、またはネットワーク１９９を介して行ってもよい。オーディオ取り込みコンポーネント（たとえば、デバイス１１０のマイクロフォン）は、話された発声に対応するオーディオ１１を取り込む。デバイス１１０は、ウェイクワード検出モジュール２２０を用いて、次にオーディオ（またはオーディオに対応するオーディオデータ）を処理して、キーワード（たとえばウェイクワード）がオーディオ中に検出されたか否かを判定する。ウェイクワードを検出した後に、デバイスは、発声に対応するオーディオデータ１１１を、ＡＳＲモジュール２５０を含むサーバ１２０に送る。オーディオデータ１１１を、デバイス１１０上に配置された音響フロントエンド（ＡＦＥ）２５６から、送信前に出力してもよい。またはオーディオデータ１１１は、リモートＡＦＥ２５６（たとえばＡＳＲモジュール２５０とともに配置されたＡＦＥ２５６）によって処理するための異なる形式であってもよい。
【００１３】
ウェイクワード検出モジュール２２０は、デバイスの他のコンポーネント（たとえば、マイクロフォン（図示せず））とともに動作して、オーディオ１１内のキーワードを検出する。たとえば、デバイス１１０は、オーディオ１１をオーディオデータに変換し、オーディオデータをウェイクワード検出モジュール２２０を用いて処理して、音声が検出されたか否かを判定し、そうである場合には、音声を含むオーディオデータが、オーディオ署名及び／または特定のキーワードに対応するモデルに一致するか否かを判定してもよい。
【００１４】
デバイス１１０は、オーディオデータが音声を含むか否かを判定する種々の技術を用いてもよい。いくつかの実施形態では、ボイス活動検出器２２２が実装するボイス活動検出（ＶＡＤ）技術を適用してもよい。このような技術によって、音声がオーディオ入力に存在するか否かを、オーディオ入力の種々の量的側面に基づいて判定してもよい。たとえば、オーディオ入力の１つ以上のフレーム間のスペクトル傾斜、１つ以上のスペクトルバンドにおけるオーディオ入力のエネルギーレベル、１つ以上のスペクトルバンドにおけるオーディオ入力の信号対雑音比、または他の量的側面である。他の実施形態では、デバイス１１０は、バックグラウンドノイズから音声を区別するように構成された限定された分類器を実装していてもよい。分類器を、線形分類器、サポートベクターマシン、及び決定木などの技術によって実装してもよい。さらに他の実施形態では、隠れマルコフモデル（ＨＭＭ）または混合ガウスモデル（ＧＭＭ）技術を適用して、オーディオ入力を音声記憶内の１つ以上の音響モデルと比較してもよい。音響モデルは、音声、ノイズ（たとえば環境ノイズまたはバックグラウンドノイズ）、または沈黙に対応するモデルを含んでいてもよい。さらに他の技術を用いて、音声がオーディオ入力に存在するか否かを判定してもよい。
【００１５】
デバイス１１０が受け取ったオーディオ中にボイス活動が検出された時点で（または音声検出とは別個に）、デバイス１１０はウェイクワード検出モジュール２２０を用いてウェイクワード検出を実行して、ユーザがデバイス１１０にコマンドを話すことを意図したときを判定してもよい。この処理をキーワード検出と言ってもよく、ウェイクワードがキーワードの具体例である。具体的には、キーワード検出は典型的に、言語分析、テキスト分析、または意味解析を行わずに行う。その代わりに、入力オーディオ（またはオーディオデータ）を分析して、オーディオの特定の特徴が、事前構成された音響波形、オーディオ署名、または他のデータと一致するか否かを判定して、入力オーディオが、キーワードに対応する記憶オーディオデータと「一致する」か否かを判定する。
【００１６】
したがって、ウェイクワード検出モジュール２２０は、オーディオデータを、記憶したモデルまたはデータと比較して、ウェイクワードを検出してもよい。ウェイクワード検出に対するアプローチの１つは、一般的な大語彙連続音声認識（ＬＶＣＳＲ）システムを適用してオーディオ信号をデコードし、ウェイクワード検索を結果として得られる格子または混乱ネットワーク内で行うことである。ＬＶＣＳＲデコーディングは、比較的高いコンピュータ資源を必要としてもよい。ウェイクワード発見のための別のアプローチでは、各キーウェイクワード単語及び非ウェイクワード音声信号のそれぞれに対して隠れマルコフモデル（ＨＭＭ）を構築する。非ウェイクワード音声は、他の話し単語、バックグラウンドノイズなどを含む。非ウェイクワード音声特性をモデリングするために構築された１つ以上のＨＭＭ（フィラーモデルと言われる）が存在する可能性がある。ビタビデコーディングを用いてデコーディンググラフ内の最良の経路を検索し、デコーディング出力をさらに処理してキーワード存在に対する判定を行う。このアプローチを、ハイブリッドＤＮＮ−ＨＭＭデコーディングフレームワークを取り入れることによって識別情報を含むように拡張することができる。別の実施形態では、ウェイクワード発見システムをディープニューラルネットワーク（ＤＮＮ）／再帰型ニューラルネットワーク（ＲＮＮ）構造上に、ＨＭＭを含めずに直接構築してもよい。このようなシステムが、コンテキスト情報を伴うウェイクワードの後側を、ＤＮＮに対するコンテキストウィンドウ内にフレームを積み重ねるかまたはＲＮＮを用いることによって推定してもよい。後続の後側閾値調整または平滑化を適用して決定を図る。ウェイクワードを検出するための他の技術（たとえば当該技術分野で知られているもの）を用いてもよい。
【００１７】
ウェイクワードが検出された時点で、ローカルデバイス１１０は、「ウェイク」して、入力オーディオ１１に対応するオーディオデータ１１１をサーバ（複数可）１２０に、音声処理用に送信することを始めてもよい。そのオーディオに対応するオーディオデータをサーバ１２０に送って受信側デバイスに配信してもよいし、またはサーバに送って音声処理して、含まれる音声を解釈してもよい（ボイス通信を可能にするために及び／または音声内のコマンドを実行するために）。オーディオデータ１１１はウェイクワードに対応するデータを含んでいてもよいし、またはウェイクワードに対応するオーディオデータの部分を、送る前にローカルデバイス１１０によって取り除いてもよい。
【００１８】
サーバ（複数可）１２０によって受け取ったら、システム１００は処理すべき音声の開始と終了を判定するために種々の技術を用いてもよい。説明の目的上、システム１００において、音声の始点はデバイス１１０によって決定されると記載し、音声の終点はサーバ１２０によって決定される（デバイス１１０から対応するオーディオデータを受け取った後で）と記載するが、異なるコンポーネントが、本開示から逸脱することなく始点決め／終点決めを実行してもよい。
【００１９】
オーディオコマンドの開始または終了を判定するために、多くの技術を用いてもよい。一実施形態では、システムは話し単語の休止を判定してもよく、またこのような休止を会話の潜在的な中断と解釈してもよい。したがって、ここでの説明は終点の判定または表明に言及する場合があるが、システムが行うことは、ここで説明する種々の検討に基づいて、話されたコマンドが終了した（すなわち、終点に達した）という推定である。会話の中断を発声間の中断と考えてもよく、したがって発声の開始（始点）または終了（終点）と考えてもよい。また発声の開始／終了を、音声／ボイス特性を用いて検出してもよい。また他の技術を用いて、発声の開始（始点決めとも言われる）または発声の終了（終点決め）を判定してもよい。始点決め／終点決めは、たとえば、沈黙／非音声オーディオフレームの数（たとえば、連続する沈黙／非音声フレームの数）に基づいてもよい。たとえば、いくつかのシステムが、エネルギーベースまたは音響モデルベースのＶＡＤ技術を用いてもよい。このような技術によって、音声がオーディオ入力に存在するか否かを、オーディオ入力の種々の量的側面に基づいて判定してもよい。たとえば、オーディオ入力の１つ以上のフレーム間のスペクトル傾斜、１つ以上のスペクトルバンドにおけるオーディオ入力のエネルギーレベル（たとえばボリューム、強度、振幅など）、ゼロ交差率、１つ以上のスペクトルバンドにおけるオーディオ入力の信号対雑音比、または他の量的側面である。これらの因子を１つ以上の閾値と比較して、始点／終点として適格な音声の中断が生じたか否かを判定してもよい。このような閾値をユーザ入力に従って設定してもよいし、またはデバイスによって設定してもよい。いくつかの実施形態では、始点決め／終点決めをさらに、少なくとも時間閾値の間、閾値を満たすエネルギーレベルをオーディオ入力が有すると判定するように構成してもよい。このような実施形態では、比較的短い時間の高エネルギーのオーディオ入力（音声を含むことが比較的起こりそうもない突然のノイズに対応していてもよい）を無視してもよい。始点決め／終点決めは、エネルギーレベルをエネルギーレベル閾値（及び任意的に時間閾値）と比較して、エネルギーレベル閾値が満足されているか否かを判定してもよい。
【００２０】
ある実施形態では、ＨＭＭまたはＧＭＭ技術を適用してオーディオ入力を音声記憶内の１つ以上の音響モデルと比較してもよい。音響モデルは、音声、ノイズ（たとえば環境ノイズまたはバックグラウンドノイズ）、または沈黙／非音声に対応するモデルを含んでいてもよい。非音声フレームは必ずしも完全な沈黙を表していなくてもよい（たとえば、あるノイズが依然としてオーディオ中に存在していてもよい）が、フレームは音声に特有の音響特性が無くてもよく、したがって非音声フレームであるとみなしてもよい。さらに他の技術を用いて、入力オーディオデータ内で音声が開始／終了したか否かを判定してもよい。
【００２１】
休止を始点／終点とみなすのに十分な休止の長さは、話者の身元に依存してもよい。システムが話者識別（当該技術分野で知られた技術）を実行するように構成されている場合、システムは話者を特定して、終点をそれ相応に決定するのに十分な休止長さを調整してもよい。またシステムを、異なる話者の休止傾向を学習して、その終点決め処理をそれ相応に調整するように構成してもよい。たとえば、システムトレーニング／登録の間、発声間またはトピック間の話者の休止傾向を記録して、システムの終点決め処理をトレーニングするために用いてもよい。またこのような傾向を実行時に記録して、システムをさらに調整するために用いてもよい。また異なる休止長さを異なる話し言葉に対して構成してもよい。なぜならば、休止長さは話し言葉に応じて変化してもよいからである（たとえば、会話英語での休止は会話スペイン語での休止と異なっていてもよい）。また発声の開始／終了を音声の種々の特性によって判定してもよい。たとえば、音声のピッチ、韻律、ボリューム、リズム、応力、イントネーション、ケプストラムなどであり、これらはデバイスのオーディオ及び／または音声処理コンポーネントによって判定してもよい。たとえば、ボイスの音色が上げるかまたは下がると、新しい発声、コマンドの終了などを示してもよい。システムを、いつ発声が終了するか、したがって音声の終了をいつシステムがマーキングすべきかを示すボイス特性（話者身元に結びつけることができてもよいしできなくてもよい）についてトレーニングしてもよい。これらの技術を用いて、前述した言語モデルを変更／カスタマイズして、言語モデル（複数可）における予想される休止が話者の身元に基づき得るようにしてもよい。
【００２２】
前述した技術の変形を用いて、始点決め／終点決めは信頼レベルを決定してもよい。信頼レベルの値は、当該の点（すなわち、始点決め／終点決めが行われるオーディオデータ中の点）の位置が発声／コマンドの開始／終了を表す可能性に対応する。信頼スコアは、マーカー、休止の長さ、話者身元などを決定するために用いる技術などの因子に依存してもよい。たとえば、信頼レベルが信頼レベル閾値を満たす場合、検出された沈黙が十分である（たとえば、音声内の休止の長さが閾値を超える）こと、音声がオーディオ入力内に存在すること、及び発声の開始／終了をマーキングしてもよいことを判定してもよい。しかし、信頼レベルが信頼レベルを満たさない場合、オーディオ入力内に音声がないとシステムは判定してもよい。
【００２３】
ウェイクワード／始点が検出された時点で、デバイス１１０はオーディオデータをサーバ１２０に送ることを開始してもよい。サーバ１２０は、終点が検出されるまでオーディオデータに対して音声処理を続ける。したがって、発声に対する音声処理を行うときに、始点から終点までのオーディオデータがシステム１００によって考慮される。
【００２４】
ある構成では、終点決めに対するプロセスは、前述したような始点決めに対するプロセスと同様である。しかし、終点決めと始点決めとの間の違いの１つは、終点決めの間、終点決めされている発声の内容についてシステムが多少知っていることである。したがって、始点決めはしばしば、事前の音声がないときに行われるが、終点決めは事前の音声（すなわち、終点が検出されている発声の音声）があるときに行われる。
【００２５】
さらに、単に休止長さに基づくあるＶＡＤまたは他の技術に対する欠点の１つは、中間の発声休止間を区別することと、発声の終了を真に示す休止間を区別することとに問題があることである。さらに、あるシステムでは、ノイズから音声を分離すると適切な休止検出に影響が出る騒音が多い環境で問題に遭遇する場合がある。
【００２６】
音声に対応するオーディオデータが特定された時点で、ＡＳＲモジュール２５０はオーディオデータ１１１をテキストに変換してもよい。ＡＳＲは、オーディオデータを、オーディオデータに含まれる音声の単語を表すテキストデータに書き写す。テキストデータを次に、他のコンポーネントによって種々の目的のために用いてもよい。たとえば、システムコマンドを実行すること、データを入力することなどである。オーディオデータ内の話された発声を、ＡＳＲを実行するように構成されたプロセッサに入力し、そして、発声とＡＳＲモデル記憶装置２５２ｃ内に記憶された予め設定された言語モデル２５４との間の類似性に基づいて、発声を解釈する。たとえば、ＡＳＲ処理は、入力オーディオデータを、音に対するモデル（たとえば、部分語単位または音素）及び音の順序と比較して、オーディオデータの発声中で話された音の順序と一致する単語を特定してもよい。
【００２７】
話された発声を解釈し得る異なる方法（すなわち、異なる仮説）それぞれに、特定の単語のセットが発声内で話されたものに一致する可能性を表す確率または信頼スコアを割り当ててもよい。信頼スコアは、多くの因子に基づいてもよい。たとえば、言語音に対するモデル（たとえば、ＡＳＲモデル記憶装置２５２に記憶される音響モデル２５３）に対する発声内の音の類似性、及び音に一致する特定の単語が文章の特定の箇所に含まれるであろう可能性（たとえば、言語または文法モデルを用いて）である。こうして、話された発声（仮説）のそれぞれの潜在的なテキスト解釈が、信頼スコアに対応付けられる。考えられた因子と割り当てられた信頼スコアとに基づいて、ＡＳＲ処理２５０は、オーディオデータ内で認識された最も可能性が高いテキストを出力する。またＡＳＲ処理は、複数の仮説を格子またはＮベストリスト（各仮説が信頼スコアまたは他のスコア（たとえば確率スコアなど）に対応する）の形式で出力してもよい。
【００２８】
ＡＳＲ処理を行うデバイスまたはデバイス（複数）は、音響フロントエンド（ＡＦＥ）２５６と音声認識エンジン２５８とを含んでいてもよい。音響フロントエンド（ＡＦＥ）２５６は、マイクロフォンからのオーディオデータを、音声認識エンジンによって処理するためのデータに変換する。音声認識エンジン２５８は、音声認識データを、音響モデル２５３、言語モデル２５４、ならびにオーディオデータ内で伝えられた音声を認識するための他のデータモデル及び情報と比較する。ＡＦＥは、オーディオデータ内のノイズを減らしてもよく、またデジタル化されたオーディオデータを、時間間隔を表すフレームに分割して、この時間間隔の間、ＡＦＥが、オーディオデータの品質を表す多くの値（特徴と言われる）を決定するとともに、フレーム内のオーディオデータの特徴／品質を表す、これらの値のセット（オーディオ特徴ベクトルと言われる）を決定するようにしてもよい。１つの構成では、各オーディオフレームが２５ｍｓのオーディオと１０ｍｓ間隔のフレーム開始とを含み、その結果、隣接するオーディオフレームが１５ｍｓの重複オーディオを含むスライディングウィンドウとなる。特定のフレームに対する多くの異なる特徴を、当該技術分野で知られているように決定してもよい。各特徴は、ＡＳＲ処理にとって有用であり得るオーディオの何らかの品質を表す。オーディオデータを処理するためにＡＦＥは多くのアプローチを用いてもよい。たとえば、メル周波数ケプストラム係数（ＭＦＣＣ）、知覚線形予測（ＰＬＰ）技術、ニューラルネットワーク特徴ベクトル技術、線形判別分析、半結合共分散マトリクス、または当業者に知られている他のアプローチである。こうして、ＡＦＥは、特定のオーディオフレームを表す種々のデータを含むオーディオ特徴ベクトルを形成してもよい。
【００２９】
音声認識エンジン２５８は、音声／モデル記憶装置（２５２）に記憶された情報を参照してＡＦＥ２５６からの出力を処理してもよい。代替的に、ポストフロントエンド処理データ（たとえばオーディオ特徴ベクトル）を、ＡＳＲ処理を実行するデバイスが、内部ＡＦＥ以外の別の供給源から受け取ってもよい。たとえば、デバイス１１０は、オーディオデータを処理してオーディオ特徴ベクトル内に入れて（たとえば、オンデバイスＡＦＥ２５６を用いて）、その情報をサーバにネットワーク１９９を介して送信して、ＡＳＲ処理を行ってもよい。オーディオ特徴ベクトルは、エンコードされたサーバに到達してもよく、この場合、オーディオ特徴ベクトルを、音声認識エンジン２５８を実行するプロセッサによって処理される前にデコードしてもよい。
【００３０】
音声認識エンジン２５８は、受け取ったオーディオ特徴ベクトルを、記憶された音響モデル２５３及び言語モデル２５４において知られている言語音素及び単語に一致させることを試みる。音声認識エンジン２５８は、音響情報及び言語情報に基づいてオーディオ特徴ベクトルに対する認識スコアを計算する。音響情報を用いて、オーディオ特徴ベクトルのグループによって表される意図した音が言語音素に一致する可能性を表す音響スコアを計算する。言語情報を用いて音響スコアの調整を、どんな音及び／または単語が互いに関連付けて用いられているかを考えることによって行い、その結果、ＡＳＲ処理が文法的に道理にかなった音声結果を出力する可能性を向上させる。用いた特定のモデルは一般的なモデルであってもよいし、または特定のドメインに対応するモデル（たとえば、音楽、銀行業務など）であってもよい。
【００３１】
音声認識エンジン２５８は、オーディオ特徴ベクトルを音素に一致させる多くの技術を用いて、たとえば、隠れマルコフモデル（ＨＭＭ）を用いて、オーディオ特徴ベクトルが音素と一致し得る確率を決定してもよい。受け取った音をＨＭＭの状態間の経路として表してもよいし、複数の経路が同じ音に対する複数の可能なテキスト一致を表してもよい。音素の代わりに（またはそれに加えて）、セノンを音響単位として用いてもよい。セノンは音素の音響的実現である。各音素は、そのコンテキスト（たとえば、周囲の音素）に応じて多くの異なる音を有していてもよい。英語には約５０音素があり得るが数千のセノンがある。ＡＳＲ処理でセノンを用いると、ＡＳＲ結果を改善できる場合がある。
【００３２】
ＡＳＲ処理の後に、ＡＳＲ結果を音声認識エンジン２５８によって他の処理コンポーネントに送ってもよい。他の処理コンポーネントは、ＡＳＲを行うデバイスにローカルであってもよく、及び／またはネットワーク（複数可）１９９を介して分配してもよい。たとえば、ＡＳＲが音声の単一テキスト表現の形式になり、複数の仮説及び対応するスコア、格子などを含むＮベストリストをサーバ（たとえば、サーバ１２０）に送って自然言語理解（ＮＬＵ）処理（たとえば、テキストをコマンドに変換して実行させること）を、デバイス１１０によって、サーバ１２０によって、または別のデバイス（たとえば、検索エンジンなどのような特定のアプリケーションを実行するサーバ）によっても行ってもよい。
【００３３】
ＮＬＵ処理２６０を行うデバイス（たとえば、サーバ１２０）は、種々のコンポーネントを含んでいてもよい。たとえば、潜在的に専用プロセッサ（複数可）、メモリ、記憶装置などである。ＮＬＵ処理用に構成されたデバイスは、名前付きエンティティ認識（ＮＥＲ）モジュール２５２及び意図分類（ＩＣ）モジュール２６４、結果ランク付け及び分配モジュール２６６、ならびにＮＬＵ記憶装置２７３を含んでいてもよい。またＮＬＵ処理は、エンティティライブラリ記憶装置２８２に記憶されたガゼッティア情報（２８４ａ〜２８４ｎ）を用いてもよい。ガゼッティア情報をエンティティ解決を得るために用いてもよい。たとえば、ＡＳＲ結果を異なるエンティティ（たとえば曲タイトル、連絡先など）と一致させることである。ガゼッティアをユーザにリンクしてもよいし（たとえば、特定のガゼッティアを、特定のユーザのミュージックコレクションと対応付けてもよいし）、あるドメイン（たとえばショッピング）にリンクしてもよいし、または種々の他の方法で組織化してもよい。
【００３４】
ＮＬＵ処理はテキスト入力（たとえば、発声１１に基づいてＡＳＲ２５０から処理された）を取って、テキストの意味解釈を形成することを試みる。すなわち、ＮＬＵ処理は、個々の単語に基づいてテキストの背後の意味を判定した後、その意味を実現する。ＮＬＵ処理２６０はテキスト文字列を解釈して、ユーザからの意図または所望の動作、ならびにデバイス（たとえば、デバイス１１０）がその動作を終了することができるテキスト中の適切な情報を得る。たとえば、話された発声をＡＳＲ２５０を用いて処理して、テキスト「お母さんを呼ぶ」が出力される場合、ＮＬＵ処理は、ユーザが自分のデバイスの電話を起動して、エンティティ「お母さん」と一致する連絡先との通話を開始することを意図したと判定してもよい。
【００３５】
ＮＬＵは同じ発声に関するいくつかのテキスト入力を処理してもよい。たとえば、ＡＳＲ２５０がＮのテキストセグメントを（Ｎベストリストの一部として）出力する場合、ＮＬＵはすべてのＮの出力を処理してＮＬＵ結果を得てもよい。
【００３６】
ＮＬＵ処理を、ＮＬＵ処理の一部としてテキストに注釈を付けるように構文解析してタグ付けするように構成してもよい。たとえば、テキスト「お母さんを呼ぶ」の場合、「呼ぶ」には（電話呼び出しを実行する）コマンドとしてタグ付けしてもよく、「お母さん」には、特定のエンティティ及びコマンドの対象としてタグ付けしてもよい（また連絡先リストに記憶された「お母さん」に対応するエンティティに対する電話番号を注釈付き結果に含めてもよい）。
【００３７】
音声入力のＮＬＵ処理を正しく実行するために、ＮＬＵ処理２６０を、発声の「ドメイン」を決定して、終点デバイス（たとえば、サーバ１２０またはデバイス１１０）が提供するどのサービスが関連性があり得るかを決定して範囲を限定するように、構成してもよい。たとえば、終点デバイスが、電話サービス、連絡先リストサービス、カレンダ／スケジューリングサービス、音楽プレーヤサービスなどとの相互作用に関係するサービスを提供してもよい。単一テキスト照会内の単語が２つ以上のサービスを包含してもよく、いくつかのサービスが機能的にリンクしていてもよい（たとえば、電話サービス及びカレンダサービスの両方が連絡先リストからのデータを用いてもよい）。
【００３８】
名前エンティティ認識モジュール２６２は、ＡＳＲ結果の形式で照会を受け取って、意味を解釈するために用いてもよい関連性のある文法及び語彙情報の特定を試みる。そうするために、名前エンティティ認識モジュール２６２を、受け取った照会に関する場合がある潜在的なドメインを特定することによって開始してもよい。ＮＬＵ記憶装置２７３は、特定のデバイスに対応付けられたドメインを特定するデバイス（２７４ａ〜２７４ｎ）のデータベースを含んでいてもよい。たとえば、デバイス１１０を、音楽、電話通信、カレンダリング、連絡先リスト、及びデバイス固有の通信（しかし、ビデオではない）に対するドメインに対応付けてもよい。加えて、エンティティライブラリは、特定のデバイス上での特定のサービスについてのデータベースエントリ（デバイスＩＤ、ユーザＩＤ、もしくは家庭用ＩＤ、または何らかの他の指標によってインデックス付けされている）を含んでいてもよい。
【００３９】
ドメインが、共通のテーマを有する別個の行為セット（たとえば「ショッピング」、「音楽」、「カレンダリング」など）を表してもよい。したがって、各ドメインを、特定の言語モデル及び／または文法データベース（２７６ａ〜２７６ｎ）、意図／動作の特定のセット（２７８ａ〜２７８ｎ）、及び特定の個人化語彙（２８６）に対応付けてもよい。各ガゼッティア（２８４ａ〜２８４ｎ）は、特定のユーザ及び／またはデバイスに対応付けられたドメインインデックス付けされた語彙情報を含んでいてもよい。たとえば、ガゼッティアＡ（２８４ａ）はドメインインデックス語彙情報２８６ａａ〜２８６ａｎを含んでいてもよい。ユーザの音楽ドメイン語彙情報は、たとえば、アルバムタイトル、アーチスト名、及び曲名を含んでいてもよいが、ユーザの連絡先リスト語彙情報は、連絡先の名前を含んでいてもよい。あらゆるユーザのミュージックコレクション及び連絡先リストはおそらく異なっているため、この個人化情報によってエンティティ解決は改善される。
【００４０】
それぞれの特定されたドメインに適用可能なルール、モデル、及び情報を適用して、照会を処理する。たとえば、照会が通信及び音楽の両方を潜在的に包含する場合、照会を、文法モデルと通信に対する語彙情報とを用いてＮＬＵ処理し、文法モデルと音楽に対する語彙情報とを用いて処理する。モデルの各セットが生成する照会に基づいた応答を得点して（以下でさらに説明する）、適用したすべてのドメインから得られた全体的に最も高くランク付けされた結果を通常、正しい結果であると選択する。
【００４１】
意図分類（ＩＣ）モジュール２６４は照会を構文解析して、特定したドメインそれぞれに対する意図または意図（複数）を決定する。意図は、照会に応答する行うべき動作に対応する。各ドメインを、意図にリンクされた単語のデータベース（２７８ａ〜２７８ｎ）に対応付ける。たとえば、音楽意図データベースは、単語及び語句、たとえば「静かな」、「ボリュームオフ」、及び「ミュート」を、「ミュート」意図にリンクしてもよい。ＩＣモジュール２６４は、照会内の単語を意図データベース２７８内の単語及び語句と比較することによって、特定したドメインそれぞれに対する潜在的な意図を特定する。
【００４２】
特定の解釈した応答を形成するために、ＮＥＲ２６２は、対応するドメインに対応付けられた文法モデルと語彙情報とを適用する。各文法モデル２７６は、特定のドメイン（すなわち、総称）について音声内に一般的に見出されるエンティティの名前（すなわち、名詞）を含むが、ガゼッティア２８４からの語彙情報２８６はユーザ（複数可）及び／またはデバイスに対して個人化される。たとえば、ショッピングドメインに対応付けられた文法モデルは、人々がショッピングについて話し合うときに広く用いられる単語のデータベースを含んでいてもよい。
【００４３】
ＩＣモジュール２６４が特定した意図を、満たすべき「スロット」または「フィールド」を伴うドメイン固有の文法フレームワーク（２７６に含まれる）にリンクする。たとえば、「音楽を再生する」が特定の意図である場合、文法（２７６）フレームワークまたはフレームワーク（複数）が、文章構造たとえば「｛アーチスト名｝を再生する」、「｛アルバム名｝を再生する」、「｛曲名｝を再生する」、「｛曲名｝を｛アーチスト名｝によって再生する」などに対応してもよい。しかし認識をより柔軟に行うために、これらのフレームワークを通常、文章として構築することはせず、むしろスロットを文法上のタグに対応付けることに基づく。
【００４４】
たとえば、ＮＥＲモジュール２６０は、名前付きエンティティを認識する前に、照会を構文解析して、文法規則及びモデルに基づいて単語を主語、目的語、動詞、前置詞などと特定する。特定した動詞をＩＣモジュール２６４が用いて意図を特定してもよい。意図を次にＮＥＲモジュール２６２が用いてフレームワークを特定する。「再生」の意図に対するフレームワークが、特定の「目的語」及び任意の目的語修飾語（たとえば、前置詞句）、たとえば｛アーチスト名｝、｛アルバム名｝、｛曲名｝などの再生に適用可能なスロット／フィールドのリストを特定してもよい。ＮＥＲモジュール２６０は次に、ドメイン固有の個人化語彙（複数可）内の対応するフィールドを検索して、照会内の目的語または目的語修飾語としてタグ付けされた単語及び語句を、データベース（複数可）内で特定されているものと一致させることを試みる。
【００４５】
この処理には意味上のタグ付けが含まれる。これは、単語または単語の組み合わせのそれらのタイプ／意味論的意味によるラベル付けである。構文解析を発見的な文法規則を用いて行ってもよいし、またはＮＥＲモデルを、隠れマルコフモデル、最大エントロピーモデル、対数線形モデル、条件付き確率場（ＣＲＦ）などの技術を用いて構成してもよい。
【００４６】
たとえば、「ローリングストーンズによるマザーズリトルヘルパーを再生する」の照会を構文解析して、｛動詞｝「再生する」、｛目的語｝「マザーズリトルヘルパー」、｛目的語前置詞｝「による」、及び｛目的語修飾語｝「ローリングストーンズ」としてタグ付けしてもよい。このプロセスの時点で、「再生する」を、音楽ドメインに対応付けられた単語データベースに基づいて動詞と特定する。これはＩＣモジュール２６４が「音楽を再生する」意図に対応して決定する。「マザーズリトルヘルパー」及び「ローリングストーンズ」の意味について判定は行っていないが、文法規則及びモデルに基づいて、これらの語句が照会の目的語に関すると判定される。
【００４７】
意図にリンクされたフレームワークを次に用いて、どのデータベースフィールドを検索してこれらの語句の意味を決定するかを決める。たとえばユーザの定期刊行物を検索してフレームワークスロットとの類似性を探す。したがって、「音楽を再生する意図」に対するフレームワークが、特定の目的語を、｛アーチスト名｝、｛アルバム名｝、及び｛曲名｝に基づいて分解する試みを示してもよく、また同じ意図に対する別のフレームワークが、目的語修飾語を｛アーチスト名｝に基づいて分解すること、目的語を、特定された｛アーチスト名｝にリンクされた｛アルバム名｝及び｛曲名｝に基づいて分解する試みを示してもよい。ガゼッティアを検索しても、ガゼッティア情報を用いたスロット／フィールドの解決がされない場合、ＮＥＲモジュール２６２は、ドメインに対応付けられた汎語のデータベース（ＮＬＵ記憶装置２７３内）を検索してもよい。したがって、たとえば、「ローリングストーンズ」による「歌」と言われるアルバム名または曲名が決定できない後で、照会が「ローリングストーンズによる歌を再生する」だった場合、ＮＥＲ２６２はドメイン語彙を検索して単語「歌」を探す。代替的に、汎語をガゼッティア情報の前にチェックしてもよいし、または両方を試みてもよく、２つの異なる結果を潜在的に形成してもよい。
【００４８】
ＮＥＲモジュール２６２が用いる比較処理によって、どのくらい詳細にデータベースエントリがタグ付き照会単語または語句に匹敵するか、どのくらい詳細に照会の文法構造が、適用された文法フレームワークに対応するかを、エントリとフレームワークの他のスロットを満たすように特定された情報との間の関係をデータベースが示すか否かに基づいて、分類（すなわち、得点）してもよい。
【００４９】
またＮＥＲモジュール２６２は、文脈上の運用ルールを用いてスロットを満たしてもよい。たとえば、ユーザが特定の歌の休止を以前にリクエストし、その後、ボイス制御型デバイスに「どうぞ私の音楽を休止解除して下さい」とリクエストした場合、ＮＥＲモジュール２６２は推論ベースのルールを適用して、ユーザが現時点で再生を望む歌―すなわちユーザが音楽の休止をリクエストした時に再生されていた歌の名前に対応付けられたスロットを満たすようにしてもよい。
【００５０】
ＮＬＵ処理の結果を、照会に対する属性意味にタグ付けしてもよい。したがって、たとえば、「ローリングストーンズによるマザーズリトルヘルパーを再生する」は、｛ドメイン｝音楽、｛意図｝音楽を再生する、｛アーチスト名｝「ローリングストーンズ」、｛メディアタイプ｝歌、及び｛曲タイトル｝「マザーズリトルヘルパー」という結果を形成してもよい。別の例として、「ローリングストーンズによる歌を再生する」は、｛ドメイン｝音楽、｛意図｝音楽を再生する、｛アーチスト名｝「ローリングストーンズ」、及び｛メディアタイプ｝歌を形成してもよい。
【００５１】
ＮＬＵ処理からの出力（タグ付きテキスト、コマンドなどを含んでいてもよい）を次に、コマンドプロセッサ２９０に送ってもよい。コマンドプロセッサ２９０は、同じまたは別個のサーバ１２０上にシステム１００の一部として配置してもよい。宛先コマンドプロセッサ２９０をＮＬＵ出力に基づいて決定してもよい。たとえば、ＮＬＵ出力に音楽を再生するコマンドが含まれる場合、宛先コマンドプロセッサ２９０は、音楽再生コマンドを実行するように構成された音楽再生アプリケーション（たとえば、デバイス１１０上または音楽再生器具内に配置されるもの）であってもよい。ＮＬＵ出力が検索要求を含む場合、宛先コマンドプロセッサ２９０は、検索コマンドを実行するように構成された検索エンジンプロセッサ（たとえば、検索サーバ上に配置されたもの）を含んでいてもよい。
【００５２】
ニューラルネットワークを用いて、音響モデル処理と言語モデル処理とを含むＡＳＲ処理を実行してもよい。ＡＳＲに対するニューラルネットワーク例を図３に例示する。ニューラルネットワークを、入力層３０２、中間層３０４、及び出力層３０６を用いて構築してもよい。中間層は隠れ層としても知られている場合がある。隠れ層の各ノードは、入力層内の各ノードと出力層内の各ノードとに接続されている。図３では単一の隠れ層を用いて例示しているが、ニューラルネットワークは複数の中間層を含んでいてもよい。この場合、隠れ層内の各ノードは、次の高位層及び次の下位層内の各ノードに接続している。入力層の各ノードはニューラルネットワークへの潜在的な入力を表し、出力層の各ノードはニューラルネットワークの潜在的な出力を表す。次の層内のあるノードから別のノードまでの各接続を、重みまたはスコアに対応付けてもよい。ニューラルネットワークは、単一出力を出力してもよいし、または可能な出力の重み付けされたセットを出力してもよい。
【００５３】
一態様では、ニューラルネットワークを再帰接続によって構成してもよく、それにより、ネットワークの隠れ層の出力が、次の入力セットのために隠れ層内に再び戻る。このようなニューラルネットワークを図４に例示する。入力層４０２の各ノードは隠れ層４０４の各ノードに接続する。隠れ層４０４の各ノードは出力層４０６の各ノードに接続する。例示したように、次の入力セットの処理を行うために、隠れ層４０４の出力を隠れ層内にフィードバックする。再発接続を取り入れたニューラルネットワークを、再帰型ニューラルネットワーク（ＲＮＮ）と言ってもよい。
【００５４】
音響モデルがニューラルネットワークを用いる場合、ニューラルネットワーク入力層の各ノードが、音響特徴のオーディオ特徴ベクトルの音響特徴（たとえば、音声認識を行う第１のパスの後に出力され得るもの）を表してもよく、また出力層の各ノードが、部分語単位（たとえば音素、トライフォンなど）に対応するスコア及び／またはオーディオ特徴ベクトルが表す音に対応し得る関連状態を表す。ニューラルネットワークに対して入力が与えられたときに、特定の入力が与えられたときに特定の出力が正しい出力である確率を表す割り当てられたスコアをそれぞれが有する多くの潜在的な出力が出力される。音響モデルニューラルネットワークのトップスコアリング出力を次にＨＭＭ内に供給してもよく、ＨＭＭは結果を言語モデルに送る前に音の間の遷移を決定してもよい。
【００５５】
言語モデルがニューラルネットワークを用いる場合、ニューラルネットワーク入力層の各ノードは以前の単語を表してもよく、出力層の各ノードは、トレーニングされたニューラルネットワーク言語モデルが決定した潜在的な次の単語を表してもよい。言語モデルを再帰型ニューラルネットワーク（ニューラルネットワーク（たとえば、図４に例示したネットワーク）が処理した単語の何らかの履歴を取り入れる）として構成してもよいので、潜在的な次の単語の予測は、直近の単語ではなく発声内の以前の単語に基づいてもよい。また言語モデルニューラルネットワークは、次の単語に対する重み付け予測を出力してもよい。
【００５６】
ニューラルネットワークによる処理を、各ノード入力及びネットワークの構造に対して学習した重みによって決定する。特定の入力が与えられたら、ニューラルネットワークは、ネットワーク全体の出力層が計算されるまで、一度に一層で出力を決定する。
【００５７】
トレーニング中に最初に接続重みをニューラルネットワークが学習してもよい。ここでは、与えられた入力を既知の出力に対応付ける。トレーニングデータのセットにおいて種々のトレーニング例をネットワーク内に供給する。各例では典型的に、入力から出力までの正しい接続の重みを１に設定して、すべての接続に重み０を与える。トレーニングデータ内の例をニューラルネットワークによって処理したとき、入力をネットワークに送って、対応付けられた出力と比較して、どのようにネットワーク性能が対象性能に匹敵するかを判定してもよい。トレーニング技術（たとえば、逆伝播）を用いて、ニューラルネットワークの重みを、トレーニングデータを処理するときにニューラルネットワークによって形成される誤差を減らすように更新してもよい。状況によっては、ニューラルネットワークを格子全体を用いてトレーニングして、格子全体が処理されたときの音声認識を向上させてもよい。
【００５８】
前述したように、音声認識の間に、ＡＳＲモジュール２５０／音声認識エンジン２５８が音響モデル２５３を用いて、入力オーディオデータ特徴ベクトルと一致する可能な音素または他の音声単位を決定してもよい。起こりそうな音素及び関連する状態／状態遷移を、潜在的な音素の格子を渡る経路内に形成してもよい。各経路は、オーディオ特徴ベクトルが表すオーディオデータに潜在的に一致する音素の進行を表す。１つの経路が、各音素に対して計算された認識スコアに応じて１つ以上の他の経路と重なってもよい。ある確率が、状態から状態までの各移行に対応付けられている。また累積経路スコアを各経路に対して計算してもよい。オーディオ特徴ベクトルに基づいてスコアを決定するこのプロセスは、音響モデリングと言ってもよい。スコアをＡＳＲ処理の一部として組み合わせるとき、スコアを互いに掛け合わせて（または他の方法で組み合わせて）所望の組合せスコアに到達してもよいし、または確率を対数ドメインに変換して加えて処理を助けてもよい。
【００５９】
また音声認識エンジン２５８は、言語モデルまたは文法に基づいて経路の分岐のスコアを計算してもよい。言語モデリングには、整合のとれた単語及び文章を形成するためにどの単語を一緒に用いる可能性が高いかに対するスコアを決定することが含まれる。言語モデルを適用すると、オーディオデータ中に含まれる音声をＡＳＲモジュール２５０が正しく解釈する可能性が向上する場合がある。たとえば、入力オーディオが「ハロー」のように聞こえる場合、「ＨＥＬＯ」、「ＨＡＬＯ」、及び「ＹＥＬＯ」の潜在的な音素経路を戻す音響モデル処理を言語モデルによって調整して、「ＨＥＬＯ」（単語「ハロー」と解釈される）、「ＨＡＬＯ」（単語「光輪」と解釈される）、及び「ＹＥＬＯ」（単語「イエロー」と解釈される）の認識スコアを、話された発声内の各単語の言語コンテキストに基づいて調整してもよい。
【００６０】
図５に、音響モデリングと言語モデリングとの間の関係を例示する。例示したように、経路５０２に含まれる処理された音素をそれぞれ、音響モデルスコアＡＭ１〜ＡＭ７に対応付ける。次に言語モデルを適用して、経路５０４内の各単語を言語モデルスコアＬＭ１またはＬＭ２に対応付ける。
【００６１】
言語モデリングの一部として（またはＡＳＲ処理の他のフェーズにおいて）、音声認識エンジン２５８は、コンピュータ資源を節約するために、話された発声に対応する可能性がほとんどない低認識スコア状態または経路（言語モデルに従って認識スコアが低いため、または他の理由で）を取り除いて廃棄してもよい。このように取り除いた経路は不活性であると考えられる。さらに、ＡＳＲ処理の間、音声認識エンジン２５８は、以前に処理した発声部分に対してさらなる処理パスを繰り返して実行してもよい。後のパスは、前のパスの結果を取り入れて、結果を精緻化して改善してもよい。現時点で処理されてシステムの潜在的な出力と考えられている経路は、活性な仮説であると考えられる。
【００６２】
音声認識エンジン２５８は、潜在的な経路を、音声認識結果を表す格子内に組み合わせてもよい。サンプル格子を図６に示す。格子６０２は、音声認識結果の複数の潜在的な経路を示している。大きなノード間の経路は潜在的な単語（たとえば「ハロー」、「イエロー」など）を表し、より小さいノード間の経路は潜在的な音素（たとえば、「Ｈ」、「Ｅ」、「Ｌ」、「Ｏ」及び「Ｙ」、「Ｅ」、「Ｌ」、「Ｏ」）を表す。説明の目的上、個々の音素は、格子の最初の２つの単語に対してのみ示している。ノード６０４とノード６０６との間の２つの経路は、２つの潜在的な単語選択「ハローハウ」または「イエローナウ」を表している。ノード間の各経路点（たとえば潜在的な単語）は、認識スコアに対応付けられている。また格子に渡る各経路に認識スコアを割り当ててもよい。最も高い認識スコア経路（認識スコアは、音響モデルスコア、言語モデルスコア、及び／または他の因子の組み合わせである）を、対応付けられたオーディオ特徴ベクトルに対するＡＳＲ結果として、音声認識エンジン２５８によって戻してもよい。
【００６３】
また異なる弧を同じ時間データに対応付けてもよい。たとえば、弧「ハロー」を、音声認識エンジン２５８が処理した第１のグループのオーディオフレームに対する時間データに対応付けて、「ハロー」に対応する弧を渡るようにしてもよい。同じ時間データを弧「イエロー」に対応付けてもよい。なぜならば、「ハロー」に対応する弧と同じ第１のグループのオーディオフレームを、弧「イエロー」を渡るように処理したからである。すなわち、音声認識エンジン２５８は、その第１のグループのオーディオフレームに対応し得る２つの潜在的な単語を決定した。時間データを、格子６０２のマトリックス／ベクトル表現のための弧に対応付けてもよい。
【００６４】
図７に例示するのは、格子６０２に沿って存在する異なる潜在的な経路である。図７に示すように、経路７０２は「ハローハウアーユー」になり、経路７０４は「イエローナウアー」になり、経路７０６は「イエローワウアウア」になる。図からわかるように、小さい格子例６０２においてでさえ多くのこのような経路が可能である。このような経路の例８０２〜８１０を図８に示す。音声処理を行うときに、音声認識処理が何千もの異なる経路（すなわち、仮説）を考慮するのは珍しいことではない。各仮説をスコアに対応付けて、それを他の仮説に対してランク付けしてもよい。スコアは、入力オーディオデータ、音響モデルからの処理、言語モデルのトレーニングなどに基づいてもよい。前述したように、ＡＳＲコンポーネントは、Ｎベストリスト（たとえば、図８に示す潜在的な結果のリスト）を出力してもよいし、単一のトップスコアリング返答（たとえば、８０２）を出力してもよいし、または格子全体を出力してもよい。
【００６５】
エンコーディングは、一続きの特徴をベクトル空間内に射影するための一般的な技術である。エンコーディングの目標の１つは、データ点を多次元のベクトル空間内に射影することによって、種々の動作をベクトル組合せ上で行ってそれら（またはそれらが含むデータ）がどのように互いに関係づけられるかを決定することである。たとえば、２つの文章たとえば「今日の天気は？」及び「今日は雨？」の使用法をベクトル空間（各ベクトルには、どのようにまたはいつ文章が用いられるかを表すデータ点が入る）内に射影した場合、２つの文章はおそらく、最後にはベクトル射影空間内で互いに近くなる結果、２つの文章の同じような使用法が表されることになるだろう。ある特徴をベクトル空間内にエンコードして種々の動作を実行することは貴重である可能性がある。
【００６６】
数学的表記では、一続きの特徴データ表現ｘ１，…ｘｎ，…ｘＮが与えられ、ｘｎはＤ次元ベクトル（Ｄは各特徴データ表現における特定値の構成可能な数を表す）であると、エンコーダＥ（ｘ１，…ｘＮ）＝ｙは、特徴順序をｙに射影する（ｙはＦ次元ベクトル）。Ｆはベクトルの固定長であり、エンコードされたベクトル及び他のシステム構成のユーザに応じて構成可能である。たとえば、Ｆは音声処理で用いるのに１００〜１０００値であってもよいが、任意のサイズを用いてもよい。任意の特定のエンコーダ９５０を、同じサイズのベクトルを出力するように構成することによって、任意の特定のエンコーダ９５０からの出力エンコード済みベクトルサイズの連続性が確実になる（しかし、異なるエンコーダが異なる固定サイズのベクトルを出力してもよい）。値ｙは、順序ｘ１，…ｘＮの埋め込みと言ってもよい。ｘｎ及びｙの長さは固定されて、既知のアプリオリであるが、特徴順序ｘ１，…ｘＮのＮの長さは必ずしも既知のアプリオリではない。エンコーダＥを、再帰型ニューラルネットワーク（ＲＮＮ）として、たとえば、長短期メモリＲＮＮ（ＬＳＴＭ−ＲＮＮ）またはゲート付き再帰型ユニットＲＮＮ（ＧＲＵ−ＲＮＮ）として、実装してもよい。ＲＮＮは、ノードのネットワークを数値的に表し得るツールである。各ノード表現は、ネットワークの先行部分についての情報を含んでいる。たとえば、ＲＮＮは、順序を固定サイズベクトルに変換する特徴ベクトルの順序の線形変換を実行する。結果として得られるベクトルは、本来は任意に長くなる可能性がある縮小ベクトル空間内での順序の特徴を維持する。特徴データ値の順序を消費した後のＲＮＮの出力はエンコーダ出力である。ＲＮＮエンコーダがエンコーダ出力を消費する種々の方法が存在する。たとえば、限定することなく、線形、一方向（正または逆）、双線形、本質的に前方へ及び後方の埋め込みの連結、または、木、順序の構文解析木に基づく。加えて、注意モデルを用いることができる。これは、入力のある部分に注意を「引き付ける」ことを学習する別のＲＮＮまたはＤＮＮである。注意モデルを、入力を消費する前述の方法と組み合わせて用いることができる。
【００６７】
図９に、ＲＮＮエンコーダ９５０の動作を例示する。入力特徴部値順序は、特徴値ｘ１９０２から始まり、特徴値ｘｎ９０４を通って続き、特徴値ｘＮ９０６で終わり、ＲＮＮエンコーダ９５０内に入力される。ＲＮＮエンコーダ９５０は、前述したように、入力特徴部値を処理してもよい。ＲＮＮエンコーダ９５０は、エンコードされた特徴ベクトルｙ９１０を出力する。特徴ベクトルｙ９１０は長さＦの固定長特徴ベクトルである。エンコーダ（たとえば９５０）を、以下に示すように音声処理とともに用いてもよい。
【００６８】
ＡＳＲ処理の場合、ベース入力は典型的に、オーディオフレームに対応するオーディオ特徴ベクトルの形式のオーディオデータである。前述したように、典型的な音響特徴（たとえば、ログフィルタバンクエネルギー（ＬＦＢＥ）特徴、ＭＦＣＣ特徴、または他の特徴）を決定して、各オーディオフレームに対するオーディオ特徴ベクトルを形成するように用いる。オーディオデータをＲＮＮ内に送ることは、高速フーリエ変換（ＦＦＴ）の振幅及び（フェーズ）スペクトルを用いて、またはオーディオ信号を一続きのデータ内に射影する他の技術によって、可能である。音響特徴のアライメントが存在する場合、それを追加入力として加えてもよい。アライメント情報を、ビタビアライメントを用いてワンホットベクトルとして与えることもできるし、またはバウム‐ウェルチアライメントを用いてすべての可能な状態に対する確率分布として与えることもできる。アライメントを、セノン、音素のレベル、またはアプリケーションに適した任意の他のレベルで与えることができる。
【００６９】
ＮＬＵ処理の場合、ベース入力は典型的に、単語系列の形式のテキストである。単語系列は通常、一連のワンホットベクトルとして表される（すなわち、語彙内のＺの入手可能な単語を表すＺサイズのベクトルであり、順序内の特定の単語を表すように１ビット高い）。ワンホットベクトルは、大量の汎用データについてトレーニングされた他のモデルからの情報によって増大することが多い。汎用データはたとえば（しかし限定することなく）、どのように個々の単語がテキストコーパス内で用いられているかを表す単語埋め込み、タグ付け者（たとえば、品詞（ＰＯＳ）または名前付きエンティティタグ付け者）からのラベル、パーサ（たとえば、意味または依存関係パーサ）からのラベルなどである。
【００７０】
たとえば、ＲＮＮを用いて単語系列をエンコードするために、ＲＮＮエンコーダに順序の各単語を１つずつ与える。ＲＮＮ処理は第１の単語、そして第２の単語などである。ＲＮＮには、すべての以前の状態からのすべての情報を有するその状態を維持するメカニズムがある。したがって、各単語に対して、ＲＮＮは単語及びその内部状態を処理し、その結果、再帰的に動作する。最後の単語の後、最終状態は単語系列に対応するベクトル全体の表現である。ここで、単語系列をベクトル空間内の固定サイズベクトル（すなわち、エンコーダ出力）として表し、それ相応に動作させる。
【００７１】
エンコーダＲＮＮを周知の技術（たとえば、時間逆伝播（ＢＴＴ）アルゴリズムを伴う確率的勾配降下法（ＳＧＤ）方法）を用いてトレーニングして、誤差信号を順序を通して伝播することによって、エンコーダネットワークのパラメータを学習してもよい。
【００７２】
分類器は、入力をある構成されたクラスに分類する既知の機械学習ベースのツールである。分類器を、前述したＲＮＮエンコードされたベクトルを用いる方法でトレーニングしてもよい。したがって、分類器を、特徴ｘ１，…ｘＮの入力セットを固定数のクラス１…Ｃに分類するようにトレーニングしてもよい（Ｃは２であってもよく、分類器を、入力特徴部ベクトルを単純に一方のカテゴリまたは他方に分類するように構成してもよい）。ＲＮＮエンコードされたデータ上で動作するように分類器を構成するために、ソフトマックス層とＲＮＮエンコーダとを伴うＤＮＮを用いてもよい。当該技術分野で知られているように、出力サイズに応じて階層的なソフトマックス層を用いることができる。ＤＮＮは入力としてＲＮＮエンコーダ出力を取って、最も高いスコアリングクラスが選択され得るすべてのクラス上に渡る確率分布を形成する。数学的表記では、順序ｘ１，…ｘＮ、及びエンコーダＥが与えられたら、分類器Ｈを次のように表現してもよい。
【数１】
2019514045.tif 000003
ここで、ｐ（ｃ│ｙ）はＤＮＮとして実装される。
【００７３】
エンコーダＲＮＮ、Ｅと分類器Ｈとを、交差エントロピ目的関数と時間逆伝播（ＢＴＴ）アルゴリズムとを伴うＳＧＤ方法を用いて一緒にトレーニングしてもよい。ＳＧＥの代わりに、ニューラルネットワークの学習に適用される任意の他の機械学習技術をＢＴＴに適用することができる。エンコーダＥを、特徴データのサンプル順序についてトレーニングしてもよい。分類器Ｈを、エンコーダＥとともに特徴ベクトル出力例についてトレーニングしてもよい。既知の機械学習技術を用いてＨ及びＥをトレーニングしてもよく、たとえば勾配フィードバック技術を用いてＨ及びＥにおけるパラメータ／重みを更新してもよい。
【００７４】
前述のエンコーディング技術を用いて、多くの音声処理タスクを向上させてもよい。詳細には、それを用いて音声の基準部分をエンコードしてもよく、それを次に、ある下流タスク（たとえば、音声検出及び音声認識）に対して用いてもよい。音声検出は、入力オーディオが音声を含むかまたは非音声（すなわち、沈黙、ノイズなど）を含むかを判定するタスクである。さらに、音声検出はまた、検出した音声が「所望の」音声であるか否かを判定するタスクを含んでいてもよい（任意の他の人からの音声（またはノイズ）ではなく特定の人からの音声である場合と同様である）。音声認識は、入力オーディオ内にどの単語が検出されたかを判定するタスクである。音声認識はまた、非所望の話者が話す単語（たとえば、部屋内の他の個人からの音声、または他の場合には音声処理コンポーネントが検出可能な音声）ではなくて、入力オーディオ内のどの単語が「所望の」話者に対応するかを判定するタスクを含んでいてもよい。
【００７５】
音声検出及び音声認識を助けるために、基準オーディオデータを用いて、入力音声が所望の話者に対応するシステム決定を助けてもよい。このような基準オーディオデータ（アンカーオーディオデータとも言われる）は、所望の話者の音声（すなわち、アンカーオーディオセグメント）に対応してもよい。前述のエンコーダ技術を用いることによって、音声検出器または音声認識器が所望の音声を非所望の音声及び／またはノイズから区別することを助ける固定サイズベクトル空間における基準オーディオデータの埋め込みを、システムが計算してもよい。
【００７６】
たとえば、ある状況では、システムは、話者Ｓからの音声のみを検出／認識することを希望してもよい（またはそのように構成されていてもよい）。したがって、話者Ｓからの基準音声サンプルが与えられた場合、同じ音声ｘ’１…ｘ’ｍに対するオーディオフレームを得てもよい。これらのフレームは基準オーディオデータと言ってもよい。
【００７７】
基準音声サンプルは多くの方法で得てもよい。第１の例では、ユーザがシステムとの相互作用を話す特定の入力発声に対して、発声はウェイクワードから始まってもよい。たとえば、「アレクサ、音楽を再生して」は、音楽を再生するためのシステムに対する発声であってもよく、「アレクサ」がウェイクワードである。このような状況では、システムはウェイクワードの話者の音声を分離することを望んでもよい。なぜならば、この個人は、システムに命令を出している可能性がある個人であり、したがって、音声検出／ＡＳＲの目的に対して所望の話者になるからである。したがって、ウェイクワードトリガされた相互作用に対して、システムはウェイクワードの開始及び終了時間を決定してもよく、したがって、ウェイクワードオーディオの話しに対応するオーディオデータを分離してもよい。その分離したオーディオデータを基準オーディオデータとして用いてもよい。
【００７８】
たとえば、図１０に例示するように、入力オーディオデータ１１１をウェイクワード確認モジュール１０２０によって処理して、入力オーディオデータ１１１内のウェイクワードを特定することを、ウェイクワード／キーワード検出技術（たとえば、前述したもの）を用いて行ってもよい。ウェイクワード確認モジュール１０２０は次に、入力オーディオデータ１１１内でウェイクワードが検出されているかまたは検出されていないかの確認１０３０を出力してもよい。ウェイクワードが検出されている場合、さらなる処理を行うために、入力オーディオデータを下流コンポーネント（たとえばＡＳＲモジュール２５０）に送ってもよい。また、ウェイクワード確認モジュール１０２０は、入力オーディオデータ１１１内のウェイクワード開始時間１０３２とウェイクワード終了時間１０３４とに対応するタイムスタンプを決定してもよい。タイムスタンプ１０３２及び１０３４は、開始／終了フレームもしくはウェイクワードに対応するオーディオ特徴ベクトルの指標、またはウェイクワードに対する開始／終了時間の他の指標であってもよい。したがって、タイムスタンプ１０３２及び１０３４をこのように用いて、図１１に例示するように、入力オーディオデータ１１１内のウェイクワード部分の境界を定めてもよい。
【００７９】
オーディオデータのウェイクワード部分は、オーディオデータの第１の部分を含んでいてもよい。図１１に示すように、開始タイムスタンプ１０３２はウェイクワードの開始を示してもよく、終了タイムスタンプ１０３４はウェイクワードの終了を示してもよい。こうして、オーディオデータの第１の部分１１０２は、開始位置で開始して、終了位置で終了してもよく、それらの間に第１の複数のオーディオ特徴ベクトルを含んでいてもよい。（なお、入力オーディオデータ１１１は、バッファリングまたは他の処理構成に起因してウェイクワードの前に発声する何らかのオーディオデータを含んでいてもよい。このようなオーディオデータを音声処理の一部として処理してもよいし、または無視してもよい）。こうして、オーディオデータ１１１を少なくとも２つの部分に分割してもよい。ウェイクワードを含む第１の部分１１０２と、さらなるオーディオデータを含む第２の部分１１０４である。入力オーディオデータ１１１の非ウェイクワード部分はしばしばペイロードと言われ、下流の音声処理のフォーカスであってもよい。ペイロードは、第２の部分、第３の部分、第４の部分などを含んでいてもよい。個々の部分はオーディオ特徴ベクトルから構成されていてもよい。第１の部分１１０２を構成するオーディオ特徴ベクトル（すなわち、ウェイクワードに対応する特徴ベクトル）を、基準オーディオデータとして選択してもよい。
【００８０】
第２の例では、ウェイクワードは必ずしも、特定の入力オーディオデータ信号を始めなくてもよい（たとえば非ウェイクワードシステムにおいて、またはウェイクワードが必要でないシステムを伴う進行中セッションの一部である発声内で）。このような状況では、ＡＳＲ処理は入力オーディオ内の単語を認識する際の第１のパスを形成してもよい。システムは、その入力オーディオの何らかの第１の部分が、所望の話者に対応すると判定してもよい。たとえば第１の単語、第１の２つの単語、第１の３つの単語などである。入力オーディオのその早期部分を基準オーディオであると判定してもよく、早期部分に対応するフレームが基準オーディオデータであってもよい。その基準オーディオデータを次に、以下に述べるように用いて、さらなる処理（たとえば、音声検出、ＡＳＲにおける第２のパスなど）を行ってもよい。したがって、図１１の説明図において、オーディオデータ１１０２の第１の部分は、たとえウェイクワードを含んでいなかったとしても、やはり基準オーディオデータとして用いてもよい。
【００８１】
第３の例では、基準オーディオデータを、所望の話者からの以前の記録（たとえば、ボイストレーニングセッションの間に取った記録）から取ってもよい。たとえば、図１２に示すように、構成セッションの間、システムサーバ１２０はプロンプトオーディオデータ１２０２をローカルデバイス１１０に送ってもよい。プロンプトオーディオデータは、たとえば、ユーザ１０に「どうぞサンプル文章を話して下さい」を促すプロンプトに対応するオーディオデータを含んでいてもよい。ローカルデバイス１１０は、プロンプトに対応するオーディオを出力してもよい。ユーザ１０は次に、サンプル文章、たとえば「ハロー、私の名前はジョーです」を話してもよい。サンプル文章に対応するオーディオ１１をデバイス１１０が取り込んで、オーディオデータ１２０４に変換し、それをローカルデバイス１１０がサーバ１２０に送ってもよい。オーディオデータ１２０４を次に、ユーザプロファイル記憶装置１８０２に送って、ユーザ１０に対応付けられたユーザプロファイル内に記憶してもよい。さらなるコマンドが、ユーザ１０に対応付けられたデバイス（たとえばデバイス１１０またはおそらくは、電話機、タブレット、またはユーザ１０のユーザプロファイルに対応付けられた他のデバイス）から来る場合、オーディオデータ１２０４を基準オーディオデータとして用いてもよい。
【００８２】
第４の例では、システムは、システムに以前の文章（たとえば、特定の入力デバイスが受け取った以前の発声）を話した話者が所望の話者であるという想定を形成してもよい。したがって、以前の文章からの入力オーディオデータの一部を基準オーディオデータとして用いてもよい。たとえば、図１３に例示するように、実行時に、デバイス１１０は、第１の発声（たとえば「アレクサ、タイマを設定して」）に対応するオーディオを取り込んでもよい。デバイス１１０は、音声処理のために、第１の発声に対応する第１のオーディオデータ１３０２をサーバ１２０に送ってもよい。サーバ１２０は、第１のオーディオデータ１３０２に対して音声処理を実行してもよく、コマンドを実行するためにさらなる情報が必要であると判定してもよい。システムは次に、デバイス１１０が出力すべきプロンプトオーディオデータ１３０４（たとえば「時間はどのくらい？」）を決定して送ってもよい。デバイス１１０は次に、第２の発声（たとえば「５分間」）に対応する第２のオーディオを取り込んでもよい。デバイス１１０は、第２の発声に対応する第２のオーディオデータ１３０６をサーバ１２０に送って音声処理を図ってもよい。サーバ１２０は、第２のオーディオデータ１３０６が第１のオーディオデータ１３０２と同じセッションまたは交換の一部であることを知っていてもよく、第１のオーディオデータ１３０２を基準オーディオデータとして用いてもよい。
【００８３】
決定されたら、基準オーディオデータ（特徴ベクトルｘ’１…ｘ’ｍを含む）をエンコーダによってエンコードして、エンコードされた基準オーディオデータＥ（ｘ’１…ｘ’ｍ）としてもよい。このエンコードされた基準オーディオデータ（エンコードされた特徴ベクトルであってもよい）を次に、音声検出及び／または音声認識に対して用いてもよい。たとえば、図１４に示すように、基準オーディオデータに対するオーディオ特徴ベクトルは、オーディオ特徴ベクトルｘ’１１４０２〜オーディオ特徴ベクトルｘ’ｍ１４０４を含んでいてもよい。ウェイクワードに対応する基準オーディオデータの例では、オーディオ特徴ベクトルｘ’１１４０２がウェイクワード開始時間１０３２に対応してもよく、オーディオ特徴ベクトルｘ’ｍ１４０４がウェイクワード終了時間１０３４に対応してもよい。オーディオ特徴ベクトルをＲＮＮエンコーダ１４５０によって処理して、エンコードされた基準特徴ベクトルｙ基準１４１０を形成してもよい。これは、ＲＮＮエンコーディングによって、単一の特徴ベクトルにおけるオーディオ特徴ベクトルｘ’１１４０２からオーディオ特徴ベクトルｘ’ｍ１４０４までの基準オーディオデータ全体を表す。ＲＮＮエンコーダ１４５０を、システム構成に応じて、第１の入力オーディオ特徴ベクトル（たとえば、入力オーディオ特徴ベクトルｘ’１１４０２）を最初に処理するように構成してもよいし、または入力オーディオ特徴ベクトルを逆の順序で（たとえば、入力オーディオ特徴ベクトルｘ’ｍ１４０４を最初に）処理するように構成してもよい。ＲＮＮエンコーダ１４５０は、ゲート付き再帰型ユニット（ＧＲＵ）、長短期間メモリ（ＬＳＴＭ）ＲＮＮ、または後ろ向きの（たとえば、再帰型）特性を有する他の可能なモデルを含んでいてもよい。
【００８４】
基準オーディオデータを、従来の再帰的なログ振幅平均減算（ｌｏｇ−ａｍｐｌｉｔｕｄｅ  ｍｅａｎ  ｓｕｂｔｒａｃｔｉｏｎ（ＬＡＭＳ））を適用することによって正規化されるログフィルタバンクエネルギー（ＬＦＢＥ）特徴を伴うエンコーダ１４５０を用いてエンコードしてもよい。エンコーダを、所望の音声セグメントの固定長ベクトル表現を取り込むように構成してもよい。このベクトルを次に、さらなるオーディオデータが基準オーディオデータの話者に一致するか否かを判定するために用いてもよい。たとえば、基準特徴ベクトル１４１０を発声の入力オーディオデータの特徴とともに用いて、後述するようにフレームが所望の音声を含むか否かについてのフレームレベルの判定を行ってもよい。
【００８５】
前述したように、入力オーディオデータは一続きのオーディオフレーム（各フレームは、音響信号から得られた一続きの特徴で形成される）を含んでいてもよい。典型的な特徴としては、対数フィルタバンクエネルギー（ＬＦＢＥ）、メル周波数ケプストラム係数（ＭＦＣＣ）、知覚線形予測（ＰＬＰ）、または任意の他の有意義な特徴であって、デジタル化されたオーディオ信号自体を含むオーディオ信号から得ることができるものが挙げられる。音声検出の目標の１つは、各入力オーディオフレームを（１）所望の音声、（２）非所望の音声、または（３）非音声としてラベル付けすることである。詳細には、システムは各オーディオフレームに対して、３つの前述のカテゴリうちの１つに対応するとして、異なる確率を割り当ててもよい。したがって、下流プロセスでは、ラベル及び／または異なる確率を用いて、所望の音声対非所望の音声対非音声に伴う異なる事柄を行ってもよい。
【００８６】
リアルタイムシステム（すなわち入力オーディオフレームを、それが入ってきたときに必要以上の待ち時間なしにかなり迅速に分類するシステム）における音声検出が、原因となってもよい。すなわち、システムは、現在フレームを分類するときに過去のオーディオフレームを考えてもよいが、小さい固定サイズの先読みウィンドウ以外に多くの将来のオーディオを考えなくてもよい。
【００８７】
フレームワイズな音声検出器は、形式Ｈ（ｎ；ｘ１…ｘｎ＋ｄ）を有していてもよく、Ｐｒ（ｎ番目のフレームが「所望の音声」ｘ１…ｘｎ＋ｄ）の確率を予測してもよい。Ｈを異なる方法で実装することができ、良く知られている従来技術の選択は、Ｈを（ディープ）ニューラルネットワーク（ＤＮＮ）または再帰型ニューラルネットワーク（ＲＮＮ）として実装することである。またＨは、エンコードされた基準オーディオデータベクトルを入力として用いるように実装してもよい。したがって、システムは、エンコーダアプローチを用いてアンカーセグメントを固定サイズのベクトル空間内に射影してもよく、次にそれをさらなる特徴としてフレームワイズな音声検出器内に供給する。
【数２】
2019514045.tif 000004
ここで、Ｈは次のものを入力と考える。エンコードされた基準オーディオデータベクトル、分類／ラベル付けすべき特定のオーディオフレーム、特定のオーディオフレームより前のある数のオーディオフレーム、特定のオーディオフレームの後のある数のオーディオフレーム。したがって、任意の特定のオーディオフレームをラベル付けするときに、オーディオフレームのスライディングウィンドウを用いて、何らかのコンテキストを分類器Ｈに与えてもよい。
【００８８】
図１５に示すように、特定のオーディオフレームｎに対して、フレームｎに対応するオーディオ特徴ベクトルｘｎ１５０２を、分類器Ｈ１５２０内に、オーディオ特徴ベクトルｘｎの前に入力オーディオデータに現れるいくつかのオーディオ特徴ベクトル（たとえば、オーディオ特徴ベクトルｘｎ−ｄ１５０４〜オーディオ特徴ベクトルｘｎ−１（例示せず））と、オーディオ特徴ベクトルｘｎの後に入力オーディオデータに現れるいくつかのオーディオ特徴ベクトル（たとえば、オーディオ特徴ベクトルｘｎ＋１（例示せず）〜特徴ベクトルｘｎ＋ｄ１５０６）とともに、供給する。一例では、スライディングウィンドウ寸法は５フレームであり、そのため、フレームｎに対する特徴ベクトルを、オーディオ特徴ベクトルｘｎの前に２つのオーディオ特徴ベクトル、オーディオ特徴ベクトルｘｎの後に２つのオーディオ特徴ベクトルを伴って供給する。他のウィンドウ寸法を構成してもよい。
【００８９】
分類器Ｈの出力は、それぞれの所望ラベルに対して異なるスコア１５３０を含んでいてもよい。たとえば、特定のオーディオデータフレームが所望の音声に対応する第１のスコア、特定のオーディオデータフレームが非所望の音声に対応する第２のスコア、及び特定のオーディオデータフレームが非音声に対応する第３のスコアである。代替的に、分類器Ｈは単純に、特定のスコアとともにどのカテゴリに特定のフレームが対応するか（たとえば、所望の音声）に関する特定のオーディオフレームに対するラベル１５４０であってもよい。この実施態様を、特定のオーディオフレームに第１の確率である１、第２の確率である０、及び第３の確率である０を与えるものと考えてもよい。分類／ラベル付け処理を複数の入力オーディオフレームに対して繰り返してもよい。ラベルは、特定のオーディオフレームｎ（及び／またはオーディオ特徴ベクトルｘｎ）が所望の音声（すなわち、基準オーディオデータと同じ話者からの音声）に対応するか、非所望の音声（すなわち、基準オーディオデータとは異なる話者からの音声）に対応するか、または非音声に対応する表示を含んでいてもよい。
【００９０】
あるシステム構成では、分類器Ｈ１５２０が、特定のオーディオ特徴ベクトルｘｎに対応するラベルを出力するようにトレーニングされてもよく、一方で、他の構成では、出力ラベル（及び／またはスコア）が、分類器Ｈ１５２０に入力される特徴ベクトルのグループに対応してもよい。こうして、システムは（スライディングウィンドウ配置によるフレームごとではなくて）グループとしてのデータに値する複数のフレームを評価してもよい。出力ラベル及び／またはスコアを次に、種々の下流目的に対して用いてもよい。
【００９１】
Ｅ（ｘ’１…ｘ’ｍ）は、所望の音声がどのように「見える」かについての情報を含み、ｘ１…ｘｎ＋ｄは、現在の音声がどのように「見える」かについての情報を含んでいる。こうして、エンコードされた基準オーディオデータベクトルはＨに対する基準点を与えて、各オーディオフレームをオーディオフレームが所望の音声に対応する確率によって分類する。
【００９２】
ＨをＤＮＮまたはＲＮＮ（ＬＳＴＭ−ＲＮＮまたはＧＲＵ−ＲＮＮまたは任意の他のＲＮＮ変形とすることができる）として実装してもよい。Ｈ及びＥを、時間逆伝播（ＢＴＴ）アルゴリズムまたは任意の他の好適な学習アルゴリズムを伴う確率的勾配降下法（ＳＧＤ）の方法を用いて一緒にトレーニングしてもよい。トレーニング時に、所望の音声を含むフレームを肯定的な例としてマーキングするが、他のフレームを否定的な例としてマーキングする（すなわち、非所望の音声または非音声に対応する）。分類器Ｈ１５２０をＲＮＮエンコーダ１４５０と同時にトレーニングすることで、分類器１５２０にとって有用な基準特徴ベクトルをエンコーダ１４５０が形成し、したがって、分類器１５２０が、ＲＮＮエンコーダ１４５０が出力した形式のベクトルを用いて、入力をどのように分類するかを学習するようにしてもよい。
【００９３】
本開示の他の実施形態では、エンコードされた基準オーディオデータを、音声検出を判定する際に他の方法で用いてもよい。たとえば、システムは、ログフィルタバンクエネルギー（ＬＦＢＥ）ドメイン内の基準オーディオデータの平均を推定してもよく、そしてそれを、同じ発声のすべての以後のオーディオ特徴ベクトルから差し引いて、基準オーディオデータに対するエネルギーレベルの違いをあらわにしてもよい。このアプローチをログ振幅平均減算（ＬＡＭＳ）と言ってもよい。正規化された特徴を次に、フィードフォワードディープニューラルネットワーク（ＤＮＮ）ベースの分類に対して用いる。したがって、基準オーディオデータ（ウェイクワードに対応してもよいし、または所望のユーザからの他の音声に対応してもよい）に対して、システムは、所望のユーザに固有の十分な情報であって、入力オーディオデータからその情報を差し引くことによって用いることができる情報を抽出して、入力オーディオデータが所望のユーザからの音声に対応するか否かを十分にテストしてもよい。
【００９４】
騒音が多い状態に対して堅固な音声処理システムを作るための技術の１つは、ケプストラム平均減算である。ケプストラム係数を、時間ドメインオーディオ信号の短時間フーリエ変換（ＳＴＦＴ）を計算することによって形成し、フィルタバンクエネルギーをメル間隔フィルタバンク内に組み合わせ、係数の対数を取り、そしてそれを離散コサイン変換（ＤＣＴ）を用いて変換する。本システムは対数フィルタバンクエネルギー（ＬＦＢＥ）を用いてもよい。対数フィルタバンクエネルギーは、ケプストラム係数と同じ処理チェーンに従うが、それらに最終的なＤＣＴ変換を適用しない。規格化技術はＬＡＭＳであってもよい。
【００９５】
ＬＡＭＳは音声伝達関数特性の規格化を助ける。音声信号をＸｔ＝Ｓｔ＊Ｈｔとモデリングする。ここで、Ｘｔ、Ｓｔ、及びＨｔは、時間ドメイン遠距離場オーディオデータ（Ｘｔ）、音声信号（Ｓｔ）、及び伝達関数（Ｈｔ）である。静的な伝達関数を用いて、音声信号の推定を次のように得ることができる。
【数３】
2019514045.tif 000005
伝達関数をオフライン及びオンライン方法で推定することができる。オフライン方法では、特徴当たりの平均を所望の音声セグメントに対して最初に計算する。そして、特徴当たりの平均を当初の特徴から差し引く。
尚、所望の音声セグメントは以下の数式で表される。
【数４】
2019514045.tif 000006
【００９６】
前述のシステムは、音声及びノイズ特性が、分析したセグメントの全体を通して比較的静的な環境では良好に機能する。オンラインシステムまたはより動的な音響環境では、平均統計量はその代わりに時間とともに継続的に更新される。一般的な選択の１つは、時間的に変化する平均推定を自己回帰／再帰的な更新を用いて更新することである。
【数５】
2019514045.tif 000007
αは、推定量が、より速く動く声特性を取り込むことなく、静止しているかまたはゆっくりと変化する環境特性を取り込めるように選択する。継続的に更新するオンラインＬＡＭＳ推定であれば、所望及び妨害音声特徴を変換してより同様に見えるようにすることができるが、これは我々の目標とは反対である。たとえば、アンカー単語の後に妨害音声がきて、そして所望の音声がくる場合、再帰的なＬＡＭＳによって妨害及び所望の音声内のエネルギーピークが重なる。
【００９７】
ＬＡＭＳ方法によって、システムが、特徴を所望の範囲で、また所望及び妨害音声間の特徴をより良好に区別するために保つことができてもよい。平均推定量に対しては、システムは基準オーディオデータに対して平均の特徴値を計算してもよい。所望の話者からの音声を認識するタスクに対しては、この制約は好都合である。基準オーディオデータを所望の話者の音声の一例として用いてもよく、そしてＬＡＭＳを差し引くことによって、システムは所望の話者に対応する特徴をゼロ平均に近づくようにシフトしてもよい。これによって、システムは、所望の話者の音声をより良好に分類するように、分類器（たとえば、ＤＮＮ）をトレーニングすることができる。この方法は、発声のアンカー単語の特性に依存する特徴規格化方法と考えることができる。このような方法によって、特徴を各発声に対して動的な方法で正規化することができる。なぜならば、ＬＡＭＳはそれぞれの新しい基準オーディオデータに対して常に推定されるからである。
【００９８】
こうして、システムは所望のユーザから基準オーディオデータを得てもよい。基準オーディオデータは、ランタイム発声のウェイクワード部分に対応するオーディオデータであってもよい。システムは次に、ＬＦＢＥドメイン内の基準オーディオデータの平均値を推定してもよい。その平均を次に、同じ発声の以後の特徴オーディオ特徴ベクトルから差し引いてもよい。その結果、特定のオーディオ特徴ベクトルと基準オーディオデータとの間のエネルギーレベルの差になる。この技術はログ振幅平均減算と言ってもよい。エネルギーレベル差（減算によって正規化された）を次に、フィードフォワードディープニューラルネットワーク（ＤＮＮ）または他の機械学習トレーニングされたモデル内に供給して、分類してもよい。モデルを、エネルギーレベル差を、（基準オーディオデータを話した）所望のユーザに属する音声を表すとして、または異なる人に属する非音声または音声を表すとして分類するように構成してもよい。
【００９９】
音声認識（すなわち、ＡＳＲ）の目標は、入力オーディオデータに対応する話し単語を認識する。音声認識に対する統計的アプローチによって、観察される特徴ｘ１，…ｘＮが与えられたときに、単語Ｗの最も可能性が高い順序を見出すタスクが解決される。
【数６】
2019514045.tif 000008
【０１００】
ＡＳＲの精緻化された目標は、入力オーディオデータに対応する所望の単語系列を認識することである。「所望」の単語系列を、入力オーディオデータ内の任意の音声をカバーすると考えてもよいし、または所望の特定の人からの音声（しかし任意の他の人（他の話者）からの音声ではない）をカバーすると考えてもよい。この問題は次のように表現してもよい。
【数７】
2019514045.tif 000009
状態ｓｎはＨＭＭモデリングにおける状態、単語または電話またはセノンまたは任意の他の部分語単位を指す。電話を例として、量ｐ（ｓｎ＝Ａ｜ｘ１…ｘｎ＋ｄ）は、位置「ｎ」で話された電話「Ａ」の確率推定であり、ｐ（ｓｎ＝Ｂ｜ｘ１…ｘｎ＋ｄ）は、位置「ｎ」で話された電話「Ｂ」の確率推定である等。１つまたは少数の特別な「電話」を用いて沈黙及びノイズを表している。
【０１０１】
音声検出について前述したように、エンコードされた基準オーディオデータベクトルＥ（ｘ’１…ｘ’ｍ）を追加入力として与えて、音声認識システムを所望の単語系列の方に「ガイド」してもよい。したがって、
【数８】
2019514045.tif 000010
【０１０２】
１つの実施態様は、Ｅ（ｘ’１…ｘ’ｍ）に依存してＡＳＲの間にフレームワイズな状態確率の計算を行うことである。
【数９】
2019514045.tif 000011
【０１０３】
ここで、ｐはＤＮＮまたはＲＮＮ（ＬＳＴＭ−ＲＮＮまたはＧＲＵ−ＲＮＮまたは任意の他のＲＮＮ変形とすることができる）として実装してもよく、またｐ及びＥを前述したように一緒にトレーニングする。音声検出間の違いの１つは、音声認識において、判定は（所望の）音声と非音声との間で行われるのみではなく、音声の単位（電話、セノンなど）の間でも行われることである。ｐ及びＥを、非所望の音声が既存の非音声クラス（または新たに規定された非所望の音声クラス）にマッピングされるトレーニングデータについてトレーニングした場合、アプローチは、非所望の音声を無視することと、音声の単位間の違い及び音声とノイズとの間の違いを改善することとの両方を学習することができる。トレーニングデータに何らの非所望の音声も含まれない場合、アプローチは、話者及び／または音響条件適応を学習する可能性があり、すなわち、音声の単位間の違い及び音声とノイズとの間の違いを改善する可能性がある。
【０１０４】
システムは図１５の音声ラベル付けからのラベル／スコアを用いて、ボイス活動検出（ＶＡＤ）を実行してもよい。たとえば、図１６Ａに示すように、オーディオ特徴ベクトル１５０２に対応するラベル（複数可）１５４０（及び／またはスコア（複数可）１５３０）をＶＡＤモジュール２２２に入力してもよい。（またオーディオ特徴ベクトル１５０２自体をシステム構成に応じてＶＡＤモジュール２２２に入力してもよい）。ＶＡＤモジュール２２２はしたがって、オーディオ特徴ベクトルが所望の音声としてまたは非所望の音声としてラベル付けされているかを、ボイス活動が検出されていると表明するか否かにおいて考えてもよく、こうして、音声処理システムのさらなる下流の動作が引き起こされる。たとえば、入力オーディオが音声に対応するが、必ずしも所望の音声には対応しない場合、ＶＡＤモジュール２２２を、検出した音声を表明しないように構成して、システムが非所望の音声を処理することがないようにしてもよい。このように、ＶＡＤモジュール２２２を、検出されている十分な量の所望の音声のみに依存して検出された音声を表明するようにトレーニングしてもよい。
【０１０５】
またシステムは、ＡＳＲの目的のためのＡＳＲモジュールに対する入力として、音声ラベル付けプロセスから決定されたラベル／スコアを用いてもよい。たとえば、図１６Ｂに示すように、オーディオ特徴ベクトル１５０２に対応するラベル（複数可）１５４０（及び／またはスコア（複数可）１５３０）を、入力ＡＳＲモジュール２５０に（したがって、音声認識エンジン２５８に）入力してもよい。（またオーディオ特徴ベクトル１５０２自体をシステム構成に応じてＡＳＲモジュール２５０に入力してもよい）。ＡＳＲモジュール２５０は次に、ＡＳＲを行うときにラベル１５４０及び／またはスコア（複数可）１５３０を考慮してもよい。たとえば、所望の音声に対応するとラベル付けされたオーディオ特徴ベクトルを、非所望の音声（または非音声）に対応するとラベル付けされたオーディオ特徴ベクトルより重く重み付けしてもよい（すなわち、トップ仮説に最終的に影響を与える可能性がより高い）。ＡＳＲ目的に対して、分類器Ｈ１５２０は、音響モデルという形を取ってもよい。ラベル／スコア１５３０（またはラベル１５４０）は、特定の音声ユニットに対応してもよい。たとえば、音響モデル分類器Ｈ１５２０が、セノン（または他の音響単位）とともに各特定のセノンに対する対応するスコアのリストを出力してもよい（また、このような複雑な音響モデリングに対して用いてもよい基準特徴ベクトル１４１０を出力するようにトレーニングされたエンコーダ１４５０に対応してもよい）。結果として得られるセノン及びスコアの出力リストを次に、ＡＳＲモジュール２５０の下流の言語モデルまたは他のＡＳＲコンポーネント部分を用いて、ＡＳＲ出力のテキストを形成してもよい。
【０１０６】
図１７に例示するのは、入力オーディオデータを、ウェイクワードを含む基準データを用いて、所望の音声または非所望の音声として分類する例である。この例では、第１のユーザは発声「アレクサ、再生して何か音楽を」を話す。しかし、第１のユーザが話している間に、第２のユーザが部屋に入ってきて、たとえば「ハロー」と言う。しかし第２のユーザの「ハロー」という話は、第１のユーザが「再生して」と「何か」とを言う間に発声する。したがって、書き写されたオーディオデータ１１１はテキスト「アレクサ、再生してハロー何か音楽を」となるであろう。このようなテキストに対してＮＬＵ及びさらなる処理を行うと、第１のユーザの所望の動作になり得るが（特に、ユーザがシステムにアデルの「ハロー」の再生を望んだ場合）、第１のユーザのデフォルトの音楽選択は何か他のものであってもよく、したがって第２のユーザの発声が第１のユーザの意図するコマンドと干渉してもよい。
【０１０７】
図示するように、オーディオデータ１１１は、第１のユーザが話したウェイクワード「アレクサ」を含むオーディオデータの第１の部分１１０２を含む。第１の部分を次に用いて、前述したように、オーディオデータの第２の部分１１０４のフレームを分類するときに用いる基準オーディオデータ１７０２に対応する基準エンコードされた特徴ベクトルを形成してもよい。分類技術を用いて、システムは、単語「再生する」（１７０４）と「ある音楽」（１７０８）とに対応するオーディオデータが「アレクサ」の話者のボイスに一致し、したがって所望の音声に対応することを、一方で、単語「ハロー」（１７０６）に対応するオーディオデータが「アレクサ」の話者のボイスに一致せず、したがって非所望の音声に対応すると判定することができる。したがってシステムは、「ハロー」を無視して、第１のユーザが話したテキスト「アレクサ、再生して何か音楽を」のみを処理する。
【０１０８】
システムはまた、ウェイクワード（または入力オーディオの他の部分）の話者の身元を特定することを試みてもよいが、話者識別と言われる技術（ここでは、オーディオを所望の音声／非所望の音声／非音声としてラベル付けし、このようなラベルを用いる技術）が、話者の身元が必要ではないという点で、話者識別とは別個であり、したがって、記載した技術を話者識別を行うことなく行ってもよい。
【０１０９】
さらに、ＲＮＮエンコーダ１４５０と分類器１５２０とを、入力オーディオデータを分類して音声検出を行うために基準オーディオデータをエンコードするように構成されていて、したがってＡＳＲモジュール２５０の上流に配置してもよいと例示しているが、それらはまた、ＡＳＲモジュール２５０の一部として実装してもよく、したがって、基準ベースの音声認識を行うために、エンコードされたベクトルに異なる特徴が含まれることになり得る。さらに、分類器１５２０が決定したラベル１５４０を他の目的に対して用いてもよい。終点決めモジュールがラベルを用いて音声終点を表明してもよい。たとえば、連続番号のフレーム／オーディオ特徴ベクトルを非所望または非音声として分類した場合、終点決めモジュールは所望の音声の終了に達したことを表明してもよい。
【０１１０】
サーバ１２０は、ユーザアカウントに関するデータを含んでいてもよいしまたはこれを参照してもよい。これを、図１８に例示するユーザプロファイル記憶装置１８０２によって示す。ユーザプロファイル記憶装置は、サーバ１２０に隣接して配置してもよいし、または他の場合には種々のコンポーネントと、たとえばネットワーク１６５を介して、通信してもよい。ユーザプロファイル記憶装置１８０２は、システム１００と相互作用する個々のユーザ、家庭、アカウントなどに関する種々の情報を含んでいてもよい。説明するために、図１８に示すように、ユーザプロファイル記憶装置１８０２は、特定の個々のユーザアカウント１８０４に対応付けられたデバイスに関するデータを含んでいてもよい。一例では、ユーザプロファイル記憶装置１８０２はクラウドベースの記憶装置である。このようなデータは、異なるデバイスに対する装置識別子（ＩＤ）及びインターネットプロトコル（ＩＰ）アドレス情報、ならびにユーザがデバイスを参照し得る名前を含んでいてもよい。またデバイスを記述するさらなる修飾語句を、デバイスの目的語のタイプの記述と一緒に列記してもよい。さらに、ユーザアカウント１８０４は、図１２に関連して前述したように、基準オーディオデータとして用いてもよいサンプルユーザ音声を含んでいてもよいしまたはこれに対応付けられていてもよい。さらに、ユーザプロファイル記憶装置１８０２は、記憶された基準オーディオデータ１２０４を含んでいてもよいが、それはまた、またはその代わりに、記憶された基準オーディオデータ１２０４に対応するエンコードされた基準特徴ベクトル１４１０を記憶していてもよく、その結果、システムは、実行時に基準オーディオデータをエンコードする必要があるのではなくて、実行時に、記憶されたエンコードされた基準特徴ベクトル１４１０を単に参照してもよい。
【０１１１】
図１９は、記載したシステムとともに用いてもよいローカルデバイス１１０を概念的に例示するブロック図である。図２０は、リモートデバイスのコンポーネント例を概念的に例示するブロック図である。リモートデバイスは、たとえばＡＳＲ、ＮＬＵ処理、またはコマンド処理を助け得るリモートサーバ１２０である。複数のこのようなサーバ１２０がシステムに含まれていてもよい。たとえば、ＡＳＲモデルをトレーニングするための１つのサーバ（複数可）１２０、ＡＳＲを行うための１つのサーバ（複数可）、ＮＬＵを行うための１つのサーバ（複数可）１２０などである。動作時には、これらのデバイス（またはデバイスのグループ）がそれぞれ、対応するデバイス（１１０／１２０）上に存在するコンピュータ可読でコンピュータ実行可能な命令を含んでいてもよい。これについては後でさらに説明する。
【０１１２】
これらのデバイス（１１０／１２０）はそれぞれ、１つ以上のコントローラ／プロセッサ（１９０４／２００４）を含んでいてもよい。これらはそれぞれ、データ及びコンピュータ可読命令を処理するための中央演算処理装置（ＣＰＵ）と、対応するデバイスのデータ及び命令を記憶するためのメモリ（１９０６／２００６）とを含んでいてもよい。メモリ（１９０６／２００６）は、揮発性ランダムアクセスメモリ（ＲＡＭ）、不揮発性読み出し専用メモリ（ＲＯＭ）、不揮発性磁気抵抗（ＭＲＡＭ）、及び／または他のタイプのメモリを別個に含んでいてもよい。各デバイスはまた、データ記憶装置コンポーネント（１９０８／２００８）を、データ及びコントローラ／プロセッサ実行可能命令を記憶するために含んでいてもよい。各データ記憶装置コンポーネントは別個に、１つ以上の不揮発性記憶装置タイプ（たとえば、磁気記憶装置、光記憶装置、固体記憶装置など）を含んでいてもよい。各デバイスはまた、リムーバブルまたは外部不揮発性メモリ及び／または記憶装置（たとえばリムーバブルメモリカード、メモリキードライブ、ネットワーク接続された記憶装置など）に、対応する入出力装置インターフェース（１９０２／２００２）を通して接続されてもよい。
【０１１３】
各デバイス（１１０／１２０）及びその種々のコンポーネントを動作させるためのコンピュータ命令を、対応するデバイスのコントローラ（複数可）／プロセッサ（複数可）（１９０４／２００４）によって実行することを、実行時にメモリ（１９０６／２００６）を一時的な「作業用」記憶装置として用いて行ってもよい。デバイスのコンピュータ命令を、非一時的な方法で、不揮発性メモリ（１９０６／２００６）、記憶装置（１９０８／２００８）、または外部デバイス（複数可）に記憶してもよい。代替的に、ソフトウェアに加えてまたはその代わりに、実行可能命令の一部または全部を、対応するデバイス上のハードウェアまたはファームウェアに埋め込んでもよい。
【０１１４】
各デバイス（１１０／１２０）は、入出力装置インターフェース（１９０２／２００２）を含んでいる。種々のコンポーネントを入出力装置インターフェースを通して接続してもよい。これについては後でさらに説明する。さらに、各デバイス（１１０／１２０）は、対応するデバイスのコンポーネント間でデータを伝えるためのアドレス／データバス（１９２４／２０２４）を含んでいてもよい。またデバイス（１１０／１２０）内の各コンポーネントを、他のコンポーネントにバス（１９２４／２０２４）を介して接続することに加えて（またはその代わりに）、他のコンポーネントに直接接続してもよい。
【０１１５】
図１９のデバイス１１０を参照して、デバイス１１０はディスプレイ１９１８を含んでいてもよい。ディスプレイ１９１８は、タッチインターフェース１９１９を含んでいてもよい。またはデバイス１１０は「ヘッドレス」であってもよく、入力用に話されたコマンドに主に基づいてもよい。別のデバイスとの接続が開いたことをユーザに示す方法として、デバイス１１０を、視覚インジケータ（たとえば、ＬＥＤまたは同様のコンポーネント（例示せず））を用いて構成してもよい。これは、デバイス１１０によって色を変えるか、点滅するか、または他の場合には視覚的表示を与えてもよい。デバイス１１０はまた、入出力装置インターフェース１９０２を含んでいてもよい。入出力装置インターフェース１９０２は、種々のコンポーネント、たとえばオーディオ出力コンポーネント（たとえばスピーカー１９６０）、有線ヘッドセットもしくは無線ヘッドセット（例示せず）、またはオーディオを出力することができる他のコンポーネントに接続する。デバイス１１０はまた、オーディオ取り込みコンポーネントを含んでいてもよい。オーディオ取り込みコンポーネントは、たとえば、マイクロフォン１９５０またはマイクロフォンの配列、有線ヘッドセットまたは無線ヘッドセット（例示せず）などであってもよい。マイクロフォン１９５０をオーディオを取り込みするように構成してもよい。マイクロフォンの配列が含まれている場合、出所の音の地点までのおおよその距離を、配列の中の異なるマイクロフォンが取り込んだ音の間の時間及び振幅差に基づく音源位置測定によって求めてもよい。デバイス１１０（マイクロフォン１９５０、ウェイクワード検出モジュール２２０、ＡＳＲモジュール２５０などを用いている）を、検出されたオーディオデータに対応するオーディオデータを決定するように構成してもよい。またデバイス１１０（入出力装置インターフェース１９０２、アンテナ１９１４などを用いる）を、オーディオデータをサーバ１２０に送信してさらなる処理を行うように、または内部コンポーネントたとえばウェイクワード検出モジュール２２０を用いてデータを処理するように構成してもよい。
【０１１６】
たとえば、アンテナ（複数可）を介して、入出力装置インターフェース１９０２を１つ以上のネットワーク１９９に、無線ローカルエリアネットワーク（ＷＬＡＮ）（たとえばＷｉＦｉ）無線、ブルートゥース、及び／または無線ネットワーク無線、たとえば無線通信ネットワーク（たとえば、ロングタームエボリューション（ＬＴＥ）ネットワーク、ワイマックスネットワーク、３Ｇネットワーク）と通信可能な無線などを介して接続してもよい。また有線接続（たとえばイーサネット）をサポートしてもよい。ネットワーク（複数可）１９９を通して、音声処理システムをネットワーク環境を介して分配してもよい。
【０１１７】
デバイス１１０及び／またはサーバ１２０は、ＡＳＲモジュール２５０を含んでいてもよい。デバイス１１０内のＡＳＲモジュールは、能力が限定されていてもよいしまたは拡張されていてもよい。ＡＳＲモジュール２５０は、ＡＳＲモデル記憶コンポーネント２５２に記憶された言語モデル２５４と、自動音声認識処理を実行するＡＳＲモジュール２５０とを含んでいてもよい。限定された音声認識が含まれている場合、ＡＳＲモジュール２５０を、限定された数の単語（たとえば、デバイスが検出するキーワード）を特定するように構成してもよいが、拡張された音声認識を、はるかにより大きい範囲の単語を認識するように構成してもよい。またＡＳＲモジュール２５０（または別のコンポーネント）を、前述した技術を用いてＡＳＲ信頼をチェックするように構成してもよい。
【０１１８】
デバイス１１０及び／またはサーバ１２０は、限定または拡張されたＮＬＵモジュール２６０を含んでいてもよい。デバイス１１０内のＮＬＵモジュールは、能力が限定されていてもよいしまたは拡張されていてもよい。ＮＬＵモジュール２６０は、名前エンティティ認識モジュール２６２、意図分類モジュール２６４、及び／または他のコンポーネントを含んでいてもよい。ＮＬＵモジュール２６０はまた、記憶された知識交換及び／またはエンティティライブラリを含んでいてもよいし、またはこれらの記憶装置を別個に配置してもよい。
【０１１９】
デバイス１１０及び／またはサーバ１２０はまた、前述したように、話されたコマンドに対応付けられたコマンド／機能を実行するように構成されたコマンドプロセッサ２９０を含んでいてもよい。
【０１２０】
デバイス１１０は、前述したようにボイス活動検出を実行するボイス活動検出（ＶＡＤ）モジュール２２２を含んでいてもよい。ＶＡＤモジュール２２２は、前述した技術を取り入れていてもよい。たとえば、図１６Ａに関連して述べたように、オーディオ特徴ベクトル及び対応するラベルを考えることである。
【０１２１】
デバイス１１０は、ウェイクワード検出モジュール２２０を含んでいてもよい。これは、別個のコンポーネントであってもよいし、またはＡＳＲモジュール２５０に含まれていてもよい。ウェイクワード検出モジュール２２０は、オーディオ信号を受け取って、オーディオ内での特定の表現（たとえば構成されたキーワード）の発生を検出する。これは、特定の時間に渡って周波数の変化を検出することを含んでいてもよい。周波数の変化は、キーワードに対応するとしてシステムが認識する特定のオーディオ署名になる。キーワード検出は、個々の指向性オーディオ信号（たとえば、該当する場合には、ポストビーム形成で処理されたもの）を分析することを含んでいてもよい。キーワード検出（キーワード発見としても知られている）の当該技術分野で知られた他の技術を用いてもよい。いくつかの実施形態では、デバイス１１０を、ウェイク表現が検出されているかまたはウェイク表現が生じた可能性がある指向性オーディオ信号のセットを特定するように一括して構成してもよい。
【０１２２】
ウェイクワード検出モジュール２２０は、取り込まれたオーディオを受け取ってオーディオを処理し（たとえば、モデル（複数可）２３２を用いて）、オーディオが、デバイス１１０及び／またはシステム１００によって認識可能な特定のキーワードに対応するか否かを判定する。記憶装置１９０８は、ウェイクワード検出モジュール２２０が前述のアルゴリズム及び方法を実行できるようにするキーワード及び機能に関するデータを記憶してもよい。ローカルに記憶された音声モデルを、デバイス１１０がユーザによってネットワークにアクセスするように構成される前に、既知の情報に基づいて事前構成してもよい。たとえば、モデルは、ユーザ装置が出荷されるかまたは配置が予測される領域に固有の、またはユーザプロファイルなどに基づいてユーザ自身に固有の言語及び／またはアクセントであってもよい。一態様において、モデルを、別のデバイスからのユーザの音声またはオーディオデータを用いて事前トレーニングしてもよい。たとえば、ユーザは、話したコマンドを介してユーザが操作する別のユーザ装置を所有していてもよく、この音声データをユーザプロファイルに対応付けてもよい。次に他のユーザ装置からの音声データを利用して、デバイス１１０のローカルに記憶された音声モデルをトレーニングするために用いることを、ユーザ装置１１０がユーザに届けられるかまたはユーザによってネットワークにアクセスするように構成される前に行ってもよい。ウェイクワード検出モジュール２２０は、記憶装置１１０８にアクセスして、取り込んだオーディオを記憶したモデル及びオーディオシーケンスと比較することを、オーディオ比較、パターン認識、キーワード発見、オーディオ署名、及び／または他のオーディオ処理技術を用いて行ってもよい。
【０１２３】
サーバはまた、前述したようにデータをベクトル形式にエンコードするためのＲＮＮエンコーダ９５０を含んでいてもよい。サーバはまた、前述した種々のモデルまたは分類器をトレーニングまたは再トレーニングするためのモデルトレーニングコンポーネント２０７０を含んでいてもよい。種々の機械学習技術を用いて、前述した種々のステップを実行してもよい。たとえば、ＲＣのトレーニング／再トレーニング、エンティティタグ付け者、意味上のパーサなどである。種々の機械学習技術に従って、モデルをトレーニングして動作させてもよい。このような技術には、たとえば、ニューラルネットワーク（たとえばディープニューラルネットワーク及び／または再帰型ニューラルネットワーク）、推論エンジン、トレーニングされた分類器などが含まれていてもよい。トレーニングされた分類器の例としては、サポートベクターマシン（ＳＶＭ）、ニューラルネットワーク、決定木、アダブースト（「適応型ブースティング」の省略形）を決定木と組み合わせたもの、及びランダムフォレストが挙げられる。一例としてＳＶＭにフォーカスすると、ＳＶＭは、付随する学習アルゴリズムを伴う教師あり学習モデルである。学習アルゴリズムは、データを分析してデータ中のパターンを認識するものであり、分類及び回帰分析を行うために広く用いられている。トレーニング例のセット（それぞれ、２つのカテゴリのうちの１つに属するとマーキングされる）が与えられた場合、ＳＶＭトレーニングアルゴリズムは、新しい例を一方のカテゴリまたは他に割り当てるモデルを構築して、それを非確率的二値線形分類器にする。より複雑なＳＶＭモデルを、２つを超えるカテゴリを特定するトレーニング設定を用いて構築してもよい。ＳＶＭはどのカテゴリが入力データに最も似ているかを判定する。ＳＶＭモデルを、別個のカテゴリの例が明確なギャップによって分割されるようにマッピングしてもよい。新しい例を次に、その同じ空間内にマッピングして、それがギャップのどちら側に位置するかに基づくカテゴリに属すると予測する。分類器は、どのカテゴリデータが最も厳密に一致するかを示す「スコア」を発してもよい。スコアはどのくらい詳細にデータがカテゴリに一致するかの表示を与えてもよい。
【０１２４】
機械学習技術を適用するために、機械学習処理自体をトレーニングする必要がある。機械学習コンポーネント（たとえば、この場合、第１または第２のモデルのうちの一方）をトレーニングすると、トレーニング例に対して「グラウンドトゥルース」を設定する必要がある。機械学習では、用語「グラウンドトゥルース」は、教師あり学習技術に対するトレーニング設定の分類の精度を指す。種々の技術を用いてモデルをトレーニングしてもよい。たとえば、逆伝播、統計学習、教師あり学習、半教師あり学習、確率的学習、または他の既知の技術である。
【０１２５】
サーバ１２０はまた、図１０に関連して前述したように動作することができるウェイクワード確認モジュール１０２０を含んでいてもよい。サーバ１２０はまた、図１５に関連して前述したように、分類器１５２０を用いて入力オーディオデータをラベル付けすることができる音声ラベル付けモジュール２０５０を含んでいてもよい。音声ラベル付けモジュール２０５０はまた、エンコードされた基準特徴ベクトル１４１０を形成するＲＮＮエンコーダ１４５０を含んでいてもよい。
【０１２６】
前述したように、複数のデバイスを単一の音声処理システム内で用いてもよい。このようなマルチデバイスシステムでは、デバイスはそれぞれ、音声処理の異なる態様を行うために異なるコンポーネントを含んでいてもよい。複数のデバイスは重複するコンポーネントを含んでいてもよい。デバイス１１０及びサーバ１２０のコンポーネントは、図１９及び２０に例示したように、典型的であり、スタンドアローンのデバイスで配置してもよいし、またはより大きいデバイスまたはシステムのコンポーネントとして、全体的または部分的に含まれていてもよい。
【０１２７】
図２１に例示するように、複数のデバイス（１２０、１２０ｘ、１１０ａ〜１１０ｆ）がシステム１００のコンポーネントを含んでいてもよく、デバイスをネットワーク１９９を介して接続してもよい。ネットワーク１９９は、ローカルもしくはプライベートネットワークを含んでいてもよいし、またはワイドネットワークたとえばインターネットを含んでいてもよい。デバイスを、有線または無線接続を通してネットワーク１９９に接続してもよい。たとえば、音声制御型デバイス１１０ａ、タブレットコンピュータ１１０ｂ、スマートフォン１１０ｃ、冷蔵庫１１０ｄ、スマートウォッチ１１０ｅ、及び／または車両１１０ｆを、ネットワーク１９９に、無線サービスプロバイダを通して、ＷｉＦｉまたはセルラーネットワーク接続などを介して接続してもよい。他のデバイスが、ネットワーク接続されたサポートデバイスとして含まれている。たとえば、サーバ１２０、アプリケーション開発者デバイス１２０ｘなどである。サポートデバイスを、有線接続または無線接続を通してネットワーク１９９に接続してもよい。ネットワークデバイス１１０はオーディオを、１つ以上の内蔵または接続されたマイクロフォン１９５０またはオーディオ取り込みデバイスを用いて取り込んでもよく、処理は、同じデバイスまたはネットワーク１９９を介して接続された別のデバイスのＡＳＲ、ＮＬＵ、または他のコンポーネント（たとえば、１つ以上のサーバ１２０のＡＳＲ２５０、ＮＬＵ２６０など）によって行われる。
【０１２８】
ここで開示した考え方を、多くの異なるデバイス及びコンピュータシステム内で適用してもよい。たとえば、汎用コンピューティングシステム、音声処理システム、及び分散コンピューティング環境などである。
【０１２９】
本開示の前述の態様は例示的であることが意図されている。それらは、本開示の原理及び適用を説明するために選択されており、網羅的であることも本開示を限定することも意図されていない。開示した態様の多くの変更及び変形が当業者には明らかであり得る。コンピュータ及び音声処理の分野において普通の技量を有する人であれば、ここで説明したコンポーネント及び処理ステップが、他のコンポーネントもしくはステップ、またはコンポーネントもしくはステップの組み合わせと互換性があり、それでもやはり本開示の効果及び優位点を実現し得ることが分かるはずである。また、当業者であれば分かるように、本開示は、ここで開示した具体的な詳細及びステップの一部または全部を伴わずに実施してもよい。
【０１３０】
開示したシステムの態様を、コンピュータ方法として実装してもよいし、または製造品たとえばメモリデバイスまたは非一時的なコンピュータ可読記憶媒体として実装してもよい。コンピュータ可読記憶媒体は、コンピュータによって読取可能であってもよく、また本開示で記載した処理をコンピュータまたは他のデバイスに実行させる命令を含んでいてもよい。コンピュータ可読な記憶媒体を、揮発性コンピュータメモリ、不揮発性コンピュータメモリ、ハードドライブ、固体メモリ、フラッシュドライブ、リムーバブルディスク、及び／または他のメディアによって実装してもよい。加えて、モジュール及びエンジンのうちの１つ以上のコンポーネントを、ファームウェアまたはハードウェアの場合と同様に実装してもよい（たとえば、音響フロントエンド２５６）。これは、とりわけ、アナログ及び／またはデジタルフィルタ（たとえば、デジタル信号プロセッサ（ＤＳＰ）に対するファームウェアとして構成されたフィルタ）を含んでいる。
【０１３１】
本開示で用いたように、用語「ａ」または「１つ」は、特に記載のない限り、１つ以上の物品を含んでいてもよい。さらに、語句「に基づく」は、特に記載のない限り、「に少なくとも部分的に基づく」を意味することが意図されている。
【０１３２】
条項
１．自動音声認識（ＡＳＲ）用に所望の話者からの音声を特定するためのコンピュータ実装方法であって、
音声に対応するオーディオデータを受け取ることであって、前記オーディオデータは複数のオーディオフレームを含む、前記受け取ることと、
前記複数のオーディオフレームを処理して、前記オーディオデータの第１の部分に対応する第１の複数のオーディオ特徴ベクトルと、前記オーディオデータの第２の部分に対応する第２の複数のオーディオ特徴ベクトルとを決定することと、
前記第１の複数のオーディオ特徴ベクトルはウェイクワードに対応していると判定することと、
前記第１の複数のオーディオ特徴ベクトルを再帰型ニューラルネットワークエンコーダを用いて処理して、所望の話者からの音声に対応する基準特徴ベクトルを決定することと、
前記第２の複数のオーディオ特徴ベクトルと前記基準特徴ベクトルとを、ニューラルネットワーク分類器を用いて処理して、前記第２の複数内の第１のオーディオ特徴ベクトルに対応する第１のスコアを決定することであって、前記第１のオーディオ特徴ベクトルが前記所望の話者が話したオーディオに対応する可能性に対応する、前記第１のスコアを決定することと、
前記スコアは閾値を上回っていると判定することと、
前記第１の特徴ベクトルが前記所望の話者からの音声に対応しているという表示を形成することと、
前記第１の特徴ベクトルに対応する第１の重みを、前記所望の話者からの音声に対応する前記第１の特徴ベクトルに基づいて決定することと、
前記第１の重みと前記第１の特徴ベクトルとを用いてＡＳＲを行うことと、を含む前記コンピュータ実装方法。
【０１３３】
２．前記複数のオーディオフレームの少なくとも一部を処理して、前記第２の部分に対応する第３の複数のオーディオ特徴ベクトルを決定することと、
前記第３の複数のオーディオ特徴ベクトルと前記基準特徴ベクトルとを前記ニューラルネットワーク分類器を用いて処理して、前記第３の複数内の第２のオーディオ特徴ベクトルに対応する第２のスコアを決定することであって、前記第２のオーディオ特徴ベクトルが前記所望の話者が話したオーディオに対応する可能性に対応する、前記第２のスコアを決定することと、
前記第２のスコアは前記閾値を下回っていると判定することと、
前記第３の特徴ベクトルは、前記ウェイクワードとして異なる話者からの音声に対応しているという第２の表示を形成することと、
前記第３の特徴ベクトルに対応する第２の重みを、前記ウェイクワードとしての異なる話者からの音声に対応する前記第３の特徴ベクトルに基づいて決定することであって、前記第２の重みは前記第１の重みよりも小さい、前記決定することと、をさらに含む条項１に記載のコンピュータ実装方法。
【０１３４】
３．前記第１の特徴ベクトルに対応する第１のオーディオフレームの前に位置するオーディオフレームに対応する第１の特徴ベクトル対を特定することと、
前記第１のオーディオフレームの後に位置するオーディオフレームに対応する第２の特徴ベクトル対を特定することと、をさらに含み、
前記第２の複数のオーディオ特徴ベクトルと前記基準特徴ベクトルとを前記ニューラルネットワーク分類器を用いて処理することは、前記第１の特徴ベクトル対、前記第１の特徴ベクトル、及び前記第２の特徴ベクトル対を処理して、前記第１のスコアを決定することをさらに含む、条項１に記載のコンピュータ実装方法。
【０１３５】
４．コンピュータ実装方法であって、
入力オーディオデータを受け取ることと、
基準オーディオデータを特定することと、
前記基準オーディオデータを再帰型ニューラルネットワークを用いて処理して、基準特徴ベクトルを決定することと、
前記入力オーディオデータの一部と前記基準特徴ベクトルとを分類器を用いて処理して、前記一部が、前記基準オーディオデータと同じ話者からの音声に対応するか否かを判定することと、を含む前記コンピュータ実装方法。
【０１３６】
５．前記入力オーディオデータの第１の部分がキーワードを含むと判定することと、
前記第１の部分を前記基準オーディオデータとして選択することと、をさらに含む条項４に記載のコンピュータ実装方法。
【０１３７】
６．入力オーディオデータを受け取ることは、第１のデバイスとの第１の相互作用の一部として第１のオーディオデータを受け取ることと、前記第１のデバイスとの第２の相互作用の一部として第２のオーディオデータを受け取ることとを含み、
前記方法は、
前記第１のオーディオデータを前記基準オーディオデータとして選択することと、
前記第２のオーディオデータを前記入力オーディオデータの前記一部として選択することと、をさらに含む、条項４に記載のコンピュータ実装方法。
【０１３８】
７．前記入力オーディオデータを受け取る前に、第１の話者に対応するトレーニングオーディオデータを記憶することをさらに含み、
前記基準オーディオデータを特定することは、前記トレーニングオーディオデータを前記基準オーディオデータとして選択することを含む、条項４に記載のコンピュータ実装方法。
【０１３９】
８．基準オーディオデータを再帰型ニューラルネットワークを用いて処理することは、前記トレーニングオーディオデータを前記再帰型ニューラルネットワークを用いて処理して、前記入力オーディオデータを受け取る前に、前記基準特徴ベクトルを決定することを含む、条項７に記載のコンピュータ実装方法。
【０１４０】
９．前記入力オーディオデータの前記一部に対応する複数の特徴ベクトルを特定すること、をさらに含み、
前記入力オーディオデータの前記一部と前記基準特徴ベクトルとを前記分類器を用いて処理することは、前記複数の特徴ベクトルを処理して、前記複数の特徴ベクトル内の第１の特徴ベクトルが、前記基準オーディオデータと前記同じ話者からの音声に対応するか否かに対応する第１のスコアを決定することを含む、条項４に記載のコンピュータ実装方法。
【０１４１】
１０．前記第１のスコアに基づいて、前記第１の特徴ベクトルに対応する第１の重みを決定することと、
前記第１の重みと前記第１の特徴ベクトルとを用いて音声認識を実行することと、をさらに含む、条項９に記載のコンピュータ実装方法。
【０１４２】
１１．前記入力オーディオデータの第２の部分に対応する第２の複数の特徴ベクトルを特定することと、
前記オーディオデータの前記第２の部分と前記基準特徴ベクトルとを前記分類器を用いて処理して、前記第２の複数の特徴ベクトル内の第２の特徴ベクトルが、基準オーディオデータと前記同じ話者からの音声に対応するか否かに対応する第２のスコアを決定することであって、前記第２のスコアは前記第１のスコアよりも低い、前記決定することと、
前記第２の特徴ベクトルに対応する第２の重みを決定することであって、前記第２の重みは前記第１の重みよりも小さい、前記決定することと、をさらに含む、条項１０に記載のコンピュータ実装方法。
【０１４３】
１２．前記再帰型ニューラルネットワークは、
複数のオーディオ特徴ベクトルを入力して単一ベクトルを出力するように構成され、
前記単一ベクトルは、
前記複数のオーディオ特徴ベクトルのそれぞれから情報を取り入れる、条項４に記載のコンピュータ実装方法。
【０１４４】
１３．コンピューティングシステムであって、
少なくとも１つのプロセッサと、
命令を含むメモリデバイスであって、
前記命令は、
前記少なくとも１つのプロセッサによって実行されて、
前記システムを、
入力オーディオデータを受け取ることと、
基準オーディオデータを特定することと、
前記基準オーディオデータを再帰型ニューラルネットワークを用いて処理して基準特徴ベクトルを決定することと、
前記入力オーディオデータの一部と前記基準特徴ベクトルとを分類器を用いて処理して、前記一部が、前記基準オーディオデータと同じ話者からの音声に対応するか否かを判定することと、を行うように構成するように動作可能である前記メモリデバイスと、
を含む前記コンピューティングシステム。
【０１４５】
１４．前記システムを、
前記入力オーディオデータの第１の部分がキーワードを含むと判定することと、
前記第１の部分を前記基準オーディオデータとして選択することと、
を行うように構成する命令をさらに含む、条項１３に記載のコンピューティングシステム。
【０１４６】
１５．前記システムを入力オーディオデータを受け取るように構成する前記命令は、前記システムを、第１のデバイスとの第１の相互作用の一部として第１のオーディオデータを受け取り、前記第１のデバイスとの第２の相互作用の一部として第２のオーディオデータを受け取るように構成する命令を含み、前記コンピューティングシステムはさらに、前記システムを、
前記第１のオーディオデータを前記基準オーディオデータとして選択することと、
前記第２のオーディオデータを前記入力オーディオデータの前記一部として選択することと、を行うように構成する命令を含む、条項１３に記載のコンピューティングシステム。
【０１４７】
１６．前記命令は、前記システムを、
前記入力オーディオデータを受け取る前に、第１の話者に対応するトレーニングオーディオデータを記憶するように構成し、
前記システムを前記基準オーディオデータを特定するように構成する前記命令は、前記システムを、前記トレーニングオーディオデータを前記基準オーディオデータとして選択するように構成する命令を含む、条項１３に記載のコンピューティングシステム。
【０１４８】
１７．前記システムを、基準オーディオデータを再帰型ニューラルネットワークを用いて処理するように構成する前記命令は、
前記システムを、前記トレーニングオーディオデータを前記再帰型ニューラルネットワークを用いて処理して、前記入力オーディオデータを受け取る前に、前記基準特徴ベクトルを決定するように構成する命令を含む、条項１３に記載のコンピューティングシステム。
【０１４９】
１８．前記システムを、前記入力オーディオデータの前記一部に対応する複数の特徴ベクトルを特定するように構成する命令をさらに含み、
前記システムを、前記入力オーディオデータの前記一部と前記基準特徴ベクトルとを前記分類器を用いて処理するように構成する前記命令は、
前記システムを、前記複数の特徴ベクトルを処理して、前記複数の特徴ベクトル内の第１の特徴ベクトルが前記基準オーディオデータと前記同じ話者からの音声に対応するか否かに対応する第１のスコアを決定するように構成する命令を含む、条項１３に記載のコンピューティングシステム。
【０１５０】
１９．前記システムを、
前記第１のスコアに基づいて、前記第１の特徴ベクトルに対応する第１の重みを決定することと、
前記第１の重みと前記第１の特徴ベクトルとを用いて音声認識を実行することと、
を行うように構成する命令をさらに含む、条項１３に記載のコンピューティングシステム。
【０１５１】
２０．前記システムを、
前記入力オーディオデータの第２の部分に対応する第２の複数の特徴ベクトルを特定することと、
前記オーディオデータの前記第２の部分と前記基準特徴ベクトルとを前記分類器を用いて処理して、前記第２の複数の特徴ベクトル内の第２の特徴ベクトルが、前記基準オーディオデータと前記同じ話者からの音声に対応するか否かに対応する第２のスコアを決定することであって、前記第２のスコアは前記第１のスコアよりも低い、前記決定することと、
前記第２の特徴ベクトルに対応する第２の重みを決定することであって、前記第２の重みは前記第１の重みよりも小さい、前記決定することと、を行うように構成する命令をさらに含む、条項１９に記載のコンピューティングシステム。
【０１５２】
２１．前記再帰型ニューラルネットワークは、複数のオーディオ特徴ベクトルを入力して単一ベクトルを出力するように構成され、
前記単一ベクトルは、前記複数のオーディオ特徴ベクトルのそれぞれから情報を取り入れる、条項１３に記載のコンピューティングシステム。
【図１】
2019514045.tif 000012
【図２】
2019514045.tif 000013
【図３】
2019514045.tif 000014
【図４】
2019514045.tif 000015
【図５】
2019514045.tif 000016
【図６】
2019514045.tif 000017
【図７】
2019514045.tif 000018
【図８】
2019514045.tif 000019
【図９】
2019514045.tif 000020
【図１０】
2019514045.tif 000021
【図１１】
2019514045.tif 000022
【図１２】
2019514045.tif 000023
【図１３】
2019514045.tif 000024
【図１４】
2019514045.tif 000025
【図１５】
2019514045.tif 000026
【図１６Ａ】
2019514045.tif 000027
【図１６Ｂ】
2019514045.tif 000028
【図１７】
2019514045.tif 000029
【図１８】
2019514045.tif 000030
【図１９】
2019514045.tif 000031
【図２０】
2019514045.tif 000032
【図２１】
2019514045.tif 000033
【国際調査報告】
2019514045.tif 000034
2019514045.tif 000035
2019514045.tif 000036
2019514045.tif 000037
2019514045.tif 000038