(57)【特許請求の範囲】
【請求項１】
データ処理装置によって実行されるコンピュータ実施方法であって、
複数の用語を備える第1の入力をデータ処理装置において受信するステップと、
前記第1の入力における前記用語のうちの1つまたは複数が、リマインダカテゴリに属するアイテムを指定していると、前記データ処理装置によって判定するステップと
を備え、
前記リマインダカテゴリは、前記リマインダカテゴリに属し、リマインダが生成され得るアイテムの集合に関連付けられ、
判定する前記ステップは、
複数のリマインダカテゴリ辞書にアクセスするステップであって、各リマインダカテゴリ辞書は、他の各リマインダカテゴリ辞書の他の各リマインダカテゴリとは異なるリマインダカテゴリに対応し、前記リマインダカテゴリ辞書が対応する前記リマインダカテゴリに属するアイテムを説明する用語を記憶し、かつ、前記リマインダカテゴリに属するリマインダタイプを指定し、各リマインダタイプは、前記リマインダタイプに特有であり、かつ、他の各リマインダタイプのイベントをトリガするのとは異なる、トリガイベントを指定する、アクセスするステップと、
前記第1の入力で指定された前記アイテムが、前記複数のリマインダカテゴリ辞書の特定のリマインダカテゴリ辞書でリスト化されたアイテムであると判定するステップと、
前記判定に応じて、
前記データ処理装置によって、前記特定のリマインダカテゴリ辞書の前記リマインダタイプのうちの1つを選択するステップと、
前記1つまたは複数の用語によって指定された前記アイテムについて前記選択されたリマインダタイプのトリガイベントを関連付けるデータを記憶するステップと
を備える、コンピュータ実施方法。
【請求項２】
リマインダタイプを、前記1つまたは複数の用語によって指定された前記アイテムについて前記選択されたリマインダタイプのトリガイベントを関連付けるデータを記憶するステップは、
前記1つまたは複数の用語によって指定された前記アイテムに基づいて、1つまたは複数のリマインダタイプを選択するステップであって、各リマインダタイプは、他の各リマインダタイプとは異なる、選択するステップと、
前記選択されたリマインダタイプのうちの少なくとも1つについて、
リマインダオプションのリストをユーザデバイスが提示するようにさせるデータを提供するステップであって、各リマインダオプションは各々、前記選択されたリマインダタイプに対応し、各リマインダオプションは、前記選択されたリマインダタイプについて特定のトリガイベントを指定し、かつ前記選択されたリマインダタイプについて他の各リマインダオプションの他の各トリガイベントとは異なる、提供するステップと、
前記リマインダオプションのうちの1つの選択を受信するステップと、
前記選択されたリマインダオプションに対応する前記リマインダタイプを、前記1つまたは複数の用語によって指定された前記アイテムに関連付けるデータを記憶するステップと
を備える、請求項1に記載のコンピュータ実施方法。
【請求項３】
複数の用語を備える第2の入力を受信するステップと、
前記第2の入力における前記用語のうちの1つまたは複数が、前記リマインダカテゴリに属するアイテムリストを処理するための動作を指定していると判定するステップであって、前記アイテムリストは、選択されたリマインダオプションに対応するリマインダタイプに関連付けられた1つまたは複数のアイテムの集合である、判定するステップと、
1つまたは複数のアイテムの前記アイテムリストをユーザデバイスが提示するようにさせるデータを提供するステップと
をさらに備える、請求項1に記載のコンピュータ実施方法。
【請求項４】
前記第2の入力における前記用語のうちの1つまたは複数が、前記リマインダカテゴリに属するアイテムリストを処理するための動作を指定していると判定するステップは、
前記第2の入力の前記複数の用語を構文解析して、構文解析された用語を生成するステップと、
前記第2の入力の前記構文解析された用語を、前記複数のリマインダカテゴリ辞書と比較するステップと、
前記選択されたリマインダカテゴリに対応する前記リマインダカテゴリ辞書における用語に対する、前記第2の入力における前記1つまたは複数の用語の一致に基づいて、前記リマインダカテゴリのうちの1つを選択するステップと
を備える、請求項3に記載のコンピュータ実施方法。
【請求項５】
前記第2の入力における前記用語のうちの1つまたは複数が、前記リマインダカテゴリに属するアイテムリストを処理するための動作を指定していると判定するステップは、前記第2の入力の構文解析された用語が、第1のリマインダタイプを指定していると判定するステップを備え、
1つまたは複数のアイテムの前記アイテムリストを前記ユーザデバイスが提示するようにさせるデータを提供するステップは、1つまたは複数のアイテムの前記アイテムリストを前記ユーザデバイスが提示するようにさせるデータを提供するステップであって、前記1つまたは複数のアイテムの各々は、前記第1のリマインダタイプに関連付けられる、提供するステップを備える、請求項4に記載のコンピュータ実施方法。
【請求項６】
前記第2の入力における前記用語のうちの1つまたは複数が、前記リマインダカテゴリに属するアイテムリストを処理するための動作を指定していると判定するステップは、構文解析された前記第2の入力の用語が、第2のリマインダタイプを指定していると判定するステップを備え、
1つまたは複数のアイテムの前記アイテムリストを前記ユーザデバイスが提示するようにさせるデータを提供するステップは、1つまたは複数のアイテムの前記アイテムリストを前記ユーザデバイスが提示するようにさせるデータを提供するステップであって、前記1つまたは複数のアイテムの各々は、前記第2のリマインダタイプに関連付けられていない、提供するステップを備える、請求項5に記載のコンピュータ実施方法。
【請求項７】
前記リマインダタイプをトリガするイベントが生じたと判定するステップと、
前記判定に応じて、リマインダと前記アイテムを含むリストとをユーザデバイスが提示するようにさせるデータを提供するステップと
をさらに備える、請求項1に記載のコンピュータ実施方法。
【請求項８】
前記イベントは、あらかじめ定義された時間の発生、または、場所における前記ユーザデバイスの存在のいずれか1つである、請求項7に記載のコンピュータ実施方法。
【請求項９】
複数の用語を備える第2の入力を受信するステップと、
前記第2の入力における前記用語のうちの1つまたは複数が、特定のリマインダタイプに関連付けられたアイテムのためのリマインダをリストするアイテムリストを処理するための動作を指定していると判定するステップと、
前記アイテムのためのリマインダの前記アイテムリストをユーザデバイスが提示するようにさせるデータを提供するステップと
をさらに備える、請求項1に記載のコンピュータ実施方法。
【請求項１０】
システムであって、
データ処理装置と、
コンピュータプログラムでエンコードされたコンピュータ記憶媒体と
を備え、
前記プログラムは、前記データ処理装置によって実行された場合、
複数の用語を備える第1の入力を受信するステップと、
前記第1の入力における前記用語のうちの1つまたは複数が、リマインダカテゴリに属するアイテムを指定していると判定するステップと
を備え、
前記リマインダカテゴリは、前記リマインダカテゴリに属し、リマインダが生成され得るアイテムの集合に関連付けられ、
判定する前記ステップは、
複数のリマインダカテゴリ辞書にアクセスするステップであって、各リマインダカテゴリ辞書は、他の各リマインダカテゴリ辞書の他の各リマインダカテゴリとは異なるリマインダカテゴリに対応し、前記リマインダカテゴリ辞書が対応する前記リマインダカテゴリに属するアイテムを説明する用語を記憶し、かつ、前記リマインダカテゴリに属するリマインダタイプを指定し、各リマインダタイプは、前記リマインダタイプに特有であり、かつ、他の各リマインダタイプのイベントをトリガするのとは異なる、トリガイベントを指定する、アクセスするステップと、
前記第1の入力で指定された前記アイテムが、前記複数のリマインダカテゴリ辞書の特定のリマインダカテゴリ辞書でリスト化されたアイテムであると判定するステップと、
前記判定に応じて、
前記データ処理装置によって、前記特定のリマインダカテゴリ辞書の前記リマインダタイプのうちの1つを選択するステップと、
前記1つまたは複数の用語によって指定された前記アイテムについて前記選択されたリマインダタイプのトリガイベントを関連付けるデータを記憶するステップと
を備える工程を、前記データ処理装置に実行させる命令を備える、システム。
【請求項１１】
リマインダタイプを、前記1つまたは複数の用語によって指定された前記アイテムについて前記選択されたリマインダタイプのトリガイベントを関連付けるデータを記憶するステップは、
前記1つまたは複数の用語によって指定された前記アイテムに基づいて、1つまたは複数のリマインダタイプを選択するステップであって、各リマインダタイプは、他の各リマインダタイプとは異なる、選択するステップと、
前記選択されたリマインダタイプのうちの少なくとも1つについて、
リマインダオプションのリストをユーザデバイスが提示するようにさせるデータを提供するステップであって、各リマインダオプションは各々、前記選択されたリマインダタイプに対応し、各リマインダオプションは、前記選択されたリマインダタイプについて特定のトリガイベントを指定し、かつ前記選択されたリマインダタイプについて他の各リマインダオプションの他の各トリガイベントとは異なる、提供するステップと、
前記リマインダオプションのうちの1つの選択を受信するステップと、
前記選択されたリマインダオプションに対応する前記リマインダタイプを、前記1つまたは複数の用語によって指定された前記アイテムに関連付けるデータを記憶するステップと
を備える、請求項10に記載のシステム。
【請求項１２】
前記工程はさらに、
複数の用語を備える第2の入力を受信するステップと、
前記第2の入力における前記用語のうちの1つまたは複数が、前記リマインダカテゴリに属するアイテムリストを処理するための動作を指定していると判定するステップであって、前記アイテムリストは、選択されたリマインダオプションに対応するリマインダタイプに関連付けられた1つまたは複数のアイテムの集合である、判定するステップと、
1つまたは複数のアイテムの前記アイテムリストをユーザデバイスが提示するようにさせるデータを提供するステップと
を備える、請求項10に記載のシステム。
【請求項１３】
前記第2の入力における前記用語のうちの1つまたは複数が、前記リマインダカテゴリに属するアイテムリストを処理するための動作を指定していると判定するステップは、
前記第2の入力の前記複数の用語を構文解析して、構文解析された用語を生成するステップと、
前記第2の入力の前記構文解析された用語を、前記複数のリマインダカテゴリ辞書と比較するステップと、
前記選択されたリマインダカテゴリに対応する前記リマインダカテゴリ辞書における用語に対する、前記第2の入力における前記1つまたは複数の用語の一致に基づいて、前記リマインダカテゴリのうちの1つを選択するステップと
を備える、請求項12に記載のシステム。
【請求項１４】
前記第2の入力における前記用語のうちの1つまたは複数が、前記リマインダカテゴリに属するアイテムリストを処理するための動作を指定していると判定するステップは、前記第2の入力の構文解析された用語が、第1のリマインダタイプを指定していると判定するステップを備え、
1つまたは複数のアイテムの前記アイテムリストを前記ユーザデバイスが提示するようにさせるデータを提供するステップは、1つまたは複数のアイテムの前記アイテムリストを前記ユーザデバイスが提示するようにさせるデータを提供するステップであって、前記1つまたは複数のアイテムの各々は、前記第1のリマインダタイプに関連付けられる、提供するステップを備える、請求項13に記載のシステム。
【請求項１５】
コンピュータプログラムでエンコードされたコンピュータ記憶媒体であって、前記プログラムは、データ処理装置によって実行された場合、
複数の用語を備える第1の入力を受信するステップと、
前記第1の入力における前記用語のうちの1つまたは複数が、リマインダカテゴリに属するアイテムを指定していると判定するステップと
を備え、
前記リマインダカテゴリは、前記リマインダカテゴリに属し、リマインダが生成され得るアイテムの集合に関連付けられ、
判定する前記ステップは、
複数のリマインダカテゴリ辞書にアクセスするステップであって、各リマインダカテゴリ辞書は、他の各リマインダカテゴリ辞書の他の各リマインダカテゴリとは異なるリマインダカテゴリに対応し、前記リマインダカテゴリ辞書が対応する前記リマインダカテゴリに属するアイテムを説明する用語を記憶し、かつ、前記リマインダカテゴリに属するリマインダタイプを指定し、各リマインダタイプは、前記リマインダタイプに特有であり、かつ、他の各リマインダタイプのイベントをトリガするのとは異なる、トリガイベントを指定する、アクセスするステップと、
前記第1の入力で指定された前記アイテムが、前記複数のリマインダカテゴリ辞書の特定のリマインダカテゴリ辞書でリスト化されたアイテムであると判定するステップと、
前記判定に応じて、
前記データ処理装置によって、前記特定のリマインダカテゴリ辞書の前記リマインダタイプのうちの1つを選択するステップと、
前記1つまたは複数の用語によって指定された前記アイテムについて前記選択されたリマインダタイプのトリガイベントを関連付けるデータを記憶するステップと
を備える工程を、前記データ処理装置に実行させる命令を備える、コンピュータ記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、ユーザデバイスのためのリスト蓄積およびリマインダトリガに関する。
【背景技術】
【０００２】
クラウドベースのサービス、探索エンジン、および他のサービスおよびメディアの到来は、最近の10年間にわたり、ユーザデバイスの利用を劇的に拡大した。多くのユーザデバイス、特にモバイルデバイスおよびスマートフォンは、今や、音声およびデータアクセスに加えて、サービスおよびアプリケーションを提供する。さらに、音声テキスト処理システムにおける最近の到来によって、多くのユーザが今、自分のユーザデバイスを用いて流動的および直感的なユーザ経験を望んでいる。
【０００３】
ユーザへ利用可能なこれらアプリケーションサービスの多くは、コマンド入力の使用によって実証される。そのような1つのサービスは、リマインダの設定である。たとえば、ユーザは、スマートフォンへ入力[今晩牛乳を買うように私にリマインドして下さい]を話し(またはタイプし)、スマートフォンは、コマンド構文解析アプリケーションを使用して(または、代わりに、コマンド構文解析サービスと通信して)、ユーザからの追加情報を求め得るリマインダ処理を起動し得る。そのような情報は、ユーザが、ある時間においてリマインドされることを望んでいるのであれば時間であり得、または、ユーザが、ユーザがある場所に到着した場合にリマインドされることを望んでいるのであれば場所であり得る。
【０００４】
そのようなリマインダの設定は、非常に役立つ一方、比較的流動的なユーザ経験であり、ユーザは、時間または場所を指定せねばならず、後者のケースでは、ユーザは、食料品店の住所のような、特定の場所を探索することを要求され得る。
【発明の概要】
【課題を解決するための手段】
【０００５】
一般に、本明細書において説明された主題の1つの革新的な態様は、複数の用語を備える第1の入力を、データ処理装置において受信するステップと、第1の入力における用語のうちの1つまたは複数が、リマインダカテゴリに属するアイテムを指定していると、データ処理装置によって判定するステップであって、リマインダカテゴリは、カテゴリに属し、リマインダが生成され得るアイテムの集合に関連付けられる、判定するステップと、判定に応じて、リマインダタイプを、1つまたは複数の用語によって指定されたアイテムに関連付けるデータを記憶するステップとからなる動作を含む方法において具体化され得る。この態様の他の実施形態は、対応するシステムと、装置と、方法の動作を実行するように構成され、コンピュータ記憶デバイスにおいてエンコードされたコンピュータプログラムとを含む。
【０００６】
本明細書において説明された主題の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するように実施され得る。以下に説明される主題の実施は、リマインダを生成する場合、非常に流動的で直感的なユーザ経験を可能にする。食料品カテゴリに属する食料品アイテム、または、映画カテゴリに属する映画アイテムのような特定のカテゴリに属するアイテムの識別は、対応するカテゴリに特定のリマインダタイプの選択を可能にする。多くの状況では、これは、特定の時間を指定しなければならないこと、または、リマインダトリガのための特定の場所を探索しなければならないことからユーザを解放する。代わりに、リマインダトリガは、アイテムおよびカテゴリに基づいて自動的に選択され得るか、あるいは、確認のためにユーザへ提供され得る。これは、リマインダを設定するためにユーザによって必要とされる時間および労力を低減し、いくつかの実施では、短い文章のみの発声によって、リマインダの設定、または、リマインダの対象であるリストアイテムの生成を達成し得る。
【０００７】
本明細書において説明された主題の1つまたは複数の実施形態の詳細は、添付図面および以下の詳細説明において述べられる。主題の他の特徴、態様、および利点は、詳細説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【０００８】
【図１】コマンド入力がリスト蓄積およびリマインダトリガのために処理される環境のブロック図である。
【図２Ａ】トリガされたリマインダリストを生成するための例示的な処理のフロー図である。
【図２Ｂ】トリガされたリマインダリストを生成するための別の例示的な処理のフロー図である。
【図３Ａ】第1のカテゴリに属するアイテムのためのリマインダが確認のために提示されるユーザデバイスにおけるユーザインターフェースを例示する図である。
【図３Ｂ】第2のカテゴリに属するアイテムのためのリマインダが確認のために提示されるユーザデバイスにおけるユーザインターフェースを例示する図である。
【図４】リマインダリストを選択するための例示的な処理のフロー図である。
【図５Ａ】第1のカテゴリに属するアイテムのためのリマインダリストが提示されるユーザデバイスにおけるユーザインターフェースを例示する図である。
【図５Ｂ】第2のカテゴリに属するアイテムのためのリマインダリストが提示されるユーザデバイスにおけるユーザインターフェースを例示する図である。
【図６】リマインダイベントのトリガに応じてアイテムのリストを提示するための例示的な処理のフロー図である。
【図７Ａ】第1のリマインダタイプのためのリマインダインベントのトリガに応じてアイテムのリストが表示されるユーザデバイスにおけるユーザインターフェースを例示する図である。
【図７Ｂ】第2のリマインダタイプのためのリマインダインベントのトリガに応じてアイテムのリストが表示されるユーザデバイスにおけるユーザインターフェースを例示する図である。
【図８】例示的なモバイルコンピューティングデバイスのブロック図である。
【発明を実施するための形態】
【０００９】
様々な図面において、同様の参照番号および指定が、同様の要素を示す。
【００１０】
リマインダ処理システムは、特定のリマインダタイプのリマインダの対象であるアイテムおよび動作のリストの自動生成を容易にする。工程では、リマインダ処理システムは、用語の入力セットを受信する。これら用語は、構文解析され、カテゴリ辞書のようなリマインダカテゴリデータのセットと比較される。入力が、リマインダカテゴリに属するアイテムを指定する用語を含む場合、システムは、リマインダタイプを、1つまたは複数の用語によって指定されたアイテムに関連付けるデータを記憶する。リマインダタイプは、トリガイベントを指定し、アイテムおよびカテゴリに関して変化し得る。たとえば、食料品カテゴリに属する食料品アイテムは、リマインダのための時間を指定する「時間」タイプのリマインダ、または、食料品店または食料品店のセットを指定する「場所」タイプのリマインダを有し得る。逆に、映画タイトルのような映画アイテムは、各々が異なる公開日を指定する「公開」タイプのリマインダを有し得る。
【００１１】
例示するために、ユーザは、[緑サヤインゲン、パン、および牛乳を買う]と発言し、それに応じて、リマインダは、ユーザが、何れかの食料品店(または、ユーザのオプションにおいて指定されうる特定の店)に入った場合、緑サヤインゲン、パン、および牛乳のためのリマインダリストをトリガするように設定され得る。同様に、ユーザが[ゴジラを見に行く]と発言し、これに応じて、リマインダは、その劇場公開(または、劇場公開後のオンデマンドまたはストリーミング公開のような他のいくつかの公開)の日に映画ゴジラを見に行くようにとのリマインダをトリガするように設定され得る。
【００１２】
リマインダはまた、複雑なトリガを対象とされ得る。たとえば、ユーザは[私がフレッシュグローサリーストアに行く場合にのみ妻を呼んで下さい]と述べ得る。「フレッシュグローサリーストア」は特定の食料品店である。よって、ユーザが食料品店に行き、食料品アイテムリマインダリストがトリガされた場合、リマインダリストはまた、食料品店がフレッシュグローサリーストアである場合にのみユーザが自分の妻を呼ぶためのリマインダを含むであろう。同様に、ユーザが、[家にいる時に限ってデイリーレポートを見る]を発声し、デイリーレポートという番組が始まり、ユーザが家にいる時に限って、この番組を見るためのリマインダがトリガするであろう。
【００１３】
リマインダ処理システムは、ユーザデバイスにおいて、または、サーバシステムのような、ユーザデバイスから分離されたコンピュータシステムにおいて実施され得る。後者のケースでは、サーバシステムは、ユーザデバイスから入力を受信し、リマインダを処理し設定するためにデータをユーザデバイスへ送信する。これらの特徴および追加の特徴は、より詳細に以下に説明される。
【００１４】
図1は、コマンド入力がリスト蓄積およびリマインダトリガのために処理される環境100のブロック図である。インターネット、またはその組合せのようなコンピュータネットワーク102は、電子デバイスとシステムとの間のデータ通信を提供する。コンピュータネットワーク102はまた、1つまたは複数のワイヤレスネットワーク103を含み得る、または、1つまたは複数のゲートウェイによって、1つまたは複数のワイヤレスネットワーク103とデータ通信し得る。
【００１５】
ユーザデバイス106は、ユーザの制御下にあり、ネットワーク102を介してリソースを要求および受信し、他のユーザデバイスと、たとえば音声通信のような通信チャネルを確立することが可能であり、また他の動作を実行することも可能な電子デバイスである。例示的なユーザデバイス106は、パーソナルコンピュータと、モバイル通信デバイスと、ネットワーク102を介してデータを送信および受信し得る他のデバイスとを含む。図1における例では、ユーザデバイス106は、スマートフォンである。例示的なスマートフォンは、図8を参照して以下に説明される。ユーザデバイス106は、ネットワーク102、103とのワイヤおよびワイヤレス接続によって、ネットワーク102、103を介して通信し得る。
【００１６】
図8を参照して説明されるように、ユーザデバイスは、様々なプログラムおよび機能のためのデバイス動作のセットを実行することが可能であり得る。いくつかの実施では、ユーザデバイス106は、音声入力を受信する音声認識システムを利用し、言語認識処理を実行し、結果として得られた認識された単語および語句を構文解析する。構文解析された単語および語句は、その後、音声入力が特定の動作またはコマンドを起動するか否かを判定するために処理される。しかしながら、デバイスはまた、テキスト形式のコマンド入力も同様に受信し得るので、音声認識および言語処理システムは必要ではない。
【００１７】
ユーザデバイス106は、多数のサービスを提供するクラウドサービスプロバイダ112によってホストされているアカウントのようなユーザアカウントに関連付けられる。これらのサービスは、ウェブメール、ソーシャルネットワーキング、メッセージング、文書記憶および編集等を含み得る。アカウントデータ114は、ユーザデバイス106のアカウントに特有のデータを記憶し得る。
【００１８】
コマンド処理システム120は、ユーザデバイスからコマンド入力を受信し、もしあれば、コマンド入力に応じて、どの動作が講じられるべきかを判定するために、コマンド入力を処理する。コマンド処理システム120は、図1において個別のエンティティとして図示されているが、コマンド処理システム120は、クラウドサービスプロバイダ112において、または、ユーザデバイス106においてでさえも実施され得る。
【００１９】
コマンド処理システム120によって判定されたように、入力は、様々な動作を起動させ得る。たとえば、入力は探索クエリコマンドとして解釈され得る。このケースでは、探索クエリは、探索サービスへ送信される。同様に、入力は、電話通話を行うためのコマンドとして解釈され得る。このケースでは、ユーザデバイス106は、ネットワーク103を介した音声通信を確立することを試みる。同様に、入力はリマインダとして解釈され得る。このケースでは、リマインダアイテムが生成され得る。リマインダアイテムの生成およびそのようなアイテムの処理は、以下により詳細に説明される。
【００２０】
いくつかの実施では、各入力は、入力パーサ122によって処理される。入力パーサは、入力された用語を構文解析し、もしあれば、どの動作が講じられるべきであるかを判定するようにプログラムされる。いくつかの実施では、入力パーサ122は、どのコマンドまたは動作が講じられるべきであるかを判定するために、言語モデルにアクセスし得る。そのような言語モデルは、たとえば、モデルが、特定のコマンドへ意味論的に関連していると判定された特定の単語および語句へ割り当てられた重みを含み得るように統計ベースであり得るか、または、たとえば、特定のコマンドのための文章構造を記述する文法のようにルールベースであり得る。他の様々な言語およびテキスト入力処理システムが使用され得る。
【００２１】
上記に説明されたように、ユーザは、ユーザデバイス106にコマンドを入力し、コマンド処理システム120は、コマンド入力が、ユーザデバイスが実行するように構成されたユーザデバイス動作へ分解するか否かを判定するために、コマンド入力を処理する。本書の残りについて、処理される例示的な入力は、リマインダベースの入力へ分解するであろう。したがって、他のコマンド入力タイプのための他のコマンド処理特徴の説明が省略される。
【００２２】
いくつかの実施では、コマンド処理システム120は、入力パーサ122と通信するリマインダプロセッサ124を含む。リマインダプロセッサ124はまた、リマインダカテゴリデータ126およびリマインダリストデータ128にアクセスする。リマインダカテゴリデータ126は、いくつかの実施では、カテゴリ辞書の集合であり得る。各辞書は、特定のカテゴリに対応し、カテゴリに属し、リマインダが生成され得るアイテムの集合に関連付けられる。たとえば、「食料品」カテゴリは、食料品および食品アイテムのリストに関連付けられ得、「映画」カテゴリは、映画、俳優等のリストに関連付けられ得るといった具合である。異なる様々なカテゴリと、これらカテゴリに属するアイテムが、カテゴリデータ126に記憶され得る。単純性のために、単に2つのカテゴリの例である食料品および映画が、システム特徴の文脈上の例を提供するために使用される。
【００２３】
各リマインダカテゴリおよびアイテムはまた、リマインダタイプの対応するセットにも関連付けられ得る。リマインダタイプは、そのタイプに特有の特定のイベントに従ってトリガするリマインダのタイプである。たとえば、「場所」タイプのリマインダは、ユーザデバイスがリマインダによって指定された場所にある場合にトリガするリマインダであり、「時間」タイプのリマインダは、リマインダによって指定された時間になるとトリガするリマインダである。一般に、リマインダタイプは、それをトリガするイベントのタイプに依存する。たとえば、映画の場合、リマインダタイプは、劇場公開のための公開日、オンデマンド公開のための別の公開日等のような特定の公開タイプに基づき得る。
【００２４】
リマインダタイプは、ワンタイムまたは繰り返し得る。ワンタイムイベントは、一度だけ生じ、ユーザによってリセットされないのであれば再度生じることはないであろう。たとえば、劇場公開のような特定のタイムイベントは、公開日にのみ生じ得る。同様に、店に到着した時のような特定の場所イベントは、ユーザが最初に店に到着した場合にのみ生じ得、ユーザが店を再訪問しても生じないであろう。しかしながら、繰り返しイベントは、定期的に、または、動作が生じる毎に生じ得る。たとえば、毎週のシリーズである放映時間のような特定の時間イベントは、シリーズの放映のエピソード毎に生じ得る。同様に、店に到着した時のように、特定の場所イベントは、ユーザが店に到着する毎に、対応するリマインダがトリガされるように、ユーザによって繰り返しであると指定され得る。
【００２５】
いくつかのリマインダは、アイテムおよびカテゴリに特有であるので、特定のアイテムおよびカテゴリに関連付けられたいくつかのリマインダは、他のアイテムまたは他のカテゴリに関連付けられない。たとえば、食料品というカテゴリアイテムは、「劇場公開日」という時間タイプのリマインダに関連付けられない。同様に、映画アイテムは、「食料品店にいる場合」という場所タイプのリマインダに関連付けられない。
【００２６】
リマインダリストデータ128は、リマインダタイプのアイテムとの関連付けを記憶する。サーバ側処理のケースでは、リマインダリストデータ128は、多数のユーザのための関連付けを記憶し得る。逆に、ユーザデバイス側処理のケースでは、リマインダリストデータ128は、ユーザデバイス106のユーザのみのための関連付けを記憶し得る。たとえば、ユーザデバイス106に接続されたファントムリマインダリストデータ128は、ユーザデバイスが多数のリマインダリストRLmを有することを示し、リマインダリストの各々は、多くのリマインダ{Rm1...Rmx}を含む。リマインダプロセッサ124は、リストデータ128を更新および維持し、リマインダタイプのうちの1つに対応するイベントが生じた場合、ユーザデバイス106のためのリマインダを生成する。
【００２７】
リマインダプロセッサの工程は、図2A、図2B、図4および図6を参照して以下に説明される。特に、図2Aは、トリガされたリマインダリストを生成するための例示的な処理200のフロー図である。処理200は、リマインダプロセッサ120が作動しているコンピュータデバイスにおいて実施され得る。いくつかの実施では、リマインダプロセッサ120は、ユーザデバイス106において実施され得る。他の実施では、リマインダプロセッサ120は、ユーザデバイス106とデータ通信しているサーバにおいて作動し得る。たとえば、クラウドサービスプロバイダ112は、ネットワーク102および/または103を介してユーザデバイス106と通信するクラウドにおけるサーバにおいてリマインダプロセッサ120を作動させ得る。サーバは、ユーザデバイスからクエリを受信し、それに応じてデータを提供する。以下に説明される処理220、400および600はまた、ユーザデバイスまたはサーバ側デバイスにおいても実施され得る。
【００２８】
処理200は、第1の入力を受信する(202)。たとえば、入力パーサ122は、1つまたは複数の用語を有する入力を受信する。
【００２９】
処理200は、第1の入力の1つまたは複数の用語が、リマインダカテゴリに属するアイテムを指定するか否かを判定する(204)。たとえば、パーサ122は、入力の用語を構文解析して、構文解析された用語を生成し、構文解析された用語を、リマインダカテゴリ辞書と比較する。各々のリマインダカテゴリ辞書は、他の各々のリマインダカテゴリとは異なるリマインダカテゴリに対応し、カテゴリに属するアイテムを説明する用語を記憶する。入力の用語が、リマインダカテゴリ辞書のうちの1つにおけるアイテムを説明する用語と一致するのであれば、この辞書が対応するリマインダカテゴリが選択される。たとえば、入力[緑サヤインゲンを買う]の場合、用語[緑サヤインゲン]は、食料品アイテムと一致する。
【００３０】
いくつかの実施では、入力は、入力がリマインダまたは他のいくつかの動作に関するか否かを判定するために、たとえば、言語モデル、文法等を使用することによってさらに処理され得る。たとえば、文法は、特定の動作へマップされ得る。たとえば、<食料品アイテム不定期>におけるS→ビタミンのように、[緑サヤインゲンにおけるビタミン]へ構文解析する文法は、探索クエリ入力動作へマップし得る。そのための入力は、探索エンジンへ入力として発行される。逆に、たとえば、S→<購入不定期><食料品アイテム不定期>のように［緑サヤインゲンを買う］へ構文解析する文法は、食料品カテゴリのためのリマインダ動作へマップし得る。
【００３１】
他の言語モデルもまた使用され得る。たとえば、入力の意味論的な解析は、様々な動作をスコア付けるために使用され、最高スコアを有する動作が選択され得る。
【００３２】
処理200が、第1の入力の1つまたは複数の用語が、リマインダカテゴリに属するアイテムを指定していると判定しないのであれば、処理200は、この入力をリマインダとして処理しない(206)。しかしながら、入力は、工程または動作に従って、たとえば、探索クエリ入力として、電話通話を行うためにコマンド等として、処理され得る。
【００３３】
逆に、処理200が、第1の入力の1つまたは複数の用語が、リマインダカテゴリに属するアイテムを指定していると判定すると、処理200は、リマインダタイプを、1つまたは複数の用語によって指定されたアイテムに関連付けるデータを記憶する(208)。たとえば、入力パーサ122は、リマインダプロセッサ124を起動させ得る。リマインダプロセッサ124は、リマインダカテゴリデータ126におけるリマインダ辞書にアクセスする。リマインダカテゴリおよびアイテムに依存して、このアイテムのためのリマインダタイプは、このアイテムに関連付けられ得、リマインダリストデータ128に記憶され得る。
【００３４】
記憶は、デフォルトパラメータに従って自動的に生じ得るか、または、ユーザ確認に従い得る。前者のケースでは、たとえば、デフォルトリマインダタイプが、アイテムおよびカテゴリに基づいて選択され得る。たとえば、食料品アイテムの場合、デフォルトリマインダタイプは、ユーザが何れかの食料品店に入った場合にトリガする「場所」タイプであり得る。逆に、映画アイテムの場合、デフォルトリマインダタイプは、「時間」タイプであり得、さらに、劇場公開日(または、劇場公開日が過ぎたのであれば、次に来るメディア公開日)にトリガするサブタイプであり得る。
【００３５】
リマインダプロセッサ124は、リマインダタイプの、より複雑な自動選択ロジックを実施し得る。たとえば、リマインダタイプは、最も生じる可能性が高い、または、時間的に最も直近のイベントに基づいて選択され得る。たとえば、入力が[ゴジラを見る]であり、映画ゴジラの劇場公開日が過ぎてしまったと仮定する。しかしながら、この映画がまだ多くの劇場で公開されているのであれば、この映画が上映されている何れかの映画館の場所に関する場所タイプのリマインダが、映画アイテムに関連付けられ得る。逆に、映画が、劇場外であるが、たとえばBlu-Rayのようなメディア公開がスケジュールされているのであれば、Blu-Ray公開のための時間タイプのリマインダがスケジュールされ得る。別の例によれば、映画が公開され、まだ多くの映画館で公開されているのであれば、場所タイプのリマインダと時間タイプのリマインダとが、アイテムに関連付けられ得る。場所タイプのリマインダは、映画が上映されている何れかの劇場場所に関し得、時間タイプのリマインダは、単に週末が始まるとユーザにリマインドする、金曜日の夕方6:00に関し得る。
【００３６】
ユーザ確認のケースでは、ユーザインターフェースダイアログが、リマインダタイプの確認および選択のためにユーザに提示され得る。図2Bは、トリガされたリマインダリストを生成するための別の例示的な処理220のフロー図である。処理220は、ユーザ確認に従い、図3Aおよび図3Bのコンテキストにおいても説明される。特に、図3Aは、第1のカテゴリである食料品に属するアイテムのためのリマインダが、確認のために提示されるユーザデバイス300におけるユーザインターフェース302の例示であり、図3Bは、第2のカテゴリである映画に属するアイテムのためのリマインダが、確認のために提示されるユーザデバイス330におけるユーザインターフェース332の例示である。
【００３７】
処理ステップ222、224および226は、上記で説明された処理ステップ202、204および206に類似している。よって、図2Bの説明は、処理ステップ228において始まる。ここでは、リマインダプロセッサ124が、入力の1つまたは複数の用語によって指定されたアイテムに基づいて、1つまたは複数のリマインダタイプを選択し、その後、1つまたは複数のリマインダオプションのリストをユーザデバイスが、提示するようにさせるデータを提供する(230)。
【００３８】
たとえば、図3Aでは、入力フィールド304に図示された入力306[緑サヤインゲンを買う]に関し、「場所」タイプのリマインダ310が、リマインダプロセッサ124によって自動的に選択されユーザへ提示される。デフォルト場所は、メニューアイテム312において示されているように「食料品店-すべての場所」である。この場所タイプは、ユーザデバイスが何れかの食料品店に入った場合に、「緑サヤインゲンを買う」ためのリマインダをトリガするであろう。ユーザデバイスの場所の決定は、たとえば、GPS座標または他の任意の適切な処理によってなされ得る。この場所は、その後、様々な食料品店場所と比較され得る。
【００３９】
ユーザはまた、ファントムリスト314によって示されるように、特定の店の場所を選択し得る。たとえば、ユーザは、特定の非重要項目を念頭に置いた特定のストアを有し得る。逆に、重要項目の場合、ユーザは、自分が通う食料品店がどこであるかを気にしないことがあり得る。特定の場所が選択されると、リマインダは、ユーザがその場所にいる場合にのみトリガするであろう。
【００４０】
ユーザは、代わりに、時間タイプ308のような、異なるリマインダタイプを選択し得る。ユーザが指定した時間のように、時間タイプ308の選択後に、追加の入力が必要とされ得る。
【００４１】
他に、図3Bでは、入力フィールド334に図示される入力306[ゴジラを見る]に関し、「時間」タイプのリマインダ338が、リマインダプロセッサ124によって自動的に選択され、ユーザへ提示される。デフォルトリマインダは、メニューアイテム342に示されるように「すべての公開日」である。この時間タイプは、各公開日の発生時において、または、ユーザがリマインダをクリアするまで、リマインダをトリガするであろう。公開日の判定は、たとえば映画ゴジラのような映画アイテムを、サードパーティによって提供された映画情報のデータベースにおけるエントリへ分解することによってなされ得る。
【００４２】
ユーザはまた、ファントムリスト344によって示されるような、公開日をも選択し得る。たとえば、ユーザは、映画が「オンデマンド」フォーマットで公開された後にのみ映画を見ることを所望し得、ユーザは、その公開日になった時にリマインドされるであろう。
【００４３】
ユーザは、あるいは、場所タイプ340のような、異なるリマインダタイプを選択し得る。特定の映画館の場所のような、場所タイプ340の選択後に、追加の入力が必要とされ得る。
【００４４】
いくつかの実施では、リマインダプロセッサ124は、適格なリマインダタイプおよび不適格なリマインダタイプを説明する辞書におけるデータへアクセスし得る。適格なリマインダタイプは、イベントが未だに生じ得るリマインダタイプであり、逆に、不適格なリマインダタイプは、イベントが生じており、再び生じることはない、または、イベントが生じ得ないリマインダタイプである。たとえば、劇場公開がすでになされている、または、劇場公開がない映画アイテムの場合、「劇場公開」に関するリマインダタイプは、不適格であると判定されるであろう。リマインダプロセッサ124はその後、提示のために、適格なリマインダタイプのみを選択する。
【００４５】
処理220は、リマインダオプションが選択されているか否かを判定する(232)。ユーザは必ずしもリマインダオプションを選択しないことがあり得る。たとえば、ユーザの入力が、良好に生成されておらず、したがって、リマインダを誤ってトリガし得るか、または、ユーザは、リマインダを記憶しないことを決定し得る。リマインダオプションが選択されていないのであれば、入力は、リマインダとして処理されない(226)。逆に、リマインダオプションが選択されると、処理220は、選択されたリマインダオプションに対応するリマインダタイプを、1つまたは複数の用語によって指定されたアイテムへ関連付けるデータを記憶する(234)。特定のカテゴリアイテムのための特定のタイプのリマインダが、その後、ユーザデバイス106のために設定される。
【００４６】
ユーザが、アイテムのためのリマインダを生成すると、アイテムおよびリマインダは、カテゴリに従って収集され、リマインダリストの形態で提示される。たとえば、ユーザは、構文解析された場合に、特定のアイテムリストおよび対応するリマインダを表示するために動作へ分解するコマンドを入力し得る。図4は、リマインダリストを選択するための例示的な処理400のフロー図である。処理400は、図5Aおよび図5Bを参照して説明される。特に、図5Aは、第1のカテゴリである食料品に属するアイテムのためのリマインダリストが提示されるユーザデバイス500におけるユーザインターフェース502の例示であり、図5Bは、第2のカテゴリである映画に属するアイテムのためのリマインダリストが提示されるユーザデバイス530におけるユーザインターフェース532の例示である。
【００４７】
処理400は、第2の入力を受信する(402)。たとえば、入力パーサ122は、1つまたは複数の用語を有する入力を受信する。
【００４８】
処理400は、1つまたは複数の用語が、リマインダカテゴリに属するアイテムリストを処理するための動作を指定するか否かを判定する(404)。たとえば、パーサ122は、入力の用語を構文解析して、構文解析された用語を生成し、この用語を処理して、入力が、リマインダカテゴリに属するアイテムリストを処理する動作を指定するか否かを判定する。たとえば、構文解析された用語は、入力が表示動作を起動するか否かを判定するために、文法または言語モデルを使用して処理され得る。たとえば、図5Aおよび図5B各々の入力[私の食料品リマインダを私に見せて下さい]および[私の映画をリストして下さい]が構文解析され、リマインダプロセッサ124は、食料品リマインダのためのアイテムリストと、映画リマインダのためのアイテムリストとを各々表示するための動作を、入力が各々起動すると判定し得る。
【００４９】
処理400が、入力が、リマインダカテゴリに属するアイテムリストを処理するための動作を指定しないと判定するのであれば、入力は、アイテムリスト要求として処理されない(406)。しかしながら、入力は、たとえば、探索クエリ入力として、電話通話を行うためのコマンド等として、工程または動作に従って処理され得る。
【００５０】
逆に、入力が、リマインダカテゴリに属するアイテムリストを処理するための動作を指定していると処理400が判定すると、アイテムリストが選択され(408)、アイテムリストをユーザデバイスが提示するようにさせるデータが提供される(410)。たとえば、図5Aに図示されるように、たとえば、処理400が、ユーザデバイスにおいて実施されるのであれば、ユーデバイス106によって生成され、または、処理400が、サービスプロバイダ112によって実施されるのであれば、サーバによって送信されるように、入力506[私の食料品リマインダを私に見せて下さい]が、ユーザデバイスへ提供されるデータという結果になる。これは、食料品アイテムリスト508をユーザデバイスが表示するようにさせる。いくつかの実施では、アイテムリストが、アイテムのための異なるリマインダタイプを有している場合、アイテムは、アイテムリストグルーピング510、512および514によって図示されるように、リマインダタイプに従ってグループ化され得る。アイテムリストを提示するための他の適切な方式もまた使用され得る。
【００５１】
第1のグルーピング510では、ユーザが何れかの食料品店に入った場合に、アイテムに関するリマインダが提供されるであろう。第2のグルーピング512では、アイテムに関するリマインダは、ユーザが食料品店「Pop's」へ入った場合にのみ、提供されるであろう。第3のグループピング514では、アイテムに関するリマインダは、ユーザが食料品店「Mom's」へ入った場合にのみ、提供されるであろう。
【００５２】
別の例によれば、図5Bに図示されるように、入力536[私の映画をリストして下さい]が、ユーザデバイスへ提供されるデータという結果になる。これは、映画アイテムリスト538をユーザデバイスが表示するようにさせる。繰り返すが、アイテムは、アイテムリストグルーピング540、542、および544によって図示されるように、リマインダタイプに従ってグループ化され得る。第1のグルーピング540では、アイテムは、2つの異なるリマインダ、すなわち、劇場公開日とBlu-Ray公開日とを有し、リマインダは、各公開のためのアイテムのために提供されるであろう。第2のグルーピング542では、アイテムのためのリマインダは、Blu-Ray公開日のためにのみ提供されるであろう。第3のグルーピング544では、アイテムのためのリマインダは、オンデマンド公開のためにのみ提供されるであろう。
【００５３】
繰り返すが、アイテムリストを提示するための他の適切な方式もまた使用され得る。たとえば、ユーザは、入力[私の劇場公開映画を私に見せて下さい]を提供し得る。リマインダプロセッサ124は、適切な言語モデルまたは文法を適用することによって、構文解析された第2の入力の用語は、カテゴリおよび/またはアイテムに加えて、第1のリマインダタイプである「劇場公開」を指定すると判定するであろう。これに応じて、リマインダプロセッサ124は、アイテムリストをユーザデバイスが提示するようにさせるデータを提供するであろう。ここで、リスト内のアイテムの各々は、第1のリマインダタイプに関連付けられる。この例では、映画アイテムのゴジラとモスラのみが表示されるであろう。
【００５４】
他の様々なリマインダタイプロジックもまた処理されるであろう。たとえば、ユーザは、[Pop's以外のすべての私の食料品店をリストして下さい]を入力し得る。意味論的な言語モデルを使用して、リマインダプロセッサ124は、「Pop's」へ設定された場所リマインダのための食料品リマインダは図示されないと判定するであろう。したがって、図5Aにおけるグルーピング510および514のみが図示されるであろう。
【００５５】
別の例によれば、関連するトリガを有するアイテムのリストもまた図示され得る。リストは、異なるカテゴリからのアイテムから生成され得るが、アイテムは、入力によって指定された共通のリマインダタイプを有する。たとえば、ユーザは、[明日私は何をしなければならないのかを私に見せて下さい]を入力し得る。「明日」という用語は、特定の日に構文解析され、たとえば、その日に生じる「時間」タイプのリマインダが、その後、図示され、たとえば、食料品リスト、映画、および洗濯のリマインダが図示され得る。同様に、ユーザは、[私がサンフランシスコにいる間に、私は何をする必要があるのか]を入力し得る。それに応じて、「サンフランシスコ」の場所を有する「場所」タイプのリマインダに関連付けられたアイテムのためのリマインダをリストするアイテムリストが図示される。
【００５６】
リマインダリストにおける各アイテムについて、リマインダプロセッサ124は、そのアイテムのためのリマインダタイプを指定するイベントが生じたか否かを判定する。そのようなイベントが生じると、そのアイテムに関するリマインダが図示される。図6は、リマインダイベントのトリガに応じてアイテムのリストを提示するための例示的な処理600のフロー図である。処理600は、図7Aおよび図7Bのコンテキストにおいて説明される。特に、図7Aは、ユーザデバイス700におけるユーザインターフェース702の例示であり、ここでは、特定の食料品店の場所にいるとの第1のリマインダタイプに関するリマインダイベントのトリガに応じて、アイテムのリストが表示される。同様に、図7Bは、ユーザデバイス730におけるユーザインターフェース732の例示であり、ここでは、劇場公開日であるとの第2のリマインダタイプに関するリマインダイベントのトリガに応じて、アイテムのリストが表示される。
【００５７】
処理600は、リマインダタイプをトリガするイベントが生じたと判定する(602)。たとえば、リマインダプロセッサ124は、各イベントタイプについて、現在の場所、現在の時間または日付等のようなイベントタイプに関連するデータを収集し、リマインダタイプに関するイベントの何れかが生じたか否かを判定する。
【００５８】
リマインダタイプに関するイベントが生じた場合、処理600は、イベントが生じたリマインダタイプに対応するアイテムをユーザデバイスが提示するようにさせるデータを提供する(604)。たとえば、図7Aを参照して示すように、ユーザは「Mom's」食料品店に入った。したがって、アイテムに関するリマインダが図5Aにリストされ、イベントは、グループ510および514におけるリマインダを満足する。よって、グループ510および514におけるリマインダに対応するリマインダ704のリストが図示される。
【００５９】
同様に、図7Bを参照して示すように、映画ゴジラのための劇場公開日になった。したがって、映画ゴジラに関するリマインダ734が図示される。いくつかの実施では、リマインダに関係のある追加情報が提供され得る。たとえば、映画を上映している劇場のリストが、リンク736を選択することによって図示され得る。
【００６０】
「時間」および「場所」タイプのリマインダに加えて、他のリマインダタイプもまた実施され得る。たとえば、上記で説明されるように、リマインダは、「ワンタイム」または「繰り返し」タイプのリマインダであり得る。リマインダはまた、リストアイテムの達成をモニタし、リストアイテムが締切時間までに達成されていないかどうかをユーザにリマインドのみする「締切」タイプのリマインダであり得る。これらの実施のバリエーションでは、締切リマインダは、リスト上のアイテムに関する毎日のリマインダのように、締切までの日数とともに、締切前にユーザに定期的にリマインドし得る。
【００６１】
リマインダはまた、挙動タイプのリマインダであり得る。たとえば、リマインダは、「〜の途中に」タイプのリマインダからなり得、ユーザが「どこかの」場所へ行く途中である場合にトリガするであろう。たとえば、ユーザは、映画館への方向を要求し得る。そして、その方向が提供された場合、映画リマインダのリストもまた提供され得る。
【００６２】
リマインダはまた、たとえば「時間」および「場所」、「時間」または「場所」等のようなBoolean演算によって組み合わされ得る。
【００６３】
リマインダはまた、各々のカテゴリに従ってクラスタ化され得る。たとえば、食料品およびハードウェアのカテゴリに関連するリマインダは、ユーザが通常、必要に応じて、食料品店およびハードウェアストアにおける買い物を考えるような、「用事」タイプカテゴリへグループ化され得る。逆に、映画、テレビ、スポーツイベント等のカテゴリに関連するリマインダは、そのようなイベントは典型的には娯楽であると考えられるので、「娯楽」タイプカテゴリへグループ化され得る。よって、ユーザは、「今日私がしなければならない用事を私に見せて下さい」と発声し得、リマインダプロセッサ124は、特定のカテゴリクラスタに属するカテゴリのためのリマインダをユーザデバイスが提示するようにさせるであろう。
【００６４】
いくつかの実施では、リマインダは、量的なイベントの代わりに、質的なイベントであり得る。たとえば、ユーザは、[私が自由時間がある時、洗濯をする]と発言し得る。リマインダプロセッサ124は、「私が自由時間がある時」という用語からの制約を判定するために言語モデルを再度使用し得る。制約はその後、制約タイプのためのあらかじめ定義された1つまたは複数の基準に従って表現され得る。たとえば、「自由時間」という制約の場合、基準は、1)通常の勤務時間外、2)家にいる場合、および、3)ユーザカレンダにおける他の任意の約束の1時間以内ではない、であり得る。これらの基準が満足される場合、「洗濯をする」とのリマインダが生成されるであろう。
【００６５】
いくつかの実施では、リマインダアイテムは、リマインダリスト上の他のアイテムへリンクされ得る。たとえば、ユーザは、[食料品を買い物している場合、妻を呼んで下さい]と発言し得る。リマインダプロセッサは、その後、「妻を呼んで下さい」というアイテムが、食料品アイテムではないにも関わらず、「妻を呼んで下さい」というリマインダを、対応する「場所」タイプである「食料品店において」とともに、食料品アイテムリストへ追加するであろう。よって、「食料品店において」というリマインダタイプが満足される場合、「妻を呼んで下さい」というリマインダもまた示されるであろう。
【００６６】
いくつかの実施では、リマインダリストは、ユーザ間で共有され得る。たとえば、2人が食料品店アイテムリストを共有し得、各人がその週の間、リストへアイテムを追加すると、各人のためにリストが更新される。よって、リスト上のリマインダを満足するイベントが生じた場合、リストが、ユーザデバイス上に図示される。これら実施のバリエーションでは、リマインダがトリガされたとの通知が、リストを共有する他のユーザへ提供され得る。たとえば、夫は、「あなたの妻は今、Mom's食料品店で買い物をしており、彼女は、食料品リスト上の以下のアイテムを購入するようにリマインドされました」という通知を、リマインダがトリガされたアイテムのリストとともに受信し得る。
【００６７】
「食料品」および「映画」のカテゴリのための例示的なリマインダタイプが説明されているが、他のカテゴリに関する他のリマインダタイプも使用され得る。たとえば、テレビタイプのリマインダの場合、リマインダタイプは、たとえば番組が始まる前の1時間のような「リードタイム」に従う「時間」タイプ、および、各エピソードの放映に従う「リピート」タイプであり得る。共同番組に関連するリマインダの場合、リマインダはまた、共同番組を放映する局に従う「チャンネル」タイプからなり得る。
【００６８】
本、音楽、仕事、専門組織等のような他の主題エリアのためのリマインダもまた使用され得る。
【００６９】
上記で説明された例示的なリストがユーザ入力に応じて生成される一方、リストおよびリマインダはまた、観察されたユーザ挙動に基づいて生成され得る。たとえば、リマインダ生成および完了のユーザ履歴は、提案されたリマインダとして、正確なリマインダアイテムおよび対応するトリガを判定するために使用され得る。リマインダがトリガされる前にユーザがリマインダを削除するか否か等に関わらず、ユーザ場所のような他の情報もまた、ユーザへ提案するための、または、ユーザのために自動的に設定するためのリマインダを判定するために使用され得る。たとえば、ユーザは、たとえば「ジムへ行きなさい」のような特定のリマインダを希にしか入力しないが、その後、リマインダがトリガされる前に、リマインダをクリアし得る。観察された挙動は、ユーザが特定のリマインダを重要であると考えないことであるので、システムは、リマインダがユーザのために自動的に設定されるべきではないか、または、ユーザへ提案さえもされるべきではないと学習する。
【００７０】
本明細書で議論されたシステムが、ユーザに関する個人情報を収集するか、または、個人情報を活用し得る状況では、ユーザは、番組または特徴がユーザ情報(たとえば、ユーザのソーシャルネットワーク、社会運動または活動、専門、ユーザの嗜好、またはユーザの現在場所のような)を収集するか否かを制御するため、または、ユーザにより関連性のあり得るコンテンツサーバからコンテンツを受信するか否か、および/または、どのようにして受信するのかを制御するための機会を提供され得る。それに加えて、いくつかのデータは、記憶または使用される前に、1つまたは多くの方式で取り扱われ、これによって、個人的に識別可能な情報が削除されるようになる。たとえば、ユーザの識別情報は、個人的に識別可能な情報が、ユーザに関して判定され得ることのないように取り扱われ得るか、または、ユーザの地理的な場所が、場所情報が取得された場所において(たとえば都市、郵便番号、または州レベルへ)一般化され、これによって、ユーザの特定の場所が判定されないようになる。よって、ユーザは、ユーザに関する情報がコンテンツサーバによってどのようにして収集され使用されるのかに関する制御を有し得る。
【００７１】
図8は、例示的なモバイルコンピューティングデバイスのブロック図である。この例示では、モバイルコンピューティングデバイス810は、コンテンツを、モバイルコンピューティングデバイス810のユーザへ提示し、タッチベースのユーザ入力を受信するためのタッチスクリーンディスプレイデバイス812を含むハンドヘルドモバイル電話(たとえば、スマートフォン、またはアプリケーション電話)として描写されている。様々な異なる入力構成要素のように、他の視覚的、触覚的、および聴覚的な出力構成要素(たとえば、LED照明、触覚的な出力のための振動メカニズム、または、音調、音声生成された、または録音された出力を提供するためのスピーカ)もまた提供され得る。
【００７２】
ディスプレイデバイス812の形式である例示的な視覚的出力メカニズム812は、抵抗性または容量性タッチ機能を備えたディスプレイの形態をとり得る。ディスプレイデバイスは、ビデオ、グラフィック、画像、およびテキストを表示するためのものであり得、デバイス810が、表示されたアイテムの場所におけるユーザコンタクトをアイテムと関連付けることができるように、ユーザタッチ入力場所を、表示された情報の場所と調整するためのものであり得る。モバイルコンピューティングデバイス810はまた、ラップトップコンピュータ、タブレットまたはスレートコンピュータ、携帯情報端末、組込システム(たとえば、カーナビゲーションシステム)、デスクトップパーソナルコンピュータ、またはコンピュータ化されたワークステーションを含む代替的な形態をもとり得る。
【００７３】
モバイルコンピューティングデバイス810はまた、タッチスクリーンディスプレイデバイス812との物理的なコンタクトの位置(たとえば、指またはスタイラスによるコンタクトの位置)を決定することができ得る。タッチスクリーン812を使用して、様々な「仮想的な」入力メカニズムが生成され得る。ここでは、ユーザは、グラフィックユーザインターフェース要素にコンタクトすることによって、タッチスクリーン512上に描写されたグラフィックユーザインターフェース要素とインタラクトする。「仮想的な」入力メカニズムは、「ソフトウェアキーボード」であり、タッチスクリーン上にキーボードが表示され、ユーザは、各キーに対応するタッチスクリーン812の領域を押すことによってキーを選択する。
【００７４】
モバイルコンピューティングデバイス810は、機械的またはタッチセンサ式のボタン818a〜dを含み得る。それに加えて、モバイルコンピューティングデバイスは、1つまたは複数のスピーカ820によって出力された音量を調節するためのボタンと、モバイルコンピューティングデバイスをオンまたはオフするためのボタンとを含み得る。マイクロホン822によって、モバイルコンピューティングデバイス810は、可聴音を、デジタル的にエンコードされコンピュータ読取可能なメモリへ記憶され得るか、または、別のコンピューティングデバイスへ送信され得る電気信号へ変換することが可能となる。モバイルコンピューティングデバイス810はまた、デジタルコンパス、加速度計、近接センサ、および周辺光センサを含み得る。
【００７５】
オペレーティングシステムは、モバイルコンピューティングデバイスのハードウェア(たとえば、入力/出力メカニズムと、コンピュータ読取可能な媒体から取得された命令を実行するプロセッサ)とソフトウェアとの間のインターフェースを提供し得る。オペレーティングシステムは、コンピューティングデバイスとユーザとの間のインタラクションを容易にするアプリケーションプログラムの実行のためのプラットフォームを提供し得る。
【００７６】
モバイルコンピューティングデバイス810は、タッチスクリーン812を用いてグラフィックユーザインターフェースを提示し得る。グラフィックユーザインターフェースは、1つまたは複数のグラフィックインターフェース要素の集合であり、(たとえば、ディスプレイが、期間にわたって同じままを維持するように見える)静的であり得るか、または、(たとえば、グラフィックユーザインターフェースが、ユーザ入力なしで活発になるグラフィックインターフェース要素を含む)動的であり得る。
【００７７】
グラフィックインターフェース要素は、テキスト、線、形状、画像、またはこれらの組合せであり得る。たとえば、グラフィックインターフェース要素は、デスクトップ上に表示されるアイコン、およびアイコンの関連付けられたテキストであり得る。いくつかの例では、グラフィックインターフェース要素は、ユーザ入力を用いて選択可能である。たとえば、ユーザは、グラフィックインターフェース要素のディスプレイに対応するタッチスクリーンの領域を押すことによって、グラフィックインターフェース要素を選択し得る。いくつかの例では、ユーザは、焦点を有するものとして単一のグラフィックインターフェース要素を強調するためにトラックボールを操作し得る。グラフィックインターフェース要素のユーザ選択は、モバイルコンピューティングデバイスによってあらかじめ定義された動作を起動し得る。ボタンのユーザ選択は、あらかじめ定義された動作を起動し得る。
【００７８】
モバイルコンピューティングデバイス810は、他のアプリケーション、コンピューティングサブシステム、およびハードウェアを含み得る。音声認識サービス872は、モバイルコンピューティングデバイスのマイクロホン822によって受信された音声通信データを受信し得、音声通信を、対応するテキスト形式のデータへ変換するか、または、音声認識を実行し得る。処理された音声データは、上記で説明されたように、音声データを生成するために使用される音声入力が、特定のアプリケーションのための特定の動作を起動するか否かを判定するために、コマンドモデルデータ122に記憶されたコマンドモデルへ入力され得る。以下に示すアプリケーション、サービス、およびユニットのうちの1つまたは複数は、そのような音声コマンドによって起動される対応する動作を有し得る。
【００７９】
通話取扱ユニットは、着信通話を示すインジケーションを受信し得、着信通話に回答する機能をユーザへ提供し得る。メディアプレーヤによって、ユーザは、モバイルコンピューティングデバイス810のローカルメモリに記憶された音楽を聞いたり、映画を再生できるようになり得る。モバイルデバイス810は、デジタルカメラセンサ、および、対応する画像およびビデオキャプチャおよび編集ソフトウェアを含み得る。インターネットブラウザによって、ユーザは、ウェブページに対応するアドレスをタイプすることによって、または、ウェブページへのリンクを選択することによって、ウェブページからのコンテンツを視聴できるようになり得る。
【００８０】
基地局のネットワークを作動させるサービスプロバイダは、モバイルコンピューティングデバイス810と、サービス860を提供する他のコンピューティングシステムとの間の通信を可能にするために、モバイルコンピューティングデバイス810をネットワーク850へ接続し得る。サービス860は、(たとえば、サービスプロバイダの内部ネットワーク、公衆交換電話網、およびインターネットのような)異なるネットワークを介して提供され得るが、ネットワーク850は、単一のネットワークとして例示される。サービスプロバイダは、情報パケットと音声データとを、モバイルコンピューティングデバイス810と、サービス860に関連付けられたコンピューティングシステムとの間に経路付けるサーバシステム852を作動させ得る。
【００８１】
ネットワーク850は、モバイルコンピューティングデバイス810と別のコンピューティングデバイスとの間の音声またはファックス通信を確立するために、モバイルコンピューティングデバイス810を、公衆交換電話網(PSTN)862へ接続し得る。たとえば、サービスプロバイダサーバシステム852は、モバイルコンピューティングデバイス810の着信のPSTN862からインジケーションを受信し得る。逆に、モバイルコンピューティングデバイス810は、PSTN862を介してアクセス可能なデバイスに関連付けられた電話番号を使用して、電話通話を開始する通信を、サービスプロバイダサーバシステム852へ送信し得る。
【００８２】
ネットワーク850は、PSTNではなく、IPネットワークを介した音声通信を経路付けるボイスオーバインターネットプロトコル(VoIP)サービス864へモバイルコンピューティングデバイス810を接続し得る。たとえば、モバイルコンピューティングデバイス810のユーザは、VoIPアプリケーションを起動し、プログラムを使用して通話を開始し得る。サービスプロバイダサーバシステム852は、通話からの音声データをVoIPサービスへ転送し得る。VoIPサービスは、潜在的には、接続の最終工程のためにPSTNを使用して、通話を、インターネットを介して、対応するコンピューティングデバイスへ経路付け得る。
【００８３】
アプリケーションストア866は、モバイルコンピューティングデバイス810のユーザへ、ユーザがネットワーク850を介してダウンロードし、モバイルコンピューティングデバイス810へインストールすることができる、遠隔に記憶されたアプリケーションプログラムのリストをブラウズする機能を提供し得る。アプリケーションストア866は、サードパーティアプリケーション開発者によって開発されたアプリケーションのリポジトリとして役立ち得る。モバイルコンピューティングデバイス810にインストールされたアプリケーションプログラムは、アプリケーションプログラムのために設計されたサーバシステムとネットワーク850を介して通信することができ得る。たとえば、VoIPアプリケーションプログラムは、アプリケーションストア866からダウンロードされ、ユーザが、VoIPサービス864と通信することを可能にする。
【００８４】
モバイルコンピューティングデバイス810は、ネットワーク850を介してインターネット868上のコンテンツにアクセスし得る。たとえば、モバイルコンピューティングデバイス810のユーザは、指定されたユニバーサルリソースロケーションにおいてアクセス可能な遠隔コンピューティングデバイスからのデータを要求するウェブブラウザアプリケーションを起動し得る。様々な例において、サービス860のうちのいくつかは、インターネットを介してアクセス可能である。
【００８５】
モバイルコンピューティングデバイスは、パーソナルコンピュータ870と通信し得る。たとえば、パーソナルコンピュータ870は、モバイルコンピューティングデバイス810のユーザのためのホームコンピュータであり得る。よって、ユーザは、自分のパーソナルコンピュータ870からメディアをストリームすることができ得る。ユーザはまた、自分のパーソナルコンピュータ870のファイル構造を閲覧し得、コンピュータ化されたデバイス間で、選択された文書を送信し得る。
【００８６】
モバイルコンピューティングデバイス810は、ソーシャルネットワーク874と通信し得る。ソーシャルネットワークは、多数のメンバを含み得る。それらのうちの何人かは、知人であるとして関連付けられることに合意している。モバイルコンピューティングデバイス810上のアプリケーションプログラムは、モバイルコンピューティングデバイスのユーザの知人に基づいて、情報を検索するために、ソーシャルネットワーク874へアクセスし得る。たとえば、「アドレス帳」アプリケーションプログラムは、ユーザの知人のための電話番号を検索し得る。様々な例において、コンテンツは、メンバのソーシャルネットワークグラフにおける他のメンバへのユーザからのソーシャルネットワーク距離およびつながり関係に基づいて、モバイルコンピューティングデバイス810へ配信され得る。たとえば、広告およびニュース記事コンテンツは、ユーザに「近い」メンバ(たとえば、「友達」または「友達の友達」であるメンバ)によるそのようなコンテンツとのインタラクションのレベルに基づいて、ユーザのために選択され得る。
【００８７】
モバイルコンピューティングデバイス810は、ネットワーク850を介して個人のコンタクト876のセットにアクセスし得る。各コンタクトは、個人を識別し得、その個人に関する情報(たとえば、電話番号、電子メールアドレス、および誕生日)を含み得る。コンタクトのセットは、モバイルコンピューティングデバイス810へ遠隔的にホストされるので、ユーザは、いくつかのデバイスを横切ってコンタクト876にアクセスし、共通のコンタクトのセットとして維持し得る。
【００８８】
モバイルコンピューティングデバイス810は、クラウドベースのアプリケーションプログラム878にアクセスし得る。クラウドコンピューティングは、モバイルコンピューティングデバイス810から遠隔的にホストされるアプリケーションプログラム(たとえば、ワードプロセッサまたは電子メールプログラム)を提供し、ウェブブラウザまたは専用プログラムを使用してデバイス810によってアクセスされ得る。
【００８９】
マッピングサービス880は、モバイルコンピューティングデバイス810へストリートマップ、ルート計画情報、および衛星画像を提供し得る。マッピングサービス880はまた、クエリを受信し、場所特有の結果を返し得る。たとえば、モバイルコンピューティングデバイス810は、モバイルコンピューティングデバイスの推定された場所と、「ピザの場所」を求めるユーザ入力クエリとを、マッピングサービス880へ送信し得る。マッピングサービス880は、近くの「ピザの場所」の地理的場所を識別する地図上に重ね合わされた「マーカ」を付されたストリートマップを返し得る。
【００９０】
ターンバイターンサービス882は、ユーザによって提供された目的地へのターンバイターン方向を、モバイルコンピューティングデバイス810へ提供し得る。たとえば、ターンバイターンサービス882は、デバイスの推定された場所のストリートレベルビューを、オーディオコマンドを提供しデバイス810のユーザを目的地へ指示する矢印を重ね合わせるためのデータとともに、デバイス810へストリームし得る。
【００９１】
様々な形態のストリーミングメディア884が、モバイルコンピューティングデバイス810によって要求され得る。たとえば、コンピューティングデバイス810は、あらかじめ記録されたビデオファイル、ライブテレビ番組、またはライブオーディオ番組のためのストリームを要求し得る。
【００９２】
マイクロブログ作成サービス886は、投稿の受信者を識別しないユーザによって入力された投稿を、モバイルコンピューティングデバイス810から受信し得る。マイクロブログ作成サービス886は、ユーザへ登録することに合意したマイクロブログ作成サービス886の他のメンバへの投稿を普及させ得る。
【００９３】
探索エンジン888は、モバイルコンピューティングデバイス810から、ユーザが入力したテキスト形式または口頭のクエリを受信し得、クエリに応じたインターネットアクセス可能な文書のセットを判定し得、応答する文書に関する探索結果のリストを表示するための情報をデバイス810へ提供し得る。口頭のクエリが受信される例では、音声認識サービス872が、受信されたオーディオを、探索エンジンへ送信されるテキスト形式のクエリへ変換し得る。
【００９４】
これらおよび他のサービスは、サーバシステム890において実施され得る。サーバシステムは、サービスまたはサービスのセットを提供するハードウェアとソフトウェアとの組合せであり得る。たとえば、物理的に分離し、ネットワーク化されたコンピュータ化されたデバイスのセットは、何百ものコンピューティングデバイスへサービスを提供するために必要な工程を取り扱うための論理サーバシステムユニットとしてともに作動し得る。サーバシステムは、本明細書において、コンピューティングシステムとも称される。
【００９５】
様々な実施では、別の工程(たとえば、判定または識別)「に応じて」または「の結果として」実行される工程は、前の工程が不成功であれば(たとえば、判定が実行されなければ)実行されない。「自動的に」実行される工程は、ユーザ介在(ユーザ入力を介在すること)なく実行される工程である。条件付き言語で説明される本書における特徴は、オプションである実施を説明し得る。いくつかの例では、第1のデバイスから第2のデバイスへ「送信するステップ」は、第1のデバイスが、第2のデバイスによる受信のためにネットワークへデータを配置するステップを含むが、第2のデバイスがデータを受信するステップを含まないことがあり得る。逆に、第1のデバイスから「受信するステップ」は、ネットワークからデータを受信するステップを含み得るが、第1のデバイスがデータを送信するステップを含まないことがあり得る。
【００９６】
コンピューティングシステムによって「判定するステップ」は、別のデバイスに対して、判定を実行し、結果をコンピューティングシステムへ供給することをコンピューティングシステムが要求するステップを含み得る。さらに、コンピューティングシステムによって「表示するステップ」または「提示するステップ」は、参照された情報を別のデバイスが表示または提示するようにさせるためのデータを、コンピューティングシステムが送信するステップを含み得る。
【００９７】
本明細書において説明された主題および工程の実施形態は、本明細書において開示された構成、およびその構成的な均等物、またはそれらの1つまたは複数の組合せを含むデジタル電子回路、または、コンピュータソフトウェア、ファームウェア、またはハードウェアにおいて実施され得る。本明細書において説明された主題の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置による実行のために、または、データ処理装置の工程を制御するために、コンピュータ記憶媒体においてエンコードされたコンピュータプログラム命令の1つまたは複数のモジュールとして実施され得る。あるいは、または、それに加えて、プログラム命令は、たとえば、マシンによって生成された電気、光、または電磁気信号のように、データ処理装置による実行のために適切な受信機装置への送信のために情報をエンコードするために生成された人為的に生成された伝搬信号においてエンコードされ得る。コンピュータ記憶媒体は、コンピュータ読取可能な記憶デバイス、コンピュータ読取可能な記憶基板、ランダムまたはシリアルなアクセスメモリアレイまたはデバイス、または、これらの1つまたは複数の組合せであり得るか、または、これらに含まれ得る。さらに、コンピュータ記憶媒体は、伝搬信号ではないが、コンピュータ記憶媒体は、人為的に生成された伝搬信号においてエンコードされたコンピュータプログラム命令のソースまたは宛先であり得る。コンピュータ記憶媒体はまた、1つまたは複数の個別の物理的な構成要素または媒体(たとえば、多数のCD、ディスク、または他の記憶デバイス)であり得るか、または、これらに含まれ得る。
【００９８】
本明細書において説明された工程は、1つまたは複数のコンピュータ読取可能な記憶デバイスに記憶された、または、他のソースから受信されたデータについて、データ処理装置によって実行される工程として実施され得る。
【００９９】
「データ処理装置」という用語は、例によれば、プログラマブルプロセッサ、コンピュータ、システムオンチップ、これらのうちの複数または組合せを含む、データ処理のためのすべての種類の装置、デバイス、およびマシンを包含する。装置は、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)のような専用目的論理回路を含み得る。装置はまた、ハードウェアに加えて、問題となっているコンピュータプログラムのための実行環境を生成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、またはこれらのうちの1つまたは複数の組合せを構成するコードを含み得る。装置および実行環境は、ウェブサービス、分散コンピューティングインフラストラクチャ、およびグリッドコンピューティングインフラストラクチャのような様々な異なるコンピューティングモデルインフラストラクチャを実現し得る。
【０１００】
(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られている)コンピュータプログラムは、コンパイル型またはインタプリタ型言語、宣言型または手続型言語を含む任意の形態のプログラミング言語で書かれ得、スタンドアロンプログラムとして、または、モジュール、構成要素、サブルーチン、オブジェクト、またはコンピューティング環境における使用のために適切な他のユニットを含む任意の形態で展開され得る。コンピュータプログラムは、ファイルシステム内のファイルに相当し得るが、必ずしも相当する必要はない。プログラムは、問題となっているプログラムに専用の単一のファイルに、または、多数の調整されたファイル(たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの一部を記憶するファイル)に、他のプログラムまたはデータ(たとえば、マークアップ言語文書に記憶された1つまたは複数のスクリプト)を保持するファイルの一部に記憶され得る。コンピュータプログラムは、1つのコンピュータにおいて、または、1つのサイトにおいて配置されているか、または、多数のサイトにわたって分散され、通信ネットワークによって相互接続された多数のコンピュータにおいて実行されるように展開され得る。
【０１０１】
本明細書に説明された処理および論理フローは、入力データについて演算し、出力を生成することによって、動作を実行するために、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実行され得る。処理および論理フローはまた、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)のような専用目的論理回路によって実行され、装置は、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)のような専用目的論理回路によって実施され得る。
【０１０２】
コンピュータプログラムの実行のために適切なプロセッサは、例によれば、汎用および専用の両方のマイクロプロセッサと、任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサとを含む。一般に、プロセッサは、読取専用メモリまたはランダムアクセスメモリまたは両方から命令およびデータを受信するであろう。コンピュータの必須の要素は、命令に従って動作を実行するためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、たとえば磁気、磁気光ディスク、または光ディスクのように、データを記憶するための1つまたは複数の大容量デバイスを含み得るか、このような大容量デバイスからデータを受信するために、またはこのような大容量デバイスへデータを転送するために、またはその両方のために、動作可能に結合され得る。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。さらに、コンピュータは、いくつか名前を挙げると、たとえば、モバイル電話、携帯情報端末(PDA)、モバイルオーディオまたはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブル記憶デバイス(たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブ)のような別のデバイスに組み込まれ得る。コンピュータプログラム命令およびデータを記憶するために適切なデバイスは、例によれば、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイスのような半導体メモリデバイス、たとえば内部ハードディスクまたはリムーバブルディスクのような磁気ディスク、磁気光ディスク、および、CD-ROMおよびDVD-ROMディスクを含むすべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用目的論理回路によって補足され得るか、または、専用目的論理回路内に組み込まれ得る。
【０１０３】
ユーザとのインタラクションを提供するために、本明細書において説明された主題の実施形態は、たとえば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタのように、ユーザへ情報を表示するためのディスプレイデバイスと、キーボードと、たとえば、マウスまたはトラックボールのように、ユーザがコンピュータへ入力を提供し得るポインティングデバイスとを有するコンピュータにおいて実施され得る。他の種類のデバイスもまた同様に、ユーザとのインタラクションを提供するために使用され得る。たとえば、ユーザへ提供されるフィードバックは、たとえば、視覚的なフィードバック、聴覚的なフィードバック、または触覚的なフィードバックのような任意の形態の知覚的なフィードバックであり得、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態で受信され得る。それに加えて、コンピュータは、たとえば、ウェブブラウザから受信された要求に応じて、ユーザのユーザデバイス上のウェブブラウザへウェブページを送信することによって、ユーザによって使用されるデバイスへ文書を送信し、このデバイスから文書を受信することによってユーザとインタラクトし得る。
【０１０４】
本明細書において説明された主題の実施形態は、たとえば、データサーバのようなバックエンド構成要素を含む、または、たとえば、アプリケーションサーバのようなミドルウェア構成要素を含む、または、たとえば、本明細書において説明された主題の実施とユーザがインタラクトし得るグラフィックユーザインターフェースまたはウェブブラウザを有するユーザコンピュータのようなフロントエンド構成要素を含むコンピューティングシステムにおいて、または、1つまたは複数のそのようなバックエンド、ミドルウェア、またはフロントエンド構成要素の任意の組合せにおいて実施され得る。システムの構成要素は、たとえば通信ネットワークのような、デジタルデータ通信の任意の形態または媒体によって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)および広域ネットワーク(「WAN」)、インターネットワーク(たとえば、インターネット)、およびピアツーピアネットワーク(たとえば、アドホックピアツーピアネットワーク)を含む。
【０１０５】
コンピューティングシステムは、ユーザおよびサーバを含み得る。ユーザおよびサーバは、一般に、互いに離れており、典型的には、通信ネットワークを介してインタラクトする。ユーザとサーバとの関係は、それぞれのコンピュータにおいて作動し、ユーザサーバ関係を互いに有するコンピュータプグラムによって生じる。いくつかの実施形態では、サーバは、データ(たとえば、HTMLページ)を、(たとえば、ユーザデバイスとインタラクトするユーザへデータを表示し、このユーザからユーザ入力を受信する目的のために)ユーザデバイスへ送信する。ユーザデバイスにおいて生成されたデータ(たとえば、ユーザインタラクションの結果)は、サーバにおいてユーザデバイスから受信され得る。
【０１０６】
本明細書は、多くの特定の実施詳細を含んでいるが、これらは、任意の発明の、または、特許請求される範囲の限定としてではなく、むしろ特定の発明の特定の実施形態に特有の特徴の説明として解釈されるべきである。個別の実施形態のコンテキストにおいて本明細書において説明されているいくつかの特徴はまた、単一の実施形態における組合せにおいても実施され得る。逆に、単一の実施形態のコンテキストに説明されている様々な特徴はまた、多くの実施形態において個別に、または、任意の適切な部分的組合せにおいても実施され得る。さらに、特徴は、いくつかの実施形態において動作するとして上記で説明され、そのように最初に等しく特許請求され得るが、特許請求された組合せからの1つまたは複数の特徴は、いくつかのケースでは、組合せから削除され得、特許請求された組合せは、部分的組合せまたは部分的組合せのバリエーションを対象とされ得る。
【０１０７】
同様に、工程は、特定の順序で図面に描写されているが、これは、所望の結果を達成するために、そのような工程が、図示された特定の順序または連続した順序で実行されること、または、例示されたすべての工程が実行されることも必要としているとして理解されるべきではない。いくつかの状況では、マルチタスクおよび並列処理が有利であり得る。さらに、上記で説明された実施形態における様々なシステム構成要素の分離は、すべての実施形態におけるそのような分離を必要としているとして理解されるべきではなく、説明されたプログラム構成要素およびシステムは一般に、単一のソフトウェア製品へともに統合され得るか、または、多数のソフトウェア製品へパッケージ化され得ることが理解されるべきである。
【０１０８】
よって、主題の特定の実施形態が説明された。他の実施形態は、以下の特許請求の範囲内である。いくつかのケースでは、特許請求の範囲において記載された動作は、別の順序で実行され、依然として望ましい結果を達成し得る。それに加えて、添付図面に図示された処理は、所望の結果を達成するために、必ずしも図示された特定の順序または連続した順序を必要とする訳ではない。いくつかの実施では、マルチタスクおよび並列処理が有利であり得る。
【符号の説明】
【０１０９】
100  環境
102  ネットワーク
103  ワイヤレスネットワーク
106  ユーザデバイス
112  クラウドサービスプロバイダ
114  アカウントデータ
120  コマンド処理システム
122  入力パーサ
124  リマインダプロセッサ
126  リマインダカテゴリデータ
128  リマインダリストデータ
700  ユーザデバイス
702  ユーザインターフェース
704  リマインダ
730  ユーザデバイス
732  ユーザインターフェース
734  リマインダ
736  リンク
810  モバイルコンピューティングデバイス
812  タッチスクリーンディスプレイデバイス
818a  ボタン
818b  ボタン
818c  ボタン
818d  ボタン
820  スピーカ
822  マイクロホン
860  サービス
866  アプリケーションストア
868  インターネット
870  パーソナルコンピュータ
872  音声認識サービス
874  ソーシャルネットワーク
876  コンタクト
878  クラウドベースのアプリケーション
880  マッピングサービス
882  ターンバイターンサービス
884  ストリーミングメディア
886  マイクロブログ作成サービス
888  探索エンジン
890  サーバシステム
【図１】
0006445053.tif 000002
【図２Ａ】
0006445053.tif 000003
【図２Ｂ】
0006445053.tif 000004
【図３Ａ】
0006445053.tif 000005
【図３Ｂ】
0006445053.tif 000006
【図４】
0006445053.tif 000007
【図５Ａ】
0006445053.tif 000008
【図５Ｂ】
0006445053.tif 000009
【図６】
0006445053.tif 000010
【図７Ａ】
0006445053.tif 000011
【図７Ｂ】
0006445053.tif 000012
【図８】
0006445053.tif 000013