Nothing Special   »   [go: up one dir, main page]

JP2024538771A - デジタル信号プロセッサベースの継続的な会話 - Google Patents

デジタル信号プロセッサベースの継続的な会話 Download PDF

Info

Publication number
JP2024538771A
JP2024538771A JP2024522103A JP2024522103A JP2024538771A JP 2024538771 A JP2024538771 A JP 2024538771A JP 2024522103 A JP2024522103 A JP 2024522103A JP 2024522103 A JP2024522103 A JP 2024522103A JP 2024538771 A JP2024538771 A JP 2024538771A
Authority
JP
Japan
Prior art keywords
subsequent
processor
query
audio data
always
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2024522103A
Other languages
English (en)
Inventor
マシュー・シャリフィ
ヴィクター・カルブネ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of JP2024538771A publication Critical patent/JP2024538771A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/06Decision making techniques; Pattern matching strategies
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Game Theory and Decision Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

方法(600)は、後続クエリ検出モード(220)で動作するよう常時オンの第1のプロセッサ(200)に指示するステップと、常時オンの第1のプロセッサが、後続クエリ検出モードで動作する間、アシスタント対応デバイス(102)によってキャプチャされた後続のオーディオデータ(127)を受信するステップと、常時オンの第1のプロセッサ上で実行されるボイスアクティビティ検出(VAD)モデル(222)を使用して、VADモデルが後続のオーディオデータにおいてボイスアクティビティを検出するかどうかを決定するステップと、後続のオーディオデータが、ユーザによって話された発話を含むかどうかを決定するために、常時オンの第1のプロセッサ上で実行される話者識別(SID)モデル(410)を使用して、後続のオーディオデータに対して話者検証を実行するステップとを含む。本方法はまた、発話が後続のクエリ(129)を含むかどうかを決定するために、第2のプロセッサ(300)上でウェイクアッププロセスを開始することも含む。

Description

本開示は、デジタル信号プロセッサベースの継続的な会話に関する。
音声対応環境(たとえば、自宅、仕事場、学校、自動車など)は、ユーザがコンピュータベースのシステムにクエリまたはコマンドを声に出して話すことを可能にし、コンピュータベースのシステムは、クエリに対処して返答し、かつ/またはコマンドに基づいて機能を実施する。音声対応環境は、環境の様々な部屋またはエリアにわたって分散されている接続されたマイクロフォンデバイスのネットワークを使用して実装され得る。デバイスは、スリープ状態で動作し、発話に先だってユーザによって話されたホットワードを検出したことに応答して、システムに向けられた発話に対して音声認識を実行するためのウェイクアッププロセスを開始することができる。ユーザは、コンピュータベースのシステムによって対処された回答を受信した後、後続のクエリまたはコマンドを話し得る。その後の後続のクエリまたはコマンドごとにホットワードを話すようユーザに要求することは、不自然であるだけでなく、ユーザにとって面倒なことである。
本開示の一態様は、アシスタント対応デバイスのデータ処理ハードウェア上で実行されると、データ処理ハードウェアに動作を実行させるコンピュータ実装デバイスを提供し、動作は、アシスタント対応デバイスのユーザによってデジタルアシスタントにサブミットされた最初のクエリに対する応答を受信したことに応答して、後続クエリ検出モードで動作するようデータ処理ハードウェアの常時オンの第1のプロセッサに指示することを含む。常時オンの第1のプロセッサが、後続クエリ検出モードで動作する間、動作はまた、アシスタント対応デバイスの環境において、アシスタント対応デバイスによってキャプチャされた後続のオーディオデータを、常時オンの第1のプロセッサにおいて受信することと、常時オンの第1のプロセッサ上で実行されるボイスアクティビティ検出(VAD)モデルを使用して、VADモデルが後続のオーディオデータにおいてボイスアクティビティを検出するかどうかを決定することと、後続のオーディオデータが、デジタルアシスタントに最初のクエリをサブミットしたのと同じユーザによって話された発話を含むかどうかを決定するために、常時オンの第1のプロセッサ上で実行される話者識別(SID)モデルを使用して、後続のオーディオデータに対して話者検証を実行することと、VADモデルが、後続のオーディオデータにおいてボイスアクティビティを検出し、後続のオーディオデータが、最初のクエリをサブミットしたのと同じユーザによって話された発話を含むとき、発話が、デジタルアシスタントに向けられた後続のクエリを含むかどうかを決定するために、データ処理ハードウェアの第2のプロセッサにおいてウェイクアッププロセスを開始することとを含む。
本開示の実装形態は、以下の任意選択の特徴のうちの1つまたは複数を含み得る。いくつかの実装形態では、後続クエリ検出モードで動作するようデータ処理ハードウェアの常時オンの第1のプロセッサに指示することによって、常時オンの第1のプロセッサが、後続クエリ検出モードでの動作中に、常時オンの第1のプロセッサ上でVADおよびSIDモデルの実行を開始する。追加の実装形態では、後続クエリ検出モードで動作するようデータ処理ハードウェアの常時オンの第1のプロセッサに指示することによって、常時オンの第1のプロセッサが、後続クエリ検出モードでの動作中に、ホットワード検出モデルを無効にする。SIDモデルが、後続のオーディオデータからテキスト非依存話者識別ベクトルを抽出するように構成されたテキスト非依存SIDモデルを含み得る。
いくつかの例では、第2のプロセッサにおいてウェイクアッププロセスを開始することによって、第2のプロセッサが、最初のクエリをサブミットしたのと同じユーザによって話された発話の転写を生成するように、後続のオーディオデータを処理することと、発話がデジタルアシスタントに向けられた後続のクエリを含むかどうかを決定するために、転写に対してクエリ解釈を実行することとを含む動作を実行する。ここで、発話がデジタルアシスタントに向けられた後続のクエリを含むとき、動作は、後続のクエリによって指定された動作を実行するようデジタルアシスタントに指示することと、後続のクエリによって指定された動作の実行を示す後続の応答を、デジタルアシスタントから受信することと、アシスタント対応デバイスからの出力に対する後続の応答を提示することとをさらに含み得る。
他の例では、第2のプロセッサにおいてウェイクアッププロセスを開始することによって、第2のプロセッサが、後続のオーディオデータをネットワークを介してリモートサーバに送信する。これらの例では、後続のオーディオデータは、リモートサーバによって受信されると、リモートサーバに、最初のクエリをサブミットしたのと同じユーザによって話された発話の転写を生成するように、後続のオーディオデータを処理することと、発話がデジタルアシスタントに向けられた後続のクエリを含むかどうかを決定するために、転写に対してクエリ解釈を実行することと、発話が、デジタルアシスタントに向けられた後続のクエリを含むとき、後続のクエリによって指定された動作を実行するようデジタルアシスタントに指示することとを含む動作を実行させる。さらに、これらの例では、後続のクエリによって指定された動作を実行するようデジタルアシスタントに指示した後、動作は、後続のクエリによって指定された動作の実行を示す後続の応答を、デジタルアシスタントから受信することと、アシスタント対応デバイスからの出力に対する後続の応答を提示することとをさらに含み得る。
いくつかの実装形態では、動作はまた、ユーザによって話され、デジタルアシスタントにサブミットされた最初のクエリに対応する最初のオーディオデータを受信した後、最初のオーディオデータから、ユーザによって話された最初のクエリの特徴を表す第1の話者識別ベクトルを抽出することも含む。これらの実装形態において、後続のオーディオデータに対して話者検証を実行することは、SIDモデルを使用して、後続のオーディオデータから、後続のオーディオデータの特徴を表す第2の話者識別ベクトルを抽出することと、第1の話者識別ベクトルが第2の話者識別ベクトルと一致するとき、後続のオーディオデータが、デジタルアシスタントに最初のクエリをサブミットしたのと同じユーザによって話された発話を含むと決定することとを含む。
いくつかの追加の実装形態では、動作はまた、ユーザによって話され、デジタルアシスタントにサブミットされた最初のクエリに対応する最初のオーディオデータを受信した後、SIDモデルを使用して、後続のオーディオデータから、後続のオーディオデータの特徴を表す第2の話者識別ベクトルを抽出することと、第1の話者識別ベクトルが第2の話者識別ベクトルと一致するとき、後続のオーディオデータが、デジタルアシスタントに最初のクエリをサブミットしたのと同じユーザによって話された発話を含むと決定することと、第1の話者識別ベクトルが、登録済み話者ベクトルのうちの1つと一致するとき、最初のクエリを話したユーザを、第1の話者識別ベクトルと一致する登録済み話者ベクトルのうちの1つに関連付けられたそれぞれの登録済みユーザとして識別することとを含む。これらの追加の実装形態において、後続のオーディオデータに対して話者検証を実行することは、SIDモデルを使用して、後続のオーディオデータから、後続のオーディオデータの特徴を表す第2の話者識別ベクトルを抽出することと、第2の話者識別ベクトルが、最初のクエリを話したそれぞれの登録済みユーザに関連付けられた登録済み話者ベクトルのうちの1つと一致するとき、後続のオーディオデータが、最初のクエリをデジタルアシスタントにサブミットしたのと同じユーザによって話された発話を含むと決定することとを含む。
いくつかの例では、動作は、VADモデルが後続のオーディオデータにおいてボイスアクティビティを検出できなかったこと、または後続のオーディオデータが、最初のクエリをサブミットしたのと同じユーザによって話された発話を含むことができなかったことのうちの少なくとも一方を決定したことに応答して、後続クエリ検出モードでの動作を停止し、ホットワード検出モードでの動作を開始するよう常時オンの第1のプロセッサに指示することをさらに含む。ここで、ホットワード検出モードでの動作を開始するよう常時オンの第1のプロセッサに指示することによって、常時オンの第1のプロセッサが、常時オンの第1のプロセッサ上でホットワード検出モデルの実行を開始する。追加または代替として、後続クエリ検出モードでの動作を停止するよう常時オンの第1のプロセッサに指示することによって、常時オンの第1のプロセッサが、常時オンの第1のプロセッサ上でのVADおよびSIDモデルの実行を無効化または非活性化し得る。
常時オンの第1のプロセッサはデジタル信号プロセッサを含み、第2のプロセッサはアプリケーションプロセッサを含み得る。アシスタント対応デバイスは、後続のオーディオデータおよび最初のクエリに対応する最初のオーディオデータをキャプチャするように構成された1つまたは複数のマイクロフォンと通信するバッテリ駆動デバイスを含み得る。
本開示の別の態様は、データ処理ハードウェアと、データ処理ハードウェアと通信しているメモリハードウェアとを含むシステムを提供する。メモリハードウェアは、データ処理ハードウェア上で実行されると、データ処理ハードウェアに動作を行わせる命令を記憶し、動作が、アシスタント対応デバイスのユーザによってデジタルアシスタントにサブミットされた最初のクエリに対する応答を受信したことに応答して、後続クエリ検出モードで動作するようデータ処理ハードウェアの常時オンの第1のプロセッサに指示することを含む。常時オンの第1のプロセッサが、後続クエリ検出モードで動作する間、動作はまた、アシスタント対応デバイスの環境において、アシスタント対応デバイスによってキャプチャされた後続のオーディオデータを、常時オンの第1のプロセッサにおいて受信することと、常時オンの第1のプロセッサ上で実行されるボイスアクティビティ検出(VAD)モデルを使用して、VADモデルが後続のオーディオデータにおいてボイスアクティビティを検出するかどうかを決定することと、後続のオーディオデータが、デジタルアシスタントに最初のクエリをサブミットしたのと同じユーザによって話された発話を含むかどうかを決定するために、常時オンの第1のプロセッサ上で実行される話者識別(SID)モデルを使用して、後続のオーディオデータに対して話者検証を実行することと、VADモデルが、後続のオーディオデータにおいてボイスアクティビティを検出し、後続のオーディオデータが、最初のクエリをサブミットしたのと同じユーザによって話された発話を含むとき、発話が、デジタルアシスタントに向けられた後続のクエリを含むかどうかを決定するために、データ処理ハードウェアの第2のプロセッサにおいてウェイクアッププロセスを開始することとを含む。
本態様は、以下の任意選択の特徴のうちの1つまたは複数を含み得る。いくつかの実装形態では、後続クエリ検出モードで動作するようデータ処理ハードウェアの常時オンの第1のプロセッサに指示することによって、常時オンの第1のプロセッサが、後続クエリ検出モードでの動作中に、常時オンの第1のプロセッサ上でVADおよびSIDモデルの実行を開始する。追加の実装形態では、後続クエリ検出モードで動作するようデータ処理ハードウェアの常時オンの第1のプロセッサに指示することによって、常時オンの第1のプロセッサが、後続クエリ検出モードでの動作中に、ホットワード検出モデルを無効にする。SIDモデルが、後続のオーディオデータからテキスト非依存話者識別ベクトルを抽出するように構成されたテキスト非依存SIDモデルを含み得る。
いくつかの例では、第2のプロセッサにおいてウェイクアッププロセスを開始することによって、第2のプロセッサが、最初のクエリをサブミットしたのと同じユーザによって話された発話の転写を生成するように、後続のオーディオデータを処理することと、発話がデジタルアシスタントに向けられた後続のクエリを含むかどうかを決定するために、転写に対してクエリ解釈を実行することとを含む動作を実行する。ここで、発話がデジタルアシスタントに向けられた後続のクエリを含むとき、動作は、後続のクエリによって指定された動作を実行するようデジタルアシスタントに指示することと、後続のクエリによって指定された動作の実行を示す後続の応答を、デジタルアシスタントから受信することと、アシスタント対応デバイスからの出力に対する後続の応答を提示することとをさらに含み得る。
他の例では、第2のプロセッサにおいてウェイクアッププロセスを開始することによって、第2のプロセッサが、後続のオーディオデータをネットワークを介してリモートサーバに送信する。これらの例では、後続のオーディオデータは、リモートサーバによって受信されると、リモートサーバに、最初のクエリをサブミットしたのと同じユーザによって話された発話の転写を生成するように、後続のオーディオデータを処理することと、発話がデジタルアシスタントに向けられた後続のクエリを含むかどうかを決定するために、転写に対してクエリ解釈を実行することと、発話が、デジタルアシスタントに向けられた後続のクエリを含むとき、後続のクエリによって指定された動作を実行するようデジタルアシスタントに指示することとを含む動作を実行させる。さらに、これらの例では、後続のクエリによって指定された動作を実行するようデジタルアシスタントに指示した後、動作は、後続のクエリによって指定された動作の実行を示す後続の応答を、デジタルアシスタントから受信することと、アシスタント対応デバイスからの出力に対する後続の応答を提示することとをさらに含み得る。
いくつかの実装形態では、動作はまた、ユーザによって話され、デジタルアシスタントにサブミットされた最初のクエリに対応する最初のオーディオデータを受信した後、最初のオーディオデータから、ユーザによって話された最初のクエリの特徴を表す第1の話者識別ベクトルを抽出することも含む。これらの実装形態において、後続のオーディオデータに対して話者検証を実行することは、SIDモデルを使用して、後続のオーディオデータから、後続のオーディオデータの特徴を表す第2の話者識別ベクトルを抽出することと、第1の話者識別ベクトルが第2の話者識別ベクトルと一致するとき、後続のオーディオデータが、デジタルアシスタントに最初のクエリをサブミットしたのと同じユーザによって話された発話を含むと決定することとを含む。
いくつかの追加の実装形態では、動作はまた、ユーザによって話され、デジタルアシスタントにサブミットされた最初のクエリに対応する最初のオーディオデータを受信した後、SIDモデルを使用して、後続のオーディオデータから、後続のオーディオデータの特徴を表す第2の話者識別ベクトルを抽出することと、第1の話者識別ベクトルが第2の話者識別ベクトルと一致するとき、後続のオーディオデータが、デジタルアシスタントに最初のクエリをサブミットしたのと同じユーザによって話された発話を含むと決定することと、第1の話者識別ベクトルが、登録済み話者ベクトルのうちの1つと一致するとき、最初のクエリを話したユーザを、第1の話者識別ベクトルと一致する登録済み話者ベクトルのうちの1つに関連付けられたそれぞれの登録済みユーザとして識別することとを含む。これらの追加の実装形態において、後続のオーディオデータに対して話者検証を実行することは、SIDモデルを使用して、後続のオーディオデータから、後続のオーディオデータの特徴を表す第2の話者識別ベクトルを抽出することと、第2の話者識別ベクトルが、最初のクエリを話したそれぞれの登録済みユーザに関連付けられた登録済み話者ベクトルのうちの1つと一致するとき、後続のオーディオデータが、最初のクエリをデジタルアシスタントにサブミットしたのと同じユーザによって話された発話を含むと決定することとを含む。
いくつかの例では、動作は、VADモデルが後続のオーディオデータにおいてボイスアクティビティを検出できなかったこと、または後続のオーディオデータが、最初のクエリをサブミットしたのと同じユーザによって話された発話を含むことができなかったことのうちの少なくとも一方を決定したことに応答して、後続クエリ検出モードでの動作を停止し、ホットワード検出モードでの動作を開始するよう常時オンの第1のプロセッサに指示することをさらに含む。ここで、ホットワード検出モードでの動作を開始するよう常時オンの第1のプロセッサに指示することによって、常時オンの第1のプロセッサが、常時オンの第1のプロセッサ上でホットワード検出モデルの実行を開始する。追加または代替として、後続クエリ検出モードでの動作を停止するよう常時オンの第1のプロセッサに指示することによって、常時オンの第1のプロセッサが、常時オンの第1のプロセッサ上でのVADおよびSIDモデルの実行を無効化または非活性化し得る。
常時オンの第1のプロセッサはデジタル信号プロセッサを含み、第2のプロセッサはアプリケーションプロセッサを含み得る。アシスタント対応デバイスは、後続のオーディオデータおよび最初のクエリに対応する最初のオーディオデータをキャプチャするように構成された1つまたは複数のマイクロフォンと通信するバッテリ駆動デバイスを含み得る。
本開示の1つまたは複数の実装形態の詳細が、添付の図面および以下の説明に記載される。他の態様、特徴、および利点は、説明および図面から、ならびに特許請求の範囲から明らかになろう。
音声対応環境において継続的な会話を検出するアシスタント対応デバイスの一例を示す概略図である。 音声対応環境において継続的な会話を検出するアシスタント対応デバイスの一例を示す概略図である。 図1Aおよび図1Bのアシスタント対応デバイス上で実行されるデジタル信号プロセッサの概略図である。 後続のクエリにおいて後続のイベントがないと決定する図2のデジタル信号プロセッサの概略図である。 後続のクエリにおいて後続のイベントがないと決定する図2のデジタル信号プロセッサの概略図である。 話者検証プロセスの概略図である。 本明細書で説明するシステムおよび方法を実装するために使用され得る例示的なコンピューティングデバイスの概略図である。 音声対応環境において継続的な会話を検出する方法のための動作の例示的な構成のフローチャートである。
様々な図面における同様の参照符号は、同様の要素を示す。
デジタルアシスタントなどの音声ベースのインターフェースは、限定はしないが、携帯電話、および音声をキャプチャするためのマイクロフォンを含むスマートスピーカ/ディスプレイなど、様々なデバイスでますます普及している。アシスタント対応デバイス(AED)とのボイス対話を開始する一般的な方法は、固定のフレーズ、たとえばホットワードを話すことであり、このフレーズがストリーミングオーディオにおいてAEDによって検出されると、AEDをトリガして、ウェイクアッププロセスを開始し、その後の音声の記録および処理を開始し、ユーザが話したクエリを確認する。したがって、ホットワードは、ユーザがAEDを低電力状態から高電力状態にウェイクアップして、AEDが完全自動音声認識(ASR)またはサーバベースのASRなどのより高価な処理を実行できるようにするので、デジタルアシスタントインターフェーススタック全体における重要なコンポーネントである。
多くの場合、ユーザは、最初のクエリに対する応答を受信した後、フォローアップクエリを行う。たとえば、あるユーザが「第39代アメリカ大統領は誰ですか?」という最初のクエリをAEDに話し得、AEDは「ジミーカーターです」という応答をユーザに返す。その後、ユーザはAEDに「彼は何歳ですか?」という後続のクエリを指示し得る。ここで、継続的な会話、または後続のクエリモードは、マイクロフォンをオープンにし、ASRを実行して任意の音声を処理し、その後の任意の音声がAEDに向けられたものであるかどうかを判断するために、応答を提供した後、あらかじめ定義された時間の間、AEDを高電力状態に維持する。あらかじめ定義された時間が経過した後、AEDは低電力状態に戻る。しかしながら、あらかじめ定義された時間の間、AEDを高電力状態にしておくと、計算リソースおよびバッテリ電力が大量に消費される。さらに、AEDが高電力状態である間、あらかじめ定義された時間内に、AED向けではない音声がキャプチャされる(次いで削除される)可能性がある。したがって、AEDは、最初のクエリに対する応答を提供した後、低電力状態に戻るが、ホットワードを含まないAEDに向けられた任意の後続のクエリを依然として検出できることが有利である。
したがって、本明細書の実装形態は、低電力状態を維持しながら後続のクエリを処理する方法を対象とする。特に、ユーザは、ホットワード検出モードで動作する常時オンのデジタル信号プロセッサ(DSP)を有するAEDに、ホットワードおよびクエリを含む最初のクエリをサブミットする。ホットワード検出モードを動作させるDSPが最初のクエリにおいてホットワードを検出すると、DSPは、最初のクエリに対する応答を提供するためにフルASRなどのより高価な処理を実行するように第2のプロセッサ上でウェイクアッププロセスを開始する。第2のプロセッサは、アプリケーションプロセッサ(AP)または他のタイプのシステムオンチップ(SoC)プロセッサを含み得る。
最初のクエリに対する応答を受信したことに応答して、AEDは、最初のクエリを送信したユーザからの任意の後続のクエリを検出するために、後続クエリ検出モードで動作するよう常時オンのDSPに指示する。ここで、DSPは後続のオーディオデータを受信し、ボイスアクティビティが存在するかどうか、および後続のオーディオデータが最初のクエリを送信したのと同じユーザによって話された発話を含むかどうかを判断する。第1のプロセッサがボイスアクティビティを検出し、最初のクエリをサブミットしたのと同じユーザを検出すると、第1のプロセッサ(すなわち、常時オンのDSP)は、後続のクエリに対する応答を提供するためにフルASRまたはサーバベースASRなどのより高価な処理を実行するように第2のプロセッサ上でウェイクアッププロセスを開始する。したがって、DSPが後続クエリ検出モードで動作している間、AEDは、第2のプロセッサがアクティブでASRを実行している場合よりも大幅に少ない計算リソースおよびバッテリ電力を消費し、同時に、ホットワードを含まない同じユーザによって話された後続のクエリを検出する機能を依然として有する。DSPは、同じユーザによって話された後続のクエリがDSPによって検出された場合にのみ、第2のプロセッサの起動をトリガしてASRを開始する。そうでない場合、同じユーザによって後続のクエリが話されてないとき、AEDは低電力状態を維持し、あらかじめ定められた時間後にホットワード検出モードで動作するようにDSPを移行させ、ストリーミングオーディオデータでホットワードの存在が検出された場合にのみウェイクアッププロセスをトリガする。
図1Aおよび図1Bを参照すると、いくつかの実装形態では、例示的なシステム100は、1人または複数のユーザ10に関連付けられ、ネットワーク104を介してリモートシステム110と通信するAED(すなわち、ユーザデバイス)102を含む。AED102は、携帯電話、コンピュータ(ラップトップまたはデスクトップ)、タブレット、スマートスピーカ/ディスプレイ、スマート家電、スマートヘッドフォン、ウェアラブル、車両インフォテインメントシステムなどのコンピューティングデバイスに対応し得、データ処理ハードウェア103およびメモリハードウェア105を備える。AED102は、それぞれのユーザ10によって話された発話119、129を含む可能性のあるAED102の環境内のストリーミングオーディオ118をキャプチャするための1つまたは複数のマイクロフォン106を含むか、またはそれらと通信している。リモートシステム110は、スケーラブル/弾性コンピューティングリソース112(たとえば、データ処理ハードウェア)および/またはストレージリソース114(たとえば、メモリハードウェア)を有する単一のコンピュータ、複数のコンピュータ、または分散システム(たとえば、クラウド環境)であってもよい。
AED102のデータ処理ハードウェア103は、第1のプロセッサ200および第2のプロセッサ300を含む。本明細書で使用されるように、第1のプロセッサ200は、ストリーミングオーディオ118に対して意味解析または音声認識処理を実行することなく、ストリーミングオーディオ118におけるホットワード116および/または後続のクエリの存在を検出するように構成された常時オンのDSP200(DSP200とも呼ばれる)を含む。DSP200は、ユーザ10、10aによって話された発話119から音響特徴抽出器によって抽出された音響特徴を含むストリーミングオーディオ118を受信し得る。本明細書で使用されるユーザ10aは、最初の発話119を話したユーザ10aを指す。DSP(すなわち、第1のプロセッサ)200は、ホットワード検出モード(図1A)210および後続クエリ検出モード(すなわち、後続モード)(図1B)220で動作し得る。いくつかの例では、ストレージ/メモリ/処理の制約により、DSP200は、一度にホットワード検出モードまたは後続クエリ検出モードのうちの一方でのみ動作する。すなわち、これらの例では、ホットワード検出モード210が有効であり、後続検出モード220が無効である、またはホットワード検出モード210が無効であり、後続検出モード220が有効である、のいずれかである。しかしながら、他の例では、DSP200が後続クエリ検出モードで同時に動作している間、ホットワード検出モード210でのDSP200の動作は有効なままである。明らかになるように、常時オンのプロセッサ200は、AED102が低電力状態にあり、第2のプロセッサ300がスリープ状態である間、ホットワード検出モード210および/または後続クエリ検出モード220で動作し得る。第2のプロセッサは、アプリケーションプロセッサ(AP)または第2のプロセッサが起動状態のときに常時オンのDSPよりも多くの電力を消費する別のタイプのシステムオンチップ(SoC)プロセッサを含み得る。
次に図1Aを参照すると、いくつかの実装形態では、常時オンのDSP200は、後続クエリ検出モード220が無効にされ、第2のプロセッサ300がスリープ状態である間、ホットワード検出モード210で動作する。ホットワード検出モード210での動作中、DSP200は、ストリーミングオーディオ118内のホットワード116「OK Google」の存在を検出して、ストリーミングオーディオ118内のホットワード116および/またはホットワード116に続く最初のクエリ117を処理するために第2のプロセッサ300上でウェイクアッププロセスを開始するように構成される。示された例では、発話119は、ホットワード116「OK Google」を含み、最初のクエリ117「今日の天気は何ですか?」が続く。AED102は、ストリーミングオーディオ118から音響特徴を抽出し、ストリーミングオーディオ118がホットワード116の存在を含むかどうかを検出する際に使用するために、抽出された音響特徴をメモリハードウェア105のバッファに記憶することができる。DSP200は、AED102によってキャプチャされたストリーミングオーディオ118の音響特徴におけるホットワード116の存在を示す確率スコアを生成し、確率スコアがホットワード検出しきい値を満たすとき、ストリーミングオーディオ118においてホットワード116を検出するように構成されたホットワード検出モデルを実行してもよい。DSP200は、特定の用語/フレーズに関連付けられた異なるホットワードを検出するように各々トレーニングされた複数のホットワード検出モデルを含み得る。これらのホットワードは、あらかじめ定義されたホットワード、および/またはユーザ10によって割り当てられたカスタムホットワードであり得る。いくつかの実装形態では、ホットワード検出モードは、ネットワーク104を介してリモートシステム110から受信された、訓練されたニューラルネットワークベースのモデルを含む。
示された例では、DSP200は、DSP200がストリーミングオーディオ118においてホットワード116の特徴である音響特徴を検出したとき、発話119「OK Google、今日の天気は何ですか」がホットワード116「OK Google」を含むと判断し得る。たとえば、DSP200は、音声データからMFCCを生成し、ホットワード検出モデルに記憶されているホットワード「OK Google」の特徴であるMFCCに類似するMFCCをMFCCが含むことを分類することに基づいて、発話119「OK Google、今日の天気は何ですか?」がホットワード116「OK Google」を含むことを検出し得る。別の例として、DSP200は、音声データからメルスケールフィルタバンクエネルギーを生成し、メルスケールフィルタバンクエネルギーが、ホットワード検出モデルに記憶されているホットワード「OK Google」の特徴であるメルスケールフィルタバンクエネルギーに類似するメルスケールフィルタバンクエネルギーを含むことを分類することに基づいて、発話119「OK Google、今日の天気は何ですか」がホットワード116「OK Google」を含むことを検出し得る。
ユーザ10aによって話された発話119に対応するストリーミングオーディオ118内のホットワード116の存在を検出したことに応答して、DSP200は、ホットワード116の存在を確認するために第2のプロセッサ300上でウェイクアッププロセスを開始するために、ホットワードイベントを特徴付けるオーディオデータ120を提供する。オーディオデータ(互換的にホットワードイベントと呼ばれる)120は、ホットワード116を特徴付ける第1の部分121と、最初のクエリ117を特徴付ける第2の部分122とを含む。ここで、第2のプロセッサ300は、よりロバストなホットワード検出モデルを実行して、オーディオデータ120がホットワード116を含むかどうかを確認することができる。追加または代替として、第2のプロセッサ300は、自動音声認識(ASR)モデル310を介してオーディオデータ120に対して音声認識を実行して、オーディオデータ120がホットワードを含むかどうかを確認することができる。
第2のプロセッサ300は、オーディオデータ120がホットワード116を含むことを確認すると、ASRモデル310を実行してオーディオデータ120を処理し、音声認識結果315を生成し、自然言語理解(NLU)モジュール320を実行して、音声認識結果に対して意味解釈を実行し、デジタルアシスタント109が動作を実行するための最初のクエリ117をオーディオデータ120が含むことを決定し得る。この例では、ASRモデル310は、オーディオデータ120を処理して、「今日の天気は何ですか」に対する音声認識結果315を生成することができ、NLUモジュール320は、音声認識結果315を、「今日は晴れて最高気温76度になりそうです」を示す応答192(すなわち、最初のクエリ117に対する回答)をフェッチする動作をデジタルアシスタント109が実行するための最初のクエリ117として識別することができる。デジタルアシスタント109は、AED102からの出力に対する応答192を提供し得る。たとえば、デジタルアシスタント109は、AED102からの応答192を合成音声として聞き取れるように出力し、および/または、AED102の画面上に応答192のテキスト表現を表示し得る。
いくつかの実装形態では、ASRモデル310およびNLUモジュール320は、AED102に加えて、またはAED102の代わりに、リモートシステム110上に配置される。発話119内のホットワード116の検出に応答して、DSP200が第2のプロセッサ300のウェイクアップをトリガすると、第2のプロセッサは、発話119に対応するオーディオデータ120を、ネットワーク104を介してリモートシステム110に送信し得る。AED102は、リモートシステム110がASRモデル310を介して音声認識を実行してホットワード116の存在を確認するために、ホットワード116を含むオーディオデータ120の第1の部分121を送信し得る。あるいは、AED102は、ホットワード116の後の発話119で話された最初のクエリ117に対応するオーディオデータ120の第2の部分122のみをリモートシステム110に送信してもよい。リモートシステム110は、ASRモデル310を実行して、オーディオデータ120の音声認識結果315を生成する。リモートシステム110はまた、NLUモジュール320を実行して、音声認識結果315に対して意味解釈を実行し、デジタルアシスタント109が動作を実行するための最初のクエリ117を識別することもできる。あるいは、リモートシステム110が音声認識結果315をAED102に送信し、AED102がNLUモジュール320を実行して最初のクエリ117を識別してもよい。
デジタルアシスタント109は、リモートシステム110および/またはAED102に配置されてもよい。デジタルアシスタント109は、第2のプロセッサ300からの最初のクエリ117によって指定された動作を実行するように構成される。いくつかの例では、デジタルアシスタント109は、最初のクエリ117に関連付けられた応答192をフェッチするために検索エンジンにアクセスする。他の例では、デジタルアシスタント109は、AED102のメモリハードウェア105および/またはリモートシステムのメモリハードウェア114にアクセスして、最初のクエリ117に関連付けられた応答192をフェッチする。あるいは、デジタルアシスタント109は、最初のクエリ117(すなわち、「お母さんに電話する」)に関連付けられた動作を実行する。
いくつかの実装形態では、ユーザ10aは、最初のクエリ117に対する応答192に基づいて後続のクエリを有する。すなわち、「今日は晴れて最高気温76度になりそうです」という応答192を受信した後、ユーザ10aは、明日の天気について尋ねる後続のクエリを有する可能性がある。現在の技法では、スリープ状態に戻る前のあらかじめ定められた時間の間、第2のプロセッサ300を起動したままに保ち、最初のクエリ117に続くすべてのオーディオデータを処理することによって、ユーザがホットワードを再度話す必要なく後続のクエリを提供することができる。すなわち、第2のプロセッサ300は、すべてのその後のオーディオデータに対して音声認識および/または意味解釈を継続的に実行して、デジタルアシスタント109が動作を実行するための後続のクエリをユーザがサブミットしたかどうかを判断することができる。この技法は、ホットワードを含まない発話で話された後続のクエリを認識するのには有効であるが、第2のプロセッサ300が起動したままで、すべての入力オーディオデータを継続的に処理する必要があるため、計算コストが高く、バッテリ電力を消費する。特に、計算コストとバッテリ電力の消費は、ユーザ10aが後続のクエリをサブミットしないほとんどの場合に、特に無駄である。
いくつかの実装形態では、第2のプロセッサ300は、第1の識別話者ベクトル411を決定する。第1の識別話者ベクトル411は、発話119を話したユーザ10aの音声特徴を表す。AED102は、第1の識別話者ベクトル411をメモリハードウェア105に記憶することができ、および/または、リモートシステム100は、第1の識別話者ベクトル411を記憶リソース114に記憶することができる。その後、明らかになるように、第1の識別話者ベクトル411は、後続のクエリを話したユーザが、最初のクエリ117を話したユーザ10aと同じであるかどうかを識別するために取得され得る。
次に図1Bを参照すると、ユーザ10aによってサブミットされた最初のクエリ117に対する応答192を受信したことに応答して、デジタルアシスタント109は、後続クエリ検出モード220で動作するようDSP200に指示する。ここで、後続検出モード220で動作するようにDSP200に指示することによって、ホットワード検出モード210は無効になり、および/または第2のプロセッサ(たとえば、AP)300はスリープ状態に戻り得る。第2のプロセッサ300は、AED102から応答192が出力されると、自動的にスリープ状態に戻り得る。DSP200は、後続検出モード220で動作している間、ユーザ10aによって話され、AED102によってキャプチャされた後続のクエリ129に対応する後続のオーディオデータ127を受信する。示した例では、ユーザ10aは、AED102がユーザ10aに「今日は晴れて最高気温76度になりそうです」という応答192を提供したことに応答して、「明日はどうですか?」という後続のクエリ129を話す。特に、ユーザ10aは、図1Aの最初の発話119を話すときのユーザ10aのように、ホットワード116を2回話すことなく、単に後続のクエリ129を話す。しかしながら、いくつかの他の例では、後続のクエリ129はホットワード116を含む。
図1Bおよび図2を参照すると、後続クエリ検出モード220での動作中、DSP200は、ボイスアクティビティ検出(VAD)モデル222および話者検証プロセス400を実行する。VADモデル222は、ボイスアクティビティが後続のオーディオデータ127に存在するかどうかを決定するために訓練されたモデルであり得る。すなわち、VADモデル222は、後続のオーディオデータ127が、人間によって話された音声などのボイスアクティビティを含むか、または非ボイスアクティビティオーディオ(すなわち、ステレオ、スピーカ、バックグラウンドノイズなど)を含むかを決定する。VADモデル222は、後続のオーディオデータ127がボイスアクティビティを含む可能性を示すボイスアクティビティスコア224を出力するように訓練され得る。ここで、DSP200は、ボイスアクティビティスコア224がボイスアクティビティしきい値を満たすとき、後続のオーディオデータ127がボイスアクティビティを含むと決定し得る。いくつかの例では、VADモデル222は、バイナリボイスアクティビティ指示を出力し、「1」は「Yes」を示し、「0」は「No」を示し、後続のオーディオデータ127がボイスアクティビティを含む(「Yes」)、または含まない(「No」)ことを示す。VADモデル222は、人間の音声と合成(synthetic)/合成(synthesized)音声とを区別するように訓練され得る。DSP200は、たとえばVADモデル222、話者検証プロセス400、ホットワード検出モデルなど、任意のモデルのアクティビティに基づいてステートマシンとして動作するように構成され得る。たとえば、DSPが状態0の間はモデルA、B、Cがアクティブであり、モデルAがトリガされると、DSPは、モデルB、Dがアクティブになる状態1に移行し得る。ステートマシンは、モデルの出力、ユーザフィードバック、またはあらかじめプログラムされたものに基づいて学習することができる。
DSP200は、話者検証プロセス400を実行して、後続のオーディオデータ127が、最初のクエリ117をサブミットしたのと同じユーザ10aによって話された発話を含むかどうかを示す検証結果450を決定する。いくつかの例では、計算およびバッテリ電力を節約するために、話者検証プロセス400の実行は、VADモデル222が最初にボイスアクティビティを検出することを条件とする。VADモデル222が(すなわち、ボイスアクティビティスコア224に基づいて)後続のオーディオデータ127内のボイスアクティビティを検出し、話者検証プロセス400によって出力された検証結果450が、最初のクエリ117をサブミットしたのと同じユーザ10aによって話された発話を後続のオーディオデータ127が含むと決定したとき、DSP200は、第2のプロセッサ300をスリープ状態からウェイクアップさせるように構成された後続のイベント215を第2のプロセッサ300に提供する。ここで、後続のイベントは、後続のオーディオデータ127を含み、これにより、第2のプロセッサ300(たとえば、アプリケーションプロセッサ/CPU)が起動して、後続のオーディオデータ127が、デジタルアシスタント109が実行するその後の動作を指定する後続のクエリ129を含むかどうかを決定する。
例を続けると、DSP200は、後続クエリ検出モード220で動作している間、後続のクエリ129に対応する後続のオーディオデータ127がボイスアクティビティを含み、最初のクエリ117をサブミットしたのと同じユーザ10aによって話された発話を含むと決定する。したがって、DSP200は、第2のプロセッサ300をスリープ状態からウェイクアップするように構成された後続のイベント215および後続のオーディオデータ127を、第2のプロセッサ300に提供する。ここで、ボイスアクティビティが後続のオーディオデータ127に存在し、後続のオーディオデータ127が最初のクエリ117を話したのと同じ話者によって話されたことを示す後続クエリ検出モード220による決定は、後続のオーディオデータ127が後続のクエリ129を含む可能性が高いことを提供する。したがって、第2のプロセッサ300を動作させるよりも少ない電力および計算リソースを消費するDSP200を活用することによって、DSP200は、後続のオーディオデータ127がボイスアクティビティを含み、最初のクエリ117を話したのと同じユーザ10aによって話された可能性が高い場合にのみ、第2のプロセッサ300をスリープ状態からウェイクアップさせるために後続のイベント215の出力をトリガする「ゲートキーパー」として機能することができる。そうでない場合、最初のクエリ117に対する応答192がユーザ10aに出力された後、第2のプロセッサ300はスリープ状態で動作することが許可される。
後続のイベント215が第2のプロセッサ300をウェイクアップさせたことに応答して、第2のプロセッサ300はASRモデル310を実行して、後続のオーディオデータ127の音声認識結果325を生成することができる。また、第2のプロセッサ300は、NLUモジュール320を実行して、音声認識結果325に対して意味解釈を実行し、デジタルアシスタント109にサブミットする後続のクエリ129を識別することもできる。示した例では、第2のプロセッサ300は、後続のオーディオデータ127が、「明日はどうですか?」という後続のクエリ129に対応すると判断し、アシスタント109は、後続のクエリ129に対する後続の応答193を取得する。ここで、第2のプロセッサ300は、アシスタント109からの後続の応答193を、AED102からの出力として、「明日は雨で最高気温68度になりそうです」ということを示す合成音声および/またはテキストの形式で提供する。
あるいは、第2のプロセッサ300は、常時オンのDSP200からの後続のイベント215が、後続のオーディオデータ127が、最初のクエリ117をサブミットしたのと同じユーザ10aのボイスアクティビティを含むことを示したが、後続のオーディオデータ127は、AED102に向けられておらず、したがって、デジタルアシスタント109が実行すべき後続のクエリ129は存在しないと決定し得る。このシナリオでは、第2のプロセッサ300は、後続のオーディオデータ127に後続のクエリが存在しないことを示す指示307を提供し、スリープ状態に戻るか、またはあらかじめ定められた時間の間起動状態のままであり得る。いくつかの例では、第2のプロセッサ300は、後続のオーディオデータ127に後続のクエリ129が存在しないという指示307に応答して、後続のクエリ129を繰り返すようにユーザ10aに促す。
図1Aを参照して上述したように、ASRモデル310およびNLUモジュール320は、AED102に加えて、またはAED102の代わりに、リモートシステム110上に配置されてもよい。後続のイベント215の検出に応答して、DSP200が第2のプロセッサ300のウェイクアップをトリガすると、第2のプロセッサ300は、後続のオーディオデータ127を、ネットワーク104を介してリモートシステム110に送信し得る。ここで、リモートシステム110は、ASRモデル310を実行して、オーディオデータ120の音声認識結果325を生成することができる。リモートシステム110はまた、NLUモジュール320を実行して、音声認識結果325に対して意味解釈を実行し、デジタルアシスタント109が動作を実行するための後続のクエリ129を識別することもできる。あるいは、リモートシステム110が音声認識結果325をAED102に送信し、AED102がNLUモジュール320を実行して後続のクエリ129を識別してもよい。
図3Aおよび図3Bは、DSP200が、ユーザ10aによって話された最初のクエリ117の後に受信されたオーディオデータに後続のイベント215が存在しないと判断した場合の音声環境300を示している。次に図2および図3Aを参照すると、ユーザ10aによってサブミットされた最初のクエリに対する応答を受信した後の音声環境300、300bにおいて、デジタルアシスタントは、後続クエリ検出モード220で動作するようDSPに指示する。ここで、後続検出モード220で動作するようにDSP200に指示することによって、ホットワード検出モード210は無効になり、および/または第2のプロセッサ300はスリープ状態に戻り得る。示した例では、DSP200は、後続検出モード220で動作している間、AED102によってキャプチャされた別のユーザ10、10bによって話された「来週はどうですか」という後続のクエリ129に対応する後続のオーディオデータ127を受信する。特に、後続のクエリ129を話した異なるユーザ10bは、最初のクエリを話したユーザ10aとは異なる(図1A)。ここで、後続クエリ検出モード220の動作中、DSP200はVADモデル222を実行し、後続のオーディオデータ127がボイスアクティビティを含むと決定する。ボイスアクティビティが異なるユーザ10bからのものであっても、VADモデル222は、ボイスアクティビティが後続のオーディオデータ127に存在することを示す。したがって、VAD222は「Yes」を示すボイスアクティビティ指示を出力する。後続のデータ127内のボイスアクティビティを検出するVADモデル222は、話者検証プロセス400を実行するために後続検出モード220で動作するためのタイムアウト期間をリセットまたは増加させることができる。
DSP200はまた、話者検証プロセス400を実行して、後続のオーディオデータ127が、最初のクエリ117(図1A)をサブミットしたのと同じユーザ10aによって話された発話を含むかどうかを示す検証結果450を決定する。ここで、話者検証プロセス400は、後続のクエリを話したユーザ10bが、最初のクエリを話したユーザ10aと同じユーザではないと決定する。したがって、DSP200は、後続のイベント215を第2のプロセッサ300に通信せず、したがって、第2プロセッサ300はスリープ状態のままである。さらに、DSP200があらかじめ定められた時間内に後続のイベント215を検出しなかった場合、DSP200はホットワード検出モード210に戻る。
次に図2および図3Bを参照すると、ユーザ10aによってサブミットされた最初のクエリに対する応答を受信した後の音声環境300、300aにおいて、デジタルアシスタントは、後続クエリ検出モード220で動作するようDSPに指示する。ここで、後続検出モード220で動作するようにDSP200に指示することによって、ホットワード検出モード210は無効になり、および/または第2のプロセッサ300はスリープ状態に戻り得る。示した例では、DSP200は、後続検出モード220で動作中に、オーディオソース130からオーディオ132を受信する。オーディオソース130は、テレビ、ステレオ、スピーカ、または任意の他のオーディオソースであってもよい。ここで、後続クエリ検出モード220の動作中、DSP200はVADモデル222を実行し、オーディオソース130からのオーディオデータ132がボイスアクティビティを含んでいないと決定する。したがって、VAD222は「No」を示すボイスアクティビティ指示を出力する。VAD222は、オーディオデータ132においていかなるボイスアクティビティも検出しないタイムアウト期間の後、「No」のボイスアクティビティ指示を出力し得る。したがって、DSP200は、後続のイベント215を第2のプロセッサ300に通信せず、したがって、第2プロセッサ300はスリープ状態のままである。ここで、DSP200は、話者検証プロセス400を実行することなく、ホットワード検出モード210に戻り、後続クエリ検出モード220の動作を停止してもよい。すなわち、DSP200は、ホットワード検出モード210に戻り、VAD222および話者検証プロセス400の動作を停止してもよい。
図4を参照すると、DSP200は、話者検証プロセス400を実行して、後続のクエリ129(図1B)の後続のオーディオデータ127が、最初のクエリ117(図1A)をサブミットしたのと同じユーザ10によって話された発話を含むかどうかを示す検証結果450を決定する。DSP200またはAP300は、ホットワード116を特徴付けるオーディオデータ120の第1の部分121またはユーザ10aによって話された最初のクエリ117を特徴付けるオーディオデータ120の第2の部分122のうちの少なくとも一方から、第1の識別話者ベクトル411を抽出し得る。その後、DSP200が後続クエリ検出モード220である間、話者検証プロセス400は、まず、後続のオーディオデータ127から、後続のクエリの音声特徴を表す第2の識別話者ベクトル412を抽出することによって、後続のクエリを話したユーザ10を識別する。いくつかの例では、第1および第2の識別話者ベクトル411、412は各々、最初のクエリおよび後続のクエリを話したユーザ10に関連付けられた話者識別ベクトルのそれぞれのセットを含む。
話者検証プロセス400は、後続のオーディオデータ127を入力として受信し、出力として第2の識別話者ベクトル412を生成するように構成された話者識別モデル410を実行し得る。話者識別モデル410は、第2の識別話者ベクトル412を出力するために、機械または人間の監視下で訓練されたニューラルネットワークモデルであってもよい。話者識別モデル410によって出力される第2の識別話者ベクトル412は、ユーザ10によって話された後続のクエリの音声特徴に対応する値を有するN次元ベクトルを含み得る。いくつかの例では、第2の識別話者ベクトル412はdベクトルである。話者識別モデル410は、後続のオーディオデータ127からテキスト非依存話者識別ベクトルを抽出するように構成されたテキスト非依存話者識別モデルを含み得る。すなわち、話者識別モデル410は、後続のオーディオデータ127によって表される後続のクエリの内容に関係なく、話者識別ベクトルの音声特徴を抽出する。話者識別モデル410は、同様に、最初のオーディオデータ120を入力として受信し、出力として第1の識別話者ベクトル411を生成することができる。
話者識別モデル410から第2の識別話者ベクトル412が出力されると、話者検証プロセス400は、第2の識別話者ベクトル412が、第1の話者識別ベクトル411または最初のクエリ117を話したユーザ10aに関連付けられた参照話者ベクトル435と一致するかどうかを決定する。参照話者ベクトル435は、AED102に(たとえば、メモリハードウェア105に)記憶され、AED102の複数の登録ユーザアカウント430a~nのうちのある登録ユーザアカウント430に関連付けられ得る。すなわち、AED102は、複数の異なる登録ユーザアカウント(すなわち、登録ユーザ)430を有し得、各々、登録ユーザアカウント430に関連付けられたユーザの音声特徴に対応するそれぞれの参照話者ベクトル435を有する。最初のクエリ117を話したユーザ10aは、それぞれの参照話者ベクトル435を有する登録ユーザである可能性がある。したがって、ユーザ10aに関連付けられた参照話者ベクトル435は、最初のオーディオデータ120から抽出された第1の識別話者ベクトル411に基づいて識別され得る。追加の例では、ユーザ10aに関連付けられた参照話者ベクトル435は、他の技法を使用して識別される。
話者識別モデル410は、ボイス登録プロセス中に、登録ユーザアカウント430ごとに参照話者ベクトル435を生成することができる。たとえば、ユーザは、話者識別モデル410がユーザの音声特徴を表す参照話者ベクトル435を生成するように、複数のフレーズを話すことがある。いくつかの例では、参照話者ベクトル435は、第1の識別話者ベクトル411と比較して、ユーザの音声特徴のより正確な表現である。したがって、参照話者ベクトル435を利用することによって、後続のクエリを話したユーザが、最初のクエリを話したユーザと一致するかどうかのより正確な推定を提供する。
各参照話者ベクトル435は、登録ユーザアカウント430のそれぞれのユーザの声の特徴を表す一意の識別子の声紋に対応する参照ベクトルとして使用され得る。ここで、比較器420は、後続のクエリが、最初のクエリ117を話したユーザ10aに関連付けられた登録ユーザアカウント430aの識別に対応する可能性を示す比較のためのスコアを生成することができ、スコアがしきい値を満たすとき、識別が受け入れられる。スコアがしきい値を満たさないとき、比較器420は識別を拒否し得る。いくつかの実装形態では、比較器420は、第2の識別話者ベクトル412と、第1の登録ユーザアカウント430aに関連付けられた参照話者ベクトル435との間のそれぞれの余弦距離を計算し、それぞれの余弦距離が余弦距離しきい値を満たすとき、第2の識別話者ベクトル412が参照話者ベクトル435に一致すると決定する。あるいは、比較器420は、第1および第2の識別話者ベクトル411、412間のそれぞれの余弦距離を計算して、一致が存在するかどうかを決定してもよい。
話者検証プロセス400は、第2の識別話者ベクトル412が、第1の登録ユーザアカウント430aに関連付けられた参照話者ベクトル435と一致すると決定すると、後続のクエリを話したユーザ10を、最初のクエリ117を話したユーザ10aに関連付けられた第1の登録ユーザアカウント430aとして識別する。示した例では、比較器420は、第1の登録ユーザアカウント430aに関連付けられた参照話者ベクトル435と第2の識別話者ベクトル412との間のそれぞれの余弦距離に基づいて一致を判定する。話者検証プロセス400が、後続のクエリ129を話したユーザが、最初のクエリ117を話したユーザと同じであると決定すると、DSP200は、後続のイベント215の出力をトリガして、AP300がスリープ状態からウェイクアップし、後続のクエリ129を処理するようにする。
逆に、話者検証プロセス400は、第2の識別話者ベクトル412が、参照話者ベクトル435、または最初のクエリ117を話したユーザ10aに関連付けられた第1の識別話者ベクトル411のいずれにも一致しないと決定すると、後続のクエリ129を話したユーザ10が、最初のクエリ117を話したユーザ10とは異なると決定する。したがって、DSP200は後続のイベントの検出を見送り、それによってAP300がスリープ状態を維持することを許可する。
ソフトウェアアプリケーション(すなわち、ソフトウェアリソース)は、コンピューティングデバイスにタスクを実行させるコンピュータソフトウェアを指すことがある。いくつかの例では、ソフトウェアアプリケーションは、「アプリケーション」、「アプリ」、または「プログラム」と呼ばれる場合がある。例示的アプリケーションは、限定はしないが、システム診断アプリケーション、システム管理アプリケーション、システム保守アプリケーション、文書処理アプリケーション、表計算アプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲーム用アプリケーションを含む。
非一時的メモリは、プログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)を、コンピューティングデバイスによる使用のために、一時的または永続的に記憶するために使用される物理デバイスであり得る。非一時的メモリは、揮発性および/または不揮発性アドレス可能半導体メモリであってよい。不揮発性メモリの例は、フラッシュメモリおよび読取り専用メモリ(ROM)/プログラマブル読取り専用メモリ(PROM)/消去可能プログラマブル読取り専用メモリ(EPROM)/電子的消去可能プログラマブル読取り専用メモリ(EEPROM)(たとえば、通常は、ブートプログラムなどのファームウェアのために使用される)を含むが、それに限定されない。揮発性メモリの例は、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)ならびにディスクまたはテープを含むが、それに限定されない。
図5は、本明細書で説明するシステムおよび方法を実装するために使用され得る、例示的なコンピューティングデバイス500の概略図である。コンピューティングデバイス500は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの、様々な形態のデジタルコンピュータを表すことを意図している。ここに示す構成要素、それらの接続および関係、ならびにそれらの機能は、例示にすぎないものとし、本明細書で説明および/または請求する本発明の実装形態を限定するものではない。
コンピューティングデバイス500は、プロセッサ510と、メモリ520と、記憶デバイス530と、メモリ520および高速拡張ポート550に接続する高速インターフェース/コントローラ540と、低速バス570および記憶デバイス530に接続する低速インターフェース/コントローラ560とを含む。構成要素510、520、530、540、550、および560の各々は、様々なバスを使用して相互接続され、共通マザーボード上に、または適宜に他の方式で搭載され得る。プロセッサ510は、グラフィカルユーザインターフェース(GUI)についてのグラフィカル情報を、高速インターフェース540に結合されたディスプレイ580などの外部入力/出力デバイス上で表示するための、メモリ520中または記憶デバイス530上に記憶された命令を含む、コンピューティングデバイス500内での実行のための命令を処理することができる。他の実装形態では、複数のプロセッサおよび/または複数のバスが、適宜に、複数のメモリおよび複数のタイプのメモリとともに使用されてもよい。また、複数のコンピューティングデバイス500が接続されてもよく、各デバイスは、必要な動作の部分を(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)提供する。
メモリ520は、コンピューティングデバイス500内に情報を非一時的に記憶する。メモリ520は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであってもよい。非一時的メモリ520は、プログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)を、コンピューティングデバイス500による使用のために、一時的または永続的に記憶するために使用される物理デバイスであってもよい。不揮発性メモリの例は、限定はしないが、フラッシュメモリおよび読取り専用メモリ(ROM)/プログラマブル読取り専用メモリ(PROM)/消去可能プログラマブル読取り専用メモリ(EPROM)/電気的消去可能プログラマブル読取り専用メモリ(EEPROM)(たとえば、通常は、ブートプログラムなどのファームウェア用に使用される)を含む。揮発性メモリの例は、限定はしないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)ならびにディスクまたはテープを含む。
記憶デバイス530は、コンピューティングデバイス500用の大容量記憶を提供することが可能である。いくつかの実装形態では、記憶デバイス530は、コンピュータ可読媒体である。様々な異なる実装形態では、記憶デバイス530は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、あるいは、ストレージエリアネットワークまたは他の構成におけるデバイスを含むデバイスのアレイであり得る。追加の実施形態では、コンピュータプログラム製品は、情報キャリアにおいて有形に具現化される。コンピュータプログラム製品は、実行されると、上記で説明されたものなどの1つまたは複数の方法を実施する命令を含む。情報キャリアは、メモリ520、記憶デバイス530、またはプロセッサ510上のメモリなどの、コンピュータ可読媒体または機械可読媒体である。
高速コントローラ540は、コンピューティングデバイス500のための帯域幅集約的な動作を管理するが、低速コントローラ560は、帯域幅低集約的な動作を管理する。義務のそのような割振りは、例示的なものにすぎない。いくつかの実装形態では、高速コントローラ540は、メモリ520、ディスプレイ580に(たとえば、グラフィックスプロセッサまたはアクセラレータを通じて)、および様々な拡張カード(図示せず)を受け入れることができる高速拡張ポート550に結合される。いくつかの実装形態では、低速コントローラ560は、記憶デバイス530および低速拡張ポート590に結合される。様々な通信ポート(たとえば、USB、Bluetooth、イーサネット、ワイヤレスイーサネット)を含み得る低速拡張ポート590は、たとえば、ネットワークアダプタを通じて、キーボード、ポインティングデバイス、スキャナ、またはスイッチもしくはルータなどのネットワーキングデバイスなどの1つまたは複数の入力/出力デバイスに結合され得る。
コンピューティングデバイス500は、図に示されているように、いくつかの異なる形態で実装されてもよい。たとえば、コンピューティングデバイス500は、標準サーバ500aとして、もしくはそのようなサーバ500aのグループにおいて複数回、ラップトップコンピュータ500bとして、またはラックサーバシステム500cの一部として実装されてもよい。
図6は、音声対応環境において継続的な会話を検出する方法600のための動作の例示的な構成のフローチャートである。方法600は、アシスタント対応デバイス102のデータ処理ハードウェア103上で実行されるコンピュータ実装方法を含み得る。動作602において、方法は、アシスタント対応デバイス102のユーザ10によってデジタルアシスタント109にサブミットされた最初のクエリ117に対する応答192を受信したことに応答して、後続クエリ検出モード220で動作するようデータ処理ハードウェア103の常時オンの第1のプロセッサ200に指示することを含む。常時オンの第1のプロセッサ200が後続クエリ検出モード220で動作する間、方法600は動作604~610を実行する。動作604において、方法600は、アシスタント対応デバイス102の環境において、アシスタント対応デバイス102によってキャプチャされた後続のオーディオデータ215を、常時オンの第1のプロセッサ200において受信することを含む。
動作606において、方法600は、常時オンの第1のプロセッサ200上で実行されるボイスアクティビティ検出(VAD)モデル222を使用して、VADモデル222が後続のオーディオデータ215においてボイスアクティビティを検出するかどうかを決定することを含む。動作608において、方法600は、後続のオーディオデータ215が、デジタルアシスタント109に最初のクエリ117をサブミットしたのと同じユーザ10によって話された発話を含むかどうかを決定するために、常時オンの第1のプロセッサ200上で実行される話者識別(SID)モデル400を使用して、後続のオーディオデータ215に対して話者検証を実行することを含む。動作610において、VADモデル222が、後続のオーディオデータ215においてボイスアクティビティを検出し、後続のオーディオデータ215が、最初のクエリ117をサブミットしたのと同じユーザ10によって話された発話を含むとき、方法600は、発話が、デジタルアシスタント109に向けられた後続のクエリ129を含むかどうかを決定するために、データ処理ハードウェア103の第2のプロセッサ300においてウェイクアッププロセスを開始することも含む。
本明細書で説明するシステムおよび技法の様々な実装形態は、デジタル電子および/もしくは光学回路構成、集積回路構成、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、ならびに/またはそれらの組合せで実現され得る。これらの様々な実装形態は、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムにおける実装形態を含むことができ、プログラマブルプロセッサは、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信するように、かつそれらにデータおよび命令を送信するように結合された、専用または汎用であってもよい。
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られる)は、プログラマブルプロセッサ用の機械命令を含み、高度手続型および/もしくはオブジェクト指向プログラミング言語で、ならびに/またはアセンブリ/機械言語で実装され得る。本明細書で使用する「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械命令を機械可読信号として受信する機械可読媒体を含むプログラマブルプロセッサに、機械命令および/またはデータを提供するために使用される、任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス(PLD))を指す。「機械可読信号」という用語は、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意の信号を指す。
本明細書に記載したプロセスおよび論理フローは、入力データに対して動作し、出力を生成することによって機能を実施するための1つまたは複数のコンピュータプログラムを実行する、データ処理ハードウェアとも呼ばれる1つまたは複数のプログラマブルプロセッサによって実施することができる。プロセスおよび論理フローは、特殊目的論理回路構成、たとえば、FPGA(フィールドプログラマブルゲートアレイ)やASIC(特定用途向け集積回路)によって実施することもできる。コンピュータプログラムの実行に適したプロセッサは、例として、汎用および専用マイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。概して、プロセッサは、読取り専用メモリもしくはランダムアクセスメモリまたは両方から、命令およびデータを受信することになる。コンピュータの本質的要素は、命令を実行するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータは、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気ディスク、光磁気ディスク、または光ディスクも含むか、あるいは1つまたは複数の大容量記憶デバイスからデータを受信することもしくは1つまたは複数の大容量記憶デバイスにデータを転送すること、またはその両方を行うように動作可能に結合される。ただし、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイスと、磁気ディスク、たとえば、内部ハードディスクまたは取外し可能ディスクと、光磁気ディスクと、CD-ROMおよびDVD-ROMディスクとを含む、すべての形態の不揮発性メモリ、媒体およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路構成によって補完され得るか、専用論理回路構成に組み込まれ得る。
ユーザとの対話を可能にするために、本開示の1つまたは複数の態様は、情報をユーザに表示するためのディスプレイデバイス、たとえば、CRT(陰極線管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーンと、任意選択で、それによってユーザがコンピュータに入力を与えることができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールとを有するコンピュータ上で実装され得る。他の種類のデバイスも、ユーザとの対話を可能にするために使用されることが可能であり、たとえば、ユーザに与えられるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであることができ、ユーザからの入力は、音響、音声、または触覚入力を含む、任意の形態で受信されることが可能である。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信し、そのデバイスから文書を受信することによって、たとえば、ユーザのクライアントデバイス上のウェブブラウザから受信された要求に応答して、そのウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
いくつかの実装形態について説明した。それにもかかわらず、本開示の趣旨および範囲から逸脱することなく、様々な修正が行われ得ることが理解されよう。したがって、他の実装形態が、以下の特許請求の範囲内にある。
10 ユーザ
100 システム
102 アシスタント対応デバイス
103 データ処理ハードウェア
104 ネットワーク
105 メモリハードウェア
106 マイクロフォン
109 デジタルアシスタント
110 リモートシステム
112 スケーラブル/弾性コンピューティングリソース
114 ストレージリソース
116 ホットワード
117 最初のクエリ
118 ストリーミングオーディオ
119 発話
120 オーディオデータ
121 第1の部分
122 第2の部分
127 後続のオーディオデータ
129 発話
129 後続のクエリ
130 オーディオソース
132 オーディオ
192 応答
193 後続の応答
200 第1のプロセッサ
200 DSP
210 ホットワード検出モード
212 ホットワード検出モデル
215 後続のイベント
220 後続クエリ検出モード
222 ボイスアクティビティ検出(VAD)モデル
224 ボイスアクティビティスコア
300 第2のプロセッサ
300 音声環境
310 ASRモデル
315 音声認識結果
320 自然言語理解(NLU)モジュール
325 音声認識結果
400 話者検証プロセス
410 話者識別モデル
411 第1の識別話者ベクトル
412 第2の識別話者ベクトル
420 比較器
430 登録ユーザアカウント
435 参照話者ベクトル
450 検証結果
500 コンピューティングデバイス
510 プロセッサ
520 メモリ
530 記憶デバイス
540 高速インターフェース/コントローラ
550 高速拡張ポート
560 低速インターフェース/コントローラ
570 低速バス
580 ディスプレイ
590 低速拡張ポート
600 方法

Claims (30)

  1. アシスタント対応デバイス(AED)(102)のデータ処理ハードウェア(103)上で実行されると、前記データ処理ハードウェア(103)に、動作を実施させるコンピュータ実装方法であって、前記動作が、
    前記AED(102)のユーザ(10)によってデジタルアシスタント(109)にサブミットされた最初のクエリ(117)に対する応答(192)を受信したことに応答して、後続クエリ検出モード(220)で動作するよう前記データ処理ハードウェア(103)の常時オンの第1のプロセッサ(200)に指示することと、
    前記常時オンの第1のプロセッサ(200)が、前記後続クエリ検出モード(220)で動作する間、
    前記AED(102)の環境において、前記AED(102)によってキャプチャされた後続のオーディオデータ(127)を、前記常時オンの第1のプロセッサ(200)において受信することと、
    前記常時オンの第1のプロセッサ(200)上で実行されるボイスアクティビティ検出(VAD)モデル(222)を使用して、前記VADモデル(222)が前記後続のオーディオデータ(127)においてボイスアクティビティを検出するかどうかを決定することと、
    前記後続のオーディオデータ(127)が、前記デジタルアシスタント(109)に前記最初のクエリ(117)をサブミットしたのと同じユーザ(10)によって話された発話を含むかどうかを決定するために、前記常時オンの第1のプロセッサ(200)上で実行される話者識別(SID)モデル(410)を使用して、前記後続のオーディオデータ(127)に対して話者検証を実行することと、
    前記VADモデル(222)が、前記後続のオーディオデータ(127)においてボイスアクティビティを検出し、前記後続のオーディオデータ(127)が、前記最初のクエリ(117)をサブミットしたのと同じユーザ(10)によって話された前記発話を含むとき、前記発話が、前記デジタルアシスタント(109)に向けられた後続のクエリ(129)を含むかどうかを決定するために、前記データ処理ハードウェア(103)の第2のプロセッサ(300)においてウェイクアッププロセスを開始することと
    を含む、コンピュータ実装方法。
  2. 前記後続クエリ検出モード(220)で動作するよう前記データ処理ハードウェア(103)の前記常時オンの第1のプロセッサ(200)に指示することによって、前記常時オンの第1のプロセッサ(200)が、前記後続クエリ検出モード(220)での動作中に、前記常時オンの第1のプロセッサ(200)上で前記VADおよびSIDモデル(222、410)の実行を開始する、請求項1に記載のコンピュータ実装方法。
  3. 前記後続クエリ検出モード(220)で動作するよう前記データ処理ハードウェア(103)の前記常時オンの第1のプロセッサ(200)に指示することによって、前記常時オンの第1のプロセッサ(200)が、前記後続クエリ検出モード(220)での動作中に、ホットワード検出モデル(212)を無効にする、請求項1に記載のコンピュータ実装方法。
  4. 前記第2のプロセッサ(300)において前記ウェイクアッププロセスを開始することによって、前記第2のプロセッサ(300)が、
    前記最初のクエリ(117)をサブミットしたのと同じユーザ(10)によって話された前記発話の転写を生成するように、前記後続のオーディオデータ(127)を処理することと、
    前記発話が前記デジタルアシスタント(109)に向けられた前記後続のクエリ(129)を含むかどうかを決定するために、前記転写に対してクエリ解釈を実行することと
    を含む動作を実行する、請求項1から3のいずれか一項に記載のコンピュータ実装方法(600)。
  5. 前記発話が前記デジタルアシスタント(109)に向けられた前記後続のクエリ(129)を含むとき、前記動作が、
    前記後続のクエリ(129)によって指定された動作を実行するよう前記デジタルアシスタント(109)に指示することと、
    前記後続のクエリ(129)によって指定された前記動作の実行を示す後続の応答(193)を、前記デジタルアシスタント(109)から受信することと、
    前記AED(102)からの出力に対する前記後続の応答(193)を提示することと
    をさらに含む、請求項4に記載のコンピュータ実装方法(600)。
  6. 前記第2のプロセッサ(300)において前記ウェイクアッププロセスを開始することによって、前記第2のプロセッサ(300)が、前記後続のオーディオデータ(127)をネットワークを介してリモートサーバに送信し、前記後続のオーディオデータ(127)は、前記リモートサーバによって受信されると、前記リモートサーバ(110)に、
    前記最初のクエリ(117)をサブミットしたのと同じユーザ(10)によって話された前記発話の転写を生成するように、前記後続のオーディオデータ(127)を処理することと、
    前記発話が前記デジタルアシスタント(109)に向けられた前記後続のクエリ(129)を含むかどうかを決定するために、前記転写に対してクエリ解釈を実行することと、
    前記発話が、前記デジタルアシスタント(109)に向けられた前記後続のクエリ(129)を含むとき、前記後続のクエリ(129)によって指定された動作を実行するよう前記デジタルアシスタント(109)に指示することと
    を含む動作を実行させる、請求項1から3のいずれか一項に記載のコンピュータ実装方法(600)。
  7. 前記動作が、前記後続のクエリ(129)によって指定された前記動作を実行するよう前記デジタルアシスタント(109)に指示した後、
    前記後続のクエリ(129)によって指定された前記動作の実行を示す後続の応答(193)を、前記デジタルアシスタント(109)から受信することと、
    前記AED(102)からの出力に対する前記後続の応答(193)を提示することと
    をさらに含む、請求項6に記載のコンピュータ実装方法(600)。
  8. 前記動作が、前記ユーザ(10)によって話され、前記デジタルアシスタント(109)にサブミットされた前記最初のクエリ(117)に対応する最初のオーディオデータ(120)を受信した後、
    前記最初のオーディオデータ(120)から、前記ユーザ(10)によって話された前記最初のクエリ(117)の特徴を表す第1の話者識別ベクトル(411)を抽出すること
    をさらに含み、
    前記後続のオーディオデータ(127)に対して話者検証を実行することが、
    前記SIDモデルを使用して、前記後続のオーディオデータ(127)から、前記後続のオーディオデータ(127)の特徴を表す第1の話者識別ベクトル(412)を抽出することと、
    前記第1の話者識別ベクトル(411)が前記第1の話者識別ベクトル(412)と一致するとき、前記後続のオーディオデータ(127)が、前記デジタルアシスタント(109)に前記最初のクエリ(117)をサブミットしたのと同じユーザ(10)によって話された前記発話を含むと決定することと
    を含む、
    請求項1から7のいずれか一項に記載のコンピュータ実装方法(600)。
  9. 前記動作が、前記ユーザ(10)によって話され、前記デジタルアシスタント(109)にサブミットされた前記最初のクエリ(117)に対応する最初のオーディオデータ(120)を受信した後、
    前記最初のオーディオデータ(120)から、前記ユーザ(10)によって話された前記最初のクエリ(117)の特徴を表す第1の話者識別ベクトル(411)を抽出することと、
    前記第1の話者識別ベクトル(411)が、前記AED(102)に記憶された任意の登録済み話者ベクトルと一致するかどうかを決定することであり、各登録済み話者ベクトルが、前記AED(102)の異なるそれぞれの登録済みユーザ(10)に関連付けられている、決定することと、
    前記第1の話者識別ベクトル(411)が、前記登録済み話者ベクトルのうちの1つと一致するとき、前記最初のクエリ(117)を話した前記ユーザ(10)を、前記第1の話者識別ベクトル(411)と一致する前記登録済み話者ベクトルのうちの前記1つに関連付けられた前記それぞれの登録済みユーザ(10)として識別することと
    をさらに含み、
    前記後続のオーディオデータ(127)に対して話者検証を実行することが、
    前記SIDモデルを使用して、前記後続のオーディオデータ(127)から、前記後続のオーディオデータ(127)の特徴を表す第1の話者識別ベクトル(412)を抽出することと、
    前記第1の話者識別ベクトル(412)が、前記最初のクエリ(117)を話した前記それぞれの登録済みユーザ(10)に関連付けられた前記登録済み話者ベクトルのうちの前記1つと一致するとき、前記後続のオーディオデータ(127)が、前記最初のクエリ(117)を前記デジタルアシスタント(109)にサブミットしたのと同じユーザ(10)によって話された前記発話を含むと決定することと
    を含む、
    請求項1から8のいずれか一項に記載のコンピュータ実装方法(600)。
  10. 前記SIDモデルが、前記後続のオーディオデータ(127)からテキスト非依存話者識別ベクトルを抽出するように構成されたテキスト非依存SIDモデルを含む、請求項1から9のいずれか一項に記載のコンピュータ実装方法(600)。
  11. 前記動作が、前記VADモデル(222)が前記後続のオーディオデータ(127)においてボイスアクティビティを検出できなかったこと、または前記後続のオーディオデータ(127)が、前記最初のクエリ(117)をサブミットしたのと同じユーザ(10)によって話された発話を含むことができなかったことのうちの少なくとも一方を決定したことに応答して、前記後続クエリ検出モード(220)での動作を停止し、ホットワード検出モード(210)での動作を開始するよう前記常時オンの第1のプロセッサ(200)に指示することをさらに含む、請求項1から10のいずれか一項に記載のコンピュータ実装方法(600)。
  12. 前記後続クエリ検出モード(220)での動作を停止するよう前記常時オンの第1のプロセッサ(200)に指示することによって、前記常時オンの第1のプロセッサ(200)が、前記常時オンの第1のプロセッサ(200)上での前記VADおよびSIDモデル(222、410)の実行を無効化または非活性化する、請求項11に記載のコンピュータ実装方法(600)。
  13. 前記ホットワード検出モード(210)での動作を開始するよう前記常時オンの第1のプロセッサ(200)に指示することによって、前記常時オンの第1のプロセッサ(200)が、前記常時オンの第1のプロセッサ(200)上でホットワード検出モデル(212)の実行を開始する、請求項11または12に記載のコンピュータ実装方法(600)。
  14. 前記常時オンの第1のプロセッサ(200)が、デジタル信号プロセッサ(DSP)を含み、
    前記第2のプロセッサ(300)が、アプリケーションプロセッサを含む、
    請求項1から13のいずれか一項に記載のコンピュータ実装方法(600)。
  15. 前記AED(102)が、前記後続のオーディオデータ(127)および前記最初のクエリ(117)に対応する最初のオーディオデータ(120)をキャプチャするように構成された1つまたは複数のマイクロフォンと通信するバッテリ駆動デバイスを含む、請求項1から14のいずれか一項に記載のコンピュータ実装方法(600)。
  16. データ処理ハードウェア(103)と、
    前記データ処理ハードウェア(103)と通信し、前記データ処理ハードウェア(103)上で実行されると、前記データ処理ハードウェア(103)に動作を行わせる命令を記憶するメモリハードウェア(105)とを備え、前記動作が、
    前記AED(102)のユーザ(10)によってデジタルアシスタント(109)にサブミットされた最初のクエリ(117)に対する応答(192)を受信したことに応答して、後続クエリ検出モード(220)で動作するよう前記データ処理ハードウェア(103)の常時オンの第1のプロセッサ(200)に指示することと、
    前記常時オンの第1のプロセッサ(200)が、前記後続クエリ検出モード(220)で動作する間、
    前記AED(102)の環境において、前記AED(102)によってキャプチャされた後続のオーディオデータ(127)を、前記常時オンの第1のプロセッサ(200)において受信することと、
    前記常時オンの第1のプロセッサ(200)上で実行されるボイスアクティビティ検出(VAD)モデル(222)を使用して、前記VADモデル(222)が前記後続のオーディオデータ(127)においてボイスアクティビティを検出するかどうかを決定することと、
    前記後続のオーディオデータ(127)が、前記デジタルアシスタント(109)に前記最初のクエリ(117)をサブミットしたのと同じユーザ(10)によって話された発話を含むかどうかを決定するために、前記常時オンの第1のプロセッサ(200)上で実行される話者識別(SID)モデル(410)を使用して、前記後続のオーディオデータ(127)に対して話者検証を実行することと、
    前記VADモデル(222)が、前記後続のオーディオデータ(127)においてボイスアクティビティを検出し、前記後続のオーディオデータ(127)が、前記最初のクエリ(117)をサブミットしたのと同じユーザ(10)によって話された前記発話を含むとき、前記発話が、前記デジタルアシスタント(109)に向けられた後続のクエリ(129)を含むかどうかを決定するために、前記データ処理ハードウェア(103)の第2のプロセッサ(300)においてウェイクアッププロセスを開始することと
    を含む、
    アシスタント対応デバイス(AED)(102)。
  17. 前記後続クエリ検出モード(220)で動作するよう前記データ処理ハードウェア(103)の前記常時オンの第1のプロセッサ(200)に指示することによって、前記常時オンの第1のプロセッサ(200)が、前記後続クエリ検出モード(220)での動作中に、前記常時オンの第1のプロセッサ(200)上で前記VADおよびSIDモデル(222、410)の実行を開始する、請求項16に記載のAED(102)。
  18. 前記後続クエリ検出モード(220)で動作するよう前記データ処理ハードウェア(103)の前記常時オンの第1のプロセッサ(200)に指示することによって、前記常時オンの第1のプロセッサ(200)が、前記後続クエリ検出モード(220)での動作中に、ホットワード検出モデル(212)を無効にする、請求項16または17に記載のAED(102)。
  19. 前記第2のプロセッサ(300)において前記ウェイクアッププロセスを開始することによって、前記第2のプロセッサ(300)が、
    前記最初のクエリ(117)をサブミットしたのと同じユーザ(10)によって話された前記発話の転写を生成するように、前記後続のオーディオデータ(127)を処理することと、
    前記発話が前記デジタルアシスタント(109)に向けられた前記後続のクエリ(129)を含むかどうかを決定するために、前記転写に対してクエリ解釈を実行することと
    を含む動作を実行する、請求項16から18のいずれか一項に記載のAED(102)。
  20. 前記発話が前記デジタルアシスタント(109)に向けられた前記後続のクエリ(129)を含むとき、前記動作が、
    前記後続のクエリ(129)によって指定された動作を実行するよう前記デジタルアシスタント(109)に指示することと、
    前記後続のクエリ(129)によって指定された前記動作の実行を示す後続の応答(193)を、前記デジタルアシスタント(109)から受信することと、
    前記AED(102)からの出力に対する前記後続の応答(193)を提示することと
    をさらに含む、請求項19に記載のAED(102)。
  21. 前記第2のプロセッサ(300)において前記ウェイクアッププロセスを開始することによって、前記第2のプロセッサ(300)が、前記後続のオーディオデータ(127)をネットワークを介してリモートサーバに送信し、前記後続のオーディオデータ(127)は、前記リモートサーバによって受信されると、前記リモートサーバに、
    前記最初のクエリ(117)をサブミットしたのと同じユーザ(10)によって話された前記発話の転写を生成するように、前記後続のオーディオデータ(127)を処理することと、
    前記発話が前記デジタルアシスタント(109)に向けられた前記後続のクエリ(129)を含むかどうかを決定するために、前記転写に対してクエリ解釈を実行することと、
    前記発話が、前記デジタルアシスタント(109)に向けられた前記後続のクエリ(129)を含むとき、前記後続のクエリ(129)によって指定された動作を実行するよう前記デジタルアシスタント(109)に指示することと
    を含む動作を実行させる、請求項16から18のいずれか一項に記載のAED(102)。
  22. 前記動作が、前記後続のクエリ(129)によって指定された前記動作を実行するよう前記デジタルアシスタント(109)に指示した後、
    前記後続のクエリ(129)によって指定された前記動作の実行を示す後続の応答(193)を、前記デジタルアシスタント(109)から受信することと、
    前記AED(102)からの出力に対する前記後続の応答(193)を提示することと
    をさらに含む、請求項21に記載のAED(102)。
  23. 前記動作が、前記ユーザ(10)によって話され、前記デジタルアシスタント(109)にサブミットされた前記最初のクエリ(117)に対応する最初のオーディオデータ(120)を受信した後、
    前記最初のオーディオデータ(120)から、前記ユーザ(10)によって話された前記最初のクエリ(117)の特徴を表す第1の話者識別ベクトル(411)を抽出すること
    をさらに含み、
    前記後続のオーディオデータ(127)に対して話者検証を実行することが、
    前記SIDモデルを使用して、前記後続のオーディオデータ(127)から、前記後続のオーディオデータ(127)の特徴を表す第1の話者識別ベクトル(412)を抽出することと、
    前記第1の話者識別ベクトル(411)が前記第1の話者識別ベクトル(412)と一致するとき、前記後続のオーディオデータ(127)が、前記デジタルアシスタント(109)に前記最初のクエリ(117)をサブミットしたのと同じユーザ(10)によって話された前記発話を含むと決定することと
    を含む、
    請求項16から22のいずれか一項に記載のAED(102)。
  24. 前記動作が、前記ユーザ(10)によって話され、前記デジタルアシスタント(109)にサブミットされた前記最初のクエリ(117)に対応する最初のオーディオデータ(120)を受信した後、
    前記最初のオーディオデータ(120)から、前記ユーザ(10)によって話された前記最初のクエリ(117)の特徴を表す第1の話者識別ベクトル(411)を抽出することと、
    前記第1の話者識別ベクトル(411)が、前記AED(102)に記憶された任意の登録済み話者ベクトルと一致するかどうかを決定することであり、各登録済み話者ベクトルが、前記AED(102)の異なるそれぞれの登録済みユーザ(10)に関連付けられている、決定することと、
    前記第1の話者識別ベクトル(411)が、前記登録済み話者ベクトルのうちの1つと一致するとき、前記最初のクエリ(117)を話した前記ユーザ(10)を、前記第1の話者識別ベクトル(411)と一致する前記登録済み話者ベクトルのうちの前記1つに関連付けられた前記それぞれの登録済みユーザ(10)として識別することと
    をさらに含み、
    前記後続のオーディオデータ(127)に対して話者検証を実行することが、
    前記SIDモデルを使用して、前記後続のオーディオデータ(127)から、前記後続のオーディオデータ(127)の特徴を表す第1の話者識別ベクトル(412)を抽出することと、
    前記第1の話者識別ベクトル(412)が、前記最初のクエリ(117)を話した前記それぞれの登録済みユーザ(10)に関連付けられた前記登録済み話者ベクトルのうちの前記1つと一致するとき、前記後続のオーディオデータ(127)が、前記最初のクエリ(117)を前記デジタルアシスタント(109)にサブミットしたのと同じユーザ(10)によって話された前記発話を含むと決定することと
    を含む、
    請求項16から23のいずれか一項に記載のAED(102)。
  25. 前記SIDモデルが、前記後続のオーディオデータ(127)からテキスト非依存話者識別ベクトルを抽出するように構成されたテキスト非依存SIDモデルを含む、請求項16から24のいずれか一項に記載のAED(102)。
  26. 前記動作が、前記VADモデル(222)が前記後続のオーディオデータ(127)においてボイスアクティビティを検出できなかったこと、または前記後続のオーディオデータ(127)が、前記最初のクエリ(117)をサブミットしたのと同じユーザ(10)によって話された発話を含むことができなかったことのうちの少なくとも一方を決定したことに応答して、前記後続クエリ検出モード(220)での動作を停止し、ホットワード検出モード(210)での動作を開始するよう前記常時オンの第1のプロセッサ(200)に指示することをさらに含む、請求項16から25のいずれか一項に記載のAED(102)。
  27. 前記後続クエリ検出モード(220)での動作を停止するよう前記常時オンの第1のプロセッサ(200)に指示することによって、前記常時オンの第1のプロセッサ(200)が、前記常時オンの第1のプロセッサ(200)上での前記VADおよびSIDモデル(222、410)の実行を無効化または非活性化する、請求項26に記載のAED(102)。
  28. 前記ホットワード検出モード(210)での動作を開始するよう前記常時オンの第1のプロセッサ(200)に指示することによって、前記常時オンの第1のプロセッサ(200)が、前記常時オンの第1のプロセッサ(200)上でホットワード検出モデル(212)の実行を開始する、請求項26または27のいずれか一項に記載のAED(102)。
  29. 前記常時オンの第1のプロセッサ(200)が、デジタル信号プロセッサ(DSP)を含み、
    前記第2のプロセッサ(300)が、アプリケーションプロセッサを含む、
    請求項16から28のいずれか一項に記載のAED(102)。
  30. 前記AED(102)が、前記後続のオーディオデータ(127)および前記最初のクエリ(117)に対応する最初のオーディオデータ(120)をキャプチャするように構成された1つまたは複数のマイクロフォンと通信するバッテリ駆動デバイスを含む、請求項16から29のいずれか一項に記載のAED(102)。
JP2024522103A 2021-10-13 2021-12-15 デジタル信号プロセッサベースの継続的な会話 Pending JP2024538771A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163262447P 2021-10-13 2021-10-13
US63/262,447 2021-10-13
PCT/US2021/063470 WO2023063965A1 (en) 2021-10-13 2021-12-15 Digital signal processor-based continued conversation

Publications (1)

Publication Number Publication Date
JP2024538771A true JP2024538771A (ja) 2024-10-23

Family

ID=80050831

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2024522103A Pending JP2024538771A (ja) 2021-10-13 2021-12-15 デジタル信号プロセッサベースの継続的な会話

Country Status (6)

Country Link
US (1) US20230113883A1 (ja)
EP (1) EP4405945A1 (ja)
JP (1) JP2024538771A (ja)
KR (1) KR20240090400A (ja)
CN (1) CN118401997A (ja)
WO (1) WO2023063965A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12095939B2 (en) * 2021-04-15 2024-09-17 Apple Inc. Techniques for establishing communications with third-party accessories

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9063731B2 (en) * 2012-08-27 2015-06-23 Samsung Electronics Co., Ltd. Ultra low power apparatus and method to wake up a main processor
EP3809407A1 (en) * 2013-02-07 2021-04-21 Apple Inc. Voice trigger for a digital assistant
US9460715B2 (en) * 2013-03-04 2016-10-04 Amazon Technologies, Inc. Identification using audio signatures and additional characteristics
US10748529B1 (en) * 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
US9652017B2 (en) * 2014-12-17 2017-05-16 Qualcomm Incorporated System and method of analyzing audio data samples associated with speech recognition
US20180158462A1 (en) * 2016-12-02 2018-06-07 Cirrus Logic International Semiconductor Ltd. Speaker identification
US10455339B2 (en) * 2018-01-19 2019-10-22 Cirrus Logic, Inc. Always-on detection systems
CN112243526A (zh) * 2018-06-05 2021-01-19 三星电子株式会社 语音辅助设备及其方法
CN111402900B (zh) * 2018-12-29 2024-04-23 华为技术有限公司 一种语音交互方法,设备和系统
US11031017B2 (en) * 2019-01-08 2021-06-08 Google Llc Fully supervised speaker diarization
SE545310C2 (en) * 2019-12-20 2023-06-27 Tobii Ab Improved turn-taking
KR20220037819A (ko) * 2020-09-18 2022-03-25 엘지전자 주식회사 복수의 기동어를 인식하는 인공 지능 장치 및 그 방법

Also Published As

Publication number Publication date
EP4405945A1 (en) 2024-07-31
CN118401997A (zh) 2024-07-26
KR20240090400A (ko) 2024-06-21
US20230113883A1 (en) 2023-04-13
WO2023063965A1 (en) 2023-04-20

Similar Documents

Publication Publication Date Title
WO2015047517A1 (en) Keyword detection
JP7516571B2 (ja) ホットワードしきい値自動チューニング
US12136412B2 (en) Training keyword spotters
US11756572B2 (en) Self-supervised speech representations for fake audio detection
US11694685B2 (en) Hotphrase triggering based on a sequence of detections
US12073826B2 (en) Freeze words
US20240347060A1 (en) Contextual suppression of assistant command(s)
CN116648743A (zh) 基于个性化否定来适应热词辨识
JP2024510798A (ja) ハイブリッド多言語テキスト依存およびテキスト非依存の話者検証
US20230113883A1 (en) Digital Signal Processor-Based Continued Conversation
US12080276B2 (en) Adapting automated speech recognition parameters based on hotword properties
JP2024529888A (ja) 程度によるホットワード検出
US20240013782A1 (en) History-Based ASR Mistake Corrections
US20230186909A1 (en) Selecting between multiple automated assistants based on invocation properties
WO2023113877A1 (en) Selecting between multiple automated assistants based on invocation properties
CN118339609A (zh) 自动化助理装置之间的暖词仲裁

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240610