JP2011517494A - 行動パターンを検出する方法及び装置 - Google Patents

行動パターンを検出する方法及び装置 Download PDF

Info

Publication number
JP2011517494A
JP2011517494A JP2011500956A JP2011500956A JP2011517494A JP 2011517494 A JP2011517494 A JP 2011517494A JP 2011500956 A JP2011500956 A JP 2011500956A JP 2011500956 A JP2011500956 A JP 2011500956A JP 2011517494 A JP2011517494 A JP 2011517494A
Authority
JP
Japan
Prior art keywords
behavior
situation
status
information
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2011500956A
Other languages
English (en)
Other versions
JP2011517494A5 (ja
Inventor
グリーン、オマー
ゴスビー、デジレー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AppleSeed Networks Inc
Original Assignee
AppleSeed Networks Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by AppleSeed Networks Inc filed Critical AppleSeed Networks Inc
Publication of JP2011517494A publication Critical patent/JP2011517494A/ja
Publication of JP2011517494A5 publication Critical patent/JP2011517494A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)
  • Telephonic Communication Services (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

ユーザの歴史的行動(たとえば、習慣)及びこのような行動が表示される具体的な状況に応じてデバイスの特性を予測的に適合させるシステム、装置、技術、及び方法が開示される。このような状況は、曜日、時刻、季節、潮流、気温、天候、ユーザの心的状態、前日の特定スポーツ競技の得点、月の相、ユーザの場所など、実質的にあらゆるものが考えられる。ソフトウェアによる観察に基づいて、ユーザの習慣及びこれらの習慣が生じる状況が観察され、デバイスはユーザの行動パターン及びその状況に基づいてカスタマイズされる。

Description

本発明は、行動データマイニングのソフトウェア及び方法に関する。
人間は習慣の生き物である。したがって、多くの現代の電子デバイス及び他のデバイスは、デバイスの所有者によって適合可能又はカスタマイズ可能であるように設計されて、これらの習慣の受入れに適合しうるようにすることによってデバイスの使用が簡素化される。たとえば、多くの携帯電話及び家庭用電話では、ユーザが短縮ダイアル番号をそれらにプログラムすることができ、電話番号全体をダイアルしなくても1つのキー又はボタンを押すだけで特定の電話番号をダイアルすることができる。同様に、多くのコンピュータプログラムでは、ユーザは自分の個人的な好みに合わせて1つ以上のグラフィカル・ユーザ・インターフェースをカスタマイズすることができる。たとえば、Microsoft Wordなどの多くのプログラムにおいて、よく使用されるツールや機能をツールバー上でよりアクセスしやすくするために、ユーザはツールバーをカスタマイズすることができ、一方で、頻繁に使用しないツール及び機能はドロップ・ダウン・メニューなどのアクセスしにくい手段に格下げされる。
一部の最新の電子デバイスは、自動的にユーザの好みを予測してこのような予測に基づいてユーザの経験をカスタマイズしようとさえもする。たとえば、現在入手可能なあるディジタルビデオ記録デバイス(DVR)は、それらのユーザによって記録する選択されたプログラムを監視するように適合され、その情報を用いた予測アルゴリズムに基づいてそのDVRのユーザが関心を寄せる可能性のある他のプログラムを予測する。こうして、特定の実施形態に基づいて、DVRは自動的にこのようなプログラムをそのDVRに記録し、かつ/又はメッセージをDVRに送ってユーザが関心を寄せる可能性のあるプログラムの次回の放送をユーザに知らせてユーザがこれを記録したいかどうかをユーザに尋ねてもよい。
少々類似した経験の別の例が、様々な商業ウェブサイトに見られる。特に、ユーザが電子商取引ウェブサイトから特定の製品を購入する場合(又は、ウェブサイトで特定の製品を見ることによってそれに関心を示すだけの場合)、多くのウェブサイトは独自のデータベースを検索して特定の製品と他の製品の相関を判断して、消費者に見られるように同じウェブページにこれらの他の製品を提示することになる。本技術の1つの具体的な一般の実施形態において、ウェブサイトは、そのデータベースのクエリを追跡することができ、現在のユーザによって現在見られている製品を購入した、過去の顧客によって一般に購入されている他の製品を判断してから、これらの他の製品に関心を寄せる可能性のある現在のユーザに推奨することができる。
ユーザの歴史的行動(たとえば、習慣)及びこのような行動が表示される具体的な状況に応じてデバイスの特性を予測的に適合させるシステム、装置、及び方法が開示される。このような状況は、曜日、時刻、季節、潮流、気温、天候、ユーザの心的状態、前日の特定スポーツ競技の得点、月の相、ユーザの場所など、実質的にあらゆるものが考えられる。ソフトウェアによる観察に基づいて、ユーザの習慣及びこれらの習慣が生じる状況が観察され、デバイスはユーザの行動パターン及びその状況に基づいてカスタマイズされる。
1つの具体的なネットワークベースの実施形態におけるシステムの様々な構成要素のブロック図である。 システムで使用されるデータ要素の一部及びそれらの相互関係のグラフィック表示である。 システムに関係して使用される一部の他の概念及びそれらの相互関係のグラフィック表示である。 一実施形態に従って状況情報の連続収集に関するクライアント側ソフトウェアの動作を示すフローチャートである。 一実施形態に従って行動のトリガーに応答して行動情報及び状況情報の収集に関するクライアント側ソフトウェアの動作を示すフローチャートである。 一実施形態に従ってクライアント側ソフトウェアから受信した行動及び状況の処理情報に関するサーバ側ソフトウェアの動作を示すフローチャートである。 一実施形態に従って行動のトリガーに関係しない行動情報の収集に関するクライアント側ソフトウェアの動作を示すフローチャートである。 一実施形態に従ってクライアント側ソフトウェアによって提供される行動情報の処理に関するサーバ側ソフトウェアの動作を示すフローチャートである。 一実施形態に従って行動モデルの生成に関するサーバ側ソフトウェアの動作を示すフローチャートである。 一実施形態に従ってサーバ側ソフトウェアに対する推論クエリの発生に関するクライアント側ソフトウェアの動作を示すフローチャートである。 一実施形態に従ってクライアント側ソフトウェアから受け取った推論クエリの処理に関するサーバ側ソフトウェアの動作を示すフローチャートである。
ユーザの歴史的行動(たとえば、習慣)及びこのような行動が表示される具体的な状況に応じてデバイスの特性を予測的に適合させるシステム、装置、及び方法が開示される。このような状況は、曜日、時刻、気温、天候、ユーザの心的状態、ユーザの場所、時節、前日のスポーツの試合の得点、潮流、月の相など、実質的にあらゆるものが考えられる。
実質的にいかなるタイプのデバイスも本開示で議論される原則に従って適合されうる。これは、ソフトウェアシステム、ネットワークソフトウェア、機械システム、及び生物系を含む。
多くの携帯電話では、所有者が短縮ダイアル番号又は「ホットキー」をプログラムすることなどによってユーザインターフェースをカスタマイズすることができる。しかし、ユーザはインターフェースを手動でカスタマイズしなければならない。さらに、このようなカスタマイズは、ユーザが後でこれを手動で再び変更するまでインターフェースは同じ状態のままであるという意味では永久的である。
本明細書において開示される技術、ソフトウェア、システム、方法、及び装置は、最先端技術に大きな進歩をもたらす。特に、本技術に従って、携帯電話などの民生用デバイスのユーザインターフェース及び/又はその他の操作パラメータは、デバイスの使用履歴に関する観察及びこのような使用の状況に基づいて自動的にカスタマイズされる。換言すると、本明細書で開示されるソフトウェアによる観察に基づいて、ユーザの習慣及びこれらの習慣が観察される状況が記録され、デバイスはユーザの行動パターン及びその状況に基づいて自動的にカスタマイズされる。
説明と明確さのために、詳しく説明する前に、本明細書に開示される原理、装置、技術、方法、及びシステムのきわめて特殊な適用例を考えてみよう。特に、携帯電話/携帯端末(以後、「無線PDA」と呼ぶ)の組合せを考えてみよう。多くの人々は、時刻に応じて、無線PDAについて彼ら特有の使用パターンを有する。たとえば、典型的な事務職の男性は平日の午前12時〜午前6時の時間帯では自分の電話を稀にしか使用しないかもしれない(たとえば、彼は睡眠中であるため)。さらに、彼は午前6時〜午前9時の時間帯では電話を比較的稀に使用するかもしれないが、これらの時間帯に電話を使用するときは、通常、前日夕刻のプロのスポーツ試合の得点のチェックし、当日のスケジュール表のチェックし、自分の妻に携帯電話をかけ、あるいはこれらの組合せを行なう。一方、午前9時〜午後5時の時間帯では、電話は稀にしか使用されない(たとえば、彼は勤務中であるため)が、使用されるときは、一般に財務計算器として使用される(たとえば、彼は経理担当者であるため)。最後に、午後5時〜午前零時の時間帯では、携帯電話は多くの異なる人々との通話に頻繁に使用される。
携帯電話及び無線PDAは、待ち受け画面、すなわち、電話がスリープモードから最初に呼び起こされるときに表示される画面を有する。単なる一例として、本明細書で議論される技術、システム、装置、及び方法は、状況に基づいて無線PDAに対するカスタマイズされた待ち受け画面を提示するために使用されうる。したがって、平日の午前零時〜午前6時の時間帯では、携帯電話の待ち受け画面は工場出荷時設定値のままであってもよい。しかし、平日の午前6時〜午前9時の時間帯では、待ち受け画面は、画面のほとんどを占有するユーザのスケジュール表(及び特に1日分の表示)を示すように再プログラムされてもよいが、自分の妻の携帯電話の短縮ダイアルボタン及び前日のスポーツの得点を提供するスポーツウェブサイトに1つのキーでアクセスするホットキーを示すように再プログラムされてもよい。
この後、平日の午前9時〜午後5時の時間帯では、待ち受け画面が平日のこれらの時間中にユーザの典型的な行動を反映した異なる表示を示すようにプログラムされうる。したがって、平日の午前9時〜午後5時の時間帯では、待ち受け画面は無線PDAの財務計算器機能を表示するようにプログラムされてもよい。
この後、さらに、午後5時〜午前零時では、待ち受け画面は、そのデバイスの使用に関する1日の時間中にユーザで観察される習慣に応じて異なるユーザインターフェースを表示するように再プログラムされてもよい。上記の例において、インターフェースは従来の電話インターフェースであってもよい。
前述のように、1日の各時間に観察される行動のみに基づいて携帯電話/無線PDAの待ち受け画面をカスタマイズする上記の例示的な実施形態は例示にすぎない。テクノロジーは、そのソフトウェアが容易にプラグインされて、プラットフォームやプロトコルとは関係なく実質的に他のすべてのソフトウェアと関連した使用に適するように計画される。
ネットワークデバイスと関連して使用されるように特に適合された一実施形態において、ソフトウェアのある一部分は個々のネットワーク・クライアント・デバイスに格納されるが、ソフトウェアの他の部分はネットワークデバイスのすべてにアクセスできるネットワーク上の独立したサーバノードに格納される。このような実施形態では、ネットワークデバイス内の処理負荷が最小化されてバッテリ寿命が維持され、さらに、ネットワーク上の多くのデバイスが、ソフトウェアのネットワークベースの部分を使用することができる。したがって、たとえば、上記の無線PDAの例では、ネットワークベースのソフトウェアは、数千の異なるネットワーク加入者の無線PDAの待ち受け画面をカスタマイズするのに役立つように使用されうる。さらに、数千のユーザからデータを収集することによって、カスタマイズルーチンが誰にとっても改善されうる。さらに、本明細書で議論されるシステムは、多くの場合、ユーザが自分でカスタマイズする場合よりも、よりよくカスタマイズすることができるものと想定される。特に、人々は自分自身のデバイスのフル機能に気付いていないことが多い。さらに、人々は自分自身の習慣に十分に気付いていないことすら多い。
関連性のあるシステム、技術、装置、及び方法を、たとえば、上記のような無線PDAの待ち受け画面をカスタマイズするために使用されうるネットワークベースの実施形態と関連させてここでさらに詳しく説明する。
本明細書で議論される機能は、相互運用ソフトウェア・サブシステム・データ型、インターフェース、及びサービスの収集によって実施されてもよく、これらは、これらによって蓄積されたデータセットでパターンをまとめ、分析し、公開する。これは、提供するネットワークサービスとしてネットワーク内で使用され、ネットワーク加入者の(1)発現行動及び(2)環境状況に関係する複数のソース(デバイス、オペレーティングシステム、ソフトウェアアプリケーション、地理位置情報サイト、ネットワークサービスなど)からデータを収集して蓄積するように構成されてもよい。すなわち、(1)加入者が何を行なったか、及び(2)加入者がどんな状況下でそれを行なったかである。
前記機能は、実際には、ソフトウェアとして実施されるが、ソフトウェアは、その行動が修正又は管理される必要のあるデバイス上で少なくとも部分的に実行される実行されることが好ましいが、必ずしもそうでなくてよい。このシステムは、追跡されるユーザ行動に応じたユーザの好みと、その行動が観察されてそれに応じてデバイスの管理を手助けする状況を決定するソフトウェアエンジン(以下では、エンジンと呼ぶこともある)である。ソフトウェアエンジンは、デバイスの使用とこのような使用の状況とに関するデータを収集して処理し、加入者行動の数学モデルを特定の状況に関連するものとして生成する。このモデルは、この後、行動パターンに関して分析され、その分析結果は複数のソフトウェアインターフェースを介してクエリされる。ソフトウェアエンジン内部の他のソフトウェアインターフェースは、これらのクエリの結果を、このような情報を使用してこれらの行動パターンに応じてデバイスをカスタマイズできる、別のソフトウェアプログラムに提供してもよい。
ソフトウェアエンジンは、加入者に関する予測行動情報をその加入者のデバイス(複数も可)(たとえば、携帯電話又は無線PDA)に提供する。この後、デバイス内のソフトウェアは、この情報によってデバイス自身を修正する権限が与えられて、デバイスを加入者にとってより「洗練された」もの、あるいはより有用なものにする。携帯電話の場合、電話のオペレーティングシステムは、月の第3週の火曜日に自動的に通話(もしかすると、実際に通話を開始するためにはユーザが「送信」キーを押すだけでよい程度にまで)を開始するように選定してもよいが、ニューヨークからフィラデルフィア行きの列車に乗っているとき、(1)受話器が取り上げられたことを検出していることと、(2)月の第3週の火曜日に自分のラップトップを閉じた後加入者が常に同じ番号を呼び出すソフトウェアエンジンによって知らされていることに応答する電話はニューヨークからフィラデルフィア行きの列車上にある。この種のデバイスは、人間の行動を予想するので「予想デバイス(anticipating device)」呼ばれる。この構成におけるシステムの適用は、デスクトップ・オペレーティング・システム、スタンドアロン・ソフトウェア・アプリケーション、社会的ネットワークなどに拡張されうる。
前述の内容に加えて、本発明によるソフトウェアは、「標準」規則エンジン及び/又はソフトウェア・エージェント・インターフェースを用いて増強され、指定された状況内での加入者行動パターンの出現の結果として、一連の「ネットワーク動作」(ウェブページの検索、料金の支払い、又はHDTVのチャネル変更)を開始するために使用されうる。
本明細書の残りの部分では、ソフトウェアエンジンの外部にあるが、ホストシステムとしてソフトウェアエンジンの影響を受ける任意のデバイス、オペレーティングシステム、ソフトウェアアプリケーション、社会的ネットワークなどに言及する。さらに、以下を正式に定義する。
1つ又は複数の行動ファクターによって電子的に捕捉されうる加入者によって明示される行動又は活動としての「発現行動」。たとえば、電子メールをチェックするための加入者による携帯電話の使用は、電子的手段、行動ファクターとしてメールサーバにネットワークトラフィックの適切な部分を格納することによって捕捉されうる。これを実施しようとする加入者の意図又は目的は、少なくとも本技術手段なしでは捕捉されえない。
加入者が行動を発現する可能性のある状況としての「環境状況」。状況は、領域が状況ファクターによる電子監視及びデータ収集に役立つ限り、地理空間的領域、時間的領域、情意的領域などの領域を包含しうる。
この議論の中心に、人間は習慣の生き物であるという仮定があることを、ここで述べておくべきである。これらの行動は、往々にして不規則に現われるが、実際には、多数の変数に支配される「規則性」を有する一連の動作であり、多数の変数は捕捉されて分析されうる。その分析へのアプローチは、機械学習アルゴリズムを利用する知識管理(KM)で行なわれる作業の一部にその基礎を有する。このアプローチはここで利用されてもよい。結果として、本明細書で議論されるシステム、技術、装置、及び方法の背景にある数学の一部は、当業者によってよく理解されるであろう。しかし、人間行動を予測する問題にこれらを適用することはありえないであろう。
システムの構成要素を加入者の発現行動を処理するものとし、自分の環境状況を自分の生活に関する「教科書」であると考えることは有用であるかもしれない。「戦争と平和」の教科書が機械学習法(又はさらに、グーグルのページランクなど、より新しいアルゴリズムによって)を用いてKMシステムによって主題パターンに関して分析されうるのと同様に、これらの人生教科書(life text)も分析されうる。また、Amazon.comがかつて様々な書籍でテキストマイニング分析の結果を採用して、これらの書籍に関する検索可能な「タグクラウド」を生成したように、システムによって生成される分析の結果は有効に利用されうる。
とは言うものの、本明細書の残りの部分では、本明細書に開示される技術の例示的な構成要素及びその相互運用を説明する。
ここで、図1を参照してシステムをネットワークベースの実施形態で説明する。
1.クライアント及びサーバ
図1は、任意数のクライアントデバイス101a〜101d及びサーバノード102a〜102dをサポートするインターネット又は携帯電話ネットワークなどのネットワーク100を示す。クライアンドデバイスの中には、クライアントデバイス101dなど、本開示に従って構成されたクライアントデバイスがある。また、サーバノードの1つ、たとえば、サーバノード102dは、やはり、本開示に従って構成され、本開示において議論される機能を実施するためにクライアント側ソフトウェアと連携して働くように設計されたソフトウェアを具体化する。
一般に、ネットワークベースの実施形態を考えるための1つの方法は、クライアント−サーバの組合せとするものであり、この場合、クライアント側コード104は加入者のクライアントデバイス101dの中に組み込まれ、サーバ側コードはネットワークのどこかにあってサーバノード102dに存在し、クライアントデバイス101dによって何らかの方法でネットワーク100を通じてアクセスされる。システムのこの分割は、サーバとクライアントが分離された状態にある必要がないので、純粋に便宜上のものである。しかし、これは、この構成によって単一サーバ102dに複数のクライアント101を管理させ、ネットワーク効果(新たなクライアント又はサーバをネットワークに加えることによってそのネットワーク上のクライアント及びサーバのすべてに便益をもたらす現象)によって加入者の経験全体をよりよいものにする場合である。さらに直接的には、本開示に従って構成される単一サーバは、複数のクライアントからの行動データ及び状況データをアルゴリズムによって活用して、各クライアントに対する推測をより正確なものにすることができることになる。実際には、各クライアントは、1つの新たなクライアントを追加し、その結果として行動データ及び状況データを追加することによってより「高性能な」ものになる。
クライアント側ソフトウェア104は、加入者の発現行動及び環境状況を監視し、これを捕捉し、これをサーバ102dに送信することに関与する。さらに、クライアントソフトウェア104は、加入者に起こりそうな行動を示す、サーバ側コードによって生成される数学モデルをクエリするために、加入者のホストシステム112によって使用されるエージェントである。
一方、サーバ側ソフトウェアは、捕捉された行動及び状況を収集して、数学的意味(すなわち、モデル)を有する形態に処理し、その処理されたデータに関する分析を開始し、クライアントからクエリを受け入れ、結果を返すことに関与する。ここで、クライアント及びサーバを構成するサブシステムのさらに詳細な議論に移る。
A.クライアント
クライアント側ソフトウェア104は、6つの主要な構成要素に分解される。すなわち、
1.行動リスナー106
2.状況リスナー107
3.レバー108
4.行動サービス109
5.状況サービス110
6.推測サービス111
である。
本発明者らの議論は、これらの構成要素のすべてはコード104の単一収集の一部であり、クライアントデバイス101d内に常駐するものと仮定しているが、互いにアクセス可能であることを必要とするすべての構成要素が本当にアクセス可能である限り、このような仮定は必要でない。
1.リスナー及びレバー
行動リスナー106、状況リスナー107、及びレバー108の構成要素は、加入者のホストシステム112に対するコードの最も侵襲的な部分であり、したがって、これらの各々の要素は実施ごとに非常に大きく変化を受ける可能性がある。状況リスナーの詳細な議論は後にゆずるものとするが、他の構成要素はここで議論するものとする。
a.行動リスナー
行動リスナー106のジョブは、加入者の行動を監視して1つ以上の行動ファクターを有するその行動を体系化する手段を確立することである。(行動ファクターは行動サービスの議論の一部として後で議論される。)行動リスナーの活動は、行動リスナー106が影響を与えるホストシステム112の部分と一致する枠組み内で達成されるべきである。
一実施において、行動リスナー106は、ほとんど常に待ち受け状態又は休止状態にあるホストシステム内のスレッドとして設計されてもよい。加入者によって実行される活動、すなわち、トリガー事象(そして、通常、これはホストのソースコードにある種の1行トリガーを入力することによって達成される)によって呼び起こされるとき、行動リスナースレッドは活動に関係する適切な活動情報(すなわち、活動のインスタンス)とともに有効な状況(状況サービス110によって提供される)を素早く獲得し、このデータ(未加工行動−状況デュプレと呼ばれ、これは後で説明される)を含むオブジェクトを行動サービス109内の待ち行列に入れる。一般に、行動リスナー106は、ホストシステム内でできる限り少ない資源で済み、できる限り素早くかつ効率的に実行するように設計される。
例として、本開示に従ってウェブログ、すなわち、「ブログ」で実行される簡単な活動を考えてみよう。ブロガーがポスト又はブログ用のメッセージを生成すると、すぐにHTTP−POSTがブログサーバをヒットし、ブログサーバに埋め込まれた行動リスナー106が呼び起こされることになる。この後、行動リスナー106はブログポストの本文のテキストを行動ファクターとして関連するメタデータとともに捕捉し、次いで環境状況を取得する。このデータを取り込んだリスナーは、このデータを含む新たな未加工行動−状況デュプレを生成してこれを行動サービスに入れることになる。行動リスナーは、通常はブログポストがブログサーバに現われるときに開始される活動と並列にこれらの機能を実行することになる。
b.レバー
レバー108は、これに対するコードがサーバ側構成要素から返されるデータの使用目的に応じて大幅に変るので、明確に定義することが少々困難である。クライアントデバイスにはレバーがいくつあってもよい。一言で言えば、レバーは、加入者に将来起こりそうな行動に関する情報を、サーバ側構成要素からクライアントデバイスに捕捉せしめると同時に、その情報が決定されるプロセスを取り除くアプリケーション、エージェント、又はソフトウェアである。このように、ホストシステムの設計者は、ソフトウェアがその便益を生かすためにどのように働くかについては何も知る必要がない。いくつか例を挙げると言わんとする内容が分かるであろう。
前述のダイナミックな待ち受け画面の実施において、レバー108は、携帯電話の最初の画面、すなわち、「待ち受け画面」(携帯業界用語)に対するコードの画面ペインティング部分を制御するソフトウェアである。この待ち受け画面レバーは、クライアント側推論サービス111と連携して働いてクライアントデバイス101dに推論クエリと呼ばれるオブジェクトを生成させて、これをサーバ102dのサーバ側構成要素に送ることができる。推論クエリの特異性は、推論サービス111の議論に関連して以下で議論される。しかし、この議論では、加入者の将来起こしそうな行動に関する情報の明確な要求を含むオブジェクトとしてこれを記述すれば十分であろう。
その推論クエリに対する応答は、エンジンのサーバ側構成要素によって返されるとき、加入者の現在の状況(たとえば、日付、時間、場所など)に適切なすべての行動のリスト(たとえば、呼び出されそうな電話番号、送られるSMSメッセージ、及び呼び出されるアプリケーション)を含むであろう。待ち受け画面内のレバー108は、この後、このデータを表示するように待ち受け画面を設定し、加入者がその状況で自分にとって最も重要な人々、メッセージ、及びアプリケーションにワンクリックでアクセスできるようにする。したがって、待ち受け画面レバー108は、加入者が共通の窓口を探すために、若しくはメッセージアプリケーションを開いてメッセージにたどり着くためのアドレス帳の検索を最小限に留めるか、又はアドレス帳の検索をしなくて済むようにする。待ち受け画面レバー108は、待ち受け画面を「ダイナミック」にしてそのダイナミズムの達成方法を隠すことによって上記の内容を実現する。
第2の例示的なレバー実施において、RSSフィードは、加入者が所与の時点において得ることを最も望みそうなURLの状況に敏感なリストを提供するように制御される。この例において、レバーは、インターネットサーバで書き込まれ実行されるウェブサービスである。ブラウザーがRSSフィードURLをヒットすると、このウェブ・サービス・レバーは、推論クエリを生成してこれをサーバ側構成要素に送る。応答が返されると、レバーはこれを適切なXML形式に置き換えて結果をブラウザーに返す。
上記の2つの例において、ホストシステム112(携帯電話オペレーティングシステム及びブラウザー)は、そのデータを利用するためにエンジンソフトウェアの動作の形式又は明細に関して何も知る必要はない。たとえて言うと、クライアントデバイスは、レバー108を用いて「加入者は現時点で何に関心があるか?」と質問して回答を得る。
2.行動サービス(クライアント側)
行動サービス109は、クライアントデバイス及びホストシステム112とのインターフェース内に存在する必要性があるため、多くの非常に異なる実施を有する可能性がある。しかし、一般に、ホストシステム112からの行動データ及び状況データの捕捉を監視して、これをサーバ102dにおけるサーバ側構成要素に向けるように設計されるのは、スタンドアロンコード(アプリケーション、サービス、スレッド、又はプロセス)である。結果として、これは、ホストシステムの通常のプロセスから独立して存在し、ソフトウェアのサーバ側構成要素が常駐する同じネットワークにアクセスすることができる。
起動時、行動サービス109は、1つ又は複数の行動リスナー106を起動し、行動リスナー106は行動が捕捉されるホストシステム112の各部と情報をやり取りする。また、行動サービス109は、収集された行動をサービス109がエンジンのサーバ側構成要素に発送又は「公開」する頻度を設定するタイマーを起動する。この後、サービスは、1つ又は複数の行動リスナー106又はタイマーによって呼び起こされるまで待ち受け状態にある。行動リスナー106によって呼び起こされるときは、行動リスナー106は、一般に、行動リスナーが未加工行動−状況デュプレで加入者行動を捕捉していることを示しており、サービス109はデュプレを受け入れてこれを内部の待ち行列に加える。タイマーによって呼び起こされるときは、行動サービスは待ち行列に入れられた未加工行動−状況デュプレを一括してこれらをエンジンのサーバ側構成要素に公開する。
これまで、未加工行動−状況デュプレは、行動リスナーによって生成されているものとして議論されてきた。しかし、これは必ずしもそうとは限らない。エンジンのクライアント側コードの一部の実施において、行動リスナーは行動サービスに渡される未加工行動を生成するだけで、行動サービスは、この後、状況サービスから適切な状況を収集しデュプレを生成することに関与する。この活動は、捕捉されるデータの精度を維持するために、時間的にも場所的にも未加工行動のできる限り近くで起こることになる。同様に、行動サービス109の一部の実施は、行動リスナー106をトリガーのみとして用いて、未加工行動−状況デュプレを生成し待ち行列に入れるタスクのすべてを実行してもよい。未加工行動、状況、及び未加工行動−状況デュプレオブジェクトは、行動サービスのメカニズムの公開に関する議論の後、以下でさらに詳しく議論される。
前記エンジンは様々な種類のホストシステム及びネットワークに適用される可能性があるため、行動サービスの公開インターフェースは高度に柔軟に設計される。行動サービスの公開インターフェースは、エンジンのサーバ側構成要素とプッシュ及びプルの両モードでやり取りするように作られている。プッシュの実施において、クライアントはやり取りを開始し、データはHTTP−POSTのようなメカニズムによって提供される。この場合、クライアントがデータをサーバにプッシュする。プルの実施において、クライアント側行動サービス109は、エンジンのサーバ側構成要素でのやり取りの開始を可能にするウェブサービスのようなメカニズムで実施される。この場合、サーバがデータをクライアントからプルする。
3.状況サービス(クライアント側)
行動サービスと同じ理由で、クライアント側状況サービスは、複数の異なる実施を有する。また、クライアント側状況サービスは、ホストシステムの通常のプロセスから独立して存在するスタンドアロンコード(アプリケーション、サービス、スレッド、又はプロセス)となる傾向がある。エンジンのサーバ側構成要素が常駐するネットワークと同じネットワークにアクセスできることは必ずしも必要でない。これら2つのネットワークの間には情報のやり取りがないからである。しかし、エンジンにおけるその他すべてと同様に、柔軟性が望まれる。
状況サービス110の主要な機能は、環境状況の電子的表現を確立してその表現をソフトウェアオブジェクト、すなわち、状況情報のインスタンスを表わす状況オブジェクトに取り込むことである。行動サービス109と同様に、状況サービス110は、ほとんど常に待ち受け状態又は休止状態にあり、他のサービスに費やされてための、そのオブジェクトを公開する。この場合、オブジェクトの消費は、行動リスナー106、レバー108、クライアント側行動サービス109、及び推論サービス111、ならびに状況オブジェクトに含まれる情報を利用したい場合のホストシステム112内の他のサービスによる。また、公開は、プッシュとプルの両モードを包含する。
a.状況リスナー及び状況サービス(クライアント側)
起動時、状況サービス110は、マスター状況オブジェクト、及び監視される各状況ファクターに対して1つの、1つ又は複数の状況リスナー107を生成する。状況ファクターは以下でさらに詳しく議論される。状況リスナー107の設計は、費やすホストシステム資源が少ないという点において行動リスナー106の設計によく似ており、ほとんど常に待ち受け状態又は休止状態にあり、待ち受け状態の状況サービス110を呼び起こすことに関与する。しかし、状況リスナーは、未加工行動を生成せず、代わりに、観察下にある状況ファクターに関する現在値を状況サービス110aに供給する。
例として、無線PDA101c上の状況リスナー107は、その無線PDAが基地局を通過するとき状況サービス110を呼び起こすように設計されうる。この場合、対象とする状況ファクターは携帯電話位置の局番及び基地局IDとなる。これら2つのファクターのいずれかが変化すると、状況リスナー107は必ず状況サービス110を呼び起こし、これらのファクターに関する最新の値を状況サービス110に提供する。
状況ファクターの変化を受信すると、状況サービス110はマスター状況オブジェクトを更新して休止状態に戻る。しかし、マスター状況オブジェクト内に状況データが必要であることを別のサービスが状況サービスに警告すると、状況サービスはマスター状況オブジェクトのコピーを作成しこれを要求サービスに提供する。これはプルモデルである。また、状況サービスは、要求がなくても定期的に他のサービスに情報を提供してもよい。これはプッシュモデルである。
4.未加工行動、状況、及び未加工行動−状況デュプレ
ここで、引き続き推論サービス111を議論する前に、前述のシステムに使用される様々なデータ型を議論しよう。
a.未加工行動
未加工行動は、例示的な一実施において、行動リスナー106によって捕捉されている行動ファクターに適した具体的な未加工行動オブジェクトを生成するために副分類されるスーパークラス(オブジェクト指向プログラミング用語における)である。副分類された未加工行動は、ホストシステムの要求に応じてさらに副分類されうる。一般に、各行動リスナー106は、未加工行動オブジェクトの1つの型のみに基づいて動作するが、これを必要とする設計に制限はない。所与のホストシステム及び所与の1組の行動ファクターに対して、数多くの異なる型の未加工行動オブジェクトが要求されてもよい。現在又は計画中の未加工行動型の未完成リストは以下の通りである。
携帯電話発信(MO)音声及び携帯電話着信(MT)音声ならびにデータコールの捕捉用
MO及びMTテキストならびに2進メッセージ(SMS及びMMS)の捕捉用
電子メール(受信及び送信)の捕捉用
メモ、リマインダー、タスクリストの捕捉用
ウェブログポストの捕捉用
URLに掲示されて強調されたテキストの捕捉用
クリックストリーム(ウェブブラウザーからアクセスされるURL)の捕捉用
メッセージ及びチャットを伝えるインスタントの捕捉用
チャットログの捕捉用
ウェブベースの音楽プレイヤーを含む音楽ソフトによって使用される音楽の捕捉用
PIM機能(予定表、アドレス帳、アラームなど)の捕捉用
システムアクセス(ファイルを開く&閉じるなど)の捕捉用
メディア捕捉及び使用(ビデオ、静止画像、アップロード及びダウンロード)の捕捉用
ゲーム活動の捕捉用
マップサービス利用の捕捉用
システム保守活動(バックアップ、同期(synching)、パスワード変更)の捕捉用
探索文字列の捕捉用
各未加工行動は、1つ又は複数の情報フィールド(行動ファクター)及びメタデータを含む。加入者行動の一部として捕捉されるフィールドの一部は、以下を含んでいてもよい。
1.加入者のID
2.加入者発信又は加入者着信の活動
3.発現行動の経過時間
4.ホストシステム名(パンドラ、iTunes、サファリ、ファイヤーフォックス、電子メール、文書)
5.発現行動内の活動の内部状態
a.音声電話に関して、これは、リンギング、通話保留、不在着信などであってもよい
b.メッセージングに関して、これは、生成、読取り、削除、受信、保存であってもよい
6.文書又はソングトラックに関して
a.タイトル及び著者又はアーティスト
b.長さ及び寸法
c.カテゴリ又はジャンル
d.収集名(書名又はアルバム)
e.URI、必要に応じて
7.行動に関連する人(加入者でない)(発信元、送信先、会員名簿など)
8.関係者(加入者でない)の電話番号又は加入者ID
9.メッセージ、ポスト、メモ、ウェブログポストなどに関して
a.収集名(ブログタイトルなど)
b.主題又はタイトル
c.加入者定義のカテゴリ又はタグ
d.メッセージ本文のテキスト
e.メッセージの参考資料又は強調部分
f.URI、必要に応じて
10.行動(ビデオファイル、歌曲など)に関連するファイル名及びファイル型(MIME型)
未加工行動の存在は、加入者の側の行動が発現されていることをエンジンに示す。しかし、消極的な行動(エンジンによって予測されたときに現われなかった行動)も電子的に生成され捕捉されうる。
さらに、行動リスナーによる行動情報の捕捉に関しては時間的限界がない。すなわち、ユーザによって示される行動は、設計上、エンジンによって捕捉されて使用される対応行動ファクターに関して実際に「既に起きている」必要性はない。たとえば、加入者が自分の無線PDAに翌日の会議の予定表イベントを入力している場合を考えてみよう。本発明の一実施形態において、この予定表イベントの入力は、予定表記入を生成する動作に対するトリガーと、翌日の会議に出席しているという、まだ行なわれていない動作に対する第2のトリガーとの2つの行動トリガーを生成することになる。
両方の行動は、これらの行動に関連する適切な行動ファクターを有しており、無線PDAへの予定表作成アプリケーションの関連する行動リスナーから行動−状況デュプレを生成することになる。余談として、このような実施形態は、現在の環境状況を用いて両方の行動−状況デュプレに知らせることに限定されないであろう。このような場合、第1の行動−状況デュプレ(予定表記入の生成を表わす行動を含むもの)は現在の状況を含んでいてもよいが、第2の行動−状況デュプレ(実施予定の動作を含むもの)は、予定表記入そのものなどの情報源から得られるような、未実施の動作が実施されるはずの時間、日付、及び場所をより正確に表わす状況を含んでいてもよい。
b.状況オブジェクト
未加工行動と同様に、状況オブジェクトは、状況ファクターを提供するホストシステムの要求によって決定されるように、副分類されてスーパークラスとなる傾向がある。このことは、すべてのホストシステムが包括的な一連の状況ファクターを有するエンジンを提供できるわけではないので重要である。たとえば、GPS無線を有する携帯電話や無線PDAは地理位置情報を提供することができるであろうが、このような無線を有しないデスクトップコンピュータのオペレーティングシステムはできないであろう。
ほとんどの実施において、状況サービスはマスター状況オブジェクトシングルトンを有するものとして定義され、マスター状況オブジェクトシングルトンは1つ又は複数の状況ファクターフィールド及び複数の読取り専用状況オブジェクトから成り、複数の読取り専用状況オブジェクトはエンジンの残るサービス又はホストシステムに必要に応じて生成されて展開される。各状況リスナーは、これが観察する状況ファクターに対する値を確立すると、マスター状況オブジェクト内の対応するフィールドが更新される。以下のリストは、状況サービスの採用において未完成の一連の状況ファクターを表わす。
1.場所(地理空間的、政治的、ネットワークの位置[IPアドレス、仮想位置、携帯電話ネットワーク内の位置])
2.ネットワーク特性(信号強度、ローミング状態、QoS、帯域幅など)
3.時間[実時間、ネットワーク時間、仮想時間]
4.加入者心的状態(感情フィードバック)
5.使用デバイスの製造番号(IMEI、IMSI、MACアドレスなど)
6.使用デバイスの特性(サイレント及びリンギング、有線及び無線ネットワーク採用など)
7.個人的な場所(家庭、オフィス、車両)
8.周辺デバイス(携帯電話、プリンター、RFIDタグなど)
9.周辺ネットワーク(ブルートゥース、ジグビー、RFID、NFC)
10.天候又は気温
11.加入者の電話番号及び/又は加入者ID
ここで、状況ファクターの一部はホストシステムに対する実質的な変更によってのみ提供されうるが(番号4、加入者心的状態)、ほかの一部は番号7、個人的な場所と同様に、加入者によって主観的に定義されなければならないことは注目に値する。
たとえば、加入者心的状態の具体的な事例では、携帯デバイスに関する一実施は、電話ダイアラーアプリケーション「通話終了」ボタンに、拡張して2つのソフトキーを含めることができるかもしれず、したがって、3つのキーのいずれかを押すことによって電話が切られ可能性がある。このとき、各キーは、状態を示すための数値が割り当てられることになる。左のソフトキーは満足を示すために使用され、右のソフトキーは怒りを示すために使用され、通話終了ボタンは心的状態に変化がないことを示しうる。各キーの上方にあるアイコンは、どのボタンがどれであったかを加入者に示しうる。
加入者が電話を切るとき、通話の終了時にどのような気分であったかに応じて3つのボタンの1つを選択することになる。これによって、エンジンは加入者の心的状態を大まかに捉えることができるはずである。
c.未加工行動−状況デュプレ
簡単に言うと、未加工行動−状況デュプレは、未加工行動と状況オブジェクトを分解せずに結合するオブジェクトにすぎない。ここで、これについて注目すべき理由は、エンジンのクライアント側コード104の実施の大部分で、未加工行動−状況デュプレはエンジンのサーバント側構成要素に単独で送られないことである。通常はアレイ又はリストの形態のラッパーはサーバ側ソフトウェアに一度に公開されうる。
5.推論サービス(クライアント側)
行動サービス109及び状況サービス110と同様に(また、まったく同じ理由で)、推論サービス111は、複数の異なる実施を有していてもよい。同様に、また、推論サービス111は、ホストシステムの通常のプロセスから独立して存在しうるスタンドアロンコード(アプリケーション、サービス、スレッド、又はプロセス)であるように設計される場合が多い。推論サービス111は、その主要機能がエンジンのサーバ側構成要素と通信するためにホストシステム112のルートの役目を果たすので、エンジンのサーバ側構成要素102が常駐するネットワークにアクセスすべきである。その通信用の手段は、次のセクションで議論される推論クエリと呼ばれるオブジェクトである。
動作中、推論サービス111は、ほとんど常に待ち受け状態又は休止状態にあり、レバー108から、あるいはホストシステム112から直接要求を受け入れるように呼び起こされる。受け取られる要求は、一般に、レバー又はホストシステムによって求められる行動データの型、要求に対する応答が置き換えられるべき形式、及びホストシステムのセキュリティ証明書を含む。
この情報は、転送されて推論クエリに適するように再フォーマットされ、情報に付加された最新の状況オブジェクト(状況サービス110によって提供される)を有することになる。
一部の実施において、レバー108及びホストシステム112は、それ自体の状況詳細を推論サーバ111に対する要求の一部として提供する。これが行なわれるとき、サーバ側構成要素によって返される行動データはこれらの状況詳細に関係しており、状況サービスによって提供されるような加入者の実際の環境状況には関係しない。このプロセスは、多くの場合、具体的又は歴史的な一連の加入者行動がレバー又はホストシステムによって求められるときに開始される。前述の例を参照すると、加入者が自分に起こりそうな行動が先週の火曜日であったか、それとも今から2時間後であるか、あるいは自分がほかの場所にいたかを自分のダイナミックな待ち受け画面で見たい場合、待ち受け画面レバーを指示して状況が要求の中で推論サービスに使用されるように設定し、先週の火曜日、若しくは今から2時間後、又は他の場所に一致するようにすることができる。推論サービスは状況サービスによって指定されていることになるので、推論サービスから返されるデータは、このとき、これらの状況パラメータに関連する行動を反映し、実際の現在の環境状況に関連しないことになる。
一実施形態において、推論サービスは過去の推論クエリを格納し、それに対応する、エンジンのサーバ側部分から受け取られたキャッシュを含む。このキャッシュは、指定期間内にエンジンのクライアント側部分によって作成された正確に一致する推論クエリの数を最小にするように設計される。キャッシュ内に残る項目の期間は、古すぎて信頼できない推論クエリに対する応答には頼らないように厳密に制御されてもよい。
この後、新たに生成された推論クエリは、過去の推論クエリ及び内部キャッシュに含まれる対応する応答と一致するかどうかが試験される。推論クエリがキャッシュ内の推論クエリと一致しなければ、推論サービス111によってエンジンのサーバ側部分に送出されて応答を待つことになる。
応答を受け取ると、結果は後で整合をとるためにキャッシュに入れられ、この後、レバー108及びホストシステム112によって初期の要求と一致するように再フォーマットされる。再フォーマットされた結果は、この後、通話サービス又は通話システムに提供される。
a.推論クエリ、行動アトム、データポイント、及び知識実体
推論クエリのより有意義な議論を続ける前に、最も基本的なエンジンのデータタイプである知識実体、及びその数学的に有意義な密接に関係する事項、行動アトム及びデータポイントを行動モデルの概念とともに最初に説明しなければならない。これらの様々な実体の相互関係の視覚表示に対して以下で議論する際に図2及び3を参照することができる。
知識実体201は、システムが捕捉して格納できる知識の最小ビットである。一般に、知識実体201は、以下の共通要素を含むオブジェクトと定義される。
1.実体の固有識別子
2.加入者の固有識別子
3.実体の記述(又は名前)
新たな要素が追加されてもよいが、すべての知識実体201は前述の要素を含む。とは言うものの、知識実体は、文字通り、電子的に表現されうるほとんど何であってもよい。一部の例として以下が挙げられる。
1.成句「誰がために鐘は鳴る」
2.アプリケーションiTunes
3.電話番号+1(212)555−1234
4.概念「平和」
5.16進数0x53CF0D778778D
6.日付1997年9月24日
7.URL http:/www.google.com
8.曲名「歴史は繰り返す」
9.地理空間座標「北緯37°24’53.64、東経122°5’33.6」
10.心的状態「満足」
11.事象「母と食事」
12.フランクが加入者の父親であることを指定する関係オペランド
13.2007年9月24日は月曜日であることを指定するオペランド
14.空は青いという常識
一般に、知識実体201は、以下のカテゴリの1つに分類される。(ただし、このリストは不完全であり、カテゴリ名は変更されることがある。)
1.人
2.場所(これは客観的な場所(たとえば、ワシントンD.C.ペンシルバニア通り、1700))を示していてもよく、あるいは主観的な場所(たとえば、家庭)、さらには場所に固有でない状況データ(たとえば、現在、午前3時で電話は3時間移動していない)から推論されてもよい)
3.アプリケーション
4.概念
5.物
6.URI(クリックストリーム)
7.メディア文書(歌曲、ビデオ、書籍[音楽])
8.事象
9.感情
10.関係
11.オペランド
12.常識
図2を参照すると、状況オブジェクト203と結合されるときの知識実体201は、行動アトム205と呼ばれる。行動アトムは数学的意味を有するように数学アルゴリズム209によって変換されるとき、これはデータポイント207と呼ばれる。ここで、図3を参照すると、複数のデータポイント207は、単純ベイズなどの適当なモデリングアルゴリズム303を用いて数学的意味があるように配置され、その配置の数理解析を実行するソフトウェアエンジンと結合されると、まとめて行動モデル310と呼ばれる。モデルは、一般に、構成プロセスを通じて加入者によって主観的な名前が付けられる。
一部の実施において、行動アトム205は、複数の知識実体201及び/又は状況オブジェクト203を含むように設計される。例示的な実施において、知識実体及び状況オブジェクトに関する行動アトムの値が非決定性であるように、新たなファクター(ランダム性の程度を表わすパラメータ)がこのような行動アトムに追加されてもよい。このような例示的実施の値は、ある程度の「セレンディピティ」を行動モデルに取り込むか、あるいは「忘れやすさ」をエンジンに取り込むべきである。
これらのデータ型のさらに形式的な議論が、以下で、エンジンのサーバ側構成要素の議論において行なわれる。ただし、推論クエリを理解するための基礎を提供するには上記の説明で十分である。
したがって、上記が所与とすると、推論クエリ305は以下の要素を含むオブジェクトである。
1.固有の加入者ID
2.セキュリティトークン
3.一般に状況サービス110によって提供されるサーバに対する推論クエリ305の状況。状況は1つ又は複数の以下の状況ファクターからなる。
a.場所(地理空間、政治的、ネットワークの位置[IPアドレス、仮想位置、携帯電話ネットワーク内の位置])
b.ネットワーク特性(信号強度、ローミング状態など)
c.時間[実時間、ネットワーク時間、仮想時間]
d.心的状態(感情フィードバック)
e.使用デバイスの製造番号(IMEI、IMSI、MACアドレスなど)
f.使用デバイスの特性(サイレント及びリンギングモード、有線及び無線ネットワーク使用など)
g.主観的な場所(家庭、オフィス、車両)
h.周辺デバイス
i.周辺ネットワーク(ブルートゥース、ジグビー、RFID、NFC)
j.天候又は気温
k.加入者の電話番号及び/又は加入者ID
4.推論クエリに対する応答を発生するために使用される行動モデルの名前
5.クエリの対象となる知識実体のカテゴリ。たとえば、以下の1つ。
a.人
b.場所(これは客観的な場所又は主観的な場所、さらには場所に固有でない状況データから推論されてもよい)
c.アプリケーション
d.概念
e.物
f.URI(クリックストリーム)
g.メディア文書(歌曲、ビデオ、書籍[音楽])
h.事象
i.感情
j.関係
k.オペランド
l.常識
6.クエリに対応して含まれる知識実体の数
これは、エンジンのクライアント側構成要素の記述を決定する。
II.サーバ
エンジンのサーバ側コードは、以下の6つの要素に分類するよう検討されてもよい。
1.行動サービス117
2.モデラーサービス118
3.行動モデラー119
4.行動モデル120
5.推論サービス121
6.状況サービス122
以下の議論では、これらすべての構成要素はサーバコードの単一収集の要素であると仮定しているが、互いに応答しあう必要があるすべての構成要素が互いにアクセス可能である(すなわち、すべての構成要素が同じネットワークを共有する)限り、これらはサーバコードの単一収集の要素である必要がない。一部の実施において、モデラーサービス118は、その処理がコンピュータを駆使したものとなりがちなので、したがって、アクティブなときは他のサービスの性能に害を及ぼすので、拡張可能性のために他のサービスから明確に切り離されてもよい。
以下の議論では、さらに、上記の構成要素の各々を順に詳しく説明する。
A.行動サービス(サーバ側)
エンジン内のサーバ側行動サービス117は、通常、様々なクライアント側行動サービスからの複数の同時接続を管理するように設計されるスタンドアロン・サーバ・プロセスとして実施される。一実施において、行動サービス117は、単一のTCP/IPポートを占有するが、アーキテクチャにはこのような制限がない。行動サービスの主要な機能は、クライアント側行動サービスによって提供される未加工行動−状況デュプレをデータベースに格納される行動アトムに変換することである。これを行なうために、行動サービス117は、デュプレ内の各未加工行動をその様々な行動ファクターに分けてからこれらのファクターを知識実体に分類しなければならない。この後、実体は、デュプレの行動オブジェクトを適用して行動アトムに変換される。これらのタスクを実行するために、行動サービス117は外部システムに頼ってもよく(そして、多くの場合外部システムに頼る)、その一部についてここで述べることにする。
未加工行動−状況デュプレの行動ファクターへの変換に続く知識実体への変換はコンピュータ及びメモリ資源を駆使するものとなりうるので、この変換はデュプレ(クライアント側コード)を提供するクライアントデバイス101d又はサービスで試みられないことが好ましい。さらに、前述のように、変換の一部はサーバ側行動サービス117の外部のサポートシステムによって提供される情報に依存し、したがって、デュプレを提供するクライアントデバイス101d又はサービスには必ずしも役立たないことになる。それでもやはり、クライアントデバイス又はサービスが変換のコンピュータ及びメモリ資源要件をサポートすることができれば、このような変換はデュプレを提供するデバイスで達成されて未加工行動−状況デュプレの必要性を完全に排除することができる。
行動サービス117は、以下の複数の構成要素に分解される可能性がある。
1.クライアント側から未加工行動−状況デュプレのリスト又はアレイを受け入れるか、あるいはクライアント側から未加工行動−状況デュプレのリスト又はアレイを要求するウェブサービス131。
2.デュプレを一時的に受け取る待ち行列133。
3.各デュプレを調べてこれを1つ又は複数の行動アトムに分離する少なくとも1つの行動−状況プロセッサ135。行動アトムは、さらに、プロセッサによって知識実体に変換される。
4.待ち行列内のデュプレの存在が通知されたとき、各デュプレを処理するために起動されるべき行動−状況プロセッサを決定する待ち行列マネジャー137。
5.以下の3つのリレーショナルデータベース
・未加工行動−状況デュプレを格納する未加工行動−状況デュプレデータベース(RBCD DB)139
・処理された知識実体を格納する知識実体データベース(KE DB)141
・処理が終了した時点で行動アトムを格納する行動アトムデータベース(BA DB)143
動作中に、待ち行列マネジャー137は、ウェブサービス131が未加工行動−状況デュプレのリスト又はアレイを成功裡に受け入れてそのオブジェクトを待ち行列133に入れたことが通知されると、直ちにリスト又はアレイの内容を調べる。各未加工行動−状況デュプレに対して、マネジャー137は、適切な行動−状況プロセッサを決定してこのプロセッサ135の活動を開始する。
この後、プロセッサは、アレイ又はリストから各デュプレを抽出し、そのデュプレを調べ、この後、そのデュプレ内の個々の行動ファクターを抽出する。ほとんどの場合、単一のデュプレは多数の行動ファクターに変換される。これらのファクターは1つ又は複数の知識実体に分類される。この達成方法の詳細については、知識実体が知識実体データベース141に格納される前に知識実体で新たな処理が実施されるので簡潔に触れておく。
知識実体が生成された時点で、プロセッサは、これらの実体を試験中のデュプレからの状況オブジェクトとペアにする。これら2つのオブジェクトの組合せによって、実体は行動アトムになる。新たなメタデータ、たとえば、NLP(自然言語処理)エンジンからの語幹関係(stem-relationship)メタデータが存在する場合(通常、デュプレ及び行動サービスとは別のソースからの)、これは行動アトムにこの段階で加えられる。
一部の例では、行動−状況プロセッサ135とやり取りするときのこれらの外部サービスは、行動−状況デュプレにおける知識実体とは別に新しい知識実体を生成する。何かの好循環があると、一部の行動−状況プロセッサからの知識実体は、外部サービスによって処理され、得られたデータは新たな処理のために行動−状況プロセッサ135に返される。このフィードバックループの最終結果は、新たな行動アトムの生成である。
このプロセスが完了した時点で、完成された行動アトムは行動アトムデータベース143に格納される。同様に、未加工行動−状況デュプレは、未加工行動−状況デュプレデータベース139に格納され、知識実体(新たな処理後の)は知識実体データベース141に格納される。未加工行動−状況デュプレの場合、この格納によって他のシステムによる最終的な処理が可能になるが、他のシステムのほとんどは本明細書の範囲外にある。
例として、加入者が本開示の原理に従って構成された電子書籍端末で一部のテキストを適切に「強調表示」又は選択した場合の活動から未加工行動−状況デュプレが生成された場合を考えてみよう。強調表示されたテキストは、「誰がために鐘は鳴る」であってもよく、この動作は6月1日、水曜日、午後3時に加入者の家庭で実施されてもよい。以下の行動アトムは、行動−状況プロセッサ135による処理の結果として生成されてもよい。
・行動が電子文書から生じたことを示すために、メタデータとしての「誰がために鐘は鳴る」に関するメディア文書アトム
・加入者の家庭を示す場所アトム(場合により、その場所のGPS座標に準拠した)
・「満足」(加入者の心的状態)に関する感情アトム
・電子書籍に関するアプリケーションアトム(すなわち、電子書籍がホストシステムであった)
・強調表示されたテキストの単語の各々に対する複数の個々の概念アトム(ほとんどの場合、定冠詞、“the”のようなストップワードを差し引く)
上記の最後の概念アトムに対するメタデータは、一般に、全体として、行動−状況プロセッサ自体によってではなく、メタデータを生成するための語幹抽出及びTF−IDFのような従来のテキストマイニング技法を適用する外部の自然言語処理エンジンによって生成されることになる。前述の好循環の例において、このNLPエンジンは、この後、このメタデータを行動−状況プロセッサ135にフィードバックし、行動−状況プロセッサ135は、この後、そのメタデータを知識実体に変換し、さらに行動アトムに変換する。こうする理由は次のセクションで説明する。
1.行動−状況プロセッサ
行動−状況プロセッサ135の作業は、参照テーブルの行に沿って、行動ファクターから知識−実体への簡単な1対1又は1対複数の変換となる場合が多い。これは、人間が明確に読み取れる(人間がデータを検査しようとするとき)2つの領域のマッピングを行なうことと、高速処理の終了を容易にすることの両方に対して慎重に行なわれている。より複雑な変換メカニズムが要求されるとき、行動ファクターの要素である場合の一部の未加工の非構造化テキストを処理するために自然言語プロセッサが導入されるときと同様に、新たな領域固有のプロセッサが、通常、加えられる。
一実施において、この1対1又は1対複数の変換は、「ハードワイヤー」によるコード変換であってもよい。すなわち、どれか1つの行動ファクターが常に1つ又は複数の所定の知識実体にマッピングされ、行動ファクターはその知識実体と関連するメタデータによってのみ異なる。しかし、このプロセスは、ダイナミックに行なわれうるが、さもなければ、数学アルゴリズムの影響を受けることがある。このプロセスは、さらに、エンジン自体の出力の影響を受けて、行動ファクターの知識実体への変換が状況及び/又は行動の影響をきわめて受けやすくなる可能性がある。
新しい行動ファクターがシステムに導入されると、新しいファクターが既存の未加工行動の要素であるか否かにかかわらず、行動−状況プロセッサ135に対する変更が、通常、必要となる。これらの変更は、通常、知識−実体に対する行動ファクターの1対1又は1対複数のマッピングを変更することに限定される。
2.知識実体の後処理
前述のように、知識実体システムが捕捉する知識の最小ビットである。各実体は、固有であり、以下の共通要素からなる。
1.実体の固有識別子
2.加入者の固有識別子
3.実体の記述(又は名前)
さらに、知識実体は、未加工行動−状況デュプレに関係するが、必ずしも未加工行動−状況デュプレから抽出されないメタデータを含む可能性がある。例として(過去の例から構築した)、記述「誰がために鐘は鳴る」を含む知識−実体は、以下を含む可能性のある外部手段によって提供される新たな属性を有していてもよい。
1.著者
2.長さ(テキストが抽出された作品の)
3.ジャンル
4.ISBN番号
5.URI(必要に応じて)
行動−状況プロセッサ135は、エンジン内に現在一致する実体が存在しないことが明らかになると新しい知識−実体をダイナミックに生成する。ここで実施される一致は、前述の知識−実体データベース141に対する行動−状況プロセッサによって行なわれる。新しい知識−実体が生成されると、これらは「積極性」についての初期の重み又は属性を与えられる。この属性は、この知識−実体を含む行動アトムがエンジンのリマインダーによって最終的に生成される行動モデルに含まれるべきかあるいは含まれるべきでないかの程度を示すある種のフィルターとしての役割を果たす。本発明者らは、モデルサービス118の活動を議論する際にこの属性の使用をさらに具体的に議論しよう。
この「積極性」の属性の値は、TF−IDFアルゴリズムによって制御される場合の概念アトムの知識−実体の場合と同様に、加入者によって制御されうるが、数学アルゴリズムによってダイナミックに制御されうる。一実施において、すべての知識−実体(概念アトムに関するものを除く)は最大限度の「積極性」で設定される。別の実施において、「積極性」は、知識−実体が加入者の未加工行動に現われる頻度によって影響されることがある。
B.モデラーサービス
サーバ側行動サービス117と同様に、モデラーサービス118は、一般に、スタンドアロン・サーバ・プロセスとして実施される。モデラーサービス118は、行動アトムのデータベースからのデータセットの準備に関与して最終的に行動モデルと呼ばれるデータ構造を生成する。行動モデルは、以下で詳しく議論される特定範囲の状況によって記述される境界内の加入者の歴史的行動の数学的表現である。
モデラーサービス118は、以下の4つの要素に分けられる。
1.モデル構成155
2.モデル構成データベース153
3.タスク157
4.スケジューラ151
モデル構成155は、以下を詳しく説明する1組のパラメータである。
1.行動モデルの生成に最終的に使用されるデータセットの状況境界(これは、通常、状況属性の範囲として指定される)
2.不要な行動アトムをデータセットから除去するために使用される知識実体「積極性」の程度
3.行動モデルを生成するためにデータセットで使用されるアルゴリズム又は行動モデラー(行動モデラーの詳細は行動モデルについての本発明者らの議論においてフォローする)
4.行動モデラーに有用な情報を詳述する(後で説明される)変換テンプレート
5.行動モデルが生成される頻度。なお、この頻度は構成で指定される状況範囲から完全に独立している。
モデラーサービス117は、1つ又は複数の加入者に対する複数のモデル構成をモデル構成サービス117の第2の要素であるモデル構成データベースに格納する。
モデラーサービスの第3の要素は、タスクオブジェクト157である。これは、一般に、行動モデルを生成するのに必要な手順の実行に関与するスレッドとして実施される。生成されるタスクは、モデル構成及び行動アトムデータベースに対するURIを与えられ、このデータベースからそのデータセットを得る。実行されるタスク119は、必要不可欠なデータセットを捕捉し、モデル構成155で指定されたアルゴリズム又は行動モデラー119に渡す。モデラーが行動モデルの生成を完了した時点で、タスクオブジェクト157は行動モデルを独立したデータストアに格納する。一実施におけるこのストアは、リレーショナルデータベース又はファイルシステムのいずれかによって存続されるキャッシュである。
一実施形態において、モデル構成155は、そのパラメータがタスクオブジェクト157にそのデータセットを単一の行動モデラー119に無理に適用するように実施される。他の実施形態において、タスクオブジェクト157は、より柔軟であってもよく、タスクオブジェクトがそのデータセットを複数の行動モデラー119に渡せるようにそのモデル構成155を増強してもよい。このようなシナリオで生成される行動モデルの多様性を利用すると、サーバ側推論サービス121(これはまだ議論されていない)が一連のクエリをこの1組の行動モデルに対して実行することができる。これらのクエリは、ダイナミックにかつ同時に実施され、「最も納得のいく」結果をもたらすために使用する「最良の」モデルを決定することになる。「最良の」モデル及び「最も納得のいく」結果は、クエリの結果に対する本来の目的に大きく依存する。
モデラーサービス118の第4及び最後の要素は、スケジューラ151である。これは、タスクオブジェクト157にその動作の実行を定期的に許可することに関与するスレッドである。スケジューラ151の設計はきわめて一般的であるため、スケジューラ151は複数のタスクオブジェクトが同時に動作するように設計され、スケジューラ151はそのスケジューリングを管理するために各タスクオブジェクト157でモデル構成155を使用すると言うだけで、ここでは詳細に議論しない。
1.行動モデラー及び行動モデル
行動モデラー119は、前述のタスクオブジェクト157の状況内で実行されるオブジェクトである。行動モデラー119は、行動アトムデータベース143からのデータのサブセットとしてその初期状態からのタスクオブジェクト157によって得られたデータセットを行動モデルに変換することに関与するものであり、ここで、本発明者らは行動モデルを数学アルゴリズムによって扱うことができる「データポイントの集団」と定義する。「集団」が意味するものは、データポイントの構造の手短な表現である。このデータ変換は、次のように記述される3ステッププロセスであると考えられる。
1.状況を状況値に前処理すること
2.「集団(cloud)」のデータポイントを生成すること
3.行動モデラーアルゴリズムを選択すること
行動モデラー119の作業が終了すると、加入者の歴史的行動及び環境状況の「数学的に意味のある」モデルが生成されていることになる。このモデルは、実際には、1つ又は複数の数学アルゴリズム又は機械学習アルゴリズムの実施形態であるアルゴリズムと結合された多次元の状況座標系を表わす複雑なデータ構造である。
2.行動モデラーアルゴリズム
モデラーサービス118は、これがサポートする行動モデラーアルゴリズムの各々に対して1つの、複数の行動モデラーを含む。エンジンの予測機能に対して複数のアルゴリズムをサポートするための選定は、あらゆる状況において単一のアルゴリズムは理想的でないと言わざるをえないので、入念に行なわれる。
適切な行動モデラーアルゴリズムは機械学習アルゴリズムを含むが、他のタイプのアルゴリズムもサポートされうる。行動モデラー設計によるサポートが想定される行動モデラーアルゴリズムとしては、以下が挙げられるが、これらに限定されない。
1.単純ベイズ
2.階層的単純ベイズ
3.隠れマルコフ
4.期待値最大化
5.最近傍
6.重心分類装置
7.フラクタル次元
各々が発散的なデータセット要件を有する複数の機械学習アルゴリズムを有するにもかかわらず、行動モデラー設計は、一般的な一連のAPIを各行動モデラーアルゴリズム、及び行動モデラー119の基礎構造にさらしているという現実がある。このアプローチを採用すると、複数の行動モデラーアルゴリズムを生成することができ、すべての行動モデラーがモデラーサービス118に同じに見えるようにすることができ、各行動モデラーに対して一貫した構造の行動モデルを生成することができる。本発明者らはこのアプローチには非常に大きな独自性があると考えている。また、このアプローチは、エンジンのアプリケーションを超えて様々なアプリケーションに適用できる十分に一般的なものとなされうる。
3.データポイント及びその「集団(クラウド)」
行動アトムのデータセットを「データポイントの集団」に変換するプロセスは複雑である。まず、データセット内の各行動アトムは1つのデータポイントに変換され、その構造はタスクオブジェクトのモデル構成内の変換テンプレートによって定義される。一般的に、データポイントは、状況値のアレイと結合された行動アトムの知識実体部分であると言うことができ、状況値そのものはその同じ行動アトムから抽出されている。状況値の抽出は簡潔に議論されるが、その存在の背景にある意図は、行動アトム内で捕捉される環境状況を多次元状況座標系、すなわち、距離空間における座標と同じものに分解することであり、座標は数学的に定義されるからである。このような空間は、行動モデラーアルゴリズム内で特有の意味を有し、行動モデルが加入者の行動の推測に使用されるときこの座標系に依存する。
状況値の生成の詳細を議論する前に一歩退くと、前述のようなデータポイントを多次元の「集団」状況座標系内の状況値によって示される「座標」に置かれた「属性」と考えることができる。この例えは、サーバ側推論サービスについての今後の議論に特に有用であり、したがって、ここで少し詳しく説明するに値する。
単純化された例を用いて、色が三次元(X−Y−Z)座標系におけるデータポイントの属性として関連している場合を考えてみる。この座標系の各データポイントは、X、Y、及びZの座標値とある現実世界の特性(X1Y1Z1Q)を表わす色、Qとを有する。数千個のこれらの着色されたデータポイントを有し、これらの各々を選定してプロットすると、色彩に富んだ「集団」データポイントを生成した可能性があることを理解するであろう。
例えを拡大すると、この「数多く」のX、Y、Zの値は、各々がデータポイントの状況値に対応しており、知識実体は色に対応することになる。これを行動モデラー119の設計の詳細に拡大すると、「集団」データポイントは多次元データ構造であり、この場合、データポイントは状況値によって定義される軸に沿って配置される。これらの状況値は、行動アトムの最初のデータセットに対する境界としてタスクオブジェクトのモデル構成155によって示された状況属性に直接関係する。
このように状況値を定義すると、「集団」の座標系は有界のデータセットの一部であった状況属性を含むだけであるという制限が、行動モデラー119に設けられる。したがって、たとえば、モデラーサービス118内で、状況属性が加入者の行動を予測することに対して統計的に有意であっても、加入者がその状況属性をモデル構成155に含めることを怠ったがために最終的な行動モデル含まれないことがありうる。
例として、屋外は−5℃のとき加入者が「theweatherchannel.com」ウェブサイトを偶然に訪れるだけであるが(たとえば、自分はスキーをしたくて寒いときに雪が降っている場所に関心があるため)、気温がモデル構成内の状況属性の境界の1つとして含まれていなかった場合、行動モデラーのアルゴリズムは気温がその加入者の将来の行動において重要なファクターであったことを確証できなかったことになる。
4.状況値の前処理及び生成
状況値を抽出する多段階プロセスは、行動モデラー119によって行動アトムの状況部分内の各状況属性を調べることから始まる。第1ステップとして、状況属性はそれ自体の「数値」表現又は「公称」表現に変換される。
この数値又は公称値は、この後、その構造において、表現されている属性の特徴と属性の「数学的意味」の両方を捕捉するオブジェクトに再計算される。文字通りの意味で、これは、数値又は公称値が表現されている状況の種類又はタイプに固有の新しい状況値オブジェクト内に置かれることを意味する。たとえば、−5℃の気温に対する状況属性は、−5の数値の摂氏気温状況値に変換されることになる。
この変換の理由は、新しい状況値が「集団」に関連する行動モデラーアルゴリズムのソフトウェア技法と明確に一致するスカラー値の「数学的意味」を定義するソフトウェア技法をカプセル化することである。「数学的意味」では、事実上、状況値が明確な距離空間に属する(すなわち、距離空間は反射性、対称性、及び三角不等式に関する公理を満たす対応する距離関数を有することになる)ことになる。
行動アトムに関するすべての状況値が生成された時点で、これらの状況値は事実上アレイになる特定の順番で置かれる。このアレイは、行動モデラーアルゴリズムの多次元座標系内の状況属性の座標位置を定める。この座標は、この後、行動アトムの知識−実体に結合されてデータポイントになる。
このプロセスは、各行動アトムが変換されてしまうまで続く。得られる「集団」は新しい行動モデルに渡され、ここで、タスクのモデル構成155で定義された行動モデルアルゴリズムによって結合される。
C.推論サービス(サーバ側)
推論サービス121は以下の4つの要素を備える。
1.クライアントがエンジンの推論クエリを行なうことができるウェブ・サービス・インターフェース167
2.複数の推論クエリが同時に処理されうる待ち行列又はプール163
3.クエリ自体の実施手順を実行するクエリスレッド165
4.ある期間内に同じモデルで正確な複製クエリが実施されないようにするために各クエリと照合される推論クエリキャッシュ167
ウェブサービス161は、ネットワーク上で推論クエリを受け取るネットワーク・インターフェース・ソフトウェアの妥当な実施から作られうる。
動作中に、まず、ウェブサービス161は、クライアントコードから推論クエリを受け取る。前述のように、推論クエリは以下を含む。
1.固有の加入者ID
2.セキュリティトークン
3.クエリの状況。状況は1つ又は複数の以下の属性からなる。
a.場所(地理空間、政治的、ネットワークの位置[IPアドレス、仮想位置、携帯電話ネットワーク内の位置])
b.ネットワーク特性(信号強度、ローミング状態など)
c.時間[実時間、ネットワーク時間、仮想時間]
d.心的状態(感情フィードバック)
e.使用デバイスの製造番号(IMEI、IMSI、MACアドレスなど)
f.使用デバイスの特性(サイレント及びリンギングモード、有線及び無線ネットワーク使用など)
g.主観的な場所(家庭、オフィス、車両)、常に加入者定義
h.周辺デバイス又は周辺ネットワーク(ブルートゥース、ジグビー、RFID、NFC)
i.天候又は気温
j.加入者の電話番号又は加入者ID
4.クエリに使用されるモデルの名前
a.名前は、加入者がモデル構成を生成するとき加入者によって任意に選定される。モデル構成の名前はモデル自体の名前である。
5.クエリの対象となる行動−実体のタイプ。これは以下の1つである。
a.人
b.場所(生成されないが状況データから推論されうる)
c.アプリケーション
d.概念
e.物
f.URI(クリックストリーム)
g.メディア文書(歌曲、ビデオ、書籍[音楽])
h.事象
i.感情
j.関係
6.クエリに対応して含まれる行動実体の数
推論サービス121は、推論クエリを捕捉し、データポイントの生成に使用される適切なモデル構成155を参照するためにクエリ内にモデルの名前を使用する。推論サービス121がモデル構成を有した時点で、推論サービス121は、行動実態が空の新しいデータポイントを効果的に生成するための指針としてモデル構成を使用する。このデータポイントは、モデルに対するアプリケーションに適している。この新しいデータポイントに対する状況座標は、推論クエリから抽出される状況属性から生成される。すべての状況属性が生成されている各モデルに適しているわけではないので、状況属性について何らかのフィルタリングが実施されてもよい。行動実態が空のデータポイントが生成された時点で、推論サービス121は、データポイントを使用して推論クエリキャッシュ167を参照し、まさに実行されようとしているものと同じ結果をもたらす分析をシステムが最近実行しているか否かを判断する。参照の一致に関する基準は以下の通りである。
1.データポイントの状況座標
2.モデルの名前
3.求められる行動のタイプ
キャッシュ167の結果を使用するために、上記基準の各々に対して正確な一致があるべきである。正確な一致がない場合、推論サービス121は、モデル名と行動実体名を用いてモデルを捕捉し、データポイントをモデルのクエリインターフェースに適用する。生成されて名前が付けられたモデルは、単一の行動モデラーアルゴリズムを適用して唯一の行動実体型の1組の結果を生成することを目的としていることに留意しておくことが重要である。これは効率性を考えて行なわれる。先に議論された行動モデラーアルゴリズムは、モデルの適用されたデータポイントの状況座標を満たすデータポイントデュプレのランク付けリストを生成する。これらのデュプレは、データポイントが状況座標にいかに良く一致したかに関して0〜1の「信頼スコア」が付加された、文字通り、モデルからのデータポイントである。このスコアは、行動モデラーアルゴリズムによって実施される計算の副産物である。推論サービスは、この後、ランク付けリストを構文解析して最初の推論クエリで要求された行動実体の数を抽出する。実体のその数が得られた時点で、オブジェクトはウェブ・サービス・インターフェースを通じて呼出しクライアントに返される。
先に記載したばかりのサーバ側推論サービスによる使用において、データポイントの知識実体部分には何もない状態であり、したがって、そのデータポイントを行動モデルのクエリインターフェースに適用することによってデータが増える可能性がある。このアプローチの場合、データポイントは、行動モデルのクエリインターフェースに適用された時点で、状況値の格付けリスト及び「信頼スコア」によってデータが増えた状態になる。この方法を使用すると、エンジンは状況を所与としてもはや人間行動を予測しなくなり、加入者の人間行動を所与として状況を予測する。エンジンは、質問「どんな一連の状況下で加入者がこの行動又は一連の行動を実施すると期待すべきか?」に回答する。
この代替アプローチは、特に監視区域で多数のアプリケーションをもたらす。法律執行の例において、このような方式は、エンジンに格納されたデータへのアクセスが可能で、かつ行動追跡のリストが手元にあるという条件で、容疑者の場所を予測する有効な方法になる。たとえば、このようなアプローチを用いると、法律執行当局は、周知の重犯罪人が自分の母親の誕生日に母親に電話するという情報のみを所与として、予想されるその犯罪人の居所に気付くかもしれない。推論クエリは、このような電話がかけられたときに周知の重犯罪人が居合わせた場所一式を返すことができるようなデータから作られうる。
別の例において、広告代理店は、加入者に金融サービス広告を示す最も有効な時間帯を確認して、加入者が仲介業者に電話した後マーケティングメッセージの影響を最も受けやすいことを知りたい場合がある。記載された行動に関する推論クエリを生成することによって、広告代理店は、広告が最も有効と考えられる時間帯の格付けリストを受け取ることができる。
D.状況サービス(サーバ側)
状況サービス122は、クライアント側の対応プロセスとまさに同様に機能するスタンドアロンプロセスである。状況サービス122は、サーバ側状況サービス122がマスター状況オブジェクトを管理しないという点において注目すべき違いがある。状況サービス122は、代わりに状況データベース179を維持する。この状況データベース179は、すぐ後で説明する記録状況ファクター(Recorded Context Factor)と呼ばれる新しい状況関連オブジェクトが投入される。サーバ側状況サービス122の主要な機能は、ギャップを埋める参照テーブルとしての役目を果たすことであり、ギャップはサーバ側の推論サービス121及び行動サービス117から提供される様々な状況オブジェクトに時々現われる。
状況サービスは以下の5つの要素に分類される。
1.状況サービスのウェブサービス171
2.状況待ち行列173
3.状況待ち行列マネジャー175
4.記録状況ファクターインターフェース177
5.記録状況ファクターデータベース179
実際に、状況サービスのウェブサービス171は、様々なクライアント側状況サービス110から状況オブジェクトを定期的に受け取る。これらの状況オブジェクトは、各々がタイムスタンプなどの多数の状況ファクターを含む。ウェブサービス171は、これらの状況オブジェクトを受け取ると、これらのオブジェクトを状況待ち行列173に入れて、状況待ち行列マネジャー175に通知する。状況待ち行列マネジャー175は、このような通知を受け取ると、状況待ち行列173から状況オブジェクトを得て、これを「展開」し、独立した状況ファクターを抽出する。状況待ち行列マネジャー175は、この後、各状況ファクターに対して個別の記録状況ファクターオブジェクトを生成し、キーとして状況オブジェクト内のタイムスタンプを利用する。新しい記録状況ファクターは、この後、最初の状況ファクター及びこのキーを含む。
記録状況ファクターは記録状況ファクターデータベース179に格納され、記録状況ファクターデータベース179は、一部の実施において、さらに正確には永続的データストアと呼ばれ、リレーショナルデータベースの代わりにキャッシュ及び場合によりファイルシステムを含む。
未加工行動又は推論クエリ内の状況オブジェクトが1つ又は複数の状況ファクターを欠いていると、サーバ側行動サービス117若しくは推論サービス121が判断するとき、記録状況ファクターインターフェースを用いて記録状況ファクターデータベース179を参照する。欠けているファクターが異なるクライアントによって提供されていれば、これらのファクターは状況オブジェクトに対するギャップを埋めるために行動サービス117又は推論サービス121に返される。
例として、加入者が本開示の原理に従って構成された自分のデスクトップマシンでウェブを定期的にブラウジングしていてもよいと考えよう。そのマシンは、エンジンのサーバ側行動サービス117に未加工行動を定期的に提供する。しかし、ほとんどのデスクトップマシンは位置認識しないので、これらのマシン上でクライアントによって提供される状況オブジェクトは位置状況ファクターを欠いていることになる。しかし、加入者が本開示の原理に従って構成された位置認識を含む携帯電話機を携行している場合、その携帯電話機から定期的に提供される状況オブジェクトは位置状況ファクターを含むことになり、これらのファクターがギャップを埋めるために使用されることができる。サーバ側状況サービス122が生成されたのはこの理由による。
III.数学的観点から
行動モデラーアルゴリズムは、前述のように、「集団」及び特定の推論クエリにおけるデータポイントに基づいて加入者の好みを予測する1つ又は複数の数学的アルゴリズム又は機械学習アルゴリズムの実施形態である。さらに具体的には、行動モデラーアルゴリズムは、特定の行動内で加入者の収集行動を表わす「データポイントの集団」と一緒にエンジンのモデルの一部を形成する。使用中、これらのアルゴリズムは、エンジンの推論サービスから行動実体が空のデータポイントを提供され、1組の行動実体及び信頼スコアを生成する。
クライアント側及びサーバ側のソフトウェア構成要素を説明してきたが、行動モデラーアルゴリズムについては整っている。データポイントの収集に基づいて物事の予測に一般的に使用される数多くの周知の統計モデルアルゴリズムがあり、事実上、これらはいずれも本システムにおいて行動モデラーアルゴリズムとして使用されうる。前述のように、種々の推論クエリが種々の統計モデルアルゴリズムによってより良い働きをするかもしれない(すなわち、1つの統計モデルアルゴリズムが所与のケースにおいて別の統計モデルアルゴリズムよりも加入者の好みをより正確に予測するかもしれない)。このようなアルゴリズムは、行動モデラーアルゴリズムの1つとして使用するために当業者によって容易に改作されうる。
IV.フローチャート
上記のように、本発明の様々な構成要素及び動作を説明してきたが、図4〜10は、本発明の様々な態様に従う動作の流れの説明に役立つチャートを示す。
A.状況情報の連続収集(クライアント側)
図4は、クライアント側ソフトウェアの進行している状況情報収集プロセスを示し、このソフトウェアは状況リスナー107によって検出される最新状況情報で状況サービス110を定期的に更新する。ステップ401において、トリガー状況事象が発生する。これは、2分ごとに切れるように設定されるタイマーにすぎなくてもよい。つぎに、ステップ403において、状況事象は状況リスナー107によって検出される。状況リスナー107は、この後、状況情報を状況ファクターの形で収集し、状況ファクターは、この後、ステップ405において、状況サービス110に報告される。最終ステップ407において、状況サービスは、新しい状況ファクターをマスター状況オブジェクト(その状況ファクターに対する値がまだ存在しない場合)に加えるか、あるいはマスター状況オブジェクト内の既存の状況ファクターを新たに報告されたデータで更新する。このプロセスはステップ409において終了する。
B.行動情報及び状況情報の収集(クライアント側)
図5は、モデルを生成するのに必要な行動及び状況データの収集に関係するクライアント側ソフトウェアの例示的なプロセスの流れを示す。プロセスは、トリガー行動、たとえば、加入者が無線PDAで通話することに応答して開始される。
したがって、ステップ501において、未加工行動のトリガーが発生する。つぎに、ステップ503において、行動リスナー106がトリガー行動を検出してその行動を表わす行動ファクターを収集する。ステップ505において、行動リスナー106は、検出された行動(図4のフローチャートに示されたプロセスによって収集されるような)の周囲の最新の行動情報を収集するために状況サービス110を呼び出す。ステップ509において、状況サービス110は、行動が発生した状況に関するロウデータを含む状況オブジェクトを生成する。状況サービス110は、状況オブジェクトを行動リスナー108に返し、ステップ511において、行動リスナーは、行動−状況デュプレを生成し、これを行動サービス117に提供する。
つぎに、ある時点において、1つ又は複数の格納された行動−状況デュプレがサーバ側ソフトウェアに送られる。たとえば、ステップ513において、行動サービス109は、1つ又は複数の行動−状況デュプレ(行動−状況デュプレリストと呼ばれる)を含むメッセージを生成して本発明のサーバ側部分に送る。このプロセスはステップ515において終了する
C.行動−状況デュプレ(サーバ側)
図6は、行動−状況デュプレリストを行動アトムに変えて行動アトムデータベース143に格納するために、クライアント側ソフトウェアから受け取った上記の行動−状況デュプレリストの処理に関係するプロセスの流れを示す。この流れは、行動−状況デュプレリストがクライアント側ソフトウェア(図5におけるステップ513参照)から受け取られると呼び出される(ステップ601)。行動−状況デュプレリストを受け取ると、流れはステップ603に進み、ここで、行動ウェブサービス131が呼び起こされる。ステップ605において、行動サービスのウェブサービスは受け取られたリストの未加工行動−状況デュプレを待ち行列133に書き込む。つぎに、ステップ607において、行動待ち行列マネジャー137がリストの内容を調べて各デュプレを抽出し、この後、適切な行動状況プロセッサ135を起動してデュプレの処理に使用する。
ステップ609において、具体的なプロセッサ135がそのデュプレ内の個々の行動ファクターを抽出する。ほとんどの場合、単一のデュプレが多数の行動ファクターに変換される。
つぎに、ステップ611において、これらの行動ファクターの各々は、1つ又は複数の知識実体に分解される。ステップ613において、行動状況プロセッサ135は、これらの知識実体を試験中のデュプレからの状況オブジェクトと組み合わせて行動アトムを生成する。ステップ615において、行動アトムは、行動アトムデータベース143に書き込まれる。さらに、行動状況プロセッサ135は、ステップ601において受け取られた最初の未加工行動−状況デュプレを未加工行動状況データベース139に格納する。ステップ619において、行動状況プロセッサ135は、さらに、抽出された知識実体(ステップ611参照)を知識実体データベース141に格納する。プロセスはステップ621において終了する。
D.状況情報の追加収集(クライアント側)
前述のように、図5のフローチャートに示されたプロセスと独立に状況情報を収集することが望ましいことがあり、その場合、このような収集は未加工行動の発生によってトリガーされる。トリガー行動と独立の状況情報の収集によって、一定の状況における、ある行動の欠如をモデル化できることになり、このことは加入者デバイスを行動情報としてカスタマイズするためにも同様に有用でありうる。したがって、図7は、図5(これは、未加工行動の検出に応答して状況情報を収集することに関係する)のフローチャートに示されるプロセスから独立した状況情報を収集するクライアント側ソフトウェアの第2の処理を示す。
ステップ701において、状況サービス110は、状況リスナー107を呼び出して状況情報を収集する。ステップ703において、状況リスナー107は、状況ファクターを検知して収集すべき状況データを決定し、この後、それを収集する。ステップ705において、状況リスナーは、収集されたデータを状況サービスに報告し、状況サービスは、この後、状況オブジェクトを生成する。ステップ707において、状況サービスは、状況オブジェクトをサーバ側ソフトウェアに送る。このプロセスはステップ709において終了する。
E.状況オブジェクトの処理(サーバ側)
図8は、クライアント側ソフトウェア(図4に示されるプロセスのステップ413において送られるような)から状況オブジェクトを受け取ることに対応するサーバ側動作を示す。ステップ801において、状況オブジェクトは、クライアント側ソフトウェアから受け取られる。ステップ803において、状況サービス122におけるウェブサービス171は、状況を処理するために呼び出される。ステップ805において、状況サービスのウェブサービス171は、状況オブジェクトを状況待ち行列173に書き込む。ステップ807において、状況待ち行列マネジャー175は、待ち行列173から状況オブジェクトを捕捉し、これを「展開」して独立した状況ファクターを抽出する。ステップ809において、待ち行列マネジャー175は、状況オブジェクト内でタイムスタンプをキーとして利用して各状況ファクターに対して独立した記録状況ファクターオブジェクトを生成する。
ステップ811において、状況待ち行列マネジャー175は記録状況ファクターオブジェクトを記録状況ファクターデータベース179に書き込む。このプロセスはステップ813において終了する。
F.行動モデルの生成(サーバ側)
図9は、行動モデルを生成するモデラーサービス118に関連するプロセスの流れを示す。これは、収集された行動及び状況情報から行動モデルを生成するプロセスであり、これによって、推論クエリは、応答、たとえば、状況に基づく1つ又は複数のユーザの好み(具体的なレバーに応じた)を得るために動作しうる。ステップ901において、モデルサービス118のスケジューラ151は、タスク157を呼び出し、さらに、モデル構成データベース153を閲覧して、行動モデルを生成するために使用される特定のモデル構成155を検索する。つぎに、ステップ903において、タスク157は、行動アトムデータベース143から適切なデータセットを検索し、このデータセットを行動モデラー119に渡す。ステップ905において、行動モデラー119は行動モデルを生成する。ステップ907において、タスク157は、上記の生成された行動モデルを行動モデル・データ・ストア120に格納させる。このプロセスはステップ909において終了する。
G.推論クエリの定式化(クライアント側)
図10は、推論クエリの生成とサーバ側のソフトウェアへの伝達のための一例示的実施形態に従うクライアント側のソフトウェアのプロセスの流れを示す。ステップ1001では、自動的又は何らかのユーザの行為のいずれかにより事象が発生し、それが関連するレバー108を起動する。たとえば、レバーが無線PDAの待ち受け画面のペインターである場合、このレバーは、デバイスのディスプレースクリーンを待ち受け画面のイメージで塗る必要があって、ユーザがPDAを休止モードから起こすためにボタンを押すことであってよい。ステップ1003では、レバー108は推論サービス111を呼び出す。ステップ1005では、推論サービス111は状況サービス110を呼び出す。ステップ1007では、状況サービス110は状況オブジェクト(図4との関連で上述された)を生成する。ステップ1009では、状況サービス110状況オブジェクトを推論サービス111に戻す。ステップ1011では、推論サービス111は推論クエリを生成するために状況オブジェクトをレバー情報と組み合わせる。ステップ1013では、推論サービス111は推論クエリをサーバ側のソフトウェアに送り出す。このプロセスはステップ1015で終了する。
H.推論クエリ応答の生成(サーバ側)
図10はクライアント側のソフトウェアからの推論クエリの受け取りに応答するサーバ側のプロセスの流れを示す(すなわち、図10のステップ1013)。ステップ1101では、サーバ側のソフトウェアがクライアント側のソフトウェアから推論クエリを受け取る。ステップ1103では、推論サービス121のウェブサービス161が起こされる。ステップ1105では、ウェブサービス161が推論クエリを推論サービス待ち行列に書き込む。
次に、ステップ1107では、クエリスレッド165が呼び出され、適当なモデル構成を参照するために、推論クエリ内でモデルの名前を使用する。ステップ1109では、推論サービス121は、新しいデータポイントを空の行動実体とともに生成するためのガイドとして構成を使用する。ステップ1111では、クエリスレッド165は、最近同じデバイスからの同じ推論クエリを情報提供したかを決定するために、最初に推論サービス待ち行列163を確認する。そうであった場合、フローはステップ1113に進み、ここで対応する推論クエリ応答が推論クエリキャッシュ167から検索される。ついで、フローはステップ1115に進み、ここで推論クエリ応答が要求クライアント側のソフトウェアへ返される。このプロセスはステップ1117で終了する。
もし、一方で推論クエリが推論クエリキャッシュ167の中に見出されない場合、かわりにフローはステップ1111からステップ1119に進む。ステップ1119では、推論サービスは、この特定の推論クエリのための適切なモデルを検索するために、前述のモデルの名前及び行動実体の名前を用いて行動モデル・データ・ストア120に行く。次に、ステップ1121では、推論クエリへの回答を得るために、推論サービス121は前記モデルを起動して、このモデルの中でデータポイントを空の行動実体とともに稼動させる。次に、ステップ1123では、推論サービス121は推論クエリ応答を生成する。
ついで推論クエリ応答を要求クライアント側のソフトウェアに返すために、フローはステップ1115に進む。このプロセスはステップ1117で終了する。
このようないくつかの本発明の特定の実施形態を記載したが、当業者はさまざまな変更、修正、及び改良を容易に思いつくであろう。
この開示により明白にされたそのような変更、修正、及び改良は、ここで明示的に言明されてはいないが、この明細書の一部となることが意図され、及び本発明の精神と範囲に含まれることが意図されている。したがって、上述の記載は、単に例示のためのものであって、本発明を限定するものではない。本発明は、以下の請求項とその等価物において定義されるたようにのみ限定される。

Claims (22)

  1. デバイスの状況の関数としてのデバイスの挙動を、少なくともそのデバイスの使用者の状況の関数としての行動の観察に基づいて修正する方法であって、
    デバイスに関連する状況情報を追跡すること、
    デバイスのユーザのデバイスに関連する行動情報を追跡すること、
    デバイスに関連するユーザの行動が示されたときの状況を決定するために、行動情報と状況情報を関連付けること、
    追跡した状況情報及び追跡した行動情報に基づいて、デバイスのユーザの、状況の関数としてのデバイスに関連する将来の行動の予測モデルを生成すること、並びに
    デバイスに関連する状況情報の関数としてのデバイスの動作に基づいて調整することを含む方法。
  2. 前記状況情報の追跡が、所定のトリガー事象の生起についての状況情報の例を収集することを含み、
    前記行動情報の追跡が、ユーザのデバイスとの相互作用の例を収集することを含み、及び
    前記関連付けることが、行動情報の例について、行動情報の例の収集に先立つ最も新しい状況情報の例を検索することを含む、請求項1に記載の方法。
  3. 前記行動情報の追跡が、ユーザのデバイスとの相互作用の例を検出すること、及びユーザの相互情報の行動情報の例を保存することを含み、並びに
    前記状況情報の追跡が、ユーザのデバイスとの相互作用の例の検出に応答する状況情報の例を収集することを含む、請求項1に記載の方法。
  4. 前記デバイスがネットワーク上のノードであり、さらに状況情報の追跡及び行動情報の追跡がこのデバイスで遂行され、前記生成することがこのネットワークの別のサーバノードで遂行されるネットワーク環境内で前記方法が遂行され、
    状況情報及び行動情報がこのネットワークを介して前記サーバノードに伝達されることをさらに含み、
    前記調整することが、
    デバイスについての状況情報の例を含むデータセットを予測モデルに適用すること、
    状況情報の例を含むデータセットの関数としての予測されたユーザ行動を予測モデルから決定すること、並びに
    デバイスの作動パラメータを予測行動に基づいて調整することを含む、請求項2に記載の方法。
  5. 前記デバイスの作動パラメータがデバイスの待ち受け画面のディスプレーの構成を含む、請求項4に記載の方法。
  6. 前記予測モデルが、行動情報及びネットワーク上の他のデバイスの他のユーザの対応する状況情報の関数として生成される、請求項4に記載の方法。
  7. 追跡された行動情報が、特定の状況での行動の欠如をさらに含む、請求項6に記載の方法。
  8. 前記デバイスが複数のデバイスを含み、前記調整することが、第二のデバイスについて収集される情報に基づいて第一のデバイスの作動を調整することを含むことができる、請求項4に記載の方法。
  9. 予測モデルを生成するための複数のモデリングアルゴリズムを提供すること、及び
    デバイスについての状況情報の例を含むデータのセットの関数として、1つのモデリングアルゴリズムを選択することをさらに含む、請求項4に記載の方法。
  10. 予測モデルを生成するための複数のモデリングアルゴリズムを提供することをさらに含み、及び
    前記調整することが、
    デバイスについての状況情報の例を含むデータセットを少なくとも2つの予測モデルに適用すること、
    少なくとも2つの予測モデルのそれぞれから、状況情報の例を含むデータセットの関数としてのユーザの予測行動を決定すること、
    少なくとも2つのモデルから、よりよい予測行動を与えるものを1つ選択すること、及び
    デバイスの作動パラメータを選択された予測行動に基づいて調整することを含む、請求項4に記載の方法。
  11. デバイスの状況の関数としてのデバイスの挙動を、少なくともそのデバイスのユーザの状況の関数としての行動の観察に基づいて修正する方法であって、
    デバイスに関連する状況情報を追跡すること、
    デバイスに関連するデバイスのユーザの行動情報を追跡すること、
    対応する状況情報の例と組み合わされた知識実体を含む行動アトムを生成し保存すること、
    状況の関数としての、デバイスのユーザの将来のデバイスに関連する行動の予測モデルを生成すること、
    組織化されたデータポイントのセットを生成するために、モデリングアルゴリズムを前記行動アトムに適用すること、
    行動情報を含まない状況情報のセットを含む空のデータポイントを生成すること、
    空のデータポイントを前記モデルに適用することにより、デバイスのユーザの予測行動を生成すること、及び
    予測行動の関数としてのデバイスの作動を調整することを含む方法。
  12. 前記予測行動を生成することが、トリガー事象に応答して遂行され、
    トリガー事象を検出すること、及び
    前記トリガー事象に応答して状況情報の例及び予測されるべき少なくとも1つの行動タイプを含む推論クエリを生成することをさらに含み、
    前記推論クエリ中で特定される前記行動タイプの予測行動の生成が、前記推論クエリに応答して遂行される、請求項11に記載の方法。
  13. 推論クエリの記憶及びそれに対する回答を維持し、
    推論クエリへの回答による予測行動の生成に先立ち、推論クエリの記憶を確認して、同様の推論クエリが以前に情報提供されたかを決定するためにそれに回答し、及び
    同様の推論クエリが以前に情報提供されていた場合、対応する推論クエリ応答を用いることをさらに含む、請求項12に記載の方法。
  14. 前記推論クエリが、推論クエリに対する回答を生成するために用いられる予測モデルのアイデンティティをさらに含み、及び推論クエリにおいて特定される予測モデルが推論クエリ応答を生成するために用いられる、請求項12に記載の方法。
  15. デバイスの状況の関数としてのデバイスの挙動を、少なくともそのデバイスのユーザの状況の関数としての行動の観察に基づいて修正する方法であって、
    デバイスの使用の複数の例を含む行動情報を収集すること、
    その各状況が、以後、状況オブジェクトと称される、デバイスの使用の複数の例の1つの例に対応するデバイスの状況の複数の例を含む状況情報を収集すること、
    デバイスの使用の例を対応する状況オブジェクトとともに含む行動−状況デュプレを生成すること、
    それぞれの行動−状況デュプレから行動因子を抽出すること、
    それぞれの行動因子を少なくとも1つの知識実体に変換すること、
    それぞれの知識実体を、その知識実体が導出された行動−状況デュプレの状況オブジェクトと組み合わせること(この組み合わせは、以後、行動アトムと称される)、
    前記行動アトムから、行動アトムから導出された複数のデータポイントを含むデバイスに関連する使用行動の予測モデルを生成すること、
    状況オブジェクトを含む推論クエリを生成すること、
    推論クエリから、状況オブジェクトを含む空のデータポイントを生成すること、
    状況オブジェクトの関数としてのデバイスのユーザの推測行動を含む推論クエリ応答を生成するために、空のデータポイントを予測モデルに適用すること、及び
    推論クエリ応答の関数としてデバイスの作動を修正することを含む方法。
  16. 推論クエリ及び対応する推論クエリ応答を記憶し、
    推論クエリの生成に応答して、同様の推論クエリへの推論クエリ応答が以前に記憶されているかを決定すること、及び
    同様の推論クエリが以前に記憶されている場合、即時の推論クエリへの推論クエリ応答を生成するために、以前に記憶されている推論クエリに対応する推論クエリ応答を用いることをさらに含む、請求項15に記載の方法。
  17. 状況の関数としてのデバイスに関する行動の欠如(以後、、空の状況オブジェクトと称される)を追跡する目的で、デバイスの付随する使用にかかわりなく状況オブジェクトを収集すること、及び
    前記モデルのための追加データポイントを生成するために、行動−状況デュプレと同様に空の状況オブジェクトを処理することをさらに含む、請求項15に記載の方法。
  18. 前記推論クエリが、
    サーバにおいて複数の予測モデルを提供し、及び
    対応する推論クエリの関数として予測モデルを1つ選択する、請求項15に記載の方法。
  19. 前記推論クエリが、さらに推論クエリと関連して用いる予測モデルの1つのアイデンティティをさらに含む、請求項18に記載の方法。
  20. 前記デバイスが複数のデバイスを含み、及び前記修正することが、第二のデバイスについて収集された情報に基づいて、第一のデバイスの作動を修正することを含む請求項15に記載の方法。
  21. 自発的行動が示される状況を、少なくともデバイスのユーザの状況の関数としての行動の観察に基づいて予測する方法であって、
    デバイスに関連する状況情報を追跡すること、
    デバイスに関連するデバイスのユーザの行動情報を追跡すること、
    デバイスに関連するユーザの行動が示される状況を決定するために、行動情報を状況情報と関係付けること、
    追跡した状況情報及び追跡した行動情報に基づいて、状況の関数としてのデバイスのユーザの将来のデバイスに関連する行動の予測モデルを生成すること、及び
    前記予測モデルに基づいて、デバイスに関連する行動の関数としてのデバイスのユーザの状況を予測することを含む方法。
  22. 前記状況情報を追跡することが状況情報の例を収集することを含み、
    前記行動情報を追跡することが、ユーザのデバイスとの相互作用の例を収集することを含み、
    前記関係付けることが、行動情報の例について時間的に対応する状況情報を検索することを含み、並びに
    前記予測することが、
    デバイスに関連する行動情報の例を含むデータセットを予測モデルに適用すること、及び
    予測モデルから、行動情報の例を含むデータセットの関数としてのデバイスの状況情報の予測されたセットを決定することを含む、請求項21に記載の方法。
JP2011500956A 2008-03-19 2009-03-19 行動パターンを検出する方法及び装置 Pending JP2011517494A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US3789708P 2008-03-19 2008-03-19
US61/037,897 2008-03-19
PCT/US2009/037673 WO2009117582A2 (en) 2008-03-19 2009-03-19 Method and apparatus for detecting patterns of behavior

Publications (2)

Publication Number Publication Date
JP2011517494A true JP2011517494A (ja) 2011-06-09
JP2011517494A5 JP2011517494A5 (ja) 2012-05-10

Family

ID=41089859

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011500956A Pending JP2011517494A (ja) 2008-03-19 2009-03-19 行動パターンを検出する方法及び装置

Country Status (6)

Country Link
US (1) US20090240647A1 (ja)
EP (1) EP2266078A2 (ja)
JP (1) JP2011517494A (ja)
CN (1) CN102037481A (ja)
CA (1) CA2719007A1 (ja)
WO (1) WO2009117582A2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015534686A (ja) * 2012-09-25 2015-12-03 セラノス, インコーポレイテッド 回答の較正のためのシステムおよび方法
JP2017142811A (ja) * 2012-10-19 2017-08-17 フェイスブック,インク. モバイルデバイスユーザの将来の状態を予測することに関する方法
JP2020013547A (ja) * 2018-04-27 2020-01-23 タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited ドメイン適応可能人間行動推論のための統合されたプラットフォーム
JP7475956B2 (ja) 2020-05-14 2024-04-30 株式会社日立製作所 推論方法、機械学習推論システム及びコンピュータプログラム

Families Citing this family (129)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8122094B1 (en) * 2008-11-05 2012-02-21 Kotab Dominic M Methods for performing an action relating to the scheduling of an event by performing one or more actions based on a response to a message
US8260729B2 (en) * 2008-11-21 2012-09-04 The Invention Science Fund I, Llc Soliciting data indicating at least one subjective user state in response to acquisition of data indicating at least one objective occurrence
US8239488B2 (en) * 2008-11-21 2012-08-07 The Invention Science Fund I, Llc Hypothesis development based on user and sensing device data
US8260912B2 (en) * 2008-11-21 2012-09-04 The Invention Science Fund I, Llc Hypothesis based solicitation of data indicating at least one subjective user state
US8103613B2 (en) * 2008-11-21 2012-01-24 The Invention Science Fund I, Llc Hypothesis based solicitation of data indicating at least one objective occurrence
US8244858B2 (en) * 2008-11-21 2012-08-14 The Invention Science Fund I, Llc Action execution based on user modified hypothesis
US8046455B2 (en) * 2008-11-21 2011-10-25 The Invention Science Fund I, Llc Correlating subjective user states with objective occurrences associated with a user
US8028063B2 (en) * 2008-11-21 2011-09-27 The Invention Science Fund I, Llc Soliciting data indicating at least one objective occurrence in response to acquisition of data indicating at least one subjective user state
US8010662B2 (en) * 2008-11-21 2011-08-30 The Invention Science Fund I, Llc Soliciting data indicating at least one subjective user state in response to acquisition of data indicating at least one objective occurrence
US8005948B2 (en) * 2008-11-21 2011-08-23 The Invention Science Fund I, Llc Correlating subjective user states with objective occurrences associated with a user
US8224956B2 (en) * 2008-11-21 2012-07-17 The Invention Science Fund I, Llc Hypothesis selection and presentation of one or more advisories
US8010663B2 (en) * 2008-11-21 2011-08-30 The Invention Science Fund I, Llc Correlating data indicating subjective user states associated with multiple users with data indicating objective occurrences
US20100131607A1 (en) * 2008-11-21 2010-05-27 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Correlating data indicating subjective user states associated with multiple users with data indicating objective occurrences
US8127002B2 (en) * 2008-11-21 2012-02-28 The Invention Science Fund I, Llc Hypothesis development based on user and sensing device data
US8086668B2 (en) * 2008-11-21 2011-12-27 The Invention Science Fund I, Llc Hypothesis based solicitation of data indicating at least one objective occurrence
US8032628B2 (en) * 2008-11-21 2011-10-04 The Invention Science Fund I, Llc Soliciting data indicating at least one objective occurrence in response to acquisition of data indicating at least one subjective user state
US8180890B2 (en) * 2008-11-21 2012-05-15 The Invention Science Fund I, Llc Hypothesis based solicitation of data indicating at least one subjective user state
US8224842B2 (en) * 2008-11-21 2012-07-17 The Invention Science Fund I, Llc Hypothesis selection and presentation of one or more advisories
US8180830B2 (en) * 2008-11-21 2012-05-15 The Invention Science Fund I, Llc Action execution based on user modified hypothesis
WO2010065109A1 (en) * 2008-12-01 2010-06-10 Topsy Labs, Inc. Advertising based on influence
EP2359276A4 (en) 2008-12-01 2013-01-23 Topsy Labs Inc ORDERING AND SELECTION OF UNITS PER CALCULATED REPUTATION OR INFLUENCES
WO2010065112A1 (en) * 2008-12-01 2010-06-10 Topsy Labs, Inc. Mediating and pricing transactions based on calculted reputation or influence scores
US8326270B2 (en) * 2009-02-02 2012-12-04 Lemi Technology, Llc Optimizing operation of a radio program
CN101854311A (zh) * 2009-03-31 2010-10-06 国际商业机器公司 在web服务器上传递上下文信息的方法和装置
FI20095402A0 (fi) * 2009-04-09 2009-04-09 Valtion Teknillinen Lyhyen kantaman viestintään sovitettu mobiililaite, menetelmä ja vastaava palvelinjärjestelmä
US20100306155A1 (en) * 2009-05-29 2010-12-02 Giannetto Mark D System and method for validating signatory information and assigning confidence rating
US8412662B2 (en) * 2009-06-04 2013-04-02 Motorola Mobility Llc Method and system of interaction within both real and virtual worlds
UY33035A (es) * 2009-11-16 2011-01-31 Telefonica Sa Sistema y método de publicación automática de información de estado actualizada de un usuario en una aplicación informática
US9110979B2 (en) 2009-12-01 2015-08-18 Apple Inc. Search of sources and targets based on relative expertise of the sources
US8892541B2 (en) 2009-12-01 2014-11-18 Topsy Labs, Inc. System and method for query temporality analysis
US11036810B2 (en) * 2009-12-01 2021-06-15 Apple Inc. System and method for determining quality of cited objects in search results based on the influence of citing subjects
US11113299B2 (en) 2009-12-01 2021-09-07 Apple Inc. System and method for metadata transfer among search entities
US9129017B2 (en) 2009-12-01 2015-09-08 Apple Inc. System and method for metadata transfer among search entities
US9280597B2 (en) 2009-12-01 2016-03-08 Apple Inc. System and method for customizing search results from user's perspective
US11122009B2 (en) 2009-12-01 2021-09-14 Apple Inc. Systems and methods for identifying geographic locations of social media content collected over social networks
US9454586B2 (en) 2009-12-01 2016-09-27 Apple Inc. System and method for customizing analytics based on users media affiliation status
US9251506B2 (en) * 2010-01-05 2016-02-02 Apple Inc. User interfaces for content categorization and retrieval
US20110167357A1 (en) * 2010-01-05 2011-07-07 Todd Benjamin Scenario-Based Content Organization and Retrieval
US20110302264A1 (en) * 2010-06-02 2011-12-08 International Business Machines Corporation Rfid network to support processing of rfid data captured within a network domain
US10713312B2 (en) 2010-06-11 2020-07-14 Doat Media Ltd. System and method for context-launching of applications
US9372885B2 (en) 2010-06-11 2016-06-21 Doat Media Ltd. System and methods thereof for dynamically updating the contents of a folder on a device
US9141702B2 (en) 2010-06-11 2015-09-22 Doat Media Ltd. Method for dynamically displaying a personalized home screen on a device
US9069443B2 (en) 2010-06-11 2015-06-30 Doat Media Ltd. Method for dynamically displaying a personalized home screen on a user device
US9639611B2 (en) 2010-06-11 2017-05-02 Doat Media Ltd. System and method for providing suitable web addresses to a user device
CN101937194B (zh) * 2010-09-27 2012-12-19 鸿富锦精密工业(深圳)有限公司 具有学习功能的智能控制系统和方法
US9535884B1 (en) 2010-09-30 2017-01-03 Amazon Technologies, Inc. Finding an end-of-body within content
KR101811715B1 (ko) * 2010-11-12 2018-01-25 삼성전자주식회사 커뮤니티 생성 방법 및 장치
US9858342B2 (en) 2011-03-28 2018-01-02 Doat Media Ltd. Method and system for searching for applications respective of a connectivity mode of a user device
US9026476B2 (en) * 2011-05-09 2015-05-05 Anurag Bist System and method for personalized media rating and related emotional profile analytics
US20140032260A1 (en) * 2011-06-03 2014-01-30 Gmh International Infering behavior-based lifestyle categorizations based on mobile phone usage data
CN102891916B (zh) * 2011-07-18 2016-01-20 中兴通讯股份有限公司 一种预测用户操作的方法及移动终端
CN102269534B (zh) 2011-07-25 2012-11-28 天津空中代码工程应用软件开发有限公司 一种旋流式热导管
US20130091087A1 (en) * 2011-10-10 2013-04-11 Topsy Labs, Inc. Systems and methods for prediction-based crawling of social media network
US9189797B2 (en) 2011-10-26 2015-11-17 Apple Inc. Systems and methods for sentiment detection, measurement, and normalization over social networks
US8812425B2 (en) * 2011-12-14 2014-08-19 Microsoft Corporation Method for rule-based context acquisition
US20130212028A1 (en) * 2012-02-14 2013-08-15 MonkeyContact, Inc. Systems and methods for leveraging social context in consumer transactions
US8832092B2 (en) 2012-02-17 2014-09-09 Bottlenose, Inc. Natural language processing optimized for micro content
US9330145B2 (en) * 2012-02-22 2016-05-03 Salesforce.Com, Inc. Systems and methods for context-aware message tagging
US20130318025A1 (en) * 2012-05-23 2013-11-28 Research In Motion Limited Apparatus, and associated method, for slicing and using knowledgebase
CN103608759B (zh) * 2012-05-31 2019-05-14 都特媒体有限公司 在设备上动态显示个性化主屏的方法
US20140031060A1 (en) * 2012-07-25 2014-01-30 Aro, Inc. Creating Context Slices of a Storyline from Mobile Device Data
CN103139348A (zh) * 2012-09-06 2013-06-05 北京天宇朗通通信设备股份有限公司 联系人信息处理方法和装置及移动终端
US9601111B2 (en) * 2012-11-13 2017-03-21 GM Global Technology Operations LLC Methods and systems for adapting speech systems
GB2508948A (en) * 2012-12-12 2014-06-18 Doat Media Ltd Method for dynamically displaying a personalized home screen on a device
US20140188552A1 (en) * 2013-01-02 2014-07-03 Lap Chan Methods and systems to reach target customers at the right time via personal and professional mood analysis
US9137372B2 (en) 2013-03-14 2015-09-15 Mattersight Corporation Real-time predictive routing
US10229258B2 (en) 2013-03-27 2019-03-12 Samsung Electronics Co., Ltd. Method and device for providing security content
WO2014157886A1 (en) 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Method and device for executing application
WO2014157894A1 (en) 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Display apparatus displaying user interface and method of providing the user interface
WO2014157893A1 (en) 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Method and device for providing a private page
WO2014157908A1 (en) 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Device and method for displaying execution result of application
US9996246B2 (en) 2013-03-27 2018-06-12 Samsung Electronics Co., Ltd. Device and method for displaying execution result of application
WO2014157885A1 (en) 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Method and device for providing menu interface
WO2014157897A1 (en) 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Method and device for switching tasks
US9582317B2 (en) 2013-05-10 2017-02-28 Samsung Electronics Co., Ltd. Method of using use log of portable terminal and apparatus using the same
US9106748B2 (en) 2013-05-28 2015-08-11 Mattersight Corporation Optimized predictive routing and methods
US20150006286A1 (en) * 2013-06-28 2015-01-01 Linkedin Corporation Targeting users based on categorical content interactions
US20150006295A1 (en) * 2013-06-28 2015-01-01 Linkedln Corporation Targeting users based on previous advertising campaigns
US9496922B2 (en) 2014-04-21 2016-11-15 Sony Corporation Presentation of content on companion display device based on content presented on primary display device
US10514766B2 (en) 2015-06-09 2019-12-24 Dell Products L.P. Systems and methods for determining emotions based on user gestures
CN105138584B (zh) * 2015-07-31 2019-03-01 小米科技有限责任公司 智能提醒车辆限行的方法及装置
US10176251B2 (en) * 2015-08-31 2019-01-08 Raytheon Company Systems and methods for identifying similarities using unstructured text analysis
US9507346B1 (en) 2015-11-04 2016-11-29 Zoox, Inc. Teleoperation system and method for trajectory modification of autonomous vehicles
US9802661B1 (en) 2015-11-04 2017-10-31 Zoox, Inc. Quadrant configuration of robotic vehicles
US10334050B2 (en) 2015-11-04 2019-06-25 Zoox, Inc. Software application and logic to modify configuration of an autonomous vehicle
US10248119B2 (en) 2015-11-04 2019-04-02 Zoox, Inc. Interactive autonomous vehicle command controller
US9606539B1 (en) 2015-11-04 2017-03-28 Zoox, Inc. Autonomous vehicle fleet service and system
US10401852B2 (en) 2015-11-04 2019-09-03 Zoox, Inc. Teleoperation system and method for trajectory modification of autonomous vehicles
US9754490B2 (en) 2015-11-04 2017-09-05 Zoox, Inc. Software application to request and control an autonomous vehicle service
US9517767B1 (en) 2015-11-04 2016-12-13 Zoox, Inc. Internal safety systems for robotic vehicles
US9720415B2 (en) 2015-11-04 2017-08-01 Zoox, Inc. Sensor-based object-detection optimization for autonomous vehicles
US9804599B2 (en) 2015-11-04 2017-10-31 Zoox, Inc. Active lighting control for communicating a state of an autonomous vehicle to entities in a surrounding environment
US9630619B1 (en) 2015-11-04 2017-04-25 Zoox, Inc. Robotic vehicle active safety systems and methods
US9958864B2 (en) 2015-11-04 2018-05-01 Zoox, Inc. Coordination of dispatching and maintaining fleet of autonomous vehicles
US10496766B2 (en) 2015-11-05 2019-12-03 Zoox, Inc. Simulation system and methods for autonomous vehicles
US9632502B1 (en) 2015-11-04 2017-04-25 Zoox, Inc. Machine-learning systems and techniques to optimize teleoperation and/or planner decisions
US10000124B2 (en) 2015-11-04 2018-06-19 Zoox, Inc. Independent steering, power, torque control and transfer in vehicles
US11283877B2 (en) 2015-11-04 2022-03-22 Zoox, Inc. Software application and logic to modify configuration of an autonomous vehicle
US9878664B2 (en) 2015-11-04 2018-01-30 Zoox, Inc. Method for robotic vehicle communication with an external environment via acoustic beam forming
US9734455B2 (en) * 2015-11-04 2017-08-15 Zoox, Inc. Automated extraction of semantic information to enhance incremental mapping modifications for robotic vehicles
US9910441B2 (en) 2015-11-04 2018-03-06 Zoox, Inc. Adaptive autonomous vehicle planner logic
US9494940B1 (en) 2015-11-04 2016-11-15 Zoox, Inc. Quadrant configuration of robotic vehicles
US10745003B2 (en) 2015-11-04 2020-08-18 Zoox, Inc. Resilient safety system for a robotic vehicle
WO2017079341A2 (en) 2015-11-04 2017-05-11 Zoox, Inc. Automated extraction of semantic information to enhance incremental mapping modifications for robotic vehicles
RU2721176C2 (ru) * 2016-03-04 2020-05-18 Аксон Вайб Аг Системы и способы для предсказания поведения пользователя на основе данных о местоположении
US10168988B2 (en) 2016-05-24 2019-01-01 International Business Machines Corporation Identifying user preferences and changing settings of a device based on natural language processing
US10223464B2 (en) * 2016-08-04 2019-03-05 Facebook, Inc. Suggesting filters for search on online social networks
US10452410B2 (en) * 2016-10-25 2019-10-22 International Business Machines Corporation Context aware user interface
US10338594B2 (en) * 2017-03-13 2019-07-02 Nio Usa, Inc. Navigation of autonomous vehicles to enhance safety under one or more fault conditions
US11037674B2 (en) 2017-03-28 2021-06-15 International Business Machines Corporation Dashboard usage tracking and generation of dashboard recommendations
US11062222B2 (en) * 2017-03-28 2021-07-13 International Business Machines Corporation Cross-user dashboard behavior analysis and dashboard recommendations
US10423162B2 (en) 2017-05-08 2019-09-24 Nio Usa, Inc. Autonomous vehicle logic to identify permissioned parking relative to multiple classes of restricted parking
CN109218049B (zh) * 2017-06-30 2021-10-26 华为技术有限公司 一种控制方法、相关设备以及系统
US10369974B2 (en) 2017-07-14 2019-08-06 Nio Usa, Inc. Control and coordination of driverless fuel replenishment for autonomous vehicles
US10710633B2 (en) 2017-07-14 2020-07-14 Nio Usa, Inc. Control of complex parking maneuvers and autonomous fuel replenishment of driverless vehicles
US11022971B2 (en) 2018-01-16 2021-06-01 Nio Usa, Inc. Event data recordation to identify and resolve anomalies associated with control of driverless vehicles
CN108322742B (zh) * 2018-02-11 2019-08-16 北京大学深圳研究生院 一种基于帧内预测的点云属性压缩方法
US20200007411A1 (en) * 2018-06-28 2020-01-02 International Business Machines Corporation Cognitive role-based policy assignment and user interface modification for mobile electronic devices
US20200065513A1 (en) * 2018-08-24 2020-02-27 International Business Machines Corporation Controlling content and content sources according to situational context
US11003999B1 (en) 2018-11-09 2021-05-11 Bottomline Technologies, Inc. Customized automated account opening decisioning using machine learning
US11409990B1 (en) 2019-03-01 2022-08-09 Bottomline Technologies (De) Inc. Machine learning archive mechanism using immutable storage
US11687807B1 (en) 2019-06-26 2023-06-27 Bottomline Technologies, Inc. Outcome creation based upon synthesis of history
US11120404B2 (en) * 2019-08-07 2021-09-14 Capital One Services, Llc Method and system for dynamic data collection while optimize a smart device
US11747952B1 (en) 2019-08-09 2023-09-05 Bottomline Technologies Inc. Specialization of a user interface using machine learning
US11436501B1 (en) 2019-08-09 2022-09-06 Bottomline Technologies, Inc. Personalization of a user interface using machine learning
US11341438B2 (en) * 2019-11-22 2022-05-24 The Procter & Gamble Company Provisioning and recommender systems and methods for generating product-based recommendations for geographically distributed physical stores based on mobile device movement
US11386487B2 (en) 2020-04-30 2022-07-12 Bottomline Technologies, Inc. System for providing scores to customers based on financial data
US11954162B2 (en) 2020-09-30 2024-04-09 Samsung Electronics Co., Ltd. Recommending information to present to users without server-side collection of user data for those users
US11755592B2 (en) * 2021-08-25 2023-09-12 International Business Machines Corporation Data search with automated selection of artificial intelligence inference models and inference label indexing

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5875108A (en) * 1991-12-23 1999-02-23 Hoffberg; Steven M. Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
US5692107A (en) * 1994-03-15 1997-11-25 Lockheed Missiles & Space Company, Inc. Method for generating predictive models in a computer system
US6701311B2 (en) * 2001-02-07 2004-03-02 International Business Machines Corporation Customer self service system for resource search and selection
US7552030B2 (en) * 2002-01-22 2009-06-23 Honeywell International Inc. System and method for learning patterns of behavior and operating a monitoring and response system based thereon
US20050209983A1 (en) * 2004-03-18 2005-09-22 Macpherson Deborah L Context driven topologies
US20070214133A1 (en) * 2004-06-23 2007-09-13 Edo Liberty Methods for filtering data and filling in missing data using nonlinear inference
US7590589B2 (en) * 2004-09-10 2009-09-15 Hoffberg Steven M Game theoretic prioritization scheme for mobile ad hoc networks permitting hierarchal deference
US7333917B2 (en) * 2005-08-11 2008-02-19 The University Of North Carolina At Chapel Hill Novelty detection systems, methods and computer program products for real-time diagnostics/prognostics in complex physical systems
US9076175B2 (en) * 2005-09-14 2015-07-07 Millennial Media, Inc. Mobile comparison shopping
US7797267B2 (en) * 2006-06-30 2010-09-14 Microsoft Corporation Methods and architecture for learning and reasoning in support of context-sensitive reminding, informing, and service facilitation

Non-Patent Citations (10)

* Cited by examiner, † Cited by third party
Title
CSNG200500070008; 森川 大輔 Daisuke Morikawa: 'ユーザ状況に基づいた情報体系化とその利用に関する一検討 A Proposal of User Centric Information Integ' 情報処理学会研究報告 Vol.2003 No.93 IPSJ SIG Technical Reports 第2003巻, 20030926, 69-74, 社団法人情報処理学会 Information Processing Socie *
CSNG200501073013; 遠山 緑生 NORIO TOYAMA: 'コンテクスト情報と操作履歴の関連付けによる操作予測システムの提案 A Prediction System based on Conte' 情報処理学会研究報告 Vol.2004 No.112 IPSJ SIG Technical Reports 第2004巻, 20041110, 83-90, 社団法人情報処理学会 Information Processing Socie *
CSNG200700197011; 清原 良三 Ryozo Kiyohara: '携帯端末におけるユーザ操作支援方式の提案 A Proposal of User Support System for Mobile Devices' 情報処理学会研究報告 Vol.2006 No.120 IPSJ SIG Technical Reports 第2006巻, 20061117, 89-96, 社団法人情報処理学会 Information Processing Socie *
CSNG200701284014; 松本 光弘 Mitsuhiro Matsumoto: '携帯電話におけるコンテキスト情報を用いたユーザの操作予測 A prediction of user's operation based on' 第79回 知識ベースシステム研究会資料 (SIG-KBS-A702) , 20071122, 87-92, 社団法人人工知能学会 The Japanese Society for Art *
CSNG200900158241; 清原 良三 RYOZO KIYOHARA: '携帯端末のコンテキスト情報利用による操作性向上方式 A Proposal of A Context-Aware Services for Mobil' マルチメディア,分散,協調とモバイル(DICOMO2007)シンポジウム論文集 情報処理学会シンポジ 第2007巻, 20070629, 1712-1719, 社団法人情報処理学会 Information Processing Socie *
JPN6013025744; 清原 良三 RYOZO KIYOHARA: '携帯端末のコンテキスト情報利用による操作性向上方式 A Proposal of A Context-Aware Services for Mobil' マルチメディア,分散,協調とモバイル(DICOMO2007)シンポジウム論文集 情報処理学会シンポジ 第2007巻, 20070629, 1712-1719, 社団法人情報処理学会 Information Processing Socie *
JPN6013025745; 遠山 緑生 NORIO TOYAMA: 'コンテクスト情報と操作履歴の関連付けによる操作予測システムの提案 A Prediction System based on Conte' 情報処理学会研究報告 Vol.2004 No.112 IPSJ SIG Technical Reports 第2004巻, 20041110, 83-90, 社団法人情報処理学会 Information Processing Socie *
JPN6013025746; 森川 大輔 Daisuke Morikawa: 'ユーザ状況に基づいた情報体系化とその利用に関する一検討 A Proposal of User Centric Information Integ' 情報処理学会研究報告 Vol.2003 No.93 IPSJ SIG Technical Reports 第2003巻, 20030926, 69-74, 社団法人情報処理学会 Information Processing Socie *
JPN6013025747; 松本 光弘 Mitsuhiro Matsumoto: '携帯電話におけるコンテキスト情報を用いたユーザの操作予測 A prediction of user's operation based on' 第79回 知識ベースシステム研究会資料 (SIG-KBS-A702) , 20071122, 87-92, 社団法人人工知能学会 The Japanese Society for Art *
JPN6013025748; 清原 良三 Ryozo Kiyohara: '携帯端末におけるユーザ操作支援方式の提案 A Proposal of User Support System for Mobile Devices' 情報処理学会研究報告 Vol.2006 No.120 IPSJ SIG Technical Reports 第2006巻, 20061117, 89-96, 社団法人情報処理学会 Information Processing Socie *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015534686A (ja) * 2012-09-25 2015-12-03 セラノス, インコーポレイテッド 回答の較正のためのシステムおよび方法
JP2019091498A (ja) * 2012-09-25 2019-06-13 セラノス アイピー カンパニー エルエルシー 回答の較正のためのシステムおよび方法
JP2017142811A (ja) * 2012-10-19 2017-08-17 フェイスブック,インク. モバイルデバイスユーザの将来の状態を予測することに関する方法
JP2018133106A (ja) * 2012-10-19 2018-08-23 フェイスブック,インク. モバイルデバイスユーザの将来の状態を予測することに関する方法
JP2020013547A (ja) * 2018-04-27 2020-01-23 タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited ドメイン適応可能人間行動推論のための統合されたプラットフォーム
JP7475956B2 (ja) 2020-05-14 2024-04-30 株式会社日立製作所 推論方法、機械学習推論システム及びコンピュータプログラム

Also Published As

Publication number Publication date
EP2266078A2 (en) 2010-12-29
WO2009117582A2 (en) 2009-09-24
US20090240647A1 (en) 2009-09-24
CA2719007A1 (en) 2009-09-24
WO2009117582A3 (en) 2010-01-07
CN102037481A (zh) 2011-04-27

Similar Documents

Publication Publication Date Title
JP2011517494A (ja) 行動パターンを検出する方法及び装置
US11502914B2 (en) Systems and methods for behavioural and contextual data analytics
US10762061B1 (en) Time-based information system
KR101645149B1 (ko) 데이터 동기화
US8856167B2 (en) System and method for context based query augmentation
US8386506B2 (en) System and method for context enhanced messaging
US8208905B2 (en) Discovering an event using a personal preference list and presenting matching events to a user on a display
JP5819412B2 (ja) コンテキストに基づいて選択したコンテンツ項目の提供
CN106845644B (zh) 一种通过相互关系学习用户及移动应用的联系的异构网络
US10749767B2 (en) Routing actions to user devices based on a user graph
JP2009544078A (ja) データベース・アクセス・システムからのイベントへのリモート・アクセスを提供するシステムおよび方法
EP2344998A2 (en) System and method for context enhanced ad creation
Corno et al. A context and user aware smart notification system
EP3304345A1 (en) Triggers for information delivery
US20140114943A1 (en) Event search engine for web-based applications
Sarker Mobile data science: Towards understanding data-driven intelligent mobile applications
KR101088626B1 (ko) 모바일 디바이스를 기반으로 하는 데이터 네트워킹 시스템 및 방법
Yan Service-Oriented Architectures for Context-Aware Information Retrieval and Access

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120316

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120316

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130509

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130528

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130828

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130904

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131028

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140318