(57)【要約】      （修正有）【課題】デジタルアシスタントに、タスク実行を容易に指示することが可能なユーザーインタフェースを提供する。【解決手段】ディスプレイ８０１及び１つ以上の入力デバイス（タッチスクリーン、ボタン、マイクロフォン）を含む電子デバイス８００において、ディスプレイ上に、タスクに関連付けられている提案アフォーダンス８０６を含むユーザインタフェース８０４を表示することと、１つ以上の入力デバイスを介して、その提案アフォーダンスの選択に対応する第１のユーザ入力を検出することと、第１のユーザ入力の検出に応答して、そのタスクが第１のタイプのタスクであるという判定に従って、そのタスクを実行することと、そのタスクが第１のタイプとは異なる第２のタイプのタスクであるという判定に従って、確認アフォーダンスを含む確認インタフェースを表示することとを含む。【選択図】図８Ａ
2019212266.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
ディスプレイ及びタッチ感知面を有する電子デバイスにおいて、
前記ディスプレイ上に、タスクに関連付けられている提案アフォーダンスを含むユーザインタフェースを表示することと、
１つ以上の入力デバイスを介して、前記提案アフォーダンスの選択に対応する第１のユーザ入力を検出することと、
前記第１のユーザ入力の検出に応答して、
前記タスクが第１のタイプのタスクであるという判定に従って、前記タスクを実行することと、
前記タスクが前記第１のタイプとは異なる第２のタイプのタスクであるという判定に従って、確認アフォーダンスを含む確認インタフェースを表示することと、
を含む、方法。
【請求項２】
前記ディスプレイ上に、タスクに関連付けられている提案アフォーダンスを含むユーザインタフェースを表示することが、
前記タスクが前記第１のタイプのタスクであることに従って、グリフを有する前記提案アフォーダンスを表示することと、
前記タスクが前記第２のタイプのタスクであることに従って、グリフを有さない前記提案アフォーダンスを表示することと、を含む、請求項１に記載の方法。
【請求項３】
前記ディスプレイ上に、タスクに関連付けられている提案アフォーダンスを含むユーザインタフェースを表示することが、
前記タスクが第１のタスクのセットに対応しているという判定に従って、第１のタイプのグリフを有する前記提案アフォーダンスを表示することと、
前記タスクが前記第１のタスクのセットとは異なる第２のタスクのセットに対応しているという判定に従って、前記第１のタイプとは異なる第２のタイプのグリフを有する前記提案アフォーダンスを表示することと、
前記タスクが前記第１のタスクのセットに対応しておらず、かつ前記第２のタスクのセットに対応していないという判定に従って、グリフを有さない前記提案アフォーダンスを表示することと、を含む、請求項１に記載の方法。
【請求項４】
前記確認インタフェースを表示している間に、
前記確認アフォーダンスの選択に対応する第２のユーザ入力を検出することと、
前記第２のユーザ入力の検出に応答して、前記タスクを実行することと、
を更に含む、請求項１から３のいずれか一項に記載の方法。
【請求項５】
前記確認インタフェースが、アプリケーションアフォーダンスを含み、前記方法は、
前記アプリケーションアフォーダンスの選択に対応する第３のユーザ入力を検出することと、
前記第３のユーザ入力の検出に応答して、前記タスクに関連付けられているアプリケーションを実行することと、を更に含む、請求項１から３のいずれか一項に記載の方法。
【請求項６】
前記提案アフォーダンスが、前記タスクの実行に影響を及ぼすパラメータの視覚的インジケーションを含み、
前記タスクに関連付けられている前記アプリケーションを実行することが、前記アプリケーションに前記パラメータをプリロードすることを含む、
請求項５に記載の方法。
【請求項７】
前記確認インタフェースが、キャンセルアフォーダンスを含み、前記方法は、
前記キャンセルアフォーダンスの選択に対応する第４のユーザ入力を検出することと、
前記第４のユーザ入力の検出に応答して、前記タスクの実行を取り止めることと、を更に含む、請求項１から３のいずれか一項に記載の方法。
【請求項８】
前記ユーザインタフェースが、通知を更に含み、
前記提案アフォーダンスが、第１の方式で表示され、前記通知が、前記第１の方式とは異なる第２の方式で表示される、
請求項１から７のいずれか一項に記載の方法。
【請求項９】
前記第１のユーザ入力が、第１のタイプの入力であり、前記方法は、
前記ユーザインタフェースを表示している間に、前記提案アフォーダンスの選択に対応する第２のタイプのユーザ入力を検出することであって、前記第２のタイプが、前記第１のタイプとは異なることと、
前記第２のタイプの前記ユーザ入力の検出に応答して、前記確認インタフェースを表示することと、を更に含む、請求項１から８のいずれか一項に記載の方法。
【請求項１０】
前記タスクが第１のタイプのタスクであるか否かを判定することを更に含む、
請求項１から９のいずれか一項に記載の方法。
【請求項１１】
前記タスクが第１のタイプのタスクであるか否かを判定することが、前記タスクに関連付けられている１つ以上のパラメータが、有効であるか否かを判定することを含む、請求項１０に記載の方法。
【請求項１２】
前記タスクを実行することが、前記タスクを別の電子デバイスによって実行させることを含む、請求項１から１０のいずれか一項に記載の方法。
【請求項１３】
前記ユーザインタフェースが、ロック画面ユーザインタフェース、検索ユーザインタフェース、又はデジタルアシスタントユーザインタフェースである、請求項１から１２のいずれか一項に記載の方法。
【請求項１４】
第１のタスク候補のセットを決定することと、
前記第１のタスク候補のセットから前記タスクを特定することと、を更に含み、
前記タスクが、タスク提案基準を前記電子デバイスのコンテキストが満たしているという判定に基づいて特定される、
請求項１から１３のいずれか一項に記載の方法。
【請求項１５】
前記ディスプレイ上に、前記ユーザインタフェースを表示する前に、
前記電子デバイスの第１のコンテキストに基づいて、コンテキスト基準が満たされているか否かを判定することと、
前記コンテキスト基準が満たされているという判定に従って、第１のタスク候補のセットを決定することと、
前記電子デバイスの第２のコンテキストに基づいて、ヒューリスティック基準が満たされているか否かを判定することと、
前記ヒューリスティック基準が満たされているという判定に従って、
前記第１のタスク候補のセットとは異なる第２のタスク候補のセットを決定することと、
前記第２のタスク候補のセットから前記タスクを特定することと、
前記ヒューリスティック基準が満たされておらず、前記コンテキスト基準が満たされているという判定に従って、
前記第１のタスク候補のセットから前記タスクを特定することと、
前記ヒューリスティック基準が満たされておらず、かつ前記コンテキスト基準が満たされていないという判定に従って、
前記第１のタスク候補のセットを決定することを取り止めることと、
前記第２のタスク候補のセットを決定することを取り止めることと、
を更に含む、請求項１から１４のいずれか一項に記載の方法。
【請求項１６】
ユーザインタフェースを表示することが、
前記電子デバイスがロック状態にあるという判定に従って、第１の視覚状態で前記提案アフォーダンスを表示することと、
前記電子デバイスがロック状態ではないという判定に従って、前記第１の視覚状態とは異なる第２の視覚状態で前記提案アフォーダンスを表示することと、を含む、請求項１から１５のいずれか一項に記載の方法。
【請求項１７】
１つ以上のプロセッサと、
メモリと、
１つ以上のプログラムと、
を備える電子デバイスであって、前記１つ以上のプログラムが、前記メモリ内に記憶され、前記１つ以上のプロセッサによって実行されるように構成されており、前記１つ以上のプログラムが、
ディスプレイ上に、タスクに関連付けられている提案アフォーダンスを含むユーザインタフェースを表示し、
１つ以上の入力デバイスを介して、前記提案アフォーダンスの選択に対応する第１のユーザ入力を検出し、
前記第１のユーザ入力の検出に応答して、
前記タスクが第１のタイプのタスクであるという判定に従って、前記タスクを実行し、
前記タスクが前記第１のタイプとは異なる第２のタイプのタスクであるという判定に従って、確認アフォーダンスを含む確認インタフェースを表示する、命令を含む、電子デバイス。
【請求項１８】
１つ以上のプログラムを記憶している非一時的コンピュータ可読記憶媒体であって、前記１つ以上のプログラムが、命令を含み、前記命令が、電子デバイスの１つ以上のプロセッサによって実行されると、前記電子デバイスに、
タスクに関連付けられている提案アフォーダンスを含むユーザインタフェースを、ディスプレイ上に表示させ、
１つ以上の入力デバイスを介して、前記提案アフォーダンスの選択に対応する第１のユーザ入力を検出させ、
前記第１のユーザ入力の検出に応答して、
前記タスクが第１のタイプのタスクであるという判定に従って、前記タスクを実行させ、
前記タスクが前記第１のタイプとは異なる第２のタイプのタスクであるという判定に従って、確認アフォーダンスを含む確認インタフェースを表示させる、非一時的コンピュータ可読記憶媒体。
【請求項１９】
ディスプレイ上に、タスクに関連付けられている提案アフォーダンスを含むユーザインタフェースを表示するための手段と、
１つ以上の入力デバイスを介して、前記提案アフォーダンスの選択に対応する第１のユーザ入力を検出するための手段と、
前記第１のユーザ入力の検出に応答して、
前記タスクが第１のタイプのタスクであるという判定に従って、前記タスクを実行し、
前記タスクが前記第１のタイプとは異なる第２のタイプのタスクであるという判定に従って、確認アフォーダンスを含む確認インタフェースを表示するための手段と、
を備える、電子デバイス。
【請求項２０】
１つ以上のプロセッサと、
メモリと、
１つ以上のプログラムと、
を備える電子デバイスであって、前記１つ以上のプログラムが、前記メモリ内に記憶され、前記１つ以上のプロセッサによって実行されるように構成されており、前記１つ以上のプログラムが、請求項１から１６のいずれか一項に記載の方法を実行する命令を含む、電子デバイス。
【請求項２１】
１つ以上のプログラムを記憶している非一時的コンピュータ可読記憶媒体であって、前記１つ以上のプログラムが、命令を含み、前記命令が、電子デバイスの１つ以上のプロセッサによって実行されると、前記電子デバイスに、請求項１から１６のいずれか一項に記載の方法を実行させる、非一時的コンピュータ可読記憶媒体。
【請求項２２】
請求項１から１６のいずれか一項に記載の方法を実行するための手段を備える、
電子デバイス。
【請求項２３】
ディスプレイ、オーディオ入力デバイス、及びタッチ感知面を有する電子デバイスにおいて、
タスクに関連付けられたタスク候補アフォーダンスを含む、複数のタスク候補アフォーダンスを表示することと、
前記タスクに関連付けられた前記タスク候補アフォーダンスの選択に対応する第１のユーザ入力を含む、入力のセットを検出することと、
ユーザ入力の前記セットの検出に応答して、前記タスクに関連付けられる音声ショートカットを生成するための第１のインタフェースを表示することと、
前記第１のインタフェースを表示している間に、
前記オーディオ入力デバイスによって自然言語発話入力を受信することと、
前記第１のインタフェース内に、前記自然言語発話入力に基づく候補フレーズを表示することと、
前記候補フレーズを表示した後に、前記タッチ感知面を介して、第２のユーザ入力を検出することと、
前記第２のユーザ入力の検出に応答して、前記候補フレーズを前記タスクに関連付けることと、
を含む、方法。
【請求項２４】
前記候補フレーズを前記タスクに関連付けることが、
前記候補フレーズを第１のアクションに関連付けることと、
前記候補フレーズを第２のアクションに関連付けることと、を含む、請求項２３に記載の方法。
【請求項２５】
前記オーディオ入力デバイスによって、ユーザ発話入力を受信することと、
前記ユーザ発話入力が前記候補フレーズを含むか否かを判定することと、
前記ユーザ発話入力が前記候補フレーズを含むという判定に従って、前記タスクを実行することと、
前記ユーザ発話入力が前記候補フレーズを含まないという判定に従って、前記タスクを実行することを取り止めることと、
を更に含む、請求項２３又は２４に記載の方法。
【請求項２６】
タスクに関連付けられたタスク候補アフォーダンスを含む、複数のタスク候補アフォーダンスを表示することが、前記複数のタスク候補アフォーダンスを含むアプリケーションインタフェースを表示することを含む、請求項２３から２５のいずれか一項に記載の方法。
【請求項２７】
前記自然言語発話入力を受信している間に、前記自然言語発話入力のライブプレビューを提供することを更に含む、
請求項２３から２６のいずれか一項に記載の方法。
【請求項２８】
前記自然言語発話入力の前記ライブプレビューが、前記自然言語発話入力の視覚波形である、請求項２７に記載の方法。
【請求項２９】
前記自然言語発話入力の受信に応答して、前記自然言語発話入力に基づいて前記候補フレーズを決定することを更に含む、
請求項２３から２８のいずれか一項に記載の方法。
【請求項３０】
前記自然言語発話入力に基づいて前記候補フレーズを決定することが、自然言語処理を使用して前記候補フレーズを決定することを含む、請求項２９に記載の方法。
【請求項３１】
前記自然言語発話入力に基づいて前記候補フレーズを決定することが、
前記自然言語発話入力を別の電子デバイスに提供することと、
前記別の電子デバイスから前記候補フレーズの表現を受信することと、を含む、請求項２９又は３０に記載の方法。
【請求項３２】
前記候補フレーズを前記タスクに関連付けた後に、編集アフォーダンスを含む第２のインタフェースを表示することと、
前記編集アフォーダンスの選択を示す第３のユーザ入力を検出することと、
前記第３のユーザ入力の検出に応答して、前記候補フレーズに対応する第１の候補フレーズアフォーダンスと、別の候補フレーズに対応する第２の候補フレーズアフォーダンスとを含む、複数の候補フレーズアフォーダンスを表示することであって、前記別の候補フレーズが前記自然言語発話入力に基づくものであることと、
を更に含む、請求項２３から３１のいずれか一項に記載の方法。
【請求項３３】
前記第２の候補フレーズアフォーダンスの選択を示す第４のユーザ入力を含む、別の入力のセットを検出することと、
前記別の入力のセットの検出に応答して、前記別の候補フレーズを前記タスクに関連付けることと、
を更に含む、請求項３２に記載の方法。
【請求項３４】
前記第１のユーザ入力に応答して、前記タスクに関連付けられた第４のインタフェースを表示することを更に含み、前記第４のインタフェースが、第１の提案音声ショートカットフレーズを含む、
請求項２３から３３のいずれか一項に記載の方法。
【請求項３５】
前記第１のインタフェースを表示している間に、前記自然言語発話入力が閾値時間内に受信されたか否かを判定することと、
前記自然言語発話入力が前記閾値時間内に受信されなかったという判定に従って、前記第１のインタフェース上に、第２の提案音声ショートカットフレーズを表示することと、
を更に含む、請求項２３から３４のいずれか一項に記載の方法。
【請求項３６】
前記候補フレーズを前記タスクに関連付けた後に、第５の入力を検出することと、
前記第５のユーザ入力の検出に応答して、別の複数のタスク候補アフォーダンスを表示することであって、前記別の複数のタスク候補アフォーダンスが、前記タスクに関連付けられた前記タスク候補アフォーダンスを含まないことと、
を更に含む、請求項２３から３５のいずれか一項に記載の方法。
【請求項３７】
前記自然言語発話入力に基づいて前記候補フレーズを決定することが、
前記自然言語発話入力が、フレーズ類似性基準を満たしているか否かを判定することと、
前記自然言語発話入力が前記フレーズ類似性基準を満たしているという判定に従って、前記自然言語発話入力が前記フレーズ類似性基準を満たしているということを示すことと、を含む、請求項２９から３６のいずれか一項に記載の方法。
【請求項３８】
前記候補フレーズを別の電子デバイスに提供することを更に含む、
請求項２３から３７のいずれか一項に記載の方法。
【請求項３９】
１つ以上のプロセッサと、
メモリと、
１つ以上のプログラムと、
を備える電子デバイスであって、前記１つ以上のプログラムが、前記メモリ内に記憶され、前記１つ以上のプロセッサによって実行されるように構成されており、前記１つ以上のプログラムが、
タスクに関連付けられたタスク候補アフォーダンスを含む、複数のタスク候補アフォーダンスを表示し、
前記タスクに関連付けられた前記タスク候補アフォーダンスの選択に対応する第１のユーザ入力を含む、入力のセットを検出し、
ユーザ入力の前記セットの検出に応答して、前記タスクに関連付けられる音声ショートカットを生成するための第１のインタフェースを表示し、
前記第１のインタフェースを表示している間に、
オーディオ入力デバイスによって自然言語発話入力を受信し、
前記第１のインタフェース内に、前記自然言語発話入力に基づく候補フレーズを表示し、
前記候補フレーズを表示した後に、タッチ感知面を介して、第２のユーザ入力を検出し、
前記第２のユーザ入力の検出に応答して、前記候補フレーズを前記タスクに関連付ける、命令を含む、電子デバイス。
【請求項４０】
１つ以上のプログラムを記憶している非一時的コンピュータ可読記憶媒体であって、前記１つ以上のプログラムが、命令を含み、前記命令が、電子デバイスの１つ以上のプロセッサによって実行されると、前記電子デバイスに、
タスクに関連付けられたタスク候補アフォーダンスを含む、複数のタスク候補アフォーダンスを表示させ、
前記タスクに関連付けられた前記タスク候補アフォーダンスの選択に対応する第１のユーザ入力を含む、入力のセットを検出させ、
ユーザ入力の前記セットの検出に応答して、前記タスクに関連付けられる音声ショートカットを生成するための第１のインタフェースを表示させ、
前記第１のインタフェースを表示している間に、
オーディオ入力デバイスによって自然言語発話入力を受信させ、
前記第１のインタフェース内に、前記自然言語発話入力に基づく候補フレーズを表示させ、
前記候補フレーズを表示した後に、タッチ感知面を介して、第２のユーザ入力を検出させ、
前記第２のユーザ入力の検出に応答して、前記候補フレーズを前記タスクに関連付けさせる、非一時的コンピュータ可読記憶媒体。
【請求項４１】
タスクに関連付けられたタスク候補アフォーダンスを含む、複数のタスク候補アフォーダンスを表示するための手段と、
前記タスクに関連付けられた前記タスク候補アフォーダンスの選択に対応する第１のユーザ入力を含む、入力のセットを検出するための手段と、
ユーザ入力の前記セットの検出に応答して、前記タスクに関連付けられる音声ショートカットを生成するための第１のインタフェースを表示するための手段と、
前記第１のインタフェースを表示している間に、
オーディオ入力デバイスによって自然言語発話入力を受信し、
前記第１のインタフェース内に、前記自然言語発話入力に基づく候補フレーズを表示するための手段と、
前記候補フレーズを表示した後に、タッチ感知面を介して、第２のユーザ入力を検出するための手段と、
前記第２のユーザ入力の検出に応答して、前記候補フレーズを前記タスクに関連付けるための手段と、
を備える、電子デバイス。
【請求項４２】
１つ以上のプロセッサと、
メモリと、
１つ以上のプログラムと、
を備える電子デバイスであって、前記１つ以上のプログラムが、前記メモリ内に記憶され、前記１つ以上のプロセッサによって実行されるように構成されており、前記１つ以上のプログラムが、請求項２３から３８のいずれか一項に記載の方法を実行する命令を含む、電子デバイス。
【請求項４３】
１つ以上のプログラムを記憶している非一時的コンピュータ可読記憶媒体であって、前記１つ以上のプログラムが、命令を含み、前記命令が、電子デバイスの１つ以上のプロセッサによって実行されると、前記電子デバイスに、請求項２３から３８のいずれか一項に記載の方法を実行させる、非一時的コンピュータ可読記憶媒体。
【請求項４４】
請求項２３〜３８のいずれか一項に記載の方法を実行するための手段を備える、
電子デバイス。
【請求項４５】
ディスプレイ及びタッチ感知面を有する電子デバイスにおいて、
前記電子デバイスに関連付けられたコンテキストデータを受信することと、
前記コンテキストデータに基づいて、タスクに関するタスク確率を判定することと、
前記コンテキストデータに基づいて、前記タスクに関連付けられているパラメータに関するパラメータ確率を判定することと、
前記タスク確率及び前記パラメータ確率に基づいて、前記タスクが提案基準を満たしているか否かを判定することと、
前記タスクが前記提案基準を満たしているという判定に従って、前記ディスプレイ上に、前記タスク及び前記パラメータに対応する提案アフォーダンスを表示することと、
前記タスクが前記提案基準を満たしていないという判定に従って、前記提案アフォーダンスを表示することを取り止めることと、
を含む、方法。
【請求項４６】
前記ディスプレイ上に、前記タスク及び前記パラメータに対応する提案アフォーダンスを表示することが、
前記タスクが第１の提案基準のセットを満たしているという判定に従って、第１のユーザインタフェース上に前記提案アフォーダンスを表示することと、
前記タスクが第２の提案基準のセットを満たしているという判定に従って、前記第１のユーザインタフェースとは異なる第２のユーザインタフェース上に前記提案アフォーダンスを表示することと、を含む、請求項４５に記載の方法。
【請求項４７】
前記電子デバイスに関連付けられたコンテキストデータを受信することが、
前記タスクを実行している間に、前記電子デバイスのコンテキストを判定することを含む、請求項４５又は４６に記載の方法。
【請求項４８】
前記電子デバイスのコンテキストを判定することが、前記電子デバイスの位置を判定すること、前記電子デバイスがネットワークに接続されているか否かを判定すること、時刻を判定すること、又はこれらの任意の組み合わせを含む、請求項４７に記載の方法。
【請求項４９】
前記コンテキストデータに基づいて、タスクに関するタスク確率を特定することが、複数のコンテキストタイプのそれぞれに関して、前記コンテキストデータに基づいて、前記タスクに対応するヒストグラムを生成することを含む、請求項４５から４８のいずれか一項に記載の方法。
【請求項５０】
前記タスク確率が第１のタスク確率であり、前記タスクが第１のタスクであり、前記パラメータ確率が第１のパラメータであり、前記パラメータが第１のパラメータであり、前記方法は、
前記コンテキストデータに基づいて、第２のタスクに関する第２のタスク確率を判定することと、
前記コンテキストデータに基づいて、前記第２のタスクに関連付けられている第２のパラメータに関するパラメータ確率を判定することと、
前記第２のタスク確率及び前記第２のパラメータ確率に基づいて、前記第２のタスクが前記提案基準を満たしているか否かを判定することと、
を更に含む、請求項４５から４９のいずれか一項に記載の方法。
【請求項５１】
前記コンテキストデータに基づいて、パラメータに関するパラメータ確率を判定することが、前記電子デバイスの現在のコンテキストを判定することと、
前記電子デバイスの前記現在のコンテキストに基づいて、前記パラメータ確率を判定することと、を含む、請求項４５から５０のいずれか一項に記載の方法。
【請求項５２】
前記タスク確率が、パラメータ非依存性である、請求項４５から５１のいずれか一項に記載の方法。
【請求項５３】
コンテキストデータを受信することが、前記タスク、及び前記タスクに関連付けられている１つ以上のパラメータに対応する、データ構造を受信することを含む、請求項４５から５２のいずれか一項に記載の方法。
【請求項５４】
前記提案アフォーダンスが第１の提案アフォーダンスであり、前記タスク確率及び前記パラメータ確率に基づいて、前記タスクが提案基準を満たしているか否かを判定することが、ヒューリスティック基準が満たされているか否かを判定することを含み、前記方法は、
前記ヒューリスティック基準が満たされているという判定に従って、別のタスクに対応する第２の選択アフォーダンスを表示することを更に含む、請求項４５から５３のいずれか一項に記載の方法。
【請求項５５】
前記提案アフォーダンスを表示した後に、
前記提案アフォーダンスの選択に対応する第１のユーザ入力を検出することと、
前記第１のユーザ入力の検出に応答して、選択的に前記タスクを実行することと、
を更に含む、請求項４５から５４のいずれか一項に記載の方法。
【請求項５６】
選択的に前記タスクを実行することが、
前記タスクが第１のタイプのタスクであるという判定に従って、前記タスクを実行することと、
前記タスクが第２のタイプのタスクであるという判定に従って、確認アフォーダンスを含む確認インタフェースを表示することと、を含む、請求項５５に記載の方法。
【請求項５７】
１つ以上のプロセッサと、
メモリと、
１つ以上のプログラムと、
を備える電子デバイスであって、前記１つ以上のプログラムが、前記メモリ内に記憶され、前記１つ以上のプロセッサによって実行されるように構成されており、前記１つ以上のプログラムが、
前記電子デバイスに関連付けられたコンテキストデータを受信し、
前記コンテキストデータに基づいて、タスクに関するタスク確率を判定し、
前記コンテキストデータに基づいて、前記タスクに関連付けられているパラメータに関するパラメータ確率を判定し、
前記タスク確率及び前記パラメータ確率に基づいて、前記タスクが提案基準を満たしているか否かを判定し、
前記タスクが前記提案基準を満たしているという判定に従って、ディスプレイ上に、前記タスク及び前記パラメータに対応する提案アフォーダンスを表示し、
前記タスクが前記提案基準を満たしていないという判定に従って、前記提案アフォーダンスを表示することを取り止める、命令を含む、電子デバイス。
【請求項５８】
１つ以上のプログラムを記憶している非一時的コンピュータ可読記憶媒体であって、前記１つ以上のプログラムが、命令を含み、前記命令が、電子デバイスの１つ以上のプロセッサによって実行されると、前記電子デバイスに、
前記電子デバイスに関連付けられたコンテキストデータを受信させ、
前記コンテキストデータに基づいて、タスクに関するタスク確率を判定させ、
前記コンテキストデータに基づいて、前記タスクに関連付けられているパラメータに関するパラメータ確率を判定させ、
前記タスク確率及び前記パラメータ確率に基づいて、前記タスクが提案基準を満たしているか否かを判定させ、
前記タスクが前記提案基準を満たしているという判定に従って、ディスプレイ上に、前記タスク及び前記パラメータに対応する提案アフォーダンスを表示させ、
前記タスクが前記提案基準を満たしていないという判定に従って、前記提案アフォーダンスを表示することを取り止めさせる、非一時的コンピュータ可読記憶媒体。
【請求項５９】
電子デバイスであって、
前記電子デバイスに関連付けられたコンテキストデータを受信するための手段と、
前記コンテキストデータに基づいて、タスクに関するタスク確率を判定するための手段と、
前記コンテキストデータに基づいて、前記タスクに関連付けられているパラメータに関するパラメータ確率を判定するための手段と、
前記タスク確率及び前記パラメータ確率に基づいて、前記タスクが提案基準を満たしているか否かを判定するための手段と、
前記タスクが前記提案基準を満たしているという判定に従って、ディスプレイ上に、前記タスク及び前記パラメータに対応する提案アフォーダンスを表示するための手段と、
前記タスクが前記提案基準を満たしていないという判定に従って、前記提案アフォーダンスを表示することを取り止めるための手段と、
を備える、電子デバイス。
【請求項６０】
１つ以上のプロセッサと、
メモリと、
１つ以上のプログラムと、
を備える電子デバイスであって、前記１つ以上のプログラムが、前記メモリ内に記憶され、前記１つ以上のプロセッサによって実行されるように構成されており、前記１つ以上のプログラムが、請求項４５から５６のいずれか一項に記載の方法を実行する命令を含む、電子デバイス。
【請求項６１】
１つ以上のプログラムを記憶している非一時的コンピュータ可読記憶媒体であって、前記１つ以上のプログラムが、命令を含み、前記命令が、電子デバイスの１つ以上のプロセッサによって実行されると、前記電子デバイスに、請求項４５から５６のいずれか一項に記載の方法を実行させる、非一時的コンピュータ可読記憶媒体。
【請求項６２】
請求項４５から５６のいずれか一項に記載の方法を実行するための手段を備える、
電子デバイス。
【請求項６３】
ディスプレイ及びタッチ感知面を有する電子デバイスにおいて、
自然言語発話入力を受信することと、
前記自然言語発話入力が音声ショートカット基準を満たしているか否かを判定することと、
前記自然言語発話入力が前記音声ショートカット基準を満たしているという判定に従って、
前記音声ショートカットに関連付けられているタスクを特定することと、
前記音声ショートカットに関連付けられている前記タスクを実行することと、
前記自然言語発話入力が前記音声ショートカット基準を満たしていないという判定に従って、
前記自然言語発話入力に関連付けられるタスクを特定することと、
前記自然言語発話入力に関連付けられる前記タスクを実行することと、
を含む、方法。
【請求項６４】
前記自然言語発話入力が音声ショートカット基準を満たしているか否かを判定することが、
前記自然言語発話入力の表現を別の電子デバイスに提供することと、
前記別の電子デバイスから、音声ショートカット又はタスクの少なくとも一方を受信することと、を含む、請求項６３に記載の方法。
【請求項６５】
前記音声ショートカットに関連付けられている前記タスクを実行することが、
第１のアプリケーションに第１のタスクを実行させることと、
第２のアプリケーションに、前記第１のタスクとは異なる第２のタスクを実行させることと、を含む、請求項６３又は６４に記載の方法。
【請求項６６】
前記タスクが成功したか否かを示す、自然言語出力を提供することを更に含む、
請求項６３から６５のいずれか一項に記載の方法。
【請求項６７】
前記音声ショートカットに関連付けられている前記タスクを実行することが、第三者アプリケーションに前記タスクを実行させることを含み、
前記自然言語出力を提供することが、
前記第三者アプリケーションから応答を受信することと、
前記第三者アプリケーションから受信された前記応答に基づいて、前記自然言語出力を生成することと、を含む、
請求項６６に記載の方法。
【請求項６８】
前記自然言語出力が、音声発話出力である、請求項６６又は６７に記載の方法。
【請求項６９】
自然言語発話入力を受信することが、第２の電子デバイスから、前記自然言語発話入力の表現を受信することを含む
請求項６３から６８のいずれか一項に記載の方法。
【請求項７０】
第２の電子デバイスから前記自然言語発話入力の表現を受信することが、マルチホップネットワークを介して、前記自然言語発話入力の前記表現を受信することを含む、請求項６９に記載の方法。
【請求項７１】
前記音声ショートカットに関連付けられている前記タスクを実行することが、
前記音声ショートカットに関連付けられている前記タスクが、第１のタイプのタスクであるか否かを判定することと、
前記音声ショートカットが前記第１のタイプのタスクであるという判定に従って、前記電子デバイスを使用して、前記タスクを実行することと、
前記音声ショートカットが、前記第１のタイプとは異なる第２のタイプのタスクであるという判定に従って、第３の電子デバイスを使用して、前記タスクを実行させることと、を含む、請求項６３から７０のいずれか一項に記載の方法。
【請求項７２】
前記自然言語発話入力が、音声トリガを含む、請求項６３から７１のいずれか一項に記載の方法。
【請求項７３】
１つ以上のプロセッサと、
メモリと、
１つ以上のプログラムと、
を備える電子デバイスであって、前記１つ以上のプログラムが、前記メモリ内に記憶され、前記１つ以上のプロセッサによって実行されるように構成されており、前記１つ以上のプログラムが、
自然言語発話入力を受信し、
前記自然言語発話入力が音声ショートカット基準を満たしているか否かを判定し、
前記自然言語発話入力が前記音声ショートカット基準を満たしているという判定に従って、
前記音声ショートカットに関連付けられているタスクを特定し、
前記音声ショートカットに関連付けられている前記タスクを実行し、
前記自然言語発話入力が前記音声ショートカット基準を満たしていないという判定に従って、
前記自然言語発話入力に関連付けられるタスクを特定し、
前記自然言語発話入力に関連付けられる前記タスクを実行する、命令を含む、電子デバイス。
【請求項７４】
１つ以上のプログラムを記憶している非一時的コンピュータ可読記憶媒体であって、前記１つ以上のプログラムが、命令を含み、前記命令が、電子デバイスの１つ以上のプロセッサによって実行されると、前記電子デバイスに、
自然言語発話入力を受信させ、
前記自然言語発話入力が音声ショートカット基準を満たしているか否かを判定させ、
前記自然言語発話入力が前記音声ショートカット基準を満たしているという判定に従って、
前記音声ショートカットに関連付けられているタスクを特定させ、
前記音声ショートカットに関連付けられている前記タスクを実行させ、
前記自然言語発話入力が前記音声ショートカット基準を満たしていないという判定に従って、
前記自然言語発話入力に関連付けられるタスクを特定させ、
前記自然言語発話入力に関連付けられる前記タスクを実行させる、非一時的コンピュータ可読記憶媒体。
【請求項７５】
自然言語発話入力を受信するための手段と、
前記自然言語発話入力が音声ショートカット基準を満たしているか否かを判定するための手段と、
前記自然言語発話入力が前記音声ショートカット基準を満たしているという判定に従って、
前記音声ショートカットに関連付けられているタスクを特定し、
前記音声ショートカットに関連付けられている前記タスクを実行するための手段と、
前記自然言語発話入力が前記音声ショートカット基準を満たしていないという判定に従って、
前記自然言語発話入力に関連付けられるタスクを特定し、
前記自然言語発話入力に関連付けられる前記タスクを実行するための手段と、
を備える、電子デバイス。
【請求項７６】
１つ以上のプロセッサと、
メモリと、
１つ以上のプログラムと、
を備える電子デバイスであって、前記１つ以上のプログラムが、前記メモリ内に記憶され、前記１つ以上のプロセッサによって実行されるように構成されており、前記１つ以上のプログラムが、請求項６３から７２のいずれか一項に記載の方法を実行する命令を含む、電子デバイス。
【請求項７７】
１つ以上のプログラムを記憶している非一時的コンピュータ可読記憶媒体であって、前記１つ以上のプログラムが、命令を含み、前記命令が、電子デバイスの１つ以上のプロセッサによって実行されると、前記電子デバイスに、請求項６３から７２のいずれか一項に記載の方法を実行させる、非一時的コンピュータ可読記憶媒体。
【請求項７８】
請求項６３から７２のいずれか一項に記載の方法を実行するための手段を備える、
電子デバイス。
【請求項７９】
ディスプレイ及びタッチ感知面を有する電子デバイスにおいて、
デジタルアシスタントを使用して、自然言語発話入力を受信することと、
前記自然言語発話入力に関連付けられている音声ショートカットを決定することと、
前記音声ショートカットに対応するタスクを決定することと、
前記タスクの実行をアプリケーションに開始させることと、
前記アプリケーションから、前記タスクに関連付けられている応答を受信することと、
前記応答に基づいて、前記タスクの実行が成功したか否かを判定することと、
前記タスクの実行が成功したか否かを示す出力を提供することと、
を含む、方法。
【請求項８０】
前記応答を受信した後に、前記アプリケーションに関連付けられているアプリケーションユーザインタフェースを表示することを更に含む、
請求項７９に記載の方法。
【請求項８１】
前記タスクの実行が成功したか否かを示す出力を提供することが、
前記タスクの実行が成功したという判定に従って、前記タスクの実行が成功したというインジケーションを表示することと、
前記タスクの実行が成功しなかったという判定に従って、前記タスクの実行が成功しなかったというインジケーションを表示することと、を含む、請求項７９又は８０に記載の方法。
【請求項８２】
前記タスクの実行が成功しなかったという判定に更に従って、失敗ユーザインタフェースを表示することを更に含む、
請求項８１に記載の方法。
【請求項８３】
前記失敗ユーザインタフェースが、再試行アフォーダンスを含み、前記方法は、
前記再試行アフォーダンスの選択に対応するユーザ入力を検出することと、
前記再試行アフォーダンスの選択に対応する前記ユーザ入力の検出に応答して、前記タスクの実行を前記アプリケーションに開始させることと、を更に含む、請求項８２に記載の方法。
【請求項８４】
前記失敗ユーザインタフェースが、キャンセルアフォーダンスを含み、前記方法は、
前記キャンセルアフォーダンスの選択に対応するユーザ入力を検出することと、
前記キャンセルアフォーダンスの選択に対応する前記ユーザ入力に応答して、前記失敗ユーザインタフェースの表示を中止することと、を更に含む、請求項８２又は８３に記載の方法。
【請求項８５】
前記失敗ユーザインタフェースが、アプリケーション起動アフォーダンスを含み、前記方法は、
前記アプリケーション起動アフォーダンスの選択に対応するユーザ入力を検出することと、
前記アプリケーション起動アフォーダンスの選択に対応する前記ユーザ入力に応答して、前記アプリケーションを起動することと、を更に含む、請求項８２から８４のいずれか一項に記載の方法。
【請求項８６】
前記タスクの実行が成功したという判定に更に従って、タスク成功アニメーションを表示することを更に含む、
請求項８１から８５のいずれか一項に記載の方法。
【請求項８７】
前記タスクの実行をアプリケーションに開始させることが、タスク実行アニメーションを表示することを含む、請求項７９から８６のいずれか一項に記載の方法。
【請求項８８】
前記タスクの実行をアプリケーションに開始させることが、
前記タスクの実行を確認するようにユーザを促すことを含む、請求項７９から８７のいずれか一項に記載の方法。
【請求項８９】
出力を提供することが、
前記応答に基づいて自然言語出力を生成することと、
前記デジタルアシスタントを使用して、前記自然言語出力を提供することと、を含む、請求項７９から８８のいずれか一項に記載の方法。
【請求項９０】
前記デジタルアシスタントを使用して、前記自然言語出力を提供することが、音声発話出力を提供することを含む、請求項８０に記載の方法。
【請求項９１】
前記デジタルアシスタントを使用して、前記自然言語出力を提供することが、前記自然言語出力を表示することを含む、請求項８９又は９０に記載の方法。
【請求項９２】
前記自然言語出力が、前記アプリケーションに対する言及を含む、請求項８９から９１のいずれか一項に記載の方法。
【請求項９３】
前記応答が、自然言語表現を含み、前記自然言語出力が、前記自然言語表現の少なくとも一部分を含む、請求項８９から９２のいずれか一項に記載の方法。
【請求項９４】
前記自然言語出力が、前記アプリケーションによって前記タスクの実行が成功したことを示す、請求項８９から９３のいずれか一項に記載の方法。
【請求項９５】
前記タスクが、第三者サービスからの情報に関する要求である、請求項７９から９４のいずれか一項に記載の方法。
【請求項９６】
前記自然言語出力が、前記アプリケーションによって前記タスクの実行が成功しなかったことを示す、請求項８９から９５のいずれか一項に記載の方法。
【請求項９７】
１つ以上のプロセッサと、
メモリと、
１つ以上のプログラムと、
を備える電子デバイスであって、前記１つ以上のプログラムが、前記メモリ内に記憶され、前記１つ以上のプロセッサによって実行されるように構成されており、前記１つ以上のプログラムが、
デジタルアシスタントを使用して、自然言語発話入力を受信し、
前記自然言語発話入力に関連付けられている音声ショートカットを決定し、
前記音声ショートカットに対応するタスクを決定し、
前記タスクの実行をアプリケーションに開始させ、
前記アプリケーションから、前記タスクに関連付けられている応答を受信し、
前記応答に基づいて、前記タスクの実行が成功したか否かを判定し、
前記タスクの実行が成功したか否かを示す出力を提供する、命令を含む、電子デバイス。
【請求項９８】
１つ以上のプログラムを記憶している非一時的コンピュータ可読記憶媒体であって、前記１つ以上のプログラムが、命令を含み、前記命令が、第１の電子デバイスの１つ以上のプロセッサによって実行されると、前記第１の電子デバイスに、
デジタルアシスタントを使用して、自然言語発話入力を受信させ、
前記自然言語発話入力に関連付けられている音声ショートカットを決定させ、
前記音声ショートカットに対応するタスクを決定させ、
前記タスクの実行をアプリケーションに開始させ、
前記アプリケーションから、前記タスクに関連付けられている応答を受信させ、
前記応答に基づいて、前記タスクの実行が成功したか否かを判定させ、
前記タスクの実行が成功したか否かを示す出力を提供させる、非一時的コンピュータ可読記憶媒体。
【請求項９９】
デジタルアシスタントを使用して、自然言語発話入力を受信するための手段と、
前記自然言語発話入力に関連付けられている音声ショートカットを決定するための手段と、
前記音声ショートカットに対応するタスクを決定するための手段と、
前記タスクの実行をアプリケーションに開始させるための手段と、
前記アプリケーションから、前記タスクに関連付けられている応答を受信するための手段と、
前記応答に基づいて、前記タスクの実行が成功したか否かを判定するための手段と、
前記タスクの実行が成功したか否かを示す出力を提供するための手段と、
を備える、電子デバイス。
【請求項１００】
１つ以上のプロセッサと、
メモリと、
１つ以上のプログラムと、
を備える電子デバイスであって、前記１つ以上のプログラムが、前記メモリ内に記憶され、前記１つ以上のプロセッサによって実行されるように構成されており、前記１つ以上のプログラムが、請求項７９から９６のいずれか一項に記載の方法を実行する命令を含む、電子デバイス。
【請求項１０１】
１つ以上のプログラムを記憶している非一時的コンピュータ可読記憶媒体であって、前記１つ以上のプログラムが、命令を含み、前記命令が、電子デバイスの１つ以上のプロセッサによって実行されると、前記電子デバイスに、請求項７９から９６のいずれか一項に記載の方法を実行させる、非一時的コンピュータ可読記憶媒体。
【請求項１０２】
請求項７９から９６のいずれか一項に記載の方法を実行するための手段を備える、
電子デバイス。
【請求項１０３】
ディスプレイ及びタッチ感知面を有する電子デバイスにおいて、
アプリケーションから複数のメディアアイテムを受信することと、
前記電子デバイスに関連付けられたコンテキストデータを受信することと、
前記複数のメディアアイテム及び前記コンテキストデータに基づいて、タスクを決定することと、
前記タスクが提案基準を満たしているか否かを判定することと、
前記タスクが前記提案基準を満たしているという判定に従って、前記ディスプレイ上に、前記タスクに対応する提案アフォーダンスを表示することと、
前記タスクが前記提案基準を満たしていないという判定に従って、前記提案アフォーダンスを表示することを取り止めることと、
を含む、方法。
【請求項１０４】
前記タスクが、前記複数のメディアアイテムのうちの１つのメディアアイテムの再生に関するタスクである、請求項１０３に記載の方法。
【請求項１０５】
前記タスクが、特定の再生時間を指定する、請求項１０４に記載の方法。
【請求項１０６】
アプリケーションから複数のメディアアイテムを受信することが、前記アプリケーションから前記複数のメディアアイテムを含むベクトルを受信することを含む、請求項１０３から１０５のいずれか一項に記載の方法。
【請求項１０７】
アプリケーションから複数のメディアアイテムを受信することが、
前記アプリケーションとは異なる別のアプリケーションを表示している間に、前記複数のメディアアイテムを受信することを含む、
請求項１０３から１０６のいずれか一項に記載の方法。
【請求項１０８】
前記タスクが第１のタスクであり、前記提案アフォーダンスが第１の提案アフォーダンスであり、前記方法は、
前記コンテキストデータに基づいて第２のタスクを決定することと、
前記第２のタスクが提案基準を満たしているか否かを判定することと、
前記第２のタスクが前記提案基準を満たしているという判定に従って、前記ディスプレイ上に、前記第２のタスクに対応する第２の提案アフォーダンスを表示することと、
前記第２のタスクが前記提案基準を満たしていないという判定に従って、前記第２の提案アフォーダンスを表示することを取り止めることと、を更に含む、請求項１０３から１０７のいずれか一項に記載の方法。
【請求項１０９】
アプリケーションから複数のメディアアイテムを受信する前に、前記アプリケーションに前記複数のメディアアイテムを要求することを更に含む、
請求項１０３から１０８のいずれか一項に記載の方法。
【請求項１１０】
前記アプリケーションが第１のアプリケーションであり、前記タスクが、前記第１のアプリケーションに関連付けられており、前記提案アフォーダンスが、前記第１のアプリケーションとは異なる第２のアプリケーションに関連付けられている、請求項１０３から１０９のいずれか一項に記載の方法。
【請求項１１１】
第２の電子デバイスにおいて、
前記アプリケーションを使用して、前記電子デバイス上で以前に再生された１つ以上のメディアアイテムを決定することと、
前記決定された１つ以上のメディアアイテムに基づいて、前記複数のメディアアイテムを生成することと、
を更に含む、請求項１０３から１１０のいずれか一項に記載の方法。
【請求項１１２】
前記複数のメディアアイテムを生成することが、
前記電子デバイス上で以前に再生された前記１つ以上のメディアアイテムのうちの少なくとも１つのカテゴリを特定することと、
前記特定されたカテゴリに関連付けられているメディアアイテムを特定することと、を含む、請求項１１１に記載の方法。
【請求項１１３】
１つ以上のプロセッサと、
メモリと、
１つ以上のプログラムと、
を備える電子デバイスであって、前記１つ以上のプログラムが、前記メモリ内に記憶され、前記１つ以上のプロセッサによって実行されるように構成されており、前記１つ以上のプログラムが、
アプリケーションから複数のメディアアイテムを受信し、
前記電子デバイスに関連付けられたコンテキストデータを受信し、
前記複数のメディアアイテム及び前記コンテキストデータに基づいて、タスクを決定し、
前記タスクが提案基準を満たしているか否かを判定し、
前記タスクが前記提案基準を満たしているという判定に従って、ディスプレイ上に、前記タスクに対応する提案アフォーダンスを表示し、
前記タスクが前記提案基準を満たしていないという判定に従って、前記提案アフォーダンスを表示することを取り止める、命令を含む、電子デバイス。
【請求項１１４】
１つ以上のプログラムを記憶している非一時的コンピュータ可読記憶媒体であって、前記１つ以上のプログラムが、命令を含み、前記命令が、第１の電子デバイスの１つ以上のプロセッサによって実行されると、前記第１の電子デバイスに、
アプリケーションから複数のメディアアイテムを受信させ、
前記第１の電子デバイスに関連付けられたコンテキストデータを受信させ、
前記複数のメディアアイテム及び前記コンテキストデータに基づいて、タスクを決定させ、
前記タスクが提案基準を満たしているか否かを判定させ、
前記タスクが前記提案基準を満たしているという判定に従って、ディスプレイ上に、前記タスクに対応する提案アフォーダンスを表示させ、
前記タスクが前記提案基準を満たしていないという判定に従って、前記提案アフォーダンスを表示することを取り止めさせる、非一時的コンピュータ可読記憶媒体。
【請求項１１５】
電子デバイスであって、
アプリケーションから複数のメディアアイテムを受信するための手段と、
前記電子デバイスに関連付けられたコンテキストデータを受信するための手段と、
前記複数のメディアアイテム及び前記コンテキストデータに基づいて、タスクを決定するための手段と、
前記タスクが提案基準を満たしているか否かを判定するための手段と、
前記タスクが前記提案基準を満たしているという判定に従って、ディスプレイ上に、前記タスクに対応する提案アフォーダンスを表示するための手段と、
前記タスクが前記提案基準を満たしていないという判定に従って、前記提案アフォーダンスを表示することを取り止めるための手段と、を備える、電子デバイス。
【請求項１１６】
１つ以上のプロセッサと、
メモリと、
１つ以上のプログラムと、
を備える電子デバイスであって、前記１つ以上のプログラムが、前記メモリ内に記憶され、前記１つ以上のプロセッサによって実行されるように構成されており、前記１つ以上のプログラムが、請求項１０３から１１２のいずれか一項に記載の方法を実行する命令を含む、電子デバイス。
【請求項１１７】
１つ以上のプログラムを記憶している非一時的コンピュータ可読記憶媒体であって、前記１つ以上のプログラムが、命令を含み、前記命令が、電子デバイスの１つ以上のプロセッサによって実行されると、前記電子デバイスに、請求項１０３から１１２のいずれか一項に記載の方法を実行させる、非一時的コンピュータ可読記憶媒体。
【請求項１１８】
請求項１０３から１１２のいずれか一項に記載の方法を実行するための手段を備える、
電子デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、全般的に、デジタルアシスタントに関し、より具体的には、デジタルアシスタントを使用してタスク実行を促進することに関する。
【背景技術】
【０００２】
インテリジェント自動アシスタント（又は、デジタルアシスタント）は、人間のユーザと電子デバイスとの間の有益なインタフェースを提供することができる。そのようなアシスタントにより、ユーザは、発話形式及び／又はテキスト形式の自然言語を使用して、デバイス又はシステムと対話することが可能となり得る。例えば、ユーザは、電子デバイス上で動作しているデジタルアシスタントに、ユーザ要求を含む発話入力を提供することができる。デジタルアシスタントは、その発話入力からユーザの意図を解釈し、そのユーザの意図をタスクへと動作化し、そのタスクを実行することができる。一部のシステムでは、この方式でタスクを実行することは、タスクが特定される方式において制約を受ける場合がある。しかしながら、一部の場合には、ユーザは、特定のコマンドのセットに制限される場合があるため、そのユーザは、自然言語発話入力を使用して、デジタルアシスタントにタスクを実行するように容易に指示することができない場合がある。更には、多くの場合には、デジタルアシスタントは、以前のユーザ挙動に基づいて適応することができず、ユーザエクスペリエンスの望ましい最適化に欠けている。
【発明の概要】
【０００３】
例示的方法が、本明細書で説明される。例示的方法は、ディスプレイ及びタッチ感知面を有する電子デバイスにおいて、ディスプレイ上に、タスクに関連付けられている提案アフォーダンスを含むユーザインタフェースを表示することと、１つ以上の入力デバイスを介して、その提案アフォーダンスの選択に対応する第１のユーザ入力を検出することと、第１のユーザ入力の検出に応答して、そのタスクが第１のタイプのタスクであるという判定に従って、そのタスクを実行することと、そのタスクが第１のタイプとは異なる第２のタイプのタスクであるという判定に従って、確認アフォーダンスを含む確認インタフェースを表示することとを含む。
【０００４】
例示的な電子デバイスが、本明細書で説明される。例示的な電子デバイスは、１つ以上のプロセッサ、メモリ、及び１つ以上のプログラムを備え、それら１つ以上のプログラムは、メモリ内に記憶され、１つ以上のプロセッサによって実行されるように構成されており、それら１つ以上のプログラムは、ディスプレイ上に、タスクに関連付けられている提案アフォーダンスを含むユーザインタフェースを表示し、１つ以上の入力デバイスを介して、その提案アフォーダンスの選択に対応する第１のユーザ入力を検出し、第１のユーザ入力の検出に応答して、そのタスクが第１のタイプのタスクであるという判定に従って、そのタスクを実行し、そのタスクが第１のタイプとは異なる第２のタイプのタスクであるという判定に従って、確認アフォーダンスを含む確認インタフェースを表示する、命令を含む。
【０００５】
例示的な電子デバイスは、ディスプレイ上に、タスクに関連付けられている提案アフォーダンスを含むユーザインタフェースを表示するための手段と、１つ以上の入力デバイスを介して、その提案アフォーダンスの選択に対応する第１のユーザ入力を検出するための手段と、第１のユーザ入力の検出に応答して、そのタスクが第１のタイプのタスクであるという判定に従って、そのタスクを実行し、そのタスクが第１のタイプとは異なる第２のタイプのタスクであるという判定に従って、確認アフォーダンスを含む確認インタフェースを表示するための手段とを含む。
【０００６】
例示的な非一時的コンピュータ可読媒体が、本明細書で開示される。例示的な非一時的コンピュータ可読媒体は、命令を含む１つ以上のプログラムを記憶しており、それらの命令は、電子デバイスの１つ以上のプロセッサによって実行されると、電子デバイスに、タスクに関連付けられている提案アフォーダンスを含むユーザインタフェースを、ディスプレイ上に表示させ、１つ以上の入力デバイスを介して、その提案アフォーダンスの選択に対応する第１のユーザ入力を検出させ、第１のユーザ入力の検出に応答して、そのタスクが第１のタイプのタスクであるという判定に従って、そのタスクを実行させ、そのタスクが第１のタイプとは異なる第２のタイプのタスクであるという判定に従って、確認アフォーダンスを含む確認インタフェースを表示させる。
【０００７】
提案アフォーダンスを含むユーザインタフェースを表示し、その提案アフォーダンスの選択に応答して、タスクを実行する確認を選択的に要求することは、電子デバイス上でタスクを実行するための、容易に認識可能かつ直感的な手法を、ユーザに提供するものであり、それにより、そのようなタスクを実行するために通常であれば必要とされる、ユーザ入力の数が削減される。それゆえ、この方式でユーザインタフェースを表示することにより、デバイスの操作性が向上し、ユーザ−デバイスインタフェースが（例えば、デバイスを操作／デバイスと対話する際に、適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって）より効率的なものとなり、更には、ユーザが、より素早くかつ効率的にデバイスを使用することが可能となることによって、電力使用量が低減され、デバイスのバッテリ寿命が向上する。
【０００８】
例示的方法は、１つ以上のプロセッサを有する電子デバイスにおいて、タスクに関連付けられたタスク候補アフォーダンスを含む、複数のタスク候補アフォーダンスを表示することと、そのタスクに関連付けられたタスク候補アフォーダンスの選択に対応する第１のユーザ入力を含む、入力のセットを検出することと、そのユーザ入力のセットの検出に応答して、そのタスクに関連付けられる音声ショートカットを生成するための第１のインタフェースを表示することと、その第１のインタフェースを表示している間に、オーディオ入力デバイスによって自然言語発話入力を受信することと、第１のインタフェース内に、その自然言語発話入力に基づく候補フレーズを表示することと、候補フレーズを表示した後に、タッチ感知面を介して、第２のユーザ入力を検出することと、第２のユーザ入力の検出に応答して、その候補フレーズをタスクに関連付けることとを含む。
【０００９】
例示的な非一時的コンピュータ可読記憶媒体は、１つ以上のプログラムを記憶している。それら１つ以上のプログラムは、命令を含み、それらの命令は、電子デバイスの１つ以上のプロセッサによって実行されると、電子デバイスに、タスクに関連付けられたタスク候補アフォーダンスを含む、複数のタスク候補アフォーダンスを表示させ、そのタスクに関連付けられたタスク候補アフォーダンスの選択に対応する第１のユーザ入力を含む、入力のセットを検出させ、そのユーザ入力のセットの検出に応答して、そのタスクに関連付けられる音声ショートカットを生成するための第１のインタフェースを表示させ、その第１のインタフェースを表示している間に、オーディオ入力デバイスによって自然言語発話入力を受信させ、第１のインタフェース内に、その自然言語発話入力に基づく候補フレーズを表示させ、候補フレーズを表示した後に、タッチ感知面を介して、第２のユーザ入力を検出させ、第２のユーザ入力の検出に応答して、その候補フレーズをタスクに関連付けさせる。
【００１０】
例示的な電子デバイスは、１つ以上のプロセッサ、メモリ、及び１つ以上のプログラムを備え、それら１つ以上のプログラムは、メモリ内に記憶され、１つ以上のプロセッサによって実行されるように構成されており、それら１つ以上のプログラムは、タスクに関連付けられたタスク候補アフォーダンスを含む、複数のタスク候補アフォーダンスを表示し、そのタスクに関連付けられたタスク候補アフォーダンスの選択に対応する第１のユーザ入力を含む、入力のセットを検出し、そのユーザ入力のセットの検出に応答して、そのタスクに関連付けられる音声ショートカットを生成するための第１のインタフェースを表示し、その第１のインタフェースを表示している間に、オーディオ入力デバイスによって自然言語発話入力を受信し、第１のインタフェース内に、その自然言語発話入力に基づく候補フレーズを表示し、候補フレーズを表示した後に、タッチ感知面を介して、第２のユーザ入力を検出し、第２のユーザ入力の検出に応答して、その候補フレーズをタスクに関連付ける、命令を含む。
【００１１】
例示的な電子デバイスは、タスクに関連付けられたタスク候補アフォーダンスを含む、複数のタスク候補アフォーダンスを表示するための手段と、そのタスクに関連付けられたタスク候補アフォーダンスの選択に対応する第１のユーザ入力を含む、入力のセットを検出するための手段と、そのユーザ入力のセットの検出に応答して、そのタスクに関連付けられる音声ショートカットを生成するための第１のインタフェースを表示するための手段と、その第１のインタフェースを表示している間に、オーディオ入力デバイスによって自然言語発話入力を受信し、第１のインタフェース内に、その自然言語発話入力に基づく候補フレーズを表示するための手段と、候補フレーズを表示した後に、タッチ感知面を介して、第２のユーザ入力を検出するための手段と、第２のユーザ入力の検出に応答して、その候補フレーズをタスクに関連付けるための手段とを備える。
【００１２】
自然言語発話入力に基づいて候補フレーズを提供し、候補フレーズを対応のタスクに関連付けることにより、ユーザは、電子デバイス上でタスクを実行するために使用することが可能なユーザ固有の音声ショートカットを、正確かつ効率的に生成することが可能となる。例えば、この方式でユーザが音声ショートカットをタスクに関連付けることを、可能にすることにより、ユーザは、所望の音声ショートカットが選択されて正しいタスクに割り当てられていることを、視覚的に確認することが可能となり、それにより、不正確又は不要な関連付けの可能性が低減する。それゆえ、説明された方式で候補フレーズを提供することにより、より効率的な電子デバイスの使用が（例えば、デバイスを操作／デバイスと対話する際に、適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって）もたらされ、更には、ユーザが、より素早くかつ効率的にデバイスを使用することが可能となることによって、電力使用量が低減され、デバイスのバッテリ寿命が向上する。
【００１３】
例示的方法は、１つ以上のプロセッサを有する電子デバイスにおいて、その電子デバイスに関連付けられたコンテキストデータを受信することと、そのコンテキストデータに基づいて、タスクに関するタスク確率を判定することと、コンテキストデータに基づいて、そのタスクに関連付けられているパラメータに関するパラメータ確率を判定することと、それらタスク確率及びパラメータ確率に基づいて、そのタスクが提案基準を満たしているか否かを判定することと、そのタスクが提案基準を満たしているという判定に従って、ディスプレイ上に、そのタスク及びパラメータに対応する提案アフォーダンスを表示することと、そのタスクが提案基準を満たしていないという判定に従って、提案アフォーダンスを表示することを取り止めることとを含む。
【００１４】
例示的な非一時的コンピュータ可読記憶媒体は、１つ以上のプログラムを記憶している。それら１つ以上のプログラムは、命令を含み、それらの命令は、電子デバイスの１つ以上のプロセッサによって実行されると、電子デバイスに、その電子デバイスに関連付けられたコンテキストデータを受信させ、そのコンテキストデータに基づいて、タスクに関するタスク確率を判定させ、コンテキストデータに基づいて、そのタスクに関連付けられているパラメータに関するパラメータ確率を判定させ、それらタスク確率及びパラメータ確率に基づいて、そのタスクが提案基準を満たしているか否かを判定させ、そのタスクが提案基準を満たしているという判定に従って、ディスプレイ上に、そのタスク及びパラメータに対応する提案アフォーダンスを表示させ、そのタスクが提案基準を満たしていないという判定に従って、提案アフォーダンスを表示することを取り止めさせる。
【００１５】
例示的な電子デバイスは、１つ以上のプロセッサ、メモリ、及び１つ以上のプログラムを備え、それら１つ以上のプログラムは、メモリ内に記憶され、１つ以上のプロセッサによって実行されるように構成されており、それら１つ以上のプログラムは、その電子デバイスに関連付けられたコンテキストデータを受信し、そのコンテキストデータに基づいて、タスクに関するタスク確率を判定し、コンテキストデータに基づいて、そのタスクに関連付けられているパラメータに関するパラメータ確率を判定し、それらタスク確率及びパラメータ確率に基づいて、そのタスクが提案基準を満たしているか否かを判定し、そのタスクが提案基準を満たしているという判定に従って、ディスプレイ上に、そのタスク及びパラメータに対応する提案アフォーダンスを表示し、そのタスクが提案基準を満たしていないという判定に従って、提案アフォーダンスを表示することを取り止める、命令を含む。
【００１６】
例示的な電子デバイスは、その電子デバイスに関連付けられたコンテキストデータを受信するための手段と、そのコンテキストデータに基づいて、タスクに関するタスク確率を判定するための手段と、コンテキストデータに基づいて、そのタスクに関連付けられているパラメータに関するパラメータ確率を判定するための手段と、それらタスク確率及びパラメータ確率に基づいて、そのタスクが提案基準を満たしているか否かを判定するための手段と、そのタスクが提案基準を満たしているという判定に従って、ディスプレイ上に、そのタスク及びパラメータに対応する提案アフォーダンスを表示するための手段と、そのタスクが提案基準を満たしていないという判定に従って、提案アフォーダンスを表示することを取り止めるための手段とを備える。
【００１７】
本明細書で説明されるように、タスクに関連付けられている提案アフォーダンスを選択的に提供することにより、ユーザは、電子デバイス上で、そのユーザに関連するタスクを効率的かつ簡便に実行することが可能となる。例として、電子デバイスによって表示される提案アフォーダンスは、ユーザによる電子デバイスの以前の使用を示すコンテキストデータなどの、その電子デバイスのコンテキストデータに基づいて特定されたタスクに対応し得る。それゆえ、この方式で選択的に提案を提供することにより、ユーザが電子デバイスを操作するために必要とされる入力の数及び時間が（例えば、デバイスを操作／デバイスと対話する際に、適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって）減少し、更には、電力使用量が低減され、デバイスのバッテリ寿命が向上する。
【００１８】
例示的方法は、１つ以上のプロセッサを有する電子デバイスにおいて、自然言語発話入力を受信することと、その自然言語発話入力が音声ショートカット基準を満たしているか否かを判定することと、その自然言語発話入力が音声ショートカット基準を満たしているという判定に従って、その音声ショートカットに関連付けられているタスクを特定し、その音声ショートカットに関連付けられているタスクを実行することと、その自然言語発話入力が音声ショートカット基準を満たしていないという判定に従って、その自然言語発話入力に関連付けられるタスクを特定し、その自然言語発話入力に関連付けられるタスクを実行することとを含む。
【００１９】
例示的な非一時的コンピュータ可読記憶媒体は、１つ以上のプログラムを記憶している。それら１つ以上のプログラムは、命令を含み、それらの命令は、電子デバイスの１つ以上のプロセッサによって実行されると、電子デバイスに、自然言語発話入力を受信させ、その自然言語発話入力が音声ショートカット基準を満たしているか否かを判定させ、その自然言語発話入力が音声ショートカット基準を満たしているという判定に従って、その音声ショートカットに関連付けられているタスクを特定させ、その音声ショートカットに関連付けられているタスクを実行させ、その自然言語発話入力が音声ショートカット基準を満たしていないという判定に従って、その自然言語発話入力に関連付けられるタスクを特定させ、その自然言語発話入力に関連付けられるタスクを実行させる。
【００２０】
例示的な電子デバイスは、１つ以上のプロセッサ、メモリ、及び１つ以上のプログラムを備え、それら１つ以上のプログラムは、メモリ内に記憶され、１つ以上のプロセッサによって実行されるように構成されており、それら１つ以上のプログラムは、自然言語発話入力を受信し、その自然言語発話入力が音声ショートカット基準を満たしているか否かを判定し、その自然言語発話入力が音声ショートカット基準を満たしているという判定に従って、その音声ショートカットに関連付けられているタスクを特定し、その音声ショートカットに関連付けられているタスクを実行し、その自然言語発話入力が音声ショートカット基準を満たしていないという判定に従って、その自然言語発話入力に関連付けられるタスクを特定し、その自然言語発話入力に関連付けられるタスクを実行する、命令を含む。
【００２１】
例示的な電子デバイスは、自然言語発話入力を受信するための手段と、その自然言語発話入力が音声ショートカット基準を満たしているか否かを判定するための手段と、その自然言語発話入力が音声ショートカット基準を満たしているという判定に従って、その音声ショートカットに関連付けられているタスクを特定し、その音声ショートカットに関連付けられているタスクを実行するための手段と、その自然言語発話入力が音声ショートカット基準を満たしていないという判定に従って、その自然言語発話入力に関連付けられるタスクを特定し、その自然言語発話入力に関連付けられるタスクを実行するための手段とを備える。
【００２２】
本明細書で説明されるように、自然言語発話入力（例えば、音声ショートカット）に応答してタスクを実行することにより、電子デバイス上でタスクを実行するための、直感的かつ効率的な手法が提供される。例として、ユーザからの追加入力を全く使用することなく、自然言語発話入力に応答して、１つ以上のタスクを実行することができる。したがって、この方式で、自然言語発話入力に応答してタスクを実行することにより、ユーザが電子デバイスを操作するために必要とされる入力の数及び時間が（例えば、デバイスを操作／デバイスと対話する際に、適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって）減少し、更には、電力使用量が低減され、デバイスのバッテリ寿命が向上する。
【００２３】
例示的方法は、１つ以上のプロセッサを有する電子デバイスにおいて、デジタルアシスタントを使用して自然言語発話入力を受信することと、その自然言語発話入力に関連付けられている音声ショートカットを決定することと、その音声ショートカットに対応するタスクを決定することと、そのタスクの実行をアプリケーションに開始させることと、アプリケーションから、そのタスクに関連付けられている応答を受信することと、その応答に基づいて、タスクの実行が成功したか否かを判定することと、タスクの実行が成功したか否かを示す出力を提供することとを含む。
【００２４】
例示的な非一時的コンピュータ可読記憶媒体は、１つ以上のプログラムを記憶している。それら１つ以上のプログラムは、命令を含み、それらの命令は、電子デバイスの１つ以上のプロセッサによって実行されると、電子デバイスに、デジタルアシスタントを使用して自然言語発話入力を受信させ、その自然言語発話入力に関連付けられている音声ショートカットを決定させ、その音声ショートカットに対応するタスクを決定させ、そのタスクの実行をアプリケーションに開始させ、アプリケーションから、そのタスクに関連付けられている応答を受信させ、その応答に基づいて、タスクの実行が成功したか否かを判定させ、タスクの実行が成功したか否かを示す出力を提供させる。
【００２５】
例示的な電子デバイスは、１つ以上のプロセッサ、メモリ、及び１つ以上のプログラムを備え、それら１つ以上のプログラムは、メモリ内に記憶され、１つ以上のプロセッサによって実行されるように構成されており、それら１つ以上のプログラムは、デジタルアシスタントを使用して自然言語発話入力を受信し、その自然言語発話入力に関連付けられている音声ショートカットを決定し、その音声ショートカットに対応するタスクを決定し、そのタスクの実行をアプリケーションに開始させ、アプリケーションから、そのタスクに関連付けられている応答を受信し、その応答に基づいて、タスクの実行が成功したか否かを判定し、タスクの実行が成功したか否かを示す出力を提供する、命令を含む。
【００２６】
例示的な電子デバイスは、デジタルアシスタントを使用して自然言語発話入力を受信するための手段と、その自然言語発話入力に関連付けられている音声ショートカットを決定するための手段と、その音声ショートカットに対応するタスクを決定するための手段と、そのタスクの実行をアプリケーションに開始させるための手段と、アプリケーションから、そのタスクに関連付けられている応答を受信するための手段と、その応答に基づいて、タスクの実行が成功したか否かを判定するための手段と、タスクの実行が成功したか否かを示す出力を提供するための手段とを備える。
【００２７】
本明細書で説明されるように出力を提供することにより、デジタルアシスタントは、例えば、ユーザとデジタルアシスタントとの間のダイアログ（例えば、対話型ダイアログ）の過程において、アプリケーションからのフィードバック及び／又は他の情報を、直感的かつ柔軟な方式で提供することが可能となる。例として、デジタルアシスタントは、アプリケーションからユーザに自然言語表現を提供する（例えば、中継する）ことができるため、ユーザは、アプリケーションを開くことも、又は他の方式でアプリケーションに直接アクセスすることもなく、そのアプリケーションと対話することができる。したがって、この方式で自然言語出力を提供することにより、ユーザが電子デバイスを操作するために必要とされる入力の数及び時間が（例えば、デバイスを操作／デバイスと対話する際に、適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって）減少し、更には、電力使用量が低減され、デバイスのバッテリ寿命が向上する。
【００２８】
例示的方法は、アプリケーションから複数のメディアアイテムを受信することと、電子デバイスに関連付けられたコンテキストデータを受信することと、それら複数のメディアアイテム及びコンテキストデータに基づいて、タスクを決定することと、そのタスクが提案基準を満たしているか否かを判定することと、そのタスクが提案基準を満たしているという判定に従って、ディスプレイ上に、そのタスクに対応する提案アフォーダンスを表示することと、そのタスクが提案基準を満たしていないという判定に従って、提案アフォーダンスを表示することを取り止めることとを含む。
【００２９】
例示的な電子デバイスは、１つ以上のプロセッサ、メモリ、及び１つ以上のプログラムを備え、それら１つ以上のプログラムは、メモリ内に記憶され、１つ以上のプロセッサによって実行されるように構成されており、それら１つ以上のプログラムは、アプリケーションから複数のメディアアイテムを受信し、電子デバイスに関連付けられたコンテキストデータを受信し、それら複数のメディアアイテム及びコンテキストデータに基づいて、タスクを決定し、そのタスクが提案基準を満たしているか否かを判定し、そのタスクが提案基準を満たしているという判定に従って、ディスプレイ上に、そのタスクに対応する提案アフォーダンスを表示し、そのタスクが提案基準を満たしていないという判定に従って、提案アフォーダンスを表示することを取り止める、命令を含む。
【００３０】
例示的な電子デバイスは、アプリケーションから複数のメディアアイテムを受信するための手段と、電子デバイスに関連付けられたコンテキストデータを受信するための手段と、それら複数のメディアアイテム及びコンテキストデータに基づいて、タスクを決定するための手段と、そのタスクが提案基準を満たしているか否かを判定するための手段と、そのタスクが提案基準を満たしているという判定に従って、ディスプレイ上に、そのタスクに対応する提案アフォーダンスを表示するための手段と、そのタスクが提案基準を満たしていないという判定に従って、提案アフォーダンスを表示することを取り止めるための手段とを備える。
【００３１】
例示的な非一時的コンピュータ可読媒体は、命令を含む１つ以上のプログラムを記憶しており、それらの命令は、電子デバイスの１つ以上のプロセッサによって実行されると、電子デバイスに、アプリケーションから複数のメディアアイテムを受信させ、電子デバイスに関連付けられたコンテキストデータを受信させ、それら複数のメディアアイテム及びコンテキストデータに基づいて、タスクを決定させ、そのタスクが提案基準を満たしているか否かを判定させ、そのタスクが提案基準を満たしているという判定に従って、ディスプレイ上に、そのタスクに対応する提案アフォーダンスを表示させ、そのタスクが提案基準を満たしていないという判定に従って、提案アフォーダンスを表示することを取り止めさせる。
【００３２】
本明細書で説明されるように、タスクに対応する提案アフォーダンスを選択的に提供することにより、ユーザは、電子デバイス上で、そのユーザに関連するタスクを効率的かつ簡便に実行することが可能となる。例として、電子デバイスによって表示される提案アフォーダンスは、ユーザのメディア消費及び／又は判定されたメディア選好に基づいて特定される、タスクに対応し得る。それゆえ、この方式で選択的に提案を提供することにより、ユーザが電子デバイスを操作するために必要とされる入力の数及び時間が（例えば、デバイスを操作／デバイスと対話する際に、適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって）減少し、更には、電力使用量が低減され、デバイスのバッテリ寿命が向上する。
【図面の簡単な説明】
【００３３】
【図１】様々な実施例による、デジタルアシスタントを実装するためのシステム及び環境を示すブロック図である。
【００３４】
【図２Ａ】様々な実施例による、デジタルアシスタントのクライアント側部分を実装するポータブル多機能デバイスを示すブロック図である。
【００３５】
【図２Ｂ】様々な実施例による、イベント処理のための例示的な構成要素を示すブロック図である。
【００３６】
【図３】様々な実施例による、デジタルアシスタントのクライアント側部分を実装するポータブル多機能デバイスを示す図である。
【００３７】
【図４】様々な実施例による、ディスプレイ及びタッチ感知面を有する例示的な多機能デバイスのブロック図である。
【００３８】
【図５Ａ】様々な実施例による、ポータブル多機能デバイス上のアプリケーションのメニューに関する、例示的なユーザインタフェースを示す図である。
【００３９】
【図５Ｂ】様々な実施例による、ディスプレイとは別個のタッチ感知面を有する多機能デバイスに関する、例示的なユーザインタフェースを示す図である。
【００４０】
【図６Ａ】様々な実施例による、パーソナル電子デバイスを示す図である。
【００４１】
【図６Ｂ】様々な実施例による、パーソナル電子デバイスを示すブロック図である。
【００４２】
【図６Ｃ】一部の実施形態による、タッチ感知ディスプレイ及び強度センサを有するパーソナル電子デバイスの、例示的な構成要素を示す図である。
【図６Ｄ】一部の実施形態による、タッチ感知ディスプレイ及び強度センサを有するパーソナル電子デバイスの、例示的な構成要素を示す図である。
【００４３】
【図６Ｅ】一部の実施形態による、パーソナル電子デバイスの例示的な構成要素及びユーザインタフェースを示す図である。
【図６Ｆ】一部の実施形態による、パーソナル電子デバイスの例示的な構成要素及びユーザインタフェースを示す図である。
【図６Ｇ】一部の実施形態による、パーソナル電子デバイスの例示的な構成要素及びユーザインタフェースを示す図である。
【図６Ｈ】一部の実施形態による、パーソナル電子デバイスの例示的な構成要素及びユーザインタフェースを示す図である。
【００４４】
【図７Ａ】様々な実施例による、デジタルアシスタントシステム又はそのサーバ部分を示すブロック図である。
【００４５】
【図７Ｂ】様々な実施例による、図７Ａに示されるデジタルアシスタントの機能を示す図である。
【００４６】
【図７Ｃ】様々な実施例による、オントロジの一部分を示す図である。
【００４７】
【図８Ａ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【図８Ｂ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【図８Ｃ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【図８Ｄ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【図８Ｅ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【図８Ｆ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【図８Ｇ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【図８Ｈ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【図８Ｉ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【図８Ｊ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【図８Ｋ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【図８Ｌ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【図８Ｍ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【図８Ｎ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【図８Ｏ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【図８Ｐ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【図８Ｑ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【図８Ｒ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【図８Ｓ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【図８Ｔ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【図８Ｕ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【図８Ｖ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【図８Ｗ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【図８Ｘ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【図８Ｙ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【図８Ｚ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【図８ＡＡ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【図８ＡＢ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【図８ＡＣ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【図８ＡＤ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【図８ＡＥ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【図８ＡＦ】様々な実施例による、提案を提供するための例示的なユーザインタフェースを示す図である。
【００４８】
【図９Ａ】様々な実施例による、提案を提供する方法を示すフロー図である。
【図９Ｂ】様々な実施例による、提案を提供する方法を示すフロー図である。
【００４９】
【図１０Ａ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０Ｂ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０Ｃ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０Ｄ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０Ｅ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０Ｆ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０Ｇ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０Ｈ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０Ｉ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０Ｊ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０Ｋ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０Ｌ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０Ｍ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０Ｎ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０Ｏ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０Ｐ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０Ｑ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０Ｒ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０Ｓ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０Ｔ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０Ｕ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０Ｖ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０Ｗ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０Ｘ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０Ｙ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０Ｚ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０ＡＡ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０ＡＢ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０ＡＣ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０ＡＤ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０ＡＥ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０ＡＦ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０ＡＧ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０ＡＨ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０ＡＩ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【図１０ＡＪ】様々な実施例による、音声ショートカットを提供するための例示的なユーザインタフェースを示す図である。
【００５０】
【図１１Ａ】様々な実施例による、音声ショートカットを提供する方法を示すフロー図である。
【図１１Ｂ】様々な実施例による、音声ショートカットを提供する方法を示すフロー図である。
【００５１】
【図１２】様々な実施例による、タスク提案システムを示すブロック図である。
【００５２】
【図１３】様々な実施例による、提案を提供するための方法を示すフロー図である。
【００５３】
【図１４】様々な実施例による、プライバシー保護方式でタスクを実行するための、例示的な動作シーケンスを示す図である。
【００５４】
【図１５】様々な実施例による、タスクを実行する方法を示すフロー図である。
【００５５】
【図１６Ａ】様々な実施例による、デジタルアシスタントを使用してタスクを実行するための、例示的なユーザインタフェースを示す図である。
【図１６Ｂ】様々な実施例による、デジタルアシスタントを使用してタスクを実行するための、例示的なユーザインタフェースを示す図である。
【図１６Ｃ】様々な実施例による、デジタルアシスタントを使用してタスクを実行するための、例示的なユーザインタフェースを示す図である。
【図１６Ｄ】様々な実施例による、デジタルアシスタントを使用してタスクを実行するための、例示的なユーザインタフェースを示す図である。
【図１６Ｅ】様々な実施例による、デジタルアシスタントを使用してタスクを実行するための、例示的なユーザインタフェースを示す図である。
【図１６Ｆ】様々な実施例による、デジタルアシスタントを使用してタスクを実行するための、例示的なユーザインタフェースを示す図である。
【図１６Ｇ】様々な実施例による、デジタルアシスタントを使用してタスクを実行するための、例示的なユーザインタフェースを示す図である。
【図１６Ｈ】様々な実施例による、デジタルアシスタントを使用してタスクを実行するための、例示的なユーザインタフェースを示す図である。
【図１６Ｉ】様々な実施例による、デジタルアシスタントを使用してタスクを実行するための、例示的なユーザインタフェースを示す図である。
【図１６Ｊ】様々な実施例による、デジタルアシスタントを使用してタスクを実行するための、例示的なユーザインタフェースを示す図である。
【図１６Ｋ】様々な実施例による、デジタルアシスタントを使用してタスクを実行するための、例示的なユーザインタフェースを示す図である。
【図１６Ｌ】様々な実施例による、デジタルアシスタントを使用してタスクを実行するための、例示的なユーザインタフェースを示す図である。
【図１６Ｍ】様々な実施例による、デジタルアシスタントを使用してタスクを実行するための、例示的なユーザインタフェースを示す図である。
【図１６Ｎ】様々な実施例による、デジタルアシスタントを使用してタスクを実行するための、例示的なユーザインタフェースを示す図である。
【図１６Ｏ】様々な実施例による、デジタルアシスタントを使用してタスクを実行するための、例示的なユーザインタフェースを示す図である。
【図１６Ｐ】様々な実施例による、デジタルアシスタントを使用してタスクを実行するための、例示的なユーザインタフェースを示す図である。
【図１６Ｑ】様々な実施例による、デジタルアシスタントを使用してタスクを実行するための、例示的なユーザインタフェースを示す図である。
【図１６Ｒ】様々な実施例による、デジタルアシスタントを使用してタスクを実行するための、例示的なユーザインタフェースを示す図である。
【図１６Ｓ】様々な実施例による、デジタルアシスタントを使用してタスクを実行するための、例示的なユーザインタフェースを示す図である。
【００５６】
【図１７】様々な実施例による、デジタルアシスタントを使用してタスクを実行する方法を示すフロー図である。
【００５７】
【図１８Ａ】様々な実施例による、メディアアイテム提案を提供するための例示的なユーザインタフェースを示す図である。
【図１８Ｂ】様々な実施例による、メディアアイテム提案を提供するための例示的なユーザインタフェースを示す図である。
【図１８Ｃ】様々な実施例による、メディアアイテム提案を提供するための例示的なユーザインタフェースを示す図である。
【図１８Ｄ】様々な実施例による、メディアアイテム提案を提供するための例示的なユーザインタフェースを示す図である。
【００５８】
【図１９】様々な実施例による、メディアアイテム提案を提供する方法を示すフロー図である。
【発明を実施するための形態】
【００５９】
以下の実施例の説明では、実践することが可能な特定の実施例が例として示される、添付図面を参照する。それら様々な実施例の範囲から逸脱することなく、他の実施例を使用することができ、構造上の変更を実施することができる点を理解されたい。
【００６０】
以下の説明では、様々な要素を説明するために「第１」、「第２」などの用語が使用されるが、これらの要素は、それらの用語によって限定されるべきではない。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、説明される様々な実施例の範囲から逸脱することなく、第１の入力を第２の入力と呼ぶことが可能であり、同様に、第２の入力を第１の入力と呼ぶことも可能である。第１の入力及び第２の入力は、双方とも入力であり、一部の場合には、別個の異なる入力である。
【００６１】
本明細書で説明される様々な実施例の説明で使用される用語法は、特定の実施例を説明することのみを目的とするものであって、限定することを意図するものではない。説明される様々な実施例の説明、及び添付の特許請求の範囲で使用するとき、単数形「ａ」、「ａｎ」、及び「ｔｈｅ」は、文脈がそうではないことを明確に示さない限り、複数形もまた含むことが意図される。本明細書で使用するとき、用語「及び／又は」は、関連する列挙された項目のうちの１つ以上の、あらゆる全ての可能な組み合わせを指すものであり、かつそれらの組み合わせを包含することもまた、理解されるであろう。用語「ｉｎｃｌｕｄｅｓ（含む）、「ｉｎｃｌｕｄｉｎｇ（含む）」、「ｃｏｍｐｒｉｓｅｓ（備える）」、及び／又は「ｃｏｍｐｒｉｓｉｎｇ（備える）」は、本明細書で使用される場合、記述された特徴、整数、ステップ、動作、要素、及び／又は構成要素の存在を指定するものであるが、１つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び／又はそれらの群の存在若しくは追加を排除するものではないことが、更に理解されるであろう。
【００６２】
用語「ｉｆ（〜の場合には）」は、文脈に応じて、「ｗｈｅｎ（〜のとき）」若しくは「ｕｐｏｎ（〜すると）」、又は「ｉｎ  ｒｅｓｐｏｎｓｅ  ｔｏ  ｄｅｔｅｒｍｉｎｉｎｇ（〜という判定に応答して）」、若しくは「ｉｎ  ｒｅｓｐｏｎｓｅ  ｔｏ  ｄｅｔｅｃｔｉｎｇ（〜の検出に応答して）」を意味するものと解釈することができる。同様に、句「ｉｆ  ｉｔ  ｉｓ  ｄｅｔｅｒｍｉｎｅｄ（〜と判定される場合には）」又は「ｉｆ［ａ  ｓｔａｔｅｄ  ｃｏｎｄｉｔｉｏｎ  ｏｒ  ｅｖｅｎｔ］ｉｓ  ｄｅｔｅｃｔｅｄ（［記述される条件又はイベント］が検出される場合には）」は、文脈に応じて、「ｕｐｏｎ  ｄｅｔｅｒｍｉｎｉｎｇ（〜と判定すると）」、若しくは「ｉｎ  ｒｅｓｐｏｎｓｅ  ｔｏ  ｄｅｔｅｒｍｉｎｉｎｇ（〜という判定に応答して）」、又は「ｕｐｏｎ  ｄｅｔｅｃｔｉｎｇ［ｔｈｅ  ｓｔａｔｅｄ  ｃｏｎｄｉｔｉｏｎ  ｏｒ  ｅｖｅｎｔ］（［記述される条件又はイベント］を検出すると）」、若しくは「ｉｎ  ｒｅｓｐｏｎｓｅ  ｔｏ  ｄｅｔｅｃｔｉｎｇ［ｔｈｅ  ｓｔａｔｅｄ  ｃｏｎｄｉｔｉｏｎ  ｏｒ  ｅｖｅｎｔ］（［記述される条件又はイベント］の検出に応答して）」を意味するものと解釈することができる。
１．システム及び環境
【００６３】
図１は、様々な実施例による、システム１００のブロック図を示す。一部の実施例では、システム１００は、デジタルアシスタントを実装する。用語「デジタルアシスタント」、「仮想アシスタント」、「インテリジェント自動アシスタント」、又は「自動デジタルアシスタント」は、発話形式及び／又はテキスト形式の自然言語入力を解釈することによりユーザ意図を推測して、その推測されたユーザ意図に基づいてアクションを実行する、任意の情報処理システムを指す。例えば、推測されたユーザ意図を遂行するために、このシステムは、推測されたユーザ意図を実現するべく設計されたステップ及びパラメータを有する、タスクフローを特定することと、推測されたユーザ意図からの具体的な要件を、そのタスクフローに入力することと、プログラム、方法、サービス、又はＡＰＩなどを呼び出すことによって、そのタスクフローを実行することと、可聴（例えば、発話）形式及び／又は視覚形式で、ユーザに対する出力応答を生成することとのうちの、１つ以上を実行する。
【００６４】
具体的には、デジタルアシスタントは、自然言語コマンド、要求、陳述、叙述、及び／又は照会の形式で、少なくとも部分的にユーザ要求を受け入れることが可能である。典型的には、ユーザ要求は、デジタルアシスタントによる情報回答又はタスクの実行のいずれかを求めるものである。このユーザ要求に対する満足な応答は、要求された情報回答の提供、要求されたタスクの実行、又は、それら２つの組み合わせを含む。例えば、ユーザは、デジタルアシスタントに、「私は今どこにいますか？（Where am I right now?）」などの質問をする。ユーザの現在の位置に基づいて、デジタルアシスタントは、「あなたはセントラルパーク内の西門の近くにいます。（You are in Central Park near the west gate.）」と回答する。ユーザはまた、例えば、「私の友人を、来週の私のガールフレンドの誕生日パーティーに招待してください。（Please invite my friends to my girlfriend's birthday party next week.）」のように、タスクの実行も要求する。それに応答して、デジタルアシスタントは、「はい、ただ今（Yes, right away）」と述べることによって、その要求に肯定応答することができ、次いで、そのユーザの電子アドレス帳にリスト化されているユーザの友人のそれぞれに、ユーザに代わって、好適なカレンダー招待状を送信することができる。要求されたタスクの実行中に、デジタルアシスタントは、長期間にわたる複数の情報交換を伴う連続的なダイアログ内で、ユーザと対話する場合がある。情報又は様々なタスクの実行を要求するためにデジタルアシスタントと対話する、数多くの他の方法が存在する。言葉による応答を提供し、プログラムされたアクションを取ることに加えて、デジタルアシスタントはまた、他の視覚形式又はオーディオ形式で、例えば、テキスト、警報、音楽、ビデオ、アニメーションなどとして、応答を提供する。
【００６５】
図１に示されるように、一部の実施例では、デジタルアシスタントは、クライアント−サーバモデルに従って実装される。デジタルアシスタントは、ユーザデバイス１０４上で実行されるクライアント側部分１０２（以後、「ＤＡクライアント１０２」）、及びサーバシステム１０８上で実行されるサーバ側部分１０６（以後、「ＤＡサーバ１０６」）を含む。ＤＡクライアント１０２は、１つ以上のネットワーク１１０を通じてＤＡサーバ１０６と通信する。ＤＡクライアント１０２は、ユーザ対応入力及び出力処理、並びにＤＡサーバ１０６との通信などの、クライアント側機能を提供する。ＤＡサーバ１０６は、対応のユーザデバイス１０４上にそれぞれが常駐する、任意数のＤＡクライアント１０２に、サーバ側機能を提供する。
【００６６】
一部の実施例では、ＤＡサーバ１０６は、クライアント対応Ｉ／Ｏインタフェース１１２、１つ以上の処理モジュール１１４、データ及びモデル１１６、並びに、外部サービスへのＩ／Ｏインタフェース１１８を含む。クライアント対応Ｉ／Ｏインタフェース１１２は、ＤＡサーバ１０６に関するクライアント対応入力及び出力処理を容易にする。１つ以上の処理モジュール１１４は、データ及びモデル１１６を利用して、発話入力を処理し、自然言語入力に基づいてユーザの意図を判定する。更には、１つ以上の処理モジュール１１４は、タスク実行を、推測されたユーザ意図に基づいて実行する。一部の実施例では、ＤＡサーバ１０６は、タスクの完了又は情報の取得のために、ネットワーク（単数又は複数）１１０を通じて外部サービス１２０と通信する。外部サービスへのＩ／Ｏインタフェース１１８は、そのような通信を容易にする。
【００６７】
ユーザデバイス１０４は、任意の好適な電子デバイスとすることができる。一部の実施例では、ユーザデバイス１０４は、ポータブル多機能デバイス（例えば、図２Ａを参照して以下で説明されるデバイス２００）、多機能デバイス（例えば、図４を参照して以下で説明されるデバイス４００）、又はパーソナル電子デバイス（例えば、図６Ａ、図６Ｂを参照して以下で説明されるデバイス６００）である。ポータブル多機能デバイスは、例えば、ＰＤＡ機能及び／又はミュージックプレーヤ機能などの他の機能もまた含む、携帯電話である。ポータブル多機能デバイスの具体例としては、Ａｐｐｌｅ  Ｉｎｃ．（Ｃｕｐｅｒｔｉｎｏ，Ｃａｌｉｆｏｒｎｉａ）による、Ａｐｐｌｅ  Ｗａｔｃｈ（登録商標）、ｉＰｈｏｎｅ（登録商標）、ｉＰｏｄ  Ｔｏｕｃｈ（登録商標）、及びｉＰａｄ（登録商標）デバイスが挙げられる。ポータブル多機能デバイスの他の例としては、限定するものではないが、イヤホン／ヘッドホン、スピーカ、及び、ラップトップコンピュータ若しくはタブレットコンピュータが挙げられる。更には、一部の実施例では、ユーザデバイス１０４は、非ポータブルの多機能デバイスである。具体的には、ユーザデバイス１０４は、デスクトップコンピュータ、ゲームコンソール、スピーカ、テレビ、又はテレビセットトップボックスである。一部の実施例では、ユーザデバイス１０４は、タッチ感知面（例えば、タッチスクリーンディスプレイ及び／又はタッチパッド）を含む。更には、ユーザデバイス１０４は、任意選択的に、物理キーボード、マウス、及び／又はジョイスティックなどの、１つ以上の他の物理ユーザインタフェースデバイスを含む。多機能デバイスなどの電子デバイスの様々な実施例が、以下で更に詳細に説明される。
【００６８】
通信ネットワーク（単数又は複数）１１０の例としては、ローカルエリアネットワーク（local area network；ＬＡＮ）、及びワイドエリアネットワーク（wide area network；ＷＡＮ）、例えば、インターネットが挙げられる。通信ネットワーク（単数又は複数）１１０は、例えば、イーサネット、ユニバーサルシリアルバス（Universal Serial Bus；ＵＳＢ）、ＦＩＲＥＷＩＲＥ、移動通信用のグローバルシステム（Global System for Mobile Communications；ＧＳＭ）、拡張データＧＳＭ環境（Enhanced Data GSM Environment；ＥＤＧＥ）、符号分割多元接続（code division multiple access；ＣＤＭＡ）、時分割多元接続（time division multiple access；ＴＤＭＡ）、Ｂｌｕｅｔｏｏｔｈ、Ｗｉ−Ｆｉ、ボイスオーバーインターネットプロトコル（voice over Internet Protocol；ＶｏＩＰ）、Ｗｉ−ＭＡＸ、又は任意の他の好適な通信プロトコルなどの、様々な有線若しくは無線プロトコルを含めた、任意の既知のネットワークプロトコルを使用して実装される。
【００６９】
サーバシステム１０８は、１つ以上のスタンドアロン型データ処理装置、又は分散型のコンピュータネットワーク上に実装される。一部の実施例では、サーバシステム１０８はまた、サーバシステム１０８の基本的なコンピューティングリソース及び／又はインフラストラクチャリソースを提供するために、様々な仮想デバイス及び／又は第三者サービスプロバイダ（例えば、第三者クラウドサービスプロバイダ）のサービスも採用する。
【００７０】
一部の実施例では、ユーザデバイス１０４は、第２のユーザデバイス１２２を介してＤＡサーバ１０６と通信する。第２のユーザデバイス１２２は、ユーザデバイス１０４と同様又は同一である。例えば、第２のユーザデバイス１２２は、図２Ａ、図４、及び図６Ａ、図６Ｂを参照して以下で説明される、デバイス２００、４００、又はデバイス６００と同様である。ユーザデバイス１０４は、Ｂｌｕｅｔｏｏｔｈ、ＮＦＣ、ＢＴＬＥなどの直接通信接続を介して、又は、有線ネットワーク、若しくはローカルＷｉ−Ｆｉネットワークなどの無線ネットワークを介して、第２のユーザデバイス１２２に通信可能に結合するように構成されている。一部の実施例では、第２のユーザデバイス１２２は、ユーザデバイス１０４とＤＡサーバ１０６との間のプロキシとしての役割を果たすように構成されている。例えば、ユーザデバイス１０４のＤＡクライアント１０２は、第２のユーザデバイス１２２を介して、情報（例えば、ユーザデバイス１０４で受信されたユーザ要求）をＤＡサーバ１０６に送信するように構成されている。ＤＡサーバ１０６は、その情報を処理して、第２のユーザデバイス１２２を介して、関連データ（例えば、ユーザ要求に応答するデータコンテンツ）をユーザデバイス１０４に返す。
【００７１】
一部の実施例では、ユーザデバイス１０４は、データに関する短縮化された要求を第２のユーザデバイス１２２に通信することにより、ユーザデバイス１０４から送信される情報の量を低減するように構成されている。第２のユーザデバイス１２２は、その短縮化された要求に追加するべき補足情報を判定して、ＤＡサーバ１０６に送信するための完全な要求を生成するように構成されている。このシステムアーキテクチャにより、有利には、限られた通信能力及び／又は限られたバッテリ電力を有するユーザデバイス１０４（例えば、腕時計又は同様のコンパクト電子デバイス）は、より強力な通信能力及び／又はより大きいバッテリ電力を有する第２のユーザデバイス１２２（例えば、携帯電話、ラップトップコンピュータ、タブレットコンピュータなど）を、ＤＡサーバ１０６へのプロキシとして使用することによって、ＤＡサーバ１０６によって提供されるサービスにアクセスすることが可能となり得る。図１では、２つのユーザデバイス１０４及びユーザデバイス１２２のみが示されているが、システム１００は、一部の実施例では、このプロキシ構成でＤＡサーバシステム１０６と通信するように構成された、任意の数及びタイプのユーザデバイスを含むことを理解されたい。
【００７２】
図１に示されるデジタルアシスタントは、クライアント側部分（例えば、ＤＡクライアント１０２）及びサーバ側部分（例えば、ＤＡサーバ１０６）の双方を含むものであるが、一部の実施例では、デジタルアシスタントの機能は、ユーザデバイス上にインストールされるスタンドアロン型アプリケーションとして実装される。更には、デジタルアシスタントのクライアント部分とサーバ部分との間での機能の割り振りは、実装形態によって異なり得る。例えば、一部の実施例では、ＤＡクライアントは、ユーザ対応入力及び出力処理機能のみを提供し、デジタルアシスタントの他の全ての機能をバックエンドサーバに委ねる、シンクライアントである。
２．電子デバイス
【００７３】
ここで、デジタルアシスタントのクライアント側部分を実装するための、電子デバイスの実施形態に注意を向ける。図２Ａは、一部の実施形態による、タッチ感知ディスプレイシステム２１２を備えるポータブル多機能デバイス２００を示すブロック図である。タッチ感知ディスプレイ２１２は、便宜上「タッチスクリーン」と呼ばれる場合があり、「タッチ感知ディスプレイシステム」として既知であるか、又はそのように呼ばれる場合もある。デバイス２００は、メモリ２０２（任意選択的に、１つ以上のコンピュータ可読記憶媒体を含む）、メモリコントローラ２２２、１つ以上の処理ユニット（ＣＰＵ）２２０、周辺機器インタフェース２１８、ＲＦ回路２０８、オーディオ回路２１０、スピーカ２１１、マイクロフォン２１３、入出力（Ｉ／Ｏ）サブシステム２０６、他の入力制御デバイス２１６、及び外部ポート２２４を含む。デバイス２００は、任意選択的に、１つ以上の光センサ２６４を含む。デバイス２００は、任意選択的に、デバイス２００（例えば、デバイス２００のタッチ感知ディスプレイシステム２１２などのタッチ感知面）上の接触の強度を検出するための、１つ以上の接触強度センサ２６５を含む。デバイス２００は、任意選択的に、デバイス２００上に触知出力を生成する（例えば、デバイス２００のタッチ感知ディスプレイシステム２１２、又はデバイス４００のタッチパッド４５５などの、タッチ感知面上に触知出力を生成する）ための、１つ以上の触知出力生成器２６７を含む。これらの構成要素は、任意選択的に、１つ以上の通信バス又は信号ライン２０３を介して通信する。
【００７４】
本明細書及び特許請求の範囲で使用するとき、タッチ感知面上の接触の「強度」という用語は、タッチ感知面上の接触（例えば、指接触）の力若しくは圧力（単位面積当りの力）、又はタッチ感知面上の接触の力若しくは圧力の代替（代用）を指す。接触の強度は、少なくとも４つの異なる値を含み、より典型的には、数百の（例えば、少なくとも２５６の）異なる値を含む、値の範囲を有する。接触の強度は、任意選択的に、様々な手法、及び様々なセンサ若しくはセンサの組み合わせを使用して、判定（又は、測定）される。例えば、タッチ感知面の下の、又はタッチ感知面に隣接する、１つ以上の力センサを任意選択的に使用して、そのタッチ感知面上の様々な点での力を測定する。一部の実装形態では、複数の力センサからの力測定値を組み合わせて（例えば、加重平均）、推定される接触の力を判定する。同様に、スタイラスの感圧性先端部を任意選択的に使用して、タッチ感知面上のスタイラスの圧力を判定する。あるいは、タッチ感知面上で検出される接触区域のサイズ及び／又はその変化、接触に近接するタッチ感知面の静電容量及び／又はその変化、並びに／あるいは、接触に近接するタッチ感知面の抵抗及び／又はその変化が、任意選択的に、タッチ感知面上の接触の力又は圧力の代替として使用される。一部の実装形態では、これらの接触の力又は圧力に関する代替的測定値は、強度閾値を超過しているか否かを判定するために直接使用される（例えば、強度閾値は、その代替的測定値に対応する単位で説明される）。一部の実装形態では、これらの接触の力又は圧力に関する代替的測定値は、推定される力又は圧力に変換され、その推定される力又は圧力を使用して、強度閾値を超過しているか否かが判定される（例えば、強度閾値は、圧力の単位で測定される圧力閾値である）。接触の強度をユーザ入力の属性として使用することにより、アフォーダンスを（例えば、タッチ感知ディスプレイ上に）表示するための、及び／又は、ユーザ入力を（例えば、タッチ感知ディスプレイ、タッチ感知面、又は、ノブ若しくはボタンなどの物理的／機械的制御部を介して）受信するための面積が制限されている、低減されたサイズのデバイス上で、通常であればユーザによってアクセスすることが不可能であり得る追加的なデバイス機能への、ユーザのアクセスが可能となる。
【００７５】
本明細書及び特許請求の範囲で使用するとき、用語「触知出力」は、ユーザの触覚でユーザによって検出されることになる、デバイスの従前の位置に対する、そのデバイスの物理的変位、デバイスの構成要素（例えば、タッチ感知面）の、そのデバイスの別の構成要素（例えば、筐体）に対する物理的変位、又は、デバイスの質量中心に対する構成要素の変位を指す。例えば、デバイス又はデバイスの構成要素が、タッチに敏感なユーザの表面（例えば、ユーザの手の指、手のひら、又は他の部分）に接触している状況では、物理的変位によって生成された触知出力は、そのデバイス又はデバイスの構成要素の物理的特性の認識される変化に相当する触感として、ユーザによって解釈されることになる。例えば、タッチ感知面（例えば、タッチ感知ディスプレイ又はトラックパッド）の移動は、ユーザによって、物理アクチュエータボタンの「ダウンクリック」又は「アップクリック」として、任意選択的に解釈される。一部の場合には、ユーザの移動によって物理的に押圧される（例えば、変位される）、タッチ感知面に関連付けられた物理アクチュエータボタンの移動がない場合であっても、ユーザは、「ダウンクリック」又は「アップクリック」などの触感を感じることになる。別の例として、タッチ感知面の移動は、そのタッチ感知面の平滑度に変化がない場合であっても、ユーザによって、そのタッチ感知面の「粗さ」として、任意選択的に解釈又は感知される。そのようなユーザによるタッチの解釈は、ユーザの個人的な感覚認知に左右されることになるが、大多数のユーザに共通する、多くのタッチの感覚認知が存在する。それゆえ、触知出力が、ユーザの特定の感覚認知（例えば、「アップクリック」、「ダウンクリック」、「粗さ」）に対応するものとして説明される場合、別途記載のない限り、生成された触知出力は、典型的な（又は、平均的な）ユーザに対して、その説明された感覚認知を生じさせることになる、デバイス又はデバイスの構成要素の物理的変位に相当する。
【００７６】
デバイス２００は、ポータブル多機能デバイスの一実施例に過ぎず、デバイス２００は、任意選択的に、示されているものよりも多くの構成要素又は少ない構成要素を有するものであり、任意選択的に、２つ以上の構成要素を組み合わせるものであり、又は、任意選択的に、それらの構成要素の異なる構成若しくは配置を有するものであることを理解されたい。図２Ａに示される様々な構成要素は、１つ以上の信号処理回路及び／又は特定用途向け集積回路を含めた、ハードウェア、ソフトウェア、あるいはハードウェア及びソフトウェアの双方の組み合わせとして実装される。
【００７７】
メモリ２０２は、１つ以上のコンピュータ可読記憶媒体を含む。このコンピュータ可読記憶媒体は、例えば、有形かつ非一時的なものである。メモリ２０２は、高速ランダムアクセスメモリを含み、また、１つ以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステートメモリデバイスなどの、不揮発性メモリも含む。メモリコントローラ２２２は、デバイス２００の他の構成要素による、メモリ２０２へのアクセスを制御する。
【００７８】
一部の実施例では、メモリ２０２の非一時的コンピュータ可読記憶媒体は、コンピュータベースのシステム、プロセッサを含むシステムなどの、命令実行システム、装置、若しくはデバイス、又は、その命令実行システム、装置、若しくはデバイスから命令をフェッチして、その命令を実行することが可能な他のシステムによって、あるいはそれらのシステムと関連して使用するための（例えば、以下で説明されるプロセスの諸態様を実行するための）命令を、記憶するために使用される。他の実施例では、（例えば、以下で説明されるプロセスの諸態様を実行するための）命令は、サーバシステム１０８の非一時的コンピュータ可読記憶媒体上に記憶されるか、又は、メモリ２０２の非一時的コンピュータ可読記憶媒体と、サーバシステム１０８の非一時的コンピュータ可読記憶媒体との間で割り振られる。
【００７９】
周辺機器インタフェース２１８は、このデバイスの入力及び出力周辺機器を、ＣＰＵ２２０及びメモリ２０２に結合するために使用される。１つ以上のプロセッサ２２０は、デバイス２００に関する様々な機能を実行し、データを処理するために、メモリ２０２内に記憶されている様々なソフトウェアプログラム及び／又は命令セットを稼働若しくは実行する。一部の実施形態では、周辺機器インタフェース２１８、ＣＰＵ２２０、及びメモリコントローラ２２２は、チップ２０４などの単一チップ上に実装される。一部の他の実施形態では、それらは、別個のチップ上に実装される。
【００８０】
ＲＦ（radio frequency；無線周波数）回路２０８は、電磁信号とも呼ばれるＲＦ信号を送受信する。ＲＦ回路２０８は、電気信号を電磁信号に／電磁信号を電気信号に変換し、その電磁信号を介して、通信ネットワーク及び他の通信デバイスと通信する。ＲＦ回路２０８は、任意選択的に、これらの機能を実行するための周知の回路を含み、それらの回路としては、限定するものではないが、アンテナシステム、ＲＦ送受信機、１つ以上の増幅器、同調器、１つ以上の発振器、デジタル信号プロセッサ、ＣＯＤＥＣチップセット、加入者識別モジュール（subscriber identity module；ＳＩＭ）カード、メモリなどが挙げられる。ＲＦ回路２０８は、任意選択的に、ワールドワイドウェブ（World Wide Web；ＷＷＷ）とも称されるインターネット、イントラネット、並びに／あるいは、セルラー電話ネットワーク、無線ローカルエリアネットワーク（ＬＡＮ）、及び／又はメトロポリタンエリアネットワーク（metropolitan area network；ＭＡＮ）などの無線ネットワークなどの、ネットワークと、また他のデバイスと、無線通信によって通信する。ＲＦ回路２０８は、任意選択的に、近距離通信無線などによる近距離無線通信（near field communication；ＮＦＣ）フィールドを検出するための、周知の回路を含む。無線通信は、任意選択的に、複数の通信規格、通信プロトコル、及び通信技術のうちのいずれかを使用するものであり、それらの規格、プロトコル、及び技術としては、限定するものではないが、移動通信用のグローバルシステム（ＧＳＭ）、拡張データＧＳＭ環境（ＥＤＧＥ）、高速ダウンリンクパケットアクセス（high-speed downlink packet access；ＨＳＤＰＡ）、高速アップリンクパケットアクセス（high-speed uplink packet access；ＨＳＵＰＡ）、Ｅｖｏｌｕｔｉｏｎ，Ｄａｔａ−Ｏｎｌｙ（ＥＶ−ＤＯ）、ＨＳＰＡ、ＨＳＰＡ＋、２重セルＨＳＰＡ（Dual-Cell HSPDA；ＤＣ−ＨＳＰＤＡ）、ロングタームエボリューション（long term evolution；ＬＴＥ）、近距離通信（ＮＦＣ）、広帯域符号分割多元接続（wideband code division multiple access；Ｗ−ＣＤＭＡ）、符号分割多元接続（ＣＤＭＡ）、時分割多元接続（ＴＤＭＡ）、Ｂｌｕｅｔｏｏｔｈ、Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ（ＢＴＬＥ）、Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ（Ｗｉ−Ｆｉ）（例えば、ＩＥＥＥ８０２．１１ａ、ＩＥＥＥ８０２．１１ｂ、ＩＥＥＥ８０２．１１ｇ、ＩＥＥＥ８０２．１１ｎ、及び／又はＩＥＥＥ８０２．１１ａｃ）、ボイスオーバーインターネットプロトコル（ＶｏＩＰ）、Ｗｉ−ＭＡＸ、電子メール用のプロトコル（例えば、インターネットメッセージアクセスプロトコル（Internet message access protocol；ＩＭＡＰ）及び／又はポストオフィスプロトコル（post office protocol；ＰＯＰ））、インスタントメッセージング（例えば、拡張可能メッセージング及びプレゼンスプロトコル（extensible messaging and Presence Leveraging Extensions；ＸＭＰＰ）、インスタントメッセージング及びプレゼンス利用拡張向けセッション開始プロトコル（Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions；ＳＩＭＰＬＥ）、インスタントメッセージング及びプレゼンスサービス（Instant Messaging and Presence Service；ＩＭＰＳ））、及び／又はショートメッセージサービス（Short Message Service；ＳＭＳ��、あるいは、本文書の出願日現在までに未だ開発されていない通信プロトコルを含めた、任意の他の好適な通信プロトコルが挙げられる。
【００８１】
オーディオ回路２１０、スピーカ２１１、及びマイクロフォン２１３は、ユーザとデバイス２００との間のオーディオインタフェースを提供する。オーディオ回路２１０は、周辺機器インタフェース２１８からオーディオデータを受信し、そのオーディオデータを電気信号に変換し、その電気信号をスピーカ２１１に送信する。スピーカ２１１は、その電気信号を人間の可聴音波に変換する。オーディオ回路２１０はまた、マイクロフォン２１３によって音波から変換された、電気信号も受信する。オーディオ回路２１０は、その電気信号をオーディオデータに変換し、そのオーディオデータを、処理のために周辺機器インタフェース２１８に送信する。オーディオデータは、周辺機器インタフェース２１８によって、メモリ２０２及び／又はＲＦ回路２０８から取得され、並びに／あるいは、メモリ２０２及び／又はＲＦ回路２０８に送信される。一部の実施形態では、オーディオ回路２１０はまた、ヘッドセットジャック（例えば、図３の３１２）も含む。このヘッドセットジャックは、オーディオ回路２１０と、出力専用ヘッドホン、あるいは出力（例えば、片耳又は両耳用のヘッドホン）及び入力（例えば、マイクロフォン）の双方を有するヘッドセットなどの、取り外し可能なオーディオ入出力周辺機器との間の、インタフェースを提供する。
【００８２】
Ｉ／Ｏサブシステム２０６は、タッチスクリーン２１２及び他の入力制御デバイス２１６などの、デバイス２００上の入出力周辺機器を、周辺機器インタフェース２１８に結合する。Ｉ／Ｏサブシステム２０６は、任意選択的に、ディスプレイコントローラ２５６、光センサコントローラ２５８、深度カメラコントローラ２６９、強度センサコントローラ２５９、触覚フィードバックコントローラ２６１、及び、他の入力デバイス若しくは制御デバイス用の１つ以上の入力コントローラ２６０を含む。１つ以上の入力コントローラ２６０は、他の入力制御デバイス２１６との間で、電気信号を受信／送信する。他の入力制御デバイス２１６は、任意選択的に、物理ボタン（例えば、プッシュボタン、ロッカボタンなど）、ダイヤル、スライダスイッチ、ジョイスティック、クリックホイールなどを含む。一部の代替的実施形態では、入力コントローラ（単数又は複数）２６０は、任意選択的に、キーボード、赤外線ポート、ＵＳＢポート、及び、マウスなどのポインタデバイスのうちのいずれかに結合される（又は、いずれにも結合されない）。１つ以上のボタン（例えば、図３の３０８）は、任意選択的に、スピーカ２１１及び／又はマイクロフォン２１３の音量調節のための、アップ／ダウンボタンを含む。１つ以上のボタンは、任意選択的に、プッシュボタン（例えば、図３の３０６）を含む。
【００８３】
全体が参照により本明細書に組み込まれる、２００５年１２月２３日出願の米国特許第７，６５７，８４９号である米国特許出願第１１／３２２，５４９号、「Ｕｎｌｏｃｋｉｎｇ  ａ  Ｄｅｖｉｃｅ  ｂｙ  Ｐｅｒｆｏｒｍｉｎｇ  Ｇｅｓｔｕｒｅｓ  ｏｎ  ａｎ  Ｕｎｌｏｃｋ  Ｉｍａｇｅ」で説明されているように、このプッシュボタンの素早い押圧により、任意選択的に、タッチスクリーン２１２のロックが解除され、又は、任意選択的に、タッチスクリーン上のジェスチャを使用してデバイスをロック解除するプロセスが開始される。プッシュボタン（例えば、３０６）をより長く押圧することにより、任意選択的に、デバイス２００の電源がオン又はオフにされる。これらのボタンのうちの１つ以上の機能は、任意選択的に、ユーザカスタマイズ可能である。タッチスクリーン２１２は、仮想ボタン若しくはソフトボタン、及び１つ以上のソフトキーボードを実装するために使用される。
【００８４】
タッチ感知ディスプレイ２１２は、デバイスとユーザとの間の入力インタフェース及び出力インタフェースを提供する。ディスプレイコントローラ２５６は、タッチスクリーン２１２との間で、電気信号を受信及び／又は送信する。タッチスクリーン２１２は、ユーザに視覚出力を表示する。この視覚出力は、グラフィック、テキスト、アイコン、ビデオ、及びそれらの任意の組み合わせ（総称して「グラフィック」）を任意選択的に含む。一部の実施形態では、これらの視覚出力の一部又は全ては、任意選択的に、ユーザインタフェースオブジェクトに対応する。
【００８５】
タッチスクリーン２１２は、触覚及び／又は触知の接触に基づいてユーザからの入力を受け入れる、タッチ感知面、センサ、あるいはセンサのセットを有する。タッチスクリーン２１２及びディスプレイコントローラ２５６は（メモリ２０２内のあらゆる関連モジュール及び／又は命令セットと共に）、タッチスクリーン２１２上での接触（及び、その接触のあらゆる移動又は中断）を検出し、その検出された接触を、タッチスクリーン２１２上に表示されているユーザインタフェースオブジェクト（例えば、１つ以上のソフトキー、アイコン、ウェブページ、又は画像）との対話に変換する。例示的実施形態では、タッチスクリーン２１２とユーザとの接触点は、ユーザの指に対応する。
【００８６】
タッチスクリーン２１２は、任意選択的に、ＬＣＤ（liquid crystal display；液晶ディスプレイ）技術、ＬＰＤ（light emitting polymer display；発光ポリマーディスプレイ）技術、又はＬＥＤ（light emitting diode；発光ダイオード）技術を使用するものであるが、他の実施形態では、他のディスプレイ技術が使用される。タッチスクリーン２１２及びディスプレイコントローラ２５６は、任意選択的に、現在既知の若しくは今後開発される複数のタッチ感知技術のうちのいずれかを使用して、接触及びその接触のあらゆる移動若しくは中断を検出するものであり、それらのタッチ感知技術としては、限定するものではないが、静電容量技術、抵抗性技術、赤外線技術、及び表面音響波技術、並びに、タッチスクリーン２１２との１つ以上の接触点を判定するための他の近接センサアレイ又は他の要素が挙げられる。例示的実施形態では、Ａｐｐｌｅ  Ｉｎｃ．（Ｃｕｐｅｒｔｉｎｏ，Ｃａｌｉｆｏｒｎｉａ）によるｉＰｈｏｎｅ（登録商標）及びｉＰｏｄ  Ｔｏｕｃｈ（登録商標）において見られるような、投影型相互静電容量感知技術が使用される。
【００８７】
タッチスクリーン２１２の一部の実施形態におけるタッチ感知ディスプレイは、任意選択的に、米国特許第６，３２３，８４６号（Ｗｅｓｔｅｒｍａｎら）、同第６，５７０，５５７号（Ｗｅｓｔｅｒｍａｎら）、及び／又は同第６，６７７，９３２号（Ｗｅｓｔｅｒｍａｎ）、並びに／あるいは米国特許出願公開第２００２／００１５０２４（Ａ１）号で説明されている、マルチタッチ感知タッチパッドに類似しており、これらの文献のそれぞれは、全体が参照により本明細書に組み込まれる。しかしながら、タッチスクリーン２１２は、デバイス２００からの視覚出力を表示するものであるが、タッチ感知タッチパッドは、視覚出力を提供しない。
【００８８】
タッチスクリーン２１２の一部の実施形態におけるタッチ感知ディスプレイは、以下の出願で説明されている：（１）２００６年５月２日出願の米国特許出願第１１／３８１，３１３号、「Ｍｕｌｔｉｐｏｉｎｔ  Ｔｏｕｃｈ  Ｓｕｒｆａｃｅ  Ｃｏｎｔｒｏｌｌｅｒ」、（２）２００４年５月６日出願の同第１０／８４０，８６２号、「Ｍｕｌｔｉｐｏｉｎｔ  Ｔｏｕｃｈｓｃｒｅｅｎ」、（３）２００４年７月３０日出願の同第１０／９０３，９６４号、「Ｇｅｓｔｕｒｅｓ  Ｆｏｒ  Ｔｏｕｃｈ  Ｓｅｎｓｉｔｉｖｅ  Ｉｎｐｕｔ  Ｄｅｖｉｃｅｓ」、（４）２００５年１月３１日出願の同第１１／０４８，２６４号、「Ｇｅｓｔｕｒｅｓ  Ｆｏｒ  Ｔｏｕｃｈ  Ｓｅｎｓｉｔｉｖｅ  Ｉｎｐｕｔ  Ｄｅｖｉｃｅｓ」、（５）２００５年１月１８日出願の同第１１／０３８，５９０号、「Ｍｏｄｅ−Ｂａｓｅｄ  Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅｓ  Ｆｏｒ  Ｔｏｕｃｈ  Ｓｅｎｓｉｔｉｖｅ  Ｉｎｐｕｔ  Ｄｅｖｉｃｅｓ」、（６）２００５年９月１６日出願の同第１１／２２８，７５８号、「Ｖｉｒｔｕａｌ  Ｉｎｐｕｔ  Ｄｅｖｉｃｅ  Ｐｌａｃｅｍｅｎｔ  Ｏｎ  Ａ  Ｔｏｕｃｈ  Ｓｃｒｅｅｎ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ」、（７）２００５年９月１６日出願の同第１１／２２８，７００号、「Ｏｐｅｒａｔｉｏｎ  Ｏｆ  Ａ  Ｃｏｍｐｕｔｅｒ  Ｗｉｔｈ  Ａ  Ｔｏｕｃｈ  Ｓｃｒｅｅｎ  Ｉｎｔｅｒｆａｃｅ」、（８）２００５年９月１６日出願の同第１１／２２８，７３７号、「Ａｃｔｉｖａｔｉｎｇ  Ｖｉｒｔｕａｌ  Ｋｅｙｓ  Ｏｆ  Ａ  Ｔｏｕｃｈ−Ｓｃｒｅｅｎ  Ｖｉｒｔｕａｌ  Ｋｅｙｂｏａｒｄ」、及び（９）２００６年３月３日出願の同第１１／３６７，７４９号、「Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎａｌ  Ｈａｎｄ−Ｈｅｌｄ  Ｄｅｖｉｃｅ」。これらの出願の全ては、全体が参照により本明細書に組み込まれる。
【００８９】
タッチスクリーン２１２は、任意選択的に、１００ｄｐｉを超えるビデオ解像度を有する。一部の実施形態では、このタッチスクリーンは、約１６０ｄｐｉのビデオ解像度を有する。ユーザは、任意選択的に、スタイラス、指などの任意の好適な物体又は付属物を使用して、タッチスクリーン２１２と接触する。一部の実施形態では、ユーザインタフェースは、主として指に基づく接触及びジェスチャによって機能するように設計されているが、これは、タッチスクリーン上での指の接触面積がより広いことにより、スタイラスに基づく入力よりも精度が低い恐れがある。一部の実施形態では、デバイスは、指に基づく粗い入力を、ユーザによって所望されているアクションを実行するための、正確なポインタ／カーソルの位置又はコマンドに変換する。
【００９０】
一部の実施形態では、タッチスクリーンに加えて、デバイス２００は、任意選択的に、特定の機能をアクティブ化又は非アクティブ化するためのタッチパッドを含む。一部の実施形態では、タッチパッドは、タッチスクリーンとは異なり、視覚出力を表示しない、そのデバイスのタッチ感知区域である。タッチパッドは、任意選択的に、タッチスクリーン２１２とは別個のタッチ感知面、又は、タッチスクリーンによって形成されているタッチ感知面の拡張部である。
【００９１】
デバイス２００はまた、様々な構成要素に電力を供給するための、電力システム２６２も含む。電力システム２６２は、任意選択的に、電力管理システム、１つ以上の電源（例えば、バッテリ、交流（ＡＣ））、再充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態インジケータ（例えば、発光ダイオード（ＬＥＤ））、並びに、ポータブルデバイス内での電力の生成、管理、及び分配に関連付けられている任意の他の構成要素を含む。
【００９２】
デバイス２００はまた、任意選択的に、１つ以上の光センサ２６４も含む。図２Ａは、Ｉ／Ｏサブシステム２０６内の光センサコントローラ２５８に結合されている、光センサを示す。光センサ２６４は、電荷結合素子（charge-coupled device；ＣＣＤ）又は相補的金属酸化物半導体（complementary metal-oxide semiconductor；ＣＭＯＳ）フォトトランジスタを含む。光センサ２６４は、任意選択的に、１つ以上のレンズを通じて投影された、環境からの光を受光し、その光を、画像を表すデータに変換する。撮像モジュール２４３（カメラモジュールとも呼ばれるもの）と連携して、光センサ２６４は、静止画像又はビデオをキャプチャする。一部の実施形態では、タッチスクリーンディスプレイが、静止画像及び／又はビデオ画像の取得のためのビューファインダとしての使用に関して有効化されるように、光センサは、デバイスの前面のタッチスクリーンディスプレイ２１２の反対側である、デバイス２００の背面に配置されている。一部の実施形態では、ユーザが他のテレビ会議参加者をタッチスクリーンディスプレイ上で見ている間に、そのユーザの画像が、任意選択的に、テレビ会議のために取得されるように、デバイスの前面に光センサが配置されている。一部の実施形態では、光センサ２６４の位置は、ユーザによって（例えば、デバイス筐体内のレンズ及びセンサを回転させることによって）変更することができ、それにより、単一の光センサ２６４が、タッチスクリーンディスプレイと共に、テレビ会議並びに静止画像及び／又はビデオ画像の取得の双方のために使用される。
【００９３】
デバイス２００はまた、任意選択的に、１つ以上の深度カメラセンサ２７５も含む。図２Ａは、Ｉ／Ｏサブシステム２０６内の深度カメラコントローラ２６９に結合されている、深度カメラセンサを示す。深度カメラセンサ２７５は、環境からデータを受信して、視点（例えば、深度カメラセンサ）からのシーン内の対象物（例えば、顔面）の３次元モデルを作成する。一部の実施形態では、撮像モジュール２４３（カメラモジュールとも呼ばれるもの）と連携して、深度カメラセンサ２７５は、任意選択的に、撮像モジュール２４３によってキャプチャされた画像の種々の部分の深度マップを決定するために使用される。一部の実施形態では、ユーザが他のテレビ会議参加者をタッチスクリーンディスプレイ上で見ている間に、深度情報を有するユーザの画像が、任意選択的に、テレビ会議のために取得されるように、及び、深度マップデータを有する自撮り画像をキャプチャするように、デバイス２００の前面に深度カメラセンサが配置されている。一部の実施形態では、深度カメラセンサ２７５は、デバイスの背面に、あるいはデバイス２００の背面及び前面に配置されている。一部の実施形態では、深度カメラセンサ２７５の位置は、ユーザによって（例えば、デバイス筐体内のレンズ及びセンサを回転させることによって）変更することができ、それにより、深度カメラセンサ２７５は、タッチスクリーンディスプレイと共に、テレビ会議並びに静止画像及び／又はビデオ画像の取得の双方のために使用される。
【００９４】
一部の実施形態では、深度マップ（例えば、深度マップ画像）は、視点（例えば、カメラ、光センサ、深度カメラセンサ）からのシーン内の対象物の距離に関する情報（例えば、値）を含む。深度マップの一実施形態では、各深度ピクセルは、その対応する２次元ピクセルが位置している、その視点のＺ軸における位置を定義するものである。一部の実施形態では、深度マップはピクセルで構成されており、各ピクセルは、値（例えば、０〜２５５）によって定義される。例えば、値「０」は、「３次元」シーン内で最も遠い場所に位置しているピクセルを表し、値「２５５」は、その「３次元」シーン内で視点（例えば、カメラ、光センサ、深度カメラセンサ）の最も近くに位置しているピクセルを表す。他の実施形態では、深度マップは、シーン内の対象物と視点の平面との間の距離を表す。一部の実施形態では、深度マップは、深度カメラから見た、関心対象物の様々な特徴部の相対深度（例えば、ユーザの顔面の目、鼻、口、耳の相対深度）に関する情報を含む。一部の実施形態では、深度マップは、ｚ方向での関心対象物の輪郭をデバイスが決定することを可能にする、情報を含む。
【００９５】
デバイス２００はまた、任意選択的に、１つ以上の接触強度センサ２６５も含む。図２Ａは、Ｉ／Ｏサブシステム２０６内の強度センサコントローラ２５９に結合されている、接触強度センサを示す。接触強度センサ２６５は、任意選択的に、１つ以上のピエゾ抵抗歪みゲージ、容量式力センサ、電気力センサ、圧電力センサ、光学力センサ、容量式タッチ感知面、又は他の強度センサ（例えば、タッチ感知面上の接触の力（又は、圧力）を測定するために使用されるセンサ）を含む。接触強度センサ２６５は、環境からの接触強度情報（例えば、圧力情報、又は圧力情報の代用情報）を受信する。一部の実施形態では、少なくとも１つの接触強度センサは、タッチ感知面（例えば、タッチ感知ディスプレイシステム２１２）と共に、又は近接して配置されている。一部の実施形態では、少なくとも１つの接触強度センサは、デバイス２００の前面に配置されているタッチスクリーンディスプレイ２１２の反対側である、デバイス２００の背面に配置されている。
【００９６】
デバイス２００はまた、任意選択的に、１つ以上の近接センサ２６６も含む。図２Ａは、周辺機器インタフェース２１８に結合されている、近接センサ２６６を示す。あるいは、近接センサ２６６は、任意選択的に、Ｉ／Ｏサブシステム２０６内の入力コントローラ２６０に結合される。近接センサ２６６は、任意選択的に、米国特許出願第１１／２４１，８３９号、「Ｐｒｏｘｉｍｉｔｙ  Ｄｅｔｅｃｔｏｒ  Ｉｎ  Ｈａｎｄｈｅｌｄ  Ｄｅｖｉｃｅ」、同第１１／２４０，７８８号、「Ｐｒｏｘｉｍｉｔｙ  Ｄｅｔｅｃｔｏｒ  Ｉｎ  Ｈａｎｄｈｅｌｄ  Ｄｅｖｉｃｅ」、同第１１／６２０，７０２号、「Ｕｓｉｎｇ  Ａｍｂｉｅｎｔ  Ｌｉｇｈｔ  Ｓｅｎｓｏｒ  Ｔｏ  Ａｕｇｍｅｎｔ  Ｐｒｏｘｉｍｉｔｙ  Ｓｅｎｓｏｒ  Ｏｕｔｐｕｔ」、同第１１／５８６，８６２号、「Ａｕｔｏｍａｔｅｄ  Ｒｅｓｐｏｎｓｅ  Ｔｏ  Ａｎｄ  Ｓｅｎｓｉｎｇ  Ｏｆ  Ｕｓｅｒ  Ａｃｔｉｖｉｔｙ  Ｉｎ  Ｐｏｒｔａｂｌｅ  Ｄｅｖｉｃｅｓ」、及び同第１１／６３８，２５１号、「Ｍｅｔｈｏｄｓ  Ａｎｄ  Ｓｙｓｔｅｍｓ  Ｆｏｒ  Ａｕｔｏｍａｔｉｃ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｏｆ  Ｐｅｒｉｐｈｅｒａｌｓ」で説明されるように機能するものであり、これらの出願は、全体が参照により本明細書に組み込まれる。一部の実施形態では、近接センサは、この多機能デバイスがユーザの耳の近くに配置されている場合に（例えば、ユーザが電話で通話している場合に）、タッチスクリーン２１２をオフにして無効化する。
【００９７】
デバイス２００はまた、任意選択的に、１つ以上の触知出力生成器２６７も含む。図２Ａは、Ｉ／Ｏサブシステム２０６内の触覚フィードバックコントローラ２６１に結合されている、触知出力生成器を示す。触知出力生成器２６７は、任意選択的に、スピーカ若しくは他のオーディオ構成要素などの１つ以上の電気音響デバイス、及び／又は、モータ、ソレノイド、電気活性ポリマー、圧電アクチュエータ、静電アクチュエータ、若しくは他の触知出力生成構成要素（例えば、電気信号をデバイス上の触知出力に変換する構成要素）などの、エネルギーを直線運動に変換する電気機械デバイスを含む。接触強度センサ２６５は、触覚フィードバックモジュール２３３からの触知フィードバック生成命令を受信して、デバイス２００のユーザによって感知することが可能な触知出力を、デバイス２００上に生成する。一部の実施形態では、少なくとも１つの触知出力生成器は、タッチ感知面（例えば、タッチ感知ディスプレイシステム２１２）と共に、又は近接して配置されており、任意選択的に、タッチ感知面を垂直方向に（例えば、デバイス２００の表面内／表面外に）、又は横方向に（例えば、デバイス２００の表面と同一平面内で前後に）移動させることによって、触知出力を生成する。一部の実施形態では、少なくとも１つの触知出力生成器センサが、デバイス２００の前面に配置されているタッチスクリーンディスプレイ２１２の反対側である、デバイス２００の背面に配置されている。
【００９８】
デバイス２００はまた、任意選択的に、１つ以上の加速度計２６８も含む。図２Ａは、周辺機器インタフェース２１８に結合されている、加速度計２６８を示す。あるいは、加速度計２６８は、任意選択的に、Ｉ／Ｏサブシステム２０６内の入力コントローラ２６０に結合される。加速度計２６８は、任意選択的に、米国特許出願公開第２００５０１９００５９号、「Ａｃｃｅｌｅｒａｔｉｏｎ−ｂａｓｅｄ  Ｔｈｅｆｔ  Ｄｅｔｅｃｔｉｏｎ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｐｏｒｔａｂｌｅ  Ｅｌｅｃｔｒｏｎｉｃ  Ｄｅｖｉｃｅｓ」、及び同第２００６００１７６９２号、「Ｍｅｔｈｏｄｓ  Ａｎｄ  Ａｐｐａｒａｔｕｓｅｓ  Ｆｏｒ  Ｏｐｅｒａｔｉｎｇ  Ａ  Ｐｏｒｔａｂｌｅ  Ｄｅｖｉｃｅ  Ｂａｓｅｄ  Ｏｎ  Ａｎ  Ａｃｃｅｌｅｒｏｍｅｔｅｒ」で説明されるように機能するものであり、これらの文献の双方は、全体が参照により本明細書に組み込まれる。一部の実施形態では、情報は、１つ以上の加速度計から受信されたデータの分析に基づいて、縦置き表示又は横置き表示で、タッチスクリーンディスプレイ上に表示される。デバイス２００は、任意選択的に、加速度計（単数又は複数）２６８に加えて、デバイス２００の位置及び向き（例えば、縦置き表示又は横置き表示）に関する情報を取得するための、磁力計（図示せず）及びＧＰＳ（又は、ＧＬＯＮＡＳＳ若しくは他のグローバルナビゲーションシステム）受信機を含む。
【００９９】
一部の実施形態では、メモリ２０２に記憶されているソフトウェア構成要素は、オペレーティングシステム２２６、通信モジュール（又は、命令セット）２２８、接触／動きモジュール（又は、命令セット）２３０、グラフィックモジュール（又は、命令セット）２３２、テキスト入力モジュール（又は、命令セット）２３４、全地球測位システム（Global Positioning System；ＧＰＳ）モジュール（又は、命令セット）２３５、デジタルアシスタントクライアントモジュール２２９、及びアプリケーション（又は、命令セット）２３６を含む。更には、メモリ２０２は、ユーザデータ及びモデル２３１などの、データ及びモデルを記憶している。更には、一部の実施形態では、図２Ａ及び図４に示されるように、メモリ２０２（図２Ａ）又はメモリ４７０（図４）は、デバイス／グローバル内部状態２５７を記憶している。デバイス／グローバル内部状態２５７は、以下のうちの１つ以上を含む：現在アクティブ状態のアプリケーションがある場合、いずれのアプリケーションが現在アクティブであるかを示す、アクティブアプリケーション状態、いずれのアプリケーション、ビュー、又は他の情報が、タッチスクリーンディスプレイ２１２の様々な領域を占有しているかを示す、ディスプレイ状態、デバイスの様々なセンサ及び入力制御デバイス２１６から取得された情報を含む、センサ状態、並びに、デバイスの位置及び／又は姿勢に関する位置情報。
【０１００】
オペレーティングシステム２２６（例えば、Ｄａｒｗｉｎ（登録商標）、ＲＴＸＣ（登録商標）、ＬＩＮＵＸ（登録商標）、ＵＮＩＸ（登録商標）、ＯＳ  Ｘ（登録商標）、ｉＯＳ（登録商標）、ＷＩＮＤＯＷＳ（登録商標）、又は、ＶｘＷｏｒｋｓ（登録商標）などの組み込みオペレーティングシステム）は、一般的なシステムタスク（例えば、メモリ管理、記憶デバイス制御、電力管理など）を制御及び管理するための、様々なソフトウェア構成要素並びに／あるいはドライバを含み、様々なハードウェア構成要素及びソフトウェア構成要素間の通信を容易にする。
【０１０１】
通信モジュール２２８は、１つ以上の外部ポート２２４を介した他のデバイスとの通信を容易にし、また、ＲＦ回路２０８及び／又は外部ポート２２４によって受信されたデータを処理するための様々なソフトウェア構成要素も含む。外部ポート２２４（例えば、ユニバーサルシリアルバス（Universal Serial Bus）（ＵＳＢ）、ＦＩＲＥＷＩＲＥ（登録商標）など）は、他のデバイスに直接結合するように、又はネットワーク（例えば、インターネット、無線ＬＡＮなど）を介して間接的に結合するように適合されている。一部の実施形態では、外部ポートは、ｉＰｏｄ（登録商標）（Ａｐｐｌｅ  Ｉｎｃ．の商標）デバイス上で使用される３０ピンコネクタと同じ若しくは同様のマルチピン（例えば、３０ピン）コネクタ、及び／又は互換性のあるマルチピン（例えば、３０ピン）コネクタである。
【０１０２】
接触／動きモジュール２３０は、任意選択的に、（ディスプレイコントローラ２５６と連携して）タッチスクリーン２１２との接触、及び他のタッチ感知デバイス（例えば、タッチパッド又は物理クリックホイール）との接触を検出する。接触／動きモジュール２３０は、接触が生じたか否かを判定すること（例えば、指を下ろすイベントを検出すること）、接触の強度（例えば、接触の力若しくは圧力、又は、接触の力若しくは圧力の代替）を判定すること、接触の移動が存在するか否かを判定し、タッチ感知面を横断する移動を追跡すること（例えば、指をドラッグする１つ以上のイベントを検出すること）、及び接触が中止したか否かを判定すること（例えば、指を上げるイベント又は接触の中断を検出すること）などの、接触の検出に関する様々な動作を実行するための、様々なソフトウェア構成要素を含む。接触／動きモジュール２３０は、タッチ感知面から接触データを受信する。一連の接触データによって表される、接触点の移動を判定することは、任意選択的に、接触点の速さ（大きさ）、速度（大きさ及び方向）、及び／又は加速度（大きさ及び／又は方向の変化）を判定することを含む。これらの動作は、任意選択的に、単一の接触（例えば、１本の指の接触）又は複数の同時接触（例えば、「マルチタッチ」／複数の指の接触）に適用される。一部の実施形態では、接触／動きモジュール２３０及びディスプレイコントローラ２５６は、タッチパッド上の接触を検出する。
【０１０３】
一部の実施形態では、接触／動きモジュール２３０は、ユーザによって動作が実行されたか否かを判定するための（例えば、ユーザがアイコン上で「クリック」したか否かを判定するための）、１つ以上の強度閾値のセットを使用する。一部の実施形態では、少なくとも強度閾値のサブセットは、ソフトウェアパラメータに従って決定される（例えば、強度閾値は、特定の物理アクチュエータのアクティブ化閾値によって決定されるものではなく、デバイス２００の物理ハードウェアを変更することなく調節することができる）。例えば、トラックパッド又はタッチスクリーンディスプレイのマウス「クリック」閾値は、そのトラックパッド又はタッチスクリーンディスプレイのハードウェアを変更することなく、広範囲の既定の閾値のうちのいずれかに設定することができる。更には、一部の実装形態では、デバイスのユーザには、（例えば、個々の強度閾値を調節することによって、及び／又は、システムレベルのクリック「強度」パラメータを使用して、一度に複数の強度閾値を調節することによって）強度閾値のセットのうちの１つ以上を調節するための、ソフトウェア設定が提供される。
【０１０４】
接触／動きモジュール２３０は、任意選択的に、ユーザによるジェスチャ入力を検出する。タッチ感知面上での異なるジェスチャは、異なる接触パターン（例えば、検出された接触の、異なる動き、タイミング、及び／又は強度）を有する。それゆえ、ジェスチャは、特定の接触パターンを検出することによって、任意選択的に検出されるものである。例えば、指のタップジェスチャを検出することは、（例えば、アイコンの位置での）指を下ろすイベントを検出し、続いて、その指を下ろすイベントと同じ位置（又は、実質的に同じ位置）で指を上げる（リフトオフ）イベントを検出することを含む。別の例として、タッチ感知面上での指のスワイプジェスチャを検出することは、指を下ろすイベントを検出し、続いて、指をドラッグする１つ以上のイベントを検出し、その後、続いて指を上げる（リフトオフ）イベントを検出することを含む。
【０１０５】
グラフィックモジュール２３２は、表示されるグラフィックの視覚的効果（例えば、輝度、透明度、彩度、コントラスト、又は他の視覚属性）を変更するための構成要素を含めた、タッチスクリーン２１２又は他のディスプレイ上にグラフィックをレンダリングして表示するための、様々な既知のソフトウェア構成要素を含む。本明細書で使用するとき、用語「グラフィック」は、ユーザに対して表示することが可能な任意のオブジェクトを含み、それらのオブジェクトとしては、限定するものではないが、テキスト、ウェブページ、アイコン（ソフトキーを含めた、ユーザインタフェースオブジェクトなど）、デジタル画像、ビデオ、アニメーションなどが挙げられる。
【０１０６】
一部の実施形態では、グラフィックモジュール２３２は、使用されることになるグラフィックを表すデータを記憶している。各グラフィックには、任意選択的に、対応するコードが割り当てられる。グラフィックモジュール２３２は、アプリケーションなどから、必要に応じて座標データ及び他のグラフィック属性データと共に、表示されることになるグラフィックを指定する１つ以上のコードを受信し、次いで、ディスプレイコントローラ２５６に出力するためのスクリーン画像データを生成する。
【０１０７】
触覚フィードバックモジュール２３３は、デバイス２００とのユーザ対話に応答して、デバイス２００上の１つ以上の場所で触知出力を生成するために、触知出力生成器（単数又は複数）２６７によって使用される命令を生成するための、様々なソフトウェア構成要素を含む。
【０１０８】
テキスト入力モジュール２３４は、任意選択的にグラフィックモジュール２３２の構成要素であり、様々なアプリケーション（例えば、連絡先２３７、電子メール２４０、ＩＭ２４１、ブラウザ２４７、及び、テキスト入力を必要とする任意の他のアプリケーション）においてテキストを入力するための、ソフトキーボードを提供する。
【０１０９】
ＧＰＳモジュール２３５は、デバイスの位置を判定し、この情報を様々なアプリケーションで使用するために（例えば、位置に基づくダイヤル発呼で使用するために電話２３８へ、写真／ビデオのメタデータとしてカメラ２４３へ、並びに、天気ウィジェット、地域のイエローページウィジェット、及び地図／ナビゲーションウィジェットなどの、位置に基づくサービスを提供するアプリケーションへ）提供する。
【０１１０】
デジタルアシスタントクライアントモジュール２２９は、デジタルアシスタントのクライアント側機能を提供するための、様々なクライアント側デジタルアシスタント命令を含む。例えば、デジタルアシスタントクライアントモジュール２２９は、ポータブル多機能デバイス２００の様々なユーザインタフェース（例えば、マイクロフォン２１３、加速度計（単数又は複数）２６８、タッチ感知ディスプレイシステム２１２、光センサ（単数又は複数）２２９、他の入力制御デバイス２１６など）を通じて、音声入力（例えば、発話入力）、テキスト入力、タッチ入力、及び／又はジェスチャ入力を受け入れることが可能である。デジタルアシスタントクライアントモジュール２２９はまた、ポータブル多機能デバイス２００の様々な出力インタフェース（例えば、スピーカ２１１、タッチ感知ディスプレイシステム２１２、触知出力生成器（単数又は複数）２６７など）を通じて、オーディオ（例えば、発話出力）、視覚、及び／又は触知の形式で出力を提供することも可能である。例えば、出力は、音声、サウンド、警報、テキストメッセージ、メニュー、グラフィック、ビデオ、アニメーション、振動、及び／又は上記のうちの２つ以上の組み合わせとして提供される。動作の間に、デジタルアシスタントクライアントモジュール２２９は、ＲＦ回路２０８を使用して、ＤＡサーバ１０６と通信する。
【０１１１】
ユーザデータ及びモデル２３１は、デジタルアシスタントのクライアント側機能を提供するための、ユーザに関連付けられた様々なデータ（例えば、ユーザ固有語彙データ、ユーザ選好データ、ユーザ指定の名前の発音、ユーザの電子アドレス帳からのデータ、ｔｏ  ｄｏリスト、買い物リストなど）を含む。更には、ユーザデータ及びモデル２３１は、ユーザ入力を処理して、ユーザ意図を決定するための、様々なモデル（例えば、発話認識モデル、統計的言語モデル、自然言語処理モデル、オントロジ、タスクフローモデル、サービスモデルなど）を含む。
【０１１２】
一部の実施例では、デジタルアシスタントクライアントモジュール２２９は、ポータブル多機能デバイス２００の様々なセンサ、サブシステム、及び周辺機器を利用して、ポータブル多機能デバイス２００の周囲環境から追加情報を収集することにより、ユーザ、現在のユーザ対話、及び／又は現在のユーザ入力に関連付けられる、コンテキストを確立する。一部の実施例では、デジタルアシスタントクライアントモジュール２２９は、ユーザの意図の推測を支援するために、ユーザ入力と共に、コンテキスト情報又はそのサブセットを、ＤＡサーバ１０６に提供する。一部の実施例では、デジタルアシスタントはまた、どのようにしてユーザへの出力を準備及び配信するかを決定するためにも、コンテキスト情報を使用する。コンテキスト情報は、コンテキストデータと称される。
【０１１３】
一部の実施例では、ユーザ入力を伴うコンテキスト情報は、センサ情報、例えば、照明、周囲ノイズ、周囲温度、周囲環境の画像又は動画などを含む。一部の実施例では、コンテキスト情報はまた、デバイスの物理状態、例えば、デバイスの向き、デバイスの位置、デバイスの温度、電力レベル、速度、加速度、動きパターン、セルラー信号強度なども含み得る。一部の実施例では、ＤＡサーバ１０６のソフトウェア状態、例えば、稼働中のプロセス、インストール済みのプログラム、過去及び現在のネットワークアクティビティ、バックグラウンドサービス、エラーログ、リソース使用量などに関する情報、並びにポータブル多機能デバイス２００のソフトウェア状態に関する情報が、ユーザ入力に関連付けられたコンテキスト情報として、ＤＡサーバ１０６に提供される。
【０１１４】
一部の実施例では、デジタルアシスタントクライアントモジュール２２９は、ＤＡサーバ１０６からの要求に応答して、ポータブル多機能デバイス２００上に記憶されている情報（例えば、ユーザデータ２３１）を選択的に提供する。一部の実施例では、デジタルアシスタントクライアントモジュール２２９はまた、ＤＡサーバ１０６による要求に応じて、自然言語ダイアログ又は他のユーザインタフェースを介して、ユーザから追加入力も引き出す。デジタルアシスタントクライアントモジュール２２９は、ユーザ要求内に表現されているユーザの意図の、意図推論及び／又は遂行の際に、ＤＡサーバ１０６を支援するために、その追加入力をＤＡサーバ１０６に渡す。
【０１１５】
より詳細なデジタルアシスタントの説明は、図７Ａ〜図７Ｃを参照して以下で説明される。デジタルアシスタントクライアントモジュール２２９は、以下で説明されるデジタルアシスタントモジュール７２６の任意数のサブモジュールを含み得る点を認識されたい。
【０１１６】
アプリケーション２３６は、任意選択的に、以下のモジュール（又は、命令セット）、又はそれらのサブセット若しくはスーパーセットを含む。
●連絡先モジュール２３７（アドレス帳又は連絡先リストと呼ばれる場合もある）、
●電話モジュール２３８、
●テレビ会議モジュール２３９、
●電子メールクライアントモジュール２４０、
●インスタントメッセージング（Instant messaging；ＩＭ）モジュール２４１、
●トレーニングサポートモジュール２４２、
●静止画像及び／又はビデオ画像用のカメラモジュール２４３、
●画像管理モジュール２４４、
●ビデオプレーヤモジュール、
●ミュージックプレーヤモジュール、
●ブラウザモジュール２４７、
●カレンダーモジュール２４８、
●天気ウィジェット２４９−１、株価ウィジェット２４９−２、計算機ウィジェット２４９−３、アラーム時計ウィジェット２４９−４、辞書ウィジェット２４９−５、及びユーザによって取得された他のウィジェット、並びにユーザ作成ウィジェット２４９−６のうちの１つ以上を任意選択的に含む、ウィジェットモジュール２４９、
●ユーザ作成ウィジェット２４９−６を作成するためのウィジェット作成モジュール２５０、
●検索モジュール２５１、
●ビデオプレーヤモジュール及びミュージックプレーヤモジュールを統合した、ビデオ及びミュージックプレーヤモジュール２５２、
●メモモジュール２５３、
●地図モジュール２５４、及び／又は
●オンラインビデオモジュール２５５。
【０１１７】
メモリ２０２内に任意選択的に記憶される他のアプリケーション２３６の例としては、他のワードプロセッシングアプリケーション、他の画像編集アプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、ＪＡＶＡ（登録商標）対応アプリケーション、暗号化、デジタル著作権管理、音声認識、及び音声複製が挙げられる。
【０１１８】
タッチスクリーン２１２、ディスプレイコントローラ２５６、接触／動きモジュール２３０、グラフィックモジュール２３２、及びテキスト入力モジュール２３４と連携して、連絡先モジュール２３７は、（例えば、メモリ２０２又はメモリ４７０内の連絡先モジュール２３７のアプリケーション内部状態２９２内に記憶されている）アドレス帳又は連絡先リストを管理するために、任意選択的に使用され、この管理には、アドレス帳に名前（単数又は複数）を追加すること、アドレス帳から名前（単数又は複数）を削除すること、電話番号（単数又は複数）、電子メールアドレス（単数又は複数）、住所（単数又は複数）、又は他の情報を名前に関連付けること、画像を名前に関連付けること、名前を分類して並べ替えること、電話２３８、テレビ会議モジュール２３９、電子メール２４０、又はＩＭ２４１による通信を開始及び／又は容易にするために、電話番号又は電子メールアドレスを提供することなどが含まれる。
【０１１９】
ＲＦ回路２０８、オーディオ回路２１０、スピーカ２１１、マイクロフォン２１３、タッチスクリーン２１２、ディスプレイコントローラ２５６、接触／動きモジュール２３０、グラフィックモジュール２３２、及びテキスト入力モジュール２３４と連携して、電話モジュール２３８は、電話番号に対応する文字列を入力し、連絡先モジュール２３７内の１つ以上の電話番号にアクセスし、入力された電話番号を修正し、対応の電話番号をダイヤルし、会話を遂行し、会話が完了した際に接続を切るか又は電話を切るために、任意選択的に使用される。上述のように、無線通信は、複数の通信規格、通信プロトコル、及び通信技術のうちのいずれかを任意選択的に使用する。
【０１２０】
ＲＦ回路２０８、オーディオ回路２１０、スピーカ２１１、マイクロフォン２１３、タッチスクリーン２１２、ディスプレイコントローラ２５６、光センサ２６４、光センサコントローラ２５８、接触／動きモジュール２３０、グラフィックモジュール２３２、テキスト入力モジュール２３４、連絡先モジュール２３７、及び電話モジュール２３８と連携して、テレビ会議モジュール２３９は、ユーザの命令に従って、ユーザと１人以上の他の参加者との間のテレビ会議を開始し、遂行し、終了する、実行可能命令を含む。
【０１２１】
ＲＦ回路２０８、タッチスクリーン２１２、ディスプレイコントローラ２５６、接触／動きモジュール２３０、グラフィックモジュール２３２、及びテキスト入力モジュール２３４と連携して、電子メールクライアントモジュール２４０は、ユーザの命令に応答して、電子メールを作成し、送信し、受信し、管理する、実行可能命令を含む。画像管理モジュール２４４と連携して、電子メールクライアントモジュール２４０は、カメラモジュール２４３で撮影された静止画像又はビデオ画像を有する、電子メールの作成及び送信を、非常に容易にする。
【０１２２】
ＲＦ回路２０８、タッチスクリーン２１２、ディスプレイコントローラ２５６、接触／動きモジュール２３０、グラフィックモジュール２３２、及びテキスト入力モジュール２３４と連携して、インスタントメッセージングモジュール２４１は、インスタントメッセージに対応する文字列を入力し、入力済みの文字を修正し、対応のインスタントメッセージを（例えば、電話ベースのインスタントメッセージ用のショートメッセージサービス（ＳＭＳ）若しくはマルチメディアメッセージサービス（Multimedia Message Service；ＭＭＳ）プロトコルを使用して、又はインターネットベースのインスタントメッセージ用のＸＭＰＰ、ＳＩＭＰＬＥ、若しくはＩＭＰＳを使用して）送信し、インスタントメッセージを受信し、受信されたインスタントメッセージを見る、実行可能命令を含む。一部の実施形態では、送信及び／又は受信されるインスタントメッセージは、任意選択的に、ＭＭＳ及び／又は拡張メッセージングサービス（Enhanced Messaging Service；ＥＭＳ）でサポートされるような、グラフィック、写真、オーディオファイル、ビデオファイル、及び／又は他の添付ファイルを含む。本明細書で使用するとき、「インスタントメッセージング」とは、電話ベースのメッセージ（例えば、ＳＭＳ又はＭＭＳを使用して送信されるメッセージ）及びインターネットベースのメッセージ（例えば、ＸＭＰＰ、ＳＩＭＰＬＥ、又はＩＭＰＳを使用して送信されるメッセージ）の双方を指す。
【０１２３】
ＲＦ回路２０８、タッチスクリーン２１２、ディスプレイコントローラ２５６、接触／動きモジュール２３０、グラフィックモジュール２３２、テキスト入力モジュール２３４、ＧＰＳモジュール２３５、地図モジュール２５４、及びミュージックプレーヤモジュールと連携して、トレーニングサポートモジュール２４２は、（例えば、時間、距離、及び／又はカロリー消費目標を有する）トレーニングを作成し、トレーニングセンサ（スポーツデバイス）と通信し、トレーニングセンサデータを受信し、トレーニングをモニタするために使用されるセンサを較正し、トレーニング用の音楽を選択して再生し、トレーニングデータを表示し、記憶し、送信する、実行可能命令を含む。
【０１２４】
タッチスクリーン２１２、ディスプレイコントローラ２５６、光センサ（単数又は複数）２６４、光センサコントローラ２５８、接触／動きモジュール２３０、グラフィックモジュール２３２、及び画像管理モジュール２４４と連携して、カメラモジュール２４３は、静止画像又は（ビデオストリームを含む）ビデオをキャプチャし、それらをメモリ２０２内に記憶し、静止画像又はビデオの特性を修正し、あるいはメモリ２０２から静止画像又はビデオを削除する、実行可能命令を含む。
【０１２５】
タッチスクリーン２１２、ディスプレイコントローラ２５６、接触／動きモジュール２３０、グラフィックモジュール２３２、テキスト入力モジュール２３４、及びカメラモジュール２４３と連携して、画像管理モジュール２４４は、静止画像及び／又はビデオ画像を配列し、修正（例えば、編集）若しくは他の方式で操作し、ラベルを付け、削除し、（例えば、デジタルスライドショー又はアルバムとして）提示し、記憶する、実行可能命令を含む。
【０１２６】
ＲＦ回路２０８、タッチスクリーン２１２、ディスプレイコントローラ２５６、接触／動きモジュール２３０、グラフィックモジュール２３２、及びテキスト入力モジュール２３４と連携して、ブラウザモジュール２４７は、ウェブページ又はその諸部分、並びにウェブページにリンクされた添付ファイル及び他のファイルを検索し、リンクし、受信し、表示することを含めた、ユーザの命令に従ってインターネットをブラウズする、実行可能命令を含む。
【０１２７】
ＲＦ回路２０８、タッチスクリーン２１２、ディスプレイコントローラ２５６、接触／動きモジュール２３０、グラフィックモジュール２３２、テキスト入力モジュール２３４、電子メールクライアントモジュール２４０、及びブラウザモジュール２４７と連携して、カレンダーモジュール２４８は、ユーザの命令に従って、カレンダー、及びカレンダーに関連付けられるデータ（例えば、カレンダー項目、ｔｏ  ｄｏリストなど）を作成し、表示し、修正し、記憶する、実行可能命令を含む。
【０１２８】
ＲＦ回路２０８、タッチスクリーン２１２、ディスプレイコントローラ２５６、接触／動きモジュール２３０、グラフィックモジュール２３２、テキスト入力モジュール２３４、及びブラウザモジュール２４７と連携して、ウィジェットモジュール２４９は、ユーザによって任意選択的にダウンロードされて使用されるミニアプリケーション（例えば、天気ウィジェット２４９−１、株価ウィジェット２４９−２、計算機ウィジェット２４９−３、アラーム時計ウィジェット２４９−４、及び辞書ウィジェット２４９−５）、又は、ユーザによって作成されるミニアプリケーション（例えば、ユーザ作成ウィジェット２４９−６）である。一部の実施形態では、ウィジェットは、ＨＴＭＬ（Hypertext Markup Language；ハイパーテキストマークアップ言語）ファイル、ＣＳＳ（Cascading Style Sheets；カスケーディングスタイルシート）ファイル、及びＪａｖａＳｃｒｉｐｔ（登録商標）ファイルを含む。一部の実施形態では、ウィジェットは、ＸＭＬ（Extensible Markup Language；拡張可能マークアップ言語）ファイル及びＪａｖａＳｃｒｉｐｔファイル（例えば、Ｙａｈｏｏ！（登録商標）ウィジェット）を含む。
【０１２９】
ＲＦ回路２０８、タッチスクリーン２１２、ディスプレイコントローラ２５６、接触／動きモジュール２３０、グラフィックモジュール２３２、テキスト入力モジュール２３４、及びブラウザモジュール２４７と連携して、ウィジェット作成モジュール２５０は、任意選択的に、ウィジェットを作成する（例えば、ウェブページのユーザ指定箇所をウィジェットに変える）ために、ユーザによって使用される。
【０１３０】
タッチスクリーン２１２、ディスプレイコントローラ２５６、接触／動きモジュール２３０、グラフィックモジュール２３２、及びテキスト入力モジュール２３４と連携して、検索モジュール２５１は、ユーザの命令に従って、１つ以上の検索基準（例えば、１つ以上のユーザ指定の検索用語）に一致する、メモリ２０２内のテキスト、音楽、サウンド、画像、ビデオ、及び／又は他のファイルを検索する、実行可能命令を含む。
【０１３１】
タッチスクリーン２１２、ディスプレイコントローラ２５６、接触／動きモジュール２３０、グラフィックモジュール２３２、オーディオ回路２１０、スピーカ２１１、ＲＦ回路２０８、及びブラウザモジュール２４７と連携して、ビデオ及びミュージックプレーヤモジュール２５２は、ＭＰ３ファイル又はＡＡＣファイルなどの１つ以上のファイル形式で記憶された、録音済みの音楽ファイル又は他のサウンドファイルを、ユーザがダウンロード及び再生することを可能にする、実行可能命令と、ビデオを（例えば、タッチスクリーン２１２上に、又は外部ポート２２４を介して接続されている外部のディスプレイ上に）表示、提示、又は他の方式で再生する、実行可能命令とを含む。一部の実施形態では、デバイス２００は、任意選択的に、ｉＰｏｄ（Ａｐｐｌｅ  Ｉｎｃ．の商標）などのＭＰ３プレーヤの機能を含む。
【０１３２】
タッチスクリーン２１２、ディスプレイコントローラ２５６、接触／動きモジュール２３０、グラフィックモジュール２３２、及びテキスト入力モジュール２３４と連携して、メモモジュール２５３は、ユーザの命令に従って、メモ、ｔｏ  ｄｏリストなどを作成及び管理する、実行可能命令を含む。
【０１３３】
ＲＦ回路２０８、タッチスクリーン２１２、ディスプレイコントローラ２５６、接触／動きモジュール２３０、グラフィックモジュール２３２、テキスト入力モジュール２３４、ＧＰＳモジュール２３５、及びブラウザモジュール２４７と連携して、地図モジュール２５４は、任意選択的に、ユーザの命令に従って、地図、及び地図に関連付けられるデータ（例えば、運転方向、特定の場所若しくはその付近の、店舗及び他の関心対象地点についてのデータ、並びに位置に基づく他のデータ）を受信し、表示し、変更し、記憶するために、使用される。
【０１３４】
タッチスクリーン２１２、ディスプレイコントローラ２５６、接触／動きモジュール２３０、グラフィックモジュール２３２、オーディオ回路２１０、スピーカ２１１、ＲＦ回路２０８、テキスト入力モジュール２３４、電子メールクライアントモジュール２４０、及びブラウザモジュール２４７と連携して、オンラインビデオモジュール２５５は、ユーザが、特定のオンラインビデオにアクセスし、閲覧し、（例えば、ストリーミング及び／又はダウンロードによって）受信し、（例えば、タッチスクリーン上で、又は外部ポート２２４を介して接続されている外部のディスプレイ上で）再生し、その特定のオンラインビデオへのリンクを含む電子メールを送信し、また他の方式で、Ｈ．２６４などの１つ以上のファイル形式でオンラインビデオを管理することを可能にする、命令を含む。一部の実施形態では、特定のオンラインビデオへのリンクを送信するために、電子メールクライアントモジュール２４０ではなく、インスタントメッセージングモジュール２４１が使用される。オンラインビデオアプリケーションの更なる説明は、２００７年６月２０日出願の米国特許仮出願第６０／９３６，５６２号、「Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｄｅｖｉｃｅ，Ｍｅｔｈｏｄ，ａｎｄ  Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  ｆｏｒ  Ｐｌａｙｉｎｇ  Ｏｎｌｉｎｅ  Ｖｉｄｅｏｓ」、及び２００７年１２月３１日出願の米国特許出願第１１／９６８，０６７号、「Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｄｅｖｉｃｅ，Ｍｅｔｈｏｄ，ａｎｄ  Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  ｆｏｒ  Ｐｌａｙｉｎｇ  Ｏｎｌｉｎｅ  Ｖｉｄｅｏｓ」に見出すことができ、これらの出願の内容は、全体が参照により本明細書に組み込まれる。
【０１３５】
上記で特定されているモジュール及びアプリケーションのそれぞれは、上述の１つ以上の機能、及び本出願で説明される方法（例えば、コンピュータにより実施される方法及び本明細書で説明される他の情報処理方法）を実行する、実行可能命令のセットに対応する。これらのモジュール（例えば、命令セット）は、別個のソフトウェアプログラム、プロシージャ、又はモジュールとして実装される必要はなく、それゆえ、様々な実施形態では、任意選択的に、これらのモジュールの様々なサブセットが組み合わされるか、又は他の方式で再編成される。例えば、ビデオプレーヤモジュールは、任意選択的に、ミュージックプレーヤモジュールと共に単一のモジュール（例えば、図２Ａのビデオ及びミュージックプレーヤモジュール２５２）へと組み合わされる。一部の実施形態では、メモリ２０２は、任意選択的に、上記で特定されているモジュール及びデータ構造のサブセットを記憶している。更には、メモリ２０２は、任意選択的に、上述されていない追加的なモジュール及びデータ構造を記憶している。
【０１３６】
一部の実施形態では、デバイス２００は、そのデバイス上での既定の機能のセットの動作が、専らタッチスクリーン及び／又はタッチパッドを介して実行される、デバイスである。デバイス２００の動作に関する主要な入力制御デバイスとして、タッチスクリーン及び／又はタッチパッドを使用することによって、デバイス２００上の物理的な入力制御デバイス（プッシュボタン、ダイヤルなど）の数が、任意選択的に削減される。
【０１３７】
専らタッチスクリーン及び／又はタッチパッドを介して実行される、既定の機能のセットは、任意選択的に、ユーザインタフェース間のナビゲーションを含む。一部の実施形態では、タッチパッドは、ユーザによってタッチされると、デバイス２００上に表示されている任意のユーザインタフェースから、メインメニュー、ホームメニュー、又はルートメニューへと、デバイス２００をナビゲートする。そのような実施形態では、「メニューボタン」は、タッチパッドを使用して実装される。一部の他の実施形態では、メニューボタンは、タッチパッドではなく、物理プッシュボタン又は他の物理入力制御デバイスである。
【０１３８】
図２Ｂは、一部の実施形態による、イベント処理のための例示的な構成要素を示すブロック図である。一部の実施形態では、メモリ２０２（図２Ａ）又はメモリ４７０（図４）は、イベントソータ２７０（例えば、オペレーティングシステム２２６内）及び対応のアプリケーション２３６−１（例えば、前述のアプリケーション２３７〜２５１、２５５、４８０〜４９０のうちのいずれか）を含む。
【０１３９】
イベントソータ２７０は、イベント情報を受信して、そのイベント情報の配信先となるアプリケーション２３６−１、及びアプリケーション２３６−１のアプリケーションビュー２９１を決定する。イベントソータ２７０は、イベントモニタ２７１及びイベントディスパッチャモジュール２７４を含む。一部の実施形態では、アプリケーション２３６−１は、そのアプリケーションがアクティブであるか又は実行中の場合にタッチ感知ディスプレイ２１２上に表示される、現在のアプリケーションビュー（単数又は複数）を示す、アプリケーション内部状態２９２を含む。一部の実施形態では、いずれのアプリケーション（単数又は複数）が現在アクティブであるかを判定するために、デバイス／グローバル内部状態２５７が、イベントソータ２７０によって使用され、アプリケーション内部状態２９２は、イベント情報の配信先となるアプリケーションビュー２９１を決定するために、イベントソータ２７０によって使用される。
【０１４０】
一部の実施形態では、アプリケーション内部状態２９２は、アプリケーション２３６−１が実行を再開する際に使用される再開情報、アプリケーション２３６−１によって情報が表示されているか又は表示の準備が整っていることを示すユーザインタフェース状態情報、ユーザがアプリケーション２３６−１の以前の状態又はビューに戻ることを可能にするための状態キュー、及び、ユーザが以前に行ったアクションのリドゥ／アンドゥキューのうちの１つ以上などの、追加情報を含む。
【０１４１】
イベントモニタ２７１は、周辺機器インタフェース２１８からイベント情報を受信する。イベント情報は、サブイベント（例えば、マルチタッチジェスチャの一部としての、タッチ感知ディスプレイ２１２上でのユーザのタッチ）についての情報を含む。周辺機器インタフェース２１８は、Ｉ／Ｏサブシステム２０６から、あるいは、近接センサ２６６、加速度計（単数又は複数）２６８、及び／又は（オーディオ回路２１０を介して）マイクロフォン２１３などのセンサから受信する情報を送信する。周辺機器インタフェース２１８がＩ／Ｏサブシステム２０６から受信する情報は、タッチ感知ディスプレイ２１２又はタッチ感知面からの情報を含む。
【０１４２】
一部の実施形態では、イベントモニタ２７１は、所定の間隔で、周辺機器インタフェース２１８に要求を送信する。これに応答して、周辺機器インタフェース２１８は、イベント情報を送信する。他の実施形態では、周辺機器インタフェース２１８は、重要なイベント（例えば、所定のノイズ閾値を上回り、かつ／又は所定の持続時間を超えた入力を受信すること）が存在する場合にのみ、イベント情報を送信する。
【０１４３】
一部の実施形態では、イベントソータ２７０はまた、ヒットビュー判定モジュール２７２及び／又はアクティブイベント認識部判定モジュール２７３も含む。
【０１４４】
ヒットビュー判定モジュール２７２は、タッチ感知ディスプレイ２１２が２つ以上のビューを表示する場合に、サブイベントが１つ以上のビュー内のいずれの場所で発生したかを判定するための、ソフトウェアプロシージャを提供する。ビューは、ユーザがディスプレイ上で見ることが可能な、コントローラ及び他の要素で構成されている。
【０１４５】
アプリケーションに関連付けられているユーザインタフェースの別の態様は、本明細書ではアプリケーションビュー又はユーザインタフェースウィンドウと呼ばれる場合がある、ビューのセットであり、それらの中で、情報が表示され、タッチに基づくジェスチャが実施される。タッチが検出される（それぞれのアプリケーションの）アプリケーションビューは、任意選択的に、そのアプリケーションのプログラム階層又はビュー階層内のプログラムレベルに対応する。例えば、タッチが検出される最下位レベルのビューは、任意選択的に、ヒットビューと呼ばれ、また、適切な入力として認識されるイベントのセットは、任意選択的に、タッチに基づくジェスチャを開始する最初のタッチのヒットビューに少なくとも部分的に基づいて判定される。
【０１４６】
ヒットビュー判定モジュール２７２は、タッチに基づくジェスチャのサブイベントに関連する情報を受信する。アプリケーションが、階層として編成された複数のビューを有する場合、ヒットビュー判定モジュール２７２は、そのサブイベントを処理するべき階層内の最下位のビューとしての、ヒットビューを特定する。殆どの状況では、このヒットビューは、開始サブイベント（例えば、イベント又は潜在的なイベントを形成するサブイベントのシーケンスにおける、最初のサブイベント）が発生する、最下位レベルのビューである。ヒットビューが、ヒットビュー判定モジュール２７２によって特定されると、そのヒットビューは、典型的には、それがヒットビューとして特定された、同じタッチ又は入力ソースに関連する、全てのサブイベントを受信する。
【０１４７】
アクティブイベント認識部判定モジュール２７３は、ビュー階層内のいずれのビュー（単数又は複数）が特定のサブイベントのシーケンスを受信するべきかを判定する。一部の実施形態では、アクティブイベント認識部判定モジュール２７３は、そのヒットビューのみが特定のサブイベントのシーケンスを受信するべきであると判定する。他の実施形態では、アクティブイベント認識部判定モジュール２７３は、サブイベントの物理的な場所を含む全てのビューが、アクティブに関与するビューであると判定することにより、アクティブに関与する全てのビューが、特定のサブイベントのシーケンスを受信するべきであると判定する。他の実施形態では、タッチサブイベントが、特定の１つのビューに関連付けられている区域に完全に限定された場合であっても、その階層内の上位のビューは、依然として、アクティブに関与するビューとして維持されることになる。
【０１４８】
イベントディスパッチャモジュール２７４は、イベント情報をイベント認識部（例えば、イベント認識部２８０）に配布する。アクティブイベント認識部判定モジュール２７３を含む実施形態では、イベントディスパッチャモジュール２７４は、アクティブイベント認識部判定モジュール２７３によって判定されたイベント認識部に、イベント情報を配信する。一部の実施形態では、イベントディスパッチャモジュール２７４は、それぞれのイベント受信部２８２によって取得されるイベント情報を、イベントキュー内に記憶する。
【０１４９】
一部の実施形態では、オペレーティングシステム２２６が、イベントソータ２７０を含む。あるいは、アプリケーション２３６−１が、イベントソータ２７０を含む。更に他の実施形態では、イベントソータ２７０は、スタンドアロン型モジュールであるか、又は、接触／動きモジュール２３０などの、メモリ２０２内に記憶されている別のモジュールの一部である。
【０１５０】
一部の実施形態では、アプリケーション２３６−１は、そのアプリケーションのユーザインタフェースの各ビュー内で発生するタッチイベントを処理する命令をそれぞれが含む、複数のイベントハンドラ２９０及び１つ以上のアプリケーションビュー２９１を含む。アプリケーション２３６−１の各アプリケーションビュー２９１は、１つ以上のイベント認識部２８０を含む。典型的には、それぞれのアプリケーションビュー２９１は、複数のイベント認識部２８０を含む。他の実施形態では、イベント認識部２８０のうちの１つ以上は、ユーザインタフェースキット、又は、アプリケーション２３６−１が方法及び他の属性を継承する上位レベルのオブジェクトなどの、別個のモジュールの一部である。一部の実施形態では、それぞれのイベントハンドラ２９０は、データアップデータ２７６、オブジェクトアップデータ２７７、ＧＵＩアップデータ２７８、及び／又は、イベントソータ２７０から受信されるイベントデータ２７９のうちの１つ以上を含む。イベントハンドラ２９０は、アプリケーション内部状態２９２を更新するために、データアップデータ２７６、オブジェクトアップデータ２７７、若しくはＧＵＩアップデータ２７８を利用するか又は呼び出す。あるいは、アプリケーションビュー２９１のうちの１つ以上は、１つ以上のそれぞれのイベントハンドラ２９０を含む。また、一部の実施形態では、データアップデータ２７６、オブジェクトアップデータ２７７、及びＧＵＩアップデータ２７８のうちの１つ以上も、それぞれのアプリケーションビュー２９１内に含まれる。
【０１５１】
それぞれのイベント認識部２８０は、イベントソータ２７０からイベント情報（例えば、イベントデータ２７９）を受信して、そのイベント情報からイベントを特定する。イベント認識部２８０は、イベント受信部２８２及びイベント比較部２８４を含む。一部の実施形態では、イベント認識部２８０はまた、メタデータ２８３及び（サブイベント配信命令を任意選択的に含む）イベント配信命令２８８の、少なくともサブセットも含む。
【０１５２】
イベント受信部２８２は、イベントソータ２７０からイベント情報を受信する。このイベント情報は、サブイベントについての情報、例えば、タッチ又はタッチの移動についての情報を含む。サブイベントによっては、イベント情報はまた、サブイベントの場所などの追加情報も含む。サブイベントがタッチの動きに関係する場合、イベント情報はまた、任意選択的に、そのサブイベントの速度及び方向も含む。一部の実施形態では、イベントは、１つの向きから別の向きへの（例えば、縦置きの向きから横置きの向きへの、又はその逆の）デバイスの回転を含み、そのイベント情報は、デバイスの現在の向き（デバイスの姿勢とも呼ばれるもの）についての、対応する情報を含む。
【０１５３】
イベント比較部２８４は、そのイベント情報を、既定のイベント又はサブイベントの定義と比較し、その比較に基づいて、イベント又はサブイベントを判定するか、あるいはイベント又はサブイベントの状態を判定若しくは更新する。一部の実施形態では、イベント比較部２８４は、イベント定義２８６を含む。イベント定義２８６は、例えば、イベント１（２８７−１）、イベント２（２８７−２）などの、イベントの定義（例えば、既定のサブイベントのシーケンス）を含む。一部の実施形態では、イベント（２８７）内のサブイベントは、例えば、タッチの開始、タッチの終了、タッチの移動、タッチの取り消し、及び複数のタッチを含む。一実施例では、イベント１（２８７−１）に関する定義は、表示されているオブジェクト上でのダブルタップである。このダブルタップは、例えば、所定の段階に関する表示オブジェクト上での第１のタッチ（タッチの開始）、所定の段階に関する第１のリフトオフ（タッチの終了）、所定の段階に関する表示オブジェクト上での第２のタッチ（タッチの開始）、及び所定の段階に関する第２のリフトオフ（タッチの終了）を含む。別の実施例では、イベント２（２８７−２）に関する定義は、表示されているオブジェクト上でのドラッグ操作である。このドラッグ操作は、例えば、所定の段階に関する表示オブジェクト上でのタッチ（又は、接触）、タッチ感知ディスプレイ２１２を横断するタッチの移動、及びタッチのリフトオフ（タッチの終了）を含む。一部の実施形態では、イベントはまた、関連付けられている１つ以上のイベントハンドラ２９０に関する情報も含む。
【０１５４】
一部の実施形態では、イベント定義２８７は、それぞれのユーザインタフェースオブジェクトに関するイベントの定義を含む。一部の実施形態では、イベント比較部２８４は、いずれのユーザインタフェースオブジェクトがサブイベントと関連付けられるかを判定するために、ヒットテストを実行する。例えば、タッチ感知ディスプレイ２１２上に、３つのユーザインタフェースオブジェクトが表示されているアプリケーションビューでは、タッチ感知ディスプレイ２１２上でタッチが検出されると、イベント比較部２８４は、３つのユーザインタフェースオブジェクトのうちのいずれが、そのタッチ（サブイベント）と関連付けられているかを判定するために、ヒットテストを実行する。各表示オブジェクトが、対応のイベントハンドラ２９０に関連付けられている場合には、イベント比較部は、そのヒットテストの結果を使用して、いずれのイベントハンドラ２９０をアクティブ化するべきかを決定する。例えば、イベント比較部２８４は、ヒットテストをトリガするサブイベント及びオブジェクトに関連付けられている、イベントハンドラを選択する。
【０１５５】
一部の実施形態では、それぞれのイベント（２８７）に関する定義はまた、サブイベントのシーケンスがイベント認識部のイベントタイプに対応するか否かが判定されるまでイベント情報の配信を遅延させる、遅延アクションを含む。
【０１５６】
それぞれのイベント認識部２８０が、一連のサブイベントがイベント定義２８６内のイベントのいずれにも一致していないと判定する場合、それぞれのイベント認識部２８０は、イベント不可能状態、イベント失敗状態、又はイベント終了状態に入り、その後は、このタッチに基づくジェスチャの後続のサブイベントを無視する。この状況では、そのヒットビューに関してアクティブのまま維持されている他のイベント認識部が存在する場合には、そのイベント認識部が、進行中のタッチに基づくジェスチャのサブイベントを、引き続き追跡及び処理する。
【０１５７】
一部の実施形態では、それぞれのイベント認識部２８０は、アクティブに関与しているイベント認識部にイベント配信システムがどのようにサブイベント配信を実行するべきかを示す、構成変更可能な属性、フラグ、及び／又はリストを有する、メタデータ２８３を含む。一部の実施形態では、メタデータ２８３は、イベント認識部が互いにどのように対話し得るか、又は、どのように対話が有効化されるかを示す、構成変更可能な属性、フラグ、及び／又はリストを含む。一部の実施形態では、メタデータ２８３は、サブイベントがビュー階層又はプログラム階層内の様々なレベルに配信されるか否かを示す、構成変更可能な属性、フラグ、及び／又はリストを含む。
【０１５８】
一部の実施形態では、それぞれのイベント認識部２８０は、イベントの１つ以上の特定のサブイベントが認識されると、イベントに関連付けられているイベントハンドラ２９０をアクティブ化する。一部の実施形態では、それぞれのイベント認識部２８０は、そのイベントに関連付けられているイベント情報を、イベントハンドラ２９０に配信する。イベントハンドラ２９０をアクティブ化することは、それぞれのヒットビューにサブイベントを送信する（及び、送信を延期する）こととは異なる。一部の実施形態では、イベント認識部２８０は、認識されたイベントに関連付けられたフラグをスローし、そのフラグに関連付けられているイベントハンドラ２９０は、そのフラグをキャッチし、既定のプロセスを実行する。
【０１５９】
一部の実施形態では、イベント配信命令２８８は、イベントハンドラをアクティブ化することなくサブイベントについてのイベント情報を配信する、サブイベント配信命令を含む。その代わりに、サブイベント配信命令は、一連のサブイベントに関連付けられているイベントハンドラ、又はアクティブに関与しているビューに、イベント情報を配信する。一連のサブイベント又はアクティブに関与しているビューに関連付けられているイベントハンドラは、そのイベント情報を受信して、所定のプロセスを実行する。
【０１６０】
一部の実施形態では、データアップデータ２７６は、アプリケーション２３６−１で使用されるデータを作成及び更新する。例えば、データアップデータ２７６は、連絡先モジュール２３７で使用される電話番号を更新し、又はビデオプレーヤモジュールで使用されるビデオファイルを記憶する。一部の実施形態では、オブジェクトアップデータ２７７は、アプリケーション２３６−１で使用されるオブジェクトを作成及び更新する。例えば、オブジェクトアップデータ２７７は、新たなユーザインタフェースオブジェクトを作成し、又はユーザインタフェースオブジェクトの位置を更新する。ＧＵＩアップデータ２７８は、ＧＵＩを更新する。例えば、ＧＵＩアップデータ２７８は、表示情報を準備して、その表示情報を、タッチ感知ディスプレイ上に表示するためにグラフィックモジュール２３２に送信する。
【０１６１】
一部の実施形態では、イベントハンドラ（単数又は複数）２９０は、データアップデータ２７６、オブジェクトアップデータ２７７、及びＧＵＩアップデータ２７８を含むか、若しくはそれらに対するアクセスを有する。一部の実施形態では、データアップデータ２７６、オブジェクトアップデータ２７７、及びＧＵＩアップデータ２７８は、それぞれのアプリケーション２３６−１若しくはアプリケーションビュー２９１の単一のモジュール内に含まれる。他の実施形態では、それらは、２つ以上のソフトウェアモジュール内に含まれる。
【０１６２】
タッチ感知ディスプレイ上でのユーザのタッチのイベント処理に関する前述の論考はまた、入力デバイスを使用して多機能デバイス２００を動作させるための他の形態のユーザ入力にも適用されるが、その全てがタッチスクリーン上で開始されるわけではない点が理解されよう。例えば、キーボードの単一又は複数の押圧若しくは保持と任意選択的に連携される、マウスの移動及びマウスボタンの押圧、タッチパッド上でのタップ、ドラッグ、スクロールなどの接触移動、ペンスタイラス入力、デバイスの移動、口頭による指示眼球運動の検出、バイオメトリック入力、及び／又は、これらの任意の組み合わせが、認識対象となるイベントを定義する、サブイベントに対応する入力として、任意選択的に利用される。
【０１６３】
図３は、一部の実施形態による、タッチスクリーン２１２を有するポータブル多機能デバイス２００を示す。このタッチスクリーンは、任意選択的に、ユーザインタフェース（user interface；ＵＩ）３００内に１つ以上のグラフィックを表示する。本実施形態、並びに以下で説明される他の実施形態では、ユーザは、例えば、１本以上の指３０２（図には正確な縮尺では描かれていない）又は１つ以上のスタイラス３０３（図には正確な縮尺では描かれていない）を使用して、グラフィック上でジェスチャを実施することによって、それらのグラフィックのうちの１つ以上を選択することが可能となる。一部の実施形態では、１つ以上のグラフィックの選択は、ユーザが、その１つ以上のグラフィックとの接触を中断する場合に実施される。一部の実施形態では、ジェスチャは、任意選択的に、１回以上のタップ、１回以上の（左から右へ、右から左へ、上方向へ、及び／又は下方向への）スワイプ、及び／又は、デバイス２００と接触した指の（右から左へ、左から右へ、上方向へ、及び／又は下方向への）ローリングを含む。一部の実装形態又は状況では、グラフィックとの不測の接触は、そのグラフィックを選択するものではない。例えば、選択に対応するジェスチャがタップである場合、アプリケーションアイコンの上をスイープするスワイプジェスチャは、任意選択的に、対応するアプリケーションを選択するものではない。
【０１６４】
デバイス２００はまた、任意選択的に、「ホーム」又はメニューボタン３０４などの、１つ以上の物理ボタンも含む。前述のように、メニューボタン３０４は、デバイス２００上で任意選択的に実行されるアプリケーションのセット内の、任意のアプリケーション２３６にナビゲートするために、任意選択的に使用される。あるいは、一部の実施形態では、メニューボタンは、タッチスクリーン２１２上に表示されるＧＵＩ内のソフトキーとして実装される。
【０１６５】
一部の実施形態では、デバイス２００は、タッチスクリーン２１２、メニューボタン３０４、デバイスの電源をオン／オフし、デバイスをロックするためのプッシュボタン３０６、音量調節ボタン（単数又は複数）３０８、加入者識別モジュール（ＳＩＭ）カードスロット３１０、ヘッドセットジャック３１２、及びドッキング／充電用外部ポート２２４を含む。プッシュボタン３０６は、ボタンを押下して、既定の時間間隔にわたってボタンを押下した状態で保持することによって、デバイス上の電力をオン／オフし、ボタンを押下して既定の時間間隔が経過する前にボタンを解放することによって、デバイスをロックし、及び／又は、デバイスをロック解除するか、若しくはロック解除プロセスを開始するために、任意選択的に使用される。代替的実施形態では、デバイス２００はまた、マイクロフォン２１３を介して、一部の機能をアクティブ化又は非アクティブ化するための口頭入力も受け入れる。デバイス２００はまた、任意選択的に、タッチスクリーン２１２上の接触の強度を検出するための１つ以上の接触強度センサ２６５、及び／又は、デバイス２００のユーザに対する触知出力を生成するための１つ以上の触知出力生成器２６７も含む。
【０１６６】
図４は、一部の実施形態による、ディスプレイ及びタッチ感知面を有する例示的な多機能デバイスのブロック図である。デバイス４００は、ポータブル型である必要はない。一部の実施形態では、デバイス４００は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、マルチメディアプレーヤデバイス、ナビゲーションデバイス、教育的デバイス（子供の学習玩具など）、ゲームシステム、又は制御デバイス（例えば、家庭用又は業務用コントローラ）である。デバイス４００は、典型的には、１つ以上の処理ユニット（ＣＰＵ）４１０、１つ以上のネットワーク若しくは他の通信インタフェース４６０、メモリ４７０、及び、これらの構成要素を相互接続するための１つ以上の通信バス４２０を含む。通信バス４２０は、任意選択的に、システム構成要素間の通信を相互接続及び制御する、（チップセットと呼ばれる場合もある）回路を含む。デバイス４００は、典型的にはタッチスクリーンディスプレイである、ディスプレイ４４０を備える入出力（Ｉ／Ｏ）インタフェース４３０を含む。Ｉ／Ｏインタフェース４３０はまた、任意選択的に、キーボード及び／又はマウス（又は、他のポインティングデバイス）４５０、並びに、タッチパッド４５５、デバイス４００上に触知出力を生成するための（例えば、図２Ａを参照して上述された触知出力生成器２６７（単数又は複数）と同様の）触知出力生成器４５７、センサ４５９（例えば、光センサ、加速度センサ、近接センサ、タッチ感知センサ、及び／又は、図２Ａを参照して上述された接触強度センサ（単数又は複数）２６５と同様の接触強度センサ）も含む。メモリ４７０は、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭ、又は他のランダムアクセスソリッドステートメモリデバイスなどの、高速ランダムアクセスメモリを含み、任意選択的に、１つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステート記憶デバイスなどの、不揮発性メモリを含む。メモリ４７０は、任意選択的に、ＣＰＵ（単数又は複数）４１０からリモートに配置される１つ以上の記憶デバイスを含む。一部の実施形態では、メモリ４７０は、ポータブル多機能デバイス２００（図２Ａ）のメモリ２０２内に記憶されているプログラム、モジュール、及びデータ構造に類似する、プログラム、モジュール、及びデータ構造、若しくはそれらのサブセットを記憶している。更には、メモリ４７０は、任意選択的に、ポータブル多機能デバイス２００のメモリ２０２内には存在しない、追加的なプログラム、モジュール、及びデータ構造を記憶している。例えば、デバイス４００のメモリ４７０は、任意選択的に、描画モジュール４８０、プレゼンテーションモジュール４８２、ワードプロセッシングモジュール４８４、ウェブサイト作成モジュール４８６、ディスクオーサリングモジュール４８８、及び／又はスプレッドシートモジュール４９０を記憶しているが、その一方で、ポータブル多機能デバイス２００（図２Ａ）のメモリ２０２は、任意選択的に、これらのモジュールを記憶していない。
【０１６７】
上記で特定されている図４の要素のそれぞれは、任意選択的に、前述のメモリデバイスのうちの１つ以上に記憶される。上記で特定されているモジュールのそれぞれは、上述の機能を実行する命令セットに対応する。上記で特定されているモジュール又はプログラム（例えば、命令セット）は、任意選択的に、別個のソフトウェアプログラム、プロシージャ、又はモジュールとして実装される必要はなく、それゆえ、様々な実施形態では、任意選択的に、これらのモジュールの様々なサブセットが組み合わされるか、又は他の方式で再編成される。一部の実施形態では、メモリ４７０は、任意選択的に、上記で特定されているモジュール及びデータ構造のサブセットを記憶している。更には、メモリ４７０は、任意選択的に、上述されていない追加的なモジュール及びデータ構造を記憶している。
【０１６８】
ここで、例えばポータブル多機能デバイス２００上に任意選択的に実装される、ユーザインタフェースの実施形態に注意を向ける。
【０１６９】
図５Ａは、一部の実施形態による、ポータブル多機能デバイス２００上のアプリケーションのメニューに関する、例示的なユーザインタフェースを示す。同様のユーザインタフェースが、任意選択的に、デバイス４００上に実装される。一部の実施形態では、ユーザインタフェース５００は、以下の要素、又はそれらのサブセット若しくはスーパーセットを含む。
【０１７０】
セルラー信号及びＷｉ−Ｆｉ信号などの無線通信（単数又は複数）に関する信号強度インジケータ（単数又は複数）５０２、
●時刻５０４、
●Ｂｌｕｅｔｏｏｔｈインジケータ５０５、
●バッテリ状態インジケータ５０６、
●以下のような、頻繁に使用されるアプリケーション用のアイコンを有するトレイ５０８、
○不在着信又はボイスメールメッセージの数のインジケータ５１４を任意選択的に含む、「電話」とラベル付けされた、電話モジュール２３８用のアイコン５１６、
○未読電子メールの数のインジケータ５１０を任意選択的に含む、「メール」とラベル付けされた、電子メールクライアントモジュール２４０用のアイコン５１８、
○「ブラウザ」とラベル付けされた、ブラウザモジュール２４７用のアイコン５２０、及び
○「ｉＰｏｄ」とラベル付けされた、ｉＰｏｄ（Ａｐｐｌｅ  Ｉｎｃ．の商標）モジュール２５２とも称されるビデオ及びミュージックプレーヤモジュール２５２用のアイコン５２２、並びに
●以下のような、他のアプリケーション用のアイコン、
○「メッセージ」とラベル付けされた、ＩＭモジュール２４１用のアイコン５２４、
○「カレンダー」とラベル付けされた、カレンダーモジュール２４８用のアイコン５２６、
○「写真」とラベル付けされた、画像管理モジュール２４４用のアイコン５２８、
○「カメラ」とラベル付けされた、カメラモジュール２４３用のアイコン５３０、
○「オンラインビデオ」とラベル付けされた、オンラインビデオモジュール２５５用のアイコン５３２、
○「株価」とラベル付けされた、株価ウィジェット２４９−２用のアイコン５３４、
○「マップ」とラベル付けされた、地図モジュール２５４用のアイコン５３６、
○「天気」とラベル付けされた、天気ウィジェット２４９−１用のアイコン５３８、
○「時計」とラベル付けされた、アラーム時計ウィジェット２４９−４用のアイコン５４０、
○「トレーニングサポート」とラベル付けされた、トレーニングサポートモジュール２４２用のアイコン５４２、
○「メモ」とラベル付けされた、メモモジュール２５３用のアイコン５４４、及び
○デバイス２００及びその様々なアプリケーション２３６に関する設定へのアクセスを提供する、「設定」とラベル付けされた、設定アプリケーション若しくはモジュール用のアイコン５４６。
【０１７１】
図５Ａに示されるアイコンのラベルは、単なる例示であることに留意されたい。例えば、ビデオ及びミュージックプレーヤモジュール２５２用のアイコン５２２は、任意選択的に、「ミュージック」又は「ミュージックプレーヤ」とラベル付けされる。他のラベルが、様々なアプリケーションアイコンのために、任意選択的に使用される。一部の実施形態では、それぞれのアプリケーションアイコンに関するラベルは、それぞれのアプリケーションアイコンに対応するアプリケーションの名前を含む。一部の実施形態では、特定のアプリケーションアイコンのラベルは、その特定のアプリケーションアイコンに対応するアプリケーションの名前とは異なる。
【０１７２】
図５Ｂは、ディスプレイ５５０（例えば、タッチスクリーンディスプレイ２１２）とは別個のタッチ感知面５５１（例えば、図４のタブレット又はタッチパッド４５５）を有するデバイス（例えば、図４のデバイス４００）上の、例示的なユーザインタフェースを示す。デバイス４００はまた、任意選択的に、タッチ感知面５５１上の接触の強度を検出するための１つ以上の接触強度センサ（例えば、センサ４５７のうちの１つ以上）、及び／又は、デバイス４００のユーザに対する触知出力を生成するための１つ以上の触知出力生成器４５９も含む。
【０１７３】
以下の実施例のうちの一部は、タッチスクリーンディスプレイ２１２上での入力（タッチ感知面とディスプレイとが組み合わされている場合）を参照して説明されるが、一部の実施形態では、デバイスは、図５Ｂに示されるように、ディスプレイとは別個のタッチ感知面上での入力を検出する。一部の実施形態では、このタッチ感知面（例えば、図５Ｂでの５５１）は、ディスプレイ（例えば、５５０）上の主軸（例えば、図５Ｂでの５５３）に対応する主軸（例えば、図５Ｂでの５５２）を有する。これらの実施形態によれば、デバイスは、ディスプレイ上のそれぞれの場所に対応する場所での、タッチ感知面５５１との接触（例えば、図５Ｂの５６０及び５６２）を検出する（例えば、図５Ｂでは、５６０は５６８に対応し、５６２は５７０に対応する）。この方式で、タッチ感知面がディスプレイとは別個のものである場合、タッチ感知面（例えば、図５Ｂでの５５１）上でデバイスによって検出されたユーザ入力（例えば、接触５６０及び接触５６２、並びにそれらの移動）が、多機能デバイスのディスプレイ（例えば、図５Ｂでの５５０）上のユーザインタフェースを操作するために、デバイスによって使用される。同様の方法が、任意選択的に、本明細書で説明される他のユーザインタフェースに関して使用されることを理解されたい。
【０１７４】
更には、以下の実施例は、主に指入力（例えば、指の接触、指のタップジェスチャ、指のスワイプジェスチャ）を参照して説明されるが、一部の実施形態では、それらの指入力のうちの１つ以上は、別の入力デバイスからの入力（例えば、マウスに基づく入力、又はスタイラス入力）で置き換えられることを理解されたい。例えば、スワイプジェスチャは、（例えば、接触の代わりの）マウスクリックに続けた、（例えば、接触の移動の代わりの）スワイプの経路に沿ったカーソルの移動によって、任意選択的に置き換えられる。別の例として、タップジェスチャは、（例えば、接触の検出に続いて、その接触の検出を中止する代わりの）カーソルがタップジェスチャの場所の上に配置されている間のマウスクリックによって、任意選択的に置き換えられる。同様に、複数のユーザ入力が同時に検出される場合、複数のコンピュータマウスが任意選択的に同時に使用されるか、又は、マウスと指の接触とが任意選択的に同時に使用されることを理解されたい。
【０１７５】
図６Ａは、例示的なパーソナル電子デバイス６００を示す。デバイス６００は、本体６０２を含む。一部の実施形態では、デバイス６００は、デバイス２００及びデバイス４００に関連して説明された特徴（例えば、図２Ａ〜図４）のうちの一部又は全てを含み得る。一部の実施形態では、デバイス６００は、以降ではタッチスクリーン６０４である、タッチ感知ディスプレイスクリーン６０４を有する。あるいは、又はタッチスクリーン６０４に加えて、デバイス６００は、ディスプレイ及びタッチ感知面を有する。デバイス２００及びデバイス４００と同様に、一部の実施形態では、タッチスクリーン６０４（又は、タッチ感知面）は、任意選択的に、加えられている接触（例えば、タッチ）の強度を検出するための、１つ以上の強度センサを含む。タッチスクリーン６０４（又は、タッチ感知面）の１つ以上の強度センサは、タッチの強度を表す出力データを提供することができる。デバイス６００のユーザインタフェースは、タッチの強度に基づいてタッチに応答するが、これは、異なる強度のタッチが、デバイス６００上に異なるユーザインタフェース動作を呼び出すことができることを意味する。
【０１７６】
タッチ強度を検出して処理するための例示的な技術は、例えば、関連出願である、２０１３年５月８日出願の「Ｄｅｖｉｃｅ，Ｍｅｔｈｏｄ，ａｎｄ  Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  ｆｏｒ  Ｄｉｓｐｌａｙｉｎｇ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ｏｂｊｅｃｔｓ  Ｃｏｒｒｅｓｐｏｎｄｉｎｇ  ｔｏ  ａｎ  Ａｐｐｌｉｃａｔｉｏｎ」と題された国際特許出願第ＰＣＴ／ＵＳ２０１３／０４００６１号（国際公開第２０１３／１６９８４９号として公開）、及び２０１３年１１月１１日出願の「Ｄｅｖｉｃｅ，Ｍｅｔｈｏｄ，ａｎｄ  Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  ｆｏｒ  Ｔｒａｎｓｉｔｉｏｎｉｎｇ  Ｂｅｔｗｅｅｎ  Ｔｏｕｃｈ  Ｉｎｐｕｔ  ｔｏ  Ｄｉｓｐｌａｙ  Ｏｕｔｐｕｔ  Ｒｅｌａｔｉｏｎｓｈｉｐｓ」と題された同第ＰＣＴ／ＵＳ２０１３／０６９４８３号（国際公開第２０１４／１０５２７６号として公開）に見出され、これらの文献のそれぞれは、全体が参照により本明細書に組み込まれる。
【０１７７】
一部の実施形態では、デバイス６００は、１つ以上の入力機構６０６及び入力機構６０８を有する。入力機構６０６及び入力機構６０８は、含まれる場合には、物理的なものとすることができる。物理入力機構の例としては、プッシュボタン及び回転可能機構が挙げられる。一部の実施形態では、デバイス６００は、１つ以上のアタッチメント機構を有する。そのようなアタッチメント機構は、含まれる場合には、デバイス６００を、例えば、帽子、アイウェア、イヤリング、ネックレス、シャツ、ジャケット、ブレスレット、腕時計バンド、チェーン、ズボン、ベルト、靴、財布、バックパックなどに取り付けることを可能にし得る。これらのアタッチメント機構は、ユーザによってデバイス６００が着用されることを可能にする。
【０１７８】
図６Ｂは、例示的なパーソナル電子デバイス６００を示す。一部の実施形態では、デバイス６００は、任意選択的に、図２Ａ、図２Ｂ、及び図４に関連して説明された構成要素のうちの一部又は全てを含む。デバイス６００は、Ｉ／Ｏセクション６１４を、１つ以上のコンピュータプロセッサ６１６及びメモリ６１８と動作可能に結合する、バス６１２を有する。Ｉ／Ｏセクション６１４は、タッチ感知構成要素６２２及び任意選択的に強度センサ６２４（例えば、接触強度センサ）を有し得る、ディスプレイ６０４に、任意選択的に接続される。更には、Ｉ／Ｏセクション６１４は、Ｗｉ−Ｆｉ、Ｂｌｕｅｔｏｏｔｈ、近距離無線通信（「ＮＦＣ」）、セルラー、及び／又は他の無線通信技術を使用してアプリケーションデータ並びにオペレーティングシステムデータを受信するための、通信ユニット６３０と、任意選択的に接続される。デバイス６００は、任意選択的に、入力機構６０６及び／又は入力機構６０８を含む。例えば、入力機構６０６は、任意選択的に、回転可能入力デバイス、又は押下可能かつ回転可能な入力デバイスである。一部の実施例では、入力機構６０８は、任意選択的にボタンである。
【０１７９】
一部の実施例では、入力機構６０８は、任意選択的にマイクロフォンである。パーソナル電子デバイス６００は、ＧＰＳセンサ６３２、加速度計６３４、方向センサ６４０（例えば、コンパス）、ジャイロスコープ６３６、動きセンサ６３８、及び／又はこれらの組み合わせなどの、様々なセンサを任意選択的に含むものであり、それらの全ては、任意選択的に、Ｉ／Ｏセクション６１４に動作可能に接続される。
【０１８０】
パーソナル電子デバイス６００のメモリ６１８は、コンピュータ実行可能命令を記憶するための１つ以上の非一時的コンピュータ可読記憶媒体を含み得るものであり、それらの命令は、１つ以上のコンピュータプロセッサ６１６によって実行されると、例えば、それらのコンピュータプロセッサに、以下で説明される技術及びプロセスを実行させる。それらのコンピュータ実行可能命令はまた、例えば、コンピュータベースのシステム、プロセッサを含むシステム、又は、命令実行システム、装置、若しくはデバイスから命令をフェッチし、それらの命令を実行することが可能な他のシステムなどの、命令実行システム、装置、又はデバイスによって使用するために、あるいはそれらと関連して使用するために、任意の非一時的コンピュータ可読記憶媒体内に、記憶及び／又は伝送される。一部の実施例では、この記憶媒体は、非一時的コンピュータ可読記憶媒体である。非一時的コンピュータ可読記憶媒体は、限定するものではないが、磁気記憶装置、光学式記憶装置、及び／又は半導体記憶装置を含めた、任意のタイプの記憶装置である。そのような記憶装置の例としては、磁気ディスク、ＣＤ、ＤＶＤ、又はＢｌｕ−ｒａｙ技術に基づく光ディスク、並びに、フラッシュ、ソリッドステートドライブなどの永続的ソリッドステートメモリが挙げられる。パーソナル電子デバイス６００は、図６Ｂの構成要素及び構成に限定されるものではなく、他の構成要素又は追加的構成要素を、複数の構成で含み得る。
【０１８１】
本明細書で使用するとき、用語「アフォーダンス」とは、デバイス２００、４００、６００、８００、１０００、１６００、及び／又はデバイス１８００（図２Ａ、図４、及び図６Ａ、図６Ｂ、図８Ａ〜図８ＡＦ、図１０Ａ〜図１０ＡＪ、図１６Ａ〜図１６Ｓ、図１８Ａ〜図１８Ｄ）のディスプレイスクリーン上に任意選択的に表示される、ユーザ対話型グラフィカルユーザインタフェースオブジェクトを指す。例えば、画像（例えば、アイコン）、ボタン、及びテキスト（例えば、ハイパーリンク）はそれぞれ、任意選択的に、アフォーダンスを構成する。
【０１８２】
本明細書で使用するとき、用語「フォーカスセレクタ」とは、ユーザが対話しているユーザインタフェースの現在の部分を示す、入力要素を指す。カーソル又は他の位置マーカを含む一部の実装形態では、そのカーソルは「フォーカスセレクタ」としての役割を果たすことにより、特定のユーザインタフェース要素（例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素）の上にカーソルが存在している間に、入力（例えば、押圧入力）がタッチ感知面（例えば、図４でのタッチパッド４５５、又は図５Ｂでのタッチ感知面５５１）上で検出されると、その特定のユーザインタフェース要素が、検出された入力に従って調節される。タッチスクリーンディスプレイ上のユーザインタフェース要素との直接的な対話を可能にする、タッチスクリーンディスプレイ（例えば、図２Ａでのタッチ感知ディスプレイシステム２１２、又は図５Ａでのタッチスクリーン２１２）を含む一部の実装形態では、タッチスクリーン上で検出される接触が「フォーカスセレクタ」としての役割を果たすことにより、入力（例えば、接触による押圧入力）が、タッチスクリーンディスプレイ上の特定のユーザインタフェース要素（例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素）の場所で検出されると、その特定のユーザインタフェース要素が、検出された入力に従って調節される。一部の実装形態では、フォーカスは、対応するカーソルの移動又はタッチスクリーンディスプレイ上の接触の移動を伴うことなく（例えば、タブキー又は矢印キーを使用して、１つのボタンから別のボタンにフォーカスを移動させることによって）、ユーザインタフェースの１つの領域からユーザインタフェースの別の領域に移動され、これらの実装形態では、フォーカスセレクタは、ユーザインタフェースの種々の領域間でのフォーカスの移動に従って移動する。フォーカスセレクタが呈する具体的な形態とは関わりなく、フォーカスセレクタは、全般的に、ユーザが意図するユーザインタフェースとの対話を（例えば、ユーザが対話することを意図しているユーザインタフェースの要素を、デバイスに示すことによって）伝達するために、ユーザによって制御される、ユーザインタフェース要素（又は、タッチスクリーンディスプレイ上での接触）である。例えば、タッチ感知面（例えば、タッチパッド又はタッチスクリーン）上で押圧入力が検出されている間の、対応のボタンの上のフォーカスセレクタ（例えば、カーソル、接触、又は選択ボックス）の位置は、その対応のボタンを（そのデバイスのディスプレイ上に示される他のユーザインタフェース要素ではなく）アクティブ化することをユーザが意図していることを示すものである。
【０１８３】
本明細書及び特許請求の範囲で使用するとき、接触の「特性強度」という用語は、接触の１つ以上の強度に基づく、その接触の特性を指す。一部の実施形態では、特性強度は、複数の強度サンプルに基づく。特性強度は、任意選択的に、既定数の強度サンプル、すなわち、既定のイベントに関連する（例えば、接触を検出した後、接触のリフトオフを検出する前、接触の移動の開始を検出する前若しくは後、接触の終了を検出する前、接触の強度の増大を検出する前若しくは後、及び／又は、接触の強度の減少を検出する前若しくは後の）所定の期間（例えば、０．０５、０．１、０．２、０．５、１、２、５、１０秒）の間に収集された、強度サンプルのセットに基づく。接触の特性強度は、任意選択的に、接触の強度の最大値、接触の強度の平均値（mean value）、接触の強度の代表値（average value）、接触の強度の上位１０パーセンタイル値、接触の強度の最大値の半分の値、接触の強度の最大値の９０パーセントの値などのうちの、１つ以上に基づく。一部の実施形態では、特性強度を判定する際に（例えば、特性強度が、経時的な接触の強度の平均である場合）、接触の持続時間が使用される。一部の実施形態では、動作がユーザによって実行されたか否かを判定するために、特性強度は、１つ以上の強度閾値のセットと比較される。例えば、１つ以上の強度閾値のセットは、任意選択的に、第１の強度閾値及び第２の強度閾値を含む。この実施例では、第１の閾値を超過しない特性強度を有する接触は、結果として第１の動作をもたらし、第１の強度閾値を超過し、かつ第２の強度閾値を超過しない特性強度を有する接触は、結果として第２の動作をもたらし、第２の閾値を超過する特性強度を有する接触は、結果として第３の動作をもたらす。一部の実施形態では、特性強度と１つ以上の閾値との比較は、第１の動作又は第２の動作のいずれを実行するかを決定するために使用されるのではなく、１つ以上の動作を実行するか否か（例えば、それぞれの動作を実行するか、又はそれぞれの動作の実行を取り止めるか）を判定するために使用される。
【０１８４】
図６Ｃは、複数の強度センサ６２４Ａ〜６２４Ｄを有するタッチ感知ディスプレイスクリーン６０４上での、複数の接触６５２Ａ〜６５２Ｅの検出を示す。図６Ｃは、強度単位に関連して強度センサ６２４Ａ〜６２４Ｄの現在の強度測定値を示す、強度図を更に含む。この実施例では、強度センサ６２４Ａ及び強度センサ６２４Ｄの強度測定値は、それぞれ９強度単位であり、強度センサ６２４Ｂ及び強度センサ６２４Ｃの強度測定値は、それぞれ７強度単位である。一部の実装形態では、総計強度は、これら複数の強度センサ６２４Ａ〜６２４Ｄの強度測定値の和であり、この実施例では、３２強度単位である。一部の実施形態では、各接触には、この総計強度の一部分である、それぞれの強度が割り当てられる。図６Ｄは、力の中心６５４からの接触６５２Ａ〜６５２Ｅの距離に基づく、それら接触６５２Ａ〜６５２Ｅへの総計強度の割り当てを示す。この実施例では、接触６５２Ａ、接触６５２Ｂ、及び接触６５２Ｅのそれぞれには、総計強度のうちの８強度単位の接触の強度が割り当てられており、接触６５２Ｃ及び接触６５２Ｄのそれぞれには、総計強度のうちの４強度単位の接触の強度が割り当てられている。より一般的には、一部の実装形態では、各接触ｊには、既定の数学関数Ｉｊ＝Ａ・（Ｄｊ／ΣＤｉ）に従って、総計強度Ａの一部分である、それぞれの強度Ｉｊが割り当てられ、この場合、Ｄｊは、力の中心までの、それぞれの接触ｊの距離であり、ΣＤｉは、力の中心までの、それぞれの接触の全て（例えば、ｉ＝１から最後まで）の距離の和である。図６Ｃ、図６Ｄを参照して説明された動作は、デバイス１０４、２００、４００、又はデバイス６００と同様若しくは同一の電子デバイスを使用して、実行することができる。一部の実施形態では、接触の特性強度は、その接触の１つ以上の強度に基づく。一部の実施形態では、強度センサを使用して、単一の特性強度（例えば、単一の接触の単一の特性強度）を判定する。これらの強度図は、表示されるユーザインタフェースの一部ではなく、読み手の助けとなるように図６Ｃ、図６Ｄに含まれていることに留意されたい。
【０１８５】
一部の実施形態では、特性強度を判定する目的のために、ジェスチャの一部分が特定される。例えば、タッチ感知面は、任意選択的に、開始位置から移行して終了位置に到達し、その時点で接触の強度が増大する、連続的なスワイプ接触を受信する。この実施例では、終了位置での接触の特性強度は、任意選択的に、スワイプ接触の全体ではなく、その連続的なスワイプ接触の一部分のみ（例えば、終了位置におけるスワイプ接触の部分のみ）に基づくものである。一部の実施形態では、接触の特性強度を判定する前に、平滑化アルゴリズムが、任意選択的に、そのスワイプ接触の強度に適用される。例えば、この平滑化アルゴリズムは、任意選択的に、非加重移動平均平滑化アルゴリズム、三角平滑化アルゴリズム、中央値フィルタ平滑化アルゴリズム、及び／又は指数平滑化アルゴリズムのうちの１つ以上を含む。一部の状況では、これらの平滑化アルゴリズムは、特性強度を判定する目的のために、スワイプ接触の強度の小幅な上昇又は低下を排除する。
【０１８６】
タッチ感知面上の接触の強度は、任意選択的に、接触検出強度閾値、軽い押圧強度閾値、深い押圧強度閾値、及び／又は１つ以上の他の強度閾値などの、１つ以上の強度閾値に関連して特徴付けされる。一部の実施形態では、軽い押圧強度閾値は、物理マウスのボタン又はトラックパッドをクリックすることに典型的に関連付けられた動作を、デバイスが実行することになる強度に相当する。一部の実施形態では、深い押圧強度閾値は、物理マウスのボタン又はトラックパッドをクリックすることに典型的に関連付けられた動作とは異なる動作を、デバイスが実行することになる強度に相当する。一部の実施形態では、軽い押圧強度閾値を下回る（例えば、かつ、それを下回ると接触がもはや検出されない微弱な接触検出強度閾値を上回る）特性強度で接触が検出される場合、デバイスは、軽い押圧強度閾値又は深い押圧強度閾値に関連付けられた動作を実行することなく、そのタッチ感知面上の接触の移動に従って、フォーカスセレクタを移動させることになる。全般的には、別途記載のない限り、これらの強度閾値は、異なるユーザインタフェース図のセット間でも一貫している。
【０１８７】
軽い押圧強度閾値を下回る強度から、軽い押圧強度閾値と深い押圧強度閾値との間の強度への、接触の特性強度の増大は、「軽い押圧」入力と称される場合がある。深い押圧強度閾値を下回る強度から、深い押圧強度閾値を上回る強度への、接触の特性強度の増大は、「深い押圧」入力と称される場合がある。接触検出強度閾値を下回る強度から、接触検出強度閾値と軽い押圧強度閾値との間の強度への、接触の特性強度の増大は、タッチ面上の接触の検出と称される場合がある。接触検出強度閾値を上回る強度から、接触検出強度閾値を下回る強度への、接触の特性強度の減少は、タッチ面からの接触のリフトオフの検出と称される場合がある。一部の実施形態では、接触検出強度閾値はゼロである。一部の実施形態では、接触検出強度閾値はゼロよりも大きい。
【０１８８】
本明細書で説明される一部の実施形態では、１つ以上の動作は、対応の押圧入力を含むジェスチャの検出に応答して、又は、対応の接触（又は、複数の接触）で実行される対応の押圧入力の検出に応答して実行され、それらの対応の押圧入力は、少なくとも部分的に、押圧入力強度閾値を上回る接触（又は、複数の接触）の強度の増大の検出に基づいて検出される。一部の実施形態では、対応の動作は、押圧入力強度閾値を上回る、対応の接触の強度の増大（例えば、対応の押圧入力の「ダウンストローク」）の検出に応答して、実行される。一部の実施形態では、押圧入力は、押圧入力強度閾値を上回る、対応の接触の強度の増大、及び、後続の押圧入力強度閾値を下回る接触の強度の減少を含み、対応の動作は、その後続の押圧入力閾値を下回る、対応の接触の強度の減少（例えば、対応の押圧入力の「アップストローク」）の検出に応答して、実行される。
【０１８９】
図６Ｅ〜図６Ｈは、図６Ｅの軽い押圧強度閾値（例えば、「ＩＴＬ」）を下回る強度から、図６Ｈの深い押圧強度閾値（例えば、「ＩＴＤ」）を上回る強度に至る、接触６６２の強度の増大に対応する押圧入力を含む、ジェスチャの検出を示す。既定領域６７４内に表示されているアプリケーションアイコン６７２Ａ〜６７２Ｄを含む、表示されているユーザインタフェース６７０上で、カーソル６７６が、アプリ２に対応するアプリケーションアイコン６７２Ｂ上に表示されている間に、接触６６２で実行されたジェスチャが、タッチ感知面６６０上で検出される。一部の実施形態では、このジェスチャは、タッチ感知ディスプレイ６０４上で検出される。強度センサが、タッチ感知面６６０上の接触の強度を検出する。このデバイスは、接触６６２の強度が、深い押圧強度閾値（例えば、「ＩＴＤ」）を上回るピークに達したことを判定する。接触６６２は、タッチ感知面６６０上で維持される。このジェスチャの検出に応答して、かつ、このジェスチャの間に深い押圧強度閾値（例えば、「ＩＴＤ」）を上回る強度を有する接触６６２に従って、図６Ｆ〜図６Ｈに示されるように、アプリ２に関する最近開かれた文書の縮小表現６７８Ａ〜６７８Ｃ（例えば、サムネイル）が表示される。一部の実施形態では、１つ以上の強度閾値と比較される強度は、接触の特性強度である。接触６６２に関する強度図は、表示されるユーザインタフェースの一部ではなく、読み手の助けとなるように図６Ｅ〜図６Ｈに含まれていることに留意されたい。
【０１９０】
一部の実施形態では、表現６７８Ａ〜６７８Ｃの表示は、アニメーションを含む。例えば、表現６７８Ａは、最初は、図６Ｆに示されるように、アプリケーションアイコン６７２Ｂの近くに表示される。アニメーションが進行するにつれて、図６Ｇに示されるように、表現６７８Ａは上方向に移動して、表現６７８Ｂが、アプリケーションアイコン６７２Ｂの近くに表示される。次いで、図６Ｈに示されるように、表現６７８Ａが上方向に移動して、６７８Ｂが表現６７８Ａに向けて上方へ移動し、表現６７８Ｃが、アプリケーションアイコン６７２Ｂの近くに表示される。表現６７８Ａ〜６７８Ｃは、アイコン６７２Ｂの上方にアレイを形成する。一部の実施形態では、このアニメーションは、図６Ｆ、図６Ｇに示されるように、接触６６２の強度に従って進行するものであり、この場合、接触６６２の強度が深い押圧強度閾値（例えば、「ＩＴＤ」）に向けて増大するにつれて、表現６７８Ａ〜６７８Ｃが出現し、上方向に移動する。一部の実施形態では、このアニメーションの進行が基づく強度は、接触の特性強度である。図６Ｅ〜図６Ｈを参照して説明された動作は、デバイス１０４、２００、４００、又はデバイス６００と同様若しくは同一の電子デバイスを使用して、実行することができる。
【０１９１】
一部の実施形態では、デバイスは、「ジッタ」と呼ばれる場合がある偶発的入力を回避するために、強度ヒステリシスを採用し、デバイスは、押圧入力強度閾値との既定の関連性を有するヒステリシス強度閾値を、定義又は選択する（例えば、ヒステリシス強度閾値は、押圧入力強度閾値よりもＸ強度単位低いか、又は、ヒステリシス強度閾値は、押圧入力強度閾値の７５％、９０％、若しくは何らかの妥当な比率である）。それゆえ、一部の実施形態では、押圧入力は、押圧入力強度閾値を上回る、対応の接触の強度の増大、及び後続の、押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少を含み、対応の動作は、そのヒステリシス強度閾値を下回る、後続の対応の接触の強度の減少（例えば、対応の押圧入力の「アップストローク」）の検出に応答して、実行される。同様に、一部の実施形態では、押圧入力は、デバイスが、ヒステリシス強度閾値以下の強度から、押圧入力強度閾値以上の強度への、接触の強度の増大、及び任意選択的に、ヒステリシス強度以下の強度への、後続の接触の強度の減少を検出する場合にのみ、検出され、対応の動作は、その押圧入力（例えば、状況に応じて、接触の強度の増大、又は接触の強度の減少）の検出に応答して、実行される。
【０１９２】
説明を容易にするために、押圧入力強度閾値に関連付けられた押圧入力に応答して、又はその押圧入力を含むジェスチャに応答して実行される動作の説明は、押圧入力強度閾値を上回る接触の強度の増大、ヒステリシス強度閾値を下回る強度から押圧入力強度閾値を上回る強度への接触の強度の増大、押圧入力強度閾値を下回る接触の強度の減少、及び／又は押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少のいずれかの検出に応答して、任意選択的にトリガされる。更には、押圧入力強度閾値を下回る、接触の強度の減少の検出に応答して、動作が実行されるとして説明される実施例では、その動作は、押圧入力強度閾値に対応し、かつ押圧入力強度閾値よりも低い、ヒステリシス強度閾値を下回る、接触の強度の減少の検出に応答して、任意選択的に実行される。
【０１９３】
本明細書で使用するとき、「インストール済みアプリケーション」とは、電子デバイス（例えば、デバイス１００、２００、４００、及び／又はデバイス６００）上にダウンロードされており、そのデバイス上で起動される（例えば、開かれた状態になる）準備が整っている、ソフトウェアアプリケーションを指す。一部の実施形態では、ダウンロードされたアプリケーションは、ダウンロードされたパッケージからプログラム部分を抽出して、その抽出部分をコンピュータシステムのオペレーティングシステムと統合するインストールプログラムによって、インストール済みアプリケーションになる。
【０１９４】
本明細書で使用するとき、用語「開いているアプリケーション」又は「実行中のアプリケーション」とは、状態情報が（例えば、デバイス／グローバル内部状態１５７及び／又はアプリケーション内部状態１９２の一部として）保持されている、ソフトウェアアプリケーションを指す。開いているアプリケーション又は実行中のアプリケーションは、任意選択的に、以下のタイプのアプリケーションのうちのいずれか１つである。
●そのアプリケーションが使用されているデバイスのディスプレイスクリーン上に、現時点で表示されている、アクティブなアプリケーション、
●現時点で表示されていないが、そのアプリケーションに関する１つ以上のプロセスが１つ以上のプロセッサによって処理されている、バックグラウンドアプリケーション（又は、バックグラウンドプロセス）、及び
●稼働していないが、メモリ（それぞれ、揮発性及び／又は不揮発性）内に記憶された、そのアプリケーションの実行を再開するために使用することが可能な状態情報を有する、中断又は休止状態のアプリケーション。
【０１９５】
本明細書で使用するとき、用語「閉じているアプリケーション」とは、状態情報が保持されていない（例えば、閉じているアプリケーションに関する状態情報が、デバイスのメモリ内に記憶されていない）ソフトウェアアプリケーションを指す。したがって、アプリケーションを閉じることは、そのアプリケーションに関するアプリケーションプロセスを停止及び／又は除去すること、並びに、そのアプリケーションに関する状態情報をデバイスのメモリから除去することを含む。一般的には、第１のアプリケーション中に第２のアプリケーションを開くことにより、第１のアプリケーションが閉じられることはない。第２のアプリケーションが表示され、第１のアプリケーションの表示が中止されると、第１のアプリケーションは、バックグラウンドアプリケーションになる。
３．デジタルアシスタントシステム
【０１９６】
図７Ａは、様々な実施例による、デジタルアシスタントシステム７００のブロック図を示す。一部の実施例では、デジタルアシスタントシステム７００は、スタンドアロン型コンピュータシステム上に実装される。一部の実施例では、デジタルアシスタントシステム７００は、複数のコンピュータにわたって分散される。一部の実施例では、デジタルアシスタントのモジュール及び機能のうちの一部は、サーバ部分とクライアント部分とに割り振られており、クライアント部分は、例えば、図１に示されるように、１つ以上のユーザデバイス（例えば、デバイス１０４、１２２、２００、４００、６００、８００、１０００、１４０４、１６００、１８００）上に常駐し、１つ以上のネットワークを通じてサーバ部分（例えば、サーバシステム１０８）と通信する。一部の実施例では、デジタルアシスタントシステム７００は、図１に示されるサーバシステム１０８（及び／又は、ＤＡサーバ１０６）の実装形態である。デジタルアシスタントシステム７００は、デジタルアシスタントシステムの一実施例に過ぎず、デジタルアシスタントシステム７００は、示されているものよりも多くの構成要素又は少ない構成要素を有し得るものであり、２つ以上の構成要素を組み合わせることもでき、又は、それらの構成要素の異なる構成若しくは配置を有し得ることに留意されたい。図７Ａに示される様々な構成要素は、１つ以上の信号処理回路及び／又は特定用途向け集積回路を含めたハードウェア、１つ以上のプロセッサによって実行されるソフトウェア命令、ファームウェア、若しくはそれらの組み合わせとして実装される。
【０１９７】
デジタルアシスタントシステム７００は、メモリ７０２、１つ以上のプロセッサ７０４、入出力（Ｉ／Ｏ）インタフェース７０６、及びネットワーク通信インタフェース７０８を含む。これらの構成要素は、１つ以上の通信バス又は信号ライン７１０を介して互いに通信することができる。
【０１９８】
一部の実施例では、メモリ７０２は、高速ランダムアクセスメモリ及び／又は不揮発性コンピュータ可読記憶媒体（例えば、１つ以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステートメモリデバイス）などの、非一時的コンピュータ可読媒体を含む。
【０１９９】
一部の実施例では、Ｉ／Ｏインタフェース７０６は、ディスプレイ、キーボード、タッチスクリーン、及びマイクロフォンなどの、デジタルアシスタントシステム７００の入出力デバイス７１６を、ユーザインタフェースモジュール７２２に結合する。Ｉ／Ｏインタフェース７０６は、ユーザインタフェースモジュール７２２と連携して、ユーザ入力（例えば、音声入力、キーボード入力、タッチ入力など）を受信し、それらを適宜に処理する。一部の実施例では、例えば、デジタルアシスタントがスタンドアロン型ユーザデバイス上に実装される場合、デジタルアシスタントシステム７００は、図２Ａ、図４、図６Ａ〜図６Ｈ、図１２、及び図１４で、それぞれデバイス２００、４００、６００、１２００、及びデバイス１４０４に関連して説明される、構成要素並びにＩ／Ｏ通信インタフェースのうちのいずれかを含む。一部の実施例では、デジタルアシスタントシステム７００は、デジタルアシスタントの実装形態のサーバ部分を表すものであり、ユーザデバイス（例えば、デバイス１０４、２００、４００、６００、８００、１０００、１４０４、１６００、１８００）上に常駐するクライアント側部分を通じて、ユーザと対話することができる。
【０２００】
一部の実施例では、ネットワーク通信インタフェース７０８は、有線通信ポート（単数又は複数）７１２及び／又は無線送受信回路７１４を含む。有線通信ポート（単数又は複数）は、１つ以上の有線インタフェース、例えば、イーサネット、ユニバーサルシリアルバス（ＵＳＢ）、ＦＩＲＥＷＩＲＥなどを介して、通信信号を送受信する。無線回路７１４は、通信ネットワーク及び他の通信デバイスとの間で、ＲＦ信号及び／又は光信号を送受信する。無線通信は、ＧＳＭ、ＥＤＧＥ、ＣＤＭＡ、ＴＤＭＡ、Ｂｌｕｅｔｏｏｔｈ、Ｗｉ−Ｆｉ、ＶｏＩＰ、Ｗｉ−ＭＡＸ、又は任意の他の好適な通信プロトコルなどの、複数の通信規格、通信プロトコル、及び通信技術のうちのいずれかを使用する。ネットワーク通信インタフェース７０８は、デジタルアシスタントシステム７００と、インターネット、イントラネット、並びに／あるいは、セルラー電話ネットワーク、無線ローカルエリアネットワーク（ＬＡＮ）、及び／又はメトロポリタンエリアネットワーク（ＭＡＮ）などの無線ネットワークなどの、ネットワークとの間の、また他のデバイスとの間の、通信を可能にする。
【０２０１】
一部の実施例では、メモリ７０２、又はメモリ７０２のコンピュータ可読記憶媒体は、オペレーティングシステム７１８、通信モジュール７２０、ユーザインタフェースモジュール７２２、１つ以上のアプリケーション７２４、及びデジタルアシスタントモジュール７２６の全て若しくはサブセットを含めた、プログラム、モジュール、命令、及びデータ構造を記憶している。特に、メモリ７０２、又はメモリ７０２のコンピュータ可読記憶媒体は、以下で説明されるプロセスを実行する命令を記憶している。１つ以上のプロセッサ７０４は、これらのプログラム、モジュール、及び命令を実行し、データ構造からの読み出し／データ構造への書き込みを行う。
【０２０２】
オペレーティングシステム７１８（例えば、Ｄａｒｗｉｎ、ＲＴＸＣ、ＬＩＮＵＸ、ＵＮＩＸ、ｉＯＳ、ＯＳ  Ｘ、ＷＩＮＤＯＷＳ、又は、ＶｘＷｏｒｋｓなどの組み込みオペレーティングシステム）は、一般的なシステムタスク（例えば、メモリ管理、記憶デバイス制御、電力管理など）を制御及び管理するための、様々なソフトウェア構成要素並びに／あるいはドライバを含み、様々なハードウェア、ファームウェア、及びソフトウェア構成要素間の通信を容易にする。
【０２０３】
通信モジュール７２０は、ネットワーク通信インタフェース７０８を介した、デジタルアシスタントシステム７００と他のデバイスとの間の通信を容易にする。例えば、通信モジュール７２０は、図２Ａ、図４、図６Ａ〜図６Ｂにそれぞれ示される、デバイス２００、４００、及びデバイス６００などの電子デバイスの、ＲＦ回路２０８と通信する。通信モジュール７２０はまた、無線回路７１４及び／又は有線通信ポート７１２によって受信されたデータを処理するための、様々な構成要素も含む。
【０２０４】
ユーザインタフェースモジュール７２２は、Ｉ／Ｏインタフェース７０６を介して（例えば、キーボード、タッチスクリーン、ポインティングデバイス、コントローラ、及び／又はマイクロフォンから）、ユーザからのコマンド及び／又は入力を受信して、ディスプレイ上にユーザインタフェースオブジェクトを生成する。ユーザインタフェースモジュール７２２はまた、Ｉ／Ｏインタフェース７０６を介して（例えば、ディスプレイ、オーディオチャネル、スピーカ、タッチパッドなどを通じて）、ユーザへの出力（例えば、発話、サウンド、アニメーション、テキスト、アイコン、振動、触覚フィードバック、光など）も準備及び配信する。
【０２０５】
アプリケーション７２４は、１つ以上のプロセッサ７０４によって実行されるように構成された、プログラム及び／又はモジュールを含む。例えば、デジタルアシスタントシステムがスタンドアロン型ユーザデバイス上に実装される場合には、アプリケーション７２４は、ゲーム、カレンダーアプリケーション、ナビゲーションアプリケーション、又は電子メールアプリケーションなどの、ユーザアプリケーションを含む。デジタルアシスタントシステム７００がサーバ上に実装される場合には、アプリケーション７２４は、例えば、リソース管理アプリケーション、診断アプリケーション、又はスケジューリングアプリケーションを含む。
【０２０６】
メモリ７０２はまた、デジタルアシスタントモジュール７２６（又は、デジタルアシスタントのサーバ部分）も記憶している。一部の実施例では、デジタルアシスタントモジュール７２６は、以下のサブモジュール、又はそれらのサブセット若しくはスーパーセットを含む：入出力処理モジュール７２８、音声テキスト化（speech-to-text；ＳＴＴ）処理モジュール７３０、自然言語処理モジュール７３２、ダイアログフロー処理モジュール７３４、タスクフロー処理モジュール７３６、サービス処理モジュール７３８、及び発話合成処理モジュール７４０。これらのモジュールのそれぞれは、デジタルアシスタントモジュール７２６の以下のシステムあるいはデータ及びモデルのうちの１つ以上、又はそれらのサブセット若しくはスーパーセットへのアクセスを有する：オントロジ７６０、語彙索引７４４、ユーザデータ７４８、タスクフローモデル７５４、サービスモデル７５６、及びＡＳＲシステム７５８。
【０２０７】
一部の実施例では、デジタルアシスタントモジュール７２６内に実装されている処理モジュール、データ、及びモデルを使用して、このデジタルアシスタントは、以下のうちの少なくとも一部を実行することができる：発話入力をテキストに変換すること、ユーザから受信した自然言語入力内で表現されているユーザの意図を特定すること、ユーザの意図を完全に推測するために必要な情報を（例えば、単語、ゲーム、意図などの曖昧性を除去することによって）能動的に引き出し、取得すること、推測された意図を満たすためのタスクフローを決定すること、及び、そのタスクフローを実行して、推測された意図を満たすこと。
【０２０８】
一部の実施例では、図７Ｂに示されるように、Ｉ／Ｏ処理モジュール７２８は、ユーザ入力（例えば、発話入力）を取得するために、及びユーザ入力への応答を（例えば、発話出力として）提供するために、図７ＡのＩ／Ｏデバイス７１６を通じてユーザと対話し、又は、図７Ａのネットワーク通信インタフェース７０８を通じてユーザデバイス（例えば、デバイス１０４、２００、４００、又はデバイス６００）と対話する。Ｉ／Ｏ処理モジュール７２８は、任意選択的に、ユーザ入力と共に、又はユーザ入力の受信の直後に、そのユーザ入力に関連付けられたコンテキスト情報をユーザデバイスから取得する。コンテキスト情報は、そのユーザ入力に関連する、ユーザ固有のデータ、語彙、及び／又は選好を含む。一部の実施例では、コンテキスト情報はまた、ユーザ要求が受信される時点での、ユーザデバイスのソフトウェア状態及びハードウェア状態、並びに／あるいは、ユーザ要求が受信された時点での、ユーザの周囲環境に関する情報も含む。一部の実施例では、Ｉ／Ｏ処理モジュール７２８はまた、ユーザ要求に関して、ユーザに補足質問を送信し、ユーザから回答を受信する。ユーザ要求がＩ／Ｏ処理モジュール７２８によって受信され、そのユーザ要求が発話入力を含む場合、Ｉ／Ｏ処理モジュール７２８は、音声テキスト化変換のために、その発話入力をＳＴＴ処理モジュール７３０（又は、発話認識器）に転送する。
【０２０９】
ＳＴＴ処理モジュール７３０は、１つ以上のＡＳＲシステム７５８を含む。１つ以上のＡＳＲシステム７５８は、Ｉ／Ｏ処理モジュール７２８を介して受信された発話入力を処理して、認識結果を生成することができる。各ＡＳＲシステム７５８は、フロントエンド発話プリプロセッサを含む。このフロントエンド発話プリプロセッサは、発話入力から代表的特徴を抽出する。例えば、フロントエンド発話プリプロセッサは、発話入力に対してフーリエ変換を実行することにより、その発話入力を代表的な多次元ベクトルのシーケンスとして特徴付ける、スペクトル特徴を抽出する。更には、各ＡＳＲシステム７５８は、１つ以上の発話認識モデル（例えば、音響モデル及び／又は言語モデル）を含み、１つ以上の発話認識エンジンを実装する。発話認識モデルの例としては、隠れマルコフモデル、混合ガウスモデル、ディープニューラルネットワークモデル、ｎグラム言語モデル、及び他の統計的モデルが挙げられる。発話認識エンジンの例としては、動的時間伸縮法ベースのエンジン、及び重み付き有限状態トランスデューサ（weighted finite-state transducer；ＷＦＳＴ）ベースのエンジンが挙げられる。１つ以上の発話認識モデル及び１つ以上の発話認識エンジンは、フロントエンド発話プリプロセッサの、抽出された代表的特徴を処理して、中間認識結果（例えば、音素、音素列（phonemic string）、及び部分語）を生成し、最終的に、テキスト認識結果（例えば、単語、単語文字列、又はトークンの列）を生成するために使用される。一部の実施例では、発話入力は、認識結果を生成するために、第三者サービスによって、又はユーザのデバイス（例えば、デバイス１０４、２００、４００、又はデバイス６００）上で、少なくとも部分的に処理される。ＳＴＴ処理モジュール７３０が、テキスト文字列（例えば、単語、単語の列、又はトークンの列）を含む認識結果を生成すると、その認識結果は、意図推論のために自然言語処理モジュール７３２に渡される。一部の実施例では、ＳＴＴ処理モジュール７３０は、発話入力の複数のテキスト表現候補を生成する。各テキスト表現候補は、発話入力に対応する、単語又はトークンの列である。一部の実施例では、各テキスト表現候補は、発話認識信頼性スコアに関連付けられる。この発話認識信頼性スコアに基づいて、ＳＴＴ処理モジュール７３０は、テキスト表現候補をランク付けし、ｎ個の最良の（例えば、ｎ個の最高ランクの）テキスト表現候補（単数又は複数）を、意図推論のために自然言語処理モジュール７３２に提供する（ｎは、ゼロよりも大きい所定の整数である）。例えば、一実施例では、最も高いランク（ｎ＝１）のテキスト表現候補のみが、意図推論のために自然言語処理モジュール７３２に渡される。別の実施例では、５つの最高ランク（ｎ＝５）のテキスト表現候補が、意図推論のために自然言語処理モジュール７３２に渡される。
【０２１０】
音声テキスト化処理についての更なる詳細は、開示全体が参照により本明細書に組み込まれる、２０１１年９月２０日出願の、「Ｃｏｎｓｏｌｉｄａｔｉｎｇ  Ｓｐｅｅｃｈ  Ｒｅｃｏｇｎｉｔｉｏｎ  Ｒｅｓｕｌｔｓ」に関する米国実用特許出願第１３／２３６，９４２号で説明されている。
【０２１１】
一部の実施例では、ＳＴＴ処理モジュール７３０は、認識可能な単語の語彙を含み、及び／又は、音標文字変換モジュール７３１を介して、その語彙にアクセスする。各語彙単語は、発話認識音標文字で表された、その単語の１つ以上の発音候補と関連付けられている。具体的には、認識可能な単語の語彙は、複数の発音候補に関連付けられている単語を含む。例えば、語彙は、
【数１】
2019212266.tif 000003
の発音候補に関連付けられている単語「ｔｏｍａｔｏ（トマト）」を含む。更には、語彙単語は、ユーザからの以前の発話入力に基づく、カスタム発音候補に関連付けられている。そのようなカスタム発音候補は、ＳＴＴ処理モジュール７３０内に記憶され、デバイス上のユーザのプロファイルを介して、特定のユーザに関連付けられている。一部の実施例では、単語に関する発音候補は、単語の綴り、並びに１つ以上の言語規則及び／又は音標規則に基づいて判定される。一部の実施例では、発音候補は、例えば既知の正規発音に基づいて、手動で生成される。
【０２１２】
一部の実施例では、発音候補は、その発音候補の一般性に基づいてランク付けされる。例えば、発音候補
【数２】
2019212266.tif 000004
よりも高くランク付けされるが、これは、前者が、（例えば、全てのユーザの間で、特定の地理的領域内のユーザに関して、又は、任意の他の適切なユーザのサブセットに関して）より一般的に使用される発音であるためである。一部の実施例では、発音候補は、その発音候補がユーザに関連付けられているカスタム発音候補であるか否かに基づいて、ランク付けされる。例えば、カスタム発音候補は、正規発音候補よりも高くランク付けされる。このことは、正規発音から逸脱した独特の発音を有する固有名詞を認識するために、有用となり得る。一部の実施例では、発音候補は、出身地、国籍、又は民族性などの、１つ以上の発話特性に関連付けられている。例えば、発音候補
【数３】
2019212266.tif 000005
は、米国に関連付けられており、その一方で、発音候補
【数４】
2019212266.tif 000006
は、英国に関連付けられている。更には、発音候補のランクは、デバイス上のユーザのプロファイル内に記憶されている、そのユーザの１つ以上の特性（例えば、出身地、国籍、民族性など）に基づく。例えば、ユーザのプロファイルから、そのユーザが米国に関連付けられていることを判定することができる。ユーザが米国に関連付けられていることに基づいて、（米国に関連付けられている）発音候補
【数５】
2019212266.tif 000007
は、（英国に関連付けられている）発音候補
【数６】
2019212266.tif 000008
よりも高くランク付けされる。一部の実施例では、ランク付けされた発音候補のうちの１つが、予測される発音（例えば、最も可能性が高い発音）として選択される。
【０２１３】
発話入力が受信されると、ＳＴＴ処理モジュール７３０を使用して、その発話入力に対応する音素が（例えば、音響モデルを使用して）判定され、次いで、その音素に一致する単語を（例えば、言語モデルを使用して）決定することが試みられる。例えば、ＳＴＴ処理モジュール７３０が最初に、発話入力の一部分に対応する音素の列
【数７】
2019212266.tif 000009
を特定した場合には、次いで、語彙索引７４４に基づいて、この列が単語「ｔｏｍａｔｏ（トマト）」に対応すると判定することができる。
【０２１４】
一部の実施例では、ＳＴＴ処理モジュール７３０は、近似照合技術を使用して、発言内の単語を判定する。それゆえ、例えば、ＳＴＴ処理モジュール７３０は、音素の列
【数８】
2019212266.tif 000010
が単語「ｔｏｍａｔｏ（トマト）」に対応するものであることを、その特定の音素の列が、その単語の音素列候補のうちの１つではない場合であっても、判定する。
【０２１５】
デジタルアシスタントの自然言語処理モジュール７３２（「自然言語プロセッサ」）は、ＳＴＴ処理モジュール７３０によって生成された、ｎ個の最良のテキスト表現候補（単数又は複数）（「単語列（単数又は複数）」又は「トークン列（単数又は複数）」）を取得して、それらのテキスト表現候補のそれぞれを、デジタルアシスタントによって認識される１つ以上の「実施可能な意図」に関連付けることを試みる。「実施可能な意図」（又は、「ユーザ意図」）とは、デジタルアシスタントによって実行することが可能なタスクを表すものであり、タスクフローモデル７５４内に実装される、関連するタスクフローを有し得る。この関連するタスクフローは、そのタスクを実行するためにデジタルアシスタントが実施する、一連のプログラムされたアクション及びステップである。デジタルアシスタントの能力の範囲は、タスクフローモデル７５４内に実装及び記憶されている、タスクフローの数及び多様性に応じて決定され、あるいは、換言すれば、そのデジタルアシスタントが認識する「実施可能な意図」の数及び多様性に応じて決定される。しかしながら、デジタルアシスタントの有効性はまた、自然言語で表現されたユーザ要求から正しい「実施可能な意図（単数又は複数）」を推測する、そのアシスタントの能力に応じても決定される。
【０２１６】
一部の実施例では、ＳＴＴ処理モジュール７３０から取得される単語又はトークンの列に加えて、自然言語処理モジュール７３２はまた、例えばＩ／Ｏ処理モジュール７２８から、ユーザ要求に関連付けられたコンテキスト情報も受信する。自然言語処理モジュール７３２は、任意選択的に、そのコンテキスト情報を使用して、ＳＴＴ処理モジュール７３０から受信されたテキスト表現候補内に含まれている情報を、明らかにし、補完し、及び／又は更に定義する。コンテキスト情報は、例えば、ユーザ選好、ユーザデバイスのハードウェア及び／又はソフトウェア状態、ユーザ要求の前、最中、又は直後に収集されたセンサ情報、並びに、デジタルアシスタントとユーザとの間の以前の対話（例えば、ダイアログ）などを含む。本明細書で説明されるように、コンテキスト情報は、一部の実施例では動的であり、時間、場所、ダイアログの内容、及び他の因子によって変化する。
【０２１７】
一部の実施例では、自然言語処理は、例えば、オントロジ７６０に基づく。オントロジ７６０は、多数のノードを含む階層構造であり、各ノードは、「実施可能な意図」、又は、その「実施可能な意図」のうちの１つ以上に関連する「属性」若しくは他の「属性」のいずれかを表す。上述のように、「実施可能な意図」は、デジタルアシスタントが実行することが可能なタスクを表すものであり、すなわち、そのタスクは、「実施可能」であるか、又は実施対象となり得るものである。「属性」は、実施可能な意図に関連付けられた、又は別の属性の下位態様に関連付けられた、パラメータを表す。オントロジ７６０内の実施可能な意図ノードと属性ノードとの間のリンクは、属性ノードによって表されるパラメータが、実施可能な意図ノードによって表されるタスクにどのように関与するかを定義する。
【０２１８】
一部の実施形態では、オントロジ７６０は、実施可能な意図ノード及び属性ノードで構成されている。オントロジ７６０内では、各実施可能な意図ノードは、１つ以上の属性ノードに直接リンクされているか、又は、１つ以上の中間属性ノードを介してリンクされている。同様に、各属性ノードは、１つ以上の実施可能な意図ノードに直接リンクされているか、又は、１つ以上の中間属性ノードを介してリンクされている。例えば、図７Ｃに示されるように、オントロジ７６０は、「レストラン予約」ノード（すなわち、実施可能な意図ノード）を含む。属性ノード「レストラン」、「日付／時間」（予約用）、及び「参加人数」が、それぞれ、実施可能な意図ノード（すなわち、「レストラン予約」ノード）に直接リンクされている。
【０２１９】
更には、属性ノード「料理」、「価格帯」、「電話番号」、及び「場所」は、属性ノード「レストラン」の下位ノードであり、それぞれ、中間属性ノード「レストラン」を介して、「レストラン予約」ノード（すなわち、実施可能な意図ノード）にリンクされている。別の例として、図７Ｃに示されるように、オントロジ７６０はまた、「リマインダ設定」ノード（すなわち、別の実施可能な意図ノード）も含む。属性ノード「日付／時間」（リマインダ設定用）及び「テーマ」（リマインダ用）が、それぞれ、「リマインダ設定」ノードにリンクされている。属性ノード「日付／時間」は、レストラン予約を実施するタスク及びリマインダを設定するタスクの双方に関連しているため、属性ノード「日付／時間」は、オントロジ７６０内で、「レストラン予約」ノード及び「リマインダ設定」ノードの双方にリンクされている。
【０２２０】
実施可能な意図ノードは、そのリンクされている属性ノードと共に、「ドメイン」として説明される。本論考では、各ドメインは、対応の実施可能な意図と関連付けられており、その特定の実施可能な意図に関連付けられているノードのグループ（及び、それらノード間の関係）を指すものである。例えば、図７Ｃに示されるオントロジ７６０は、レストラン予約ドメイン７６２の一実施例、及びリマインダドメイン７６４の一実施例を、オントロジ７６０内に含む。レストラン予約ドメインは、実施可能な意図ノード「レストラン予約」、属性ノード「レストラン」、「日付／時間」、及び「参加人数」、並びに、下位属性ノード「料理」、「価格帯」、「電話番号」、及び「場所」を含む。リマインダドメイン７６４は、実施可能な意図ノード「リマインダ設定」、並びに属性ノード「テーマ」及び「日付／時間」を含む。一部の実施例では、オントロジ７６０は、多数のドメインで構成される。各ドメインは、１つ以上の属性ノードを、１つ以上の他のドメインと共有している。例えば、「日付／時間」属性ノードは、レストラン予約ドメイン７６２及びリマインダドメイン７６４に加えて、多数の異なるドメイン（例えば、スケジューリングドメイン、旅行予約ドメイン、映画チケットドメインなど）に関連付けられている。
【０２２１】
図７Ｃは、オントロジ７６０内の２つの例示的なドメインを示すものであるが、他のドメインとしては、例えば、「映画を探す」、「電話通話を開始する」、「道順を探す」、「会合をスケジュールする」、「メッセージを送信する」、「質問の答えを提供する」、「リストを読み上げる」、「ナビゲーションの指示を提供する」、及び「タスクに関する指示を提供する」などが挙げられる。「メッセージを送信する」ドメインは、「メッセージを送信する」実施可能な意図ノードに関連付けられており、「受信者（単数又は複数）」、「メッセージタイプ」、及び「メッセージ本文」などの属性ノードを更に含む。属性ノード「受信者」は、例えば、「受信者名」及び「メッセージアドレス」などの下位属性ノードによって、更に定義される。
【０２２２】
一部の実施例では、オントロジ７６０は、デジタルアシスタントが理解及び遂行することが可能な、全てのドメイン（またそれゆえ、実施可能な意図）を含む。一部の実施例では、オントロジ７６０は、ドメイン若しくはノード全体を追加又は除去することによって、あるいは、オントロジ７６０内のノード間の関係を修正することなどによって、修正される。
【０２２３】
一部の実施例では、関連する複数の実施可能な意図に関連付けられているノードは、オントロジ７６０内の「上位ドメイン」の下にクラスタ化されている。例えば、「旅行」上位ドメインは、旅行に関連する属性ノード及び実施可能な意図ノードの、クラスタを含む。旅行に関連する実施可能な意図ノードとしては、「航空券予約」、「ホテル予約」、「自動車のレンタル」、「道順を知る」、及び「興味のある場所を探す」などが挙げられる。同じ上位ドメイン（例えば、「旅行」上位ドメイン）の下の実施可能な意図ノードは、多数の属性ノードを共有している。例えば、「航空券予約」、「ホテル予約」、「自動車のレンタル」、「道順を知る」、及び「興味のある場所を探す」に関する実施可能な意図ノードは、属性ノード「出発地」、「目的地」、「出発日／時間」、「到着日／時間」、及び「参加人数」のうちの１つ以上を共有している。
【０２２４】
一部の実施形態では、オントロジ７６０内の各ノードは、そのノードによって表される属性若しくは実施可能な意図に関連する、単語及び／又はフレーズのセットに関連付けられている。各ノードに関連付けられている対応の単語及び／又はフレーズのセットは、そのノードに関連付けられた、いわゆる「語彙」である。各ノードに関連付けられている対応の単語及び／又はフレーズのセットは、そのノードによって表される属性又は実施可能な意図に関連して、語彙索引７４４内に記憶されている。例えば、図７Ｃに戻ると、「レストラン」の属性に関するノードに関連付けられている語彙としては、「食べ物」、「飲み物」、「料理」、「空腹」、「食べる」、「ピザ」、「ファストフード」、「食事」などの単語が挙げられる。別の例として、「電話通話を開始する」の実施可能な意図に関するノードに関連付けられている語彙としては、「電話する（call）」、「電話（phone）」、「ダイヤルする（dial）」、「電話をかける（ring）」、「この番号に電話する（call this number）」、「〜に電話をかける（make a call to）」などの、単語及びフレーズが挙げられる。語彙索引７４４は、任意選択的に、異なる言語の単語及びフレーズを含む。
【０２２５】
自然言語処理モジュール７３２は、ＳＴＴ処理モジュール７３０からテキスト表現候補（例えば、テキスト文字列（単数又は複数）又はトークン列（単数又は複数））を受信し、各表現候補に関して、いずれのノードが、そのテキスト表現候補内の単語によって暗示されているかを判定する。一部の実施例では、テキスト表現候補内の単語又はフレーズが、オントロジ７６０内の１つ以上のノードに関連付けられていることが（語彙索引７４４を介して）見出される場合には、その単語又はフレーズは、それらのノードを「トリガ」又は「アクティブ化」する。アクティブ化されたノードの量及び／又は相対的重要性に基づいて、自然言語処理モジュール７３２は、それらの実施可能な意図のうちの１つを、デジタルアシスタントにユーザが実行させるように意図したタスクとして選択する。一部の実施例では、最も多く「トリガされた」ノードを有するドメインが選択される。一部の実施例では、最も高い信頼値（例えば、そのトリガされた様々なノードの相対的重要性に基づくもの）を有するドメインが選択される。一部の実施例では、トリガされたノードの数及び重要性の組み合わせに基づいて、ドメインが選択される。一部の実施例では、ノードを選択する際には、デジタルアシスタントが、ユーザからの同様の要求を以前に正確に解釈したか否かなどの、追加的因子も考慮される。
【０２２６】
ユーザデータ７４８は、ユーザ固有語彙、ユーザ選好、ユーザアドレス、ユーザの既定言語及び第２言語、ユーザの連絡先リスト、並びに各ユーザに関する他の短期的若しくは長期的情報などの、ユーザ固有情報を含む。一部の実施例では、自然言語処理モジュール７３２は、ユーザ入力内に含まれている情報を補完して、ユーザ意図を更に定義するために、これらのユーザ固有情報を使用する。例えば、ユーザ要求「私の誕生日パーティーに私の友人を招待して（invite my friends to my birthday party）」に関して、自然言語処理モジュール７３２は、誰が「友人」であり、いつ及びどこで「誕生日パーティー」が催されることになるかを判定するために、そのような情報をユーザ要求内で明示的に提供するようにユーザに要求することなく、ユーザデータ７４８にアクセスすることが可能である。
【０２２７】
一部の実施例では、自然言語処理モジュール７３２は、１つ以上の機械学習機構（例えば、ニューラルネットワーク）を使用して実装されることを認識されたい。具体的には、１つ以上の機械学習機構は、テキスト表現候補、及び、そのテキスト表現候補に関連付けられたコンテキスト情報を受信するように構成されている。それらテキスト表現候補及び関連するコンテキスト情報に基づいて、１つ以上の機械学習機構は、実施可能な意図候補のセットにわたって、意図信頼性スコアを判定するように構成されている。自然言語処理モジュール７３２は、判定された意図信頼性スコアに基づいて、実施可能な意図候補のセットから、１つ以上の実施可能な意図候補を選択することができる。一部の実施例では、オントロジ（例えば、オントロジ７６０）もまた、実施可能な意図候補のセットから、１つ以上の実施可能な意図候補を選択するために使用される。
【０２２８】
トークン文字列に基づくオントロジの検索の他の詳細は、開示全体が参照により本明細書に組み込まれる、２００８年１２月２２日出願の「Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｓｅａｒｃｈｉｎｇ  Ｕｓｉｎｇ  ａｎ  Ａｃｔｉｖｅ  Ｏｎｔｏｌｏｇｙ」に関する米国実用特許出願第１２／３４１，７４３号で説明されている。
【０２２９】
一部の実施例では、自然言語処理モジュール７３２が、ユーザ要求に基づいて実施可能な意図（又は、ドメイン）を特定すると、自然言語処理モジュール７３２は、その特定された実施可能な意図を表すように、構造化クエリを生成する。一部の実施例では、この構造化クエリは、その実施可能な意図に関するドメイン内の１つ以上のノードについてのパラメータを含み、それらのパラメータの少なくとも一部には、ユーザ要求内で指定された具体的な情報及び要件が入力されている。例えば、「７時に寿司屋で夕食の予約を取ってください（Make me a dinner reservation at a sushi place at 7）」とユーザが言う。この場合には、自然言語処理モジュール７３２は、そのユーザ入力に基づいて、実施可能な意図が「レストラン予約」であると、正確に特定することが可能である。オントロジによれば、「レストラン予約」ドメインに関する構造化クエリは、｛料理｝、｛時間｝、｛日付｝、｛参加人数｝などのパラメータを含む。一部の実施例では、発話入力、及びＳＴＴ処理モジュール７３０を使用して発話入力から導出されたテキストに基づいて、自然言語処理モジュール７３２は、レストラン予約ドメインに関する部分的構造化クエリを生成し、この部分的構造化クエリは、パラメータ｛料理＝「寿司」｝及びパラメータ｛時間＝「午後７時」｝を含む。しかしながら、この実施例では、ユーザの発言に含まれる情報は、そのドメインに関連付けられる構造化クエリを完成するためには不十分である。それゆえ、｛参加人数｝及び｛日付｝などの他の必要なパラメータは、現時点で入手可能な情報に基づく構造化クエリ内では指定されていない。一部の実施例では、自然言語処理モジュール７３２は、この構造化クエリの一部のパラメータに、受信されたコンテキスト情報を追加入力する。例えば、一部の実施例では、ユーザが「近所の」寿司レストランを要求した場合には、自然言語処理モジュール７３２は、構造化クエリ内の｛場所｝パラメータに、ユーザデバイスからのＧＰＳ座標を追加入力する。
【０２３０】
一部の実施例では、自然言語処理モジュール７３２は、ＳＴＴ処理モジュール７３０から受信された各テキスト表現候補に関して、複数の実施可能な意図候補を特定する。更には、一部の実施例では、特定された実施可能な意図候補のそれぞれに関して、対応の（部分的又は完全な）構造化クエリが生成される。自然言語処理モジュール７３２は、実施可能な意図候補のそれぞれに関する意図信頼性スコアを判定し、その意図信頼性スコアに基づいて、それら実施可能な意図候補をランク付けする。一部の実施例では、自然言語処理モジュール７３２は、任意の入力済みパラメータを含む、生成された構造化クエリ（単数又は複数）を、タスクフロー処理モジュール７３６（「タスクフロープロセッサ」）に渡す。一部の実施例では、ｍ個の最良の（例えば、ｍ個の最高ランクの）実施可能な意図候補に関する構造化クエリ（単数又は複数）が、タスクフロー処理モジュール７３６に提供される（ｍは、ゼロよりも大きい所定の整数である）。一部の実施例では、ｍ個の最良の実施可能な意図候補に関する構造化クエリ（単数又は複数）は、対応するテキスト表現候補（単数又は複数）と共に、タスクフロー処理モジュール７３６に提供される。
【０２３１】
発話入力の複数のテキスト表現候補から判定された複数の実施可能な意図候補に基づく、ユーザ意図の推測の他の詳細は、開示全体が参照により本明細書に組み込まれる、２０１４年６月６日出願の「Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｉｎｆｅｒｒｉｎｇ  Ｕｓｅｒ  Ｉｎｔｅｎｔ  Ｆｒｏｍ  Ｓｐｅｅｃｈ  Ｉｎｐｕｔｓ」に関する米国実用特許出願第１４／２９８，７２５号で説明されている。
【０２３２】
タスクフロー処理モジュール７３６は、自然言語処理モジュール７３２から構造化クエリ（単数又は複数）を受信して、必要に応じて構造化クエリを完成させ、ユーザの最終的な要求を「完了する」ために必要とされるアクションを実行するように構成されている。一部の実施例では、これらのタスクを完了するために必要な様々な手順が、タスクフローモデル７５４内で提供される。一部の実施例では、タスクフローモデル７５４は、ユーザから追加情報を取得するための手順、及び、実施可能な意図に関連付けられたアクションを実行するためのタスクフローを含む。
【０２３３】
上述のように、構造化クエリを完成させるためには、タスクフロー処理モジュール７３６は、追加情報を取得し、及び／又は潜在的に曖昧な発言の曖昧性を除去するために、ユーザとの追加的なダイアログを開始することを必要とする。そのような対話が必要である場合、タスクフロー処理モジュール７３６は、ユーザとのダイアログに携わるために、ダイアログフロー処理モジュール７３４を呼び出す。一部の実施例では、ダイアログフロー処理モジュール７３４は、どのようにして（及び／又は、いつ）ユーザに追加情報を要求するべきかを決定し、そのユーザ応答を受信及び処理する。Ｉ／Ｏ処理モジュール７２８を介して、ユーザに質問が提供され、ユーザから回答が受信される。一部の実施例では、ダイアログフロー処理モジュール７３４は、オーディオ出力及び／又は視覚出力を介して、ユーザにダイアログ出力を提示し、発話応答又は物理的（例えば、クリック）応答を介して、ユーザから入力を受信する。上記の実施例を続けると、タスクフロー処理モジュール７３６が、ドメイン「レストラン予約」に関連付けられる構造化クエリに関する「参加人数」及び「日付」の情報を決定するために、ダイアログフロー処理モジュール７３４を呼び出すと、ダイアログフロー処理モジュール７３４は、「何人分ですか？（For how many people?）」及び「どの日にしますか？（On which day?）」などの質問を生成して、ユーザに渡す。ユーザから回答が受信されると、次いで、ダイアログフロー処理モジュール７３４は、構造化クエリに、欠落している情報を追加入力するか、又は、構造化クエリから欠落している情報を完成させるために、その情報をタスクフロー処理モジュール７３６に渡す。
【０２３４】
タスクフロー処理モジュール７３６が、実施可能な意図に関する構造化クエリを完成させると、タスクフロー処理モジュール７３６は、その実施可能な意図に関連付けられた最終的なタスクの実行に進む。したがって、タスクフロー処理モジュール７３６は、構造化クエリ内に含まれている特定のパラメータに従って、タスクフローモデル内のステップ及び命令を実行する。例えば、「レストラン予約」の実施可能な意図に関するタスクフローモデルは、レストランと連絡を取り、特定の時間に特定の参加人数のための予約を実際に依頼する、ステップ及び命令を含む。例えば、｛レストラン予約、レストラン＝ＡＢＣ  Ｃａｆｅ、日付＝３／１２／２０１２、時間＝午後７時、参加人数＝５｝などの構造化クエリを使用して、タスクフロー処理モジュール７３６は、（１）ＡＢＣ  Ｃａｆｅのサーバ、又はＯＰＥＮＴＡＢＬＥ（登録商標）などのレストラン予約システムにログオンするステップと、（２）ウェブサイト上のフォーム内に日付、時間、及び参加人数の情報を入力するステップと、（３）そのフォームを提出するステップと、（４）ユーザのカレンダー内に、その予約に関するカレンダー項目を入力するステップとを実行する。
【０２３５】
一部の実施例では、タスクフロー処理モジュール７３６は、ユーザ入力で要求されているタスクを完了するために、又は、ユーザ入力で要求されている情報の回答を提供するために、サービス処理モジュール７３８（「サービス処理モジュール」）の支援を採用する。例えば、サービス処理モジュール７３８は、タスクフロー処理モジュール７３６の代わりに、電話通話し、カレンダー項目を設定し、地図検索を呼び出し、ユーザデバイス上にインストールされている他のユーザアプリケーションを呼び出すか若しくはそのユーザアプリケーションと対話し、第三者サービス（例えばレストラン予約ポータル、ソーシャルネットワーキングウェブサイト、バンキングポータルなど）を呼び出すか若しくはその第三者サービスと対話する機能を果たす。一部の実施例では、各サービスによって必要とされるプロトコル及びアプリケーションプログラミングインタフェース（application programming interface；ＡＰＩ）は、サービスモデル７５６の中の対応のサービスモデルによって指定されている。サービス処理モジュール７３８は、サービスに関する適切なサービスモデルにアクセスし、そのサービスモデルに従った、そのサービスによって必要とされるプロトコル及びＡＰＩに準拠して、そのサービスに関する要求を生成する。
【０２３６】
例えば、レストランが、オンライン予約サービスに対応している場合、そのレストランは、予約を行うために必要なパラメータ、及び、その必要なパラメータの値をオンライン予約サービスに通信するためのＡＰＩを指定する、サービスモデルを提出する。タスクフロー処理モジュール７３６によって要求されると、サービス処理モジュール７３８は、そのサービスモデル内に記憶されているウェブアドレスを使用して、オンライン予約サービスとのネットワーク接続を確立し、必要な予約パラメータ（例えば、時間、日付、参加人数）を、そのオンライン予約サービスのＡＰＩに従った形式で、オンライン予約インタフェースに送信する。
【０２３７】
一部の実施例では、自然言語処理モジュール７３２、ダイアログフロー処理モジュール７３４、及びタスクフロー処理モジュール７３６は、ユーザの意図を推測及び定義し、そのユーザ意図を更に明らかにして絞り込むための情報を取得し、ユーザの意図を満たすための応答（すなわち、ユーザへの出力又はタスクの完了）を最終的に生成するために、集合的かつ反復的に使用される。生成された応答は、ユーザの意図を少なくとも部分的に満たす、発話入力に対するダイアログ応答である。更には、一部の実施例では、生成された応答は、発話出力として出力される。これらの実施例では、生成された応答は、発話合成処理モジュール７４０（例えば、発話合成器）に送信され、その発話合成処理モジュールで、発話形式のダイアログ応答を合成するように処理することができる。更に他の実施例では、生成された応答は、発話入力内のユーザ要求を満たすことに関連する、データコンテンツである。
【０２３８】
タスクフロー処理モジュール７３６が、自然言語処理モジュール７３２から複数の構造化クエリを受信する実施例では、タスクフロー処理モジュール７３６は、最初に、受信された構造化クエリのうちの第１の構造化クエリを処理して、その第１の構造化クエリを完成させるように、及び／又は、その第１の構造化クエリによって表されている１つ以上のタスク若しくはアクションを実行するように試みる。一部の実施例では、第１の構造化クエリは、最高ランクの実施可能な意図に対応する。他の実施例では、第１の構造化クエリは、受信された構造化クエリから、対応する発話認識信頼性スコアと、対応する意図信頼性スコアとの組み合わせに基づいて、選択される。一部の実施例では、タスクフロー処理モジュール７３６が、第１の構造化クエリの処理中に（例えば、必要なパラメータが判定不能であることにより）エラーに遭遇した場合には、タスクフロー処理モジュール７３６は、より低いランクの実施可能な意図に対応する、受信された構造化クエリのうちの第２の構造化クエリを選択して処理するように、進むことができる。この第２の構造化クエリは、例えば、対応するテキスト表現候補の発話認識信頼性スコア、対応する実施可能な意図候補の意図信頼性スコア、第１の構造化クエリ内の欠落している必要なパラメータ、又はこれらの任意の組み合わせに基づいて選択される。
【０２３９】
発話合成処理モジュール７４０は、ユーザに提示するための発話出力を合成するように構成されている。発話合成処理モジュール７４０は、デジタルアシスタントによって提供されたテキストに基づいて、発話出力を合成する。例えば、生成されたダイアログ応答は、テキスト文字列の形態である。発話合成処理モジュール７４０は、そのテキスト文字列を、可聴の発話出力に変換する。発話合成処理モジュール７４０は、テキストから発話出力を生成するために、限定するものではないが、波形接続合成、単位選択合成、ダイフォン合成、分野限定合成、フォルマント合成、調音合成、隠れマルコフモデル（hidden Markov model；ＨＭＭ）に基づく合成、及びサイン波合成を含めた、任意の適切な発話合成技術を使用する。一部の実施例では、発話合成処理モジュール７４０は、個々の単語を、その単語に対応する音素列に基づいて合成するように構成されている。例えば、生成されたダイアログ応答内の単語に、音素列が関連付けられる。この音素列は、その単語に関連付けられたメタデータ内に記憶されている。発話合成処理モジュール７４０は、そのメタデータ内の音素列を直接処理して、発話形式の単語を合成するように構成されている。
【０２４０】
一部の実施例では、発話合成処理モジュール７４０を使用する代わりに（又は、それに加えて）、発話合成は、リモートデバイス（例えば、サーバシステム１０８）上で実行され、合成された発話は、ユーザに出力するためにユーザデバイスに送信される。例えば、このことは、デジタルアシスタントに対する出力がサーバシステムで生成される、一部の実装形態で実施することができる。また、サーバシステムは、一般に、ユーザデバイスよりも多くの処理能力又はリソースを有するため、クライアント側での合成の場合に実用的となる出力よりも、高品質の発話出力を得ることが可能である。
【０２４１】
デジタルアシスタントについての更なる詳細は、開示全体が参照により本明細書に組み込まれる、２０１１年１月１０日出願の「Ｉｎｔｅｌｌｉｇｅｎｔ  Ａｕｔｏｍａｔｅｄ  Ａｓｓｉｓｔａｎｔ」と題された米国実用特許出願第１２／９８７，９８２号、及び２０１１年９月３０日出願の「Ｇｅｎｅｒａｔｉｎｇ  ａｎｄ  Ｐｒｏｃｅｓｓｉｎｇ  Ｔａｓｋ  Ｉｔｅｍｓ  Ｔｈａｔ  Ｒｅｐｒｅｓｅｎｔ  Ｔａｓｋｓ  ｔｏ  Ｐｅｒｆｏｒｍ」と題された同第１３／２５１，０８８号に見出すことができる。
４．促進されたタスク実行
【０２４２】
図８Ａ〜図８ＡＦは、一部の実施形態による、電子デバイス（例えば、デバイス１０４、デバイス１２２、デバイス２００、デバイス６００、又はデバイス７００）上に提案を提供するための、例示的なユーザインタフェースである。これらの図中のユーザインタフェースは、図９Ａ、図９Ｂでのプロセスを含めた、以下で説明されるプロセスを例示するために使用される。
【０２４３】
図８Ａは、電子デバイス８００（例えば、デバイス１０４、デバイス１２２、デバイス２００、デバイス６００、又はデバイス７００）を示す。図８Ａ〜図８ＡＦに示される非限定的な例示的実施形態では、電子デバイス８００は、スマートフォンである。他の実施形態では、電子デバイス８００は、ウェアラブルデバイス（例えば、スマートウォッチ）などの、異なるタイプの電子デバイスとすることができる。一部の実施例では、電子デバイス８００は、ディスプレイ８０１、１つ以上の入力デバイス（例えば、ディスプレイ８０１のタッチスクリーン、ボタン、マイクロフォン）、及び無線通信装置（wireless communication radio）を有する。一部の実施例では、電子デバイス８００は、複数のカメラを含む。一部の実施例では、この電子デバイスは、１つのみのカメラを含む。一部の実施例では、この電子デバイスは、赤外線カメラ、サーモグラフィカメラ、又はそれらの組み合わせなどのカメラを任意選択的に含む、１つ以上のバイオメトリックセンサ（例えば、バイオメトリックセンサ８０３）を含む。
【０２４４】
図８Ａでは、電子デバイス８００は、電子デバイスがロック状態にある間、ディスプレイ８０１上に、ロック画面インタフェース８０４などのロック画面インタフェースを表示する。ロック画面インタフェース８０４は、提案アフォーダンス８０６及び通知８０８を含む。図示のように、提案アフォーダンス８０６は、「コーヒー」という名前のアプリケーションに関連付けられており、通知８０８は、この電子デバイスが、その電子デバイス上に記憶されている連絡先（「Ｊｏｈｎ  Ａｐｐｌｅｓｅｅｄ」）から新しいメッセージを受信したことを示す、メッセージングアプリケーションに関連付けられたメッセージ通知である。一部の実施例では、アプリケーション（例えば、第三者アプリケーション）は、提案アフォーダンスが表示される方式を指定することができる。アプリケーションは、例えば、提案アフォーダンスの色を指定することができる。一部の実施例では、ロック状態にある間、電子デバイス８００は、セキュリティ保護方式で動作する。例として、ロック状態で動作している間に、電子デバイス８００は、提案アフォーダンス８０６に関連付けられているタスク提案のコンテンツ、又は通知８０８に関連付けられているメッセージを表示しない。一部の実施形態では、このロック状態は、他のデータ（他のアプリケーションを含む）へのアクセスに対する制約、及び／又は、許容入力に対する制限に、更に対応するものである。
【０２４５】
一部の実施例では、提案アフォーダンス８０６は第１の方式で表示され、通知８０８は第２の方式で表示される。一例として、提案アフォーダンス８０６は、第１の色を使用して表示され、通知８０８は、第１の色とは異なる第２の色を使用して表示される。別の例として、提案アフォーダンス８０６は、第１の形状を使用して表示することができ、通知８０８は、第１の形状とは異なる第２の形状を使用して表示することができる。
【０２４６】
一部の実施例では、ロック状態で動作している間に、電子デバイスは、その電子デバイスのユーザを認証する。例えば、バイオメトリックセンサ８０３（例えば、顔認識、指紋認識）を使用して、又は有効なパスコード（例えば、パスワード、数値パスコード）の入力に応答して、ユーザを認証することができる。一部の実施例では、ユーザの認証に応答して、電子デバイス８００は、アンロック状態に移行して、ロック画面インタフェース８１０を表示する。一部の実施例では、ロック画面インタフェース８１０を表示している間に、電子デバイス８００は、ロック状態からアンロック状態に電子デバイス８００が移行していることを示す、アニメーションを表示する（例えば、ロックインジケータ８０５が、ロック状態からアンロック状態に移行する）。
【０２４７】
一部の実施例では、アンロック状態で動作している間に、電子デバイス８００は、非セキュリティ保護方式で動作する（例えば、認証済みユーザは、セキュリティ保護されたデータにアクセス可能である）。例として、図８Ｂに示されるように、電子デバイス８００は、提案アフォーダンス８０６に関連付けられているタスク提案のコンテンツ、及び通知８０８に関連付けられているメッセージを表示する。図示のように、例示的には、提案アフォーダンスに関連付けられているタスク提案のコンテンツは、そのタスク提案に関連付けられているタスクを示すタスクインジケータ８１２と、そのタスクに関連付けられている１つ以上のパラメータとを含む。
【０２４８】
ロック画面インタフェース８１０を表示している間に、電子デバイス８００は、提案アフォーダンス８０６の選択（例えば、アクティブ化）を検出する。例えば、図８Ｃに示されるように、この選択は、提案アフォーダンス８０６上でのタップジェスチャ８１６である。以下でより詳細に説明されるように、タップジェスチャ８１６の検出に応答して、電子デバイス８００は、提案アフォーダンス８０６に関連付けられているタスクを選択的に実行する。そのタスクが第１のタイプのタスク（例えば、バックグラウンドタスク）である場合には、電子デバイス８００は、更なるユーザ入力を必要とすることなく、そのタスクを実行する。電子デバイス８００は、更に、図８Ｈに示されるように、提案アフォーダンス８０６の表示を中止することができる。
【０２４９】
図８Ｄを参照すると、そのタスクが、第１のタイプとは異なる第２のタイプのタスクである場合には、電子デバイス８００は、確認インタフェース８２０などの確認インタフェースを表示する。確認インタフェース８２０は、タスクコンテンツ８２２、確認アフォーダンス８２４、及びキャンセルアフォーダンス８２６を含む。一部の実施例では、タスクコンテンツ８２２は、アプリケーションインジケータ８２８、アプリケーションアイコン８３０、及びタスクインジケータ８３２のうちの１つ以上を含む。一部の実施例では、アプリケーションインジケータ８２８は、そのタスクに関連付けられているアプリケーションを示す。アプリケーションインジケータ８２８は、アプリケーションの名前（例えば、「コーヒー」）、及び／又はアプリケーションに関連付けられているアイコンを含む。アプリケーションアイコン８３０は、タスク及び／又はタスクに関連付けられたアプリケーションに関連付けられている、アイコン（又は、他の画像）を含む。タスクインジケータ８３２は、提案アフォーダンスに対応するタスク（「注文する」）、及び／又は、そのタスクに関連付けられている１つ以上のパラメータ（スモール、ラッテ、Ｈｏｍｅｓｔｅａｄ  Ｒｄ．Ｃｕｐｅｒｔｉｎｏ  ＣＡ）を示す。
【０２５０】
一部の実施例では、キャンセルアフォーダンス８２６の選択に応答して、電子デバイス８００は、確認インタフェース８２０の表示を中止する。一部の実施例では、アプリケーションインジケータ８２８は、アプリケーションアフォーダンスとして実装されており、アプリケーションインジケータ８２８の選択に応答して、電子デバイス８００は、タスクに関連付けられているアプリケーション（例えば、「コーヒー」）を開く。一部の実施例では、アプリケーションアイコン８３０が、アプリケーションアフォーダンスとして実装されており、アプリケーションアイコン８３０の選択に応答して、電子デバイス８００は、タスクに関連付けられているアプリケーションを開く。
【０２５１】
一部の実施例では、アプリケーションを開くことは、そのアプリケーションに１つ以上のパラメータをプリロードすることを含む。例えば、提案アフォーダンス８０６は、コーヒーアプリケーションを使用して注文するためのタスクに関連付けられており、そのタスクに関連付けられているパラメータは、コーヒーのサイズ（例えば、スモール）、コーヒーのタイプ（例えば、ラッテ）、及び注文を受け取るための位置（Ｃｕｐｅｒｔｉｎｏ  ＣＡのＨｏｍｅｓｔｅａｄ  Ｒｄ．の位置）を含む。したがって、一部の実施例では、この方式でアプリケーションを開くことは、ユーザに代わって、そのタスクの１つ以上のパラメータを挿入することを含む。例として、アプリケーションインジケータ８２８又はアプリケーションアイコン８３０を選択することによって、アプリケーションを開くことにより、電子デバイスに、コーヒーアプリケーションを開かせることができ、Ｈｏｍｅｓｔｅａｄ  Ｒｄ．の位置でのスモールラッテの注文をユーザが確認することが可能なインタフェース（例えば、ショッピングカートのインタフェース）を提示させることができる。一部の実施例では、パラメータがプリロードされていることにより、電子デバイスは、タスクを実行する意図を確認する入力に応答して、そのタスクを実行する。この方式で、ユーザがアプリケーションを使用して特定のタスクを実行するために必要とされる入力の数を、削減することができる。
【０２５２】
一部の実施例では、アプリケーション（例えば、第三者アプリケーション）は、確認アフォーダンスが表示される方式を指定することができる。アプリケーションは、例えば、確認アフォーダンスの色を指定することができる。一部の実施例では、確認インタフェース８２０を表示している間に、電子デバイス８００は、確認アフォーダンス８２４の選択を検出する。例えば、図８Ｅに示されるように、この選択は、確認アフォーダンス８２４上でのタップジェスチャ８３６である。タップジェスチャ８３６の検出に応答して、電子デバイス８００は、タスクを実行する。一部の実施例では、タスクを実行している間に、電子デバイス８００は、任意選択的に、そのタスクが実行中であることを示すプロセスインジケータ８４０を表示する。一部の実施例では、プロセスインジケータ８４０の表示は、確認アフォーダンス８２４の表示に置き換わるものである。
【０２５３】
タスクが実行されると、電子デバイス８００は、そのタスクの実行が成功したか否かを示す出力を提供する。図８Ｇの実施例では、タスクの実行が成功しており、結果として、電子デバイス８００は、そのタスクの実行が成功したことを示す、成功インジケータ８４２を表示する。一部の実施例では、成功インジケータ８４２の表示は、プロセスインジケータ８４０の表示に置き換わるものである。一部の実施例では、タスクが完了してから所定の時間の後に、電子デバイスは、確認インタフェース８２０の表示を、ロック画面インタフェース８１０に置き換える。図示のように、提案アフォーダンス８０６に関連付けられたタスクが実行されたため、提案アフォーダンス８０６は、図８Ｈでのロック画面インタフェース８１０内には含まれていない。
【０２５４】
図８Ｉの実施例では、タスクの実行が成功しなかった結果として、電子デバイス８００は、失敗インタフェース８４４を表示する。失敗インタフェース８４４は、再試行アフォーダンス８４６、キャンセルアフォーダンス８４８、及びアプリケーションアフォーダンス８５０を含む。失敗インタフェースは、コンテンツ８５２を更に含む。一部の実施例では、再試行アフォーダンス８４６の選択に応答して、電子デバイス８００は、再度そのタスクを実行する。一部の実施例では、キャンセルアフォーダンスの選択に応答して、電子デバイス８００は、失敗インタフェース８４４の表示を中止する。一部の実施例では、アプリケーションアフォーダンス８５０の選択に応答して、電子デバイス８００は、そのタスクに関連付けられているアプリケーションを開く。コンテンツ８５２は、タスクを実行するために使用される１つ以上のパラメータなどの、そのタスクを対象とする情報を含み得る。一部の実施例では、コンテンツ８５２は更に、タスクの実行が成功したか否かを指定する。コンテンツ８５２は、例えば、電子デバイスがタスクの実行を成功させることができなかったこと（例えば、「問題が発生しました。再試行してください。（There was a problem. Please try again.）」）を示し得る。
【０２５５】
図８Ｊでは、提案アフォーダンス８０６の選択は、提案アフォーダンス８０６上でのスワイプジェスチャ８５４である。スワイプジェスチャ８５４の検出に応答して、電子デバイス８００は、提案アフォーダンス８０６を左方向に変位させて（例えば、スライドさせて）、図８Ｋに示されるように、表示アフォーダンス８５６及び消去アフォーダンス８５８を表示する（例えば、表出させる）。一部の実施例では、表示アフォーダンス８５６の選択に応答して、電子デバイス８００は、確認インタフェース８２０（図８Ｄ）などの確認インタフェースを表示する。一部の実施例では、消去アフォーダンス８５８の選択に応答して、電子デバイス８００は、提案アフォーダンス８０６を表示することを中止する。
【０２５６】
図８Ｌでは、提案アフォーダンス８０６の選択は、提案アフォーダンス８０６上でのスワイプジェスチャ８６０である。スワイプジェスチャ８６０の検出に応答して、電子デバイス８００は、提案アフォーダンス８０６を右方向に変位させて（例えば、スライドさせて）、図８Ｍに示されるように、「開く」アフォーダンス８６２を表示する（例えば、表出させる）。一部の実施例では、「開く」アフォーダンス８６２の選択に応答して、電子デバイスは、その提案アフォーダンスのタスクに関連付けられているアプリケーション（例えば、「コーヒー」）を開く。
【０２５７】
図８Ｎでは、電子デバイス８００は、ディスプレイ８０１上に、検索画面インタフェース８６６などの検索画面インタフェースを表示している。検索画面インタフェース８６６は、提案アプリケーション８６８、及び提案アフォーダンス８７０、８７２、８７４を含む。図示のように、提案アフォーダンス８７０は、メッセージングアプリケーションに関連付けられており、提案アフォーダンス８７２は、電話アプリケーションに関連付けられており、提案アフォーダンス８７４は、メディア再生アプリケーションに関連付けられている。
【０２５８】
一部の実施例では、提案アフォーダンスは、任意選択的に、その提案アフォーダンスに関連付けられているタスクのカテゴリを示す、グリフ（例えば、グリフ８７６、８７８、８８０）を含む。この方式で指定されるカテゴリは、一部の実施例では、「金融」、「メッセージ」、「電話」、「ビデオ」、及び「メディア」を含み得る。提案アフォーダンス（例えば、図８Ａの提案アフォーダンス８０６）は、例えば、その提案アフォーダンスのタスクがタスクカテゴリに対応していない場合には、グリフを伴わずに表示することができる。図８Ｎに示される実施例では、提案アフォーダンス８７０は、テキストメッセージを送信するためのタスクに関連付けられており、したがって、そのタスクがテキストメッセージングに関連付けられていることを示す、メッセージンググリフ８７６を含む。別の例として、提案アフォーダンス８７２は、電話通話を開始するためのタスクに関連付けられており、したがって、そのタスクが電話機能に関連付けられていることを示す、電話グリフ８７８を含む。更に別の例として、提案アフォーダンス８７４は、ビデオの再生のためのタスクに関連付けられており、したがって、そのタスクがメディア再生に関連付けられていることを示す、再生グリフ８８０を含む。任意数のタイプのグリフを、任意数のそれぞれのタスクカテゴリに対応させて使用することができる点が、理解されるであろう。
【０２５９】
図８Ｎ〜図８Ｐは、この検索画面インタフェースなどの検索画面インタフェースにおいて、提案アプリケーション及び提案アフォーダンスを表示することが可能な、様々な方式を示すものである。図８Ｎに示されるように、少なくとも一実施例では、提案アプリケーション及び提案アフォーダンスは、検索画面インタフェースの対応の部分（例えば、部分８８２、８８４）内に表示することができる。図８Ｏに示されるように、少なくとも一実施例では、提案アプリケーション及び提案アフォーダンスは、検索画面インタフェースの同じ部分（例えば、部分８８６）内に表示することができる。図８Ｐに示されるように、少なくとも一実施例では、提案アプリケーション及び各提案アフォーダンスは、検索画面インタフェースの対応の部分（例えば、部分８８８、８９０、８９２、８９４）内に表示することができる。
【０２６０】
一部の実施例では、検索画面インタフェース８６６を表示している間に、電子デバイス８００は、提案アフォーダンス８７０などの提案アフォーダンスの選択を検出する。一部の実施例では、提案アフォーダンス８７０に関連付けられているタスクは、所定のタイプのタスク（例えば、バックグラウンドタスク）であるため、電子デバイスは、第１のタイプの入力（例えば、タップジェスチャ）によるアフォーダンス８７０の選択に応答して、提案アフォーダンス８７０に関連付けられているタスクを実行する（例えば、自動的に実行する）。更には、又は代替的に、第１のタイプとは異なる第２のタイプの入力によるアフォーダンス８７０の選択に応答して、電子デバイス８００は、ユーザにタスクの確認を要求する、確認インタフェースを表示する。
【０２６１】
例えば、図８Ｑに示されるように、この選択は、確認アフォーダンス８２４上でのタッチジェスチャ８９６である。一部の実施例では、タッチジェスチャ８９６は、タッチジェスチャ８９６をタップジェスチャと区別することができるような、閾値強度及び／又は閾値持続時間を満たす、タッチ入力である。図８Ｒに示されるように、タッチジェスチャ８９６の検出に応答して、電子デバイス８００は、確認インタフェース８９８を表示する。確認インタフェース８９８は、確認アフォーダンス８０２Ａ、キャンセルアフォーダンス８０４Ａ、アプリケーションインジケータ８０６Ａ、及びコンテンツ８０８Ａを含む。一部の実施例では、キャンセルアフォーダンス８０４Ａの選択は、電子デバイス８００に、確認インタフェース８９８の表示を中止させ、及び／又は、提案アフォーダンス８７０に関連付けられているタスクを実行することを取り止めさせる。一部の実施例では、アプリケーションインジケータ８０６Ａは、タスクに関連付けられているアプリケーションを示す。アプリケーションインジケータ８０６Ａは、アプリケーションの名前（例えば、「メッセージ」）及び／又はアプリケーションに関連付けられているアイコンを含み得る。コンテンツ８０８Ａは、タスクを実行するために使用される１つ以上のパラメータなどの、そのタスクを対象とする情報を含み得る。例えば、コンテンツ８０８Ａは、テキストメッセージの受信者が連絡先「ママ（Mom）」であり、そのテキストメッセージのテキストが「おはよう（Good Morning）」であることを指定することができる。一部の実施例では、コンテンツ８０８Ａは、アフォーダンスとして実装することができる。
【０２６２】
確認インタフェース８９８を表示している間に、電子デバイス８００は、確認アフォーダンス８０２Ａの選択を検出する。例えば、図８Ｓに示されるように、この選択は、確認アフォーダンス８２４上でのタップジェスチャ８１０Ａである。タップジェスチャ８１０Ａの検出に応答して、電子デバイス８００は、提案アフォーダンス８７０に関連付けられているタスクを実行する。図８Ｔに示されるように、一部の実施例では、タスクを実行している間に、電子デバイス８００は、任意選択的に、そのタスクが実行中であることを示すプロセスインジケータ８１２Ａを表示する。一部の実施例では、プロセスインジケータ８１２Ａの表示は、確認アフォーダンス８０２Ａ及びキャンセルアフォーダンス８０４Ａの表示に置き換わるものである。
【０２６３】
タスクが実行されると、電子デバイス８００は、そのタスクの実行が成功したか否かを示す出力を提供する。図８Ｕの実施例では、タスクの実行が成功しており、結果として、電子デバイス８００は、そのタスクの実行が成功した（例えば、「ママ」へのテキストメッセージの送信が成功した）ことを示す、成功インジケータ８１４Ａを表示する。一部の実施例では、成功インジケータ８１４Ａの表示は、プロセスインジケータ８１２Ａの表示に置き換わるものである。一部の実施例では、タスクが完了してから所定の時間の後に、電子デバイスは、確認インタフェース８９８の表示を、検索画面インタフェース８６６に置き換える。図８Ｖに示されるように、提案アフォーダンス８７０に関連付けられたタスクが実行されたため、提案アフォーダンス８７０は、検索画面インタフェース８６６内には含まれていない。
【０２６４】
一部の実施例では、確認インタフェース８９８を表示している間に、電子デバイス８００は、コンテンツ８０８Ａの選択を検出する。例えば、図８Ｗに示されるように、この選択は、コンテンツ８０８Ａ上でのタップジェスチャ８１６Ａである。タップジェスチャ８１６Ａの検出に応答して、電子デバイス８００は、図８Ｘに示されるように、提案アフォーダンス８７０に関連付けられているアプリケーションを開く。
【０２６５】
一部の実施例では、この方式でアプリケーションを開くことは、そのアプリケーションに、タスクに関連付けられている１つ以上のパラメータをプリロードすることを含む。この方式で、ユーザは、削減された数の入力を使用して、アプリケーション内でタスクを実行することができる。例として、提案アフォーダンス８７０に関連付けられているコンテンツ８０８Ａの選択に応答して、電子デバイス８００は、メッセージングアプリケーションを開いて、そのメッセージングアプリケーションに、提案アフォーダンス８７０によって指定されているパラメータをプリロードする。具体的には、メッセージングアプリケーションは、受信者「ママ」にメッセージを提供するための、メッセージングインタフェース８１７Ａを対象とし得るものであり、このメッセージングアプリケーションのメッセージ作成フィールド８１８Ａ内に、入力文字列「おはよう」を挿入することができる。
【０２６６】
メッセージングインタフェース８１７Ａを表示している間に、電子デバイス８００は、送信アフォーダンス８２０Ａの選択を検出する。例えば、図８Ｙに示されるように、この選択は、送信アフォーダンス８２０Ａ上でのタップジェスチャ８２２Ａである。図８Ｚでは、タップジェスチャ８２２Ａの検出に応答して、電子デバイス８００は、プリロードされているメッセージ（例えば、「おはよう」）を受信者「ママ」に送信する。この方式でパラメータをプリロードすることによって、ユーザは、提案アフォーダンスを使用してアプリケーションを開き、他の方式で可能となる場合よりも少ない入力で、タスクを実行することができる。上述の実施例では、例えば、ユーザは、受信者を選択することも、受信者に対するメッセージを入力することも必要とせずに、テキストメッセージを送信した。
【０２６７】
一部の実施例では、アプリケーションは、パラメータをプリロードすることなく開くことができる。図８ＡＡでは、電子デバイス８００は、ディスプレイ８０１上に、検索画面インタフェース８２６Ａなどの検索画面インタフェースを表示している。検索画面インタフェース８２６Ａは、提案アプリケーション２８２Ａ、及び提案アフォーダンス８３０Ａ、８３２Ａを含む。図示のように、提案アフォーダンス８３０Ａは、メモアプリケーションに関連付けられており、提案アフォーダンス８３２Ａは、テレビ電話アプリケーションに関連付けられている。更には、提案アフォーダンス８３０Ａは、メモアプリケーションを開くためのタスクに関連付けられている。一部の実施例では、メモアプリケーションに対応するタスクは、タスクカテゴリに対応していない場合があり、したがって、提案アフォーダンス８３０Ａはグリフを含まない。提案アフォーダンス８３２Ａは、ビデオ通話（例えば、スカイプ通話）を開始するためのタスクに関連付けられており、したがって、そのタスクがビデオ通話機能に関連付けられていることを示すビデオグリフ８３６Ａを含む。
【０２６８】
検索画面インタフェース８２６Ａを表示している間に、電子デバイス８００は、提案アフォーダンス８３４Ａの選択を検出する。例えば、図８ＡＡに示されるように、この選択は、提案アフォーダンス８３４Ａ上でのタップジェスチャ８３４Ａである。図８ＡＢでは、タップジェスチャ８３４Ａの検出に応答して、電子デバイス８００は、提案アフォーダンス８３０Ａに関連付けられているメモアプリケーションを開く。
【０２６９】
一部の実施例では、電子デバイスがインタフェースを表示する方式は、本明細書で説明されるように、電子デバイスのタイプに応じて決定される。一部の実施例では、例えば、電子デバイス８００は、ロック画面インタフェース８０４又は検索画面インタフェース８６６などのインタフェースを表示するために実用的ではない恐れがある、比較的小さいディスプレイを有するデバイスとして実装される場合がある。したがって、一部の実施例では、電子デバイス８００は、前述のインタフェースに対する代替的インタフェースを表示することができる。
【０２７０】
図８ＡＣを参照すると、例えば、電子デバイス８００は、ディスプレイ８０１上に、ホーム画面インタフェース８５０Ａを表示している。ホーム画面インタフェース８５０Ａは、提案アフォーダンス８５２Ａ及び通知８５４Ａを含む。図示のように、提案アフォーダンス８５２Ａは、「コーヒー」という名前のアプリケーションに関連付けられており、通知８５４Ａは、ユーザが今後のイベント（「会合（Meeting）」）を有することを示す、カレンダーアプリケーションに関連付けられているカレンダー通知である。
【０２７１】
ホーム画面インタフェース８５０Ａは、提案アフォーダンス８５２Ａを含むように示されているが、一部の実施例では、ホーム画面インタフェース８５０Ａは、複数の提案アフォーダンス８５２Ａを含むことが理解されるであろう。例えば、スワイプジェスチャ（例えば、上向きのスワイプジェスチャ、下向きのスワイプジェスチャ）などのユーザ入力に応答して、この電子デバイスは、１つ以上の追加的な提案アフォーダンスを表示する（例えば、表出させる）ことができる。
【０２７２】
ホーム画面インタフェース８５０Ａを表示している間に、電子デバイス８００は、提案アフォーダンス８５２Ａの選択を検出する。例えば、図８ＡＤに示されるように、この選択は、提案アフォーダンス８５２Ａ上でのタップジェスチャ８５８Ａである。以下でより詳細に説明されるように、タップジェスチャ８５８Ａの検出に応答して、電子デバイス８００は、確認インタフェース８２０などの確認インタフェースを表示する。確認インタフェース８２０は、アプリケーションインジケータ８６１Ａ、タスクインジケータ８６２Ａ、確認アフォーダンス８６４Ａ、及びキャンセルアフォーダンス８６６Ａを含む。一部の実施例では、アプリケーションインジケータ８６１Ａは、そのタスクに関連付けられているアプリケーションを示す。アプリケーションインジケータ８６１Ａは、アプリケーションの名前（例えば、「コーヒー」）及び／又はアプリケーションに関連付けられているアイコンを含み得る。タスクインジケータ８６２Ａは、アプリケーションに関連付けられているタスク、及び、そのタスクに関連付けられている１つ以上のパラメータ（スモール、ラッテ、オーツミルク）を示す。
【０２７３】
一部の実施例では、キャンセルアフォーダンス８６６Ａの選択に応答して、電子デバイス８００は、確認インタフェース８６０Ａの表示を中止する。一部の実施例では、確認インタフェース８６０Ａを表示している間に、電子デバイス８００は、確認アフォーダンス８６４Ａの選択を検出する。例えば、図８ＡＥに示されるように、この選択は、確認アフォーダンス８６４Ａ上でのタップジェスチャ８６８Ａである。タップジェスチャ８６８Ａの検出に応答して、電子デバイス８００は、選択的にタスクを実行する。タスクが第１のタイプのタスクである場合には、電子デバイス８００は、更なるユーザ入力を使用することなく、そのタスクを実行し、任意選択的に、確認インタフェース８６０Ａの表示を、図８ＡＦに示されるようにホーム画面インタフェース８５０Ａに置き換える。提案アフォーダンス８５２Ａに関連付けられたタスクが実行されたため、提案アフォーダンス８５２Ａは、ホーム画面インタフェース８５０Ａ内には表示されていない。タスクが第２のタイプのタスクである場合には、電子デバイス８００は、説明されたように、タスクを実行する前に、そのタスクのユーザ確認を要求することができる。
【０２７４】
図９Ａ、図９Ｂは、一部の実施形態による、提案を提供するための方法９００を示すフロー図である。方法９００は、ディスプレイ、１つ以上の入力デバイス（例えば、タッチスクリーン、マイク、カメラ）、及び無線通信装置（例えば、Ｂｌｕｅｔｏｏｔｈ接続、ＷｉＦｉ接続、４Ｇ  ＬＴＥ接続などの移動体広帯域接続）を有する、デバイス（例えば、デバイス１０４、デバイス１２２、デバイス２００、デバイス６００、デバイス７００、デバイス８００）において実行される。一部の実施形態では、ディスプレイは、タッチ感知ディスプレイである。一部の実施形態では、ディスプレイは、タッチ感知ディスプレイではない。一部の実施形態では、この電子デバイスは、複数のカメラを含む。一部の実施形態では、この電子デバイスは、１つのみのカメラを含む。一部の実施例では、この電子デバイスは、赤外線カメラ、サーモグラフィカメラ、又はそれらの組み合わせなどのカメラを任意選択的に含む、１つ以上のバイオメトリックセンサを含む。方法９００における一部の動作は、任意選択的に組み合わされ、一部の動作の順序は、任意選択的に変更され、一部の動作は、任意選択的に省略される。
【０２７５】
以下で説明されるように、提案アフォーダンスを含むユーザインタフェースを表示し、その提案アフォーダンスの選択に応答して、タスクを実行する確認を選択的に要求することは、電子デバイス上でタスクを実行するための、容易に認識可能かつ直感的な手法をユーザに提供するものであり、それにより、そのようなタスクを実行するために通常であれば必要とされる、ユーザ入力の数が削減される。それゆえ、この方式でユーザインタフェースを表示することにより、デバイスの操作性が向上し、ユーザ−デバイスインタフェースが（例えば、デバイスを操作／デバイスと対話する際に、適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって）より効率的なものとなり、更には、ユーザが、より素早くかつ効率的にデバイスを使用することが可能となることによって、電力使用量が低減され、デバイスのバッテリ寿命が向上する。
【０２７６】
一部の実施例では、この電子デバイスは、第１のタスク候補のセットを決定し（９０２）、その第１のタスク候補のセットからタスクを特定する（９０４）。一部の実施例では、タスクは、電子デバイスのコンテキストがタスク提案基準を満たしているという判定に基づいて、特定される。
【０２７７】
一部の実施例では、ディスプレイ上にユーザインタフェースを表示する前に、電子デバイスは、その電子デバイスの第１のコンテキスト（例えば、その電子デバイスの以前の使用を説明するコンテキストデータ）に基づいて、コンテキスト基準（例えば、タスク提案基準）が満たされているか否かを判定する。一部の実施例では、電子デバイスは、タスク提案が、その提案を表示するための信頼性閾値を満たしているか否かを判定する。一部の実施例では、コンテキスト基準が満たされている（例えば、１つ以上のタスク提案が信頼性閾値を満たしている）という判定に従って、電子デバイスは、第１のタスク候補のセットを決定する。一部の実施例では、電子デバイスは、その電子デバイスの第２のコンテキストに基づいて、ヒューリスティック基準が満たされているか否かを判定する。一部の実施例では、この電子デバイスの第２のコンテキストは、そのデバイスの以前の使用、及び／又は、ユーザに関連付けられているコンテキストデータ（例えば、連絡先、カレンダー、位置）を示す。一部の実施例では、ヒューリスティック基準が満たされているか否かを判定することは、提案タスクの代わりにヒューリスティックなタスク提案が提供されるような、ヒューリスティックなタスク提案に関する条件のセットが満たされているか否かを判定することを含む。一部の実施例では、電子デバイスは、コンテキスト基準が満たされているか否かを判定し、次いで、ヒューリスティック基準が満たされているか否かを判定する。一部の実施例では、電子デバイスは、ヒューリスティック基準が満たされているか否かを判定し、次いで、コンテキスト基準が満たされているか否かを判定する。一部の実施例では、電子デバイスは、コンテキスト基準が満たされているか否か及びヒューリスティック基準が満たされているか否かを、同時に判定する。一部の実施例では、ヒューリスティック基準が満たされているという判定に従って、電子デバイスは、第１のタスク候補のセットとは異なる第２のタスク候補のセットを決定し、その第２のタスク候補のセットからタスクを特定する。一部の実施例では、ヒューリスティック基準が満たされておらず、コンテキスト基準が満たされているという判定に従って、電子デバイスは、第１のタスク候補のセットからタスクを特定する。一部の実施例では、ヒューリスティック基準が満たされておらず、かつコンテキスト基準が満たされていないという判定に従って、電子デバイスは、第１のタスク候補のセットを決定することを取り止め、第２のタスク候補のセットを決定することを取り止める。
【０２７８】
この方式でヒューリスティックなタスク提案を提供することにより、電子デバイスは、例えば、以下に記載されるような、それぞれの条件のセットに従って、電子デバイスのコンテキストデータに加えて、ユーザ固有のコンテキストデータに基づいて、タスク提案を提供することが可能となる。このことにより、電子デバイスは、電子デバイス上でタスクを実行するための有力なタスク提案をユーザに提供することが可能となり、それにより、そのようなタスクを実行するために通常であれば必要とされる、ユーザ入力の数が削減される。それゆえ、この方式でヒューリスティックなタスク提案を提供することにより、デバイスの操作性が改善され、電子デバイスの使用が（例えば、デバイスを操作／デバイスと対話する際に、適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって）より効率的なものとなり、更には、ユーザが、より素早くかつ効率的にデバイスを使用することが可能となることによって、電力使用量が低減され、デバイスのバッテリ寿命が向上する。
【０２７９】
一部の実施例では、電子デバイスは、タスクが第１のタイプのタスクであるか否かを判定する（９０６）。一部の実施例では、タスクが第１のタイプのタスクであるか否かを判定することは、そのタスクがバックグラウンドタスク（例えば、ユーザ確認及び／又は追加ユーザ入力を使用せずに実行することが可能なタスク）であるか否かを判定することを含む。
【０２８０】
一部の実施例では、タスクが第１のタイプのタスクであるか否かを判定することは、そのタスクに関連付けられている１つ以上のパラメータが、有効であるか否かを判定することを含む。一部の実施例では、タスクのパラメータは、そのタスクに必要とされる各パラメータに、そのパラメータに関する許容可能な値の範囲又はセットが割り当てられている場合に、有効であり、任意選択的に、タスクに関する任意選択的な各パラメータは、そのパラメータに関する許容可能な範囲又はセット内の値を有するか、あるいは値が割り当てられていない。
【０２８１】
一部の実施例では、電子デバイス（１０４、２００、６００、７００、８００）は、その電子デバイスのディスプレイ上に、タスクに関連付けられている提案アフォーダンス（８０６、８７０、８７２、８７４、８３４Ａ、８５４Ａ）を含むユーザインタフェース（８０４、８１０、８６６、８２６Ａ、８５０Ａ）を表示する（９０８）。一部の実施例では、このユーザインタフェースは、ロック画面インタフェース（８０４、８１０）である。一部の実施例では、このユーザインタフェースは、検索画面インタフェース（８６６、８２６Ａ）である。一部の実施例では、このユーザインタフェースは、ユーザとデジタルアシスタントとの間のダイアログのための、デジタルアシスタントインタフェースである。一部の実施例では、提案アフォーダンスは、電子デバイスによって、及び一部の場合には、電子デバイスのデジタルアシスタントによって提供されるタスク提案に対応する、アフォーダンスである。一部の実施例では、この提案は、タスク固有及び／又はパラメータ固有のものである。一部の実施例では、タスク提案は、電子デバイスのコンテキスト（例えば、位置、ＷｉＦｉ接続性、ＷｉＦｉネットワーク識別子（例えば、ＳＳＩＤ）、使用履歴、時間／日、ヘッドホン接続性など）に基づいて提供される。一部の実施例では、タスク提案は、ユーザインタフェース内に電子デバイスによって表示される他の通知とは、視覚的に区別可能である。
【０２８２】
電子デバイスのコンテキストに基づいてタスク提案を提供することにより、電子デバイスは、その電子デバイスの以前のユーザの使用、及び／又は、その電子デバイスの現在の状態に従って、有力なタスク提案を提供することが可能となる。結果として、電子デバイス上でタスクを実行するために必要な、入力の数及び時間が削減され、電子デバイスとのユーザ対話が促進される。このことによりまた、電力使用量が低減され、デバイスのバッテリ寿命が向上する。
【０２８３】
一部の実施例では、ディスプレイ上に、タスクに関連付けられている提案アフォーダンスを含むユーザインタフェースを表示することは、そのタスクが第１のタイプのタスクであることに従って、グリフを有する提案アフォーダンスを表示することと、そのタスクが第２のタイプのタスクであることに従って、グリフを有さない提案アフォーダンスを表示することとを含む。一部の実施例では、グリフは、タスクのタイプ（例えば、バックグラウンドか非バックグラウンドか、タスクがユーザ確認を必要とするか否か）を示す。一部の実施例では、グリフは、そのタスクがユーザ確認を必要としていることを示す、矢印である。一部の実施例では、グリフは、そのタスクが商取引であることを示す、ドル記号（又は、他の通貨記号）である。一部の実施例では、グリフは、円によって取り囲まれている。
【０２８４】
一部の実施例では、ディスプレイ上に、タスクに関連付けられている提案アフォーダンスを含むユーザインタフェースを表示することは、そのタスクが第１のタスクのセットに対応しているという判定に従って、第１のタイプのグリフを有する提案アフォーダンスを表示すること（９１０）を含む。一部の実施例では、タスクのセットは、タスクのカテゴリである。タスクのカテゴリとしては、一部の実施例では、メッセージタスク、電話タスク、テレビ電話タスク、及びメディアタスクが挙げられる。一部の実施例では、タスクの各セットは、１つ以上のそれぞれの第一者アプリケーションに対応している。一部の実施例では、タスクの各セットは、１つ以上の第三者アプリケーションに対応するタスクを更に含む。一部の実施例では、タスクが、特定のタスクのカテゴリに対応するタスクである場合には、そのタスクに対応する提案アフォーダンスダンスは、そのカテゴリを特定するグリフ（８７６、８７８、８８０、８３６Ａ）を含む。一部の実施例では、ディスプレイ上に、タスクに関連付けられている提案アフォーダンスを含むユーザインタフェースを表示することは、そのタスクが第１のタスクのセットとは異なる第２のタスクのセットに対応しているという判定に従って、第１のタイプとは異なる第２のタイプのグリフを有する提案アフォーダンスを表示すること（９１２）を更に含む。一部の実施例では、ディスプレイ上に、タスクに関連付けられている提案アフォーダンスを含むユーザインタフェースを表示することは、そのタスクが第１のタスクのセットに対応しておらず、かつ第２のタスクのセットに対応していないという判定に従って、グリフを有さない提案アフォーダンス（８３０Ａ）を表示することを更に含む。一部の実施例では、タスクが、１つ以上の所定のタスクのカテゴリに対応していない場合には、そのタスクに対応する提案アフォーダンスは、グリフを有さずに表示される（９１４）。
【０２８５】
一部の実施例では、ユーザインタフェース（８０４、８１０）は、通知（８０８）を含む。この通知は、テキストメッセージの受信などのイベントに関する通知とすることができる。一部の実施例では、提案アフォーダンス（８０６）は第１の方式で表示され、通知（８０８）は、第１の方式とは異なる第２の方式で表示される。例えば、一部の実施例では、提案アフォーダンスと通知とは、異なる色、色彩設計、及び／又はパターンに対応している。一部の実施例では、提案アフォーダンスと通知とは、異なる形状及び／又はサイズを有する。
【０２８６】
通知と提案アフォーダンスとを、本明細書で説明されるように、異なる方式で表示することにより、ユーザは、電子デバイスのディスプレイ上で、通知と提案アフォーダンスとを容易に区別することが可能となり、それにより、タスクを実行するために必要な時間が短縮される。それゆえ、この方式で時間を短縮することにより、デバイスの操作性が向上し、ユーザ−デバイスインタフェースが（例えば、デバイスを操作／デバイスと対話する際に、適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって）より効率的なものとなり、更には、ユーザが、より素早くかつ効率的にデバイスを使用することが可能となることによって、電力使用量が低減され、デバイスのバッテリ寿命が向上する。
【０２８７】
一部の実施例では、ユーザインタフェースを表示することは、電子デバイスがロック状態にあるという判定に従って、第１の視覚状態で提案アフォーダンスを表示することを含む。一部の実施例では、デバイスがロックされている場合には、その電子デバイスは、提案アフォーダンスに対応する情報の量を削減して表示する。一部の実施例では、ユーザインタフェースを表示することは、電子デバイスがロック状態ではないという判定に従って、第１の視覚状態とは異なる第２の視覚状態で提案アフォーダンスを表示することを更に含む。一部の実施例では、デバイスがロック解除されている場合には、その電子デバイスは、提案アフォーダンスに対応するコンテンツを表示する。この方式で表示されるコンテンツとしては、限定するものではないが、提案アフォーダンスに関連付けられているアプリケーションの名前及び／又はアイコン、提案アフォーダンスのタスクに関連付けられている１つ以上のパラメータ、並びに、任意選択的に、提案アフォーダンスのタスクのカテゴリを示すグリフが挙げられる。
【０２８８】
一部の実施例では、電子デバイスは、１つ以上の入力デバイスを介して、提案アフォーダンスの選択に対応する第１のユーザ入力（８１６、８３４Ａ、８５８Ａ）を検出する（９１６）。一部の実施例では、提案アフォーダンスは、タッチ入力、ジェスチャ、又はそれらの組み合わせを使用して選択される。一部の実施例では、提案アフォーダンスは、音声入力を使用して選択される。一部の実施例では、タッチ入力は、比較的短い持続時間又は低い強度の押圧などの、第１のタイプの入力である。
【０２８９】
一部の実施例では、第１のユーザ入力の検出に応答して（９１８）、電子デバイスは、そのタスクが第１のタイプのタスクであるという判定に従って、タスクを実行する（９２０）。一部の実施例では、タスクを実行することは、そのタスクを別の電子デバイスによって実行させることを含む。一部の実施例では、電子デバイスは、第１のタイプのデバイス（例えば、スマートウォッチ）であり、そのタスクを第２のタイプのデバイス（例えば、携帯電話）上で実行させる。
【０２９０】
一部の実施例では、第１のユーザ入力の検出に更に応答して（９１８）、電子デバイスは、そのタスクが第１のタイプのタスクとは異なる第２のタイプのタスクであるという判定に従って、確認アフォーダンスを含む確認インタフェース（８２０、８９８、８６０Ａ）を表示する（９２２）。一部の実施例では、第２のタイプのタスクは、商取引に対応するタスクなどの、タスクの実行の前にユーザ確認及び／又はユーザからの追加情報を必要とするタスクである。一部の実施例では、第２のタイプのタスクは、スマートウォッチなどの特定のタイプのデバイスによって実行されるタスクである。一部の実施例では、確認インタフェースは、ユーザインタフェースと同時に表示される。確認インタフェースは、例えば、ユーザインタフェースに重ね合わせることができる。一部の実施例では、確認インタフェースは、ユーザインタフェースの第１の部分の上に表示され、ユーザインタフェースの第２の部分は、視覚的に不明瞭化される（例えば、暗くなる、ぼやける）。
【０２９１】
提案アフォーダンスの選択に応答して、タスクを実行するための確認を選択的に要求することにより、電子デバイスは、第１のタイプのタスクを迅速に実行することが可能となり、第２のタイプのタスクを実行する前にユーザ意図を確認することが可能となる。結果として、ユーザには、電子デバイス上で迅速かつ確実にタスクを実行するための、直感的かつ確実な手法が提供され、それにより、そのようなタスクを実行するために通常であれば必要とされる、ユーザ入力の数が削減され、タスク実行が促進される。そのような利益により、タスクを実行するために必要な時間が短縮され、電子デバイスの使用がより効率化し、更には、ユーザが、より素早くかつ効率的にデバイスを使用することが可能となることによって、電力使用量が低減され、デバイスのバッテリ寿命が向上する。
【０２９２】
一部の実施例では、確認インタフェースを表示している間に（９２６）、電子デバイスは、確認アフォーダンス（８２４、８０２Ａ、８６４Ａ）の選択に対応する第２のユーザ入力（８３６、８１０Ａ、８６８Ａ）を検出する（９２８）。一部の実施例では、確認アフォーダンスは、タッチ入力、ジェスチャ、又はそれらの組み合わせを使用して選択される。一部の実施例では、確認アフォーダンスは、音声入力を使用して選択される。一部の実施例では、第２のユーザ入力の検出に応答して、電子デバイスは、そのタスクを実行する（９３０）。一部の実施例では、タスクを実行している間に、電子デバイスは、その電子デバイスがタスクを実行中であることを示す、第１の進度インジケータ（８４０、８１２Ａ）を表示する。一部の実施例では、電子デバイスがタスクの実行に成功した場合には、電子デバイスは、そのタスクの実行が成功したことを示す、第２の進度インジケータ（８４２、８１４Ａ）を表示する。一部の実施例では、タスクの実行及び／又は第２の進度インジケータの表示の後に続けて、電子デバイスは、アプリケーションによって指定された１つ以上の視覚オブジェクト（例えば、「ご注文ありがとうございます（Thank you for your order）」という旨のメッセージ又は画像）を含む、インタフェースを表示する。一部の実施例では、電子デバイスがタスクの実行に成功しなかった場合には、電子デバイスは、そのタスクの実行が成功しなかったことを示す、ユーザへの自然言語出力（例えば、「問題が発生しました。再試行してください（There was a problem. Try again）」）を提供し、そのタスクの実行の更なる試みをユーザが開始することが可能なアフォーダンス（８４６）を、任意選択的に表示する。
【０２９３】
一部の実施例では、確認インタフェースは、アプリケーションアフォーダンス（８２８、８５０）を含む。一部の実施例では、アプリケーションアフォーダンスは、提案アフォーダンスに関連付けられているアプリケーション及び／又はタスクを示す（例えば、特定する）アフォーダンスである。一部の実施例では、アプリケーションアフォーダンスは、確認アフォーダンス及び／又はキャンセルアフォーダンス以外の、確認インタフェースの任意の部分である。一部の実施例では、電子デバイスは、アプリケーションアフォーダンスの選択に対応する、第３のユーザ入力を検出する（９３２）。一部の実施例では、アプリケーションアフォーダンスは、タッチ入力、ジェスチャ、又はそれらの組み合わせを使用して選択される。一部の実施例では、アプリケーションアフォーダンスは、音声入力を使用して選択される。一部の実施例では、第３のユーザ入力の検出に応答して、電子デバイスは、タスクに関連付けられているアプリケーションを実行する（例えば、起動する、開始する）（９３４）。一部の実施例では、ユーザは、アプリケーションの表示されているアイコン及び／又は名前を選択することにより、その選択アフォーダンスのタスクに対応するアプリケーションを起動する。一部の実施例では、そのアプリケーションには、任意選択的に、１つ以上のパラメータ（例えば、電子メールの件名及び／又は本文）がプリロードされる。
【０２９４】
一部の実施例では、提案アフォーダンスは、タスクの実行に影響を及ぼすパラメータの視覚的インジケーションを含む。一部の実施例では、提案アフォーダンスは、１つ以上の指定されたパラメータを使用して実行される（例えば、Ｓｔａｒｂｕｃｋｓアプリを使用して特定のコーヒーのサイズ及びタイプを注文する、特定のメッセージを有するテキストを送信する）タスクに対応している。一部の実施例では、タスクに関連付けられているアプリケーションを実行することは、そのアプリケーションにパラメータをプリロードすることを含む。一部の実施例では、アプリケーションは、ユーザに代わってタスクのパラメータが入力される（例えば、注文は既にカート内にあり、ユーザは、注文する意図を示すことのみが必要とされ、メッセージはメッセージ作成フィールド内に挿入されており、ユーザは送信する意図を示すことのみが必要とされる）ように実行される。
【０２９５】
一部の実施例では、確認インタフェースは、キャンセルアフォーダンスを含む。一部の実施例では、電子デバイスは、キャンセルアフォーダンスの選択に対応する第４のユーザ入力を検出する。一部の実施例では、キャンセルアフォーダンスは、タッチ入力、ジェスチャ、又はそれらの組み合わせを使用して選択される。一部の実施例では、キャンセルアフォーダンスは、音声入力を使用して選択される。一部の実施例では、この第４のユーザ入力の検出に応答して、電子デバイスは、タスクを実行することを取り止める。一部の実施例では、電子デバイスは更に、第４のユーザ入力の検出に応答して、確認インタフェースを表示することを中止する。
【０２９６】
一部の実施例では、第１のユーザ入力は、第１のタイプの入力である。一部の実施例では、電子デバイスは、ユーザインタフェースを表示している間に、提案アフォーダンスの選択に対応する第２のタイプのユーザ入力を検出する。一部の実施例では、提案アフォーダンスは、タッチ入力、ジェスチャ、又はそれらの組み合わせを使用して選択される。一部の実施例では、提案アフォーダンスは、音声入力を使用して選択される。一部の実施例では、タッチ入力は、比較的長い持続時間又は高い強度の押圧などの、第２のタイプの入力である。一部の実施例では、この第２のタイプの入力は、第１のタイプの入力とは異なる。一部の実施例では、第２のタイプのユーザ入力の検出に応答して、電子デバイスは、確認インタフェースを表示する。
【０２９７】
方法９００に関連して上述されたプロセス（例えば、図９Ａ、図９Ｂ）の詳細はまた、以下で説明される方法にも、類似の方式で適用可能であることに留意されたい。例えば、方法９００は、任意選択的に、方法１１００、１３００、１５００、１７００、及び方法１９００を参照して説明される、様々な方法の特性のうちの１つ以上を含む。
【０２９８】
上述の方法における動作は、汎用プロセッサ（例えば、図２Ａ、図４、及び図６Ａに関連して説明されたようなもの）又は特定用途向けチップなどの、情報処理装置内の１つ以上の機能モジュールを稼働することによって、任意選択的に実施される。更には、図８Ａ〜図８ＡＦを参照して上述された動作は、図２Ａ、図１Ｂに示された構成要素によって任意選択的に実施される。例えば、表示動作９０８、検出動作９１６、実行動作９２０、及び表示動作９２２は、イベントソータ２７０、イベント認識部２８０、及びイベントハンドラ２９０によって任意選択的に実行される。イベントソータ２７０内のイベントモニタ２７１は、タッチ感知面６０４（図６Ａ）上の接触を検出し、イベントディスパッチャモジュール２７４は、そのイベント情報をアプリケーション２３６−１（図２Ｂ）に配信する。アプリケーション２３６−１のそれぞれのイベント認識部２８０は、そのイベント情報を、それぞれのイベント定義２８６と比較して、タッチ感知面上の第１の場所での第１の接触が、ユーザインタフェース上のオブジェクトの選択などの、既定のイベント又はサブイベントに対応するか否かを判定する。対応する既定のイベント又はサブイベントが検出されると、イベント認識部２８０は、そのイベント又はサブイベントの検出に関連付けられているイベントハンドラ２９０をアクティブ化する。イベントハンドラ２９０は、アプリケーション内部状態２９２を更新するために、データアップデータ２７６若しくはオブジェクトアップデータ２７７を任意選択的に利用するか又は呼び出す。一部の実施形態では、イベントハンドラ２９０は、アプリケーションによって表示されているものを更新するために、それぞれのＧＵＩアップデータ２７８にアクセスする。同様に、図２Ａ、図２Ｂに示される構成要素に基づいて、どのように他のプロセスを実施することができるかは、当業者には明らかであろう。
【０２９９】
図１０Ａ〜図１０ＡＪは、一部の実施形態による、電子デバイス（例えば、デバイス１０４、デバイス１２２、デバイス２００、デバイス６００、又はデバイス７００）上に音声ショートカットを提供するための、例示的なユーザインタフェースを示す。これらの図中のユーザインタフェースは、図１１Ａ、図１１Ｂでのプロセスを含めた、以下で説明されるプロセスを例示するために使用される。
【０３００】
一般に、図１０Ａ〜図１０ＡＪを参照して説明されるユーザインタフェースは、ユーザが、タスクを対応のユーザ固有フレーズに関連付けることができるように、採用することができる。これらのフレーズを使用して、電子デバイスに、関連付けられたタスクを実行させることができる。
【０３０１】
図１０Ａは、電子デバイス１０００（例えば、デバイス１０４、デバイス１２２、デバイス２００、デバイス６００、又はデバイス７００）を示す。図１０Ａ〜図１０ＡＪに示される非限定的な例示的実施形態では、電子デバイス１０００は、スマートフォンである。他の実施形態では、電子デバイス１０００は、ウェアラブルデバイス（例えば、スマートウォッチ）などの、異なるタイプの電子デバイスとすることができる。一部の実施例では、電子デバイス１０００は、ディスプレイ１００１、１つ以上の入力デバイス（例えば、ディスプレイ１００１のタッチスクリーン、ボタン、マイクロフォン）、及び無線通信装置を有する。一部の実施例では、電子デバイス１０００は、複数のカメラを含む。一部の実施例では、この電子デバイスは、１つのみのカメラを含む。一部の実施例では、この電子デバイスは、赤外線カメラ、サーモグラフィカメラ、又はそれらの組み合わせなどのカメラを任意選択的に含む、１つ以上のバイオメトリックセンサ（例えば、バイオメトリックセンサ１００３）を含む。
【０３０２】
図１０Ａでは、電子デバイス１０００は、ディスプレイ１００１上に、設定インタフェース１００４を表示している。設定インタフェース１００４は、タスク候補部分１００６、及び追加タスクアフォーダンス１０１４を含む。タスク候補部分１００６は、タスク候補アフォーダンス１００８、１０１０、及びタスク候補アフォーダンス１０１２を含む。一部の実施例では、追加タスクアフォーダンス１０１４の選択に応答して、電子デバイス１０００は、以下の図１０Ｓに関連して説明されるような、グローバルタスクインタフェース１０１８Ａなどの、グローバルタスクインタフェースを表示する。
【０３０３】
一部の実施例では、タスク候補アフォーダンスの選択に応答して、電子デバイス１０００は、タスク固有インタフェースを表示する。このタスク固有インタフェースは、一部の実施例では、タスク候補アフォーダンスのタスクに関連付けられている。例として、設定インタフェース１００４を表示している間に、電子デバイス１０００は、タスク候補アフォーダンス１００８の選択を検出する。一部の実施例では、この選択は、タスク候補アフォーダンス１００８上でのタップジェスチャ１０１６である。図１０Ｂに示されるように、タップジェスチャ１０１６の検出に応答して、電子デバイス１０００は、タスク固有インタフェース１０１８を表示する。タスク固有インタフェース１０１８は、タスク候補アフォーダンス１００８のタスク（例えば、家の側方のカメラを見る）に関連付けることができる。一部の実施例では、タスク候補アフォーダンスを選択することは、そのタスク候補アフォーダンスに対応するタスクに関する、音声ショートカット生成プロセスを開始させるものである。したがって、タスク候補アフォーダンス１００８の選択により、タスク候補アフォーダンス１００８のタスクに関する、音声ショートカット生成プロセスを開始させることができる。
【０３０４】
タスク固有インタフェース１０１８は、タスクアイコン１０２０、タスクインジケータ１０２２、タスク記述子１０２４、アプリケーションインジケータ１０２６、候補フレーズ１０２８、及び録音アフォーダンス１０３０を含む。一部の実施例では、タスクアイコン１０２０は、タスクに対応するアイコン又は画像を含む。一部の実施例では、タスクインジケータ１０２２は、タスクの名前及び／又はタイプを示す。一部の実施例では、タスク記述子１０２４は、タスクの説明を含み、かつ／又は、そのタスクにリンクさせるためのコマンド若しくはフレーズを、ユーザが記録することができることを示す。一部の実施例では、アプリケーションインジケータ１０２６は、タスクに対応しているアプリケーションを特定する。アプリケーションインジケータ１０２６は、例えば、そのアプリケーションの名前、及び／又は、そのアプリケーションに関連付けられているアイコンを含み得る。候補フレーズ１０２８は、タスクに関連付けるようにユーザが選択することが可能な、提案フレーズを含む。
【０３０５】
タスク固有インタフェース１０１８を表示している間に、電子デバイス１０００は、録音アフォーダンス１０３０の選択を検出する。図１０Ｃに示されるように、録音アフォーダンス１０３０の選択は、タップジェスチャ１０３２である。録音アフォーダンス１０３０の選択に応答して、電子デバイスは、ディスプレイ１００１上に、録音インタフェース１０３４を表示する（例えば、タスク固有インタフェース１０１８の表示と置き換える）。
【０３０６】
図１０Ｄを参照すると、録音インタフェース１０３４は、キャンセルアフォーダンス１０３６、「戻る」アフォーダンス１０３８、プレビュー１０４２、及び停止アフォーダンス１０４４を含む。一部の実施例では、キャンセルアフォーダンス１０３６の選択に応答して、電子デバイスは、録音インタフェース１０３４の表示を中止して、任意選択的に、音声ショートカット生成プロセスを終了する。一部の実施例では、「戻る」アフォーダンスの選択に応答して、電子デバイスは、タスク固有インタフェース１０１８を表示する（例えば、録音インタフェース１０３８の表示と置き換える）。
【０３０７】
一部の実施例では、録音インタフェース１０３４を表示している間に、電子デバイス１０００は、電子デバイス１０００のオーディオ入力デバイス（例えば、マイクロフォン）を使用して、ユーザから自然言語発話入力を受信する。一部の実施例では、自然言語発話入力を受信している間に、電子デバイス１０００は、ライブプレビュー１０４２などの、その自然言語発話入力のライブプレビューを提供する。図１０Ｄに示されるように、ライブプレビュー１０４２は、一部の実施例では、自然言語発話入力の１つ以上の聴覚特性を示す、視覚波形である。
【０３０８】
図１０Ｅを参照すると、最初に録音インタフェース１０３４を表示した後、ユーザが所定の時間にわたって自然言語発話入力を提供しない場合には、電子デバイス１０００は、任意選択的に、候補フレーズ１０４６（例えば、「家の側方のライブストリームを見る（View Side of House Live Stream）」）などの候補フレーズを含む、ユーザに対するプロンプトを表示することができる。一部の実施例では、候補フレーズ１０４６は、候補フレーズ１０２８（図１０Ｃ）と同じである。他の実施例では、候補フレーズ１０４６は、候補フレーズ１０２８とは異なる。
【０３０９】
一部の実施例では、自然言語発話入力を受信している間に、電子デバイス１０００は、その自然言語発話入力に対して音声テキスト化変換（例えば、自然言語発話処理）を実行することにより、候補フレーズ１０４８を提供する。図１０Ｆ、図１０Ｇに示されるように、この音声テキスト化変換は、自然言語発話入力が受信されている間に実行されるため、その自然言語発話入力が受信されている間に、候補フレーズ１０４８を、反復的及び／又は継続的に更新することができる。
【０３１０】
一部の実施例では、電子デバイス１０００は、その候補フレーズが、１つ以上の所定のフレーズ（例えば、「９１１に電話して（call 911）」）とは異なるものであることを保証する。例として、電子デバイス１０００は、その候補フレーズと１つ以上の所定のフレーズのそれぞれとの類似性が、類似性閾値を超過しているか否かを判定する。類似性閾値が満たされていない場合には、電子デバイス１０００は、提供されている候補フレーズが十分なものではなく、かつ／又は許容されるものではないことを、ユーザに通知することになる。電子デバイス１０００は、別の自然言語発話入力をユーザが提供することを、更に要求することができる。
【０３１１】
録音インタフェース１０３４を表示している間に、電子デバイス１０００は、停止アフォーダンス１０４４の選択を検出する。図１０Ｇに示されるように、録音アフォーダンス１０４４の選択は、タップジェスチャ１０５０である。停止アフォーダンスの選択１０５０に応答して、電子デバイス１０００は、図１０Ｈに示されるように、ディスプレイ１００１上に、完了インタフェース１０５２を表示する（例えば、録音インタフェース１０３４の表示と置き換える）。
【０３１２】
完了インタフェース１０５２は、完了アフォーダンス１０５４、キャンセルアフォーダンス１０５６、タスクアイコン１０５８、タスクインジケータ１０６０、アプリケーションインジケータ１０６２、候補フレーズ１０６４、及び編集アフォーダンス１０６６を含む。一部の実施例では、キャンセルアフォーダンス１０５６の選択に応答して、電子デバイス１０００は、完了インタフェース１０５２の表示を中止して、任意選択的に、音声ショートカット生成プロセスを終了する。一部の実施例では、タスクアイコン１０５８は、タスクに対応するアイコン又は画像を含む。一部の実施例では、タスクインジケータ１０６０は、タスクの名前及び／又はタイプを示す。一部の実施例では、アプリケーションインジケータ１０６２は、タスクに対応しているアプリケーションを特定する。アプリケーションインジケータは、例えば、そのアプリケーションの名前、及び／又は、そのアプリケーションに関連付けられているアイコンを含み得る。候補フレーズ１０２８は、タスクに関連付けるようにユーザが選択することが可能な、提案フレーズである。
【０３１３】
一部の実施例では、完了インタフェース１０５２を表示している間に、電子デバイス１０００は、編集アフォーダンス１０６６の選択を検出する。図１０Ｉに示されるように、編集アフォーダンス１０６６の選択は、タップジェスチャ１０６８である。編集アフォーダンスの選択１０６８に応答して、電子デバイス１０００は、図１０Ｊに示されるように、ディスプレイ１００１上に、編集インタフェース１０７０を表示する（例えば、完了インタフェース１０５２の表示と置き換える）。
【０３１４】
編集インタフェース１０７０は、完了アフォーダンス１０７２、キャンセルアフォーダンス１０７４、タスクアイコン１０７６、タスクインジケータ１０７８、候補フレーズのランク付け１０８０、及び再録音アフォーダンス１０８８を含む。一部の実施例では、キャンセルアフォーダンス１０５６の選択に応答して、電子デバイス１０００は、編集インタフェース１０７０の表示を中止して、任意選択的に、音声ショートカット生成プロセスを終了する。一部の実施例では、タスクアイコン１０７６は、タスクに対応するアイコン又は画像を含む。一部の実施例では、タスクインジケータ１０７８は、タスクの名前及び／又はタイプを示す。
【０３１５】
説明されたように、一部の実施例では、電子デバイス１０００は、ユーザによって提供された自然言語発話入力に基づいて、候補フレーズ（例えば、候補フレーズ１０４８）を提供する。一部の実施例では、この方式で候補フレーズを提供することは、複数の候補フレーズ（例えば、候補フレーズ１０８２、１０８４、１０８６）を生成して、最も高いスコア（例えば、テキスト表現信頼性スコア）に関連付けられている候補フレーズを選択することを含む。一部の実施例では、候補フレーズのランク付け１０８０は、最も高いスコアに関連付けられている候補フレーズを選択する前の、電子デバイス１０００によって生成された複数の候補フレーズを含む。一部の実施例では、候補フレーズのランク付け１０８０は、各候補フレーズのそれぞれのスコアに従って任意選択的にリスト化されている、上位ランクの候補フレーズのセット（例えば、３つ）を含む。図１０Ｊに示されるように、例えば、候補フレーズのランク付け１０８０は、候補フレーズ１０８２、１０８４、及び候補フレーズ１０８６を含む。候補フレーズ１０８２は、一部の実施例では、候補フレーズ１０６４に対応し得る。
【０３１６】
一部の実施例では、ユーザは、候補フレーズのランク付け１０８０の候補フレーズ１０８２、１０８４、１０８６から新たな（又は、同じ）候補フレーズを選択することができる。図１０Ｋに示されるように、例えば、電子デバイス１０００は、編集インタフェース１０７０を表示している間に、候補フレーズ１０８０の選択を検出する。候補フレーズ１０８０の選択は、タップジェスチャ１０９０である。一部の実施例では、候補フレーズ１０８０の選択に応答して、電子デバイス１０００は、候補フレーズ１０８０を新たな（又は、同じ）候補フレーズとして選択する。一部の実施例では、電子デバイスは、候補フレーズ１０８０及び完了アフォーダンス１０７２の双方の選択に応答して、候補フレーズ１０８０を新たな（又は、同じ）候補フレーズとして選択する。
【０３１７】
一部の実施例では、この候補フレーズのランク付けは、ユーザによって意図又は選好されているフレーズを含まない場合がある。したがって、一部の実施例では、再録音アフォーダンス１０８８の選択に応答して、電子デバイス１０００が、録音インタフェース１０３４などの録音インタフェースを表示する（例えば、編集インタフェース１０７０の表示と置き換える）ことにより、ユーザは、説明されたように、新たな自然言語発話入力を提供することが可能となる。
【０３１８】
一部の実施例では、完了インタフェース１０５２を表示している間に、電子デバイス１０００は、完了アフォーダンス１０５４の選択を検出する。図１０Ｌに示されるように、完了アフォーダンス１０５４の選択は、タップジェスチャ１０９２である。完了アフォーダンス１０５４の選択に応答して、電子デバイス１０００は、その候補フレーズを、タスク候補アフォーダンス１００８のタスクに関連付ける。この方式で候補フレーズをタスクに関連付けることによって、ユーザは、その候補フレーズを電子デバイスのデジタルアシスタントに提供（例えば、発話）して、その候補フレーズに関連付けられたタスクをデバイスに実行させることができる。それぞれのタスクに関連付けられた候補フレーズは、本明細書では、音声ショートカットと称される場合がある。一部の実施例では、完了アフォーダンス１０５４の選択に更に応答して、電子デバイス１０００は、図１０Ｍに示されるように、ディスプレイ１００１上に、設定インタフェース１００４を表示する（例えば、完了インタフェース１０５２の表示と置き換える）。
【０３１９】
一部の実施例では、タスク候補アフォーダンス１００８のタスクが、タスクに割り当てられているため、タスク候補アフォーダンス１００８は、タスク候補部分１００６内には含まれていない。一部の実施例では、タスク候補部分１００６は、その代わりに、少なくとも閾値数のタスク候補アフォーダンスをタスク候補部分１００６が含むように、タスク候補提案１０９４を含む。
【０３２０】
一部の実施例では、１つ以上のタスク候補アフォーダンスが、対応のタスクに関連付けられている場合には、設定インタフェース１００４は、ユーザショートカットアフォーダンス１０９６を含む。一部の実施例では、設定インタフェース１００４を表示している間に、電子デバイス１０００は、ユーザショートカットアフォーダンス１０９６の選択を検出する。図１０Ｎに示されるように、ユーザショートカットアフォーダンス１０９６の選択は、タップジェスチャ１０９８である。一部の実施例では、ユーザショートカットアフォーダンス１０９６の選択に応答して、電子デバイス１０００は、図１０Ｏに示されるように、ディスプレイ１００１上に、ユーザショートカットインタフェース１００２Ａを表示する（例えば、設定インタフェース１００４の表示と置き換える）。
【０３２１】
ユーザショートカットインタフェース１００２Ａは、編集アフォーダンス１００４Ａ、「戻る」アフォーダンス１００６Ａ、ショートカットアフォーダンス１００８Ａ、及び追加タスクアフォーダンス１０１０Ａを含む。一部の実施例では、「戻る」アフォーダンス１００６Ａの選択に応答して、電子デバイス１０００は、設定インタフェース１００４（図１０Ｎ）を表示する。一部の実施例では、編集アフォーダンス１００４Ａの選択に応答して、電子デバイス１０００は、ショートカットアフォーダンス１００８Ａに関連付けられている音声ショートカットを削除することが可能なインタフェースを表示する。一部の実施例では、追加タスクアフォーダンス１０１０Ａの選択に応答して、電子デバイス１０００は、以下で更に詳細に説明される、図１０Ｓのグローバルタスクインタフェース１０１８Ａなどの、１つ以上のタスク候補アフォーダンス含むインタフェースを表示する。
【０３２２】
一部の実施例では、ユーザショートカットインタフェース１００２Ａを表示している間に、電子デバイス１０００は、ショートカットアフォーダンス１００８Ａの選択を検出する。図１０Ｐに示されるように、ショートカットアフォーダンス１００８Ａの選択は、タップジェスチャ１００４Ａである。一部の実施例では、ショートカットアフォーダンス１００８Ａの選択に応答して、電子デバイス１０００は、図１０Ｑに示されるように、ディスプレイ１００１上に、ショートカットアフォーダンス１００８Ａに関する完了インタフェース１０５４を表示する（例えば、ユーザショートカットインタフェース１００２Ａの表示と置き換える）。完了インタフェース１０５４は、削除アフォーダンス１０１４Ａを含み得る。削除アフォーダンス１０１４Ａの選択に応答して、電子デバイス１０００は、そのタスクに関連付けられている音声ショートカットを削除する。この方式でショートカットを削除することは、電子デバイス１０００のデジタルアシスタントに音声ショートカットを提供することで、電子デバイス１０００にタスクを実行させることがないように、その音声ショートカットをタスクから切り離すことを含み得る。
【０３２３】
一部の実施例では、設定インタフェース１００４を表示している間に、電子デバイス１０００は、追加タスクアフォーダンス１０１４の選択を検出する。図１０Ｒに示されるように、追加タスクアフォーダンス１０１４の選択は、タップジェスチャ１０１６Ａである。一部の実施例では、ショートカットアフォーダンス１０１４の選択に応答して、電子デバイス１０００は、図１０Ｓに示されるように、ディスプレイ１００１上に、グローバルタスクインタフェース１０１８Ａを表示する（例えば、設定インタフェース１００４の表示と置き換える）。
【０３２４】
グローバルタスクインタフェース１０１８Ａは、複数のアプリケーションのそれぞれに関して、対応するタスク候補アフォーダンスのセットを含む。例として、グローバルタスクインタフェース１０１８Ａは、アクティビティアプリケーションに関連付けられているタスク候補アフォーダンスのセット１０２０Ａ、カレンダーアプリケーションに関連付けられているタスク候補アフォーダンスのセット１０２６Ａ、及びミュージックアプリケーションに関連付けられているタスク候補アフォーダンスのセット１０３６Ａを含む。タスク候補アフォーダンスのセット１０２０Ａは、任意選択的に、「トレーニングを開始する（Start Workout）」タスク候補アフォーダンス１０２２Ａ、及び「毎日の進捗を見る（View Daily Progress）」タスク候補アフォーダンス１０２４Ａを含み得る。タスク候補アフォーダンスのセット１０２６Ａは、任意選択的に、「ランチの招待状を送る（Send Lunch invitation）」タスク候補アフォーダンス１０２８Ａ、「会合をスケジュールする（Schedule Meeting）」タスク候補アフォーダンス１０３０Ａ、及び「一日のイベントを消去する（Clear Events for a Day）」タスク候補アフォーダンス１０３２Ａを含み得る。タスク候補アフォーダンスのセット１０３６Ａは、任意選択的に、「トレーニングのプレイリストを再生する（Play Workout Playlist）」タスク候補アフォーダンス１０３８Ａ、及び「Ｒ＆Ｂラジオを開始する（Start R＆B Radio）」タスク候補アフォーダンス１０４０Ａを含み得る。
【０３２５】
一部の実施例では、グローバルタスクインタフェース１０１８Ａのタスク候補アフォーダンスは、検索可能である。例として、グローバルタスクインタフェース１０１８Ａを表示している間に、電子デバイスは、図１０Ｔのスワイプジェスチャ１０４６Ａなどの、ディスプレイ１００１上でのスワイプジェスチャを検出する。スワイプジェスチャ１０４６Ａに応答して、電子デバイスは、図１０Ｕに示されるように、グローバルタスクインタフェース１０１８Ａを下方向にスライドさせることにより、そのグローバルタスクインタフェース１０１８Ａのタスク候補アフォーダンスを検索するために使用することが可能な、検索フィールド１０４８Ａを表示する（例えば、表出させる）。
【０３２６】
一部の実施例では、電子デバイス１０００によって表示されるタスク候補アフォーダンスの各セットは、それぞれのアプリケーションに関する、利用可能な全てのタスク候補アフォーダンスのサブセットとすることができる。したがって、ユーザは、アプリケーション固有のタスクリストアフォーダンス１０３４Ａ、１０４２Ａなどの、アプリケーションタスクリストアフォーダンスを選択することにより、そのアプリケーションタスクリストアフォーダンスに対応しているアプリケーションに関する、１つ以上の更なるタスク候補アフォーダンスを表出させることができる。例えば、グローバルタスクインタフェース１０１８Ａを表示している間に、電子デバイス１０００は、アプリケーションタスクリストアフォーダンス１０４２Ａの選択を検出する。図１０Ｖに示されるように、アプリケーションタスクリストアフォーダンス１０４２Ａの選択は、タップジェスチャ１０５０Ａである。一部の実施例では、アプリケーションタスクリストアフォーダンス１０４２Ａの選択に応答して、電子デバイス１０００は、図１０Ｗに示されるように、ディスプレイ１００１上に、アプリケーションタスクインタフェース１０５２Ａを表示する（例えば、グローバルタスクインタフェース１０１８Ａの表示と置き換える）。図示のように、アプリケーションタスクインタフェース１０５２Ａは、選択された場合に電子デバイス１０００にグローバルタスクインタフェース１０１８Ａを表示させる「戻る」アフォーダンスと、タスク候補アフォーダンス１０５４Ａ〜１０７０Ａとを含む。
【０３２７】
一部の実施例では、設定インタフェース１００４を表示している間に、電子デバイス１０００は、図１０Ｘのスワイプジェスチャ１０７４Ａなどの、ディスプレイ１００１上でのスワイプジェスチャを検出する。図１０Ｙに示されるように、スワイプジェスチャ１０７４Ａに応答して、電子デバイス１０００は、設定インタフェース１００４を上方向にスライドさせることにより、様々な設定を表示する（例えば、表出させる）。これらの設定は、有効化された場合に、図８Ａ〜図８ＡＦを参照して説明されたものなどのタスク候補アフォーダンス及び提案アフォーダンスが、電子デバイス１０００によって表示される方式を調節するものである。例えば、設定インタフェース１００４は、ショートカット有効化設定１０７６Ａを含み、この設定は、有効化された場合、電子デバイス１０００が、本明細書で説明されるようにタスク候補アフォーダンスを表示することを可能にする。別の例として、設定インタフェース１００４は、検索提案有効化設定１０７８Ａを含み、この設定は、有効化された場合、電子デバイス１０００が、検索画面インタフェース上に提案アフォーダンスを表示することを可能にする。別の例として、設定インタフェース１００４は、「調べる」提案有効化設定１０８０Ａを含み、この設定は、有効化された場合、電子デバイス１０００が、「調べる」結果画面インタフェース上に提案アフォーダンスを表示することを可能にする。更に別の例として、設定インタフェース１００４は、ロック画面提案有効化設定１０８２Ａを含み、この設定は、有効化された場合、電子デバイス１０００が、ロック画面インタフェース上に提案アフォーダンスを表示することを可能にする。
【０３２８】
設定インタフェース１００４は、それぞれが対応のアプリケーションに関連付けられている、アプリケーションアフォーダンス１０８４Ａ及びアプリケーションアフォーダンス１０８６Ａを更に含む。一部の実施例では、設定インタフェース１００４を表示している間に、電子デバイス１０００は、アプリケーションアフォーダンス１０８６Ａの選択を検出する。図１０Ｙに示されるように、アプリケーションアフォーダンス１０８６Ａの選択は、タップジェスチャ１０８８Ａである。一部の実施例では、アプリケーションアフォーダンス１０８６Ａの選択に応答して、電子デバイス１０００は、図１０Ｚに示されるように、ディスプレイ１００１上に、アプリケーション設定インタフェース１０９０Ａを表示する（例えば、設定インタフェース１００４の表示と置き換える）。
【０３２９】
一部の実施例では、アプリケーション設定インタフェース１０９０Ａは、例えば本明細書で説明される音声ショートカット生成プロセスを使用して、ユーザによって以前に生成された音声ショートカットに対応し得る、アプリケーションユーザショートカットアフォーダンス１０９２Ａを含む。アプリケーション設定インタフェース１０９０Ａは、タスク候補アフォーダンス１０９４Ａ〜１０９８Ａを更に含み得るものであり、それらのアフォーダンスのそれぞれは、アプリケーション設定インタフェース１０９０Ａのアプリケーションに関連付けられている、それぞれのタスクに対応し得る。一部の実施例では、アプリケーション設定インタフェース１０９０Ａは、アプリケーションタスクリストアフォーダンス１００２Ｂを更に含む。一部の実施例では、アプリケーションタスクリストアフォーダンス１００２Ｂの選択に応答して、電子デバイス１０００は、ディスプレイ１００１上に、アプリケーションタスクインタフェース１０５２Ａ（図１０Ｗ）などの、アプリケーションタスクインタフェースを表示する（例えば、アプリケーション設定インタフェース１０９０Ａの表示と置き換える）。一部の実施例では、アプリケーション設定インタフェース１０９０Ａは、アプリケーション提案有効化設定１００４Ｂを更に含み、この設定は、有効化された場合、電子デバイス１０００が、検索画面インタフェース、「調べる」結果画面インタフェース、及び／又はキーボードインタフェース上に、そのアプリケーションに関連付けられている提案アフォーダンスを表示することを可能にする。一部の実施例では、アプリケーション設定インタフェース１０９０Ａは、アプリケーション提案有効化設定１００６Ｂを更に含み、この設定は、有効化された場合、電子デバイス１０００が、ロック画面インタフェース上に、そのアプリケーションに関連付けられている提案アフォーダンスを表示することを可能にする。
【０３３０】
一部の実施例では、アプリケーション設定インタフェース１０９０Ａは、編集アフォーダンス１０１０Ｂを更に含む。一部の実施例では、アプリケーション設定インタフェース１０９０Ａを表示している間に、電子デバイス１０００は、編集アフォーダンス１０１０Ｂの選択を検出する。図１０ＡＡに示されるように、編集アフォーダンス１０１０Ｂの選択は、タップジェスチャ１０１２Ｂである。一部の実施例では、編集アフォーダンス１０１０Ｂの選択に応答して、電子デバイス１０００は、図１０ＡＢに示されるように、ディスプレイ１００１上に、アプリケーション固有編集インタフェース１０１４Ｂを表示する（例えば、アプリケーション設定インタフェース１０９０Ａの表示と置き換える）。一部の実施例では、アプリケーション固有編集インタフェース１０１４Ｂは、アプリケーション設定インタフェース１０９０Ａの第１の部分の上に表示され、アプリケーション設定インタフェース１０９０Ａの第２の部分は、視覚的に不明瞭化される（例えば、暗くなる、ぼやける）。
【０３３１】
一部の実施例では、アプリケーション設定インタフェース１０９０Ａを表示することは、アプリケーション設定インタフェース１０９０Ａの各アプリケーションユーザショートカットアフォーダンス（例えば、アプリケーションユーザショートカットアフォーダンス１０９２Ａ）に関する、選択アフォーダンス（例えば、選択アフォーダンス１０２０Ｂ）を表示することを含む。例示的動作では、電子デバイス１０００は、対応するアプリケーションユーザショートカットアフォーダンス１０９２Ａの選択、及び、アプリケーションユーザショートカットアフォーダンス１０９２Ａを削除するユーザの意図を示す、選択アフォーダンス１０２０Ｂの選択を検出する。一部の実施例では、ユーザは、確認アフォーダンス１０１８Ｂを選択することによって、削除を確認することができ、又は、キャンセルアフォーダンス１０１６Ｂを選択することによって、削除を取り止めることもできる。
【０３３２】
図１０ＡＣでは、電子デバイス１０００は、特定のアプリケーションに関するアプリケーション許可インタフェース１０２２Ｂを表示している。アプリケーション許可インタフェース１０２２は、提案許可アフォーダンス１０２６Ｂを含む。アプリケーション許可インタフェース１０２２を表示している間に、電子デバイス１０００は、提案許可アフォーダンス１０２６Ｂの選択を検出する。図１０ＡＣに示されるように、提案許可アフォーダンス１０２６Ｂの選択は、タップジェスチャ１０３２Ｂである。一部の実施例では、提案許可アフォーダンス１０２６Ｂの選択に応答して、電子デバイス１０００は、ディスプレイ１００１上に、図１０ＡＤのアプリケーション設定インタフェース１０３４Ｂなどの、アプリケーション設定インタフェースを表示する（例えば、アプリケーション固有許可インタフェース１０２２Ｂの表示と置き換える）。
【０３３３】
一部の実施例では、音声ショートカット生成プロセスは、アプリケーション固有設定インタフェースを使用して開始させることができる。したがって、一部の実施例では、アプリケーション設定インタフェース１０３４Ｂは、タスク候補アフォーダンス１０３８Ｂを含み得る。一部の実施例では、アプリケーション設定インタフェース１０３４Ｂを表示している間に、電子デバイス１０００は、タスク候補アフォーダンス１０３８Ｂの選択を検出する。図１０ＡＥに示されるように、タスク候補アフォーダンス１０３８Ｂの選択は、タップジェスチャ１０５０Ｂである。提案候補アフォーダンス１０３８Ｂの選択に応答して、電子デバイス１０００は、図１０ＡＦに示されるように、タスク候補アフォーダンス１０３８Ｂのタスクに関連付けられているタスク固有インタフェース１０５４Ｂを表示する。
【０３３４】
図ＡＦ〜図ＡＨを参照すると、ユーザは、その後、電子デバイスに自然言語発話入力（例えば、「私にコーヒーを（Coffee Me）」）を提供することによって、音声ショートカットを生成することができ、電子デバイスは、上述のように、タスク候補アフォーダンス１０３８Ｂのタスク（例えば、近所のコーヒーショップに、オーツミルクを使用したラージラッテを注文すること）に関連付けるための候補フレーズを提供する。そのタスクに関する音声ショートカットが生成されると、電子デバイス１０００は、アプリケーション設定インタフェース１０３４Ｂを表示する。図１０ＡＩに示されるように、アプリケーション設定インタフェース１０３４Ｂは、アプリケーションユーザショートカットアフォーダンス１０３６Ｂを含む。一部の実施例では、アプリケーション固有ユーザショートカットアフォーダンス１０３６Ｂの選択に応答して、電子デバイスは、そのアプリケーションのタスクに関連付けられている音声ショートカットを表示する。
【０３３５】
一部の実施例では、音声ショートカット生成プロセスは、第三者アプリケーションインタフェースなどのアプリケーションインタフェースを使用して、開始させることができる。図１０ＡＪに示されるように、例えば、ユーザは、アプリケーションを使用してタスクを完了する（例えば、コーヒーを注文する）ことができる。それに応答して、アプリケーションは、タスク候補提案アフォーダンス１０６２Ｂを含むタスク完了インタフェース１０６０Ｂを表示することができる。一部の実施例では、タスク候補提案アフォーダンス１０６２Ｂの選択に応答して、電子デバイスは、音声ショートカット生成プロセスを開始する。
【０３３６】
図１１Ａ、図１１Ｂは、一部の実施形態による、音声ショートカットを提供するための方法を示すフロー図である。方法１１００は、ディスプレイ、１つ以上の入力デバイス（例えば、タッチスクリーン、マイク、カメラ）、及び無線通信装置（例えば、Ｂｌｕｅｔｏｏｔｈ接続、ＷｉＦｉ接続、４Ｇ  ＬＴＥ接続などの移動体広帯域接続）を有する、デバイス（例えば、デバイス１０４、デバイス１２２、デバイス２００、デバイス６００、デバイス７００、デバイス１０００）において実行される。一部の実施形態では、ディスプレイは、タッチ感知ディスプレイである。一部の実施形態では、ディスプレイは、タッチ感知ディスプレイではない。一部の実施形態では、この電子デバイスは、複数のカメラを含む。一部の実施形態では、この電子デバイスは、１つのみのカメラを含む。一部の実施例では、この電子デバイスは、赤外線カメラ、サーモグラフィカメラ、又はそれらの組み合わせなどのカメラを任意選択的に含む、１つ以上のバイオメトリックセンサを含む。方法１１００における一部の動作は、任意選択的に組み合わされ、一部の動作の順序は、任意選択的に変更され、一部の動作は、任意選択的に省略される。
【０３３７】
以下で説明されるように、自然言語発話入力に基づいて候補フレーズを提供し、候補フレーズを対応のタスクに関連付けることにより、ユーザは、電子デバイス上でタスクを実行するために使用することが可能なユーザ固有の音声ショートカットを、正確かつ効率的に生成することが可能となる。例えば、この方式でユーザが音声ショートカットをタスクに関連付けることを、可能にすることにより、ユーザは、所望の音声ショートカットが選択されて正しいタスクに割り当てられていることを、視覚的に確認することが可能となり、それにより、不正確又は不要な関連付けの可能性が低減する。それゆえ、説明された方式で候補フレーズを提供することにより、より効率的な電子デバイスの使用が（例えば、デバイスを操作／デバイスと対話する際に、適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって）もたらされ、更には、ユーザが、より素早くかつ効率的にデバイスを使用することが可能となることによって、電力使用量が低減され、デバイスのバッテリ寿命が向上する。
【０３３８】
一部の実施例では、電子デバイス（１０４、２００、６００、７００、１０００）は、タスクに関連付けられたタスク候補アフォーダンス（１００８、１０３８Ｂ）を含む、複数のタスク候補アフォーダンス（１００８、１０１０、１０１２、１０３８Ｂ）を表示する（１１０２）。一部の実施例では、それら複数のタスクは、設定インタフェース又はアプリケーションインタフェース内に表示される。一部の実施例では、複数のタスクのうちの各タスクは、例えば、電子デバイスのコンテキストに基づいて提案されるタスクである。
【０３３９】
一部の実施例では、電子デバイスが、タスクに関連付けられたタスク候補アフォーダンスを含む、複数のタスク候補アフォーダンスを表示することは、それら複数のタスク候補アフォーダンスを含むアプリケーションインタフェース（１０３４Ｂ）を表示することを含む。一部の実施例では、アプリケーションインタフェースは、ユーザが第１のユーザインタフェースの表示を引き起こすことを選択し、それにより、選択されたタスクに関する音声ショートカットを作成することが可能な、１つ以上のアフォーダンス（それぞれの１つ以上のタスク候補に対応するもの）を含む第三者アプリケーションのインタフェース（１０６２Ｂ）である。一部の実施例では、第１のユーザインタフェース（１０１８）は、アプリケーションインタフェース上に重ね合わせられる。一部の実施例では、第１のユーザインタフェースは、アプリケーションインタフェースの一部分にわたって重ね合わせられる。一部の実施例では、第１のユーザインタフェースは、アプリケーションインタフェースの全体にわたって重ね合わせられる。一部の実施例では、１つ以上のアフォーダンスは、１つ以上のそれぞれのタスクに対応しており、それら１つ以上のタスクの完了に応答して表示される。
【０３４０】
一部の実施例では、電子デバイスは、タスクに関連付けられたタスク候補アフォーダンスの選択に対応する第１のユーザ入力（１０１６）を含む、入力のセット（１０１６、１０３２）を検出する（１１０４）。
【０３４１】
一部の実施例では、電子デバイスは、第１のユーザ入力に応答して、タスクに関連付けられた第４のインタフェース（１０１８）を表示する。一部の実施例では、第４のユーザインタフェースは、音声ショートカットを生成するための、初期タスク固有インタフェースである。一部の実施例では、このインタフェースは、タスクを音声ショートカット（１０２２）に関連付けるように指定するものであり、更に、関連するアプリケーションのインジケーション（例えば、アプリケーションの名前）（１０２６）及び／又はアプリケーションに関連付けられている（例えば、アプリケーションによって供与されている）アイコン（１０２０、１０２６）を含む。一部の実施例では、このインタフェースは、キャンセルアフォーダンスを含む。このキャンセルアフォーダンスの選択に応答して、電子デバイスは、直前のインタフェースに戻る。一部の実施例では、このインタフェースは、録音アフォーダンス（１０３０）を含む。録音アフォーダンスの選択に応答して、電子デバイスは、音声記録インタフェース（１０３４）を表示している間に、発話入力を録音する。一部の実施例では、第４のインタフェースは、第１の提案音声ショートカットフレーズ（１０２８）を含む。一部の実施例では、電子デバイスは、関連するタスクのための音声ショートカットとしてユーザが採用することが可能な、提案音声ショートカットを表示する。
【０３４２】
一部の実施例では、ユーザ入力のセットの検出に応答して、電子デバイスは、タスクに関連付けられる音声ショートカットを生成するための第１のインタフェース（１０３４）を表示する（１１０６）。一部の実施例では、この第１のインタフェースは、音声記録インタフェースである。一部の実施例では、この音声記録インタフェースは、タスクを開始するための音声ショートカットとして使用されることになるフレーズをユーザに録音させるための、プロンプト（１０４６）を含む。一部の実施例では、音声記録インタフェースは、ユーザによって提供される自然言語発話入力のライブプレビュー（１０４２）を含む。一部の実施例では、このライブプレビューは、オーディオ波形である。
【０３４３】
一部の実施例では、第１のインタフェースを表示している間に（１１０８）、電子デバイスは、オーディオ入力デバイスによって自然言語発話入力を受信する（例えば、サンプリングする、取得する、キャプチャする）（１１１０）。一部の実施例では、この自然言語発話入力は、デバイスのユーザによって発話されるフレーズである。一部の実施例では、電子デバイスは、所定の時間にわたって、及び／又は、ユーザが停止アフォーダンス（１０４４）を選択するまで、発話入力を受信する。
【０３４４】
一部の実施例では、自然言語発話入力を受信している間に、電子デバイスは、その自然言語発話入力の、ライブ（例えば、リアルタイム）プレビューを提供する（例えば、表示する）。一部の実施例では、このライブプレビューは、その自然言語入力の波形、及び／又は、その自然言語入力の音声テキスト化変換のリアルタイム表示である。一部の実施例では、自然言語発話入力のライブプレビューは、その自然言語発話入力の視覚波形である。
【０３４５】
一部の実施例では、自然言語発話入力の受信に応答して、電子デバイスは、その自然言語発話入力に基づいて候補フレーズを決定する。一部の実施例では、自然言語発話入力に基づいて候補フレーズを決定することは、自然言語処理を使用して候補フレーズを決定することを含む。一部の実施例では、ユーザが自然言語発話入力を提供している間に、電子デバイスは、自然言語処理を使用して、その自然言語発話入力をテキストに変換する。
【０３４６】
一部の実施例では、自然言語発話入力に基づいて候補フレーズを決定することは、その自然言語発話入力を別の電子デバイスに提供し、その別の電子デバイスから候補フレーズの表現（例えば、テキスト表現、ベクトル表現）を受信することを含む。一部の実施例では、電子デバイスは、自然言語発話入力、及び／又はそのＮＬ発話入力の表現をサーバに提供し、サーバは、１つ以上の候補フレーズを返す。
【０３４７】
一部の実施例では、自然言語発話入力に基づいて候補フレーズを決定することは、その自然言語発話入力が、フレーズ類似性基準を満たしているか否かを判定することを含む。自然言語発話入力がフレーズ類似性基準を満たしているという判定に従って、電子デバイスは、その自然言語発話入力が類似性基準を満たしているということを示す（例えば、インジケーションを表示する）。一部の実施例では、電子デバイスは、自然言語発話入力が、１つ以上の所定のフレーズ（例えば、「９１１に電話して（call 911）」）とは異なるものであることを保証する。一部の実施例では、電子デバイスは、自然言語発話入力が、１つ以上の所定のフレーズとは十分に異なるものであることを保証する。例として、電子デバイスは、自然言語発話入力の表現と１つ以上の所定のフレーズのそれぞれとの類似性が、類似性閾値を超過していないことを保証し得る。一部の実施例では、自然言語発話入力が類似性基準を満たしていない場合には、電子デバイスは、提供されている発話入力が十分なものではなく、かつ／又は許容されるものではないことを、ユーザに通知することになる。電子デバイスは、新たな自然言語発話入力をユーザが提供することを、更に要求することができる。一部の実施例では、電子デバイスは、自然言語入力と、記憶されている１つ以上の音声ショートカットに関連付けられたフレーズとを、更に比較する。一部の実施例では、電子デバイスは、ユーザに、新たな自然言語発話入力を提供するように指示し、かつ／又は、その自然言語発話入力に関して、ユーザが１つ以上の他の同様のフレーズの音声ショートカットを置き換えることを意図していることの確認を要求する。一部の実施例では、置き換えられた音声ショートカットは削除される。
【０３４８】
一部の実施例では、電子デバイスは、第１のインタフェース（１０３４）を表示している間に、自然言語発話入力が閾値時間内に受信されたか否かを判定する。一部の実施例では、電子デバイスは、自然言語発話入力が閾値時間内に受信されなかったという判定に従って、第１のインタフェース上に、第２の提案音声ショートカットフレーズ（１０４６）（「『側方カメラを見せて』のように言うこともできます（You could say something like 'Show me side camera'）」）を表示する。一部の実施例では、第１のインタフェース（１０３４）上に提供された提案音声ショートカットは、第２のインタフェース上に提供された提案音声ショートカット（１０２８）と同じものである。一部の実施例では、第１のインタフェースの提案音声ショートカットと第２のインタフェースの提案音声ショートカットとは、異なるものである。
【０３４９】
一部の実施例では、更に第１のインタフェースを表示している間に、電子デバイスは、第１のインタフェース（１０３４）内に、自然言語発話入力に基づく候補フレーズ（１０４６）を表示する（１１２０）。一部の実施例では、この候補フレーズは、自然言語発話入力の音声テキスト化変換であり、その自然言語入力が電子デバイスによって受信されている間に表示される。一部の実施例では、電子デバイスは、自然言語入力に応答して候補フレーズを表示し、及び／又は、その自然言語発話入力をリアルタイムでテキストに変換する。したがって、一部の実施例では、電子デバイスは、その電子デバイスによって自然言語が受信されている間、候補フレーズの表示を継続的に更新する。
【０３５０】
一部の実施例では、候補フレーズを表示した後、電子デバイスは、タッチ感知面を介して、第２のユーザ入力（１０９２）を検出する（１１２２）。一部の実施例では、第２のユーザ入力は、完了アフォーダンス（１０７２）の選択である。一部の実施例では、第２のユーザ入力は、完了インタフェース（１０５４）の確認アフォーダンスなどの、アフォーダンスの選択である。
【０３５１】
一部の実施例では、第２のユーザ入力の検出に応答して、電子デバイスは、候補フレーズをタスクに関連付ける（１１２４）。一部の実施例では、電子デバイスは、デジタルアシスタントへのユーザによる候補フレーズの口述により、そのタスクの実行がもたらされるように、音声ショートカットを生成する。
【０３５２】
一部の実施例では、候補フレーズをタスクに関連付けることは、候補フレーズを第１のアクションに関連付けることと、候補フレーズを第２のアクションに関連付けることとを含む。一部の実施例では、音声ショートカットは、複数のタスクに対応する。一部の実施例では、デジタルアシスタントによって、タスクの組み合わせが提案され、ユーザは、そのタスクの組み合わせの実行を開始することを、１つのフレーズに割り当てることができる。例として、音声ショートカット「家の安全確認を（secure house）」は、照明を消すタスク及びドアをロックするタスクに対応し得る。
【０３５３】
一部の実施例では、電子デバイスは、オーディオ入力デバイスによって、ユーザ発話入力（例えば、自然言語発話入力）を受信する。一部の実施例では、電子デバイスは、そのユーザ発話入力が候補フレーズを含むか否かを判定する。一部の実施例では、電子デバイスは、ユーザ発話入力が候補フレーズを含むという判定に従って、タスクを実行する。一部の実施例では、電子デバイスは、ユーザ発話入力が候補フレーズを含まないという判定に従って、タスクを実行することを取り止める。
【０３５４】
一部の実施例では、電子デバイスは、候補フレーズをタスクに関連付けた後に、編集アフォーダンスを含む第２のインタフェースを表示する。一部の実施例では、電子デバイスは、音声ショートカット生成プロセスの終了時に、この第２のインタフェースを表示する。一部の実施例では、ユーザは、記憶されている１つ以上の音声ショートカット（１００８Ａ）をリスト化しているインタフェース（１００４Ａ）内の、音声ショートカットにナビゲートして、その音声ショートカットを選択することにより、第２のインタフェースの表示を引き起こすことができる。一部の実施例では、この第２のユーザインタフェース（１０５４）は、タスクのテキスト表現（１０６０）と、タスクのインジケーション（１０５８）と、候補フレーズ（１０６４）と、選択された場合に候補ショートカットの表示を引き起こす、編集アフォーダンス（１０６６）と、選択された場合にデバイスに音声ショートカット生成プロセスをキャンセルさせる、キャンセルアフォーダンス（１０５６）と、選択された場合に電子デバイスに候補フレーズをタスクに関連付けさせるか、又は、既に関連付けされている場合には、その候補フレーズのタスクとの関連付けを維持させる、完了アフォーダンス（１０５４）とを含む。
【０３５５】
一部の実施例では、電子デバイスは、編集アフォーダンスの選択（１０６８）を示す、第３のユーザ入力を検出する。一部の実施例では、電子デバイスは、第３のユーザ入力の検出に応答して、その候補フレーズに対応する第１の候補フレーズアフォーダンスと、別の候補フレーズに対応する第２の候補フレーズアフォーダンスとを含む、複数の候補フレーズアフォーダンス（１０８２、１０８４、１０８６）を表示する。一部の実施例では、この別の候補フレーズは、自然言語発話入力に基づくものである。一部の実施例では、電子デバイスは、編集アフォーダンスの選択に応答して、複数の候補フレーズを含む編集インタフェース（１０７０）を表示する。一部の実施例では、ユーザは、それらの候補フレーズのうちの１つを、タスクに関連付けるために選択することができる。一部の実施例では、複数の候補フレーズのそれぞれは、１つ以上のＮＬＰ方法論を使用して、自然言語発話入力に基づいて生成された、音声テキスト化候補である。一部の実施例では、ＮＬ発話入力は、別のデバイス（例えば、バックエンドサーバ）に提供され、このバックエンドサーバが、１つ以上の候補フレーズを電子デバイスに返す。一部の実施例では、候補フレーズは、電子デバイス及びバックエンドサーバの双方で生成され、電子デバイスは、１つ以上の「最良の」候補フレーズ（例えば、それぞれの最も高い信頼性スコアに関連付けられた候補フレーズ）を選択する。
【０３５６】
一部の実施例では、電子デバイスは、第２の候補フレーズアフォーダンスの選択を示す第４のユーザ入力を含む、別の入力のセット（１０９０、１０９２）を検出する。一部の実施例では、電子デバイスは、この別の入力のセットの検出に応答して、別の候補フレーズをタスクに関連付ける。一部の実施例では、ユーザは、タスクに関連付けるための新たな候補フレーズを選択することにより、その新たな候補フレーズを提供することが、タスクの実行を引き起こす。一部の実施例では、新たなタスク候補を関連付けることは、電子デバイスに、そのタスクから、以前に関連付けられていた候補フレーズを切り離させる。
【０３５７】
一部の実施例では、電子デバイスは、候補フレーズをタスクに関連付けた後に、第５の入力を検出する（１０９２）。一部の実施例では、電子デバイスは、この第５のユーザ入力の検出に応答して、別の複数のタスク候補アフォーダンスを表示するが、それら別の複数のタスク候補アフォーダンスは、タスクに関連付けされたタスク候補アフォーダンスを含まない。一部の実施例では、音声ショートカットを作成した後、電子デバイスは、デジタルアシスタント及び／又は１つ以上のアプリケーションによって提案されるタスク候補をリスト化している、設定インタフェース（１００４）を表示する。一部の実施例では、以前にタスクが提案されており、そのタスクに関してユーザがショートカットを作成していた場合には、そのタスクは、提案タスクのリストから除去される。
【０３５８】
一部の実施例では、電子デバイスは、候補フレーズを別の電子デバイスに提供する。一部の実施例では、生成された音声ショートカットは、後続の発話入力照合のために、バックエンドサーバに提供される。一部の実施例では、生成された音声ショートカット及び関連付けされたタスクは、バックエンドサーバに提供される。一部の実施例では、電子デバイスからバックエンドサーバに入力が提供され、バックエンドサーバは、その入力が音声ショートカットに対応しているか否かを判定する。入力が音声ショートカットに対応しているとバックエンドサーバが判定した場合には、電子デバイスは、タスクを実行する。一部の実施例では、この方式で、ショートカット及びタスクのそれぞれをサーバに提供することにより、その後、同じショートカットを使用して、そのタスクを他の電子デバイス上で実行することが更に可能となる。
【０３５９】
方法１１００に関連して上述されたプロセス（例えば、図１１Ａ、図１１Ｂ）の詳細はまた、以下で説明される方法にも、類似の方式で適用可能であることに留意されたい。例えば、方法１１００は、任意選択的に、方法９００、１３００、１５００、１７００、及び方法１９００を参照して説明される、様々な方法の特性のうちの１つ以上を含む。例えば、方法１２００で説明されるように音声ショートカットを提供することは、方法１３００で説明されるような使用に関する音声ショートカットを生成するために、適用することができる。簡潔性のために、これらの詳細は、以下では繰り返さない。
【０３６０】
上述の方法における動作は、汎用プロセッサ（例えば、図２Ａ、図４、及び図６Ａに関連して説明されたようなもの）又は特定用途向けチップなどの、情報処理装置内の１つ以上の機能モジュールを稼働することによって、任意選択的に実施される。更には、図１０Ａ〜図１０ＡＪを参照して上述された動作は、図２Ａ、図２Ｂに示される構成要素によって、任意選択的に実施される。例えば、表示動作１１０２、検出動作１１０４、表示動作１１０６、受信動作１１１０、表示動作１１２０、検出動作１１２２、及び関連付け動作１１２４は、イベントソータ２７０、イベント認識部２８０、及びイベントハンドラ２９０によって、任意選択的に実施される。イベントソータ２７０内のイベントモニタ２７１は、タッチ感知面６０４（図６Ａ）上の接触を検出し、イベントディスパッチャモジュール２７４は、そのイベント情報をアプリケーション２３６−１（図２Ｂ）に配信する。アプリケーション２３６−１のそれぞれのイベント認識部２８０は、そのイベント情報を、それぞれのイベント定義２８６と比較して、タッチ感知面上の第１の場所での第１の接触が、ユーザインタフェース上のオブジェクトの選択などの、既定のイベント又はサブイベントに対応するか否かを判定する。対応する既定のイベント又はサブイベントが検出されると、イベント認識部２８０は、そのイベント又はサブイベントの検出に関連付けられているイベントハンドラ２９０をアクティブ化する。イベントハンドラ２９０は、アプリケーション内部状態２９２を更新するために、データアップデータ２７６若しくはオブジェクトアップデータ２７７を任意選択的に利用するか又は呼び出す。一部の実施形態では、イベントハンドラ２９０は、アプリケーションによって表示されているものを更新するために、それぞれのＧＵＩアップデータ２７８にアクセスする。同様に、図２Ａ、図２Ｂに示される構成要素に基づいて、どのように他のプロセスを実施することができるかは、当業者には明らかであろう。
【０３６１】
図１２は、様々な実施例による、タスク提案システム１２００を示すブロック図である。図１２はまた、図１３の方法１３００を含めた、以下で説明されるプロセスのうちの１つ以上を例示するためにも使用される。
【０３６２】
図１２は、例えば、限定するものではないが、デバイス１０４、２００、４００、及びデバイス６００（図１、図２Ａ、図４、及び図６Ａ、図６Ｂ）を含めた、本明細書で説明される電子デバイス上に実装することが可能な、タスク提案システム１２００を示す。タスク提案システム１２００は、本明細書ではモバイルデバイス上に実装されるように説明されているが、タスク提案システム１２００は、電話機、ラップトップコンピュータ、デスクトップコンピュータ、タブレット、ウェアラブルデバイス（例えば、スマートウォッチ）、セットトップボックス、テレビ、ホームオートメーションデバイス（例えば、サーモスタット）、又はこれらの任意の組み合わせ若しくは部分的組み合わせなどの、任意のタイプのデバイス上に実装することができる点が、理解されるであろう。
【０３６３】
一般に、タスク提案システム１２００は、電子デバイスのコンテキストデータに基づいて、タスク提案を提供する。タスク提案システム１２００によって提供されたタスク提案は、図８Ａ〜図８ＡＦに関連して説明されたものなどの、提案アフォーダンスを提供するために使用することができる。一部の実施例では、タスク提案システム１２００は、確率モデルとして実装される。このモデルは、限定するものではないが、第１段階１２１０、第２段階１２２０、及び第３段階１２３０を含めた、１つ以上の段階を含み得るものであり、これらの段階のそれぞれが、以下で更に詳細に説明される。一部の実施例では、第１段階１２１０、第２段階１２２０、及び第３段階１２３０のうちの１つ以上は、単一の段階に組み合わされる場合があり、及び／又は、複数の段階に分割される場合もある。例として、代替的実装形態では、タスク提案システム１２００は、第１段階及び第２段階を含み得るものであり、この第１段階は、第１段階１２１０及び第２段階１２２０の双方の機能を実装している。
【０３６４】
一部の実施例では、電子デバイスのコンテキストデータは、その電子デバイスの状態又はコンテキストを示す。例として、コンテキストデータは、特定のタスクが実行された時間中の、電子デバイスの様々な特性を示し得る。例えば、電子デバイスによって実行された各タスクに関して、コンテキストデータは、その電子デバイスの位置、その電子デバイスがネットワーク（例えば、ＷｉＦｉネットワーク）に接続されていたか否か、その電子デバイスが１つ以上の他のデバイス（例えば、ヘッドホン）に接続されていたか否か、並びに／あるいは、そのタスクが実行された時間、日付、及び／又は曜日を示し得る。電子デバイスが、タスクの実行の間に、ネットワーク又はデバイスに接続されていた場合には、コンテキストデータは、そのネットワーク又はデバイスの、それぞれ、名前及び／又はタイプを更に示し得る。コンテキストデータは、タスクに関連付けられている提案アフォーダンスが、以前にユーザに提示されたか否か、及び、その提案アフォーダンスにユーザが応答した方式を、更に示し得る。例えば、コンテキストデータは、ユーザがタスク提案を無視したか、又はタスク提案を使用して対応するタスクを実行したかを示し得る。
【０３６５】
一部の実施例では、電子デバイスは、その電子デバイスの動作中に、アプリケーションからコンテキストデータを受信する。一部の実施例では、アプリケーションは、タスクを実行している間に、又はタスクを実行した後に、タスクに関するコンテキストデータを提供する。この方式で提供されるコンテキストデータは、タスク、及び任意選択的に、そのタスクに関連付けられている１つ以上のパラメータを示し得る。一部の実施例では、アプリケーションによって提供されるコンテキストデータは、上述の、タスクが実行されていた間の電子デバイスの状態（例えば、その電子デバイスの位置、その電子デバイスがネットワークに接続されていたか否かなど）を示すデータを更に含む。他の実施例では、アプリケーションによって提供されるコンテキストデータは、タスクが実行されていた間の電子デバイスの状態を示すデータを含まず、アプリケーションからのコンテキストデータの受信に応答して、電子デバイスは、その電子デバイスの状態を示すデータを取得する。
【０３６６】
一部の実施例では、コンテキストデータは、複数のコンテキストデータ供与機構のうちのいずれかを使用して、アプリケーションによって提供される。少なくとも一実施例では、コンテキストデータは、アプリケーションの実行に関する情報をそのアプリケーションに返信させる、ＡＰＩ呼び出しに応答して、アプリケーションから受信される。例として、ワードプロセッシングアプリケーション（例えば、メモ、Ｗｏｒｄ）は、ユーザによってアクセスされたワードプロセッシング文書の識別子（例えば数値ＩＤ、名前）を返すことができる。別の例として、メディア再生アプリケーション（例えば、ミュージック、Ｓｐｏｔｉｆｙ）は、現在のメディアアイテム（例えば、曲）、アルバム、プレイリスト、コレクション、及び、そのメディア再生アプリケーションによって提案されている１つ以上のメディアアイテムの識別子を、ユーザに返すことができる。
【０３６７】
一部の実施例では、コンテキストデータは、アプリケーションによって実行されたタスクを示す（例えば、特定する）データ構造を、そのアプリケーションに提供させる、ＡＰＩ呼び出しに応答して、アプリケーションから受信される。このデータ構造は、例えば、タスクに関連付けられている１つ以上のパラメータに関する値を含み得る。一部の実施例では、このデータ構造は、意図オブジェクトデータ構造として実装される。意図オブジェクトデータ構造を使用する動作の更なる例示的説明は、全体が参照により本明細書に組み込まれる、２０１６年９月１８日出願の、米国特許出願第１５／２６９，７２８号「ＡＰＰＬＩＣＡＴＩＯＮ  ＩＮＴＥＧＲＡＴＩＯＮ  ＷＩＴＨ  Ａ  ＤＩＧＩＴＡＬ  ＡＳＳＩＳＴＡＮＴ」に見出すことができる。
【０３６８】
一部の実施例では、コンテキストデータは、アプリケーションによって実行されたタスクを示すアプリケーション固有（例えば、第三者アプリケーション）データ構造を、そのアプリケーションに提供させる、ＡＰＩ呼び出しに応答して、アプリケーションから受信される。このアプリケーション固有データ構造は、例えば、タスクに関連付けられている１つ以上のパラメータに関する値を含み得る。このアプリケーション固有データ構造は、任意選択的に、タスク提案を提供する際、そのタスクのいずれのパラメータ値、並びにいずれのパラメータ値の組み合わせを指定することができるかを、更に示し得る。それゆえ、Ｍ個のパラメータを有するタスクは、２Ｍ−１個もの、許容されるパラメータの組み合わせを有し得るが、アプリケーション固有データ構造は、その許容される組み合わせの数を明示的に削減することができる。一部の実施例では、アプリケーション固有データ構造は、図８Ａ〜図８ＡＦに関連して前述されたように、そのタスクがバックグラウンドタスクであるか、又は、確認を必要とするタスクであるかを示す。
【０３６９】
一部の実施例では、コンテキストデータは、電子デバイス上でタスクが実行されるたびに、アプリケーションによって提供される。コンテキストデータは、例えば、タスクが実行されている間に、又はタスクが実行された後に、提供することができる。例えば、一部の実施例では、電子デバイスは、アプリケーションが閉じられたことを検出し、それに応答して、１つ以上のコンテキストデータ供与機構を採用して、そのアプリケーションからコンテキストデータを要求する。
【０３７０】
一部の実施例では、コンテキストデータは、タスクのタイプに基づいて、選択的に提供される。例として、ユーザがテキストメッセージを送信すること、又は電話をかけることに応答して、コンテキストデータを提供することができるが、ユーザがブラウザを使用してウェブページにナビゲートすること、又は電子デバイスをロック解除することに応答して、コンテキストデータを提供することはできない。一部の実施例では、コンテキストデータは、電子デバイスのコンテキストに基づいて、選択的に提供される。例えば、電子デバイスのバッテリの充電レベルが、閾値充電レベルを下回る場合には、コンテキストデータを提供することができない。
【０３７１】
一部の実施例では、各タイプのコンテキストデータ（例えば、電子デバイスの位置、電子デバイスがネットワークに接続されているか否かなど）は、それぞれのコンテキスト重みに関連付けられる。このコンテキスト重みを使用することにより、例えば、確率を判定するためのコンテキストデータの使用方式に、影響を及ぼすことができる。一例として、より強いユーザ挙動予測子であると判定されたタイプのコンテキストは、比較的大きい重みに関連付けることができ、及び／又は、より弱いユーザ挙動予測子であると判定されたタイプのコンテキストは、比較的小さい重みに関連付けることができる。例として、電子デバイスが特定の場所に存在している場合に、ユーザによって実行されるタスクは、特定の曜日にユーザによって実行されるタスクよりも、ユーザ挙動の良好な指標とすることができる。したがって、場所コンテキストデータは、比較的大きい重みに関連付けることができ、曜日コンテキストデータは、比較的小さい重みに関連付けることができる。別の例として、タスクに関する提案アフォーダンスをユーザが選択したか否かは、比較的大きい重みに関連付けることができるが、これは、ユーザが、そのタスクに関する後続の提案アフォーダンスを選択する可能性が高いか否かを、そのようなコンテキストデータが強く示し得るためである。
【０３７２】
一部の実施例では、コンテキスト重みは、電子デバイスによって決定される。他の実施例では、重みは、集約データを使用して、別のデバイスによって決定される。例えば、一部の実施例では、匿名コンテキストデータを、電子デバイス及び／又は１つ以上の他のデバイスによって、データ集約サーバに提供することができる。次に、データ集約サーバは、いずれのタイプのコンテキストデータが、より弁別的及び／又はより強いユーザ挙動予測子であるかを、判定することができる。一部の実施例では、データ集約サーバは、いずれのタイプのコンテキストデータが、比較的弁別的及び／又はより強いユーザ挙動予測子であるかを判定するために、１つ以上の機械学習技術を採用する。この判定に基づいて、データ集約サーバは、各タイプのコンテキストデータに関する重みを決定して、その重みを電子デバイスに提供することができる。一部の実施例では、ユーザは、コンテキスト重みを決定するために別のデバイスに匿名データを提供することを、取り止める（例えば、オプトアウトする）ように選択することができる。
【０３７３】
データ集約サーバによって使用されるコンテキストデータが匿名化されることを保証することによって、電子デバイスのユーザのプライバシーを保護することができる。コンテキストデータを匿名化することは、ユーザの名前、電子デバイスによって記録された具体的な場所、ＷｉＦｉネットワークの名前、及び任意の他のユーザ固有情報を除去することを含み得る。匿名コンテキストデータは、例えば、ユーザが、同じ場所にいる時間のうちの２０％で、特定のタスクを実行したことを指定し得るものであるが、いずれのタスク又は場所であるかを指定するものではない。
【０３７４】
例示的動作では、第１段階１２１０は、電子デバイスのコンテキストデータに基づいて、タスク固有モデリングを実行する。一部の実施例では、タスク固有モデリングを実行することは、複数のタスク（例えば、電子デバイスによって以前に実行された１つ以上のタスク、及び／又は、電子デバイスによって実行することが可能な１つ以上のタスク）のそれぞれに関する、１つ以上の確率（例えば、タスク確率）を判定することを含む。この方式で判定された各タスク確率は、ユーザが、その電子デバイスのコンテキストを所与としてタスクを実行する可能性を示す。
【０３７５】
一部の実施例では、この方式でタスク確率を判定することは、コンテキストデータに基づいて、１つ以上のヒストグラムを生成及び／又は更新することを含む。第１段階１２１０は、例えば、ユーザが、電子デバイスの様々なコンテキストを所与としてタスクを実行する確率を示す、各タスクに関するそれぞれのヒストグラムのセットを生成することができる。一部の実施例では、タスクに関連付けられる各ヒストグラムは、単一のタイプのコンテキストに対応する。一例として、サーモスタットを有効化するためのタスクに関連付けられる第１のヒストグラムは、場所コンテキストヒストグラムとすることができる。この場所コンテキストヒストグラムは、以前にユーザがサーモスタットを有効化している複数の場所のそれぞれに関して、ユーザがその場所にいる場合に、サーモスタットを有効化する確率を示し得る。サーモスタットを有効化するためのタスクに関連付けられる第２のヒストグラムは、ＷｉＦｉコンテキストヒストグラムとすることができる。このＷｉＦｉコンテキストヒストグラムは、以前に電子デバイスが接続されている複数のＷｉＦｉネットワークのそれぞれに関して、その電子デバイスがＷｉＦｉネットワークに接続される場合に、ユーザがサーモスタットを有効化する確率を示し得る。電子デバイスのコンテキストデータは、任意数のタイプのコンテキストを含み得ることが、理解されるであろう。したがって、タスクは、任意数のヒストグラムに関連付けることができる。
【０３７６】
一部の実施例では、特定のコンテキストを所与とした、タスクに関するタスク確率を判定するために、第１段階１２１０は、そのコンテキストを所与とする、各コンテキストタイプに関する（例えば、そのタスクに関連付けられた各ヒストグラムによって示されるような）それぞれの確率を判定し、それらのコンテキストタイプに関する確率に基づいて、タスク確率を判定することができる。
【０３７７】
一部の実施例では、タスク確率を判定することは、コンテキスト重みを使用して、コンテキストデータを調節することを更に含み得る。説明されたように、各コンテキストタイプは、重みに関連付けることができる。したがって、コンテキスト確率に基づいてタスク確率を判定する前に、各コンテキスト確率を、対応するコンテキスト重みによって調節する（例えば、乗算する）ことができる。
【０３７８】
一部の実施例では、第１段階１２１０によって提供されるタスク確率は、パラメータ非依存性である。すなわち、タスク確率は、各タスクに関して、そのタスクを実行するために使用される具体的なパラメータ値を考慮することなく、判定する（例えば、ヒストグラム生成する）ことができる。一例として、第１段階１２１０は、ユーザが特定のコンテキストを所与として（例えば、特定の時間に）テキストメッセージを送信する確率を判定することができるが、そのテキストメッセージの受信者又はテキストメッセージのコンテンツ（例えば、テキスト、画像）を対象とする確率を判定することは、取り止める場合がある。別の例として、第１段階１２１０は、ユーザが家に到着したときにサーモスタットを有効化する確率を判定することができるが、サーモスタットの温度閾値を対象とする確率を判定することは、取り止める場合がある。
【０３７９】
一部の実施例では、第１段階１２１０は、タスクの実行に応答して、コンテキストデータを更新する。一部の実施例では、この方式でコンテキストデータを更新することは、実行されたタスクに関する１つ以上のヒストグラムを更新することを含む。
【０３８０】
一般に、第２段階１２２０は、電子デバイスのコンテキストデータに基づいて、パラメータ固有モデリングを実行する。一部の実施例では、パラメータ固有モデリングを実行することは、タスク（例えば、電子デバイスによって以前に実行されたタスク）に与えられているパラメータのセットの各パラメータに関して、ユーザが特定の値を選択する可能性を示す、パラメータのセットに関する確率（例えば、パラメータ確率）を判定することを含む。パラメータ確率は、単一のパラメータに関して、ユーザが特定の値を選択する（及び、他の値を選択しない）可能性を示し得るものであり、及び／又は、複数のパラメータ（例えば、パラメータの組み合わせ）に関して、ユーザが特定の値を選択する可能性を示し得るものである。
【０３８１】
例えば、動作の間に、第２段階１２２０は、コンテキストデータに基づいて、タスクのセットを提供する。一部の実施例では、タスクのセットを提供するために、第２段階１２２０は、複数のタスクを特定し、それらの対応のタスク確率に従って、タスクをランク付けする。一部の実施例では、第２段階１２２０は、電子デバイスによって以前に実行された１つ以上のタスクを特定する。第２段階１２２０は、一部の実施例では、頻度閾値を超過する頻度で実施されると判定されたタイプのタスクを、省略することができる。
【０３８２】
その後、第２段階１２２０は、特定されたタスクのうちのいずれが、Ｎ（例えば、Ｎ＝１０）個の最も高い（第１段階１２１０で判定されるような）対応のタスク確率に関連付けられているかを判定し、そのＮ個の最高ランクのタスク確率に関連付けられているＮ個のタスクを、タスクのセットとして提供する。一部の実施例では、特定されたタスクのうちのいずれがＮ個の最も高いタスク確率に関連付けられているかを判定することは、いずれのタスクが、電子デバイスの任意のコンテキストを所与として、Ｎ個の最も高いタスク確率に関連付けられているかを判定することを含む。他の実施例では、特定されたタスクのうちのいずれがＮ個の最も高いタスク確率に関連付けられているかを判定することは、いずれのタスクが、電子デバイスの現在のコンテキストに関して、Ｎ個の最も高いタスク確率に関連付けられているかを判定することを含む。
【０３８３】
一部の実施例では、第２段階１２２０がタスクのセットを特定すると、第２段階１２２０は、コンテキストデータに基づいて、そのタスクのセットの、各セットに関するパラメータ確率を判定する。一部の実施例では、第２段階１２２０は、電子デバイスのコンテキストデータのサブセットを使用して、パラメータ確率を判定する。一例として、第２段階１２２０は、閾値時間内（例えば、過去３０日）に受信されたコンテキストデータを使用して、パラメータ確率を判定することができる。別の例として、第２段階１２２０は、タスクのセットの各タスクが実行された直近のＮ（例えば、Ｎ＝１００）個のインスタンスに対応するコンテキストデータを使用して、所与のタスクに関するパラメータ確率を判定することができる。例えば、第２段階１２２０が、テキストメッセージを送信することを目的としたタスクに関するパラメータ確率を判定する実施例では、第２段階１２２０は、電子デバイスがテキストメッセージを送信した最近のＮ個のインスタンスに対応するコンテキストデータを使用して、そのタスクに関するパラメータ確率を判定する。
【０３８４】
一部の実施例では、パラメータ確率を判定することは、例えばリアルタイムで、コンテキストに基づいて１つ以上のヒストグラムを生成及び／又は更新することを含む。第２段階１２２０は、例えば、タスクに与えられているパラメータに関して、ユーザが特定のパラメータ値を選択する確率を示す、各タスクに関するヒストグラムのそれぞれのセットを生成することができる。一部の実施例では、タスクに関連付けられた各ヒストグラムは、単一のパラメータに対応している。それゆえ、各ヒストグラムは、タスクを実行するために使用されたパラメータに関する値の、経時的な分布を表し得る。
【０３８５】
一部の実施例では、第２段階１２２０は、電子デバイスの現在のコンテキストに基づいて、パラメータ確率を判定する。このことにより、例えば、パラメータ確率を提供するために必要とされる計算の複雑性を、低減することができる。例えば、動作の間に、第２段階１２２０は、電子デバイスが特定の場所に存在していることを判定することができる。結果として、パラメータ確率を判定する際、第２段階１２２０は、判定された場所にデバイスが存在していたときの、以前に使用されたパラメータ値に関する確率を判定することができる。
【０３８６】
例示的動作では、第２段階１２２０は、コンテキストデータに基づいて、テキストメッセージを送信するために使用することが可能な１つ以上のパラメータ値に関する確率を判定することができる。第２段階１２２０は、例えば、コンテキストデータ（例えば、電子デバイスの以前の使用）に基づいて、そのテキストメッセージの受信者が第１の連絡先である２０％の可能性、及び、そのテキストメッセージの受信者が第２の連絡先である３０％の可能性が存在していると、判定することができる。第２段階１２２０は、更に、そのテキストメッセージが第１のペイロード（例えば、文字列、画像）を含む４０％の可能性、及び、そのテキストメッセージが第２のペイロードを含む５５％の可能性が存在していると、判定することができる。一部の実施例では、第２段階１２２０は、更に、パラメータ値の１つ以上の組み合わせに関する確率を判定することができる。第２段階１２２０は、更に、そのテキストメッセージの受信者が第１の連絡先であり、そのテキストメッセージが第１のペイロードを含む、２０％の可能性が存在していると、判定することができる。第２段階１２２０は、更に、そのテキストメッセージの受信者が第１の連絡先であり、そのテキストメッセージが第２のペイロードを含む、１５％の可能性が存在していると、判定することができる。この実施例は、限定することを意図するものではなく、第２段階１２２０は、任意のパラメータ値の数及び／又は組み合わせに関して、確率を判定することができる点が理解されるであろう。
【０３８７】
一部の実施例では、第２段階１２２０は、周期的に（例えば、７．５分毎に）、及び／又は、電子デバイスのコンテキストの変化などのイベントに応答して、パラメータ確率を判定する。例として、電子デバイスの位置若しくは環境の変化（例えば、電子デバイスが家から車に移動されること）、電子デバイスのバッテリの充電レベルの変化、電子デバイスの構成の変化（例えば、アプリケーションのインストール又は削除）、及び／又は、電子デバイスの接続性の変化（例えば、ネットワークに対する接続又は接続解除）に応答して、確率を判定することができる。
【０３８８】
一部の実施例では、第１段階１２１０及び第２段階１２２０によって、それぞれ、タスク確率及びパラメータ確率が判定されると、第３段階１２３０は、任意選択的に、１つ以上の確率を調節する。一部の実施例では、第３段階１２３０は、タスク確率を調節する。タスク確率は、例えば、そのタスク確率に関連付けられているタスクのタイプに基づいて、調節することができる。更には、又は代替的に、一部の実施例では、第３段階１２３０は、パラメータ確率を調節する（例えば、増大、減少させる）。一例として、相対的に大きい数のパラメータ（例えば、３以上）に関連付けられるパラメータ確率を増大させることができ、及び／又は、比較的小さい数のパラメータ（例えば、２以下）を有するタスクのパラメータ確率を減少させることができる。別の例として、第１のタイプのパラメータに関するパラメータ確率を増大させることができ、及び／又は、指定された１つ以上の特定のタイプのパラメータを有さない第２のタイプのパラメータに関するパラメータ確率を減少させることができる。具体的には、文字列などの比較的弁別的なパラメータタイプに関するパラメータ確率を増大させることができ、及び／又は、ブール値などの比較的非弁別的なパラメータタイプに関するパラメータ確率を減少させることができる。更に別の例として、コンテキストデータによって示される比較的高いエントロピー（例えば、値の変動）を有するパラメータに関するパラメータ確率を増大させることができ、及び／又は、コンテキストデータによって示される比較的低いエントロピーを有するパラメータのパラメータ確率を減少させることができる。
【０３８９】
確率が調節されると、第３段階１２２０は、各タスクに関するタスク確率及びパラメータ確率を判定する。一部の実施例では、第３段階１２２０は、各タスクに関する最も高いパラメータ確率を特定する。他の実施例では、第３段階１２２０は、タスクに関するいくつかのパラメータ確率を特定する。一部の実施例では、以下に記載されるように、タスク提案を提供する目的のために、複数のパラメータ確率を有するタスクは、各パラメータ確率に関して、別個のタスクとして処理することができる（例えば、第１のパラメータ値のセットを有するタスクは、第２のパラメータ値のセットを有するタスクとは別個のものと見なされる）。説明されたように、各パラメータ確率は、単一のパラメータ値に対応する場合もあり、及び／又は、複数のパラメータ値に対応する場合もある。
【０３９０】
一部の実施例では、確率が（任意選択的に）調節された後、第３段階１２３０は、各タスクに関して、そのタスクに関連付けられたタスク確率及びパラメータ確率に基づいて、そのタスクが提案基準を満たしているか否かを判定する。
【０３９１】
一部の実施例では、タスクが提案基準を満たしているか否かを判定することは、そのタスクに関するタスク確率及びパラメータ確率に基づいて、タスクに関する同時確率を提供し、その同時確率が確率閾値を超過しているか否かを判定することを含む。一部の実施例では、同時確率は、タスク確率とパラメータ確率とを乗算することによって提供される。一部の実施例では、同時確率が確率閾値を超過していると第３段階１２３０が判定した場合には、第３段階１２３０は、その同時確率に関連付けられているタスクが提案基準を満たしていると判定する。
【０３９２】
一部の実施例では、第３段階１２３０が、提案基準を満たしているタスクを決定（例えば、特定）すると、第３段階１２３０は、そのタスクに関連付けられているタスク（及び、対応するパラメータ値）を、タスク提案として提供する。一部の実施例では、第３段階１２３０は、提案基準を満たしている全てのタスクを、タスク提案として提供する。他の実施例では、第３段階１２３０は、提案基準を満たしているタスクのサブセットを、タスク提案として提供する。第３段階１２３０は、例えば、それぞれの最も高い同時確率に関連付けられているタスクを、タスク提案として提供することができる。
【０３９３】
次に、電子デバイスは、タスク提案のそれぞれに関して、そのタスク提案に対応する提案アフォーダンスを表示するか否かを判定する。一部の実施例では、このことは、タスク提案が、第１の提案基準及び／又は第２の提案基準を満たしているか否かを判定することを含む。一部の実施例では、タスク提案が第１の提案基準及び／又は第２の提案基準を満たしているか否かを判定することは、そのタスク提案に関連付けられている同時確率が、それぞれ、第１の表示閾値及び第２の表示閾値を満たしているか否かを判定することを含む。
【０３９４】
例えば、タスク提案に関する同時確率が、第１の表示閾値を満たしている場合には、そのタスク提案に対応する提案アフォーダンスが、第１のユーザインタフェース（例えば、図８Ｎの検索画面インタフェース８６６）内に表示される。タスク提案に対応する同時確率が、第２の表示閾値を満たしている場合には、そのタスク提案に対応する提案アフォーダンスが、更に、又は代替的に、第２のユーザインタフェース（例えば、図８Ｂのロック画面インタフェース８１０）内に表示される。一部の実施形態では、第１の表示閾値は、確率閾値と同じである。一部の実施例では、第２の表示閾値は、第１の表示閾値よりも大きい。
【０３９５】
その後、ユーザが提案アフォーダンスを選択した場合には、電子デバイスは、図８Ａ〜図８ＡＦを参照して説明されたように、その提案アフォーダンスの選択に応答して、選択的にタスクを実行する。そのタスクがバックグラウンドタスク（例えば、ユーザ確認を必要としないタスク）である場合には、電子デバイスは、説明されたように、そのタスクを実行する。そのタスクがバックグラウンドタスクではない（例えば、そのタスクが、タスク実行の前にユーザ確認及び／又は追加ユーザ入力を必要とする）場合には、電子デバイスは、ユーザからの確認及び／又は追加入力を要求する、インタフェースを表示する。一部の実施例では、ユーザは、その確認インタフェースの確認アフォーダンスを選択することによって、タスクの実行を確認することができる。
【０３９６】
一部の実施例では、電子デバイスのコンテキストの変化（例えば、電子デバイスの位置の変化、ユーザがデバイスをヘッドホンに接続するか、又はヘッドホンからデバイスを接続解除すること）に応答して、提案アフォーダンスの表示を修正することができる。例として、コンテキストの変化に応答して、電子デバイスは、表示されている１つ以上の提案アフォーダンスの表示を中止することができ、１つ以上の新たな提案アフォーダンスを表示することができ、及び／又は、提案アフォーダンスを新たな順序で表示することができる。この方式で提案アフォーダンスの表示を修正することは、電子デバイスの現在のコンテキストを使用して（例えば、電子デバイスのコンテキストの変化を検出することに応答して）新たな提案のセットを決定することと、説明されたように、提案基準及び／又は表示基準を満たす、それらのタスク提案に関する１つ以上の提案アフォーダンスを表示することとを含み得る（一部の実施例では、最も高いスコアのタスク提案のみが、提案アフォーダンスの表示のために使用されることを想起されたい）。提案アフォーダンスの表示を修正することは、コンテキストに従った提案基準及び／又は表示基準を満たしていない、タスク提案に関する提案アフォーダンスの表示を中止することを更に含み得る。一部の実施例では、提案アフォーダンスは、電子デバイスのコンテキストに対応する順序で、及び／又は、その提案アフォーダンスに関連付けられている、それぞれの同時確率のランク付けに対応する順序で表示される。したがって、電子デバイスのコンテキストの変化により、その電子デバイスは、提案アフォーダンスが表示される順序を変更することができる。
【０３９７】
一部の実施例では、タスクが提案基準を満たしているか否かを判定することは、ヒューリスティック基準が満たされているか否かを判定することを更に含む。例えば、第３段階１２３０（又は、タスク提案システム１２００の任意の他の段階）は、１つ以上の所定の条件のセットが満たされているか否かを判定することができる。満たされている場合には、第３段階１２３０は、満たされている所定の条件のセットのそれぞれに対応するタスクに関する、タスク提案（例えば、ヒューリスティックなタスク提案）を提供する。例として、電子デバイスは、ユーザの位置及びユーザのカレンダーに基づいて、ユーザが会合に送れるであろうと（例えば、ユーザが定時に到着することができないであろうと）判定することができる。したがって、電子デバイスは、ユーザが遅れることになる会合の主催者にテキストメッセージを送信する、ヒューリスティックなタスク提案を、ユーザに提供することができる。電子デバイスは、次に、そのヒューリスティックなタスク提案に対応する提案アフォーダンスを表示することができる。
【０３９８】
一部の実施例では、この方式で提供されるタスク提案は、そのタスク提案が表示に関する閾値を常に満たすような、１００％の同時確率を有するものである。一部の実施例では、この方式で提供されるタスク提案は、以前に電子デバイスによって表示された同じタイプのタスク提案をユーザが選択していなかった場合には、１００％未満の同時確率を有し得る。それゆえ、この方式で提供されるタスク提案の同時確率は、ユーザ挙動に従って増大又は減少（例えば、低下）し得る。
【０３９９】
一部の実施例では、ヒューリスティックなタスク提案に関する提案アフォーダンスは、タスク提案に関する提案アフォーダンスと組み合わせて表示される。他の実施例では、ヒューリスティックなタスク提案に関する提案アフォーダンスは、タスク提案に関する提案アフォーダンスと組み合わせて表示されない。例えば、一部の実施例では、ヒューリスティックなタスク提案に関する提案アフォーダンスの表示は、タスク提案に関する提案アフォーダンスの表示をオーバーライドする（例えば、排除する）。
【０４００】
一部の実施例では、所定の条件の単一のセットのみが、所与の時間に満たされ得るため、単一のヒューリスティックなタスク提案のみが、任意の所与の時間に提供される。一部の実施例では、コンテキストデータに加えて、条件のセット（例えば、ハードコーディングされた規則のセット）に基づいて、ヒューリスティックなタスク提案が提供されるため、ヒューリスティックなタスク提案により、電子デバイスは、その電子デバイスによって以前に提供されていないタスクに関するタスク提案を提供することが可能となる。
【０４０１】
以下の表は、ヒューリスティックなタスク提案を提供するために使用することが可能な、例示的な所定の条件の様々なセットを記載するものである。これらのセットは、限定することを意図するものではないことが理解されるであろう。更には、この表は、ヒューリスティックなタスク提案に対応する提案アフォーダンスの表示を、電子デバイスに中止させる条件を記載するものである。一部の実施例では、電子デバイスは、それらの条件の全てが満たされることに応答して、提案アフォーダンスの表示を中止する。一部の実施例では、電子デバイスは、それらの条件のうちの任意数が満たされることに応答して、提案アフォーダンスの表示を中止する。
【表１−１】
2019212266.tif 000011
【表１−２】
2019212266.tif 000012
【０４０２】
図１３は、様々な実施例による、提案を提供するための方法１３００を示す。方法１３００は、例えば、図１２のタスク提案システム１２００などのタスク提案システムを実装する、１つ以上の電子デバイスを使用して実行される。一部の実施例では、方法１３００は、クライアント−サーバシステム（例えば、システム１００）を使用して実行され、方法１３００のブロックは、サーバ（例えば、ＤＡサーバ１０６）とクライアントデバイスとの間で、任意の方式で割り振られる。他の実施例では、方法１３００のブロックは、サーバと複数のクライアントデバイス（例えば、携帯電話及びスマートウォッチ）との間で割り振られる。それゆえ、方法１３００の諸部分は、本明細書ではクライアント−サーバシステムの特定のデバイスによって実行されるように説明されているが、方法１３００は、そのように限定されるものではないことが理解されるであろう。他の実施例では、方法１３００は、クライアントデバイス（例えば、ユーザデバイス１０４）のみを使用して、又は複数のクライアントデバイスのみを使用して実行される。方法１３００では、一部のブロックは任意選択的に組み合わされ、一部のブロックの順序は任意選択的に変更され、一部のブロックは任意選択的に省略される。一部の実施例では、方法１３００と組み合わせて、追加的ステップを実行することができる。
【０４０３】
以下で説明されるように、タスクに関連付けられている提案アフォーダンスを、本明細書で説明されるように選択的に提供することにより、ユーザは、電子デバイス上で、そのユーザに関連するタスクを効率的かつ簡便に実行することが可能となる。例として、電子デバイスによって表示される提案アフォーダンスは、ユーザによる電子デバイスの以前の使用を示すコンテキストデータなどの、その電子デバイスのコンテキストデータに基づいて特定されたタスクに対応し得る。それゆえ、この方式で選択的に提案を提供することにより、ユーザが電子デバイスを操作するために必要とされる入力の数及び時間が（例えば、デバイスを操作／デバイスと対話する際に、適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって）減少し、更には、電力使用量が低減され、デバイスのバッテリ寿命が向上する。
【０４０４】
一部の実施例では、電子デバイスは、キーボード、マウス、マイクロフォン、ディスプレイ、及びタッチ感知面のうちの１つ以上を含む。一部の実施例では、ディスプレイは、タッチ感知ディスプレイである。他の実施例では、ディスプレイは、タッチ感知ディスプレイではない。
【０４０５】
ブロック１３０５で、電子デバイス（例えば、デバイス１０４、２００、４００、６００、又は、タスク提案システム１２００を実装する別のデバイス）は、その電子デバイスに関連付けられたコンテキストデータを受信する。一部の実施例では、コンテキストデータを受信することは、タスクを実行している間に、電子デバイスのコンテキストを判定する（例えば、そのデバイスの位置、そのデバイスがＷｉＦｉネットワークに接続されているか否かなどを判定する）ことを含む。一部の実施例では、コンテキストデータは、１つ以上の条件を所与とする、電子デバイスの状態を示す。一部の実施例では、コンテキストデータは、複数のタスクのそれぞれが実行された際の、電子デバイスの様々なコンテキスト態様を示す。一部の実施例では、コンテキストデータは、電子デバイスの位置、デバイスがネットワーク（例えば、ＷｉＦｉネットワーク）に接続されているか否か、また接続されている場合には、そのネットワークの名前（例えば、ＳＳＩＤ）、タスクが実行された時間及び／又は日、ヘッドホンが接続されていたか否かを示す。一部の実施例では、電子デバイスのコンテキストを判定することは、電子デバイスの位置を判定すること、電子デバイスがネットワークに接続されているか否かを判定すること、時刻を判定すること、又はこれらの任意の組み合わせを含む。一部の実施例では、タスクが、以前に（例えば、提案アフォーダンスを使用して）提案タスクとしてユーザに提示されている場合には、コンテキストデータは、その提案にユーザが応答した方式（例えば、ユーザが、その提案と対話したか否か、その提案を削除したか否か、その提案を無視したか否かなど）を示す。
【０４０６】
一部の実施例では、コンテキストデータの各タイプには、それぞれの重みに従って（例えば、ドット積を使用して）スコアが割り当てられる。一部の実施例では、この方式で利用される重みのそれぞれの大きさは、プライバシー保護方式でデータが利用されるように、匿名化された集約データを使用して、サーバによって決定される。
【０４０７】
一部の実施例では、コンテキストデータは、電子デバイスの使用中に、例えば、いくつものデータ供与機構を使用して、アプリケーションから取得される。一部の実施例では、コンテキストデータは、ＡＰＩ呼び出しを使用して、アプリケーションから取得され、このＡＰＩ呼び出しは、そのＡＰＩ呼び出しの時点でユーザが何をしていたかをアプリケーションに示させる（例えば、ユーザが「メモ」アプリを使用している場合には、呼び出しは、そのメモのＩＤ及び／又はメモの名前を返す）。一部の実施例では、コンテキストデータを受信することは、タスク、及びタスクに関連付けられている１つ以上のパラメータに対応する、データ構造（例えば、標準化意図オブジェクト、第三者アプリケーション意図オブジェクト）を受信することを含む。一部の実施例では、コンテキストデータは、アプリケーションによって実行されたタスクを示す標準化データ構造を、そのアプリケーションに供与させる、ＡＰＩ呼び出しを使用して、アプリケーションから取得される。一部の実施例では、このデータ構造は、意図オブジェクトである。一部の実施例では、コンテキストデータは、アプリケーションによって実行されたタスクを示すアプリケーション固有の（例えば、第三者アプリケーションの）データ構造を使用して、アプリケーションから取得される。一部の実施例では、この第三者データ構造は、タスクのいずれのパラメータを一緒に予測することができるか、及び／又は、タスクがバックグラウンドタスク（例えば、タスクの実行の前に追加入力を必要としないタスク）であるか否かを、更に示す。一部の実施例では、アプリケーションは、ユーザがタスクを実行するたびに、コンテキストデータを供与する。一部の実施例では、アプリケーションは、例えば電子デバイスのコンテキストに基づいて、選択的にコンテキストデータを供与する（例えば、アプリケーションは、デバイスのバッテリ充電レベルが閾値を下回る場合には、コンテキストデータを提供することを取り止めることができる）。
【０４０８】
ブロック１３１０で、電子デバイスは、コンテキストデータに基づいて、タスクに関するタスク確率を判定する。一部の実施例では、コンテキストデータを使用して、電子デバイスは、提案を提供するための多段階モデルを採用する。一部の実施例では、このモデルの第１段階（１２１０）で、電子デバイスは、特定のコンテキストを所与としてユーザがタスクを実行する可能性を示す、複数のタスクのそれぞれに関する確率を判定する。一部の実施例では、タスクに関するタスク確率を判定することは、複数のタイプのコンテキストのそれぞれに関して、コンテキストデータに基づいて、そのタスクに対応するヒストグラムを生成することを含む。一部の実施例では、タスク確率を特定することは、電子デバイスの使用中にアプリケーションによって提供されたデータを使用して、１つ以上のヒストグラムを提供する（例えば、生成する）ことを含む。一部の実施例では、この方式で提供されたヒストグラムは、ユーザ挙動のパターンを示す。例として、ヒストグラムのそれぞれは、ユーザが特定のコンテキストを所与として特定のアクションを取る確率（例えば、ユーザが、特定のＷｉＦｉネットワークに接続している場合に、８０％の割合で特定の音楽アプリを選択すること）を示し得る。一部の実施例では、タスク確率は、パラメータ非依存性である。すなわち、一部の実施例では、電子デバイスは、タスクを実行するために使用されるパラメータに関わりなく、そのタスクに関連付けられているコンテキストデータを使用して、タスク確率を判定する。一部の実施例では、この方式で判定されるタスク確率は、パラメータ固有のものである。
【０４０９】
ブロック１３１５で、電子デバイスは、コンテキストデータに基づいて、そのタスクに関連付けられているパラメータに関する、パラメータ確率を判定する。一部の実施例では、このモデルの第２段階（１２２０）で、電子デバイスは、各タスクに関して特定のパラメータをユーザが使用する可能性を示す、複数のタスクのそれぞれに関する確率（例えば、条件確率）を判定する。一部の実施例では、コンテキストデータに基づいて、パラメータに関するパラメータ確率を判定することは、電子デバイスの現在のコンテキストを判定することと、その電子デバイスの現在のコンテキストに基づいて、パラメータ確率を判定することと（例えば、電子デバイスのコンテキストを判定することと、その電子デバイスのコンテキストに従って、パラメータ確率を判定することと（例えば、電子デバイスの位置を判定することと、その判定された位置に関連するパラメータ確率を判定することと））を含む。一部の実施例では、電子デバイスは、各タスクタイプに関する、直近のＮの数（例えば、１００）のタスクのリストを保持している。電子デバイスは、例えば、それら直前のＮ個のタスクのそれぞれを実行するために、いずれのパラメータが以前に使用されたかを追跡することができる。一部の実施例では、電子デバイスは、特定のタイプのタスクのみを追跡する（例えば、電子デバイスによって最終的に提供される提案が、比較的高い弁別性及び／又は促進性のものであることを保証するために、容易にアクセス可能な機能は追跡しない）。一部の実施例では、電子デバイスは、第１段階（１２１０）で評価された複数のタスクのサブセットを特定し、それらタスクのサブセットのタスクに関してのみ、確率を判定する。一部の実施例では、電子デバイスによって特定されるサブセットは、第１段階で判定されたような、最も高い確率に関連付けられたタスクを含む。一部の実施例では、電子デバイスは、現時点で関連しているコンテキストデータのみを使用して（すなわち、電子デバイスのコンテキストによって現時点で満たされているコンテキスト信号（例えば、デバイスの現在位置であって他の位置ではないもの）に関して）、条件確率を計算する。この方式で、このモデルの第２段階を実行するために必要とされる計算上の要求が低減され、すなわち、第１段階からの高いスコアのタスクのみが考慮され、かつ現在適用されているコンテキスト信号に関してのみ考慮される。したがって、デバイスの使用が、より効率的になることにより、タスク提案を提供するために必要とされる時間及び電力を低減することができる。一部の実施例では、電子デバイスは、この方式で周期的に確率を判定する。一部の実施例では、電子デバイスは、特定のイベント（例えば、電子デバイス上のアプリケーションの削除）に応答して、この方式で確率を判定する。
【０４１０】
電子デバイスのコンテキストに基づいて確率（例えば、タスク確率、パラメータ確率）を判定することは、本明細書で説明されるような、電子デバイスによって提供されるタスク提案が、ユーザによる電子デバイスの以前の使用に基づいて提供されることを保証するものである。これにより、ユーザには、電子デバイスの典型的な使用に対応する、有力なタスク提案が提供され、結果として、ユーザ挙動を促進する可能性が比較的高い提案が提供されることが、保証される。それゆえ、この方式で提案を提供することにより、ユーザが電子デバイスを操作するために必要とされる入力の数及び時間が（例えば、デバイスを操作／デバイスと対話する際に、適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって）減少し、更には、電力使用量が低減され、デバイスのバッテリ寿命が向上する。
【０４１１】
ブロック１３２０で、電子デバイスは、タスク確率及びパラメータ確率に基づいて、そのタスクが提案基準を満たしているか否かを判定する。一部の実施例では、このモデルの第３段階（１２３０）で、電子デバイスは、特定されたタスクのうちのいずれかが、その電子デバイスのコンテキストデータ及び現在のコンテキストを所与として、それらタスクのうちの１つ以上を電子デバイスが提案として提供するべきであるような、確率的閾値を満たしているか否かを判定する。一部の実施例では、２つ以上のタスクが閾値を満たしている場合には、電子デバイスは、最も高いスコアのタスクのみを選択する。一部の実施例では、タスクは、第１段階及び第２段階の確率のそれぞれを使用してスコア化される。一部の実施例では、この方式で確率を判定することは、それらの確率を乗算することを含む。例として、電子デバイスは、タスクに関する確率（すなわち、このモデルの第１段階を使用して判定されるようなもの）と、対応のパラメータ又はパラメータの組み合わせを所与とする、そのタスクに関する確率のそれぞれ（すなわち、このモデルの第２段階を使用して判定されるようなもの）とを乗算することができる。一部の実施例では、確率を調節するために、追加的なスコア調節が実施される。そのような調節は、パラメータの数（例えば、より大きいパラメータの数は、より高いスコアをもたらす）、パラメータのタイプ（例えば、文字列などの、より弁別的なパラメータは、ブール値とは反対に、より高いスコアをもたらす）、及び、コンテキストデータによって示されるようなイベント履歴にわたるパラメータのエントロピー（例えば、より高いエントロピー（すなわち、より高い変動性）は、より高いスコアをもたらす）に基づく。一部の実施例では、電子デバイスの異なるインタフェース上での表示に関して、異なる閾値が使用される。第１の閾値が満たされている場合には、電子デバイスは、検索ユーザインタフェース（８６６）上に提案を表示することができ、第２の閾値が満たされている場合には、電子デバイスは、更に、又は代替的に、ロック画面インタフェース（８１０）上に提案を表示することができる。
【０４１２】
ブロック１３２５で、タスクが提案基準を満たしているという判定に従って、電子デバイスは、電子デバイスのディスプレイ上に、そのタスク及びパラメータに対応する、提案アフォーダンスを表示する。一部の実施例では、確率的閾値が満たされている場合には、電子デバイスは、ディスプレイ上に１つ以上の提案アフォーダンスを表示する。一部の実施例では、いくつものインタフェース、すなわち、ロック画面ＵＩ（８１０）、検索画面ＵＩ（８６６）、及び／又はデジタルアシスタントＵＩ（１６０４）内に、提案アフォーダンスを表示することができる。一部の実施例では、タスク及びパラメータに対応する提案アフォーダンスを表示することは、タスクが第１の提案基準のセット（例えば、第１の確率的閾値）を満たしているという判定に従って、第１のユーザインタフェース（８１０）上に提案アフォーダンスを表示することと、タスクが第２の提案基準のセット（例えば、第２の確率的閾値）を満たしているという判定に従って、第１のユーザインタフェースとは異なる第２のユーザインタフェース（８６６、１６０４）上に提案アフォーダンスを表示することとを含む。
【０４１３】
ブロック１３３０で、タスクが提案基準を満たしていないという判定に従って、電子デバイスは、提案アフォーダンスを表示することを取り止める。
【０４１４】
一部の実施例では、このタスク確率は第１のタスク確率であり、このタスクは第１のタスクであり、このパラメータ確率は第１のパラメータであり、このパラメータは第１のパラメータである。一部の実施例では、電子デバイスは、コンテキストデータに基づいて、第２のタスクに関する第２のタスク確率を判定し、コンテキストデータに基づいて、第２のタスクに関連付けられている第２のパラメータに関するパラメータ確率を判定し、それら第２のタスク確率及び第２のパラメータ確率に基づいて、その第２のタスクが提案基準を満たしているか否かを判定する。
【０４１５】
一部の実施例では、この選択アフォーダンスは、第１の選択アフォーダンスであり、タスクが提案基準を満たしているか否かを判定することは、ヒューリスティック基準が満たされているか否かを判定することを含む。一部の実施例では、ヒューリスティック基準が満たされているという判定に従って、電子デバイスは、別のタスクに対応する第２の選択アフォーダンスを表示する。一部の実施例では、１つ以上のヒューリスティックに従って、提案がオーバーライドされる場合がある。一部の実施例では、各ヒューリスティックは、条件のセットを示す規則（例えば、スクリプト記述規則及び／又はハードコーディング規則）であり、この条件のセットは、満たされた場合に、その条件に対応する提案を電子デバイスに指定させる。一部の実施例では、各ヒューリスティック提案は、最大の確率（例えば、１００％）を有するものと見なされることにより、電子デバイスによって評価されるいずれの他の提案にも関わりなく、そのヒューリスティックは、自動的に最良の結果と見なされる。一部の実施例では、ヒューリスティックの確率は、そのヒューリスティックに関する提案がユーザに提示され、ユーザが、その提案に関連付けられたタスクを実行することを拒否した場合には、低下する。一部の実施例では、ヒューリスティックは、２つの条件セットを同時に満たすことができないように構成される。一部の実施例では、ヒューリスティクは、電子デバイスによって実行されておらず、かつ／又は、電子デバイスのコンテキストに依存する、タスクの提案である（例えば、交通状況に基づいて、ユーザが遅れることを会合の主催者にテキストで送る）。
【０４１６】
一部の実施例では、提案アフォーダンスを表示した後、電子デバイスは、その提案アフォーダンスの選択に対応する第１のユーザ入力を検出し、その第１のユーザ入力の検出に応答して、選択的にタスクを実行する。一部の実施例では、提案アフォーダンス（８０６）は、タッチ入力（８１６）、ジェスチャ、又はそれらの組み合わせを使用して選択される。一部の実施例では、提案アフォーダンスは、音声入力を使用して選択される。一部の実施例では、提案アフォーダンスの選択に応答して、電子デバイスは、自動的にタスクを実行し、電子デバイスは、タスクに関連付けられているアプリケーションを起動し、及び／又は、電子デバイスは、タスクの実行をユーザが確認することが可能な、ユーザインタフェースを表示する。一部の実施例では、選択的にタスクを実行することは、そのタスクが第１のタイプのタスクであるという判定に従って、そのタスクを実行することと、そのタスクが第２のタイプのタスクであるという判定に従って、確認アフォーダンス（８２４）を含む確認インタフェース（８２０）を表示することとを含む。
【０４１７】
図１３を参照して上述された動作は、任意選択的に、図１〜図４、図６Ａ、図６Ｂ、及び図７Ａ〜図７Ｃに示される構成要素によって実施される。例えば、方法１９００の動作は、限定するものではないが、デバイス１０４、２００、４００、６００、及びデバイス１２００を含めた、本明細書で説明される任意のデバイス（又は、その構成要素）によって実施することができる。図１〜図４、図６Ａ、図６Ｂ、及び図７Ａ〜図７Ｃに示される構成要素に基づいて、どのように他のプロセスが実施されるかは、当業者には明らかであろう。
【０４１８】
図１４は、様々な実施例による、タスクを実行するためのシーケンス１４００を示す。図１４はまた、図１５の方法１５００を含めた、以下で説明されるプロセスのうちの１つ以上を例示するためにも使用される。一部の実施例では、シーケンス１４００の１つ以上の動作は、任意選択的に組み合わされ、動作の順序は、任意選択的に変更され、かつ／又は、一部の動作は、任意選択的に省略される。一部の実施例では、シーケンス１４００と組み合わせて、追加的動作を実行することができる。更には、「シーケンス」の使用は、別途指示のない限り、特定の対話の順序が必要とされることを意図するものではない。
【０４１９】
本明細書で説明されるように、シーケンス１４００の動作は、電子デバイス１４０４及びサーバ１４０６を使用して実行することができる。電子デバイス１４０４は、デバイス１０４、２００、４００、及びデバイス６００（図１、図２Ａ、図４、及び図６Ａ、図６Ｂ）のうちのいずれかとすることができ、サーバ１４０６は、ＤＡサーバ１０６（図１）とすることができる。一部の実施例では、シーケンス１４００の動作は、１つ以上の代替的又は追加的デバイスを使用して実行することができる点が、理解されるであろう。例として、電子デバイス１４０４によって実行されるとして説明される、シーケンス１４００の１つ以上の動作は、複数の電子デバイスを使用して実行することができる。
【０４２０】
一般に、プロセス１４００の動作は、例えば自然言語発話入力に応答してタスクを実行するように、実施することができる。以下で更に詳細に説明されるように、自然言語発話入力は、電子デバイスに、具体的には電子デバイスのデジタルアシスタントに、提供することができる。それに応答して、その自然言語発話入力が所定のフレーズ（例えば、音声ショートカット）を含むか否かについて、判定が実施される。この判定は、その電子デバイス及び／又は別のデバイスによって実施することができる。自然言語発話入力が所定のフレーズを含むと判定された場合には、電子デバイスは、その所定のフレーズに関連付けられているタスクを実行する。そうではない場合には、その自然言語発話入力は、その自然言語発話入力に関連付けられるタスクを決定するために、自然言語処理を使用して処理され、電子デバイスは、その自然言語処理を使用して決定されたタスクを実行する。
【０４２１】
動作１４１０で、電子デバイス１４０４は、（例えば、マイクロフォンを介して）自然言語発話入力を受信する。一部の実施例では、電子デバイス１４０４は、電子デバイス１４０４のデジタルアシスタントを対象とする要求を示す、自然言語発話入力を受信する。例えば、この自然言語発話入力は、例えばデジタルアシスタントをアクティブ化することが可能な、音声トリガを含み得る。一部の実施例では、自然言語発話入力は、デジタルアシスタントを対象とすることが可能な、任意の要求を含み得る。例として、自然言語入力「Ｓｔａｒｂｕｃｋｓへの道順を教えて（Get me directions to Starbucks）」は、電子デバイス１４０４のデジタルアシスタントが、その電子デバイスの位置から最も近いＳｔａｒｂｕｃｋｓの場所まで車で行く道順を提供することを、要求し得る。
【０４２２】
一部の実施例では、自然言語発話入力は、その電子デバイスに通信可能に結合されているデバイス（例えば、スマートウォッチ）などの、別のデバイスから受信される。一部の実施例では、自然言語発話入力は、その電子デバイスと他のデバイスとの間のアドホック接続を介して提供される。他の実施例では、自然言語発話入力は、インターネットなどのマルチホップネットワークを介して提供される。
【０４２３】
一部の実施例では、自然言語発話入力は、図１０Ａ〜図１０ＡＦを参照して説明されたものなどの、所定のフレーズ（例えば、音声ショートカット）を含む。説明されたように、所定のフレーズは、１つ以上のタスクに関連付けることができ、１つ以上のタスクは、電子デバイスのデジタルアシスタントに提供されると、そのフレーズに関連付けられている１つ以上のタスクを電子デバイスに実行させる。
【０４２４】
動作１４１５で、電子デバイス１４０４は、その自然言語発話入力をサーバ１４０６に提供する。一部の実施例では、自然言語発話入力をサーバ１４０６に提供することは、その自然言語発話入力の表現（例えば、テキスト表現、空間表現、オーディオ表現）をサーバ１４０６に提供することを含む。テキスト表現は、例えば、一部の実施例では、ＳＴＴ処理モジュール７３０などの音声テキスト化処理モジュールを使用して提供することができる。
【０４２５】
動作１４２０で、サーバ１４０６は、電子デバイス１４０４から自然言語発話入力を受信し、その自然言語発話入力が音声ショートカット基準を満たしているか否かを判定する。一部の実施例では、自然言語発話入力が音声ショートカット基準を満たしているか否かを判定することは、その自然言語発話入力、又は、その自然言語発話入力のテキスト表現が、電子デバイスのユーザに関連付けられている１つ以上の所定のフレーズ（例えば、音声ショートカット）のうちのいずれかと一致するか否かを判定することを含む。一部の実施例では、自然言語発話入力が所定のフレーズに一致するか否かを判定することは、その自然言語発話入力が、１つ以上の所定のフレーズと厳密に一致するか否かを判定することを含む。他の実施例では、自然言語発話入力が所定のフレーズと一致するか否かを判定することは、その自然言語発話入力と所定の各フレーズとの類似性が、類似性閾値を超過しているか否かを判定することを含む。
【０４２６】
サーバ１４０６が、自然言語発話入力が音声ショートカット基準を満たしていると判定した場合（例えば、サーバ１４０６が、自然言語発話入力が所定のフレーズと一致すると判定した場合）には、サーバ１４０６は、その一致した所定のフレーズに関連付けられている、タスクを特定する。一部の実施例では、この方式でタスクを特定することは、そのタスクの１つ以上のパラメータに関する値を決定することを含む。例として、コーヒーを注文するためのタスクに対応するフレーズ「コーヒータイム（Coffee Time）」に関しては、サーバ１４０６は、コーヒーのサイズ、コーヒーのタイプ、及び／又は、その商取引に関する支払い方式を決定することができる。パラメータ値は、ユーザによって（例えば、そのフレーズをタスクに関連付ける際に）指定することもでき、電子デバイスのコンテキスト（例えば、電子デバイスの位置）に基づいて決定することもでき、及び／又は、既定のパラメータ値を割り当てることもできる。
【０４２７】
サーバ１４０６が、自然言語発話入力が音声ショートカット基準を満たしていないと判定した場合には、サーバ１４０６は、任意選択的に、自然言語処理モジュール７３２などの自然言語処理モジュールを使用して、その自然言語発話入力（又は、そのテキスト表現）を処理する。一部の実施例では、電子デバイス１４０４は、自然言語発話入力のオーディオ表現を提供し、タスクを決定するために自然言語発話処理を使用して自然言語発話入力を処理することは、例えばＳＴＴ処理モジュール７３０を使用して、その自然言語発話入力の１つ以上のテキスト表現候補（例えば、テキスト文字列）を提供することを含む。テキスト表現候補のそれぞれは、発話認識信頼性スコアに関連付けることができ、それに従って、それらのテキスト表現候補をランク付けすることができる。他の実施例では、電子デバイス１４０４は、自然言語発話入力のテキスト表現を提供し、そのテキスト表現は、ｎ＝１である、テキスト表現候補として提供される。この方式でテキスト表現候補として提供されるテキスト表現には、最大の発話認識信頼性スコア、又は任意の他の発話認識信頼性スコアを割り当てることができる。
【０４２８】
タスクを決定することは、例えば、自然言語処理モジュール７３２を使用して、ｎ個の最良の（例えば、最高ランクの）テキスト表現候補に基づいて、１つ以上の意図候補を提供することを更に含み得る。それらの意図候補のそれぞれは、意図信頼性スコアに関連付けることができ、それに従って、それらの意図候補をランク付けすることができる。一部の実施例では、各テキスト表現候補に関して、複数の意図候補が特定される。更には、一部の実施例では、各意図候補に関して、（部分的又は完全な）構造化クエリが生成される。その後、例えばタスクフロー処理モジュール７３６を使用して、ｍ個の最良の（例えば、最高ランクの）意図候補に基づいて、タスク候補が決定される。一部の実施例では、タスク候補は、ｍ個の最良の（例えば、最高ランクの）意図候補のそれぞれに関する構造化クエリに基づいて、特定される。例として、説明されたように、構造化クエリは、意図候補に関連付けられるタスクを決定するために、タスクフロー７５４などの１つ以上のタスクフローに従って実装することができる。各タスク候補には、例えば、信頼性スコア及び／又は電子デバイスのコンテキストに基づいて、結合スコアを割り当てることができ、最も高いスコアを有するタスクを、タスクとして選択することができる。
【０４２９】
動作１４２５で、電子デバイス１４０４は、サーバ１４０６からタスクを受信する。説明されたように、このタスクは、ユーザの１つ以上の所定のフレーズに関連付けられているタスクの場合もあれば、又は、自然言語処理を使用して特定された場合もある。一部の実施例では、電子デバイスは、受信されたタスクを実行する際に使用される、１つ以上のパラメータ値を更に受信する。
【０４３０】
動作１４３０で、電子デバイスは、タスクを実行し、任意選択的に、動作１４３５で、そのタスクの実行が成功したか否かを示す出力（例えば、自然言語出力）を提供する。この出力は、一部の実施例では、電子デバイスのデジタルアシスタントによって提供することができる。
【０４３１】
一部の実施例では、タスクを実行することは、そのタスクを別のデバイスに実行させることを含む。電子デバイスは、例えば、タスクが別のデバイス上で実行されることに、より適していると判定する場合があり、及び／又は、タスクを別のデバイス上で実行しなければならない（例えば、電子デバイスがディスプレイを有さず、インタフェースの表示を必要とするタスクを実行することができない）と判定する場合もある。したがって、電子デバイスは、別のデバイスにタスクを提供することができ、及び／又は、他のデバイスにタスクを実行させることができる。
【０４３２】
一部の実施例では、タスクを実行することは、第三者アプリケーションにタスクを実行させることを含む。例として、音声ショートカット「ガレージを閉めて（Close garage）」は、第三者ホームオートメーションアプリケーションにガレージの扉を閉じさせることができる。一部の実施例では、第三者アプリケーションは、タスクの実行が成功したか否かを示す応答を提供する。
【０４３３】
一部の実施例では、第三者デバイスのデジタルアシスタントによって提供される出力は、アプリケーションによって提供される応答に基づく。例として、アプリケーションによって提供される応答は、「ガレージドアの閉鎖が成功しました（The garage door was successfully closed）」などの自然言語表現を含み得る。電子デバイス、具体的には電子デバイスのデジタルアシスタントは、その応答を受信して、その応答の自然言語表現に基づいて自然言語出力を提供することができる。この自然言語出力は、一部の実施例では、オーディオ出力とすることができる。例えば、電子デバイスは、「ホームオートメーションが『ガレージドアの閉鎖が成功しました』と言っています（Home Automation says 'The garage door was successfully closed.'）」と述べる自然言語出力を提供することができる。この方式でアプリケーションによって提供される応答は、タスクの実行が成功したか否かを示すことができ、及び／又は、ユーザに他の情報を（例えば、バスの時刻表に関する要求に応答して、現在のバスの時間を）提供することもできる。
【０４３４】
一部の実施例では、サーバ１４０６によって提供されるタスクを実行することは、複数のタスクを実行することを含む。例として、タスクを実行することは、第１のアプリケーションに第１のタスクを実行させることと、第２のアプリケーションに、第１のタスクとは異なる第２のタスクを実行させることとを含み得る。
【０４３５】
本明細書では、自然言語発話入力がサーバ１４０６に提供されること（動作１４１５）に関連して説明されているが、一部の実施例では、電子デバイスが、サーバ１４０６の代わりに、又はサーバ１４０６と並行して、自然言語発話入力が音声ショートカット基準を満たしているか否かを判定する。
【０４３６】
図１５は、様々な実施例による、タスクを実行するための方法１５００を示す。方法１５００は、例えば、デジタルアシスタントを実装する１つ以上の電子デバイスを使用して実行される。一部の実施例では、方法１５００は、クライアント−サーバシステム（例えば、システム１００）を使用して実行され、方法１５００のブロックは、サーバ（例えば、ＤＡサーバ１０６）とクライアントデバイスとの間で、任意の方式で割り振られる。他の実施例では、方法１５００のブロックは、サーバと複数のクライアントデバイス（例えば、携帯電話及びスマートウォッチ）との間で割り振られる。それゆえ、方法１５００の諸部分は、本明細書ではクライアント−サーバシステムの特定のデバイスによって実行されるように説明されているが、方法１５００は、そのように限定されるものではないことが理解されるであろう。他の実施例では、方法１５００は、クライアントデバイス（例えば、ユーザデバイス１０４）のみを使用して、又は複数のクライアントデバイスのみを使用して実行される。方法１５００では、一部のブロックは任意選択的に組み合わされ、一部のブロックの順序は任意選択的に変更され、一部のブロックは任意選択的に省略される。一部の実施例では、方法１５００と組み合わせて、追加的ステップを実行することができる。
【０４３７】
以下で説明されるように、自然言語発話入力（例えば、音声ショートカット）に応答して、本明細書で説明されるようにタスクを実行することにより、電子デバイス上でタスクを実行するための、直感的かつ効率的な手法が提供される。例として、ユーザからの追加入力を全く使用することなく、自然言語発話入力に応答して、１つ以上のタスクを実行することができる。したがって、この方式で、自然言語発話入力に応答してタスクを実行することにより、ユーザが電子デバイスを操作するために必要とされる入力の数及び時間が（例えば、デバイスを操作／デバイスと対話する際に、適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって）減少し、更には、電力使用量が低減され、デバイスのバッテリ寿命が向上する。
【０４３８】
一部の実施例では、電子デバイスは、キーボード、マウス、マイクロフォン、ディスプレイ、及びタッチ感知面のうちの１つ以上を含む。一部の実施例では、ディスプレイは、タッチ感知ディスプレイである。他の実施例では、ディスプレイは、タッチ感知ディスプレイではない。
【０４３９】
ブロック１５０５で、電子デバイスは、自然言語発話入力（例えば、発話された発言１６０６）を受信する（１４１０）。一部の実施例では、自然言語発話入力を受信することは、第２の電子デバイス（例えば、スマートウォッチ）から、その自然言語発話入力の表現を受信することを含む。一部の実施例では、第２の電子デバイスから自然言語発話入力の表現を受信することは、マルチホップネットワークを介して、自然言語発話入力の表現を受信することを含む。一部の実施例では、この表現は、例えばＷｉＦｉ接続及び／又はインターネットを介して、リモートデバイスから受信される。一部の実施例では、自然言語発話入力は、音声トリガ（例えば、「ヘイ、Ｓｉｒｉ（Hey Siri）」）を含む。
【０４４０】
ブロック１５１０で、電子デバイスは、自然言語発話入力が音声ショートカット基準を満たしているか否かを判定する。一部の実施例では、電子デバイスは、自然言語発話入力が、電子デバイスのユーザに関連付けられている１つ以上の音声ショートカットと一致するか否かを判定する。一部の実施例では、この方式で一致が存在するか否かを判定することは、ローカル及び／又はリモートで、一致が存在するか否かを判定することを含む。例えば、一部の場合には、一致が存在するか否かを、電子デバイスが判定する。別の実施例では、電子デバイスが、自然言語発話入力又はその表現を、バックエンドサーバ（１４０６）に提供し（１４１５）、バックエンドサーバが、一致が存在するか否かを判定する（１４２０）。一部の実施例では、自然言語発話入力が音声ショートカット基準を満たしているか否かを判定することは、その自然言語発話入力の表現（例えば、テキスト表現、空間表現、オーディオ表現）を、別の電子デバイス（例えば、バックエンド自然言語処理サーバなどのバックエンドサーバ）に提供して、その別の電子デバイスから、音声ショートカット又はタスクの少なくとも一方を受信すること（１４２５）を含む。一部の実施例では、電子デバイス及びバックエンドサーバの双方が、一致が存在するか否かを判定し、電子デバイスは、双方の結果を評価して、一致が存在するか否かを判定する。
【０４４１】
ブロック１５１５で、自然言語発話入力が音声ショートカット基準を満たしているという判定に従って（例えば、自然言語発話入力が音声ショートカットと一致する場合には）、電子デバイスは、その音声ショートカットに関連付けられているタスクを特定し、その音声ショートカットに関連付けられているタスクを実行する（例えば、電子デバイス又は別の電子デバイス（例えば、バックエンドサーバ）のいずれかが、その音声ショートカットに関連付けられているタスクを決定する）（１４３０）。一部の実施例では、音声ショートカットに関連付けられているタスクを実行することは、第１のアプリケーションに第１のタスクを実行させることと、第２のアプリケーションに、第１のタスクとは異なる第２のタスクを実行させることとを含む。一部の実施例では、電子デバイスが、自然言語発話入力と音声ショートカットとの間に一致が存在すると判定した場合には、電子デバイスは、その音声ショートカットに関連付けられているタスクを特定し、そのタスクを実行する。一部の実施例では、音声ショートカットは、複数のタスク（例えば、タスクのシーケンス）に関連付けられており、電子デバイスは、それら複数のタスクのそれぞれを実行する。一部の実施例では、音声ショートカットに関連付けられているタスクを実行することは、その音声ショートカットに関連付けられているタスクが、第１のタイプのタスクであるか否かを判定することと、その音声ショートカットが第１のタイプのタスクであるという判定に従って、電子デバイスを使用して、そのタスクを実行することと、その音声ショートカットが、第１のタイプとは異なる第２のタイプのタスクであるという判定に従って、第３の電子デバイスを使用して、そのタスクを実行させることとを含む。一部の実施例では、電子デバイスは、その電子デバイス又は別のデバイスによってタスクを実行することができるかを判定することによって、そのタスクが第１のタイプのタスクであるか否かを判定する。
【０４４２】
ブロック１５２０で、自然言語発話入力が音声ショートカット基準を満たしていないという判定に従って（例えば、自然言語発話入力が音声ショートカットと一致しない場合には）、電子デバイスは、その自然言語発話入力に関連付けられるタスクを特定し、その自然言語発話入力に関連付けられるタスクを実行する（１４３０）。一部の実施例では、電子デバイスは、自然言語処理を実行して、意図及び／又はタスクを決定する。一部の実施例では、バックエンドサーバが、自然言語処理を実行して、電子デバイスにタスクを提供する。一部の実施例では、第１のタイプのタスクではないタスクは、別のデバイスに「より適している」タスク、及び／又は、その電子デバイスによって実行することができないタスクである。例として、ユーザは、音声ショートカット「ゲーム・オブ・スローンズを再生して（Play Game of Thrones）」を電話に提供することができ、電話は、その音声ショートカットに関するタスクをＴＶに実行させることができる。
【０４４３】
発話入力が音声ショートカット基準を満たしていない場合に、その自然言語発話入力に対して自然言語処理を実行することにより、その発話入力が音声ショートカットに対応していない場合であっても、ユーザによって電子デバイスに提供されたコマンドが対処されることが保証される。この方式で、電子デバイスは、ユーザによって指定される、より広範囲のコマンド及び／又は意図に対処することができる。したがって、この方式でタスクを実行することにより、ユーザが電子デバイスを操作するために必要とされる入力の数及び時間が（例えば、デバイスを操作／デバイスと対話する際に、適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって）減少し、更には、電力使用量が低減され、デバイスのバッテリ寿命が向上する。
【０４４４】
一部の実施例では、電子デバイスは、タスクが成功したか否かを示す自然言語出力（１６１６、１６３０、１６６２、１６７６）を提供する（１４３５）。一部の実施例では、タスクを実行することは、第三者アプリケーションにタスクを実行させることを含み、自然言語出力を提供することは、第三者アプリケーションから応答を受信し、その第三者から受信された応答に基づいて、自然言語出力を生成することを含む。一部の実施例では、第三者アプリケーションを使用してタスクが実行されると、その第三者アプリケーションは、タスクが成功したか否かを示す応答を提供する。一部の実施例では、この応答は、タスクの実行が成功したか又は失敗したかを、明示的に示す。一部の実施例では、この応答は、要求されていた情報を含み（例えば、そのタスクは、バスの時刻表に関する要求に応答して、そのバスの時刻表を取得することであった）（１６８８）、その要求されていた情報の返信は、そのタスクが成功したことを暗黙的に示すものである。一部の実施例では、自然言語出力は音声発話出力である。一部の実施例では、電子デバイス、具体的には電子デバイスのデジタルアシスタントは、アプリケーションの応答に基づいて自然言語入力を生成し、生成された自然言語出力をユーザに提供する。
【０４４５】
図１５を参照して上述された動作は、任意選択的に、図１〜図４、図６Ａ、図６Ｂ、及び図７Ａ〜図７Ｃに示される構成要素によって実施される。例えば、方法１９００の動作は、限定するものではないが、デバイス１０４、２００、４００、６００、及びデバイス１４００を含めた、本明細書で説明される任意のデバイス（又は、その構成要素）によって実施することができる。図１〜図４、図６Ａ、図６Ｂ、及び図７Ａ〜図７Ｃに示される構成要素に基づいて、どのように他のプロセスが実施されるかは、当業者には明らかであろう。
【０４４６】
図１６Ａ〜図１６Ｓは、一部の実施形態による、電子デバイス（例えば、デバイス１０４、デバイス１２２、デバイス２００、デバイス６００、又はデバイス７００）上でタスクを実行するための、例示的なユーザインタフェースを示す。これらの図中のユーザインタフェースは、図１７でのプロセスを含めた、以下で説明されるプロセスを例示するために使用される。
【０４４７】
図１６Ａは、電子デバイス１６００（例えば、デバイス１０４、デバイス１２２、デバイス２００、デバイス６００、又はデバイス７００）を示す。図１６Ａ〜図１６Ｓに示される非限定的な例示的実施形態では、電子デバイス１６００は、スマートフォンである。他の実施形態では、電子デバイス１６００は、ウェアラブルデバイス（例えば、スマートウォッチ）などの、異なるタイプの電子デバイスとすることができる。一部の実施例では、電子デバイス１６００は、ディスプレイ１６０１、１つ以上の入力デバイス（例えば、ディスプレイ１６０１のタッチスクリーン、ボタン、マイクロフォン）、及び無線通信装置を有する。一部の実施例では、電子デバイス１６００は、複数のカメラを含む。一部の実施例では、この電子デバイスは、１つのみのカメラを含む。一部の実施例では、この電子デバイスは、赤外線カメラ、サーモグラフィカメラ、又はそれらの組み合わせなどのカメラを任意選択的に含む、１つ以上のバイオメトリックセンサ（例えば、バイオメトリックセンサ１６０３）を含む。
【０４４８】
図１６Ａでは、電子デバイス１６００は、ディスプレイ１６０１上に、デジタルアシスタントインタフェース１６０４などの、デジタルアシスタントインタフェース（例えば、会話インタフェース）を表示している。デジタルアシスタントインタフェース１６０４を表示している間に、電子デバイス１６００は、自然言語入力１６０６（例えば、「ヘイ、Ｓｉｒｉ、私の食料品を注文して。（Hey Siri, order my groceries.）」）を受信する（例えば、取得する、キャプチャする）。一部の実施例では、自然言語入力１６０６は、例えば、電子デバイスの入力デバイス（例えば、マイクロフォン）を使用して受信される、自然言語発話入力である。図１６Ａに示されるように、自然言語入力１６０６が自然言語発話入力である一部の実施例では、デジタルアシスタントインタフェースは、自然言語入力１６０６のプレビュー１６０８（例えば、ライブプレビュー）を任意選択的に含む。
【０４４９】
一部の実施例では、この自然言語入力に応答して、電子デバイス１６００は、タスクを実行する。例として、図１４を参照して説明されたように、電子デバイス１６００は、自然言語入力が所定のフレーズに一致するか否かを判定することができ、一致する場合には、そのフレーズに対応するタスクを実行することができる。タスクがフレーズに対応していない場合には、自然言語処理を使用して、その自然言語入力に関連付けられるタスクを決定することができ、電子デバイス１６００は、そのタスクを実行することができる。
【０４５０】
一部の実施例では、タスクを実行する前に、電子デバイスは、ユーザにタスクの確認を要求する。例えば、図１６Ｂに示されるように、電子デバイス１６００が、自然言語入力に対応するタスクを特定すると、電子デバイス１６００は、確認インタフェース１６１０などの確認インタフェースを表示することができる。確認インタフェース１６１０は、確認アフォーダンス１６１２、キャンセルアフォーダンス１６１４、及びアプリケーションアフォーダンス１６１６を含む。確認インタフェースは、更に、そのタスクに関連付けられているコンテンツ１６１８を含み得る。一部の実施例では、キャンセルアフォーダンス１６１４の選択は、電子デバイス１６００に、確認インタフェース１６１０の表示を中止させ、及び／又は、特定されたタスクを実行することを取り止めさせる。一部の実施例では、アプリケーションアフォーダンス１６１６の選択は、電子デバイス１６００に、そのタスクに関連付けられているアプリケーションを開かせる。説明されたように、この方式でアプリケーションを開くことにより、そのタスクに関連付けられている１つ以上のパラメータを、アプリケーションにプリロードさせることができる。コンテンツ１６１８は、タスクを実行するために使用される１つ以上のパラメータなどの、そのタスクを対象とする情報を含み得る。図１６Ｂに示されるように、例えば、コンテンツ１６１８は、そのタスクが、グループ「私の食料品リスト（My Grocery List）」内に含まれる食料品目のセットの注文を目的とするものであること、注文する品目の数、配送先住所、及び配送が行われる時間枠を指定することができる。任意選択的に、確認インタフェース１６１０は、タスクを実行するアプリケーションを、より容易にユーザが特定することを支援するために、そのタスクのアプリケーションに関連付けられているアイコン（例えば、画像、ＧＩＦ）を含む。
【０４５１】
一部の実施例では、例えばユーザ入力１６２０による、確認アフォーダンス１６１２の選択に応答して、電子デバイス１６００は、タスクを実行する。図１６Ｃに示されるように、一部の実施例では、電子デバイスがタスクを実行している間に、電子デバイス１６００は、タスクが実行中であることを示すプロセスインジケータ１６１５を、任意選択的に表示する。一部の実施例では、プロセスインジケータ１６１５の表示は、確認アフォーダンス１６１２及びキャンセルアフォーダンス１６１４の表示に置き換わるものである。
【０４５２】
タスクが実行されると、電子デバイス１６００は、そのタスクの実行が成功したか否かを示す出力を提供する。図１６Ｄの実施例では、タスクの実行が成功しており、結果として、電子デバイス１６００は、そのタスクの実行が成功したことを示す、成功インジケータ１６１６を表示する。一部の実施例では、成功インジケータ１６１６の表示は、プロセスインジケータ１６１５の表示に置き換わるものである。
【０４５３】
図１６Ｅの実施例では、タスクの実行が成功しておらず、結果として、電子デバイスは、失敗インタフェース１６２１を表示する。失敗インタフェース１６２１は、再試行アフォーダンス１６２２、キャンセルアフォーダンス１６２４、及びアプリケーションアフォーダンス１６２６、１６２８を含む。失敗インタフェースは、コンテンツ１６３０を更に含む。一部の実施例では、再試行アフォーダンス１６２２の選択は、電子デバイス１６００に、再度そのタスクを実行させる。一部の実施例では、キャンセルアフォーダンスの選択は、電子デバイス１６００に、失敗インタフェース１６２０の表示を中止させる。一部の実施例では、アプリケーションアフォーダンス１６２６又はアプリケーションアフォーダンス１６２８のいずれかの選択は、電子デバイス１６００に、そのタスクに関連付けられているアプリケーションを開かせる。説明されたように、この方式でアプリケーションを開くことにより、そのタスクに関連付けられている１つ以上のパラメータを、アプリケーションにプリロードさせることができる。コンテンツ１６３０は、タスクを実行するために使用される１つ以上のパラメータなどの、そのタスクを対象とする情報を含み得る。一部の実施例では、コンテンツ１６３０は、コンテンツ１６１８と同じコンテンツである。一部の実施例では、コンテンツ１６３０は、コンテンツ１６１８とは異なる。コンテンツ１６３０は、例えば、電子デバイスがタスクの実行を成功させることができなかったこと（例えば、「問題が発生しました。再試行してください。（There was a problem. Please try again.）」）を示し得る。
【０４５４】
一部の実施例では、タスクを実行することは、アプリケーションにタスクを実行させることを含み得るものであり、任意選択的に、そのタスクの実行が成功したか否かを示す、そのアプリケーションからの応答を受信することができる。一部の実施例では、以下の図１６Ｆ〜図１６Ｌに示されるように、アプリケーションによって提供される応答は、自然言語表現を含み、この自然言語表現は、タスクの実行が成功したか否かを示すために電子デバイス１６００によって使用することができ、及び／又は、アプリケーションからユーザに、追加情報を提供することもできる。
【０４５５】
図１６Ｆを参照すると、電子デバイス１６００は、ディスプレイ１６０１上に、デジタルアシスタントインタフェース１６５４などの、デジタルアシスタントインタフェース（例えば、会話インタフェース）を表示している。デジタルアシスタントインタフェース１６５４を表示している間に、電子デバイス１６００は、自然言語入力１６５６（例えば、「ヘイ、Ｓｉｒｉ、私にコーヒーを。（Hey Siri, coffee me.）」）を受信する（例えば、取得する、キャプチャする）。一部の実施例では、この自然言語入力は、例えば、電子デバイスの入力デバイス（例えば、マイクロフォン）を使用して受信される、自然言語発話入力である。図１６Ｆに示されるように、自然言語入力が自然言語発話入力である一部の実施例では、デジタルアシスタントインタフェースは、その自然言語入力のプレビュー１６５８（例えば、ライブプレビュー）を任意選択的に含む。
【０４５６】
自然言語入力１６５６に応答して、電子デバイス１６００は、説明されたようにタスクを実行する（一部の実施例では、電子デバイスは、タスクの実行をユーザに確認することができる点を想起されたい）。例えば、自然言語入力が所定のフレーズに対応している（例えば、所定のフレーズを含む）場合には、電子デバイス１６００は、そのフレーズに関連付けられているタスクを実行することができ、又は、自然言語入力が所定のフレーズに対応していない場合には、電子デバイス１６００は、自然言語処理によって判定されるような、その自然言語入力に関連付けられるタスクを実行することができる。
【０４５７】
一部の実施例では、タスクが実行されると、電子デバイス１６００は、そのタスクを実行するために使用されたアプリケーションから応答を受信し、その応答に基づいて、タスクの実行が成功したか否かを示す出力を提供する。図１６Ｇの実施例では、タスクの実行が成功している。したがって、電子デバイス１６００は、成功インタフェース１６６０を表示する。成功インタフェース１６６０は、デジタルアシスタント応答１６６４及びアプリケーション応答１６６６を含む出力１６６２と、アプリケーションアフォーダンス１６７０とを含む。一部の実施例では、アプリケーション応答１６６６は、タスクの実行に続いてアプリケーションによって提供された応答の、少なくとも一部分である。一部の実施例では、アプリケーション応答１６６６は、コンテンツ及び／又は１つ以上の自然言語表現を含む。図１６Ｇに示されるように、例えば、アプリケーション応答１６６６は、タスクの実行が成功したことを示し、かつ／又は、タスクに関連する情報を提供する、自然言語表現１６６８（例えば、「あなたのラッテは２０分でお受け取りとなります（Your latte will be ready in 20 min）」）を含む。コンテンツ１６７０などの、アプリケーション応答のコンテンツは、画像、動画、及び／又は対話型コンテンツ（例えば、対話型の地図）などの、任意のタイプのコンテンツを含み得る。この方式で、アプリケーションは、タスクに関連する追加情報を指定することができる。一部の実施例では、デジタルアシスタント応答１６６４は、タスクの実行が成功したか否か（例えば、「了解、注文しました。（OK ordered.）」）を示す。一部の実施例では、デジタルアシスタント応答１６６４は、例えば、アプリケーションによって提供された情報をアプリケーション応答１６６６が含むこと（例えば、「コーヒーアプリが、このように言っています（The Coffee App says）」）を、ユーザに対して明らかにするために使用することができる。一部の実施例では、コンテンツ１６７０の選択は、電子デバイス１６００に、そのタスクに関連付けられているアプリケーションを開かせる。説明されたように、この方式でアプリケーションを開くことにより、そのタスクに関連付けられている１つ以上のパラメータを、アプリケーションにプリロードさせることができる。
【０４５８】
図１６Ｈの実施例では、タスクの実行は成功していない（例えば、電子デバイス１６００は、タスクを実行することに失敗した）。したがって、電子デバイスは、失敗インタフェース１６７４を表示する。失敗インタフェース１６７４は、デジタルアシスタント応答１６７８及びアプリケーション応答１６８０を含む出力１６７６と、アプリケーションアフォーダンス１６８２とを含む。一部の実施例では、アプリケーション応答１６８０は、タスクの実行に続いてアプリケーションによって提供された応答の、少なくとも一部分である。一部の実施例では、アプリケーション応答１６８０は、コンテンツ及び／又は１つ以上の自然言語表現を含む。図１６Ｈに示されるように、例えば、アプリケーション応答１６８０は、タスクの実行が成功しなかったことを示し、かつ／又は、タスクに関連する追加情報を更に提供する、自然言語表現１６８２（例えば、「カード残高が不足しています。続行するためにはアプリを開いてください。（Your card balance is insufficient. Open the app to continue.）」）を含む。一部の実施例では、デジタルアシスタント応答１６６４は、タスクの実行が成功したか否か（例えば、「何か不具合がありました。（Something went wrong.）」）を示す。一部の実施例では、デジタルアシスタント応答１６６４は、例えば、アプリケーションによって提供された情報をアプリケーション応答１６６６が含むこと（例えば、「コーヒーアプリが、このように言っています（The Coffee App says）」）を、ユーザに対して明らかにするために使用することができる。一部の実施例では、アプリケーションアフォーダンス１６８２の選択は、電子デバイス１６００に、そのタスクに関連付けられているアプリケーションを開かせる。説明されたように、この方式でアプリケーションを開くことにより、そのタスクに関連付けられている１つ以上のパラメータを、アプリケーションにプリロードさせることができる。
【０４５９】
一部の実施例では、この方式でアプリケーションから受信された応答を提供することにより、デジタルアシスタントは、アプリケーションを開くようにユーザに要求することなく、アプリケーションとユーザとの間の情報交換を提供することが可能となる。例えば、一部の実施例では、ユーザは、本来であればユーザがアプリケーションを開いて取得しなければならない可能性がある情報を、電子デバイスに要求することができる。
【０４６０】
例えば図１６Ｉを参照すると、ユーザは、バスの時刻表に関する情報を要求する、電子デバイス１６００への自然言語入力を提供することができる。次に、電子デバイス１６００は、そのタスクに対応しているアプリケーションに情報を取得させ、図１６Ｊに示されるように、その情報を応答として返させることができる。説明されたように、電子デバイス１６００によって提供される出力（例えば、出力１６８８）は、デジタルアシスタント応答１６９０及びアプリケーション応答１６９２などの、デジタルアシスタント応答及びアプリケーション応答を含み得る。
【０４６１】
一部の実施例では、ユーザは、タスクに対応する出力を電子デバイス１６００が提供する時間よりも前に、デジタルアシスタントインタフェースを終了する場合がある。したがって、一部の実施例では、電子デバイス１６００によって提供される出力は、ロック画面インタフェース上に表示することができる。図１６Ｋ、図１６Ｌを参照すると、電子デバイス１６００は、電子デバイス１６００が、それぞれロック状態（図１６Ｋ）又はアンロック状態（図１６Ｌ）のいずれかである場合のロック画面インタフェース上に、タスクに対応する出力を表示することができる。説明されたように、電子デバイス１６００は、電子デバイス１６００がロック状態にある場合、コンテンツを表示することを取り止めることができる。
【０４６２】
一部の実施例では、電子デバイスがインタフェースを表示する方式は、本明細書で説明されるように、電子デバイスのタイプに応じて決定される。一部の実施例では、例えば、電子デバイス１６００は、デジタルアシスタントインタフェース１６０４又はデジタルアシスタントインタフェース１６５４などのインタフェースを表示するために実用的ではない恐れがある、比較的小さいディスプレイを有するデバイスとして実装される場合がある。したがって、一部の実施例では、電子デバイス１６００は、前述のインタフェースに対する代替的インタフェースを表示することができる。
【０４６３】
図１６Ｍを参照すると、例えば、電子デバイス１６００は、ディスプレイ１６０１上に、デジタルアシスタントインタフェース１６０４Ａなどの、デジタルアシスタントインタフェース（例えば、会話インタフェース）を表示している。デジタルアシスタントインタフェース１６０４Ａを表示している間に、電子デバイス１６００は、自然言語入力１６０６Ａ（例えば、「ヘイ、Ｓｉｒｉ、私にコーヒーを。（Hey Siri, coffee me.）」）を受信する（例えば、取得する、キャプチャする）。一部の実施例では、自然言語入力１６０６Ａは、例えば、電子デバイスの入力デバイス（例えば、マイクロフォン）を使用して受信される、自然言語発話入力である。図１６Ｍに示されるように、自然言語入力１６０８Ａが自然言語発話入力である一部の実施例では、デジタルアシスタントインタフェースは、その自然言語入力１６０６Ａのプレビュー１６０８Ａ（例えば、ライブプレビュー）を任意選択的に含む。
【０４６４】
図１６Ｎでは、自然言語入力１６０６Ａに応答して、電子デバイス１６００は、自然言語入力１６０６Ａに関連付けられるタスクの確認を要求する、確認インタフェース１６１０Ａを表示する。確認インタフェース１６１０Ａは、確認アフォーダンス１６１２Ａ及びキャンセルアフォーダンス１６１４Ａを含む。確認インタフェースは、更に、そのタスクに関連付けられているコンテンツ１６１８Ａを含み得る。一部の実施例では、キャンセルアフォーダンス１６１４Ａの選択は、電子デバイス１６００に、確認インタフェース１６１０Ａの表示を中止させ、及び／又は、特定されたタスクを実行することを取り止めさせる（一部の実施例では、タスクを実行することは、別のデバイスにタスクを実行させることを含み得る点を想起されたい）。コンテンツ１６１８Ａは、タスクを実行するために使用される１つ以上のパラメータなどの、そのタスクを対象とする情報を含み得る。図１６Ｎに示されるように、例えば、コンテンツ１６１８Ａは、そのタスクが、Ｈｏｍｅｓｔｅａｄ  Ｒｄに位置している仕事場からのラージのラッテコーヒーの注文を目的とするものであることを、指定し得る。
【０４６５】
一部の実施例では、例えばユーザ入力１６２０Ａによる、確認アフォーダンス１６１２Ａの選択に応答して、電子デバイス１６００は、タスクを実行する。図１６Ｏに示されるように、一部の実施例では、電子デバイス１６００がタスクを実行している間に、電子デバイス１６００は、タスクが実行中であることを示すプロセスインジケータ１６１４Ａ を表示する。一部の実施例では、プロセスインジケータ１６１５Ａの表示は、確認アフォーダンス１６１２Ａ及びキャンセルアフォーダンス１６１４Ａの表示に置き換わるものである。
【０４６６】
タスクが実行されると、電子デバイス１６００は、そのタスクの実行が成功したか否かを示す出力を提供する。図１６Ｐの実施例では、タスクの実行が成功しており、結果として、電子デバイス１６００は、そのタスクの実行が成功したことを示す、成功インジケータ１６１６Ａを表示する。一部の実施例では、成功インジケータ１６１６Ａの表示は、プロセスインジケータ１６１５Ａの表示に置き換わるものである。
【０４６７】
図１６Ｑの実施例では、タスクの実行が成功しておらず、結果として、電子デバイスは、失敗インタフェース１６２０Ａを表示する。失敗インタフェース１６２０Ａは、再試行アフォーダンス１６２２及びキャンセルアフォーダンス１６２４Ａを含む。失敗インタフェースは、コンテンツ１６３０Ａを更に含む。一部の実施例では、再試行アフォーダンス１６２２Ａの選択は、電子デバイス１６００に、再度そのタスクを実行させる。一部の実施例では、キャンセルアフォーダンス１６２４Ａの選択は、電子デバイス１６００に、失敗インタフェース１６２０Ａの表示を中止させる。コンテンツ１６３０Ａは、タスクを実行するために使用される１つ以上のパラメータなどの、そのタスクを対象とする情報を含み得る。一部の実施例では、コンテンツ１６３０Ａは、コンテンツ１６１８Ａと同じコンテンツである。一部の実施例では、コンテンツ１６３０Ａは、コンテンツ１６１８Ａとは異なる。コンテンツ１６３０Ａは、例えば、電子デバイスがタスクの実行を成功させることができなかったこと（例えば、「エラーが発生しました。再試行してください。（There was an error. Please try again.）」）を示し得る。
【０４６８】
図１６Ｒに示される実施例では、電子デバイス１６００は、自然言語入力（例えば、「ヘイ、Ｓｉｒｉ、私にコーヒーを。（Hey Siri, coffee me.）」）を受信し、その自然言語入力に対応するタスクの実行を成功させ、それに応答して、成功インタフェース１６６０Ａを表示する。成功インタフェース１６６０Ａは、デジタルアシスタント応答１６６４Ａ及びアプリケーション応答１６６６Ａを含む、出力１６６２Ａを含む。一部の実施例では、アプリケーション応答１６６６Ａは、タスクの実行に続いてアプリケーションによって提供された応答の、少なくとも一部分である。一部の実施例では、アプリケーション応答１６６６Ａは、コンテンツ及び／又は１つ以上の自然言語表現を含む。図１６Ｒに示されるように、例えば、アプリケーション応答１６６６Ａは、タスクの実行が成功したことを示し、かつ／又は、タスクに関連する追加情報を提供する、自然言語表現１６６８Ａ（例えば、「ラージラッテは２０分でお受け取りとなります。（Large latte ready in 20 min.）」）を含む。コンテンツ１６７０Ａなどの、アプリケーション応答のコンテンツは、画像、動画、及び／又は対話型コンテンツ（例えば、対話型の地図）などの、任意のタイプのコンテンツを含み得る。この方式で、アプリケーションは、タスクに関連する追加情報を更に指定することができる。一部の実施例では、デジタルアシスタント応答１６６４Ａは、タスクの実行が成功したか否か（例えば、「了解、注文しました。（OK ordered.）」）を示す。一部の実施例では、デジタルアシスタント応答１６６４Ａは、例えば、アプリケーションによって提供された情報をアプリケーション応答１６６６Ａが含むこと（例えば、「コーヒーアプリが、このように言っています（The Coffee App says）」）を、ユーザに対して明らかにするために使用することができる。
【０４６９】
図１６Ｓの実施例では、タスクの実行は成功していない（例えば、電子デバイス１６００は、タスクを実行することに失敗した）。したがって、電子デバイスは、失敗インタフェース１６７４Ａを表示する。失敗インタフェース１６７４Ａは、デジタルアシスタント応答１６７８Ａ及びアプリケーション応答１６８０Ａを含む、出力１６７６Ａを含む。一部の実施例では、アプリケーション応答１６８０Ａは、タスクの実行に続いてアプリケーションによって提供された応答の、少なくとも一部分である。一部の実施例では、アプリケーション応答１６８０Ａは、コンテンツ及び／又は１つ以上の自然言語表現を含む。図１６Ｓに示されるように、例えば、アプリケーション応答１６８０Ａは、タスクの実行が成功しなかったことを示し、かつ／又は、タスクに関連する追加情報（例えば、現在のデバイスが、タスクを実行したアプリケーションを開くことができないこと）を更に提供する、自然言語表現１６８２Ａ（例えば、「あなたの電話で続行してください。（Continue on your phone.）」）を含む。一部の実施例では、デジタルアシスタント応答１６６４Ａは、タスクの実行が成功したか否か（例えば、「うーん、何か不具合がありました。（Hmm, something went wrong.）」）を示す。一部の実施例では、デジタルアシスタント応答１６６４Ａは、例えば、アプリケーションによって提供された情報をアプリケーション応答１６６６Ａが含むこと（例えば、「コーヒーアプリが、このように言っています（The Coffee App says）」）を明らかにするために使用することができる。
【０４７０】
図１７は、様々な実施例による、デジタルアシスタントを使用してタスクを実行するための方法１７００を示す。方法１７００は、例えば、デジタルアシスタントを実装する１つ以上の電子デバイスを使用して実行される。一部の実施例では、方法１７００は、クライアント−サーバシステム（例えば、システム１００）を使用して実行され、方法１７００のブロックは、サーバ（例えば、ＤＡサーバ１０６）とクライアントデバイスとの間で、任意の方式で割り振られる。他の実施例では、方法１７００のブロックは、サーバと複数のクライアントデバイス（例えば、携帯電話及びスマートウォッチ）との間で割り振られる。それゆえ、方法１７００の諸部分は、本明細書ではクライアント−サーバシステムの特定のデバイスによって実行されるように説明されているが、方法１７００は、そのように限定されるものではないことが理解されるであろう。他の実施例では、方法１７００は、クライアントデバイス（例えば、ユーザデバイス１０４）のみを使用して、又は複数のクライアントデバイスのみを使用して実行される。方法１７００では、一部のブロックは任意選択的に組み合わされ、一部のブロックの順序は任意選択的に変更され、一部のブロックは任意選択的に省略される。一部の実施例では、方法１７００と組み合わせて、追加的ステップを実行することができる。
【０４７１】
本明細書で説明されるように、タスクを実行し、アプリケーションからの応答を提供することにより、デジタルアシスタントは、アプリケーションを開くことを必要とせずに、タスクを実行し、ユーザにタスクのフィードバックを提供することが可能となる。したがって、ユーザは、アプリケーションを開くことも、又は他の方式でアプリケーションに直接アクセスすることもなく、アプリケーションと対話することができる。結果として、ユーザが電子デバイスを操作するために必要とされる入力の数及び時間が（例えば、デバイスを操作／デバイスと対話する際に、適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって）減少し、更には、電力使用量が低減され、デバイスのバッテリ寿命が向上する。
【０４７２】
一部の実施例では、電子デバイスは、キーボード、マウス、マイクロフォン、ディスプレイ、及びタッチ感知面のうちの１つ以上を含む。一部の実施例では、ディスプレイは、タッチ感知ディスプレイである。他の実施例では、ディスプレイは、タッチ感知ディスプレイではない。
【０４７３】
ブロック１７０５で、電子デバイスは、デジタルアシスタントを使用して、自然言語発話入力（例えば、発話された発言）を受信する（１６０６）。
【０４７４】
ブロック１７１０で、電子デバイスは、その自然言語発話入力に関連付けられている音声ショートカットを決定する。
【０４７５】
ブロック１７１５で、電子デバイスは、その音声ショートカットに対応するタスクを決定する。一部の実施例では、このタスクは、第三者サービスからの情報に関する要求である。一部の実施例では、電子デバイスは、自然言語発話入力が音声ショートカットに関連付けられていると判定し、その音声ショートカットに関連付けられているタスクを決定する。
【０４７６】
ブロック１７２０で、電子デバイスは、アプリケーション（例えば、第一者アプリケーション、第三者アプリケーション）に、そのタスクの実行を開始させる。一部の実施例では、アプリケーション（例えば、第一者アプリケーション、第三者アプリケーション）にタスクの実行を開始させることは、タスク実行アニメーションを表示することを含む。一部の実施例では、タスク実行アニメーションは、タスクの実行が生じていることを示すように、円形のオブジェクト（１６１５）を回転させることを含む。一部の実施例では、アプリケーション（例えば、第一者アプリケーション、第三者アプリケーション）にタスクの実行を開始させることは、タスクの実行を確認するようにユーザを促すことを含む。一部の実施例では、タスクが決定されると、電子デバイスは、そのタスクの実行をユーザが確認することを要求する、確認インタフェース（１６１０、１６１０Ａ）を表示する。一部の実施例では、この確認インタフェースは、ユーザが確認することが可能なアフォーダンス（１６１２、１６１２Ａ）を含み、任意選択的に、ユーザが電子デバイスに確認インタフェースの表示を中止させ、タスクを実行することを取り止めさせることが可能な、キャンセルアフォーダンス（１６１４、１６１４Ａ）を更に含む。
【０４７７】
ブロック１７２５で、電子デバイスは、アプリケーションから、そのタスクに関連付けられている応答を受信する。一部の実施例では、第三者アプリケーションなどのアプリケーションを使用してタスクが実行される場合、そのアプリケーションは、タスクが成功したか否かを示す応答（１６６６、１６８０、１６９２）を提供する。一部の実施例では、この応答は、タスクの実行が成功したか又は失敗したかを、明示的に示す。一部の実施例では、この応答は、要求されていた情報を含み（例えば、そのタスクは、バスの時刻表に関する要求に応答して、そのバスの時刻表を取得することであった）、その要求されていた情報の返信は、そのタスクが成功したことを暗黙的に示すものである。
【０４７８】
一部の実施例では、応答を受信した後に、電子デバイスは、そのアプリケーションに関連付けられているアプリケーションユーザインタフェース（１６６０）を表示する。一部の実施例では、アプリケーションにタスクを実行させた後、電子デバイスは、そのアプリケーションに関連付けられている情報、及び任意選択的に、そのタスクに関連付けられている情報を表示する。例として、特定の場所への道順を取得するタスク関しては、電子デバイスは地図を表示し、その地図は、選択された場合に、関連の地図アプリケーションの実行を引き起こす。一部の実施例では、このユーザインタフェースの１つ以上の態様は、アプリケーションによって指定される。一部の実施例では、このユーザインタフェースは、文字列、グラフィック、アニメーション、又はそれらの組み合わせである。一部の実施例では、第三者アプリケーションなどのアプリケーションが、アプリケーションユーザインタフェース内に表示するためのコンテンツ（例えば、成功した商取引に応答して、「ありがとうございます（Thank you）」と述べるグラフィック）を提供する。一部の実施例では、アプリケーションユーザインタフェースは、タスクの実行が成功したか否かを示す出力を含む。一部の実施例では、アプリケーションユーザインタフェースは、この出力と同時に表示される。
【０４７９】
ブロック１７３０で、電子デバイスは、応答に基づいて、タスクの実行が成功したか否かを判定する。
【０４８０】
ブロック１７３５で、電子デバイスは、タスクの実行が成功したか否かを示す出力を提供する。一部の実施例では、タスクの実行が成功したか否かを示す出力を提供することは、タスクの実行が成功したという判定に従って、そのタスクの実行が成功したというインジケーションを表示することと、タスクの実行が成功しなかったという判定に従って、そのタスクの実行が成功しなかったというインジケーションを表示することとを含む。一部の実施例では、電子デバイスは、タスクの実行が成功したか否かを示す記号（例えば、成功の場合のチェックマーク、失敗の場合の「×」）を表示する。一部の実施例では、電子デバイスは、チェックマーク（１６１６）を表示して、タスクの実行が成功したことを示す。一部の実施例では、電子デバイスは、タスクが失敗したことを示す「×」を表示する。一部の実施例では、電子デバイスは、タスクが失敗したことを示すメッセージ（例えば、「問題が発生しました。再試行してください。（There was a problem. Please try again.）」）を表示する。一部の実施例では、電子デバイスは、応答に基づいて自然言語出力を生成し、デジタルアシスタントを使用して、自然言語出力を提供する（例えば、出力する、表示する）。一部の実施例では、タスクの実行が成功しなかったという判定に更に従って、電子デバイスは、失敗ユーザインタフェース（１６２０）を表示する。
【０４８１】
一部の実施例では、出力を提供することは、応答に基づいて自然言語出力（１６６２、１６７６）を生成し、デジタルアシスタントを使用して、自然言語出力を提供することを含む。一部の実施例では、自然言語出力を提供する（例えば、出力する、表示する）ことは、音声発話出力を提供することを含む。一部の実施例では、自然言語出力を提供することは、その自然言語出力を表示することを含む。一部の実施例では、自然言語出力は、アプリケーションに対する言及を含む。一部の実施例では、自然言語出力は、アプリケーションの名前又はニックネームを含む。一部の実施例では、応答は、自然言語表現を含むものであり、自然言語出力は、第三者自然言語表現（例えば、１６６６、「了解、注文しました。Ｓｔａｒｂｕｃｋｓは『あなたの注文は５分でお受け取りとなります』と言っています（Okay, ordered. Starbucks says 'Your order will be ready in 5 minutes）」）を含む。一部の実施例では、応答は、自然言語表現（１６６８、１６８２）を含み、自然言語出力は、その自然言語表現の少なくとも一部分を含む。一部の実施例では、自然言語出力は、アプリケーションによってタスクの実行が成功しなかったこと（例えば、「何か不具合がありました。Ｓｔａｒｂｕｃｋｓは『残高が不足しています』と言っています。（Something went wrong. Starbucks says 'You have insufficient funds.'）」）を示す。一部の実施例では、自然言語出力は、アプリケーションによってタスクの実行が成功したことを示す。
【０４８２】
本明細書で説明されるように出力を提供することにより、デジタルアシスタントは、例えば、ユーザとデジタルアシスタントとの間のダイアログ（例えば、対話型ダイアログ）の過程において、アプリケーションからのフィードバック及び／又は他の情報を、直感的かつ柔軟な方式で提供することが可能となる。例として、デジタルアシスタントは、アプリケーションからユーザに自然言語表現を提供する（例えば、中継する）ことができるため、ユーザは、アプリケーションを開くことも、又は他の方式でアプリケーションに直接アクセスすることもなく、そのアプリケーションと対話することができる。したがって、この方式で自然言語出力を提供することにより、ユーザが電子デバイスを操作するために必要とされる入力の数及び時間が（例えば、デバイスを操作／デバイスと対話する際に、適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって）減少し、更には、電力使用量が低減され、デバイスのバッテリ寿命が向上する。
【０４８３】
一部の実施例では、失敗ユーザインタフェースは、再試行アフォーダンス（１６２２）を含む。一部の実施例では、電子デバイスは、再試行アフォーダンスの選択に対応するユーザ入力を検出し、その再試行アフォーダンスの選択に対応するユーザ入力の検出に応答して、タスクの実行をアプリケーションに開始させる。
【０４８４】
一部の実施例では、失敗ユーザインタフェースは、キャンセルアフォーダンス（１６２４）を含む。一部の実施例では、電子デバイスは、キャンセルアフォーダンスの選択に対応するユーザ入力を検出し、そのキャンセルアフォーダンスの選択に対応するユーザ入力に応答して、失敗ユーザインタフェースの表示を中止する。
【０４８５】
一部の実施例では、失敗ユーザインタフェースは、アプリケーション起動アフォーダンス（１６２６、１６２８）を含む。一部の実施例では、電子デバイスは、アプリケーション起動アフォーダンスの選択に対応するユーザ入力を検出し、そのアプリケーション起動アフォーダンスの選択に対応するユーザ入力に応答して、アプリケーションを起動する（例えば、実行する、開く）。一部の実施例では、ユーザは、（１）アプリケーション起動アフォーダンス、又は（２）アプリケーションに関連付けられているアイコンを選択することにより、アプリケーションを起動する。
【０４８６】
一部の実施例では、タスクの実行が成功したという判定に更に従って、電子デバイスは、タスク成功アニメーションを表示する。一部の実施例では、タスク成功アニメーションは、形状（例えば、正方形、円）に「チェックマークが付けられる」こと（１６１６）を含む。
【０４８７】
図１７を参照して上述された動作は、任意選択的に、図１〜図４、図６Ａ、図６Ｂ、及び図７Ａ〜図７Ｃに示される構成要素によって実施される。例えば、方法１９００の動作は、限定するものではないが、デバイス１０４、２００、４００、６００、及びデバイス１６００を含めた、本明細書で説明される任意のデバイス（又は、その構成要素）によって実施することができる。図１〜図４、図６Ａ、図６Ｂ、及び図７Ａ〜図７Ｃに示される構成要素に基づいて、どのように他のプロセスが実施されるかは、当業者には明らかであろう。
【０４８８】
図１２に関連して説明されたように、電子デバイスは、その電子デバイスのコンテキストに基づいて提案を提供することができる。しかしながら、一部の場合には、他のタイプの情報（例えば、ユーザ固有情報）も使用して、タスク提案を提供することが望ましい場合がある。例として、以下で更に詳細に説明されるように、ユーザのキュー（例えば、ＴＶ番組のエピソードのプレイリスト）の進捗を示す情報を、コンテキストデータと組み合わせて使用することにより、タスク提案を提供することができる。
【０４８９】
例示的動作では、電子デバイスは、アプリケーション（例えば、メディアストリーミングアプリケーション）から、ユーザに関する、そのアプリケーションによって特定されたメディアアイテム（例えば、曲、ビデオ、アルバム、プレイリストなどのコンテンツ）のセットなどの情報（例えば、ユーザ固有情報）を、受信することができる。この情報は、例えば、アプリケーションに提供されたＡＰＩ呼び出しに応答して、受信することができる。一部の実施例では、このアプリケーションは、第三者アプリケーション（例えば、Ｎｅｔｆｌｉｘ）である。一部の実施例では、このアプリケーションは、インターネットなどのネットワークを介して電子デバイスに通信可能に結合されている、リモートメディア予測サービスなどのリモートアプリケーションである。この情報は、タスク提案の予測よりも前に、随時受信することができる。
【０４９０】
一部の実施例では、それらのメディアアイテムのセットは、アプリケーションによってユーザに推奨されているメディアアイテムを含む。アイテムは、ユーザによってアクセスされた以前のメディアアイテムに基づいて、推奨することができる。一例として、アプリケーションは、ユーザによってアクセスされたプレイリスト内の、現在又は次の曲を推奨することができる。別の例として、アプリケーションは、以前にアクセスされたメディアアイテムと同じカテゴリを共有しているメディアアイテムなどの、以前にアクセスしたメディアアイテムに関連しているアイテムを推奨することができる。カテゴリとしては、例えば、ジャンル（例えば、ヒップホップ）、年代（例えば、９０年代）、アクティビティ（例えば、学習、トレーニング）、ムード（例えば、楽しい）、休日（例えば、クリスマス）を挙げることができる。
【０４９１】
一部の実施例では、メディアアイテムのセットは、メディアアイテムのリストとして提供される。一部の実施例では、メディアアイテムのセットは、ベクトルとして提供される。一部の実施例では、メディアアイテムのセットは、そのメディアアイテムのセットのうちの１つ以上のメディアアイテムを説明する、再生データと組み合わせて提供される。この再生データは、任意選択的に、そのメディアアイテムの再生に関する１つ以上の態様を指定し得る。一例として、再生データは、それらメディアアイテムのうちの１つ以上における特定の時間（例えば、ユーザがメディアアイテムの再生を中止した時間）を指定し得る。別の例として、再生データは、再生に関する言語、及び／又は字幕を表示するか否かを指定し得る。更に別の例として、再生データは、メディアアイテムの再生に関する解像度及び／又はビットレートを示し得る。
【０４９２】
本明細書では、１つのアプリケーションから１つのメディアアイテムのセットを受信する電子デバイスに関連して説明されているが、電子デバイスは、任意数のアプリケーションから任意数のメディアアイテムのセットを受信することができる点が理解されるであろう。説明された方式で（例えば、ＡＰＩ呼び出しに応答して）受信されるメディアアイテムのセットは、周期的に、及び／又はイベントに応答して受信することができる。一部の実施例では、電子デバイスは、タスク提案を選択的に提供する前に、１つ以上のメディアアイテムのセットを要求する。
【０４９３】
一部の実施例では、電子デバイスがメディアアイテムのセットを受信すると、電子デバイスは、図１２を参照して説明されたように、そのメディアアイテムのセット及び／又は電子デバイスのコンテキストデータに基づいて、１つ以上のタスク提案を提供するか否かを判定する。
【０４９４】
一例として、メディアアイテムのセットを受信することに加えて、電子デバイスは、その電子デバイスに関連付けられたコンテキストデータを受信し、それらメディアアイテムのセット及びコンテキストデータに基づいて、１つ以上のタスクを決定する。それら１つ以上のタスクのうちの少なくとも１つは、例えば、そのメディアアイテムのセットのうちの１つのメディアアイテムの再生に対応し得る。一部の実施例では、このメディアアイテムの再生に対応するタスクの１つ以上のパラメータは、再生データに基づき得る。例として、このタスクは、特定の時間におけるメディアアイテムの再生に対応し得る。
【０４９５】
その後、電子デバイスは、説明されたように、それら１つ以上のタスクのうちのいずれかが、提案基準を満たしているか否かを判定する。提案基準を満たしている１つ以上のタスクのそれぞれに関して、電子デバイスは、説明されたように、タスク提案を提供し、電子デバイスのディスプレイ上に、そのタスク提案に対応する提案アフォーダンスを表示する。
【０４９６】
別の例として、電子デバイスは、タスクを決定し、１つ以上のメディアアイテムを使用して、そのタスクを選択的に修正する。例えば、メディアアイテムのセットを受信することに加えて、電子デバイスは、コンテキストデータを受信し、そのコンテキストデータに基づいてタスクを決定する。そのタスクがメディアアイテムの再生に対応する場合、そのタスクは、メディアアイテムのセットのうちの１つのメディアアイテム、及び／又は複数のメディアアイテムのうちの１つのメディアアイテムのパラメータを含むように、修正することができる。一部の実施例では、タスクは、そのタスクが提案基準を満たしているか否かを判定する前に修正される。一部の実施例では、タスクは、そのタスクが提案基準を満たしているか否かを判定した後に修正される。
【０４９７】
図１８Ａ〜図１８Ｄは、一部の実施形態による、電子デバイス（例えば、デバイス１０４、デバイス１２２、デバイス２００、デバイス６００、又はデバイス７００）上にメディアアイテム提案アフォーダンスを提供するための、例示的なユーザインタフェースを示す。これらの図中のユーザインタフェースは、図１９でのプロセスを含めた、以下で説明されるプロセスを例示するために使用される。
【０４９８】
図１８Ａは、電子デバイス１８００（例えば、デバイス１０４、デバイス１２２、デバイス２００、デバイス６００、又はデバイス７００）を示す。図１８Ａ〜図１８Ｄに示される非限定的な例示的実施形態では、電子デバイス１８００は、スマートフォンである。他の実施形態では、電子デバイス１８００は、ウェアラブルデバイス（例えば、スマートウォッチ）などの、異なるタイプの電子デバイスとすることができる。一部の実施例では、電子デバイス１８００は、ディスプレイ１８０１、１つ以上の入力デバイス（例えば、ディスプレイ１８０１のタッチスクリーン、ボタン、マイクロフォン）、及び無線通信装置を有する。一部の実施例では、電子デバイス１８００は、複数のカメラを含む。一部の実施例では、この電子デバイスは、１つのみのカメラを含む。一部の実施例では、この電子デバイスは、赤外線カメラ、サーモグラフィカメラ、又はそれらの組み合わせなどのカメラを任意選択的に含む、１つ以上のバイオメトリックセンサ（例えば、バイオメトリックセンサ１８０３）を含む。
【０４９９】
図１８Ａでは、電子デバイス１８００は、電子デバイスがアンロック状態にある間、ディスプレイ１８０１上に、ロック画面インタフェース１８０４などのロック画面インタフェースを表示する。ロック画面インタフェース１８０４は、提案アフォーダンス１８０６及び通知１８０８を含む。一部の実施例では、選択アフォーダンス１８０６の選択は、図８Ａ〜図８ＡＦに関連して説明されたように、電子デバイス１８００に、その提案アフォーダンスに関連付けられているタスクを選択的に実行させる。提案アフォーダンス１８０６は、メディア再生アプリケーション（例えば、ＴＶアプリ）でのメディアアイテム（例えば、シリコンバレー（Silicon Valley）のシーズン２のエピソード３）の再生に関するタスクに対応している。一部の実施例では、通知１８０８の選択は、電子デバイスに、その通知に関連付けられているアプリケーションを開かせる。
【０５００】
一部の実施例では、例えばユーザ入力１８１４による、提案アフォーダンス１８０６の選択に応答して、電子デバイス１８００は、タスクを実行する。図１８Ｂに示されるように、電子デバイス１８００は、提案アフォーダンス１８０６に関連付けられているメディアアイテム（例えば、シリコンバレーのシーズン２のエピソード３）の再生を開始する。
【０５０１】
一部の実施例では、提案アフォーダンスは、検索画面上に表示することができ、及び／又は、電子デバイスの検索機能を使用して検索可能とすることもできる。図１８Ｃでは、例えば、電子デバイス１８００は、検索インタフェース１８２０を表示している。検索インタフェース１８２０を表示している間に、検索文字列（例えば、「Ｓ」）の入力に応答して、電子デバイス１８００は、提案アフォーダンス１８２２、１８２８、１８３２、連絡先結果１８３４、及びメール結果１８３６を含む、検索結果を返す。一部の実施例では、提案アフォーダンスは、他の全ての結果よりも上方に提示される。したがって、提案アフォーダンス１８２２、１８２８、及び提案アフォーダンス１８３２は、検索インタフェース１８２０内で、連絡先結果１８３４及びメール結果１８３６よりも上方に提示される。
【０５０２】
一部の実施例では、メディアアイテムの再生に関するタスクに対応している提案アフォーダンスは、他の提案アフォーダンスとは異なる方式で表示される。図１８Ｃに示されるように、例えば、提案アフォーダンス１８２２は、メディアアイコン１８２４及び再生グリフ１８２６を含む。一部の実施例では、アイコン１８２４は、他の提案アフォーダンスのアイコン（例えば、提案アフォーダンス１８２８のアイコン１８３０、提案アフォーダンス１８３２のアイコン１８３４）に比べて、相対的に大きいものとすることができる。アイコン１８２４は、更に、映像フレームなどの、そのメディアアイテムに関連付けられている画像を含み得る。再生グリフ１８２６は、メディアタスクカテゴリに対応するタスクに、提案アフォーダンス１８２２が対応していることを示し得る。
【０５０３】
一部の実施例では、例えばユーザ入力１８３６による、提案アフォーダンス１８２２の選択に応答して、電子デバイス１８００は、提案アフォーダンス１８２２に関連付けられている拡張インタフェース１８５０を表示する。一部の実施例では、ユーザ入力１８３６は、所定のタイプのタッチ入力（例えば、閾値強度又は閾値持続時間を満たすタッチ入力）である。図１８Ｄを参照すると、拡張インタフェース１８５０は、一部の実施例では提案インタフェース１８２２に対応する、提案アフォーダンス１８３８を含む。一部の実施例では、提案アフォーダンス１８３８は、アイコン１８２４に対応するアイコン１８４０、及び、アイコン１８２６に対応する再生グリフ１８４２を含む。一部の実施例では、アイコン１８４０は、映像フレームなどの、そのメディアアイテムに関連付けられている画像を含む。一部の実施例では、アイコン１８２２及びアイコン１８４０は、同じ画像を含む。一部の実施例では、提案アフォーダンス１８３８のアイコン１８４０は、アイコン１８２４よりも大きい。一部の実施例では、拡張ビューインタフェース１８５０の表示は、電子デバイス１８００のディスプレイの１つ以上の部分を、ぼやけさせ、暗くさせ、及び／又は他の方式で不明瞭化させる。
【０５０４】
図１９は、様々な実施例による、メディアアイテム提案を提供するための方法１９００を示す。方法１９００は、例えば、デジタルアシスタントを実装する１つ以上の電子デバイスを使用して実行される。一部の実施例では、方法１９００は、クライアント−サーバシステム（例えば、システム１００）を使用して実行され、方法１９００のブロックは、サーバ（例えば、ＤＡサーバ１０６）とクライアントデバイスとの間で、任意の方式で割り振られる。他の実施例では、方法１９００のブロックは、サーバと複数のクライアントデバイス（例えば、携帯電話及びスマートウォッチ）との間で割り振られる。それゆえ、方法１９００の諸部分は、本明細書ではクライアント−サーバシステムの特定のデバイスによって実行されるように説明されているが、方法１９００は、そのように限定されるものではないことが理解されるであろう。他の実施例では、方法１９００は、クライアントデバイス（例えば、ユーザデバイス１０４）のみを使用して、又は複数のクライアントデバイスのみを使用して実行される。方法１９００では、一部のブロックは任意選択的に組み合わされ、一部のブロックの順序は任意選択的に変更され、一部のブロックは任意選択的に省略される。一部の実施例では、方法１９００と組み合わせて、追加的ステップを実行することができる。
【０５０５】
以下で説明されるように、タスクに対応する提案アフォーダンスを、本明細書で説明されるように選択的に提供することにより、ユーザは、電子デバイス上で、そのユーザに関連するタスクを効率的かつ簡便に実行することが可能となる。例として、電子デバイスによって表示される提案アフォーダンスは、ユーザのメディア消費及び／又は判定されたメディア選好に基づいて特定される、タスクに対応し得る。それゆえ、この方式で選択的に提案を提供することにより、ユーザが電子デバイスを操作するために必要とされる入力の数及び時間が（例えば、デバイスを操作／デバイスと対話する際に、適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって）減少し、更には、電力使用量が低減され、デバイスのバッテリ寿命が向上する。
【０５０６】
一部の実施例では、電子デバイスは、キーボード、マウス、マイクロフォン、ディスプレイ、及びタッチ感知面のうちの１つ以上を含む。一部の実施例では、ディスプレイは、タッチ感知ディスプレイである。他の実施例では、ディスプレイは、タッチ感知ディスプレイではない。
【０５０７】
ブロック１９０５で、電子デバイスは、アプリケーションから複数のメディアアイテムを受信する。一部の実施例では、電子デバイスは、ＡＰＩ呼び出しを使用して、アプリケーション（例えば、第三者アプリケーション）から複数のメディアアイテムを要求する。一部の実施例では、ＡＰＩ呼び出しに応答して、アプリケーションは、そのアプリケーションによってユーザに推奨される今後のメディアアイテムのリスト（例えば、ベクトル）を返す。一部の実施例では、この方式で受信されるメディアアイテムとしては、アルバム、曲、ＴＶ番組、エピソード（又は、これらの任意の組み合わせのプレイリスト）を挙げることができる。一部の実施例では、アプリケーションから複数のメディアアイテムを受信することは、そのアプリケーションから複数のメディアアイテムを含むベクトルを受信することを含む。一部の実施例では、各メディアアイテムは、それぞれのメディアアイテム又はメディアアイテムのセットについての情報を含む、コンテナである。一部の実施例では、アプリケーションから複数のメディアアイテムを受信することは、そのアプリケーションとは異なる別のアプリケーションを表示している間に、複数のメディアアイテムを受信することを含む。一部の実施例では、アプリケーションから複数のメディアアイテムを受信する前に、電子デバイスは、そのアプリケーションに複数のメディアアイテムを要求する。一部の実施例では、メディアアイテムは、提案が予測された時点で、要求／受信される。一部の実施例では、メディアアイテムは、ユーザによってアプリケーションが開かれる際及び／又は閉じられる際に、要求／受信される。一部の実施例では、複数のメディアアイテムは、リモートアプリケーション（例えば、リモートメディア予測サービス）から受信される。一部の実施例では、複数のメディアアイテムは、電子デバイスに選択的に予測を提供させるイベントの前に受信される。
【０５０８】
ブロック１９１０で、電子デバイスは、その電子デバイスに関連付けられたコンテキストデータを受信する。一部の実施例では、電子デバイスは、その電子デバイスのコンテキスト情報を受信する。この方式で受信されるコンテキスト情報は、電子デバイスの位置、時刻、曜日などを含み得る。
【０５０９】
ブロック１９１５で、電子デバイスは、それら複数のメディアアイテム及びコンテキストデータに基づいて、タスクを決定する。一部の実施例では、このタスクは、複数のメディアアイテムのうちの１つのメディアアイテムの再生に関するタスクである。一部の実施例では、このタスクは、特定の再生時間を指定する。一部の実施例では、このタスクは、メディアアイテムの再生が、そのメディアアイテム内の特定の箇所（例えば、１：０２）で開始されることを指定することができる。一部の実施例では、電子デバイスは、説明されたように、複数の提案を生成する。１つ以上の提案タスクが、要求されたリスト内のメディアアイテムに対応している場合には、対応のメディアアイテムの再生に関する１つ以上のタスクが提供される。
【０５１０】
電子デバイスのコンテキスト及び複数のメディアアイテムに基づいて、タスク（例えば、タスク確率、パラメータ確率）を決定することは、本明細書で説明されるような、電子デバイスによって提供されるタスク提案が、ユーザによる電子デバイスの以前の使用のみならず、そのメディアドメインにおける将来の挙動についての直感的かつ適切な予測にもまた基づいて提供されることを保証するものである。このことはまた、ユーザ挙動を促進する可能性が比較的高い有力なタスク提案が、ユーザに提供されることを保証する。それゆえ、この方式で提案を提供することにより、ユーザが電子デバイスを操作するために必要とされる入力の数及び時間が（例えば、デバイスを操作／デバイスと対話する際に、適切な入力を提供するようにユーザを支援し、ユーザの誤りを削減することによって）減少し、更には、電力使用量が低減され、デバイスのバッテリ寿命が向上する。
【０５１１】
ブロック１９２０で、電子デバイスは、タスクが提案基準を満たしているか否かを判定する。一部の実施例では、電子デバイスは、特定されたタスクのうちのいずれかが、その電子デバイスのコンテキストデータ及び現在のコンテキストを所与として、それらタスクのうちの１つ以上を電子デバイスが提案として提供するべきであるような、確率的閾値を満たしているか否かを判定する。
【０５１２】
ブロック１９２５で、タスクが提案基準を満たしているという判定に従って、電子デバイスは、電子デバイスのディスプレイ上に、そのタスクに対応する提案アフォーダンス（１８０６）を表示する。
【０５１３】
ブロック１９３０で、タスクが提案基準を満たしていないという判定に従って、電子デバイスは、提案アフォーダンスを表示することを取り止める。
【０５１４】
一部の実施例では、このタスクは第１のタスクであり、この提案アフォーダンスは第１の提案アフォーダンスである。一部の実施例では、電子デバイスは、コンテキストデータに基づいて第２のタスクを決定し、その第２のタスクが提案基準を満たしているか否かを判定し、その第２のタスクが提案基準を満たしているという判定に従って、ディスプレイ上に、その第２のタスクに対応する第２の提案アフォーダンスを表示し、その第２のタスクが提案基準を満たしていないという判定に従って、第２の提案アフォーダンスを表示することを取り止める。
【０５１５】
一部の実施例では、このアプリケーションは第１のアプリケーションであり、タスクは、その第１のアプリケーションに関連付けられており、この提案アフォーダンスは、第１のアプリケーションとは異なる第２のアプリケーションに関連付けられている。一部の実施例では、メディアアイテムに関するタスクの提案を生成する際、電子デバイスは、その提案アフォーダンスに関するアプリケーションのレプリカをシミュレートする。この方式で、電子デバイスは、そのアプリケーションの現在再生中のアイテム、及び／又はキューに上書きすることなく、その提案に関する再生コントローラ及び／又はプレイリストを表示することができる。一部の実施例では、ユーザが提案を選択した場合には、電子デバイスは、提案されているメディアアイテム（単数又は複数）を使用して、アプリケーションの再生を開始する。
【０５１６】
一部の実施例では、第２の電子デバイスが、アプリケーション（例えば、リモートメディア予測サービス）を使用して、電子デバイス上で以前に再生された１つ以上のメディアアイテムを決定し、その決定された１つ以上のメディアアイテムに基づいて、複数のメディアアイテムを生成する。一部の実施例では、電子デバイスは、例えば同じユーザに関連付けられている、任意数のデバイス上で再生された、１つ以上のメディアアイテムを決定する。この方式では、提案を作成するために使用されるメディアは、そのユーザの全てのデバイス間で一貫している。一部の実施例では、メディアアイテムは、電子デバイスに通信可能に結合されているバックエンドサーバから受信される。一部の実施例では、複数のメディアアイテムを生成することは、電子デバイス上で以前に再生された１つ以上のメディアアイテムのうちの少なくとも１つのカテゴリ（例えば、ジャンル、年代、アクティビティ、ムード、休日）を特定し、その特定されたカテゴリに関連付けられているメディアアイテムを特定することを含む。
【０５１７】
図１９を参照して上述された動作は、任意選択的に、図１〜図４、図６Ａ、図６Ｂ、及び図７Ａ〜図７Ｃに示される構成要素によって実施される。例えば、方法１９００の動作は、限定するものではないが、デバイス１０４、２００、４００、６００、及びデバイス１８００を含めた、本明細書で説明される任意のデバイス（又は、その構成要素）によって実施することができる。図１〜図４、図６Ａ、図６Ｂ、及び図７Ａ〜図７Ｃに示される構成要素に基づいて、どのように他のプロセスが実施されるかは、当業者には明らかであろう。
【０５１８】
一部の実装形態によれば、コンピュータ可読記憶媒体（例えば、非一時的コンピュータ可読記憶媒体）が提供され、このコンピュータ可読記憶媒体は、電子デバイスの１つ以上のプロセッサによって実行される１つ以上のプログラムを記憶し、それら１つ以上のプログラムは、本明細書で説明される方法又はプロセスのうちのいずれかを実行する命令を含む。
【０５１９】
一部の実装形態によれば、本明細書で説明される方法又はプロセスのうちのいずれかを実行するための手段を備える、電子デバイス（例えば、ポータブル電子デバイス）が提供される。
【０５２０】
一部の実装形態によれば、本明細書で説明される方法又はプロセスのうちのいずれかを実行するように構成された処理ユニットを備える、電子デバイス（例えば、ポータブル電子デバイス）が提供される。
【０５２１】
一部の実装形態によれば、１つ以上のプロセッサと、その１つ以上のプロセッサによって実行するための１つ以上のプログラムを記憶しているメモリとを備え、それら１つ以上のプログラムが、本明細書で説明される方法又はプロセスのうちのいずれかを実行する命令を含む、電子デバイス（例えば、ポータブル電子デバイス）が提供される。
【０５２２】
前述の説明は、説明の目的上、特定の実施形態を参照して説明されている。しかしながら、上記の例示的な論考は、網羅的であること、又は、開示される厳密な形態に本発明を限定することを意図するものではない。上記の教示を鑑みて、多くの修正及び変形が可能である。これらの実施形態は、本技術の原理、及びその実際の適用を最も良好に説明するために、選択及び説明されたものである。それにより、他の当業者は、想到される具体的な用途に適するような様々な修正を使用して、本技術及び様々な実施形態を最も良好に利用することが可能となる。
【０５２３】
添付図面を参照して、本開示及び実施例を十分に説明してきたが、様々な変更及び修正が、当業者には明らかとなるであろうことに留意されたい。そのような変更及び修正は、特許請求の範囲によって定義されるような、本開示及び実施例の範囲内に含まれるものとして理解されたい。
【０５２４】
上述のように、本技術の一態様は、タスク提案を使用してユーザ挙動を促進するために、様々なソースから入手可能なデータを収集及び使用することである。本開示は、一部の場合には、この収集されたデータが、特定の人物を一意に特定する個人情報データ、又は、特定の人物に連絡するために、若しくはその人物の位置を特定するために使用することが可能な、個人情報データを含み得ることを想到している。そのような個人情報データとしては、人口統計データ、位置ベースのデータ、電話番号、電子メールアドレス、ツイッターＩＤ、自宅の住所、ユーザの健康又はフィットネスのレベルに関するデータ若しくは記録（例えば、バイタルサイン測定値、投薬情報、運動情報）、誕生日、あるいは任意の他の識別情報又は個人情報を挙げることができる。
【０５２５】
本開示は、本技術において、そのような個人情報データの使用を、ユーザの利益のために使用することができる点を認識するものである。例えば、個人情報データを使用することにより、ユーザがより興味を示すタスク提案を配信することができる。したがって、そのような個人情報データの使用は、ユーザによる、電子デバイスの促進されたより効率的な使用を可能にする。更には、ユーザに利益をもたらす、個人情報データに関する他の使用もまた、本開示によって想到される。例えば、健康データ及びフィットネスデータは、ユーザの全般的なウェルネスについての洞察を提供するために使用することができ、あるいは、ウェルネスの目標を追求するための技術を使用している個人への、積極的なフィードバックとして使用することもできる。
【０５２６】
本開示は、そのような個人情報データの収集、分析、開示、伝送、記憶、又は他の使用に関与するエンティティが、確固たるプライバシーポリシー及び／又はプライバシー慣行を遵守するものとなることを想到する。具体的には、そのようなエンティティは、個人情報データを秘密として厳重に保守するための、業界又は政府の要件を満たしているか又は上回るものとして一般に認識されている、プライバシーのポリシー及び慣行を実施し、一貫して使用するべきである。そのようなポリシーは、ユーザによって容易にアクセス可能とするべきであり、データの収集及び／又は使用が変化するにつれて更新されるべきである。ユーザからの個人情報は、そのエンティティの合法的かつ正当な使用のために収集されるべきであり、それらの合法的使用を除いては、共有又は販売されるべきではない。更には、そのような収集／共有は、ユーザに告知して同意を得た後に実施されるべきである。更には、そのようなエンティティは、そのような個人情報データへのアクセスを保護して安全化し、その個人情報データへのアクセスを有する他者が、それらのプライバシーポリシー及び手順を遵守することを保証するための、あらゆる必要な措置を講じることを考慮するべきである。更には、そのようなエンティティは、広く受け入れられているプライバシーのポリシー及び慣行に対する自身の遵守を証明するために、第三者による評価を自らが受けることができる。更には、ポリシー及び慣行は、収集及び／又はアクセスされる具体的な個人情報データのタイプに適合されるべきであり、また、管轄権固有の考慮事項を含めた、適用可能な法令及び規格に適合されるべきである。例えば、アメリカ合衆国では、特定の健康データの収集又はアクセスは、医療保険の相互運用性と説明責任に関する法律（Ｈｅａｌｔｈ  Ｉｎｓｕｒａｎｃｅ  Ｐｏｒｔａｂｉｌｉｔｙ  ａｎｄ  Ａｃｃｏｕｎｔａｂｉｌｉｔｙ  Ａｃｔ；ＨＩＰＡＡ）などの、連邦法及び／又は州法によって管理することができ、その一方で、他国における健康データは、他の規制及びポリシーの対象となり得るものであり、それに従って対処されるべきである。それゆえ、各国の異なる個人データのタイプに関して、異なるプライバシー慣行が保たれるべきである。
【０５２７】
前述のことがらにも関わらず、本開示はまた、個人情報データの使用又は個人情報データへのアクセスを、ユーザが選択的に阻止する実施形態も想到する。すなわち、本開示は、そのような個人情報データへのアクセスを防止又は阻止するように、ハードウェア要素及び／又はソフトウェア要素を提供することができると想到する。例えば、電子デバイスによって受信されるコンテキストデータ（図１２を参照して説明されたコンテキストデータなど）の場合、本技術は、ユーザが、サービスの登録中又はその後の任意の時点で、個人情報データの収集への参加の「オプトイン」又は「オプトアウト」を選択することが可能となるように、構成することができる。「オプトイン」及び「オプトアウト」の選択肢を提供することに加えて、本開示は、個人情報のアクセス又は使用に関する通知を提供することを想到する。例えば、ユーザには、アプリケーションをダウンロードする際に、自身の個人情報データがアクセスされることを通知することができ、次いで、そのアプリケーションによって個人情報データがアクセスされる直前に、再び注意を促すことができる。
【０５２８】
更には、本開示の意図は、個人情報データを、非意図的若しくは不正なアクセス又は使用の危険性を最小限に抑える方法で、管理及び処理するべきであるという点である。データの収集を制限し、データがもはや必要とされなくなった時点で削除することによって、危険性を最小限に抑えることができる。更には、適用可能な場合、特定の健康関連アプリケーションにおいて、ユーザのプライバシーを保護するために、データの非特定化を使用することができる。非特定化は、適切な場合、特定の識別子（例えば、生年月日など）を除去すること、記憶されるデータの量又は具体性を制御すること（例えば、位置データを、住所レベルではなく都市レベルで収集すること）、データがどのように記憶されるかを制御すること（例えば、ユーザ全体にわたってデータを集約すること）、及び／又は他の方法によって、容易にすることができる。
【０５２９】
それゆえ、本開示は、１つ以上の様々な開示された実施形態を実施するための、個人情報データの使用を広範に網羅するものではあるが、本開示はまた、そのような個人情報データにアクセスすることを必要とせずに、それらの様々な実施形態を実施することもまた可能であることを想到している。すなわち、本技術の様々な実施形態は、そのような個人情報データの全て又は一部分が欠如することにより、実施不可能となるものではない。例えば、タスク提案は、ユーザに関連付けられたデバイスによって要求されているコンテンツ、電子デバイスに入手可能な他の非個人情報、若しくは公的に入手可能な情報などの、非個人情報データ又は必要最小限の量の個人情報に基づいて、その電子デバイスの以前の使用の可能性を推測することによって、ユーザに提供することができる。
【図１】
2019212266.tif 000013
【図２Ａ】
2019212266.tif 000014
【図２Ｂ】
2019212266.tif 000015
【図３】
2019212266.tif 000016
【図４】
2019212266.tif 000017
【図５Ａ】
2019212266.tif 000018
【図５Ｂ】
2019212266.tif 000019
【図６Ａ】
2019212266.tif 000020
【図６Ｂ】
2019212266.tif 000021
【図６Ｃ】
2019212266.tif 000022
【図６Ｄ】
2019212266.tif 000023
【図６Ｅ】
2019212266.tif 000024
【図６Ｆ】
2019212266.tif 000025
【図６Ｇ】
2019212266.tif 000026
【図６Ｈ】
2019212266.tif 000027
【図７Ａ】
2019212266.tif 000028
【図７Ｂ】
2019212266.tif 000029
【図７Ｃ】
2019212266.tif 000030
【図８Ａ】
2019212266.tif 000031
【図８Ｂ】
2019212266.tif 000032
【図８Ｃ】
2019212266.tif 000033
【図８Ｄ】
2019212266.tif 000034
【図８Ｅ】
2019212266.tif 000035
【図８Ｆ】
2019212266.tif 000036
【図８Ｇ】
2019212266.tif 000037
【図８Ｈ】
2019212266.tif 000038
【図８Ｉ】
2019212266.tif 000039
【図８Ｊ】
2019212266.tif 000040
【図８Ｋ】
2019212266.tif 000041
【図８Ｌ】
2019212266.tif 000042
【図８Ｍ】
2019212266.tif 000043
【図８Ｎ】
2019212266.tif 000044
【図８Ｏ】
2019212266.tif 000045
【図８Ｐ】
2019212266.tif 000046
【図８Ｑ】
2019212266.tif 000047
【図８Ｒ】
2019212266.tif 000048
【図８Ｓ】
2019212266.tif 000049
【図８Ｔ】
2019212266.tif 000050
【図８Ｕ】
2019212266.tif 000051
【図８Ｖ】
2019212266.tif 000052
【図８Ｗ】
2019212266.tif 000053
【図８Ｘ】
2019212266.tif 000054
【図８Ｙ】
2019212266.tif 000055
【図８Ｚ】
2019212266.tif 000056
【図８ＡＡ】
2019212266.tif 000057
【図８ＡＢ】
2019212266.tif 000058
【図８ＡＣ】
2019212266.tif 000059
【図８ＡＤ】
2019212266.tif 000060
【図８ＡＥ】
2019212266.tif 000061
【図８ＡＦ】
2019212266.tif 000062
【図９Ａ】
2019212266.tif 000063
【図９Ｂ】
2019212266.tif 000064
【図１０Ａ】
2019212266.tif 000065
【図１０Ｂ】
2019212266.tif 000066
【図１０Ｃ】
2019212266.tif 000067
【図１０Ｄ】
2019212266.tif 000068
【図１０Ｅ】
2019212266.tif 000069
【図１０Ｆ】
2019212266.tif 000070
【図１０Ｇ】
2019212266.tif 000071
【図１０Ｈ】
2019212266.tif 000072
【図１０Ｉ】
2019212266.tif 000073
【図１０Ｊ】
2019212266.tif 000074
【図１０Ｋ】
2019212266.tif 000075
【図１０Ｌ】
2019212266.tif 000076
【図１０Ｍ】
2019212266.tif 000077
【図１０Ｎ】
2019212266.tif 000078
【図１０Ｏ】
2019212266.tif 000079
【図１０Ｐ】
2019212266.tif 000080
【図１０Ｑ】
2019212266.tif 000081
【図１０Ｒ】
2019212266.tif 000082
【図１０Ｓ】
2019212266.tif 000083
【図１０Ｔ】
2019212266.tif 000084
【図１０Ｕ】
2019212266.tif 000085
【図１０Ｖ】
2019212266.tif 000086
【図１０Ｗ】
2019212266.tif 000087
【図１０Ｘ】
2019212266.tif 000088
【図１０Ｙ】
2019212266.tif 000089
【図１０Ｚ】
2019212266.tif 000090
【図１０ＡＡ】
2019212266.tif 000091
【図１０ＡＢ】
2019212266.tif 000092
【図１０ＡＣ】
2019212266.tif 000093
【図１０ＡＤ】
2019212266.tif 000094
【図１０ＡＥ】
2019212266.tif 000095
【図１０ＡＦ】
2019212266.tif 000096
【図１０ＡＧ】
2019212266.tif 000097
【図１０ＡＨ】
2019212266.tif 000098
【図１０ＡＩ】
2019212266.tif 000099
【図１０ＡＪ】
2019212266.tif 000100
【図１１Ａ】
2019212266.tif 000101
【図１１Ｂ】
2019212266.tif 000102
【図１２】
2019212266.tif 000103
【図１３】
2019212266.tif 000104
【図１４】
2019212266.tif 000105
【図１５】
2019212266.tif 000106
【図１６Ａ】
2019212266.tif 000107
【図１６Ｂ】
2019212266.tif 000108
【図１６Ｃ】
2019212266.tif 000109
【図１６Ｄ】
2019212266.tif 000110
【図１６Ｅ】
2019212266.tif 000111
【図１６Ｆ】
2019212266.tif 000112
【図１６Ｇ】
2019212266.tif 000113
【図１６Ｈ】
2019212266.tif 000114
【図１６Ｉ】
2019212266.tif 000115
【図１６Ｊ】
2019212266.tif 000116
【図１６Ｋ】
2019212266.tif 000117
【図１６Ｌ】
2019212266.tif 000118
【図１６Ｍ】
2019212266.tif 000119
【図１６Ｎ】
2019212266.tif 000120
【図１６Ｏ】
2019212266.tif 000121
【図１６Ｐ】
2019212266.tif 000122
【図１６Ｑ】
2019212266.tif 000123
【図１６Ｒ】
2019212266.tif 000124
【図１６Ｓ】
2019212266.tif 000125
【図１７】
2019212266.tif 000126
【図１８Ａ】
2019212266.tif 000127
【図１８Ｂ】
2019212266.tif 000128
【図１８Ｃ】
2019212266.tif 000129
【図１８Ｄ】
2019212266.tif 000130
【図１９】
2019212266.tif 000131
【手続補正書】
【提出日】平成30年10月4日(2018.10.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
方法であって、
ディスプレイ及びタッチ感知面を有する電子デバイスにおいて、
前記ディスプレイ上に、タスクに関連付けられている提案アフォーダンスを含むユーザインタフェースを表示することと、
１つ以上の入力デバイスを介して、前記提案アフォーダンスの選択に対応する第１のユーザ入力を検出することと、
前記第１のユーザ入力の検出に応答して、
前記タスクが第１のタイプのタスクであるという判定に従って、前記タスクを実行することと、
前記タスクが前記第１のタイプとは異なる第２のタイプのタスクであるという判定に従って、確認アフォーダンスを含む確認インタフェースを表示することと、
を含む、方法。
【請求項２】
前記ディスプレイ上に、タスクに関連付けられている提案アフォーダンスを含むユーザインタフェースを表示することが、
前記タスクが前記第１のタイプのタスクであることに従って、グリフを有する前記提案アフォーダンスを表示することと、
前記タスクが前記第２のタイプのタスクであることに従って、グリフを有さない前記提案アフォーダンスを表示することと、を含む、請求項１に記載の方法。
【請求項３】
前記ディスプレイ上に、タスクに関連付けられている提案アフォーダンスを含むユーザインタフェースを表示することが、
前記タスクが第１のタスクのセットに対応しているという判定に従って、第１のタイプのグリフを有する前記提案アフォーダンスを表示することと、
前記タスクが前記第１のタスクのセットとは異なる第２のタスクのセットに対応しているという判定に従って、前記第１のタイプとは異なる第２のタイプのグリフを有する前記提案アフォーダンスを表示することと、
前記タスクが前記第１のタスクのセットに対応しておらず、かつ前記第２のタスクのセットに対応していないという判定に従って、グリフを有さない前記提案アフォーダンスを表示することと、を含む、請求項１に記載の方法。
【請求項４】
前記確認インタフェースを表示している間に、
前記確認アフォーダンスの選択に対応する第２のユーザ入力を検出することと、
前記第２のユーザ入力の検出に応答して、前記タスクを実行することと、
を更に含む、請求項１から３のいずれか一項に記載の方法。
【請求項５】
前記確認インタフェースが、アプリケーションアフォーダンスを含み、前記方法は、
前記アプリケーションアフォーダンスの選択に対応する第３のユーザ入力を検出することと、
前記第３のユーザ入力の検出に応答して、前記タスクに関連付けられているアプリケーションを実行することと、を更に含む、請求項１から３のいずれか一項に記載の方法。
【請求項６】
前記提案アフォーダンスが、前記タスクの実行に影響を及ぼすパラメータの視覚的インジケーションを含み、
前記タスクに関連付けられている前記アプリケーションを実行することが、前記アプリケーションに前記パラメータをプリロードすることを含む、
請求項５に記載の方法。
【請求項７】
前記確認インタフェースが、キャンセルアフォーダンスを含み、前記方法は、
前記キャンセルアフォーダンスの選択に対応する第４のユーザ入力を検出することと、
前記第４のユーザ入力の検出に応答して、前記タスクの実行を取り止めることと、を更に含む、請求項１から３のいずれか一項に記載の方法。
【請求項８】
前記ユーザインタフェースが、通知を更に含み、
前記提案アフォーダンスが、第１の方式で表示され、前記通知が、前記第１の方式とは異なる第２の方式で表示される、
請求項１から７のいずれか一項に記載の方法。
【請求項９】
前記第１のユーザ入力が、第１のタイプの入力であり、前記方法は、
前記ユーザインタフェースを表示している間に、前記提案アフォーダンスの選択に対応する第２のタイプのユーザ入力を検出することであって、前記第２のタイプが、前記第１のタイプとは異なることと、
前記第２のタイプの前記ユーザ入力の検出に応答して、前記確認インタフェースを表示することと、を更に含む、請求項１から８のいずれか一項に記載の方法。
【請求項１０】
前記タスクが第１のタイプのタスクであるか否かを判定することを更に含む、
請求項１から９のいずれか一項に記載の方法。
【請求項１１】
前記タスクが第１のタイプのタスクであるか否かを判定することが、前記タスクに関連付けられている１つ以上のパラメータが、有効であるか否かを判定することを含む、請求項１０に記載の方法。
【請求項１２】
前記タスクを実行することが、前記タスクを別の電子デバイスによって実行させることを含む、請求項１から１０のいずれか一項に記載の方法。
【請求項１３】
前記ユーザインタフェースが、ロック画面ユーザインタフェース、検索ユーザインタフェース、又はデジタルアシスタントユーザインタフェースである、請求項１から１２のいずれか一項に記載の方法。
【請求項１４】
第１のタスク候補のセットを決定することと、
前記第１のタスク候補のセットから前記タスクを特定することと、を更に含み、
前記タスクが、タスク提案基準を前記電子デバイスのコンテキストが満たしているという判定に基づいて特定される、
請求項１から１３のいずれか一項に記載の方法。
【請求項１５】
前記ディスプレイ上に、前記ユーザインタフェースを表示する前に、
前記電子デバイスの第１のコンテキストに基づいて、コンテキスト基準が満たされているか否かを判定することと、
前記コンテキスト基準が満たされているという判定に従って、第１のタスク候補のセットを決定することと、
前記電子デバイスの第２のコンテキストに基づいて、ヒューリスティック基準が満たされているか否かを判定することと、
前記ヒューリスティック基準が満たされているという判定に従って、
前記第１のタスク候補のセットとは異なる第２のタスク候補のセットを決定することと、
前記第２のタスク候補のセットから前記タスクを特定することと、
前記ヒューリスティック基準が満たされておらず、前記コンテキスト基準が満たされているという判定に従って、
前記第１のタスク候補のセットから前記タスクを特定することと、
前記ヒューリスティック基準が満たされておらず、かつ前記コンテキスト基準が満たされていないという判定に従って、
前記第１のタスク候補のセットを決定することを取り止めることと、
前記第２のタスク候補のセットを決定することを取り止めることと、
を更に含む、請求項１から１４のいずれか一項に記載の方法。
【請求項１６】
ユーザインタフェースを表示することが、
前記電子デバイスがロック状態にあるという判定に従って、第１の視覚状態で前記提案アフォーダンスを表示することと、
前記電子デバイスがロック状態ではないという判定に従って、前記第１の視覚状態とは異なる第２の視覚状態で前記提案アフォーダンスを表示することと、を含む、請求項１から１５のいずれか一項に記載の方法。
【請求項１７】
１つ以上のプロセッサと、
メモリと、
１つ以上のプログラムと、
を備える電子デバイスであって、前記１つ以上のプログラムが、前記メモリ内に記憶され、前記１つ以上のプロセッサによって実行されるように構成されており、前記１つ以上のプログラムが、請求項１から１６のいずれか一項に記載の方法を実行する命令を含む、電子デバイス。
【請求項１８】
命令を含むプログラムであって、前記命令が、電子デバイスの１つ以上のプロセッサによって実行されると、前記電子デバイスに、請求項１から１６のいずれか一項に記載の方法を実行させるプログラム。
【請求項１９】
請求項１から１６のいずれか一項に記載の方法を実行するための手段を備える、
電子デバイス。
【外国語明細書】
2019212266000001.pdf