コンテキスト上関連するタスクアイテムの自動発見
ユーザが、作業コンテキストに関連付けられたドキュメントおよび他の情報を自動的に回復し、特定のプロジェクトに関連付けられたドキュメントおよび他の情報アーティファクトを回復できるようにするアーキテクチャである。当該アーキテクチャにより、特定の作業コンテキストに関する情報アーティファクトとのユーザ対話に関連する活動情報を監視し、記録することができる。ユーザは、作業コンテキストに関連する作業コンテンツの一部(例えば、ドキュメント内の項目または他種の参照アイテム)を有するドキュメントを選択することができる。活動情報と参照アイテムに対して字句分析を行って字句類似度を特定する。候補アイテム(例えば、関連ドキュメント)のリストを、字句類似度に基づいて情報アーティファクトから推論する。作業コンテキストに関連する候補アイテムをユーザに提示し、当該ユーザは特定のアイテムを選択して作業コンテキストを再構築することができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンテキスト上関連するタスクアイテムの自動発見に関する。
【背景技術】
【0002】
ユーザは作業するときに頻繁にコンテキストを切り替える。これは、割込みや、別のタスクに切り替えるために特定のタスクに関して現在行っている作業を止める必要があることに起因しうる。もとのタスクに戻る際、ユーザはもとのタスクを再開するために自分が行っていた作業に関するアイテムの全て(例えば、ファイル、アプリケーション、場所、人、コミュニケーション、等)を思い出すという問題を抱えうる。
【0003】
コンテキスト切替えに関する問題は、特定の作業コンテキストに関わる全てのものや全ての人をユーザが正確に記録し続けていれば軽減することができる。しかし、これでは、特定の作業コンテキストで使用される全てのアイテムを完全に記録することになり、実際の作業自体を行うことと変わらない場合がある。さらに、特定のアイテムは簡単には記録することができない。例えば、電子メールのメッセージ、インスタントメッセージの会話、または電卓のようにファイルを生成しないアプリケーションを保存または参照するのは困難である場合がある。
【0004】
実際、ユーザは、作業コンテキストを再配置し再構築するために記憶に頼るのが一般的である。しかし、これは時間がかかるし間違いを起こしやすい方法といえる。ユーザはまた、関連するウェブページや他のアイテムを見つけるためのキーワード・クエリを受け付ける従来型の検索エンジンに頼る場合がある。検索エンジンでは、関連するアイテムを見つけるために特定のフレーズまたはパラメータを入力する。検索エンジンは結果を生成するが、多数の無関係な結果を生成することが頻繁にあり、したがって、特定のタスクに関連する1組の特定のアイテムを思い出すには有用でない。
【0005】
さらに、キーワード検索結果では関連する項目を含むアイテムのリストが提示されるにすぎない。関連する結果の対象リストがキーワード検索から得られたとしても、検索では一般にドキュメントを検索できるにすぎず、アプリケーション状態を検索することはできない。検索を行うのは時間がかかるおそれがあり、以前の作業コンテキストのアイテムの正確なリストを再構築できるという保証は殆どない。
【発明の概要】
【0006】
以下で、本明細書に記載の幾つかの新規な実施形態の基本的な理解を与えるために簡単な要約を提示する。本要約は包括的な概要ではなく、上記実施形態の主要または重要な要素を特定しようとするものでも、上記実施形態の範囲を画定しようとするものでもない。その唯一の目的は、幾つかの概念を、後述する発明の詳細な説明の前置きとして簡潔な形で提示することである。
【0007】
ユーザが行った作業のコンテキストに関連するドキュメントや他種の情報アーティファクトのようなアイテムを特定し、もとのコンテキストから離れた後にアイテムを(例えば、手動で、自動で)取り出して作業のコンテキストを有効かつ効率的に再構築できるようにするためのアーキテクチャを開示する。
【0008】
複数の情報ストリームを組み合わせて、所与のタスクに対するコンテキスト上の関係を自動的に推論することができる。例えば、ドキュメントとコピー/ペースト動作の間の切替えのようなユーザの活動を監視し記録することができる。ユーザの活動や参照アイテムに対して字句分析を行って、ユーザが作業したアイテム間の関係を推論する。コンテキスト上関連するアイテムを参照アイテムに基づいてユーザに提示して、典型的なキーワード・ベースの検索から得られる広範囲で一般的な結果ではなく、ユーザが以前に行った特定のユーザ・タスクに関連するアイテムを表示する結果を生成する。
【0009】
以上の関連する目的を達成するために、本明細書では特定の例示的な諸態様を後の説明と添付図面に関連して説明する。これらの諸態様は、本明細書で開示した原理を実践できる様々な方法を示すものであり、全ての諸態様およびその均等物がクレーム主題の範囲内にあることを意図している。他の利点および新規な特徴は、図面と関連して検討すると以下の発明を実施するための形態から明らかになろう。
【図面の簡単な説明】
【0010】
【図1】開示したアーキテクチャに従うコンピュータ実行型のコンテキスト・システムを示す図である。
【図2】バックグラウンドの監視および分析のための追加のエンティティを備える、コンテキスト・システムの代替的な実施形態を示す図である。
【図3】コンテキスト・システムで使用する種々のユーザ対話を示す図である。
【図4】バックグラウンドの収集、問合せ、および格納のための追加のエンティティを備える、コンテキスト・システムの代替的な実施形態を示す図である。
【図5】コンテキスト・システムの代替的な実施形態を示す図である。
【図6】コンテキスト・システムで使用する種々の情報アーティファクトを示す図である。
【図7】スコア付け、重み付け、および手動表示のための追加のエンティティを備える、コンテキスト・システムの代替的な実施形態を示す図である。
【図8】開示したアーキテクチャに従ってコンテキスト上の関係を推論するための実装を示す図である。
【図9】コンテキスト上の関係を推論するための方法を示す図である。
【図10】コンテキスト上の関係を推論する方法の追加の態様を示す図である。
【図11】開示したアーキテクチャに従ってコンテキスト上の関係を推論するように動作可能なコンピューティング・システムのブロック図である。
【発明を実施するための形態】
【0011】
開示したアーキテクチャにより、特定の作業コンテキストに関連付けられたドキュメントおよび情報アーティファクトを自動的に回復し、当該作業コンテキストを再構築するときにそのドキュメントおよび他の情報アーティファクトの回復を関連付けることができる。当該アーキテクチャにより、特定の作業コンテキストに関する情報アーティファクトとのユーザ対話に関連する活動情報を監視し、記録することができる。ユーザは、作業コンテキストに関連する項目または他種の参照アイテムを有するドキュメントを選択することができる。参照アイテムと、当該参照アイテムに関連する活動情報を有するドキュメントとに対して分析(例えば、字句分析)を行って類似度を特定することができる。候補アイテム(例えば、関連ドキュメント)のリストを、当該分析から導出した類似度に基づいて情報アーティファクトから推論する。作業コンテキストに関連する候補アイテムをユーザに提示し、次いで当該ユーザは、例えば、特定のアイテムを選択して作業コンテキストを再構築することができる。
【0012】
次に図面を参照する。図面全体にわたって、同じ参照番号は同じ要素に言及するのに使用される。以下の記載では、説明の目的のため、多数の具体的な詳細を説明してその徹底的な理解を与える。しかし、新規な実施形態をこれらの具体的な詳細なしに実践できることは明らかであろう。他の事例では、公知な構造および装置をブロック図の形で示してその説明を容易にする。その意図は、クレーム主題の趣旨と範囲に入る全ての修正、均等物、および代替物を網羅することである。
【0013】
図1は、開示したアーキテクチャに従うコンピュータ実行型のコンテキスト・システム100を示す。作業コンテキスト108に関連付けられたアイテム106とのユーザ対話に関連する活動情報104を監視し記録する活動コンポーネント102を提供する。アイテム106は、本明細書で詳細に後述するように、ドキュメントまたは他種の情報アーティファクトであることができる。分析コンポーネント110は、参照アイテム112と活動情報104に関連付けられたアイテム106とに対して分析(例えば、字句分析)を行う。推論コンポーネント114は、作業コンポーネント108を再構築するときに、活動情報104と分析結果118とに基づいて候補アイテム116を推論する。
【0014】
本明細書で使用するとき、「コンテキスト」とは、閲覧され、(例えば、アプリケーション間で、またはアプリケーションとデータの間で)読み取られ、および/またはユーザが作成したコンテンツを指すことができ、コンテンツはテキスト・ベースのドキュメントおよび/または他の情報アーティファクトであることができる。コンテキストはまた、電子メールまたはインスタント・メッセージのような、コンテンツに関連付けられた通信を指すことができる。さらに、コンテキストは、コンテンツが読み取られたまたは使用された1つまたは複数の場所を指すことができ、当該1つまたは複数の場所にはウェブサイト、ネットワーク・フォルダまたはローカル・フォルダ、共同作業場所、等を含めることができる。さらに、コンテキストがコンテンツに関連する環境、例えば、ユーザがコンテンツを扱うかまたはコンテンツと対話するときの設定を指すことができる。当該環境は、例えば特定の参加者が関与した会議における個人用デスクトップであることができる。コンテキストはまた、通信、場所、および環境、等に関連付けられた他人(例えば、共同作業者および/または参加者)を指すことができる。
【0015】
図1に示すように、分析コンポーネント110は参照アイテム112に対して字句分析を行う。参照アイテム112は、以前にユーザが開いたドキュメントまたは他種の情報アーティファクトであることができる。しかし、他種の分析を字句分析の代わりに、または、字句分析と組み合わせて利用できることは理解されよう。活動情報104を比較して、アイテム106の他のアイテムに共通の活動を決定する。共通の活動は、例えば、ドキュメント間の切替え(ナビゲーション)であることができる。アイテム106のサブセットに共通の活動を記録する場合、字句分析を当該サブセットに対して行って、アイテム106と参照アイテム112の間に字句的な共通部分があるかどうかを判定する。これらの字句的な共通部分を結果118として出力する。結果118を活動情報104(例えば、ドキュメント間の切替え回数)と比較して候補アイテム116を提示する。
【0016】
図1に示すように、コンテキスト・システム100は参照アイテム112に基づいて結果を生成し、これはユーザのキーワード入力に依存してキーワードにマッチする結果を生成する検索エンジンとは対照的である。例えば、ユーザは、現在開いているプレゼンテーション・ドキュメントから開始して、サイト訪問を計画するという作業コンテキストに戻ることができる。プレゼンテーション・ドキュメントは参照アイテム112であり、検索におけるキーワードではなく「問合せ」として機能する。コンテキスト・システム100は、ユーザの活動の共通部分をその活動に対する字句分析を用いて特定することにより、候補アイテム116を生成する。1つの態様では、アイテム106をユーザの活動に基づいて特定し、次いで字句分析を用いて差別化することができ、これにより非常に正確な候補アイテム116のリストを生成することができる。
【0017】
字句的にマッチしない純粋なユーザ活動の事例は、ドキュメントでの作業中に無関係な電子メールをチェックすることまたは無関係なウェブページをネットサーフィンすること、といった関連性のない結果を生み出しうる。ユーザの活動を伴わない純粋な字句マッチングの事例により、たまたま同じ言葉を共有する無関係なアイテムを生み出しうる(例えば、サイト訪問ならびにウェブサイトまたはドロップ・サイト(drop site)に関して、電子メール内の「サイト」)。このように、字句的にも活動的にもマッチする事例により、ユーザが再構築しようとしている所与の作業コンテキストに対して高精度な結果が提示される。
【0018】
図2は、バックグラウンドの監視および分析のための追加のエンティティを備える、コンテキスト・システム200の代替的な実施形態を示す。活動コンポーネント102は、ユーザに対して透過的でありユーザ対話を必要としない動作としてユーザの活動を監視するバックグラウンド・コンポーネント202を備えることができる。このようにして、活動情報104を、ユーザに割り込むことなしにまたはユーザのフィードバックを何ら必要とせずに取得することができる。
【0019】
図2に示すように、字句分析の結果118は、参照アイテム112と候補アイテム116に含まれる処理共通項目204を含むことができる。字句分析により、情報アーティファクトに関連付けられたコンテンツおよびメタデータを検査して、参照アイテム112内のコンテンツの開始点に基づいて関連コンテンツを纏めてクラスタ化することができる。共通項目204は、電子メールの共通の送受信者、件名における共通の名詞句、どのようにコンテンツがユーザによって編成されているかの指示、例えば、ファイルフォルダ、カテゴリ、およびタグ、を含むことができる。
【0020】
共通項目204はまた、具体的に、コンテンツまたはメタデータに見出される共通の名詞、名詞句、作成者名、参加者を含むことができる。名詞を電子メールの件名およびドキュメントのタイトルから字句属性として抽出することができ、コンテンツ、場所/パス、電子メールの送受信者、等から抽出することもできる。他の任意の適切な枠組みを使用することができる。この場合、ユーザはコンテンツに関する或るレベルの追加情報を導入する。
【0021】
図3は、コンテキスト・システムとともに使用できる種々のユーザ対話300を示す図である。ユーザ対話300は、プログラムまたはデータの間での切替え動作302を含むことができる。切替え動作302は、ドキュメント間の関係を提示するパターンおよび活動を示すことができる、共通してアクセスされるドキュメントを示す。切替え動作302は、参照アイテム112がユーザによってフォーカスされた時点近くにユーザによってアクセスされたプログラム、データ、ドキュメント、および/または他の情報アーティファクトを示す。切替え動作302を、参照アイテム112として使用される初期ドキュメントまたは電子メールへの可能な関連付けを決定するための開始点として使用することができる。
【0022】
図3に示すように、ユーザ対話300はまた、プログラムまたはデータの間のコピー/ペースト動作304を含むことができる。他のユーザ対話300は、例えば、添付ファイル、電子メール、または他種のメッセージへのプログラムまたはデータの挿入動作306を含むことができる。トグル頻度測定308を使用してドキュメント間の切替え事例の数を測定することができ、当該数を使用して作業コンテキスト108に対する共通の関係を突き止めることができる。タイムスタンプ動作310を使用して、候補アイテム116が参照アイテム112に近い適切な時間内に作成され、編集され、または保存されたかどうかを判定することができる。ブックマーク動作312を使用して、リソースが将来の参照のために記録されたかどうかを判定することができる。リンク動作314は共通の作業コンテキスト108を提示することができる。なぜならば、リンク動作はドキュメント間のアクセスをもたらすからである。アイテムをコピーとして別の場所へ保存する保存動作316を使用して、共通の作業コンテキスト108を提示することができる。情報アーティファクトに費やした滞留時間318(例えば、総活動時間)を使用して、作業コンテキスト108を提示することができる。例えば、滞留時間318はドラフト作業に費やした全時間、またはドラフトのレビューに費やした時間であることができ、例えばキーボードおよび/またはマウスの活動として測定することができる。
【0023】
図3に示すように、切替え動作302を分析コンポーネント110と推論コンポーネント114により活動情報104として使用して、共通してアクセスされるドキュメントが共通のコンテキストを共有するかどうかを判定することができる例を提供する。ドキュメント間の切替えを、ドキュメントが切替え動作302におけるソース・ドキュメントかまたはターゲット・ドキュメントかどうか、ターゲット・ドキュメントへ切り替える前にソース・ドキュメントが閉じられたかどうか、ターゲット・ドキュメントがユーザによって所定の最小期間(例えば、3秒未満)の間にフォーカスされたか(前面にあったか)どうか、ターゲット・ドキュメントがバックグラウンドで開かれた(例えば、フォーカスされていないウェブ・ブラウザ・タブで開かれたか)かどうか、ソース・ドキュメントが、ターゲット・ドキュメントが開かれた後に切り替えられた最初のドキュメントであったかどうか、ターゲット・ドキュメントが、ソース・ドキュメントが閉じられる前に切り替えられた最後のドキュメントであったかどうか、を示すものとして記録することができる。さらに、ユーザが特定のドキュメント間で切り替えた回数を記録することができる。
【0024】
前述のユーザ対話300(およびその組合せ)を分析コンポーネント110と推論コンポーネント114により評価して、共有コンテキストを有するドキュメントを(高確率で)提示しない、ドキュメントへの共通アクセス事例をフィルタする際の関連性を求めることができる。続いて他の関連メタデータを、結果をフィルタする際の関連性のために記録することができる。
【0025】
図4は、バックグラウンドでの収集、問合せ、および格納のための追加のエンティティを備える、コンテキスト・システム400の代替的な実施形態を示す図である。参照アイテム112に関連する候補アイテム116を明示的に問い合わせるための問合せコンポーネント402を提供することができる。問合せコンポーネント402は参照アイテム112を明示的に検証して、システム400に関連アイテムを問い合わせて候補アイテム116を推論する。参照アイテム112は、開始点として手掛りを含む、ユーザによって提供された選択されたドキュメントであることができる。
【0026】
場合によっては、1組の候補アイテム116を収集し、参照アイテム112に関連する候補アイテム116を当該1組の候補アイテム116に暗黙的に問い合わせるための収集コンポーネント404を提供することができる。このようにして、収集コンポーネント404は暗黙的に参照アイテム112を推論し、自動的にアイテムを纏めて収集してユーザに提示し、ユーザが手掛りを前もって提供する必要なしに、関連する項目を特定する。
【0027】
図4に示すように、活動情報104をローカルおよび/またはリモートに記憶するための記憶コンポーネント406を提供することができる。記憶コンポーネント406はローカルな記憶に使用される任意の適切なデータ記憶システム、例えば、コンピュータ内部もしくは外部のハード・ドライブ、書込可能CDまたはDVD、またはフラッシュ・ドライブのような任意の取外し可能メモリ・コンポーネントであることができる。あるいは、記憶コンポーネント406は、リモートに記憶するための任意の適切なデータ記憶コンポーネント、例えば、ネットワーク・サーバもしくはネットワーク・ドライブ、テープ・バックアップ、またはオフサイトの記憶設備であることができる。
【0028】
1つの態様では、コンテキスト・システム(例えば、システム100、200、400)はユーザのコンテンツを格納せず、ユーザに関連付けられた活動情報104を格納する。例えば、ドキュメントが開いており、ドキュメントと電子メール・メッセージの間で複数の切替え動作が行われる場合は、切替え動作が、ドキュメントと電子メール・メッセージをタイムスタンプで参照する識別(ID)番号としてサーバに記録される。ドキュメントの内容はID番号では表されない。ID番号を、ローカルのデスクトップ検索インデックスと対応するAPI(application programming interface)を用いて解決し、字句分析を行うことができる。このように、コンテキスト・システムは、ローカルのデスクトップ検索インデックスに格納されたローカル・データを用いてドキュメントに対して字句分析を行うことができ、活動情報104をサーバから取得することができる。
【0029】
図5は、コンテキスト・システム500の代替的な実施形態を示す図である。活動コンポーネント102は、作業コンテキスト108における情報アーティファクト502とのユーザ対話に関連する活動情報104を監視し、記録する。上述したように、情報アーティファクト502は後で詳述するようにドキュメントまたは他種のデータであることができる。参照アーティファクト504は、作業コンテキストに関連する1つまたは複数の参照アイテム112を含む。分析コンポーネント110は、活動情報104と参照アイテム112に対して字句分析を行って字句類似度506を特定する。推論コンポーネント114は、字句類似度506に基づいて、情報アーティファクト502から選択される候補アイテム116を推論する。作業コンテキスト108に関連する候補アイテム116を提示するためのプレゼンテーション・コンポーネント508が提供される。
【0030】
図6は、コンテキスト・システムとともに使用できる種々の情報アーティファクト502を示す。情報アーティファクト502はユーザ認識可能かつ利用可能な1つまたは複数の種類のデータ・エンティティ600を含むことができる。データ・エンティティ600は、任意の種類のアプリケーションに関連付けられたファイル602を含むことができる。データ・エンティティ600はまた、アクセスできる情報を伝達する任意のアクティブなプロセスのようなデータストリーム604を含むことができる。データ・エンティティ600はさらに、ウェブ・ブラウザまたは他の適切な読取機(reader)によって消費可能なデータ・オブジェクトを含むウェブページ606を含むことができる。
【0031】
データ・エンティティ600はさらに、スプレッドシート608、電子メール・メッセージ610、インスタントメッセージ会話612、カレンダ予約614、付箋紙616、または上述の種類のデータ・エンティティ600の何れかに含まれる組込みメタデータ618、または他種の情報アーティファクト502であることができる。組込みメタデータ618を、例えば描画ドキュメントまたは他の非テキスト・ベースのドキュメントに含めることができる。情報アーティファクト502が、ユーザが作成または消費において関与する任意の種類またはフォーマットのドキュメントまたは他のデータ構造を含むことができることは理解されよう。
【0032】
活動情報104を、情報アーティファクト502を生成しないアプリケーションに拡張することができる。活動情報104は、作業コンテンツ108を再構築するために使用できるアプリケーション状態を保存できる場合、有用でありうる。例えば、ユーザがスプレッドシートを使用していてスプレッドシートと計算機アプリケーションの間で切り替える場合、活動情報104の切替えが作業コンテキスト108の推論において有用でありうる。
【0033】
図7は、コンテキスト情報をスコア付け、重み付け、および手動表示するための追加のエンティティを備える、コンテキスト・システム700の代替的な実施形態を示す。プレゼンテーション・コンポーネント508は、候補アイテム116を階層的に順位付けするためのスコア割当て702を含むことができる。スコア割当て702により、候補アイテム116を、ユーザ対話300または情報アーティファクト502の特定の1つに割り当てた高い値または低い値のような追加情報に基づいて順位付けすることができる。
【0034】
例えば、スコア割当て702は、項目頻度と逆ドキュメント頻度との積(TFIDF)に基づく字句スコアであることができる。即ち、
TFIDF=Σ(項目頻度*逆ドキュメント頻度)
である。ここで、マッチする名詞ごとに、
(正規化した)項目頻度=ドキュメント内のマッチした名詞の出現数/ドキュメント内の名詞の総数
逆ドキュメント頻度=In(T/L)(即ち、(ドキュメント総数/名詞を含むドキュメントの数)の自然対数)である。
【0035】
別の例では、スコア割当て702は、切替え頻度と逆ドキュメント頻度の積(SFIDF)に基づく共通アクセス・スコアであることができる。即ち、
SFIDF=切替え頻度*逆ドキュメント頻度
である。ここで、
(正規化した)切替え頻度=参照ドキュメントの切替え回数/ドキュメントに関連した切替えの総数
逆ドキュメント頻度=In(T/L)(即ち、(ドキュメント総数/参照ドキュメントの少なくとも1回の切替えを伴うドキュメントの数)の自然対数)である。
【0036】
さらに、字句スコアと共通アクセス・スコアを1つのスコアに統合することができる。参照ポイントの数が増えると、関連するマッチの可能性が高まることを示すことができる。2つの重複する共通部分は、単一の共通部分よりも高い関連性を示すことができ、例えば、双方ともウェブページとの字句的な共通部分と活動上の共通部分の両方を有するドキュメントおよび電子メールのような2つの重複する共通部分は、作業コンテキストに対して1つではなく2つの参照があるので、当該ウェブページの順位を上げる。
【0037】
図7に示すように、重み付けコンポーネント704を使用して、少なくとも1つの所定の活動情報アイテムの関連性を示す重み付け因子を割り当てることができる。重み付けコンポーネント704を使用して、特定のドキュメントまたは活動に対する関連性に対してより多くの重み付けまたはより少ない重み付けを割り当てることができる。より大きな値またはより小さい値を割り当てるために、重み付けをユーザ対話300と情報アーティファクト502の種類に関連付けることができる。
【0038】
コンテンツがドキュメント間で複製されているので、作業コンテキスト108の推論において、コピー/ペースト動作304に高い値を割り当てることができる。活動の性質に基づいて、ドキュメントを添付ファイルとして電子メールに挿入すること、または、リンクをドキュメントに挿入することが、ドキュメント間での切替えよりも強く関連すると考えることができる。さらに、切替えの間の時間に基づいて重み付けを考慮することもできるが、この場合、例えば、素早く連続した切替えはあまり関連しないと言える。
【0039】
図7に示すように、候補アイテム116をユーザ・インタフェース内に手動で表示するための動作可能メニュー要素706が提供される。メニュー要素706は、ドキュメント・アプリケーションの特定の位置にあるユーザ・インタフェース内のボタンであることができる。ボタンをクリックすることができ、その後、ユーザにはドキュメントの作業コンテキスト108に関連付けられた1組の候補アイテム116が提示される。候補アイテム116は他のドキュメント、関連する電子メール、ドキュメントとともに開かれた関連アイテムを含むウェブページ、等を含むことができる。メニュー要素706はまた、ドキュメントに関連する特定のタスクまたはプロジェクトに関連付けられた自動的に生成された関連アイテムのリストを有するサイドバーであることができる。あるいは、メニュー要素がデスクトップ・アイテムであることができ、この場合、1組のドキュメントは単一の参照アイテム112ではなく複数の参照アイテムと考えられる。
【0040】
図8は、開示したアーキテクチャに従ってコンテキスト上の関係を推論するための実装800を示す。実装800は、コンテキスト・システムによって記録されている5個のアイテムを示す例示的な概念図である。参照アイテム802は、ユーザが再開しようとしている作業コンテキストの一部(例えば、「サイト訪問アジェンダ」ドキュメント)を表す。4個の候補アイテムが利用可能である。候補アイテム1 804は、「計画」を表すドキュメントであり、このドキュメントと参照アイテムの間で幾つかの記録された切替え活動を有する。しかし、候補アイテム1 804と参照アイテム802は字句的には類似しない。
【0041】
候補アイテム2 806は「サイト訪問計画」に関連し、記録された切替え活動と、参照アイテムとの字句類似度(「サイト訪問」)の両方を有する。候補アイテム3 808は「このウェブサイトを訪問」という項目を含むが、参照アイテムとの字句類似度(「訪問」、「サイト」)しか有さない。候補アイテム4 810は記録されたコピー/ペースト活動と、参照アイテムとの字句類似度(「アジェンダ」)の両方を有する。結果として、候補アイテム2 806と候補アイテム4 810のみがコンテキスト的に関連するとして参照アイテム802に返される。
【0042】
次に、本明細書で開示したコンテキスト・アーキテクチャの動作を説明する例示的なシナリオを説明する。マーケティング・チームのメンバであるユーザ1が、企業の印刷広告とウェブ広告に注目している。ユーザ1がプロジェクトに従事していると、どの外国の雑誌が特殊ギアの広告に適しているかを調べるようにユーザ1に指示するインスタントメッセージ(IM)を受信した。ユーザ1はこの課題に関連して過去に幾つかのウェブサイトを閲覧しているが、その課題につき正式に調査したことはない。
【0043】
ユーザ1はこのタスクに関して新しいスペース(例えば、ワーク・スペースまたはフォルダ)を作成し、当該スペースに受信したIMを追加し、このタスクに関連する以前の調査を含むプレゼンテーション・ドキュメントを見つけて当該スペースに追加する。コンテキスト・システムは、当該スペース内に既にあるコンテンツの作成または配布に関連するコンテンツ、例えば、プレゼンテーション・ドキュメントを作成するためにそこからユーザ1がコピーしペーストしたソース、および関連コンテンツを含む送信された電子メール、を自動的に当該スペースに追加する。コンテキスト・システムは、ユーザ1によって閲覧され作業されている情報アーティファクトを、当該情報アーティファクトに関連する活動を含めて、プロファイリングすることによって、スペース内のコンテンツに関連する情報アーティファクトを自動的に提示して作業コンテンツの再構築を支援する。この提示を、既に空間内にあるコンテンツ、マッチしたキーワード、作成者、共同作業者、スペース内のコンテンツと同時期に開かれた他の情報アーティファクトに基づいて行うことができる。
【0044】
本明細書には、開示したアーキテクチャの新規な態様を実施するための例示的な方法を表す1組のフローチャートが含まれる。説明を簡単にするため、本明細書で例えばフローチャートまたは流れ図の形で示した1つまたは複数の方法を、一連の動作として図示および説明するが、方法はその動作の順序によって限定されないことは理解されよう。なぜならば、幾つかの動作を、当該方法に従って、本明細書で図示および説明したのとは異なる順序で、かつ/または他の順序と並行して行ってもよいからである。例えば、方法を、状態図のような、一連の相互に関連する状態または事象として代替的に表しうることは当業者には理解されよう。さらに、方法において示した動作の全てが新規な実装形態に必要でなくともよい。
【0045】
図9は、コンテキスト上の関係を推論するための方法を示す。900で、作業コンテキストにおける情報アーティファクトとのユーザ対話に関連する活動情報に対して監視と記録を行う。902で、作業コンテキストに関連する活動情報と参照アイテムに対して字句分析を行って字句類似度を特定する。904で、候補アイテムを推論する。この場合、候補アイテムは、字句分析の結果得られる、活動情報と参照アイテムの字句類似度に基づいて情報アーティファクトから選択される。906で、作業コンテキストに関連する候補アイテムを提示する。
【0046】
図10は、図9のコンテキスト上の関係を推論する方法の追加の態様を示す図である。1000で、候補アイテムを処理することによって、作業コンテキストを再構築する。1002で、それぞれの関連する候補アイテムを、選択した候補アイテムから推論して、1組のより正確な候補アイテムを得る。このようにして、特定の候補アイテムがそれ自体の1組の候補アイテムに対する参照アイテムとなり、後者の1組の候補アイテムを最初の1組の候補アイテムと比較して、もとの参照アイテムから推論した候補アイテムのみから拡張した1組の候補アイテムを生成することができる。
【0047】
図10に示すように、1004で、活動情報と参照アイテムの字句類似度の頻度に従って候補アイテムを階層的に順位付けする。1006で、情報アーティファクトと、参照アイテムを含む参照ドキュメントとの間の切替え頻度に従って候補アイテムを階層的に順位付けする。1008で、ユーザ対話をバックグラウンド・プロセスとして自動的に監視する。
【0048】
本明細書で開示したように、コンテキスト・システムおよび方法は、ユーザが作業するアイテムの間の関係を、活動情報を当該活動情報に関連するアイテムの字句分析と絡めることによって推論する。当該コンテキスト・システムおよび方法は、推論した関係を問い合わせ、それによって高精度な結果を生成することによって、参照アイテムに基づいてコンテキスト的に関連するアイテムをユーザに提示する。当該コンテキスト・システムおよび方法は2つの情報ストリーム(即ち、ユーザ活動と字句分析)を組み合わせて、特定のタスクまたは作業コンテキストに関連するコンテキスト上の関係を自動的に推論する。当該コンテキスト・システムおよび方法は、推論結果をそこから導出する特定のユーザ活動(上述した、ドキュメントの切替え、コピー・ペースト動作、添付ファイルもしくはリンクの挿入、および/またはブックマーキングを含む)の監視を提供する。このようにして、当該コンテキスト・システムおよび方法は、特定のユーザ・タスクまたは作業コンテキストに対する関連アイテムを表す高精度の結果をもたらす。
【0049】
単純に一般的なキーボード・ベースの検索結果を提供するのではなく、当該コンテキスト・システムおよび方法は、ユーザが以前に見て作業した情報アーティファクトとの対話に基づいて、所与の作業コンテキストまたはタスクに関連するアイテムを発見する。このようにして、当該コンテキスト・システムおよび方法は、当該コンテキスト・システムおよび方法以外の方法で行う場合よりも高速に所与のタスクに対する関連コンテンツに戻ることにおいて、ユーザを支援することができる。当該コンテキスト・システムおよび方法は、当該コンテキスト・システムおよび方法がなければ忘れていたかもしれない特定のタスクに関連するコンテンツをユーザが発見することを支援することができる。このように、当該コンテキスト・システムおよび方法により、候補アイテムが大きな値を有するかどうかをユーザが直感的に一目で把握することができる。当該コンテキスト・システムおよび方法は、複数の作業セッションにおよぶ作業コンテキスト、一日以上間が空いた作業コンテキスト、および複数のアプリケーションにおよぶ作業コンテキストに関連付けられたタスクにおいて、ならびに、当該タスクの一部として見たかまたは行った全てのものをユーザがファイルまたは記録していない場合において、特に有用である。
【0050】
本願で使用する場合、「コンポーネント」および「システム」という用語は、コンピュータ関連のエンティティ、即ち、ハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアの何れかを指すものである。例えば、コンポーネントは、プロセッサ上で実行されているプロセス、プロセッサ、ハード・ディスク・ドライブ、(光媒体、固体媒体、および/または磁気記憶媒体からなる)複数の記憶ドライブ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、および/またはコンピュータであることができるがこれらに限らない。例として、サーバ上で実行されているアプリケーションとサーバがコンポーネントであることができる。1つまたは複数のコンポーネントがプロセスおよび/または実行スレッド内に存在することができ、ならびにコンポーネントを1つのコンピュータ上に局在化することができ、および/または複数のコンピュータ間で分散させることができる。本明細書では、例、事例、または例示としての役割を果たすために「例示的」という言葉を使用することができる。本明細書で「例示的」として説明されたどの態様または設計も、他の態様または設計に対して好適または有利であるとは必ずしも解釈されない。
【0051】
図11を参照すると、開示したアーキテクチャに従ってコンテキスト上の関係の推論を実行するように動作可能なコンピューティング・システム1100のブロック図が示されている。その様々な態様に対して追加のコンテキストを提供するため、図11および以下の考察は、当該様々な態様を実装できる適切なコンピューティング・システム1100の簡単で一般的な説明を提供しようとするものである。上記では、1つまたは複数のコンピュータ上で実行できるコンピュータ実行可能命令の一般的なコンテキストで説明したが、新規な実施形態を他のプログラム・モジュールと組み合わせて、および/または、ハードウェアおよびソフトウェアの組合せとして実装することもできることは当業者には認識されよう。
【0052】
様々な態様を実装するためのコンピューティング・システム1100は、処理装置(複数可)1104、システム・メモリ1106、およびシステム・バス1108を有するコンピュータ1102を備える。処理装置(複数可)1104は、単一プロセッサ、マルチプロセッサ、単一コア・ユニット、およびマルチ・コア・ユニットのような任意の様々な市販のプロセッサであることができる。さらに、新規な方法を他のコンピュータ・システム構成で実施できることは当業者には理解されよう。当該コンピュータ・システム構成には、ミニコンピュータ、メインフレーム・コンピュータ、ならびにパーソナル・コンピュータ(例えば、デスクトップ、ラップトップ、等)、ハンドヘルド・コンピューティング装置、マイクロプロセッサ・ベースのまたはプログラム可能な消費家電、等が含まれ、その各々を1つまたは複数の関連装置に動作可能に接続することができる。
【0053】
システム・メモリ1106は揮発性(VOL)メモリ1110(例えば、RAM(random access memory))および不揮発性メモリ(NON−VOL)1112(例えば、ROM、EPROM、EEPROM、等)を含むことができる。BIOS(basic input/output system)を不揮発性メモリ1112に格納することができ、例えば起動中にコンピュータ1102内のコンポーネント間でのデータと信号の通信を容易にする基本ルーチンを含む。揮発性メモリ1110はまた、データをキャッシュするための静的RAMのような高速RAMを含むことができる。
【0054】
システム・バス1108は、処理装置(複数可)1104に対するインタフェースをシステム・コンポーネントに提供する。当該システム・コンポーネントにはメモリ・サブシステム1106が含まれるが、これに限らない。システム・バス1108は、任意の様々な市販のバス構造を用いて(メモリ・コントローラを有するかまたは有しない)メモリ・バス、および周辺バス(例えば、PCI、PCIe、AGP、LPC、等)にさらに相互接続できる任意の数種のバス構造であることができる。
【0055】
コンピュータ1102はさらに、記憶サブシステム(複数可)1114と、記憶サブシステム(複数可)1114をシステム・バス1108および他の所望のコンピュータ・コンポーネントに連結させるための記憶インタフェース(複数可)1116とを備える。記憶サブシステム(複数可)1114は例えば、1つまたは複数のHDD(hard disk drive)、磁気FDD(floppy disk drive)、および/または光記憶ドライブ(例えば、CD−ROMドライブ、DVDドライブ)を含むことができる。記憶インタフェース(複数可)1116は、例えばEIDE、ATA、SATA、およびIEEE1394のようなインタフェース技術を含むことができる。
【0056】
1つまたは複数のプログラムおよびデータを、メモリ・サブシステム1106、取外し可能メモリ・サブシステム1118(例えば、フラッシュ・ドライブ・フォーム・ファクタ(flash drive form factor)技術)、および/または記憶サブシステム(複数可)1114(例えば、光、磁気、固体)に格納することができる。当該1つまたは複数のプログラムおよびデータには、オペレーティング・システム1120、1つまたは複数のアプリケーション・プログラム1122、他のプログラム・モジュール1124、およびプログラム・データ1126が含まれる。
【0057】
一般に、プログラムは、特定のタスクを実施するかまたは特定の抽象データ型を実装するルーチン、メソッド、データ構造、他のソフトウェア・コンポーネント、等を含む。オペレーティング・システム1120、アプリケーション1122、モジュール1124、および/またはデータ1126の全部または一部を、例えば揮発性メモリ1110のようなメモリにキャッシュすることもできる。開示されたアーキテクチャを様々な市販のオペレーティング・システムまたはオペレーティング・システムの組合せで(例えば、仮想マシンとして)実装できることは理解されよう。
【0058】
前述のアプリケーション・プログラム1122、プログラム・モジュール1124、およびプログラム・データ1126は、図1の、コンピュータ実行型のシステム100、活動コンポーネント102、活動情報104、アイテム106、作業コンテキスト108、分析コンポーネント110、参照アイテム112、推論コンポーネント114、候補アイテム116、および結果118、図2の、バックグラウンド・コンポーネント202および共通項目204のようなさらに追加のコンポーネントを含むシステム200、図3の、切替え動作302、コピー・ペースト動作304、挿入動作306、トグル頻度測定308、タイムスタンプ動作310、ブックマーク動作312、リンク動作314、保存動作316、および滞留時間318を含むユーザ対話300、図4の、問合せコンポーネント402、収集コンポーネント404、記憶コンポーネント406のようなさらに追加のコンポーネントを含むシステム400、を含むことができる。
【0059】
前述のアプリケーション・プログラム1122、プログラム・モジュール1124、およびプログラム・データ1126はさらに、図5の、情報アーティファクト502、参照アーティファクト504、字句類似度506、およびプレゼンテーション・コンポーネント508のような追加のコンポーネントを備えるシステム500、図6の、ユーザ認識可能および使用可能なデータ・エンティティ600、ファイル602、データストリーム604、ウェブページ606、スプレッドシート608、電子メール・メッセージ610、インスタント・メッセージング会話612、カレンダ予約614、付箋紙616、および組込みメタデータ618、図7の、スコア割当て702、重み付けコンポーネント704、動作可能メニュー要素706のようなさらに追加のコンポーネントを含むシステム700、図8の、参照アイテム802、候補アイテム1 804、候補アイテム2 806、候補アイテム3 808、候補アイテム4 810を含む実装800、ならびに図9、図10の方法を含むことができる。
【0060】
記憶サブシステム(複数可)1114およびメモリ・サブシステム(1106および1118)は、データ、データ構造、コンピュータ実行可能命令、等の揮発性および不揮発性記憶のためのコンピュータ読取可能媒体としての役割を果たす。コンピュータ読取可能媒体は、コンピュータ1102がアクセスできる任意の利用可能な媒体であることができ、揮発性および不揮発性の媒体、取外し可能および取外し不能な媒体を含む。コンピュータ1102に対して、当該媒体はデータを任意の適切なデジタル形式で記憶する。ジップ・ドライブ、磁気テープ、フラッシュ・メモリ・カード、カートリッジ、等のような他種のコンピュータ読取可能媒体を使用して、開示したアーキテクチャの新規の方法を実行するためのコンピュータ実行可能命令を格納できることは当業者には理解されよう。
【0061】
ユーザは、キーボードおよびマウスのような外部ユーザ入力装置1128を用いてコンピュータ1102、プログラム、およびデータと対話することができる。他の外部ユーザ入力装置1128は、マイクロフォン、IR(赤外線)リモート・コントロール、ジョイスティック、ゲーム・パッド、カメラ認識システム、スタイラス・ペン、タッチ・スクリーン、ジェスチャ・システム(例えば、眼球の動き、頭の動き、等)、等を備えることができる。コンピュータ1102が例えばポータブル・コンピュータである場合には、ユーザはタッチパッド、マイクロフォン、キーボード、等のようなオンボードのユーザ入力装置1130を用いてコンピュータ1102、プログラム、およびデータと対話することができる。これらおよび他の入力装置は、I/O(input/output)装置インタフェース(複数可)1132を通してシステム・バス1108を介して処理装置(複数可)1104に接続されるが、これらおよび他の入力装置をパラレル・ポート、IEEE1394 シリアル・ポート、ゲーム・ポート、USBポート、IRインタフェース、等のような他のインタフェースにより接続することができる。I/O装置インタフェース(複数可)1132により、サウンド・カードおよび/またはオンボードのオーディオ処理機能のように、プリンタ、オーディオ・デバイス、カメラ・デバイス、等のような出力周辺装置1134の利用も容易になる。
【0062】
1つまたは複数のグラフィック・インタフェース1136(GPU(graphics processing unit)とも一般的に称される)は、コンピュータ1102および外部ディスプレイ(複数可)1138(例えば、LCD、プラズマ)および/または(例えばポータブル・コンピュータ向けの)オンボード・ディスプレイ1140の間でグラフィックおよびビデオ信号を提供する。グラフィック・インタフェース(複数可)1136を、コンピュータ・システム・ボードの一部として製造することもできる。
【0063】
コンピュータ1102は、有線/無線の通信サブシステム1142を介した1つまたは複数のネットワークおよび/または他のコンピュータへの論理接続を用いて(例えば、IPベースの)ネットワーク環境で動作することができる。他のコンピュータには、ワークステーション、サーバ、ルータ、パーソナル・コンピュータ、マイクロプロセッサベースの娯楽機器、ピア・デバイスまたは他の共通ネットワーク・ノードを含めることができ、一般に、コンピュータ1102に関して説明した要素の多くまたは全部が含まれる。論理接続には、LAN(local area network)、WAN(wide area network)、ホットスポット、等への有線/無線接続を含めることができる。LANおよびWANのネットワーク環境は職場や企業で一般的であり、イントラネットのような企業規模のコンピュータ・ネットワークを容易にする。これらの全てをインターネットのようなグローバル通信ネットワークに接続してもよい。
【0064】
ネットワーク環境で使用する場合は、コンピュータ1102は有線/無線の通信サブシステム1142(例えば、ネットワーク・インタフェース・アダプタ、オンボードの送受信サブシステム、等)を介してネットワークに接続して有線/無線のネットワーク、有線/無線のプリンタ、有線/無線の入力装置1144、等と通信する。コンピュータ1102は、モデムまたはネットワーク上で通信を確立するための他の手段を備えることができる。ネットワーク環境では、コンピュータ1102に関するプログラムおよびデータを、分散システムと関連付けられたリモートのメモリ/記憶装置に格納することができる。示したネットワーク接続は例であって、コンピュータ間の通信リンクを確立する他の手段を使用できることは理解されよう。
【0065】
コンピュータ1102は、IEEE802.xx標準ファミリのような無線技術を用いて有線/無線の装置またはエンティティと通信するように動作する。当該有線/無線の装置またはエンティティには、例えばプリンタ、スキャナ、デスクトップおよび/またはポータブル・コンピュータ、PDA(personal digital assistant)、通信衛星、無線検出可能タグと関連付けられた任意の機器もしくは場所(例えば、キオスク、新聞販売店、化粧室)、電話との無線通信(例えば、IEEE802.11の無線変調技法)に動作可能に配置される無線装置がある。これには、少なくとも、ホットスポット向けのWi−Fi(またはワイヤレス・フィデリティ)、WiMax、およびBluetooth「登録商標」無線技術が含まれる。このように、通信は、従来のネットワークと同様の所定の構造または少なくとも2つの装置の間のアドホック通信であることができる。Wi−Fiネットワークは、IEEE802.11x(a、b、g、等)と呼ばれる無線技術を使用して安全で、信頼性のある、高速な無線接続を提供する。Wi−Fiネットワークを使用して、コンピュータを互いと、インターネットと、(IEEE802.3関連の媒体および機能を用いる)有線ネットワークと接続することができる。
【0066】
示した態様を、通信ネットワークを介して接続されたリモート処理装置によって特定のタスクが実行される分散コンピューティング環境で実行することもできる。分散コンピューティング環境では、プログラム・モジュールをローカルおよび/またはリモートの記憶および/またはメモリ・システムに配置することができる。
【0067】
以上で説明したことには、開示したアーキテクチャの複数の例が含まれる。勿論、コンポーネントおよび/または方法の考えうる全ての組合せを説明することは不可能であるが、多数のさらなる組合せおよび並び換えが可能であることは当業者には理解されよう。したがって、新規なアーキテクチャは、添付の諸請求項の趣旨および範囲内にある全ての変更、修正、および変形を含むよう意図されている。さらに、発明を実施するための形態または特許請求の範囲において用語「含む」を使用する限りでは、係る用語は用語「備える」を請求項において移行語として使用する場合に解釈される用語「備える」と同様に、包括的であると意図している。
【技術分野】
【0001】
本発明は、コンテキスト上関連するタスクアイテムの自動発見に関する。
【背景技術】
【0002】
ユーザは作業するときに頻繁にコンテキストを切り替える。これは、割込みや、別のタスクに切り替えるために特定のタスクに関して現在行っている作業を止める必要があることに起因しうる。もとのタスクに戻る際、ユーザはもとのタスクを再開するために自分が行っていた作業に関するアイテムの全て(例えば、ファイル、アプリケーション、場所、人、コミュニケーション、等)を思い出すという問題を抱えうる。
【0003】
コンテキスト切替えに関する問題は、特定の作業コンテキストに関わる全てのものや全ての人をユーザが正確に記録し続けていれば軽減することができる。しかし、これでは、特定の作業コンテキストで使用される全てのアイテムを完全に記録することになり、実際の作業自体を行うことと変わらない場合がある。さらに、特定のアイテムは簡単には記録することができない。例えば、電子メールのメッセージ、インスタントメッセージの会話、または電卓のようにファイルを生成しないアプリケーションを保存または参照するのは困難である場合がある。
【0004】
実際、ユーザは、作業コンテキストを再配置し再構築するために記憶に頼るのが一般的である。しかし、これは時間がかかるし間違いを起こしやすい方法といえる。ユーザはまた、関連するウェブページや他のアイテムを見つけるためのキーワード・クエリを受け付ける従来型の検索エンジンに頼る場合がある。検索エンジンでは、関連するアイテムを見つけるために特定のフレーズまたはパラメータを入力する。検索エンジンは結果を生成するが、多数の無関係な結果を生成することが頻繁にあり、したがって、特定のタスクに関連する1組の特定のアイテムを思い出すには有用でない。
【0005】
さらに、キーワード検索結果では関連する項目を含むアイテムのリストが提示されるにすぎない。関連する結果の対象リストがキーワード検索から得られたとしても、検索では一般にドキュメントを検索できるにすぎず、アプリケーション状態を検索することはできない。検索を行うのは時間がかかるおそれがあり、以前の作業コンテキストのアイテムの正確なリストを再構築できるという保証は殆どない。
【発明の概要】
【0006】
以下で、本明細書に記載の幾つかの新規な実施形態の基本的な理解を与えるために簡単な要約を提示する。本要約は包括的な概要ではなく、上記実施形態の主要または重要な要素を特定しようとするものでも、上記実施形態の範囲を画定しようとするものでもない。その唯一の目的は、幾つかの概念を、後述する発明の詳細な説明の前置きとして簡潔な形で提示することである。
【0007】
ユーザが行った作業のコンテキストに関連するドキュメントや他種の情報アーティファクトのようなアイテムを特定し、もとのコンテキストから離れた後にアイテムを(例えば、手動で、自動で)取り出して作業のコンテキストを有効かつ効率的に再構築できるようにするためのアーキテクチャを開示する。
【0008】
複数の情報ストリームを組み合わせて、所与のタスクに対するコンテキスト上の関係を自動的に推論することができる。例えば、ドキュメントとコピー/ペースト動作の間の切替えのようなユーザの活動を監視し記録することができる。ユーザの活動や参照アイテムに対して字句分析を行って、ユーザが作業したアイテム間の関係を推論する。コンテキスト上関連するアイテムを参照アイテムに基づいてユーザに提示して、典型的なキーワード・ベースの検索から得られる広範囲で一般的な結果ではなく、ユーザが以前に行った特定のユーザ・タスクに関連するアイテムを表示する結果を生成する。
【0009】
以上の関連する目的を達成するために、本明細書では特定の例示的な諸態様を後の説明と添付図面に関連して説明する。これらの諸態様は、本明細書で開示した原理を実践できる様々な方法を示すものであり、全ての諸態様およびその均等物がクレーム主題の範囲内にあることを意図している。他の利点および新規な特徴は、図面と関連して検討すると以下の発明を実施するための形態から明らかになろう。
【図面の簡単な説明】
【0010】
【図1】開示したアーキテクチャに従うコンピュータ実行型のコンテキスト・システムを示す図である。
【図2】バックグラウンドの監視および分析のための追加のエンティティを備える、コンテキスト・システムの代替的な実施形態を示す図である。
【図3】コンテキスト・システムで使用する種々のユーザ対話を示す図である。
【図4】バックグラウンドの収集、問合せ、および格納のための追加のエンティティを備える、コンテキスト・システムの代替的な実施形態を示す図である。
【図5】コンテキスト・システムの代替的な実施形態を示す図である。
【図6】コンテキスト・システムで使用する種々の情報アーティファクトを示す図である。
【図7】スコア付け、重み付け、および手動表示のための追加のエンティティを備える、コンテキスト・システムの代替的な実施形態を示す図である。
【図8】開示したアーキテクチャに従ってコンテキスト上の関係を推論するための実装を示す図である。
【図9】コンテキスト上の関係を推論するための方法を示す図である。
【図10】コンテキスト上の関係を推論する方法の追加の態様を示す図である。
【図11】開示したアーキテクチャに従ってコンテキスト上の関係を推論するように動作可能なコンピューティング・システムのブロック図である。
【発明を実施するための形態】
【0011】
開示したアーキテクチャにより、特定の作業コンテキストに関連付けられたドキュメントおよび情報アーティファクトを自動的に回復し、当該作業コンテキストを再構築するときにそのドキュメントおよび他の情報アーティファクトの回復を関連付けることができる。当該アーキテクチャにより、特定の作業コンテキストに関する情報アーティファクトとのユーザ対話に関連する活動情報を監視し、記録することができる。ユーザは、作業コンテキストに関連する項目または他種の参照アイテムを有するドキュメントを選択することができる。参照アイテムと、当該参照アイテムに関連する活動情報を有するドキュメントとに対して分析(例えば、字句分析)を行って類似度を特定することができる。候補アイテム(例えば、関連ドキュメント)のリストを、当該分析から導出した類似度に基づいて情報アーティファクトから推論する。作業コンテキストに関連する候補アイテムをユーザに提示し、次いで当該ユーザは、例えば、特定のアイテムを選択して作業コンテキストを再構築することができる。
【0012】
次に図面を参照する。図面全体にわたって、同じ参照番号は同じ要素に言及するのに使用される。以下の記載では、説明の目的のため、多数の具体的な詳細を説明してその徹底的な理解を与える。しかし、新規な実施形態をこれらの具体的な詳細なしに実践できることは明らかであろう。他の事例では、公知な構造および装置をブロック図の形で示してその説明を容易にする。その意図は、クレーム主題の趣旨と範囲に入る全ての修正、均等物、および代替物を網羅することである。
【0013】
図1は、開示したアーキテクチャに従うコンピュータ実行型のコンテキスト・システム100を示す。作業コンテキスト108に関連付けられたアイテム106とのユーザ対話に関連する活動情報104を監視し記録する活動コンポーネント102を提供する。アイテム106は、本明細書で詳細に後述するように、ドキュメントまたは他種の情報アーティファクトであることができる。分析コンポーネント110は、参照アイテム112と活動情報104に関連付けられたアイテム106とに対して分析(例えば、字句分析)を行う。推論コンポーネント114は、作業コンポーネント108を再構築するときに、活動情報104と分析結果118とに基づいて候補アイテム116を推論する。
【0014】
本明細書で使用するとき、「コンテキスト」とは、閲覧され、(例えば、アプリケーション間で、またはアプリケーションとデータの間で)読み取られ、および/またはユーザが作成したコンテンツを指すことができ、コンテンツはテキスト・ベースのドキュメントおよび/または他の情報アーティファクトであることができる。コンテキストはまた、電子メールまたはインスタント・メッセージのような、コンテンツに関連付けられた通信を指すことができる。さらに、コンテキストは、コンテンツが読み取られたまたは使用された1つまたは複数の場所を指すことができ、当該1つまたは複数の場所にはウェブサイト、ネットワーク・フォルダまたはローカル・フォルダ、共同作業場所、等を含めることができる。さらに、コンテキストがコンテンツに関連する環境、例えば、ユーザがコンテンツを扱うかまたはコンテンツと対話するときの設定を指すことができる。当該環境は、例えば特定の参加者が関与した会議における個人用デスクトップであることができる。コンテキストはまた、通信、場所、および環境、等に関連付けられた他人(例えば、共同作業者および/または参加者)を指すことができる。
【0015】
図1に示すように、分析コンポーネント110は参照アイテム112に対して字句分析を行う。参照アイテム112は、以前にユーザが開いたドキュメントまたは他種の情報アーティファクトであることができる。しかし、他種の分析を字句分析の代わりに、または、字句分析と組み合わせて利用できることは理解されよう。活動情報104を比較して、アイテム106の他のアイテムに共通の活動を決定する。共通の活動は、例えば、ドキュメント間の切替え(ナビゲーション)であることができる。アイテム106のサブセットに共通の活動を記録する場合、字句分析を当該サブセットに対して行って、アイテム106と参照アイテム112の間に字句的な共通部分があるかどうかを判定する。これらの字句的な共通部分を結果118として出力する。結果118を活動情報104(例えば、ドキュメント間の切替え回数)と比較して候補アイテム116を提示する。
【0016】
図1に示すように、コンテキスト・システム100は参照アイテム112に基づいて結果を生成し、これはユーザのキーワード入力に依存してキーワードにマッチする結果を生成する検索エンジンとは対照的である。例えば、ユーザは、現在開いているプレゼンテーション・ドキュメントから開始して、サイト訪問を計画するという作業コンテキストに戻ることができる。プレゼンテーション・ドキュメントは参照アイテム112であり、検索におけるキーワードではなく「問合せ」として機能する。コンテキスト・システム100は、ユーザの活動の共通部分をその活動に対する字句分析を用いて特定することにより、候補アイテム116を生成する。1つの態様では、アイテム106をユーザの活動に基づいて特定し、次いで字句分析を用いて差別化することができ、これにより非常に正確な候補アイテム116のリストを生成することができる。
【0017】
字句的にマッチしない純粋なユーザ活動の事例は、ドキュメントでの作業中に無関係な電子メールをチェックすることまたは無関係なウェブページをネットサーフィンすること、といった関連性のない結果を生み出しうる。ユーザの活動を伴わない純粋な字句マッチングの事例により、たまたま同じ言葉を共有する無関係なアイテムを生み出しうる(例えば、サイト訪問ならびにウェブサイトまたはドロップ・サイト(drop site)に関して、電子メール内の「サイト」)。このように、字句的にも活動的にもマッチする事例により、ユーザが再構築しようとしている所与の作業コンテキストに対して高精度な結果が提示される。
【0018】
図2は、バックグラウンドの監視および分析のための追加のエンティティを備える、コンテキスト・システム200の代替的な実施形態を示す。活動コンポーネント102は、ユーザに対して透過的でありユーザ対話を必要としない動作としてユーザの活動を監視するバックグラウンド・コンポーネント202を備えることができる。このようにして、活動情報104を、ユーザに割り込むことなしにまたはユーザのフィードバックを何ら必要とせずに取得することができる。
【0019】
図2に示すように、字句分析の結果118は、参照アイテム112と候補アイテム116に含まれる処理共通項目204を含むことができる。字句分析により、情報アーティファクトに関連付けられたコンテンツおよびメタデータを検査して、参照アイテム112内のコンテンツの開始点に基づいて関連コンテンツを纏めてクラスタ化することができる。共通項目204は、電子メールの共通の送受信者、件名における共通の名詞句、どのようにコンテンツがユーザによって編成されているかの指示、例えば、ファイルフォルダ、カテゴリ、およびタグ、を含むことができる。
【0020】
共通項目204はまた、具体的に、コンテンツまたはメタデータに見出される共通の名詞、名詞句、作成者名、参加者を含むことができる。名詞を電子メールの件名およびドキュメントのタイトルから字句属性として抽出することができ、コンテンツ、場所/パス、電子メールの送受信者、等から抽出することもできる。他の任意の適切な枠組みを使用することができる。この場合、ユーザはコンテンツに関する或るレベルの追加情報を導入する。
【0021】
図3は、コンテキスト・システムとともに使用できる種々のユーザ対話300を示す図である。ユーザ対話300は、プログラムまたはデータの間での切替え動作302を含むことができる。切替え動作302は、ドキュメント間の関係を提示するパターンおよび活動を示すことができる、共通してアクセスされるドキュメントを示す。切替え動作302は、参照アイテム112がユーザによってフォーカスされた時点近くにユーザによってアクセスされたプログラム、データ、ドキュメント、および/または他の情報アーティファクトを示す。切替え動作302を、参照アイテム112として使用される初期ドキュメントまたは電子メールへの可能な関連付けを決定するための開始点として使用することができる。
【0022】
図3に示すように、ユーザ対話300はまた、プログラムまたはデータの間のコピー/ペースト動作304を含むことができる。他のユーザ対話300は、例えば、添付ファイル、電子メール、または他種のメッセージへのプログラムまたはデータの挿入動作306を含むことができる。トグル頻度測定308を使用してドキュメント間の切替え事例の数を測定することができ、当該数を使用して作業コンテキスト108に対する共通の関係を突き止めることができる。タイムスタンプ動作310を使用して、候補アイテム116が参照アイテム112に近い適切な時間内に作成され、編集され、または保存されたかどうかを判定することができる。ブックマーク動作312を使用して、リソースが将来の参照のために記録されたかどうかを判定することができる。リンク動作314は共通の作業コンテキスト108を提示することができる。なぜならば、リンク動作はドキュメント間のアクセスをもたらすからである。アイテムをコピーとして別の場所へ保存する保存動作316を使用して、共通の作業コンテキスト108を提示することができる。情報アーティファクトに費やした滞留時間318(例えば、総活動時間)を使用して、作業コンテキスト108を提示することができる。例えば、滞留時間318はドラフト作業に費やした全時間、またはドラフトのレビューに費やした時間であることができ、例えばキーボードおよび/またはマウスの活動として測定することができる。
【0023】
図3に示すように、切替え動作302を分析コンポーネント110と推論コンポーネント114により活動情報104として使用して、共通してアクセスされるドキュメントが共通のコンテキストを共有するかどうかを判定することができる例を提供する。ドキュメント間の切替えを、ドキュメントが切替え動作302におけるソース・ドキュメントかまたはターゲット・ドキュメントかどうか、ターゲット・ドキュメントへ切り替える前にソース・ドキュメントが閉じられたかどうか、ターゲット・ドキュメントがユーザによって所定の最小期間(例えば、3秒未満)の間にフォーカスされたか(前面にあったか)どうか、ターゲット・ドキュメントがバックグラウンドで開かれた(例えば、フォーカスされていないウェブ・ブラウザ・タブで開かれたか)かどうか、ソース・ドキュメントが、ターゲット・ドキュメントが開かれた後に切り替えられた最初のドキュメントであったかどうか、ターゲット・ドキュメントが、ソース・ドキュメントが閉じられる前に切り替えられた最後のドキュメントであったかどうか、を示すものとして記録することができる。さらに、ユーザが特定のドキュメント間で切り替えた回数を記録することができる。
【0024】
前述のユーザ対話300(およびその組合せ)を分析コンポーネント110と推論コンポーネント114により評価して、共有コンテキストを有するドキュメントを(高確率で)提示しない、ドキュメントへの共通アクセス事例をフィルタする際の関連性を求めることができる。続いて他の関連メタデータを、結果をフィルタする際の関連性のために記録することができる。
【0025】
図4は、バックグラウンドでの収集、問合せ、および格納のための追加のエンティティを備える、コンテキスト・システム400の代替的な実施形態を示す図である。参照アイテム112に関連する候補アイテム116を明示的に問い合わせるための問合せコンポーネント402を提供することができる。問合せコンポーネント402は参照アイテム112を明示的に検証して、システム400に関連アイテムを問い合わせて候補アイテム116を推論する。参照アイテム112は、開始点として手掛りを含む、ユーザによって提供された選択されたドキュメントであることができる。
【0026】
場合によっては、1組の候補アイテム116を収集し、参照アイテム112に関連する候補アイテム116を当該1組の候補アイテム116に暗黙的に問い合わせるための収集コンポーネント404を提供することができる。このようにして、収集コンポーネント404は暗黙的に参照アイテム112を推論し、自動的にアイテムを纏めて収集してユーザに提示し、ユーザが手掛りを前もって提供する必要なしに、関連する項目を特定する。
【0027】
図4に示すように、活動情報104をローカルおよび/またはリモートに記憶するための記憶コンポーネント406を提供することができる。記憶コンポーネント406はローカルな記憶に使用される任意の適切なデータ記憶システム、例えば、コンピュータ内部もしくは外部のハード・ドライブ、書込可能CDまたはDVD、またはフラッシュ・ドライブのような任意の取外し可能メモリ・コンポーネントであることができる。あるいは、記憶コンポーネント406は、リモートに記憶するための任意の適切なデータ記憶コンポーネント、例えば、ネットワーク・サーバもしくはネットワーク・ドライブ、テープ・バックアップ、またはオフサイトの記憶設備であることができる。
【0028】
1つの態様では、コンテキスト・システム(例えば、システム100、200、400)はユーザのコンテンツを格納せず、ユーザに関連付けられた活動情報104を格納する。例えば、ドキュメントが開いており、ドキュメントと電子メール・メッセージの間で複数の切替え動作が行われる場合は、切替え動作が、ドキュメントと電子メール・メッセージをタイムスタンプで参照する識別(ID)番号としてサーバに記録される。ドキュメントの内容はID番号では表されない。ID番号を、ローカルのデスクトップ検索インデックスと対応するAPI(application programming interface)を用いて解決し、字句分析を行うことができる。このように、コンテキスト・システムは、ローカルのデスクトップ検索インデックスに格納されたローカル・データを用いてドキュメントに対して字句分析を行うことができ、活動情報104をサーバから取得することができる。
【0029】
図5は、コンテキスト・システム500の代替的な実施形態を示す図である。活動コンポーネント102は、作業コンテキスト108における情報アーティファクト502とのユーザ対話に関連する活動情報104を監視し、記録する。上述したように、情報アーティファクト502は後で詳述するようにドキュメントまたは他種のデータであることができる。参照アーティファクト504は、作業コンテキストに関連する1つまたは複数の参照アイテム112を含む。分析コンポーネント110は、活動情報104と参照アイテム112に対して字句分析を行って字句類似度506を特定する。推論コンポーネント114は、字句類似度506に基づいて、情報アーティファクト502から選択される候補アイテム116を推論する。作業コンテキスト108に関連する候補アイテム116を提示するためのプレゼンテーション・コンポーネント508が提供される。
【0030】
図6は、コンテキスト・システムとともに使用できる種々の情報アーティファクト502を示す。情報アーティファクト502はユーザ認識可能かつ利用可能な1つまたは複数の種類のデータ・エンティティ600を含むことができる。データ・エンティティ600は、任意の種類のアプリケーションに関連付けられたファイル602を含むことができる。データ・エンティティ600はまた、アクセスできる情報を伝達する任意のアクティブなプロセスのようなデータストリーム604を含むことができる。データ・エンティティ600はさらに、ウェブ・ブラウザまたは他の適切な読取機(reader)によって消費可能なデータ・オブジェクトを含むウェブページ606を含むことができる。
【0031】
データ・エンティティ600はさらに、スプレッドシート608、電子メール・メッセージ610、インスタントメッセージ会話612、カレンダ予約614、付箋紙616、または上述の種類のデータ・エンティティ600の何れかに含まれる組込みメタデータ618、または他種の情報アーティファクト502であることができる。組込みメタデータ618を、例えば描画ドキュメントまたは他の非テキスト・ベースのドキュメントに含めることができる。情報アーティファクト502が、ユーザが作成または消費において関与する任意の種類またはフォーマットのドキュメントまたは他のデータ構造を含むことができることは理解されよう。
【0032】
活動情報104を、情報アーティファクト502を生成しないアプリケーションに拡張することができる。活動情報104は、作業コンテンツ108を再構築するために使用できるアプリケーション状態を保存できる場合、有用でありうる。例えば、ユーザがスプレッドシートを使用していてスプレッドシートと計算機アプリケーションの間で切り替える場合、活動情報104の切替えが作業コンテキスト108の推論において有用でありうる。
【0033】
図7は、コンテキスト情報をスコア付け、重み付け、および手動表示するための追加のエンティティを備える、コンテキスト・システム700の代替的な実施形態を示す。プレゼンテーション・コンポーネント508は、候補アイテム116を階層的に順位付けするためのスコア割当て702を含むことができる。スコア割当て702により、候補アイテム116を、ユーザ対話300または情報アーティファクト502の特定の1つに割り当てた高い値または低い値のような追加情報に基づいて順位付けすることができる。
【0034】
例えば、スコア割当て702は、項目頻度と逆ドキュメント頻度との積(TFIDF)に基づく字句スコアであることができる。即ち、
TFIDF=Σ(項目頻度*逆ドキュメント頻度)
である。ここで、マッチする名詞ごとに、
(正規化した)項目頻度=ドキュメント内のマッチした名詞の出現数/ドキュメント内の名詞の総数
逆ドキュメント頻度=In(T/L)(即ち、(ドキュメント総数/名詞を含むドキュメントの数)の自然対数)である。
【0035】
別の例では、スコア割当て702は、切替え頻度と逆ドキュメント頻度の積(SFIDF)に基づく共通アクセス・スコアであることができる。即ち、
SFIDF=切替え頻度*逆ドキュメント頻度
である。ここで、
(正規化した)切替え頻度=参照ドキュメントの切替え回数/ドキュメントに関連した切替えの総数
逆ドキュメント頻度=In(T/L)(即ち、(ドキュメント総数/参照ドキュメントの少なくとも1回の切替えを伴うドキュメントの数)の自然対数)である。
【0036】
さらに、字句スコアと共通アクセス・スコアを1つのスコアに統合することができる。参照ポイントの数が増えると、関連するマッチの可能性が高まることを示すことができる。2つの重複する共通部分は、単一の共通部分よりも高い関連性を示すことができ、例えば、双方ともウェブページとの字句的な共通部分と活動上の共通部分の両方を有するドキュメントおよび電子メールのような2つの重複する共通部分は、作業コンテキストに対して1つではなく2つの参照があるので、当該ウェブページの順位を上げる。
【0037】
図7に示すように、重み付けコンポーネント704を使用して、少なくとも1つの所定の活動情報アイテムの関連性を示す重み付け因子を割り当てることができる。重み付けコンポーネント704を使用して、特定のドキュメントまたは活動に対する関連性に対してより多くの重み付けまたはより少ない重み付けを割り当てることができる。より大きな値またはより小さい値を割り当てるために、重み付けをユーザ対話300と情報アーティファクト502の種類に関連付けることができる。
【0038】
コンテンツがドキュメント間で複製されているので、作業コンテキスト108の推論において、コピー/ペースト動作304に高い値を割り当てることができる。活動の性質に基づいて、ドキュメントを添付ファイルとして電子メールに挿入すること、または、リンクをドキュメントに挿入することが、ドキュメント間での切替えよりも強く関連すると考えることができる。さらに、切替えの間の時間に基づいて重み付けを考慮することもできるが、この場合、例えば、素早く連続した切替えはあまり関連しないと言える。
【0039】
図7に示すように、候補アイテム116をユーザ・インタフェース内に手動で表示するための動作可能メニュー要素706が提供される。メニュー要素706は、ドキュメント・アプリケーションの特定の位置にあるユーザ・インタフェース内のボタンであることができる。ボタンをクリックすることができ、その後、ユーザにはドキュメントの作業コンテキスト108に関連付けられた1組の候補アイテム116が提示される。候補アイテム116は他のドキュメント、関連する電子メール、ドキュメントとともに開かれた関連アイテムを含むウェブページ、等を含むことができる。メニュー要素706はまた、ドキュメントに関連する特定のタスクまたはプロジェクトに関連付けられた自動的に生成された関連アイテムのリストを有するサイドバーであることができる。あるいは、メニュー要素がデスクトップ・アイテムであることができ、この場合、1組のドキュメントは単一の参照アイテム112ではなく複数の参照アイテムと考えられる。
【0040】
図8は、開示したアーキテクチャに従ってコンテキスト上の関係を推論するための実装800を示す。実装800は、コンテキスト・システムによって記録されている5個のアイテムを示す例示的な概念図である。参照アイテム802は、ユーザが再開しようとしている作業コンテキストの一部(例えば、「サイト訪問アジェンダ」ドキュメント)を表す。4個の候補アイテムが利用可能である。候補アイテム1 804は、「計画」を表すドキュメントであり、このドキュメントと参照アイテムの間で幾つかの記録された切替え活動を有する。しかし、候補アイテム1 804と参照アイテム802は字句的には類似しない。
【0041】
候補アイテム2 806は「サイト訪問計画」に関連し、記録された切替え活動と、参照アイテムとの字句類似度(「サイト訪問」)の両方を有する。候補アイテム3 808は「このウェブサイトを訪問」という項目を含むが、参照アイテムとの字句類似度(「訪問」、「サイト」)しか有さない。候補アイテム4 810は記録されたコピー/ペースト活動と、参照アイテムとの字句類似度(「アジェンダ」)の両方を有する。結果として、候補アイテム2 806と候補アイテム4 810のみがコンテキスト的に関連するとして参照アイテム802に返される。
【0042】
次に、本明細書で開示したコンテキスト・アーキテクチャの動作を説明する例示的なシナリオを説明する。マーケティング・チームのメンバであるユーザ1が、企業の印刷広告とウェブ広告に注目している。ユーザ1がプロジェクトに従事していると、どの外国の雑誌が特殊ギアの広告に適しているかを調べるようにユーザ1に指示するインスタントメッセージ(IM)を受信した。ユーザ1はこの課題に関連して過去に幾つかのウェブサイトを閲覧しているが、その課題につき正式に調査したことはない。
【0043】
ユーザ1はこのタスクに関して新しいスペース(例えば、ワーク・スペースまたはフォルダ)を作成し、当該スペースに受信したIMを追加し、このタスクに関連する以前の調査を含むプレゼンテーション・ドキュメントを見つけて当該スペースに追加する。コンテキスト・システムは、当該スペース内に既にあるコンテンツの作成または配布に関連するコンテンツ、例えば、プレゼンテーション・ドキュメントを作成するためにそこからユーザ1がコピーしペーストしたソース、および関連コンテンツを含む送信された電子メール、を自動的に当該スペースに追加する。コンテキスト・システムは、ユーザ1によって閲覧され作業されている情報アーティファクトを、当該情報アーティファクトに関連する活動を含めて、プロファイリングすることによって、スペース内のコンテンツに関連する情報アーティファクトを自動的に提示して作業コンテンツの再構築を支援する。この提示を、既に空間内にあるコンテンツ、マッチしたキーワード、作成者、共同作業者、スペース内のコンテンツと同時期に開かれた他の情報アーティファクトに基づいて行うことができる。
【0044】
本明細書には、開示したアーキテクチャの新規な態様を実施するための例示的な方法を表す1組のフローチャートが含まれる。説明を簡単にするため、本明細書で例えばフローチャートまたは流れ図の形で示した1つまたは複数の方法を、一連の動作として図示および説明するが、方法はその動作の順序によって限定されないことは理解されよう。なぜならば、幾つかの動作を、当該方法に従って、本明細書で図示および説明したのとは異なる順序で、かつ/または他の順序と並行して行ってもよいからである。例えば、方法を、状態図のような、一連の相互に関連する状態または事象として代替的に表しうることは当業者には理解されよう。さらに、方法において示した動作の全てが新規な実装形態に必要でなくともよい。
【0045】
図9は、コンテキスト上の関係を推論するための方法を示す。900で、作業コンテキストにおける情報アーティファクトとのユーザ対話に関連する活動情報に対して監視と記録を行う。902で、作業コンテキストに関連する活動情報と参照アイテムに対して字句分析を行って字句類似度を特定する。904で、候補アイテムを推論する。この場合、候補アイテムは、字句分析の結果得られる、活動情報と参照アイテムの字句類似度に基づいて情報アーティファクトから選択される。906で、作業コンテキストに関連する候補アイテムを提示する。
【0046】
図10は、図9のコンテキスト上の関係を推論する方法の追加の態様を示す図である。1000で、候補アイテムを処理することによって、作業コンテキストを再構築する。1002で、それぞれの関連する候補アイテムを、選択した候補アイテムから推論して、1組のより正確な候補アイテムを得る。このようにして、特定の候補アイテムがそれ自体の1組の候補アイテムに対する参照アイテムとなり、後者の1組の候補アイテムを最初の1組の候補アイテムと比較して、もとの参照アイテムから推論した候補アイテムのみから拡張した1組の候補アイテムを生成することができる。
【0047】
図10に示すように、1004で、活動情報と参照アイテムの字句類似度の頻度に従って候補アイテムを階層的に順位付けする。1006で、情報アーティファクトと、参照アイテムを含む参照ドキュメントとの間の切替え頻度に従って候補アイテムを階層的に順位付けする。1008で、ユーザ対話をバックグラウンド・プロセスとして自動的に監視する。
【0048】
本明細書で開示したように、コンテキスト・システムおよび方法は、ユーザが作業するアイテムの間の関係を、活動情報を当該活動情報に関連するアイテムの字句分析と絡めることによって推論する。当該コンテキスト・システムおよび方法は、推論した関係を問い合わせ、それによって高精度な結果を生成することによって、参照アイテムに基づいてコンテキスト的に関連するアイテムをユーザに提示する。当該コンテキスト・システムおよび方法は2つの情報ストリーム(即ち、ユーザ活動と字句分析)を組み合わせて、特定のタスクまたは作業コンテキストに関連するコンテキスト上の関係を自動的に推論する。当該コンテキスト・システムおよび方法は、推論結果をそこから導出する特定のユーザ活動(上述した、ドキュメントの切替え、コピー・ペースト動作、添付ファイルもしくはリンクの挿入、および/またはブックマーキングを含む)の監視を提供する。このようにして、当該コンテキスト・システムおよび方法は、特定のユーザ・タスクまたは作業コンテキストに対する関連アイテムを表す高精度の結果をもたらす。
【0049】
単純に一般的なキーボード・ベースの検索結果を提供するのではなく、当該コンテキスト・システムおよび方法は、ユーザが以前に見て作業した情報アーティファクトとの対話に基づいて、所与の作業コンテキストまたはタスクに関連するアイテムを発見する。このようにして、当該コンテキスト・システムおよび方法は、当該コンテキスト・システムおよび方法以外の方法で行う場合よりも高速に所与のタスクに対する関連コンテンツに戻ることにおいて、ユーザを支援することができる。当該コンテキスト・システムおよび方法は、当該コンテキスト・システムおよび方法がなければ忘れていたかもしれない特定のタスクに関連するコンテンツをユーザが発見することを支援することができる。このように、当該コンテキスト・システムおよび方法により、候補アイテムが大きな値を有するかどうかをユーザが直感的に一目で把握することができる。当該コンテキスト・システムおよび方法は、複数の作業セッションにおよぶ作業コンテキスト、一日以上間が空いた作業コンテキスト、および複数のアプリケーションにおよぶ作業コンテキストに関連付けられたタスクにおいて、ならびに、当該タスクの一部として見たかまたは行った全てのものをユーザがファイルまたは記録していない場合において、特に有用である。
【0050】
本願で使用する場合、「コンポーネント」および「システム」という用語は、コンピュータ関連のエンティティ、即ち、ハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアの何れかを指すものである。例えば、コンポーネントは、プロセッサ上で実行されているプロセス、プロセッサ、ハード・ディスク・ドライブ、(光媒体、固体媒体、および/または磁気記憶媒体からなる)複数の記憶ドライブ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、および/またはコンピュータであることができるがこれらに限らない。例として、サーバ上で実行されているアプリケーションとサーバがコンポーネントであることができる。1つまたは複数のコンポーネントがプロセスおよび/または実行スレッド内に存在することができ、ならびにコンポーネントを1つのコンピュータ上に局在化することができ、および/または複数のコンピュータ間で分散させることができる。本明細書では、例、事例、または例示としての役割を果たすために「例示的」という言葉を使用することができる。本明細書で「例示的」として説明されたどの態様または設計も、他の態様または設計に対して好適または有利であるとは必ずしも解釈されない。
【0051】
図11を参照すると、開示したアーキテクチャに従ってコンテキスト上の関係の推論を実行するように動作可能なコンピューティング・システム1100のブロック図が示されている。その様々な態様に対して追加のコンテキストを提供するため、図11および以下の考察は、当該様々な態様を実装できる適切なコンピューティング・システム1100の簡単で一般的な説明を提供しようとするものである。上記では、1つまたは複数のコンピュータ上で実行できるコンピュータ実行可能命令の一般的なコンテキストで説明したが、新規な実施形態を他のプログラム・モジュールと組み合わせて、および/または、ハードウェアおよびソフトウェアの組合せとして実装することもできることは当業者には認識されよう。
【0052】
様々な態様を実装するためのコンピューティング・システム1100は、処理装置(複数可)1104、システム・メモリ1106、およびシステム・バス1108を有するコンピュータ1102を備える。処理装置(複数可)1104は、単一プロセッサ、マルチプロセッサ、単一コア・ユニット、およびマルチ・コア・ユニットのような任意の様々な市販のプロセッサであることができる。さらに、新規な方法を他のコンピュータ・システム構成で実施できることは当業者には理解されよう。当該コンピュータ・システム構成には、ミニコンピュータ、メインフレーム・コンピュータ、ならびにパーソナル・コンピュータ(例えば、デスクトップ、ラップトップ、等)、ハンドヘルド・コンピューティング装置、マイクロプロセッサ・ベースのまたはプログラム可能な消費家電、等が含まれ、その各々を1つまたは複数の関連装置に動作可能に接続することができる。
【0053】
システム・メモリ1106は揮発性(VOL)メモリ1110(例えば、RAM(random access memory))および不揮発性メモリ(NON−VOL)1112(例えば、ROM、EPROM、EEPROM、等)を含むことができる。BIOS(basic input/output system)を不揮発性メモリ1112に格納することができ、例えば起動中にコンピュータ1102内のコンポーネント間でのデータと信号の通信を容易にする基本ルーチンを含む。揮発性メモリ1110はまた、データをキャッシュするための静的RAMのような高速RAMを含むことができる。
【0054】
システム・バス1108は、処理装置(複数可)1104に対するインタフェースをシステム・コンポーネントに提供する。当該システム・コンポーネントにはメモリ・サブシステム1106が含まれるが、これに限らない。システム・バス1108は、任意の様々な市販のバス構造を用いて(メモリ・コントローラを有するかまたは有しない)メモリ・バス、および周辺バス(例えば、PCI、PCIe、AGP、LPC、等)にさらに相互接続できる任意の数種のバス構造であることができる。
【0055】
コンピュータ1102はさらに、記憶サブシステム(複数可)1114と、記憶サブシステム(複数可)1114をシステム・バス1108および他の所望のコンピュータ・コンポーネントに連結させるための記憶インタフェース(複数可)1116とを備える。記憶サブシステム(複数可)1114は例えば、1つまたは複数のHDD(hard disk drive)、磁気FDD(floppy disk drive)、および/または光記憶ドライブ(例えば、CD−ROMドライブ、DVDドライブ)を含むことができる。記憶インタフェース(複数可)1116は、例えばEIDE、ATA、SATA、およびIEEE1394のようなインタフェース技術を含むことができる。
【0056】
1つまたは複数のプログラムおよびデータを、メモリ・サブシステム1106、取外し可能メモリ・サブシステム1118(例えば、フラッシュ・ドライブ・フォーム・ファクタ(flash drive form factor)技術)、および/または記憶サブシステム(複数可)1114(例えば、光、磁気、固体)に格納することができる。当該1つまたは複数のプログラムおよびデータには、オペレーティング・システム1120、1つまたは複数のアプリケーション・プログラム1122、他のプログラム・モジュール1124、およびプログラム・データ1126が含まれる。
【0057】
一般に、プログラムは、特定のタスクを実施するかまたは特定の抽象データ型を実装するルーチン、メソッド、データ構造、他のソフトウェア・コンポーネント、等を含む。オペレーティング・システム1120、アプリケーション1122、モジュール1124、および/またはデータ1126の全部または一部を、例えば揮発性メモリ1110のようなメモリにキャッシュすることもできる。開示されたアーキテクチャを様々な市販のオペレーティング・システムまたはオペレーティング・システムの組合せで(例えば、仮想マシンとして)実装できることは理解されよう。
【0058】
前述のアプリケーション・プログラム1122、プログラム・モジュール1124、およびプログラム・データ1126は、図1の、コンピュータ実行型のシステム100、活動コンポーネント102、活動情報104、アイテム106、作業コンテキスト108、分析コンポーネント110、参照アイテム112、推論コンポーネント114、候補アイテム116、および結果118、図2の、バックグラウンド・コンポーネント202および共通項目204のようなさらに追加のコンポーネントを含むシステム200、図3の、切替え動作302、コピー・ペースト動作304、挿入動作306、トグル頻度測定308、タイムスタンプ動作310、ブックマーク動作312、リンク動作314、保存動作316、および滞留時間318を含むユーザ対話300、図4の、問合せコンポーネント402、収集コンポーネント404、記憶コンポーネント406のようなさらに追加のコンポーネントを含むシステム400、を含むことができる。
【0059】
前述のアプリケーション・プログラム1122、プログラム・モジュール1124、およびプログラム・データ1126はさらに、図5の、情報アーティファクト502、参照アーティファクト504、字句類似度506、およびプレゼンテーション・コンポーネント508のような追加のコンポーネントを備えるシステム500、図6の、ユーザ認識可能および使用可能なデータ・エンティティ600、ファイル602、データストリーム604、ウェブページ606、スプレッドシート608、電子メール・メッセージ610、インスタント・メッセージング会話612、カレンダ予約614、付箋紙616、および組込みメタデータ618、図7の、スコア割当て702、重み付けコンポーネント704、動作可能メニュー要素706のようなさらに追加のコンポーネントを含むシステム700、図8の、参照アイテム802、候補アイテム1 804、候補アイテム2 806、候補アイテム3 808、候補アイテム4 810を含む実装800、ならびに図9、図10の方法を含むことができる。
【0060】
記憶サブシステム(複数可)1114およびメモリ・サブシステム(1106および1118)は、データ、データ構造、コンピュータ実行可能命令、等の揮発性および不揮発性記憶のためのコンピュータ読取可能媒体としての役割を果たす。コンピュータ読取可能媒体は、コンピュータ1102がアクセスできる任意の利用可能な媒体であることができ、揮発性および不揮発性の媒体、取外し可能および取外し不能な媒体を含む。コンピュータ1102に対して、当該媒体はデータを任意の適切なデジタル形式で記憶する。ジップ・ドライブ、磁気テープ、フラッシュ・メモリ・カード、カートリッジ、等のような他種のコンピュータ読取可能媒体を使用して、開示したアーキテクチャの新規の方法を実行するためのコンピュータ実行可能命令を格納できることは当業者には理解されよう。
【0061】
ユーザは、キーボードおよびマウスのような外部ユーザ入力装置1128を用いてコンピュータ1102、プログラム、およびデータと対話することができる。他の外部ユーザ入力装置1128は、マイクロフォン、IR(赤外線)リモート・コントロール、ジョイスティック、ゲーム・パッド、カメラ認識システム、スタイラス・ペン、タッチ・スクリーン、ジェスチャ・システム(例えば、眼球の動き、頭の動き、等)、等を備えることができる。コンピュータ1102が例えばポータブル・コンピュータである場合には、ユーザはタッチパッド、マイクロフォン、キーボード、等のようなオンボードのユーザ入力装置1130を用いてコンピュータ1102、プログラム、およびデータと対話することができる。これらおよび他の入力装置は、I/O(input/output)装置インタフェース(複数可)1132を通してシステム・バス1108を介して処理装置(複数可)1104に接続されるが、これらおよび他の入力装置をパラレル・ポート、IEEE1394 シリアル・ポート、ゲーム・ポート、USBポート、IRインタフェース、等のような他のインタフェースにより接続することができる。I/O装置インタフェース(複数可)1132により、サウンド・カードおよび/またはオンボードのオーディオ処理機能のように、プリンタ、オーディオ・デバイス、カメラ・デバイス、等のような出力周辺装置1134の利用も容易になる。
【0062】
1つまたは複数のグラフィック・インタフェース1136(GPU(graphics processing unit)とも一般的に称される)は、コンピュータ1102および外部ディスプレイ(複数可)1138(例えば、LCD、プラズマ)および/または(例えばポータブル・コンピュータ向けの)オンボード・ディスプレイ1140の間でグラフィックおよびビデオ信号を提供する。グラフィック・インタフェース(複数可)1136を、コンピュータ・システム・ボードの一部として製造することもできる。
【0063】
コンピュータ1102は、有線/無線の通信サブシステム1142を介した1つまたは複数のネットワークおよび/または他のコンピュータへの論理接続を用いて(例えば、IPベースの)ネットワーク環境で動作することができる。他のコンピュータには、ワークステーション、サーバ、ルータ、パーソナル・コンピュータ、マイクロプロセッサベースの娯楽機器、ピア・デバイスまたは他の共通ネットワーク・ノードを含めることができ、一般に、コンピュータ1102に関して説明した要素の多くまたは全部が含まれる。論理接続には、LAN(local area network)、WAN(wide area network)、ホットスポット、等への有線/無線接続を含めることができる。LANおよびWANのネットワーク環境は職場や企業で一般的であり、イントラネットのような企業規模のコンピュータ・ネットワークを容易にする。これらの全てをインターネットのようなグローバル通信ネットワークに接続してもよい。
【0064】
ネットワーク環境で使用する場合は、コンピュータ1102は有線/無線の通信サブシステム1142(例えば、ネットワーク・インタフェース・アダプタ、オンボードの送受信サブシステム、等)を介してネットワークに接続して有線/無線のネットワーク、有線/無線のプリンタ、有線/無線の入力装置1144、等と通信する。コンピュータ1102は、モデムまたはネットワーク上で通信を確立するための他の手段を備えることができる。ネットワーク環境では、コンピュータ1102に関するプログラムおよびデータを、分散システムと関連付けられたリモートのメモリ/記憶装置に格納することができる。示したネットワーク接続は例であって、コンピュータ間の通信リンクを確立する他の手段を使用できることは理解されよう。
【0065】
コンピュータ1102は、IEEE802.xx標準ファミリのような無線技術を用いて有線/無線の装置またはエンティティと通信するように動作する。当該有線/無線の装置またはエンティティには、例えばプリンタ、スキャナ、デスクトップおよび/またはポータブル・コンピュータ、PDA(personal digital assistant)、通信衛星、無線検出可能タグと関連付けられた任意の機器もしくは場所(例えば、キオスク、新聞販売店、化粧室)、電話との無線通信(例えば、IEEE802.11の無線変調技法)に動作可能に配置される無線装置がある。これには、少なくとも、ホットスポット向けのWi−Fi(またはワイヤレス・フィデリティ)、WiMax、およびBluetooth「登録商標」無線技術が含まれる。このように、通信は、従来のネットワークと同様の所定の構造または少なくとも2つの装置の間のアドホック通信であることができる。Wi−Fiネットワークは、IEEE802.11x(a、b、g、等)と呼ばれる無線技術を使用して安全で、信頼性のある、高速な無線接続を提供する。Wi−Fiネットワークを使用して、コンピュータを互いと、インターネットと、(IEEE802.3関連の媒体および機能を用いる)有線ネットワークと接続することができる。
【0066】
示した態様を、通信ネットワークを介して接続されたリモート処理装置によって特定のタスクが実行される分散コンピューティング環境で実行することもできる。分散コンピューティング環境では、プログラム・モジュールをローカルおよび/またはリモートの記憶および/またはメモリ・システムに配置することができる。
【0067】
以上で説明したことには、開示したアーキテクチャの複数の例が含まれる。勿論、コンポーネントおよび/または方法の考えうる全ての組合せを説明することは不可能であるが、多数のさらなる組合せおよび並び換えが可能であることは当業者には理解されよう。したがって、新規なアーキテクチャは、添付の諸請求項の趣旨および範囲内にある全ての変更、修正、および変形を含むよう意図されている。さらに、発明を実施するための形態または特許請求の範囲において用語「含む」を使用する限りでは、係る用語は用語「備える」を請求項において移行語として使用する場合に解釈される用語「備える」と同様に、包括的であると意図している。
【特許請求の範囲】
【請求項1】
作業コンテキストに関連付けられたアイテムとのユーザ対話に関連する活動情報を監視し記録する、活動コンポーネント(102)と、
参照アイテムと、前記活動情報に関連付けられたアイテムとに対して字句分析を行う、分析コンポーネント(110)と、
前記作業コンテキストを再構築するときに、前記活動情報と、前記字句分析の結果とに基づいて候補アイテムを推論する、推論コンポーネント(114)と
を備えたことを特徴とするコンピュータ実行型のコンテキスト・システム(100)。
【請求項2】
前記活動コンポーネントは、ユーザの活動を、バックグラウンドの機能として、ユーザ対話なしで監視するバックグラウンド・コンポーネントをさらに含むことを特徴とする請求項1に記載のシステム。
【請求項3】
前記字句分析の結果は、前記参照アイテムと前記候補アイテムの中に含まれている共通の項目を含むことを特徴とする請求項1に記載のシステム。
【請求項4】
前記ユーザ対話は、プログラムまたはデータの間の切替え動作、プログラムまたはデータの間のコピー・ペースト動作、添付ファイルへのプログラムまたはデータの挿入動作、トグル頻度測定、タイムスタンプ動作、ブックマーク動作、リンク動作、アイテムをコピーとして別の場所へ保存する保存動作、または滞留時間のうちの少なくとも1つを含むことを特徴とする請求項1に記載のシステム。
【請求項5】
前記参照アイテムに関連する候補アイテムを明示的に問い合わせる問合せコンポーネントをさらに備えたことを特徴とする請求項1に記載のシステム。
【請求項6】
1組の候補アイテムを収集し、前記参照アイテムに関連する候補アイテムを前記1組の候補アイテムに暗黙的に問い合わせる収集コンポーネントをさらに備えたことを特徴とする請求項1に記載のシステム。
【請求項7】
前記活動情報をローカルまたはリモートのうちの少なくとも1つで記憶する記憶コンポーネントをさらに備えたことを特徴とする請求項1に記載のシステム。
【請求項8】
前記作業コンテキストに関連する少なくとも1つの参照アイテムを含む参照アーティファクトと、
前記作業コンテキストに関連する前記候補アイテムを提示するプレゼンテーション・コンポーネントと
をさらに備えたことを特徴とする請求項1に記載のシステム。
【請求項9】
重み付け因子を、少なくとも1つの所定の活動情報アイテムの関連性に割り当てる重み付けコンポーネントをさらに備えたことを特徴とする請求項1に記載のシステム。
【請求項10】
コンピュータ実行型のコンテキスト方法であって、前記方法は、
作業コンテキストにおける情報アーティファクトとのユーザ対話に関連する活動情報を監視し記録するステップ(900)と、
前記活動情報と、前記作業コンテキストに関連する参照アイテムとに対して字句分析を行って字句類似度を特定するステップ(902)と、
前記字句分析の結果である、前記活動情報と前記参照アイテムとの間の前記字句類似度に基づいて、前記情報アーティファクトから選択される候補アイテムを推論するステップ(904)と、
前記作業コンテキストに関連する前記候補アイテムを提示するステップ(906)と
を備えたことを特徴とする方法。
【請求項11】
前記候補アイテムを処理することによって前記作業コンテキストを再構築するステップをさらに備えたことを特徴とする請求項10に記載の方法。
【請求項12】
それぞれの関連する候補アイテムを、選択された候補アイテムから推論して1組のより正確な候補アイテムを得るステップをさらに備えたことを特徴とする請求項10に記載の方法。
【請求項13】
前記活動情報と前記参照アイテムとの間の字句類似度の頻度に従って、前記候補アイテムを階層的に順位付けするステップをさらに備えたことを特徴とする請求項10に記載の方法。
【請求項14】
前記情報アーティファクトと、前記参照アイテムを含む参照ドキュメントとの間の切替え頻度に従って、前記候補アイテムを階層的に順位付けするステップをさらに備えたことを特徴とする請求項10に記載の方法。
【請求項15】
前記ユーザ対話を、バックグラウンド・プロセスとして自動的に監視するステップをさらに備えたことを特徴とする請求項10に記載の方法。
【請求項1】
作業コンテキストに関連付けられたアイテムとのユーザ対話に関連する活動情報を監視し記録する、活動コンポーネント(102)と、
参照アイテムと、前記活動情報に関連付けられたアイテムとに対して字句分析を行う、分析コンポーネント(110)と、
前記作業コンテキストを再構築するときに、前記活動情報と、前記字句分析の結果とに基づいて候補アイテムを推論する、推論コンポーネント(114)と
を備えたことを特徴とするコンピュータ実行型のコンテキスト・システム(100)。
【請求項2】
前記活動コンポーネントは、ユーザの活動を、バックグラウンドの機能として、ユーザ対話なしで監視するバックグラウンド・コンポーネントをさらに含むことを特徴とする請求項1に記載のシステム。
【請求項3】
前記字句分析の結果は、前記参照アイテムと前記候補アイテムの中に含まれている共通の項目を含むことを特徴とする請求項1に記載のシステム。
【請求項4】
前記ユーザ対話は、プログラムまたはデータの間の切替え動作、プログラムまたはデータの間のコピー・ペースト動作、添付ファイルへのプログラムまたはデータの挿入動作、トグル頻度測定、タイムスタンプ動作、ブックマーク動作、リンク動作、アイテムをコピーとして別の場所へ保存する保存動作、または滞留時間のうちの少なくとも1つを含むことを特徴とする請求項1に記載のシステム。
【請求項5】
前記参照アイテムに関連する候補アイテムを明示的に問い合わせる問合せコンポーネントをさらに備えたことを特徴とする請求項1に記載のシステム。
【請求項6】
1組の候補アイテムを収集し、前記参照アイテムに関連する候補アイテムを前記1組の候補アイテムに暗黙的に問い合わせる収集コンポーネントをさらに備えたことを特徴とする請求項1に記載のシステム。
【請求項7】
前記活動情報をローカルまたはリモートのうちの少なくとも1つで記憶する記憶コンポーネントをさらに備えたことを特徴とする請求項1に記載のシステム。
【請求項8】
前記作業コンテキストに関連する少なくとも1つの参照アイテムを含む参照アーティファクトと、
前記作業コンテキストに関連する前記候補アイテムを提示するプレゼンテーション・コンポーネントと
をさらに備えたことを特徴とする請求項1に記載のシステム。
【請求項9】
重み付け因子を、少なくとも1つの所定の活動情報アイテムの関連性に割り当てる重み付けコンポーネントをさらに備えたことを特徴とする請求項1に記載のシステム。
【請求項10】
コンピュータ実行型のコンテキスト方法であって、前記方法は、
作業コンテキストにおける情報アーティファクトとのユーザ対話に関連する活動情報を監視し記録するステップ(900)と、
前記活動情報と、前記作業コンテキストに関連する参照アイテムとに対して字句分析を行って字句類似度を特定するステップ(902)と、
前記字句分析の結果である、前記活動情報と前記参照アイテムとの間の前記字句類似度に基づいて、前記情報アーティファクトから選択される候補アイテムを推論するステップ(904)と、
前記作業コンテキストに関連する前記候補アイテムを提示するステップ(906)と
を備えたことを特徴とする方法。
【請求項11】
前記候補アイテムを処理することによって前記作業コンテキストを再構築するステップをさらに備えたことを特徴とする請求項10に記載の方法。
【請求項12】
それぞれの関連する候補アイテムを、選択された候補アイテムから推論して1組のより正確な候補アイテムを得るステップをさらに備えたことを特徴とする請求項10に記載の方法。
【請求項13】
前記活動情報と前記参照アイテムとの間の字句類似度の頻度に従って、前記候補アイテムを階層的に順位付けするステップをさらに備えたことを特徴とする請求項10に記載の方法。
【請求項14】
前記情報アーティファクトと、前記参照アイテムを含む参照ドキュメントとの間の切替え頻度に従って、前記候補アイテムを階層的に順位付けするステップをさらに備えたことを特徴とする請求項10に記載の方法。
【請求項15】
前記ユーザ対話を、バックグラウンド・プロセスとして自動的に監視するステップをさらに備えたことを特徴とする請求項10に記載の方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公表番号】特表2013−505500(P2013−505500A)
【公表日】平成25年2月14日(2013.2.14)
【国際特許分類】
【出願番号】特願2012−529888(P2012−529888)
【出願日】平成22年9月15日(2010.9.15)
【国際出願番号】PCT/US2010/049002
【国際公開番号】WO2011/034974
【国際公開日】平成23年3月24日(2011.3.24)
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】
【公表日】平成25年2月14日(2013.2.14)
【国際特許分類】
【出願日】平成22年9月15日(2010.9.15)
【国際出願番号】PCT/US2010/049002
【国際公開番号】WO2011/034974
【国際公開日】平成23年3月24日(2011.3.24)
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】
[ Back to top ]