(57)【要約】【課題】ここでは、受信したインスタンスについて属性値を予測するために票を登録する方法、装置、および物品について記載する。  【解決手段】一実施形態では、登録は、重みと、前提を満たすと判定された１つ以上のルールの少なくとも１つと関連のある予測目標値とに少なくとも基づいて、重み付けして実行する。前提を満たすことは、受信したインスタンスの１つ以上の別の属性の１つ以上の値に少なくとも部分的に基づいて判定する。更に、１つ以上の票が登録されている予測目標値が、受信したインスタンスの属性値を正しく予測したか否か判定を行う。それに応じて、ルールの関連する重みを調節する。例えば、１つ以上の票が登録されている予測値が受信したインスタンスの属性値を正しく予測した場合には重みを増分し、１つ以上の票が登録されている予測値が受信したインスタンスの属性値を誤って予測した場合には重みを減分する。【選択図】      図２
2009515277.tif 000002
【特許請求の範囲】
【請求項１】
受信したインスタンスの属性に対して値を予測するために１つ以上の票を登録するステップであって、重みと、前提を満たすと判定された１つ以上のルールの少なくとも１つと関連のある予測目標値とに少なくとも部分的に基づいて、重み付けして前記登録を実行し、前記前提を満たすことは、前記受信したインスタンスの１つ以上の別の属性の１つ以上の属性値に少なくとも部分的に基づいて判定するステップと、
１つ以上の票が登録されている前記予測目標値が、前記受信したインスタンスの属性値を正しく予測したか否か判定を行うステップと、
前記ルールの関連する重みを調節し、前記１つ以上の票が登録されている前記予測値が前記受信したインスタンスの属性値を正しく予測した場合には前記重みを増分し、前記１つ以上の票が登録されている前記予測値が前記受信したインスタンスの属性値を誤って予測した場合には前記重みを減分するステップと、
を備えている、方法。
【請求項２】
請求項１記載の方法において、前記１つ以上のルールは、可変長ルールである、方法。
【請求項３】
請求項１記載の方法であって、更に、１つ以上のインスタンスの一致する属性値をランダムに選択することによって、前記１つ以上のルールを生成するステップを備えており、一致する目標値に基づいて、前記１つ以上のインスタンスをランダムに選択する、方法。
【請求項４】
請求項３記載の方法であって、更に、前記１つ以上のルールの各々に重みを割り当てるステップを備えており、前記１つ以上のルールの各々には、最初に同じ重みを割り当てる、方法。
【請求項５】
請求項３記載の方法であって、更に、１つ以上の追加のインスタンスに基づいて、前記１つ以上のルールを更新するステップを備えている、方法。
【請求項６】
請求項１記載の方法において、前記１つ以上の票を登録するステップは、前記１つ以上のルールの各々の重みに等しい数の票を登録するステップを備えており、各ルールの前記１つ以上の票を、各ルールの最も頻度が高い目標値について登録する、方法。
【請求項７】
請求項１記載の方法において、前記１つ以上の票を登録するステップは、前記１つ以上のルールの前記重みに等しい数の票を登録するステップを備えており、各ルールの前記１つ以上の票を、各ルールの１つ以上の目標値の各々について登録し、各目標値についての各票は、各ルールの重みに当該目標値の分数頻度を乗算した値に等しい、方法。
【請求項８】
請求項１記載の方法であって、更に、前記登録した票の集計に基づいて、前記受信したインスタンスの属性に対する値を予測するステップを備えており、前記予測値は、最も大きな複数の票を受信した目標値と同一である、方法。
【請求項９】
請求項１記載の方法であって、更に、前記登録した票の集計に基づいて、前記受信したインスタンスの属性に対して複数の値を予測するステップを備えており、前記予測した複数の値は、最も大きな複数の票を受けた複数の目標値を含み、前記複数の目標値のサイズは、閾値に対応する、方法。
【請求項１０】
請求項１記載の方法において、１つ以上の票が登録されている前記予測目標値が前記受信したインスタンスの属性値を正しく予測したか否か判定するステップは、ユーザに予測値を提示し、該ユーザが前記予測値を選択する際または異なる値を入力する際にし易くするステップを備えている、方法。
【請求項１１】
請求項１記載の方法であって、更に、前記ルールの重みが閾値規準未満に減少した場合、前記１つ以上のルールの１つを削除するステップを備えている、方法。
【請求項１２】
プロセッサと、
前記プロセッサに結合されている計算エンジンであって、
受信したインスタンスの属性に対して値を予測するために１つ以上の票を登録し、重みと、前提を満たすと判定された１つ以上のルールの少なくとも１つと関連のある予測目標値とに少なくとも部分的に基づいて、重み付けして前記登録を実行し、前記前提を満たすことは、前記受信したインスタンスの１つ以上の別の属性の１つ以上の属性値に少なくとも部分的に基づいて判定し、
１つ以上の票が登録されている前記予測目標値が、前記受信したインスタンスの属性値を正しく予測したか否か判定を行い、
前記ルールの関連する重みを調節し、前記１つ以上の票が登録されている前記予測値が前記受信したインスタンスの属性値を正しく予測した場合には前記重みを増分し、前記１つ以上の票が登録されている前記予測値が前記受信したインスタンスの属性値を誤って予測した場合には前記重みを減分するように構成されている、計算エンジンと、
を備えている、装置。
【請求項１３】
請求項１２記載の装置において、前記１つ以上のルールは、可変長ルールである、装置。
【請求項１４】
請求項１２記載の装置において、前記計算エンジンは、更に、１つ以上のインスタンスの一致する属性値をランダムに選択することによって、前記１つ以上のルールを生成するように構成されており、一致する目標値に基づいて、前記１つ以上のインスタンスをランダムに選択する、装置。
【請求項１５】
請求項１２記載の装置において、前記計算エンジンは、更に、前記１つ以上の票を登録するように構成されており、前記登録は、前記１つ以上のルールの各々の重みに等しい数の票を登録することを備える、装置。
【請求項１６】
請求項１２記載の装置において、前記計算エンジンは、更に、前記登録した票の集計に基づいて、前記受信したインスタンスの属性に対する値を予測するように構成されており、前記予測値は、最も大きな複数の票を受信した目標値と同一である、装置。
【請求項１７】
請求項１２記載の装置において、前記計算エンジンは、更に、前記登録した票の集計に基づいて、前記受信したインスタンスの属性に対して複数の値を予測するように構成されており、前記予測した複数の値は、最も大きな複数の票を受けた複数の目標値を含み、前記複数の目標値のサイズは、閾値に対応する、装置。
【請求項１８】
請求項１２記載の装置において、前記計算エンジンは、更に、前記ルールの重みが閾値規準未満に減少した場合、前記１つ以上のルールの１つを削除するように構成されている、装置。
【請求項１９】
複数のプログラミング命令が格納されている記憶媒体を備えており、前記複数のプログラミング命令は、装置をプログラムして、該装置が、
受信したインスタンスの属性に対して値を予測するために１つ以上の票を登録し、重みと、前提を満たすと判定された１つ以上のルールの少なくとも１つと関連のある予測目標値とに少なくとも基づいて、重み付けして前記登録を実行し、前記前提を満たすことは、前記受信したインスタンスの１つ以上の別の属性の１つ以上の値に少なくとも部分的に基づいて判定し、
１つ以上の票が登録されている前記予測目標値が、前記受信したインスタンスの属性値を正しく予測したか否か判定を行い、
前記ルールの関連する重みを調節し、前記１つ以上の票が登録されている前記予測値が前記受信したインスタンスの属性値を正しく予測した場合には前記重みを増分し、前記１つ以上の票が登録されている前記予測値が前記受信したインスタンスの属性値を誤って予測した場合には前記重みを減分することを可能にする、製品。
【請求項２０】
請求項１２記載の製品において、前記１つ以上のルールは、可変長ルールである、製品。
【請求項２１】
請求項１９記載の製品において、前記複数のプログラミング命令は、更に、１つ以上のインスタンスの一致する属性値をランダムに選択することによって、前記１つ以上のルールを生成するように構成されており、一致する目標値に基づいて、前記１つ以上のインスタンスをランダムに選択する、製品。
【請求項２２】
請求項１９記載の製品において、前記複数のプログラミング命令は、更に、前記登録した票の集計に基づいて、前記受信したインスタンスの属性に対する値を予測するように構成されており、前記予測値は、最も大きな複数の票を受信した目標値と同一である、製品。
【請求項２３】
請求項１９記載の製品において、前記複数のプログラミング命令は、更に、前記登録した票の集計に基づいて、前記受信したインスタンスの属性に対して複数の値を予測するように構成されており、前記予測した複数の値は、最も大きな複数の票を受けた複数の目標値を含む、前記複数の目標値のサイズは、閾値に対応する、製品。
【請求項２４】
請求項１９記載の製品において、前記計算エンジンは、更に、前記ルールの重みが閾値規準未満に減少した場合、前記１つ以上のルールの１つを削除するように構成されている、製品。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願）
本願は、２００５年１１月９日に出願された、"A Leaner for Resource Constrained Devices"（資源制約デバイスのための学習装置）と題する米国仮特許出願第６０／７３４，８４０号に対する優先権を主張する。仮出願第６０／７３４，８４０号の明細書は、ここで引用したことにより、本願にも全てが含まれるものとする。
（発明の分野）
本発明は、データ処理の分野に関し、特に、資源に制約があるデバイスのための学習装置の方法および装置に関するものである。
【背景技術】
【０００２】
多くの機械学習およびデータ採取技法(mining techniques)は、大量のデータおよびモデルを扱うのに十分な資源を有するデバイスにおいて動作するように設計されている。スマートフォンやパーソナル・ディジタル・アシスタント（ＰＤＡ）のような移動体デバイスの普及により、これらのデバイス上で起動するアプリケーションの数も急速に増えつつある。これらのデバイスでは、いずれの学習アルゴリムに対しても、記憶および時間に関して厳しい制約が生ずる。通例、高速のオンライン・アルゴリズムが必要となる。更に、インスタンス空間が制限されているので、モデルを絶えず更新する必要がある。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
例えば、移動体文脈学習(mobile context learning)は、ヒューマン・コンピュータ・インターフェース（ＨＣＩ）、ユビキタス・コンピューティング、およびパーバシブ・コンピューティング(pervasive computing)のバナーの下で推し進められてきた。文脈は、ユーザの活動、環境、および移動体デバイスの状態から推論される。新しいデータを受信したらモデルを更新する必要がある。これらのデバイスは、デスクトップとは異なり、豊富な資源を享受することができないが、学習装置は、これらのデバイスの制約された環境を念頭において設計されていない。
【課題を解決するための手段】
【０００４】
添付図面に例示する実施形態例に沿って、本発明について説明するが、これらは限定ではない。図面において、同様の要素には同様の参照番号を付することとする。
本発明の例示実施形態は、限定ではないが、受信したインスタンスの属性に対して値を予測するために１つ以上の票(vote)を登録する方法および装置を含む。種々の実施形態では、登録は、少なくとも部分的に、前提が満たされていることが判明している１つ以上のルールの少なくとも１つに関連する重みおよび予測目標値に基づいて、重み付けして行われる。種々の実施形態では、前提を満たすことは、少なくとも部分的に、受信したインスタンスの１つ以上の他の属性の１つ以上の属性値に基づいて決定する。種々の実施形態では、本発明は、更に、１つ以上の票が登録された予測目標値が、受信したインスタンスの属性値を正しく予測したか否か判定すること、およびそれに応じてルールの関連する重みを調節することを含む。種々の実施形態では、調節は、１つ以上の票が登録されている予測目標値が受信したインスタンスの属性値を正しく予測した場合には重みを増分すること、および１つ以上の票が登録されている予測目標値が受信したインスタンスの属性値を間違って予測した場合には重みを減分させることも含んでもよい。
【０００５】
例示実施形態の種々の態様について、その作用の実体を当業者に伝えるために、当業者が普通に用いる用語を用いて説明する。しかしながら、記載する態様の一部のみによって、代替実施形態も実用化できることは、当業者には明白であろう。説明の目的上、具体的な数値、材料、および構成を明記して、例示実施形態の完全な理解が得られるようにしている。しかしながら、具体的な詳細がなくても、代替実施形態を実用化できることは、当業者には明白であろう。他方において、例示実施形態を曖昧にしないために、周知の機構を省略または簡略化してある。
【０００６】
更に、種々の動作について、例示実施形態を理解する際に最も有益であるように、順番に、多数の別個動作として説明する。しかしながら、説明の順序は、これらの動作が必然的に順序に依存することを暗示するように解釈してはならない。即ち、これらの動作は、提示する順に実行する必要はない。
【０００７】
「一実施形態において」という句を繰り返し用いる。この句は、一般には同じ実施形態を意味しないが、意味する場合もある。「備えている」、「有している」、および「含んでいる」という用語は、文脈上特に明記されていない限り、同義語とする。「Ａ／Ｂ」という表現は、「ＡまたはＢ」を意味する。「Ａおよび／またはＢ」という表現は、「（Ａ）、（Ｂ）、または（ＡおよびＢ）」を意味する。「Ａ、ＢおよびＣの少なくとも１つ」という句は、「（Ａ）、（Ｂ）、（Ｃ）、（ＡおよびＢ）、（ＡおよびＣ）、ならびに（ＢおよびＣ）または（Ａ、ＢおよびＣ）」を意味する。「（Ａ）Ｂ」という表現は、「（Ｂ）または（ＡＢ）」であることを意味する。即ちＡは任意である。
【発明を実施するための最良の形態】
【０００８】
図１は、種々の実施形態による本発明の全体像を示す。図示のように、資源制約デバイス１０２は学習装置１０４を含むことができ、学習装置１０４は、資源制約デバイスの１つ以上のアプリケーション（図示せず）を強化するか、またはこれらに結合されている。加えて、資源制約デバイス１０２は、ネットワーキング・ファブリック(networking fabric)のような１つ以上のネットワーキング・ファブリックを通じて、有線またはワイヤレスで通信することが可能であるとよい。ネットワーク・ファブリック１０６は、デバイス１０２とサーバ１０８との通信を行い易くすることができる。実施形態の中には、サーバが学習装置１０４の動作および／または格納の一部または全部を実行可能な場合もある。
【０００９】
実施形態によっては、資源制約デバイス１０２が、いずれの種類のスマートフォン、ＰＤＡ、および移動体デバイスを含む当技術分野において周知の計算機、ならびに数あるその他の計算システムでもよい場合がある。デバイス１０２は、図４に示すようなビューアと、入力のためのキー、ボタン、またはタッチ・スクリーンとを有することができる。実施形態の中には、デバイス１０２がコンポーネント入力メカニズムおよび／またはビューアを有していなくてもよく、その動作を実行するために外部デバイスへの結合を拠り所にしてもよい場合がある。また、資源制約デバイス１０２は、ソフトウェアまたはハードウェアのいずれかで実施する１つ以上のアプリケーションを有することもでき、アプリケーションは、デバイス１０２の学習装置１０４によって強化すること、またはこれと通信するように結合することもできる。アプリケーションは、当技術分野において周知の種類であればいずれでもよい。学習装置１０４は、ハードウェアまたはソフトウェアとして実施されるいずれの種類のプロセスまたはアプリケーションでもよく、学習装置１０４が強化することができるアプリケーションの一部として実施することもできる。
【００１０】
再度図１を参照すると、このデバイスは、ネットワーキング・ファブリック(networking fabric)１０６のような、１つ以上のネットワーキング・ファブリックを有することができる。ネットワーク・ファブリック１０６は、実施形態によっては、ＰＣＳ、セルラ、または８０２．１１ネットワークのようなワイヤレス・ネットワークでもよく、イーサネット（登録商標）・ネットワークのような有線ネットワークでもよく、あるいはBluetoothネットワークでもよい。加えて、ネットワーキング・ファブリック１０６は、ＴＣＰ／ＩＰ、ＲＤＭＡ、ＡＴＭ、または当技術分野において周知の他のいずれの通信プロトコルを拠り所にしてもよい。
【００１１】
種々の実施形態では、サーバ１０８は、ワークステーション、サーバ、メインフレーム、またはＰＣのような、当技術分野で周知の計算機であればいずれの種類でもよい。サーバ１０８は、デバイス１０２のクライアントからの要求を受信し、このような要求の一部または全部に回答することができるとよい。図示のように、サーバは、以下で説明する、学習装置１０４の動作または格納の一部または全部を実行することができるとよい。
【００１２】
図示のように、学習装置１０４は、１つ以上のインスタンスの一致する属性値をランダムに選択することによって、１つ以上のルールを生成することができる。最初に、一致する目標値に基づいて１つ以上のインスタンスをランダムに選択する。種々の実施形態では、インスタンスは、複数の属性で構成するいずれかの論理概念でも表すことができる。例えば、論理概念「会合」(meeting)は、出席者、日付、時間、および場所のような属性で構成することができる。そして、各属性には１つ以上の属性値を関連付けることができる。つまり、属性「出席者」には、属性値「Rene」および「Pascal」と関連付けることができる。このような複数のインスタンスを資源制約デバイス１０２上に、実施形態によっては、データベースのテーブルとしてまたはファイルのデータ構造として格納することができる。別の実施形態では、インスタンスは代わりにサーバ１０８上に格納し、サーバ１０８から検索することができる。サーバ１０８またはデバイス１０２のストレージからのインスタンスの検索は、１つ以上の目標値に基づくことができる。目標値を属性値として有するインスタンスは、インスタンス空間を備えることができ、インスタンス空間から多数のインスタンスをランダムに選択することができる。例えば、「会議室」が目標値である場合、「会議室」を属性値として有するインスタンスは、インスタンス空間を備えることができる。次いで、インスタンス空間から、「昼食」、「会合」、「セミナ」のような多数のインスタンスをランダムに選択することができる。各インスタンスは、恐らく「場所」のような属性の「会議室」を属性値として有する。
【００１３】
実施形態によっては、学習装置１０４は、次に、１つ以上のランダムに選択したインスタンスの一致属性値をランダムに選択することによって、１つ以上のルールを生成することができる。その動機は、一致する属性値はランダムに選択した１つ以上のインスタンスの種々の属性間における相関を捕らえることができるからである。組み立てたルールは、１つ以上の属性で構成される前提を有することができ、各属性は、１つ以上の属性値と関連付けられている。また、ルールは、目標と、この目標と関連のある１つ以上の目標値とを備える帰結(consequent)を含むこともできる。実施形態によっては、ルールを「if-then」形式で組み立てることもでき、「if」で前提が開始し、「then」で帰結が始まる。このような実施形態のルールの一例は、「if sponsor-attendees = matchell and department-attendees=scs then location = weh5309, weh5311, oakland」である。この例では、前提は２つの属性、「sponsor-attendees」および「department-attendees」で構成されており、各属性には１つの属性値が関連付けられており、帰結は、目標「location」で構成され、目標には３つの目標値が関連付けられている。実施形態によっては、ルールがこれらよりも少ないまたは多い属性、および／または前提を構成する属性値、ならびにこれらよりも少ないまたは多い目標値を有する場合もある。したがって、学習装置１０４が生成するルールは可変長ルールとすることができる。可変長ルールの一例を図３に示し、以下で更に詳しく説明する。
【００１４】
生成したルールは、ルールセットを構成することができ、資源制約デバイス１０２のストレージまたはサーバ１０８上に格納することができ、実施形態によっては、サーバ１０８がルールを生成する場合もある。ルールは、プログラミング言語のクラスとして実施することができ、あるいはそれらのコンポーネント属性、属性値、目標、および目標値を、データベースのテーブルまたはファイルのデータ構造に格納し、必要に応じて、ルールを動的に作成し易くする。
【００１５】
図示のように、ルールを形成した後、学習装置１０４は冗長なルールを除去することができる。冗長なルールを除去する際、より一般的なルールをより具体的なルールよりも優先するとよい。
【００１６】
種々の実施形態において、学習装置１０４は、次に、前述のインスタンス空間上においてルールを更新し、ランダムに選択した１つ以上のインスタンスの中にない属性値および目標値を組み込むことができる。例えば、最初に「if date=120205 and personnel=rpe, ata then location=Conference Room」というように形成されたルールは、インスタンス空間において見出されたインスタンスの追加属性値を含むように更新することができる。このように、インスタンスが日付、人員、および場所を属性として有するが、人員に関連のある追加属性値「khf」を有する場合、「if date=120205 and personnel=rpe, ata, khf then location=Conference Room」というように、ルールを更新することができる。
【００１７】
ルールを生成し更新するとき、学習装置１０４は各ルールに重みを関連付けることができる。実施形態によっては、各ルールには最初に同じ重みを割り当てる場合もある。例えば、初期化のちきに、各ルールには「１」の重みを割り当てることができる。重みは、ルールの特徴であり、ルールと共に格納することができる。例えば、ルールがクラスである場合、重みはそのクラスの変更可能なメンバとすることができる。ルールがテーブルである場合、重みはテーブルのフィールドとすることができる。代替実施形態では、重みおよびルールを別々に格納し、ルールを資源制約デバイス１０２上に格納し、ルールをサーバ１０８上に格納することもでき、あるいはその逆でもよい。
【００１８】
実施形態によっては、ルールの追加の特徴、またはその値も、ルールおよび／または重みと共に格納してもよい場合がある。例えば、学習装置１０４は、各目標値が予測された回数をカウントすることもできる。
【００１９】
前述のように、インスタンスを選択し、ルールを形成し、冗長なルールを除去し、ルールを更新し、各ルールを重みと関連付ける選択動作は、サーバ１０８上で全体的または部分的に実行することができる。しかしながら、実施形態によっては、前述の選択動作の１つ１つを資源制約デバイス１０２上で実行するとよい場合もある。前述のルールは、属性値を予測することにより、ルールを更新することにより、そして精度低く属性値を予測するルールを除去することにより、最少量のインスタンス・データの格納を促進する。これらの動作については、以下で更に詳しく説明する。また、精度高く値を予測するルールのみを保持することによって、学習装置１０４は、維持するルールセットがコンパクトであることを確保する。図示のように、一旦ルールを生成し更新したなら、学習装置１０４は新しいインスタンスを待っていればよい。新しいインスタンスは、資源制約デバイス１０２のアプリケーションによって受け取ることができ、このアプリケーションは、学習装置１０４の一実施形態によって強化される。学習装置１０４は、いずれの種類のアプリケーションとでも用いることができる。以下の説明を簡略化する目的で、学習装置１０４によって強化したカレンダ・アプリケーションの一例を参考にする。しかしながら、代替実施形態では、いずれの数のアプリケーションでも学習装置１０４によって強化することができる。
【００２０】
実施形態によっては、カレンダ・アプリケーションが資源制約デバイス１０２上で動作できる場合もある。ルールを形成した後またはサーバ１０８からルールを受信した後、カレンダ・アプリケーションを実行すると、インスタンスを入力として受信するために待機することができる。次いで、新しいインスタンスを受信すると、学習装置１０４は、ルールに照らし合わせてこのインスタンスを評価することができる。例えば、カレンダ・アプリケーションのユーザが、カレンダによって表示しようとして、新しい会合オブジェクトを作成する場合もあり得る。会合を作成するためには、カレンダ・アプリケーションは、ユーザに少なくとも日付、時間、出席者、および場所を入力するように要求することができる。このように、カレンダのために新しい会合オブジェクトを作成する場合、カレンダ・アプリケーションによる、次いで学習装置１０４による新しいインスタンスの受信を考慮することができる。
【００２１】
ルールセットのルールをチェックする前に、学習装置１０４は、新しいインスタンスのどの属性が、１つ以上の値を予測するためにルールが用いられる目標であるのか判断する。実施形態によっては、目標が予め決められている場合もある。例えば、新しいインスタンスが会合であり、ユーザが、カレンダのオブジェクトとして会合を格納するために、３つの属性について値を入力しなければならない場合、ユーザが値を入力しなければならない最後の属性を目標と見なすことができ、１つ以上の値をその属性／目標に対してユーザに予測すればよい。このような実施形態では、ユーザが目標の前に属性について値を入力した後に、ルールをチェックするとよい。代替実施形態では、新しいインスタンスの各属性を繰り返し目標として扱うこともでき、新しいインスタンスの属性毎に、ルールをチェックする。最初の属性について、属性値が入力されておらず、したがってルールのいずれも満たされない場合、学習装置１０４は、例えば、最初の属性と関連のある値について全てのルールをチェックし、次いで最も頻繁に予測されている値あるいはその値の一部または全部のリストを戻すことができる。
【００２２】
各ルールをチェックする際、学習装置１０４は、最初に、値が入力されている新しいインスタンスの属性と一致する属性で構成されているルールはどれか判断する。新しい会合に関する先の例を参照すると、ユーザが日付、時間、および出席者に値を入力すると、学習装置１０４は最初にルールセットを探索して、前提がこれら３つの属性の一部または全部で構成されているルールを見つけ出す。一致することが発見されたルールの内、ルールの前提部の属性値を、新しいインスタンスの属性値と比較する。実施形態によっては、前提が新しいインスタンスと同じ値を全て有するルールのみが、これらに対して票が登録されている場合もある。他の実施形態では、１つ以上の一致する属性値を有するルールも、それらに対して票が登録されている場合もある。
【００２３】
種々の実施形態では、ルール毎に登録されている票数が各ルールの重みに対応する場合もあり、各ルールはその最大重みを投票する。例えば、１の重みを有するルールは、そのために１票を登録することができ、３の重みを有するルールは、そのために３票を登録することができる。実施形態によっては、ルールがその帰結に１つよりも多い目標値を有する場合、その票全てを、その最も頻繁に投票された目標値に登録することができる。別の実施形態では、票は、ルールの目標値の各々について投じることができ、投じられる各票は、各ルールの重みに各目標値の分数頻度(fractional frequency)を乗算した値に等しい。例えば、あるルールが６の重みを有し、３つの目標値「会議室」、「部屋４１７」、および「部屋３２１」を予測し、値が１、４、および１の対応する頻度を有する場合、１つの票を「会議室」に投じることができ（重みの６に、１／６の分数頻度を乗算すると１票に等しくなる）、「部屋４１７」には４、「部屋３２１」には１を投じることができる。更に別の実施形態では、以上の２つの票登録方法の組み合わせを用いることもできる。
【００２４】
図示のように、一旦票を登録したなら、学習装置１０４は投票を集計し、１つ以上の目標値を資源制約デバイス１０２のユーザに予測することができる。実施形態によっては、学習装置１０４がルールのために登録された投票を集計し、１つのみの値を予測する場合もあり、この値は最も大きな複数の票数を受ける。別の実施形態では、学習装置１０４は、投票を集計し、最も大きな複数の票数を受けた値に対応する複数の値を予測することができる。目標に対して行われる予測の数は、実施形態毎に異なる場合もあり、ユーザまたはプログラムが定義する閾値規準によって決定することもできる。
【００２５】
次に、１つまたは複数の予測値を、資源制約デバイス１０２のユーザに提示することができ、実施形態によっては、図４に示すビューアのような、デバイス１０２のビューアを通じて提示することができる。デバイス１０２およびカレンダ・アプリケーションは一緒に動作して、ユーザが１つ以上の予測値を選択する際、または予測した値とは異なる値を入力することを選択する際に、やり易くする。ユーザは、当技術分野で周知な方法であればいずれによってでも、このような異なる値を入力することができ、資源制約デバイス１０２の実施形態のハードウェアおよびソフトウェア、ならびにアプリケーションのみによって限定されるに過ぎない。
【００２６】
再度図１を参照すると、学習装置１０４は、１つ以上のルールの重みを調整すること、および／または少なくとも、各ルールの局在的予測が正しかったか否かに基づいて、ルールの１つ以上を更新または除去することができる。ユーザの入力を受け取った後、学習装置１０４は、ルール毎に、このルールが、ユーザによって選択または入力された目標値を正しく予測したか否か判断することができる。実施形態によっては、学習装置１０４は、当該ルールによる局在的予測が正しくないときに、全体の成果の正確さには関係なく、ルールの重みを減少させることができる。例えば、学習装置１０４は、ルールの重みをその全重みの半分だけ減分することができる。更に、局在的予測は正しいが全体的な成果が正しくない場合、学習装置１０４は実際の予測に対して投票の欠損(vote deficit)を計算することもできる。その後、学習装置１０４は、正しい局在的予測を有したルールに対して、重みを増加させることができる。一実施形態では、正しく予測するルールの重みを等しく増加させる。これによって、正しい目標値に対する投票を引き上げることができる。
【００２７】
加えて、あるルール（および全体的成果）が正しく予測する場合、学習装置１０４は正しく予測するルールの重みを控えめに増分することもできる。このような実施形態は、この報償が今後の予測に対するルールの信頼性（重み）を高めることを推測する。種々の実施形態では、報償値に０．１を採用する。別の実施形態では、異なる報償値を採用してもよい。自由にルールに報償を与えると、最終的には性能の低下に至る虞れがあるので、このパラメータは慎重に選択するとよい。更に、重みを少しずつ線形に増加させる方が、指数的に増加させるよりも挙動は遥かに優れていることが、実験によって示唆されているように思われる。種々の実施形態では、いずれのルールでも、その重みがユーザの定義した閾値を下回る場合、そのルールをルールセットから除去するとよい。
【００２８】
実施形態によっては、いずれのルールであっても、その前提部が現在のインスタンスと一致するが、ユーザが選択または規定した目標値が帰結に現れない場合、学習装置１０４は、成果を正しく予測する頻度が最も低い目標値を、現在のユーザが選択／規定した目標値と置き換えることによって、ルールを更新することができる。更に、種々の実施形態において、予測が正しくない場合、学習装置１０４は、成果を正しく予測する頻度が最も低い目標値を、現在のユーザが選択／規定した目標値と置き換えることによって、インスタンス空間を更新することもできる。新しいルールは、最初のルールと同じように生成することができ、更に冗長性を除去することもできる。新しいルールには、各々、重み、例えば、１の重みを割り当てることができる。
【００２９】
次いで、学習装置１０４は、この更新したルールセットを今後のインスタンスに用いることができる。このように、ルールセットをインクリメントして更新する。学習装置１０４を試験的に用いた際に、比較的低いコストで精度が得られ、格納要件の減少という点で比較的大きな改善が実現できることが示されている。更に、この格納が減少した環境においても、学習装置１０４は比較的高いレートで実行することができ、オンラインの使用に適するものとなっている。
【００３０】
図２は、種々の実施形態による本発明の選択動作のフローチャートを示す図である。図示のように、本発明の一実施形態の学習方法は、ブロック２０４において、１つ以上のインスタンスの一致する属性値をランダムに選択することによって１つ以上のルールを生成することができ、最初に、ブロック２０２において、一致する目標値に基づいて１つ以上のインスタンスをランダムに選択する。種々の実施形態では、種々の実施形態では、インスタンスは、複数の属性で構成するいずれかの論理概念でも表すことができる。例えば、論理概念「会合」(meeting)は、出席者、日付、時間、および場所のような属性で構成することができる。そして、各属性には１つ以上の属性値を関連付けることができる。つまり、属性「出席者」には、属性値「Rene」および「Pascal」と関連付けることができる。このような複数のインスタンスを資源制約デバイス上に、実施形態によっては、データベースのテーブルとしてまたはファイルのデータ構造として格納することができる。別の実施形態では、インスタンスは代わりにサーバ上に格納し、サーバから検索することができる。サーバまたはデバイスのストレージからのインスタンスの検索は、１つ以上の目標値に基づくことができる。目標値を属性値として有するインスタンスは、インスタンス空間を備えることができ、ブロック２０２において、インスタンス空間から多数のインスタンスをランダムに選択することができる。例えば、「会議室」が目標値である場合、「会議室」を属性値として有するインスタンスは、インスタンス空間を備えることができる。次いで、インスタンス空間から、「昼食」、「会合」、「セミナ」のような多数のインスタンスをランダムに選択することができる。各インスタンスは、恐らく「場所」のような属性の「会議室」を属性値として有する。
【００３１】
実施形態によっては、学習方法は、次に、ブロック２０４において、１つ以上のランダムに選択したインスタンスの一致属性値をランダムに選択することによって、１つ以上のルールを生成することができる。その動機は、一致する属性値はランダムに選択した１つ以上のインスタンスの種々の属性間における相関を捕らえることができるからである。組み立てたルールは、１つ以上の属性で構成される前提を有することができ、各属性は、１つ以上の属性値と関連付けられている。また、ルールは、目標と、この目標と関連のある１つ以上の目標値とを備える帰結を含むこともできる。実施形態によっては、ルールを「if-then」形式で組み立てることもでき、「if」で前提が開始し、「then」で帰結が始まる。このような実施形態のルールの一例は、「if sponsor-attendees = matchell and department-attendees=scs then location = weh5309, weh5311, oakland」である。この例では、前提は２つの属性、「sponsor-attendees」および「department-attendees」で構成されており、各属性には１つの属性値が関連付けられており、帰結は、目標「location」で構成され、目標には３つの目標値が関連付けられている。実施形態によっては、ルールがこれらよりも少ないまたは多い属性、および／または前提を構成する属性値、ならびにこれらよりも少ないまたは多い目標値を有する場合もある。したがって、学習方法の実施形態が生成するルールは可変長ルールとすることができる。可変長ルールの一例を図３に示し、以下で更に詳しく説明する。
【００３２】
生成したルールは、ルールセットを備えることができ、資源制約デバイスのストレージまたはサーバ上に格納することができ、実施形態によっては、サーバがルールを生成する場合もある。ルールは、プログラミング言語のクラスとして実装することができ、あるいはそれらのコンポーネント属性、属性値、目標、および目標値を、データベースのテーブルまたはファイルのデータ構造に格納し、必要に応じて、ルールを動的に作成し易くする。
【００３３】
図示のように、ルールを形成した後、ブロック２０６において、学習方法は冗長なルールを除去することができる。冗長なルールを除去する際、より一般的なルールをより具体的なルールよりも優先するとよい。種々の実施形態において、学習方法は、次にブロック２０８において、前述のインスタンス空間上においてルールを更新し、ランダムに選択した１つ以上のインスタンスの中にない属性値および目標値を組み込むことができる。例えば、「if date=120205 and personnel=rpe, ata then location=Conference Room」というように最初に形成されたルールは、インスタンス空間において見出されたインスタンスの追加属性値を含むように更新することができる。このように、インスタンスが日付、人員、および場所を属性として有するが、人員に関連のある追加属性値「khf」を有する場合、「if date=120205 and personnel=rpe, ata, khf then location=Conference Room」というように、ルールを更新することができる。
【００３４】
ルールを生成し更新するとき、ブロック２１０において、学習方法は各ルールに重みを関連付けることができる。実施形態によっては、各ルールには最初に同じ重みを割り当てる場合もある。例えば、初期化のときに、各ルールには「１」の重みを割り当てることができる。重みは、ルールの特徴であり、ルールと共に格納することができる。例えば、ルールがクラスである場合、重みはそのクラスの変更可能なメンバとすることができる。ルールがテーブルである場合、重みはテーブルのフィールドとすることができる。代替実施形態では、重みおよびルールを別々に格納し、ルールを資源制約デバイス上に格納し、ルールをサーバ上に格納することもでき、あるいはその逆でもよい。
【００３５】
実施形態によっては、ルールの追加の特徴、またはその値も、ルールおよび／または重みと共に格納してもよい場合がある。例えば、学習方法は、各目標値が予測された回数をカウントすることもできる。前述のように、ブロック２０２においてインスタンスを選択し、ブロック２０４においてルールを形成し、ブロック２０６において冗長なルールを除去し、ブロック２０８においてルールを更新し、ブロック２１０において各ルールを重みと関連付ける選択動作は、サーバ上で全体的または部分的に実行することができる。しかしながら、実施形態によっては、前述の選択動作の１つ１つを資源制約デバイス上で実行するとよい場合もある。前述のルールは、属性値を予測することにより、ルールを更新することにより、そして精度低く属性値を予測するルールを除去することにより、最少量のインスタンス・データの格納を促進する。これらの動作については、以下で更に詳しく説明する。また、精度高く値を予測するルールのみを保持することによって、学習方法は、維持するルールセットがコンパクトであることを確かなものにする。
【００３６】
図示のように、一旦ルールを生成し更新したなら、ブロック２１２において、学習方法は新しいインスタンスを待っていればよい。新しいインスタンスは、資源制約デバイスのアプリケーションによって受け取ることができ、このアプリケーションは、本発明の学習方法の一実施形態によって強化される。学習方法は、いずれの種類のアプリケーションとでも用いることができる。アプリケーションは、強化すること、又は、より少ないデータの格納を要求することにより学習方法を実行するプロセス又はデバイスと通信するように結合することの恩恵を受けることができる。以下の説明を簡略化する目的で、学習装置１０４によって強化したカレンダ・アプリケーションの一例を参考にする。しかしながら、代替実施形態では、いずれの数のアプリケーションでも学習方法によって強化することができる。
【００３７】
実施形態によっては、カレンダ・アプリケーションが資源制約デバイス上で動作できる場合もある。ルールを形成した後またはサーバからルールを受信した後、カレンダ・アプリケーションを実行すると、ブロック２１２において、インスタンスを入力として受信するために待機することができる。次いで、新しいインスタンスを受信すると、カレンダ・アプリケーションの学習方法は、ブロック２１４において、ルールに照らし合わせてこのインスタンスを評価することができる。例えば、カレンダ・アプリケーションのユーザがカレンダによって表示する、新しい会合オブジェクトを作成することができる。会合を作成するためには、カレンダ・アプリケーションは、ユーザに少なくとも日付、時間、出席者、および場所を入力するように要求することができる。このように、カレンダのために新しい会合オブジェクトを作成する場合、カレンダ・アプリケーションによる新しいインスタンスの受信を考慮することができる。
【００３８】
ルールセットのルールをチェックする前に、ブロック２１４において、カレンダ・アプリケーションの学習方法は、新しいインスタンスのどの属性が、１つ以上の値を予測するためにルールが用いられる目標であるのか判断する。実施形態によっては、目標が予め決められている場合もある。例えば、新しいインスタンスが会合であり、ユーザが、カレンダのオブジェクトとして会合を格納するために、３つの属性について値を入力しなければならない場合、ユーザが値を入力しなければならない最後の属性が目標であると見なすことができ、１つ以上の値をその属性／目標に対してユーザに予測すればよい。このような実施形態では、ユーザが目標の前に属性について値を入力した後に、ブロック２１４においてルールをチェックすることができる。代替実施形態では、新しいインスタンスの各属性を繰り返し目標として扱うこともでき、ブロック２１４において新しいインスタンスの属性毎に、ルールをチェックする。最初の属性について、属性値が入力されておらず、したがってルールのいずれも満たされない場合、カレンダの学習方法は、例えば、最初の属性と関連のある値について全てのルールをチェックし、次いで最も頻繁に予測されている値あるいはその値の一部または全部のリストを戻すことができる。
【００３９】
各ルールをチェックする際、ブロック２１４において、学習方法は、最初に、値が入力されている新しいインスタンスの属性と一致する属性で構成されているルールはどれか判断する。新しい会合に関する先の例を参照すると、ユーザが日付、時間、および出席者に値を入力したなら、本方法は最初にルールセットを探索して、前提がこれら３つの属性の一部または全部で構成されているルールを見つけ出す。一致することが発見されたルールの内、ルールの前提部の属性値を、新しいインスタンスの属性値と比較する。実施形態によっては、前提が新しいインスタンスと同じ値を全て有するルールのみが、これらに対して票が登録されている場合もある。他の実施形態では、１つ以上の一致する属性値を有するルールも、それらに対して票が登録されている場合もある。
【００４０】
種々の実施形態では、ルール毎に登録されている票数が各ルールの重みに対応する場合もあり、各ルールはその最大重みを投票する。例えば、１の重みを有するルールは、そのために１票を登録することができ、３の重みを有するルールは、そのために３票を登録することができる。実施形態によっては、ルールがその帰結に１つよりも多い目標値を有する場合、その票全てを、その最も頻繁に投票された目標値に登録することができる。別の実施形態では、票は、ルールの目標値の各々について投じることができ、投じた各票は、各ルールの重みに各目標値の分数頻度を乗算した値に等しい。例えば、あるルールが６の重みを有し、３つの目標値「会議室」、「部屋４１７」、および「部屋３２１」を予測し、値が１、４、および１の対応する頻度を有する場合、１つの票を「会議室」に投じることができ（重みの６に、１／６の分数頻度を乗算すると１票に等しくなる）、「部屋４１７」には４、「部屋３２１」には１を投じることができる。更に別の実施形態では、以上の２つの票登録方法の組み合わせを用いることもできる。
【００４１】
図示のように、一旦票を登録したなら、ブロック２１６において、学習方法は投票を集計し、１つ以上の目標値を資源制約デバイスのユーザに予測することができる。実施形態によっては、学習方法がルールのために登録された投票を集計し、１つのみの値を予測する場合もあり、この値は最も大きな複数の票数を受ける。別の実施形態では、学習装置１０４は、投票を集計し、最も大きな複数の票数を受けた値に対応する複数の値を予測することができる。目標に対して行われる予測の数は、実施形態毎に異なる場合もあり、ユーザまたはプログラムが定義する閾値規準によって決定することもできる。
【００４２】
次に、１つまたは複数の予測値を、資源制約デバイスのユーザに提示することができ、実施形態によっては、図４に示すビューアのような、デバイス１０２のビューアを通じて提示することができる。デバイスおよびカレンダ・アプリケーションは一緒に動作して、ユーザが１つ以上の予測値を選択する際、または予測した値とは異なる値を入力することを選択する際に、やり易くする。ユーザは、当技術分野で周知な方法であればいずれによってでも、このような異なる値を入力することができ、資源制約デバイスおよびアプリケーションの実施形態のハードウェアおよびソフトウェア、ならびにアプリケーションのみによって限定されるに過ぎない。
【００４３】
再度図２を参照すると、学習方法は、ブロック２１８において、１つ以上のルールの重みを調整すること、および／または少なくとも、各ルールの局在的予測が正しかったか否かに基づいて、ルールの１つ以上を更新または除去することができる。ユーザの入力を受け取った後、学習方法は、ルール毎に、このルールが、ユーザによって選択または入力された目標値を正しく予測したか否か判断することができる。
【００４４】
実施形態によっては、学習方法は、当該ルールによる局在的予測が正しくないときに、全体の成果の正確さには関係なく、ルールの重みを減少させることができる。例えば、学習方法は、ルールの重みをその前重みの半分だけ減分することができる。更に、局在的予測は正しいが全体的な成果が正しくない場合、学習方法は実際の予測に対して投票の欠損を計算することもできる。その後、学習方法は、正しい局在的予測を有したルールに対して、重みを増加させることができる。一実施形態では、正しく予測するルールの重みを等しく増加させる。これによって、正しい目標値に対する投票を引き上げることができる。
【００４５】
加えて、あるルール（および全体的成果）が正しく予測する場合、学習方法は正しく予測するルールの重みを控えめに増分することもできる。このような方法は、この報償が今後の予測に対するルールの信頼性（重み）を高めることを推測する。種々の実施形態では、報償値に０．１を採用する。別の実施形態では、異なる報償値を採用してもよい。自由にルールに報償を与えると、最終的には性能の低下に至る虞れがあるので、このパラメータは慎重に選択するとよい。更に、重みを少しずつ線形に増加させる方が、指数的に増加させるよりも挙動は遥かに優れていることが、実験によって示唆されているように思われる。種々の実施形態では、いずれのルールでも、その重みがユーザの定義した閾値を下回る場合、そのルールをルールセットから除去するとよい。実施形態によっては、いずれのルールであっても、その前提部が現在のインスタンスと一致するが、ユーザが選択または規定した目標値が帰結に現れない場合、学習方法は、成果を正しく予測する頻度が最も低い目標値を、現在のユーザが選択／規定した目標値と置き換えることによって、ルールを更新することができる。更に、種々の実施形態において、予測が正しくない場合、学習方法は、成果を正しく予測する頻度が最も低い目標値を、現在のユーザが選択／規定した目標値と置き換えることによって、インスタンス空間を更新することもできる。新しいルールは、最初のルールと同じように生成することができ、更に冗長性を除去することもできる。新しいルールには、各々、重み、例えば、１の重みを割り当てることができる。
【００４６】
次いで、カレンダの学習方法は、この更新したルールセットを今後のインスタンスに用いることができる。このように、ルールセットをインクリメントして更新する。
学習方法を試験的に用いた際に、比較的低いコストで精度が得られ、格納要件の減少という点で比較的大きな改善が実現できることが示されている。更に、この格納が減少した環境においても、学習方法は比較的高いレートで実行することができ、オンラインの使用に適するものとなっている。
【００４７】
図３は、種々の実施形態による、本発明のルールセットの一部を備えている可変長ルールの一例を示す。図示のように、ルールは、前提のｉｆ節と、帰結のｔｈｅｎ節とによって構成することができ、ｉｆ節は１つ以上の属性を含み、各属性は１つ以上の属性値を有し、ｔｈｅｎ節は１つの目標を有し、目標は１つ以上の目標値を有する。前述のように、各ルールには重みを関連付けることができ、目標値には、各々、頻度規準を関連付けることができる。更に、図３に示すルールセットのようなルールセットは、図１および図２を参照して先に説明したように、インクリメントして更新することができる。
【００４８】
図４は、本発明の一実施形態にしたがって構成し、学習装置が予測した目標値をユーザに提示する資源制約デバイスのビューアを示す。図示のように、前述した形式の資源制約デバイス４０２は、ビューア４０４を有することができる。ビューア４０４は、当技術分野において周知の種類であればいずれでもよく、ＬＣＤディスプレイ、電子ペーパ、または陰極線管を含む。また、資源制約デバイス４０２は、ユーザの相互作用をやり易くするために複数のボタンも含むことができる。ビューア４０４は、ユーザに、本発明の学習装置の実施形態によって強化したアプリケーションが提供するデータのグラフィック・ビューを提示することができる。ビューア４０４は、属性および属性値を提示することができ、更に、図示のように、目標と、ユーザが選択することができる１つ以上の予測目標値４０６とを提示することもできる。図４に示す目標値４０６のリストは、３つの予測を備えている。また、ビューア４０４は、ユーザが目標値を選択し易くするために、目標値４０６の１つを強調するカーソル４０８も示す。他の実施形態では、リスト４０６は、空白の目標値も含み、図示のいずれとも異なる目標値をユーザが入力し易くすることもできる。
【００４９】
図５は、種々の実施形態にしたがって、本発明を実用化するのに適した、移動体電話機またはＰＤＡのような、資源制約計算デバイス５００の構造図を示す。図示のように、前述の実施形態では、資源制約計算デバイス５００は、マイクロコントローラ／プロセッサ５０２、ディジタル信号プロセッサ（ＤＳＰ）５０４、不揮発性メモリ５０６、ディスプレイ５０８、入力キー５１０（キーパッドまたは選択ボタン等）、およびバス５１４を通じて互いに結合されている送信機／受信機（ＴＸ／ＲＸ）５１２のような、従来の計算デバイスにおいて見られる要素を含む。バス５１４は、単一バスまたは階層状にブリッジしたバス（図示せず）でもよい。更に、不揮発性メモリ５０６は、学習装置５２０を含み、先に説明した本発明の実施形態の学習方法を、それ自体の中にそしてそれ自体で実装するか、または１つ以上の更に大きな構成機器の一部として実装する。この実施態様は、多数のプログラミング言語、アセンブリ、Ｃ等のいずれによって行ってもよい。
【００５０】
代替実施形態では、学習装置５２０の全部または一部を、ハードウェア、ファームウェア、またはそのいずれの組み合わせによって実施してもよい。ハードウェアの実施態様は、特定用と集積回路（ＡＳＩＣ）、再構成した構成変更可能な回路（フィールド・プログラミング・フィールド・アレイ（ＦＰＧＡ）等）等の形態とすることができる。
【００５１】
要素５０２〜５１４の構成は、当技術分野では周知であり、したがってこれ以上説明しない。
以上、具体的な実施形態についてここで例示し説明したが、本発明の範囲から逸脱することなく、多種多様の代替実施態様および／または同等の実施態様を、図示し説明した前述の具体的な実施形態の代用にしてもよいことは当業者には認められよう。本発明は、多種多様の実施形態で実施すること、またはこれらから拡張することも可能であることは、当業者には容易に認められよう。例えば、種々の実施形態では、予測に対する信頼度規準を規定するために、システムを拡張することもできる。本願は、ここに論じた実施形態のいずれの改造や変形をも包含することを意図している。したがって、本発明は、特許請求の範囲およびその均等物によってでなければ限定されないことを意味するのは、一目瞭然である。
【図面の簡単な説明】
【００５２】
【図１】図１は、種々の実施形態による、本発明の全体像を示す。
【図２】図２は、種々の実施形態による、本発明の選択動作のフローチャートを示す。
【図３】図３は、種々の実施形態による、本発明のルールセットの一部を備えた可変長ルールの一例を示す。
【図４】図４は、本発明の一実施形態にしたがって構成し、学習装置が予測した目標値をユーザに提示する資源制約デバイスのビューアを示す。
【図５】図５は、種々の実施形態にしたがって、本発明を実用化するのに適した資源制約デバイスの構造図を示す。
【図１】
2009515277.tif 000003
【図２】
2009515277.tif 000004
【図３】
2009515277.tif 000005
【図４】
2009515277.tif 000006
【図５】
2009515277.tif 000007
【手続補正書】
【提出日】平成20年7月9日(2008.7.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
受信したインスタンスの属性に対して値を予測するために１つ以上の票を登録するステップであって、重みと、前提を満たすと判定された１つ以上のルールの少なくとも１つと関連のある予測目標値とに少なくとも部分的に基づいて、重み付けして前記登録を実行し、前記前提を満たすことは、前記受信したインスタンスの１つ以上の別の属性の１つ以上の属性値に少なくとも部分的に基づいて判定するステップと、
１つ以上の票が登録されている前記予測目標値が、前記受信したインスタンスの属性値を正しく予測したか否か判定を行うステップと、
前記ルールの関連する重みを調節し、前記１つ以上の票が登録されている前記予測目標値が前記受信したインスタンスの属性値を正しく予測した場合には前記重みを増分し、前記１つ以上の票が登録されている前記予測目標値が前記受信したインスタンスの属性値を誤って予測した場合には前記重みを減分するステップと、
を備えている、方法。
【請求項２】
請求項１記載の方法において、前記１つ以上のルールは、可変長ルールである、方法。
【請求項３】
請求項１記載の方法であって、更に、１つ以上のインスタンスの一致する属性値をランダムに選択することによって、前記１つ以上のルールを生成するステップを備えており、一致する目標値に基づいて、前記１つ以上のインスタンスをランダムに選択する、方法。
【請求項４】
請求項３記載の方法であって、更に、前記１つ以上のルールの各々に重みを割り当てるステップを備えており、前記１つ以上のルールの各々には、最初に同じ重みを割り当てる、方法。
【請求項５】
請求項３記載の方法であって、更に、１つ以上の追加のインスタンスに基づいて、前記１つ以上のルールを更新するステップを備えている、方法。
【請求項６】
請求項１記載の方法において、前記１つ以上の票を登録するステップは、前記１つ以上のルールの各々の重みに等しい数の票を登録するステップを備えており、各ルールの前記１つ以上の票を、各ルールの最も頻度が高い目標値について登録する、方法。
【請求項７】
請求項１記載の方法において、前記１つ以上の票を登録するステップは、前記１つ以上のルールの重みに等しい数の票を登録するステップを備えており、各ルールの前記１つ以上の票を、各ルールの１つ以上の目標値の各々について登録し、各目標値についての各票は、各ルールの重みに当該目標値の分数頻度を乗算した値に等しい、方法。
【請求項８】
請求項１記載の方法であって、更に、前記登録した票の集計に基づいて、前記受信したインスタンスの属性に対する値を予測するステップを備えており、前記予測値は、最も大きな複数の票を受信した目標値と同一である、方法。
【請求項９】
請求項１記載の方法であって、更に、前記登録した票の集計に基づいて、前記受信したインスタンスの属性に対して複数の値を予測するステップを備えており、前記予測した複数の値は、最も大きな複数の票を受けた複数の目標値を含み、前記複数の目標値のサイズは、閾値に対応する、方法。
【請求項１０】
請求項１記載の方法において、１つ以上の票が登録されている前記予測目標値が前記受信したインスタンスの属性値を正しく予測したか否か判定するステップは、ユーザに前記予測値を提示し、該ユーザが前記予測値を選択する際または異なる値を入力する際にし易くするステップを備えている、方法。
【請求項１１】
請求項１記載の方法であって、更に、前記ルールの重みが閾値規準未満に減少した場合、前記１つ以上のルールの１つを削除するステップを備えている、方法。
【請求項１２】
プロセッサと、
前記プロセッサに結合されている計算エンジンであって、
受信したインスタンスの属性に対して値を予測するために１つ以上の票を登録し、重みと、前提を満たすと判定された１つ以上のルールの少なくとも１つと関連のある予測目標値とに少なくとも部分的に基づいて、重み付けして前記登録を実行し、前記前提を満たすことは、前記受信したインスタンスの１つ以上の別の属性の１つ以上の属性値に少なくとも部分的に基づいて判定し、
１つ以上の票が登録されている前記予測目標値が、前記受信したインスタンスの属性値を正しく予測したか否か判定を行い、
前記ルールの関連する重みを調節し、前記１つ以上の票が登録されている前記予測値が前記受信したインスタンスの属性値を正しく予測した場合には前記重みを増分し、前記１つ以上の票が登録されている前記予測値が前記受信したインスタンスの属性値を誤って予測した場合には前記重みを減分するように構成されている、計算エンジンと、
を備えている、装置。
【請求項１３】
請求項１２記載の装置において、前記１つ以上のルールは、可変長ルールである、装置。
【請求項１４】
請求項１２記載の装置において、前記計算エンジンは、更に、１つ以上のインスタンスの一致する属性値をランダムに選択することによって、前記１つ以上のルールを生成するように構成されており、一致する目標値に基づいて、前記１つ以上のインスタンスをランダムに選択する、装置。
【請求項１５】
請求項１２記載の装置において、前記計算エンジンは、更に、前記１つ以上の票を登録するように構成されており、前記登録は、前記１つ以上のルールの各々の重みに等しい数の票を登録することを備える、装置。
【請求項１６】
請求項１２記載の装置において、前記計算エンジンは、更に、前記登録した票の集計に基づいて、前記受信したインスタンスの属性に対する値を予測するように構成されており、前記予測値は、最も大きな複数の票を受信した目標値と同一である、装置。
【請求項１７】
請求項１２記載の装置において、前記計算エンジンは、更に、前記登録した票の集計に基づいて、前記受信したインスタンスの属性に対して複数の値を予測するように構成されており、前記予測した複数の値は、最も大きな複数の票を受けた複数の目標値を含み、前記複数の目標値のサイズは、閾値に対応する、装置。
【請求項１８】
請求項１２記載の装置において、前記計算エンジンは、更に、前記ルールの重みが閾値規準未満に減少した場合、前記１つ以上のルールの１つを削除するように構成されている、装置。
【国際調査報告】
2009515277.tif 000008