(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-09-12
(54)【発明の名称】ブラウザからタスクデータをインジェストし、タスクを生成するためのシステムおよび方法
(51)【国際特許分類】
G06Q 50/10 20120101AFI20240905BHJP
【FI】
G06Q50/10
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024514653
(86)(22)【出願日】2022-09-07
(85)【翻訳文提出日】2024-04-24
(86)【国際出願番号】 US2022076053
(87)【国際公開番号】W WO2023039431
(87)【国際公開日】2023-03-16
(32)【優先日】2021-09-07
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】523371584
【氏名又は名称】ヨハナ・エルエルシー
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】マツオカ、ヨーキー
(72)【発明者】
【氏名】ビスワナタン、ニティン
【テーマコード(参考)】
5L050
【Fターム(参考)】
5L050CC11
(57)【要約】
ウェブサイトデータに基づいてタスク容易化サービスでタスクを生成するためのコンピュータに実装される方法は、ユーザに関連するユーザコンピューティングデバイス上で実行されるブラウザからウェブサイトについてのウェブサイトデータを受信することを含む。方法はまた、ユーザのタスクについてのタスク推奨を生成するためにウェブサイトデータを処理することと、タスク推奨に対応する指示を送信することとを含む。指示がコンピューティングデバイスによって受信されるとき、コンピューティングデバイスは、タスク容易化サービスにおけるタスク推奨に対応するタスクを生成するためにタスク推奨を承認することが可能にされる。
【特許請求の範囲】
【請求項1】
ユーザに関連するユーザコンピューティングデバイス上で実行されるブラウザからウェブサイトについてのウェブサイトデータを受信することと、
前記ユーザのタスクについてのタスク推奨を生成するために前記ウェブサイトデータを処理すること、
前記タスク推奨に対応する指示を送信することと、ここにおいて、前記指示がコンピューティングデバイスによって受信されるとき、前記コンピューティングデバイスは、タスク容易化サービスにおける前記タスク推奨に対応するタスクを生成するために前記タスク推奨を承認することが可能にされる、
を備える、コンピュータに実装される方法。
【請求項2】
前記コンピューティングデバイスは、前記ユーザに対応するユーザコンピューティングデバイスである、請求項1に記載のコンピュータに実装される方法。
【請求項3】
前記コンピューティングデバイスは、前記ユーザに対応するユーザコンピューティングデバイスとは異なる代理コンピューティングデバイスであり、前記代理コンピューティングデバイスは、前記ユーザのためにタスク完了を容易にするように前記ユーザに割り当てられた代理に対応する、請求項1に記載のコンピュータに実装される方法。
【請求項4】
前記ウェブサイトデータは、前記ウェブサイトのアドレスを含む、請求項1に記載のコンピュータに実装される方法。
【請求項5】
前記ウェブサイトデータは、前記ウェブサイトのアドレスを含み、前記ウェブサイトデータを処理することは、前記アドレスを使用して前記ウェブサイトにアクセスすることと、前記ウェブサイトデータに前記ウェブサイトから収集された追加のデータを補足することとを含む、請求項1に記載のコンピュータに実装される方法。
【請求項6】
前記ウェブサイトデータは、前記ウェブサイトについてのキーワードを含む、請求項1に記載のコンピュータに実装される方法。
【請求項7】
前記タスク推奨の承認を受信することと、
前記タスク推奨の承認を受信することに応答して、前記タスク容易化サービスで前記タスクを生成することと
をさらに備える、請求項1に記載のコンピュータに実装される方法。
【請求項8】
前記ウェブサイトデータを処理することは、前記ウェブサイトデータをタスク予測モデルに与えることを含み、前記タスク予測モデルは、前記タスク予測モデルによって生成されるタスク推奨への応答に基づいて更新される、請求項1に記載のコンピュータに実装される方法。
【請求項9】
前記ウェブサイトデータを処理することは、前記ウェブサイトデータをタスク予測モデルに与えることを含み、前記タスク予測モデルは、前記タスク予測モデルによって生成されるタスク推奨への応答に基づいて更新され、前記コンピュータに実装される方法は、前記タスク推奨の承認または拒絶に応答して、前記ウェブサイトデータを使用して前記タスク予測モデルを更新することをさらに含む、請求項1に記載のコンピュータに実装される方法。
【請求項10】
1つまたは複数のプロセッサと、
命令を記憶する非一時的コンピュータ可読記憶媒体とを備え、前記命令は、前記1つまたは複数のプロセッサによって実行されるときに、前記1つまたは複数のプロセッサに、
ユーザに関連するユーザコンピューティングデバイス上で実行されるブラウザからウェブサイトについてのウェブサイトデータを受信することと、
前記ユーザのタスクについてのタスク推奨を生成するために前記ウェブサイトデータを処理することと、
前記タスク推奨に対応する指示を送信することと、ここにおいて、前記指示がコンピューティングデバイスによって受信されるとき、前記コンピューティングデバイスは、タスク容易化サービスにおける前記タスク推奨に対応するタスクを生成するために前記タスク推奨を承認することが可能にされる、
からなる動作を実施させる
システム。
【請求項11】
前記コンピューティングデバイスは、前記ユーザに対応するユーザコンピューティングデバイスである、請求項10に記載のシステム。
【請求項12】
前記コンピューティングデバイスは、前記ユーザに対応するユーザコンピューティングデバイスとは異なる代理コンピューティングデバイスであり、前記代理コンピューティングデバイスは、前記ユーザのためにタスク完了を容易にするように前記ユーザに割り当てられた代理に対応する、請求項10に記載のシステム。
【請求項13】
前記ウェブサイトデータは、前記ウェブサイトのアドレスを含む、請求項10に記載のシステム。
【請求項14】
前記ウェブサイトデータは、前記ウェブサイトのアドレスを含み、前記ウェブサイトデータを処理することは、前記アドレスを使用して前記ウェブサイトにアクセスすることと、前記ウェブサイトデータに前記ウェブサイトから収集された追加のデータを補足することとを含む、請求項10に記載のシステム。
【請求項15】
前記ウェブサイトデータは、前記ウェブサイトについてのキーワードを含む、請求項10に記載のシステム。
【請求項16】
前記命令は、前記1つまたは複数のプロセッサに、
前記タスク推奨の承認を受信することと、
前記タスク推奨の承認を受信することに応答して、前記タスク容易化サービスで前記タスクを生成することと
からなる動作をさらに実施させる、請求項10に記載のシステム。
【請求項17】
前記ウェブサイトデータを処理することは、前記ウェブサイトデータをタスク予測モデルに与えることを含み、前記タスク予測モデルは、前記タスク予測モデルによって生成されるタスク推奨への応答に基づいて更新される、請求項10に記載のシステム。
【請求項18】
前記ウェブサイトデータを処理することは、前記ウェブサイトデータをタスク予測モデルに与えることを含み、前記タスク予測モデルは、前記タスク予測モデルによって生成されるタスク推奨への応答に基づいて更新され、前記命令は、前記1つまたは複数のプロセッサに、前記タスク推奨の承認または拒絶に応答して、前記ウェブサイトデータを使用して前記タスク予測モデルを更新することからなる動作をさらに実施させる、請求項10に記載のシステム。
【請求項19】
命令を記憶する非一時的コンピュータ可読記憶媒体であって、前記命令は、
1つまたは複数のプロセッサによって実行されるとき、前記1つまたは複数のプロセッサに、
ユーザに関連するユーザコンピューティングデバイス上で実行されるブラウザからウェブサイトについてのウェブサイトデータを受信することと、
前記ユーザのタスクについてのタスク推奨を生成するために前記ウェブサイトデータを処理することと、
前記タスク推奨に対応する指示を送信することと、ここにおいて、前記指示がコンピューティングデバイスによって受信されるとき、前記コンピューティングデバイスは、タスク容易化サービスにおける前記タスク推奨に対応するタスクを生成するために前記タスク推奨を承認することが可能にされる、
からなる動作を実施させる、非一時的コンピュータ可読記憶媒体。
【請求項20】
前記コンピューティングデバイスは、前記ユーザに対応するユーザコンピューティングデバイスである、請求項19に記載の非一時的コンピュータ可読記憶媒体。
【請求項21】
前記コンピューティングデバイスは、前記ユーザに対応するユーザコンピューティングデバイスとは異なる代理コンピューティングデバイスであり、前記代理コンピューティングデバイスは、前記ユーザのためにタスク完了を容易にするように前記ユーザに割り当てられた代理に対応する、請求項19に記載の非一時的コンピュータ可読記憶媒体。
【請求項22】
前記ウェブサイトデータは、前記ウェブサイトのアドレスを含む、請求項19に記載の非一時的コンピュータ可読記憶媒体。
【請求項23】
前記ウェブサイトデータは、前記ウェブサイトのアドレスを含み、前記ウェブサイトデータを処理することは、前記アドレスを使用して前記ウェブサイトにアクセスすることと、前記ウェブサイトデータに前記ウェブサイトから収集された追加のデータを補足することとを含む、請求項19に記載の非一時的コンピュータ可読記憶媒体。
【請求項24】
前記ウェブサイトデータは、前記ウェブサイトについてのキーワードを含む、請求項19に記載の非一時的コンピュータ可読記憶媒体。
【請求項25】
前記命令は、前記1つまたは複数のプロセッサに、
前記タスク推奨の承認を受信することと、
前記タスク推奨の承認を受信することに応答して、前記タスク容易化サービスで前記タスクを生成することと
からなる動作をさらに実施させる、請求項19に記載の非一時的コンピュータ可読記憶媒体。
【請求項26】
前記ウェブサイトデータを処理することは、前記ウェブサイトデータをタスク予測モデルに与えることを含み、前記タスク予測モデルは、前記タスク予測モデルによって生成されるタスク推奨への応答に基づいて更新される、請求項19に記載の非一時的コンピュータ可読記憶媒体。
【請求項27】
前記ウェブサイトデータを処理することは、前記ウェブサイトデータをタスク予測モデルに与えることを含み、前記タスク予測モデルは、前記タスク予測モデルによって生成されるタスク推奨への応答に基づいて更新され、前記命令は、前記1つまたは複数のプロセッサに、前記タスク推奨の承認または拒絶に応答して、前記ウェブサイトデータを使用して前記タスク予測モデルを更新することからなる動作をさらに実施させる、請求項19に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
[0001]本出願は、2021年9月7日に出願された米国仮特許出願第63/241,253号に関連し、それからの優先権を主張するものであり、その内容全体は、すべての目的のために参照により本明細書に完全に組み込まれる。
【0002】
[0002]本開示は、概して、様々なソースからタスク関連のデータを取得し、そのようなデータに基づいてタスク推奨をユーザに与えることに関し、より詳細には、タスク容易化サービスのための対応するタスク推奨を与え、タスク容易化サービス内でタスクを生成するためにウェブブラウザからデータを取得することに関する。
【発明の概要】
【0003】
[0003]開示された実施形態は、タスク推奨を与え、タスク容易化サービスにタスクを生成するための手法を与え得る。タスク容易化の所与のメンバーのための推奨は、ユーザモデルまたはプロファイルの形態に維持されるデータを含む、タスク容易化サービスに関連する1つまたは複数のアプリケーションを通してメンバーに関して収集されたデータに基づいている。タスク容易化サービスによって直接収集されるデータは、限定はしないが、メンバーによって使用されるサードパーティアプリケーション、外部データベース、タスク容易化サービスによって収集される他のメンバーのためのデータ、および他の同様のデータソースを含む外部ソースからデータによって補足される。少なくともいくつかの実装形態では、外部データは、タスク容易化サービスとサードパーティソフトウェア構成要素との間の通信を容易にするようになされた1つまたは複数のアプリケーションプログラミングインターフェース(API)を通して収集される。タスク容易化サービスは、メンバーにタスク推奨を与えるために、様々なモデルおよびタスク容易化サービスのサブシステム共に、タスク容易化サービスによって受信される外部データ、およびタスク容易化サービスによって維持される内部データを使用する。少なくともいくつかの実装形態では、タスク容易化サービスはまた、タスク容易化サービスと外部データソース/アプリケーションとの間でデータを同期するために、外部データソースおよびアプリケーションへの更新をプッシュする。
【0004】
[0004]本開示の一態様では、コンピュータに実装される方法が提供される。方法は、ユーザに関連するユーザコンピューティングデバイス上で実行されるブラウザからウェブサイトについてのウェブサイトデータを受信することを含む。コンピュータに実装される方法は、ユーザのタスクについてのタスク推奨を生成するためにウェブサイトデータを処理することと、タスク推奨に対応する指示を送信することとをさらに含む。指示がコンピューティングデバイスによって受信されるとき、コンピューティングデバイスは、タスク容易化サービスにおけるタスク推奨に対応するタスクを生成するためにタスク推奨を承認することが可能にされる。
【0005】
[0005]一実装形態では、コンピューティングデバイスは、ユーザに対応するユーザコンピューティングデバイスである。
【0006】
[0006]別の実装形態では、コンピューティングデバイスは、ユーザに対応するユーザコンピューティングデバイスとは異なる代理コンピューティングデバイスであり、代理コンピューティングデバイスは、ユーザのためにタスク完了を容易にするようにユーザに割り当てられた代理に対応する。
【0007】
[0007]別の実装形態では、ウェブサイトデータは、ウェブサイトのアドレスを含む。
【0008】
[0008]別の実装形態では、ウェブサイトデータは、ウェブサイトのアドレスを含み、ウェブサイトデータを処理することは、アドレスを使用してウェブサイトにアクセスすることと、ウェブサイトデータにウェブサイトから収集された追加のデータを補足することとを含む。
【0009】
[0009]別の実装形態では、ウェブサイトデータは、ウェブサイトについてのキーワードを含む。
【0010】
[0010]別の実装形態では、コンピュータに実装される方法は、タスク推奨の承認を受信することと、タスク推奨の承認を受信することに応答して、タスク容易化サービスでタスクを生成することとを含む。
【0011】
[0011]別の実装形態では、ウェブサイトデータを処理することは、ウェブサイトデータをタスク予測モデルに与えることを含み、ただし、タスク予測モデルは、タスク予測モデルによって生成されるタスク推奨への応答に基づいて更新される。そのような実装形態では、コンピュータに実装される方法は、タスク推奨の承認または拒絶に応答して、ウェブサイトデータを使用してタスク予測モデルを更新することをさらに含み得る。
【0012】
[0012]本開示の様々な実施形態は、以下に詳細に説明される。特定の実装形態が説明されるが、これは、例示のためだけに行われることを理解されたい。当業者は、本開示の精神および範囲から逸脱することなく、他の構成要素および構成が使用され得ることを認識されよう。したがって、以下の説明および図面は、例示的であり、限定として解釈されるべきではない。本開示の完全な理解を提供するために、多数の具体的な詳細について説明される。しかしながら、いくつかの例では、説明を不明瞭にすることを回避するために、よく知られているまたは従来の詳細について説明されない。しかしながら、いくつかの例では、説明を不明瞭にすることを回避するために、よく知られているまたは従来の詳細について説明されない。本開示における1つの実施形態または一実施形態への言及は、同じ実施形態または任意の実施形態への言及であり得、そのような言及は、実施形態のうちの少なくとも1つを意味する。
【0013】
[0013]「1つの実施形態」または「一実施形態」への言及は、実施形態に関して説明される特定の特徴、構造、または特性が本開示の少なくとも1つの実施形態に含まれることを意味する。明細書における様々な場所での「1つの実施形態」というフレーズの外観は、必ずしもすべて同じ実施形態について言及しているとは限らず、また、他の実施形態と相互に排他的な別個のまたは代替の実施形態であるとも限らない。その上、いくつかの実施形態によって示され得るが、他の実施形態によっては示され得ない様々な特徴について説明される。
【0014】
[0014]本明細書において使用される用語は、概して、本開示のコンテキスト内で各用語が使用される特定のコンテキストにおいて当技術分野におけるそれらの通常の意味を有する。代替の文言および同義語が本明細書で説明される用語のうちのいずれか1つまたは複数について使用され得、用語が本明細書で詳述または説明されているか否かにいかなる特別な重要性も置かれるべきではない。場合によっては、いくつかの用語のため同義語が与えられる。1つまたは複数の同義語の詳述が他の同義語の使用を除外しない。本明細書で説明される何らかの用語の例を含む本明細書の任意の場所での例の使用は、例示的なものにすぎず、本開示または何らかの例示的な用語の範囲および意味をさらに限定することは意図されない。同様に、本開示は、本明細書で与えられる様々な実施形態に限定されない。
【0015】
[0015]本開示の範囲を限定する意図なしに、本開示の実施形態による機器、装置、方法、およびそれらの関連する結果の例が以下に与えられる。タイトルまたはサブタイトルが読者の便宜のために例中で使用され得、いかなる場合も、これは、本開示の範囲を限定するべきでないことに留意されたい。別段に定義されていない限り、本明細書で使用される技術的なおよび科学的な用語は、本開示が関係する当業者によって一般に理解される意味を有する。矛盾する場合、定義を含めて、本文献が優先する。
【0016】
[0016]本開示の追加の特徴および利点は、後続する説明に記載され、この説明から部分的に明らかになり、または本明細書に開示された原理の実施によって学習され得る。本開示の特徴および利点は、添付の特許請求の範囲において詳細に指し示された機器および組合せによって実現および取得され得る。本開示のこれらおよび他の特徴は、以下の説明および添付の特許請求の範囲からより完全に明らかになり、または本明細書に記載の原理の実施によって学習され得る。
【0017】
[0017]本開示の特徴、実施形態、および利点は、以下の詳細な説明が添付の図面を参照しながら読まれたときによりよく理解される。
【図面の簡単な説明】
【0018】
【
図1】[0018]本開示の態様による、メンバーのために実施可能な様々なタスクが代理および/または1つもしくは複数のサードパーティサービスによる実施のために推奨され得るタスク容易化サービスがメンバーに代理を割り当てる環境の例示的な例を示す図。
【
図2】[0019]本開示の態様による、代理および/またはサードパーティサービスによる実施のためにメンバーに推奨され得る1つまたは複数のタスクを識別するためにタスク関連のデータがメンバーエリアから収集およびアグリゲートされる環境の例示的な例を示す図。
【
図3】[0020]本開示の態様による、タスク推奨システムがメンバーのために実施されることになるタスクの推奨を生成し、ランク付けする環境の例示的な例を示す図。
【
図4】[0021]本開示の態様による、メンバーのために実施されるように構成された推奨されるタスクを生成し、ランク付けするタスク作成サブシステムの例示的な例を示す図。
【
図5】[0022]本開示の態様による、メンバーのために実施されるように構成された推奨されるタスクの提案を生成し、ランク付けする提案作成サブシステムの例示的な例を示す図。
【
図6】[0023]本開示の態様による、タスク容易化サービスによる実施のためのタスク推奨を生成するための例示的なプロセスのフローチャートを示す図。
【
図7】[0024]本開示の態様による、タスク実行を容易にするための例示的な環境のブロック図を示す図。
【
図8】[0025]様々なデータソースと通信しているタスク容易化サービスを含む環境の例示的な例を示す図。
【
図9】[0026]1つまたは複数のアプリケーションプログラムインターフェース(API)を使用して、コンピューティングデバイスのアプリケーションと通信しているタスク容易化サービスを含む環境の例示的な例を示す図。
【
図10A】[0027]タスク容易化サービスと単一のコンピューティングデバイスとの間のデータ交換の例示的な例を示す図。
【
図10B】[0028]タスク容易化サービスと複数のコンピューティングデバイスとの間のデータ交換の例示的な例を示す図。
【
図11】[0029]
図11タスク容易化サービスと対話するための機能を含む例示的なカレンダアプリケーションを示す図。
【
図12A】[0030]タスク容易化サービスとの対話のための機能を含む例示的なカレンダアプリケーションのイベントの詳細ページを示す図。
【
図12B】タスク容易化サービスとの対話のための機能を含む例示的なカレンダアプリケーションのイベントの詳細ページを示す図。
【
図13A】[0031]コンピューティングデバイスとタスク容易化サービスとの間のウェブサイトデータおよびタスク推奨の交換を示すブロック図。
【
図13B】コンピューティングデバイスとタスク容易化サービスとの間のウェブサイトデータおよびタスク推奨の交換を示すブロック図。
【
図14】[0032]ウェブサイトデータからタスク推奨を生成し、対応するタスク推奨をユーザに与える方法を示すフローチャート。
【
図15】[0033]アプリケーションからタスク容易化サービスにタスク関連のデータを与える方法を示すフローチャート。
【
図16】[0034]本開示の態様による接続を使用して互いに電気通信する様々な構成要素を含む例示的なコンピューティングシステムアーキテクチャを示す図。
【発明を実施するための形態】
【0019】
[0035]ユーザは、(たとえば、認知的負荷などの)変動する処理負荷を誘起する様々なタスクを定期的に実装(たとえば、計画、スケジュール、および/または実行)する。高い処理負荷は、ユーザが他の潜在的により高い優先度のタスクを実装するのを妨げ、および/またはユーザの効率を劣化させ得る(たとえば、将来のタスクの実装を減速すること、処理エラーを生じること、タスクの不良を生じることなどを行い得る)。ユーザは、タスクおよびプロジェクト(たとえば、より大きい目標を実装するために実行するタスクのセット)の実装を管理することによってメンバーの処理負荷を低減する負荷オフセットおよび/または負荷分散サービスをタスク容易化サービスが与えることを可能にするメンバーとしてタスク容易化サービスに登録することができる。たとえば、メンバーは、タスクの要素を識別する(たとえば、「やること(to-do)」または「やること(to do)」とも呼ばれる)タスクの仕様を生成することができる。タスク容易化サービスは、次いで、タスク推奨を生成することおよび/または実行認可のためにメンバーに提示され得る提案(タスクまたはタスクの仕様の実行可能な実装)を生成することを行い得る。メンバーから認可を受信すると、タスク容易化サービスは、タスクの実行を容易にすることができる。
【0020】
[0036]タスクの実行を容易にすることは、タスク容易化サービスまたはそれらの代理が、タスクを実行すること、タスクもしくはそれらの部分を実行することを1つもしくは複数のサードパーティサービスプロバイダに行わせるために1つもしくは複数のサードパーティサービスプロバイダにタスクの仕様の一部もしくは全部を送信すること、および/またはそれらの組合せを含むことができる。たとえば、タスクの実行を容易にすることは、(たとえば、プランニングおよび/または取得活動などの)タスクの部分を実行することと、タスクの別の部分を実行するために1つまたは複数のサードパーティサービスプロバイダに命令を送信することとを含み得る。
【0021】
[0037]いくつかの例では、タスク容易化サービスは、メンバーが将来実行し得るタスクを予期することによって一部のメンバーの処理負荷をさらに低減し得る。それらの例では、タスク容易化サービスの代理または自動プロセスもしくは機械学習を使用するタスク容易化サービス自体は、将来メンバーによって実行される可能性があるまたはメンバーが承認するであろうタスクを予測し得る。これらのタスクは、推奨されるタスクとしてシステムに提示され得る。タスク推奨を生成することによって、メンバーは、実行のためのタスクを識別することに消費されたであろう処理リソースを保存し得る。代わりに、タスク容易化サービスは、概念から実装までタスクのライフサイクル全体を管理し得る。
【0022】
[0038]いくつかの例では、推奨されるタスクは、メンバーが、前に実行しており、将来再び実行する可能性があるタスクに対応し得る。たとえば、メンバーは、3か月ごとのオイル交換などの車両保守タスクを実装し得る。タスク容易化サービスは、パターンを検出し、適切な日付に車両保守タスクに対応するメンバーに推奨されるタスクを送信し得る。他の例では、推奨されるタスクは、メンバーに関連するデータから導出された1つまたは複数の特徴に基づき得る。たとえば、タスク容易化サービスは、(たとえば、温度が平均を上回るまたは下回ることを検出すること、前回の暖房、換気、および空調(HVAC)サービスからの時間を検出すること、HVACユニットを含む回路中での電力変動を検出すること、他のセンサ測定値があらかじめ決定されたしきい値よりも大きいまたは小さいことなどによって)HVACシステムが保守を必要とすることを示す(たとえば、メンバーに登録されたデバイス、メンバーによって管理されるまたはそれに関連するネットワーク内で動作するデバイスなどの)メンバーに関連する温度センサからセンサデータを受信し得る。それに応答して、タスク容易化は、HVACシステムをサービスすることを含む推奨されるタスクを生成し得る。さらにまた他の例では、推奨されるタスクは、メンバーに関して導出されたデータに基づき得る。たとえば、タスク容易化サービスは、メンバーに関連付けられるメディアプレーヤなどのデバイスおよび/またはストリーミングサービスなどのリモートサービスから特徴を抽出し得る。タスク容易化サービスは、特定のミュージシャン、映画などへの関心などのメンバーの関心を導出するために特徴を使用し得る。タスク容易化サービスは、次いで、コンサートチケット、映画チケットなどのその関心に関連するタスクを推奨し得る。タスク容易化サービスは、メンバーが将来実行し得るタスクまたはメンバーに利益を与え得るタスクを推奨するためにメンバーに関連するあらゆる情報を使用し得、それによって、メンバーの処理負荷を低減し、メンバーが他のタスクを実行することを可能にし得る。
【0023】
[0039]本開示は、タスク容易化サービスによって使用するために、サードパーティプラットフォームおよびアプリケーションなどの様々なソースからタスクデータをインジェストするためのシステムおよび方法を含む。インジェストされたデータ、およびメンバーとの対話を通してそれに利用可能な他のデータに依拠して、タスク容易化サービスは、メンバーのために、ならびにタスク容易化サービス、その代理、および/またはサードパーティサービスプロバイダによる実行のために、タスクを生成または推奨する。
【0024】
[0040]概して、タスクを生成または推奨するプロセスは、概して、タスク容易化サービスに登録されたユーザであるメンバーに関連するデータを取得することを含む。取得されたデータは、本開示全体にわたって説明されるように、メンバーによって与えられ、ユーザモデルに関連して記憶された情報、メンバーに関連するデバイスからのセンサデータ、メンバーに関連するサードパーティサービスによって与えられる情報などに対応し得る。
【0025】
[0041]いくつかの実装形態では、タスク容易化サービスは、特徴選択プロセスを使用して収集されたデータから特徴ベクトルを生成する。特徴選択プロセスは、特徴ベクトルが特定のタスクに関連付けられる可能性に特徴が寄与する値に従って特徴ベクトルの特徴を重み付けし得る。低い重みをもつ特徴は、特定のタスクに寄与しないかあるいはそれを予測しないことがあり、一方、高い重みをもつ特徴は、特定のタスクに寄与するかあるいはそれを予測し得る。特定のタスクまたはタスクタイプに対応する重みは、特定のタスクまたはタスクタイプがメンバーに推奨するために考慮されなければならないのかどうかを決定するときにどの特徴が考慮されなければならないのかを示し得る。
【0026】
[0042]機械学習モデルは、メンバーのためにタスク容易化サービスまたはタスク容易化サービスのサードパーティサービスによって実装され得るタスク推奨のセットを生成するために特徴ベクトルを使用して実行し得る。代替的に、タスク推奨のセットは、自動プロセスによって、タスク容易化サービスの1つまたは複数のインターフェースを通して代理によって、それらの組合せなどによって生成され得る。タスク容易化サービスの代理は、推奨されるタスクとしてメンバーに提示するために1つまたは複数のタスク推奨を選択するためにタスク推奨のセットを処理し得る。代替的に、タスク容易化サービスの代理は、省略されてもよく、タスク推奨(またはタスク推奨のサブセット)は、中間段階なしでメンバーに直接提示されてもよい。タスク推奨(たとえば、代理またはタスク容易化サービスによって選択されるタスク推奨)は、タスク容易化サービスの1つまたは複数のインターフェース(たとえば、グラフィカルユーザインターフェース、入出力インターフェースなど)を通してメンバーに提示され得る、メンバーに登録されたデバイスまたはサービスに送信され得るなどであり得る。いくつかの例では、タスク推奨が認証されるという入力をメンバーから受信すると、タスク容易化サービスの代理は、タスクの実行を容易にし得る(たとえば、タスク容易化サービス、その代理、および/またはタスク容易化サービスの1つもしくは複数のサードパーティサービスプロバイダにタスクを実行させる)。代替的に、メンバーからの入力は、最初に代理によって受信されることなく、タスク容易化サービスに直接与えられてもよく、タスク容易化サービスは、タスクの実行を開始してもよい。
【0027】
[0043]例示的な一実装形態では、タスク容易化サービスは、メンバーから(たとえば、メンバーから自然言語コミュニケーションでタスク容易化サービスの代理もしくはタスク容易化サービス自体に、インターフェースなどを通すなどのタスク容易化サービスとのデジタル通信でメンバーからなど)直接データを受信し得、メンバーに関連する1つもしくは複数のデバイス(たとえば、センサデバイス、モノのインターネットデバイス、コンピューティングデバイスなど)からデータを受信し得、ならびに/または1つもしくは複数のリモートサービス(たとえば、メンバーが登録するおよび/もしくはメンバーにサービスを与えるサービス)からデータを受信し得る。この例では、データは、メンバーが仕事以外のタスクをスケジュールすることを望むことを示すメディアストリーミングサービス(たとえば、第1のリモートサービス)と、(たとえば、メンバーのデバイス上でまたはリモートサービスを介して動作する)カレンダと、タスク容易化サービスの代理への自然言語コミュニケーションとを含み得る。
【0028】
[0044]タスク容易化サービスは、次いで、特徴選択プロセスを使用して受信されたデータから特徴のセットを導出し得る。タスク容易化サービスは、たとえば、特徴のセットとともに機械学習モデルを実行すること、タスク容易化サービスの代理を使用して特徴のセットを処理すること、それらの組合せなどによってメンバーのための1つまたは複数のタスク推奨を生成するために特徴のセットを使用し得る。この例の特徴のセットは、メンバーが仕事以外のタスクをスケジュールすることを希望するという指示と、仕事以外のタスクのためのメンバーの利用可能性を示すメンバーのカレンダに関連する1つまたは複数の特徴と、メンバーに関連するメディアストリーミングサービスから識別されたミュージシャンとを含み得る。タスク容易化サービスは、メンバーが利用可能である特定の日付にミュージシャンをフィーチャーするコンサートへのチケットを含むタスク推奨を生成し得る。タスク推奨は、会場への交通手段(たとえば、車両サービス、航空運賃など)をスケジュールすること、(たとえば、レストラン、ホテルなどでの)夜の施設を予約することなどの他のサービスを識別し得る。
【0029】
[0045]2つ以上のタスク推奨がタスク容易化サービスによって生成される場合、タスク容易化サービスの代理(および/またはタスク容易化サービス自体)は、タスク容易化サービスによって生成されたタスク推奨から特定のタスク推奨を選択し得る。特定のタスク推奨は、メンバーの認可のためにメンバーに送信され得る。いくつかの例では、メンバーから認可を受信すると、タスク容易化サービスは、メンバーに(タスクの実装詳細を含む)タスク提案を送信し、提案がメンバーによって認証される時に、タスクの実行を容易にし得る。他の例では、タスク容易化サービスは、タスクの実装を(メンバーによってそうするように事前認証されているときなどに)自動的に容易にし得る。上記の例を続けると、タスクの実装を容易にすることは、ショーのチケットを取得し、それをメンバーに送信すること、ならびにメンバーによって認証されたタスク推奨中に含まれる他のサービスのいずれか(たとえば、交通手段、夜の施設、予約など)を実装することを含み得る。
【0030】
[0046]タスクが実行されると、タスク容易化サービスは、将来のタスク推奨および提案のためにタスクに対応する実行メトリックを導出し得る。タスク容易化サービスは、タスク容易化サービスの代理、メンバー、タスクを実行することに関与する任意のサードパーティサービスプロバイダ、メンバーに関連するIoTデバイスまたは他のデバイス、メンバーに関連するアプリケーション、メンバーに関連するセンサなどからタスク実行情報を取得し得る。たとえば、HVACユニットを修理することに対応するタスクが完了すると、タスク容易化サービスは、サードパーティサービスプロバイダからの修理の詳細(たとえば、修理のタイプ、コスト、サードパーティサービスまたはそれらの代理の適時性、修理の適時性など)、メンバーからの詳細(たとえば、自動調査、自動サービスまたは代理とのメンバー通信など)、およびセンサ情報(たとえば、修理の成功または失敗を示す温度センサなど)を決定し得る。情報は、後続のタスク推奨(たとえば、機械学習モデル、代理などの強化学習)、将来のタスクのためのサードパーティサービスの選択、機械学習アルゴリズムおよび/またはモデルなどを改良するために使用され得る。
【0031】
[0047]
図1は、様々な実施形態による、メンバー118のために実施可能な様々なタスクが代理106および/または1つもしくは複数のサードパーティサービス116による実施のために推奨され得るタスク容易化サービス102がメンバー118に代理106を割り当てる環境100の例示的な例を示す。タスク容易化サービス102は、メンバーのためにこれらのタスクの実施を調整することができる代理106にタスクを識別して委任することによって、限定はしないが、メンバーの自宅の中および周りでタスクを含み得る様々なタスクを実施する際のメンバー(およびメンバーに関連する他の人)に対する認知負荷を低減するように実装され得る。一実施形態では、メンバー118は、コンピューティングデバイス120(たとえば、ラップトップコンピュータ、スマートフォンなど)を介して、メンバー120への代理106の割当てのためのオンボーディングプロセスを開始することと、メンバー118のために実施可能であるタスクの識別を開始することとを求める要求をタスク容易化サービス102に提出し得る。たとえば、メンバー118は、タスク容易化サービス102によって与えられ、コンピューティングデバイス120上にインストールされたアプリケーションを介してタスク容易化サービス102にアクセスし得る。追加または代替として、タスク容易化サービス102は、メンバー118がタスク容易化サービス102にアクセスし、オンボーディングプロセスを開始し得るインターフェースを提示するかまたは場合によっては利用可能にするように構成された1つまたは複数のウェブサイトをホストするウェブサーバ(図示せず)を維持し得る。
【0032】
[0048]オンボーディングプロセス中に、タスク容易化サービス102は、メンバー118の識別情報を収集することがあり、この識別情報は、代理106を識別し、メンバー118に割り当てるために、代理割当てシステム104によって使用され得る。たとえば、タスク容易化サービス102は、メンバー118に対して、メンバー118が、メンバー118のための代理106を選択するために代理割当てシステム104によって使用可能な識別情報を与え得る調査またはアンケートを与え得る。たとえば、タスク容易化サービス102は、メンバー118に、メンバーの家族の構成(たとえば、メンバーの自宅の住民の数、メンバーの自宅の子供の数、メンバーの自宅のペットの数およびタイプなど)、メンバーの自宅の物理的なロケーション、メンバー118の何らかの特別な要求または要件(たとえば、物理的または感情的な障害など)などに関する詳細な情報を与えるように促し得る。いくつかの例では、メンバー118は、人口統計情報(たとえば、年齢、民族性、人種、書かれた/話された言語、社会経済的地位など)を与えるように促され得る。メンバー118はまた、メンバー118にとって関心があり得る可能な体験を識別するために使用され得る、任意の個人的関心または趣味を示すように促され得る(本明細書でさらに詳細に説明される)。いくつかの例では、タスク容易化サービス102は、メンバー118に、メンバー118が支援を望むか、または場合によっては代理および/またはサードパーティなど、別のエンティティに委任することを望む任意のタスクを指定するように促し得る。
【0033】
[0049]一実施形態では、タスク容易化サービス102は、代理および/またはサードパーティなどの他者にタスクを委任する際の信頼のレベルまたは他の尺度を示すようにメンバー118を促し得る。たとえば、タスク容易化サービス102は、メンバーの日々の生活に関連し得るタスクの初期カテゴリを識別するために、オンボーディングプロセス中にメンバー118によって提出された識別情報を利用し得る。場合によっては、タスク容易化サービス102は、メンバー118に関連し得るタスクのカテゴリを識別するために、機械学習アルゴリズムまたは人工知能を利用することができる。たとえば、タスク容易化サービス102は、1つまたは複数のベクトル(たとえば、地理的ロケーション、人口統計情報、タスクを他者に委任する可能性、家族構成、家庭構成など)に基づいて、同様に状況にあるメンバーを識別するために、クラスタリングアルゴリズムを実装し得る。場合によっては、サンプルメンバー(たとえば、テスターなど)によって与えられるタスク容易化サービス102によって与えられるプロンプトに対する応答に対応する入力メンバー特性のデータセットは、タスク容易化サービス102と対話し得る異なるタイプのメンバーを識別するために、クラスタリングアルゴリズムを使用して分析され得る。メンバーに関連し得るタスクのカテゴリを識別するために、サンプルメンバーデータセット(たとえば、履歴メンバーデータ、仮説メンバーデータなど)を使用してメンバーを分類するようにトレーニングされ得る例示的なクラスタリングアルゴリズムは、k平均クラスタリングアルゴリズム、ファジーc平均(FCM)アルゴリズム、期待値最大化(EM)アルゴリズム、階層クラスタリングアルゴリズム、ノイズのあるアプリケーションの密度ベースの空間クラスタリング(DBSCAN)アルゴリズムなどを含み得る。メンバーの識別情報を使用して生成された機械学習アルゴリズムの出力に基づいて、タスク容易化サービス102は、メンバー118に、機械学習アルゴリズムによって与えられるタスクのカテゴリに対応するタスクを委任する際の快適レベルに関する応答を与えるように促し得る。これは、メンバー118に与えられるプロンプトの数を低減し、メンバーの要求に対してプロンプトをより良好に調整し得る。
【0034】
[0050]一実施形態では、メンバーの識別情報、ならびに異なるカテゴリのタスクを他者に委任する際のメンバーの快適さまたは関心のレベルに関連する任意の情報は、メンバー118に割り当てられ得る代理106を識別するために、タスク容易化サービス102の代理割当てシステム104に与えられる。代理割当てシステム104は、コンピュータシステムを使用して、またはタスク容易化サービス102のコンピュータシステム上に実装されるアプリケーションもしくは他の実行可能コードとして実装され得る。代理割当てシステム104は、一実施形態では、メンバーの識別情報、メンバーの快適さのレベルまたはタスクを他者に委任することへの関心に関する任意の情報、およびオンボーディングプロセス中に取得された任意の他の情報を、生産的な方法でメンバー118と対話および通信するのに好適であり得る代理を識別するように構成された分類またはクラスタリングアルゴリズムへの入力として使用する。たとえば、代理106は、人口統計および他の識別情報、地理的ロケーション、異なるカテゴリのタスクを処理する際の体験、異なるカテゴリのメンバーと通信する際の体験などを含む(限定はしないが)様々な基準に基づいてプロファイリングされ得る。分類またはクラスタリングアルゴリズムを使用して、代理割当てシステム104は、メンバー118のために対処される必要があり得る任意のタスクに対処しながら、メンバー118との肯定的な長期関係を進展させる可能性がより高い可能性がある代理106のセットを識別し得る。
【0035】
[0051]代理割当てシステム104が、メンバー118のアシスタントまたはコンシェルジュとして働くようにメンバー118に割り当てられ得る代理106のセットを識別すると、代理割当てシステム104は、メンバー118に割り当てられ得る特定の代理を識別するために、代理106のセットの各代理に対応するデータを評価し得る。たとえば、代理割当てシステム104は、メンバーの人口統計情報と代理の人口統計情報との間の類似性の程度またはベクトルに従って、代理のセット106の各代理をランク付けし得る。たとえば、メンバーと特定の代理とが類似した背景を共有する場合(たとえば、同じ都市の出席した大学、同じ出身地からのものである、特定の関心を共有するなど)、代理割当てシステム104は、類似していない背景を有し得る他の代理と比較して、特定の代理をより高くランク付けし得る。同様に、メンバーおよび特定の代理が互いに地理的に近接している場合、代理割当てシステム104は、メンバー118からさらに離れていることがある他の代理と比較して、特定の代理をより高くランク付けし得る。各ファクタは、いくつかの例では、メンバーと代理との間の肯定的な長期関係の構築に関するファクタの影響に基づいて重み付けされ得る。たとえば、代理とのメンバー対話に対応する履歴データに基づいて、代理割当てシステム104は、異なるファクタとこれらの対話の極性(たとえば、正、負など)との間の相関を識別し得る。これらの相関(またはその欠如)に基づいて、代理割当てシステム104は、各ファクタに重みを適用し得る。
【0036】
[0052]いくつかの例では、識別された代理のセット106の各代理に、メンバーの人口統計情報と代理の人口統計情報との間の類似性の程度またはベクトルに対応する様々なファクタに対応するスコアを割り当てられ得る。たとえば、各ファクタは、ファクタに割り当てられた重みに対応するスコアの可能な範囲を有し得る。例示的な例として、代理スコアを得るために使用される様々なファクタは各々、1~10の可能なスコアを有し得る。しかしながら、各ファクタに割り当てられた重みに基づいて、可能なスコアは、より大きい重みを有するファクタが、より小さい重みを有するファクタと比較してより高い重み係数を乗算され得るように、重み係数を乗算され得る。結果は、メンバー118と代理との間の一致を決定する際のファクタの重要性または関連性に対応する異なるスコアリング範囲のセットである。様々なファクタについて決定されたスコアは、代理のセット106の各代理についてのコンポジットスコアを取得するためにアグリゲートされ得る。これらのコンポジットスコアは、代理106のセットのランキングを作成するために使用され得る。
【0037】
[0053]一実施形態では、代理割当てシステム104は、メンバー118に割り当てられ得る代理を選択するために、代理のセット106のランキングを使用する。たとえば、代理割当てシステム104は、最も高くランク付けされた代理を選択し、タスクを識別および推奨することと、タスクの解決を調整することと、場合によっては、メンバー118の要求に対処することを確実にするためにメンバーと通信することとにメンバー118を関与させるための代理の利用可能性を決定し得る。選択された代理が利用不可能である(たとえば、代理が1人または複数の他のメンバーとすでに関与しているなど)場合、代理割当てシステム104は、前述のランキングに従って別の代理を選択し、メンバー118を関与させるためにこの代理の利用可能性を決定し得る。このプロセスは、メンバー118に関与するために利用可能な代理が代理のセット106から識別されるまで繰り返され得る。いくつかの例では、代理可用性が前述の代理スコアを取得するために使用されるファクタとして使用され得、それによって、利用不可能であるか、または場合によっては新しいメンバー118を収容するために十分な帯域幅を有していない代理は、より低い代理スコアを割り当てられ得る。したがって、利用不可能な代理は、メンバー118への割当てのために利用可能であり得る他の代理よりも低くランク付けされ得る。
【0038】
[0054]一実施形態では、代理割当てシステム104は、各代理の利用可能性に対応する情報に基づいて代理106のセットから代理を選択し得る。たとえば、代理割当てシステム104は、代理のセット106から第1の利用可能な代理を自動的に選択し得る。いくつかの例では、代理割当てシステム104は、メンバーの識別情報に対応する1つまたは複数の基準を満足する第1の利用可能な代理(たとえば、プロファイルがメンバープロファイルに最もよく一致する代理など)を自動的に選択し得る。たとえば、代理割当てシステム104は、メンバー118の地理的な近さの範囲内にあり、メンバー118の背景と同様の背景を共有するなどの利用可能な代理を自動的に選択し得る。
【0039】
[0055]一実施形態では、代理106は、メンバー118と自動的に関与し、対話するように構成され得るボットなどの自動プロセスであり得る。たとえば、代理割当てシステム104は、メンバー118の代理106として機能し得るメンバープロファイルおよびボットを生成するために、機械学習アルゴリズムまたは人工知能への入力として、オンボーディングプロセス中にメンバー118によって与えられる応答を利用し得る。ボットは、本明細書で説明されるように、タスクおよび提案を生成するためにメンバー118と自律的にチャットすること、任意の承認された提案に従ってメンバー118に代わってタスクを実施することなどを行うように構成され得る。ボットは、メンバープロファイルにおいて定義されるメンバー118のパラメータまたは特性に従って構成され得る。ボットが経時的にメンバー118と通信するとき、ボットは、メンバー118とのボットの対話を改善するように更新され得る。
【0040】
[0056]代理106は、限定はしないが、タスクを示唆すること、提案を生成すること、サービスプロバイダおよび/または他のサードパーティと通信すること、ステータス報告を生成することなどのサービスを代理106がメンバー118に与えるのを支援し得る代理106に情報を与えるように構成された1つまたは複数の自動サービスとともに動作し得る。いくつかの例では、1つまたは複数の自動サービスは、代理106の1つまたは複数の動作を自動化し得る。それらの例では、代理106は、動作を実施することまたは自動サービスによって実行される各動作の実行を確認することを自動的に行うために1つまたは複数の自動サービスを事前認証し得る。たとえば、代理106とメンバー118との間のいくつかの対話(たとえば、自動化に好適であり得る対話、メンバー118または別のメンバーと前に行われた対話など)は、ボットによって容易にされ得、一方、代理106とメンバー118との間の他の対話は、ユーザによって容易にされ得る。それらの例では、対話はシームレスであり得、したがって、所与の通信がユーザによって生成されたのかまたは自動プロセスによって生成されたのかをメンバー118が容易に検出することができないことがある。
【0041】
[0057]オンボーディングプロセス中に収集されたメンバー118に関連付けられたデータと、選択された代理に対応する任意のデータとは、ユーザデータストア108に記憶され得る。ユーザデータストア108は、タスク容易化サービス102の各メンバー118に対応するエントリを含み得る。エントリは、対応するメンバー118の識別情報と、メンバー118に割り当てられた代理に対応する識別子または他の情報とを含み得る。本明細書でより詳細に説明されるように、ユーザデータストア108内のエントリは、経時的に行われたメンバー118と割り当てられた代理との間の通信に対応する履歴データをさらに含み得る。たとえば、メンバー118がチャットセッションまたはストリームを介して代理106と対話するとき、チャットセッションまたはストリームを介して交換されるメッセージは、ユーザデータストア108に記録され得る。
【0042】
[0058]一実施形態では、メンバー118に関連するデータは、メンバー118に対応するメンバープロファイルを作成するためにタスク容易化サービス102によって使用される。上述のように、タスク容易化サービス102は、メンバー118がメンバー118に関連する識別情報を与え得る調査またはアンケートをメンバー118に与え得る。この調査またはアンケートに対してメンバー118によって与えられた応答は、メンバー118に対応する初期メンバープロファイルを生成するためにタスク容易化サービス102によって使用され得る。タスク容易化サービス102はまた、メンバー118に関連するデバイス(たとえば、メンバー118に関連するネットワークに登録されているまたはそれを介して動作するモノのインターネットデバイス、センサベースのデバイス、コンピューティングデバイスなど)、メンバー118に関連するサービス(たとえば、メンバー118によって購読されているサービスなど)、メンバー118に接続されたユーザによって生成されたまたはそれから導出された情報(たとえば、友人、家族などのメンバー118に接続された他のメンバー、ソーシャルメディアの連絡先などに関連するデータ)などからメンバー118に関連する情報を受信し得る。一実施形態では、代理割当てシステム104がメンバー118に代理を割り当てると、タスク容易化サービス102は、メンバー118に対応する新しいメンバープロファイルを生成するようにメンバー118を促すことができる。たとえば、タスク容易化サービス102は、上述のオンボーディングプロセス中に以前に与えられた情報を補足するために使用され得る質問のセットを含む調査またはアンケートをメンバー118に与え得る。たとえば、調査またはアンケートを通して、タスク容易化サービス102は、友人、家族(および/またはメンバー118に関連する他の個人)、重要な日付(たとえば、誕生日など)、食事制限などに関する追加情報を与えるようにメンバー118を促し得る。メンバー118によって与えられた応答に基づいて、タスク容易化サービス102は、メンバー118に対応するメンバープロファイルを更新し得る。
【0043】
[0059]いくつかの例では、メンバープロファイルは、タスク容易化サービス102によって与えられるアプリケーションまたはウェブポータルなどを通して、メンバー118にアクセス可能であり得る。アプリケーションまたはウェブポータルを通して、メンバー118は、メンバープロファイル内の任意の情報を追加、除去、または編集し得る。メンバープロファイルは、いくつかの例では、メンバー、メンバーの家族、メンバーの家などに対応する様々なセクションに分割し得る。これらのセクションの各々は、オンボーディングプロセス中に収集されたメンバー118に関連するデータと、メンバー118への代理の割当て後にメンバー118に与えられた調査またはアンケートに対する任意の応答とに基づいて補足され得る。さらに、各セクションは、メンバープロファイルを拡張するために使用され得る追加の情報を与えるためにメンバー118が使用し得る追加の質問またはプロンプトを含み得る。たとえば、メンバープロファイルを通して、メンバー118は、タスクの完了を容易にするために、任意の外部アカウント(たとえば、クレジットカードアカウント、小売業者アカウントなど)にアクセスするために使用され得る任意の認証情報を与えるように促され得る。
【0044】
[0060]一実施形態では、メンバープロファイル内の特定の情報は、メンバー118または代理から隠され得る。たとえば、代理が、様々なタスクの完了を通してメンバー118との関係を進展させるにつれて、代理は、メンバー118についてのメモ(たとえば、メンバーの特異性、メンバーに関する任意のフィードバックなど)を与えるように、メンバープロファイルを修正し得る。したがって、メンバー118がメンバーのメンバープロファイルにアクセスするとき、これらのメモは、メンバー118がこれらのメモを検討することができないように、または場合によっては、代理118またはタスク容易化サービス102によってメンバーに利用不可能であると指定されたメンバープロファイルの任意のセクションにアクセスすることができないように隠され得る。
【0045】
[0061]メンバー118に割り当てられた代理は、代理と共有された情報、および/またはメンバー118に関する代理の自身の観察に基づいてメンバープロファイル内に情報を追加するかまたはそれを修正し得る。さらに、タスク容易化サービス102は、メンバー118に代わってタスクを作成または実施するときに、メンバープロファイルの関連部分を自動的に表面化し得る。たとえば、代理がメンバー118の食事のプランニングに関するタスクを生成している場合、タスク容易化サービス102は、食事のプランニングに文脈的に関連し得るメンバープロファイルの部分を自動的に識別し、メンバープロファイルのこれらの部分(たとえば、食事の選好、食事制限など)を代理に表面化し得る。いくつかの例では、代理がメンバー118に代わってタスクを作成または実施するための追加の情報を必要とする場合、代理は、メンバー118と割り当てられた代理との間のチャットセッションまたは他の通信セッションを通してメンバー118に追加の情報を共有させる代わりに、メンバープロファイルの特定の部分を更新するようにメンバー118を招待し得る。
【0046】
[0062]一実施形態では、代理割当てシステム104が特定の代理をメンバー118に割り当てると、代理割当てシステム104は、メンバー118および特定の代理にペアリングを通知する。さらに、代理割当てシステム104は、メンバー118と割り当てられた代理との間のチャットセッションまたは他の通信セッションを確立して、メンバー118と代理との間の通信を促し得る。たとえば、タスク容易化サービス102によって与えられ、コンピューティングデバイス120にインストールされたアプリケーションを介して、またはタスク容易化サービス102によって与えられるウェブポータルを通して、メンバー118は、チャットセッションまたは他の通信セッションを介して、割り当てられた代理とメッセージを交換し得る。同様に、代理は、代理がメンバー118とメッセージを交換し得るインターフェースを備えることがある。
【0047】
[0063]いくつかの例では、メンバー118は、割り当てられた代理とのチャットセッションを開始するか、または場合によっては再開し得る。たとえば、タスク容易化サービス102によって与えられるアプリケーションまたはウェブポータルを介して、メンバーは、代理と通信するために、チャットセッションまたは他の通信セッションを介して代理にメッセージを送信し得る。メンバー118は、メンバー118が特定のタスクの支援を望むことを示すメッセージを代理に提出し得る。例示的な例として、メンバー118は、メンバー118が来月のデンバーへの今度の移動に関して代理の支援を望むことを示すメッセージを代理に提出し得る。代理は、タスク容易化サービス102によって与えられるインターフェースを介して、提出されたメッセージを提示され得る。したがって、代理は、メッセージを評価し、メンバー118を支援するために実施される対応するタスクを生成し得る。たとえば、代理は、タスク容易化サービス102によって与えられるインターフェースを介して、タスク生成フォームにアクセスすることがあり、このタスク生成フォームを通して、代理は、タスクに関する情報を与えることがある。情報は、メンバー118に関連する情報(たとえば、メンバー名、メンバーアドレスなど)と、タスク自体の様々なパラメータ(たとえば、割り当てられた予算、タスクの完了のための時間枠など)とを含み得る。タスクのパラメータはさらに、任意のメンバー選好(たとえば、好ましいブランド、好ましいサードパーティサービス116など)を含み得る。
【0048】
[0064]一実施形態では、代理は、タスクの完了のための1つまたは複数の提案を生成するために必要とされ得る任意の追加のタスクパラメータを動的かつリアルタイムに識別するために、メンバー118と代理との間で交換された1つまたは複数のメッセージで指定されたタスクについてメンバー118から得られた情報をタスク容易化サービス102のタスク推奨システム112に与えることができる。タスク推奨システム112は、コンピュータシステムを使用して、またはタスク容易化サービス102のコンピュータシステム上に実装されるアプリケーションもしくは他の実行可能コードとして実装され得る。一実施形態では、タスク推奨システム112は、チャットセッションを介して(たとえば、メンバー118によって利用されるアプリケーションなどを介して)メンバーに提示され得るとともに、メンバー118のために代理および/または1つもしくは複数のサードパーティサービス116によって完了され得るタスクを代理が生成することができるインターフェースを代理に与える。たとえば、代理は、タスクの名前、メンバーによって与えられるタスクの任意の既知のパラメータ(たとえば、予算、時間枠、実施されるタスク操作など)などを与えることがある。例示的な例として、メンバー118がメッセージ「やあ、ラッセル、2か月後の私たちのデンバーへの引っ越しを手伝うことができますか(can you help with our move to Denver in 2 months)」と送信した場合、代理はメッセージを評価し、「デンバーへの引っ越し(Move to Denver)」と題するタスクを生成し得る。このタスクについて、代理は、メンバー118によって示されるように、タスクの完了のための時間枠が2か月であることを示し得る。さらに、代理は、メンバーについて代理が知っている追加の情報を追加し得る。たとえば、代理は、任意の好ましい引っ越し会社、任意の予算上の制約などを示し得る。
【0049】
[0065]一実施形態では、タスク推奨システム112は、タスクを生成するために使用され得るメンバー118に対応するメンバープロファイルからの任意の関連情報を代理に与える。たとえば、代理が「デンバーへの引っ越し」と題する新しいタスクを生成した場合、タスク推奨システム112は、新しいタスクが新しい都市または他の場所への引っ越しに対応すると決定し得る。したがって、タスク推奨システム112は、タスクに関連し得るメンバープロファイルの部分(たとえば、メンバーの自宅の物理的なロケーション、メンバーの自宅の住民の数、メンバーの自宅の平方フィート数および部屋の数など)を識別するために、メンバープロファイルを処理し得る。タスク推奨システム112は、代理がこの情報を使用して新しいタスクを生成することを可能にするために、メンバープロファイルのこれらの部分を代理に自動的に表面化することがある。代替的に、タスク推奨システム112は、新しいタスクの作成のためにタスクテンプレート内の1つまたは複数のフィールドをポピュレートするために、この情報を自動的に使用し得る。
【0050】
[0066]一実施形態では、代理は、メンバー118の代わりに実施され得る新しいタスクを生成するために使用され得るタスクテンプレートを取得するために、タスク容易化サービス102によって維持されるリソースライブラリにアクセスすることができる。リソースライブラリは、異なるタスクカテゴリ(たとえば、車両保守タスク、ホーム保守タスク、家族関連イベントタスク、介護タスク、体験関連タスクなど)に対応する異なるタスクテンプレートのためのリポジトリとして機能し得る。タスクテンプレートは、メンバー118のために実施され得るタスクを定義するために使用され得る複数のタスク定義フィールドを含み得る。たとえば、車両保守タスクに対応するタスク定義フィールドは、メンバーの車両の型およびモデル、車両の使用年数、最後に車両を保守した時に対応する情報、車両に関連するあらゆる報告された事故、車両に関連するあらゆる問題の説明などを定義するために使用され得る。したがって、リソースライブラリに維持される各タスクテンプレートは、タスクテンプレートに関連するタスクカテゴリに固有のフィールドを含み得る。場合によっては、代理は、タスクテンプレートのためのカスタムフィールドをさらに定義してよく、それを通して、代理は、タスクを定義し、完了する際に有用であり得る追加の情報を供給し得る。これらのカスタムフィールドは、代理が将来タスクテンプレートを取得して同様のタスクを作成する場合に、これらのカスタムフィールドが代理に利用され得るように、タスクテンプレートに追加され得る。
【0051】
[0067]いくつかの例では、代理がリソースライブラリから特定のタスクテンプレートを選択する場合、タスク推奨システム112は、メンバー118に対応するメンバープロフィールの関連部分を自動的に識別し得る。たとえば、各テンプレートは、上述のように、特定のタスクカテゴリに関連し得る。さらに、メンバープロフィールの異なる部分は、タスクテンプレートの代理選択に応答して、タスク推奨システム112がメンバープロフィールの関連部分を識別し得るように異なるタスクカテゴリに同様に関連し得る。メンバープロフィールのこれらの関連部分から、タスク推奨システム112は、選択されたタスクテンプレートの1つまたは複数のフィールドをポピュレートするために使用され得る情報を自動的に取得することができる。たとえば、メンバー118が1620年のスバルアウトバック(Subaru Outback)を運転していることをメンバー118のメンバープロフィールに示している場合、この情報がメンバーの車両に対応するメンバープロフィールの部分に示される。タスク推奨システム112は、メンバーの車両の型、モデル、および年(たとえば、「型=スバル」、「モデル=アウトバック」、「年=1620」など)に対応するタスクテンプレート内のフィールドをポピュレートするためにこの情報をメンバープロファイルから自動的に取得し得る。これは、新しいタスクのためのタスクテンプレートをポピュレートするために代理が実行することが必要とされるデータ入力の量を低減し得る。
【0052】
[0068]一実施形態では、代理によって選択されたタスクテンプレートに基づいて、タスク推奨システム112は、タスクの作成のために、メンバープロファイルのどの部分が代理によってアクセスされ得るかを自動的に決定する。たとえば、代理が、リソースライブラリから、車両保守タスク(たとえば、テンプレートのためのタスクカテゴリは、「車両保守」として指定されている)に対応するタスクテンプレートを選択する場合、タスク推奨システム112は、車両保守タスクに関連し得るメンバープロファイルの1つまたは複数の部分(たとえば、メンバーの車両の型およびモデル、車両の使用年数、最後に車両を保守したときに対応する情報など)を識別するためにメンバープロファイルを処理し得る。タスク推奨システム112は、メンバープロファイルのこれらの関連部分を代理に提示する一方で、代理によって選択されたタスクカテゴリに関連しないことがあるメンバープロファイルの任意の他の部分を隠し得る。これは、代理が、情報を特に必要とすることなく、メンバープロファイルからの任意の情報にアクセスすることを防止し、それによって、メンバーの情報の露出を低減させ得る。
【0053】
[0069]一実施形態では、代理は、タスクの完了のためにメンバーに提示され得る提案の作成に追加のメンバー入力が必要であるかどうかを決定するために、生成されたタスクをタスク推奨システム112に与え得る。タスク推奨システム112は、たとえば、タスクのための付加的パラメータと、提案の生成のためにメンバー118から要求され得る任意の付加的情報とを自動的に識別するために、機械学習アルゴリズムまたは人工知能を使用して、ユーザデータストア108からのメンバー118に対応する生成されたタスクおよび情報を処理し得る。たとえば、タスク推奨システム112は、タスクに対して自動的に完了され得る任意の追加のパラメータと、タスクを定義するためにメンバー118に要求され得る任意の追加の情報とを識別するために、生成されたタスクと、メンバー118に対応する情報(たとえば、メンバープロファイル)と、他の同様の状況にあるメンバーに対して実施されたタスクに対応する履歴データとを、機械学習アルゴリズムまたは人工知能への入力として使用し得る。たとえば、タスクが別の都市への今後の移動に関連する場合、タスク推奨システム112は、機械学習のアルゴリズムまたは人工知能を利用して、同様の状況にあるメンバー(たとえば、メンバー118の同一の地理的領域内のメンバー、同様のタスク委任感受性を有するメンバー、同様のタスクを行ったメンバーなど)を識別し得る。メンバー118のために生成されたタスクと、ユーザデータストア108に記憶されたメンバープロファイルからのメンバー118の特性と、これらの同様の状況にあるメンバーに対応するデータとに基づいて、タスク推奨システム112は、タスクのための付加的パラメータを与え得る。例示的な例として、上述のタスク「デンバーへの引っ越し」の場合、タスク推奨システム112は、タスクに関する推奨される予算、メンバー118が承認し得る1つまたは複数の引っ越し企業(正のフィードバックを伴う同様の状況にある他のメンバーによって使用される)などを与え得る。代理は、これらの追加のパラメータを検討し、タスクに含めるためにこれらのパラメータのうちの1つまたは複数を選択し得る。
【0054】
[0070]タスク推奨システム112が、追加のメンバー入力がタスクに必要であると決定した場合、タスク推奨システム112は、タスクに関してメンバー118に提示され得る質問の推奨を代理に与え得る。「デンバーへの引っ越し」タスクの例に戻ると、タスク推奨システム112が、メンバーの家の1つまたは複数のパラメータ(たとえば、平方フィート数、部屋の数など)をタスクについて理解することが重要であると決定した場合、タスク推奨システム112は、これらの1つまたは複数のパラメータを与えるようにメンバー118に促す推奨を代理に与えることがある。代理は、タスク推奨システム112によって与えられた推奨を検討し、チャットセッションを介して、メンバー118に追加のタスクパラメータを与えるように促し得る。このプロセスは、特定のタスクを定義するためにメンバー118に与えられるプロンプトの数を低減することがあり、それによって、メンバー118に対する認知負荷を低減する。場合によっては、タスクに関してメンバー118に提示され得る質問の推奨を代理に与えるのではなく、タスク推奨システム112は、チャットセッションを介してこれらの質問をメンバー118に自動的に提示し得る。たとえば、タスク推奨システム112が、メンバーの家の平方フィート数に関する質問がタスクに必要であると決定した場合、タスク推奨システム112は、チャットセッションを介して、メンバーの家の平方フィート数を与えるようにメンバー118に自動的に促し得る。一実施形態では、これらの質問に応答してメンバー118によって与えられる情報は、将来のタスクのために、新しいタスクを定義するために代理および/またはタスク推奨システム112がこの情報を容易に利用可能であり得るように、メンバープロファイルを自動的に補足するために使用され得る。
【0055】
[0071]一実施形態では、タスク容易化サービス102は、タスクに対応する特定のチャットまたは他の通信セッションを自動的に生成する。タスクに対応するこの特定のチャットまたは他の通信セッションは、メンバー118と代理との間で前に確立されたチャットセッションとは別個であり得る。このタスク固有のチャットまたは他の通信セッションを通して、メンバー118および代理は、特定のタスクに関連するメッセージを交換し得る。たとえば、このタスク固有のチャットまたは他の通信セッションを通して、代理は、タスクの1つまたは複数のパラメータを決定するために必要とされ得る情報をメンバー118に促し得る。同様に、メンバー118が特定のタスクに関連する質問を有する場合、メンバー118は、タスク固有のチャットまたは他の通信セッションを通してこれらの質問を与えることがある。タスク固有のチャットまたは他の通信セッションの実装は、これらのタスク固有のチャットまたは他の通信セッション内の通信が対応するタスクに関連することを確実にしながら、他のチャットまたは通信セッションを通して交換されるメッセージの数を低減させ得る。
【0056】
[0072]一実施形態では、代理がメンバー118からおよび/またはタスク推奨システム112を通して必要なタスク関連情報(たとえば、同様の状況にあるメンバーに対して実施されたタスクの評価を介して蓄積されたタスクパラメータなど)を取得すると、代理は、タスクの解決のための1つまたは複数の提案を生成するために、タスク容易化サービス102のタスク調整システム114を利用し得る。タスク調整システム114は、コンピュータシステムを使用して、またはタスク容易化サービス102のコンピュータシステム上に実装されるアプリケーションもしくは他の実行可能コードとして実装され得る。いくつかの例では、代理は、上述のように、代理およびタスク推奨システム112によって識別された1つまたは複数のタスクパラメータに従って、メンバー118のためのタスクの実施のために使用され得る1つまたは複数のサードパーティサービス116および/またはリソース(たとえば、小売業者、レストラン、ウェブサイト、ブランド、商品のタイプ、特定の商品など)を識別するために、タスク調整システム114によって維持されるリソースライブラリを利用し得る。提案は、タスクの完了のための時間枠、タスクの完了のために従事されるべき任意のサードパーティサービス116(もしあれば)の識別、タスクの完了のための予算推定、タスクの完了のために使用されるべきリソースまたはリソースのタイプなどを指定し得る。代理は、提案を進めるか、またはタスクを完了するための代替提案を与えるために、メンバー118からの応答を求めて、チャットセッションを介してメンバー118に提案を提示し得る。
【0057】
[0073]一実施形態では、タスク推奨システム112は、代理がメンバー118に提案を与えるべきかどうかに関する推奨を代理106に与え、定義されたタスクの完了に関して代理106に委ねるオプションをメンバー118に与えることができる。たとえば、タスクの追加のパラメータを識別するためにメンバーおよびタスク関連情報をタスク推奨システム112に与えることに加えて、代理は、メンバー118にタスクの完了のための1つまたは複数の提案を提示し、タスクの完了のために代理に委ねるオプションを提示または省略するために、その推奨をタスク推奨システム112に示し得る。タスク推奨システム112は、上述の推奨を生成するために、機械学習アルゴリズムまたは人工知能を利用し得る。タスク推奨システム112は、タスクの完了のための1つまたは複数の提案の提示を推奨すべきかどうかと、タスクの完了のために代理に委ねるオプションをメンバー118に提示すべきかどうかを決定するために、代理によって与えられた情報と、ユーザデータストア108からの同様の状況にあるメンバーについてのデータ、およびタスクデータストア110からの同様のタスクに対応するタスクデータ(たとえば、提出されたタスクと同様のパラメータを有するタスク、同様の状況にあるメンバーのために実施されるタスクなど)とを利用し得る。
【0058】
[0074]代理が、タスクの完了のために代理に委ねるオプションをメンバーが提示されるべきであると決定した場合、代理は、チャットセッションを介してこのオプションをメンバーに提示し得る。オプションは、メンバーがオプションのその承認を示すために選択し得るボタンまたは他のグラフィカルユーザインターフェース(GUI)要素の形態で提示され得る。たとえば、メンバーは、タスクの実施に関連するすべての決定を代理に委ねるオプションをメンバーに与えるために、「Run With It」ボタンを提示され得る。メンバー118がそのオプションを選択した場合、代理は、メンバー118に代わってタスクの完了のために代理によって選択された提案を提示することがあり、提案に従ってタスクの実施および完了のために1つまたは複数のサードパーティサービス116との調整に進むことがある。したがって、メンバー118がタスクの完了のために特定の提案を選択することを可能にするのではなく、代わりに、代理がメンバー118に代わって特定の提案を選択し得る。提案は、どのようにタスクが完了されるべきかをメンバー118が検証するために、メンバー118に依然として提示され得る。タスクの完了のためにメンバー118の代わりに代理によって取られた任意のアクションは、タスクデータストア110内のタスクに対応するエントリに記録され得る。代替的に、メンバー118がオプションを拒絶し、代わりに、代理がタスクの完了のために1つまたは複数の提案を与えることを示す場合、代理は、上記で説明されたように、1つまたは複数の提案を生成し得る。
【0059】
[0075]一実施形態では、タスク推奨システム112は、オプションの提示のために代理に推奨を行うために使用される機械学習アルゴリズムまたは人工知能をトレーニングする際に使用するために、タスクの完了のために代理に従うオプションを提示されることに対するメンバーの応答を記録する。たとえば、代理がメンバー118にオプションを提示することを選択した場合、タスク推奨システム112は、メンバー118がオプションを選択したか、または申し出を断ってタスクに関連する1つもしくは複数の提案の提示を要求したかを記録し得る。同様に、代理が、代理に従うオプションを提示せずに、1つまたは複数の提案を提示することを選択した場合、タスク推奨システム112は、メンバー118がこれらの1つまたは複数の提案の提示に満足したかどうか、または代理がメンバーの代わりに提案を選択することを要求したかどうかを記録し、したがって、タスクの完了のために代理に従うことがある。これらのメンバー応答は、タスクに対応するデータ、代理のアクション(たとえば、オプションの提示、提案の提示など)、およびタスク推奨システム112によって与えられる推奨とともに、機械学習アルゴリズムまたは人工知能をトレーニングおよび/または強化する際にタスク推奨システム112によって使用するために、タスクデータストア110内に記憶され得る。
【0060】
[0076]一実施形態では、代理は、メンバー特性、タスク履歴、および他のファクタに基づいて、1つまたは複数のタスクを提案し得る。たとえば、メンバー118がチャットセッションを介して代理と通信するとき、代理は、メンバーの認知負荷を低減するために実施され得る任意のタスクを識別するために、メンバー118からの任意のメッセージを評価し得る。例示的な例として、メンバー118が、チャットセッションを通して、メンバーの配偶者の誕生日が迫っていることを示す場合、代理は、メンバーの配偶者の誕生日を見越してメンバー118に推奨され得る1つまたは複数のタスクを開発するために、メンバー118のその知識を利用し得る。代理は、ケーキの購入、花の注文、メンバー118のための固有の旅行体験の設定などのタスクを推奨し得る。いくつかの実施形態では、代理は、メンバー入力なしにタスク提案を生成することができる。たとえば、オンボーディングプロセスの部分として、メンバー118は、メンバーのカレンダ、メンバーの個人用フィットネスデバイス(たとえば、フィットネストラッカ、通信機能を有する運動機器など)、メンバーの車両データなどの1つまたは複数のメンバーリソースへのアクセスをタスク容易化サービス102に与え得る。これらのメンバーリソースから収集されたデータは、メンバー118のためのタスク提案を生成するためにデータを構文解析し得る代理によって監視され得る。
【0061】
[0077]一実施形態では、代理とのチャットセッションにわたってメンバー118から収集されたデータは、完了のためにメンバー118に提示され得る1つまたは複数のタスクを識別するために、タスク推奨システム112によって評価され得る。たとえば、タスク推奨システム112は、メンバー118から受信されたメッセージまたは他の通信を評価して意図を識別するために、自然言語処理(NLP)または他の人工知能を利用し得る。意図は、メンバー118が解決されていることを望む問題に対応し得る。意図の例は、(たとえば)トピック、感情、複雑性、および緊急度を含むことができる。トピックは、限定はしないが、主題、製品、サービス、技術的問題、使用上の質問、苦情、購入要求などを含むことができる。意図は、たとえば、(たとえば、キーワード、文構造、繰り返されたワード、句読文字、および/または非冠詞ワードを識別することによる)メッセージの意味解析、(たとえば、選択された1つまたは複数のカテゴリを有する)ユーザ入力、および/またはメッセージ関連の統計値(たとえば、タイピングスピードおよび/または応答レイテンシ)に基づいて決定され得る。意図は、メンバー118に推奨され得る可能なタスクを識別するために、NLPアルゴリズムまたは他の人工知能によって使用され得る。たとえば、タスク推奨システム112は、メンバー118が解決したい新しいタスクまたは他の問題を識別された意図に基づいて検出するために、NLPまたは他の人工知能を使用してメンバー118からの任意の着信メッセージを処理し得る。場合によっては、タスク推奨システム112は、可能なタスクを識別するようにNLPまたは他の人工知能をトレーニングするために、タスクデータストア110からの履歴タスクデータおよび対応するメッセージを利用し得る。タスク推奨システム112がメンバー118に推奨され得る1つまたは複数の可能なタスクを識別する場合、タスク推奨システム112は、代理にこれらの可能なタスクを提示し得、代理106は、チャットセッションを介してメンバー118と共有され得るタスクを選択し得る。
【0062】
[0078]いくつかの例では、タスク推奨システム112は、完了のためにメンバー118に推奨され得る潜在的なタスクを識別するためにメンバー118によって与えられた画像またはビデオ記録を処理するためにコンピュータビジョンまたは他の人工知能を利用することができる。たとえば、代理は、メンバー118のために完了され得る潜在的なタスクを識別するためにメンバーの自宅の歩行中に画像またはビデオを記録するようにメンバー118を促し得る。例示的な例として、メンバー118は、修理を必要とする損傷された幅木に関係するデジタル画像またはビデオを記録するためにモバイルデバイス(たとえば、スマートフォン、デジタルビデオレコーダなど)を使用し得る。これらのデジタル画像またはビデオは、損傷された幅木を検出し、幅木に必要とされる修理の可能な範囲と損傷された幅木を修復するために実施され得る可能なタスクとを識別するためにリアルタイムにタスク推奨システム112によって処理され得る。さらに、デジタル画像またはビデオが損傷された幅木に関係し得るが、タスク推奨システム112は、タスクが推奨され得る追加のおよび/または代替の問題を識別するためにデジタル画像またはビデオをさらに処理し得る。たとえば、タスク推奨システム112が、損傷された幅木に加えて、メンバー118が幅木内にシロアリ問題を経験していることがあることを検出する場合、タスク推奨システム112は、検出されたシロアリの根絶に対応するタスクを推奨し得る。したがって、タスク推奨システム112は、コンピュータビジョンまたは他の人工知能を使用して、メンバー118が気づいていないことがある可能な問題を検出し得る。
【0063】
[0079]一実施形態では、タスク推奨システム112は、メンバーの認知負荷を低減するために、完了のためにメンバー118に提示され得る可能なタスクのリストを生成することができる。たとえば、異なるメンバーソース(たとえば、パーソナルフィットネスまたはバイオメトリックデバイス、ビデオおよびオーディオ記録など)から収集されたデータの評価に基づいて、タスク推奨システム112は、メンバー118のために完了され得るタスクの初期セットを識別し得る。さらに、タスク推奨システム112は、外部ファクタに基づいて追加および/または代替のタスクを識別することができる。たとえば、タスク推奨システム112は、メンバーの地理的ロケーションに基づいて季節的タスク(たとえば、葉の収集、雨桶の清掃など)を識別することができる。別の例として、タスク推奨システム112は、メンバーの地理的領域内の他のメンバーのために実施されたタスク、および/または、場合によっては同様の状況にある(たとえば、メンバー118と1つまたは複数の特性を共有する)タスクを識別し得る。たとえば、メンバーの近隣の範囲内の様々なメンバーが、冬の間、メンバーの雨桶を清掃してもらっているか、または車道を閉鎖されている場合、タスク推奨システム112は、これらのタスクがメンバー118のために実施され得、完了のためにメンバー118に訴求し得ると決定し得る。
【0064】
[0080]一実施形態では、タスク推奨システム112は、タスクの初期セットと、ユーザデータストア108からのメンバー固有のデータ(たとえば、特性、人口統計、ロケーション、推奨および提案に対する過去の応答など)と、ユーザデータストア108からの同様の状況にあるメンバーに対応するデータと、メンバー118およびタスクデータストア110からの他の同様の状況にあるメンバーのために以前に実施されたタスクに対応する過去のデータとを、実施のためにメンバー118に推奨され得るタスクのセットを識別するために、機械学習アルゴリズムまたは人工知能への入力として使用することができる。たとえば、タスクの初期セットは、雨桶清掃に関連するタスクを含むことがあるが、メンバーの選好に基づいて、メンバー118は、このタスクを自分自身で実施することを好むことがある。したがって、機械学習アルゴリズムまたは人工知能(たとえば、メンバー118に推奨され得るタスクのセット)の出力は、このタスクを省略し得る。さらに、メンバー118に推奨され得るタスクのセットに加えて、機械学習アルゴリズムまたは人工知能の出力は、上述のように、識別されたタスクごとに、メンバー118がタスクの実施のために代理に従いたいことを示すために選択し得るボタンまたは他のGUI要素の提示のための推奨を指定し得る。
【0065】
[0081]メンバー118に推奨され得るタスクのセットのリストは、どのタスクが、タスク特有のインターフェース(たとえば、これらのタスクに固有の通信セッションなど)を通してメンバー118に提示され得るかに関する最終決定のために、代理に与えられ得る。一実施形態では、タスク推奨システム112は、メンバー118が、サードパーティサービス116の実施および/またはサードパーティサービス116との調整のために代理に委任するタスクを選択する可能性に基づいて、タスクのセットのリストをランク付けし得る。代替的に、タスク推奨システム112は、各タスクの完了の緊急性のレベルに基づいて、タスクのセットのリストをランク付けし得る。緊急性のレベルは、メンバー特性(たとえば、特定のタスクまたはタスクのカテゴリのメンバー自身の優先順位付けに対応するデータ)および/またはタスクが実施されない場合のメンバー118に対する潜在的リスクに基づいて決定され得る。たとえば、メンバーの家の中の一酸化炭素検出器の交換または設置に対応するタスクは、一酸化炭素フィルタがメンバーの安全にとってより重要であり得るので、冷蔵庫給水器フィルタの交換に対応するタスクよりも高くランク付けされ得る。別の例示的な例として、メンバー118がメンバーの車両の保守にかなりの重要性を置く場合、タスク推奨システム112は、車両保守に関連するタスクを他のタイプの保守に関連するタスクよりも高くランク付けし得る。さらに別の例示的な例として、タスク推奨システム112は、今度の誕生日に関連するタスクを、今度の誕生日の後に完了し得るタスクよりも高くランク付けし得る。
【0066】
[0082]代理は、タスク推奨システム112によって推奨されたタスクのセットを検討し、これらのタスクに対応するタスク固有のインターフェースを介してメンバー118に提示するために、これらのタスクのうちの1つまたは複数を選択し得る。さらに、上述のように、代理は、タスクの実施を代理に従うオプションをタスクに提示すべきかどうかを(たとえば、タスクの実施を代理に委ねるメンバーの選好を示すボタンまたは他のGUI要素によって)決定し得る。いくつかの例では、1つまたは複数のタスクは、タスク推奨システム112によって生成されたランキングに従ってメンバー118に提示され得る。代替的に、1つまたは複数のタスクは、タスク優先順位付けのためのメンバー自身の選好に関する代理の理解に従って提示され得る。タスク容易化サービス102によって与えられるインターフェースを通して、メンバー118は、代理の支援によって実施され得る1つまたは複数のタスクを選択するために、これらのタスクに関連するタスク特有のインターフェースのいずれかにアクセスし得る。代替的に、メンバー118は、メンバー118がむしろ個人的に実施するであろう、またはメンバー118が場合によっては実施することを望まない、任意の提示されたタスクを却下し得る。
【0067】
[0083]一実施形態では、タスク推奨システム112は、代理対話なしにタスク固有のインターフェースを介してメンバー118に提示するためのタスクのうちの1つまたは複数を自動的に選択し得る。たとえば、タスク推奨システム112は、タスク推奨システム112によって以前にランク付けされたタスクのセットのリストからどのタスクが、タスク特有のインターフェースを通してメンバー118に提示され得るかを選択するために、機械学習アルゴリズムまたは人工知能を利用し得る。例示的な例として、タスク推奨システム112は、ユーザデータストア108からのメンバー118に対応するメンバープロファイル(メンバー代理通信に対応する履歴データ、代理実施および提示されたタスク/提案に対応するメンバーフィードバックなどを含むことができる)と、メンバー118のために現在進行中のタスクと、機械学習アルゴリズムまたは人工知能への入力としてのタスクのセットのリストとを使用し得る。機械学習アルゴリズムまたは人工知能によって生成された出力は、タスクのセットのリストのどのタスクが、これらのタスクに対応するタスク特有のインターフェースを介してメンバー118に自動的に提示されるべきかを示し得る。メンバー118がこれらの新たに提示されたタスクと対話するとき、タスク推奨システム112は、機械学習アルゴリズムまたは人工知能をさらにトレーニングして、メンバー118および他の同様の状況にあるメンバーにどのタスクを提示すべきかをより良好に決定するために、これらの対話を記録し、これらの対話を使用し得る。
【0068】
[0084]一実施形態では、タスク推奨システム112は、実施のために代理に委任するタスクのメンバー選択に関するデータを収集するために、メンバー118と代理との間のチャットセッションと、タスク容易化サービス102とによって与えられ、メンバー118の代わりに実施され得る異なるタスクに関連するタスク固有のインターフェースとのメンバーの対話とを監視することができる。たとえば、タスク推奨システム112は、各タスクに対応する極性または感情を決定するために、チャットセッションにわたって代理によってメンバー118に提示されたタスクに対応するメッセージと、これらのタスクに対応するタスク固有のインターフェースとの任意の対話(たとえば、任意のタスク固有の通信セッション、特定のタスクに関連する議論のメンバー作成など)を処理し得る。たとえば、メンバー118が、代理へのメッセージにおいて、車両保守に対応するいずれのタスク推奨も受信しないことを好むことを示す場合、タスク推奨システム112は、否定極性または感情を車両保守に対応するタスクのせいにし得る。代替的に、メンバー118が、代理への委任のために雨桶清掃に関係するタスクを選択し、および/またはこのタスクの推奨が素晴らしいアイデアであったことを代理へのメッセージ中で示す場合、タスク推奨システム112は、肯定極性または感情をこのタスクのせいにし得る。一実施形態では、タスク推奨システム112は、メンバー118およびタスク容易化サービス102の他の同様の状況にあるメンバーに提示し得るタスク推奨を生成するために利用される機械学習アルゴリズムまたは人工知能をさらにトレーニングまたは強化するために、メンバー118に推奨されるタスクに対するこれらの応答を使用することができる。
【0069】
[0085]一実施形態では、メンバー118のために実施され得るタスクを推奨することに加えて、代理は、メンバー118に対して、メンバーの心を緊急の事柄から遠ざけ、メンバー自身およびメンバーの家族により多くの時間を費やすように訴求し得る1つまたは複数のキュレーションされた体験を推奨し得る。上述のように、オンボーディングプロセス中に、メンバー118は、メンバー118が楽しいと感じるその興味または趣味のいずれかを示すように促され得る。さらに、代理がチャットセッションにわたってメンバー118との対話を継続すると、代理は、メンバー118に、その関心に関する追加の情報を自然な方法で与えるように促し得る。たとえば、代理は、メンバー118に「今週末は何をしますか?」と尋ねることがある。メンバー応答に基づいて、代理は、メンバーの選好を示すようにメンバープロファイルを更新し得る。したがって、時間とともに、代理およびタスク容易化サービス102は、メンバーの関心および趣味のより深い理解を進展させることがある。
【0070】
[0086]一実施形態では、タスク容易化サービス102は、タスク容易化サービス102が動作する各地理的市場において、メンバーが利用可能であり得る体験のセットを生成する。たとえば、タスク容易化サービス102は、タスク容易化サービスのメンバーにとって関心があり得る固有のおよび/または時間制限された体験機会を識別するために、各地理的市場内の様々な組織と提携し得る。さらに、キュレーションを必要としない体験(たとえば、ハイキング、散策など)に対して、タスク容易化サービス102は、そのメンバーに訴求し得る各地理的市場内の人気のある体験を識別し得る。タスク容易化サービス102によって収集された情報は、タスク推奨システム112および様々な代理106がアクセス可能なリソースライブラリまたは他のリポジトリに記憶され得る。
【0071】
[0087]一実施形態では、各利用可能な体験について、タスク容易化サービス102は、メンバー118に代わって体験を計画するためにメンバー118から必要とされる情報と、メンバー118に提示されたときに体験推奨の提案がどのように見えるかのスケルトンとの両方を含むテンプレートを生成することができる。これは、代理が、体験と関連するタスクの定義を完了することをより容易にし得る。いくつかの例では、テンプレートは、旅行ガイド、食品およびレストランガイド、評判の良い出版物などの高品質の推奨を与える様々なソースからのデータを組み込むことができる。一実施形態では、代理が、体験と関連するタスクの作成のための特定のテンプレートを選択する場合、タスク推奨システム112は、テンプレートをポピュレートするために使用され得るメンバープロファイルの部分を自動的に識別することができる。たとえば、代理がレストランの夕方に対応するテンプレートを選択した場合、タスク推奨システム112は、代理によって選択されたタスクテンプレート内の1つまたは複数のフィールドをポピュレートするために使用され得る、メンバーの食事選好および制限に対応する任意の情報を識別するように、メンバープロファイルを自動的に処理し得る。
【0072】
[0088]一実施形態では、タスク推奨システム112は、周期的に(たとえば、毎月、隔月など)、またはトリガイベント(たとえば、設定された数のタスクが行われること、メンバー要求など)に応答して、メンバー118に推奨され得る体験のセットを選択する。たとえば、メンバー118に推奨され得るタスクの識別と同様に、タスク推奨システム112は、出力として、メンバー118に推奨され得る体験のセットを取得するために、少なくとも、ユーザデータストア108からの利用可能な体験のセットおよびメンバーの選好を、機械学習アルゴリズムまたは人工知能への入力として使用し得る。タスク推奨システム112は、場合によっては、代理の代わりにチャットセッションを介して、または体験のセットの各々に対応するタスク固有のインターフェースを通して、この体験のセットをメンバー118に提示し得る。各体験推奨は、体験の説明とメンバー118によって負担され得る任意の関連コストとを指定し得る。さらに、提示された各体験推奨について、タスク推奨システム112は、メンバー118のための体験のキュレーションを要求するために、メンバー118によって選択可能であり得るボタンまたは他のGUI要素を与え得る。
【0073】
[0089]メンバー118が、その代わりにキュレーションしたい体験に対応する特定の体験推奨を選択した場合、タスク推奨サービス112または代理は、選択された体験推奨のキュレーションに関連する1つまたは複数の新しいタスクを生成し得る。たとえば、メンバー118が週末ピクニックに関する体験推奨を選択した場合、タスク推奨システム112または代理は、メンバー118がタスクの完了の進捗を評価し得るように、新しいタスクをメンバーのタスクリストに追加し得る。さらに、代理は、選択された体験に関連するタスクの完了のための提案を決定する際に代理を支援するために、選択された体験に関連する詳述された質問をメンバー118に尋ね得る。たとえば、メンバー118が週末ピクニックのキュレーションに関する体験推奨を選択した場合、この情報は、すべてのパーティについて週末ピクニックをキュレーションし、適切なサードパーティサービス116および週末ピクニックのための可能な会場を識別するように代理を誘導し得るので、代理は、参加する成人および子供の数に関してメンバー118に尋ね得る。メンバー118によって与えられる応答は、同様の体験および関連タスクについて、これらの応答が、体験のキュレーションのために使用され得る情報を自動的に取得するために使用され得るように、メンバープロファイルを更新するために使用され得る。
【0074】
[0090]メンバー118のためにタスクを完了するための上述のプロセスと同様に、代理は、選択された体験のキュレーションのための1つまたは複数の提案を生成することができる。たとえば、代理は、とりわけ、体験のための日/時間のリスト、体験のための可能な会場(たとえば、公園、映画館、ハイキングトレイルなど)のリスト、可能な食事オプションおよび対応する価格のリスト、食事の配達または受取りのためのオプションなどを与える提案を生成し得る。提案における様々なオプションは、体験に特有のチャットまたは通信セッション(たとえば、特定の体験に対応するタスク特有のインターフェース)を介して、また、タスク容易化サービス102によって与えられるアプリケーションまたはウェブポータルを介して、メンバー118に提示され得る。提案に提示された様々なオプションに対するメンバーの応答に基づいて、代理は、体験のためのキュレーションプロセスを開始していることを示し得る。さらに、代理は、メンバー118に関連し得る体験に関連する情報を与え得る。たとえば、メンバー118が週末のピクニックのために選択されたレストランから食べ物をピックアップするオプションを選択した場合、代理は、食べ物をピックアップするためのメンバーの家からレストランまでの詳細な運転指示(これは、メンバー118が配達オプションを選択した場合には提示されない)と、レストランから選択された会場までの詳細な運転指示と、駐車情報と、注文されるべき食べ物のリストと、食べ物の注文の合計価格とを与えることがある。メンバー118は、この提案を検討することがあり、提案を受け入れるかどうかを決定し得る。メンバー118が提案を受け入れた場合、代理は、選択された体験をキュレーションするために様々なタスクを実施することに進み得る。
【0075】
[0091]メンバー118が、タスクの実施を代理に従うことを望むことを示すために、特定のタスクに対する特定の提案を選択するか、または特定のタスクに関連するボタンもしくは他のGUI要素を選択すると、タスクがサードパーティサービス116を使用して完了される場合、代理は、メンバー118の利益に関するタスクの完了のために1つまたは複数のサードパーティサービス116と調整し得る。たとえば、代理は、タスクの実施のために1つまたは複数のサードパーティサービス116を識別し、連絡するために、タスク容易化サービス102のタスク調整システム114を利用し得る。上述のように、タスク調整システム114は、タスク容易化サービス102のメンバーの代わりにタスクの実施に利用可能であり得るサードパーティサービス116に関連する詳細な情報を含むリソースライブラリを含み得る。たとえば、リソースライブラリ内のサードパーティサービスに関するエントリは、サードパーティサービスに関する連絡先情報、サードパーティサービスによって与えられるサービスまたは商品に関する任意の利用可能な価格シート、サードパーティサービスによって与えられる商品および/またはサービスのリスト、営業時間、メンバーの異なるカテゴリによる評価またはスコアなどを含み得る。代理は、タスクを実施することになる1つまたは複数のサードパーティサービスを識別し、タスクの実施の推定コストを決定するために、リソースライブラリに問い合わせ得る。いくつかの例では、代理は、タスクの完了のための見積りを取得し、メンバー118のためにタスクの実施を調整するために、1つまたは複数のサードパーティサービス116に連絡し得る。
【0076】
[0092]いくつかの例では、リソースライブラリは、タスク容易化サービス102と関連付けられるか、または提携し得る、タスク容易化サービス102のメンバーに代わって様々なタスクを実施するように契約される他のサービスおよび他のエンティティに対応する詳細な情報をさらに含み得る。これらの他のサービスおよび他のエンティティは、タスク容易化サービス102と合意したレートでサービスまたは商品を与えることがある。したがって、代理が、リソースライブラリからこれらの他のサービスまたは他のエンティティのいずれかを選択する場合、代理は、タスクの完了のための特定のパラメータ(たとえば、価格、利用可能性、必要とされる時間など)を決定することが可能であり得る。
【0077】
[0093]一実施形態では、所与のタスクについて、代理は(たとえば、タスク容易化サービスによって与えられるウェブポータルまたはアプリケーションを通して)、タスク容易化サービス102と提携する1つまたは複数のサードパーティサービスおよび他のサービス/エンティティを識別するために、リソースライブラリに問い合わせることができ、リソースライブラリにタスクの完了のための見積りを求める。たとえば、新たに作成されたタスクについて、代理は、これらの1つまたは複数のサードパーティサービスと他のサービス/エンティティとに仕事の申し出を送信し得る。仕事の申し出は、完了されるべきタスクの様々な特性(たとえば、タスクの範囲、メンバー118またはタスクが完了されるべき場所のおよその地理的ロケーション、所望の予算など)を示し得る。タスク容易化サービス102によって与えられるアプリケーションまたはウェブポータルを通して、サードパーティサービスまたは他のサービス/エンティティは、仕事の申し出を検討し、タスクの完了のための見積りを提出するか、または仕事の申し出を断るべきかを決定し得る。サードパーティサービスまたは他のサービス/エンティティが仕事の申し出を拒絶することを選択した場合、代理は、サードパーティサービスまたは他のサービス/エンティティが仕事の申し出を断ったことを示す通知を受信し得る。代替的に、サードパーティサービスまたは他のサービス/エンティティが、タスクを行うために入札することを選択する(たとえば、仕事の申し出を受諾する)場合、サードパーティサービスまたは他のサービス/エンティティは、タスクの完了のための見積りを提出し得る。この見積りは、タスクの完了のための推定コスト、タスクの完了に必要な時間、サードパーティサービスまたは他のサービス/エンティティがタスクの実施を開始するために利用可能である推定日などを示し得る。
【0078】
[0094]代理は、タスクの完了のための異なる提案を生成するために、サードパーティサービスおよび/または他のサービス/エンティティからの任意の与えられた見積りを使用し得る。これらの異なる提案は、完了されるべき特定のタスクに対応するタスク特有のインターフェースを通してメンバー118に提示され得る。メンバー118が、タスク固有のインターフェースを通して提示された提案のセットから特定の提案を選択した場合、代理は、タスクの完了のために選択されたことを示すために、選択された提案に関連する見積りを提出したサードパーティサービスまたは他のサービス/エンティティに通知を送信し得る。したがって、代理は、タスクの完了のためにサードパーティサービスまたは他のサービス/エンティティと調整するために、タスク調整システム114を利用し得る。
【0079】
[0095]場合によっては、タスクが代理106によって完了される場合、代理106は、タスクの実施のために代理106によって利用され得る任意のリソースを識別するために、タスク容易化サービス102のタスク調整システム114を利用し得る。リソースライブラリは、タスクの実施に利用可能な異なるリソースに関する詳細な情報を含み得る。例示的な例として、代理106がメンバーの家のためのフィルタのセットを購入するタスクを課された場合、代理106は、メンバー118が許容可能な、メンバー118によって許容された提案に対応する品質および/または価格のフィルタを販売し得る小売業者を識別するために、リソースライブラリに問い合わせ得る。さらに、代理106は、ユーザデータストア108から、タスクを完了するために代理106によって必要とされる任意のリソースに対する支払いを行うために使用され得るメンバー118の利用可能な支払い情報を取得し得る。上述の例を使用すると、代理106は、メンバーの家で使用されることになるフィルタのセットの小売業者との購入を完了するために、ユーザデータストア108からメンバー118の支払い情報を取得し得る。
【0080】
[0096]一実施形態では、タスク調整システム114は、タスクの実施のために代理に代わって1つまたは複数のサードパーティサービス116および/またはリソースを選択するために、機械学習アルゴリズムまたは人工知能を使用する。たとえば、タスク調整システム114は、タスクに関連する選択された提案またはパラメータ(たとえば、メンバー118が、タスクがどのように実施されるべきかを決定するために代理に従った場合)と、機械学習アルゴリズムまたは人工知能への入力として類似のタスクに対応するタスクデータストア110からの履歴タスクデータとを利用し得る。機械学習アルゴリズムまたは人工知能は、出力として、メンバー118に対して高い満足度の確率でタスクを実施し得る1つまたは複数のサードパーティサービス116のリストを生成し得る。タスクが代理106によって実施される場合、機械学習アルゴリズムまたは人工知能は、出力として、メンバー118に対して高い満足度の確率でタスクを実施するために代理106によって使用され得るリソース(たとえば、小売業者、レストラン、ブランドなど)のリストを生成し得る。上述のように、リソースライブラリは、各サードパーティサービス116について、タスク容易化サービス102のメンバーによって決定されたサードパーティサービス116の満足度に関連する評価またはスコアを含み得る。さらに、リソースライブラリは、タスク容易化サービス102のメンバーによって決定される各リソース(たとえば、小売業者、レストラン、ブランド、商品、材料など)の満足度に関連する評価またはスコアを含み得る。たとえば、タスクが完了すると、代理は、メンバー118のために、タスクを完了する際のサードパーティサービスの実施に関する評価またはスコアを与えるようにメンバー118を促し得る。別の例として、タスクが代理106によって実施される場合、代理は、代理の実施およびタスクの完了のために代理によって利用されるリソースに関するレーティングまたはスコアを与えるようにメンバー118に促し得る。各評価またはスコアは、タスク調整システム114が、機械学習アルゴリズムまたは人工知能を使用して、同様の状況にあるメンバーのための同様のタスクに関して、サードパーティサービスの実施または代理によって利用されるリソースの満足度に基づいて、タスクの実施に対する満足度の可能性を決定し得るように、評価またはスコアを与えたメンバーに関連付けられる。タスク調整システム114は、タスクの実施のために推奨されるサードパーティサービス116および/またはリソースのリストを生成することがあり、それによって、リストは、各識別されたサードパーティサービスおよび/またはリソースに割り当てられた満足度の可能性(たとえば、スコアまたは他のメトリック)に従ってランク付けされ得る。
【0081】
[0097]いくつかの例では、タスクが、選択された提案において与えられる推定に従って、サードパーティサービスまたは他のサービス/エンティティによって完了されることができない場合、メンバー118は、特定のタスクをキャンセルするか、または場合によってはタスクに変更を行うオプションを与えられ得る。たとえば、タスクを実施するための新しい推定コストが、選択された提案で指定された最大量を超える場合、メンバー118は、提案で指定された予算内でタスクを実施するための代替のサードパーティサービスまたは他のサービス/エンティティを見つけるように代理に求めることがある。同様に、タスクの完了のための時間枠が、提案に示される時間枠内にない場合、メンバー118は、元の時間枠内のタスクの実施のための代替のサードパーティサービスまたは他のサービス/エンティティを見出すように代理に求め得る。メンバーの介入は、対応する機械学習アルゴリズムまたは人工知能を再トレーニングし、定義された提案パラメータ内でタスクを実施し得るサードパーティサービス116および/または他のサービス/エンティティをより良好に識別するために、タスク推奨システム112およびタスク調整システム114によって記録され得る。
【0082】
[0098]一実施形態では、代理がタスクの実施のために1つもしくは複数のサードパーティサービス116または他のサービス/エンティティと契約すると、タスク調整システム114は、これらのサードパーティサービス116または他のサービス/エンティティによるタスクの実施を監視し得る。たとえば、タスク調整システム114は、タスクの実施のための時間枠、タスクの実施に関連するコスト、タスクの実施に関する任意のステータス更新などに関して、サードパーティサービス116または他のサービス/エンティティによって与えられる任意の情報を記録し得る。タスク調整システム114は、この情報を、実施されているタスクに対応するタスクデータストア110内のデータレコードに関連付けることがある。サードパーティサービス116または他のサービス/エンティティによって与えられるステータス更新は、タスク容易化サービス102によって与えられるアプリケーションまたはウェブポータルを介してメンバー118および代理に自動的に与えられ得る。
【0083】
[0099]一実施形態では、タスクが代理106によって実施される場合、タスク調整システム114は、代理106によるタスクの実施を監視することができる。たとえば、タスク調整システム114は、タスクの代理の実施に関する、代理106とメンバー118との間の任意の通信をリアルタイムで監視し得る。これらの通信は、タスクの実施に関する任意のステータス更新、タスクを実施する際に代理106が負った任意の購入または費用、タスクの完了のための時間枠などを示す代理106からのメッセージを含み得る。タスク調整システム114は、代理106からのこれらのメッセージを、実施されているタスクに対応するタスクデータストア110内のデータレコードに関連付けることがある。
【0084】
[0100]場合によっては、代理は、メンバー118の代わりに1つもしくは複数のサードパーティサービス116によって与えられたサービスおよび/もしくは商品に対する支払い、またはタスクの完了のために代理によって行われた購入に対する支払いを自動的に行うことがある。たとえば、オンボーディングプロセス中に、メンバー118は、サードパーティサービス116に支払いを行うために、またはメンバー118のために代理106によって行われる購入のために、代理によって使用され得る支払い情報(たとえば、クレジットカード番号および関連情報、デビットカード番号および関連情報、銀行情報など)を与え得る。したがって、メンバー118は、代理106および/またはサードパーティサービス116がメンバー118のためのタスクの実施を開始することを可能にするために、いかなる支払い情報を与えることも必要とされないことがある。これは、タスクの実施を管理するためのメンバー118に対する認知負荷をさらに低減し得る。
【0085】
[0101]上述のように、タスクが完了すると、メンバー118は、タスクの完了に関するフィードバックを与えるように促され得る。たとえば、メンバー118は、タスクの実施における選択されたサードパーティサービス116の実施および専門性に関するフィードバックを与えるように促され得る。さらに、メンバー118は、代理によって与えられた提案の品質に関して、またタスクの実施がタスクに関連する基礎をなす問題に対処したかどうかに関して、フィードバックを与えるように促され得る。メンバー118によって与えられる応答を使用して、タスク容易化サービス102は、タスクのより良好な識別、提案の作成、メンバー118および他の同様の状況にあるメンバーのためにタスクを完了するためのサードパーティサービス116および/または他のサービス/エンティティの識別、メンバー118のためにタスクを実施するために代理106に与えられ得るリソースの識別などを与えるために、タスク推奨システム112およびタスク調整システム114によって利用される機械学習アルゴリズムまたは人工知能をトレーニングまたは場合によっては更新し得る。
【0086】
[0102]本明細書で説明されるプロセスに関して、代理106によって実施される様々な動作は、追加または代替として、1つまたは複数の機械学習アルゴリズムまたは人工知能を使用して実施され得ることに留意されたい。たとえば、代理106がメンバー118に代わって経時的にタスクを実施するか、または場合によってはタスクの実施を調整するとき、タスク容易化サービス102は、代理106および/またはサードパーティサービス116によるこれらのタスクの実施に関連するメンバーフィードバックに従って、メンバープロファイルを連続的および自動的に更新し得る。一実施形態では、タスク推奨システム112は、メンバーのプロファイルがある時間期間(たとえば、6か月、1年など)にわたって、またはタスクのセット(たとえば、20個のタスク、30個のタスクなど)にわたって更新された後、代理対話を用いてまたは用いずに、メンバーのプロファイルの様々な属性(たとえば、メンバー代理通信に対応する履歴データ、代理実施および提示されたタスク/提案に対応するメンバーフィードバックなど)に基づいて、新しいタスクを自動的および動的に生成するために、機械学習アルゴリズムまたは人工知能を利用し得る。タスク推奨システム112は、新しいタスクに必要とされる任意の追加情報を取得し、これらのタスクの実施のためにメンバー118に提示され得る提案を自動的に生成するために、メンバー118と自動的に通信し得る。代理106は、会話が肯定極性を維持する(たとえば、メンバー118がタスク推奨システム112または別のボットとの対話に満足しているなど)ことを確実にするために、タスク推奨システム112とメンバー118との間の通信を監視し得る。会話が否定極性を有する(たとえば、メンバー118がフラストレーションを表明している、タスク推奨システム112またはボットがメンバーの応答または質問を処理することができない、など)と代理106が決定した場合、代理106は、会話に介入し得る。これは、代理106が、任意のメンバーの懸念に対処し、メンバー118に代わって任意のタスクを行うことを可能にし得る。
【0087】
[0103]したがって、これらのシステムおよび環境が、エージェントまたは他の自動化されたシステムと対話するユーザの知識をほとんど有しない場合がある自動化された顧客サービスシステムおよび環境とは異なり、タスク推奨システム112は、システムとのメンバーの自動的な対話または代理106との対話に基づいて、また経時的にメンバー118の代わりに実施されるタスクに基づいて、メンバー118に関する最新の履歴情報を与えるためにメンバープロファイルを継続的に更新することができる。メンバー118またはシステムが代理106と対話するにつれて、また、タスクが経時的にメンバー118のために考案され、提案され、実施されるにつれて、自動的および動的に更新され得る、この履歴情報は、メンバー118のクエリ、要求、および/または目標に対する適切なまたはインテリジェントな応答を予測し、識別し、提示するために、タスク推奨システム112によって使用され得る。
【0088】
[0104]
図2は、本開示の態様による、代理106および/またはサードパーティサービス116による実施のためにメンバーに推奨され得る1つまたは複数のタスクを識別するためにタスク関連のデータがメンバーエリア202から収集およびアグリゲートされる環境200の例示的な例を示す。環境200では、メンバーは、コンピューティングデバイス120(たとえば、ラップトップコンピュータ、スマートフォンなど)を介して、メンバーのために実施され得る1つまたは複数のタスクを識別するためにメンバーに割り当てられた代理106にタスク関連のデータを送信し得る。たとえば、メンバーは、実施のために代理106に委任することをメンバーが望む1つまたは複数のタスクを手動で入力することができる。タスク容易化サービス102は、メンバーにタスク容易化サービス102によって与えられるアプリケーションまたはウェブポータルを介して、代理106に委任され得るか、あるいはメンバーのタスクのリストに追加され得るタスクの手動入力204のためのオプションを与え得る。
【0089】
[0105]メンバーがタスクの手動入力204のためのオプションを選択する場合、タスク容易化サービス102は、アプリケーションまたはウェブポータルのインターフェースを介して、メンバーがタスクに関係する様々な詳細を入力し得るタスクテンプレートを与え得る。タスクテンプレートは、メンバーが、タスクのための名前、タスクの説明(たとえば、「私は、今度の嵐の前に雨樋を清掃させる必要がある」、「私は、塗装工に化粧室を補修塗りさせることを望む」など)、タスクの実施のための時間枠(たとえば、特定の締め切り日、日付範囲、緊急度のレベルなど)、タスクの実施のための予算(たとえば、無制限の予算、特定の最大額など)などを与え得る様々なフィールドを含み得る。
【0090】
[0106]いくつかの例では、メンバーがタスクの手動入力304のためのオプションを選択する場合、タスク容易化サービス102は、新しいタスクを生成するために使用され得る異なるタスクテンプレートをメンバーに与え得る。上記のように、タスク容易化サービスは、異なるタスクカテゴリ(たとえば、車両保守タスク、自宅保守タスク、家族関連イベントタスク、介護タスク、体験関連タスクなど)に対応する異なるタスクテンプレートのためのリポジトリとして働くリソースライブラリを維持し得る。タスクテンプレートは、メンバーのために実施され得るタスクを定義するために使用され得る複数のタスク定義フィールドを含み得る。たとえば、車両保守タスクに対応するタスク定義フィールドは、メンバーの車両の型およびモデル、車両の使用年数、最後に車両を保守した時に対応する情報、車両に関連するあらゆる報告された事故、車両に関連するあらゆる問題の説明などを定義するために使用され得る。したがって、リソースライブラリ中で維持された各タスクテンプレートは、タスクテンプレートに関連するタスクカテゴリに固有であるフィールドを含み得る。
【0091】
[0107]リソースライブラリを通して、メンバーは、メンバーが作成することを望む新しいタスクに強く関連付けられ得る特定のタスクテンプレートを選択するために利用可能なタスクテンプレートの各々を評価し得る。メンバーが特定のタスクテンプレートを選択すると、メンバーは、メンバーのために実施され得るタスクを定義するために使用され得る1つまたは複数のタスク定義フィールドをポピュレートし得る。これらのフィールドは、タスクテンプレートに関連するタスクカテゴリに固有であり得る。いくつかの例では、選択されたタスクテンプレートに基づいて、タスク容易化サービス102は、上記で説明されたように、メンバープロファイル内に指定された情報に基づいて1つまたは複数のタスク定義フィールドを自動的にポピュレートし得る。
【0092】
[0108]いくつかの例では、メンバーに与えられたタスクテンプレートは、タスク容易化サービス102によって識別されるメンバーの特性に従って特別に調整され得る。上記のように、タスク容易化サービス102は、メンバーのオンボーディングプロセス中に、時間とともにタスクおよび提案を識別し、それらをメンバーに推奨するために使用され得るメンバーのためのメンバープロファイルまたはモデルを生成し得る。メンバープロファイルまたはモデルは、会話する際に、メンバーにタスクおよび提案を推奨する際に、およびメンバーのためにタスクを実施する際にメンバーにどのように接近するのが最適であるのかを決定するために代理106によって使用され得るメンバーの属性のセットを定義し得る。これらの属性は、他のものにいくつかのカテゴリのタスクを委任する際のまたは自身でいくつかのカテゴリのタスクを実施する際のメンバーの行動または選好の測度を含み得る。これらのメンバー属性は、メンバーが予算に関心があるのか、ブランド認知に関心があるのか、レビュー(たとえば、レストランのレビュー、製品のレビューなど)に関心があるのか、時間厳守に関心があるのか、応答速度に関心があるのかなどを示し得る。これらのメンバー属性に基づいて、タスク容易化サービス102は、タスクテンプレートから特定のフィールドを省略し得る。たとえば、メンバーがタスクの完了のための予算に関心がないことをメンバー属性が指定する場合、タスク容易化サービス102は、タスクについてメンバーの予算に対応するタスクテンプレートからフィールドを省略し得る。別の例示的な例として、メンバーがそれのタスクの実施のためにハイエンドのまたは一流のブランドを好むとタスク容易化サービス102が決定する場合、タスク容易化サービス102が、タスクの実施のためにハイエンドのまたは一流のブランドを識別するためにリソースライブラリを利用し得るので、タスク容易化サービス102は、タスクの実施のためにブランドの選択または識別に対応する1つまたは複数のフィールドを省略し得る。
【0093】
[0109]メンバーが、コンピューティングデバイス120を介してまたはタスク容易化サービス102によって与えられたインターフェースを通して、メンバーに対する利益のために実施されることになるタスクに対応するタスクテンプレートを提出する場合、メンバーに割り当てられた代理106は、完了したタスクテンプレートを取得し評価し、メンバーのためにどのようにタスクを実施するのが最適であるのかについて決定し得る。たとえば、代理106は、完了したタスクテンプレートを評価し、完了したタスクテンプレートによって与えられたタスク関連の詳細に対応するメンバーのための新しいタスクを生成し得る。さらに、(たとえば、メンバーとの対話からの、メンバープロファイルからのなどの)メンバーについての代理の知識に基づいて、代理106は、タスクをどのように実施するのが最適であるのかについて決定するために使用され得る追加情報をメンバーに促すのかどうかを決定し得る。たとえば、メンバーは、完了したタスクテンプレートを介してメンバーがメンバーの雨樋を清掃してほしいことを示したが、雨樋がいつ清掃されなければならないのかを示さなかった場合、代理106は、雨樋の清掃のための時間枠に関して照会するためにアクティブ通信セッションを介してメンバーと通信し得る。別の例として、メンバーが、タスクの実施のための特定の予算なしにタスクを提出し、代理106が(たとえば、メンバープロファイル、メンバーについての個人的知識などに基づいて)メンバーが予算にこだわることを知っている場合、代理106は、タスクの実施のためにどんな予算でなければならないのかを決定するためにメンバーと通信し得る。取得されたあらゆる情報は、メンバープロファイルを補足するために使用され得、したがって、将来のタスクについて、この新たに取得された情報が、メンバーへの追加のプロンプトを必要とすることなしにメンバープロファイルから自動的に取り出され得る。
【0094】
[0110]いくつかの例では、メンバーは、1つまたは複数のタスクが代理106によっておよび/もしくはタスク推奨システム112によって決定され得るプロジェクトまたはプロジェクトのために完了される必要がある1つもしくは複数のタスクを含み得るプロジェクトを生成することを求める要求を代理106に提出することができる。たとえば、メンバーと割り当てられた代理106との間に確立されるチャットセッションを介して、メンバーは、プロジェクトを開始することを望むことを示し得る。例示的な例として、メンバーは、メンバーが8月のデンバーへの引っ越しを計画するのを助けることを望むメッセージを代理106に送信し得る。このメッセージに応答して、代理106は、このプロジェクト(たとえば、デンバーへの引っ越し)に関与し得る1つまたは複数のタスクを識別し、メンバーへの提示のためにこれらの1つまたは複数のタスクを生成し得る。たとえば、代理106は、限定はしないが、引っ越しの予算を定義すること、引っ越し会社を見つけること、あらゆる不要な所有物を処分すること、現在のロケーションと新しいロケーションとにおける公共サービスを調整することなどを含むタスクを生成し得る。これらのタスクは、メンバーが、プロジェクトに関連するこれらの各々タスクを評価し、これらのタスクの各々がどのように実施され得るのかを決定する(たとえば、メンバーが自身でいくつかのタスクを実施する、メンバーが代理にいくつかのタスクを委任する、メンバーがタスクの実施のためのパラメータを定義するなど)ために代理106と調整することを可能にするためにプロジェクトに固有のインターフェースを介してメンバーに提示され得る。
【0095】
[0111]プロジェクトの部分として実施されることになる1つまたは複数のタスクを含むプロジェクトの作成をメンバーが要求する場合、プロジェクトに固有のインターフェースが作成され得る。プロジェクトインターフェースは、プロジェクトに関連するタスクの各々に対応するリンクまたは他のグラフィカルユーザインターフェース(GUI)要素を含み得る。プロジェクトに関連する特定のタスクに対応する特定のリンクまたは他のGUI要素の選択は、タスク容易化サービス102に、特定のタスクに固有のインターフェースを提示させ得る。このインターフェースを通して、メンバーは、特定のタスクに関係するメッセージを交換すること、特定のタスクに関係する提案を検討すること、特定のタスクの実施を監視することなどを行うために代理106と通信し得る。
【0096】
[0112]いくつかの例では、メンバーと代理106との間で交換されるメッセージは、メンバーへの提示のために代理106に推奨され得る潜在的なプロジェクトおよび/またはタスクを識別するためにタスク推奨システム112によって処理され得る。上記のように、タスク推奨システム112は、メンバーに推奨され得る可能なタスクを識別するためにメンバーからの交換されたメッセージまたは他の通信を評価するためにNLPまたは他の人工知能を利用し得る。たとえば、タスク推奨システム112は、メンバーが解決することを望む新しいプロジェクト、新しいタスク、または他の問題を検出するためにNLPまたは他の人工知能を使用してメンバーからのあらゆる着信メッセージを処理し得る。いくつかの例では、タスク推奨システム112は、可能なタスクを識別するためにNLPまたは他の人工知能をトレーニングするためにタスクデータストアからの履歴タスクデータと対応するメッセージとを利用し得る。タスク推奨システム112がメンバーに推奨され得る1つまたは複数の可能なプロジェクトおよび/またはタスクを識別する場合、タスク推奨システム112は、代理106にこれらの可能なタスクを提示し得、代理106は、チャットセッションを介してメンバーと共有され得るプロジェクトおよび/またはタスクを選択し得る。
【0097】
[0113]いくつかの例では、タスク推奨システム112が、メンバーと代理106との間で交換されるメッセージに基づいてメンバーに提案され得るプロジェクトを識別する場合、タスク推奨システム112は、代理106に推奨され得るプロジェクトに関連する1つまたは複数のタスクを識別するためにタスク容易化サービス102によって維持されるリソースライブラリを利用することができる。たとえば、タスク推奨システム112が、デンバーに引っ越す準備をしているというメンバーの表示に関係するプロジェクトを識別する場合、タスク推奨システム112は、新しいロケーションへの引っ越しに関連するあらゆるタスクを識別するためにリソースライブラリに問い合わせ得る。いくつかの例では、リソースライブラリへのクエリは、メンバープロファイルからのメンバー属性を含み得る。これにより、タスク推奨システム112は、同様のプロジェクトについて実施されていることがあるあるいは同様のメンバー(たとえば、同様の地理的ロケーションにいるメンバー、現在のメンバーの属性と同様の属性を有するメンバーなど)に提案されていることがあるあらゆるタスクを識別することが可能になり得る。
【0098】
[0114]いくつかの例では、タスク推奨システム112は、識別されたプロジェクトのために代理106に推奨され得るタスクを識別するために機械学習アルゴリズムまたは他の人工知能を使用する。たとえば、タスク推奨システム112は、上述のリソースライブラリから、識別されたプロジェクトに関連付けられ得るあらゆるタスクを識別し得る。タスク推奨システム112は、識別されたタスクのどれがメンバーへの提示のために代理106に推奨され得るのかを決定するために機械学習アルゴリズムまたは他の人工知能を使用して識別されたタスクとメンバープロファイルとを処理し得る。さらに、タスク推奨システム112は、代理106に、タスクの完了のために代理106に委ねるオプションをもつメンバーのために実施される必要があり得るあらゆるタスクを与え得る。たとえば、タスク推奨システム112は、メンバープロファイルに基づいて、メンバーが任意の他の入力を検討または提供する必要なしに代理106にタスクを完全に委任する可能性があると決定する場合、タスク推奨システム112は、(「そのまま実行する(Run With It)」ボタンを通してなど)代理106にタスクの実施を委ねるオプションをメンバーに提示する推奨をもつタスクを代理106に与え得る。
【0099】
[0115]いくつかの例では、タスク推奨システム112は、どのタスクがメンバーに提示され得るのかについての最終的な決定のために代理106にメンバーに推奨され得るタスクのセットのリストを与え得る。上記のように、タスク推奨システム112は、メンバーが、タスク容易化サービス102と提携したサードパーティサービス116または他のサービス/エンティティの実施およびそれらとの調整のための代理への委任のためのタスクを選択する可能性に基づいてタスクのセットのリストをランク付けすることができる。代替的に、タスク推奨システム112は、各タスクの完了のための緊急度のレベルに基づいてタスクのセットのリストをランク付けし得る。たとえば、引っ越し会社の雇用に対応するタスクが公共サービスの調整に対応するタスクより大きい緊急度のものであるとタスク推奨システム112が決定する場合、タスク推奨システム112は、前者のタスクを後者のタスクよりも高くランク付けし得る。
【0100】
[0116]いくつかの例では、タスク推奨システム112が、メンバーと代理106との間で交換されるメッセージに基づいて作成され得るプロジェクトを識別し、タスク推奨システム112が、識別されたプロジェクトに関連する1つまたは複数のタスクを識別する場合、タスク推奨システム112は、代理106を介して、プロジェクトを進めるメンバーの承認を取得するためにプロジェクトの定義と識別されたプロジェクトに関連するタスクとをメンバーに与え得る。たとえば、タスク容易化サービス102によって与えられ、コンピューティングデバイス120を通してアクセスされるアプリケーションまたはウェブポータルを介して、メンバーは、提案されたプロジェクトを進めるべきかどうかを決定するために提案されたプロジェクトと関連するタスクとを検討し得る。メンバーは、プロジェクトの範囲およびプロジェクトの完了のために提案されるタスクのいずれかを定義することを含むプロジェクトおよび/またはプロジェクトに関連する任意のタスクをさらに定義するために代理106と通信し得る。例示的な例として、代理106がプロジェクトに固有の通信セッションを通してメンバーの今度のデンバーへの引っ越しに対応するプロジェクトとこの提案されたプロジェクトに関連するあらゆるタスクとを提案する場合、メンバーは、提案されたプロジェクトと関連するタスクとを検討する(たとえば、タイムラインに関して照会する、予算に関して照会するなどの)ために代理106と通信し得る。代理106とのメンバーの通信に基づいて、代理106および/またはタスク推奨システム112は、プロジェクトの範囲およびあらゆる関連するタスクをさらに定義するためにメンバーに与えられ得るあらゆる質問を識別し得る。たとえば、代理106は、今度のデンバーへの引っ越しに対応するプロジェクトのために必要とされ得る引っ越しサービスの範囲を決定する際に有用であり得るメンバーの既存の自宅の面積の量を示すようにメンバーを促し得る。これらのプロンプトに対するメンバーの応答を通して取得された情報は、メンバープロファイルを補足するために使用され得る。
【0101】
[0117]いくつかの例では、メンバーのために実行されるべき特定のプロジェクトをメンバーが承認すると、タスク推奨システム112は、メンバーからの入力(たとえば、最終期限、所望の優先度など)に基づいてプロジェクトおよび関連するタスクに優先度を割り当てる。たとえば、今度のデンバーへの引っ越しに関連するプロジェクトが車両保守に関係するプロジェクトよりも急を要することをメンバーが示した場合、タスク推奨システム112は、車両保守に関係する他のプロジェクトよりも今度のデンバーへの引っ越しに関連するプロジェクトに優先度を付け得る。これにより、コンピューティングデバイス120を介してメンバーによってアクセスされるアプリケーションまたはウェブポータルに、これらの他のプロジェクトよりも今度のデンバーへの引っ越しに関係するプロジェクトをより顕著に表示させ得る。いくつかの例では、特定のプロジェクトに割り当てられた優先度は、プロジェクトに関連するタスクにさらに割り当てられ得る。たとえば、タスク推奨システム112は、代理106および/またはタスク推奨システム112によって識別される様々なタスクをランク付けする際の別のファクタとしてメンバーのために作成されたプロジェクトの各々の優先度を使用し得る。
【0102】
[0118]プロジェクトに関連するタスクは、代理106がどのタスクをメンバーのために取り組むのかを決定するためにタスク推奨システム112によって使用され得るアクティブキューに追加され得る。たとえば、代理106は、タスク推奨システム112によって実施されるタスクの優先度付けまたはランク付けに基づいてタスクの限定されたセットを提示され得る。タスクの限定されたセットの選択は、所与の時間に代理106によって取り組まれ得るタスクの数を限定し得、これは、代理106がメンバーのタスクリストに取り組むことに大いに悩まされるリスクを低減し得る。
【0103】
[0119]いくつかの例では、タスク容易化サービス102は、メンバーのコンピューティングデバイス120上に実装されたアプリケーションまたはタスク容易化サービス102によって与えられるウェブポータルを介してアクセスされるアプリケーションを介して、メンバーの現在のおよび今度のタスクに対応するタスクリストをメンバーに提示し得る。タスク容易化サービス102は、タスクリストを介して、各タスクのステータス(たとえば、作成済み、進行中、定期、完了済みなど)を与え得る。いくつかの例では、タスク容易化サービス102により、メンバーは、必要に応じてタスクをフィルタ処理することが可能になり得、したがって、メンバーは、どのタスクがアプリケーションまたはウェブポータルを介してメンバーに提示されることになるのかをカスタマイズし、決定することができる。
【0104】
[0120]タスク容易化サービス102は、メンバーの現在のおよび今度のタスクに対応するタスクリストを提示することに加えて、これらのタスクのうちのどれがメンバーにまたは代理106に割り当てられるのかをシグナリングし得る。たとえば、タスク容易化サービス102は、アプリケーションまたはウェブポータルを介してメンバーに提示される各タスクに割当てタグを表示し得る。割当てタグは、対応するタスクがメンバーに割り当てられるのかまたは代理106に割り当てられるのかを明示的に示し得る。追加または代替として、タスクは、色コーディングを使用してアプリケーションまたはウェブポータルを介してメンバーに提示され得、ここにおいて、タスクのために使用される色は、タスクがメンバーに割り当てられるのかまたは代理106に割り当てられるのかをさらに示し得る。例示的な例として、タスクが代理106に割り当てられる場合、タスクは、「代理」属性タグを提示され、タスクが代理106に割り当てられたことをさらに示すためにオレンジ色の色合いを使用してタスクバブル内に提示され得る。代替的に、タスクがメンバーに割り当てられる場合、タスクは、「メンバー」属性タグを提示され、タスクがメンバーに割り当てられたことをさらに示すために緑色の濃淡を使用してタスクバブル内に提示され得る。属性は、属性タグと色インジケータとが例示のために本開示全体にわたって使用されているが、メンバーに割り当てられたタスクと代理106に割り当てられたタスクとを区別するために他の割当てインジケータが利用され得ることに留意されたい。
【0105】
[0121]いくつかの例では、タスク容易化サービス102は、アプリケーションまたはウェブポータルを介して、タスクリストから特定のタスクに関するさらなる情報を取得するオプションをメンバーに与え得る。たとえば、タスクリストを介して提示される各タスクは、タスクに関係するさらなる情報を取得するオプションを含み得る。いくつかの例では、メンバーが特定のタスクのためのさらなる情報を取得するオプションを選択する場合、タスク容易化サービス102は、メンバーのための認知的過負荷の可能性を増加させることなしにどのくらいの情報がメンバーに与えられるべきであるのかを決定するためにメンバープロファイルを評価することができる。たとえば、メンバーが代理106にタスクを委任する傾向を有し、概して、代理106にタスクのすべての態様を委任する場合、タスク容易化サービス102は、タスクに関連する基本情報(たとえば、短いタスクの説明、タスクのための推定完時間など)を与え得る。しかしながら、メンバーが、より詳細を重視し、タスクの完了に高度に関与する場合、タスク容易化サービス102は、タスクに関連するさらなる情報(たとえば、詳細なタスクの説明、タスクを完了するために実施されるステップ、タスクのためのあらゆる予算情報など)を与え得る。いくつかの例では、タスク容易化サービス102は、タスクに関係するどのくらいの情報がメンバー102に提示されなければならないのかを決定するために機械学習アルゴリズムまたは人工知能を利用することができる。たとえば、タスク容易化サービス102は、機械学習アルゴリズムまたは人工知能への入力としてタスクに対応するメンバープロファイルおよびデータを使用し得る。得られた出力は、タスクに関するどんな情報がメンバーに提示されなければならないのかについての推奨を与え得る。いくつかの例では、推奨は、推奨を評価し、選択されたタスクについてどんな情報がメンバーに提示され得るのかを決定し得る代理106に与えられ得る。タスクのための情報がメンバーに与えられるとき、タスク容易化サービス102は、情報の提示に対するメンバーの応答を識別するために代理106とのメンバーの対話を監視し得る。応答は、タスク容易化サービス102のメンバーに提示され得るタスク情報に関するより良い推奨を与えるために機械学習アルゴリズムまたは人工知能をさらにトレーニングするために使用され得る。
【0106】
[0122]いくつかの例では、メンバーは、コンピューティングデバイス120を介して、メンバーのために実施され得るタスクを識別するために使用され得る1つまたは複数のユーザの記録206を提出することができる。たとえば、メンバーは、タスク容易化サービス102に、タスクが作成され得るメンバーエリア202内の問題を示し得るメンバーエリア202の1つまたは複数のデジタル画像をアップロードし得る。例示的な例として、メンバーは、修理を必要とする壊れた幅木の画像をキャプチャし得る。別の例示的な例として、メンバーは、詰まった雨樋の画像をキャプチャし得る。代理106は、これらのデジタル画像を取得し、アップロードされたデジタル画像中に表される問題を解決するために実施され得る1つまたは複数のタスクを手動で識別し得る。たとえば、代理106が壊れた幅木を示すデジタル画像を受信する場合、代理106は、壊れた幅木の修理に対応する新しいタスクを生成し得る。同様に、代理106が詰まった雨樋を示すデジタル画像を受信する場合、代理106は、メンバーの雨樋の清掃に対応するタスクを生成し得る。
【0107】
[0123]ユーザの記録206は、タスクが生成され得る可能な問題に対応するメンバーエリア202内のオーディオおよび/またはビデオ記録をさらに含み得る。たとえば、メンバーは、問題を解決するために実施され得る1つまたは複数のタスクを生成するために使用され得る問題を強調するためにメンバーエリア202の異なる部分のオーディオおよび/またはビデオ記録を生成するためにそのメンバーのスマートフォンまたは他の記録デバイスを利用し得る。例示的な例として、代理106とのチャットセッション中に、メンバーは、そのメンバーのスマートフォンとともにメンバーエリア202を通って歩き得、タスク容易化サービス102によってメンバーが解決されることを望む問題を強調するビデオを記録し得る。メンバーエリア202を通って歩く間に、メンバーは、(たとえば、スマートフォンに話すこと、問題を指摘することなどによって)これらの問題が何であるのか、およびこれらの問題を解決するための可能な命令または他のパラメータ(たとえば、時間枠、予算、緊急度のレベルなど)を示し得る。上記で説明された壊れた幅木の例を使用して、メンバーは、「我々は家を販売する準備しているので、私はすぐにこの幅木を修理させることを望む」と示しながら壊れた幅木を強調するビデオを記録し得る。したがって、このビデオは、壊れた幅木に関係する問題とメンバーがメンバーの自宅を販売するために短い時間枠内で幅木を修理させることの緊急度のレベルとを強調し得る。
【0108】
[0124]メンバーは、コンピューティングデバイス120を介して、ユーザの記録206中にメンバーによって示された問題のいずれかを解決するためにメンバーに推奨され得る任意のタスクを識別するためにユーザの記録206を検討し得る代理106にユーザの記録206を与え得る。たとえば、代理106は、与えられたユーザの記録206を分析し、ユーザの記録206中でメンバーによって識別されたおよび/またはユーザの記録206の代理106の分析に基づいて代理106によって検出された任意の問題を解決するために実施され得るタスクを識別し得る。例示的な例として、メンバーが修理されることを望む壊れた幅木があることをメンバーが示すユーザの記録206をメンバーが与える場合、代理106は、ユーザの記録206に基づいて、メンバーの自宅がシロアリ問題(たとえば、壊れた幅木中のシロアリまたはシロアリ被害の存在)を有し得るとさらに決定し得る。したがって、代理106は、追加の問題を示し、追加の問題を解決するためにタスクを推奨するためにチャットセッションを介してメンバーと通信し得る。
【0109】
[0125]いくつかの例では、代理106は、メンバーのために実施され得る1つまたは複数のタスクを定義する際に代理106を支援するために使用され得る1つまたは複数のユーザの記録206(たとえば、1つまたは複数の画像、オーディオセグメント、ビデオセグメント、英数字列など)を生成するようにメンバーを促し得る。たとえば、メンバーが、チャットセッションを介して、デンバーに引っ越す準備をしていることを示す場合、代理106がこのプロジェクトに関連付けられ得るタスクを識別し得るように、代理106は、メンバーエリア202(たとえば、自宅、アパートなど)に関係する1つまたは複数のユーザの記録206をメンバーが生成することを要求し得る。たとえば、メンバーによって与えられたユーザの記録206を使用して、代理106は、メンバーエリア202の面積を決定すること、プロジェクトの完了のためのあらゆる特殊な引っ越し要件(たとえば、壊れ物のための特殊な引っ越し命令、保険など)を識別すること、プロジェクトのために解決される必要があり得るあらゆる修理または保守項目を識別することなどを行い得る。いくつかの例では、代理106は、メンバーのために実施されることになるタスクを定義する際に使用され得る1つまたは複数のタスクパラメータを識別するためにユーザの記録206を使用し得る。たとえば、メンバーの壊れた幅木を修理することに関係する新しいタスクをメンバーが手動で入力した場合、代理106は、修理されることになっている幅木のタイプ、修理の範囲、修理のための時間枠などを識別するために壊れた幅木に関連するあらゆるユーザの記録206を使用し得る。
【0110】
[0126]いくつかの例では、代理106は、メンバーに推奨され得る任意のプロジェクトおよび/またはタスクを識別するためにタスク推奨システム112にメンバーによって提出されたユーザの記録206を与えることができる。上記のように、タスク推奨システム112は、実施のためにメンバーに推奨され得るタスクのセットを識別するために機械学習アルゴリズムまたは人工知能への入力としてメンバー固有のデータ(たとえば、特性、人口統計、ロケーション、推奨および提案に対する過去の応答など)、同様の状況にあるメンバーに対応するデータ、およびメンバーおよび他の同様の状況にあるメンバーのために前に実施されたタスクに対応する履歴データを使用し得る。さらに、タスク推奨システム112は、メンバーに推奨され得る何らかの可能なタスクを識別するためにメンバーによって与えられたユーザの記録206を処理するためにコンピュータビジョン、NLP、および/または他の人工知能を利用し得る。たとえば、(ビデオ記録を処理するためにコンピュータビジョンまたは他の人工知能を使用する)タスク推奨システム112が、損傷された幅木に加えて、メンバーが幅木内にシロアリ問題を経験していることがあることを検出する場合、タスク推奨システム112は、検出されたシロアリの根絶に対応するタスクを推奨し得る。
【0111】
[0127]別の例として、メンバーが、ユーザの記録206中で、「この部屋を塗装することについて考えていたが、それを行うための時間がまだ見つからない」と述べる場合、タスク推奨システム112は、識別された部屋の塗装に関係する可能なタスクを識別するためにNLPまたは他の人工知能を利用し得る。ユーザの記録206を使用して、タスク推奨システム112は、塗装タスクに関連する1つまたは複数のパラメータ(たとえば、必要とされ得る塗料の量、メンバーに推奨され得る色、塗装タスクの完了のための可能な予算など)を識別するために識別された部屋(たとえば、面積、部屋中の家具、部屋中の照明など)を評価するためにコンピュータビジョンまたは他の人工知能をさらに利用し得る。したがって、タスク推奨システム112は、可能なタスクとこれらの識別された可能なタスクに関連するパラメータとを識別するためにユーザの記録206を処理するためにコンピュータビジョン、NLP、および/または他の機械学習アルゴリズムもしくは人工知能を利用し得る。
【0112】
[0128]いくつかの例ではまた、タスク容易化サービス102は、メンバーエリア202内の様々なIoTデバイスおよび/またはセンサ208からタスク関連のデータを取得することができる。たとえば、メンバーが、メンバーの暖房、換気、および空調(HVAC)システムの実施を監視するスマートサーモスタットをメンバーエリア202内に維持する場合、スマートサーモスタットは、HVACシステムの実施および保守に関係するデータをタスク容易化サービス102に送信し得る。たとえば、スマートサーモスタットは、メンバーがメンバーエリア202内でエアフィルタを変更することが推奨されることを示す通知をタスク容易化サービス102に送信し得る。別の例として、スマートサーモスタットは、HVACシステムに関係する障害または他の問題(たとえば、炉の機能不全、コンプレッサの破損など)を示すために通知を送信し得る。さらに、スマートサーモスタットは、メンバーエリア202中の環境に関係するデータ(たとえば、温度の読取り値、湿度レベルの読取り値、エネルギー使用量の読取り値など)を送信し得る。
【0113】
[0129]タスク容易化サービス102は、メンバーに推奨され得る何らかの潜在的なタスクを識別すること、および/または既存のタスク(たとえば、メンバーエリア202中の温度を維持することに関係する循環タスク、部屋内で特定の光レベルを維持することに関係するタスクなど)をサポートすることを行うために様々なIoTデバイスおよび/またはセンサ208からのタスク関連のデータを利用し得る。たとえば、タスク容易化サービス102が、メンバーのHVACシステムのためのエアフィルタをメンバーが交換する時期であるという通知をメンバーエリア202内のIoTデバイスから受信する場合、タスク容易化サービス102は、タスク推奨システム112を介して、メンバーの既存のエアフィルタの交換について代理106に提示され得るタスク推奨を自動的に生成し得る。別の例として、タスク容易化サービス102が、メンバーのHVACシステムが故障した(たとえば、炉の機能不全、コンプレッサの破損など)という通知を1つまたは複数のIoTデバイスおよび/またはセンサ208から受信する場合、タスク推奨システム112は、メンバーのHVACシステムを修理するために代理106に提示され得るタスク推奨を自動的に生成し得る。メンバーへのタスクと対応するパラメータとの提示は、上記で説明されたように、代理106および/またはタスク推奨システム112によって決定され得る。
【0114】
[0130]いくつかの例では、タスク容易化システム102は、メンバーエリア202内の様々なIoTデバイスおよび/またはセンサ208と、メンバーによって利用されるアプリケーション(たとえば、スマートフォンアプリケーションなど)と、タスク容易化サービス102との間の通信を有効化するために使用され得るデータモデルを実装する。データモデルは、様々なIoTデバイスおよび/またはセンサ208と、メンバーによって利用されるアプリケーションと、タスク容易化サービス102との間での共通のデータ表現を与え得る。たとえば、メンバーエリア202内の照明設備、ブラインド、煙探知器、およびテレビジョンはすべて、周辺光センサを含み得る。これらのデバイスの各々は、センサの読取り値の同じデータ表現を利用し得、これにより、タスク容易化サービス102は、自動化された照明調整アルゴリズムを介して、デバイスタイプに関する問題なしにすべてのデバイスからのこれらのセンサの読取り値を処理することが可能になり得る。さらに、アルゴリズムへのいかなる変更もなしに入力への寄与のために新しいデバイスの追加が可能であり得る。
【0115】
[0131]いくつかの例では、様々なIoTデバイスおよび/またはセンサ208ならびにエコシステム中のすべての他のデバイスおよびサービス(たとえば、メンバーのモバイルデバイス、タスク容易化サービス102など)は、それがいかなるデバイス通信の間でもデータ変換の必要がないことを保証するためにデータモデルを利用する。例示的な例として、メンバーは、任意のロケーションからIoTデバイスを制御するためにローカルネットワークを介してまたはタスク容易化サービス102を介してIoTデバイスと通信するためにメンバーのモバイルデバイス上のアプリケーションを利用し得る。IoTデバイスおよび/またはセンサ208と、これらのIoTデバイスおよび/またはセンサ208を制御するためにメンバーのコンピューティングデバイス120上に実装されたアプリケーションと、タスク容易化サービス102とは、したがって、エコシステムのこれらの要素の間の通信を可能にするためにデータモデルに依拠し得る。
【0116】
[0132]いくつかの例では、タスク容易化サービス102は、各IoTデバイスおよび/もしくはセンサ208、アプリケーション、または任意の他のアクター(たとえば、特徴をホストするクラウドサービスなど)に一意の識別子を割り当てるためにデータモデルを使用することができる。タスク容易化サービス102は、いくつかの特徴を容易にするためにデバイスの論理グルーピングを生成するためにこれらの一意の識別子を利用し得る。これらの論理グルーピングは、ロケーション(たとえば、ベッドルーム、キッチンなど)および/または空間(たとえば、屋内、屋外、車両など)に基づいて生成され得る。これらのグループ化は、グループ制御を可能にし得る。たとえば、メンバーが眠るためにベッドルームを準備するタスクを提出する場合、タスク容易化システム102は、ベッドルームに関連するデバイスを識別し、眠る準備のためにメンバーによって定義された任意の動作を実施し得る。これらのグループは、データ分析をさらに可能にし得、それによって、タスク容易化サービス102は、周囲の環境に関する決定を行うために論理グルーピング中のデバイスからの読取り値を使用し得る。たとえば、メンバーのリビングルーム中のデバイスからの読取り値に基づいて、タスク容易化サービス102は、窓が開かれている可能性があるのかどうかを決定し、メンバーのHVACシステムの実施に影響を及ぼし得る。
【0117】
[0133]いくつかの例では、タスク容易化サービス102は、データモデルを介して、すべてのパブリッシュされたデータがデータの生成の時間を指定するメタデータを含むことになることを指示することができる。これは、データのパブリケーションの何らかの遅延がこのデータに依拠する任意のアルゴリズムをスキューしないことを保証し得る。たとえば、占有データを生成するデバイスが短い期間の間ネットワーク接続性を喪失する場合、この短い期間中に生成されたデータは、メタデータとして、占有イベントが発生した時間に対応するタイムスタンプを含み得る。データは、保存され、接続性が復元されるとすぐにパブリッシュされ得る。これにより、このデータの消費者は、これらの占有イベントがいつ発生したのかを決定し、相応に反応することが可能になる。
【0118】
[0134]いくつかの例では、タスク容易化サービス102によって実装されたデータモデルはまた、すべてのパブリッシュされたデータのための連続番号付けシステムを与える。この連続番号付けシステムは、データの何らかの損失を検出し、何らかの損失データを取り出す機構を与え得る。たとえば、データが移動中に損失された場合、データの消費者は、データの損失を示し得る番号付けのギャップを検出することが可能であり得る。データモデルは、何らかの欠落したデータの再発行することを要求するためにデータの消費者にプロトコルを与え得る。たとえば、消費者は、消費者によって取得されたデータのギャップに対応する数を有する何らかのデータを取り出すことを求める要求をIoTデバイスおよび/またはセンサに提出し得る。
【0119】
[0135]いくつかの例では、代理106は、タスク容易化サービス102によって与えられたアプリケーションまたはウェブポータルを介してメンバーに提示される所与のタスクの完了のために1つまたは複数の提案を生成することができる。提案は、所与のタスクを調査する間に代理106によって作成および/または収集され得るメンバーに提示される1つまたは複数のオプションを含み得る。いくつかの例では、代理106は、これらの1つまたは複数の提案を生成するために使用され得る1つまたは複数のテンプレートを与えられ得る。たとえば、タスク容易化サービス102は、異なるタスクタイプのための提案テンプレートを維持し得、それによって、特定のタスクタイプのための提案テンプレートは、タスクタイプに関連する様々なデータフィールドを含み得る。例示的な例として、誕生会を計画することに関連するタスクの場合、代理106は、イベントプランニングに対応する提案テンプレートを利用し得る。イベントプランニングに対応する提案テンプレートは、会場オプション、ケータリングオプション、エンターテインメントオプションなどに対応するデータフィールドを含み得る。
【0120】
[0136]いくつかの例では、提案テンプレート内のデータフィールドは、どんな情報が提案中でメンバーに提示されるかについて決定する能力を代理106に与えるためにオンまたはオフにトグルされ得る。たとえば、パーティのためにボールルームジャンプハウスをレンタルすることに関連するタスクの場合、対応する提案テンプレートは、レンタル会社のロケーション/住所、レンタル会社の業務時間および利用可能性、推定コスト、レンタル会社の評価/レビューなどに対応するデータフィールドを含み得る。代理106は、メンバーの選好についての代理の知識に基づいて、これらのデータフィールドのいずれかをオンまたはオフにトグルし得る。たとえば、代理106は、メンバーとの関係を確立しており、それによって、代理106がメンバーのタスクのために評判が良い会社を選択するのをメンバーが信用することを代理106が高信頼度で知っている場合、代理106は、提案テンプレートから対応する会社のための評価/レビューに対応するデータフィールドをオフにトグルし得る。同様に、メンバーが提案の目的でレンタル会社のロケーション/住所に関心がないことを代理106が知っている場合、代理106は、提案テンプレートから対応する会社のためのロケーション/住所に対応するデータフィールドをオフにトグルし得る。いくつかのデータフィールドが提案テンプレート内でオフにトグルされ得るが、代理106は、本明細書でより詳細に説明されるように、提案のリソースライブラリを補足するためにタスク容易化サービス102によって使用され得る追加情報を与えるためにこれらのデータフィールドを完了し得る。
【0121】
[0137]いくつかの例では、タスク容易化サービス102は、提案中でメンバーに提示され得るデータフィールドに関する代理106のための推奨を生成するために機械学習アルゴリズムまたは人工知能を利用する。たとえば、タスク容易化サービス102は、機械学習アルゴリズムまたは人工知能への入力として、メンバーに関連するメンバープロファイルまたはモデル、メンバーのための履歴タスクデータ(たとえば、前に完了したタスク、提案が与えられたタスクなど)、および提案が生成されているタスクに対応する情報(たとえば、タスクのタイプまたはカテゴリなど)を使用し得る。機械学習アルゴリズムまたは人工知能の出力は、提案テンプレートのどのデータフィールドがオンまたはオフにトグルされなければならないのかを定義し得る。たとえば、メンバープロファイルまたはモデル、メンバーのための履歴タスクデータ、および提案が生成されているタスクに対応する情報の評価に基づいて、メンバーが会社の評価/レビューに関係する情報を閲覧することにも会社のロケーション/住所に関係する情報を閲覧することにも関心がない可能性があるとタスク容易化サービス102が決定する場合、タスク容易化サービス102は、提案テンプレートからこれらのデータフィールドを自動的にオフにトグルし得る。タスク容易化サービス102は、いくつかの例では、提案中でメンバーにこれらのデータフィールドを提示する能力を代理106に与えるためにこれらのデータフィールドをオンにトグルするオプションを保持し得る。たとえば、タスク容易化サービス102が、特定の会社からのバルーンジャンプハウスのレンタルのための推定コストに対応するデータフィールドを自動的にオフにトグルしたが、メンバーが、関与する可能なコストへの関心を表した場合、代理106は、推定コストに対応するデータフィールドをオンにトグルし得る。
【0122】
[0138]いくつかの例では、提案がメンバーに提示されるとき、タスク容易化サービス102は、機械学習アルゴリズムまたは人工知能をさらにトレーニングするために使用され得るデータを取得するために代理106および提案とのメンバーの対話を監視し得る。たとえば、代理106は、機械学習アルゴリズムまたは人工知能によって生成された推奨に基づいて特定の会社のためのいかなる評価/レビューなしに提案を提示し、メンバーは、(たとえば、代理106へのメッセージを通して、特定の会社のための評価/レビューを閲覧する提案中のオプションの選択を通してなど)メンバーが特定の会社の評価/レビューに関心があることを示す場合、タスク容易化サービスは、同様のタスクまたはタスクタイプのために選択された会社の評価/レビューの提示を推奨する可能性を増加させるために機械学習アルゴリズムまたは人工知能をさらにトレーニングするためにこれらのフィードバックを利用し得る。
【0123】
[0139]いくつかの例では、タスク容易化サービス102は、タスク調整システム114を介して、特定の提案テンプレートの1つまたは複数のデータフィールドを自動的にポピュレートするために使用され得るリソースライブラリを維持する。リソースライブラリは、特定のタスクもしくはタスクタイプに関係する提案または、そうでない場合、特定のタスクもしくはタスクタイプに関連付けられる提案のために代理によって前に使用された会社および/または製品に対応するエントリを含み得る。たとえば、ワシントン州リンウッドの近くで屋根を修理することに関係するタスクに関する提案を代理106が生成するとき、タスク調整システム114は、タスクのために代理106によって選択される屋根工事業者に関連する情報を取得し得る。タスク調整システム114は、リソースライブラリ中に屋根工事業者に対応するエントリを生成し、「屋根の修理」および「ワシントン州リンウッド」にこのエントリを関連付け得る。したがって、ワシントン州リンウッドの近く(たとえば、ワシントン州エヴェレット)に位置するメンバーのための屋根を修理することに対応するタスクを別の代理が受信する場合、他の代理は、ワシントン州リンウッドの近くの屋根工事業者についてリソースライブラリに問い合わせ得る。リソースライブラリは、クエリに応答して、代理106によって前に選択された屋根工事業者に対応するエントリを戻し得る。他の代理がこの屋根工事業者を選択する場合、タスク調整システム114は、リソースライブラリから屋根工事業者のために利用可能な情報で提案テンプレートのデータフィールドを自動的にポピュレートし得る。
【0124】
[0140]いくつかの例では、タスク容易化サービス102は、提案の準備に関係していることがある任意のリソースを動的に識別するためにメンバー118に関連するメンバープロファイルと、選択された提案テンプレートと、リソースライブラリとを自動的に処理するために機械学習アルゴリズムまたは人工知能を利用することができる。機械学習アルゴリズムまたは人工知能は、教師つきトレーニング技法を使用してトレーニングされ得る。たとえば、サンプルメンバープロファイルと、提案テンプレートおよび/またはタスクと、利用可能なリソース(たとえば、サードパーティのサービス、他のサービス/エンティティ、小売業者、商品などに対応するエントリ)と、完了した提案とのデータセットは、機械学習モデルのトレーニングのために選択され得る。機械学習モデルは、機械学習モデルに供給されるサンプル入力に基づいて、機械学習モデルが提案の提示のための提案テンプレートを自動的に完了するために使用され得る適切なリソースを識別しているのかどうかを決定するために評価され得る。この評価に基づいて、機械学習モデルは、機械学習モデルが所望の結果を生成する可能性を高めるために修正され得る。機械学習モデルは、リソースライブラリからのリソースの識別とこれらのリソースを使用してタスク容易化サービス102によって自動的に生成される提案とに関するタスク容易化サービスの代理およびメンバーからのフィードバックを要請することによってさらに動的にトレーニングされ得る。たとえば、タスク容易化サービス102が、メンバー118に関連するメンバープロファイルとリソースライブラリからの選択されたリソースとに基づいて、メンバー118に訴求していない提案(たとえば、提案がタスクに関係していない、提案がメンバー118に利用可能でないリソースに対応している、提案がメンバー118が承認しないリソースを含むなど)を生成する場合、タスク容易化サービス102は、同様のリソースおよび提案が同様の状況にあるメンバーのために生成される可能性を低減するためにこのフィードバックに基づいて機械学習アルゴリズムまたは人工知能を更新し得る。
【0125】
[0141]代理106は、提案テンプレートを介して、タスクの完了のために使用され得る会社および/または製品のための追加の提案オプションを生成し得る。たとえば、特定の提案について、代理106は、代理106がタスクの完了のための推奨している会社または製品に対応し得る推奨されるオプションを生成し得る。さらに、追加のオプションまたは選択肢をメンバーに与えるために、代理106は、タスクを完了し得る他の会社または製品に対応する追加のオプションを生成することができる。いくつかの例では、メンバーが代理106にタスクの完了に関する意思決定を委任したことを代理106が知っている場合、代理106は、推奨されるオプションの外の追加の提案オプションの生成を控え得る。しかしながら、代理106は、メンバーに、タスクのステータスに関する情報をメンバーに欠かさないようにするためにタスクの完了のために選択された提案オプションを依然として提示し得る。
【0126】
[0142]いくつかの例では、代理106が提案テンプレートの使用を介して提案を定義することを完了すると、タスク容易化サービス102は、タスク容易化サービス102によって与えられたアプリケーションまたはウェブポータルを通してメンバーに提案を提示し得る。いくつかの例では、代理106は、提案が特定のタスクのために準備されたことおよび提案がタスク容易化サービス102によって与えられたアプリケーションまたはウェブポータルを介したレビューの準備ができていることを示すためにメンバーに通知を送信し得る。メンバーに提示される提案は、提案が準備されたタスク、ならびにメンバーに与えられている1つまたは複数のオプションの表示を示し得る。たとえば、提案は、推奨される提案オプションと特定のタスクのために代理106によって準備された他のオプション(もしあれば)とへのリンクを含み得る。これらのリンクにより、メンバーは、アプリケーションまたはウェブポータルを介して代理106によって準備された1つまたは複数のオプションの間をナビゲートすることが可能になり得る。
【0127】
[0143]提案オプションごとに、メンバーは、代理106によって選択された会社(たとえば、タスク容易化サービス102に関連するサードパーティサービスもしくは他のサービス/エンティティ)または製品に対応する情報と、提案テンプレートを介した代理106による提示のために選択されたデータフィールドに対応する情報とを提示され得る。たとえば、メンバーの自宅の屋根検査に関連するタスクの場合、代理106は、特定の屋根工事業者(たとえば、提案オプション)のために、屋根工事業者のための1つまたは複数のレビューまたは証言、メンバーのタスク完了時間枠の対象となる屋根工事業者の料金および利用可能性(もしあれば)、屋根工事業者のウェブサイト、屋根工事業者の連絡先情報、任意の推定コスト、およびメンバーがタスクのためにこの特定の屋根工事業者を選択しなければならない場合における代理106の次のステップの表示を提示し得る。いくつかの例では、メンバーは、特定の提案に関連するどんな詳細またはデータフィールドがアプリケーションまたはウェブポータルを介して提示されるのかを選択し得る。たとえば、提案オプションごとに推定総額をメンバーが提示され、提案オプションごとに推定総額を検討することにメンバーが関心がない場合、メンバーは、アプリケーションまたはウェブポータルを介して提案からこの特定のデータフィールドをオフにトグルし得る。代替的に、各提案オプションに関するさらなる詳細(たとえば、追加のレビュー、追加の会社または製品情報など)を検討することにメンバーが関心がある場合、メンバーは、このさらなる詳細が提案を介して提示されることを要求し得る。
【0128】
[0144]いくつかの例では、与えられた提案とのメンバーの対話に基づいて、タスク容易化サービス102は、どんな情報がメンバーに提示されなければならないのかと、どんな情報が同様のタスクまたはタスクタイプの場合に同様の状況にあるメンバーに提示されなければならないのかとを決定または推奨するために使用される機械学習アルゴリズムまたは人工知能をさらにトレーニングすることができる。上記のように、タスク容易化サービス102は、提案中でメンバーに提示され得るデータフィールドに関する代理106のための推奨を生成するために機械学習アルゴリズムまたは人工知能を使用し得る。タスク容易化サービス102は、特定のタスクに関する提案で提示される情報に関するメンバーの選好を決定するために提案とのメンバーの対話を監視または追跡し得る。さらに、タスク容易化サービス102は、メンバーの選好をさらに識別するために提案に関係するメンバーと代理106との間で交換されるあらゆるメッセージを監視または追跡し得る。たとえば、提案中に指定される会社の各々によって提供されるサービスに関するさらなる情報を参照することをメンバーが望むことを示すメッセージをメンバーが代理106に送る場合、タスク容易化サービス102は、メンバーが特定のタスクまたはタスクタイプに関連する会社によって提供されるサービスに関する追加情報を参照したいと望み得ると決定し得る。いくつかの例では、タスク容易化サービス102は、メンバーの選好を識別するために代理106によって与えられた提案に関するメンバーからのフィードバックを要請し得る。提案に関する代理106とのメンバーの対話または提案自体とのメンバーの対話を通して得られるこのフィードバックおよび情報は、メンバーにおよび同様のタスクまたはタスクタイプの場合に提案中で同様の状況にあるメンバーに提示されなければならない情報のためのより正確なまたはより改善された推奨を与えるために機械学習アルゴリズムまたは人工知能を再トレーニングするために使用され得る。
【0129】
[0145]いくつかの例では、メンバーに提示される各提案は、各提案オプションに関連するあらゆるコストを指定し得る。これらのコストは、関連するタスクまたはプロジェクトの要件に基づいて異なるフォーマットで提示され得る。たとえば、タスクまたはプロジェクトが航空券の購入に対応する場合、対応する提案のための各提案オプションは、航空券の固定価格を提示し得る。別の例示的な例として、代理106は、提案オプションごとに、選択されたオプション(たとえば、「パーティのためにハロウィン装飾に最高150ドルを費やすつもり」)に従ってタスクの完了のために予算を与えることができる。さらに別の例示的な例として、支払いスケジュールが関与し得るタスクまたはプロジェクトについて、タスクまたはプロジェクトに関係する提案のための提案オプションは、これら提案オプションの各々のための支払いスケジュール(たとえば、「最初の協議のための100ドルと後に続くサービスのための300ドル」、「会場を予約するための1,500ドルの前金とイベント後の1,500ドルの使用料」など)を指定し得る。
【0130】
[0146]メンバーが、タスクまたはプロジェクトのための特定の提案オプションを受け入れる場合、代理106は、メンバーが特定の提案オプションのための提示されたコストとあらゆる関連する税および料金との支払いに同意していることを保証するためにメンバーと通信し得る。いくつかの例では、提案オプションが静的な支払い額(たとえば、固定価格、「最高Xドル」、静的な額をもつ段階的な支払いスケジュールなど)を用いて選択される場合、提案オプションの履行に必要な実際の支払い額が最初に提示された静的な支払い額を超えてしきい値割合または額を超える場合、メンバーは、代理106によって通知され得る。たとえば、メンバーが選択された提案オプション中に指定されているコストの120%より多く費やす必要があり得ると代理106が決定する場合、代理106は、提案オプションを進める前に支払い額を再確認するようにメンバーに通知を送信し得る。
【0131】
[0147]いくつかの例では、提示された提案からの提案オプションをメンバーが受け入れる場合、タスク容易化サービス102は、提示された提案に関連するタスクを実行状態に移動し、代理106は、選択された提案オプションに従って提案を実行することに進むことができる。たとえば、代理106は、メンバーによって受け入れられた提案において定義されているパラメータに従ってタスクの実施を調整するために1つまたは複数のサードパーティサービス116に連絡し得る。
【0132】
[0148]いくつかの例では、代理106は、メンバーによって受け入れられた提案において定義されているパラメータに従ってタスクの実施の調整を支援するためにタスク調整システム114を利用する。たとえば、サードパーティサービス116との調整が自動的に実施され得る場合(たとえば、サードパーティサービス116が発注、スケジューリング、支払いのための自動化されたシステムを与えるなど)、タスク調整システム114は、選択された提案オプションに従ってタスクの実施を調整するためにサードパーティサービス116と直接対話し得る。タスク調整システム114は、代理106に任意の情報(たとえば、確認、発注ステータス、予約ステータスなど)を与え得る。代理106は、次に、タスク容易化サービス102にアクセスするためにメンバーによって利用されるアプリケーションまたはウェブポータルを介してメンバーにこの情報を与え得る。代替的に、代理106は、サードパーティサービス116が選択された提案オプションに従ってタスクの実施を開始したことを示すために他の通信方法(たとえば、電子メールメッセージ、テキストメッセージなど)を介してメンバーに情報を送信し得る。代理106がメンバー118のためにタスクを実施している場合、代理106は、タスク容易化サービス102によって与えられたアプリケーションまたはウェブポータルを介してメンバー118にタスクの代表の実施に関するステータス更新を与え得る。
【0133】
[0149]いくつかの例では、タスク調整システム114は、メンバーのためにタスク容易化サービス102に関連する代理106、サードパーティサービス116、および/または他のサービス/エンティティによるタスクの実施を監視することができる。たとえば、タスク調整システム114は、タスクの実施のための時間枠、タスクの実施に関連するコスト、タスクの実施に関するあらゆるステータス更新などに関してサードパーティサービス116によって与えられたあらゆる情報を記録し得る。タスク調整システム114は、この情報を実施されているタスクに対応するデータレコードに関連付け得る。サードパーティサービス116によって与えられたステータス更新は、タスク容易化サービス102によって与えられるアプリケーションまたはウェブポータルを介してメンバーにおよび代理106に自動的に与えられ得る。代替的に、ステータス更新は、特定のタスク/プロジェクトのためにメンバーと代理106との間に確立されるチャットセッションを介してまたは他の通信方法を通してメンバーにこれらのステータス更新を与え得る代理106に与えられ得る。いくつかの例では、タスクが代理106によって実施されることになる場合、タスク調整システム114は、代理106によるタスクの実施を監視し、アプリケーションまたはウェブポータルを介してメンバーに代理106によって与えられたあらゆる更新を記録し得る。
【0134】
[0150]タスクが完了すると、メンバーは、メンバーによって選択された提案オプションに従ってタスクを実施したタスク容易化サービス102に関連する代理106および/もしくはサードパーティサービス116、ならびに/または他のサービス/エンティティの実施に関するフィードバックを与え得る。たとえば、メンバーは、タスクの完了に関するメンバーのフィードバックを示すために完了されている特定のタスク/プロジェクトに対応するチャットセッションを介して代理106と1つまたは複数のメッセージを交換し得る。たとえば、メンバーは、どのようにタスクが完了したのかについてメンバーが喜んでいることを示し得る。メンバーは、追加または代替として、タスクの実施についての改善のエリアを示すフィードバックを与える。たとえば、メンバーが、タスクの実施のための最終的なコストに満足しないおよび/または実施の品質(たとえば、適時性、成果物の品質、サードパーティサービス116のプロフェッショナリズムなど)に関する何らかの入力を有する場合、メンバーは、代理106への1つまたは複数のメッセージ中でそのように示し得る。いくつかの例では、タスク容易化サービスは、提案オプションのためのタスク容易化サービス102によって与えられる推奨、サードパーティサービス116もしくは他のサービス/エンティティ、および/または同様のタスクの完了のために実施され得るプロセスを改善するためにメンバーによって与えられたフィードバックを処理するために機械学習アルゴリズムまたは人工知能を使用する。たとえば、メンバーが特定のタスクについてサードパーティサービス116または他のサービス/エンティティによって与えられた結果に満足していないことをタスク容易化サービス102が検出する場合、タスク容易化サービス102は、サードパーティサービス116または他のサービス/エンティティが同様のタスクのためにおよび同様の状況にあるメンバーに推奨される可能性を低減するために機械学習アルゴリズムまたは人工知能をさらにトレーニングするためにこのフィードバックを利用し得る。別の例として、メンバーが特定のタスクのために代理106によって与えられた結果に喜んでいることをタスク容易化サービス102が検出する場合、タスク容易化サービス102は、同様のタスクのためにおよび/または同様の状況にあるメンバーのために代理によって実施される動作を補強するために機械学習アルゴリズムまたは人工知能をさらにトレーニングするためにこのフィードバックを利用し得る。
【0135】
[0151]
図3は、本開示の態様による、タスク推奨システム112がメンバー118のために実施されることになるタスクの推奨を生成し、ランク付けする環境300の例示的な例を示す。環境300では、メンバー118および/または代理106は、メンバー118のために実施され得る新しいタスクまたはプロジェクトを生成するためにタスク推奨システム112のタスク作成サブシステム302と対話する。タスク作成サブシステム302は、コンピュータシステムを使用して、またはタスク推奨システム112のコンピュータシステム上に実装されたアプリケーションもしくは他の実行可能コードとして実装され得る。
【0136】
[0152]いくつかの例では、メンバー118は、タスク容易化サービスによって実装されるオンボーディングプロセスの部分として1つまたは複数のタスクの作成を要求するためにタスク作成サブシステム302にアクセスすることができる。たとえば、オンボーディングプロセス中に、メンバー118は、メンバー118が代理106に場合によっては委任することを望む1つまたは複数のタスクに関係する情報を与えることができる。タスク作成サブシステム302は、タスクの実施のためにメンバー118が代理106に委任することを望むタスクに関係するパラメータを識別するためにこの情報を利用し得る。たとえば、これらのタスクに関係するパラメータは、これらのタスクの性質(たとえば、雨樋の清掃、一酸化炭素検出器の設置、パーティのプランニングなど)、これらのタスクの完了のための緊急度のレベル(たとえば、タイミング要件、最終期限、今度のイベントに対応する日付など)、これらのタスクの完了のためのあらゆるメンバー選好などを指定し得る。タスク作成サブシステム302は、オンボーディングプロセス中にメンバー118に割り当てられると代理106に提示され得るタスクを自動的に作成するためにこれらのパラメータを利用し得る。
【0137】
[0153]メンバー118は、オンボーディングプロセスの完了後の任意の時間に新しいタスクまたはプロジェクトを生成するためにタスク作成サブシステム302にさらにアクセスし得る。たとえば、タスク容易化サービスは、タスク容易化サービスのアプリケーションまたはウェブポータルを介して、メンバー118が新しいタスクまたはプロジェクトを手動で生成し得るウィジェットまたは他のユーザインターフェース要素を与え得る。いくつかの例では、タスク作成サブシステム302は、新しいタスクまたはプロジェクトを生成するためにメンバー118によって使用され得る様々なタスクテンプレートを与える。タスク作成サブシステム302は、タスクデータストア110中に、異なるタスクタイプまたはカテゴリのためのタスクテンプレートを維持し得る。各タスクテンプレートは、タスクを定義するための異なるデータフィールドを含み得、それによって、異なるタスクフィールドは、定義されているタスクのためのタスクタイプまたはカテゴリに対応し得る。メンバー118は、処理のためにタスク作成サブシステム302または代理106に提出され得るタスクを定義するためにこれらの異なるタスクフィールドを介してタスク情報を与え得る。タスクデータストア110は、いくつかの例では、リソースライブラリに関連付けられ得る。このリソースライブラリは、新しいタスクの作成のために様々なタスクテンプレートを維持し得る。
【0138】
[0154]タスクテンプレートは、特定のタスクカテゴリに関連付けられ得る。特定のタスクテンプレート内の複数のタスク定義フィールドは、タスクテンプレートに割り当てられたタスクカテゴリに関連付けられ得る。たとえば、車両保守タスクに対応するタスク定義フィールドは、メンバーの車両の型およびモデル、車両の使用年数、最後に車両を保守した時に対応する情報、車両に関連するあらゆる報告された事故、車両に関連するあらゆる問題の説明などを定義するために使用され得る。いくつかの例では、特定のタスクテンプレートにアクセスするメンバーは、メンバーがタスクを定義し、完了する際に有用であり得る追加情報を供給し得るタスクテンプレートのためのカスタムフィールドをさらに定義し得る。これらのカスタムフィールドは、タスクテンプレートに追加され得、したがって、メンバーおよび/または代理が同様のタスクを作成するために将来タスクテンプレートを取得する場合、これらのカスタムフィールドが、メンバーおよび/または代理に利用可能であり得る。
【0139】
[0155]いくつかの例では、新しいタスクを手動で定義するためにメンバー118によって使用されるタスクテンプレート中に提示されるデータフィールドは、人工知能の機械学習アルゴリズムを使用して生成された決定に基づいて選択され得る。たとえば、タスク作成サブシステム302は、機械学習アルゴリズムまたは人工知能への入力として、新しいタスクまたはプロジェクトの定義のためにメンバー118に提示されるときにどのデータフィールドがタスクテンプレートから省略され得るのかを識別するためにユーザデータストア108からのメンバープロファイルとタスクデータストア110からの選択されたタスクテンプレートとを使用することができる。たとえば、メンバー118が、代理106に保守タスクを委任することが知られており、予算の検討に無関心である場合、タスク作成サブシステム302は、メンバー118に、具体的に、タスクの完了のために命令を定義し得るあらゆる予算関連のデータフィールドおよび他のデータフィールドを省略するタスクテンプレートを提示し得る。いくつかの例では、タスク作成サブシステム302により、メンバー118は、タスクテンプレートのためのデータフィールドを追加、除去、および/または修正することが可能になり得る。たとえば、タスク作成サブシステム302が、メンバープロファイルの評価に基づいてタスクのための予算に対応するデータフィールドを除去する場合、メンバー118は、メンバー118がタスクのための予算を定義することを可能にするためにタスクテンプレートにデータフィールドを追加させることを要求し得る。タスク作成サブシステム302は、いくつかの例では、メンバー118が新しいタスクを定義するためにタスクテンプレートにいかなる修正も行う必要なしにメンバー118にタスクテンプレートを与える可能性を改善するために機械学習アルゴリズムまたは人工知能を再トレーニングするためにタスクテンプレートにこのメンバー変更を利用し得る。
【0140】
[0156]いくつかの例では、メンバーが体験に関連するタスクの作成のために特定のタスクテンプレートを選択する場合、タスク作成サブシステム402は、選択されたタスクテンプレートをポピュレートするために使用され得るメンバープロファイルの部分を自動的に識別することができる。たとえば、メンバーがレストランに出かけた晩に対応するタスクテンプレートを選択する場合、タスク作成サブシステム402は、メンバーによって選択されるタスクテンプレート内の1つまたは複数のフィールドをポピュレートするために使用され得るメンバーの食事の選好および制限に対応するあらゆる情報を識別するためにメンバープロファイルを自動的に処理し得る。メンバーは、これらのデータフィールドが正確にポピュレートされたことを保証するためにこれらの自動的にポピュレートされたデータフィールドを検討し得る。メンバーが、自動的にポピュレートされたデータフィールド内の情報に何らかの変更を行う場合、タスク作成サブシステム402は、これらの変更を組み込むためにメンバープロファイルを自動的に更新するためにこれらの変更を使用し得る。
【0141】
[0157]いくつかの例では、タスク作成サブシステム302により、代理106が、メンバー118に代わって新しいタスクまたはプロジェクトを作成することもまた可能になり得る。代理106は、タスク作成サブシステム302に、定義されているタスクのためのタスクタイプまたはカテゴリに対応するタスクテンプレートを要求し得る。代理106は、タスクテンプレートを介して、(たとえば、代理106、メンバー118などへの)タスクの割当てを含む新しいタスクまたはプロジェクトに関連する様々なパラメータを定義し得る。いくつかの例では、タスク作成サブシステム302は、どのデータフィールドが新しいタスクまたはプロジェクトの作成のために代理106へのタスクテンプレート中に提示されることになるのかを識別するために機械学習アルゴリズムまたは人工知能を使用し得る。たとえば、タスクまたはプロジェクトのメンバー作成に関係する上記で説明されたプロセスと同様に、タスク作成サブシステム302は、機械学習アルゴリズムまたは人工知能への入力として、ユーザデータストア108からのメンバープロファイルとタスクデータストア110からの選択されたタスクテンプレートとを使用し得る。しかしながら、どのデータフィールドがタスクテンプレートから省略され得るのかを識別するのではなく、タスク作成サブシステム302は、タスク容易化サービスによって与えられたアプリケーションまたはウェブポータルを介してメンバー118に提示されるときどのデータフィールドがタスクから省略され得るのかを示し得る。したがって、代理106は、すべての情報がメンバー118に提示されるのかどうかにかかわらず新しいタスクまたはプロジェクトのためのすべての必要な情報を与える必要があり得る。
【0142】
[0158]タスク作成サブシステム402は、選択されたタスクテンプレートのフィールドをポピュレートするために使用され得るメンバープロファイルの部分を自動的に識別し得る。代理106は、これらのデータフィールドが正確にポピュレートされたことを保証するためにこれらの自動的にポピュレートされたデータフィールドを検討し得る。代理106が、(メンバー118についての代理の個人的知識などに基づいて)自動的にポピュレートされたデータフィールド内の情報に何らかの変更を行う場合、タスク作成サブシステム402は、これらの変更を組み込むためにメンバープロファイルを自動的に更新するためにこれらの変更を使用し得る。いくつかの例では、代理106によってタスクテンプレートに行われた変更の結果としてメンバープロファイルに変更が行われることになる場合、タスク作成サブシステム402は、メンバープロファイルへの提案された変更が正確であることを検証するようにメンバー118を促し得る。メンバー118は、提案された変更が不正確であることを示すか、またはメンバー118が代替の変更を与える場合、タスク作成サブシステム402は、メンバー118によって示された正確な情報を反映するためにタスクテンプレート中の対応するデータフィールドとメンバープロファイルとを自動的に更新し得る。
【0143】
[0159]いくつかの例では、タスク作成サブシステム302は、自動的にリアルタイムで、メンバー118に推奨され得るタスクを識別するためにメンバー118と代理106との間で交換されるメッセージを監視することができる。たとえば、タスク作成サブシステム302は、メンバー118に推奨され得る可能なタスクを識別するためにメンバー118からの受信されたメッセージまたは他の通信を評価するために自然言語処理(NLP)または他の人工知能を利用し得る。たとえば、タスク作成サブシステム302は、メンバー118が解決することを望む新しいタスクまたは他の問題を検出するためにNLPまたは他の人工知能を使用してメンバー118からのあらゆる着信メッセージを処理し得る。いくつかの例では、タスク作成サブシステム302は、可能なタスクを識別するためにNLPまたは他の人工知能をトレーニングするためにタスクデータストア110からの履歴タスクデータとタスクデータストア110からの対応するメッセージとを利用し得る。タスク作成サブシステム302がメンバー118に推奨され得る1つまたは複数の可能なタスクを識別する場合、タスク作成サブシステム302は、代理106にこれらの可能なタスクを提示し得、代理106は、チャットセッションを介してメンバー118と共有され得るタスクを選択し得る。
【0144】
[0160]いくつかの例では、タスク作成サブシステム302は、完了のためにメンバー118に推奨され得る潜在的なタスクを識別するために画像、オーディオ、ビデオ、自然言語コミュニケーション、センサデータなどを処理するためにコンピュータビジョンまたは他の人工知能を利用することができる。たとえば、(たとえば、メンバー118に関連する)自宅の画像またはビデオが、メンバー118のために完了され得る潜在的なタスクを識別するために処理され得る。これらの画像またはビデオは、メンバーの自宅内の問題を検出し、これらの問題に対処するために実施され得る可能なタスクを識別するためにリアルタイムにタスク作成サブシステム302によって処理され得る。さらに、デジタル画像またはビデオが特定の問題に関連され得るが、タスク作成サブシステム302は、タスクが推奨され得る追加のおよび/または代替の問題を識別するためにデジタル画像またはビデオをさらに処理し得る。したがって、タスク作成サブシステム302は、コンピュータビジョンまたは他の人工知能を使用して、メンバー118が気づいていないことがある可能な問題を検出し得る。
【0145】
[0161]タスク推奨システム112は、メンバー118または代理106による完了のためにメンバー118に推奨され得るタスクを含むメンバー118のタスクのセットをランク付けするように構成され得るタスクランク付けサブシステム306をさらに含み得る。タスクランク付けサブシステム306は、コンピュータシステムを使用して、またはタスク推奨システム112のコンピュータシステム上に実装されたアプリケーションもしくは他の実行可能コードとして実装され得る。いくつかの例では、タスクランク付けサブシステム306は、メンバー118が、タスク容易化サービスに関連するサードパーティサービスおよび/または他のサービス/エンティティの実施およびそれらとの調整のための代理への委任のためのタスクを選択する可能性に基づいてタスクのセットのリストをランク付けすることができる。代替的に、タスクランク付けサブシステム306は、各タスクの完了のための緊急度のレベルに基づいてタスクのセットのリストをランク付けし得る。緊急度のレベルは、ユーザデータストア108からのメンバー特性(たとえば、いくつかのタスクまたはタスクのカテゴリのメンバーの自身の優先度付けに対応するデータ)および/またはタスクが実施されない場合のメンバー118への潜在的なリスクに基づいて決定され得る。
【0146】
[0162]いくつかの例では、タスクランク付けサブシステム306は、タスク選択サブシステム304にメンバー118に推奨され得るタスクのセットのランク済みリストを与える。タスク選択サブシステム304は、コンピュータシステムを使用して、またはタスク推奨システム112のコンピュータシステム上に実装されたアプリケーションもしくは他の実行可能コードとして実装され得る。タスク選択サブシステム304は、タスクのセットのランク済みリストから、どのタスクが代理106によってメンバー118に推奨され得るのかを選択するように構成され得る。たとえば、タスク容易化サービスによって与えられたアプリケーションまたはウェブポータルが、メンバー118に、タスクのセットのランク済みリストから限られた数のタスク推奨を提示するように構成される場合、タスク選択サブシステム304は、どのタスク推奨がメンバー118に提示されなければならないのかを決定するためにランク済みリストとユーザデータストア108からのメンバープロファイルとを処理し得る。いくつかの例では、タスク選択サブシステム304によって行われる選択は、リスト中のタスクのセットのランキングに対応し得る。代替的に、タスク選択サブシステム304は、どのタスクがメンバー118に推奨され得るのかを決定するためにタスクのセットのランク済みリストならびにメンバープロファイルおよびメンバーの既存のタスク(たとえば、進行中のタスク、メンバー118によって受け入れられたタスクなど)を処理し得る。たとえば、タスクのセットのランク済みリストが雨樋の清掃に対応するタスクを含むが、メンバー118が最近の嵐により雨樋の修理に対応する進行中のタスクをすでに有する場合、これは、雨樋の修理と併せて実施され得るので、タスク選択サブシステム304は、雨樋の清掃に対応するタスクの選択を控え得る。したがって、タスク選択サブシステム304は、メンバー118への提示のためにタスクのセットのランク済みリストをさらに改良するために別のレイヤを与え得る。
【0147】
[0163]タスク選択サブシステム304は、代理106に、メンバー118に推奨され得るタスクの新しいリストを与え得る。代理106は、タスク容易化サービスによって与えられるアプリケーションまたはウェブポータルを介してどのタスクがメンバー118に提示され得るのかを決定するためにタスクのこの新しいリストを検討し得る。たとえば、代理106は、タスク選択サブシステム304によって推奨されるタスクのセットを検討し、これらの1つまたは複数のタスクに対応する個々のインターフェースを介してメンバー118への提示のためにこれらのタスクのうちの1つまたは複数を選択し得る。さらに、上記で説明されたように、代理106は、(たとえば、タスクの実施のために代理106に委ねるためにメンバーの選好を示すためにボタンまたは他のGUI要素を用いて)タスクの実施のために代理106に委ねるオプションをタスクが提示されることになるのかどうかを決定し得る。いくつかの例では、1つまたは複数のタスクは、タスクランク付けサブシステム306によって生成され、タスク選択サブシステム304によって改良されたランキングに従ってメンバー118に提示され得る。代替的に、1つまたは複数のタスクは、タスクの優先度付けのためのメンバー自体の選好についての代理の理解に従って提示され得る。メンバー118に推奨される1つまたは複数のタスクに対応するインターフェースを通して、メンバー118は、代理106の支援を受けて実施され得る1つまたは複数のタスクを選択し得る。メンバー118は、代替的に、メンバー118が個人的に実施したいあるいはメンバー118が実施されたくない任意の提示されたタスクを却下することができる。
【0148】
[0164]いくつかの例では、タスク選択サブシステム304は、実施のための代理106への委任のためのタスクのメンバー選択に関するデータを収集するためにメンバー118と代理106との間の任意の対応するチャットまたは他の通信セッションを含む推奨されるタスクに対応する異なるインターフェースを監視する。たとえば、タスク選択サブシステム304は、各タスクに対応する極性または感情を決定するために推奨されるタスクに対応する異なるインターフェースを介して代理106によってメンバー118に提示されるタスクに対応するメッセージを処理し得る。たとえば、メンバー118が、特定のタスクに関連する通信セッションを通して送信される代理106へのメッセージ中で、車両保守に対応するあらゆるタスク推奨を受信しないことを選好することを示す場合、タスク選択サブシステム304は、否定極性または感情を車両保守に対応するタスクのせいにし得る。代替的に、メンバー118が、(メンバー118に提示される雨樋の清掃タスクに関連する通信セッションを通すなどして)代理106への委任のために雨樋の清掃に関係するタスクを選択するおよび/またはこのタスクの推奨が良いアイデアであったことを代理106へのメッセージ中で示す場合、タスク選択サブシステム304は、肯定極性または感情をこのタスクのせいにし得る。いくつかの例では、タスク選択サブシステム304は、タスク容易化サービスのメンバー118および他の同様の状況にあるメンバーに提示され得るタスク推奨を生成するためにタスクランク付けサブシステム306によって利用される機械学習アルゴリズムまたは人工知能をさらにトレーニングまたは補強するためにメンバー118に推奨されるタスクへのこれらの応答を使用することができる。さらに、タスク選択サブシステム304は、代理106によって推奨されたタスクからのタスクのメンバーの選択および/または代理106によって推奨されるタスクに関する感情に基づいてメンバーの選好および知られている行動特性を更新するためにメンバーのプロファイルまたはモデルを更新し得る。
【0149】
[0165]
図4は、本開示の態様による、メンバーのために実施されるように構成された推奨されるタスクを生成し、ランク付けするための環境400の例示的な例を示す。環境400は、その実施がタスク容易化サービス102、それらの1つまたは複数の代理、1つまたは複数のサードパーティサービスプロバイダなどによって容易にされ得る推奨されるタスクを生成するためにタスク容易化サービス102によって動作され得る。いくつかの例では、生成されたタスクは、メンバーによって要求され得る。たとえば、メンバーは、今度のショーへのチケットを要求し得る。それらの例では、メンバーは、タスクを定義し得る。代替または追加として、メンバーに割り当てられた代理は、メンバーに代わってタスクを定義し得る。代理は、メンバーにタスクを送信し、タスクを容易にすること(たとえば、ショーへのチケットを取得すること、旅行または宿泊施設を用意することなど)を行うための承認を要求し得る。別の代替構成では、タスク容易化サービス102は、自然言語プロセッサ、音声プロセッサ、画像プロセッサなどを使用してメンバーと代理との間の通信セッション(たとえば、チャットセッション、オーディオ通信セッション、ビデオ通信セッションなど)を処理し得る。タスク容易化サービス102は、ショーに参加することへの関心を検出し、メンバーのためのタスク推奨を自動的に生成し得る。いくつかの例では、代理は、メンバーに自動的に生成されたタスク推奨を提示すべきかどうかを決定し得る。他の例では、タスク容易化サービスは、メンバーが推奨されるタスクを承認することになる可能性を決定し得る。可能性がしきい値よりも大きい場合、タスク容易化サービス102は、自動的に生成された推奨されるタスクをメンバーに自動的に提示し得る。
【0150】
[0166]タスク容易化サービス102は、メンバーによって与えられた他のタスクに関連するタスク推奨を生成し得る。たとえば、メンバーは、今度のデンバーへの引っ越しに関連するタスクの要求を示し得る。タスク容易化サービス102は、引っ越しに関連付けられるタスクを推奨し得る。たとえば、タスク容易化サービス102は、限定はしないが、メンバーの現在の住所でのメンバーの公共サービスをキャンセルすること、引っ越し業者を取得すること、オートトランスポートを取得すること、新しい住所への旅行施設を取得すること、新しい住所での公共サービスを取得すること、引っ越し用品を取得すること、それらの組合せなどに対応するタスク推奨を生成し得る。タスク容易化サービス102によって生成されたいくつかのタスク推奨は、メンバーによって与えられたかまたは示唆されたタスクに基づかないことがある。たとえば、メンバーに関連するカレンダアプリケーションは、今度の誕生日を示し得る。タスク容易化サービス102は、限定はしないが、誕生会を開くこと、ケーキを取得すること、バースデープレゼントまたはカードを取得すること、家族を訪問すること、家族または他の家族と通信すること、それらの組合せなどの今度のイベントに関連するタスク推奨を生成し得る。
【0151】
[0167]タスク推奨は、タスクとタスクを実装するために実行し得る任意のサブタスクとの識別情報を含み得る。たとえば、タスク推奨は、ショーに参加することであり、限定はしないが、特定の日付の特定のショーのチケットを取得すること、旅行施設を取得すること、食事施設を識別することなどのサブタスクを含み得る。いくつかの例では、タスク推奨は、タスクおよび/またはそれらのサブタスクを実行するのに必要な実装詳細の一部または全部を含むことができる。たとえば、ショーのためのチケットを取得することに対応するタスク推奨は、ショーの識別情報、取得されるチケットのタイプ、チケットのコスト、チケットをどのように取得するのかの識別情報、ショーの時刻/日付、ショーまでの何らかの旅行施設の識別情報、何らかの食事施設の識別情報などを含み得る。
【0152】
[0168]タスク作成サブシステム302は、メンバー入力408、代理入力416、機械学習モデル412からの出力などを含み得るタスクの仕様404に基づいてタスク推奨を生成し得る。タスクの仕様404は、タスクが識別され得る情報を含み得る。情報は、タスク作成サブシステム302のあらかじめ定義されたタスク(たとえば、前に生成されたおよび/または実行されたタスク、前に識別されたタスク、ハードコーディングされたタスクなど)に対応し得るタスクの識別情報に対応するか、あらかじめ定義されたタスクに関連付けられないことがあるタスク(たとえば、未知のタスク)の識別情報に対応するか、または特定のタスクを識別しないことがある。タスクの仕様404は、タスク容易化サービス102によって(たとえば、代理、サードパーティサービスプロバイダなどによって)実行され得るタスクを識別するためにタスク作成サブシステム302によって処理され得る。
【0153】
[0169]いくつかの例では、タスクの仕様404は、タスクを識別するまたはタスクが識別され得るデータを与えるメンバーからの入力(たとえば、メンバー入力408など)を含み得る。他の例では、タスクの仕様404は、タスクを識別するまたはタスクが識別され得るデータを与える代理からの入力(たとえば、代理入力416など)を含み得る。さらにまた他の例では、タスクの仕様404は、タスクを識別するおよび/またはタスクが識別され得るメンバーに関連するタスクデータセットを含む(たとえば、限定はしないが、メンバーに関連するユーザモデル、メンバー入力408、代理入力416、機械学習モデル412などのメンバーに関連するデータセットおよび/またはデータを使用した)機械学習モデル412からの出力を含み得る。タスクデータセットは、メンバーに関連するデータから(たとえば、メンバー、メンバー入力408、代理入力416、機械学習モデル412などに関連するユーザモデルから)受信および/または導出されたデータを含み得る。たとえば、タスクの仕様404は、1つまたは複数のタスクがタスク容易化サービスによる実施のためにユーザに識別され推奨され得るあらかじめ決定された時間間隔の間(たとえば、前の日の間)メンバーに関連するデータ(たとえば、メンバーと代理との間の通信、ユーザモデルなど)を含み得る。タスクの仕様404は、メンバーに関連するすべてのデータ、あらかじめ決定された量のデータ、特定の時間間隔の間に受信されおよび/または生成されたデータなどを含み得る。いくつかの例では、タスクの仕様404は、メンバー入力408、機械学習モデル412からの出力、および/または代理入力416の組合せを含み得る。
【0154】
[0170]いくつかの例では、タスクの仕様404は、メンバーに関連する追加のデータ、タスクの仕様404の識別されたタスクなどで増強され得る。たとえば、タスクが(たとえば、メンバーと代理との間の通信セッションの間に、メンバーと別の個人との間の会話の間になど)示唆されるか、(たとえば、メンバーまたは代理によって)明確に定義されるとき、タスクの仕様404は、定義されたまたは示唆されたタスクに対応するデータセットをカプセル化するために生成され得る。デバイスからのデータは、メンバー、センサ、カメラ、メンバーに関連するアプリケーションデータ、メンバーに関連するサードパーティサービス、他のメンバー、メンバーに関連する他の個人、それらの組合せなどに関連付けられる。
【0155】
[0171]メンバー入力408は、タスクに関係し得るメンバーからの任意のタイプの入力に対応し得る。代理入力416は、メンバーのためのタスクに関係し得る代理からの任意のタイプの入力に対応し得る。メンバー入力408および/または代理入力416は、他のソース(たとえば、メンバーに関連するデバイス、アプリケーション、および/またはセンサなど)からのテキスト、オーディオ、ビデオ、データ、それらの組合せなどを含み得る。たとえば、メンバー入力408は、「私は、今度のデンバーへの引っ越しに助けを必要とする」という入力を与えることによってタスクを定義し得る。別の例では、「私はビーチが本当に好き」を示すメンバー入力408は、ビーチイベント(たとえば、ビーチへの旅、休暇、ビーチ活動など)に対応するタスクの仕様408を定義し得る。
【0156】
[0172](メンバー、代理、または他のソースからの)何らかの入力は、機械学習モデル412によって処理され得る。たとえば、センサデータは、メンバーのための可能なタスク推奨を識別するために機械学習モデルによって処理され得る。たとえば、センサデータは、メンバーのHVACシステムが効率を失っているかあるいはあるべきとおりに動作していないことがあることを示すために処理され得る。同様に、(たとえば、自然言語入力などの)メンバーまたは代理からの何らかの入力は、可能なタスクを識別するために処理され得る。たとえば、メンバーは、メンバーが関心がある活動について説明するために代理と対応し得る。活動は、タスクとして明確に定義されないが、メンバーが承認し得るタスクを示し得る。
【0157】
[0173]機械学習モデル412は、可能なタスクを示す入力を識別するためにメンバー入力408(たとえば、テキスト、オーディオ、ビデオなど)、代理入力416(たとえば、テキスト、オーディオ、ビデオなど)、メンバーに関連する1つまたは複数の他のソースからの入力などを処理するように構成され得る。たとえば、他のソースは、限定はしないが、メンバーに関連するデバイス(たとえば、IoTデバイス、モバイルデバイス、センサ、ホームオートメーションデバイスなど)から生成された情報、メンバーに関連する(たとえば、友人および/または家族などの)他のメンバーからの情報、メンバーに関連するアプリケーションまたはソフトウェアサービス(たとえば、カレンダ、連絡先、SMSまたはダイレクトメッセージング、電子メール、やることリスト、買物リストなど)からの情報、メンバーによって購読されたサービス(たとえば、料理代行サービス、メディアサービスなど)からの情報、それらの組合せなどの入力を含み得る。
【0158】
[0174]いくつかの例では、メンバーは、タスク容易化サービス102に入力されるか、またはタスク容易化サービス102によって処理され得る情報の量、情報のタイプ、情報のソースなどを決定し得る。一部のメンバーは、タスク容易化サービス102にすべての情報を与え、および/またはタスク容易化サービス102がその情報に基づいて何らかの推奨されるタスクを与えることができることを示し得る。他のメンバーは、タスク容易化サービス102に与えられる情報ならびに/またはタスク容易化サービス102が生成することができるタスクの量および/もしくはタイプを限定し得る。これは、タスク容易化サービス102が一部のメンバーに破壊的になりすぎること(たとえば、メンバーがサードパーティに意図しないことがある情報へのアクセスを有することおよび/またはタスクを推奨することなど)を妨げ得る。タスク容易化サービス102は、情報、情報のタイプ、情報のソースなどの選択を可能にするためのインターフェースをメンバーに与え得る。いくつかの例では、メンバーに割り当てられた代理106は、一部の情報へのアクセスが制限されたままであることなどを確認する入力を要求し得る。同様に、タスク容易化サービス102は、タスク作成サブシステム302のためのタスクの量、タスクのタイプ、タスクを推奨する頻度などの選択を可能にするためのインターフェースをメンバーに与え得る。
【0159】
[0175]機械学習モデル412は、入力の特定のセットを処理すること、特定の出力を生成すること、特定のタイプの予測を生成することなどを行うようにそれぞれ構成されている複数の機械学習モデルを含み得る。機械学習モデル412は、モデルが特定の順序で実行し得る階層設計に従って入力データを処理し得る。いくつかの例では、(たとえば、しきい値よりも大きい可能性をもつ)タスクを示す入力データのセットが識別されるとき、データ処理は、処理リソースを浪費することおよび/または多すぎる可能なタスクを識別することならびにメンバーまたは代理に過負荷をかけることを妨げるために一時的に休止し得る。他の例では、データ処理は、データが処理されるまで(たとえば、何個のタスクが識別されたかにかかわらず)続き得る。それらの例では、代理および/またはタスク容易化サービス102は、機械学習モデルによって識別されたどのタスクがメンバーに提示されることになるのかを決定し得る。
【0160】
[0176]機械学習モデル412中の機械学習モデルの例は、メンバーのための可能なタスクに対応するデータを識別するためにメンバーからの自然言語入力を構文解析するように構成された1つまたは複数の機械学習モデルを含む。1つまたは複数の機械学習モデルは、オーディオおよび/またはビデオをテキストに変換し、テキストを構文解析して、関心または意図などの意味論的意味を導出することができる1つまたは複数の自然言語プロセッサを含み得る。1つまたは複数の機械学習モデルはまた、メンバーが特定のタスクを選択することになる可能性を予測し得る分類器を含み得る。可能性がしきい値よりも大きい場合、タスクによるタスクの仕様が生成され得る。いくつかの例では、しきい値は、メンバーに与えられ得る可能なタスクの量を増加させるために低く(たとえば、約40%に)設定され得る。しきい値は、生成されているタスクの量とメンバーのフィードバックとに基づいて動的に決定され得る。
【0161】
[0177]自然言語プロセッサは、メンバーの可能な意図および/または関心を決定するためにメンバーのテキスト、オーディオ、および/またはビデオの会話をパースするレイヤのセットを含み得る。たとえば、自然言語プロセッサは、入力の構造と意味論的意味とを導出するために入力をパースする第1のレイヤを含み得る。自然言語プロセッサは、特定の意図、関心、タスクタイプ、カテゴリ、ロケーション、タイムスタンプ(たとえば、日付および/または時間)、イベント、それらの組合せなどに従って構造と意味論的意味とを分類する第2のレイヤを含み得る。いくつかの例では、別の機械学習モデル(たとえば、別の分類器など)が、特定のタスク、タスクタイプなどに対応するものとして自然言語プロセッサからの出力をカテゴリ分類するために使用され得る。
【0162】
[0178]自然言語プロセッサの第1のレイヤは、最初に、音声認識機械学習モデル、(たとえば、顔の表情、手話、それらの組合せなどのジェスチャからテキストを定義するための)ジェスチャベースの機械学習モデルを使用して(たとえば、入力がまだテキスト形態にない場合)入力からテキストを導出し得る。テキストは、次いで、句読点およびストップワード(たとえば、冠詞などの意味論的意味を与えないワード)を除去することによって処理される。ワードをルート形態に簡約化する(たとえば、活用、接尾辞などを除去する)見出し語化プロセスが、次いで、実行される。いくつかの例では、ワードの変形形態は、ワードを特定の類義語と置き換えることによってさらに簡約化され得る。たとえば、「有効化すること(enabling)」および「容易にすること(facilitating)」というワードは、「有効化する(enable)」および「容易にする(facilitate)」のベース形態に処理され得、「容易にする(facilitate)」は、分類される必要があるワードの量を削減するために「有効化する(enable)」に置き換えられ得る。データは、次いで、ベクトル(たとえば、残りの処理されるワードの順序サブセットを備える入力ベクトル)に変換され得、ベクトルは、意味論的分類器によって分類され得る。
【0163】
[0179]一例では、「私は、コーコービーチの近くでハイキングまたはサーフィンすることが好きです」は、「私」、「好き」、「ハイキングする」、「サーフィンする」、「コーコービーチ」として処理され得る。意味論的分類器にパスされると、意味論的分類器は、メンバーがハイキングおよびサーフィンを含む関心を有すると識別し得る。分類器は、入力中で識別された他の情報に基づいて関心をさらに限定し得る。たとえば、コーコービーチという用語は、ハイキングするという関心をビーチの近くでハイキングすること、大西洋の近くでハイキングすること、またはフロリダでハイキングすることを含むように修正するために使用され得る。自然言語プロセッサのレイヤのセットの最後のレイヤは、潜在的なタスクとして関心および/または意図を分類する別の分類器を含み得る。前の例に戻ると、最後のレイヤは、フロリダ州コーコービーチの近くでのハイキングベースの活動を識別することによって「ハイキングする」、「コーコービーチ」という関心を分類し得る。
【0164】
[0180]いくつかの例では、自然言語プロセッサは、モデルがメンバーからの入力を分類することにより階層中で実行するための機械学習モデル412の第1の機械学習モデルであり得る。他の機械学習モデルは、自然言語プロセッサの後に(またはそれと並列して)実行し得る。一例として、階層中の機械学習モデルの次のセットは、(たとえば、対処される必要があり得るメンバーの環境内の異常などを識別し得る)センサデータを処理する機械学習モデルを含むことができる。たとえば、機械学習モデルは、タスク容易化サービス102にとってアクセス可能なセンサデータIoTデバイスまたは他のセンサベースのデバイスを処理し得る。機械学習モデルによって検出可能なイベントの例は、限定はしないが、過剰なエネルギー使用イベント、(たとえば、湿度および温度センサなどからの)水イベント、(たとえば、1つまたは複数の温度センサなどからの)HVACイベント、セキュリティイベント(たとえば、マイクロフォンおよび/またはコンピュータビジョンからの侵入、ドアまたは窓の開放など)、(たとえば、ビデオデータのコンピュータビジョンの画像処理などを通して検出された)環境修復イベント、および/またはメンバーに関連するデバイスからのデータの処理を通して検出され得る任意の他のイベントを含む。
【0165】
[0181]階層中の機械学習モデルの次のセットは、限定はしないが、カレンダ、電子メール、ダイレクトメッセージングサービス(たとえば、SMSなど)、ソーシャルメディアサービス、音楽ストリーミングサービス、ビデオストリーミングサービス、やることリスト、買物リスト、および/またはメンバーにとって興味深いものであるタスクを提案するために使用可能であり得るメンバーに関連するデバイス上で実行される任意のアプリケーションなどのサードパーティサービスからのアプリケーションデータおよび/またはデータを処理するように構成された機械学習モデルを含み得る。たとえば、これらの機械学習モデルは、今度の誕生日を識別するためにメンバーのカレンダを処理するか、またはメンバーがライブを見ることを望み得るなどメンバーにとって興味深いミュージシャンを決定するためにストリーミングサービスを処理し得る。追加の機械学習モデルは、他のタイプのデータまたは他の情報ソースからのデータを処理するために追加され得る。
【0166】
[0182]いくつかの例では、メンバーおよび/または代理は、機械学習モデルの階層を定義し得る。他の例では、機械学習モデルの階層は、タスク容易化サービスによって定義され得る。メンバーおよび/または代理は、ユーザインターフェースを通して任意の時間に階層を修正し得る。たとえば、メンバーは、最初に提示されたよりも階層中で高くまたは低くなるように特定の機械学習モデルを選択し得る。メンバーおよび/または代理はまた、機械学習モデルの階層をどのように実行すべきか、処理が終了される前の潜在的なタスクの量などを示し得る。
【0167】
[0183]潜在的なタスクが、メンバーによって定義されるか、代理によって定義されるか、メンバーによって示唆されるか、代理によって示唆されるか、機械学習モデル412によって識別されるかなどすると、タスクに関連するデータをカプセル化するタスクの仕様404が生成され得る。データは、(たとえば、タイプ、ソース、時間などに従って)構造化されるか、または非構造化され得る(たとえば、それがそれぞれの情報ソースから受信されたときと同じまたは同様のフォーマットで記憶され得る)。いくつかの例では、タスクの仕様404は、メンバー入力408、機械学習モデル412、代理416、および/または他のソースからのあらかじめ決定された量の情報を含み得る。あらかじめ決定された量の受信された情報中に含まれる情報は、情報(たとえば、前に説明された意味論的分類器、自然言語プロセッサなどを使用して示唆されたタスクに関連する情報)、(たとえば、潜在的なタスクが識別された最後のx時間にわたって受信された情報のタイムスタンプなどの)タイムスタンプ、データタイプ、データソースなどの意味論的分類に基づいて選択され得る。
【0168】
[0184]タスクの仕様404は、代理または別の機械学習モデルがあらかじめ決定されたタスクを識別することができる特徴のセットを導出し得る特徴抽出器420にパスされ得る。いくつかの例では、特徴のセット中の多すぎる特徴は、タスク識別情報の精度を低減し得る。多すぎる特徴は、特徴セットを処理することの結果の品質および/または精度に影響を及ぼすことができる雑音、不適当な特徴重みなどを生じ得る。いくつかの例では、特徴抽出器420は、識別されるタスクの品質を改善するために特徴のセットを低減し得る。たとえば、特徴抽出器は、2つ以上の特徴に対応する特徴のセットから新しい特徴を導出し得る。代替または追加として、次元削減アルゴリズムは、特徴の量を低減するために特徴のセットまたはタスクの仕様404に対して実行され得る。たとえば、タスクの仕様404は、主成分分析、判別分析(線形、一般など)などを実施し得る。他の例では、特徴抽出器420は、不平衡な特徴重みを補償する(たとえば、低く重み付けされた特徴に追加の特徴を追加することがそれらの重みを増加させ得る)などのために特徴のセット中に特徴から導出された新しい特徴を追加し得る。
【0169】
[0185]特徴抽出器420は、特徴のセットから特徴ベクトルを生成し得る。特徴ベクトルは、特徴のセットからの特徴の順序付きシーケンスであり得る。特徴は、特定の次元(たとえば、タスクタイプ、データタイプ、時間、情報ソースなど)に従って順序付けされ得る。
【0170】
[0186]タスク作成サブシステム302は、特徴ベクトルが(たとえば、知られているタスク、前に生成されたタスクなどの)作成サブシステム302のあらかじめ定義されたタスクタイプに対応するタスクタイプの識別情報を含むのかどうかを決定し得る。特徴ベクトルがタスク作成サブシステム302のあらかじめ定義されたタスクタイプに対応するタスクタイプの識別情報を含まない場合、特徴ベクトルは、タスク生成器に直接パスされ得る。
【0171】
[0187]特徴ベクトルが作成サブシステム302のあらかじめ定義されたタスクタイプに対応するタスクタイプの識別情報を含む場合、特徴ベクトルは、タスクテンプレート424にパスされ得る。タスクテンプレート424は、タスクテンプレートのデータベースを含み得る。タスクテンプレートは、特徴ベクトルからの特徴でポピュレートされ得るおよび/またはタスク生成器428によって特徴ベクトルから導出され得る空のフィールドのセットを含むことができる。たとえば、「物を買う」というタスクテンプレートは、特徴ベクトル中に含まれたまたはそれから導出された特定の物と置き換えられることになる「物」というフィールドを含む。より具体的なタスクテンプレートは、タスクテンプレートに挿入され得る多くのフィールド(たとえば、特定の物、ベンダー、タイムスタンプ、ロケーション、サードパーティサービス、活動など)を含み得る。
【0172】
[0188]タスクテンプレート424は、増加する特異性の階層に従って編成され得る。階層は、ベースタイプ(たとえば、物、サービス、イベントなど)に対応するタスクテンプレートで開始し得る。階層の次のレイヤは、前のレイヤのタスクテンプレートのより具体的な変形形態であるタスクテンプレートを含み得る。たとえば、物のタスクテンプレートの後の後続のレイヤは、物を購入する、物を販売する、物をレンタルするなどの物に関連する行為を含み得る。後続のレイヤは、特定の時間に特定のベンダーから特定の物を買うなどのさらにより具体的であるタスクテンプレートを含み得る。タスク作成サブシステム302は、タスク作成サブシステム302によって識別された可能なタスクに最も近いタスクテンプレートを識別し得る。識別されたタスクテンプレートは、特徴ベクトルとともにタスク生成器にパスされ得る。
【0173】
[0189]タスク生成器428は、特徴ベクトル(とタスクテンプレート424から受信された場合はタスクテンプレートと)を分析し、タスク推奨を出力する機械学習モデル、自動プロセス、代理によって駆動されたソフトウェアプロセスなどを含み得る。タスク生成器428は、特定のメンバーに調整されたタスク推奨の生成を改善するためにトレーニングデータ432と(タスク推奨が生成されることおよび/または特定のメンバーと類似の特性を有する他のメンバーに関連付けられることなどになる特定のメンバーに関連する)ユーザモデル436とを使用してトレーニングされ得る。機械学習モデルのコンテキストでは、タスク生成器428をトレーニングすることは、教師つき学習、教師なし学習、半教師つき学習、強化学習などを使用して機械学習モデルをトレーニングすることを含む。機械学習モデルは、反復のセットにわたって、あらかじめ決定された時間間隔にわたって、および/またはあらかじめ決定された精度メトリックが到達されるまでトレーニングされ得る。
【0174】
[0190]非機械学習モデルのコンテキストでは、タスク生成器428をトレーニングすることは、(タスクテンプレートが前に識別されなかった場合は)特徴ベクトルに対応するタスクテンプレートの自動選択、タスクテンプレートのフィールドの値の自動選択などを使用可能にするためにメンバーに関連するデータを処理することを含み得る。たとえば、(たとえば、特徴ベクトル、ユーザモデルなどからの)メンバーに関連する特徴は、タスクを定義するときに特徴が特定のフィールドタイプのために使用され得る可能性を定義するために使用可能な使用メトリックに関連付けられ得る。タスク生成器428は、タスクテンプレートのフィールドごとに、特定のフィールドに関連する最も高い使用メトリックを有する特徴を提案し得る。たとえば、「バースデーケーキを注文する」に対応するタスク推奨は、各特徴が使用メトリックに関連付けられた状態でケーキが注文されなければならない日付(たとえば、メンバー、メンバーの家族、メンバーの友人などに対応するユーザモデル中に記憶された誕生日)に対応し得る特徴のセットを含み得る。タスク生成器428は、「バースデーケーキを注文する」タスク推奨の日付フィールドの値であるものとして提案するために最も高い使用メトリックをもつ特徴(たとえば、メンバーがバースデーケーキを前に購入した近しい家族の日付、ユーザモデルに基づいてメンバーが選択する可能性が最も高い日付など)を識別し得る。代替的に、タスク生成器428は、最も高い使用メトリックを有する特徴をもつ日付フィールドを自動的にポピュレートし得る。代理および/またはメンバーは、日付特徴を承認するか、または必要な場合は異なる日付特徴を選択し得る。
【0175】
[0191]トレーニングデータ432は、メンバー(またはメンバーと同様の特性を有するメンバー)のために生成された過去のタスクの仕様404と、タスクテンプレート424と、タスク推奨とを含み得る。トレーニングデータ432はまた、限定はしないが、他のメンバーのために生成された過去のタスクの仕様、他のメンバーのために生成された過去のタスクテンプレート、他のメンバーのユーザモデル、他のメンバーのために生成されたタスク推奨、手続的に生成されたデータなどの追加のデータを含み得る。トレーニングデータ432は、メンバーにとって興味深いものであり得るタスク推奨を生成するタスク生成器428および/または代理の機械学習モデルをトレーニングするために使用され得る。
【0176】
[0192]トレーニングデータ432は、メンバーの選好、関心などを示すデータを含み得る。たとえば、トレーニングデータ432は、メンバーが面白いと思う可能性があるイベント、タスクを実施する際に使用するための特定のベンダーまたはサードパーティサービスなどを示し得る。トレーニングデータはまた、タスク生成器428および/または代理にメンバーに好ましいフォーマットに準拠するタスク推奨を生成すること、メンバーの選好に対応するフィールドのための1つもしくは複数の値を含ませること、および/またはメンバーに好ましいフォーマットで通信することを行わせ得る。たとえば、トレーニングデータは、メンバーがSMSまたは電子メールではなくプッシュ通知を介して通信されるのを選好することを示し得る。タスク生成器428は、メンバーに好ましい方式でメンバーに調整されたタスク推奨を生成するためにトレーニングデータ432中のこれらの詳細を識別し得る。
【0177】
[0193]ユーザモデル436は、(たとえば、限定はしないが、メンバーの過去のタスク、同様の特性を有するメンバー過去のタスクなどの)タスク容易化サービスによって生成または受信された(たとえば、メンバープロファイルなどの)メンバーに関連する情報、(たとえば、限定はしないが、調査の質問に応答を与えたメンバー、メンバーによって与えられた入力、メンバーがアクセスを与えたメンバーに関連するデバイス、タスク容易化サービスにとってアクセス可能なデバイス、メンバーに関連するアプリケーション、メンバーに接続されたサードパーティサービスなどの)メンバー、メンバーと対話する代理、メンバーと対話する他のメンバー、メンバーと対話する他の個人、それらの組合せなどを含み得る。
【0178】
[0194]いくつかの例では、特徴は、メンバー情報から抽出および/または導出され得る。特徴は、メンバーに対応するトレーニング済みモデルを生成するためにトレーニングされた機械学習モデルへの入力としてパスされ得る。モデルは、メンバーに関連する予測(たとえば、特定のタスクに対する関心の可能性、予測された選好の識別情報、知られている選好の識別情報など)を生成すること、メンバーの特性を識別すること、メンバーによって要求および/または実行された過去のタスクを識別すること、メンバーに関連する情報を識別すること、(たとえば、メンバーに関連する上述の情報のいずれかに基づいて)ユーザに関連する新情報を導出することなどを行うために問合せ、実行、および/またはパースが行われ得る。ユーザモデルは、(たとえば、メンバーが前に使用したまたは選好を示した特定のベンダーの選択、メンバーが前に使用したまたは選好を示した旅行施設の選択、特定の通信プロトコルおよび/またはフォーマットの選択、特定のタスク推奨フォーマットの選択などを介して)特定のメンバーへのタスク推奨を調整するために使用され得る。
【0179】
[0195]トレーニングされたタスク生成器428は、特定のメンバーに調整された特徴ベクトルからタスク推奨を生成し得る。前述のように、タスク生成器428はまた、メンバーによって承認される可能性がある、メンバーに好ましいフォーマットの、メンバーに好ましい通信プロトコルを使用して送信または提示されるなどのタスク推奨を生成し得る。いくつかの例では、タスク生成器428は、特徴ベクトル中の特徴でタスクテンプレート(存在する場合)中のフィールドをポピュレートすることによってタスク推奨を生成し得る。何らかの情報が未知であるか、欠落している場合、タスク生成器428および/または代理は、(たとえば、チャットインターフェース、SMS、電子メール、タスク容易化サービスなどを通して)メンバーに情報を要求し得る。
【0180】
[0196]タスクテンプレートが識別されない場合、タスク生成器428および/または代理は、特徴ベクトルを処理し、メンバーに推奨され得るタスクを予測し得る。タスク生成器428は、メンバーにとって興味深いものである可能性がある、メンバーの選好に基づく、および/またはメンバーに関連する他の基準に基づくタスクを生成し得る。たとえば、タスク生成器428および/または代理は、メンバーにとって興味深いものであり得る活動のタスク推奨を生成し得、これは、タスクの仕様404、メンバーに関連するユーザモデル、および/またはトレーニングデータ432(たとえば、メンバーによってまたはメンバーのために実施されたユーザモデルおよび/または過去のタスクなど)に基づき得る。いくつかの例では、タスク生成器428および/または代理は、タスクのリストからタスクを選択し得る。リストは、メンバーによって実施された前のタスク、メンバーによって前に選択されたタスク、メンバーにとって興味深いものであると予測されるタスク(たとえば、メンバーに関連するユーザモデル)などに基づいて特定のメンバーのために生成され得る。他の例では、タスク生成器428および/または代理は、メンバーにとって興味深いものである可能性があるとタスク生成器428および/または代理が予測する任意のタスクを選択し得る。(リストから、機械学習モデルまたは代理によってなど)タスクが選択されると、タスク生成器428は、メンバーのためのタスク推奨を定義するためにタスクに対応するタスクテンプレートを取り出し得る。タスク生成器428は、次いで、特徴ベクトル、メンバーに関連するユーザモデル、メンバーの入力408および/または他の入力、代理の入力416および/または他の入力などを使用してタスクテンプレートのフィールドをポピュレートし得る。
【0181】
[0197]いくつかの例では、タスク生成器428は、タスク推奨ならびに精度メトリックを出力し得る。精度メトリックは、生成されたタスク推奨が、特徴ベクトルおよび/もしくはユーザモデル、タスク生成器428の内部データ、ならびに/またはメンバーのために生成された過去のタスク推奨にうまく対応するのかを示し得る。言い換えれば、精度メトリックは、生成されたタスク推奨がメンバーによって承認される可能性がある可能性を示し得る。可能性がしきい値よりも小さい場合、タスク推奨はパージされ得る。可能性がしきい値よりも大きい場合、タスク推奨は、タスク440に送信され得る。
【0182】
[0198]タスク440は、(たとえば、代理106および/またはメンバーによる)選択のための代理106への提示のためにタスクのセットを記憶するバッファであり得る。タスク440は、代理106および/またはメンバー118にタスク生成器428によって生成されたタスクを提示することができる(たとえば、ディスプレイインターフェース、通信インターフェース、アプリケーションプログラミングインターフェースなどの)インターフェースを含み得る。タスク436は、タスク生成器428によって、(たとえば、ユーザ入力、ユーザモデルなどを介して)メンバー118によって、および/または代理106によって決定された順序でタスクをランク付けし得る。たとえば、ランキングは、タスク生成428からの出力(たとえば、精度メトリックおよび/またはタスク推奨がメンバーによって承認されることになる可能性を示すメトリックなど)に基づき得る。
【0183】
[0199]いくつかの例では、代理106は、メンバーに送信される(または、メンバーによって表示される)ことになる1つまたは複数のタスク推奨を選択すること、(2つ以上の場合に)タスク推奨をランク付けすること、1つまたは複数のタスク推奨を修正すること、1つまたは複数のタスク推奨を削除すること、それらの組合せなどを行うためにインターフェースを介してタスク推奨を検討し得る。たとえば、タスク推奨は、メンバーによりよく適合させるために代理106によって修正され得る。いくつかの例では、タスク推奨は、選択のためにメンバーに提示され得る。それらの例では、タスク推奨は、タスク作成サブシステム304によって自動的に生成され、(たとえば、代理106による介入なしに)メンバーによって選択され得る。選択されたタスク推奨は、次いで、承認/選択のためにメンバーに提示され得る。
【0184】
[0200]タスク作成サブシステム304の態様は、強化学習を通してさらにトレーニングされ得る。タスク生成器428からの出力(たとえば、タスク推奨、精度メトリックなど)は、タスク440に加えてトレーニングデータ432に送信され得る。時間とともに、トレーニングデータ432は、最近のタスク推奨に関連するより多くのデータを含み得、これは、より古いタスク推奨よりもメンバーにとって興味深いものである可能性が高くなり得る。トレーニングデータ432はまた、どのタスク推奨が選択されたのか(たとえば、メンバーへの提示のために承認されたのか)、どのタスク推奨が選択されなかったのか、(たとえば、それらの修正の識別情報を含む)どのタスク推奨が修正されたのか、タスクを実施したおよび/または実行したエンティティ(たとえば、タスク容易化サービス、サードパーティサービスプロバイダ、代理、他の代理それらの組合せなど)に関連する情報などを示すフィードバックをメンバー118から、および/またはそれを示す入力を代理106から受信し得る。トレーニングデータ432は、タスク生成器428によって生成されたタスク推奨の間の関連する標示と代理106からの入力に基づく割り当てられた標示とを記憶し得る。一例では、承認されたタスク推奨には、「真」、「1」などの標示が割り当てられ得、承認されなかったタスク推奨には、「偽」、「0」などが割り当てられ得る。修正されたタスク推奨には、中立値(たとえば、「.5」、ヌルなど)または承認されなかったタスク推奨に割り当てられた値と同じ値が割り当てられ得る。
【0185】
[0201]強化学習の場合、タスク生成器428は、周期的に(たとえば、タスク推奨が生成された後ごとに、n個のタスク推奨が生成された後ごとに、n時間後になど)、タスク生成器428もしくは代理の機械学習モデルまたは他のプロセスを改良するために1つまたは複数のタスク推奨とそれらの対応する標示とを処理するトレーニングステップを実行し得る。強化学習は、タスク生成器428から出力されたタスク推奨を徐々に改善し得る(たとえば、精度メトリックをも増加させ得る)。
【0186】
[0202]いくつかの例では、精度メトリック(または精度、対数損失、曲線下面積、F1スコア、平均2乗誤差、などのタスク生成器428から出力された他のメトリック)は、機械学習モデルまたは代理106の精度がしきい値精度を下回ること(または他のメトリックに基づいて定義されたしきい値を超えること)を示し得る。一例では、メンバーは、タスク作成サブシステム304が高品質のタスク推奨を生成していないことがあることを示し得る。タスク生成器428が適切なタスク推奨を生成していないことがあるという指示(たとえば、エラーをもつタスク推奨、承認されないタスク推奨の高い頻度など)。それらの例では、タスク生成器、代理106、および/またはタスク作成サブシステムは、再トレーニングされ得る。たとえば、(タスク生成器428からの最近の出力と対応する標示とを含み得る)トレーニングデータ432は、より正確な(たとえば、メンバーにとって興味深いものである可能性が高い、メンバーの期待を満たすなどの)タスク推奨の生成を可能にするためにタスク生成器428および/または代理106を再トレーニングするために使用され得る。いくつかの例では、タスク生成器428は、パージされ(たとえば、訓練されていない状態に戻され)、再トレーニングされ得る。他の例では、タスク生成器428は、トレーニングフェーズを再実行し得る。
【0187】
[0203]トレーニングデータ432が最後のトレーニングフェーズ以来のタスク生成器428の実行からの追加のデータを含むので、トレーニングフェーズが作業タスク生成器428に対してトリガされるときでも、タスク生成器428をトレーニングまたは再トレーニングすることは、タスク生成器428(および/または代理106)の実施を改善し得る。いくつかの例では、タスク生成器428は、周期的に再トレーニングされ得る。再トレーニングは、強化学習に加えて実行され得る。たとえば、タスク生成器428は、x日ごとに再トレーニングされ得るが、強化学習は、n時間ごとに(またはn個のタスク推奨が生成された後にまたは前に説明されたように)強化トレーニングをトリガし得る。
【0188】
[0204]タスク生成器428からの出力はまた、特徴抽出器420に送信され得る。いくつかの例では、タスク生成器428および/または代理106は、タスクの識別情報を示すまたはタスク推奨を生成する際に使用可能であり得る特徴ベクトルの特徴を決定し得る。特徴ベクトル中の他の特徴は、あまり有用でないことがあるか、まったく使用されないことがあるか、雑音を誘起し得るか、あるいはタスク生成器428および/または代理106の精度を低減するなどであり得る。たとえば、対応が生じたときに対応する特徴は、対応中にまたはタスクが実施されることになるときに識別されたタスクを示さないことがある。タスク生成器428からの出力は、特徴抽出を改良すること(たとえば、特徴を除去すること、特徴を追加すること、特徴を修正すること、新しい特徴を導出することなど)を行うために特徴抽出器420および/または代理106によって使用され得る。いくつかの例では、特徴抽出器420は、将来のメンバー入力408を改善すること、(たとえば、再トレーニング、強化学習などを通して)機械学習モデル412を改善すること、および/または代理入力416を改善することを行うためにタスクの仕様404に改良の指示を送信し得る。改善は、(たとえば、雑音などを生じ得る)不要なまたは余分なデータを除去すること、(たとえば、タスク生成器428などによって生成された特徴抽出器420、得られた特徴ベクトル、および/またはタスク推奨を改善し得る)情報ソースを追加または除去すること、それらの組合せなどによってより良いタスクの仕様を与え得る。
【0189】
[0205]
図5は、本開示の態様による、メンバーのために実施されるように構成された推奨されるタスクの提案を生成し、ランク付けする提案作成サブシステム303の例示的な例を示す。いくつかの例では、提案は、(たとえば、メンバー、代理、1つまたは複数のサードパーティサービスプロバイダなどによって実施可能な)実行のために構成されたタスクの実装であり得る。たとえば、夜の活動のための提案は、(限定はしないが)活動の識別情報、活動のコストの識別情報、1つまたは複数の特定のベンダーまたはサービスプロバイダの識別情報、旅行施設(たとえば、フライト、タクシー、公共交通機関、ホテルなど)の識別情報、旅行施設のコスト、旅行施設の予約(たとえば、航空券、ホテルの予約、メトロカードなど)、食事施設(レストランの予約など)などを含み得る。別の例では、屋根の修理のための提案は、屋根の修理のベンダーの識別情報、コストの識別情報、修復が行われることになる時間の識別情報などを含み得る。いくつかの例では、提案は、メンバーがタスクの実施を容易にするために提案の実施を認証するだけでよいようにタスクの完了実装であり得る。他の例では、提案は、メンバーによって選択されることになるオプションおよび/またはフィールドを含み得る。
【0190】
[0206]提案の仕様504は、限定はしないが、代理入力508、機械学習モデル512、タスク識別子516などの提案を生成するために提案作成サブシステム303によって使用可能なデータを含み得る。いくつかの例では、提案の仕様504は、(たとえば、ユーザモデルなどの)メンバーに関連するデータ、メンバーによるタスクの選択または生成に関連するデータ、代理106によるタスクの選択または生成に関連するデータ、タスク作成サブシステム304によるタスクの選択または生成に関連するデータなどの追加のデータを含み得る。タスクの仕様504は、(たとえば、前に説明したように)メンバーによるタスク推奨による選択、(たとえば、そうするようにメンバーおよび/またはタスク容易化サービス102によって認証された場合)代理106による選択、(たとえば、アプリケーションまたはウェブポータルなどの)自動化されたサービスによる選択などに応答して生成され得る。
【0191】
[0207]タスクID516は、提案が生成されることになるタスクを識別し得る。タスクテンプレートまたはタスク推奨は、タスクID516を使用して取り出され得る。代替的に、代理106は、タスクID516に対応するタスクテンプレートを選択し得る。タスクテンプレートまたはタスク推奨は、情報が実装を定義するために含まれ得る1つまたは複数のフィールド(たとえば、タイムスタンプ、サードパーティサービスプロバイダ、コスト、活動など)を含み得る。
【0192】
[0208]代理入力508は、タスクに関連する情報、タスクテンプレート、タスク推奨、それらの任意のフィールドなどを含み得る。いくつかの例では、代理入力508は、(たとえば、代理106とメンバー118との間、代理106と別の代理との間、代理106と他のメンバーとの間、代理106とタスク容易化サービス102との間などの)自然言語の対応を含み得る。いくつかの例では、自然言語入力は、提案の仕様504中に含まれ得る。他の例では、自然言語入力は、機械学習モデル512によって処理され得、その処理の出力は、提案の仕様504中に含まれ得る。機械学習モデル512は、フィールドに追加されることになるフィールドのコンテンツを識別するためにメンバーデータ(たとえば、タスクの仕様404に関連して説明されたデータのいずれか)を処理するためにトレーニングされた1つまたは複数の機械学習モデルを含み得る。機械学習モデルは、限定はしないが、自然言語プロセッサ、画像プロセッサ(たとえば、物体認識、コンピュータビジョンなど)、(たとえば、入力特徴などに基づいて単変量または多変量予測を生成する)分類器、それらの組合せなど含み得る。
【0193】
[0209]提案の仕様504は、提案生成器524が提案を生成することができる特徴のセットを導出し得る特徴抽出器520にパスされ得る。特徴抽出器520は、生成されている特定の提案に対応するデータのセットのサブセットに提案の仕様504のデータの未加工のセットを改良するフィルタとして動作し得る。たとえば、データのセット中のすべてのデータポイントのための特徴を導出することは、多すぎる特徴(たとえば、提案生成器524および/または代理106によって使用不可能であるよりも多くの特徴、矛盾するかまたは雑音が多いことがある特徴など)を生成し得、提案の生成の精度を低減し得る。いくつかの例では、特徴抽出器520は、データのセットを分析し、提案生成器524によって使用可能であることが知られているかまたはその可能性があるデータから特徴を生成および/または導出することによって生成される特徴の量を低減し得る。いくつかの例では、(たとえば、分類器などの)機械学習モデルは、識別タスクを改善するために提案生成器524に使用可能である可能性に従ってデータポイントおよび/または特徴を分類するために使用され得る。
【0194】
[0210]特徴抽出器520は、提案生成器524によって使用可能である可能性が低い(たとえば、しきい値可能性を下回るなど)特徴を除去すること、2つ以上の特徴から特徴を導出すること、次元削減アルゴリズム(たとえば、主成分分析、線形または一般などの判別分析など)を適用すること、それらの組合せなどによって生成される特徴の量を低減し得る。他の例では、特徴抽出器520は、不平衡な特徴重みを補償する(たとえば、低く重み付けされた特徴に追加の特徴を追加することが等しい表現を保証するためにそれらの重みを増加させ得る)などのために特徴のセット中に特徴から導出された新しい特徴を追加し得る。
【0195】
[0211]特徴抽出器520によって抽出された特徴は、提案生成器524にパスされ得る。提案生成器524は、提案を生成するように構成された1つまたは複数の機械学習モデルを含み得る。代替的に、提案生成器524は、自動的にまたは代理106によって動作される1つまたは複数のプロセスを含み得る。機械学習モデルは、提案の特定のフィールド(たとえば、特定の日付、ベンダー、コストなど)がメンバーによって承認されることになる可能性を予測することによって提案の各態様を識別し得る。たとえば、機械学習モデルは、メンバーが選択するであろう特定のフライトおよび座席指定を予測し得る。各予測は、対応する精度メトリック(たとえば、予測がモデル、トレーニングデータ528、入力特徴、および/または予測がメンバーによって選択されるもしくは承認されることになる可能性に適合する程度)に関連付けられ得る。機械学習モデルはまた、全体的な提案が入力特徴、トレーニングデータ528、モデルなどにどのくらい対応するのかに関するアイデアを代理106および/またはメンバーに与えるために全体的な提案に対応する精度メトリックを出力し得る。
【0196】
[0212]機械学習モデルおよび/または代理106は、その後強化学習を用いる教師なし学習を使用してトレーニングされ得る。メンバーが代理106および/またはタスク容易化サービスとの接続を確立するときに、メンバーに関してほとんど知られていないので、特定のメンバーに対応するトレーニングデータ528は、教師つき学習には小さすぎることがある。トレーニングデータ528は、他の代理、他のメンバー、手続的に生成されたデータなどに対応する追加のデータでパディングされ得る。機械学習モデルがトレーニングされると、機械学習モデルは、(たとえば、提案が生成され、提案を承認する、承認しない、および/または修正するユーザ入力が受信されるときなどに通常の間隔で提案生成器の中間の再トレーニングを実行する)強化学習を使用して改良され得る。たとえば、承認される生成された提案は、入力特徴の同様のセットが承認された提案を生成する可能性が高いことになることを保証するために機械学習モデル(たとえば、内部重みなど)を改良し得る。いくつかの例では、強化学習はまた、実行情報(たとえば、タスク容易化サービス102、代理106、他の代理、サードパーティサービスプロバイダなどのタスクおよび/またはその一部分を実施したエンティティに関連する情報)を使用し得る。
【0197】
[0213]トレーニングされると、機械学習モデルおよび/または代理106は、(たとえば、n日ごとに、メンバー入力に基づいて、代理入力に基づいて、精度メトリックに基づいてなど)周期的に再トレーニングされ得る。それぞれの生成された提案に関連する情報と提案が承認されたのか、承認されなかったのか、および/または修正されたのかに関する指示とがトレーニングデータ528中に記憶されるので、提案作成サブシステム303が特定のメンバーのためにより長く動作するほど、トレーニングデータ528は、特定のメンバーに関連付けられるより多くの情報を含む。
【0198】
[0214]いくつかの例では、トレーニングデータ528は、あらかじめ決定された量のデータを記憶し得る。最初に、メンバーに関してほとんど知られていないことがあるとき、トレーニングデータ528は、主に、代理106、他の代理、他のメンバー、手続的に生成されたデータなどに関連する情報を含み得る。新しいデータがトレーニングデータ528(たとえば、特定のメンバーのために生成された提案)中に記憶されるので、より古いデータは、データ制限(たとえば、あらかじめ決定された量のデータ)を保存するためにトレーニングデータ528から除去され得る。提案作成サブシステム303が十分に長く動作する場合、トレーニングデータ528は、特定のメンバーに対応するデータのみで充填され、次いで特定のメンバーに対応する最近のデータのみで充填され得る。再トレーニングが行われるとき、得られた機械学習モデルは、最初のデータに対してトレーニングされた機械学習モデルよりも正確であり得る。
【0199】
[0215]生成された提案は、提案カスタマイズ532に出力され得る。提案カスタマイズ532は、代理106および/またはメンバー118に提案を提示するためのインターフェース(たとえば、グラフィカルユーザインターフェース、アプリケーションプログラミングインターフェースなど)を含む。提案カスタマイズ532はまた、提案の部分および/または提案全体を承認する、承認しない、および/または修正するために代理106および/またはメンバー118から入力を受信することができるインターフェースを含み得る。たとえば、HVACシステムを修理するタスクのための提案は、修理を与えるサードパーティサービスプロバイダの識別情報と、部品の識別情報と、部品をいくらかで取得するためのベンダーの識別情報と、コストの識別情報と、修理がスケジュールされる時間間隔の識別情報とを含み得る。メンバー118は、異なるサードパーティサービスプロバイダ、部品を取得するための異なるベンダーおよび/もしくは異なる部品、ならびに/または修理を行う異なる時間間隔を選択するための入力を与え得る。
【0200】
[0216]提案カスタマイズ532は、ユーザモデルおよび/または代理モデル(図示せず)から入力を受信し得る。ユーザモデル426は、特定のメンバーに対応するユーザモデルを記憶し、これは、特定のメンバーへの提案を調整するために使用可能であり得る。いくつかの例では、提案カスタマイズ532は、ユーザモデルおよび/または代理モデルに基づいて提案を自動的に(たとえば、自動化されたサービスを通して)修正し得る。他の例では、代理106は、ユーザモデル436を使用して提案を修正し得る。ユーザモデルは、メンバーの選好を予測するために問合せおよび/または実行が行われ得る。予測された選好は、(たとえば、メンバーが物を前に取得したベンダーなどの)前に実行された提案、メンバーに関連する情報、メンバーに関連するデバイスおよび/またはアプリケーションから取得された情報、サードパーティサービスから取得された情報、それらの組合せに基づき得る。
【0201】
[0217]提案カスタマイズ532が終了すると、提案カスタマイズ532の結果は、提案生成器524の実施を改善すること(たとえば、機械学習モデルおよび/または代理106をトレーニングすること、機械学習モデルおよび/または代理106を再トレーニングすること、機械学習モデルおよび/または代理106の強化学習など)を行うためにトレーニングデータ528にパスされ得る。
【0202】
[0218]提案540は、(たとえば、代理106および/またはメンバー118による)選択のための代理106への提示のために提案のセットを記憶するバッファであり得る。提案540は、代理106および/またはメンバー118に提案生成器528によって生成された提案を提示することができる(たとえば、ディスプレイインターフェース、通信インターフェース、アプリケーションプログラミングインターフェースなどの)インターフェースを含み得る。いくつかの例では、提案540は、(たとえば、精度メトリックなどに基づいて)提案生成器528によって、(たとえば、ユーザ入力、ユーザモデルなどを介して)メンバー118によって、および/または代理106によって決定された順序で提案をランク付けし得る。提案のセットは、複数のタスクのための提案または単一のタスクのための複数の提案を含み得る。たとえば、提案生成器524および/または代理106は、メンバーのために提案の複数の変形形態を生成し得る。HVACの修理に対応するタスクのための第1の提案は、修理のための第1の時間間隔を修理に与える第1のサードパーティサービスプロバイダの識別情報を含み得る。そのタスクのための第2の提案は、異なる時間間隔および/または修理を与える異なるサードパーティサービスプロバイダなどを含み得る。提案生成器524および/または代理106は、所与のタスクのために単一の提案を生成するか、(たとえば、メンバーに過負荷をかけるのを防げるために)所与のタスクのためにあらかじめ決定された量の提案を生成するか、または所与のタスクのために任意の量の提案を生成し得る。
【0203】
[0219]代理106は、メンバーの承認のためにメンバーに提示するために提案536から提案を選択し得る。いくつかの例では、メンバーは、特定の提案のさらなるカスタマイズを要求し得る。それらの例では、プロセスは、提案カスタマイズ532に戻り得、ここで、提案は、メンバー入力に従ってカスタマイズされ得る。承認された提案は、提案を実行するように割り当てられた当事者(たとえば、タスクの一部または全部を実装するものとして提案によって識別された代理106、別の代理、タスク容易化サービス、サードパーティサービスプロバイダなど)に送信され得る。タスク容易化サービスは、(たとえば、タスク容易化サービスと割り当てられた当事者との間の通信を有効化するように構成されたアプリケーションプログラミングインターフェースを使用するなどして)割り当てられた当事者に提案を送信し得る。提案536の提案のセットの承認、非承認、および/または修正の指示は、(たとえば、提案生成器524および/もしくは代理106をさらに改良するために)トレーニングデータ528にならびに/またはユーザモデル436および/もしくは代理モデル(図示せず)に送信され得る。
【0204】
[0220]
図6は、本開示の態様による、タスク容易化サービスによる実施のためのタスク推奨を生成するための例示的なプロセス600のフローチャートを示す。ブロック604において、(たとえば、前に説明されたようにメンバーなどの)ユーザに関連するセンサデータが(たとえば、タスク容易化サービス102、代理106などによって)受信され得る。センサデータは、ユーザに対応するユーザモデルに関連して記憶され得る。センサデータは、ユーザ入力などのユーザに関連する任意のデータ(たとえば、ユーザから直接または間接的に送信されるテキスト、オーディオ、および/またはビデオなど)、(たとえば、IoTデバイス、スマートフォン、携帯情報端末などのモバイルデバイス、パーソナルコンピュータ、サーバ、データベースなどのコンピューティングデバイス、限定はしないが、温度計、湿度計、磁力計、圧力センサ、加速度計などのセンサデバイス、静止画像カメラ、モーションカメラ、赤外線カメラなどのカメラ、マイクロフォン、それらの組合せなどの)ユーザに関連するデバイスから生成または導出されるデータ、ユーザに関連するアプリケーション(たとえば、カレンダ、連絡先、SMSおよび/またはダイレクトメッセージングアプリケーション、電子メール、やることリスト、買物リスト、他のリスト、ソーシャルメディア、ゲームなど)、サードパーティサービス(たとえば、限定はしないが、音楽ストリーミングサービス、ビデオストリーミングサービス、調理サービス、清掃サービス、育児/高齢者介護サービス、および/または任意の他のアプリケーションおよび/またはサービスなどのユーザによって使用されるアプリケーションおよび/またはサービス)、他のユーザ(たとえば、ユーザに関連する情報を有し得、タスク容易化サービスと情報を共有することに同意した家族、友人、知人)に関連するデバイス、それらの組合せなどを含み得る。いくつかの例では、センサデータは、リアルタイムで受信され得る。代替または追加として、センサデータは、上述のソースのいずれかから受信された情報を記憶するリソースライブラリから受信され得る。
【0205】
[0221]ユーザモデルは、(たとえば、ユーザがタスク容易化サービスのサービスを利用していた持続時間などの)あらかじめ決定された時間間隔にわたって取得されたユーザに関連する情報から生成され得る。いくつかの例では、ユーザモデルは、情報をカプセル化するために機械学習モデルおよび/または代理によって生成され得る。ユーザモデルは、特定の情報を取得するために問い合わせられ得る。いくつかの例では、ユーザモデルは、ユーザに関連する予測を生成するために入力特徴を使用して実行され得る。予測は、ユーザにとって興味深いものであり得るタスク、ユーザの選好、メンバーが所与の特定の質問および/または情報を行うであろう決定などに対応し得る。
【0206】
[0222]いくつかの例では、センサデータは、タスクに対応する可能性があり得るかまたはタスクが識別され得るユーザに関連するデータの部分を含み得る。たとえば、センサデータは、(たとえば、イベント、行為、前に実行または識別されたタスクなどの)タスクに関連する(たとえば、機械学習分類器、キーワード、代理などによって識別された)トピックを含むユーザとタスク容易化サービスの代理との間、ユーザと(たとえば、家族、友人、同僚などの)ユーザに関連するユーザとの間などの1つまたは複数の通信を含み得る。センサデータは、メンバーおよびトピックまたはタスクに関連する他の情報で増強され得る。たとえば、ユーザは、「コンサート」タスクに関連付けられ得る好適なミュージシャン(たとえば、トピック)について論じ得る。センサデータは、次いで、ユーザに関連する他のデータ(たとえば、コンサートに参加するユーザの利用可能性、好適なチケットタイプ、好適な旅行タイプなど)、トピックまたは「コンサート」タスクに関連するデータ(たとえば、ツアーの日付、チケットの利用可能性、および/またはコストなど)で増強され得る。したがって、増強されたセンサデータは、タスク推奨および提案(ユーザによって承認される場合)を生成するために使用可能なデータの完全なセットを含み得る。
【0207】
[0223]ブロック608において、特徴ベクトルは、センサデータとユーザモデルとから生成され得る。特徴ベクトルは、時間(たとえば、基礎をなすデータが受信および/または生成された時間に従って特徴が編成された状態)、データタイプ、タスクタイプ、ユーザタイプなどの特定の分類法に従って編成された特徴のセットを含み得る。特徴は、センサデータおよび/またはユーザモデルから直接導出されること、センサデータおよび/またはユーザモデルから導出されることなどがあり得る。いくつかの例では、特徴選択(たとえば、1つまたは複数の他の特徴から1つの特徴を導出すること、次元削減アルゴリズムを実行することなど)は、特徴ベクトル中に含まれることになる特徴を低減するために利用され得る。
【0208】
[0224]特徴ベクトルは、特定のタスク、タスクタイプ、タスクのクラス、タスクタイプのクラスなどの予測である特徴を選択することによって生成され得る。各特徴の予測性は、ユーザ、ユーザとの対応、ユーザモデル、ユーザ入力などのためにタスク容易化サービスによって容易にされた前のタスクによって査定され得る。特定のタスク、タスクタイプ、タスクのクラス、タスクタイプのクラスなどのための予測である特徴は、特徴ベクトル中に含めるために識別され得る。識別された特徴は、次いで、特徴ベクトルの特定の分類法に従って編成され得る。(たとえば、しきい値などに基づいて)高と示された予測性を有しない特徴は、特徴ベクトルからおよび/またはタスク容易化サービスのこの反復のためのさらなる処理から省略され得る。
【0209】
[0225]ブロック612において、機械学習モデルは、1つまたは複数のタスクの識別情報を生成するために特徴ベクトルを使用して実行され得る。代替または追加として、特徴ベクトルは、1つまたは複数のタスクの識別情報を生成するために自動化されたサービス、タスク容易化サービスの代理などによって処理され得る。1つまたは複数のタスクは、タスク容易化サービス102、代理106、他の代理、ユーザ、他のユーザ、1つまたは複数のサードパーティサービスプロバイダなどのうちの1つまたは複数によって完全にまたは部分的に実施および/または実行されるように構成され得る。機械学習モデルは、
図4のタスク生成器428の機械学習モデルのうちの1つまたは複数を含み得る。タスクの識別情報は、タスク生成器428または提案生成器528の出力に対応し得る。機械学習モデルは、特徴ベクトルからタスクタイプおよび/またはテンプレートを識別し得る。タスクタイプおよび/またはタスクテンプレートは、ユーザにタスクを詳しく述べるように構成された空のフィールドのセットをもつ一般化されたタスクであり得る。たとえば、タスクテンプレートは、物とロケーションとの両方がタスクテンプレートの空のフィールドであり得る「ロケーションで物を修理する」を含み得る。機械学習モデル(および/または自動化されたサービス、代理など)は、次いで、タスクテンプレート中のフィールドの予測に対応する多変量出力を生成し得る。タスクおよび/またはタスクテンプレートは、任意の数のフィールドを含み得る。前の例に戻ると、機械学習モデルは「主たる住まいで屋根を修理する」を出力し得る。機械学習モデルは、タスクおよび予測されたフィールドをユーザに通信され得る会話型フォーマットに変換するように構成された自然言語生成器を含み得る。いくつかの例では、機械学習モデルの機能は、代理によって与えられ得る。
【0210】
[0226]機械学習モデルは、機械学習モデルからの出力に関連する精度メトリックを生成し得る。精度メトリックは、予測されたタスク、タスクタイプ、フィールド、フィールドのグループなどが入力特徴ベクトルに対応するかまたはユーザによって選択されているであろう値に対応する程度を示し得る。精度メトリックはまた、ハイパーパラメータの品質、トレーニングデータ、トレーニングプロセス、機械学習モデルの重み、機械学習モデルの他の内部データなどを示し得る。精度メトリックは、タスクの識別情報が承認のためにユーザに提示されなければならないのかどうかを決定するために使用され得る。フィールドの精度メトリックがしきい値を下回る場合、フィールドは、ヌルに設定されるか、あるいは空のまま残され得る。いくつかの例では、精度メトリックは、機械学習モデルの態様(たとえば、ハイパーパラメータ、内部重みなど)を修正または調整すること、(強化学習などのために)トレーニング反復を開始すること、この機械学習モデルを置き換えるために新しい機械学習モデルをトレーニングすることなどを行うために使用され得る。
【0211】
[0227]ブロック616において、1つまたは複数のタスクから特定のタスクが選択され得る。特定のタスクは、1つまたは複数のタスクの精度メトリック、ユーザ入力、代理106の入力、タスクタイプ、優先度メトリックなどに基づいて選択され得る。いくつかの例では、特定のタスクは、センサデータおよび/または特徴ベクトルと特定のタスクのタスクタイプとの間の対応に基づいて選択され得る。たとえば、センサデータおよび/または特徴ベクトルは、特定のタスクタイプを示し得る。機械学習モデルの実行中に、1つのタスクが(たとえば、相関係数またはR値などによって決定された)センサデータおよび/または特徴ベクトルに対してより強い相関を有した状態で、2つのタスクの識別情報が生成され得る。したがって、特定のタスクは、センサデータおよび/または特徴ベクトルに対して最も強い相関を有するタスクであり得る。
【0212】
[0228]特定のタスクの選択は、強化学習のために機械学習モデル(または代理106)によって使用され得る。選択は、ユーザのためのタスクを選択、予測、および/または生成する際の機械学習モデル(または代理106)の精度を示し得る。選択は、代理106および/またはユーザによって選択されたタスクのほうを優先し、代理106および/またはユーザによって選択されなかった(またはそれによって修正された)タスクから離れてモデルの動作を改良するために機械学習モデル(または代理106)からの出力とともに使用され得る。
【0213】
[0229]ブロック620において、特定のタスクの識別情報を含む送信が容易にされ得る。送信を容易にすることは、識別された送信をデバイスに送信させることを含み得る。いくつかの例では、送信を容易にすることは、(ユーザがタスクをまだ承認していなかった場合に)ユーザ承認のためにユーザに特定のタスクの識別情報を送信することを含み得る。他の例では、送信を容易にすることは、特定のタスクの実施のためにタスク容易化サービス、代理106、1つまたは複数のサードパーティサービスプロバイダなどのうちの1つまたは複数に特定のタスクの識別情報(またはそれの一部分)を送信することを含み得る。
【0214】
[0230]タスクが1つまたは複数の割り当てられたエンティティによる実施のために送信されると、プロセスはブロック604に戻り得る。いくつかの例では、センサデータは、連続的に受信され得る。したがって、
図6のプロセスは、連続的に実行され得る。いくつかの例では、プロセスの複数のインスタンスが実行し得る。それらの例では、プロセスは、プロセスの他のインスタンスと連続しておよび/または並行して実行し得る。代替的に、さらなるセンサデータが受信されない場合、プロセスは終了し得る。
【0215】
[0231]
図7は、本開示の態様による、タスク実行を容易にするための例示的な環境700のブロック図を示す。いくつかの例では、代理704によって実施される動作は、1つまたは複数の機械学習アルゴリズム、人工知能システムおよび/または計算モデルを使用して部分的におよび/または完全に実施される。たとえば、代理704がメンバー712に代わってタスクを実施するかまたはそれの実施を調整するときに、タスク容易化サービス702は、メンバー712のプロファイルおよび/またはメンバー712のプロファイルの計算モデルを更新し得る。
【0216】
[0232]いくつかの例では、代理704がメンバー712に代わってタスクを実施するかあるいはそれの実施を調整するときに、タスク容易化サービス702は、メンバー712のプロファイルおよび/またはメンバー712のプロファイルの計算モデルを連続的に更新する。たとえば、メンバー712がタスク容易化サービス702のシステムと通信するとき、タスク容易化サービス702は、対話中に連続的にメンバー712のプロファイルおよび/またはメンバー712のプロファイルの計算モデルを更新し得る。
【0217】
[0233]いくつかの例では、代理704がメンバー712に代わってタスクを実施するかまたはそれの実施を調整するときに、タスク容易化サービス702は、メンバー712のプロファイルおよび/またはメンバー712のプロファイルの計算モデルを動的に更新する。たとえば、タスクがメンバー712に代わって実施されるとき、タスクを実施するベンダーは、タスク容易化サービス702に通常の更新を与え得、タスク容易化サービス702は、ベンダーからの各更新時に動的にメンバー712のプロファイルおよび/またはメンバー712のプロファイルの計算モデルを更新し得る。
【0218】
[0234]いくつかの例では、代理704がメンバー712に代わってタスクを実施するかあるいはそれの実施を調整するときに、タスク容易化サービス702は、メンバー712のプロファイルおよび/またはメンバー712のプロファイルの計算モデルを自動的に更新する。たとえば、提案がメンバーのために生成されるとき、タスク容易化サービス702は、提案の生成プロセスの部分として自動的にメンバー712のプロファイルおよび/またはメンバー712のプロファイルの計算モデルを更新し得る。
【0219】
[0235]いくつかの例では、代理704がメンバー712に代わってタスクを実施するかあるいはそれの実施を調整するときに、タスク容易化サービス702は、メンバー712のプロファイルおよび/またはメンバー712のプロファイルの計算モデルをリアルタイムに更新する。たとえば、メンバー712が提案を受け入れるとき、タスク容易化サービス702は、更新を遅延させるのではなく、提案の受入れが与えられたときにメンバー712のプロファイルおよび/またはメンバー712のプロファイルの計算モデルを更新し得る。
【0220】
[0236]いくつかの例では、タスク容易化サービス702は、タスク容易化サービス702の機械学習サブシステム706を使用してメンバー712のプロファイルおよび/またはメンバー712のプロファイルの計算モデルを更新する。いくつかの例では、機械学習サブシステム706は、機械学習アルゴリズム、人工知能システム、および/または計算モデルを実装するために構成されたタスク容易化サービス702の構成要素である。一例では、機械学習サブシステム706は、サンプルおよび/またはライブデータを使用して機械学習モデルをトレーニングするために様々なアルゴリズムを使用し得る。さらに、機械学習サブシステム706は、新しいデータが受信されるときに機械学習モデルを更新し得る。別の例では、機械学習サブシステム706は、様々な人工知能システムをトレーニングおよび/もしくは更新するか、または様々な計算モデルを生成、トレーニング、および/または更新し得る。たとえば、メンバー712のプロファイルの計算モデルは、新情報がメンバー712に関して受信されるときに機械学習サブシステム706によって、生成、トレーニングおよび/または更新され得る。
【0221】
[0237]いくつかの例では、メンバー712のプロファイルおよび/またはメンバー712のプロファイルの計算モデルがある時間期間(たとえば、6か月、一年など)にわたっておよび/またはタスクのセット(たとえば、20個のタスク、30個のタスクなど)を介して更新された後、タスク容易化サービス702のシステム(たとえば、タスク推奨システム)は、新しいタスクを連続的で、自動的で、動的で、リアルタイムに生成するために1つまたは複数の機械学習アルゴリズム、人工知能システム、および/または計算モデルを利用する。たとえば、タスク推奨システムは、代理の対話有りでまたは無しでメンバーのプロファイルの様々な属性(たとえば、メンバーと代理との間の通信に対応する履歴データ、代理の実施および提示されたタスク/提案に対応するメンバーのフィードバックなど)に基づいて新しいタスクを生成し得る。いくつかの例では、タスク容易化サービス702のシステム(たとえば、タスク推奨システム)は、何らかの追加情報を取得するためにメンバー712と自動的に通信し、これらのタスクの実施のためにメンバー712に提示され得る提案を生成することもできる。
【0222】
[0238]
図7に示されている例では、メンバー712とタスク容易化サービス702との間の通信は、タスク容易化サービス702内の1つまたは複数のエンティティにルーティングされ得る。
図7に示されている例は、(図中で「ルータ」と呼ばれる)通信ルータ714を示すが、企図されるように、
図7に示されているように、ルータ714は、エンティティ間の通信をルーティングするための1つまたは複数の技法の抽象的な表現である。したがって、メンバー712からタスク容易化サービス702への通信は、タスク容易化サービスの1つまたは複数のエンティティにルーティングされ得、タスク容易化サービス702の1つまたは複数のエンティティからの通信は、メンバー712にルーティングされて戻され得る。
【0223】
[0239]
図7に示されている例では、通信が代理704にルーティングされ716、タスク容易化サービスシステムおよび/またはサブシステム708にもルーティングされ得る718ので、代理704は、対話が本明細書で説明されるように肯定極性を維持することを保証するためにタスク容易化サービスシステムおよび/またはサブシステム708とメンバー712との間の通信を監視することができる。たとえば、メンバー712がタスク推奨システムと対話している場合、代理704は、メンバー712が対話に満足しているのかどうかを決定することができる。会話が否定極性を有すると(たとえば、メンバー712が対話に満足していないと)代理704が決定する場合、代理704は、対話を改善するために介入し得る。
【0224】
[0240]同様に、タスク容易化サービスシステムおよび/またはサブシステム708とメンバー712との間の他の対話は、タスク容易化サービスシステムおよび/またはサブシステム708とメンバー712との間の対話を監視するように構成され得るメンバー通信サブシステム722にルーティングされ得る720。いくつかの例では、メンバー通信サブシステム722は、(たとえば、ルータ714を使用して)タスク容易化サービスシステムおよび/またはサブシステム708とメンバー712との間の対話をインターセプトするように構成され得る。それらの例では、すべてのそのような対話は、メンバー712とメンバー通信サブシステム722との間でルーティングされ得720、メンバー通信サブシステム722とタスク容易化サービスシステムおよび/またはサブシステム708との間でルーティングされ得る724。それらの例では、タスク容易化サービスシステムおよび/またはサブシステム708とメンバー712との間の対話は、直接ルーティングされないことがある718。それらの例では、代理704は、対話が(たとえば、対話を代理704にルーティングする716ことによって)上記で説明されたように肯定極性を維持することを保証するためにタスク容易化サービスシステムおよび/またはサブシステム708とメンバー712との間の対話を依然として監視し得る。
【0225】
[0241]いくつかの例では、代理704は、代理704とメンバー712との間の対話に基づいてメンバー選好を変更することを示すメンバーのプロファイルを更新するために機械学習サブシステム706と対話することができる。いくつかの例では、タスク容易化サービスシステムおよび/またはサブシステム708は、たとえば、提案が受け入れられるかまたは拒否されるときにメンバーのプロファイルを更新するために機械学習サブシステム706と対話することができる。さらに、
図7に示されているように、タスク容易化サービス702とメンバー712との間の対話は、メンバー通信サブシステム722と機械学習サブシステム706との間でさらにルーティングされ得る726。したがって、メンバー712と、たとえば、提案作成サブシステムとの間の対話は、提案が作成されるときにメンバーのプロファイルを更新するために使用され得る。
【0226】
[0242]したがって、システムおよび環境が、エージェントおよび/または他の自動化されたシステムとのユーザの対話についてほとんどまたはまったく知識を有し得ない自動化された顧客サービスシステムおよび環境とは異なり、タスク容易化サービスシステムおよび/またはサブシステム708は、メンバー712のプロファイルおよび/またはメンバー712のプロファイルの計算モデルを連続的に、動的に、自動的に、および/またはリアルタイムに更新することができる。たとえば、タスク容易化サービスシステムおよび/またはサブシステム708は、本明細書で説明されるように機械学習サブシステム706を使用してメンバー712のプロファイルおよび/またはメンバー712のプロファイルの計算モデルを更新することができる。したがって、タスク容易化サービスシステムおよび/またはサブシステム708は、タスク容易化サービス702とのメンバーの自動対話に基づいて、代理704とのメンバーの対話に基づいて、および/または時間とともにメンバー712に代わって実施されたタスクに基づいてメンバーに関する最新の情報を与えるためにメンバー712のプロファイルおよび/またはメンバー712のプロファイルの計算モデルを更新することができる。この情報はまた、タスクおよび/または提案が、メンバー712のために作成され、提案され、実施されるときに連続的に、自動的に、動的に、および/またはリアルタイムに更新され得る。この情報はまた、(たとえば、メンバー712のクエリ、要求、および/または目標に応答して)メンバー712との適切なまたはインテリジェントな対話を予期し、識別し、提示するためにタスク容易化サービス702によって使用され得る。
【0227】
[0243]前に説明されたように、本開示によるシステムは、タスクデータを受信し、受信されたタスクデータに基づいてメンバーのためのタスクを提案または生成することを対象とする要素および機能を含み得る。いくつかの実装形態では、タスクを生成することは、実質的に手動プロセスであり得る。たとえば、
図1の要素を参照すると、メンバー118は、タスクを識別するために代理106と対話し得る。次いで、メンバー118および/または代理106は、タスクの完了に関連するすべてまたは実質的にすべての情報を与え得る。他の実装形態では、タスク容易化サービス102は、タスク容易化サービス102に利用可能なデータを分析するタスク推奨システム112を含み得、(たとえば、タスクデータストア110に記憶されるような)利用可能なタスクデータ、(たとえば、ユーザデータストア108に記憶されるような)ユーザデータ、タスク容易化サービス102によって維持されるメンバー118のモデル、および同様のデータおよびモデルに基づいて、潜在的なタスクに関する推奨をメンバー118に与える。
【0228】
[0244]タスクを推奨および生成するためにタスク容易化サービス102によって収集および使用されるデータのかなりの割合がタスク容易化サービス102とメンバー118との間の対話から生じ得るが、そのようなデータはまた、様々な他のソースから生じてもよく、様々な機構を使用してタスク容易化サービス102によって取得されてもよい。たとえば、メンバー118のコンピューティングデバイス120は、タスクおよびユーザデータを交換するために、外部アプリケーションプログラムインターフェース(API)などを通してタスク容易化サービス102と通信または対話し得る様々なアプリケーションを含み得る。同様に、タスク容易化サービス102は、インターネットなどを通じてリソースおよびウェブページをスクラップするか、あるいはこれにアクセスすることによって、メンバー118の外部アカウントへのリンクを通して、公的に利用可能なまたは他のデータベースを通して、タスクおよびユーザデータを取得し得る。別の言い方をすれば、タスク容易化サービス102は、任意の好適なリソースからメンバー118のためのタスクを提案および生成することに関連するデータをダイジェストおよび取得し得、メンバー118から直接収集されるデータに限定されなくてもよい。
【0229】
[0245]本開示の実装形態は、従来のタスク管理システムを上回る様々な注目すべき利点を与える。概して、本開示のシステムおよび方法は、複数の内部ソースおよび外部ソースからデータを収集し、収集されたデータに依拠して、メンバーにタスク推奨を与える、またはタスク容易化サービスによって維持および更新されるモデルに基づいてメンバーのためにタスクを生成する、タスク容易化サービスを含む。他方で、タスク管理および生産性に関連する従来のアプリケーションは、特に、ユーザが新しいタスクを手動で生成すること、タスクのための情報を入力すること、およびタスクステータスを更新することにほぼ排他的に依拠する。したがって、従来のタスク管理アプリケーションのコンテキストでは、タスクのユーザのリストが大きくなり、より複雑になるにつれて、タスクを単に検討および更新することは、ユーザの時間およびエネルギーのかなりの量を占め得る。従来のタスク管理およびタスク管理アプリケーションは、タスク追跡を容易にするが、サードパーティアプリケーションからのデータ、外部データソース、他のメンバーからのデータ、および他の情報の広さを考慮するユーザの全体論的な見方に基づいて、インテリジェントで動的なタスク関連の推奨をユーザに与え、および、特に、そのような推奨を与えるやり方でほとんどしていない。
【0230】
[0246]有意味なタスク推奨を与えることは、メンバー体験を実質的に強化するが、従来の手動で駆動されるタスク管理システムを上回る様々な技術的利点も与えることができる。第1の非限定的な例として、本開示の実装形態は、タスク容易化サービスによって管理されるタスクおよび情報の関連性を改善することによってコンピューティングリソースを節約するのに役立ち得る。より具体的には、内部および外部データの様々なソースならびに動的に更新された予測モデルに依拠することによって、タスク容易化サービスは、メンバーに与えられるタスク推奨またはメンバーの代わりに生成される新しいタスクが非常に関連する可能性を改善することができる。したがって、無関係なタスク、およびそれらのタスクを生成および管理するのに必要とされる対応するリソース(たとえば、処理能力、メモリ、帯域幅)の数が実質的に減少させられる。その上、所与のタスクが関連する可能性を改善することによって、タスク容易化サービスはまた、タスクがタイムリーで効率のよいやり方で完了される可能性を改善する。そうすることによって、本開示の実装形態は、アクティブタスクを追跡および管理するのに必要なタスクおよびリソースの持続時間を最小にする。また、効率のよいタスク完了を容易にすることによって、本開示の実装形態は、完了されたタスクについてのタスクデータが削除される、またはリソース効率のよいフォーマットでアーカイブされることを可能にする。
【0231】
[0247]別の例として、本開示の実装形態は、アプリケーションにわたるデータの同期を容易にすることによって、リソース消費を低減し、データの完全性を改善する。たとえば、メンバーは、タスク容易化サービスに関連するアプリケーション、およびカレンダまたはタスク管理アプリケーションなどのサードパーティアプリケーションの各々の内の所与のタスクに関する情報を維持し得る。本開示の実装形態では、各アプリケーションに関連するデータは、タスク容易化サービスによるタスクの進行および更新がサードパーティアプリケーションによって容易に反映されるように容易に交換および更新され、その逆も同様である。そうすることにより、データの手動同期に関連する時間、コンピューティングリソース、およびエラーのリスクをなくす。
【0232】
[0248]さらに別の例として、本開示の実装形態はまた、タスクを生成または管理するときに、メンバーが複数のアプリケーションからのデータを開いてアクセスする必要性を低減するまたはなくすことによってリソース消費を低減する。より具体的には、タスク容易化サービスは、タスクおよびタスク推奨を生成し、タスク容易化サービスの予測モデルを更新するために、サードパーティアプリケーションおよび他のデータソースからデータを動的および自動的に収集し得る。これらのプロセスを自動化することによって、本開示の実装形態は、メンバーがサードパーティアプリケーションを開き、関連データを掘り下げ、あるいはナビゲートし、アプリケーション間でデータを手動で転送する必要性をなくし、対応するコンピューティングリソースを節約する。
【0233】
[0249]上記は、本開示の実装形態によって与えられる様々な技術的な改善および利点の非限定の例である。他の利点および技術的な利益は、以下の説明およびそれが含む様々な例の利益を有する当業者によって容易に識別可能であるはずである。
【0234】
[0250]
図8は、タスク容易化サービス102とタスクおよびユーザデータの様々なソースとの間のタスク関連のデータの交換を示す環境800を示す。少なくともいくつかの実装形態では、タスク容易化サービス102は、インターネットなどのネットワーク802を介してソースと通信し、データを交換し得るが、本開示は、タスク容易化サービス102が任意の好適な通信媒体またはモダリティを使用して任意のソースからタスクおよびユーザデータを受信し得ることを想定する。
【0235】
[0251]タスクおよび関連のデータの第1の例示的なソースとして、環境800は、この説明のために、メンバー118に直接関連し、メンバー118によって使用されるコンピューティングデバイス120を含む。いくつかの実装形態では、メンバー118は、対応するアプリケーションを使用してタスク容易化サービス102と対話する。たとえば、アプリケーションは、概して、メンバー118が、メンバー118に関連し、タスク容易化サービス102によって容易にされるタスクについての情報にアクセスすることを可能にするユーザインターフェースを含み得る。特に、限定はしないが、ユーザインターフェースは、メンバー118がタスクに関するより詳細な情報を取得するようにタスクを選択することができる既存のタスクに関する情報を有するタスクリストなどの特徴を含み得る。ユーザインターフェースは、メンバー118がタスク容易化サービス102(たとえば、メンバー118に割り当てられた代理106と)と通信することができるチャットまたはメッセージインターフェースをさらに含み得る。
【0236】
[0252]上記を考慮すると、コンピューティングデバイス120上で実行され、タスク容易化サービス102に対応するアプリケーションは、メンバー118のためのタスクを推奨および生成するためにタスク容易化サービス102によって使用されるタスクおよびユーザデータのかなりの部分を与え得る。たとえば、アプリケーションは、メンバー118がタスクを作成するまたはタスクの作成を要求し、ユーザインターフェースを通して直接、または代理106に要求および詳細を通信することによってのいずれかで作成されるタスクに関する詳細を与えることを可能にし得る。アプリケーションは、メンバー118のためのユーザデータのソースとして同様に働き得る。たとえば、タスク容易化サービス102は、メンバー118のためのプロファイルを維持してもよく、アプリケーションは、メンバー118が、メンバー118に関する個人情報および同様の詳細を用いてプロファイルにアクセスし、更新することを可能にし得る。タスクデータのように、メンバー118は、代理106との対話を通してユーザデータを与えることもできる。たとえば、メンバー118のためのユーザデータは、アプリケーションに含まれるチャットインターフェースまたはメッセージング機能を通して収集され得る。
【0237】
[0253]タスク容易化サービス102に関連しているアプリケーションに加えて、コンピューティングデバイス120はまた、APIなどを通してタスク容易化サービス102とデータを交換することができる1つまたは複数のサードパーティアプリケーションを実行し得る。たとえば、以下にさらに説明されるように、コンピューティングデバイス120は、様々な時間管理およびカレンダリング特徴を与えるメンバー118のためのサードパーティカレンダアプリケーションを実行し得る。いくつかの実装形態では、タスク容易化サービス102は、カレンダアプリケーションから関連データ(メンバー118のスケジューリング/利用可能性の情報およびイベントについての詳細など)を取得するように構成されてもよく、取得された情報を使用して、タスク容易化サービス102のコンテキスト内でメンバー118のためのタスクを推奨または生成し得る。別の例として、コンピューティングデバイス120は、メンバー118のためのやることリストまたはタスクのリストを含むタスク管理アプリケーションを実行し得る。タスク容易化サービス102は、タスク管理アプリケーションに含まれるアイテムについての詳細などの関連データをタスク管理アプリケーションから取得し、タスク容易化サービス102のコンテキスト内でタスクを推奨または生成するように構成され得る。
【0238】
[0254]いくつかの実装形態では、コンピューティングデバイス120とタスク容易化サービス102との間のデータの通信および交換は、コンピューティングデバイス120上で実行されるサードパーティアプリケーションのインスタンス間で行われ得る。他の実装形態では、コンピューティングデバイス120とタスク容易化サービス102との間のデータの通信および交換は、サードパーティアプリケーションに関連し、コンピューティングデバイス120上で実行される二次アプリケーションによって容易にされ得る。たとえば、コンピューティングデバイス120は、メンバー118が対話する第1のアプリケーション(たとえば、ユーザがカレンダを閲覧、編集などすることを可能にするカレンダアプリケーション)をサポートし得るが、第1のサードパーティアプリケーションに関連するデータをタスク容易化サービス102に通信するように特になされた第2のアプリケーションもサポートし得る。そのような場合、第2のアプリケーションは、タスク容易化サービス102、第1のアプリケーションに関連するサードパーティ、または別のサードパーティによって与えられ得る。いくつかの実装形態では、第2のアプリケーションは、バックグラウンドプロセスであってもよく、または第1のアプリケーションとタスク容易化サービス102との間でデータを同期するためにコンピューティングデバイス120によって周期的に実行され得る。
【0239】
[0255]とりわけ、コンピューティングデバイス120で実行されるアプリケーションによって維持されるデータにアクセスすることに加えて、タスク容易化サービス102はまた、外部アプリケーションに更新を与えるように構成され得る。たとえば、タスク容易化サービス102が、コンピューティングデバイス120のアプリケーションにも表されるタスクについての詳細を記憶する限りにおいて、タスク容易化サービス102は、関連アプリケーションデータを更新する際に使用するためにタスクに関連する更新をコンピューティングデバイス120に送信し得る。したがって、タスク容易化サービス102がタスクを進行させるまたは完了させる場合、タスク容易化サービス102は、任意の関連アプリケーションデータを更新するためにタスクに対応する入力を含む更新をコンピューティングデバイス120のカレンダまたはタスク管理アプリケーションに送信し得る。
【0240】
[0256]コンピューティングデバイス120から受信されたタスクデータに加えて、タスク容易化サービス102はまた、他のコンピューティングデバイス804によって示されるように、コンピューティングデバイス120以外のコンピューティングデバイスからタスクおよびユーザデータを受信してもよい。
【0241】
[0257]いくつかの実装形態では、コンピューティングデバイス804は、タスク容易化サービス102の他のメンバーに関連するコンピューティングデバイスに対応し得る。コンピューティングデバイス120から取得されるデータのように、コンピューティングデバイス804がタスク容易化サービス102の他のメンバーに対応するとき、データは、コンピューティングデバイス804上で実行されるアプリケーションを通してコンピューティングデバイス804から取得され得る。そのようなアプリケーションは、タスク容易化サービス102に直接関連するアプリケーションを含んでもよく、またはAPIなどを通してタスク容易化サービス102によってアクセス可能か、あるいはタスク容易化サービス210に与えられるアプリケーションデータを有するサードパーティアプリケーションを含み得る。
【0242】
[0258]他の実装形態では、コンピューティングデバイス804は、タスク容易化サービス102のメンバーではないユーザに関連するコンピューティングデバイスを含み得る。たとえば、コンピューティングデバイス804は、家族または友人などのメンバー118と関係を有し得るユーザに関連し得る。そのようなユーザは、タスク容易化サービス102に、コンピューティングデバイス804からのデータにアクセスする許可、またはコンピューティングデバイス804にデータを与える許可を与え得る。たとえば、コンピューティングデバイス804は、メンバー118の家族に対応してもよく、サードパーティカレンダアプリケーションを実行してもよい。そのような場合、タスク容易化サービス102は、カレンダアプリケーションのアプリケーションデータにアクセスし、更新するように構成され、そうする許可が与えられ得る。そうすることによって、タスク容易化サービス102は、他のユーザの利用可能性およびスケジューリングを考慮したタスクを生成および推奨することができ得るとともに、メンバーデバイスと非メンバーデバイスとの間でアプリケーションデータを同期し得る。
【0243】
[0259]さらに他の実装形態では、コンピューティングデバイス804は、モノのインターネット(IoT)、またはセンサ、ソフトウェア、ならびにコンピューティングおよび通信要素を含み得る他のデバイスを含み得る。たとえば、コンピューティングデバイス804は、自宅または家電のためのコンピュータ対応の暖房および冷房システムを含み得る。タスク容易化サービス102は、タスク容易化サービス102がシステムまたは機器の修理、保守、またはアップグレードに関連するタスクを生成または推奨することができるように、システムまたは機器の動作ステータスに関するデータを受信するように構成されてもよい。
【0244】
[0260]さらに他の実装形態では、コンピューティングデバイス804は、サードパーティサービス116に関連するサービスプロバイダなどのサービスプロバイダのコンピューティングデバイスに対応し得る。上述のように、サードパーティサービス116は、メンバー118のためのタスクを完了するためにタスク容易化サービス102によって活用され得るサードパーティに関連し得る。非限定的な例として、サードパーティサービス116は、自宅の修理または保守のサービスプロバイダ(たとえば、HVAC修理会社)に対応し得、コンピューティングデバイス804は、サービスプロバイダに関連するコンピューティングデバイスまたはシステムを含み得る。
【0245】
[0261]コンピューティングデバイス804がサードパーティサービスプロバイダに対応する実装態様では、コンピューティングデバイス804は、アプリケーションを実行し得る、またはタスク容易化サービス102に関連するポータル(たとえば、ウェブベースのポータル)へのアクセスを与え得る。そのようなアプリケーション/ポータルは、サードパーティサービスプロバイダが、タスク容易化サービス102への参加のためにサインアップすること、サードパーティサービスプロバイダおよびサードパーティサービスプロバイダによって提供されるサービスに関する情報を有するサードパーティサービスプロバイダプロファイルを作成および維持すること、インボイスを提出および処理すること、サードパーティサービスプロバイダに割り当てられたタスクのステータスを閲覧することなどを可能にし得る。コンピューティングデバイス804がサードパーティサービスプロバイダに対応する他の実装形態では、コンピューティングデバイス804は、サードパーティサービスプロバイダに関連するデータ、および特に、タスク容易化サービス102のタスクに関連するサードパーティサービスプロバイダによって与えられる任意のサービスを記憶するサードパーティサービスプロバイダのコンピューティングシステムに対応し得る。
【0246】
[0262]より概して、コンピューティングデバイス804は、タスク容易化サービス102によってアクセスされ得、タスク容易化サービス102がタスクを推奨または生成することに関連するデータを取得し得る任意のコンピューティングデバイスを含み得る。いくつかの場合には、タスク容易化サービス102はまた、何らかの目的のためにコンピューティングデバイス804にデータを送信するように構成され得る。
【0247】
[0263]いくつかの実装形態では、メンバー118は、メンバー118の外部アカウント806にアクセスするための許可をタスク容易化サービス102に与えてもよく、あるいはタスク容易化サービス102をメンバー118に関連する外部アカウント806にリンクしてもよい。限定はしないが、そのようなアカウントは、電子メールアカウント、ソーシャルメディアアカウント、クラウドベースのアプリケーションアカウント、銀行および金融アカウント、ならびに電子商取引およびオンラインショッピングアカウントを含み得る。そのような場合、タスク容易化サービス102は、外部アカウント806にリンクされ、外部アカウント806とデータを交換するためのアクセス/許可を与えられ得る。コンピューティングデバイス120で実行されるアプリケーションのように、外部アカウント806へのアクセスは、タスク容易化サービス102と外部アカウント806との間の通信および対話を可能にするAPIまたは同様のインターフェースによって容易にされ得る。
【0248】
[0264]タスク容易化サービス102は、メンバー118によって保持される任意の特定のアカウントから無関係であってもよいサードパーティデータソース808からのタスクデータにさらにアクセスしてもよい。たとえば、タスク容易化サービス102は、タスク生成および推奨に関連するデータを取得するために1つまたは複数の公的に利用可能なデータベースまたは情報サービスにアクセスしてもよい。特に、サードパーティデータソース808は、気象、交通、ニュース、イベント、および他の同様の情報に関連するデータベースおよびサービスを含み得る。
【0249】
[0265]いくつかの実装形態では、サードパーティデータソース808はまた、サードパーティによって与えられる商品およびサービスの購入を容易にするために、サードパーティによって与えられるウェブおよびデータサービスを含み得る。たとえば、サードパーティは、電子商取引サイトであってもよく、入手可能な製品についての在庫、価格設定、および製品情報にアクセスするためのウェブサービスを与えてもよい。別の例として、サードパーティは、チケットの入手可能性および価格設定を含む今後のイベントに関する情報を利用可能にするチケット販売者であってもよい。別の例として、サードパーティは、利用可能な予約に関連する情報を与えるレストランまたはレストラン関連のサービスであり得る。
【0250】
[0266]前に説明されたデータソースのように、サードパーティデータソース808へのアクセスは、対応するAPIまたは同様のインターフェースによって容易にされ得る。
【0251】
[0267]
図8は、一般リソース810をさらに含む。特に、一般リソース810は、公的に利用可能であり、したがってタスク容易化サービス102によってアクセス可能であり得るウェブサイトおよび同様のオンラインリソースを含み得る。一般的なリソース810はまた、百科事典、ガイド、定期刊行物、または出版物などの電子的に利用可能な参考資料を含み得る。しかしながら、より概して、一般リソース810は、タスク容易化サービス102がアクセス可能な任意の他のデータソースを含むキャッチオールとして意図され、そこから、タスク容易化サービス102は、メンバー118のためのタスクを生成および推奨することに関連するデータを取得し得る。
【0252】
[0268]とりわけ、タスク容易化サービス102は、所与のタスクについて任意の時間に任意の関連するソースからデータを取得するように構成され得る、たとえば、タスク容易化サービス102は、潜在的なタスクを識別し、対応するタスク推奨をメンバー118に与えるとき、
図8のデータソースのいずれかにアクセスし得る。メンバー118が、タスクの基礎を形成するために推奨のうちの1つを選んだ後、タスク容易化サービス102は、タスクを完全に範囲に入れ、タスクを完了するための提案を生成するために、データソースから追加のデータを取得してもよい。タスク容易化サービス102はまた、選択された提案に従ってタスクを完了するために情報を取得するようにデータソースにアクセスしてもよい。
【0253】
[0269]上述のように、少なくともいくつかの実装形態では、タスク容易化サービス102は、1つまたは複数のAPIを使用してコンピューティングデバイス上で実行されるアプリケーションと通信し得る。
図9は、この概念の例示的な実装形態を示し、タスク容易化サービス102がコンピューティングデバイス902とタスクデータを交換する動作環境900を含む。具体的には、タスク容易化サービス102は、1つまたは複数のアプリケーションプログラムインターフェース(API)906を使用して、1つまたは複数のアプリケーション、たとえば、コンピューティングデバイス902上で実行されるアプリケーション904Aから904Nとデータを交換する。いくつかの実装形態では、コンピューティングデバイス902は、メンバー118のコンピューティングデバイス120に対応し得るが、コンピューティングデバイス902は、より概して、タスク容易化サービス102がデータを交換し得るアプリケーションを実行する任意のコンピューティングデバイスに対応し得る。たとえば、コンピューティングデバイス902は、コンピューティングデバイス804、外部アカウント806に関連するコンピューティングデバイス、サードパーティデータソース808、および一般リソース810に関連するコンピューティングデバイスのいずれかに対応し得、その各々は、
図8に示されている。
【0254】
[0270]
図9に示されたように、タスク容易化サービス102とアプリケーション904Aとの間のデータの交換は、概して、タスク容易化サービス102が、API906を通してアプリケーション904Aから904Nからタスクまたはユーザデータを受信することを含み得る。概して、API906は、タスク容易化サービス102とアプリケーション904Aから904Nとの間の接続を与え、それを介してデータが交換され得る。そのような通信を容易にするための方法および機能をサポートすることに加えて、API906は、タスクおよびユーザデータを、アプリケーション904Aから904Nによって使用または記憶される第1のフォーマットから、タスク容易化サービス102によってサポートされる第2のフォーマットに変換する機能もサポートし得る。
【0255】
[0271]
図9に示されたように、タスク容易化サービス102がコンピューティングデバイス902からタスクおよびユーザデータを受信するとき、タスク容易化サービス102は、受信されたデータをタスクデータストア110およびユーザデータストア108にそれぞれ記憶し得る。続いて、記憶されたデータは、タスクを生成するために、または潜在的タスクについての推奨をメンバー118もしくは代理106に与えるためにタスク推奨システム112によって使用され得る。
【0256】
[0272]タスク推奨システム112は、
図9のタスク推奨モデル/アルゴリズム908として示されたタスクまたは推奨されるタスクを生成するための1つまたは複数のモデル/アルゴリズムを含んでもよく、またはそれにアクセスしてもよい。概して、タスク推奨モデル/アルゴリズム908は、(たとえば、タスクデータストア110およびユーザデータストア108からそれぞれ)タスクおよび/またはユーザデータの特徴ベクトルを受信し、特徴ベクトルに基づいて1つまたは複数のタスク推奨を出力するように構成され得る。タスク推奨システム112の役割および機能に関するさらなる詳細は、
図1~
図3のコンテキストにおいて上で与えられる。それにもかかわらず、少なくともいくつかの実装形態では、タスク推奨システム112およびタスク推奨モデル/アルゴリズム908は、メンバー118および/または代理106から受信されたフィードバックに基づいて更新され得る。たとえば、タスク推奨システム112およびタスク推奨モデル/アルゴリズム908は、メンバー118または代理106がタスク推奨システム112によって生成された推奨されたタスクを承認するかどうかに基づいて更新および改良され得る。
【0257】
[0273]いくつかの実装形態では、コンピューティングデバイス902から受信されたユーザデータはまた、メンバー118に対応するメンバーモデル809を作成、トレーニング、または更新するために使用され得る。概して、メンバーモデル809は、選好および行動を予測し、あるいはメンバー118の特性をキャプチャするためにタスク容易化サービス102によって維持され得る。タスク推奨モデル/アルゴリズム908は、タスク推奨システム112によって出力される推奨されるタスクがメンバー118の特定の選好および特性に合わされるように、メンバーモデル809にキャプチャされたメンバー118の特性を特徴ベクトルの追加の特徴としてまたはタスク推奨モデル/アルゴリズム908のアルゴリズムのための重み付け/係数として使用し得る。
【0258】
[0274]少なくともいくつかの実装形態では、メンバーモデル809は、活動が行われているときにメンバー118の活動に基づいてリアルタイムで更新され得る。たとえば、メンバーモデル809は、チャットインターフェースなどを通してのメンバー118と代理106との間の対話に部分的に基づき得る。そのような対話中、タスク容易化サービス102は、メンバーモデル809に含むか、あるいはメンバーモデル809を更新するため、メンバー118に関するデータおよび情報を識別するためにメンバー118と代理106との間の通信を分析し得る。別の例として、メンバー118は、タスク容易化サービス102によって提示される調査またはアンケートに応答することなどによって、個人情報を与えてもよい。たとえば、タスク容易化サービス102は、選好、気分、タスク容易化サービス102の体験などに関する調査またはアンケートをメンバー118に提示し得る。次いで、メンバー118によって与えられた応答は、ユーザデータストア108に追加され、続いて、応答に基づいてメンバーモデル809を更新するために自動的に使用され得る。別の例では、タスク容易化サービス102は、メンバー118が満足するまでタスクが完了しているかまたは完了したかに関するメンバー118からのフィードバックなど、タスクの完了中またはタスクの完了後のタスク容易化サービス102とメンバー118との間の対話に関するデータを収集し得る。そのようなフィードバックは、メンバー118から(たとえば、調査、アンケート、またはプロンプトの形態で)直接要請されてもよく、またはメンバー118とタスク容易化サービス代理106との間の通信などのメンバー118の活動に基づいて暗黙的に決定されてもよい。また、そのようなフィードバックは、メンバー118の選好および特性をより正確かつ動的に反映するようにメンバーモデル809を更新および改良するために使用され得る。
【0259】
[0275]関連データのタスク容易化サービス102による受信に基づくメンバーモデル809に対する変更および更新は、できるだけすぐになされ得、したがって、概してリアルタイムで行われると考えられ得る。たとえば、メンバー118に関する新しいデータの受信は、タスク容易化サービス102に、受信されたデータに基づいて(たとえば、タスク容易化サービス102がユーザデータストア108に維持されるデータの変更を検出することに応答して)メンバーモデル809を自動的に更新させ得る。そうすることによって、メンバーモデル809は、タスク容易化サービス102が利用可能なメンバー118に関するすべての情報を一貫して即座に反映し得る。
【0260】
[0276]タスク推奨システム112、およびアルゴリズム908などのタスク推奨システム112の要素は、同様に、メンバー118の活動が行われているときに、その活動に基づいてリアルタイムで更新され得る。たとえば、タスク推奨システム112の態様は、チャットインターフェースなどを通して、メンバー118と代理106との間の対話に応答して更新され得る。そのような対話中、タスク容易化サービス102は、タスクおよびタスク推奨に関するデータおよび情報を識別し、続いて、そのような通信の内容を使用して、タスク推奨システム112およびアルゴリズム908を更新するために、メンバー118と代理106との間の通信を分析し得る。別の例として、タスク容易化サービス102は、メンバー118にタスク推奨を与えてもよく、メンバー118は、タスク推奨を受け入れることまたは拒絶することを選ぶことができる。メンバー118によって与えられるタスク推奨に対する応答は、続いて、この応答に基づいてタスク推奨システム112およびアルゴリズム908を更新するために自動的に使用され得る。したがって、たとえば、メンバー118がタスク推奨を受け入れる場合、アルゴリズム908は、将来同様の推奨を与えるように更新され得る。同様に、メンバー118がタスク推奨を拒絶する場合、アルゴリズム908は、将来同様の拒絶を与える可能性が低くなるように更新され得る。タスク推奨システム112は、メンバーモデル809への変更を含むメンバー118についてのユーザデータの変更に基づいてさらに更新されてもよい。たとえば、タスク容易化サービス102は、メンバー118に関する追加の情報およびデータを受信し、それに応じて、ユーザデータストア108およびメンバーモデル809の各々を更新してもよい。そのような変更を考慮して、タスク推奨システム112は、メンバー118のための推奨が、メンバー118に関するタスク容易化サービス102によって知られているおよび維持される情報の変更に基づいて異なり得るとすれば、アルゴリズム908を再実行および/または更新し得る。
【0261】
[0277]
図9にさらに示されるように、API906はまた、タスク容易化サービス102からアプリケーション904Aから904Nへのデータの送信を容易にし得る。示されるように、たとえば、詳細には、アプリケーション904Aから904Nがタスク容易化サービス102によって管理されるタスクに関連するオブジェクトまたはアプリケーションデータを維持し得るとき、そのようなデータは、タスク更新および関連タスク情報を含み得る。
【0262】
[0278]いくつかの実装形態では、タスク容易化サービス102は、メンバー118のタスクに関連するデータを、異なるユーザに関連する1つまたは複数のコンピューティングデバイスと交換し得る。たとえば、
図10Aは、タスク容易化サービス102とメンバー118のみに関連するコンピューティングデバイス120との間でタスクデータが交換される環境1000Aを示す。対照的に、
図10Bは、タスク容易化サービス102がタスクデータをコンピューティングデバイス120およびコンピューティングデバイス1002と交換する環境1000Bを示し、コンピューティングデバイス1002は、アカウントを有することができないあるいはタスク容易化サービス102のメンバーであることができないユーザを含むメンバー118以外のユーザに関連し得る。
【0263】
[0279]
図10Aおよび
図10Bに示されている特定の例では、コンピューティングデバイス120は、サードパーティアプリケーション1004を実行する。動作中、タスク容易化サービス102は、対応するAPIなどを通して、コンピューティングデバイス120からデータを受信し得る。タスク容易化サービス102によって受信される特定のデータは、サードパーティアプリケーション1004の性質に基づいて変化し得るが、非限定的な例として、タスク容易化サービス102によってサードパーティアプリケーション1004から受信されるデータは、メンバー118のスケジュールに関するデータ(たとえば、メンバー118が利用可能である、忙しいなどのときの日付および時間)、メンバー118についての今後のイベントおよび期限の詳細、メンバー118のためのアクションアイテムまたはタスクに関する詳細、ならびにメンバー118に関する情報(たとえば、個人情報、人口統計上の情報、選好および関心など)を含み得る。しかしながら、より概して、タスク容易化サービス102によってサードパーティアプリケーション1004から受信されるデータは、新しいタスクを生成し、既存のタスクについての情報をポピュレートし、既存のタスクを修正し、既存のタスクの完了を容易にするなどのためにタスク容易化サービス102によって使用され得るサードパーティアプリケーション1004によって収集および維持される任意のデータを含み得る。
図10Aにさらに示されるように、タスク容易化サービス102は、サードパーティアプリケーション1004のためにコンピューティングデバイス120にデータを与え得る。また、タスク容易化サービス102によってサードパーティアプリケーション1004へ送られるデータは、サードパーティアプリケーション1004の特定の性質に基づいて変化し得るが、少なくとも1つの実装形態では、タスク容易化サービス102は、サードパーティアプリケーション1004をタスク容易化サービス102と同期するためにサードパーティアプリケーション1004にデータを送信し得る。たとえば、サードパーティアプリケーション1004は、メンバー118のためのスケジュールまたはタスクを含んでもよく、タスク容易化サービス102は、それぞれ、メンバー118の利用可能性の変化およびタスク容易化サービス102によってなされるタスクの進行に基づいてスケジュールを更新するために、サードパーティアプリケーション1004にデータを送信し得る。
【0264】
[0280]タスク容易化サービス102とコンピューティングデバイス120との間の通信を含むだけの
図10Aとは対照的に、
図10Bは、タスク容易化サービス102のメンバーであってもなくてもよいユーザに対応し得るコンピューティングデバイス1002をさらに含む。示されているように、同様に、コンピューティングデバイス1002は、サードパーティアプリケーション1006のためのデータを実行または維持する。いくつかの実装形態では、サードパーティアプリケーション1004およびサードパーティアプリケーション1006は、同じアプリケーションの異なるインスタンスであり得るが、サードパーティアプリケーション1004およびサードパーティアプリケーション1006はまた、異なるアプリケーション、またはアプリケーションの異なるバージョンであり得る。たとえば、1つの実装形態では、サードパーティアプリケーション1004は、個人/サービス受取人によって使用することが意図されるアプリケーションのバージョンに対応し得る一方、サードパーティアプリケーション1006は、ビジネス/組織/サービスプロバイダによって使用することが意図される同じアプリケーションのバージョンに対応し得る。
【0265】
[0281]
図10Bでは、タスク容易化サービス102と、コンピューティングデバイス120およびコンピューティングデバイス1002の各々との間でデータが交換される。
図10Aのコンテキストで上述のように、そのようなデータは、サードパーティアプリケーション1004およびサードパーティアプリケーション1006の性質に応じて変化し得るが、少なくともいくつかの実装形態では、タスク容易化サービス102によって受信されるデータは、スケジューリング、アクションアイテム/タスク、選好、またはタスク容易化サービス102のタスクを生成、追跡、および更新することに関連し得る任意の他の好適な情報に関連し得る。
【0266】
[0282]
図9のコンテキストで前に説明されたように、タスク容易化サービス102は、他のコンピューティングデバイスから収集されたデータに基づいてメンバー118のためのタスクを生成または推奨し得る。
図10Bに関して、タスク容易化サービス102は、サードパーティアプリケーション1006のアプリケーションデータなどのコンピューティングデバイス1002から収集されたデータに基づいてタスクを生成または推奨し得る。したがって、たとえば、コンピューティングデバイス1002が、メンバー118の家族に関連していた場合、メンバー118のためにタスク容易化サービス102によって生成されるタスクは、(たとえば、コンピューティングデバイス120から取得された)メンバー118に対応するデータに加えて、(たとえば、家族がコンピューティングデバイス1002のユーザであるときにコンピューティングデバイス1002から取得される)家族に対応するデータを考慮し得る。とりわけ、タスク容易化サービス102はまた、サードパーティアプリケーション1006がタスク容易化サービス102によって生成、推奨、または更新されるメンバー118の任意のタスクに基づいて更新されるように、コンピューティングデバイス1002のサードパーティアプリケーション1006を更新するためにタスク関連のデータを送信し得る。別の言い方をすれば、タスクを生成および推奨するときに他のコンピューティングデバイスで維持されるデータを考慮に入れることに加えて、タスク容易化サービス102は、複数のコンピューティングデバイス間のタスク関連のデータの同期を容易にし得る。
【0267】
[0283]
図10Bは2つのコンピューティングデバイスのみを示すが、タスク容易化サービス102は、任意の数のコンピューティングデバイス間のタスク関連のデータの交換を容易にすることができ、そのいずれもタスク容易化サービス102のメンバーに関連し得る。
【0268】
[0284]少なくともいくつかの実装形態では、タスク容易化サービス102は、単一のコンピューティングデバイス上で実行される複数のアプリケーションと通信するように構成され得る。たとえば、タスク容易化サービス102は、コンピューティングデバイス120上で実行されるまたはそこにインストールされるカレンダアプリケーションおよびタスク管理アプリケーションの各々とデータを交換するように構成され得る。複数のコンピューティングデバイスを含む例示的な上記のように、タスク容易化サービス102は、いずれかのアプリケーションからデータを受信し得、更新および同様のデータを各アプリケーションに送信し得る。特に、そのようなデータ交換は、タスク容易化サービス102の活動に基づいてアプリケーションを更新することを容易にし得るが、アプリケーション間でデータを同期させるための手段も提供し得る。
【0269】
[0285]前に説明されたように、タスク容易化サービス102は、サードパーティアプリケーションと通信し、それとデータを交換するように構成され得る。少なくともいくつかの実装形態では、タスク容易化サービス102との対話を容易にするために、様々な制御および特徴が、そのようなアプリケーションに統合され得る。たとえば、プラグイン、拡張、アドオン、または同様のソフトウェア要素が、アプリケーションのコンテキスト内でタスク容易化サービス102の特徴とともに働き、この特徴を与えるようにアプリケーションの機能を拡張するためにコンピューティングデバイス120上にインストールされてもよい。
【0270】
[0286]
図11は、本開示によるタスクデータを交換するための方法1100を示すフローチャートである。いくつかの実装形態では、方法1100は、タスク容易化サービス102に対応するコンピューティングシステムによって実施され得る。以下の説明は、概して、
図1の要素および前の図の他の要素に言及するが、本明細書で説明される方法1100および他の方法は、必ずしもそれらの図の特定の態様を含む実装形態に限定されず、任意のそのような言及は、コンテキストのみを与えるために行われることを理解されたい。
【0271】
[0287]ステップ1102において、タスク容易化サービス102は、対応するAPIを通して、コンピューティングデバイス120上で実行されるアプリケーションからタスク関連のデータを受信する。タスク関連のデータは、タスクデータ(たとえば、タスクまたは潜在的なタスクのパラメータに対応するデータ)、またはユーザデータ(たとえば、メンバー118に関するデータ)であり得る。
【0272】
[0288]ステップ1104において、タスク容易化サービス102は、受信されたタスクデータに基づいてタスク推奨を生成する。たとえば、タスク容易化サービス102は、(
図9に示された)タスク推奨モデル/アルゴリズム908を含み得るタスク推奨システム112を含み得る。タスク推奨モデル/アルゴリズム908は、タスクデータおよびユーザデータの特徴ベクトルを入力として受信し、推奨されたタスクを生成し得る。タスク推奨モデル/アルゴリズム908は、メンバーモデル809に維持されるようなメンバー118の特性をさらに考慮し得る。たとえば、メンバーモデル809のパラメータは、タスク推奨モデル/アルゴリズム908に与えられる特徴ベクトルにおける追加の特徴として使用されてもよく、またはタスク推奨モデル/アルゴリズム908の重み付け/係数を決定するために使用されてもよい。
【0273】
[0289]ステップ1106において、タスク容易化サービス102は、ステップ1104で生成されたタスク推奨を送信する。いくつかの実装形態では、メンバー118は、コンピューティングデバイス120を通してタスク推奨を直接受信し得る。他の実装形態では、代わりに、メンバー118に提示される前に、検討および潜在的な改訂のために、タスク推奨が代理106によって受信され得る。
【0274】
[0290]ステップ1108で、(たとえば、メンバー118がコンピューティングデバイス120で制御を起動してタスクが作成されることを確認することによって、またはメンバー118が確認命令を代理106に与え、次いで代理210が同様の制御を起動することによって)タスク容易化サービス102は、タスク推奨に関する確認応答または確認を受信し、ステップ1110で、タスク容易化サービス102は、タスク推奨に対応するタスクを生成する。
【0275】
[0291]タスク容易化サービス102でのタスクの作成後、タスク容易化サービス102は、たとえば、ステップ1112で、タスクの更新を送信してもよい。タスク容易化サービス102によって送信される更新は、ステップ1102のコンテキストで上述したAPIを使用してもよく、ステップ1102のアプリケーションによって受信されるとき、更新に含まれる情報に基づいてアプリケーションにアプリケーションデータを更新させてもよい。たとえば、アプリケーションは、対応するタスクがタスク容易化サービス102において作成されることに応答して、(たとえば、アイコンまたは同様のインジケータを追加することによって)その視覚的外観が変更され得るオブジェクト(たとえば、タスク管理アプリケーションのコンテキストにおけるカレンダアプリケーションタスクリストアイテムのコンテキストにおけるカレンダアイテム)を含み得る。タスク容易化サービス102からの更新はまた、タスクに関連するイベント、アイテムなどについての詳細を更新させ得る。
【0276】
[0292]とりわけ、少なくともいくつかの実装形態では、タスク推奨を生成してメンバー118に与えるステップをバイパスし、代わりに、アプリケーションから受信した情報に基づいて単にタスクを生成することを選んでもよい。たとえば、カレンダアプリケーションは、対応するタスクが明確であり、推奨を必要としないように実質的に定義されるイベントを含み得る。同様に、タスク管理アプリケーションは、対応するタスクがメンバー118から追加の情報またはフィードバックなしで確認され得る十分な特異性を有するアイテムを含み得る。そのような場合、タスク容易化サービス102は、アプリケーションからタスク関連のデータを単に受信し、たとえば、方法1100のステップ1104~1108を省略することによって、対応するタスクを生成することに直接進むことができる。
【0277】
[0293]
図12Aおよび
図12Bは、アプリケーションに統合されたタスク容易化サービス102の機能の一例を与える。より具体的には、
図12Aおよび
図12Bは、コンピューティングデバイス120上で実行され得るウェブブラウザ1202を含むユーザインターフェース1200を示す。概して、ウェブブラウザ1202は、ウェブサイト1204にナビゲートし、ウェブサイト1204を提示するために使用され得る。ユーザインターフェース1200は、タスク容易化サービス102の機能およびタスク容易化サービス310との統合を容易にする様々な特徴を含む。そのような機能は、たとえば、ウェブブラウザ1202を拡張する、またはあるいはウェブブラウザ110に特徴を追加するプラグインまたは同様のソフトウェアパッケージをインストールすることによって与えられ得る。
【0278】
[0294]非限定的な例として、ユーザインターフェース1200は、ウェブサイト1204に対応するタスク容易化サービス102でタスクを作成するためのボタン1206を含む。たとえば、ウェブブラウザ1202を使用してウェブサイト1204へのナビゲーション後、メンバー118は、ボタン1206を起動することができる。これに応答して、ウェブブラウザ1202は、ウェブサイト1204に関連するデータをタスク容易化サービス102に送信することができ、タスク容易化サービス102は、タスク容易化サービス102内でタスクを生成するために送信されたデータを使用することができる。
【0279】
[0295]同様の機能が、コンテキスト固有のメニュー1208に与えられる。コンテキスト固有のメニュー1208は、たとえば、ポインタ1210がウェブブラウザ1202内で表示されるウェブサイト204の上に配置される間に、メンバー118が右クリックすること、または同様のアクションを実施することに応答して提示され得る。示されるように、コンテキスト固有のメニュー1208は、ウェブサイト1204をブックマークし、ウェブサイト1204を印刷し、ウェブサイト1204に関連するタスクを作成するためのオプションを提示し、本明細書で説明されていない様々な他のオプションを含み得る。ボタン1206と同様に、コンテキスト固有のメニュー1208内の「タスクを作成する」オプションの起動により、ウェブブラウザ1202に、タスク容易化サービス102内で対応するタスクを生成するためにウェブサイト1204のデータをタスク容易化サービス102に送信させることができる。
【0280】
[0296]本開示は、ウェブブラウザ1202に提示されるウェブサイト1204に対応するタスク容易化サービス102におけるタスクの作成を開始するために他の入力が与えられ得ることを企図する。たとえば、ウェブサイト1204は、タスクを作成するためのメニューアイテムを含むドロップダウンメニューを含み得る。別の例として、ウェブブラウザ1202は、キーボードショートカット、ジェスチャ、音声コマンド、またはタスク作成を開始するように構成された他の入力をサポートし得る。
【0281】
[0297]ウェブブラウザ1202によってタスク容易化サービス102に送信されるデータは、ウェブサイト1204に関する任意の利用可能な情報を含み得る。そのようなデータは、ウェブブラウザ1202によってメンバー118に提示されるテキストおよび他の要素を含み得るが、ウェブサイト1204がウェブブラウザ1202内で開かれたときに利用可能であり得るが、概してメンバー118から隠され得るウェブサイト1204のソースデータも含み得る。たとえば、タスク容易化サービス102に送信されるデータは、ウェブサイト1204のソースに組み込まれるが、さもなければウェブサイト1204がウェブブラウザ1202に提示されるときには隠されるキーワードまたはキーフレーズを含んでもよい。
【0282】
[0298]タスク容易化サービス102に送信されるデータはまた、メンバー118によって選択/強調表示されたウェブサイト1204の特定の部分を含み得る。たとえば、メンバー118は、ウェブサイト1204の要素の上にカーソルを配置し、これを強調表示し、またはそれを選択し、コンテキスト固有のメニュー1208を提示するためにその要素を右クリックし、次いでタスクを作成するためにコンテキスト固有のメニュー1208からオプションを選択することができる。要素は、特に、テキストの一部、ウェブサイト1204内に埋め込まれたマルチメディアオブジェクト、ウェブサイト1204内に埋め込まれた対話型オブジェクトなどであり得る。次いで、ウェブブラウザ1202は、タスク容易化サービス102が、対応するタスクまたはタスク推奨を生成する際に使用するために、選択されたテキストをタスク容易化サービス102に送信し得る。代替的に、ウェブブラウザ1202は、ウェブサイト1204に関する一般的なデータ、ならびにメンバー118によって強調表示または選択された任意の特定のコンテンツの指示を送信し得る。
【0283】
[0299]他の実装形態では、ウェブブラウザ1202は、ウェブサイト1204から取得したデータを送信する代わりに、リンクまたはアドレスをタスク容易化サービス102に送信してもよい。そのような場合、タスク容易化サービス102は、受信されたアドレスを使用してウェブサイト1204にアクセスし、任意の関連データ自体を取得するように構成されてもよい。
【0284】
[0300]さらに他の実装形態では、メンバー118がタスクを作成するために制御を起動するとき、ウェブブラウザ1202は、代わりに、ウェブサイト1204に基づいてメンバー118がタスクを作成することを望んでいることを示す通信を代理106に送信することができる。いくつかの実装形態では、通信は、代理106が検討のためにウェブサイト1204を開くために使用され得るリンクまたはアドレスを含み得る。次いで、代理106は、ウェブサイト1204に基づいてタスクを作成することに進み得る、および/またはメンバー118が作成する意図があるタスクに関するさらなる情報を取得するためにメンバー118との通信セッションを開始し得る。
【0285】
[0301]
図12Bを参照すると、少なくともいくつかの例では、タスク容易化サービス102は、ウェブサイト1204に基づいて複数のタスクが作成され得ることを決定し得る。たとえば、
図12Aおよび
図12Bに示されるウェブサイト1204は、シャクシュカ(shakshuka)のレシピを含む。ウェブサイト1204のコンテンツに基づいて、タスク容易化サービス102は、メンバー118がウェブサイト1204のレシピを作りたいと判断することができるが、タスク容易化サービス102はまた、メンバー118がシャクシュカを注文すること、またはシャクシュカを提供するレストランを予約することに関心があり得ると判断してもよい。したがって、いくつかの実装形態では、ウェブサイトについてのタスクを作成するための制御の起動後に、タスク容易化サービス102は、ウェブブラウザ1202に、作成されるタスクのためのいくつかのオプションを表示させることができる。
図12Bに示されるように、たとえば、ウェブブラウザ1202は、上述のオプション、ならびにメンバー118がリストされたものとは異なるタスクを作成することを意図する場合には「何か他のもの・・・」オプションを含むメニュー1212を表示する。メンバー118が「何か他のもの・・・」オプションを選択する場合、タスク容易化サービス102は、メンバー118から追加情報を要求すること、メンバー118と代理106との間の通信セッションを開始すること、またはメンバー118が作成しようとするタスクに関する追加情報を求めることが意図される同様のアクションをとることによってフォローアップしてもよい。
【0286】
[0302]ウェブサイトからタスク推奨およびタスクを生成する例示的なプロセスが、
図13Aおよび
図13Bにさらに示されている。
図13Aは、メンバー118のコンピューティングデバイス120およびタスク容易化サービス102を含む環境1300Aのブロック図である。動作中、
図12Aおよび
図12Bのコンテキストで説明されるように、コンピューティングデバイス120は、タスク容易化サービス102のタスクを作成するための1つまたは複数の制御を含み得るウェブブラウザ1202を実行し得る。
図13Aに示されているように、メンバー118がタスク作成制御を起動するとき、ウェブブラウザ1202は、ウェブサイトデータをタスク容易化サービス102に送信してもよい。特に、ウェブサイトデータは、ウェブブラウザ1202によってメンバー118に提示されるコンテンツ、ウェブブラウザ1202によって提示されるウェブサイトのソースデータ、または単に、タスク容易化サービス102がウェブサイトもしくは同様のリソースにアクセスすることができるリンクもしくはアドレスを含み得る。
【0287】
[0303]タスク容易化サービス102は、ウェブサイトデータを受信し、受信されたウェブサイトデータに基づいてタスク推奨を生成するウェブサイトタスク予測システム1302を含み得る。ウェブサイトタスク予測システム1302は、このプロセスを容易にするために様々な要素を含み得る。たとえば、ウェブサイトタスク予測システム1302は、受信されたウェブサイトデータに基づいて関連データを識別および抽出するためのデータ抽出ツール1304と、データ抽出ツール1304によって抽出されたデータから潜在的なタスクを予測するタスク予測モデル1306とを含み得る。
【0288】
[0304]データ抽出ツール1304は、ウェブサイトから関連情報をスクラップする、または他の方法で抽出するための様々なツールを含み得る。たとえば、データ抽出ツール1304は、受信されたウェブサイトデータに対応するウェブサイトをフェッチし、フェッチされたウェブサイトから関連データを抽出するためのツールを含み得る。ウェブサイトからデータを抽出することは、タスクを推奨する際に後で使用するためにウェブサイトに含まれるデータを構文解析すること、検索すること、再フォーマットすること、または他の方法で処理することを含み得る。いくつかの実装形態では、データ抽出ツール1304は、ウェブサイトのコンテンツに特に関連するデータを識別および抽出するように構成され得る。たとえば、データ抽出ツール1304は、(たとえば、特定のHTMLタグの使用に基づいて)ウェブサイトのキーワードを識別するように、またはウェブサイトの特定の要素のテキストを抽出するように構成され得る。しかしながら、より概して、データ抽出ツール1304は、メンバー118がウェブサイトウェブブラウザ1202内でタスクを作成するための制御を起動することに応答して、タスク容易化サービス102によって受信されたウェブサイトデータから有意味なデータを処理および抽出するための任意の好適なツールを指す。
【0289】
[0305]データ抽出ツール1304を使用して抽出されたデータは、特定のタスク推奨を生成するためにタスク予測モデル1306に与えられ得る。たとえば、タスク予測モデル1306は、データ抽出ツール1304によって抽出されたデータを含む特徴ベクトルを受信し、1つまたは複数のタスク推奨を出力する1つまたは複数のモデルまたはアルゴリズムを含み得る。タスク予測モデル1306によって使用される特徴ベクトルは、タスク容易化サービス102によって前に収集されたか、あるいは維持された(たとえば、メンバーモデル809に取り込まれる)タスクデータ、ユーザデータ、およびユーザ特性をさらに含んでもよい。タスク容易化サービス102は、
図12Bのコンテキストで図示および上述されたように、メンバー118による提示および選択のためにタスク予測モデル1306によって生成された任意のタスク推奨をコンピューティングデバイス120に送信し得る。
【0290】
[0306]タスク予測モデル1306は、データ抽出ツール1304によって抽出されたデータを処理および分析するための任意の適切なタイプのモデルまたはアルゴリズムに依拠し得る。しかしながら、少なくともいくつかの実装態様では、ウェブサイトに全体的に含まれるテキストの量を考慮すると、タスク予測モデル1306は、データ抽出ツール1304によって抽出されたデータ、またはメンバー118によって識別されたウェブサイトに関する利用可能な他の方法で抽出されたデータを処理するために、自然言語処理(NLP)または同様のテキスト中心の人工知能技法を利用してもよい。
【0291】
[0307]環境1300Bを示す
図13Bを参照すると、メンバー118は、推奨されるタスクのうちの1つを選択することができ、対応するタスク選択は、タスク容易化サービス102による受信のためにコンピューティングデバイス120によって送信され得る。タスク選択を受信したことに応答して、タスク容易化サービス102は、本明細書に記載されるように対応するタスクを作成してもよく、対応するタスクは、新しいタスクの作成を反映するために、タスクデータストア110に記憶されたタスクデータを作成または更新することを含み得る。
【0292】
[0308]上記の例は、ウェブサイトデータからタスクを生成することに焦点を当てているが、本開示の他の実装形態は、文献および出版物からより一般的にタスクを生成するための同様の技法を適用することができる。たとえば、メンバー118は、対応するリーダアプリケーションを使用して文献または出版物にアクセスしてもよく、リーダアプリケーションは、文献に基づいてタスク容易化サービス102でタスクを生成するために制御などを含んでもよい。メンバー118が制御を起動するとき、リーダアプリケーションは、ドキュメントのコピー、ドキュメントの一部、ドキュメントのメタデータなどをタスク容易化サービス102に送ることができ、次いで、タスク容易化サービス102は、受信されたデータを、上述したようなウェブサイトの処理と概ね一致する方法で処理することができる。たとえば、タスク容易化サービス102は、ドキュメントからデータを抽出するためのツール(たとえば、ドキュメントをスクラップ、検索、構文解析などするためのツール)、続いて、メンバー118に推奨され得るドキュメントのコンテキストおよび潜在的に関連するタスクを決定するためにドキュメントおよび抽出されたデータを分析するツールを含み得る。
【0293】
[0309]
図13Aおよび
図13Bの様々な態様は、ウェブサイトからタスクを生成する方法1400を示すフローチャートである
図14のコンテキストでさらに説明される。方法1400は、たとえば、タスク容易化サービス102によって実行され得る。
【0294】
[0310]ステップ1402において、タスク容易化サービス102は、ウェブサイトからタスクを生成するためのインジケータを受信する。本明細書で説明されるように、そのようなインジケータは、ウェブブラウザとタスク容易化サービス102との間の通信および対話を容易にするためにウェブブラウザに統合されたコントロールをメンバー118が起動することに応答して受信され得る。
【0295】
[0311]ステップ1404において、タスク容易化サービス102は、ステップ1402で受信されたインジケータに対応するウェブサイトのためのウェブサイトデータを収集する。いくつかの実装形態では、インジケータは、ウェブサイトのためのデータを含み得る。他の実装形態では、インジケータは、タスク容易化サービス102がウェブサイトおよびそのデータにアクセスするために使用し得るリンクまたはアドレスを含み得る。
【0296】
[0312]ウェブサイトデータを収集することは、ウェブサイトをスクラップする、あるいは処理することを含み得る。たとえば、
図13Aのコンテキストで説明されるように、タスク容易化サービス102は、データ抽出ツール1304をさらに含み得るウェブサイトタスク予測システム1302を含み得る。データ抽出ツール1304は、スクラッパ(scraper)、パーサ(parser)、またはウェブサイトから関連データを識別および抽出し、抽出されたデータをウェブサイトタスク予測システム1302によって使用するためのフォーマットに処理するように構成された同様のツールを含み得る。
【0297】
[0313]ステップ1406で、タスク容易化サービス102は、1つまたは複数のタスク推奨を生成するためにステップ1404で収集されたデータを処理する。たとえば、ウェブサイトタスク予測システム1302は、ステップ1404において収集/抽出されたデータを含む特徴ベクトルを入力として受信するタスク予測モデル1306を含み得る。タスク予測モデル1306は、タスクデータ、ユーザデータ、およびメンバー118に関連するユーザモデルのパラメータなどの前に収集されたデータを入力としてさらに受信してもよく、その各々は、メンバー118とタスク容易化サービス102との間の過去の活動に対応し得る、またはそれに基づき得る。
【0298】
[0314]ステップ1408において、タスク容易化サービス102は、検討および承認のためにステップ1406で生成された推奨されるタスクを送信し得る。いくつかの実装形態では、タスク容易化サービス102は、ウェブブラウザまたは同様のアプリケーションでの提示および選択のために、推奨されるタスクをメンバー118に直接送信する。他の実装形態では、まず、タスク容易化サービス102は、メンバー118に送信する前に、検討および可能な改訂のために、メンバー118に割り当てられたあるいは関連する代理に、推奨されるタスクを送信し得る。
【0299】
[0315]続いて、ステップ1410において、タスク容易化サービス102は、ステップ1408で送信された推奨されるタスクからタスクの選択を受信し得る。次いで、タスク容易化サービス102は、ステップ1412において、1404で収集されたウェブサイトデータの少なくとも一部を使用してタスクを生成し得る。
【0300】
[0316]
図12Aおよび
図12Bに示されたレシピの例を参照すると、メンバー118は、シャクシュカを作るための材料を注文することを選択し得る。次いで、タスク容易化サービス102は、メンバー118への配達のために必要な材料を注文するためのタスクを生成し得る。タスクを生成するとき、タスク容易化サービス102は、タスクのためのショッピングリストまたはチェックリストを作成するために、ウェブサイトデータに含まれる材料リストに依拠し得る。
【0301】
[0317]レシピウェブサイトが、本開示における主たる例として使用されるが、タスク容易化サービス102は、同様に、他のタイプのウェブサイトのためのタスクを生成するように構成されてもよく、これを生成することが可能であり得、異なるウェブサイトに適用可能なコンテンツと対応するタスクとを区別することが可能であり得る。たとえば、ウェブサイトタスク予測システム1302は、概して、ウェブサイトのタイプ、およびウェブサイトのコンテンツの性質を識別するために使用され得るウェブサイトからデータを抽出するツールを含み得る。タスク予測モデル1306は、コンピューティングデバイス120を通して対応する推奨のセットをメンバー118に提案するために、そのような情報を考慮に入れることができる。いくつかの非限定的な例が、ウェブサイトおよびウェブサイト関連のデータからタスクを生成する概念を示すのを助けるために、以下に与えられる。
【0302】
[0318]第1の例では、ウェブサイトは、メンバー118が購入を行い得る電子商取引または同様のショッピングウェブサイトであり得る。特に、ウェブサイトタスク予測システム1302は、ウェブサイト自体(たとえば、ウェブサイトタスク予測システム1302は、特定のウェブサイトを電子商取引活動に関連付けることができる)、ウェブサイトに含まれる特定の要素の存在(たとえば、購入ボタン、カートに追加ボタンなど)、ウェブサイトのコンテンツ内の価格の存在、ウェブサイトに含まれる特定の見出し(たとえば、「製品説明」見出し)、ウェブサイトのキーワード、およびタスク容易化サービス102によって受信されたウェブサイトデータに含まれるまたは他の方法でタスク容易化サービス102が利用可能であるウェブサイトの他の同様の特徴に基づいて、ウェブサイトが電子商取引サイトであると決定することができる。ウェブサイトが電子商取引ウェブサイトであると決定したことに応答して、ウェブサイトタスク予測システム1302は、ウェブサイトからのアイテムの購入/注文に関連するタスクの推奨をメンバー118に与えることができる。たとえば、メンバー118が電子商取引または製品ウェブサイト上にいる間にタスクを作成することを要求したことに応答して、ウェブサイトタスク予測システム1302は、「自分のための購入」、「誰か他の人のための購入」、「より良い価格を見つける」、および他の同様のタスクなどのタスクについての推奨を生成し得る。
【0303】
[0319]別の例として、ウェブサイトは、スポーツイベント、コンサート、または劇場作品などのイベントに対応することができる。特に、ウェブサイトタスク予測システム1302は、ウェブサイト自体(たとえば、ウェブサイトは、チケット販売者、劇場、スポーツチームなどのためのものであり得る)、ウェブサイトに含まれる特定の要素の存在(たとえば、「座席を見つける」ボタンまたは「チケットを購入する」リンク)、ウェブサイトに含まれる特定の見出しまたは言葉(たとえば、「チケットを今買う」というフレーズ、または「チケット」の見出し)、ウェブサイトのキーワード、およびタスク容易化サービス102によって受信されたウェブサイトデータに含まれるまたは他の方法でタスク容易化サービス102が利用可能であるウェブサイトの他の同様の特徴に基づいて、ウェブサイトがイベントに関連すると決定し得る。ウェブサイトがイベントに関連すると決定したことに応答して、ウェブサイトタスク予測システム1302は、対応する推奨されるタスクをメンバー118に与えることができる。たとえば、メンバー118がイベントウェブサイト上にいる間にタスクを作成することを要求したことに応答して、ウェブサイトタスク予測システム1302は、「自分のためにチケットを買う」、「誰か他の人のためにチケットを買う」、「同様のイベントのチケットを見つける」、および他の同様のタスクなどのタスクについての推奨を生成し得る。
【0304】
[0320]別の例として、ウェブサイトは、トイレの修理の仕方などの住宅修理に関する情報および指導を含み得る。特に、ウェブサイトタスク予測システム1302は、ウェブサイト自体(ウェブサイトが「自分自身でやる(do-it-yourself)」指導のウェブサイトなどであり得る)、ウェブサイトに含まれる特定の見出しまたは言葉(たとえば、見出し「あなたが必要とするもの」または「トイレを修理するためのステップ」または指導の言葉)、ウェブサイトのキーワード、およびタスク容易化サービス102によって受信されるウェブサイトデータに含まれるまたは他の方法でタスク容易化サービス102が利用可能であるウェブサイトの他の同様の特徴に基づいて、ウェブサイトが住宅修理に関連すると決定することができる。ウェブサイトが住宅修理に関連すると決定したことに応答して、ウェブサイトタスク予測システム1302は、対応する推奨されるタスクをメンバー118に与えることができる。たとえば、メンバー118が、住宅修理ウェブサイト上にいる間にタスクを作成することを要求したことに応答して、ウェブサイトタスク予測システム1302は、「供給品を買う」、「追加情報を見つける」、および「専門家を見つける」などのタスクについての推奨を生成し得る。
【0305】
[0321]
図15は、タスク容易化サービス102のメンバー(たとえば、メンバー118)に関連するユーザコンピューティングデバイス(たとえば、コンピューティングデバイス120)におけるタスク生成機能を実装する例示的な方法1500を示すフローチャートである。
【0306】
[0322]ステップ1502において、タスク生成制御は、アプリケーション内でメンバー118に提示される、あるいはメンバー118に利用可能にされる。特定のタイプの制御およびその提示のやり方は、アプリケーションに応じて異なり得るが、概して、制御は、メンバー118がアプリケーションのある要素に対応するタスクを作成することを望むとシグナリングするためにメンバー118がそれを起動し得るようなものである。いくつかの実装形態では、制御は、ボタン、コンテキスト固有のメニューオプション、キーボードのショートカット、音声コマンド、ジェスチャ、または他の同様の制御の形態であり得る。
【0307】
[0323]ステップ1504において、アプリケーションは、たとえば、ステップ1502で提示された制御の起動を検出することによって、タスクを生成するためのメンバー入力を受信する。たとえば、アプリケーションは、メンバー118がボタンを押す、メニューオプションを選択する、あるいは制御の起動に対応する入力を与えるときを決定するように構成され得る。
【0308】
[0324]ステップ1506において、アプリケーションは、タスク関連のデータをタスク容易化サービス102に送信し、タスクがデータに基づいて作成されることを通信する。タスク容易化サービス102に送信される特定のデータは、用途に基づいて異なり得るが、データは、概して、タスク容易化サービス102に、受信されたときのタスク関連のデータに基づいてタスクを生成させる、またはタスク推奨を生成させる。非限定的な例として、アプリケーションがカレンダアプリケーションであるとき、タスク関連のデータは、カレンダアプリケーションにおけるイベントについての詳細を含み得る。別の例として、アプリケーションがタスク管理アプリケーションであるとき、タスク関連のデータは、アプリケーションによって管理されるアイテムまたはタスクについての詳細または情報を含み得る。さらに別の例として、アプリケーションがウェブブラウザであるとき、タスク関連のデータは、ウェブブラウザによって現在提示されているウェブサイトについてのデータ、またはウェブブラウザに現在提示されているウェブサイトへのリンク/アドレスを含み得る。
【0309】
[0325]ステップ1508において、アプリケーションは、タスク容易化サービス102から更新されたタスク情報を受信し得る。そのような情報は、タスクが作成されたという通知、タスクに関するステータスまたは進行更新などを含み得る。ステップ1510において、アプリケーションは、ステップ1508において受信されたデータに基づいて対応するアプリケーションデータを更新し得る。
【0310】
[0326]ウェブサイトデータに基づいてタスクを生成するためのブラウザとタスク容易化サービス102との統合の上記の例は、概して、ウェブサイトデータをタスク容易化サービス102に与えることを含み、次いで、タスク容易化サービス210は、候補タスク推奨のリストを生成するためにデータを分析する。他の実装態様では、ウェブサイトは、特定のタスクまたは候補タスクのリストに具体的に関連し得る。たとえば、タスク容易化サービス102は、ウェブサイトを様々な予め定義されたタスクに関連付けるデータベースを維持し得る。したがって、メンバー118がブラウザ内でタスク作成を開始するとき、タスク容易化サービス102は、まず、データベースがブラウザに表示されたウェブサイトを含むかどうかを決定し得る。そうである場合、タスク容易化サービス102は、本開示において前に説明されたように、予め定義されたタスク推奨のリストを検索し、承認および選択のためにブラウザにメンバー118にタスク推奨を提示させ得る。
【0311】
[0327]例として、タスク容易化サービス102は、タスク容易化サービス102によって作成されたタスクに関連する製品またはサービスを与える「パートナー」ウェブサイトに関連し得る。各パートナーウェブサイトは、所定のタスクの選択セットに関連し得る。メンバー118がブラウザを使用してパートナーサイトにナビゲートし、ブラウザの制御を起動してタスク容易化サービス102にタスクを作成するとき、タスク容易化サービス102は、所定のタスクのリストを取り出してこれをメンバー118に提示することができる。
【0312】
[0328]メンバー118がパートナーサイトにいるかどうかをタスク容易化サービス102が決定する特定のプロセスは、様々であり得る。しかしながら、1つの例示的な実装形態では、ブラウザ内のタスク作成制御の起動により、ブラウザは、現在のドメイン名をタスク容易化サービス102に送信する。タスク容易化サービス102は、ドメイン名を様々な予め定義されたタスクと相関させるテーブルまたはデータベース内でルックアップを実施し得る。次いで、タスク容易化サービス102は、ブラウザによって受信されるとき、
図12Bに示されている例と同様に、予め定義されたタスクに対応する選択可能なオプションを選択のためにメンバー118に提示させる指示を送信し得る。
【0313】
[0329]いくつかの実装形態では、予め定義されたタスク推奨は、メンバー118によって選択される場合に、タスク容易化サービス102にウェブサイトを分析させ、本開示で先に説明されたようにタスク推奨を生成させる代替オプション(たとえば、「何か他のもの・・・」のための選択可能なオプション)とともにメンバー118に提示されてもよい。
【0314】
[0330]前の例では、タスク容易化サービス102は、現在表示されているウェブサイトに基づいてタスク推奨を与える。しかしながら、いくつかの実装形態では、タスク容易化サービス102は、再びまたは代替的に、メンバー118の閲覧履歴を考慮し得る。たとえば、タスク容易化サービス102は、定期的にアクセスしてもよく、またはブラウザは、タスク推奨の処理および生成のために閲覧履歴をタスク容易化サービス102に定期的にエクスポートしてもよい。他のブラウザデータがまた、タスク容易化サービス102によって与えられ、または取り出されてもよい。たとえば、タスク容易化サービス102は、ブラウザにインストールされたクッキーのリストを受信してもよく、タスク推奨を与えるためにクッキーのリスト、ならびにこのクッキーに関連するウェブサイトおよびコンテンツを使用してもよい。
【0315】
[0331]少なくともいくつかの実装形態では、ブラウザは、リアルタイムでまたは実質的にリアルタイムでタスク容易化サービス102に閲覧活動データを与え得る。たとえば、ブラウザのユーザがウェブサイト間でナビゲートするとき、ユーザがナビゲートするウェブサイトは、タスク容易化サービス102に送信されてもよい。次いで、タスク容易化サービス102は、本開示全体を通して説明されるように、タスク生成を容易にするためにユーザのナビゲーション活動を使用してもよい。
【0316】
[0332]ブラウザがプライベート閲覧モードをサポートする限り、タスク容易化サービス102に関連するブラウザプラグインまたは拡張機能は、プライベート閲覧モードが起動されているかどうかに一致して動作してもよい。より具体的には、ブラウザがプライベート閲覧モードで動作させられるとき、閲覧履歴および/またはリアルタイム閲覧活動の共有は、自動的に無効にされ得る。いくつかの実施形態では、そのような無効化は、ユーザがアクセス可能な設定または構成に従い得る。
【0317】
[0333]とりわけ、上記の実装形態の各々は、タスク容易化サービス102内でタスク推奨および作成を開始するためにブラウザ制御に依拠する。代替的に、タスク容易化サービス102との統合は、ウェブサイト自体に埋め込まれたハイパーリンクまたはオブジェクトによって容易にされてもよい。たとえば、ウェブサイトは、タスク容易化サービス102内でタスクを作成するためのリンクを含んでもよい。ユーザがブラウザ内のウェブサイトにアクセスし、リンクを起動するとき、ウェブサイトのホストは、タスク容易化サービス102に通知を送信することができ、次いで、タスク容易化サービス102は、ウェブサイトに基づいてタスク推奨または実際のタスクを生成するプロセスを開始し得る。リンクの代わりに、ウェブサイトは、実質的に同様の機能を与える埋込み要素(たとえば、ウィジェット)を含んでもよい。
【0318】
[0334]プラグインまたは拡張の実装形態と同様に、タスク作成リンクまたはウィジェットの起動に応答して、ブラウザは、タスク容易化サービス102にデータを送信し、ユーザによる提示および選択のためのタスク推奨のリストをタスク容易化サービス102から受信し得る。いくつかの実装形態では、ウェブサイトまたは埋込み要素は、タスク容易化サービス102にログインするために、保存された身分証明データ(たとえば、ログインおよびパスワード)を要求してもよく、またはそれにアクセスしてもよい。特に、そうすることにより、タスク容易化サービス102は、受信された要求をメンバーに適切に帰属させ、任意のタスク推奨がメンバーにリンクされることを確実にするために、タスク推奨を生成するための正しいメンバーデータ/プロファイルにアクセスすることを可能にする。
【0319】
[0335]
図16は、本開示の態様による接続を使用して互いに電気通信する様々な構成要素を含む例示的なコンピューティングシステムアーキテクチャ1600を示す。
図16に示されている例示的なコンピューティングシステムアーキテクチャ1600は、いくつかの実装形態による、バスなどの接続1606を使用して互いに電子通信している様々な構成要素を有するコンピューティングデバイス1602を含む。例示的なコンピューティングシステムアーキテクチャ1600は、接続1606を使用して様々なシステム構成要素と電子通信し、システムメモリ1614を含む処理ユニット1604を含む。いくつかの例では、システムメモリ1614は、読取り専用メモリ(ROM)と、ランダムアクセスメモリ(RAM)と、限定はしないが、本明細書で説明されるメモリを含む他のそのようなメモリ技術とを含む。いくつかの例では、例示的なコンピューティングシステムアーキテクチャ1600は、プロセッサ1604と直接接続された、プロセッサ1604に極めて近接した、またはプロセッサ1604の一部として統合された、高速メモリのキャッシュ1608を含む。システムアーキテクチャ1600は、プロセッサ1604による迅速なアクセスのために、メモリ1614および/または記憶デバイス1610からキャッシュ1608にデータをコピーすることができる。このようにして、キャッシュ1608は、データを待つことによるプロセッサ1604中でのプロセッサ遅延を減少させるまたはなくす性能の向上を与えることができる。本明細書で説明されるものなどのモジュール、方法およびサービスを使用して、プロセッサ1604は、様々な行為を実施するように構成され得る。いくつかの例では、キャッシュ1608は、たとえば、レベル1(L1)キャッシュとレベル2(L2)キャッシュとを含む複数のタイプのキャッシュを含み得る。メモリ1614は、本明細書ではシステムメモリまたはコンピュータシステムメモリと呼ばれることがある。メモリ1614は、いろいろな時に、オペレーティングシステムの要素、1つもしくは複数のアプリケーション、オペレーティングシステムまたは1つもしくは複数のアプリケーションに関連するデータ、またはコンピューティングデバイス1602に関連する他のそのようなデータを含み得る。
【0320】
[0336]他のシステムメモリ1614も、使用のために利用可能であり得る。メモリ1614は、異なる性能特性をもつ、複数の異なるタイプのメモリを含むことができる。プロセッサ1604は、任意の汎用プロセッサと、プロセッサ1604ならびに専用プロセッサを制御するように構成された、ストレージデバイス1610中に記憶されたサービス1612などの1つまたは複数のハードウェアまたはソフトウェアサービスとを含むことができ、ここで、ソフトウェア命令は、実際のプロセッサ設計に組み込まれる。プロセッサ1604は、複数のコアまたはプロセッサ、コネクタ(たとえば、バス)、メモリ、メモリコントローラ、キャッシュなどを含んでいる完全な自己完結型のコンピューティングシステムであり得る。いくつかの例では、複数のコアをもつそのような自己完結型のコンピューティングシステムは対称的である。いくつかの例では、複数のコアをもつそのような自己完結型のコンピューティングシステムは非対称的である。いくつかの例では、プロセッサ1604は、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(「DSP」)、またはこれらのおよび/もしくは他のタイプのプロセッサの組合せであり得る。いくつかの例では、プロセッサ1604は、コア、1つまたは複数のレジスタ、および論理演算装置(ALU)、浮動小数点ユニット(FPU)、グラフィックス処理ユニット(GPU)、物理処理ユニット(PPU)、デジタルシステム処理(DSP)ユニット、またはこれらのおよび/もしくは他のそのような処理ユニットの組合せなどの1つまたは複数の処理ユニットなどの複数の要素を含むことができる。
【0321】
[0337]コンピューティングシステムアーキテクチャ1600とのユーザ対話を可能にするために、入力デバイス1616は、スピーチのためのマイクロフォン、ジェスチャまたはグラフィカル入力のためのタッチセンシティブスクリーン、キーボード、マウス、モーション入力、ペン、および他のそのような入力デバイスなど、任意の数の入力機構を表すことができる。出力デバイス1618はまた、限定はしないが、モニタ、スピーカ、プリンタ、触覚デバイス、および他のそのような出力デバイスを含む当業者に知られているいくつかの出力機構のうちの1つまたは複数であり得る。いくつかの例では、マルチモーダルシステムは、ユーザが、コンピューティングシステムアーキテクチャ1600と通信するために複数のタイプの入力を提供することを可能にすることができる。いくつかの例では、入力デバイス1616および/または出力デバイス1618は、たとえば、本明細書で説明されるネットワークインターフェース1620などの通信インターフェースなどの遠隔接続デバイスを使用してコンピューティングデバイス1602に結合され得る。それらの例では、通信インターフェースは、付属の入力デバイス1616および/または出力デバイス1618から受信された入力および出力を統制および管理することができる。企図されるように、任意の特有のハードウェア構成上で動作することに対する制限はなく、したがって、ここでの基本的特徴は、他のハードウェア構成、ソフトウェア構成、またはファームウェア構成が開発されるにつれて、それらで容易に代用され得る。
【0322】
[0338]いくつかの例では、ストレージデバイス1610は、不揮発性記憶装置または不揮発性メモリとして説明され得る。そのような不揮発性メモリまたは不揮発性記憶装置は、磁気カセット、フラッシュメモリカード、固体メモリデバイス、デジタル多用途ディスク、カートリッジ、RAM、ROM、およびそれらのハイブリッドなど、コンピュータによってアクセス可能であるデータを記憶することができるハードディスクまたは他のタイプのコンピュータ可読媒体であり得る。
【0323】
[0339]上記で説明されたように、ストレージデバイス1610は、限定はしないが、本明細書で説明される方法、プロセス、機能、システム、およびサービスを含む1つまたは複数の機能を実施するようにプロセッサ1604を制御または構成することができるサービス1612などのハードウェアサービスおよび/またはソフトウェアサービスを含むことができる。いくつかの例では、ハードウェアサービスまたはソフトウェアサービスは、モジュールとして実装され得る。例示的なコンピューティングシステムアーキテクチャ1600に示されているように、ストレージデバイス1610は、システム接続1606を使用してコンピューティングデバイス1602の他の部分に接続され得る。いくつかの例では、機能を実施するサービス1612などのハードウェアサービスまたはハードウェアモジュールは、プロセッサ1604、接続1606、キャッシュ1608、ストレージデバイス1610、メモリ1614、入力デバイス1616、出力デバイス1618などの必要なハードウェア構成要素とともに、本明細書で説明される機能など機能を実行することができる非一時的コンピュータ可読媒体中に記憶されたソフトウェア構成要素を含むことができる。
【0324】
[0340]体験推奨を生成および実行するための開示されるプロセスは、例示的なコンピューティングシステムアーキテクチャ1600の1つまたは複数の構成要素を使用する、
図16に示されている例示的なコンピューティングシステムなどのコンピューティングシステムを使用して実施され得る。例示的なコンピューティングシステムは、プロセッサ(たとえば、中央処理ユニット)と、メモリと、不揮発性メモリと、インターフェースデバイスとを含むことができる。メモリは、データおよび/または1つもしくは複数のコードセット、ソフトウェア、スクリプトなどを記憶し得る。コンピュータシステムの構成要素は、バスを介してまたは何らかの他の知られているまたは好都合のデバイスを通して一緒に結合され得る。
【0325】
[0341]いくつかの例では、プロセッサは、たとえば、プロセッサ1604などのプロセッサを使用してコードを実行することによって本明細書で説明される体験推奨を生成および実行するための方法および機能の一部または全部を実行するように構成され得、ここにおいて、コードは、本明細書で説明されるように、メモリ1614などのメモリ中に記憶される。ユーザデバイス、プロバイダサーバもしくはシステム、データベースシステム、または他のそのようなデバイス、サービスもしくはシステムのうちの1つまたは複数は、本明細書で説明される例示的なコンピューティングシステムアーキテクチャ1600の1つまたは複数の構成要素を使用する
図16に示されている例示的なコンピューティングシステムなどのコンピューティングシステムの構成要素の一部または全部を含み得る。企図されるように、そのようなシステムの変形形態は本開示の範囲内にあると見なされ得る。
【0326】
[0342]本開示は、任意の好適な物理的形態をとるコンピュータシステムを企図する。限定ではなく例として、コンピュータシステムは、組込み型コンピュータシステム、システムオンチップ(SOC)、(たとえば、コンピュータオンモジュール(COM)またはシステムオンモジュール(SOM)などの)シングルボードコンピュータシステム(SBC)、デスクトップコンピュータシステム、ラップトップもしくはノートブックコンピュータシステム、タブレットコンピュータシステム、ウェアラブルコンピュータシステムもしくはインターフェース、対話型キオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、携帯情報端末(PDA)、サーバ、またはこれらのうちの2つまたはそれ以上の組合せであり得る。適切な場合、コンピュータシステムは、コンピューティングリソースプロバイダ1628に関連して本明細書で説明されるように、ユニタリーであるかまたは分散された、複数のロケーションにわたる、複数の機械にわたる、および/あるいは1つまたは複数のネットワーク中の1つまたは複数のクラウド構成要素を含み得るクラウドコンピューティングシステム中に存在する1つまたは複数のコンピュータシステムを含み得る。適切な場合、1つまたは複数のコンピュータシステムは、実質的な空間的または時間的限定なしに本明細書で説明または例示されている1つまたは複数の方法の1つまたは複数のステップを実施し得る。限定ではなく例として、1つまたは複数のコンピュータシステムは、リアルタイムでまたはバッチモードで本明細書で説明または例示されている1つまたは複数の方法の1つまたは複数のステップを実施し得る。1つまたは複数のコンピュータシステムは、適切な場合、異なる時間にまたは異なるロケーションで本明細書で説明または例示されている1つまたは複数の方法の1つまたは複数のステップを実施し得る。
【0327】
[0343]プロセッサ1604は、Intel(登録商標)マイクロプロセッサ、AMD(登録商標)マイクロプロセッサ、Motorola(登録商標)マイクロプロセッサ、または他のそのようなマイクロプロセッサなどの従来のマイクロプロセッサであり得る。「機械可読(記憶)媒体」または「コンピュータ可読(記憶)媒体」という用語がプロセッサによってアクセス可能である任意のタイプのデバイスを含むことを、当業者は認識されよう。
【0328】
[0344]メモリ1614は、たとえば、コネクタ1606などのコネクタまたはバスによってプロセッサ1604に結合され得る。本明細書で使用されるコネクタ1606などのコネクタまたはバスは、コンピューティングデバイス1602内の構成要素の間でデータを転送する通信システムであり、いくつかの例では、コンピューティングデバイスの間でデータを転送するために使用され得る。コネクタ1606は、データバス、メモリバス、システムバス、または他のそのようなデータ転送機構であり得る。そのようなコネクタの例は、限定はしないが、業界標準アーキテクチャ(ISA)バス、拡張ISA(EISA)バス、パラレルATアタッチメント(PATA)バス(たとえば、統合ドライブエレクトロニクス(IDE)もしくは拡張IDE(EIDE)バス)、または様々なタイプの周辺構成要素相互接続(PCI)バス(たとえば、PCI、PCIe、PCI-104など)を含む。
【0329】
[0345]メモリ1614は、限定はしないが、ダイナミックRAM(DRAM)、スタティックRAM(SRAM)、同期ダイナミックRAM(SDRAM)、不揮発性ランダムアクセスメモリ(NVRAM)、および他のタイプのRAMを含むRAMを含むことができる。DRAMは、誤り訂正符号(EEC)を含み得る。メモリはまた、限定はしないが、プログラマブルROM(PROM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM(登録商標))、フラッシュメモリ、マスクROM(MROM)、および他のタイプのROMを含むROMを含むことができる。メモリ1614はまた、読取り専用記憶媒体(たとえば、CD ROMおよびDVD ROM)または別の記憶媒体(たとえば、CDまたはDVD)を含む磁気または光学データ記憶媒体を含むことができる。メモリは、ローカルであるか、リモートであるか、または分散され得る。
【0330】
[0346]上記で説明されたように、コネクタ1606(またはバス)はまたプロセッサ1604を、不揮発性メモリまたは記憶装置を含み得、ドライブユニットをも含み得るストレージデバイス1610に結合することができる。いくつかの例では、不揮発性メモリまたは記憶装置は、磁気フロッピー(登録商標)もしくはハードディスク、磁気光ディスク、光ディスク、ROM(たとえば、CD-ROM、DVD-ROM、EPROM、もしくはEEPROM)、磁気もしくは光学カード、または別の形態のデータのための記憶装置である。このデータの一部は、直接メモリアクセスプロセスによって、コンピュータシステム中のソフトウェアの実行中にメモリに書き込まれ得る。不揮発性メモリまたは記憶装置は、ローカルであるか、リモートであるか、または分散され得る。いくつかの例では、不揮発性メモリまたは記憶装置は随意である。企図され得るように、コンピューティングシステムは、メモリ中で利用可能なすべての適用可能なデータを用いて作成され得る。典型的なコンピュータシステムは、通常、少なくとも1つのプロセッサと、メモリと、メモリをプロセッサに結合するデバイス(たとえば、バス)とを含むことになる。
【0331】
[0347]ソフトウェアおよび/またはソフトウェアに関連するデータは、不揮発性メモリおよび/またはドライブユニットに記憶され得る。いくつかの例では(たとえば、大きいプログラムの場合)、メモリ中にプログラムおよび/またはデータ全体を常時記憶することが可能でないことがある。そのような例では、プログラムおよび/またはデータは、たとえば、ストレージデバイス1610などの追加のストレージデバイスからメモリ内外に移動され得る。それにもかかわらず、ソフトウェアが稼働するために、必要な場合、処理に適したコンピュータ可読ロケーションに移動され、説明のために、そのロケーションは、本明細書ではメモリと呼ばれることを理解されたい。ソフトウェアが実行のためにメモリに移動されたときでも、プロセッサは、ソフトウェアに関連する値を記憶するためにハードウェアレジスタと、理想的には、実行を高速化するように働くローカルキャッシュとを利用することができる。本明細書で使用されるソフトウェアプログラムは、そのソフトウェアプログラムが「コンピュータ可読媒体において実装される」と呼ばれるとき、任意の知られているまたは好都合なロケーション(不揮発性記憶装置からハードウェアレジスタまで)に記憶されると仮定される。プログラムに関連する少なくとも1つの値がプロセッサによって読取り可能なレジスタに記憶されるとき、プロセッサは、「プログラムを実行するように構成される」と見なされる。
【0332】
[0348]接続1606はまた、ネットワークインターフェース1620などのネットワークインターフェースデバイスにプロセッサ1604を結合することができる。インターフェースは、限定はしないが、モデムまたは本明細書で説明されるものを含む他のそのようなネットワークインターフェースのうちの1つまたは複数を含むことができる。ネットワークインターフェース1620が、コンピューティングデバイス1602の部分であると見なされ得るか、またはコンピューティングデバイス1602とは別個のものであり得ることを諒解されよう。ネットワークインターフェース1620は、アナログモデム、統合サービスデジタルネットワーク(ISDN)モデム、ケーブルモデム、トークンリングインターフェース、衛星送信インターフェース、または他のコンピュータシステムにコンピュータシステムを結合するための他のインターフェースのうちの1つまたは複数を含むことができる。いくつかの例では、ネットワークインターフェース1620は、1つまたは複数の入力および/または出力(I/O)デバイスを含むことができる。入出力デバイスは、限定ではなく例として、入力デバイス1616などの入力デバイスおよび/または出力デバイス1618などの出力デバイスを含むことができる。たとえば、ネットワークインターフェース1620は、キーボードと、マウスと、プリンタと、スキャナと、ディスプレイデバイスと、他のそのような構成要素とを含み得る。本明細書では、入力デバイスと出力デバイスとの他の例について説明される。いくつかの例では、通信インターフェースデバイスは、完全で別個のコンピューティングデバイスとして実装され得る。
【0333】
[0349]動作中、コンピュータシステムは、ディスクオペレーティングシステムなどのファイル管理システムを含むオペレーティングシステムソフトウェアによって制御され得る。関連するファイル管理システムソフトウェアをもつオペレーティングシステムソフトウェアの一例は、Windows(登録商標)オペレーティングシステムのファミリおよびそれらの関連するファイル管理システムである。それの関連するファイル管理システムソフトウェアをもつオペレーティングシステムソフトウェアの別の例は、限定はしないが、Linux(登録商標)オペレーティングシステムおよびそれらの関連するファイル管理システムの様々なタイプおよび実装形態を含むLinux(登録商標)オペレーティングシステムおよびそれの関連するファイル管理システムである。ファイル管理システムは、不揮発性メモリおよび/または駆動ユニット中に記憶され得、データを入力および出力することと、不揮発性メモリおよび/または駆動ユニット上にファイルを記憶することを含むメモリ中にデータを記憶することとをオペレーティングシステムが行うために必要とされる様々な行為を実行することをプロセッサに行わせることができる。企図されるように、たとえば、MacOS(登録商標)、他のタイプのUNIX(登録商標)オペレーティングシステム(たとえば、BSD(登録商標)および子孫、Xenix(登録商標)、SunOS(登録商標)、HP-UX(登録商標)など)、モバイルオペレーティングシステム(たとえば、iOS(登録商標)および変形形態、Chrome(登録商標)、Ubuntu Touch(登録商標)、watchOS(登録商標)、Windows 10 Mobile(登録商標)、Blackberry(登録商標)OSなど)、およびリアルタイムオペレーティングシステム(たとえば、VxWorks(登録商標)、QNX(登録商標)、eCos(登録商標)、RTLinux(登録商標)など)などの他のタイプのオペレーティングシステムは、本開示の範囲内であると見なされ得る。企図されるように、本明細書に記載するオペレーティングシステム、モバイルオペレーティングシステム、リアルタイムオペレーティングシステム、言語、およびデバイスの名前は様々な関連するエンティティの登録商標、サービスマーク、または設計であり得る。
【0334】
[0350]いくつかの例では、コンピューティングデバイス1602は、ネットワークインターフェース1620などの接続を使用してネットワーク1622を介してコンピューティングデバイス1624などの1つまたは複数の追加のコンピューティングデバイスに接続され得る。それらの例では、コンピューティングデバイス1624は、コンピューティングデバイス1602上で動作するプログラムおよび/またはサービスの制御下でまたはそれに代わって1つまたは複数の機能を実施するために1つまたは複数のサービス1626を実行し得る。いくつかの例では、コンピューティングデバイス1624などのコンピューティングデバイスは、限定はしないが、プロセッサ1604などのプロセッサと、接続1606などの接続と、キャッシュ1608などのキャッシュと、ストレージデバイス1610などのストレージデバイスと、メモリ1614などのメモリと、入力デバイス1616などの入力デバイスと、出力デバイス1618などの出力デバイスとを含むコンピューティングデバイス1602に関して説明された構成要素のタイプのうちの1つまたは複数を含み得る。それらの例では、コンピューティングデバイス1624は、コンピューティングデバイス1602に関して本明細書で説明された機能などの機能を実行することができる。いくつかの例では、コンピューティングデバイス1602は、コンピューティングデバイス1624などの複数のコンピューティングデバイスに接続され得、その各々は、同じく、コンピューティングデバイス1624などの複数のコンピューティングデバイスに接続され得、それは、本明細書では分散コンピューティング環境と呼ばれることがある。
【0335】
[0351]ネットワーク1622は、インターネット、イントラネット、エクストラネット、セルラーネットワーク、Wi-Fi(登録商標)ネットワーク、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、衛星ネットワーク、Bluetooth(登録商標)ネットワーク、バーチャルプライベートネットワーク(VPN)、公衆交換電話網、赤外線(IR)ネットワーク、モノのインターネット(IoTネットワーク)、または任意の他のそのようなネットワークもしくはネットワークの組合せを含む任意のネットワークであり得る。ネットワーク1622を介した通信は、ワイヤード接続、ワイヤレス接続、またはそれらの組合せであり得る。ネットワーク1622を介した通信は、限定はしないが、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、ユーザデータグラムプロトコル(UDP)、開放型システム間相互接続(OSI)モデルの様々なレイヤ中のプロトコル、ファイル転送プロトコル(FTP)、ユニバーサルプラグアンドプレイ(UPnP)、ネットワークファイルシステム(NFS)、サーバメッセージブロック(SMB)、共通インターネットファイルシステム(CIFS)、および他のそのような通信プロトコルを含む様々な通信プロトコルを介して行われ得る。
【0336】
[0352]ネットワーク1622を介した通信は、コンピューティングデバイス1602内に、コンピューティングデバイス1624内に、またはコンピューティングリソースプロバイダ1628内に本明細書ではコンテンツと呼ばれることもある情報を含むことができる。情報は、コンピューティングデバイス1602などのコンピューティングデバイスのユーザに与えられ得るテキスト、グラフィックス、オーディオ、ビデオ、触覚、および/または任意の他の情報を含み得る。いくつかの例では、情報は、ハイパーテキストマークアップ言語(HTML)、拡張可能マークアップ言語(XML)、Java(登録商標)Script、カスケーディングスタイルシート(CSS)、JavaScript(登録商標)Object Notation(JSON)、ならびに他のそのようなプロトコルおよび/または構造化言語などの転送プロトコルを使用して配信され得る。情報は、最初に、コンピューティングデバイス1602によって処理され、視覚、音、嗅覚、味覚、触覚、または他のそのような機構を介して知覚可能である形態を使用してコンピューティングデバイス1602のユーザに提示され得る。いくつかの例では、ネットワーク1622を介した通信は、サーバとして構成されたコンピューティングデバイスによって受信および/または処理され得る。そのような通信は、PHPハイパーテキストプリプロセッサ(「PHP」)、Python(登録商標)、Ruby、Perl(登録商標)および変形形態、Java(登録商標)、HTML、XML、または別のそのようなサーバ側の処理言語を使用して送信および受信され得る。
【0337】
[0353]いくつかの例では、コンピューティングデバイス1602および/またはコンピューティングデバイス1624は、本明細書で説明されるネットワークインターフェース(たとえば、ネットワークインターフェース1620)などのネットワークインターフェースを使用してネットワーク1622を介してコンピューティングリソースプロバイダ1628に接続され得る。それらの例では、(本明細書では「コンピューティングリソースプロバイダ環境」内にとも呼ばれる)コンピューティングリソースプロバイダ1628内にホストされる1つまたは複数のシステム(たとえば、サービス1630およびサービス1632)は、コンピューティングデバイス1602および/またはコンピューティングデバイス1624上で動作するプログラムおよび/またはサービスの制御下でまたはそれに代わって1つまたは複数の機能を実施するために1つまたは複数のサービスを実行し得る。サービス1630およびサービス1632などのシステムは、コンピューティングデバイス1602および/またはコンピューティングデバイス1624上で動作するプログラムおよび/またはサービスの制御下でまたはそれに代わって1つまたは複数の機能を実施するためにコンピュータコードを実行するために本明細書で説明されるコンピューティングデバイスなどの1つまたは複数のコンピューティングデバイスを含み得る。
【0338】
[0354]たとえば、コンピューティングデバイス1602のためのデータの量がストレージデバイス1610の容量を超えるとき、たとえば、コンピューティングリソースプロバイダ1628は、コンピューティングデバイス1602のためのデータを記憶するためにサービス1630上で動作するサービスを与え得る。別の例では、コンピューティングリソースプロバイダ1628は、最初に、サービス1632上に仮想マシン(VM)をインスタンス化し、サービス1632上に記憶されたデータにアクセスするためにそのVMを使用し、そのデータに対して1つまたは複数の動作を実施し、コンピューティングデバイス1602にそれらの1つまたは複数の動作の結果を与えるためにサービスを与え得る。そのような動作(たとえば、データの記憶およびVMのインスタンス化)は、本明細書では「クラウド中で」、「クラウドコンピューティング環境内で」、または「ホストされた仮想マシン環境内で」動作することと呼ばれることがあり、コンピューティングリソースプロバイダ1628は、本明細書では「クラウド」と呼ばれることもある。そのようなコンピューティングリソースプロバイダの例は、限定はしないが、Amazon(登録商標)ウェブサービス(AWSR)、MicrosoftのAzure(登録商標)、IBM Cloud(登録商標)、Google Cloud(登録商標)、オラクルCloud(登録商標)などを含む。
【0339】
[0355]コンピューティングリソースプロバイダ1628によって与えられるサービスは、限定はしないが、データアナリティクス、データストレージ、アーカイブストレージ、ビッグデータストレージ、(様々なスケーラブルVMアーキテクチャを含む)仮想コンピューティング、ブロックチェーンサービス、コンテナ(たとえば、アプリケーションカプセル化)、データベースサービス、(サンドボックス開発環境を含む)開発環境、電子商取引ソリューション、ゲームサービス、メディアおよびコンテンツ管理サービス、セキュリティサービス、サーバレスホスティング、仮想現実(VR)システム、および拡張現実(AR)システムを含む。そのようなサービスを容易にする様々な技法は、限定はしないが、仮想マシン、仮想ストレージ、データベースサービス、システムスケジューラ(たとえば、ハイパーバイザ)、リソース管理システム、様々なタイプの短期、中間、長期、およびアーカイバルストレージデバイスなどを含む。
【0340】
[0356]企図されるように、サービス1630およびサービス1632などのシステムは、コンピューティングデバイス1602および/またはコンピューティングデバイス1624に代わって、またはそれの制御下で様々なサービス(たとえば、サービス1612またはサービス1626)のバージョンを実装し得る。様々なサービスのそのようは実装されたバージョンは、たとえば、サービスがたとえばサービス1630上で実行しているときにサービス1612がコンピューティングデバイス1602上で実行しているようにコンピューティングデバイス1602のユーザに見え得るように1つまたは複数の仮想化技法を伴い得る。同じく企図され得るように、コンピューティングリソースプロバイダ1628環境内で動作する様々なサービスは、環境内の様々なシステムの間に分散され、ならびにコンピューティングデバイス1624および/またはコンピューティングデバイス1602上に部分的に分散され得る。
【0341】
[0357]クライアントデバイス、ユーザデバイス、コンピュータリソースプロバイダデバイス、ネットワークデバイス、および他のデバイスは、特に、1つまたは複数の集積回路、入力デバイス、出力デバイス、データ記憶デバイス、および/またはネットワークインターフェースを含むコンピューティングシステムであり得る。集積回路は、特に、たとえば、本明細書で説明されるものなど、1つまたは複数のプロセッサ、揮発性メモリ、および/または不揮発性メモリを含むことができる。入力デバイスは、たとえば、限定はしないが、本明細書で説明される入力デバイスを含むキーボード、マウス、キーパッド、タッチインターフェース、マイクロフォン、カメラ、および/または他のタイプの入力デバイスを含むことができる。出力デバイスは、たとえば、限定はしないが、本明細書で説明される出力デバイスを含むディスプレイスクリーン、スピーカ、触覚フィードバックシステム、プリンタ、および/または他のタイプの出力デバイスを含むことができる。ハードドライブまたはフラッシュメモリなどのデータ記憶デバイスは、コンピューティングデバイスが、一時的にまたは永続的にデータを記憶することを可能にすることができる。ワイヤレスまたはワイヤードインターフェースなどのネットワークインターフェースは、コンピューティングデバイスがネットワークと通信することを可能にすることができる。コンピューティングデバイスの例(たとえば、コンピューティングデバイス1602)は、限定はしないが、デスクトップコンピュータ、ラップトップコンピュータ、サーバコンピュータ、ハンドヘルドコンピュータ、タブレット、スマートフォン、携帯情報端末、デジタル自宅アシスタント、ウェアラブルデバイス、スマートデバイス、ならびにこれらおよび/または他のそのようなコンピューティングデバイスの組合せ、ならびにコンピューティングデバイスが組み込まれているおよび/または仮想的に実装されている機械および装置を含む。
【0342】
[0358]本明細書で説明された技法はまた、電子ハードウェア、コンピュータソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。そのような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、またはワイヤレス通信デバイスハンドセットおよび他のデバイスにおける適用を含む複数の用途を有する集積回路デバイスなど、様々なデバイスのいずれかにおいて実装され得る。モジュールまたは構成要素として説明された特徴は、集積論理デバイスに一緒に、または個別であるが相互運用可能な論理デバイスとして別個に実装され得る。ソフトウェアにおいて実装される場合、技法は、命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体であって、命令は、実行された場合に、上述した方法のうちの1つまたは複数を実行する、コンピュータ可読データ記憶媒体によって少なくとも部分的に実現され得る。コンピュータ可読データ記憶媒体は、パッケージング材料を含み得るコンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、本明細書で説明されたものなど、メモリまたはデータ記憶媒体を備え得る。本技法は、追加または代替として、伝搬信号または電波など、命令またはデータ構造の形態でプログラムコードを搬送または通信し、コンピュータによってアクセスされ、読み取られ、および/または実行され得るコンピュータ可読通信媒体によって少なくとも部分的に実現され得る。
【0343】
[0359]プログラムコードは、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価の集積回路またはディスクリート論理回路など、1つまたは複数のプロセッサを含み得るプロセッサによって実行され得る。そのようなプロセッサは、本開示で説明された技法のいずれかを実施するように構成され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサは、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、または、任意の他のそのような構成としても実装され得る。したがって、本明細書で使用される「プロセッサ」という用語は、上記の構造のいずれか、上記の構造の任意の組合せ、あるいは本明細書で説明された技法の実装に好適な任意の他の構造または装置を指し得る。さらに、いくつかの態様では、本明細書で説明される機能は、中断されたデータベース更新システムを実装するために構成された専用のソフトウェアモジュールまたはハードウェアモジュール内に与えられ得る。
【0344】
[0360]本明細書で使用する「機械可読媒体」という用語および「機械可読記憶媒体」、「コンピュータ可読媒体」、および「コンピュータ可読記憶媒体」という等価の用語は、限定はしないが、命令および/またはデータを記憶、包含、または搬送することが可能なポータブルなまたはポータブルでないストレージデバイス、光ストレージデバイス、取外し可能なまたは取外し不可能なストレージデバイス、および様々な他の媒体を含む媒体を指す。コンピュータ可読媒体は、データがそこに記憶され得る非一時的媒体を含み得、それは、ワイヤレスにまたはワイヤード接続を介して伝搬する搬送波および/または一時的電子信号を含まない。非一時的媒体の例は、限定はしないが、磁気ディスクまたはテープ、コンパクトディスク(CD)またはデジタル多用途ディスク(DVD)などの光記憶媒体、ソリッドステートドライブ(SSD)、フラッシュメモリ、メモリまたはメモリデバイスを含み得る。
【0345】
[0361]機械可読媒体または機械可読記憶媒体は、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、あるいは命令、データ構造、またはプログラムステートメントの任意の組合せを表し得る、コードおよび/または機械実行可能命令をその上に記憶していることがある。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容をパスおよび/または受信することによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引数、パラメータ、データなどは、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信などを含む、任意の好適な手段を介してパス、フォワーディング、または送信され得る。機械可読記憶媒体、機械可読媒体、またはコンピュータ可読(記憶)媒体のさらなる例は、限定はしないが、特に、揮発性および不揮発性メモリデバイス、フロッピーおよび他のリムーバブルディスク、ハードディスクドライブ、光ディスク(たとえば、CD、DVDなど)などの記録可能タイプ媒体と、デジタルおよびアナログ通信リンクなどの送信タイプ媒体とを含む。
【0346】
[0362]企図されるように、本明細書の例は、単一の媒体として機械可読媒体または機械可読記憶媒体を示すかまたは言及し得るが、「機械可読媒体」および「機械可読記憶媒体」という用語は、命令の1つまたは複数のセットを記憶する単一の媒体または複数の媒体(たとえば、集中もしくは分散データベースならびに/または関連するキャッシュおよびサーバ)を含むものと解釈されるべきである。「機械可読媒体」および「機械可読記憶媒体」という用語はまた、システムが実行するための命令のセットを記憶、符号化、または搬送することが可能であり、システムに本明細書で開示する方法またはモジュールのうちの任意の1つまたは複数を実行させる任意の媒体を含むものとする。
【0347】
[0363]本明細書における詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビットに対する動作のアルゴリズムおよび記号表現に関して提示され得る。これらのアルゴリズムの説明および表現は、データ処理分野の当業者によって、自身の仕事の本質を他の当業者に最も効果的に伝達するために使用される手段である。アルゴリズムは、本明細書では、および一般には、所望の結果をもたらす自己無撞着な一連の動作であると想到される。動作は、物理量の物理的操作を必要とするものである。通常、必ずしも必要とは限らないが、これらの量は、記憶、転送、結合、比較、および他の方法で操作されることが可能な電気信号または磁気信号の形態をとる。主に一般的な用法という理由で、これらの信号をビット、値、要素、記号、文字、項、数、などと呼ぶことが時々便利であることがわかっている。
【0348】
[0364]ただし、これらおよび同様の用語のすべては、適切な物理量に関連付けられるべきものであり、これらの量に適用される便利なラベルにすぎないことに留意されたい。別段に明記されていない限り、以下の説明から明らかなように、説明全体にわたって、「処理する」または「計算する」または「算出する」または「決定する」または「表示する」または「生成する」などの用語を利用する説明は、コンピュータシステムのレジスタおよびメモリ内の物理(電子)量として表されるデータを操作し、コンピュータシステムのメモリまたはレジスタまたは他のそのような情報記憶、送信もしくはディスプレイデバイス内の物理量として同様に表される他のデータに変換するコンピュータシステムまたは同様の電子コンピューティングデバイスの行為およびプロセスを指すことを諒解されたい。
【0349】
[0365]個々の実装形態は、フローチャート、流れ図、データフロー図、構造図、またはブロック図として示されるプロセス(たとえば、
図6~
図8に示されているプロセス)として説明される場合があることにも留意されたい。フローチャート、流れ図、データフロー図、構造図、またはブロック図は、動作を逐次的なプロセスとして説明し得るが、動作の多くは、並行してまたは同時に実施され得る。さらに、動作の順序は並べ替えられ得る。図に示されているプロセスは、それの動作が完了したときに終了されるが、図に含まれていない追加のステップを有し得る。プロセスは、方法、関数、プロシージャ、サブルーチン、サブプログラムなどに対応し得る。プロセスが関数に対応するとき、それの終了は呼出し関数またはメイン関数への関数の復帰に対応することができる。
【0350】
[0366]いくつかの例では、本明細書で説明されるアルゴリズムなどのアルゴリズムの1つまたは複数の実装形態は、機械学習または人工知能アルゴリズムを使用して実装され得る。そのような機械学習または人工知能アルゴリズムは、教師つき、教師なし、強化、または他のそのようなトレーニング技法を使用してトレーニングされ得る。たとえば、データのセットは、監視およびフィードバック(たとえば、教師なしトレーニング技法)なしにデータのセットの異なる要素の間の相関を識別するために様々な機械学習アルゴリズムのうちの1つを使用して分析され得る。機械学習データ分析アルゴリズムはまた、潜在的な相関を識別するためにサンプルまたはライブデータを使用してトレーニングされ得る。そのようなアルゴリズムは、k平均クラスタリングアルゴリズム、ファジーc平均(FCM)アルゴリズム、期待値最大化(EM)アルゴリズム、階層クラスタリングアルゴリズム、ノイズのあるアプリケーションの密度ベースの空間クラスタリング(DBSCAN)アルゴリズムなどを含み得る。機械学習または人工知能アルゴリズムの他の例は、限定はしないが、遺伝的アルゴリズム、バックプロパゲーション、強化学習、決定木、ライナー分類、人工ニューラルネットワーク、異常検出などを含む。より一般的には、機械学習または人工知能方法は、回帰分析、次元削減、メタ学習、強化学習、ディープラーニング、ならびに他のそのようなアルゴリズムおよび/または方法を含み得る。企図されるように、「機械学習」および「人工知能」という用語は、これらの分野の間の重複の程度により頻繁に互換的に使用され、開示される技法およびアルゴリズムの多くは同様の手法を有する。
【0351】
[0367]教師つきトレーニング技法の一例として、データのセットは、データのセットのメンバーの間の相関の識別を容易にするために機械学習モデルのトレーニングのために選択され得る。機械学習モデルは、機械学習モデルに供給されるサンプル入力に基づいて、機械学習モデルがデータのセットのメンバーの間の正確な相関を生成しているのかどうかを決定するために評価され得る。この評価に基づいて、機械学習モデルは、機械学習モデルが所望の相関を識別する可能性を高めるために修正され得る。機械学習モデルは、機械学習アルゴリズムまたは人工知能アルゴリズムによって与えられた相関の効力に関するシステムのユーザからのフィードバック(すなわち、監視)を要請することによってさらに動的にトレーニングされ得る。機械学習アルゴリズムまたは人工知能は、相関を生成するためのアルゴリズムを改善するためにこのフィードバックを使用し得る(たとえば、フィードバックは、より正確な相関を与えるために機械学習アルゴリズムまたは人工知能をさらにトレーニングするために使用され得る)。
【0352】
[0368]本明細書で説明されるフローチャート、流れ図、データフロー図、構造図またはブロック図の様々な例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードで実装されるとき、必要なタスクを実施するためのプログラムコードまたはコードセグメント(たとえば、コンピュータプログラム製品)は、本明細書で説明されるものなどのコンピュータ可読または機械可読記憶媒体(たとえば、プログラムコードまたはコードセグメントを記憶するための媒体)に記憶され得る。集積回路中に実装されるプロセッサが、必要なタスクを実施し得る。
【0353】
[0369]本明細書で開示される実装形態に関連して説明される、様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、ファームウェア、またはそれらの組合せとして実装され得る。ハードウェアとソフトウェアとのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップが、概して、それらの機能に関して上記で説明された。そのような機能がハードウェアとして実装されるのか、ソフトウェアとして実装されるのかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明された機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本開示の範囲からの逸脱を生じるものと解釈されるべきではない。
【0354】
[0370]しかしながら、本明細書で提示されるアルゴリズムおよびディスプレイは、任意の特定のコンピュータまたは他の装置に本質的に関係しないことに留意されたい。様々な汎用システムは、本明細書の教示に従ってプログラムとともに使用され得るか、またはいくつかの例の方法を実施するためにより特殊な装置を構築するのに便利であることがわかり得る。様々なこれらのシステムのために必要とされる構造が以下の説明から明らかになるであろう。さらに、技法は、任意の特定のプログラミング言語を参照しながら説明されず、したがって、様々な例は、様々なプログラミング言語を使用して実装され得る。
【0355】
[0371]様々な実装形態では、システムは、スタンドアロンデバイスとして動作するか、または他のシステムに接続(たとえば、ネットワーク化)され得る。ネットワーク化された展開では、システムは、クライアントサーバネットワーク環境におけるサーバまたはクライアントシステムの容量で、あるいはピアツーピア(または分散)ネットワーク環境におけるピアシステムとして動作し得る。
【0356】
[0372]システムは、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ(PC)、タブレットPC(たとえば、iPad(登録商標)、Microsoft Surface(登録商標)、Chromebook(登録商標)など)、ラップトップコンピュータ、セットトップボックス(STB)、携帯情報端末(PDA)、モバイルデバイス(たとえば、セルラー電話、iPhone(登録商標)、およびAndroid(登録商標)デバイス、Blackberry(登録商標)など)、ウェアラブルデバイス、埋込みコンピュータシステム、電子ブックリーダ、プロセッサ、電話、ウェブ機器、ネットワークルータ、スイッチまたはブリッジ、あるいはそのシステムによってとられるべきアクションを指定する命令のセット(連続またはそれ以外)を実行することが可能な任意のシステムであり得る。システムはまた、コンピュータデバイス1602などの別のコンピュータデバイス上にホストされ得る上述のデバイスのうちの1つの仮想バージョンなどの仮想システムであり得る。
【0357】
[0373]概して、本開示の実装形態を実装するために実行されるルーチンは、オペレーティングシステムの部分または特定のアプリケーション、構成要素、プログラム、オブジェクト、モジュールまたは「コンピュータプログラム」と呼ばれる一連の命令として実装され得る。コンピュータプログラムは一般に、コンピュータ中の1つまたは複数の処理ユニットまたはプロセッサによって読み取られ、実行されたときに、コンピュータに、本開示の様々な態様に関与する要素を実行するために動作を実行させる、コンピュータ中の様々なメモリおよび記憶デバイス中のいろいろな時点での1つまたは複数の命令セットを備える。
【0358】
[0374]さらに、完全に機能するコンピュータおよびコンピュータシステムの文脈で例を説明したが、様々な例が様々な形態のプログラムオブジェクトとして分散されることが可能であること、および分散に実際に影響を及ぼすために使用される特定のタイプの機械またはコンピュータ可読媒体にかかわらず本開示が等しく適用されることを、当業者は諒解されよう。
【0359】
[0375]いくつかの状況では、バイナリ1からバイナリ0への、またはその逆の状態の変化などの、メモリデバイスの動作は、たとえば、物理的変換などの変換を備え得る。特定のタイプのメモリデバイスでは、そのような物理的変換は、異なる状態または物への物品の物理的変換を備え得る。たとえば、限定はしないが、いくつかのタイプのメモリデバイスの場合、状態の変化は、電荷の累積および蓄積、あるいは蓄積された電荷の解放を伴い得る。同様に、他のメモリデバイスでは、状態の変化は、磁気方位の物理的変化もしくは変換または結晶状からアモルファスへのもしくはその逆の分子構造の物理的変化もしくは変換を備え得る。上記は、メモリデバイスにおけるバイナリ1のバイナリ0へのまたはその逆への状態の変化が物理的変換などの変換を備え得る、すべての例の網羅的なリストになるように意図されていない。むしろ、上記は説明のための例として意図されている。
【0360】
[0376]記憶媒体は、一般に、非一時的であるか、または非一時的デバイスを備え得る。このコンテキストでは、非一時的記憶媒体は、有形であるデバイスを含み得、これは、デバイスが具体的な物理的形態を有することを意味するが、デバイスはそれの物理的状態を変化し得る。したがって、たとえば、非一時的は、状態のこの変化にもかかわらず有形にとどまるデバイスを指す。
【0361】
[0377]上記の説明および図面は、例示的なものであり、主題を開示される正確な形態に限定または制限するものと解釈されるべきではない。多くの修正および変更が、上記の開示に照らして可能であり、本明細書に説明される概念のより広い範囲から逸脱することなくそれに行われ得ることを当業者には諒解されよう。開示の完全な理解を提供するために、多数の具体的な詳細について説明される。しかしながら、いくつかの事例では、説明を不明瞭にすることを回避するために、よく知られているまたは従来の詳細について説明されない。
【0362】
[0378]本明細書で使用される「接続された」、「結合された」という用語またはそれの任意の変形態は、システムのモジュールに適用されるときに、2つまたはそれ以上の要素の間での直接的または間接的な任意の接続または結合を意味し、要素間の接続の結合は、物理的、論理的、またはそれらの任意の組合せであり得る。さらに、「本明細書で(herein)」、「上記で(above)」、「以下で(below)」という用語、および同様の意味の用語は、本明細書で使用されるとき、本明細書の任意の特定の部分ではなく、本明細書を全体として指すものとする。文脈が許せば、単数または複数を使用する、上記の発明を実施するための形態における用語は、それぞれ複数または単数をも含み得る。2つまたはそれ以上の項目のリストに関する「または(or)」という用語は、リスト中の項目のうちのいずれか、リスト中の項目のうちのすべて、またはリスト中の項目の任意の組合せという用語の解釈のうちのすべてをカバーする。
【0363】
[0379]本明細書で使用される「1つの(a)」および「1つの(an)」および「その(the)」および他のそのような単数形の指示対象は、本明細書に別段に指示されていないか、またはコンテキストによってはっきり否定されていない限り、単数と複数の両方を含むと解釈されるべきである。
【0364】
[0380]本明細書で使用される「備える(comprising)」、「有する(having)」、「含む(including)」、および「含んでいる(containing)」という用語は、別段に指示されていないか、またはコンテキストによってはっきり否定されていない限り、開放型であると解釈されるべきである(たとえば、「含む(including)」は、「限定はしないが、含む(including, but not limited to)」と解釈されるべきである)。
【0365】
[0381]本明細書で使用されるように、値の範囲の具陳は、別段に指示されていないか、またはコンテキストによってはっきり否定されていない限り、範囲内に入るそれぞれ別個の値を個々に言及することの短縮された方法として働くものである。したがって、範囲のそれぞれ別個の値は、それが本明細書に個々に記載されたかのように本明細書に組み込まれる。
【0366】
[0382]本明細書で使用されるように、「セット」(たとえば、「アイテムのセット」)および「サブセット」(たとえば、「アイテムのセットのサブセット」)という用語の使用は、別段に指示されていないか、またはコンテキストによってはっきり否定されていない限り、1つまたは複数のメンバーを含む非空コレクションとして解釈されるべきである。さらに、別段に指示されていないか、またはコンテキストによってはっきり否定されていない限り、対応するセットの「サブセット」という用語は、対応するセットの真部分集合を必ずしも示すとは限らないが、サブセットとセットとは同じ要素を含み得る(すなわち、セットとサブセットとは同じであり得る)。
【0367】
[0383]本明細書で使用されるように、「A、B、およびCのうちの少なくとも1つ」などの接続的な文言の使用は、別段に指示されていないか、またはコンテキストによってはっきり否定されていない限り、A、B、およびCのうちの1つまたは複数(たとえば、セット{A、B、C}の以下の非空サブセットのうちのいずれか1つ、すなわち、{A}、{B}、{C}、{A,B}、{A,C}、{B,C}、または{A,B,C})を示すものとして解釈されるべきである。したがって、「A、B、およびCのうちの少なくとも1つ」などの接続的な文言は、Aのうちの少なくとも1つ、Bのうちの少なくとも1、およびCのうちの少なくとも1つの要件を暗示しない。
【0368】
[0384]本明細書で使用されるように、例または例示的な文言(たとえば、「など」または「一例として」)の使用は、本明細書に説明される概念をより明確に示すものであり、別段の主張がない限り範囲に限定を課さない。本明細書中のそのような文言は、任意の非請求の要素が本開示において説明され、主張される概念の実施のために必要とされることを示すものとして解釈されてはならない。
【0369】
[0385]本明細書で使用されるように、構成要素がいくつかの動作を実施する「ように構成される」ものとして説明される場合、そのような構成は、たとえば、動作を実施するように電子回路または他のハードウェアを設計することによって、動作を実施するようにプログラマブル電子回路(たとえば、マイクロプロセッサ、または他の好適な電子回路)をプログラムすることによって、あるいはそれらの任意の組合せで達成され得る。
【0370】
[0386]開示される主題が、以下に示されていない他の形態および様式で具現され得ることを、当業者は諒解されよう。第1の(first)、第2の(second)、上部の(top)および下部の(bottom)などの関係を示す用語の使用は、もしあれば、1つのエンティティまたはアクションを、そのようなエンティティまたはアクションの間のいかなるそのような実際の関係または順序を必ずしも必要とするかまたは暗示することなしに、別のものと区別するためにのみ使用されることを理解されたい。
【0371】
[0387]プロセスまたはブロックが所与の順序で提示されているが、代替実装形態は、異なる順序で、ステップを有するルーチンを実施するか、またはブロックを有するシステムを採用し得、いくつかのプロセスまたはブロックは、代替または部分組合せを提供するために削除、移動、追加、再分割、置換、結合、および/または修正され得る。これらのプロセスまたはブロックの各々は、様々な異なる方法で実装され得る。また、プロセスまたはブロックは、時々連続して実施されているように示されているが、これらのプロセスまたはブロックは、代わりに並行して実施され得るか、または異なる時間に実施され得る。さらに、本明細書において言及された任意の特定の数は例にすぎず、代替実装形態は、異なる値または範囲を採用し得る。
【0372】
[0388]本明細書で提供される開示の教示は、必ずしも上記で説明されたシステムに限らず他のシステムに適用され得る。上記で説明された様々な例の要素および行為は、さらなる例を与えるために組み合わされ得る。
【0373】
[0389]添付の出願書類中にリストされ得るものを含む上記で言及された任意の特許および出願および他の参考文献は、参照により本明細書に組み込まれる。本開示の態様は、必要な場合、本開示のまたさらなる例を与えるために上記で説明された様々な参考文献のシステム、機能、および概念を採用するために修正され得る。
【0374】
[0390]これらおよび他の変更は、上記の発明を実施するための形態に照らして本開示に行われ得る。上記の説明がいくつかの例について説明し、企図される最良の態様について説明するが、文章中でいかに詳述されているように見えたとしても、教示は多くの方法で実施され得る。システムの詳細は、本明細書で開示される主題によって依然として包含されるが、それの実装詳細において大幅に変動し得る。上記のように、本開示のいくつかの特徴または態様について説明するときに使用される特定の用語は、その用語が関連付けられる開示の任意の特定の特性、特徴、または態様に制限されるように、その用語が本明細書で再定義されていることを暗示するものととられるべきではない。概して、以下の特許請求の範囲において使用される用語は、上記の発明を実施するための形態セクションがそのような用語を明示的に定義しない限り、本明細書において開示される特定の実装形態に本開示を制限するものと解釈されるべきではない。したがって、本開示の実際の範囲は、開示される実装形態だけでなく、特許請求の範囲の下で本開示を実施または実装するすべての等価な方法をも包含する。
【0375】
[0391]本開示のいくつかの態様がいくつかの請求項の形式で以下に提示されているが、発明者は、任意の数の請求項の形式で本開示の様々な態様を企図する。米国特許法112条(f)の下で扱われることを意図するあらゆる請求は、「ための手段(means for)」という用語で開始するものになる。したがって、出願人は、本開示の他の態様のためのそのような追加の請求項の形式を遂行するために本出願を出願した後に追加の請求項を追加する権利を留保する。
【0376】
[0392]本明細書において使用される用語は、概して、本開示のコンテキスト内で各用語が使用される特定のコンテキストにおいて当技術分野におけるそれらの通常の意味を有する。本開示について説明するために使用されるいくつかの用語は、本開示の説明に関して実務家に追加の案内を与えるために上記でまたは本明細書の他の場所で説明される。便宜上、いくつかの用語は、たとえば、大文字化、イタリック体、および/または引用符を使用して強調され得る。強調の使用は、用語の範囲および意味に対して影響を及ぼさず、用語の範囲および意味は、それが強調されているか否かにかかわらず、同じコンテキストにおいて同じである。同じ要素が2つ以上の方法で説明され得ることが諒解されよう。
【0377】
[0393]したがって、代替的な文言および同義語が本明細書で説明される用語のうちのいずれか1つまたは複数について使用され得、また、用語が本明細書で詳述または説明されるか否かにいかなる特別な重要性も置かれるべきではない。いくつかの用語のための類義語が与えられる。1つまたは複数の類義語の詳述が他の類義語の使用を除外しない。本明細書で説明されるあらゆる用語の例を含む本明細書の任意の場所での例の使用は、例示的なものにすぎず、本開示またはあらゆる例示された用語の範囲および意味をさらに限定することは意図されない。同様に、本開示は、本明細書で与えられる様々な例に限定されない。
【0378】
[0394]本開示の範囲をさらに限定する意図なしに、本開示の例による機器、装置、方法およびそれらの関連する結果の例を以下に与える。タイトルまたはサブタイトルが読者の便宜のために例中で使用され得、いかなる場合も、これは、本開示の範囲を限定するべきでないことに留意されたい。別段に定義されていない限り、本明細書で使用されるすべての技術的なおよび科学的な用語は、本開示が関係する当業者によって一般に理解されるものと同じ意味を有する。矛盾する場合、定義を含めて、本開示が優先することにする。
【0379】
[0395]本明細書のいくつかの部分は、情報に対する動作のアルゴリズムおよび記号表現に関して例について説明する。これらのアルゴリズムの説明および表現は、データ処理分野の当業者によって、自身の仕事の本質を他の当業者に効果的に伝達するために一般的に使用される。これらの動作は、機能的に、計算量的に、または論理的に説明されているが、コンピュータプログラムまたは等価な電気回路、マイクロコードなどによって実装されると理解される。さらに、一般性を失うことなく、モジュールとして動作のこれらの構成に言及することが時々好都合であることもわかっている。説明された動作およびそれらの関連するモジュールは、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せで具現され得る。
【0380】
[0396]本明細書で説明されるステップ、動作、またはプロセスのいずれかは、単独でまたは他のデバイスと組み合わせて、1つまたは複数のハードウェアまたはソフトウェアモジュールを用いて実施または実装され得る。いくつかの例では、ソフトウェアモジュールは、コンピュータプログラムコードを含んでいるコンピュータ可読媒体を備えるコンピュータプログラムオブジェクトで実装され、これにより、説明されたステップ、動作、またはプロセスのうちのいずれかまたはすべてを実行するためのコンピュータプロセッサによって実行され得る。
【0381】
[0397]例はまた、本明細書における動作を実行するための装置に関し得る。この装置は、必要とされる目的のために特別に構築され得る、および/またはコンピュータ中に記憶されたコンピュータプラグラムにより選択的に起動もしくは再構成される汎用コンピューティングデバイスを備え得る。そのようなコンピュータプログラムは、コンピュータシステムバスに結合され得る非一時的、有形コンピュータ可読記憶媒体または電子命令を記憶するのに好適な任意のタイプの媒体中に記憶され得る。さらに、本明細書に記載の任意のコンピューティングシステムは、単一のプロセッサを含み得るか、または増加した計算能力のための複数のプロセッサ設計を採用するアーキテクチャであり得る。
【0382】
[0398]例はまた、本明細書で説明されるコンピューティングプロセスによって生成されるオブジェクトに関係し得る。そのようなオブジェクトは、コンピューティングプロセスから生じる情報を備えてもよく、この情報は、非一時的有形コンピュータ可読記憶媒体上に記憶され、本明細書で説明されるコンピュータプログラムオブジェクトまたは他のデータの組合せの任意の実装形態を含んでもよい。
【0383】
[0399]本明細書において使用される言語は、読みやすさおよび指導上の目的で主に選択されてきており、主題を線引きしまたは制限するために選択されてきていない場合がある。したがって、本開示の範囲が、この詳細な説明によってではなく、本明細書に基づく出願上に公表された特許請求の範囲によって限定されることが意図される。したがって、例の開示は、以下の特許請求の範囲に記載されている主題の範囲の限定ではなく、説明のためのものであることが意図される。
【0384】
[0400]コンテキスト接続システムのためのシステムおよび構成要素の様々な実装形態の完全な理解を与えるために具体的な詳細が前の説明で与えられた。しかしながら、上記で説明された実装形態がこれらの具体的な詳細なしに実施され得ることを当業者は理解されよう。たとえば、回路、システム、ネットワーク、プロセス、および他の構成要素は、実施形態を不要な詳細で不明瞭にしないように、ブロック図の形式において構成要素として示され得る。他の事例では、実施形態を不明瞭にすることを回避するために、よく知られている回路、プロセス、アルゴリズム、構造、および技法が不要な詳細なしに示され得る。
【0385】
[0401]本技術の上記の詳細な説明は、例示および説明のために提示された。それは、網羅的なものでも、開示された形態そのものに本技術を限定するものでもない。上記の教示に照らして、多くの修正形態および変形形態が可能である。本技術の原理およびそれの実際的適用例について最良に説明し、他の当業者が、企図された特定の用途に好適であるような様々な修正を加えて本技術を最良に利用することを可能にするために、本明細書の説明が選定された。本技術の範囲が特許請求の範囲によって定義されることが意図される。
【国際調査報告】