(57)【要約】      （修正有）【課題】エネルギー効率の良いボイストリガを提供する。【解決手段】ボイストリガを動作させるための方法は、１つ以上のプロセッサ及び１つ以上のプロセッサによって実行される命令を記憶するメモリを含む電子機器にて実行され、音入力を受け取ることを含む。この音入力は、話し言葉若しくはフレーズ、又はその一部に対応してもよい。この方法は、音入力の少なくとも一部が、人の声などの、所定の種類の音に対応するか判定すること、また音入力の少なくとも一部が、所定の種類に対応することを判定すると、音入力が、所定のトリガ語又はフレーズなどの、所定の内容を含むか判定することを含む。この方法はまた、音入力が所定の内容を含むことを判定すると、音声ベースのデジタルアシスタントなどの、スピーチベースのサービスを開始することを含む。【選択図】図５
2020009463.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のプロセッサと、前記１つ以上のプロセッサによる実行のための命令を記憶するメモリと、を含む電子機器にて実行される、ボイストリガを動作させるための方法であって、
音入力を受け取る工程と、
前記音入力の少なくとも一部が所定の種類の音に対応するか判定する工程と、
前記音入力の少なくとも一部が前記所定の種類に対応することを判定すると、前記音入力が所定の内容を含むか判定する工程と、
前記音入力が前記所定の内容を含むことを判定すると、スピーチベースのサービスを開始する工程と、
を含むことを特徴とする方法。
【請求項２】
前記音入力が所定の種類の音に対応するか判定する前記工程が第１の音検出器によって行われ、前記音入力が所定の内容を含むか判定する前記工程が第２の音検出器によって行われ、前記第１の音検出器が、前記第２の音検出器よりも少ない電力を作動中に消費することを特徴とする、請求項１に記載の方法。
【請求項３】
前記第１の音検出器による、前記音入力が前記所定の種類に対応することの判定に応じて前記第２の音検出器が起動されることを特徴とする、請求項２に記載の方法。
【請求項４】
前記第１の音検出器による、前記音入力が前記所定の種類に対応することの判定後、前記第２の音検出器が少なくとも所定の時間動作されることを特徴とする、請求項２に記載の方法。
【請求項５】
前記所定の種類が人の声であり、前記所定の内容が１つ以上の単語であることを特徴とする、請求項１に記載の方法。
【請求項６】
前記所定の内容が、１つ以上の所定の音素であることを特徴とする、請求項１に記載の方法。
【請求項７】
前記１つ以上の所定の音素が、少なくとも１つの単語を構成することを特徴とする、請求項６に記載の方法。
【請求項８】
前記音入力が所定の種類の音に対応するか判定する前に、前記音入力が所定の条件を満たすか判定する工程を更に含むことを特徴とする、請求項１に記載の方法。
【請求項９】
前記所定の条件が、振幅閾値であることを特徴とする、請求項８に記載の方法。
【請求項１０】
前記音入力が所定の条件を満たすか判定する前記工程が第３の音検出器によって行われ、前記第３の音検出器が、前記第１の音検出器よりも少ない電力を作動中に消費することを特徴とする、請求項８に記載の方法。
【請求項１１】
前記音入力の少なくとも一部をメモリ内に記憶する工程と、
前記スピーチベースのサービスが開始されると、前記音入力の前記一部を前記スピーチベースのサービスに提供する工程と、
を更に含むことを特徴とする、請求項１に記載の方法。
【請求項１２】
前記音入力が特定ユーザの声に対応するか判定する工程を更に含むことを特徴とする、請求項１に記載の方法。
【請求項１３】
前記音入力が前記所定の内容を含むこと及び前記音入力が前記特定ユーザの前記声に対応することを判定すると、前記スピーチベースのサービスが開始されることを特徴とする、請求項１２に記載の方法。
【請求項１４】
前記音入力が前記所定の内容を含むこと及び前記音入力が前記特定ユーザの前記声に対応しないことを判定すると、前記スピーチベースのサービスが限定アクセスモードにて開始されることを特徴とする、請求項１３に記載の方法。
【請求項１５】
前記音入力が前記特定ユーザの前記声に対応することを判定すると、前記特定ユーザの名前を含む音声プロンプトを出力する工程を更に含むことを特徴とする、請求項１３に記載の方法。
【請求項１６】
前記電子機器が所定の向きにあるか判定する工程と、
前記電子機器が前記所定の向きにあることを判定すると、前記ボイストリガの所定のモードを有効にする工程と、
を更に含むことを特徴とする、請求項１に記載の方法。
【請求項１７】
１つ以上のプロセッサと、前記１つ以上のプロセッサによる実行のための命令を記憶するメモリと、を含む電子機器にて実行される、ボイストリガを動作させるための方法であって、
ボイストリガを第１のモードにて動作させる工程と、
前記電子機器のマイクロフォン及びカメラのうちの１つ以上が塞がっていることを検出することによって、前記電子機器が実質的な閉鎖空間内にあるか判定する工程と、
前記電子機器が実質的な閉鎖空間内にあることを判定すると、前記ボイストリガを第２のモードに切り換える工程と、
を含むことを特徴とする方法。
【請求項１８】
前記第２のモードがスタンバイモードであることを特徴とする、請求項１７に記載の方法。
【請求項１９】
前記第１のモードがリスニングモードであることを特徴とする、請求項１７のいずれか１つに記載の方法。
【請求項２０】
１つ以上のプロセッサと、前記１つ以上のプロセッサによる実行のための命令を記憶するメモリと、を含む電子機器にて実行される、ボイストリガを動作させるための方法であって、
前記電子機器が所定の向きにあるか判定する工程と、
前記電子機器が前記所定の向きにあることを判定すると、ボイストリガの所定のモードを有効にする工程と、
を含むことを特徴とする方法。
【請求項２１】
前記所定の向きが、前記機器のディスプレイスクリーンが実質的に水平で下向きにあることに対応し、前記所定のモードがスタンバイモードであることを特徴とする、請求項２０に記載の方法。
【請求項２２】
前記所定の向きが、前記機器のディスプレイスクリーンが実質的に水平で上向きにあることに対応し、前記所定のモードがリスニングモードであることを特徴とする、請求項２０に記載の方法。
【請求項２３】
電子機器の１つ以上のプロセッサによる実行のための１つ以上のプログラムを記憶するコンピュータ可読記憶媒体であって、前記１つ以上のプログラムが、
音入力を受け取るための命令と、
前記音入力の少なくとも一部が所定の種類の音に対応するか判定するための命令と、
前記音入力の少なくとも一部が前記所定の種類に対応することを判定すると、前記音入力が所定の内容を含むか判定するための命令と、
前記音入力が前記所定の内容を含むことを判定すると、スピーチベースのサービスを開始するための命令と、
を含むことを特徴とする、コンピュータ可読記憶媒体。
【請求項２４】
音入力を受け取るよう構成された受音ユニットと、
前記受音ユニットに連結された処理ユニットと、
を備える電子機器であって、前記処理ユニットが、
前記音入力の少なくとも一部が所定の種類の音に対応するか判定し、
前記音入力の少なくとも一部が前記所定の種類に対応することを判定すると、前記音入力が所定の内容を含むか判定し、
前記音入力が前記所定の内容を含むことを判定すると、スピーチベースのサービスを開始する
よう構成されていることを特徴とする電子機器。
【請求項２５】
前記処理ユニットが、前記音入力が所定の種類の音に対応するか判定する前に、前記音入力が所定の条件を満たすか判定するよう更に構成されていることを特徴とする、請求項２４に記載の電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
＜関連出願の相互参照＞
本出願は、名称が「ＶＯＩＣＥ  ＴＲＩＧＧＥＲ  ＦＯＲ  Ａ  ＤＩＧＩＴＡＬ  ＡＳＳＩＳＴＡＮＴ」であり、２０１３年２月７日に出願の米国仮出願第６１／７６２，２６０号の利益を主張し、すべての目的に対してそのエンティティに、参照によりこれにて組み込まれている。
【０００２】
＜技術分野＞
開示された実施態様は、全般的にはデジタルアシスタントに関連し、より具体的には、デジタルアシスタントのためのボイストリガのための方法及びシステムに関連する。
【背景技術】
【０００３】
近年、アップル社（Apple）のＳＩＲＩ（登録商標）などの、ウェブの検索及びナビゲーションなどの様々なタスクを扱うための、音声ベースのデジタルアシスタントが市場に導入されている。そのような音声ベースのデジタルアシスタントの１つの利点は、ユーザが、機器を操作又は視認することなく、ハンズフリーの状態で機器と双方向作用できることである。ハンズフリー操作は特に、運転中などの、人が機器を物理的に操作できない、又はすべきでない際に有用となり得る。しかし、音声ベースのアシスタントを開始するには、ユーザは一般的にボタンを押すか、又はタッチスクリーン上のアイコンを選択する必要がある。この触覚による入力は、ハンズフリー体験を阻害する。それに応じて、触覚による入力ではなく、音声入力又は信号を使用して、音声ベースのデジタルアシスタント（又は、他のスピーチベースのサービス）を有効にする方法及びシステムを提供することが有利となる。
【０００４】
音声入力を使用して音声ベースのアシスタントを有効にすることは、音声入力を検出するためにオーディオチャネルを監視する必要がある。この監視は、そのような音声ベースのデジタルアシスタントが多くの場合に実行される、バッテリに依存するハンドヘルド機器又はポータブル装置上の限られたリソースである電力を消費する。したがって、機器上の音声ベースのサービス及び／又はスピーチベースのサービスを開始するために使用され得る、エネルギー効率の良いボイストリガを提供することは有益となるであろう。
【発明の概要】
【０００５】
それに応じて、限られた電力リソースを過剰に消費することなく、「常時リスニング」式のボイストリガ機能を提供できる低電力ボイストリガが必要とされている。以下に説明する実施態様は、電子機器にてボイストリガを使用して、音声ベースのアシスタントを開始するためのシステム及び方法を提供する。音声ベースのデジタルアシスタント（又は、音声テキスト化書き換えサービスなどの、他のスピーチベースのサービス）との双方向作用は多くの場合、デジタルアシスタントを有効にするために、ユーザが機器上のアフォーダンス（例えば、ボタン又はアイコン）を押すと開始し、続いて機器は、光、音（例えば、ビープ）、又は発声出力（例えば、「ご用件は何ですか？」）などの、デジタルアシスタントが有効でリッスンしていることの、ユーザへのいくらかの表示を提供する。本明細書に説明するように、ボイストリガはまた、ユーザによる物理的な双方向作用を必要とすることなく、特定かつ所定の単語、フレーズ、又は音に応じて有効となるよう実装され得る。例えば、ユーザは、フレーズ「ＳＩＲＩへ」と呼びかけることで、ＩＰＨＯＮＥ（登録商標）のＳＩＲＩデジタルアシスタント（双方とも、本出願の譲受人であるアップル社（Apple Inc.）より提供されている）を有効にできてもよい。これに応じて、機器はビープ、音、又はスピーチ出力を発し（例えば、「ご用件は何ですか？」）、ユーザにリスニングモードが有効であることを示す。それに応じて、ユーザはデジタルアシスタント機能を提供する機器を物理的にタッチする必要なく、デジタルアシスタントとの双方向作用を開始できる。
【０００６】
ボイストリガを伴うスピーチベースのサービスを開始するための１つの技術は、スピーチベースのサービスに、所定のトリガ語、フレーズ、又は音（これらのいずれかは本明細書にて「トリガ音」と呼ばれもよい）を継続的にリッスンさせるものである。しかし、スピーチベースのサービス（例えば、音声ベースのデジタルアシスタント）を継続して動作させることは、相当の音声処理及びバッテリ電力を必要とする。ボイストリガ機能を提供することでの電力消費を削減するため、種々の技術が採用されてもよい。いくつかの実施態様では、電子機器のメインプロセッサ（つまり、「アプリケーションプロセッサ」）は、（例えば、アプリケーションプロセッサに依存しないために）低電力消費の１つ以上の音検出器が有効に維持されている間に、低電力状態又は無電力状態に維持される。（低電力状態又は無電力状態にある場合は、アプリケーションプロセッサ若しくは任意の他のプロセッサ、プログラム、又はモジュールは、無効又はスタンバイモードにあるものとして説明されてもよい。）例えば、アプリケーションプロセッサが無効であっても、トリガ音のためにオーディオチャネルを監視するよう、低電力音検出器が使用されている。この音検出器は時に、本明細書にてトリガ音検出器と呼ばれる。いくつかの実施態様では、特定の音、音素、及び／又は単語を検出するよう構成されている。トリガ音検出器（ハードウェア構成要素及び／又はソフトウェア構成要素を含む）は、特有の単語、音、又はフレーズを認識するよう設計されているが、そのようなタスクは大きな計算リソース及び電力リソースを必要とするため、完全な音声テキスト化機能を一般的に提供できないか、又は最適化されていない。したがって、いくつかの実施態様では、トリガ音検出器は、音声入力が既定のパターン（例えば、「ＳＩＲＩへ」という単語に一致するソニックパターン）を含むか認識するが、音声入力をテキストに変換又は他の多くの単語を認識することができない（又は構成されていない）。トリガ音が検出されると、デジタルアシスタントは続いて、ユーザが音声コマンドを提供できるよう、スタンバイモードから退出させられる。
【０００７】
いくつかの実施態様では、トリガ音検出器は、一式の単語、フレーズ、音、及び／又はそれらの組み合わせなどの、種々の異なるトリガ音を検出するよう構成されている。ユーザは続いて、これらの音のいずれかを使用して、スピーチベースのサービスを開始できる。一例では、ボイストリガは、フレーズ「ＳＩＲＩへ」、「ＳＩＲＩ起動」、「デジタルアシスタント呼び出し」、又は「ハロー、ＨＡＬ、聞こえますか、ＨＡＬ？」に応答するよう予め構成されている。いくつかの実施態様では、ユーザは、予め構成されたトリガ音の１つを、単一のトリガ音として選択する必要がある。いくつかの実施態様では、ユーザが異なるトリガ音でスピーチベースのサービスを開始できるよう、ユーザは、予め構成されたトリガ音のサブセットを選択する。いくつかの実施態様では、予め構成されたトリガ音のすべては、正当なトリガ音に維持される。
【０００８】
いくつかの実施態様では、別の音検出器が使用され、トリガ音検出器は、多くの時間に低電力モード又は無電力モードにも維持され得る。例えば、異なる種類の音検出器（例えば、トリガ音検出器よりも少ない電力を使用するもの）を使用して、オーディオチャネルを監視し、音入力が特定の種類の音に対応するか判定する。音は、特定の識別可能な音の特性に基づいて、異なる「種類」に分類されている。例えば、「人の声」の種類に属する音は、特定のスペクトルコンテント、周期性、基本周波数、等を有する。他の種類の音（例えば、口笛、拍手、等）は、異なる特性を有する。異なる種類の音は、本明細書に説明するように、音声処理技術及び／又は信号処理技術を用いて識別されている。この音検出器は時に、本明細書にて「音種類検出器」と呼ばれる。例えば、所定のトリガフレーズが「ＳＩＲＩへ」の場合、音種類検出器は、入力が人の話し声におおよそ対応するか判定する。トリガ音が、口笛などの非有声音の場合、音種類検出器は、音入力が口笛におおよそ対応するか判定する。適切な種類の音が検出されると、音種類検出器は、トリガ音検出器を起動し、音を更に処理及び／又は分析する。音種類検出器は、トリガ音検出器よりも少ない電力を必要とするため（例えば、必要電力が低い回路及び／又はトリガ音検出器よりも効率の良いオーディオ処理アルゴリズムを使用するため）、ボイストリガ機能は、トリガ音検出器単独よりも少ない電力を消費する。
【０００９】
いくつかの実施態様では、更に別の音検出器が使用され、上記の音種類検出器及びトリガ音検出器の双方は、多くの時間に低電力モード又は無電力モードに維持され得る。例えば、音種類検出器よりも少ない電力を使用する音検出器は、オーディオチャネルの監視に使用され、音入力が、振幅閾値（例えば、音量）などの、所定の条件を満たすか判定する。この音検出器は、本明細書にてノイズ検出器とも呼ばれてもよい。ノイズ検出器が、所定の閾値を満たす音を検出すると、ノイズ検出器は音種類検出器を起動し、音を更に処理及び／又は分析する。ノイズ検出器は、音種類検出器又はトリガ音検出器よりも少ない電力を要求するため（例えば、要求電力が低い回路及び／又は効率の良いオーディオ処理アルゴリズムを使用するため）、ボイストリガ機能は、ノイズ検出器を伴わない音種類検出器及びトリガ音検出器の組み合わせよりも少ない電力を消費する。
【００１０】
いくつかの実施態様では、上記の音検出器のうちの任意の１つ以上は、「オン」と「オフ」との間の状態をサイクルするデューティサイクルに従って動作されている。これは、ボイストリガの電力消費を削減することを更に助ける。例えば、いくつかの実施態様では、ノイズ検出器は１０ミリ秒間「オン」となり（つまり、オーディオチャネルを積極的に監視し）、続いて９０ミリ秒間「オフ」となる。このように、継続的なノイズ検出機能を依然として効果的に提供する一方で、ノイズ検出器は９０％の時間「オフ」となる。いくつかの実施態様では、音検出器に対するオン及びオフの各持続時間は、トリガ音が依然として入力されている間に、検出器のすべてが有効となっているよう選択されている。例えば、「ＳＩＲＩへ」のトリガフレーズついては、音検出器は、トリガフレーズがデューティサイクル（単数又は複数）のどこで始まっても、トリガ音検出器が遅れずに有効となり、十分な量の入力を分析するよう構成されてもよい。例えば、トリガ音検出器は遅れずに有効となり、音がトリガフレーズに一致することを判定するように充分な音「ＩＲＩへ」を受け取り、処理し、及び分析する。いくつかの実施態様では、音入力は受け取った状態でメモリに記憶され、音入力の大半の部分が分析され得るよう、上流の検出器（upstream detector）に渡される。それに応じて、トリガフレーズが発言された後までトリガ音検出器が起動されていなくても、記録されたトリガフレーズの全体を依然として分析できる。
【００１１】
いくつかの実施態様は、ボイストリガを動作させる方法を提供する。この方法は、１つ以上のプロセッサ及び、１つ以上のプロセッサによって実行される命令を記憶するメモリを含む電子機器にて実行されている。この方法は、音入力を受け取ることを含む。この方法は、音入力の少なくとも一部が、所定の種類の音に対応するか判定することを更に含む。この方法は、音入力の少なくとも一部が、所定の種類に対応することを判定すると、音入力が所定の内容を含むか判定することを更に含む。この方法は、音入力が所定の内容を含むことを判定すると、スピーチベースのサービスを開始することを更に含む。いくつかの実施態様では、スピーチベースのサービスは、音声ベースのデジタルアシスタントである。いくつかの実施態様では、スピーチベースのサービスは、口述サービスである。
【００１２】
いくつかの実施態様では、音入力が所定の種類の音に対応するか判定することが、第１の音検出器によって行われ、音入力が所定の内容を含むか判定することが、第２の音検出器によって行われる。いくつかの実施態様では、第１の音検出器は、第２の音検出器よりも少ない電力を作動中に消費する。いくつかの実施態様では、第１の音検出器は、音入力の周波数領域分析を行う。いくつかの実施態様では、音入力が所定の種類の音に対応するか判定することが、音入力が所定の条件を満たすことを判定すると行われる（例えば、以下に説明する、第３の音検出器により判定されるように）。
【００１３】
いくつかの実施態様では、第１の音検出器は、デューティサイクルに従って、オーディオチャネルを定期的に監視する。いくつかの実施態様では、デューティサイクルは、約２０ミリ秒のオンタイム、及び約１００ミリ秒のオフタイムを含む。
【００１４】
いくつかの実施態様では、所定の種類は人の声であり、所定の内容は１つ以上の単語である。いくつかの実施態様では、音入力の少なくとも一部が所定の種類の音に対応するか判定することが、音入力の少なくとも一部が人の声の周波数特性を含むか判定することを含む。
【００１５】
いくつかの実施態様では、第２の音検出器は、音入力が所定の種類に対応することの、第１の音検出器による判定に応じて起動されている。いくつかの実施態様では、第２の音検出器は、音入力が所定の種類に対応することの、第１の音検出器による判定後、少なくとも所定の時間動作されている。いくつかの実施態様では、所定の時間は、所定の内容の持続時間に対応する。
【００１６】
いくつかの実施態様では、所定の内容は、１つ以上の所定の音素である。いくつかの実施態様では、１つ以上の所定の音素は、少なくとも１つの単語を構成する。
【００１７】
いくつかの実施態様では、この方法は、音入力が所定の種類の音に対応するか判定する前に、音入力が所定の条件を満たすか判定することを含む。いくつかの実施態様では、所定の条件は振幅閾値である。いくつかの実施態様では、音入力が所定の条件を満たすか判定することは、第３の音検出器によって行われ、第３の音検出器は、第１の音検出器よりも少ない電力を作動中に消費する。いくつかの実施態様では、第３の音検出器は、デューティサイクルに従って、オーディオチャネルを定期的に監視する。いくつかの実施態様では、デューティサイクルは、約２０ミリ秒のオンタイム、及び約５００ミリ秒のオフタイムを含む。いくつかの実施態様では、第３の音検出器は、音入力の時間領域分析を行う。
【００１８】
いくつかの実施態様では、この方法は、音入力の少なくとも一部をメモリに記憶すること、及び、スピーチベースのサービスが開始されると、音入力の一部を、スピーチベースのサービスに提供することを含む。いくつかの実施態様では、音入力の一部は、ダイレクトメモリアクセスを使用してメモリに記憶されている。
【００１９】
いくつかの実施態様では、この方法は、音入力が特定ユーザの声に対応するか判定することを含む。いくつかの実施態様では、スピーチベースのサービスは、音入力が所定の内容を含むこと、及び音入力が特定ユーザの声に対応することを判定すると開始されている。いくつかの実施態様では、スピーチベースのサービスは、音入力が所定の内容を含むこと、及び音入力が特定ユーザの声に対応しないことを判定すると、限定アクセスモードにて開始されている。いくつかの実施態様では、この方法は、音入力が特定ユーザの声に対応することを判定すると、特定ユーザの名前を含む音声プロンプトを出力することを含む。
【００２０】
いくつかの実施態様では、音入力が所定の内容を含むか判定することが、音入力のレプリゼンテーションをリファレンスレプリゼンテーションに比較すること、及び音入力のレプリゼンテーションがリファレンスレプリゼンテーションと一致する場合に、音入力が所定の内容を含むことを判定することを含む。いくつかの実施態様では、一致は、音入力のレプリゼンテーションが、所定の信頼値でリファレンスレプリゼンテーションに一致する場合に判定されている。いくつかの実施態様では、この方法は、この音入力を含む複数の音入力を受け取ること、及び、各音入力が所定の内容を含むことを判定することに応じて、複数の音入力の各１つを使用して、リファレンスレプリゼンテーションを繰り返し調整することを含む。
【００２１】
いくつかの実施態様では、この方法は、電子機器が所定の向きにあるか判定すること、及び、電子機器が所定の向きにあることを判定すると、ボイストリガの所定のモードを有効にすることを含む。いくつかの実施態様では、所定の向きは、機器のディスプレイスクリーンが実質的に水平で下向きにあることに対応し、所定のモードはスタンバイモードである。いくつかの実施態様では、所定の向きは、機器のディスプレイスクリーンが実質的に水平で上向きにあることに対応し、所定のモードはリスニングモードである。
【００２２】
いくつかの実施態様は、ボイストリガを動作させる方法を提供する。この方法は、１つ以上のプロセッサ及び、１つ以上のプロセッサによって実行される命令を記憶するメモリを含む電子機器にて実行されている。この方法は、ボイストリガを第１のモードにて動作させることを含む。この方法は、電子機器のマイクロフォン及びカメラのうちの１つ以上が塞がっていることを検出することで、電子機器が実質的な閉鎖空間内にあるか判定することを更に含む。この方法は、電子機器が実質的な閉鎖空間内にあることを判定すると、ボイストリガを第２のモードに切り換えることを更に含む。いくつかの実施態様では、第２のモードは、スタンバイモードである。
【００２３】
いくつかの実施態様は、ボイストリガを動作させる方法を提供する。この方法は、１つ以上のプロセッサ及び、１つ以上のプロセッサによって実行される命令を記憶するメモリを含む電子機器にて実行されている。この方法は、電子機器が所定の向きにあるか判定すること、及び、電子機器が所定の向きにあることを判定すると、ボイストリガの所定のモードを有効にすることを含む。いくつかの実施態様では、所定の向きは、機器のディスプレイスクリーンが実質的に水平で下向きにあることに対応し、所定のモードはスタンバイモードである。いくつかの実施態様では、所定の向きは、機器のディスプレイスクリーンが実質的に水平で上向きにあることに対応し、所定のモードはリスニングモードである。
【００２４】
いくつかの実施態様によると、電子機器は、音入力を受け取るよう構成された受音ユニットと、受音ユニットに連結された処理ユニットと、を含む。この処理ユニットは、音入力の少なくとも一部が所定の種類の音に対応するか判定し、音入力の少なくとも一部が所定の種類に対応することを判定すると、音入力が所定の内容を含むか判定し、音入力が所定の内容を含むことを判定すると、スピーチベースのサービスを開始するよう構成されている。いくつかの実施態様では、処理ユニットは、音入力が所定の種類の音に対応するか判定する前に、音入力が所定の条件を満たすか判定するよう更に構成されている。いくつかの実施態様では、処理ユニットは、音入力が特定ユーザの声に対応するか判定するよう更に構成されている。
【００２５】
いくつかの実施態様によると、電子機器は、ボイストリガを、複数のモードの第１のモードにて動作させるよう構成されているボイストリガユニットと、ボイストリガユニットに連結された処理ユニットと、を含む。いくつかの実施態様では、処理ユニットは、電子機器のマイクロフォン及びカメラのうちの１つ以上が塞がっていることを検出することで、電子機器が実質的な閉鎖空間内にあるか判定し、電子機器が実質的な閉鎖空間内にあることを判定すると、ボイストリガを第２のモードに切り換えるよう構成されている。いくつかの実施態様では、処理ユニットは、電子機器が所定の向きにあるか判定し、電子機器が所定の向きにあることを判定すると、ボイストリガの所定のモードを有効にするよう構成されている。
【００２６】
いくつかの実施態様によると、コンピュータ可読記憶媒体（例えば、永続的コンピュータ可読記憶媒体）が提供されており、このコンピュータ可読記憶媒体は、電子機器の１つ以上のプロセッサによって実行される１つ以上のプログラムを記憶し、この１つ以上のプログラムは、本明細書に記載の方法のいずれかを行う命令を含む。
【００２７】
いくつかの実施態様によると、本明細書に記載のいずれかの方法を行うための手段を含む電子機器（例えば、ポータブル電子機器）が提供されている。
【００２８】
いくつかの実施態様によると、本明細書に記載のいずれかの方法を行うよう構成された処理ユニットを含む電子機器（例えば、ポータブル電子機器）が提供されている。
【００２９】
いくつかの実施態様によると、１つ以上のプロセッサ及び、１つ以上のプロセッサによって実行される１つ以上のプログラムを記憶するメモリを含み、この１つ以上のプログラムは、本明細書に記載のいずれかの方法を行う命令を含む電子機器（例えば、ポータブル電子機器）が提供されている。
【００３０】
いくつかの実施態様によると、電子機器内にて使用するための情報処理装置が提供されており、この情報処理装置は、本明細書に記載の方法のいずれかを行うための手段を含む。
【図面の簡単な説明】
【００３１】
【図１】いくつかの実施態様に係る、デジタルアシスタントが動作する環境を示すブロック図である。
【００３２】
【図２】いくつかの実施態様に係る、デジタルアシスタントクライアントシステムを示すブロック図である。
【００３３】
【図３Ａ】いくつかの実施態様に係る、スタンドアロンのデジタルアシスタントシステム又はデジタルアシスタントサーバシステムを示すブロック図である。
【００３４】
【図３Ｂ】いくつかの実施態様に係る、図３Ａに示すデジタルアシスタントの機能を示すブロック図である。
【００３５】
【図３Ｃ】いくつかの実施態様に係る、オントロジの一部を示すネットワーク図である。
【００３６】
【図４】いくつかの実施態様に係る、ボイストリガシステムの構成要素を示すブロック図である。
【００３７】
【図５】いくつかの実施態様に係る、ボイストリガシステムを動作させるための方法を示すフローチャートである。
【図６】いくつかの実施態様に係る、ボイストリガシステムを動作させるための方法を示すフローチャートである。
【図７】いくつかの実施態様に係る、ボイストリガシステムを動作させるための方法を示すフローチャートである。
【００３８】
【図８】いくつかの実施形態に係る、電子機器の機能ブロック図である。
【図９】いくつかの実施形態に係る、電子機器の機能ブロック図である。
【００３９】
類似の参照番号は、図面全体を通して対応する部分を指す。
【発明を実施するための形態】
【００４０】
図１は、いくつかの実施態様に係る、デジタルアシスタントの動作環境１００のブロック図である。用語「デジタルアシスタント」、「仮想アシスタント」、「インテリジェント自動アシスタント」、「音声ベースのデジタルアシスタント」、又は「自動デジタルアシスタント」は、口頭及び／又はテキスト形式の自然言語入力を解釈してユーザ意図を推定し（例えば、自然言語入力に対応するタスクの種類を特定し）、推定されたユーザ意図に基づきアクションを実行する（例えば、特定されたタスクの種類に対応するタスクを実行する）任意の情報処理システムを指す。例えば、推定されたユーザ意図に基づいてアクションするために、システムは、以下のうちの１つ以上を実行することができる。推定されたユーザ意図を果たすように設計されたステップ及びパラメータを有するタスクフローを特定すること（例えば、タスクの種類を特定すること）、推定されたユーザ意図からの具体的な要求をタスクフローに入力すること、プログラム、方法、サービス、ＡＰＩ、又は同様のものを呼び出すことによってタスクフローを実行すること（例えば、サービスプロバイダに要求を送信すること）、並びに可聴（例えば、会話）及び／又は視覚形式のユーザへの出力応答を生成することである。
【００４１】
具体的には、一度開始されると、デジタルアシスタントシステムは、自然言語命令、要求、陳述、叙述、及び／又は照会の形で少なくとも部分的にユーザ要求を受け入れることができる。全般的に、ユーザ要求は、デジタルアシスタントシステムによる、情報を提供する答え又はタスクの実行のどちらかを求めている。一般的に、ユーザ要求への満足な応答は、要求された情報回答の提供、要求されたタスクの実行のいずれか、又はその２つの組み合わせとなる。例えば、ユーザはデジタルアシスタントシステムに「私は今どこにいますか？」等の質問をする場合がある。ユーザの現在の場所に基づき、デジタルアシスタントは、「あなたはセントラルパーク内の西門の近くにいます」と回答する場合がある。ユーザはまた、例えば、「来週私のガールフレンドの誕生パーティーに私の友人を招待してほしい。」と述べることにより、タスクの実行を要求することができる。これに応じて、デジタルアシスタントは、「はい、すぐに。」との音声出力を生成することにより、要求を確認し、その後、ユーザの電子アドレス帳又は連絡先リストに記載されたユーザの友人のそれぞれに、ユーザの電子メールアドレスから、適切なカレンダ招待状を送信してもよい。情報又は様々なタスクの実行を要求するために、デジタルアシスタントと対話する方法は他にも数多く存在する。言葉による応答を提供し、プログラムされたアクションを取ることに加えて、デジタルアシスタントは、他の視覚又はオーディオ形式の応答を（例えば、テキスト、警報、音楽、ビデオ、アニメーション等として）提供することもできる。
【００４２】
図１に示すように、いくつかの実施態様では、デジタルアシスタントシステムはクライアント−サーバモデルにしたがって実装される。デジタルアシスタントシステムは、ユーザ機器（例えば、１０４ａ及び１０４ｂ）上で実行されるクライアント側部分（例えば、１０２ａ及び１０２ｂ）（以後、「デジタルアシスタント（ＤＡ）クライアント１０２」）、及びサーバシステム１０８上で実行されるサーバ側部分１０６（以後「デジタルアシスタント（ＤＡ）サーバ１０６」）を含む。ＤＡクライアント１０２は１つ以上のネットワーク１１０を通じてＤＡサーバ１０６と通信する。ＤＡクライアント１０２は、ユーザ対応入力及び出力処理、並びにＤＡサーバ１０６との通信等のクライアント側機能を提供する。ＤＡサーバ１０６は、それぞれのユーザ機器１０４（クライアント機器又は電子機器とも呼ばれる）上に各々常駐する任意の数のＤＡクライアント１０２のためにサーバ側機能を提供する。
【００４３】
いくつかの実施態様では、ＤＡサーバ１０６は、クライアント対応（facing）Ｉ／Ｏインターフェース１１２、１つ以上の処理モジュール１１４、データ及びモデル１１６、外部サービスへのＩ／Ｏインターフェース１１８、写真及びタグデータベース１３０、並びに写真タグモジュール１３２を含む。クライアント対応Ｉ／Ｏインターフェースはデジタルアシスタントサーバ１０６のためのクライアント対応入力及び出力処理を促進する。１つ以上の処理モジュール１１４は、データ及びモデル１１６を利用し、自然言語入力に基づきユーザの意図を判断し、推定されたユーザ意図に基づきタスクを実行する。写真及びタグデータベース１３０は、デジタル写真のフィンガープリント、及び、任意にデジタル写真自体、並びに、デジタル写真に関連付けられたタグを記憶する。写真タグモジュール１３２は、写真及び／又はフィンガープリントに関連してタグを作成し、記憶し、自動的に写真にタグ付けし、写真内の場所にタグをリンクする。
【００４４】
いくつかの実施態様では、ＤＡサーバ１０６は、タスク完了又は情報取得のために、ネットワーク（単数又は複数）１１０を通じて外部サービス１２０（例えば、ナビゲーションサービス（単数又は複数）１２２−１、メッセージングサービス（単数又は複数）１２２−２、情報サービス（単数又は複数）１２２−３、カレンダサービス１２２−４、電話サービス１２２−５、写真サービス（単数又は複数）１２２−６、等）と通信する。外部サービスへのＩ／Ｏインターフェース１１８はこのような通信を促進する。
【００４５】
ユーザ機器１０４の例としては、限定するものではないが、ハンドヘルドコンピュータ、無線携帯情報端末（personal digital assistant、ＰＤＡ）、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、セルラー電話、スマートホン、拡張型汎用パケット無線サービス（enhanced general packet radio service、ＥＧＰＲＳ）携帯電話、メディアプレーヤ、ナビゲーション機器、ゲームコンソール、テレビ、遠隔制御装置、又はこれらのデータ処理機器のうちの任意の２つ以上の組み合わせ、あるいは任意の他の好適なデータ処理機器が挙げられる。ユーザ機器１０４に関する更なる詳細が、図２に示される例示的なユーザ機器１０４に関して提供される。
【００４６】
通信ネットワーク（単数又は複数）１１０の例としては、ローカルエリアネットワーク（ＬＡＮ）及び、例えば、インターネットのようなワイドエリアネットワーク（ＷＡＮ）が挙げられる。通信ネットワーク（単数又は複数）１１０は、イーサネット（登録商標）、ユニバーサルシリアルバス（Universal Serial Bus、ＵＳＢ）、ＦＩＲＥＷＩＲＥ（登録商標）、移動通信用のグローバルシステム（Global System for Mobile Communications、ＧＳＭ（登録商標））、拡張データＧＳＭ環境（Enhanced Data GSM Environment、ＥＤＧＥ）、符号分割多元接続（code division multiple access、ＣＤＭＡ）、時分割多元接続（time division multiple access、ＴＤＭＡ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｗｉ−Ｆｉ（登録商標）、ボイスオーバーインターネットプロトコル（voice over Internet Protocol、ＶｏＩＰ）、Ｗｉ−ＭＡＸ（登録商標）、又は任意の他の好適な通信プロトコル等の、様々な有線又は無線プロトコルを含む、任意の周知のネットワークプロトコルを用いて実施することができる。
【００４７】
サーバシステム１０８は、少なくとも１つのデータ処理装置、及び／又はコンピュータの分散型ネットワーク上に実装することができる。いくつかの実施態様では、サーバシステム１０８は、また、様々な仮想機器及び／又はサードパーティーサービスプロバイダ（例えば、サードパーティークラウドサービスプロバイダ）のサービスを利用して、サーバシステム１０８の基本的なコンピューティングリソース及び／又はインフラストラクチャリソースを提供する。
【００４８】
図１に示されるデジタルアシスタントシステムは、クライアント側部分（例えば、ＤＡクライアント１０２）及びサーバ側部分（例えば、ＤＡサーバ１０６）の両方を含むが、いくつかの実施態様では、デジタルアシスタントシステムはサーバ側部分（例えば、ＤＡサーバ１０６）のみを指す。いくつかの実施態様では、デジタルアシスタントの機能は、ユーザ機器上にインストールされるスタンドアロンのアプリケーションとして実装することができる。加えて、デジタルアシスタントのクライアント部分とサーバ部分との間の機能の分配は実施態様によって異なり得る。例えば、いくつかの実施態様では、ＤＡクライアント１０２は、ユーザ対応入力及び出力処理機能のみを提供し、デジタルアシスタントのすべての他の機能をＤＡサーバ１０６に委ねるシンクライアントである。例えば、いくつかの実施態様では、ＤＡクライアント１０２は、ＤＡサーバ１０６の１つ以上の機能を実行するか又は支援するように構成されている。
【００４９】
図２は、いくつかの実施態様に係る、ユーザ機器１０４のブロック図である。ユーザ機器１０４は、メモリインターフェース２０２、１つ以上のプロセッサ２０４、及び周辺インターフェース２０６を含む。ユーザ機器１０４内の様々な構成要素は、１つ以上の通信バス又は信号線によって連結されている。ユーザ機器１０４は、周辺インターフェース２０６に連結されている様々なセンサ、サブシステム、及び周辺機器を含む。センサ、サブシステム、及び周辺機器は情報を収集し、及び／又はユーザ機器１０４の様々な機能を促進する。
【００５０】
例えば、いくつかの実施態様では、動きセンサ２１０（例えば、加速度計）、光センサ２１２、ＧＰＳ受信機２１３、温度センサ、及び近接センサ２１４が、向き、光、及び近接センシングの機能を促進するために、周辺インターフェース２０６に結合されている。いくつかの実施態様では、生体センサ、気圧計等などの他のセンサ２１６が、関連する機能を促進するために、周辺インターフェース２０６に接続されている。
【００５１】
いくつかの実施態様では、ユーザ機器１０４は、周辺インターフェース２０６に連結されたカメラサブシステム２２０を含む。いくつかの実施態様では、カメラサブシステム２２０の光学センサ２２２が、写真の撮影及びビデオクリップの録画等のカメラ機能を促進する。いくつかの実施態様では、ユーザ機器１０４は、通信機能を提供する１つ以上の有線及び／又は無線通信サブシステム２２４を含む。通信サブシステム２２４は通常、様々な通信ポート、無線周波数受信機及び送信機、並びに／又は光（例えば、赤外線）受信機及び送信機を含む。いくつかの実施態様では、ユーザ機器１０４は、音声認識、音声応答、デジタル録音、及び電話機能などの、音声使用可能機能を促進するために、１つ以上のスピーカ２２８及び１つ以上のマイクロフォン２３０に連結されたオーディオサブシステム２２６を含む。いくつかの実施態様では、オーディオサブシステム２２６は、ボイストリガシステム４００に連結されている。いくつかの実施態様では、ボイストリガシステム４００及び／又はオーディオサブシステム２２６は、例えば、１つ以上のアナログデジタル変換器、デジタル信号プロセッサ（ＤＳＰ）、音検出器、メモリバッファ、コーデック、等を含む、音入力を受け取る及び／又は分析するための、（つまり、ハードウェア及び／又はソフトウェアを含む）低電力オーディオ回路及び／又はプログラムを含む。いくつかの実施態様では、低電力オーディオ回路は（単独又は、ユーザ機器１０４の他の構成要素に加えて）、音声ベースのデジタルアシスタント又は他のスピーチベースのサービスなどの、ユーザ機器１０４の１つ以上の態様に対する音声（又は音）トリガ機能を提供する。いくつかの実施態様では、低電力オーディオ回路は、プロセッサ（単数又は複数）２０４、Ｉ／Ｏサブシステム２４０、メモリ２５０、等などの、ユーザ機器１０４の他の構成要素が停止していても及び／又はスタンバイモードにあっても、ボイストリガ機能を提供する。このボイストリガシステム４００は、図４に関して更に詳細に説明されている。
【００５２】
いくつかの実施態様では、Ｉ／Ｏサブシステム２４０も周辺インターフェース２０６に連結されている。いくつかの実施態様では、ユーザ機器１０４はタッチスクリーン２４６を含み、Ｉ／Ｏサブシステム２４０は、タッチスクリーン２４６に連結されたタッチスクリーンコントローラ２４２を含む。ユーザ機器１０４がタッチスクリーン２４６及びタッチスクリーンコントローラ２４２を含む場合には、タッチスクリーン２４６及びタッチスクリーンコントローラ２４２は、通常、例えば、容量性、抵抗性、赤外線、表面超音波技術、近接センサアレイ、及び同様のもの等の複数のタッチ感知技術のいずれかを用いて、接触及び移動又はその中断を検出するように構成される。いくつかの実施態様では、ユーザ機器１０４は、タッチセンシティブ面を含まないディスプレイを含む。いくつかの実施態様では、ユーザ機器１０４は、分離したタッチセンシティブ面を含む。いくつかの実施態様では、ユーザ機器１０４はその他の入力コントローラ（単数又は複数）２４４を含む。ユーザ機器１０４がその他の入力コントローラ（単数又は複数）２４４を含む場合には、その他の入力コントローラ（単数又は複数）２４４は通常、１つ以上のボタン、ロッカスイッチ、サムホイール、赤外線ポート、ＵＳＢポート、及び／又はスタイラス等のポインタ機器等の、その他の入力／制御機器２４８に連結されている。
【００５３】
メモリインターフェース２０２は、メモリ２５０に連結される。いくつかの実施態様では、メモリ２５０は、高速ランダムアクセスメモリ及び／又は不揮発性メモリ（例えば、１つ以上の磁気ディスク記憶機器、１つ以上のフラッシュメモリ機器、１つ以上の光学記憶機器、及び／又は他の不揮発性ソリッドステート記憶機器）などの、永続的コンピュータ可読媒体を含む。いくつかの実施態様では、メモリ２５０は、オペレーティングシステム２５２、通信モジュール２５４、グラフィカルユーザインターフェースモジュール２５６、センサ処理モジュール２５８、電話モジュール２６０、及びアプリケーション２６２、並びにそれらのサブセット又はスーパーセットを記憶する。オペレーティングシステム２５２は、基本システムサービスを処理する命令、及びハードウェア依存タスクを実行する命令を含む。通信モジュール２５４は、１つ以上の追加機器、１つ以上のコンピュータ及び／又は１つ以上のサーバとの通信を促進する。グラフィカルユーザインターフェースモジュール２５６はグラフィックユーザインターフェース処理を促進する。センサ処理モジュール２５８は、センサ関連の処理及び機能（例えば、１つ以上のマイクロフォン２２８を用いて受け取った音声入力の処理）を促進する。電話モジュール２６０は電話関連のプロセス及び機能を促進する。アプリケーションモジュール２６２は、電子メッセージング、ウェブブラウジング、メディア処理、ナビゲーション、イメージング及び／又はその他のプロセス及び機能等のユーザアプリケーションの様々な機能を促進する。いくつかの実施態様では、ユーザ機器１０４は、それぞれ外部サービスプロバイダの少なくとも１つに関連した１つ以上のソフトウェアアプリケーション２７０−１及び２７０−２をメモリ２５０内に記憶する。
【００５４】
上述したように、いくつかの実施態様では、メモリ２５０はまた、デジタルアシスタントのクライアント側機能を提供するために、クライアント側のデジタルアシスタント命令（例えば、デジタルアシスタントクライアントモジュール２６４内の）、及び様々なユーザデータ２６６（例えば、ユーザ固有の語彙データ、嗜好データ、及び／又はユーザの電子アドレス帳若しくは連絡先リスト、ｔｏ−ｄｏリスト、買い物リストなどのその他のデータ）も記憶する。
【００５５】
いくつかの実施態様では、デジタルアシスタントクライアントモジュール２６４は、ユーザ機器１０４の様々なユーザインターフェース（例えば、Ｉ／Ｏサブシステム２４４）を通じて音声入力、テキスト入力、タッチ入力、及び／又はジェスチャ入力を受け入れることができる。デジタルアシスタントクライアントモジュール２６４はまた、オーディオ、視覚、及び／又は触覚形態の出力を提供することもできる。例えば、出力は、音声、音響、警報、テキストメッセージ、メニュー、グラフィック、ビデオ、アニメーション、振動、及び／又は上記のもののうちの２つ以上の組み合わせとして提供することができる。動作時、デジタルアシスタントクライアントモジュール２６４は、通信サブシステム２２４を用いて、デジタルアシスタントサーバ（例えば、デジタルアシスタントサーバ１０６、図１）と通信する。
【００５６】
いくつかの実施態様では、デジタルアシスタントクライアントモジュール２６４は、ユーザ入力に関連付けられるコンテクストを確立するために、様々なセンサ、サブシステム及び周辺機器を利用してユーザ機器１０４の周囲環境から追加情報を収集する。いくつかの実施態様では、デジタルアシスタントクライアントモジュール２６４は、ユーザの意図の推定を助けるために、ユーザ入力とともにコンテクスト情報又はそのサブセットをデジタルアシスタントサーバ（例えば、デジタルアシスタントサーバ１０６、図１）に提供する。
【００５７】
いくつかの実施態様では、ユーザ入力に伴い得るコンテクスト情報は、センサ情報、例えば、周囲環境の照明、周囲雑音、周囲温度、画像又は映像などを含む。いくつかの実施態様では、コンテクスト情報は、また、機器の物理状態、例えば、機器の向き、機器の場所、機器温度、電力レベル、速度、加速度、運動パターン、セルラー信号強度などを含む。いくつかの実施態様では、ユーザ機器１０６のソフトウェア状態に関係する情報、例えば、ユーザ機器１０４の稼動中のプロセス、インストール済みのプログラム、過去と現在のネットワーク活動、バックグラウンドサービス、エラーログ、リソース使用量なども、ユーザ入力に関連したコンテクスト情報として、デジタルアシスタントサーバ（例えば、デジタルアシスタントサーバ１０６、図１）に提供される。
【００５８】
いくつかの実施態様では、ＤＡクライアントモジュール２６４は、デジタルアシスタントサーバからの要求に応じて、ユーザ機器１０４上に記憶されている情報（例えば、ユーザデータ２６６の少なくとも一部）を選択的に提供する。いくつかの実施態様では、デジタルアシスタントクライアントモジュール２６４はまた、デジタルアシスタントサーバ１０６（図１）による要求に応じて、自然言語ダイアログ又はその他のユーザインターフェースを介して、ユーザから追加入力も引き出す。デジタルアシスタントクライアントモジュール２６４は、ユーザ要求に表されるユーザ意図の推定及び／又はユーザ意図の達成に向けて、デジタルアシスタントサーバ１０６を支援するために、追加入力をデジタルアシスタントサーバ１０６に渡す。
【００５９】
いくつかの実施態様では、メモリ２５０は追加の命令又はより少数の命令を含んでもよい。更に、ユーザ機器１０４の様々な機能は、１つ以上の信号処理及び／又は特定用途向け集積回路の形態を含む、ハードウェアの形態及び／又はファームウェアの形態で実装されてもよく、それゆえ、ユーザ機器１０４は、図２に示されているすべてのモジュール及びアプリケーションを含む必要はない。
【００６０】
図３Ａは、いくつかの実施態様に係る、例示的なデジタルアシスタントシステム３００（デジタルアシスタントとも呼ばれる）のブロック図である。いくつかの実施態様では、デジタルアシスタントシステム３００はスタンドアロンのコンピュータシステム上に実装される。いくつかの実施態様では、デジタルアシスタントシステム３００は複数のコンピュータにわたって分散される。いくつかの実施態様では、デジタルアシスタントのモジュール及び機能のいくつかはサーバ部分及びクライアント部分に分割される。クライアント部分はユーザ機器（例えば、ユーザ機器１０４）上に常駐し、例えば、図１に示されているように、１つ以上のネットワークを通じてサーバ部分（例えば、サーバシステム１０８）と通信する。いくつかの実施態様では、デジタルアシスタントシステム３００は、図１に示されるサーバシステム１０８（及び／又はデジタルアシスタントサーバ１０６）の一実施形態である。いくつかの実施態様では、デジタルアシスタントシステム３００はユーザ機器（例えば、ユーザ機器１０４、図１）内に実装され、それにより、クライアント−サーバシステムの必要性を取り除いている。デジタルアシスタントシステム３００はデジタルアシスタントシステムの単なる一例にすぎず、デジタルアシスタントシステム３００は、図示されているよりも多数又は少数の構成要素を有してもよく、２つ以上の構成要素を組み合わせてもよく、又は構成要素の異なる構成又は配置を有してもよいことに留意されたい。図３Ａに示される様々な構成要素は、１つ以上の信号処理及び／若しくは特定用途向け集積回路を含む、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせの形態で実装されてもよい。
【００６１】
デジタルアシスタントシステム３００は、メモリ３０２、１つ以上のプロセッサ３０４、入力／出力（Ｉ／Ｏ）インターフェース３０６、及びネットワーク通信インターフェース３０８を含む。これらの構成要素は１本以上の通信バス又は信号線３１０を通じて互いに通信する。
【００６２】
いくつかの実施態様では、メモリ３０２は、高速ランダムアクセスメモリ及び／又は不揮発性コンピュータ可読記憶媒体（例えば、１つ以上の磁気ディスク記憶装置、１つ以上のフラッシュメモリ装置、１つ以上の光記憶装置、及び／又はその他の不揮発性固体メモリ装置）等の、永続的コンピュータ可読媒体を含む。
【００６３】
Ｉ／Ｏインターフェース３０６は、ディスプレイ、キーボード、タッチスクリーン、及びマイクロフォン等の、デジタルアシスタントシステム３００の入出力機器３１６をユーザインターフェースモジュール３２２に連結する。Ｉ／Ｏインターフェース３０６は、ユーザインターフェースモジュール３２２と協働して、ユーザ入力（例えば、音声入力、キーボード入力、タッチ入力等）を受け取り、それらを適宜処理する。いくつかの実施態様では、デジタルアシスタントがスタンドアロンのユーザ機器上に実装される場合には、デジタルアシスタントシステム３００は、図２におけるユーザ機器１０４に関して説明された構成要素並びにＩ／Ｏ及び通信インターフェースのいずれか（例えば、１つ以上のマイクロフォン２３０）を含む。いくつかの実施態様では、デジタルアシスタントシステム３００はデジタルアシスタント実装のサーバ部分を表し、ユーザ機器（例えば、図２に示されるユーザ機器１０４）上に常駐するクライアント側部分を通じてユーザと対話する。
【００６４】
いくつかの実施態様では、ネットワーク通信インターフェース３０８は、有線通信ポート（単数又は複数）３１２及び／又は無線送受信回路３１４を含む。有線通信ポート（単数又は複数）は、１つ以上の有線インターフェース、例えば、イーサネット、ユニバーサルシリアルバス（ＵＳＢ）、ＦＩＲＥＷＩＲＥ（登録商標）などを介して通信信号を受信及び送信する。無線回路３１４は、通常、通信ネットワーク及び他の通信機器を起点／終点として、ＲＦ信号及び／又は光信号を受信及び送信する。無線通信は、ＧＳＭ（登録商標）、ＥＤＧＥ、ＣＤＭＡ、ＴＤＭＡ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｗｉ−Ｆｉ（登録商標）、ＶｏＩＰ、Ｗｉ−ＭＡＸ（登録商標）、あるいは任意のその他の好適な通信プロトコル等の、複数の通信規格、プロトコル及び技術のいずれかを用いることができる。ネットワーク通信インターフェース３０８は、デジタルアシスタントシステム３００と、インターネット、イントラネット、等のネットワーク、及び／又はセルラー電話ネットワーク、無線ローカルエリアネットワーク（ＬＡＮ）、等の無線ネットワーク、及び／又はメトロポリタンエリアネットワーク（metropolitan area network、ＭＡＮ）、及び他の機器、との間の通信を可能にする。
【００６５】
いくつかの実施態様では、メモリ３０２の永続的コンピュータ可読記憶媒体は、オペレーティングシステム３１８、通信モジュール３２０、ユーザインターフェースモジュール３２２、１つ以上のアプリケーション３２４、及びデジタルアシスタントモジュール３２６のすべて又はサブセットを含む、プログラム、モジュール、命令、及びデータ構造を記憶する。１つ以上のプロセッサ３０４はこれらのプログラム、モジュール、命令を実行し、データ構造から／へと読み出し／書き込みを実行する。
【００６６】
オペレーティングシステム３１８（例えば、Ｄａｒｗｉｎ（登録商標）、ＲＴＸＣ（登録商標）、ＬＩＮＵＸ（登録商標）、ＵＮＩＸ（登録商標）、ＯＳ  Ｘ（登録商標）、ｉＯＳ（登録商標）、ウィンドウズ（登録商標）、又はＶｘＷｏｒｋｓ等の組み込みオペレーティングシステム）は、一般システムタスク（例えば、メモリ管理、記憶装置制御、電力管理等）を制御及び管理するための様々なソフトウェア構成要素及び／又はドライバを含み、様々なハードウェア、ファームウェア、及びソフトウェア構成要素の間の通信を促進する。
【００６７】
通信モジュール３２０は、ネットワーク通信インターフェース３０８を通じたデジタルアシスタントシステム３００とその他の機器との間の通信を促進する。例えば、通信モジュール３２０は、図２に示される機器１０４の通信モジュール２５４と通信することができる。通信モジュール３２０はまた、無線回路３１４及び／又は有線通信ポート３１２によって受信されたデータを処理するための様々なソフトウェア構成要素も含む。
【００６８】
いくつかの実施態様では、ユーザインターフェースモジュール３２２はＩ／Ｏインターフェース３０６を介して（例えば、キーボード、タッチスクリーン、及び／又はマイクロフォンから）ユーザからのコマンド及び／又は入力を受け取り、ディスプレイ上にユーザインターフェースオブジェクトを提供する。
【００６９】
アプリケーション３２４は、１つ以上のプロセッサ３０４によって実行されるように構成されたプログラム及び／又はモジュールを含む。例えば、デジタルアシスタントシステムがスタンドアロンのユーザ機器上に実装される場合には、アプリケーション３２４は、ゲーム、カレンダアプリケーション、ナビゲーションアプリケーション、又は電子メールアプリケーション等の、ユーザアプリケーションを含んでもよい。デジタルアシスタントシステム３００がサーバファーム上に実装される場合には、アプリケーション３２４は、例えば、資源管理アプリケーション、診断アプリケーション、又はスケジューリングアプリケーションを含んでもよい。
【００７０】
メモリ３０２はまた、デジタルアシスタントモジュール（即ちデジタルアシスタントのサーバ部分）３２６も記憶する。いくつかの実施態様では、デジタルアシスタントモジュール３２６は、以下のサブモジュール、又はそれらのサブセット若しくはスーパーセットを含む。即ち、入出力処理モジュール３２８、音声テキスト化（ＳＴＴ）処理モジュール３３０、自然言語処理モジュール３３２、ダイアログフロー処理モジュール３３４、タスクフロー処理モジュール３３６、サービス処理モジュール３３８、及び写真モジュール１３２、である。これら処理モジュールのそれぞれは、デジタルアシスタント３２６の以下のデータ及びモデルのうちの１つ以上、又はそれらのサブセット又はスーパーセットへのアクセスを有する。オントロジ３６０、語彙索引３４４、ユーザデータ３４８、分類モジュール３４９、曖昧性除去モジュール３５０、タスクフローモデル３５４、サービスモデル３５６、写真タグ化モジュール３５８、検索モジュール３６０、及びローカルタグ／写真ストレージ３６２。
【００７１】
いくつかの実施態様では、デジタルアシスタントモジュール３２６内に実装された処理モジュール（例えば、入出力処理モジュール３２８、ＳＴＴ処理モジュール３３０、自然言語処理モジュール３３２、ダイアログフロー処理モジュール３３４、タスクフロー処理モジュール３３６、及び／又はサービス処理モジュール３３８）、データ、及びモデルを使用して、デジタルアシスタントシステム３００は少なくとも以下のいくつかを行う。ユーザから受け取った、自然言語入力にて表されたユーザの意思を識別すること、ユーザの意思を完全に推測するために必要な情報（例えば、単語、名称、意思、等の曖昧性除去によって）を積極的に引き出し、取得すること、推測した意思を満たすためのタスクフローを判定すること、及び推測した意思を満たすためにタスクフローを実行すること。いくつかの実施態様では、デジタルアシスタントはまた、様々な理由で満足のいく応答がユーザに提供されなかったか、又は提供できなかった場合に、適切なアクションを取る。
【００７２】
いくつかの実施態様では、以下に説明するように、デジタルアシスタントシステム３００は、自然言語入力から、ユーザの意思を識別してデジタル写真をタグ付けし、デジタル写真を適切な情報とともにタグ付けするよう、自然言語入力を処理する。いくつかの実施態様では、デジタルアシスタントシステム３００は、自然言語入力を使用してのデジタル写真の検索、写真の自動タグ付け、等などの、写真に関連する他のタスクをも行う。図３Ｂに示すように、いくつかの実施態様では、Ｉ／Ｏ処理モジュール３２８は、図３ＡのＩ／Ｏ機器３１６を通してユーザと双方向作用するか、又は図３Ａのネットワーク通信インターフェース３０８を通してユーザ機器（例えば、図１のユーザ機器１０４）と双方向作用し、ユーザ入力（例えば、スピーチ入力）を取得し、及び、ユーザ入力に対する応答を提供する。Ｉ／Ｏ処理モジュール３２８は、ユーザ入力の受け取りとともに、又はその受け取り直後に、ユーザ入力に関連付けられたコンテクスト情報をユーザ機器から任意に獲得する。コンテクスト情報は、ユーザ入力に関連するユーザ固有のデータ、語彙、及び／又は嗜好を含む。いくつかの実施態様では、コンテクスト情報はまた、ユーザ要求を受け取る時点における機器（例えば、図１におけるユーザ機器１０４）のソフトウェア及びハードウェア状態、及び／又はユーザ要求を受け取った時点におけるユーザの周囲環境に関する情報も含む。いくつかの実施態様では、Ｉ／Ｏ処理モジュール３２８はまた、ユーザ要求について、ユーザに追加質問を送り、ユーザから回答を受け取る。いくつかの実施態様では、ユーザ要求がＩ／Ｏ処理モジュール３２８によって受け取られ、ユーザ要求が音声入力を包含する場合には、Ｉ／Ｏ処理モジュール３２８は、音声テキスト化変換のために、音声入力を音声テキスト化（ＳＴＴ）処理モジュール３３０へ転送する。
【００７３】
いくつかの実施態様では、音声テキスト化処理モジュール３３０は、Ｉ／Ｏ処理モジュール３２８を通じて音声入力（例えば、音声記録にキャプチャされたユーザの発言）を受け取る。いくつかの実施態様では、音声テキスト化処理モジュール３３０は、音声入力を、音素の列、最終的には、１つ以上の言語で書かれた単語又はトークンの列として認識するために、様々な音響及び言語モデルを用いる。音声テキスト化処理モジュール３３０は、隠れマルコフモデル、動的タイムワーピング（ＤＴＷ）ベースの音声認識、並びにその他の統計的及び／又は解析的技法等の、任意の好適な音声認識技法、音響モデル、及び言語モデルを用いて実装される。いくつかの実施態様では、音声テキスト化処理は、サードパーティーサービスによって、又はユーザの機器上で少なくとも部分的に実行され得る。音声テキスト化処理モジュール３３０が音声テキスト化処理の結果（例えば、単語又はトークンの列）を獲得すると、意図推定のために、その結果を自然言語処理モジュール３３２へ渡す。デジタルアシスタント３２６の自然言語処理モジュール３３２（「自然言語プロセッサ」）は、音声テキスト化処理モジュール３３０によって生成された単語又はトークンの列（「トークン列」）を獲得し、トークン列を、デジタルアシスタントによって認識される１つ以上の「実施可能な意図」に関連付けようと試みる。本明細書で使用する場合、「実施可能な意図」は、デジタルアシスタント３２６及び／又はデジタルアシスタントシステム３００（図３Ａ）によって実行することができ、タスクフローモデル３５４内に実装される、関連付けられたタスクフローを有するタスクを表す。関連付けられたタスクフローは、タスクを実行するためにデジタルアシスタントシステム３００が取る一連のプログラムされたアクション及びステップである。デジタルアシスタントシステムの能力の範囲は、タスクフローモデル３５４内に実施され、記憶されているタスクフローの数及び種類に依存し、又は、換言すれば、デジタルアシスタントシステム３００が認識する「実施可能な意図」の数及び種類に依存する。ただし、デジタルアシスタントシステム３００の有効性はまた、自然言語で表現されたユーザ要求から正確な「実施可能な意図（単数又は複数）」を推測するデジタルアシスタントシステムの能力にも依存する。
【００７４】
いくつかの実施態様では、音声テキスト化処理モジュール３３０から獲得される単語又はトークンの列に加えて、自然言語プロセッサ３３２はまた、ユーザ要求に関連付けられたコンテクスト情報も受け取る（例えば、Ｉ／Ｏ処理モジュール３２８から）。自然言語プロセッサ３３２は、音声テキスト化処理モジュール３３０から受信したトークン列内に包含されている情報を明らかにし、補完し、及び／又は更に明確にするために、コンテクスト情報を任意に用いる。コンテクスト情報は、例えば、ユーザの嗜好、ユーザ機器のハードウェア及び／又はソフトウェアの状態、ユーザ要求の前、最中、又は直後に集められたセンサ情報、デジタルアシスタントとユーザとの間の以前の対話（例えば、ダイアログ）、及び同様のものを含む。
【００７５】
いくつかの実施態様では、自然言語処理はオントロジ３６０に基づく。オントロジ３６０は、複数のノードを包含する階層構造であり、各ノードは、「複数の実施可能な意図群」又はその他の「複数の属性」のうちの１つ以上に関連する「実施可能な意図」又は「属性」のいずれかを表す。上述したように、「実施可能な意図」は、デジタルアシスタントシステム３００が実行する能力を有するタスク（例えば、「実施可能」であるか又は実施の対象とすることができるタスク）を表す。「属性」は、実施可能な意図、又は別の属性の下位態様に関連付けられるパラメータを表す。オントロジ３６０内の実施可能な意図ノードと属性ノードとの間のリンクは、属性ノードによって表されるパラメータが、実施可能な意図ノードによって表されるタスクにどのように関連するのかを定義する。いくつかの実施態様では、オントロジ３６０は、実施可能な意図ノード及び属性ノードで構成される。オントロジ３６０内において、各々の実施可能な意図ノードは、１つ以上の属性ノードに直接、若しくは１つ以上の中間属性ノードを介してリンクされる。同様に、それぞれの属性ノードは、１つ以上の実施可能な意図ノードに直接、若しくは１つ以上の中間属性ノードを介してリンクされる。例えば、図３Ｃに示すオントロジ３６０は、実施可能な意図ノードである「レストラン予約」ノードを含む。属性ノードである「レストラン」、「日付／時間」（予約用）及び「関係者人数」が、「レストラン予約」ノード（即ち、実施可能な意図ノード）にそれぞれ直接に接続される。更に、属性ノードである「料理」、「価格帯」、「電話番号」及び「場所」は、属性ノード「レストラン」のサブノードであり、中間属性ノード「レストラン」を介して「レストラン予約」ノードにそれぞれ接続される。別の例について、図３Ｃに示すオントロジ３６０は、別の実施可能な意図ノードである「リマインダ設定」ノードも含む。属性ノード「日付／時間」（リマインダ設定用）及び「テーマ」（リマインダ用）は、「リマインダ設定」ノードにそれぞれ接続される。属性ノード「日付／時間」はレストラン予約をするタスク及びリマインダを設定するタスクの両方に関連していることから、属性ノード「日付／時間」はオントロジ３６０において「レストラン予約」ノード及び「リマインダ設定」ノードの両方に接続される。
【００７６】
実施可能な意図ノードは、その接続された概念ノードとともに、「ドメイン」として説明することができる。本説明では、各ドメインは、それぞれの実施可能な意図に関連付けられ、特定の実施可能な意図に関連付けられたノード群（及びそれらの間の関係）を指す。例えば、図３Ｃに示すオントロジ３６０には、レストラン予約ドメイン３６２の例及びオントロジ３６０内のリマインダドメイン３６４の例が含まれている。レストラン予約ドメインは、実施可能な意図ノードである「レストラン予約」、属性ノードである「レストラン」、「日付／時間」、及び「関係者人数」、並びに下位属性ノードである「料理」「価格帯」、「電話番号」及び「場所」を含む。リマインダドメイン３６４には、実施可能な意図ノードである「リマインダ設定」、及び属性ノードである「テーマ」及び「日付／時間」が含まれている。いくつかの実施態様では、オントロジ３６０は、多数のドメインから構成されている。各ドメインは、１つ以上の他のドメインと、１つ以上の属性ノードを共有することができる。例えば、「日付／時間」の属性ノードは、レストラン予約ドメイン３６２及びリマインダドメイン３６４に加えて、多くの他のドメイン（例えば、スケジューリングドメイン、旅行予約ドメイン、映画チケットドメインなど）に関連付けることができる。図３Ｃは、オントロジ３６０内に２つの例示的なドメインを示すが、オントロジ３６０は、「通話を開始する」、「道順を探す」、「会議を予定する」、「メッセージを送る」、及び「質問の答えを提供する」、「写真にタグを付ける」などの他のドメイン（即ち、実施可能な意図）を含んでもよい。例えば、「メッセージを送信する」のドメインは、「メッセージを送信する」の実施可能な意図ノードに関連付けられており、「受信者（単数又は複数）」、「メッセージタイプ」、及び「メッセージ本文」などの属性ノードを更に含むことができる。属性ノードの「受信者」は更に、例えば、「受信者名」と「メッセージアドレス」などの下位属性ノードによって定義してもよい。
【００７７】
いくつかの実施態様では、オントロジ３６０は、デジタルアシスタントが理解し、作用を及ぼすことができるすべてのドメイン（したがって実施可能な意図）を含む。いくつかの実施態様では、オントロジ３６０は、ドメイン若しくはノードを追加又は除去すること、又はオントロジ３６０内のノード間の関係を変更することなどによって、修正してもよい。
【００７８】
いくつかの実施態様では、複数の関連する実施可能な意図に関連付けられるノードは、オントロジ３６０内の「上位ドメイン」の下にクラスタ化されてもよい。例えば、「旅行」上位ドメインは、旅行に関連する属性ノード及び実施可能な意図ノードのクラスタを含んでもよい。旅行に関連する実施可能な意図ノードは、「航空券予約」、「ホテル予約」、「カーレンタル」、「道順を知る」、「見所を探す」などを含んでもよい。同じ上位ドメイン（例えば、「旅行」上位ドメイン）の下の実施可能な意図ノードは、多くの属性ノードを共有し得る。例えば、「航空券予約」、「ホテル予約」、「カーレンタル」、「道順を知る」、「見所を探す」についての実施可能な意図ノードは、属性ノードである「出発場所」、「目的地」、「出発日／時間」、「到着日／時間」、及び「関係者人数」のうちの１つ以上を共有する可能性がある。
【００７９】
いくつかの実施態様では、オントロジ３６０内の各ノードは、そのノードによって表される属性又は実施可能な意図に関連する単語及び／又はフレーズのセットに関連付けられる。各ノードに関連付けられる単語及び／又はフレーズのそれぞれのセットは、そのノードに関連付けられるいわゆる「語彙」である。各ノードに関連付けられる単語及び／又はフレーズのそれぞれのセットは、そのノードによって表される属性又は実施可能な意図に関連して、語彙索引３４４（図３Ｂ）内に記憶することができる。例えば、図３Ｂに戻ると、「レストラン」の属性についてのノードに関連付けられる語彙は、「食べ物」、「飲み物」、「料理」、「空腹」、「食べる」、「ピザ」、「ファーストフード」、「食事」などの単語を含んでもよい。別の例として、「通話を開始する（initiate a phone call）」という実施可能な意図のノードに関連付けられる語彙は、「電話する（call）」、「電話（phone）」、「ダイアルする（dial）」、「電話をかける（ring）」、「この番号に電話する（call this number）」、「〜に電話をかける（make a call to）」などの単語及びフレーズを含んでもよい。語彙索引３４４は異なる言語の単語及びフレーズを任意に含む。いくつかの実施態様では、図３Ｂに示す自然言語プロセッサ３３２は、音声テキスト化処理モジュール３３０からトークン列（例えば、テキスト文字列）を受信し、どのノードがトークン列内の単語によって暗示されているのかを判断する。いくつかの実施態様では、トークン列内の単語又はフレーズが（語彙索引３４４を介して）オントロジ３６０内の１つ以上のノードに関連付けられることが分かれば、その単語又はフレーズは、それらのノードを「トリガ」又は「アクティブにする」ことになる。複数のノードが「トリガされる」場合には、アクティブにされたノードの量及び／又は相対的重要度に基づき、自然言語プロセッサ３３２は、実施可能な意図のうちの１つをユーザがデジタルアシスタントに実行させようと意図したタスク（又はタスクの種類）として選択することになる。いくつかの実施態様では、最も多く「トリガされた」ノードを有するドメインが選択される。いくつかの実施態様では、最も高い信頼値を有するドメイン（例えば、その様々なトリガされたノードの相対的重要度に基づく）が選択される。いくつかの実施態様では、ドメインは、トリガされたノードの数及び重要度の組み合わせに基づき選択される。いくつかの実施態様では、ノードを選択する際には、デジタルアシスタントシステム３００がユーザからの同様の要求を以前に正確に解釈したかどうか等の追加の因子も考慮される。
【００８０】
いくつかの実施態様では、デジタルアシスタントシステム３００はまた、特定のエンティティの名前も語彙索引３４４内に記憶する。そのため、これらの名前の１つがユーザ要求内に検出されると、自然言語プロセッサ３３２は、その名前はオントロジ内の属性又は下位属性の特定のインスタンスを指していると認識できることになる。いくつかの実施態様では、特定のエンティティの名前は、企業、レストラン、人、映画、及び同様のものの名前である。いくつかの実施態様では、デジタルアシスタントシステム３００は、ユーザのアドレス帳、連絡先リスト、映画データベース、ミュージシャンデータベース、及び／又はレストランデータベース等の、他のデータ源から特定のエンティティ名を検索し、これらを識別することができる。いくつかの実施態様では、自然言語プロセッサ３３２が、トークン列内のある単語が特定のエンティティの名前（ユーザのアドレス帳内又は連絡先リスト内の名前等）であると識別すると、その単語は、ユーザ要求に対するオントロジ内の実施可能な意図を選択する際に追加的な重要性を与えられる。例えば、ユーザ要求から単語「Ｍｒ．Ｓａｎｔｏ」が認識され、語彙索引３４４内にユーザの連絡先リスト内の連絡先の１つとして姓「Ｓａｎｔｏ」が見つかった場合、その時は、ユーザ要求は、「メッセージを送信する」又は「通話を開始する」ドメインに対応する可能性が高い。別の例としては、単語「ＡＢＣ  Ｃａｆｅ」がユーザ要求内に見つかり、語彙索引３４４内にユーザの市内の特定のレストランの名前としてターム「ＡＢＣ  Ｃａｆｅ」が見つかった場合、その時は、ユーザ要求は「レストラン予約」ドメインに対応する可能性が高い。
【００８１】
ユーザデータ３４８は、ユーザ固有の語彙、ユーザの嗜好、ユーザアドレス、ユーザの既定言語及び第２言語、ユーザの連絡先リスト、並びに各ユーザに関するその他の短期的又は長期的情報等の、ユーザ固有の情報を含む。自然言語プロセッサ３３２は、ユーザ入力内に包含されている情報を補完してユーザ意図を更に明確にするために、ユーザ固有の情報を用いることができる。例えば、ユーザ要求「私の誕生日パーティーに私の友人を招待してほしい」に対して、自然言語プロセッサ３３２は、誰が「友人」であり、いつ及びどこで「誕生日パーティー」が催されるのかを判断するために、ユーザの要求内のこうした情報を明示的に提供するようにユーザに要求する代わりに、ユーザデータ３４８にアクセスすることができる。
【００８２】
いくつかの実施態様では、自然言語プロセッサ３３２は、分類モジュール３４９を含む。いくつかの実施態様では、分類モジュール３４９は、テキスト文字列（例えば、デジタル写真に関連付けられた音声入力に対応する）内の１つ以上のタームのそれぞれが、以下でより詳細に説明するような、エンティティ、動作、又は場所のいずれかであるか否かを判定する。いくつかの実施態様では、分類モジュール３４９は、１つ以上のタームの各タームを、エンティティ、動作、又は場所の１つであるとして分類する。自然言語プロセッサ３３２がユーザ要求に基づき、実施可能な意図（又はドメイン）を識別すると、自然言語プロセッサ３３２は、識別された実施可能な意図を表すように、構造化されたクエリを生成する。いくつかの実施態様では、構造化されたクエリは、実施可能な意図に関するドメイン内の１つ以上のノードのためのパラメータを含み、パラメータの少なくともいくつかにはユーザ要求内で指定された特定の情報及び要求事項が追加される。例えば、ユーザは「私のために７時に寿司屋で夕食の予約を取ってください」と言う場合がある。この場合には、自然言語プロセッサ３３２は、ユーザ入力に基づき、実施可能な意図を「レストラン予約」であると正確に特定することができてもよい。オントロジによれば、「レストラン予約」ドメインのための構造化されたクエリは、｛料理｝、｛時間｝、｛日付｝、｛関係者人数｝、及び同様のもの等のパラメータを含み得る。ユーザの発言内に包含されている情報に基づき、自然言語プロセッサ３３２はレストラン予約ドメインのための部分的な構造化されたクエリを生成してもよい。ここでは、部分的な構造化されたクエリは、パラメータ｛料理＝「寿司」｝及び｛時間＝「午後７時」｝を含む。しかし、本例では、ユーザの発言は、ドメインに関連付けられる構造化されたクエリを完成するために十分な情報を包含していない。したがって、｛関係者人数｝及び｛日付｝等のその他の必要パラメータは、現在利用可能な情報に基づいては、構造化されたクエリ内に指定されない。いくつかの実施態様では、自然言語プロセッサ３３２は、構造化されたクエリのいくつかのパラメータに、受信したコンテクスト情報を追加する。例えば、ユーザが「私の近くの」寿司レストランを要求した場合には、自然言語プロセッサ３３２は、構造化されたクエリ内の｛場所｝パラメータにユーザ機器１０４からＧＰＳ座標を追加してもよい。
【００８３】
いくつかの実施態様では、自然言語プロセッサ３３２は、構造化されたクエリ（任意の完成したパラメータを含む）をタスクフロー処理モジュール３３６（「タスクフロープロセッサ」）に渡す。タスクフロープロセッサ３３６は、自然言語プロセッサ３３２から、構造化されたクエリを受信すること、構造化されたクエリを完成させること、及びユーザの最終的な要求を「完了する」ために必要とされるアクションを実行すること、のうちの１つ以上を実行するように構成されている。いくつかの実施態様では、これらのタスクを完了させるために必要な様々な手順がタスクフローモデル３５４内で提供される。いくつかの実施態様では、タスクフローモデル３５４は、ユーザから追加情報を入手するための手順、及び実施可能な意図に関連付けられるアクションを実行するためのタスクフローを含んでいる。上述したように、構造化されたクエリを完成させるために、タスクフロープロセッサ３３６は、追加情報を入手し、及び／又は潜在的に曖昧な発言の曖昧さを除去するために、ユーザとの追加のダイアログを開始することが必要になる場合がある。このような対話が必要となる場合には、タスクフロープロセッサ３３６は、ユーザとの対話に携わるためにダイアログ処理モジュール３３４（ダイアログプロセッサ）を呼び出す。いくつかの実施態様では、ダイアログ処理モジュール３３４は、どのように（及び／又はいつ）ユーザに追加情報を求めるべきかを決定し、ユーザ応答を受け取り、これらを処理する。いくつかの実施態様では、Ｉ／Ｏ処理モジュール３２８を通じてユーザに質問を提供し、ユーザから回答を受け取る。例えば、ダイアログ処理モジュール３３４はオーディオ及び／又は視覚出力を介してユーザにダイアログ出力を提示し、口頭の又は物理的な（例えば、タッチジェスチャ）応答を介してユーザから入力を受け取る。上述の例を続けると、タスクフロープロセッサ３３６が、ドメイン「レストラン予約」に関連付けられる構造化されたクエリについての「関係者人数」及び「日付」情報を決定するためにダイアログプロセッサ３３４を呼び出すと、ダイアログプロセッサ３３４は、「何人分ですか？」及び「どの日にしますか？」等の質問を、ユーザに渡すために生成する。ユーザから回答を受け取ると、ダイアログ処理モジュール３３４は、構造化されたクエリに欠けている情報を追加するか、又は構造化されたクエリから欠けている情報を完成させるために、その情報をタスクフロープロセッサ３３６に渡す。
【００８４】
場合によっては、タスクフロープロセッサ３３６は、１つ以上の曖昧な属性を有する構造化されたクエリを受信することがある。例えば、「メッセージを送信する」ドメインのための構造化されたクエリは、意図された受信者は「Ｂｏｂ」であることを指示する場合があり、ユーザは、「Ｂｏｂ」という名前の連絡先を複数有する場合がある。タスクフロープロセッサ３３６は、ダイアログプロセッサ３３４が、構造化されたクエリのこの属性の曖昧さを除去するように要求することになる。その結果として、ダイアログプロセッサ３３４は「どのＢｏｂですか？」とユーザに尋ね、ユーザが選び得る「Ｂｏｂ」という名前の連絡先のリストを表示してもよい（又は読み上げてもよい）。
【００８５】
いくつかの実施態様では、ダイアログプロセッサ３３４は、曖昧性除去モジュール３５０を含む。いくつかの実施態様では、曖昧性除去モジュール３５０は、１つ以上の曖昧なターム（例えば、デジタル写真に関連付けられた音声入力に対応するテキスト文字列の１つ以上の曖昧なターム）の曖昧性を除去する。いくつかの実施態様では、曖昧性除去モジュール３５０は、１つ以上のタームの第１のタームは、複数の候補となる意味を有しており、第１のタームについてユーザにプロンプトで追加情報を求め、ユーザからプロンプトに対応する追加情報を受け取って、その追加情報に応じて、第１のタームに関連付けられるエンティティ、動作、場所を識別する。
【００８６】
いくつかの実施態様では、曖昧性除去モジュール３５０は、代名詞の曖昧性を除去する。このような実施態様では、曖昧性除去モジュール３５０は、１つ以上のタームの１つを代名詞として識別し、その代名詞が指す名詞を決定する。いくつかの実施態様では、曖昧性除去モジュール３５０は、電子機器のユーザに関連付けられた連絡先リストを使用して、代名詞が指す名詞を決定する。あるいは、又は更に、曖昧性除去モジュール３５０は、以前にタグ付けされたデジタル写真に関連付けられた従前の音声入力で識別されたエンティティ、動作、又は場所の名前として、その代名詞が指す名詞を決定する。あるいは、又は更に、曖昧性除去モジュール３５０は、以前にタグ付けされたデジタル写真に関連付けられた従前の音声入力に基づいて識別された人の名前として、その代名詞が指す名詞を決定する。いくつかの実施態様では、曖昧性除去モジュール３５０は、タームのうちの１つ以上の意味を決定するために、ハンドヘルド電子機器（例えば、ユーザ機器１０４）の１つ以上のセンサ（例えば、近接センサ２１４、光センサ２１２、ＧＰＳ受信機２１３、温度センサ２１５、動きセンサ２１０）から得られた情報にアクセスする。いくつかの実施態様では、曖昧性除去モジュール３５０は、エンティティ、動作、又は場所のいずれかにそれぞれ関連付けられた２つのタームを識別する。例えば、２つのタームのうち第１のタームは人を指し、２つのタームのうちの第２のタームは場所を指す。いくつかの実施態様では、曖昧性除去モジュール３５０は、エンティティ、動作、又は場所のいずれかにそれぞれ関連付けられた３つのタームを識別する。
【００８７】
タスクフロープロセッサ３３６が、実施可能な意図のための構造化されたクエリを完成すると、タスクフロープロセッサ３３６は、実施可能な意図に関連付けられる最終的なタスクの実行に進む。それに応じて、タスクフロープロセッサ３３６は、構造化されたクエリ内に包含されている具体的なパラメータに応じて、タスクフローモデル内のステップ及び命令を実行する。例えば、「レストラン予約」の実施可能な意図のためのタスクフローモデルは、レストランと連絡を取り、特定の時間に特定の関係者人数のための予約を実際に希望するためのステップ及び命令を含み得る。例えば、｛レストラン予約，レストラン＝ＡＢＣ  Ｃａｆｅ，日付＝３／１２／２０１２，時間＝午後７時，関係者人数＝５｝などの構造化されたクエリを使用して、タスクフロープロセッサ３３６は、（１）ＡＢＣ  Ｃａｆｅのサーバ又はＡＢＣ  Ｃａｆｅなどの複数のレストランへの予約を受け付けるよう構成されたレストラン予約システムへログインするステップと、（２）ウェブサイト上のフォームに日付、時間、及び関係者人数情報を入力するステップと、（３）フォームを提出するステップと、（４）ユーザのカレンダに予約をカレンダエントリするステップと、を行ってもよい。別の例では、以下でより詳細に説明するが、タスクフロープロセッサ３３６は、例えば、写真モジュール１３２と連携して、音声入力に応じて、デジタル写真のタグ付け又は検索に関連するステップ及び命令を実行する。いくつかの実施態様では、タスクフロープロセッサ３３６は、ユーザ入力で要求されたタスクを完了するため、又はユーザ入力で要求された情報の回答を提供するために、サービス処理モジュール３３８（「サービスプロセッサ」）の支援を用いる。例えば、サービスプロセッサ３３８は、タスクフロープロセッサ３３６の代わりに、電話をかけたり、カレンダ項目を設定したり、地図検索を呼び出したり、ユーザ機器上にインストールされているその他のユーザアプリケーションを呼び出すか又はそれと双方向作用したり、及びサードパーティーサービス（例えば、レストラン予約ポータル、ソーシャルネットワークのウェブサイト又はサービス、バンキングポータル等）を呼び出すか又はそれと双方向作用したりするアクションを行うことができる。いくつかの実施態様では、各サービスによって必要とされるプロトコル及びアプリケーションプログラミングインターフェース（Application Programming Interface、ＡＰＩ）は、サービスモデル３５６の中のそれぞれのサービスモデルによって指定され得る。サービスプロセッサ３３８は、サービスのための適当なサービスモデルにアクセスし、サービスモデルに係るサービスによって必要とされるプロトコル及びＡＰＩにしたがってサービスの要求を生成する。
【００８８】
例えば、レストランがオンライン予約サービスを可能にしている場合には、レストランは、予約を行うために必要なパラメータ、及び必要なパラメータの値をオンライン予約サービスへ連絡するためのＡＰＩを指定するサービスモデルを提示することができる。タスクフロープロセッサ３３６によって要求されると、サービスプロセッサ３３８は、サービスモデル３５６に記憶されているウェブアドレスを用いて、オンライン予約サービスとのネットワーク接続を確立し、必要な予約のパラメータ（例えば、時間、日付、関係者人数）を、オンライン予約サービスのＡＰＩに従う形式でオンライン予約インターフェースへ送信することができる。
【００８９】
いくつかの実施態様では、ユーザの意図を推定して明確にし、ユーザの意図を更に明らかにして絞り込むための情報を入手し、ユーザの意図を達成する応答を最終的に生成する（例えば、ユーザに出力を提供するか、又はタスクを完了する）ために、自然言語プロセッサ３３２、ダイアログプロセッサ３３４、及びタスクフロープロセッサ３３６は共同でかつ反復的に用いられる。
【００９０】
いくつかの実施態様では、ユーザの要求を実現するために必要なタスクがすべて実行された後に、デジタルアシスタント３２６は確認応答を策定し、Ｉ／Ｏ処理モジュール３２８を通じてユーザへ応答を送り返す。ユーザ要求が情報の回答を求めている場合には、確認応答は、要求されている情報をユーザに提示する。いくつかの実施態様では、デジタルアシスタントはまた、デジタルアシスタント３２６によって作成された応答にユーザは満足であるかどうかを指示するようにユーザに要求する。
【００９１】
ここで、いくつかの実施態様に係る、ボイストリガシステム４００の構成要素を示すブロック図である図４に注目する。（ボイストリガシステム４００は音声に限定されておらず、本明細書に説明する実施態様は等しく非声音に適用する。）ボイストリガシステム４００は、電子機器１０４内に、様々な構成要素、モジュール、及び／又はソフトウェアプログラムにて構成されている。いくつかの実施態様では、ボイストリガシステム４００は、ノイズ検出器４０２、音種類検出器４０４、トリガ音検出器４０６、スピーチベースのサービス４０８、及びオーディオサブシステム２２６を含み、それぞれはオーディオバス４０１に連結されている。いくつかの実施態様では、これらより多い又は少ないモジュールが使用されている。音検出器４０２、４０４、及び４０６はモジュールと呼んでもよく、本明細書に説明する機能を実行するための、ハードウェア（例えば、回路、メモリ、プロセッサ、等）、ソフトウェア（例えば、プログラム、チップ上のソフトウェア、ファームウェア、等）、及び／又はいずれのそれらの組み合わせを含んでもよい。いくつかの実施態様では、図４に破線で示すように、音検出器は、互いに通信可能に、プログラムにて、物理的に、及び／又は操作可能に、（例えば、通信バス経由で）連結されている。（説明を簡易にするため、図４は、隣接する音検出器にのみ連結されているそれぞれの音検出器を示す。それぞれの音検出器は、同様に他の音検出器のいずれかに連結され得ることが理解されるであろう。）
【００９２】
いくつかの実施態様では、オーディオサブシステム２２６は、コーデック４１０、オーディオデジタル信号プロセッサ（ＤＳＰ）４１２、及びメモリバッファ４１４を含む。いくつかの実施態様では、このオーディオサブシステム２２６は、１つ以上のマイクロフォン２３０（図２）及び、１つ以上のスピーカ２２８（図２）に連結されている。オーディオサブシステム２２６は、処理及び／又は分析のために、音入力を、音検出器４０２、４０４、４０６及びスピーチベースのサービス４０８（同様に、電話及び／又は電話のベースバンドサブシステムなどの、他の構成要素又はモジュール）に提供する。いくつかの実施態様では、オーディオサブシステム２２６は、少なくとも１つのマイクロフォン４１８及び少なくとも１つのスピーカ４２０を含む外部オーディオシステム４１６に連結されている。
【００９３】
いくつかの実施態様では、スピーチベースのサービス４０８は音声ベースのデジタルアシスタントであり、図１〜図３Ｃに関連して上述のデジタルアシスタントシステムの１つ以上の構成要素又は機能に対応する。いくつかの実施態様では、スピーチベースのサービスは、音声テキスト化サービス、口述サービス、等であり、いくつかの実施態様では、ノイズ検出器４０２はオーディオチャネルを監視し、オーディオサブシステム２２６からの音入力が、振幅閾値などの所定の条件を満たすか判定する。オーディオチャネルは、１つ以上のマイクロフォン２３０などの、１つ以上の収音機器によって受信した音声情報のストリームに対応する（図２）。オーディオチャネルは、その処理状態に関わらずに音声情報を参照するか、又は音声情報を処理及び／又は送信している特定のハードウェアを参照する。例えば、オーディオチャネルは、マイクロフォン２３０からのアナログ電気インパルス（及び／又は、それらが伝播されている回路）、並びに、（例えば、オーディオサブシステム２２６及び／又は、電子機器１０４の任意の他のオーディオ処理システムによる）アナログ電気インパルスの処理の結果として、デジタル的にエンコードされたオーディオストリームを参照してもよい。
【００９４】
いくつかの実施態様では、所定の条件は、音入力が、所定の時間に特定の音量を超えるか否かである。いくつかの実施態様では、ノイズ検出器は、音入力の時間領域分析を使用し、（例えば、音種類検出器４０４、トリガ語検出器４０６、及び／又はスピーチベースのサービス４０８によって行われるような）他の種類の分析に比較して、これは相対的に少ない計算リソース及びバッテリリソースを必要とする。いくつかの実施態様では、例えば、周波数領域分析を含む、他の種類の信号処理及び／又は音声分析が使用される。音入力が所定の条件を満たすことをノイズ検出器４０２が判定すると、（例えば、１つ以上の処理ルーチンを開始するよう制御信号を提供することで、及び／又は上流の音検出器に電力を提供することで）音種類検出器４０４などの、上流の音検出器を起動する。いくつかの実施態様では、上流の音検出器は、他の満たされている条件に応じて起動されている。例えば、いくつかの実施態様では、上流の音検出器は、機器が閉鎖空間内に保管されていないことを判定することに応じて起動されている（例えば、光の閾値レベルを検出する光検出器に基づいて）。
【００９５】
音種類検出器４０４はオーディオチャネルを監視し、音入力が、人の声、口笛、拍手、等に独特の音などの特定の種類の音に対応するか判定する。音種類検出器４０４が認識するよう構成されている音の種類は、ボイストリガが認識するよう構成されている特定のトリガ音（単数又は複数）に対応する。トリガ音が話し言葉又はフレーズである実施態様では、音種類検出器４０４は、「音声活動検出器（voice activity detecter）」（ＶＡＤ）を含む。いくつかの実施態様では、音種類検出器４０４は、音入力の周波数領域分析を使用する。例えば、音種類検出器４０４は、（例えば、フーリエ変換を使用して）受け取った音入力のスペクトログラムを生成して、音入力のスペクトル構成要素を分析し、音入力が特定の音の種類又は分類（例えば、人の話し声）に対応すると思われるか判定する。したがって、トリガ音が話し言葉又はフレーズである実施態様では、オーディオチャネルが、人の話し声ではなく、背景音（例えば、トラフィックノイズ）を拾う場合は、ＶＡＤはトリガ音検出器４０６を起動しない。いくつかの実施態様では、音種類検出器４０４は、いずれの下流の音検出器（例えば、ノイズ検出器４０２）の所定の条件が満たされる限りは、有効に維持される。例えば、いくつかの実施態様では、音種類検出器４０４は、（ノイズ検出器４０２によって判定されるように）音入力が、所定の振幅閾値を上回る音を含む限りは、有効に維持され、音が所定の閾値を下回ると無効となる。いくつかの実施態様では、一度起動されると、音種類検出器４０４は、タイマの終了（例えば、１、２、５、又は１０秒、若しくは任意の他の適切な持続時間）、音種類検出器４０４の特定のオン／オフサイクル数の終了、又は事象の発生（例えば、ノイズ検出器４０２及び／又は音種類検出器４０４により判定されるように、音の振幅が第２の閾値を下回った）などの条件が満たされるまで、有効に維持される。
【００９６】
上述のように、音入力が所定の種類の音に対応することを音種類検出器４０４が判定すると、トリガ音検出器４０６などの、上流の音検出器を（例えば、１つ以上の処理ルーチンを開始するよう制御信号を提供することで、及び／又は上流の音検出器に電力を提供することで）起動する。
【００９７】
トリガ音検出器４０６は、音入力が特定の所定の内容の少なくとも一部（例えば、トリガ語、フレーズ、又は音の少なくとも一部）を含むか判定するよう構成されている。いくつかの実施態様では、トリガ音検出器４０６は、音入力のレプリゼンテーション（「入力レプリゼンテーション」）を、トリガ語の１つ以上のリファレンスレプリゼンテーションと比較する。入力レプリゼンテーションが、１つ以上のリファレンスレプリゼンテーションの少なくとも１つと、許容できる信頼値で一致する場合は、トリガ音検出器４０６は、スピーチベースのサービス４０８を（例えば、１つ以上の処理ルーチンを開始するよう制御信号を提供することで、及び／又は上流の音検出器に電力を提供することで）開始する。いくつかの実施態様では、入力レプリゼンテーション及び１つ以上のリファレンスレプリゼンテーションはスペクトログラム（又は、その数学的レプリゼンテーション）であり、これは信号のスペクトル密度が時間とともにどのように変化するかを表す。いくつかの実施態様では、レプリゼンテーションは、他の種類のオーディオシグネチャ又は声紋である。いくつかの実施態様では、スピーチベースのサービス４０８を開始することは、１つ以上の回路、プログラム、及び／又はプロセッサをスタンバイモードから退出させ、音ベースのサービスを呼び出すことを含む。音ベースのサービスは続いて、より包括的なスピーチ認識、音声テキスト化処理、及び／又は自然言語処理を提供する準備をする。いくつかの実施態様では、ボイストリガシステム４００は、音入力が、機器の所有者／ユーザなどの、特定の人の声に対応するか判定できるよう、音声認証機能を含む。例えば、いくつかの実施態様では、音種類検出器４０４は、声紋化技術を使用して、音入力が正規ユーザによって発言されたことを判定する。音声認証及び声紋化は、そのすべてにおいて参照により本明細書に組み込まれている、本願の譲受人に帰属する、米国特許出願第１３／０５３，１４４号に更に詳細に説明されている。いくつかの実施態様では、音声認証は、本明細書に説明される音検出器のいずれかに含まれている（例えば、ノイズ検出器４０２、音種類検出器４０４、トリガ音検出器４０６、及び／又はスピーチベースのサービス４０８）。いくつかの実施態様では、音声認証は、上記の音検出器とは別のモジュールとして実装されており（例えば、音声認証モジュール４２８として、図４）、ノイズ検出器４０２の後に、音種類検出器４０４の後に、トリガ音検出器４０６の後に、又は任意の他の適切な位置に操作可能に配置されてもよい。
【００９８】
いくつかの実施態様では、トリガ音検出器４０６は、いずれの下流の音検出器（単数又は複数）（例えば、ノイズ検出器４０２及び／又は音種類検出器４０４）の条件が満たされる限りは、有効に維持される。例えば、いくつかの実施態様では、トリガ音検出器４０６は、音入力が、（ノイズ検出器４０２により検出されるように）所定の閾値を上回る音を含む限りは、有効に維持される。いくつかの実施態様では、それは、音入力が、（音種類検出器４０４により検出されるように）特定の種類の音を含む限りは、有効に維持される。いくつかの実施態様では、それは、前述の条件の双方が満たされる限りは、有効に維持される。
【００９９】
いくつかの実施態様では、一度起動されると、トリガ音検出器４０６は、タイマの終了（例えば、１、２、５、又は１０秒、若しくはいずれの他の適切な持続時間）、トリガ音検出器４０６の特定のオン／オフサイクル数の終了、又は事象の発生（例えば、音の振幅が第２の閾値を下回った）などの条件が満たされるまで、有効に維持される。いくつかの実施態様では、１つの音検出器が別の検出器を起動すると、双方の音検出器が有効に維持される。しかし、音検出器は、何度も有効又は無効とされてよく、上流の音検出器を有効とするために、下流の（例えば、低電力及び／又は精巧化）音検出器のすべてを有効にする（又は、各条件が満たされる）必要はない。例えば、いくつかの実施態様では、ノイズ検出器４０２及び音種類検出器４０４が、それらの各条件が満たされていることを判定し、トリガ音検出器４０６が起動された後、ノイズ検出器４０２及び音種類検出器４０４の１つ又は双方は、トリガ音検出器４０６の作動中に無効となる、及び／又はスタンバイモードとなる。他の実施態様では、ノイズ検出器４０２及び音種類検出器４０４の双方（又は、１つ若しくは他方）は、トリガ音検出器４０６の作動中に有効に維持される。様々な実施態様では、異なる組み合わせの音検出器が、異なる時間に有効となり、１つが有効又は無効となるかは、他の音検出器の状態に依存してもよく、又は他の音検出器の状態とは独立としてもよい。
【０１００】
図４は３つの個別の音検出器を説明するが、それぞれは、異なる態様の音入力を検出するよう構成されており、ボイストリガの様々な実施態様では、これより多い、又は少ない音検出器が使用されている。例えば、いくつかの実施態様では、トリガ音検出器４０６のみが使用されている。いくつかの実施態様では、トリガ音検出器４０６は、ノイズ検出器４０２又は音種類検出器４０４のいずれかと併せて使用されている。いくつかの実施態様では、検出器４０２〜４０６のすべてが使用されている。いくつかの実施態様では、追加的な音検出器が同様に含まれている。
【０１０１】
そのうえ、異なる組み合わせの音検出器が、異なる時間に使用されてもよい。例えば、特定の組み合わせの音検出器及びそれらがどのように双方向作用するかは、コンテクスト又は機器の作動状態などの、１つ以上の条件に依存してもよい。１つの具体例として、機器が電源に接続されている（及び、したがってバッテリ電力のみに依存しない）場合は、トリガ音検出器４０６は、ノイズ検出器４０２及び音種類検出器４０４が無効に維持されている間に、有効である。別の一例では、機器がポケット又はバックパック内にある場合は、すべての音検出器が無効である。多くの電力を必要とする検出器が、低電力を必要とする検出器によって、必要時にのみ呼び出される、上述したような音検出器をカスケード接続することで、省電力のボイストリガ機能が提供され得る。上述したように、デューティサイクルに従って、音検出器のうちの１つ以上を動作させることで、更なる省電力が達成されている。例えば、いくつかの実施態様では、ノイズ検出器４０２は、ノイズ検出器が少なくとも一時的に無効となっていても、効率よく継続的なノイズ検出を行うよう、デューティサイクルに従って作動する。いくつかの実施態様では、ノイズ検出器４０２は、１０ミリ秒間オンとなり、９０ミリ秒間オフとなる。いくつかの実施態様では、ノイズ検出器４０２は、２０ミリ秒間オンとなり、５００ミリ秒間オフとなる。他のオン及びオフの各持続時間も可能である。
【０１０２】
いくつかの実施態様では、ノイズ検出器４０２が、その「オン」インターバル中にノイズを検出すると、ノイズ検出器４０２はオンに維持され、音入力を更に処理及び／又は分析する。例えば、ノイズ検出器４０２は、所定の時間（例えば、１００ミリ秒）に所定の振幅を上回る音を検出すると、上流の音検出器を起動するよう構成されてもよい。したがって、ノイズ検出器４０２が、その１０ミリ秒間の「オン」インターバル中に、所定の振幅を上回る音を検出すると、直ちに「オフ」インターバルには入らない。その代り、ノイズ検出器４０２は有効に維持され、音入力の処理を継続し、所定の全持続時間（例えば、１００ミリ秒）に、閾値を超えるかを判定する。
【０１０３】
いくつかの実施態様では、音種類検出器４０４は、デューティサイクルに従って作動する。いくつかの実施態様では、音種類検出器４０４は、２０ミリ秒間オンとなり、１００ミリ秒間オフとなる。他のオン及びオフの各持続時間も可能である。いくつかの実施態様では、音種類検出器４０４は、そのデューティサイクルの「オン」インターバル内に、音入力が所定の種類の音に対応するか判定することができる。したがって、音が特定の種類であることを音種類検出器４０４がその「オン」インターバル中に判定すると、音種類検出器４０４は、トリガ音検出器４０６（又は、任意の他の上流の音検出器）を起動する。あるいは、いくつかの実施態様では、音種類検出器４０４が、「オン」インターバル中に、所定の種類に対応できる音を検出すると、検出器は直ちに「オフ」インターバルには入らない。その代り、音種類検出器４０４は有効に維持され、音入力の処理を継続し、それが所定の種類の音に対応するか判定する。いくつかの実施態様では、所定の種類の音が検出されたことを音検出器が判定すると、トリガ音検出器４０６を起動し、音入力を更に処理し、トリガ音が検出されたか判定する。ノイズ検出器４０２及び音種類検出器４０４と同様に、いくつかの実施態様では、トリガ音検出器４０６は、デューティサイクルに従って作動する。いくつかの実施態様では、トリガ音検出器４０６は、５０ミリ秒間オンとなり、５０ミリ秒間オフとなる。他のオン及びオフの各持続時間も可能である。トリガ音に対応できる音があることを、トリガ音検出器４０６がその「オン」インターバル中に検出すると、検出器は直ちに「オフ」インターバルには入らない。その代り、トリガ音検出器４０６は有効に維持され、音入力の処理を継続し、それがトリガ音を含むか判定する。いくつかの実施態様では、そのような音が検出されると、トリガ音検出器４０６は有効に維持され、１、２、５、又は１０秒間、又は任意の他の適切な持続時間などの、所定の持続時間に、音声を処理する。いくつかの実施態様では、持続時間は、検出するよう構成されている特定のトリガ語又は音の長さに基づいて選択されている。例えば、トリガフレーズが「ＳＩＲＩへ」の場合、トリガ語検出器は約２秒間作動し、音入力がフレーズを含むか判定する。
【０１０４】
いくつかの実施態様では、音検出器のいくつかは、デューティサイクルに従って動作され、他は有効時に継続して作動する。例えば、いくつかの実施態様では、第１の音検出器のみがデューティサイクルに従って動作され（例えば、図４のノイズ検出器４０２）、上流の音検出器は、一度起動すると継続して動作されている。いくつかの他の実施態様では、ノイズ検出器４０２及び音種類検出器４０４はデューティサイクルに従って動作され、一方でトリガ音検出器４０６は継続して動作されている。特定の音検出器が継続して動作されるか、又はデューティサイクルに従って動作されるかは、コンテクスト又は機器の作動状態などの、１つ以上の条件に依存する。いくつかの実施態様では、機器が電源に接続されており、バッテリ電力のみに依存しない場合は、音検出器のすべてが、一度起動すると継続して作動する。他の実施態様では、機器が（例えば、センサ及び／又はマイクロフォン信号により判定されるように）ポケット又はバックパック内にある場合は、ノイズ検出器４０２（又は、音検出器のいずれか）は、デューティサイクルに従って作動するが、機器が保管されていない可能性があると判定されると、継続して作動する。いくつかの実施態様では、特定の音検出器が継続して動作されるか、又はデューティサイクルに従って動作されるかは、機器のバッテリ充電レベルに依存する。例えば、ノイズ検出器４０２は、バッテリ充電が５０％超の場合は継続して作動し、バッテリ充電が５０％未満の場合はデューティサイクルに従って作動する。いくつかの実施態様では、ボイストリガは、ノイズ、エコー、及び／又は音キャンセル機能を含む（総称してノイズキャンセルと呼ばれる）。いくつかの実施態様では、ノイズキャンセルは、オーディオサブシステム２２６によって（例えば、オーディオＤＳＰ４１２によって）行われている。ノイズキャンセルは、音検出器によって処理される前に、音入力から不要なノイズ又は音を削減又は除去する。場合によっては、不要なノイズは、ファン又はキーボードからのクリック操作などの、ユーザの環境からの背景ノイズである。いくつかの実施態様では、不要なノイズは、所定の振幅又は周波数の、これを上回る、又は下回る任意の音である。例えば、いくつかの実施態様では、一般的な人の発声範囲（例えば、３，０００Ｈｚ）を上回る音は、信号からフィルタアウト又は除去される。いくつかの実施態様では、複数のマイクロフォン（例えば、マイクロフォン２３０）を使用して、受け取った音のどの構成要素を削減及び／又は除去すべきか判定することを助ける。例えば、いくつかの実施態様では、オーディオサブシステム２２６はビーム形成技術を使用し、空間内の単一のポイント（例えば、ユーザの口）から生じる音又は音入力の各部分を識別する。オーディオサブシステム２２６は続いて、すべてのマイクロフォンによって等しく受け取られた音（例えば、いずれの特定の方向から生じていない背景音）を音入力から除去することで、この音に集中する。
【０１０５】
いくつかの実施態様では、ＤＳＰ４１２は、デジタルアシスタントが作動している機器によって出力されている音を、音入力からキャンセル又は除去するよう構成されている。例えば、オーディオサブシステム２２６が、音楽、ラジオ、ポッドキャスト、音声出力、又は任意の他のオーディオコンテントを（例えば、スピーカ２２８を介して）出力している場合、ＤＳＰ４１２は、マイクロフォンによって拾われ、音入力に含まれた、出力された音のいずれかを除去する。したがって、この音入力は、この出力された音声を含まない（又は、少なくとも出力された音声より少なく含む）。それに応じて、音検出器に提供される音入力はよりクリーンであり、より正確なトリガである。ノイズキャンセルの態様は、そのすべてにおいて参照により本明細書に組み込まれている、本願の譲受人に帰属する、米国特許第７，２７２，２２４号に更に詳細に説明されている。
【０１０６】
いくつかの実施態様では、異なる音検出器は、音入力が異なる方法にてフィルタリング及び／又は前処理されることを必要とする。例えば、いくつかの実施態様では、ノイズ検出器４０２は６０と２０，０００Ｈｚとの間の時間領域音声信号を分析するよう構成されており、音種類検出器は、６０と３，０００Ｈｚとの間の音声の周波数領域分析を行うよう構成されている。したがって、いくつかの実施態様では、オーディオＤＳＰ４１２（及び／又は、機器１０４の他のオーディオＤＳＰ）は、受け取った音声を、音検出器の各ニーズにしたがって前処理する。いくつかの実施態様では、一方で、音検出器は、それら特有のニーズにしたがって、オーディオサブシステム２２６からの音声をフィルタリング及び／又は前処理するよう構成されている。そのような場合では、オーディオＤＳＰ４１２は、音入力を音検出器に提供する前に、ノイズキャンセルを依然として行ってもよい。いくつかの実施態様では、電子機器のコンテクストは、ボイストリガが作動しているか、及びどのように作動しているか判定することを助けるために使用されている。例えば、機器がポケット、財布、又はバックパックに入れてある場合には、音声ベースのデジタルアシスタントなどの、スピーチベースのサービスをユーザが呼び出すことはないと思われる。また、音の大きいロックコンサート中に、スピーチベースのサービスをユーザが呼び出すことはないと思われる。ユーザによっては、特定の時刻（例えば、深夜）にスピーチベースのサービスを呼び出すことはないと思われる。一方で、ボイストリガを使用して、スピーチベースのサービスをユーザが呼び出すことがおおいにあり得るコンテクストもある。例えば、ユーザによっては、運転中、一人でいる時、勤務中、等にボイストリガを使用することはおおいにありうる。様々な技術を使用して、機器のコンテクストが判定されている。様々な実施態様では、この機器は、以下の構成要素からの情報、又は機器のコンテクストを判定するための情報源のうちの任意の１つ以上からの情報を使用する。即ち、ＧＰＳ受信機、光センサ、マイクロフォン、近接センサ、向きセンサ、慣性センサ、カメラ、通信回路及び／又はアンテナ、充電回路及び／又は電源回路、スイッチ位置、温度センサ、コンパス、加速度計、カレンダ、ユーザの嗜好、等。機器のコンテクストは続いて、ボイストリガを動作させるか、及びどのように動作させるかの調整に使用され得る。例えば、特定のコンテクストでは、ボイストリガは、コンテクストが維持される限りは無効となる（又は、異なるモードにて動作される）。例えば、いくつかの実施態様では、ボイストリガは、電話が所定の向きにある（例えば、表面の上で下向きに置かれている）、所定の期間中（例えば、１０：００ＰＭと８：００ＡＭとの間）、電話が（例えば、スイッチ位置、モード設定、又はユーザの嗜好に基づいて）「サイレント」又は「マナー（do not disturb）」モードにある、機器が実質的な閉鎖空間内（例えば、ポケット、バッグ、財布、引き出し、又はグローブボックス）にある、（例えば、近接センサ、音声通信／無線通信／赤外線通信に基づく）ボイストリガ及び／又はスピーチベースのサービスを有する他の機器の近くに機���がある場合、等、の場合に無効となる。いくつかの実施態様では、無効にされる代りに、ボイストリガシステム４００は、（例えば、ノイズ検出器４０２を、１０ミリ秒間の「オン」インターバル及び５秒間の「オフ」インターバルを伴うデューティサイクルに従って動作させることで）低電力モードにて動作される。いくつかの実施態様では、オーディオチャネルは、ボイストリガシステム４００が低電力モードにて動作されている際に、より低い頻度で監視されている。いくつかの実施態様では、ボイストリガは、通常モードにある際よりも、低電力モードにある際に、異なる音検出器又は音検出器の組み合わせを使用する。（ボイストリガは、多くの異なるモード又は作動状態を可能としてもよく、それぞれは異なる量の電力を使用してもよく、異なる実施態様は、それら特有の設計にしたがってそれらを使用する。）
【０１０７】
一方で、この機器がいくつかの他のコンテクストにある場合は、コンテクストが維持されている限り、ボイストリガは有効となる（又は、異なるモードにて動作される）。例えば、いくつかの実施態様では、ボイストリガは、電源に接続されている、電話が所定の向きにある（例えば、表面の上で上向きに置かれている）、所定の期間中（例えば、８：００ＡＭと１０：００ＰＭとの間）、機器が移動中である及び／又は車内にある（例えば、ＧＰＳ信号、ＢＬＵＥＴＯＯＴＨ（登録商標）接続、又は車両と接続中、等に基づく）、等、の間は有効に維持される。機器が車内にある際の裏付けを検出する態様は、そのすべてにおいて参照により本明細書に組み込まれている、本願の譲受人に帰属する、米国仮特許出願第６１／６５７，７４４号に更に詳細に説明されている。特定のコンテクストを判定する方法の種々の具体例を以下に提供する。様々な実施形態では、異なる技術及び／又は情報源を使用して、これら及び他のコンテクストが検出される。
【０１０８】
上述したように、ボイストリガシステム４００が有効であるか否か（例えば、リスニング中）は、機器の物理的向きに依存し得る。いくつかの実施態様では、ボイストリガは、機器が表面の上で「上向き」に置かれている場合に有効となっており（例えば、ディスプレイ及び／又はタッチスクリーンの表面が見える状態）、及び／又は「下向き」の場合に無効となっている。これは、設定メニュー、スイッチ、又はボタンの操作を必要とすることなく、ボイストリガを有効及び／又は無効にする容易な方法をユーザに提供する。いくつかの実施態様では、この機器は、表面の上で上向きに置かれているか又は下向きに置かれているかを、光センサ（例えば、機器１０４の前後面への入射光の差異に基づいて）、近接センサ、磁気センサ、加速度計、ジャイロスコープ、チルトセンサ、カメラ、等を使用して検出する。いくつかの実施態様では、他の作動モード、設定、パラメータ、又は嗜好は、機器の向き及び／又は位置に影響される。いくつかの実施態様では、ボイストリガがリッスンしている特定のトリガ音、単語、又はフレーズは、機器の向き及び／又は位置に依存する。例えば、いくつかの実施態様では、ボイストリガは、機器が１つの向きにある（例えば、表面の上で上向きに置かれている）場合は、第１のトリガ語、フレーズ、又は音をリッスンし、機器が別の向きにある（例えば、下向きに置かれている）場合は、異なるトリガ語、フレーズ、又は音をリッスンする。いくつかの実施態様では、下向きに対するトリガフレーズは、上向きに対するものよりも長く、及び／又はより複雑なものである。したがって、ユーザは、他の人が周りにいる場合、又は雑音の多い環境にいる場合は、機器を下向きに置くことができ、より短い、又はより簡易なトリガ語に対してより頻繁に起こるであろう不正の承認も削減しながら、ボイストリガを依然として作動できるようにする。１つの具体例として、上向きトリガフレーズは「ＳＩＲＩへ」としてもよく、一方で下向きトリガフレーズは「ＳＩＲＩへ、アンドリューです、起動してください」としてもよい。より長いトリガフレーズはまた、音検出器及び／又は音声認証器に対して、処理及び／又は分析のためにより長い音声サンプルを提供し、したがってボイストリガの精度を上げ、不正の承認を減らす。
【０１０９】
いくつかの実施態様では、この機器１０４は、この機器が車内にあるか検出する（例えば、自動車）。ボイストリガは、機器及び／又はスピーチベースのサービスの操作に必要な物理的双方向作用を減らすことを助けるため、ユーザが車両内にいる場合にスピーチベースのサービスを呼び出すことに、特に有用である。実際に、音声ベースのデジタルアシスタントの利点の１つは、機器を見てタッチ操作することが不可能又は危険である場合に、タスクを行うよう使用できることである。したがって、デジタルアシスタントを呼び出すためにユーザが機器をタッチする必要がないよう、機器が車内にある場合に、ボイストリガを使用してもよい。いくつかの実施態様では、この機器は、ＢＬＵＥＴＯＯＴＨ（登録商標）通信（又は、他のワイヤレス通信）又は、ドッキングコネクタ若しくはケーブルなどのものを通して、車両に接続されている及び／又は車両とペアリングされていることを検出することで、車内にあることを判定する。いくつかの実施態様では、この機器は、（例えば、ＧＰＳ受信機、加速度計、及び／又はジャイロスコープを使用して）機器の位置及び／又は速度を判定することで、車内にあることを判定する。例えば、毎時２０マイル超で移動しており、道に沿って移動することを判定していることから、機器が車内にあると思われると判定し、ボイストリガは続いて有効に維持される、及び／又は、高電力状態若しくは高感度状態に維持される。
【０１１０】
いくつかの実施態様では、この機器は、実質的な閉鎖空間内にあるか判定することで、機器が（例えば、ポケット、財布、バッグ、引き出し、等内に）保管されているか検出する。いくつかの実施態様では、この機器は、光センサ（例えば、専用周囲光センサ及び／又はカメラ）を使用して、保管されていることを判定する。例えば、いくつかの実施態様では、この機器は、光センサが微弱な光を検出する又は光を検出しない場合に、おそらくは保管されている。いくつかの実施態様では、時刻及び／又は機器の位置も考慮される。例えば、高い光レベルが予想される場合（例えば、日中）に、光センサが低い光レベルを検出すると、機器は保管されており、ボイストリガシステム４００は不要としてもよい。したがって、このボイストリガシステム４００は、低電力状態又はスタンバイ状態となる。いくつかの実施態様では、機器の対向する面に位置するセンサによって検出された光の差異は、その位置、したがって保管されているか否かの判定に使用され得る。具体的には、この機器が、ポケット又はバッグ内に保管されておらず、テーブル又は表面に置いてある場合に、ユーザはボイストリガを有効にするよう試みようとする。この機器がテーブル又はデスクなどの表面の上に下向き（又は、上向き）に置かれている場合、機器の片面は塞がれ、他の表面が周囲光に露出する一方で、その片面には微弱な光しかあたらない又は光がまったくあたらない。したがって、機器の前面及び背面の光センサが、著しく異なる光レベルを検出する場合、機器は保管されていないと判定する。一方で、対向する面にある光センサが、同じ又は類似の光レベルを検出する場合、機器は実質的な閉鎖空間内に保管されていると判定する。また、双方の光センサが、日中に低い光レベルを検出する場合（又は、電話が明るい環境にあると機器が予想する場合）、機器は保管されていると大きな信頼値を伴って判定する。
【０１１１】
いくつかの実施態様では、他の技術を使用して（光センサの代り又はこれに加えて）、機器が保管されているか判定する。例えば、いくつかの実施態様では、この機器は、スピーカ又はトランスデューサ（例えば、スピーカ２２８）から、１つ以上の音（例えば、トーン、クリック、ピン、等）を発し、１つ以上のマイクロフォン又はトランスデューサ（例えば、マイクロフォン２３０）を監視し、省略音（単数又は複数）のエコーを検出する。（いくつかの実施態様では、この機器は、人の可聴範囲外の音などの、不可聴信号を発する。）エコーから、この機器は、周辺環境の特性を判定する。例えば、相対的に広い環境（例えば、室内又は車内）は、相対的に狭い、閉鎖環境（例えば、ポケット、財布、バッグ、引き出し、等）とは異なって音を反射する。
【０１１２】
いくつかの実施態様では、ボイストリガシステム４００は、（ボイストリガ及び／又はスピーチベースのサービスを有する他の機器などの）他の機器に近い場合は、他の機器から離れている場合とは異なって動作されている。これは、例えば、多くの機器が互いに近い場合に、一人がトリガ語を発言すると、他の周辺の機器が同様にトリガされないよう、ボイストリガシステム４００を止める又は感度を下げることに有用とすることができる。いくつかの実施態様では、機器は、ＲＦＩＤ、近接通信、赤外線信号／音響信号、等を使用して、他の機器への近接を判定する。上述したように、ボイストリガは、ユーザが運転中などの、機器がハンズフリーモードで動作されている際に、特に有用である。そのような場合では、ユーザはしばしば、有線ヘッドセット又は無線ヘッドセット、スピーカ及び／又はマイクロフォン付き腕時計、車両内蔵マイクロフォン及びスピーカ、等、などの、外部オーディオシステムを使用し、機器を顔の近くに持つ必要なく、電話を掛ける又はテキスト入力を口述する。例えば、無線ヘッドセット及び車両オーディオシステムは、ＢＬＵＥＴＯＯＴＨ（登録商標）通信、又は任意の他の適切なワイヤレス通信を使用して、電子機器に接続してもよい。しかしそれは、無線アクセサリとオープンなオーディオチャネルを維持するために必要な電力を理由として、無線オーディオアクセサリを介して受信した音声を監視するボイストリガにとって非効率的となり得る。特に、無線ヘッドセットは、数時間の継続的な通話時間を提供するために、充分な電力をそのバッテリに保持することができ、したがって、周囲の音声を単に監視し、潜在的なトリガ音を待つために使用する代りに、ヘッドセットが実際の通信に必要の際のために、バッテリを蓄えておくことに好適である。そのうえ、有線の外部ヘッドセットアクセサリは、オンボードマイクロフォン単独よりも過大な電力を必要とする場合があり、ヘッドセットのマイクロフォンを有効に維持することは、機器のバッテリ充電電力を消耗する。これは、無線ヘッドセット又は有線ヘッドセットにより受け取った周囲音声は通常、大部分が無音又は無関係の音で構成されることを考慮すると、特にあてはまる。したがって、いくつかの実施態様では、ボイストリガシステム４００は、機器が外部マイクロフォン（有線又は無線）に連結されていても、機器上のマイクロフォン２３０からの音声を監視する。続いて、ボイストリガがトリガ語を検出すると、この機器は、外部マイクロフォンとの有効なオーディオリンクを開始し、続いての（音声ベースのデジタルアシスタントへのコマンドなどの）音入力を、機器上のマイクロフォン２３０ではなく、外部のマイクロフォンを介して受け取る。特定の条件が満たされるとしたら、有効な通信リンクが、（機器１０４に有線又は無線を介して通信可能に連結されてもよい）外部オーディオシステム４１６と機器との間に維持され得、ボイストリガシステム４００は、機器上のマイクロフォン２３０の代りに（又は、これに加えて）、外部オーディオシステム４１６を介して、トリガ音をリッスンし得る。例えば、いくつかの実施態様では、電子機器及び／又は外部オーディオシステム４１６の（例えば、各機器上の加速度計、ジャイロスコープ、等により判定される）動きの特性は、ボイストリガシステム４００が、機器上のマイクロフォン２３０又は外部マイクロフォン４１８を使用して背景音を監視すべきかを判定することに使用されている。具体的には、機器と外部オーディオシステム４１６との間の動きの差異は、外部オーディオシステム４１６が実際に使用中かについての情報を提供する。例えば、機器及び無線ヘッドセットの双方が、実質的に等しく動いている場合（又は、動いていない場合）、ヘッドセットは使用されていない又は着用されていないと判定されてもよい。これは、例えば、双方の機器は互いに近く、アイドル状態であるために起こり得る（例えば、テーブル上に置いてある、又はポケット、バッグ、財布、引き出し、等に入れてある）。それに応じて、これらの条件下では、ボイストリガシステム４００は、ヘッドセットが実際に使用されていることがありそうもないため、機器上のマイクロフォンを監視する。無線ヘッドセットと機器との間の動きに差異がある場合、ユーザがヘッドセットを着用していることを判定する。これらの条件は、例えば、機器が置かれているため（例えば、表面の上又はバッグ内）、（装着者が相対的に静止していても、少なくとも少量の動きが起こり得るであろう）ユーザの頭にヘッドセットが着用されている間に発生する場合がある。これらの条件下では、ヘッドセットが着用されていると考えられるため、ボイストリガシステム４００は、有効な通信リンクを維持し、ヘッドセットのマイクロフォン４１８を、機器上のマイクロフォン２３０の代りに、（又は、これに加えて）監視する。この技術は機器及びヘッドセットの動きにおける差異に注目するため、双方の機器に共通の動きは相殺される。これは、例えば、機器（例えば、携帯電話）が、カップホルダ内、空席のシート上、又はユーザのポケット内にあり、ヘッドセットがユーザの頭に着用されている、移動中の車両内でユーザがヘッドセットを使用している場合に有用となり得る。双方の機器に共通の動きが相殺されると（例えば、車両の動き）、機器に比較されるようなヘッドセットの相対運動が（もし存在すれば）判定され得、ヘッドセットがおそらくは使用中であるか（又は、ヘッドセットが着用されていないか）判定する。上記説明は無線ヘッドセットについて言及するが、類似の技術が同様に、有線ヘッドセットに適用される。
【０１１３】
人の声は大きく異なるため、ボイストリガを調律して特定ユーザの声を認識することにおけるその精度を改善することは、必要又は有用となり得る。また、人の声は、例えば、病気、加齢又はホルモンの変化による自然な声の変化、等により、時間とともに変化し得る。したがって、いくつかの実施態様では、ボイストリガシステム４００は、特定のユーザ又はユーザグループに対する、その音声及び／又は音認識プロファイルに順応することができる。上述したように、音検出器（例えば、音種類検出器４０４及び／又はトリガ音検出器４０６）は、音入力のレプリゼンテーション（例えば、ユーザにより提供された音又は発言）を、１つ以上のリファレンスレプリゼンテーションと比較するよう構成されてもよい。例えば、入力レプリゼンテーションが、リファレンスレプリゼンテーションに、所定の信頼値レベルにて一致する場合、音検出器は、音入力が所定の種類の音に対応する（例えば、音種類検出器４０４）、又は音入力が所定の内容を含む（例えば、トリガ音検出器４０６）ことを判定する。ボイストリガシステム４００を調律するため、いくつかの実施態様では、この機器は、入力レプリゼンテーションが比較される、リファレンスレプリゼンテーションを調整する。いくつかの実施態様では、リファレンスレプリゼンテーションは、音声登録手順又は「トレーニング」手順の一部として調整（又は、作成）されており、ここでユーザは、機器がリファレンスレプリゼンテーションを調整（又は、作成）できるよう、トリガ音を数回出力する。この機器は続いて、その人の実際の声を使用して、リファレンスレプリゼンテーションを作成する。
【０１１４】
いくつかの実施態様では、この機器は、通常の使用条件下にて受け取られるトリガ音を使用し、リファレンスレプリゼンテーションを調整する。（例えば、トリガリング基準のすべてを満たす音入力が見つかった）正常なボイストリガリング事象の後、例えば、この機器は、音入力からの情報を使用し、リファレンスレプリゼンテーションを調整及び／又は調律する。いくつかの実施態様では、トリガリング基準のすべて又は一部を、特定の信頼値レベルで満たすことが判定された音入力のみが、リファレンスレプリゼンテーションの調整に使用されている。したがって、音入力がトリガ音に対応する又はこれを含むことについて、ボイストリガの信頼性が低い場合、その音声入力は、リファレンスレプリゼンテーションを調整する目的に対して無視されてもよい。一方で、いくつかの実施態様では、ボイストリガシステム４００を低い信頼値にて満たした音入力は、リファレンスレプリゼンテーションの調整に使用されている。
【０１１５】
いくつかの実施態様では、機器１０４は、ますます多くの音入力が受け取られると、ユーザの音声の経年によるわずかな変化に順応できるよう、（これら又は他の技術を使用して）リファレンスレプリゼンテーションを繰り返し調整する。例えば、いくつかの実施態様では、機器１０４（及び／又は関連機器若しくはサービス）は、それぞれの正常なトリガリング事象の後で、リファレンスレプリゼンテーションを調整する。いくつかの実施態様では、機器１０４は、それぞれの正常なトリガリング事象に関連する音入力を分析し、リファレンスレプリゼンテーションが、その入力（例えば、特定の条件が満たされている場合）に基づいて調整されるべきか判定し、そうすることが適切な場合のみ、リファレンスレプリゼンテーションを調整行う。いくつかの実施態様では、機器１０４は、リファレンスレプリゼンテーションの移動平均を長期にわたって維持する。いくつかの実施態様では、ボイストリガシステム４００は、（例えば、音検出器のうちの１つ以上により判定されるように）トリガリング基準のうちの１つ以上を満たさない音を検出するが、これは正規ユーザによって、そうするように実際に試みられてもよい。例えば、ボイストリガシステム４００は、「ＳＩＲＩへ」などのトリガフレーズに応答するよう構成されてもよいが、ユーザの音声が（例えば、病気、加齢、アクセント／音調の変化、等により）変化すると、ボイストリガシステム４００は、機器を有効にするユーザの試みを認識しなくともよい。（これはまた、ボイストリガシステム４００がデフォルト条件に設定されている、及び／又は、ユーザが初期化していない、又は、ユーザの音声に対して、ボイストリガシステム４００をカスタマイズするトレーニング手順を行っていない、などの、そのユーザの特定の音声に対して、ボイストリガシステム４００が適切に調律されていなかった場合に生じてもよい。）ボイストリガシステム４００が、ボイストリガを有効にするユーザの第１の試みに応答しない場合、ユーザはおそらくトリガフレーズを繰り返す。この機器は、これらの繰り返された音入力が互いに似ており、及び／又はこれらがトリガフレーズに似ていることを、（ボイストリガシステム４００にスピーチベースのサービスを有効にさせるように充分似ていなくとも）検出する。そのような条件が満たされると、この機器は、音入力が、ボイストリガシステム４００を有効にする正当な試みに対応することを判定する。それに応じて、いくつかの実施態様では、ボイストリガシステム４００は、それらの受け取った音入力を使用し、ユーザによる類似の発言が、正当なトリガとして将来に承認されるよう、１つ以上の態様のボイストリガシステム４００を調整する。いくつかの実施態様では、これらの音入力は、特定の条件又は条件の組み合わせが満たされる場合にのみ、ボイストリガシステム４００を順応させるよう使用されている。例えば、いくつかの実施態様では、音入力は、所定の数の音入力が連続して受け取られた場合に（例えば、２、３、４、５、又は任意の他の適切な数）、音入力がリファレンスレプリゼンテーションに十分類似する場合に、音入力が互いに充分類似する場合に、音入力が互いに近い場合に（例えば、所定の期間内、及び／又は、所定のインターバルにて、又は、その付近で受け取られた場合に）、及び／又は、これら又は他の条件の任意の組み合わせにて、ボイストリガシステム４００を順応させるために使用されている。場合によっては、ボイストリガシステム４００は、スピーチベースのサービスの（例えば、ボタン又はアイコンを押すことでの）手動での開始が続く、トリガリング基準のうちの１つ以上を満たさない、１つ以上の音入力を検出してもよい。いくつかの実施態様では、ボイストリガシステム４００は、音入力を受け取ったすぐ後にスピーチベースのサービスが開始されたことにより、音入力が実際に、失敗したボイストリガリングの試みに対応することを判定する。それに応じて、ボイストリガシステム４００は、上述したように、それらの受け取った音入力を使用し、ユーザによる発言が、正当なトリガとして将来に承認されるよう、１つ以上の態様のボイストリガシステム４００を調整する。
【０１１６】
上記の順応技術が、リファレンスレプリゼンテーションを調整することに言及する一方で、トリガ音検出技術の他の態様は、リファレンスレプリゼンテーションを調整することに加えて、又はその代りに、同じ又は類似の方法で調整されてもよい。例えば、いくつかの実施態様では、この機器は、音入力の特定の周波数又は周波数範囲に集中及び／又はこれらを削減するなどの、音入力がどのようにしてフィルタリングされるか、及び／又はどのようなフィルタが音入力に適用されるかを調整する。いくつかの実施態様では、この機器は、入力レプリゼンテーションとリファレンスレプリゼンテーションとの比較に使用されているアルゴリズムを調整する。例えば、いくつかの実施態様では、入力レプリゼンテーションとリファレンスレプリゼンテーションとの間の差異の判定に使用される数学関数の１つ以上の項が、変更、追加、又は除去されるか、又は異なる数学関数に置き換えられている。いくつかの実施態様では、上記のそれらなどの順応技術は、ボイストリガシステム４００が提供できる、又は提供するよう構成されているものよりも多くのリソースを必要とする。特に、音検出器は、リファレンスレプリゼンテーション及び／又は音検出アルゴリズム（又は、任意の他の適切な態様のボイストリガシステム４００）の反復順応を行うために必要な、プロセッサ、データ、又はメモリの量又は種類、又はそれらへのアクセスを有しなくともよい。したがって、いくつかの実施態様では、上記の順応技術のうちの一つ以上は、アプリケーションプロセッサ（例えば、プロセッサ（単数又は複数）２０４）などの、より強力なプロセッサによって、又は、異なる機器（例えば、サーバシステム１０８）によって実行されている。しかし、ボイストリガシステム４００は、アプリケーションプロセッサがスタンバイモードにあっても作動するよう設計されている。したがって、ボイストリガシステム４００の順応に使用される音入力は、アプリケーションプロセッサが有効でなく、音入力を処理できない場合に受け取られている。それに応じて、いくつかの実施態様では、音入力は、受け取り後に更に処理及び／又は分析され得るよう、機器によって記憶されている。いくつかの実施態様では、音入力は、オーディオサブシステム２２６のメモリバッファ４１４内に記憶されている。いくつかの実施態様では、音入力は、ダイレクトメモリアクセス（ＤＭＡ）技術（例えば、アプリケーションプロセッサを起動する必要なく、データをコピー又は移動できるよう、ＤＭＡエンジンを使用することを含む）を使用して、システムメモリ（例えば、メモリ２５０、図２）内に記憶されている。記憶された音入力は続いて、アプリケーションプロセッサ（又は、サーバシステム１０８、若しくは別の適切な機器）に、起動後、アプリケーションプロセッサが、上記の順応技術のうちの１つ以上を実行できるよう、提供されている又はこれによってアクセスされている。いくつかの実施態様では。
【０１１７】
図５〜図７は、特定の実施態様に係る、ボイストリガを動作させるための方法を表すフローダイアグラムである。この方法は、任意で、コンピュータメモリ又は永続的コンピュータ可読記憶媒体（例えば、クライアント機器１０４のメモリ２５０、デジタルアシスタントシステム３００に関連するメモリ３０２）内に記憶されている命令によって管理されており、サーバシステム１０８、及び／又はユーザ機器１０４ａを含むがこれらに限定しない、デジタルアシスタントシステムの１つ以上のコンピュータシステムの１つ以上のプロセッサによって実行されている。コンピュータ可読記憶媒体は、磁気又は光ディスク記憶装置、フラッシュメモリなどの固体記憶装置、又は他の不揮発性メモリデバイス（単数又は複数）を含み得る。コンピュータ可読記憶媒体上に記憶されたコンピュータ可読命令は、ソースコード、アセンブリ言語コード、オブジェクトコード、又は、１つ以上のプロセッサによって解釈実行される他の命令フォーマットのうちの１つ以上を含んでよい。様々な実施態様では、各図に示されている、それぞれの方法のいくつかの動作を組み合わせてもよいし、及び／又はいくつかの動作の順序を、順序から変更してもよい。また、いくつかの実施態様では、個別の図に示す及び／又は個別の方法に関連して説明された動作は、他の方法を形成するよう組み合わされてもよく、同じ図及び／又は同じ方法に関連して説明された動作は、異なる方法に分けられてもよい。そのうえ、いくつかの実施態様では、方法における１つ以上の動作は、例えば、自然言語処理モジュール３３２、ダイアログフロー処理モジュール３３４、オーディオサブシステム２２６、ノイズ検出器４０２、音種類検出器４０４、トリガ音検出器４０６、スピーチベースのサービス４０８、及び／又は任意のそれらのサブモジュールを含む、デジタルアシスタントシステム３００及び／又は電子機器（例えば、ユーザ機器１０４）のモジュールによって実行されている。図５は、いくつかの実施態様に係る、ボイストリガシステムを動作させる方法５００を示す（例えば、図４のボイストリガシステム４００、図４）。いくつかの実施態様では、方法５００は、１つ以上のプロセッサ及び、１つ以上のプロセッサ（例えば、電子機器１０４）によって実行される命令を記憶するメモリを含む電子機器にて実行されている。この電子機器は、音入力を受け取る（５０２）。この音入力は、発言（例えば、単語、フレーズ、又は文章）、人による発音（例えば、口笛、舌打ち、指鳴らし、拍手、等）、又は任意の他の音（例えば、電子的に生じるチャープ音、メカニカルノイズメーカー、等）に対応してもよい。いくつかの実施態様では、電子機器は、オーディオサブシステム２２６（例えば、コーデック４１０、オーディオＤＳＰ４１２、及びバッファ４１４、同様に、図４に関連して説明されるマイクロフォン２３０及び４１８、を含む）を介して音入力を受信する。
【０１１８】
いくつかの実施態様では、電子機器は、音入力が所定の条件を満たすか判定する（５０４）。いくつかの実施態様では、電子機器は、時間領域分析を音入力に適用し、音入力が所定の条件を満たすか判定する。例えば、電子機器は、音入力をある期間にわたって分析し、音振幅が所定のレベルに達するか判定する。いくつかの実施態様では、閾値は、音入力の振幅（例えば、音量）が、所定の閾値を満たす及び／又は超える場合に満たされる。いくつかの実施態様では、それは、音入力が所定の閾値を所定の時間に満たす及び／又は超える場合に満たされる。以下に更に詳細に説明するように、いくつかの実施態様では、音入力が所定の条件を満たすか判定すること（５０４）は、第３の音検出器（例えば、ノイズ検出器４０２）によって行われている。（第３の音検出器がこの場合に使用され、この音検出器を他の音検出器（例えば、以下に説明する第１の音検出器及び第２の音検出器）から区別し、いずれの作動位置又は音検出器の順序を必ずしも示さない。）
【０１１９】
電子機器は、音入力が所定の種類の音に対応するか判定する（５０６）。上述したように、音は、特定の識別可能な音の特性に基づいて、様々な「種類」に分類されている。音入力が所定の種類に対応するか判定することは、音入力が特定の種類の特性を含む又は示すか判定することを含む。いくつかの実施態様では、所定の種類の音は人の声である。そのような実施態様では、音入力が人の声に対応するか判定することは、音入力が人の声の周波数特性を含むか判定することを含む（５０８）。以下に更に詳細に説明するように、いくつかの実施態様では、音入力が所定の種類の音に対応するか判定すること（５０６）は、第１の音検出器（例えば、音種類検出器４０４）によって行われている。音入力が所定の種類の音に対応することを判定すると、電子機器は、音入力が所定の内容を含むか判定する（５１０）。いくつかの実施態様では、所定の内容は、１つ以上の所定の音素に対応する（５１２）。いくつかの実施態様では、１つ以上の所定の音素は、少なくとも１つの単語を構成する。いくつかの実施態様では、所定の内容は、音である（例えば、口笛、クリック、又は拍手）。いくつかの実施態様では、以下に説明するように、音入力が所定の内容を含むか判定すること（５１０）は、第２の音検出器（例えば、トリガ音検出器４０６）によって行われている。
【０１２０】
音入力が所定の内容を含むことを判定すると、電子機器は、スピーチベースのサービスを開始する（５１４）。いくつかの実施態様では、スピーチベースのサービスは、上に詳述するように、音声ベースのデジタルアシスタントである。いくつかの実施態様では、スピーチベースのサービスは口述サービスであり、ここでスピーチ入力はテキストに変化され、（例えば、電子メール、テキストメッセージ、ワードプロセッシング、又はノート取りアプリケーション、等の）テキスト入力フィールドに含まれる及び／又は表示される。スピーチベースのサービスが音声ベースのデジタルアシスタントである実施態様では、音声ベースのデジタルアシスタントが開始されると、ユーザにプロンプト（例えば、音又はスピーチプロンプト）が発行され、ユーザが、音声入力及び／又はコマンドをデジタルアシスタントに提供できることが示される。いくつかの実施態様では、音声ベースのデジタルアシスタントを開始することは、アプリケーションプロセッサ（例えば、プロセッサ（単数又は複数）２０４、図２）を有効にすること、１つ以上のプログラム又はモジュール（例えば、デジタルアシスタントクライアントモジュール２６４、図２）を開始すること、及び／又は、リモートサーバ若しくは機器（例えば、デジタルアシスタントサーバ１０６、図１）への接続を創設すること、を含む。
【０１２１】
いくつかの実施態様では、電子機器は、音入力が特定ユーザの声に対応するか判定する（５１６）。例えば、機器の正規ユーザの音声に対応するか判定するために、１つ以上の音声認証技術が音入力に適用されている。音声認証技術は、上に詳述されている。いくつかの実施態様では、音声認証は、音検出器のうちの１つ（例えば、トリガ音検出器４０６）によって行われている。いくつかの実施態様では、音声認証は、専用音声認証モジュール（いずれの適切なハードウェア及び／又はソフトウェアを含む）によって行われている。いくつかの実施態様では、音ベースのサービスは、音入力が所定の内容を含み、音入力が特定ユーザの声に対応することの判定に応じて開始されている。したがって、例えば、音ベースのサービス（例えば、音声ベースのデジタルアシスタント）は、トリガ語又はフレーズが正規ユーザによって話された場合にのみ開始される。これは、サービスが非正規ユーザによって呼び出され得る可能性を減らし、複数の電子機器が近接している場合に、一人のユーザのトリガ音の発言が、別のユーザのボイストリガを起動しないため、特に有用とできる。
【０１２２】
スピーチベースのサービスが音声ベースのデジタルアシスタントであるいくつかの実施態様では、音入力が所定の内容を含むが、特定ユーザの声に対応しないことを判定することに応じて、音声ベースのデジタルアシスタントは、限定アクセスモードで開始されている。いくつかの実施態様では、限定アクセスモードは、デジタルアシスタントが、デジタルアシスタントがさもなければ提供し得るデータ、サービス、及び／又は機能のサブセットのみにアクセスできるようにする。いくつかの実施態様では、限定アクセスモードは、（例えば、デジタルアシスタントの非正規ユーザが、カレンダ、タスクリスト、連絡先、写真、電子メール、テキストメッセージ、等からのデータにアクセスできないよう）、書き込みのみモードに対応する。いくつかの実施態様では、限定アクセスモードは、スピーチベースのサービスのサンドボックス化されたインスタンスに対応し、スピーチベースのサービスが、機器１０４（図２）、又は任意の他の機器（例えば、図３Ａのユーザデータ３４８、これは、図１のサーバシステム１０８などの、リモートサーバ上に記憶されてもよい）上のユーザデータ２６６などの、ユーザのデータから読まない又はこれらに書き込まないようにする。
【０１２３】
いくつかの実施態様では、音入力が所定の内容を含み、音入力が特定ユーザの声に対応することの判定に応じて、音声ベースのデジタルアシスタントは、特定ユーザの名前を含むプロンプトを出力する。例えば、特定のユーザが音声認証を介して識別されると、音声ベースのデジタルアシスタントは、トーン、ビープ、又は非専有音声プロンプトなどの、より一般的なプロンプトの代りに、「Ｐｅｔｅｒさん、ご用は何ですか？」などのプロンプトを出力してもよい。上述したように、いくつかの実施態様では、第１の音検出器は、音入力が所定の種類の音に対応するか判定し（ステップ５０６にて）、第２の音検出器は、音検出器が所定の内容を含むか判定する（ステップ５１０にて）。いくつかの実施態様では、第１の音検出器は、例えば、第１の音検出器が、第２の音検出器よりも、プロセッサ負荷の少ない技術を使用するため、第２の音検出器よりも少ない電力を作動中に消費する。いくつかの実施態様では、第１の音検出器は音種類検出器４０４であり、第２の音検出器はトリガ音検出器４０６であり、双方とも図４に関連して上述されている。いくつかの実施態様では、これらの動作中は、第１の音検出器及び／又は第２の音検出器は、図４に関連して上述されるように、デューティサイクルに従って、オーディオチャネルを定期的に監視する。
【０１２４】
いくつかの実施態様では、第１の音検出器及び／又は音検出器は、音入力の周波数領域分析を行う。例えば、これらの音検出器は、ラプラス変換、Ｚ変換、又はフーリエ変換を行い、周波数スペクトルを生成するか、又は音入力若しくはその一部のスペクトル密度を判定する。いくつかの実施態様では、第１の音検出器は、音入力が人の声の特性である周波数（又は、人の声の特性である音入力の他の特徴、態様、又は特質）を含むか判定するよう構成されている、音声活動検出器である。
【０１２５】
いくつかの実施態様では、第２の音検出器は、第１の音検出器が所定の種類の音入力を検出するまでオフ又は無効である。それに応じて、いくつかの実施態様では、方法５００は、音入力が所定の種類に対応することを判定することに応じて、第２の音検出器を起動することを含む。（他の実施態様では、第２の音検出器は、他の条件に応じて起動されているか、又は第１の音検出器からの判定に無関係に継続して動作されている。）いくつかの実施態様では、第２の音検出器を起動することは、ハードウェア及び／又はソフトウェア（例えば、回路、プロセッサ、プログラム、メモリ、等を含む）を有効にすることを含む。いくつかの実施態様では、第２の音検出器は、起動後の少なくとも所定の時間動作されている（例えば、有効にされ、オーディオチャネルを監視している）。例えば、音入力が所定の種類に対応する（例えば、人の声を含む）ことを、第１の音検出器が判定すると、第２の音検出器が作動し、音入力が所定の内容（例えば、トリガ語）も含むか判定する。いくつかの実施態様では、所定の時間は、所定の内容の持続時間に対応する。したがって、所定の内容が、フレーズ「ＳＩＲＩへ」の場合、所定の時間は、フレーズが発言されたか判定するように十分に長くなる（例えば、１又は２秒、又はいずれの別の適切な持続時間）。所定の内容が、フレーズ「ＳＩＲＩへ、起動して助けてください」などの、より長いものの場合、所定の時間はより長いものとなる（例えば、５秒、又は別の適切な持続時間）。いくつかの実施態様では、第２の音検出器は、第１の音検出器が所定の種類に対応する音を検出する限りは作動する。そのような実施態様では、例えば、第１の音検出器が人の話し声を音入力内に検出する限りは、第２の音検出器は音入力を処理し、所定の内容を含むか判定する。
【０１２６】
上述したように、いくつかの実施態様では、第３の音検出器（例えば、ノイズ検出器４０２）は、音入力が所定の条件を満たすか判定する（ステップ５０４にて）。いくつかの実施態様では、第３の音検出器は、第１の音検出器よりも少ない電力を作動中に消費する。いくつかの実施態様では、第３の音検出器は、図４に関して上述するように、デューティサイクルに従って、オーディオチャネルを定期的に監視する。また、いくつかの実施態様では、第３の音検出器は、音入力の時間領域分析を行う。いくつかの実施態様では、時間領域分析は、第２の音検出器によって適用される周波数領域分析よりも、プロセッサ負荷が少ないため、第３の音検出器は、第１の音検出器よりも少ない電力を消費する。
【０１２７】
第１の音検出器（例えば、音種類検出器４０４）による判定に応じて第２の音検出器（例えば、トリガ音検出器４０６）を起動することに関する上記説明と同様に、いくつかの実施態様では、第１の音検出器は、第３の音検出器（例えば、ノイズ検出器４０２）による判定に応じて起動されている。例えば、いくつかの実施態様では、音種類検出器４０４は、音入力が所定の条件（例えば、十分な持続時間に特定の音量を超える）を満たすことの、ノイズ検出器４０２による判定に応じて起動されている。いくつかの実施態様では、第１の音検出器を起動することは、ハードウェア及び／又はソフトウェア（例えば、回路、プロセッサ、プログラム、メモリ、等を含む）を有効にすることを含む。他の実施態様では、第１の音検出器は、他の条件に応じて起動されているか、又は継続して動作されている。いくつかの実施態様では、この機器は、音入力の少なくとも一部をメモリに記憶する（５１８）。いくつかの実施態様では、メモリは、オーディオサブシステム２２６のバッファ４１４である（図４）。記憶された音入力は、機器による、音入力の非リアルタイムの処理を可能とする。例えば、いくつかの実施態様では、音検出器のうちの１つ以上は、記憶された音入力を読み出し及び／又は受け取り、この記憶された音入力を処理する。これは、上流の音検出器（例えば、トリガ音検出器４０６）が、オーディオサブシステム２２６による音入力の受け取り途中まで起動されない場合に、特に有用とされ得る。いくつかの実施態様では、音入力の記憶された一部は、スピーチベースのサービスが開始されると、このスピーチベースのサービスに提供される（５２０）。したがって、音入力の一部が受け取られるまで、スピーチベースのサービスが十分に作動しなくとも、このスピーチベースのサービスは、音入力の記憶された一部を複写、処理、又は、さもなければ作動できる。いくつかの実施態様では、音入力の記憶された一部は、電子機器の順応モジュールに提供されている。
【０１２８】
様々な実施態様では、ステップ（５１６）〜（５２０）が、方法５００内の異なる位置にて行われている。例えば、いくつかの実施態様では、ステップ（５１６）〜（５２０）のうち１つ以上は、ステップ（５０２）と（５０４）との間、ステップ（５１０）と（５１４）との間、又は任意の他の適切な位置にて行われている。
【０１２９】
図６は、いくつかの実施態様に係る、ボイストリガシステムを動作させる方法６００を示す（例えば、図４のボイストリガシステム４００、図４）。いくつかの実施態様では、方法６００は、１つ以上のプロセッサ及び、１つ以上のプロセッサ（例えば、電子機器１０４）によって実行される命令を記憶するメモリを含む電子機器にて実行されている。電子機器は、所定の向きにあるか判定する（６０２）。いくつかの実施態様では、電子機器は、光センサ（カメラを含む）、マイクロフォン、近接センサ、磁気センサ、加速度計、ジャイロスコープ、チルトセンサ、等を使用して、その向きを検出する。例えば、電子機器は、前面カメラのセンサに入射する光の量又は輝度を、背面カメラのセンサに入射する光の量又は輝度と比較することで、表面の上で下向き又は上向きに置かれているか判定する。前面カメラによって検出された量及び／又は輝度が、背面カメラによって検出されたそれよりも十分に大きい場合は、電子機器は、上向きにあると判定する。一方で、背面カメラによって検出された量及び／又は輝度が、前面カメラのそれよりも十分に大きい場合は、機器は、下向きにあると判定する。電子機器が所定の向きにあることを判定すると、この電子機器は、ボイストリガの所定のモードを有効にする（６０４）。いくつかの実施態様では、所定の向きは、機器のディスプレイスクリーンが実質的に水平で下向きにあることに対応し、所定のモードはスタンバイモードである。（６０６）。例えば、いくつかの実施態様では、スクリーンが下向きとなるように、スマートホン又はタブレットがテーブル又はデスクに置かれている場合、ボイストリガはスタンバイモード（例えば、電源切）となり、ボイストリガの意図しない起動を防止する。
【０１３０】
一方で、いくつかの実施態様では、所定の向きは、機器のディスプレイスクリーンが実質的に水平で上向きにあることに対応し、所定のモードはリスニングモードである（６０８）。したがって、例えば、スクリーンが上向きとなるように、スマートホン又はタブレットがテーブル又はデスクに置かれている場合、ボイストリガはリスニングモードとなり、トリガを検出すると、ユーザに応答できる。
【０１３１】
図７は、いくつかの実施態様に係る、ボイストリガを動作させる方法７００を示す（例えば、ボイストリガシステム４００、図４）。いくつかの実施態様では、方法７００は、１つ以上のプロセッサ及び、１つ以上のプロセッサ（例えば、電子機器１０４）によって実行される命令を記憶するメモリを含む電子機器にて実行されている。電子機器は、ボイストリガ（例えば、ボイストリガシステム４００）を第１のモードにて動作させる（７０２）。いくつかの実施態様では、第１のモードは、通常のリスニングモードである。
【０１３２】
電子機器は、電子機器のマイクロフォン及びカメラのうちの１つ以上が塞がっていることを検出することで、実質的な閉鎖空間内にあるか判定する（７０４）。いくつかの実施態様では、実質的な閉鎖空間は、ポケット、財布、バッグ、引き出し、グローブボックス、ブリーフケース、等を含む。
【０１３３】
上述したように、いくつかの実施態様では、この機器は、スピーカ又はトランスデューサから、１つ以上の音（例えば、トーン、クリック、ピン、等）を発し、１つ以上のマイクロフォン又はトランスデューサを監視し、省略音（単数又は複数）のエコーを検出することで、マイクロフォンが塞がっていることを検出する。例えば、相対的に広い環境（例えば、室内又は車内）は、相対的に狭い、実質的な閉鎖環境（例えば、財布又はポケット）とは異なって音を反射する。したがって、マイクロフォン（又は、音を発したスピーカ）が塞がっていることを、エコー（又は無エコー）に基づいて機器が検出すると、この機器は、実質的な閉鎖空間内にあると判定する。いくつかの実施態様では、この機器は、マイクロフォンが閉鎖空間特有の音を拾うことを検出することで、マイクロフォンが塞がっていることを検出する。例えば、機器がポケット内にある場合、マイクロフォンがポケットの繊維に接触又は近接することによる、特徴的な柔らかいノイズを、マイクロフォンは検出することができる。いくつかの実施態様では、この機器は、センサによる受光レベルに基づいて、又は焦点の合った画像を得ることができるか判定することで、カメラが塞がっていることを検出する。例えば、高レベルの光が予想される時間（例えば、日中）に、カメラセンサが低レベルの光を検出する場合、この機器は、カメラが塞がっており、機器が実質的な閉鎖空間内にあることを判定する。別の例として、カメラは、そのセンサ上の焦点の合った画像を取得するよう試みてもよい。通常、これは、カメラが非常に暗い場所（例えば、ポケット又はバックパック）にある場合、又は焦点を合わせようと試みる被写体に近すぎる（例えば、財布又はバックパック内）にある場合に難しくなる。したがって、カメラが焦点の合った画像を取得できない場合、機器が実質的な閉鎖空間内にあると判定する。
【０１３４】
電子機器が実質的な閉鎖空間内にあることを判定すると、電子機器は、ボイストリガを第２のモードに切り換える（７０６）。いくつかの実施態様では、第２のモードは、スタンバイモードである（７０８）。いくつかの実施態様では、スタンバイモードにある場合、ボイストリガシステム４００は、周囲の音声の監視を続けるが、ボイストリガシステム４００をさもなければ起動するかに関わらず、受け取った音に応答しない。いくつかの実施態様では、スタンバイモードでは、ボイストリガシステム４００は無効となっており、音声を処理してトリガ音を検出することをしない。いくつかの実施態様では、第２のモードは、第１のモードとは異なるデューティサイクルに従って、ボイストリガシステム４００の１つ以上の音検出器を動作させることを含む。いくつかの実施態様では、第２のモードは、第１のモードとは異なる組み合わせの音検出器を動作させることを含む。
【０１３５】
いくつかの実施態様では、第２のモードは、より感度の高い監視モードに対応し、実質的な閉鎖空間内にあっても、ボイストリガシステム４００がトリガ音を検出し、応答できるようにする。いくつかの実施態様では、ボイストリガが第２のモードに切り換わると、この機器は、電子機器のマイクロフォン及びカメラのうちの１つ以上が塞がっているか（例えば、ステップ（７０４）に関して上述の技術のいずれかを使用して）検出することで、電子機器が依然として実質的な閉鎖空間内にあるか定期的に判定する。この機器が実質的な閉鎖空間内にまだある場合、ボイストリガシステム４００は第２のモードに維持される。いくつかの実施態様では、この機器が実質的な閉鎖空間内から動かされると、電子機器は、ボイストリガを第１のモードに戻す。
【０１３６】
いくつかの実施によれば、図８は、前述のように本発明の原理にしたがって構成された電子機器８００の機能ブロック図を示す。この機器の機能ブロックは、本発明の原理を実行するためのハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの組み合わせにより実施することができる。図８に述べられる機能ブロックは、上記に述べたような本発明の原理を実施するために、組み合わせるか、又はサブブロックに分割することができることが当業者によって理解される。したがって、本明細書における説明は、あらゆる可能な組み合わせ若しくは分割、又は本明細書に述べられる更なる機能ブロックの定義を支持し得るものである。
【０１３７】
図８に示すように、電子機器８００は、音入力を受け取るよう構成された受音ユニット８０２を含む。電子機器８００はまた、スピーチ受け取りユニット８０２に連結された処理ユニット８０６を含む。いくつかの実施態様では、処理ユニット８０６は、ノイズ検出部８０８、音種類検出部８１０、トリガ音検出部８１２、サービス開始部８１４、及び音声認証部８１６を含む。いくつかの実施態様では、ノイズ検出部８０８は、上記のノイズ検出器４０２に対応し、ノイズ検出器４０２に関する上述のいずれの作動を行うよう構成されている。いくつかの実施態様では、音種類検出部８１０は、上記の音種類検出器４０４に対応し、音種類検出器４０４に関する上述のいずれの作動を行うよう構成されている。いくつかの実施態様では、トリガ音検出部８１２は、上記のトリガ音検出器４０６に対応し、トリガ音検出器４０６に関する上述のいずれの作動を行うよう構成されている。いくつかの実施態様では、音声認証部８１６は、上記の音声認証モジュール４２８に対応し、音声認証モジュール４２８に関する上述のいずれの作動を行うよう構成されている。処理ユニット８０６は、音入力の少なくとも一部が所定の種類の音に対応するか（例えば、音種類検出部８１０で）判定し、音入力の少なくとも一部が所定の種類に対応することを判定すると、音入力が所定の内容を含むか（例えば、トリガ音検出部８１２で）判定し、音入力が所定の内容を含むことを判定すると、スピーチベースのサービスを（例えば、サービス開始部８１４で）開始するよう構成されている。
【０１３８】
いくつかの実施態様では、処理ユニット８０６はまた、音入力が所定の種類の音に対応するか判定する前に、音入力が所定の条件を満たす（例えば、ノイズ検出部８０８で）判定するよう構成されている。いくつかの実施態様では、処理ユニット８０６はまた、音入力が特定ユーザの声に対応するか（例えば、音声認証部８１６で）判定するよう構成されている。
【０１３９】
いくつかの実施によれば、図９は、前述のように本発明の原理にしたがって構成された電子機器９００の機能ブロック図を示す。この機器の機能ブロックは、本発明の原理を実行するためのハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの組み合わせにより実施することができる。図９に述べられる機能ブロックは、上記に述べたような本発明の原理を実施するために、組み合わせるか、又はサブブロックに分割することができることが当業者によって理解される。したがって、本明細書における説明は、あらゆる可能な組み合わせ若しくは分割、又は本明細書に述べられる更なる機能ブロックの定義を支持しうるものである。
【０１４０】
図９に示すように、電子機器９００は、ボイストリガユニット９０２を含む。ボイストリガユニット９０２は、様々な異なるモードにて動作され得る。第１のモードでは、ボイストリガユニットは、音入力を受け取り、特定の基準を満たすか判定する（例えば、リスニングモード）。第２のモードでは、ボイストリガユニット９０２は、音入力を受け取らず、及び／又は処理しない（例えば、スタンバイモード）。電子機器９００はまた、ボイストリガユニット９０２に連結された処理ユニット９０６を含む。いくつかの実施態様では、処理ユニット９０６は、１つ以上のセンサ（例えば、マイクロフォン、カメラ、加速度計、ジャイロスコープ、等を含む）及びモード切り換えユニット９１０を含んでもよい及び／又は接点となってもよい環境検出部９０８を含む。いくつかの実施態様では、処理ユニット９０６は、電子機器のマイクロフォン及びカメラのうちの１つ以上が塞がっていることを検出することで、電子機器が実質的な閉鎖空間内にあるか（例えば、環境検出部９０８で）判定し、電子機器が実質的な閉鎖空間内にあることを判定すると、ボイストリガを第２のモードに（例えば、モード切り換えユニット９１０で）切り換えるよう構成されている。
【０１４１】
いくつかの実施態様では、処理ユニットは、電子機器が所定の向きにあるか（例えば、環境検出部９０８で）判定し、電子機器が所定の向きにあることを判定すると、ボイストリガの所定のモードを（例えば、モード切り換えユニット９１０で）有効にするよう構成されている。
【０１４２】
いくつかの実施によれば、図１０は、前述のように本発明の原理にしたがって構成された電子機器１０００の機能ブロック図を示す。この機器の機能ブロックは、本発明の原理を実行するためのハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの組み合わせにより実施することができる。図１０に述べられる機能ブロックは、上記に述べたような本発明の原理を実施するために、組み合わせるか、又はサブブロックに分割することができることが当業者によって理解される。したがって、本明細書における説明は、あらゆる可能な組み合わせ若しくは分割、又は本明細書に述べられる更なる機能ブロックの定義を支持しうるものである。
【０１４３】
図１０に示すように、電子機器１０００は、ボイストリガユニット１００２を含む。ボイストリガユニット１００２は、様々な異なるモードにて動作され得る。第１のモードでは、ボイストリガユニットは、音入力を受け取り、特定の基準を満たすか判定する（例えば、リスニングモード）。第２のモードでは、ボイストリガユニット１００２は、音入力を受け取らず、及び／又は処理しない（例えば、スタンバイモード）。電子機器１０００はまた、ボイストリガユニット１００２に連結された処理ユニット１００６を含む。いくつかの実施態様では、処理ユニット１００６は、マイクロフォン及び／又はカメラ、及びモード切り換えユニット１０１０を含んでもよく、及び／又は接点となってもよい、環境検出部１００８を含む。
【０１４４】
処理ユニット１００６は、電子機器のマイクロフォン及びカメラのうちの１つ以上が塞がっていることを検出することで、電子機器が実質的な閉鎖空間内にあるか（例えば、環境検出部１００８で）判定し、電子機器が実質的な閉鎖空間内にあることを判定すると、ボイストリガを第２のモードに（例えば、モード切り換えユニット１０１０で）切り換えるよう構成されている。上述の説明は、説明目的のために、特定の実施態様を参照して説明した。しかし、上述の例示的な説明は、網羅的であること、又は、開示される実施態様を正確な形態に限定することを意図していない。上述の教示を考慮すれば、多くの修正及び変形が可能である。実施態様は、開示された思想の理念と実際の応用を最も良く説明するために、選択して説明し、それによって、当業者が、考えられる特定の用途に適した様々な変更を加えて、それを最も良く利用することができるようにしたものである。
【０１４５】
当然のことながら、「第１」、「第２」などの用語は、様々な要素を説明するために本明細書で使用することができるが、これらの要素はこれらの用語によって限定されるべきではないことを理解されたい。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、「第１の音検出器」のすべての出現について一貫して名前が変更され、「第２の音検出器」のすべての出現について一貫して名前が変更される限り、説明の意味を変えることなく、第１の音検出器は第２の音検出器と呼ぶことができ、同様に、第２の音検出器は第１の音検出器と呼ぶことができる。第１の音検出器及び第２の音検出器は双方とも音検出器であるが、同じ音検出器ではない。
【０１４６】
本明細書で使用される用語は、特定の実施態様を説明する目的のためであり、特許請求の範囲を限定することを意図するものではない。説明される実施態様の説明及び添付の特許請求の範囲で使用されるように、単数形の「ａ」、「ａｎ」、及び「ｔｈｅ」は、文脈がそうではないことを明確に示さない限り、複数形もまた含むことを意図している。本明細書で使用される時に、用語「及び／又は」が、関連する列挙された項目のうちの１つ以上の任意のすべての可能な組合せを指し、かつこれを含むことをもまた理解されたい。用語「ｃｏｍｐｒｉｓｅｓ（含む）」及び／又は「ｃｏｍｐｒｉｓｉｎｇ（含む）」が、本明細書で使用される場合、述べられた特徴、整数、ステップ、動作、要素、及び／又は構成要素の存在を指定するが、１つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び／又はそれらのグループの存在又は追加を除外しないことを更に理解されたい。本明細書で使用される時には、用語「ｉｆ」は、文脈に応じて、「時」又は「際に」又は、先に述べた条件が正しいとの「判定に応じて」又は「判定にしたがって」、「検出に応じて」を意味するものと解釈できる。同様に、「［先に述べた条件が正しい］と判定される場合」又は「［先に述べた条件が正しい］場合」、又は「［先に述べた条件が正しい］時」というフレーズは、先に述べた条件が正しいとの「判定に際して」、「の判定に際して」又は「判定に応じて」又は「判定にしたがって」又は「検出した際に」又は「検出に応じて」ということを意味するものと解釈できる。
【図１】
2020009463.tif 000003
【図２】
2020009463.tif 000004
【図３Ａ】
2020009463.tif 000005
【図３Ｂ】
2020009463.tif 000006
【図３Ｃ】
2020009463.tif 000007
【図４】
2020009463.tif 000008
【図５】
2020009463.tif 000009
【図６】
2020009463.tif 000010
【図７】
2020009463.tif 000011
【図８】
2020009463.tif 000012
【図９】
2020009463.tif 000013
【手続補正書】
【提出日】令和1年9月12日(2019.9.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
１つ以上のプロセッサと前記１つ以上のプロセッサによる実行のための命令を記憶するメモリとを含む電子機器で実行される、ボイストリガを動作させるための方法であって、
ボイストリガを第１モードで動作させることと、
前記電子機器のマイクロフォン及びカメラのうちの１つ以上が塞がっていることを検出することによって、前記電子機器が実質的な閉鎖空間内にあるかどうかを判定することと、
前記電子機器が実質的な閉鎖空間内にあることを判定すると、前記ボイストリガを第２モードに切り換えるための命令を生成することと、
前記命令に基づいて前記ボイストリガを前記第２モードに切り替えることと、
を有する方法。
【請求項２】
請求項１に記載の方法であって、前記第２モードはスタンバイモードである、方法。
【請求項３】
請求項１又は２に記載の方法であって、前記第１モードはリスニングモードである、方法。
【請求項４】
請求項１乃至３の何れか１項に記載の方法であって、前記電子機器のマイクロフォン及びカメラのうちの前記１つ以上が塞がっていることを検出することは、前記実質的な閉鎖空間の音の特性を判定することを含む、方法。
【請求項５】
請求項１乃至４の何れか１項に記載の方法であって、前記電子機器のマイクロフォン及びカメラのうちの前記１つ以上が塞がっていることを検出することは、前記カメラが焦点の合った画像を取得できるかどうかを判定することを含む、方法。
【請求項６】
請求項１乃至５の何れか１項に記載の方法であって、前記電子機器のマイクロフォン及びカメラのうちの前記１つ以上が塞がっていることを検出することは、前記カメラによって検出される光の量を判定することを含む、方法。
【請求項７】
１つ以上のプロセッサと前記１つ以上のプロセッサによる実行のための命令を記憶するメモリとを含む電子機器で実行される、ボイストリガを動作させるための方法であって、
前記電子機器が所定の向きであるかどうかを判定することと、
前記電子機器が前記所定の向きであることを判定すると、ボイストリガの所定のモードを有効にするための命令を生成することと、
前記命令に基づいて前記ボイストリガの前記所定のモードを有効にすることと、
を有する方法。
【請求項８】
請求項７に記載の方法であって、前記所定の向きは、前記電子機器のディスプレイが実質的に水平で下向きであることに対応し、前記所定のモードはスタンバイモードである、方法。
【請求項９】
請求項７に記載の方法であって、前記所定の向きは、前記電子機器のディスプレイが実質的に水平で上向きであることに対応し、前記所定のモードはリスニングモードである、方法。
【請求項１０】
請求項７乃至９の何れか１項に記載の方法であって、前記ボイストリガに関連するトリガフレーズは、前記所定の向きに基づく、方法。
【請求項１１】
請求項７乃至１０の何れか１項に記載の方法であって、前記電子機器が所定の向きであるかどうかを判定することは、１つ以上の光センサを用いて前記電子機器の向きを判定することを含む、方法。
【請求項１２】
請求項１乃至６の何れか１項に記載の方法をコンピュータに実行させるコンピュータプログラム。
【請求項１３】
電子機器であって、
請求項１２に記載のコンピュータプログラムを記憶するメモリと、
前記メモリに記憶された前記コンピュータプログラムを実行可能な１つ以上のプロセッサと、
を備える電子機器。
【請求項１４】
請求項１乃至６の何れか１項に記載の方法を実行するための手段を備える電子機器。
【請求項１５】
請求項７乃至１１の何れか１項に記載の方法をコンピュータに実行させるコンピュータプログラム。
【請求項１６】
電子機器であって、
請求項１５に記載のコンピュータプログラムを記憶するメモリと、
前記メモリに記憶された前記コンピュータプログラムを実行可能な１つ以上のプロセッサと、
を備える電子機器。
【請求項１７】
請求項７乃至１１の何れか１項に記載の方法を実行するための手段を備える電子機器。
【外国語明細書】
2020009463000001.pdf