(57)【特許請求の範囲】
【請求項１】
１つまたは複数の予め定められた基準に従って１つまたは複数のメッセージに優先順位を割り当てるように構成された分類器と、
前記割り当てられた優先順位に従って、前記１つまたは複数のメッセージを処理するために前記分類器に関連付けられたメッセージサブシステムとを含み、
前記メッセージサブシステムが、
前記割り当てられた優先順位に従って、優先順位の高いメッセージ程、短くまとめられていない要約を提供し、および
前記１つまたは複数のメッセージの閲覧の遅延に関連付けられた損失が所定のしきい値を超えた場合に、前記メッセージサブシステムが警報を生成し、
警報および／または要約の後の、ある時間にアクティブであるコンテキストをさらに含むことを特徴とするシステム。
【請求項２】
ユーザおよび／または後続のシステムが、前記割り当てられた優先順位を備えた前記１つまたは複数のメッセージを受け取ることを特徴とする請求項１に記載のシステム。
【請求項３】
前記メッセージサブシステムが、電子メールプログラムおよび経路指定システムのうちの１つをさらに含むことを特徴とする請求項１に記載のシステム。
【請求項４】
前記１つまたは複数のメッセージが、前記割り当てられた優先順位に従って経路指定されることを特徴とする請求項３に記載のシステム。
【請求項５】
前記１つまたは複数のメッセージが、前記割り当てられた優先順位に従って自動的に転送および／または返信されることを特徴とする請求項３に記載のシステム。
【請求項６】
メッセージが、１つまたは複数の分類程度に従ってカテゴリおよび／またはフォルダに格納されることを特徴とする請求項１に記載のシステム。
【請求項７】
前記分類器に、前記予め定められた基準を明示的に学習および／または暗示的に学習させることを特徴とする請求項１に記載のシステム。
【請求項８】
前記分類器が、サポートベクトルマシン、ベイズ、および意思決定ツリーモデルの１つであることを特徴とする請求項７に記載のシステム。
【請求項９】
前記分類器に前記予め定められた基準を暗示的に学習させるための背景モニタをさらに含むことを特徴とする請求項７に記載のシステム。
【請求項１０】
明示的な前記学習が、それぞれ１つまたは複数の単語を含む１つまたは複数のトレーニングセットを定義することを含み、前記１つまたは複数のトレーニングセットが所定の重要度を有することを特徴とする請求項７に記載のシステム。
【請求項１１】
前記明示的に学習および／または暗示的に学習させるために、トレーニングフォルダ、意味ラベル、日付、時刻、組織図、送信者と受信者の関係、メッセージ長さ、および／または言語の時制をさらに含むことを特徴とする請求項７に記載のシステム。
【請求項１２】
前記１つまたは複数のメッセージにスカラー値が割り当てられることを特徴とする請求項１に記載のシステム。
【請求項１３】
前記１つまたは複数のメッセージがクラスに割り当てられることを特徴とする請求項１に記載のシステム。
【請求項１４】
費用関数は前記割り当てられた優先順位に基づいており、前記費用関数は前記メッセージが閲覧されないときの予想損失を計算するための、時間パラメータを有する関数であることを特徴とする請求項１に記載のシステム。
【請求項１５】
前記費用関数が、線形関数および／または非線形関数であることを特徴とする請求項１４に記載のシステム。
【請求項１６】
前記割り当てられた優先順位が、前記１つまたは複数のメッセージの閲覧の遅延当たりの予想損失として決定されることを特徴とする請求項１に記載のシステム。
【請求項１７】
前記メッセージサブシステムが、費用便益分析に基づいて、前記１つまたは複数のメッセージの閲覧の遅延に関連付けられた損失が所定のしきい値を超えた場合に警報を生成することを特徴とする請求項１に記載のシステム。
【請求項１８】
前記割り当てられた優先順位に関連付けられたビジュアル出力および／またはオーディオ出力をさらに含むことを特徴とする請求項１に記載のシステム。
【請求項１９】
前記ビジュアル出力および／またはオーディオ出力が、前記割り当てられた優先順位に従って調整されることを特徴とする請求項１８に記載のシステム。
【請求項２０】
前記割り当てられた優先順位に従って起動されるエージェントをさらに含むことを特徴とする請求項１８に記載のシステム。
【請求項２１】
前記メッセージサブシステムが、前記割り当てられた優先順位に基づいて前記１つまたは複数のメッセージを代替アドレスに進路変更することを特徴とする請求項１に記載のシステム。
【請求項２２】
前記割り当てられた優先順位に従って電子メールをフィルタリングするビューアをさらに含むことを特徴とする請求項１に記載のシステム。
【請求項２３】
前記メッセージサブシステムが、前記割り当てられた優先順位に従ってメッセージのリストをソートすることを特徴とする請求項２２に記載のシステム。
【請求項２４】
前記１つまたは複数のメッセージを、前記優先順位に従って１つまたは複数の通知シンクに向けて送るための通知プラットフォームをさらに含むことを特徴とする請求項１に記載のシステム。
【発明の詳細な説明】
【０００１】
（技術分野）
本発明は、一般にコンピュータシステムに関し、より詳細には、情報に関連付けられた１つまたは複数の優先順位を生成および管理するために、重要性の尺度および／または予想される損失などの要因に従ってこうした情報に優先順位を与えるシステムおよび方法に関する。
【０００２】
（背景技術）  コンピュータおよび情報システム、ならびに無線およびインターネット通信などの関連するネットワーク技術の発達に伴い、ユーザおよび／またはシステムによって、かつてないほど大量の電子情報が通信、転送、さらには処理されるようになった。その例として、コンピュータユーザ間では、こうした情報を生成および受け取るために電子メールプログラムが一般的なアプリケーションとなっている。インターネットの出現により、例えば電子メールの交換が、多くの人々のコンピュータ取得理由に影響を与える重要な要素となっている。多くの企業環境では、同業者間での情報交換の手段として、電子メールはほぼ事実上の標準となっている。ただし、電子メールや他の情報転送システムの人気がこのように高まるにつれて、複数ソースからの大量の情報の管理および処理に関する問題が生じてきた。
【０００３】
こうした問題の中で、今や多くのユーザは、ソートおよび／または返信すべき電子メールおよび／または他の情報の洪水に見舞われており、その結果、情報の送信、受信、および処理を可能にする機能が、生産性の向上に対する障害にまでなりつつある。例えば、ユーザの中には、１日に１００通を超える電子メールメッセージの受信を報告する者もいる。こうした大量の電子メールおよび他の電子情報により、重要性を個人個人が決定するために貴重な時間を大量に費やさなければ、どれが重要でどれが重要でないかを基準に情報を管理するのが困難になりつつある。こうした決定の例としては、ユーザがメッセージについて、即時に返信しなければならないか、後で読めばよいか、または重要でないので削除してしまえばよいか（例えばダイレクトメール（ｊｕｎｋ  ｍａｉｌ）など）を決定しなければならない場合がある。
【０００４】
情報管理の問題を解決するために、これまでいくつかの試みが実施されてきた。例えば、ユーザが受信するダイレクトメールや広告メールの量を減らす試みが実施されてきた。さらに、電子メールプログラムの中には、プログラム内で電子メールがどのように処理されるかを管理する規則が生成されるものもある。例えば、「一定の同業者またはアドレスからのすべての電子メール」を特別なフォルダに入れるという規則である。
【０００５】
ただし、一定の種類の情報を制限するというこれらの試みは、一般に、電子メールおよび他の情報の送受信システムの裏にある基本的な問題を解決するものではない。すなわち、従来のシステムでは、ユーザがどのメッセージを閲覧またはさらに処理しなければならないかを決めるために、受け取ったメッセージのすべてではなくても、少なくとも一部には手作業で丹念に目を通してチェックしなければならないことが多い。前述のように、これは生産的な活動の時間を削るものである。したがって、大量の情報を受け取る場合には、電子情報を効率良く処理すると共に、それに関連付けられた手動操作の費用削減を容易にするためのシステムおよび方法が求められている。
【０００６】
（発明の開示）  以下では、本発明のいくつかの態様の基本的な理解を提供するために、本発明の単純化された要約を提示する。この要約は、本発明の広範囲にわたる概要ではない。本発明の鍵となる要素またはクリティカルな要素を識別することも、本発明の範囲を示すことも、意図されていない。この要約の唯一の目的は、後に提示されるより詳細な説明の前置きとして、単純化された形で本発明のいくつかの概念を提示することである。
【０００７】
本発明は、電子情報（例えば、電子メールメッセージに関連付けられたテキスト）の優先順位を生成および管理するための、システムおよび方法に関する。情報は、優先順位システムを介して自動的に優先順位付けされ、ここでは、メッセージが閲覧されないことに照らしてメッセージに含まれる情報のクリティカル（ｃｒｉｔｉｃａｌｉｔｙ）を評価する、重要性、緊急性、および／または予想される損失に従って情報が分類される。例えば、優先順位システムによって決定された分類レベル（例えばメッセージの重要性）を示すメッセージに、値を割り当てることができる。その後、通知システム、警報システム、および／または経路指定システムなどの他のシステムは、後続のシステムおよび／またはユーザにメッセージを転送または伝送するかどうか、その方法、およびそれに好適な時点を決定するときに、その値を使用することができる。重要性、緊急性、またはクリティカルなどの決定された分類に従ってメッセージを自動的に優先順位付けすること、およびこの決定に基づいてメッセージをユーザに提供することによって、受け取った複数のメッセージをユーザがソートおよび処理する時間が削減されるため、従来のシステムでかなりの時間が節約される。
【０００８】
本発明の一態様によれば、例えば、テキストが高い優先順位であるか、または何らかの他の優先順位であるかという可能性を決定することによるなどの分類器（ｃｌａｓｓｉｆｉｅｒ）に基づいて、テキストなどのファイルに関する優先順位を生成することができる。分類器はベイズの分類器、サポートベクトルマシン（ｓｕｐｐｏｒｔ  ｖｅｃｔｏｒ  ｍａｃｈｉｎｅ）、および／または他のタイプの分類器であってよい。分類器は、ユーザとテキスト送信者との間の構造上の関係などのデータの特徴、ならびにテキスト内で参照されるイベントの時間を考慮することができる。現時点でテキストが閲覧されないことから予想される損失、ならびに現時点でテキストを出力することから予想される費用などの他の考慮事項は、優先順位に基づいて決定することができる。ユーザは、例えば、プロファイル（例えばユーザプリファレンスの情報記憶装置）に従い、予想される費用よりも予想される損失の方が大きいとの判定に応答して、移動デバイス上で警報を受けることができる。
【０００９】
現在のプロファイルは、異なる情況（例えば、家庭、職場、レジャー、繁忙期、休暇、旅行など）を反映するようにユーザが編集可能な、いくつかのプロファイルから選択することができる。プロファイルは日毎および時間毎にスケジューリングすることが可能であり、その後でロック解除されない限り、アクティブのままでいるようにロックすることができる。プロファイルは、ユーザ設定可能な優先順位しきい値を有することが可能であるため、例えば受け取るメッセージの量および／または種類を管理することができる。プロファイルに関連付けられたまとまった量の設定が、テキストを送ることを制御する。例えば、テキストデータまたはその他のデータは、１つまたは複数の他の関連テキストまたはデータと共に、移動または他の通信デバイスに送ることができる。あるいは、指定期間が経過したときに、テキストを通信デバイスに送ることができる。さらにテキストは、例えばユーザのデスクトップコンピュータなどの主デバイスが指定期間アイドル状態であると判定された場合に、後続デバイスまたは代替デバイスに送達または進路変更（ｄｉｖｅｒｔ）することができる。
【００１０】
テキストまたは他のデータは、例えば移動デバイスなどの受信側モダリティ（ｍｏｄａｌｉｔｙ）に送る前に、フォーマット化することができる。フォーマット化には、圧縮および断片化が含まれる。前者の場合テキストは、ユーザが設定可能な指定の圧縮設定に従って圧縮することができる。後者の場合は、ユーザが設定可能な断片化設定もある。テキストまたは他のデータが電子メールの場合、テキストの送信者に、テキストがユーザの受信側デバイスに送られたという指示を送ることができる。さらに送信者に、自分の主デバイスから離れているという指示を送ることができる。ユーザへの警報は、ユーザのカレンダおよび時刻を考慮に入れることもできる。カレンダ上のイベントには、イベント中に中断されるのに適した程度を指定する関連するタグを設けることができる。
【００１１】
以下の説明および添付図面に、本発明のいくつかの例示的態様を詳細に示す。しかし、これらの態様は、本発明の原理を使用できる様々な形のごく少数を例示するものであり、本発明は、そのような態様のすべておよびその同等物を含むことが意図されている。本発明のその他の利点および新規の特徴は、添付図面と共に検討される時に、以下の本発明の詳細な説明から明白になる。
【００１２】
（発明の実施形態）
本発明は、電子メッセージに関連付けられた複数の情報を、例えばユーザまたはシステムに送信するために優先順位システムによって自動的に優先順位付けできるようにするための、システムおよび方法に関する。優先順位システムは、習得したユーザにとっての重要性に従って１つまたは複数の受信メッセージに優先順位を付けるように、明示的および／または暗示的にトレーニングできる、分類器を使用することができる。一例として、同様の重要度を有するメッセージ例またはタイプのトレーニングセットを介して、メッセージの重要度を高、中、低、またはその他に分類することができる。メッセージの重要性に関するユーザの個人的な決定に従い、分類器をさらに改良または調整するためのメッセージ処理に関して、ユーザのアクティビティをモニターするための背景モニタを提供することができる。他の優先順位分類には、メッセージの閲覧または処理の遅延時間に関連付けられた損失に関する決定を含むことができる。
【００１３】
メッセージまたは他の通知が自動的に優先順位付けされた後、ユーザは、複数の重要度の低いおよび／または関連しないメッセージをソートする必要なしに、より重要度の高いメッセージを閲覧することができる。さらにメッセージは、重要性によって１つまたは複数のフォルダにまとめることが可能であり、ユーザは、重要度が同様に類別されたメッセージを所望の時点で閲覧することができる。通知プラットフォームなどの他のシステムは、決定された優先順位に基づいて、メッセージを１つまたは複数の通知シンク（例えば、移動電話、ハンドヘルドコンピュータなど）に向けて送ることができる。例えば、電子メールメッセージが高重要度であると決定された場合、通知プラットフォームは、ユーザが現在、メッセージを受信するために自分の席にいるかどうかを判定することができる。席にいない場合、通知プラットフォームは、ユーザの自由裁量で、携帯電話または家庭のラップトップコンピュータなど現在最も適切な通信デバイスに向けて、メッセージを転送することが可能であり、ユーザは重要または緊急のメッセージの通知を受け取ることができる。
【００１４】
まず、図１を参照すると、システム１０に、本発明の一態様による優先順位システム１２および通知アーキテクチャが示されている。優先順位システム１２は、１つまたは複数のメッセージまたは通知１４を受け取り、関連付けられたメッセージの優先順位または重要度（例えば、メッセージの重要度が高いかまたは低い確率値）を生成して、関連付けられた優先順位の付いた１つまたは複数のメッセージを出力１６で提供する。以下でより詳細に説明するように、分類器は、メッセージ１４に優先順位を自動的に割り当てるように構成およびトレーニングすることができる。例えば、出力１６は、メッセージが重要度カテゴリの高、中、低、またはその他に属する確率がメッセージに割り当てられるようにフォーマット化することができる。メッセージは、例えば決定された重要度カテゴリに従って、電子メールプログラムのインボックス（図示せず）に自動的にソートすることができる。ソートには、重要度ラベルが定義されたシステムフォルダに向けてファイルを送ることを含めることができる。これには、フォルダに低、中、および高などの重要度ラベルを付けることを含めることが可能であり、特定の重要度が決定されたメッセージは関連付けられたフォルダにソートされる。同様に、１つまたは複数のオーディオサウンドまたはビジュアル表示（例えばアイコン、記号など）を、所望の優先順位を有するメッセージが受け取られたことをユーザに警告するように適合させることができる（例えば、受け取られたメッセージの優先順位が高位の場合は警告音３回、中位の場合は２回、低位の場合は１回、優先順位が高位の場合は警告記号が赤または点滅、中位の場合は緑で点滅なしなど）。
【００１５】
本発明の他の態様によれば、優先順位付けされたメッセージをユーザにアクセス可能な１つまたは複数の通知シンクに向けて送るために、優先順位システム１２と共に通知プラットフォーム１７を使用することができる。以下でより詳細に説明するように、通知プラットフォーム１７は、優先順位付けされたメッセージ１６を受け取り、例えば、ユーザにいつ、どこで、どのように通知するかについて決定するように適合させることができる。一例として、通知プラットフォーム１７は、ユーザの通信モダリティ（例えば、携帯電話または携帯情報端末（ＰＤＡ）などの現在の通知シンク１８）ならびに適切な場所および／または適切な注意のフォーカスを決定することができる。例えば重要度の高い電子メールが受け取られると、通知プラットフォーム１７はユーザの場所／フォーカスを決定し、ユーザに関連付けられた通知シンク１８にメッセージを送信／再フォーマットすることができる。優先順位の低いメッセージ１６が受け取られた場合、例えばその電子メールを所望であればあとで閲覧するようにユーザのインボックスに残しておくように、通知プラットフォーム１７を構成することができる。以下で詳細に説明するように、他の経路指定および／または警報システム１９を使用して、優先順位付けされたメッセージ１６をユーザおよび／または他のシステムに向けて送ることができる。
【００１６】
以下のセクションでは、電子メールなどのテキストファイルの優先順位生成について、自動分類システムおよびプロセスを介して説明する。説明されたテキストの優先順位生成は、その後、以下でより詳細に説明する通知プラットフォームなどの他のシステムで使用することができる。このセクションの説明は図２および図３に関連して行われ、前者はテキスト分類器の明示的および暗示的トレーニングを示す図であり、後者はテキストの優先順位がテキスト分類器への入力によって生成される方法を示す図である。説明は、テキストの優先順位を分類する際に従う異なるスキーマを示す図である図４および図５に関連しても行われ、さらに、テキストタイプに応じて適用可能な場合のある費用関数を示すグラフである図５および図６に関連しても行われる。
【００１７】
次に図２を参照すると、テキスト／データ分類器２０は、優先順位に関する分類を実行するために、矢印２２で表されるように明示的に、および矢印２４で表されるように暗示的にトレーニングすることができる。矢印２２で表される明示的トレーニングは、一般に、分類器２０を構築する初期段階で行われ、矢印２４で表される暗示的トレーニングは、例えば、背景モニタ３４を介して分類器２０を微細に調整するために、典型的には分類器２０が構築された後に行われる。本明細書では、分類トレーニングおよび実施方法を例示的に示す目的で、ＳＶＭ分類器を参照しながら特有の説明を行う。ベイズネットワーク、意思決定ツリー（ｄｅｃｉｓｉｏｎ  ｔｒｅｅ）、および異なる独立性パターンを提供する確率的分類モデルを含む、他のテキスト分類方法を使用することができる。本明細書で使用されるテキスト分類には、優先順位モデルを展開するのに使用される統計的回帰も含まれる。
【００１８】
本発明の一態様によれば、よく知られたサポートベクトルマシン（ＳＶＭ）が分類器２０として使用される。Ｎａｉｖｅ  Ｂａｙｅｓ、Ｂａｙｅｓ  Ｎｅｔ、意思決定ツリー、および他の学習モデルなど、他の分類器モデルも使用できることを理解されよう。ＳＶＭは、分類器コンストラクタ（ｃｏｎｓｔｒｕｃｔｏｒ）および機能選択モジュール２６内での学習またはトレーニング段階を介して構成される。分類器とは、入力属性ベクトル、ｘ＝（ｘ１、ｘ２、ｘ３、ｘ４、ｘｎ）を、入力があるクラスに属するという信頼度にマッピングする関数、すなわち、ｆ（ｘ？）＝信頼度（クラス）である。テキストを分類する場合、属性は単語または句、あるいは単語から導出される他のドメイン特有の属性（例えば会話の一部、重要な用語の存在）であり、クラスは興味の対象となるカテゴリまたは領域（例えば優先順位レベル）である。
【００１９】
ＳＶＭおよび他の帰納学習方法の一態様は、分類関数を自動的に学習するために、ラベル付けされたインスタンスのトレーニングセットを使用することである。トレーニングセットは、分類器コンストラクタ２６に関連付けられたデータ記憶装置３０内部に図示されている。図に示されるように、トレーニングセットは、特定のカテゴリに関連付けられた潜在的および／または実際の要素または要素の組合せ（例えば単語または句）を示す、Ｇ１からＧＮまでのグルーピングサブセットを含むことが可能である。データ記憶装置３０は１からＭまでの複数のカテゴリも含み、グルーピングを１つまたは複数のカテゴリに関連付けることができる。学習中、入力特徴をクラス信頼にマップする関数を学習する。したがって、モデル学習後、カテゴリは入力特徴の重み付けベクトルとして表される。
【００２０】
カテゴリ分類では、２進数特徴値（例えばカテゴリ内に単語が発生するかまたは発生しない）または実数値特徴（例えば重要度重みｒで単語が発生する）が使用されることが多い。カテゴリコレクションには一意の用語が多数含まれる場合があるため、特徴選択は一般に、類別にマシン学習技法を適用する場合に使用される。特徴の数を減らすために、全体の頻度数に基づいて特徴が除去され、その後カテゴリへの合致に基づく少数の特徴に従って選択される。カテゴリへの合致は、相互情報量、情報利得、カイ二乗、および／またはほぼすべての他の統計的選択技法をカイして決定することができる。その後、これらの少ない記述は、ＳＶＭへの入力としての役割を果たす。線形ＳＶＭは、好適な一般化の正確さを提供し、好適な速度の学習を提供することに留意されたい。非線形ＳＶＭの他のクラスは、多項式分類器および動径（ｒａｄｉａｌ）ベース関数を含み、本発明に従って使用することも可能である。
【００２１】
分類器コンストラクタ２６は、入力ベクトルをクラスの信頼度にマッピングする関数を「学習」するために、データ記憶装置３０内のグルーピングおよび関連付けられたカテゴリを分析するための学習モデル３２を使用する。ＳＶＭを含む多くの学習モデルでは、カテゴリのモデルは、特徴ベクトルの重みｗで表すことが可能であり、各カテゴリについて学習した重みのベクトルがあることが可能である。重みｗが学習されると、ｘ×ｗのドット積を計算することによって新しいテキストが分類され、この式でｗは学習した重みのベクトルであり、ｘは新しいテキストを表すベクトルである。ＳＶＭの出力を確率Ｐに変換するために、Ｓ字関数（ｓｉｇｍｏｉｄ  ｆｕｎｃｔｉｏｎ）も提供可能である。確率は、優先順位が決定できるカテゴリまたはクラスに渡って比較可能なスコアを提供する。
【００２２】
ＳＶＭは、トレーニング前に関数形式が定義される、パラメータ化された関数である。ＳＶＭは例のセットからの関数に合致するため、ＳＶＭをトレーニングするには、通常、ラベル付けされたトレーニングセットが必要である。トレーニングセットは、Ｎ個の例のセットで構成することができる。各例は、入力ベクトルｘｉおよびカテゴリラベルｙｊで構成され、これは入力ベクトルがカテゴリ内にあるかどうかを記述するものである。各カテゴリには、Ｎ個の例でトレーニングされたＳＶＭ内にＮ個の自由パラメータがあることが可能である。これらのパラメータを見つけるには、よく知られているように、２次計画（ＱＰ）問題が解かれる。ＱＰ問題を解くためには、複数のよく知られた技法がある。これらの技法は、逐次最小最適化（Ｓｅｑｕｅｎｔｉａｌ  Ｍｉｎｉｍａｌ  Ｏｐｔｉｍｉｚａｔｉｏｎ）技法ならびに他の技法を含むことができる。図３に示されるように、入力ベクトルｘに変換されたテキスト入力３６は、各カテゴリで分類器２０に適用される。分類器２０は、分類器コンストラクタ２６によって決められた学習した重みベクトルｗ（例えば、各カテゴリについて１つの重みベクトル）を使用し、優先順位出力３８を提供するためにドット積を形成するものであって、確率Ｐを、１つまたは複数の関連付けられた優先順位（例えば高、中、低）を示す入力テキスト３６に割り当てることができる。
【００２３】
再度図２を参照すると、矢印２２で表されたテキスト分類器２０のトレーニングには、特徴選択の利用を含む、２６での分類器の構築が含まれる。
【００２４】
明示的トレーニング段階では、分類器２０には、時間クリティカルおよび非時間クリティカルの両方のテキストを提示することが可能であるため、分類器は例えばこの２つを区別することができる。このトレーニングセットをユーザによって提供することが可能であり、あるいは、標準またはデフォルトのトレーニングセットを使用することができる。トレーニングコーパス（ｃｏｒｐｕｓ）とすれば、分類器２０は第１に、最も特色のある特徴を見つけようとする特徴選択プロシージャを適用する。このプロセスでは、相互情報量分析を使用する。特徴選択は、自然言語処理のタグが付けられた句および会話の一部などの、１つまたは複数の単語あるいは使用可能にされた高水準の区別に対して動作することが可能である。すなわち、テキスト分類器２０は、重要とみなされるテキストの特徴を区別するために、特別にタグが付けられたテキストでシードすることができる。
【００２５】
テキスト分類のための特徴選択は、典型的には単一の単語を介した検索を実行する。単一の単語に対する信用以外に、特徴のドメイン特有の句および高水準パターンも実行可能とされる。特殊なトークンも分類を向上させることができる。電子メールクリティカルに関して学習した分類器の品質は、例えば、異なる時間クリティカルの電子メールを区別するのに役立つと識別された手作業で作られた特徴を特徴選択プロシージャに入力することで向上させることができる。したがって、特徴選択の際は、時間クリティカルのレベルが異なるメッセージを区別するのに役立つ１つまたは複数の単語ならびに句および記号が考慮の対象となる。
【００２６】
以下の例に示されるように、メッセージのクリティカルを識別する際の値のトークンおよび／またはパターンには、以下のブール組合せを含む、そうした区別が含まれる。
【００２７】
メッセージヘッダの情報
例：
Ｔｏ：フィールド（受信者情報）
ユーザのみにアドレスを指定
ユーザを含む数人にアドレスを指定
少数の人の１つの別名にアドレスを指定
少数の人のいくつかの別名にアドレスを指定
ユーザにＣｃ：を指定
ユーザにＢｃｃ：を指定
Ｆｒｏｍ：フィールド（送信者情報）
個人個人の様々なクラスに潜在的にセグメント化された、重要人物の所定のリストの名前（例えば、家族、友人）
ユーザの会社／組織内部の人物と識別された送信者
以下のようなオンライン組織図から抜き出されたユーザに関する組織関係の構造に関する情報
ユーザの報告先であるマネージャ
ユーザのマネージャのマネージャ
ユーザに報告する人々
外部の会社関係者
過去時制情報
以下のようにすでに発生したイベントに関する記述が含まれる
会った
会議が開かれた
発生した
集まった
処理した
昨日の会議
未来時制情報
明日
今週
するつもり
可能なときに
期待している
するか
なるだろう
会議および調整情報
集まろう
会えるか
集まるか
調整しよう
集まる必要がある
会おう
会議を開こう
招きたい
訪れる
決定された日付
明示的に日付および時刻を表すために、テキストパターンから示される未来対過去の日付および時刻、または典型的な省略形
５／２に
１２：００に
疑問文
疑問符（？）が付けられた単語、句
個人的な要求の指示：
してくれるか
であるか
するつもりか
お願いしたい
できるか
お聞きしたい
あなたから
必要性の指示：
私が必要としている
彼が必要としている
彼女が必要としている
したいものだ
していただけるとありがたい
私が望んでいる
彼が望んでいる
彼女が望んでいる
処理してほしい
時間クリティカル
間もなく起こる
すぐに
期限になる
期限である
できるだけ早く
間もなく必要である
まもなく実行される
すぐに実行される
間もなく
「日付」までに
「時刻」までに
重要度
重要である
重大である
単語、句＋！
明示的な優先順位フラグステータス（低、なし、高）
メッセージの長さ
新しいメッセージ構成要素内のバイト数
広告および成人向けダイレクト電子メールのしるし
無料！！
単語＋！！！
１８歳未満
アダルト専用
大文字の単語の割合
英数文字以外の割合
【００２８】
上記に示された単語または句のグルーピングが、分類器トレーニングを行うのに使用可能な例示的な単語、グルーピング、または句を示すものであることに留意されたい。他の同様の単語、グループ、または句も同様に使用可能であり、したがって、本発明は示された例に限定されるものではないことを理解されたい。
【００２９】
さらに再度図２を参照すると、矢印２４で表された分類器２０の暗示的トレーニングは、例えばユーザのデスクトップまたはモバイルコンピュータに常駐可能な背景モニタ３４を介して、ユーザの作業または使用パターンをモニターすることによって実行可能である。例えば、ユーザが作業を行い、メールリストが再検討される場合、時間クリティカルメッセージが第一に読まれ、その後優先順位の低いメッセージが閲覧および／または削除されることが想定できる。すなわち、新しい電子メールが提示されたときに、ユーザが即時にその電子メールを開くかどうか、およびどんな順序で電子メールを開かずに削除するかどうか、ならびに／あるいは比較的すぐに電子メールに返信するかどうかがモニターされる。したがって、分類器２０はユーザが作業中またはシステムの動作中にモニターされるように適合され、分類器は、背景でのトレーニングによって定期的に調整され、リアルタイムでの意思決定を向上させるために更新される。分類器を構築するための背景技法は、分類器２０を新しいトレーニングメッセージで更新するものから延在することができる。
【００３０】
あるいは、より大量のメッセージをまとめることが可能であり、毎日のスケジュールごとに、トレーニングセットに入ってくる新しいメッセージの数量ごとに、および／またはそれらの組合せごとに、新しいフィルタがバッチプロセスで作成される。例えば、分類器に入力されるメッセージごとに、分類器向けの新しいケースを作成できる。このケースは、例えば優先順位が高いかまたは低いテキストの否定的な例および肯定的な例として格納される。一例として、緊急性が低い、中程度の、および高い１つまたは複数のクラスを、これらクラスそれぞれのメンバーシップの確率が予想されるクリティカルを構築するのに使用されるように認識することができる。より高い分解能（ｒｅｓｏｌｕｔｉｏｎ）を求めるために、より多数のクリティカルクラスが使用可能である。例えば、図３に示されるように、分類器４２をトレーニングするために、メッセージのトレーニングセット４０（例えば、非常に高い、高い、中程度、普通、低い、非常に低いなど）を初期時に使用することが可能であり、その結果、４４に示されるようにリアルタイムでの分類が達成され、トレーニングセット４０によって分解される例の数に従って新しいメッセージが分類される。図３では、こうした３つのカテゴリが例示目的で示されているが、様々な所望の重要度に従って、複数のこうしたカテゴリのトレーニングが可能であることを理解されたい。図に示されるように、新しいメッセージ４４は、例えば分類器４２によって割り当てられた優先順位に従って、ラベル付け、タグ付け、および／または１つまたは複数のフォルダ４６にソートすることができる。以下でより詳細に説明するように、割り当てられた優先順位は、ユーザに対して／ユーザのために、メッセージのフォーマット、送達、およびモダリティの決定を実行するために、後続のシステムによってさらに使用されることが可能である。
【００３１】
本発明の他の態様によれば、例えばケースまたはメッセージをフォルダセットの１つとしてラベル付けするのではなく、ユーザの電子メールとの対話をモニターすることによって、数または値の推定を達成することができる。したがって分類器は、引き続き更新されるが移動ウィンドウを有することが可能であり、ここではユーザによって指定されたように、ある時期よりも新しいメッセージまたはドキュメントのケースが考慮の対象となる。
【００３２】
例えばメッセージの閲覧の遅延に関連付けられた以下の一定割合の損失が、メッセージの予想クリティカル（ＥＣ）と呼ばれ、
【００３３】
【数３】
0005192624.tif 000002
【００３４】
上式でＣは費用関数、ｄは遅延、Ｅはイベント、Ｈは電子メールのクリティカルクラス、およびＥＣは潜在的クラスの費用関数Ｃによって記述される損失の割合によって重み付けされたクラスの可能性に関する合計として表される。
【００３５】
一例として図３を参照すると、電子メールメッセージなどのテキスト３６は、それに基づいてテキスト３６の優先順位３８を生成する分類器２０に入力される。すなわち、分類器２０は、例えば０〜１００％のパーセンテージとして評価された優先順位３８を生成する。このパーセンテージは、分類器２０の以前のトレーニングに基づいて、テキスト３６の優先順位が高いかまたはその他である可能性の程度とすることができる。
【００３６】
以上本発明について説明してきたように、分類器２０および優先順位３８は、トレーニング段階の電子メールが例えば高い優先順位あるいは低い優先順位のいずれかとして解釈されるスキームに基づくことができる。このスキームは図４を参照して示されており、テキスト分類器２０は、優先順位が高いことが事前に決定されたテキストグループ４７と、優先順位が低いことが事前に決定されたテキストグループ４７によってトレーニングされる。分析されるテキスト３６は分類器２０に入力され、これが例えば、分析されるテキストの優先順位が高いかまたは低い可能性を評価するスカラー数４９を出力する。
【００３７】
例えば図５を参照すると、この図は、テキスト３６が低位、中位、および高位の優先順位に類別されるスキームを示す図である。前述のように、分解能が大きいかまたは高い優先順位区別を提供するために、複数の他のトレーニングセットを使用することができる。テキスト分類器２０は、優先順位が高いテキストグループ４７および優先順位が低いテキストグループ４８によって、ならびに優先順位が中位のテキストグループ５０によってトレーニングされる。したがって、分析されるテキスト３６は分類器２０に入力され、これが、分析されるテキストの優先順位が例えばそのように所望すれば高いか、あるいは中位または低いという可能性を評価できるスカラー数４９を出力する。分類器２０は、テキスト３６が最も分類される可能性のある、低位、中位、または高位の優先順位クラスを示す、クラス５２を出力することも可能である。さらに所望すれば、クラスを追加することも可能である。
【００３８】
本発明は、電子メールメッセージなどのテキストにこうした優先順位を割り当てるために分類器２０によって使用されるときの優先順位の定義に限定されるものではない。優先順位は、例えば関数の損失に関して定義することができる。より具体的に言えば、優先順位は、テキストが受け取られた後で閲覧されるときの遅延時間当たりの損失機会の予想費用に関して定義することができる。すなわち、テキスト処理の遅延の結果が、予想される損失または費用となる。損失関数は、受け取られるテキストのタイプに従って変化する場合がある。
【００３９】
例えば、一般的なケースが図６に示されており、この図はテキストの優先順位に依存する線形費用関数のグラフ５４である。グラフ５４では、時間の経過に従ってテキストを閲覧しなかった費用も増加する。ただし、線５８によって示される優先度が中位のメッセージまたは線６０によって示される優先度が低いメッセージに比べて、線５６によって示される優先順位の高いメッセージほど費用の増加は大きい。例えば、優先順位の高い線５６が勾配１００を有し、優先順位が中位の線５８が勾配１０を有し、優先順位が低い線６０が勾配１を有することができる。これらの勾配値は、分類器２０が例えば回帰分析によって所与のテキストに優先順位を割り当てる場合に使用することができる。
【００４０】
ただし、メッセージの中には、線形費用関数を使用することによって適切に近似された優先順位を持たないものもある。例えば、会議に関するメッセージは、会議が近づくにつれて費用関数が増加し、会議が終わるとすぐに費用関数は減少する。すなわち、会議が終わった後は、一般にユーザができることはそれほどない。この状況は、図７に示されるように、非線形費用関数によってより良く近似される。グラフ６２では、費用関数６４は、線６６によって境界が定められた会議の時間に達するまで急速に増加し、会議の後は急速に減少している。費用関数は、メッセージのタイプに応じて、線形および非線形の両方の、多くの異なる代表的費用関数のうちの１つによって近似することが可能である。
【００４１】
したがってこれまでに説明したように、テキストの優先順位は、分類器の出力に基づいた複数の優先順位のうちの１つである単なる可能性とするか、またはテキストがあてはまり、さらに分類器の出力にも基づいた、最も可能性の高い優先順位クラスとすることができる。あるいは、電子メールメッセージなどのテキストの予想される時間クリティカルを決定することができる。これは次のように表される。
【００４２】
【数４】
0005192624.tif 000003
【００４３】
上式で、ＥＬは予想される損失、ｐ（ｃｒｉｔｉｃａｌi）はテキストがクリティカルｉを有する確率、Ｃ（ｃｒｉｔｉｃａｌi）はクリティカルｉを有するテキストの費用関数、ｎはクリティカルクラスの総数から１を引いたものである。費用関数は、前述のように線形または非線形であってよい。関数が線形の場合、費用関数は時間に伴う一定割合の損失を定義する。関数が非線形の場合、損失の割合はテキストの閲覧または処理の遅延に伴って変化し、遅延の量に応じて増加または減少することができる。
【００４４】
ｎ＝１の場合、優先順位が低および高の２つのクラスしか存在しないとすると、予想損失は以下のように再公式化することができる。
【００４５】
【数５】
0005192624.tif 000004
【００４６】
上式で、ＥＣはテキストの予想クリティカルである。さらに、低クリティカルメッセージの費用関数がゼロに設定された場合、以下のようになる。
【００４７】
【数６】
0005192624.tif 000005
【００４８】
テキストの閲覧時間までの合計損失は、以下のように明示されたクリティカルの積分として表すことができる。
【００４９】
【数７】
0005192624.tif 000006
【００５０】
上式で、ｔはドキュメントを閲覧するまでの時間遅延である。
【００５１】
その他の尺度により、電子メールメッセージなどのドキュメントを重要度によってランク付けするための値測定基準が与えられる。これまでは、時間クリティカルとして優先順位にフォーカスを当てて考察してきたが、他の概念である「重要度」もトレーニングすることができる。例えばこれは、トレーニングフォルダのセットに、「予想重要度」の尺度が決定可能な「重要度高」から「重要度低」までの範囲でラベル付けすることで達成される。他の測定基準は、意味ラベル「旅行中に１日のできごとを確認したいというメッセージ」に基づき、旅行中のユーザに転送するためのメッセージを優先順位付けするための尺度を決定することができる。さらに使用される測定基準の１つが、意思決定、選別、および経路指定のための明確な意味を有する、緊急性または時間クリティカルである。この場合、クラスは様々なレベルの緊急性に従ってラベル付けされ、メッセージがそれぞれのクラスにあると推断される確率から各メッセージの予想緊急性として計算される。
【００５２】
前述のように、本発明に従ってクリティカル分類の拡張機能を提供することができる。例えば分類には、特徴のクラス内またはクラス間で見返りが大きいという特徴を持つ組合せを自動的に検索することを含めることが可能である。一例として、一定のユーザに対して特に有用であることがわかっている単語を備えた特殊な区別、構造などの組合せを検索し、分類プロセスで使用することができる。２つの特徴の組合せはダブレット、３つの特徴の組合せはトリプレットというように呼ばれる。特徴を組み合わせることによって、分類を向上させることができる。
【００５３】
分類は、分類器で移動ウィンドウを使用する増分索引付け（ｉｎｃｒｅｍｅｎｔａｌ  ｉｎｄｅｘｉｎｇ）を使用しても向上させることができる。これによって、古いデータがタイムアウトになり新しいデータが入力されると、分類器を定期的にリフレッシュすることができる。
【００５４】
分類は、メッセージに指定されるイベントの日付および時刻の決定に基づくこともできる。この決定によって、分類器が使用できるメッセージに特徴を割り当てることができる。例えば、割り当てられる特徴には、本日４時間以内に、本日８時間以内に、明日、来週、今月、および来月以降、などが含まれる場合がある。これによって分類器は、分類されるメッセージに関して正確さを向上させることができる。一般に分類は、イベントが未来のことであるか過去のことであるかを考察する、基準となるイベントの時間に基づくことが可能である。したがって分類は、未来のイベントに関して、送信者の基準をイベントが発生する未来の時間とみなす。
【００５５】
他の新しい特徴を分類プロセスに統合させることもできる。例えば、組織図を使用して、図内での送信者の位置によってメッセージの重要性を決定することができる。言語学上の特徴を分類器に組み込むこともできる。異なる言語に対処するために、送信者の起源および／またはメッセージが作成された言語に応じて特徴を修正することができる。分類は、メッセージが格納される様々なフォルダ、ならびに他のスケーリングおよび制御規則に応じて変えることができる。分類は、電子メールおよび他のソースに加えて、インスタントメッセージ、および株式相場表示器などの他の情報ソースに関して実行することができる。
【００５６】
一般に、分類プロセスでは送信者受信者の構造上の関係を考慮の対象とすることができる。例えばユーザがほぼ唯一のメッセージ受信者である場合、このメッセージは、数人に宛てて送られるメッセージよりも重要であるとみなすことができる。数人に宛てて送られたメッセージは、ユーザがブラインドコピー（ｂｃｃ）またはカーボンコピー（ｃｃ）の宛先となっているメッセージよりも重要である場合がある。送信者に関しては、送信者の名前が認識されるかどうかに基づいてクリティカルを割り当てることができる。クリティカルは、送信者が、ユーザが関連している組織の内部者であるか外部者であるかに応じて割り当てることもできる。
【００５７】
分類で考慮の対象となる可能性のある他の区別には、メッセージの長さ、質問が検出されるかどうか、およびユーザの名前がメッセージに含まれているかどうかが含まれる。時間クリティカルに関連付けられた言語が、メッセージの重要度を上げる場合がある。例えば、「間もなく起こる」、「すぐに」、「できるだけ早く」、「ＡＳＡＰ」、および「期限である」などの句が、メッセージをよりクリティカル的なものにすることができる。未来時制と比較した過去時制、ならびに「集まろう」、「会えるか」などの句によって指定される調整タスクの使用も考慮の対象とすることが可能である。ダイレクトメールであるという証拠があれば、メッセージの優先順位を下げることができる。組織図でユーザに最も近い送信者からの短い質問などの組合せを表す述部も、分類プロセスで考慮の対象とすることが可能である。
【００５８】
以下の項では、例えば、ユーザが設定したしきい値または決定理論的な推定によって決定されたしきい値よりも優先順位が高くなる可能性を持ったテキストなど、優先順位の高いテキストであるという警報をユーザに出す時点を決定するプロセスについて説明する。すなわち、時間クリティカルメッセージに関して知る以外に、例えば直接ユーザが着信電子メールを見ない場合、時間クリティカルメッセージの警報をユーザに出すことを決定することも重要である。一般に、時間クリティカルメッセージに関して学習するために対処される現在のタスクからユーザの注意をそらす（ｄｉｓｔｒａｃｔ）費用が決定される。
【００５９】
あるいは、警報および通知に関する様々な方針を使用することができる。これらの方針は、例えば、以下でより詳細に説明する通知プラットフォームアーキテクチャ内で実施することができる。これらの方針の一部には、以下のことが含まれる。
【００６０】
・合計損失に関するユーザ指定の上限を設定する。この方針は、メッセージの閲覧遅延に関連付けられた合計損失が、事前に指定された何らかの「許容」損失「ｘ」を超えた場合、システムが警報を生成するように指定するものである。
【００６１】
・他の方針は、ＮＥＶＡ＝ＥＶＴＡ−ＥＣＡ−ＴＣなどの、より完璧な決定理論的分析に基づく費用便益分析が可能であり、上式でＮＥＶＡは警報の正味予想値、ＥＶＴＡは警報の予想値、ＥＣＡは警報の予想費用、およびＴＣはメッセージの通信に関連付けられた伝送費用である。
【００６２】
一般に、ユーザは、時刻ｔにメッセージを閲覧しないことでユーザが被る予想損失がユーザに警報を出す予想費用を上回ったことが費用便益分析によって示唆されると、警報を受け取ることになる。すなわち、以下の場合に警報が出される。
【００６３】
【数８】
0005192624.tif 000007
【００６４】
上式で、ＥＬは現在時刻ｔでテキストが閲覧されていないことによる予想損失であり、ＥＣは現在時刻ｔでテキストのユーザに警報を出す予想費用である。予想損失は、前の項で説明した通りである。
【００６５】
ただし、ユーザは自分の私的なメッセージは後で閲覧することが多いので、上式が最も正確なものではない場合がある。したがって現実には、ＥＶＴＡと呼ばれる警報の予想値が正の場合にユーザが警報を受け取るのが一般的である。警報の予想値は、ユーザが警報なしで私的なメッセージを後で閲覧する値に対して、テキストのユーザに現時点で警報を出す値から警報費用を差し引いた値とみなすべきである。これは以下のように表すことができる。
【００６６】
【数９】
0005192624.tif 000008
【００６７】
上式で、ＥＬalertは、ユーザが現時点で警報を受けてメッセージを閲覧した場合にメッセージを閲覧する予想損失であり、これに対してＥＬno-alertは、ユーザが警報を受けずに何らかの時点で私的なメッセージを閲覧する予想損失であって、さらに、注意をそらすという考慮すべき点および情報伝送の直接費用に基づいた警報の予想費用であるＥＣを差し引く。
【００６８】
さらに、いくつかのメッセージからの情報を単一の複合警報にまとめることもできる。１つの警報で複数のメッセージに関する情報を閲覧すると、単一のメッセージに関する情報をリレーする警報よりも費用が高くなる場合がある。このような気を散らすことの増加は、警報費用を情報の複雑さの関数にすることによって表すことができる。ある電子メールメッセージのＥＶＡは、他の電子メールメッセージのＥＶＡとは無関係であると想定できる。例えば、ＥＶＡ（Ｍi，ｔ）は時刻ｔで単一メッセージＭiに関してユーザに警報を出す値を表し、ＥＣＡ（ｎ）はｎ個のメッセージの内容をリレーする予想費用を表す。したがって、複数のメッセージは、以下の式で、ｎ個のメッセージのセットに関する情報をリレーする予想値を合計することによるとみなすことができる。
【００６９】
【数１０】
0005192624.tif 000009
【００７０】
警報の予想費用を決定するためには、ユーザが在席しているかどうかに関する情報を推察するかまたは直接アクセスすることが有用であることにも留意されたい。ユーザがオフィスにいることを示す、赤外線センサおよび圧力センサなどのセンサを使用することができる。ただしこうしたデバイスが使用できない場合、ユーザがオフィスにいるという確率は、例えば、最後にマウスまたはキーボードのアクティビティが観察されてからの時間など、コンピュータ上でのユーザのアクティビティに応じて割り当てることができる。さらに、カレンダで使用可能なスケジュール情報を使用して、ユーザの距離および配置に関する情報を推定し、様々なプロセスによってユーザにメッセージを転送する費用を考慮することもできる。
【００７１】
ユーザがどの程度忙しいかを知ることも、時間クリティカルの高いメッセージに関する情報でユーザを中断させることを決定する上で重要である。ユーザがコンピュータで作業中であるかどうかおよびその速度、あるいはユーザが電話中であるか、誰かと話中であるか、または別の場所で会議中であるかに関して推定（例えば推定的意思決定）することができる。図８に示されるように、いくつかのクラスの証拠を使用して、ユーザのアクティビティまたは注意のフォーカスを算定することができる。その後、ユーザのアクティビティに関する推察を行うために、ベイズネットワークを使用することができる。こうしたネットワークの例は図９に示されている。
【００７２】
一般に決定は、メッセージへの警報をユーザに出す時と方法、ならびに予想されるクリティカルおよびユーザアクティビティの推察に基づいたサービスを提供する時と方法に関して行われる。決定は、例えば意思決定モデルを使用して実行することができる。図１０〜１２は、警報を決定するためにこうした意思決定モデルをどのように使用するかを示す影響図である。図１０は、ユーザの中断、現在のアクティビティの考慮、メッセージの予想時間クリティカル、および通信モダリティに応じた警報費用に関する決定の、意思決定モデルを示す図である。図１１には現在の場所を表す変数、ならびにその変数がアクティビティに与える影響および代替メッセージング技法の費用も含まれる。さらに、図１０は、重要なグラフィックコンテンツを備えたメッセージが、グラフィックコンテンツを提示せずにユーザに転送されるときの、忠実度の損失に関連付けられた費用を考慮するように拡張される。
【００７３】
あるいは、警報に関する方針を定義するユーザ指定のしきい値およびパラメータのセットを使用することで、ユーザに警報を出す時と方法に関して決定することができる。ユーザが在席しているかどうかは、例えばマウスまたはキーボードアクティビティに基づいて推察することができる。従ってユーザは、例えばアクティビティの有無で推察された情報に対する警報のしきい値を入力することができる。ユーザは、低いクリティカルで警報が発生することになる、アクティビティの後に続くアイドルアクティビティの量も入力することができる。コンピュータアクティビティがほとんどないことが検出された時間に基づいて、ユーザが対応不可能であると判定された場合、メッセージは格納され、ユーザがコンピュータとの対話を再開したときにクリティカルの順にユーザに報告される。さらにユーザは、予想クリティカル、最大予想損失、およびユーザへの警報値を含む量の関数として、経路指定オプションおよびページングオプションを指定することができる。
【００７４】
通知および／または警報システムは、ユーザが戻ることが予想される時間を推定することもできるため、ユーザが戻ると予想されるより前に、重要であると予想される優先順位を伝送する。これは、ユーザの在席および離席パターンを経時的に学習することによって達成できる。その後ユーザは、警報が出されなくとも優先順位を閲覧するためにシステムに戻ってくることが予想される時間に関して、好適な方針を設定することができる。システムが決定した戻ってくる予想時間は、例えば緊急性の高いメッセージの送信者に自動的に搬送することができる。この方法では、メッセージ送信者は、ユーザがメッセージに返信（ｒｅｐｌｙ）できるように戻ってくると予想される時間のフィードバックを受け取る。さらに送信者は、自分のメッセージがユーザの移動デバイスなどに搬送された旨の通知も受け取ることができる。
【００７５】
図１３は、本発明に従って、優先順位を生成し、優先順位に基づいて警報決定を実行するための方法を示す図である。この方法は、説明をわかりやすくするために一連の動作として示されているが、本発明はこの動作順序に限定されるものではなく、一部の動作は本発明に従って本明細書に記載されたものとは異なる順序で、および／または他の動作と同時に発生する可能性があることを理解されたい。例えば、当業者であれば、方法は、状態図などの一連の相互に関連した状態またはイベントとして別法で表される場合もあることを理解されよう。さらに本発明により、方法の実施には例示されたすべての動作を必要とするものではない。
【００７６】
図１３を参照すると、流れ図７４は、本発明に従って優先順位が生成および使用される方法を示す図である。８０では、優先順位が割り当てられたテキストなどのデータが受け取られる。このデータは電子メールメッセージ、あるいはほぼすべての他のタイプのデータまたはテキストであってよい。８２では、これまでに説明したように、分類器に基づいてデータの優先順位が生成される。さらに８２は、これまでに説明したように、分類器の初期および後続のトレーニングを含むことができる。
【００７７】
次に、データの優先順位が８４で出力される。図１３に示されるように、これには８６、８８、９０、９２、および９４での処理が含まれる。８６では、現時点ｔでデータを閲覧しないことの予想損失が決定される。この決定は、これまでに説明したように、ユーザが警報を受け取らなくともテキストを自分自身で再検討するであろうという想定に基づいて、将来の時点でテキストを閲覧しないことの予想損失を考慮の対象とする。８８では、これまでにも説明したように、警報の予想費用が決定される。９０で損失が費用よりも大きい場合９２の時点ｔでは警報が出されず、新しい現在時点ｔでプロセスは８６に戻る。８６に戻る際に時間が経過していくので、ある時点で予想損失が警報費用を上回る可能性があり、その結果９０での計算が変わることがある。予想損失が警報費用を上回ると、９４でユーザまたは他のシステムへの警報が実行される。
【００７８】
次に、ユーザまたは他のシステムへの警報の出力について説明する。ユーザは、ユーザが優先順位付けされたテキストについての警報を受け取る時点を示す警報基準に基づいて、電子デバイス上で警報を受け取る。ユーザが警報を受け取る電子デバイスは、以下でより詳細に説明するように、ページャ（ｐａｇｅｒ）、セルラー式電話、または他の通信モダリティであってよい。ページャまたはセルラー式電話などの電子デバイス上でのユーザへの警報は、例えばユーザの場所、推察されるタスク、および／または注意のフォーカスに関する情報を感知できるように適合可能な、警報基準に基づくことができる。こうした情報は不確実性の下で推察するか、またはオンライン情報ソースからアクセスすることができる。例えば、オンラインカレンダからの情報は、以下でより詳細に説明する通知シンクなどのデバイスへの情報のリレーに関して決定するために使用する基準を管理するように適合可能である。
【００７９】
警報は、優先順位付けされたテキストまたは他のデータを、経路指定基準に基づいて経路指定することによって実行される。テキストの経路指定は、テキストの転送、および／またはテキストが電子メールである場合にテキスト送信者への返信を含むことができる。例えば、優先順位付けされたドキュメントについてユーザに警報するために、音声を出すことができる。あるいは、エージェントまたは自動アシスタントを開くこともできる（例えば対話式表示ウィザード）。すなわち、優先順位付けされたドキュメントであることをユーザに通知するために、表示画面上にエージェントを表示することができる。さらに、優先順位付けされたドキュメントを開いて、画面上に表示されるようにすることができる。ドキュメントはフォーカスを受け取ることができる。これには、優先順位に基づくドキュメントのサイジングを含むことも可能であり、その結果、ドキュメントの優先順位が高いほど、表示されるウィンドウが大きくなるかまたは／さらに優先順位に基づいてディスプレイの中心にドキュメントが配置される。
【００８０】
次に図１４を参照すると、本発明の一態様により、テキスト生成および優先順位システム１００が示される。システム１００は、プログラム１０２および分類器１０４を含む。プログラム１００および分類器１０２は、コンピュータ読取り可能媒体からコンピュータの処理装置によって実行されるコンピュータプログラムを含むことができることに留意されたい。
【００８１】
プログラム１０２は、分類器１０４に入力するためのテキストを生成する。プログラムは、電子メールを受け取る電子メールプログラムを含み、次にこの電子メールがテキストとしての働きをする。分類器１０４は、関連付けられたメッセージの優先順位を生成する。前述のように、分類器１０４はベイズ分類器、サポートベクトルマシン分類器、または他のタイプの分類器であってよい。次に、分類器１０４によって出力されるテキストの優先順位が、他の出力および／またはそれに基づく警報を引き出すために、前述のように費用便益分析と共に使用される。
【００８２】
次に図１５を参照すると、代替警報システム１０８の図が示されている。図１５のシステム１０８は、警報システム１１０を含む。プログラム１０２および分類器１０４は図１５には示されていない。ただし、警報システム１１０は、後者と動作および／または通信可能なように結合される。システム１１０は、コンピュータ読取り可能媒体からコンピュータの処理装置によって実行されるコンピュータプログラムを含む。警報システム１１０は、例えばインターネット１１２と通信可能なように結合され、例えば警報基準に基づいて優先順位付けされたテキストについての警報をユーザに出すために、それを介して警報システムが電子デバイスに接触するネットワークであってよい。ただし、ネットワークはインターネット１１２に限定されるものではない。したがって警報システムは、ページャ１１４、セルラー式電話１１６、または以下でより詳細に説明するインターネット１１２などのネットワークからの情報を受け取ることができる他の電子デバイスとの接触を介して、優先順位付けされたテキストについてユーザに警報を出すことができる。
【００８３】
次に図１６を参照すると、本発明の他の態様の図が示されている。これには、例えば経路指定システム１２０を含むことができる。経路指定システム１２０は、優先順位付けされたテキストを受け取り、経路指定基準に基づいてテキストの送信者に返信することが可能であり、この場合システム１２０は返信メカニズムである。さらに経路指定基準に基づいて、システム１２０はテキストを例えば異なる電子メールアドレスに転送することが可能であり、この場合システムは転送メカニズムである。前者は、ユーザが不在であることをメッセージの送信者に示したい場合に有用であり、ユーザへの連絡方法に関する連絡先情報を送信者に送ることができる。後者は、ユーザがＷｅｂベースの電子メールアドレスなどの異なる電子メールアドレスへの電子メールアクセスを有し、その結果、ユーザは優先順位の高い電子メールの通知を代替アドレスで引き続き受け取ることを所望する場合に有用である。
【００８４】
図１６に示される警報システム１３０は、優先順位付けされたドキュメントも受け取り、これまでに説明したように、所定の基準（例えば重要性または緊急性のしきい値よりも優先順位が上である）に基づいて、受け取ったテキストの表示および／または音声の提供を実行することができる。システム１３０が受け取った、所定のしきい値よりも上の優先順位を有するドキュメントを、例えば、関連付けられた優先順位ラベルおよび／または前述のような優先順位に適合する表示形式を備えた優先順位リストとして表示することができる。
【００８５】
システム１３０は、他の機能も含むことができる。例えば、優先順位によってフィルタリングする機能の点で、ユーザの電子メール記憶装置上でビューとしての役割を果たす、優先順位指向のビューア（図示せず）を提供することができる。ビューアは、メッセージの要約を、例えば優先順位別にリストに格納することができる。さらにビューアは、ユーザがまだ読んでいないメッセージだけをオプションとしてソートおよび表示できるようにするものでもある。さらにビューアは、ユーザが何らかの時間枠内で優先順位別のメッセージのソートをモニターし、考慮の対象となる範囲または期間を変更できるようにするものでもある。例えばユーザは、ビューアが今日の電子メールのみを表示するように指定することができる。あるいはユーザは、優先順位リストの対象範囲を２日間、１週間、またはインボックス内のすべてのメッセージと指定することができる。ビューアは、ユーザに、ユーザが指定した最低しきい値より下のメッセージをディスプレイから削除させることもできる。
【００８６】
さらに、優先順位の高、中、低に対して質の異なる音を使用すること以外に、警報音を出す方法を定義する１つまたは複数のスカラー（ｓｃａｌａｒ）パラメータを使用することができる。パラメータは、推察される優先順位の関数であってよい。こうしたパラメータには、例えば音の変調または共振を連続的に変化させるための、警報音のボリュームなどの変数が含まれる。
【００８７】
ユーザには、様々な範囲の不確実性の中でしきい値を定義するために他の機能が提供され、ユーザはサイジングの自動化および各領域でのメッセージのセンタリングを含む、複数のオプションを指定することができる。例えば、ユーザが不在中または他のアプリケーション作業で忙しかった間に届いたメッセージの要約をユーザに示すために、「不在中（Ｗｈｉｌｅ  Ａｗａｙ）」のしるしを含めることができる。システムは、ユーザが不在後に戻ってきたとき、またはシステムと静粛（ｑｕｉｅｔ）モードで作業した後にビューアに戻ったときに、優先順位値別に分けられた電子メールの要約を表示するように構成することができる。自動化されたテキスト要約器は、ドキュメントの優先順位に応じてメッセージのテキストの要約レベルを下げるように制御することができる。すなわち、ドキュメントの優先順位が上がるにつれて、要約ビューではあまり短くまとめられなくなる。優先順位を使用して、ディスプレイに表示される電子メールヘッダに色付けしたり、優先順位フラグ、優先順位レベルを示すアイコン、および特別な優先順位フィールドそれ自体などの他の注記を追加したりすることもできる。
【００８８】
さらに、警報が出された後にある時間だけアクティブな一時対話コンテキストを設定するか、またはしきい値を超えて着信したメッセージを要約するために、メッセージに割り当てられる優先順位にユーザ定義のしきい値を使用することができる。警報が出された後で、対話コンテキストがアクティブな時間が持続するため、警報に関連付けられたメッセージに関する詳細へのアクセス権をユーザに与えるための所定のジェスチャが実行可能である。こうしたジェスチャには、例えばマウスを左右に小刻みに揺り動かすだけというものも含まれる。一例として、可聴警報は、何らかのクリティカルしきい値を超えたメッセージが着信したことを示すことができる。その後ユーザは、マウスを左右に小刻みに揺り動かして、警報の原因となったメッセージの詳細を見ることができる。こうした対話コンテキストがアクティブな時間は、メッセージの優先順位に応じて設定するか、またはユーザが定義することができる。
【００８９】
次に図１７に進むと、システム２００は、本発明の一態様に従った、通知アーキテクチャおよび優先順位システムを示すものである。システム２００には、コンテキストアナライザ２２２、通知マネージャ２２４（イベントブローカとも称する）、１つまたは複数の通知ソース１〜Ｎ、２２６、２２７、２２８、通知ソースとして動作可能な優先順位システム２３０、および１つまたは複数の通知シンク１からＭ、２３６、２３７、２３８が含まれ、ＮおよびＭはそれぞれ整数である。ソースを、イベントパブリッシャ（ｐｕｂｌｉｓｈｅｒ）とも称し、シンクをイベントサブスクライバ（ｓｕｂｓｃｒｉｂｅｒ）とも称する。シンクおよびソースはいくつあってもよい。一般に、通知マネージャ２２４は、部分的に、コンテキストアナライザ２２２に格納および／またはコンテキストアナライザ２２２によってアクセスされるパラメータ情報に基づいて、ソース２２６〜２２８からシンク２３６〜２３８へ、イベントまたは警報とも呼ばれる通知を搬送する。
【００９０】
コンテキストアナライザ２２２は、通知意思決定に影響するユーザの変数およびパラメータに関する情報を保管／分析する。例えば、パラメータに、ユーザの通常の位置および注意のフォーカスまたは時刻および曜日ごとのアクティビティなどのコンテキスト情報と、ユーザが異なる場所でアクセスを有する傾向があるデバイスなど、そのようなパラメータによって条件付けられる追加パラメータを含めることができる。そのようなパラメータは、１つまたは複数のセンサを介して自律的に行われる観察の関数とすることもできる。例えば、１つまたは複数のプロファイル（図示せず）を、全世界測位システム（ＧＰＳ）サブシステムによって提供することができるユーザの位置に関する情報、使用されつつあるデバイスのタイプおよび／またはデバイスの使用のパターンに関する情報、および特定のタイプのデバイスがユーザによって最後にアクセスされた時刻に基づいて選択または修正することができる。さらに、下で詳細に説明するように、自動化された推定を使用して、位置および注意などのパラメータまたは状態を動的に推定することもできる。プロファイルパラメータは、ユーザによる編集が可能なユーザプロファイルとして保管することができる。事前に定義されたプロファイルの組または動的推定に頼ることの他に、通知アーキテクチャは、ユーザが、例えばこれから「ｘ」時間の間、または所与の時刻まで、ユーザが重要な通知を除いて応じることができないなど、自分の状態をリアルタイムで指定できるようにする。
【００９１】
パラメータには、異なるタイプの通知によって異なる設定で邪魔されることに関するユーザのプリファレンスに関するデフォルト通知プリファレンスパラメータも含めることができ、これは、通知マネージャ２２４による通知決定の基礎として使用することができ、これに基づいてユーザが変更を開始することができる。パラメータには、ユーザが異なる状況で（例えば、セル電話によって、ポケットベルによってなど）どのように通知を受けたいかに関するデフォルトパラメータを含めることができる。パラメータには、異なる設定で異なるモードによって警告されることに関連する中断のコストの査定などを含めることができる。これには、ユーザが異なる位置にいる尤度、異なるデバイスが使用可能である尤度、および所与の時刻のユーザの注意の状況の尤度を示すコンテキストパラメータ、ならびに、ユーザが所与の時刻にどのように通知されることを望むかを示す通知パラメータを含めることができる。
【００９２】
コンテキストアナライザ２２２によって保管された情報は、本発明の一態様に従って、アナライザによって決定されるコンテキスト情報を含む。コンテキスト情報は、アナライザ２２２によって、この説明の後の節で詳細に説明するように、１つまたは複数のコンテキスト情報ソース（図示せず）に基づいてユーザの位置および注意の状況を識別することによって判定される。コンテキストアナライザ２２２は、例えば、ユーザの自動車電話またはセル電話の一部である全世界測位システム（ＧＰＳ）を介して、ユーザの実際の位置を正確に判定することができる場合がある。アナライザは、曜日、時刻、ユーザのカレンダ内の日付などの情報の考慮およびユーザのアクティビティに関する観察を介して収集されたバックグラウンド査定および／または観察を考慮することによって、ユーザが所与の注意の状態である尤度を判定するために統計モデルも使用することができる。所与の注意の状態には、ユーザが通知を受けることに支障がないか、忙しく、通知を受けることに支障があるかを含めることができ、平日、週末、休日、および／または他の時／期間などの他の考慮事項を含めることができる。
【００９３】
ソース２２６〜２２８、２３０は、ユーザおよび／または他のエンティティに向けられた通知を生成する。例えば、ソース２２６〜２３０に、インターネットおよびネットワークベースの通信、ローカルデスクトップコンピュータベースの通信、および電話通信などの通信、ならびに、インテリジェントヘルプ、バックグラウンド照会、および自動化スケジューリングなどのソフトウェアサービスを含めることができる。通知ソースは、本明細書では、全般的に、情報、サービス、および／またはシステムイベントまたは世界のイベントに関する、ユーザまたはユーザの代理に向けられた、通知またはアラートとも称することができるイベントを生成するものと定義される。通知ソースを、イベントソースと呼ぶこともできる。
【００９４】
例えば、電子メールを、優先順位システム２３０によって通知として生成し、それに優先順位を付けることができ、通知を生成するアプリケーションプログラムまたはシステムが、電子メールに、ユーザにとってのその電子メールのありそうな重要性または緊急性に対応する相対優先順位を割り当てる。電子メールは、ユーザにとっての相対的重要性に無関係に送信することもできる。デスクトップセントリック（ｄｅｓｋｔｏｐ−ｃｅｎｔｒｉｃ）通知には、ユーザが実行を望む潜在的に価値のあるサービス（例えば、メッセージからのスケジューリング）、ユーザが閲覧することを望む情報（例えば、バックグラウンド照会から導出される）、またはデスクトップコンピュータによって生成されたエラーおよび／または他のアラートについてユーザに警告するという最終目標を持った自動化されたダイアログを含めることができる。インターネット関連サービスには、例えば時々の最新ニュースの見出しおよび株式相場などの、ユーザが購読する情報を含む通知を含めることができる。
【００９５】
他の通知には、バックグラウンド照会（例えば、ユーザが作業している間に、ユーザが現在扱っているテキストを閲覧し、そのテキストに関するバックグラウンド照会が、定式化され、検索エンジンに発行される）および、スケジューリングプログラムおよび／または他のプログラムからのタスクのスケジューリングを含めることができる。通知ソース２２６〜２３０自体は、プッシュタイプまたはプルタイプのソースとすることができる。プッシュタイプのソースとは、購読申し込みの後に自動的に情報を送信する、ヘッドラインニュースおよび他のインターネット関連サービスなどの、対応する要求なしで自動的に情報を生成し、送信するソースである。プルタイプのソースとは、メールサーバをポーリングした後に受信される電子メールなど、要求に応答して情報を送信するソースである。他の通知ソースには、下記が含まれる。
【００９６】
・カレンダシステムなどの電子メールデスクトップアプリケーション、
・コンピュータシステム（例えば、システムアクティビティまたはシステムの問題に関する警告に関する情報をメッセージを用いてユーザに警告することができるものなど）、
・インターネット関連のサービス、予約情報、スケジューリング照会、
・１つまたは複数の共有フォルダ内の文書の変更またはある種類の文書の数の変化、
・情報に関する持続的なまたは永続的な照会に応答する新しい文書の可用性、および／または  ・人とその存在、位置の変化、近接（例えば、旅行中に１０マイル以内に別の共働者または友人がいる場合に知らせて欲しいなど」）、または手が空いているかどうか（例えば、Ｓｔｅｖｅが話をする暇があり、フルビデオ会議をサポートできる高速リンクの近くにいる時に知らせて欲しいなど」）に関する情報の情報ソース。
【００９７】
通知シンク２３６〜２３８は、ユーザに通知を提供することができる。例えば、そのような通知シンク２３６〜２３８には、デスクトップおよび／またはラップトップコンピュータなどのコンピュータ、ハンドヘルドコンピュータ、セル電話、陸線電話、ポケットベル、自動車ベースのコンピュータ、ならびに識別できる他のシステム／アプリケーションを含めることができる。シンク２３６〜２３８のいくつかが、他のシンクより豊富に通知を伝えることができることに留意されたい。例えば、デスクトップコンピュータは、通常はスピーカおよび比較的大きいカラーディスプレイを接続され、ローカルネットワークまたはインターネットに結合された時に情報を受信する帯域幅がより広い。したがって、通知は、デスクトップコンピュータによって、比較的豊富な形でユーザに伝えることができる。逆に、多くのセル電話は、例えば、白黒である可能性がある、より小さいディスプレイを有し、比較的狭い帯域幅で情報を受信する。それに対応して、セル電話によって伝えられる通知に関連する情報は、一般に、より短く、例えば電話のインターフェース機能に適応される可能性がある。したがって、通知の内容は、それがセル電話とデスクトップコンピュータのどちらに送信されるかに応じて異なる可能性がある。本発明の一態様によれば、通知シンクが、例えばイベントまたは通知を、イベント購読サービスを介して購読する通知シンクを参照することができる。
【００９８】
通知マネージャ２２４は、コンテキストアナライザによって保管され、かつ／または判定された情報にアクセスし、ソース２２６〜２３０から受け取った通知のどれを、シンク２３６〜２３８のどれに伝えるかを決定する。さらに、通知マネージャ２２４は、シンク２３６〜２３８のどれが情報を送る先として選ばれたかに応じて、通知を伝える方法を決定することができる。例えば、選択されたシンク２３６〜２３８に供給する前に、通知を要約しなければならないと決定することができる。
【００９９】
本発明は、通知のどれを通知シンクのどれに伝えるか、および通知を伝える形に関してマネージャ２２４が決定する方法に制限されない。一態様によれば、決定理論的分析を使用することができる。例えば、通知マネージャ２２４は、ユーザの位置、注意、デバイス可用性、および、アラートがない場合にユーザが情報にアクセスするまでの時間を含む変数に関する重要な不確実性を推定するように適合させることができる。通知マネージャ２２４は、ユーザに通知について警告するかどうかと、そうする場合に、要約の性質および通知を中継するのに使用される適当な１つまたは複数のデバイスに関する通知決定を行うことができる。一般に、通知マネージャ２２４は、通知の正味の期待される価値を判定する。それを行う際に、通知マネージャは、下記を考慮する。
【０１００】
・各使用可能な通知シンクの忠実度および送信信頼性、
・ユーザの気を散らすことの注意的なコスト、
・ユーザにとっての情報の新規性、
・ユーザが自分で情報を閲覧するまでの時間、
・情報の潜在的なコンテキスト応答の価値、および／または  ・通知に含まれる情報の経時的に増えるかつ／または減る価値。
【０１０１】
したがって、不確実性に関して行われる推定を、例えばユーザのある注意の状態に対して、特定のデバイスの特定のモードの使用によるユーザに対する中断のコストなどの価値の期待される尤度として生成することができる。通知マネージャ２２４は、下記の１つまたは複数に関する決定を行うことができる。
【０１０２】
・ユーザが現在注目し、行っているもの（例えば、コンテキスト情報に基づく）、
・ユーザが現在どこにいるか、
・情報がどれほど重要か、
・通知を延期することのコストはどれほどか、
・通知がどのように気を散らすか、
・ユーザに到達する尤度はどれほどか、および、
・所与の通知シンクの特定のモードの使用に関連する忠実度の消失はどれほどか。
【０１０３】
したがって、通知マネージャ２２４は、保留中およびアクティブな通知の、決定理論的分析などの分析を行い、情報シンクおよび情報ソースによって提供されるコンテキスト依存変数を評価し、ユーザが情報を閲覧する可能性が高い時までの時間とユーザの位置および現在の注意の状態などの選択された不確実性を推定することができる。
【０１０４】
本明細書で使用される際に、推定は、一般に、イベントおよび／またはデータを介して取り込まれる観察の組からの、システム２００、環境、および／またはユーザに関する推理またはそれらの状態の推定の処理を指す。推定は、例えば、特定のコンテキストまたはアクションを識別するのに使用することができ、あるいは、状態に関する確率分布を生成することができる。推定は、確率的すなわち、データおよびイベントの検討に基づく当の状態に関する確率分布の計算とすることができる。推定は、イベントおよび／またはデータの組からより高水準のイベントを合成するのに使用される技法を指すこともできる。そのような推定は、観察されたイベントおよび／または保管されたイベントデータの組、イベントが密な時間的近接で相関するか否か、およびイベントおよびデータが１つまたは複数のイベントソースおよびデータソースから来たかどうか、からの新しいイベントまたはアクションの構成をもたらす。
【０１０５】
さらに、通知マネージャ２２４は、パーソナライズされた決定理論的分析の代わりにまたはそれをサポートするために、コンテキストアナライザ２２２によってユーザプロファイルに保管された情報にアクセスすることができる。例えば、ユーザプロファイルによって、所与の時刻に、通知が所定の重要性レベルを有する場合に限って、ユーザが、ポケットベルを介して通知されることを好むことを示すことができる。そのような情報は、決定理論的分析を開始する基準線として使用することができ、あるいは、通知マネージャ２２４が、ユーザに通知するかどうかとその方法を決定する形とすることができる。
【０１０６】
本発明の一態様によれば、通知プラットフォームアーキテクチャ２００は、イベンティング（ｅｖｅｎｔｉｎｇ）インフラストラクチャまたはメッセージングインフラストラクチャの上に常駐する層として構成することができる。しかし、本発明は、特定のイベンティングインフラストラクチャに制限されない。そのようなイベンティングおよびメッセージングのシステムおよびプロトコルには、下記を含めることができる。
【０１０７】
・ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ（ＨＴＴＰ）または当技術分野で既知のＨＴＴＰ拡張、
・当技術分野で既知のＳｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ（ＳＯＡＰ）、
・当技術分野で既知のＷｉｎｄｏｗｓ（登録商標）  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｓｔｒｕｍｅｎｔａｔｉｏｎ（ＷＭＩ）、
・当技術分野で既知のＪｉｎｉ、および、
・例えばパケット交換プロトコルに基づくものなどの、実質的にすべてのタイプの通信プロトコル。
【０１０８】
さらに、このアーキテクチャは、当業者が諒解できるように、柔軟な分散計算インフラストラクチャの上に常駐する層として構成することができる。したがって、通知プラットフォームアーキテクチャは、例えば、ソースが通知、アラート、およびイベントを送信する形として、また、シンクが通知、アラート、およびイベントを受信する形として、基礎となるインフラストラクチャを使用することができる。しかし、本発明は、これに制限されない。
【０１０９】
図１８を参照して、この説明の前の節で説明した通知アーキテクチャのコンテキストアナライザ２２２を、詳細に説明する。図１８に示されたコンテキストアナライザ２２２には、ユーザ通知プリファレンスストア２５２、ユーザコンテキストプロファイルストア２５５を含むユーザコンテキストモジュール２５４、およびホワイトボード２５７が含まれる。本発明の一態様によるコンテキストアナライザ２２２は、コンピュータのプロセッサによって、メモリなどの計算機可読媒体から実行される１つまたは複数のコンピュータプログラムとして実施することができる。
【０１１０】
プリファレンスストア２５２には、ユーザが編集でき修正できるユーザプロファイルなどの、ユーザのデフォルト通知プリファレンスなどの、ユーザに関する通知パラメータが保管される。プリファレンスストア２５２は、ユーザに通知する方法に影響するパラメータに関する情報が保管されるストアとみなすことができる。ユーザコンテキストモジュール２５４は、例えば、ホワイトボード２５７に発行される１つまたは複数のコンテキスト情報ソース２６０に基づいて、ユーザの現在のコンテキストを判定する。ユーザコンテキストプロファイルストア２５５には、ユーザが編集でき修正できる、ユーザに関するデフォルトコンテキスト設定などの、ユーザに関するコンテキストパラメータが保管される。すなわち、ユーザコンテキストモジュール２５４は、プロファイルストア２５５からの情報にアクセスし、かつ／または、１つまたは複数のコンテキスト情報ソース２６０を介する生のセンシングを用いてプロファイルストア２５５内の確信の前の組を更新することによって、ユーザの現在のコンテキスト情報に関する最適の推測または推定を提供する。プロファイルストア２５５は、例えば、先験的なユーザの位置およびユーザが行っていることが保管されるストアとみなすことができる。
【０１１１】
ユーザコンテキストプロファイルストア２５５は、決定的プロファイルまたは確率的プロファイルとして情報を取り込む、事前に査定され、かつ／または事前に定義されたユーザプロファイルとすることができる。プロファイルは、通常の位置と、アクティビティと、デバイス可用性と、時刻、日の種類、１つまたは他のデバイスとのユーザ対話などの観察の関数としての通知の異なるクラスのコストおよび値とすることができる。日の種類には、例えば、平日、週末、および休日を含めることができる。ユーザコンテキストモジュール２５４は、ユーザの現在のまたは将来の位置および注意の状態など、ユーザのコンテキストまたは状態の諸態様を能動的に判定または推定することができる。さらに、コンテキストの実際の状態は、ホワイトボード２５７を介してコンテキスト情報ソース２６０から直接にアクセスすることができ、かつ／または、下で詳細に説明するベイズ推定などの推定方法を介して、様々なそのような観察から推定することができる。
【０１１２】
コンテキスト情報ソース２６０は、ユーザの注意の状態および位置に関して、ホワイトボード２５７を介してコンテキストモジュール２５４に情報を供給し、その情報から、モジュール２５４が、ユーザの現在のコンテキスト（例えば、ユーザの現在の注意の状態および位置）に関する判断を行うことができる。さらに、本発明は、特定の数またはタイプのコンテキストソース２６０にも、ユーザコンテキストモジュール２５４によって推定またはアクセスされる情報のタイプにも制限されない。しかし、コンテキストソース２６０に、例えば、マウス情報、キーボード情報、アプリケーション情報（例えば、アプリケーションが現在ユーザのフォーカスを受け取っているかどうか）、周囲の音声および発声情報、デスクトップ上のウィンドウ内のテキスト情報など、複数のデスクトップ情報およびイベントを含めることができる。ホワイトボード２５７に、共通のストレージエリアを含めることができ、このストレージに、コンテキスト情報ソース２６０が、情報を公開し、このストレージから、ソースおよびコンテキストモジュール２５４を含む複数のコンポーネントが、この情報にアクセスすることができる。通知またはアラートとも称するイベントには、一般に、世界の１つまたは複数の状態に関する観察に関する情報を含めることができる。そのような状態には、システムコンポーネントの状況、ユーザのアクティビティ、および／または環境に関する測定値を含めることができる。さらに、イベントは、測定デバイスおよび／またはイベントのソースの能動的ポーリングによって、変更時に送信される情報の受信によって、および／または一定または可変のイベントハートビートごとに、生成することができる。
【０１１３】
他のタイプのコンテキストソース２６０には、ユーザの個人情報管理プログラム（ＰＩＭ）情報が含まれ、この情報は、一般に、例えば、ユーザのスケジュールに関するスケジューリング情報を提供することができる。例えば、全世界測位システム（ＧＰＳ）および／または、位置を判定できる、ユーザのセル電話、ＰＤＡ、またはラップトップによって判定されるユーザの位置ならびに現在時刻も、コンテキストソース２６０のタイプである。さらに、リアルタイムモバイルデバイス使用が、コンテキストソース２６０のタイプである。例えば、セル電話などのモバイルデバイスは、ユーザによって現在アクセスされつつあるかどうか、ならびにデバイスの方位および傾斜（例えば、デバイス使用に関する情報をも示す）と、加速度および速度（例えば、ユーザが移動中であるか否かを示す）を判定することができる可能性がある。
【０１１４】
図１９を参照すると、上で説明した通知ソースが詳細に示されている。通知ソース２２６〜２２８、２３０は、通常は、通知マネージャ２４に伝えられる通知を生成し、通知マネージャ２２４は、いつ通知を行わなければならないかと、そうである場合に、どの通知を通知シンク２３６〜２３８のどれにどの順番で伝えなければならないかを判定する。
【０１１５】
本発明の一態様によれば、通知ソース２２６〜２２８は、本明細書で通知ソーススキーマまたはソーススキーマと称する、属性および関係の標準記述内で、下記のパラメータの１つまたは複数を有することができる。スキーマを、上で説明したソース、シンク、およびコンテキスト情報ソースについて設けることができることに留意されたい。そのようなスキーマは、異なるコンポーネントに関する宣言情報を提供し、ソース２２６〜２２８、２３０、通知マネージャ２２４、シンク２３６〜２３８、およびコンテキストアナライザ２２２が互いにセマンティック情報を共有できるようにすることができる。したがって、異なるスキーマによって、通知に関する性質、緊急性、およびデバイスシグナリングモーダリティに関する情報が提供される。すなわち、スキーマは、一般に、クラスおよびクラス間の関係の集合として定義することができ、これによって、例えば、イベントまたは通知クラスに関する情報、ソース、ターゲット、イベントまたは通知のセマンティクス、存在論的コンテキスト情報、観察信頼性、および実質的にすべてのサービス品質属性を含む、通知およびイベントの構造が定義される。
【０１１６】
通知ソーススキーマのパラメータ（図示せず）には、メッセージクラス、関連、重要性、時間クリティカル、新規性、内容属性、忠実度トレードオフ、および／またはソース情報要約情報のうちの１つまたは複数を含めることができる。通知ソースによって生成される通知のメッセージクラスは、例えば、電子メール、インスタントメッセージ、数値的財務更新、およびデスクトップサービスなど、通知の通信のタイプを示す。通知ソースによって生成される通知の関連は、その通知に含まれる情報が、１つまたは複数の指定されたコンテキストに関して関連する尤度を示す。例えば、関連は、ソースが所与のコンテキストに関連するか否かを示す論理フラグによって提供することができる。通知の新規性は、ユーザが既にその通知に含まれる情報を知っている尤度を示す。すなわち、新規性は、その情報が、ユーザにとって経時的に新しいかどうかである（ユーザが今その情報を知っているかどうかを示し、それについて警告されずにユーザが将来にその情報を知る場合に、それがいつであるかを示す）。
【０１１７】
通知に関連する忠実度トレードオフは、例えば指定された許容される切捨および／または要約の異なる形態から生じる可能性がある、通知内の情報の価値の消失を示す。そのような切捨および／または要約は、最初に生成された完全な通知をシンクが受信できなくする帯域幅および／または他の制限を有する、あるタイプの通知シンク２３６〜２３８に通知を伝えるために必要になる可能性がある。忠実度は、一般に、通知に関連する元の内容の完全さの性質および／または度合を指す。例えば、長い電子メールメッセージは、セル電話によって許容される１００文字の最大値までに切り捨てられるか他の形で要約され、忠実度の消失をこうむる可能性がある。同様に、テキストとグラフィックスの内容を含む元のメッセージが、テキスト機能だけを有するデバイスを介して送信される時に、忠実度の消失をこうむる。さらに、あるデバイスが、ソースから入手可能な完全な解像度の一部を示すことしかできない場合がある。忠実度トレードオフは、順序付け（例えば、まずグラフィックス、次にサウンドの順でのレンダリングの重要性）および／または通知の内容の総合的価値が忠実度の変化に伴ってどのように減少するかを示すコスト関数のいずれかに関して示される、ソースの忠実度プリファレンスの組を指す。例えば、忠実度トレードオフによって、完全な電子メールメッセージの送信に関連するすべての価値が、切捨の量の増加に伴ってどのように変化するかを記述することができる。例えば、コンテキスト属性に、コアメッセージにテキスト、グラフィックス、およびオーディオのコンポーネントが含まれるかどうかなどの情報を表す、内容の性質の要約を含めることができる。内容自体は、通知のメッセージ内容を構成する、実際のグラフィックス、テキスト、および／またはオーディオである。
【０１１８】
通知の重要性は、情報が現在のコンテキストに関連すると仮定して、通知に含まれる情報の、ユーザにとっての価値を指す。例えば、重要性は、ユーザにとっての情報の価値の金額として表すことができる。時間クリティカルは、通知に含まれる情報の価値の時間依存の変化すなわち、情報の価値が経時的にどのように変化するかを示す。すべてではないがほとんどの場合に、通知の情報の価値は、時間に伴って減少する。これを、図２０に示す。グラフ２８０に、経時的にマッピングされた通知の有用性が示されている。開始時を表すグラフ内の点２８４で、通知の重要性が示されており、曲線２８６は、経時的な有用性の減少を示す。
【０１１９】
図１９に戻って、異なる通知ソースまたはソースタイプのデフォルト属性およびスキーマテンプレートを、図１８のストア２５２などのユーザ通知プリファレンスストアに保管された通知ソースプロファイル内で使用可能にすることができる。そのようなデフォルトテンプレートに、通知ソースによって供給される値をオーバーライドするか、ソースによって供給されるスキーマにない時に属性を供給するように指示することができる。ソース要約情報によって、ソースが、情報の状況の全般的な要約およびソースから入手可能な潜在的な通知をポストできるようになる。例えば、メッセージングソースからのソース要約情報に、少なくともある優先順位である未読メッセージの総数に関する情報、ユーザと通信しようとする人による試みの状況、および／または他の要約情報を含めることができる。
【０１２０】
通知シンク２３６〜２３８は、それによってユーザまたは他のエンティティが通知に含まれる情報について通知を受けることができる、実質的にすべてのデバイスまたはアプリケーションとすることができる。特定の通知を伝えるのにどのシンクを使用するかに関する選択は、通知マネージャ２２４によって決定される。
【０１２１】
通知シンク２３６〜２３８は、スキーマ内で供給される下記のパラメータのうちの１つまたは複数を有することができる。このパラメータには、デバイスクラス、シグナリング（警告）のモード、および、関連するモードについて、例えば、忠実度／レンダリング機能、送信信頼性、通信の実際のコスト、および／または中断の注意的コストを含めることができる。警告属性のパラメータ化された制御に適合されたデバイスについて、そのデバイスのスキーマに、さらに、警告属性およびその属性を制御するパラメタの記述、他の属性（例えば送信信頼性、配布のコストなど）を警告属性の異なる設定を用いて変更する機能を含めることができる。通知シンクのスキーマは、通知デバイスがその性質および機能に関するセマンティック情報を通知マネージャ２２４および／またはシステムの他のコンポーネントと通信する形を提供する。異なるデバイスタイプのデフォルトの属性およびスキーマテンプレートは、前の節で説明した図１８のストア２５２などのユーザ通知プリファレンスストアに保管されたデバイスプロファイル内で使用可能にすることができる。そのようなデフォルトテンプレートに、デバイスによって供給される値をオーバーライドするか、そのようなデバイスによって提供されるスキーマにない時に属性を供給するように指示することができる。
【０１２２】
スキーマパラメータのそれぞれを、これから順番に説明する。デバイスのクラスは、例えばセル電話、デスクトップコンピュータ、およびラップトップコンピュータなどのデバイスのタイプを指す。クラスは、モバイルデバイスまたは文房具デバイスなどのより一般的なものとすることもできる。シグナリングのモードは、所与のデバイスが通知についてユーザに警告できる形を指す。デバイスは、１つまたは複数の通知モードを有することができる。例えば、セル電話は、振動だけ、ある音量の呼び出し音だけ、および／または振動と呼び出し音の両方を与えることができる。さらに、警告システムのデスクトップディスプレイは、複数の別個のモードに分解することができる（例えば、ディスプレイの右上角の小さい通知ウィンドウ対画面最上部の小さいサムネール、音声告知ありまたはなし）。事前に定義された挙動の組に制限される以外に、デバイスは、デバイス定義の一部としてのパラメータの関数である警告属性を有するモードをイネーブルすることができる。モードに関するそのような継続的な警告パラメータは、例えば、デスクトップでアラートを再生するボリューム、セル電話での呼び出し音、警告ウィンドウのサイズなどのコントロールを表す。
【０１２３】
通知シンク２３６〜２３８のモードの送信信頼性は、ユーザが、そのモードのシンクを介してユーザに伝えられる通知に関する通信されたアラートを受信する尤度を示す。送信信頼性は、デバイス可用性およびユーザのコンテキストに依存する可能性があり、あるデバイスの異なるモードの送信信頼性は、ユーザの位置および注意などのコンテキスト属性によって条件付けすることができる。一意の位置および一意の注意の状態などの属性のクロス乗積として定義され、そのような属性（例えば、自宅以外のすべての位置について、午前８時から正午までのすべての時刻など）の抽象として作成される離接として定義される、１つまたは複数の一意のコンテキスト状態に関する送信信頼性を指定することもできる。例えば、ユーザが現在どこにいるかに応じて、セル電話に送信される情報が、特にユーザが間欠性のカバレッジを有する領域内にいる場合またはユーザがこの位置でセル電話を有する傾向がない時（例えば家族の休日）に、必ずしもユーザに到達しない可能性がある。また、コンテキストは、環境ノイズおよび／またはコンテキストの他のマスキング特性または気を散らす特性に起因して、送信信頼性に影響する可能性がある。
【０１２４】
通信の実際のコストは、シンクに伝えられる通知内に含まれる時の、ユーザへの情報の通信の実際のコストを示す。例えば、このコストに、セル電話送信に関連する料金を含めることができる。中断のコストには、特定のコンテキストで、デバイスの特定のモードによって使用されるアラートに関連する中断に関連する注意のコストが含まれる。注意のコストは、通常は、ユーザの特定の注意のフォーカスに敏感である。忠実度／レンダリング機能は、やはりあるモードでの、デバイスのテキスト、グラフィックス、およびオーディオ／触覚機能の記述である。例えば、セル電話のテキスト限界は、単一のメッセージについて１００文字とすることができ、電話は、グラフィックス機能を有しない場合がある。
【０１２５】
図２１に移ると、インターフェース２９０に、ユーザの現在のコンテキストを判定する際にコンテキストアナライザ２２２が使用することができる、ユーザによって選択可能なコンテキスト指定が示されている。ユーザによる直接指定および／またはユーザが修正可能なプロファイルによるユーザコンテキストの決定を説明する。ユーザのコンテキストには、ユーザの注意のフォーカスすなわち、ユーザが現在通知アラートの受信に敏感に反応するかどうか、ならびにユーザの現在の位置を含めることができる。しかし、本発明は、これに制限されない。
【０１２６】
ユーザによるコンテキストの直接指定によって、ユーザが、自分がアラートを受け取る暇があるかどうかと、アラートの受け取りを望むかどうかを示すことができるようになる。デフォルトプロファイル（図示せず）を使用して、デフォルトの注意の状態およびユーザがアラートを受け取ることができるデフォルトの位置を示すことができる。デフォルトプロファイルは、ユーザが望み通りに修正することができる。
【０１２７】
図２１を参照すると、インターフェース２９０に、本発明の一態様に従って、コンテキストの直接指定をどのように実施することができるかが示されている。例えば、ウィンドウ２９１が、注意のフォーカスセクション２９２および位置セクション２９４を有する。フォーカスセクション２９２では、ユーザが、１つまたは複数のチェックボックス２９６にチェックマークを付けることができ、例えば、ユーザが常時アラートを受け取る暇があるかどうか（ａｌｗａｙｓ  ａｖａｉｌａｂｌｅ）、ユーザがアラートを受け取る暇が絶対にないかどうか（ｎｅｖｅｒ  ａｖａｉｌａｂｌｅ）、および、ユーザが、所定の閾値を超える重要性レベルを有するアラートだけを受け取る暇があるかどうか（ａｖａｉｌａｂｌｅ  ｔｏ  ｒｅｃｅｉｖｅ  ａｌｅｒｔｓ  ｔｈａｔ  ｈａｓ  ａｎ  ｉｍｐｏｒｔａｎｃｅ  ｌｅｖｅｌ  ｇｒｅａｔｅｒ  ｔｈａｎ）を示すことができる。他のアベイラビリティセクションを設けることができることを諒解されたい。図２１からわかるように、閾値をドル単位で測定することができるが、これは例示のみを目的とし、本発明はこれに制限されない。ユーザは、ボックス２９８の閾値を、新しい値を直接に入力することによって、または矢印３００を介して閾値を増減することによって、増やすことができる。
【０１２８】
位置セクション２９４では、ユーザが、１つまたは複数のチェックボックス３０２にチェックマークを付けて、アラートが伝えられることをユーザが望む場所を指定することができる。例えば、ユーザは、デスクトップに、電子メールによって、ラップトップに、セル電話に、自動車の中に、ポケットベルに、または携帯情報端末（ＰＤＡ）デバイスに、などにアラートを伝えさせることができる。しかし、これが例示のみであり、本発明自体はこれに制限されないことを諒解されたい。
【０１２９】
ウィンドウ２９１は、セクション２９２のチェックボックス２９６およびボックス２９８とセクション２９４のチェックボックス３０２についてデフォルトを事前にセットすることができ、デフォルトユーザプロファイルとみなすことができる。プロファイルは、ユーザがデフォルト選択を自分の望みの選択にオーバーライドできるという点で、ユーザ修正可能である。他のタイプのプロファイルも、本発明に従って使用することができる。
【０１３０】
図２２を参照すると、本発明による、例えば１つまたは複数のセンサを使用する、直接測定によるユーザコンテキストの判定が示されている。ユーザのコンテキストには、ユーザの注意のフォーカスならびにユーザの現在位置を含めることができる。しかし、本発明自体は、これに制限されない。コンテキストの直接測定は、センサを使用して、ユーザが現在アラートの受信に敏感に反応するかどうかを検出でき、ユーザが現在どこにいるかを検出できることを示す。本発明の一態様によれば、推定分析を、直接測定と共に使用して、この説明の後の節で説明するように、ユーザコンテキストを判定することができる。
【０１３１】
図２２を参照すると、ユーザコンテキストの直接測定を達成できるシステム３１０が示されている。システム３１０には、コンテキストアナライザ３１２が含まれ、システム３１０は、例えば、複数のセンサ３１４〜３２０すなわち、セル電話３１４、ビデオカメラ３１５、マイクロホン３１６、キーボード３１７、ＰＤＡ３１８、乗物３１９、およびＧＰＳ３２０に、通信的に結合される。図２２に示されたセンサ３１４〜３２０は、例示のみを目的とし、本発明自体に対する制限または制約を表すものではない。用語センサは、本明細書では、全般的かつ過度に包含的な用語であり、それによってコンテキストアナライザ３１２がユーザの現在の注意のフォーカスが何であるかおよび／またはユーザの現在位置がどこであるかを判定できるすべての装置または手段を意味する。
【０１３２】
例えば、ユーザがセル電話３１４の電源を入れている場合に、これは、ユーザがセル電話３１４でアラートを受信できることを示す。しかし、ユーザが、現在セル電話３１４で通話中である場合には、これは、ユーザが自分の注意のフォーカスを別の何か（すなわち、現在の通話）に向け、ユーザが、現在は通知アラートで邪魔されてはならないことを示す。ビデオカメラ３１５は、例えば、ユーザのオフィスにあって、ユーザが自分のオフィスにいるかどうか（すなわちユーザの位置）を検出でき、他の人もそのオフィスにおり、彼らと会議していることが示され、ユーザを邪魔してはならない（すなわちユーザのフォーカス）かどうかを検出することができる。同様に、マイクロホン３１６も、ユーザのオフィスにあって、ユーザが誰かと話しており、ユーザを邪魔してはならないかどうか、または、ユーザがキーボードで入力中（例えば、それから発する音を介して）であり、やはり現在はユーザを邪魔してはならないかどうかを検出することができる。キーボード３１７も、ユーザが現在それによって入力中であるかどうかを判定するのに使用することができ、例えば、ユーザが非常に早く打鍵している場合に、これによって、ユーザがコンピュータ関連のアクティビティにフォーカスを合わせており、過度に邪魔してはならないことを示すことができる（および、ユーザが実際に自分のオフィスにいることを示すこともできる）。
【０１３３】
ＰＤＡデバイス３１８がユーザによってアクセスされつつある場合には、これによって、ユーザデバイス３１８でアラートを受信できることを示すことができる。すなわち、通知を伝えなければならない場所は、デバイス３１８がある場所である。デバイス３１８は、ユーザの現在の注意のフォーカスを判定するのにも使用することができる。乗物３１９は、ユーザが現在その乗物の中にいるかどうか、すなわち、乗物が現在ユーザによって操作されているかどうかを判定するのに使用することができる。さらに、例えば、乗物の速度を検討して、ユーザのフォーカスが何であるかを判定することができる。例えば、速度が所定の速度を超える場合に、ユーザが運転にフォーカスを合わせており、通知アラートによって悩まされてはならないと判定することができる。ＧＰＳデバイス３２０も、当技術分野で既知のように、ユーザの現在位置を確認するのに使用することができる。
【０１３４】
この詳細な説明の以下の節では、ユーザ修正可能なルールによるユーザコンテキストの判定を説明する。ユーザのコンテキストには、ユーザの注意のフォーカスならびにユーザの現在位置を含めることができる。しかし、本発明は、これに制限されない。ルールを介するコンテキストの判定によって、ｉｆ−ｔｈｅｎルールの階層セットに従って、ユーザの位置および／または注意のフォーカスを判定できることが示される。
【０１３５】
図２３を参照すると、図に、例示的なルールの階層順序付きセット３３０が示されている。ルールのセット３３０では、例えば、ルール３３２、３３３、３３４、３３５、３３６、３３７、および３３８が示される。他のルールを、同様に構成できることに留意されたい。図２３からわかるように、ルール３３３および３３４は、３３２に従属し、ルール３３４は、ルール３３３に従属し、ルール３３８は、ルール３３８に従属する。ルールは、ルール３３２が最初にテストされ、真であることがわかった場合に、ルール３３３がテストされ、ルール３３３が真であることがわかった場合に、ルール３３４がテストされ、以下同様になるように順序付けられる。ルール３３３が偽であることがわかった場合には、ルール３３５をテストする。ルール３３２が偽であることがわかった場合には、ルール３３６をテストし、これが偽であることがわかった場合には、ルール３３７がテストされ、これが真であることがわかった場合には、ルール１３８がテストされる。ルールは、ユーザが作成可能および／または修正可能であることが望ましい。ｏｔｈｅｒｗｉｓｅタイプのルールも、ルールのセット３３０に含めることができる（例えば、あるｉｆ−ｔｈｅｎルールが偽であることがわかった場合に、ｏｔｈｅｒｗｉｓｅルールが制御ルールになる）。
【０１３６】
したがって、ユーザのコンテキストが判定されるように、ルールのセットをユーザが構成することができる。例えば、位置に関して、ルールのセットを、第１のルールで現在の日が平日であるかどうかをテストするものとすることができる。そうである場合には、第１のルールに従属する第２のルールで、現在の時刻が午前９時と午後５時の間であるかどうかをテストする。そうである場合には、第２のルールから、ユーザが自分のオフィスに位置することが示され、そうでない場合には、ユーザが自宅にいる。第１のルールが偽であるとわかった（現在の日が週末であって平日でない）場合には、ｏｔｈｅｒｗｉｓｅルールで、ユーザが自宅にいることを示すことができる。この例は、本発明自体に対する限定的または制限的な例であることを意図されたものではなく、１つまたは複数の他のルールを同様に構成することもできることに留意されたい。
【０１３７】
この説明の以下の節では、統計モデルおよび／またはベイズモデルを使用することによるなど、推定分析によるユーザコンテキストの判定を説明する。推定分析を介するコンテキスト判定が、いくつかの態様で、既に述べたセンサを介する直接測定などの他の判定に頼ることができることに留意されたい。本明細書で使用される推定分析は、複数の入力変数に対して推定処理を使用して、出力変数すなわちユーザの現在のコンテキストをもたらすことを指す。分析には、一態様で、統計モデルおよび／またはベイズモデルの使用を含めることができる。
【０１３８】
図２４を参照すると、本発明の一態様による、推定エンジン３４２によって推定分析を実行して、ユーザのコンテキスト３４４を判定するシステム３４０の図が示されている。エンジン３４２は、一態様では、メモリなどのコンピュータ可読媒体からコンピュータのプロセッサによって実行されるコンピュータプログラムである。ユーザコンテキスト３４４は、エンジン３４２の出力変数とみなすことができる。
【０１３９】
エンジン３４２は、１つまたは複数の入力変数を処理して、コンテキスト決定を行うことができる。そのような入力変数には、例えば、この説明の前の節でコンテキスト判定の直接測定手法に関して説明したセンサなどの１つまたは複数のセンサ３４８、ならびに、ユーザのスケジューリングコンピュータプログラムまたは個人情報管理プログラム（ＰＩＭ）コンピュータプログラム、および／またはユーザのＰＤＡデバイスでアクセスすることができる、クロック３５０およびカレンダ３５２によって表される現在の時刻および日付を含めることができる。他の入力変数も、図２４に示されたものの他に、検討することができる。図２４の変数は、本発明自体に対する制限または制約になることを意図されたものではない。
【０１４０】
図２５および２６を参照すると、本発明による、上で説明した推定エンジンによって実行することができる統計モデルおよび／またはベイズモデルによって提供されるものなどの例示的推定モデルが示されている。一般に、コンピュータシステムは、ユーザの状態の詳細に関して多少不確実になる可能性がある。したがって、ユーザの注意または他の状態に関する推定を不確実性の下で行うことができる確率モデルを構成することができる。ベイズモデルは、ユーザの注意のフォーカスの確率分布を推定することができる。そのような注意の状態は、プロトタイプ的状況のセットまたは、ユーザによって対処される認識の課題の別個のクラスのセットのより抽象的な表現として定式化することができる。その代わりに、注意のフォーカスの連続的測定に関する推定を行うモデル、および／または、異なるタイプの通知に関する中断のコストの確率分布を直接に推定するモデルを、定式化することができる。
【０１４１】
ユーザのアクティビティおよび位置に関する観察のセットに基づいて代替アクティビティコンテキストまたは状態の確率を推定することができるベイズネットワークを、使用することができる。一例として、図２５に、単一の時間期間に関するユーザの注意のフォーカスを推定するベイズネットワーク３５４を示す。変数である注意のフォーカス３５６の状態は、デスクトップコンテキストおよび非デスクトップコンテキストを指す。このモデルで検討される例示的な注意のコンテキストには、例えば、状況の意識、理解、特定でないバックグラウンドタスク、フォーカスを合わされた内容の生成または閲覧、軽い内容の生成または再検討、文書のブラウジング、オフィスでの会議、オフィス以外での会議、プレゼンテーションを聞くこと、プライベートな時間、家族との時間、個人的フォーカス、くつろいだ会話および旅行が含まれる。ベイズネットワーク３５４は、ユーザの現在の注意および位置が、ユーザのスケジューリングされた面会３５８、時刻３６０、および締切期限の近接３６２によって影響されることを示す。ユーザの注意の確率分布は、例えばユーザのオフィスでモニターされる環境音響信号３６４の状況の要約による影響も受ける。環境音響信号１６４の経時的なセグメントが、アクティビティおよび会話の存在に関する手がかり／入力を提供する。ソフトウェアアプリケーションの状況および構成と、コンピュータと対話するユーザによって生成されたユーザアクティビティの進行中のストリームも、ユーザの注意に関する証拠のソースを提供する。
【０１４２】
ネットワーク３５４に示されているように、オペレーティングシステムまたは他の環境で現在最上位のフォーカスにあるソフトウェアアプリケーション３６６が、ユーザのフォーカスおよびタスクの性質に影響し、ユーザの注意の状況およびフォーカスがあるアプリケーションが、一緒に、コンピュータセントリックアクティビティに影響する。そのようなアクティビティには、マウスアクションおよびキーボードアクションのシーケンスから作成されるユーザアクティビティのストリームと、より広い時間範囲にわたるアプリケーション使用の高水準パターンが含まれる。そのようなパターンには、電子メールセントリックおよびワードプロセッサセントリックが含まれ、そのようなパターンは、複数のアプリケーションがインターリーブされる形に伴うアクティビティのプロトタイプ的クラスを指す。
【０１４３】
図２６に、異なる時間の期間でのコンテキスト変数の間のユーザの注意のフォーカスのベイズモデル３６８を示す。マルコフ時間依存性のセットが、モデル３６８によって示されており、この図では、コンテキスト変数の過去の状態が、ユーザの状態の現在の判定で考慮される。リアルタイムで、そのようなベイズモデル３６８によって、例えば、オンラインカレンダによって供給される情報と、イベント感知システム（図示せず）によって報告される部屋の音響およびユーザアクティビティに関する観察のストリームを検討し、ユーザの注意の確率分布に関する推定結果を提供し続ける。
【０１４４】
図２７、および２８に、本発明によるコンテキストアナライザおよび通知マネージャなどの通知アーキテクチャの諸部分を提供する方法を示す。説明を単純にするために、方法を、一連の行為として図示し、説明するが、本発明に従って、一部の行為を、図示され本明細書で説明されるものと異なる順序でおよび／または他の行為と同時に行うことができるので、本発明が、行為の順序によって制限されないことを理解し、諒解されたい。例えば、当業者は、方法を、その代わりに、状態図など、相互に関連する一連の状態またはイベントとして表現することができることを理解し、諒解するであろう。さらに、示された行為のすべてが、本発明による方法の実施に必要とは限らない。
【０１４５】
図２７を参照すると、流れ図３７０に、本発明によるユーザのコンテキストの判定が示されている。この処理には、３７１でユーザの位置を判定することと、３７２でユーザのフォーカスを判定することが含まれる。これらの行為は、前に説明した手法の１つまたは複数によって達成することができる。例えば、プロファイルを使用することができ、ユーザが自分のコンテキストを指定することができ、コンテキストの直接測定を使用することができ、ルールのセットに従うことができ、ベイズモデルまたは統計モデルを介するなどの推定分析を実行することもできる。他の分析を使用して、ユーザのコンテキストを判定できることを諒解されたい。例えば、誰かがコンピュータの前にいる場合に気付き、その人がコンピュータを見ているか否かに気付く、一体化されたビデオカメラソースを設けることができる。しかし、本発明のシステムは、カメラの有無にかかわらずに動作できることに留意されたい。ソースのすべてについて、システムは、コンテキストに関する推定のために特定のソースを必要とすることなく、実質的に任意の数の使用可能な入力ソースと共に動作することができる。さらに、他の態様では、ユーザの位置および注意の感知を与える、小さいＰＤＡ上の一体化された加速度計、マイクロホン、および近接検出器を設けることができる。
【０１４６】
図２８を参照すると、流れ図３７３に、本発明の一態様による通知マネージャの決定処理が示されている。３７４で、１つまたは複数の通知ソースが、通知を生成し、その通知が、通知マネージャによって受信される。３７５で、コンテキストアナライザが、ユーザに関するコンテキスト情報を生成／判定し、これが、３７６で、通知マネージャによって受け取られる。すなわち、本発明の一態様によれば、３７５で、この説明の前の節で説明したように、コンテキストアナライザが、ユーザの現在の注意の状況および位置を示すユーザのコンテキスト情報プロファイルにアクセスし、かつ／または、ユーザの現在の注意の状況および位置に関するリアルタイム情報を、１つまたは複数のコンテキスト情報ソースから査定する。
【０１４７】
３７７で、通知マネージャが、コンテキストアナライザから受け取ったコンテキスト情報に部分的に基づいて、どの通知をどの通知シンクに伝えるかを決定する。通知マネージャは、コンテキストアナライザによって保管されるユーザの通知パラメータに関する情報に基づく決定も行う。すなわち、一態様によれば、３７７で、マネージャが、所与の通知に関してユーザに警告しなければならないかどうかと、ユーザにどのように通知するかに関する決定理論的分析を実行する。下で詳細に説明するように、決定理論および／またはヒューリスティックによる分析、決定、およびポリシを、３７７で使用することができる。ユーザに関する通知パラメータを使用して、欠けている値に書き込むことによってもしくはソースまたはシンクのスキーマで提供されるパラメータを上書きすることによって、分析をパーソナライズすることができる。通知プリファレンスも、決定理論的分析の代わりに使用されるポリシ（例えばヒューリスティック）を提供することができる。この判定に基づいて、３７８で、通知マネージャが通知をシンクに伝える。
【０１４８】
本発明の様々な態様を、ここまでは、ユーザに適用可能なものとして説明してきた。しかし、本発明自体は、それに制限されない。すなわち、本発明は、ユーザを含む実質的にすべてのタイプのエンティティに適用可能である。他のタイプのエンティティには、例えば、エージェント、プロセス、コンピュータプログラム、スレッド、サービス、サーバ、コンピュータ、機械、会社、組織、および／または店が含まれる。例えば、エージェントは、ソフトウェアエージェントとすることができ、このソフトウェアエージェントは、一般に、ユーザのためにバックグラウンドタスクを実行し、タスクが終了するかなんらかの期待されたイベントが発生した時にユーザに報告するコンピュータプログラムとして定義することができる。他のタイプのエンティティを、当業者が諒解できるように、本発明の下に含めることができる。例えば、本発明のもう１つの態様によるコンテキストアナライザを、実質的にすべてのタイプのエンティティに適用可能なコンポーネントとして一般化することができる。もう１つの例として、通知シンクが、ユーザ以外のエンティティに関する通知、アラート、およびイベントを生成することができる。同様に、通知シンクが、ユーザ以外のエンティティに関する通知、アラート、およびイベントを受け取ることができる。
【０１４９】
本発明の様々な態様に関するコンテキストを提供するため、図２９および以下の説明は、本発明の様々な態様を実施することができる適切なコンピュータ環境の簡単な一般的説明を提供するものである。１つまたは複数のコンピュータ上で実行されるコンピュータプログラムのコンピュータ実行可能命令の一般的コンテキストにおいて本発明を以上で説明してきたが、本発明は、その他のプログラムモジュールの組合せで実施するのも可能なことが、当分野の技術者には認められよう。一般に、プログラムモジュールには、特定のタスクを行う、かつ／または特定の抽象データタイプを実装するルーチン、プログラム、構成要素、データ構造等が含まれる。さらに、本発明の方法は、単一プロセッサ、またはマルチプロセッサのコンピュータシステム、ミニコンピュータ、メインフレームコンピュータ、ならびにパーソナルコンピュータ、ハンドヘルドコンピュータ装置、マイクロプロセッサベースの家庭用電化製品またはプログラマブル家庭用電化製品等を含むその他のコンピュータシステム構成で実施できることが、当分野の技術者には理解されよう。また、本発明の示す態様は、通信網を介してリンクされた遠隔処理装置によってタスクが行われる分散コンピュータ環境においても実施することが可能である。ただし、本発明のすべてではないにしても、いくつかの態様は、独立型コンピュータ上で実施することが可能である。分散コンピュータ環境では、プログラムモジュールは、ローカルのメモリ記憶装置と遠隔のメモリ記憶装置の両方の中に配置されていることが可能である。
【０１５０】
図２９を参照すると、本発明の様々な態様を実施するための例としてのシステムが、処理装置４２１と、システムメモリ４２２と、システムメモリを含む様々なシステム構成要素を処理装置４２１に結合するシステムバス４２３とを含むコンピュータ４２０を含む。処理装置４２１は、様々な市販のプロセッサのどれであることも可能である。デュアルマイクロプロセッサ、およびその他のマルチプロセッサアーキテクチャも処理装置４２１として使用できることが理解されよう。
【０１５１】
システムバスは、様々な市販のバスアーキテクチャのどれかを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含むいくつかのタイプのバス構造のどれであることも可能である。システムメモリは、読取り専用メモリ（ＲＯＭ）４２４、およびランダムアクセスメモリ（ＲＡＭ）４２５を含むことが可能である。始動中などにコンピュータ４２０内部の要素間における情報の転送を助ける基本ルーチンを含む基本入力／出力システム（ＢＩＯＳ）が、ＲＯＭ４２４の中に記憶される。
【０１５２】
コンピュータ４２０は、ハードディスクドライブ４２７と、例えば、取外し可能なディスク４２９に対して読取りまたは書込みを行う磁気ディスクドライブ４２８と、例えば、ＣＤ−ＲＯＭディスク４３１に対して読取りまたは書込みを行う、またはその他の光媒体に対して読取りまたは書込みを行うための光ディスクドライブ４３０とをさらに含む。ハードディスクドライブ４２７、磁気ディスクドライブ４２８、および光ディスクドライブ４３０は、それぞれ、ハードディスクドライブインターフェース４３２、磁気ディスクドライブインターフェース４３３、および光ディスクドライブインターフェース４３４によってシステムバス４２３に接続されている。これらのドライブおよび関連コンピュータ可読媒体は、コンピュータ４２０のためのデータ、データ構造、コンピュータ実行可能命令等の不揮発性記憶装置を提供する。以上のコンピュータ可読媒体の説明は、ハードディスク、取外し可能な磁気ディスク、およびＣＤに関連するが、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ等のコンピュータによって読取り可能な他のタイプの媒体も例としての動作環境において使用することができ、さらに、任意のそのような媒体が、本発明の方法を実行するためのコンピュータ実行可能命令を含むのが可能であることが、当分野の技術者には理解されよう。
【０１５３】
オペレーティングシステム４３５、１つまたは複数ののアプリケーションプログラム４３６、その他のプログラムモジュール４３７、およびプログラムデータ４３８を含むいくつかのプログラムモジュールをドライブおよびＲＡＭ４２５の中に記憶することができる。示すコンピュータにおけるオペレーティングシステム４３５は、実質的にどの適切なオペレーティングシステムであるのも可能なことに留意されたい。
【０１５４】
ユーザは、キーボード４４０、およびマウス４４２などのポインティングデバイスを介してコマンドおよび情報をコンピュータ４２０に入力することができる。その他の入力デバイス（図示せず）には、マイクロホン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナ等が含まれることが可能である。以上の入力デバイスおよびその他の入力デバイスは、しばしば、システムバスに結合されたシリアルポートインターフェース４４６を介して処理装置４２１に接続されるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）（ＵＳＢ）などの他のインターフェースを介して接続されることも可能である。また、モニタ４４７または他の表示装置も、ビデオアダプタ４４８などのインターフェースを介してシステムバス４２３に接続される。モニタに加えて、コンピュータは、通常、スピーカおよびプリンタなどの他の周辺出力装置（図示せず）も含む。
【０１５５】
コンピュータ４２０は、遠隔コンピュータ４４９などの１つまたは複数の遠隔コンピュータに対する論理接続を使用するネットワーク化された環境で動作することが可能である。遠隔コンピュータ４４９は、ワークステーション、サーバコンピュータ、ルータ、ピア装置、またはその他の共通ネットワークノードであることが可能であり、通常、コンピュータ４２０に関連して説明した要素の多く、またはすべてを含む。ただし、メモリ記憶装置４５０だけを図２９で示している。図２９に描く論理接続は、ローカルエリアネットワーク（ＬＡＮ）４５１、およびワイドエリアネットワーク（ＷＡＮ）４５２を含むことが可能である。そのようなネットワーク環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、およびインターネットで一般的である。
【０１５６】
ＬＡＮネットワーク環境で使用する場合、コンピュータ４２０は、ネットワークインターフェース、つまりアダプタ４５３を介してローカルネットワーク４５１に接続することができる。ＷＡＮネットワーク環境で利用する場合、コンピュータ４２０は、一般に、モデム４５４を含むことが可能であり、かつ／またはＬＡＮ上の通信サーバに接続され、かつ／またはインターネットなどのワイドエリアネットワーク４５２を介して通信を接続するための他の手段を有する。内部または外部にあることが可能なモデム４５４をシリアルポートインターフェース４４６を介してシステムバス４２３に接続することができる。ネットワーク化された環境では、コンピュータ４２０に関して描くプログラムモジュール、またはプログラムモジュールの部分を遠隔メモリ記憶装置の中に記憶することが可能である。示したネットワーク接続は、例としてのものであり、コンピュータ間で通信リンクを確立する他の手段も使用できることが理解されよう。
【０１５７】
コンピュータプログラミング分野の技術者の慣行に従って、特に明記しない限り、本発明は、コンピュータ４２０のようなコンピュータによって行われる処置、および動作の記号表現に関連して説明した。そのような処置および動作は、ときとして、コンピュータ実行される処置および動作と呼ばれる。処置および記号で表現される動作には、電気信号表現を結果として変換する、または減少させる、データビットを表す電気信号の処理装置４２１による操作、およびメモリシステム（システムメモリ４２２、ハードディスク４２７、フロッピー（登録商標）ディスク４２９、およびＣＤ−ＲＯＭ４３１を含む）内のメモリロケーションにおいてデータビットを保持して、コンピュータシステムの動作を再構成する、または別の仕方で変更すること、ならびに他の信号処理が含まれることが理解されよう。そのようなデータビットが保持されるメモリロケーションは、データビットに対応する特定の電気特性、磁気特性、または光学特性を有する物理的ロケーションである。
【０１５８】
以上に説明したのは、本発明の好ましい態様である。もちろん、本発明を説明するため、構成要素または方法の考えられるすべての組合せを説明することは不可能であるが、本発明の多数のさらなる組合せおよび変更が可能であることが、当分野の技術者には認められよう。したがって、本発明は、頭記の特許請求の範囲の中にあるすべてのそのような改変形態、変更形態、および変形形態を包含するものとする。
【０１５９】
（産業上の利用可能性）
本発明は、コンピュータ、コンピュータソフトウェア、および情報技術の分野で産業上の利用可能性を有する。
【図面の簡単な説明】
【図１】  本発明の一態様による優先順位システムを示す概略構成図である。
【図２】  本発明の一態様による分類器を示す構成図である。
【図３】  本発明の一態様によるメッセージ分類を示す概略構成図である。
【図４】  本発明の一態様によるスカラー分類器出力を示す概略構成図である。
【図５】  本発明の一態様による、クラスおよびスカラー出力に従って分類されたテキストを示す概略構成図である。
【図６】  本発明の一態様による線形優先順位モデルを示す図である。
【図７】  本発明の一態様による非線形優先順位モデルを示す図である。
【図８】  本発明の一態様による、ユーザアクティビティを決定するためのモデルを示す図である。
【図９】  本発明の一態様による、現在のユーザアクティビティを決定するための推定ベースモデルを示す図である。
【図１０】  本発明の一態様による、警報費用を決定するための推定ベースモデルを示す図である。
【図１１】  本発明の一態様による、警報費用を決定するためのより詳細な推定ベースモデルを示す図である。
【図１２】  本発明の一態様による、忠実度損失に鑑みて警報費用を決定するためのより詳細な推定ベースモデルを示す図である。
【図１３】  本発明の一態様による、優先順位を生成および決定するための方法を示す流れ図である。
【図１４】  本発明の一態様による、テキスト生成プログラムおよび分類器を示す図である。
【図１５】  本発明の一態様による、警報システムを示す概略構成図である。
【図１６】  本発明の一態様による、経路指定システムおよび警報システムを示す図である。
【図１７】  本発明の一態様による、通知プラットフォームアーキテクチャを示すシステムの概略ブロック図である。
【図１８】  本発明の一態様による、コンテキストアナライザを示す概略ブロック図である。
【図１９】  本発明の一態様による、通知ソースおよび通知シンクを示す概略ブロック図である。
【図２０】  本発明の一態様による、通知曲線の使用を示す図である。
【図２１】  本発明の一態様による、通知に関するユーザ指定インターフェースを示す図である。
【図２２】  本発明の一態様による、コンテキスト情報ソースを示す図である。
【図２３】  本発明の一態様による、コンテキストを判定するためのルールベースシステムを示す図である。
【図２４】  本発明の一態様による、コンテキストを判定するための推定ベースシステムを示す概略ブロック図である。
【図２５】  本発明の一態様による、コンテキストを判定するための推定モデルを示す図である。
【図２６】  本発明の一態様による、コンテキストを判定するための時間的推定モデルを示す図である。
【図２７】  本発明の一態様による、コンテキストを判定する方法を示す流れ図である。
【図２８】  本発明の一態様による、通知意思決定の方法を示す流れ図である。
【図２９】  本発明の一態様による、適当なオペレーティング環境を示す概略ブロック図である。
【図１】
0005192624.tif 000010
【図２】
0005192624.tif 000011
【図３】
0005192624.tif 000012
【図４】
0005192624.tif 000013
【図５】
0005192624.tif 000014
【図６】
0005192624.tif 000015
【図７】
0005192624.tif 000016
【図８】
0005192624.tif 000017
【図９】
0005192624.tif 000018
【図１０】
0005192624.tif 000019
【図１１】
0005192624.tif 000020
【図１２】
0005192624.tif 000021
【図１３】
0005192624.tif 000022
【図１４】
0005192624.tif 000023
【図１５】
0005192624.tif 000024
【図１６】
0005192624.tif 000025
【図１７】
0005192624.tif 000026
【図１８】
0005192624.tif 000027
【図１９】
0005192624.tif 000028
【図２０】
0005192624.tif 000029
【図２１】
0005192624.tif 000030
【図２２】
0005192624.tif 000031
【図２３】
0005192624.tif 000032
【図２４】
0005192624.tif 000033
【図２５】
0005192624.tif 000034
【図２６】
0005192624.tif 000035
【図２７】
0005192624.tif 000036
【図２８】
0005192624.tif 000037
【図２９】
0005192624.tif 000038