JP2006511866A - 外部化可能推論コンポーネントのためのシステム及び方法 - Google Patents

外部化可能推論コンポーネントのためのシステム及び方法 Download PDF

Info

Publication number
JP2006511866A
JP2006511866A JP2004563146A JP2004563146A JP2006511866A JP 2006511866 A JP2006511866 A JP 2006511866A JP 2004563146 A JP2004563146 A JP 2004563146A JP 2004563146 A JP2004563146 A JP 2004563146A JP 2006511866 A JP2006511866 A JP 2006511866A
Authority
JP
Japan
Prior art keywords
inference
component
data
algorithm
components
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
JP2004563146A
Other languages
English (en)
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2006511866A publication Critical patent/JP2006511866A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/042Backward inferencing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

外部化可能推論コンポーネントを管理する技術が提供される。この技術は、分離したコンポーネントからの推論の動的構造化、及び、動的に構造化可能な推論を制御するためのデータの外部化を可能にする。実現される1つの重要な利点は、種々の外部化された推論コンポーネントを混合し、マッチングして、新しい推論を形成できること、又は、言い換えれば、種々のコンポーネントを新しい手法で組み合わせる(再使用する)及び実行することによって新しい知識を推論できることである。多くの特殊な手法で結合して異なるアプリケーションの必要性に適合させることができるプラグ可能な推論コンポーネントが提供されることになる。このことは、推論コンポーネントが独立して開発されること、及び、高い移植性をもつことを可能にする。

Description

本発明は、一般に、ソフトウェア・エンジニアリングに関し、より具体的には、外部化可能推論コンポーネントを指定、適用及び管理することを含む、外部化可能推論コンポーネントを用いるための技術に関する。
推論データを外部化するための種々の体系が開発されてきた。「System for Automatically and Transparently Mapping Rules and Objects from a Stable Storage Database Management System Within a Forward Chaining or Backward Chaining Inference Cycle」という名称のLandersによる特許文献1は、データベース内に永続的に格納されるオブジェクト及びルールデータを説明する。また、「Event Driven Management Information System With Rule−Based Applications Structure Stored in a Relational Database」という名称のMoore他による特許文献2においても、推論情報が永続的に格納される。しかしながら、外部化可能推論コンポーネントの使用を開示している従来技術はない。
米国特許第5,136,523号明細書 米国特許第5,446,885号明細書 米国特許出願第09/956,644号明細書
これまで、複数の外部化可能推論コンポーネントを管理する方法が提供されていない。また、ビジネス・ロジックを与えるシステムが提供されていない。
本発明の一態様によると、複数の外部化可能推論コンポーネントを管理する方法が提供される。その方法は、プログラムの推論側面を識別すること、そして識別された推論側面を推論コンポーネントとして与えることを含む。外部化されたアルゴリズム及びデータ(これらは永続的に格納することができる)を、推論コンポーネントと関連付けることができる。
識別される推論側面は、トリガポイント、短期ファクト、推論ルール、推論エンジン、静的変数マッピング、センサ、エフェクタ、長期ファクト及び結論を含むことができる。推論コンポーネントは、トリガポイントコンポーネント、短期ファクトコンポーネント、推論ルールセットコンポーネント、推論エンジンコンポーネント、静的マッピングコンポーネント、センサコンポーネント、エフェクタコンポーネント、長期ファクトコンポーネント、及び結論コンポーネントを含むことができる。
推論コンポーネントは、推論コンポーネントによって提供されるデータの利用側、推論コンポーネントによって提供されるデータの供給側、又はその両方になることができる。
この方法はさらに、少なくとも1つのトリガポイント推論コンポーネントを少なくとも1つのアプリケーションと関連付けることを含むことができる。トリガポイントは、同期的に又は非同期的に動作することができる。
推論コンポーネントは、少なくとも1つの他の推論コンポーネントを利用するマスター推論コンポーネントとすることができる。推論コンポーネントは推論エンジンを用いることができる。さらに、推論コンポーネントは少なくとも1つの推論サブコンポーネントに編成することができる。推論コンポーネントはまた、少なくとも1つの他の推論コンポーネントを参照することによって共用されることも可能である。
推論コンポーネントの編成/構成は、アレイ、コレクション、ハッシュテーブル、イテレータ、リスト、パーティション、セット、スタック、ツリー、ベクトル、及びこれらの組み合わせとすることができる。
推論コンポーネントは、固有の識別子、意図、名前、位置、フォルダ、開始時刻、終了時刻、優先順位、分類、参照、記述、ファイアリング位置、ファイアリングパラメータ、初期化パラメータ、インプリメンタ、レディフラグ、フリーフォームデータ、及びこれらの組み合わせを含むことができる。
アルゴリズムは、推論コンポーネントの作成、推論コンポーネントの検索、推論コンポーネントの更新、及び推論コンポーネントの削除を実行することができる。さらに、アルゴリズムは、少なくとも2つの推論コンポーネントにより共用することが可能である。
アルゴリズムは、トリガポイント実行アルゴリズム、データ戻しアルゴリズム、データ結合アルゴリズム、データ・フィルター・アルゴリズム、データ変換アルゴリズム、分類選択アルゴリズム、任意選択アルゴリズム、ラウンドロビン選択アルゴリズム、推論エンジン前置プロセッサ、推論エンジン後置プロセッサ、推論エンジンランチャー、データ受信アルゴリズム、データ送信アルゴリズム、データ格納アルゴリズム、データ取り出しアルゴリズム、及びこれらの組み合わせとすることができる。
推論コンポーネントは、新しい推論エンティティを形成する少なくとも2つの推論サブコンポーネントから構成することができる。その構成は、静的又は動的(もしくはそれの組み合わせ)のいずれかで生じる。
推論コンポーネントを作成し、検索し、更新し及び削除するのを容易にするために、推論コンポーネント管理機能を利用することができる。
本発明の別の態様によると、ビジネス・ロジックを与えるシステムが提供される。システムは、識別コンポーネント及び外部化コンポーネントを含む。識別コンポーネントは、アプリケーション・プログラム内の少なくとも1つの可変ポイントを識別するように構成され、外部化コンポーネントは、外部化されたビジネス・ロジックにより識別される少なくとも1つの可変ポイントを与えるように構成される。外部化されたビジネス・ロジックは推論コンポーネントを含む。推論コンポーネントは外部化されたアルゴリズム及びデータを含むことができる。
システムはまた、少なくとも1つの仮想マシン(例えば、JAVA(商標)仮想マシン(JVM))を用いて外部化されたアルゴリズムを実行するための実行コンポーネントを含むことができる。
本発明のこれらの及び他の態様、特徴及び利点は、添付の図面と関連して理解されることになる好ましい実施形態の以下の詳細な説明から明らかとなるであろう。
ビジネスルールの外部化及びトリガポイントの外部化は、アプリケーション挙動を調整するための公知の技術である。例えば、その全体を引用により組み入れる、2001年9月20日出願の、Degenaro他による「System and Method for Employing Externalized,Dynamically Configurable,Cacheable Trigger Points」と題する特許文献3は、ロジックフローにおいてトリガポイントを用いる技術を説明する。一般的な考え方は、通常はアプリケーション内に組み込まれるロジックをトリガポイントに置き換えて、該トリガポイントが、所望の処理を実行するように外部権限に訴えるものとすることである。その場合には、そのように設計されたアプリケーションの可変性は、ルール主導型アプリケーションそれ自体を変更することなく、容易に及び動的に取り扱うことができるものとなる。アプリケーションの種々の層にトリガポイントを配置することにより、対応するレベルでのルールの抽象化が可能になる。外部化可能ロジック及びデータを集中化することにより、理解の容易性、整合性、再使用、及び管理の容易性が高まるとともに、トリガポイント及びルールを用いる種々のアプリケーションの、企業にわたる維持費が減少する。
外部化に関しての「ルール」とは、人工知能の世界に通常関連するものではなく、むしろ日常の「ビジネス」の意思決定に用いられるものである。使用される技術は、宣言型よりも構造化指向であり、使用されるルールは直接的であることが多い。一般に、新しい知識は求められないが、その代わりに、時間及び状況の可変性が容易に管理される。
例えば、航空会社のアプリケーションは、頻繁に利用する乗客が、1年間で彼らが飛んだマイル数に基づいて、ブロンズ、シルバー、又はゴールドになるように考えることができる。時間の経過に伴ってより多くのマイルが貯まると、ある人のステータスが、ブロンズからシルバーに、又はシルバーからゴールドに変更されることになる。さらに、ブロンズ、シルバー、又はゴールドとして分類されるのに必要なマイル数は、時間が経てば、10000、20000、30000からそれぞれ15000、25000、50000に変更されることがある。又は、暦年において少なくとも75000マイル旅行する人に対して、プラチナの新しい分類が追加されることがある。
外部化技術に先立って、顧客をカテゴリーに分類することを、インラインでコード化することができる。しかし、外部化可能トリガポイント及びルールを用いるに際し、分類を実行するためのロジック及びデータは、アプリケーション本体に対して外部にある。このような判断をするアルゴリズムと、それらをパラメータ化するデータとの両方を外部化することによって、動作可変性の管理のしやすさの増進を達成することができる。
代替的に、推論システムは、順方向チェーニング及び逆方向チェーニングといった推論技術、及び、新しい知識を導出するためのReteネットワークを用いることが多い。このようなシステムは、通常は、3つの主要な要素、すなわち、通常はif/thenルール及びファクトの形態をとる知識、導出されたファクトからなる作業メモリ、及び、該知識及び作業メモリを処理する推論エンジンから構成される。
順方向チェーニングの間、推論エンジンは、推論ルール及びファクトを検査して、どの推論ルールがファイアされる適格性をもっているかを判断する。競合する解決技術を用いることによって選択された1つの推論ルールがファイアされる。これにより、実行が起こるか又は新しいファクトが生成される。適格性をもった推論ルールがそれ以上存在しなくなるまで、推論ルールの選択及びファイアの繰り返しが続く。完了したときには、ゼロ又はそれ以上の結論に到達する。
逆方向チェーニングの間、推論エンジンは、ファクト及びデータを検査して、ゴールに到達しているかどうかを判断する。オリジナルのゴールの真又は偽が証明される時まで、中間ゴールが追加され、除去される。各ゴールは、関連するデータで評価されたときに、真であると証明され又は偽であると証明される推論ルールであるか、あるいは、最初から真又は偽であると証明される1つ又はそれ以上の他の推論ルールである。
Reteアルゴリズムは、最適化された推論方法である。ノードのネットワークは、新しいファクトのみがあらゆる推論ルールに対してテストされることを保証するために用いられる。
典型的には、推論又は知識ベースのシステムを用いて、新しいファクトを学習することができる。例えば、中国人がカメラを購入するときには、彼らは携帯用ケースも購入することが多く、一方、フランス人はカメラに加えて電池を購入することが学習されることがある。
これら2つの異なるルールは、各々がそれらの長所及び短所を有する、プログラミングモデル、外部化及び推論を指向させる。各々は、同じ問題セットに適用されることができ、1つは通常、状況に応じて、重要な態様において他を上回る利点を有する。例えば、用いられるルールが頻繁に変化するとき、どのようにして結果が得られたかを正確に判断することが重要でないとき、ランタイム中に競合するルールがあてられるとき、関係のあるルールの数が非常に多いとき、又は高性能が要求されないときに、推論がより好適となる。ルールセットサイズが小さいか、ルール変更がまれであるか、高性能が重要であるとき等といった逆の状況においては、外部化がより有利となる。
1つの重要な問題は、いかに有益に外部化と推論との両方を共に用いて、それらすべての組み合わさった利点を享受しつつ各々の欠点を避けるかである。ある場所では外部化技術のみで要件が満たされ、別の場所では推論技術のみで十分であり、さらにまた別のポイントでは、異なっているが相補的である2つの手法のいくつかの組み合わせが最適な適合を与える。
別の重要な問題は、推論システム及びそれらに関連するデータを、どのようにして編成するかである。アプリケーションによっては、わずかに異なるバージョンの推論が望まれることが想像される。例えば、推論ルールセットは本質的には汎用であるかもしれないが、その変数のいくつか又はすべてが、アプリケーションにおける場所又はある時点に関連するコンテキストに従ってマップされることになる場合がある。あるいは、異なる2つのアプリケーションは、それらの所望の推論ルールセットの共通の部分を有するかもしれない。あるいは、2つ又はそれ以上の異なる推論の結論は、さらに1つ又はそれ以上の他の推論への入力として組み合わせられる必要があるかもしれない。
本発明が、種々の形態のハードウェア、ソフトウェア、ファームウェア、特殊目的プロセッサ、又はそれの組み合わせとして実施できることを理解すべきである。本発明は、、プログラム・ストレージ装置に明白に組み込まれたアプリケーション・プログラムであるソフトウェアに実装されることが好ましい。アプリケーション・プログラムは、適切なアーキテクチャのいずれかを備えるマシンにアップロードされ、該マシンによって実行されるようにすることができる。マシンは、1つ又はそれ以上の中央演算処理装置(CPU)、ランダムアクセスメモリ(RAM)、及び入力/出力(I/O)インターフェースといったハードウェアを有するコンピュータプラットフォームに実装されることが好ましい。コンピュータプラットフォームはまた、オペレーティングシステム及びマイクロ命令コードを含む。ここで説明される種々の処理及び機能は、マイクロ命令コードの一部か、あるいは、オペレーティングシステムを介して実行されるアプリケーション・プログラム(又はそれの組み合わせ)の一部のいずれかとすることができる。さらに、種々の他の周辺装置を、付加的なデータストレージ装置といったコンピュータプラットフォームに接続することができる。
添付の図面に示されるいくつかのシステム構成コンポーネントをソフトウェアに実装することができるので、システムコンポーネント間の実際の接続は、本発明がプログラムされる方法に応じて異なることをさらに理解すべきである。ここでの教示に基づけば、当業者は、本発明のこれらの及び類似する実施又は構成に想到することができるであろう。
図1は、本発明の例示的な実施形態に係る、本発明を適用可能なコンピュータ処理システム100のブロック図である。コンピュータ処理システム100は、システムバス110を介して他のコンポーネントに作動関係で結合される少なくとも1つのプロセッサ(CPU)120を含む。読み取り専用メモリ(ROM)130、ランダムアクセスメモリ(RAM)140、I/Oアダプタ150、ユーザインターフェースアダプタ160、ディスプレイアダプタ170、及びネットワークアダプタ180が、システムバス110に作動関係で結合される。
ディスクストレージ装置(例えば、磁気又は光ディスクストレージ装置)151が、I/Oアダプタ150によってシステムバス110に作動関係で結合される。
マウス161及びキーボード162が、ユーザインターフェースアダプタ160によってシステムバス110に作動関係で結合される。マウス161及びキーボード162は、コンピュータ処理システム100に/から情報を入力/出力するために用いることができる。
ディスプレイ装置171は、ディスプレイアダプタ170によってシステムバス110に作動関係で結合される。ネットワーク181は、ネットワークインターフェースアダプタ180によってシステムバス110に作動関係で結合される。
コンピュータ処理システム100は、ここでは上記の要素に関連して説明されているが、それらに関して、要素の追加、削除、及び置換がなされ得ることを理解すべきである。すなわち、ここで提供される本発明の教示に基づき、当業者は、本発明の精神及び範囲を維持しながら、コンピュータ処理システム100の要素についてのこのような及び種々の他の構成を思い付くであろう。
本発明は、データ処理アプリケーションにおいて、外部化可能推論コンポーネントを指定し、適用し、かつ、管理するための方法及びシステムを提供する。特に、本発明は、いかに有益に外部化と推論との両方を共に用いて、それらすべての組み合わされた利点を享受しつつ各々の欠点を避けるか、ならびに、推論システム及びそれらの関連するデータをどのようにして編成するかという重要な問題に対処するものである。
本発明は、外部化可能推論コンポーネント(EIC)を利用するアプリケーション内にトリガポイントを配置できるようにする。典型的には、アプリケーションは、コンテキスト及びパラメータ情報をトリガポイントに受け渡し、該トリガポイントが動的に識別し、EICを利用することになる。典型的には、EICは、入力を考慮し、それにより推論関連のタスクを実行し、結果をトリガポイントに戻す。代替的に、トリガポイントが非同期的に動作して、アプリケーションがトリガポイントを呼び出してコンテキスト及びパラメータ入力を与え、それと引き換えに、後のある時点で結果をチェックするのに使用可能なキーを受け取るようにするか、あるいは、アプリケーションが、非同期的推論処理が完了したときにどんな結果の制御をも受け取るためのスレッドに関するキーを、トリガポイントに追加的に与えるようにしてもよい。
すべての外部化可能データ及びアルゴリズムは、単一のEIC内に格納することができるが、EICは、それに関連する1つ又はそれ以上の他のEICを有するメインコンポーネントからなることが多い。典型的には、メインコンポーネントは所望の推論を調整する。それは、ファクト及びルールを集めて事前処理し、変数をマップし、推論エンジンをトリガし、事後処理してあらゆる結果を分散する。サブコンポーネントは、推論エンジンによって利用されるルールセットのプロビジョン、静的な値に対する変数又は可変関数のマッピング、アプリケーションに戻される結論のフィルタリングなどといった特殊なタスクを処理する。
図2は、例としてのアプリケーション210がトリガポイント220を収容し、該トリガポイントが外部化可能推論コンポーネント230を利用するようになった本発明の好ましい実施形態に係るシステムコンポーネントを示す概略図である。ランタイムの間、アプリケーション210が、コンテキスト及びパラメータ情報をトリガポイント220に供給し、次に該トリガポイントがEIC230を利用する。EIC230は、いくつかの推論計算を実行し、結果をトリガポイント220に戻して、該トリガポイントが結果をアプリケーション210に伝える。例えば、アプリケーション210が、「割引計算」コンテキスト及び「ショッピングカート」パラメータをトリガポイント220に供給し、次いで、該トリガポイントが適切なEIC230を利用して所与のショッピングカート情報を用いて割引推論計算を行い、その計算結果がアプリケーション210による考慮のためにトリガポイント220に戻されるようにしてもよい。
当業者は、トリガポイント220とEIC230の多数の組み合わせを考えることができる。例えば、単一のアプリケーション210がいくつかのトリガポイント220を利用できるようにするか、単一のトリガポイント220がいくつかのEIC230を利用できるようにするか、多数のアプリケーション210が1つ又はそれ以上のトリガポイント220の利用を共用できるようにするか、多数のトリガポイント220が1つ又はそれ以上のEIC230の利用を共用できるように構成することができる。
図3は、本発明の好ましい実施形態に係る、外部化可能推論コンポーネントアーキテクチャ例を示す概略図である。EIC310は、単独で(図示せず)、又は分離できるタスクを実行する他のEICと共に作動するようにすることができる。後者の場合には、マスターEICは通常、トリガポイントによって利用されて、1つ又はそれ以上のサーバントEICの活動を整合させる。この態様は、以下の図4について説明される。各EIC310はアルゴリズム320及びデータ330を備える。データ330はストレージ装置350に永続的に維持される。アルゴリズムは仮想マシン340によって実行される。仮想マシン340は永続的ストレージ350からアルゴリズム320をロードすることができる。
例えば、EICアルゴリズム320は、Java(商標)仮想マシン(JVM)によって処理されるRete推論エンジンとすることができ、データ330は、「割引計算」推論を実行するためにトリガポイントによって受け渡しされたパラメータの存在下でRete推論エンジンによって解釈される一組のルールとすることができる。アルゴリズム320及びデータ330を外部化することは、特に、融通性、理解の容易性、及び管理の容易性の利点を与える。重要な利点は、データ330又はアルゴリズム320への変更が、推論サービスを所望するアプリケーションに対して外部にあることであり、それゆえ、このような変更からアプリケーションをバッファリングすることである。上記の実施例に続いて、アルゴリズム320によって解釈されるデータ330を含む1組のルールに新しいルールを追加することができ、さらに(又は代わりに)、アルゴリズム320としてRete推論エンジンを順方向チェーニング推論エンジンに置換することができる。多種多様の環境の下で、関連するアプリケーションの変更が不必要となり、それによりアプリケーションの安定性が促進される。
マスターEIC310は、他のEIC310を利用して、データ集約、データ伝搬、データ変換、並列ロジック計算などといった特定のタスクを実行することができる。重要な外部化可能推論コンポーネントが以下でより詳細に説明される。ランタイムの間、データ及び/又は制御はEICの間を双方向に流れることができる。EICはゼロ又はより多い他のEICを利用することができる。
EICは、再使用可能なアルゴリズムを用いて、トリガポイントを実行し、データを戻し、データを結合し、データをフィルタにかけ、データを変換し、分類によって選択し、ランダムに選択し、ラウンドロビンを選択し、日付によって選択し、エンジン前置プロセッサを推論し、エンジン後置プロセッサを推論し、エンジンランチャーを推論し、データを受信し、データを送信し、データを格納し、データを取り出すことなどが可能である。
EICは、固有識別子、意図、名前、位置、フォルダ、開始時刻、終了時刻、スケジュール、期間、所要時間、優先順位、分類、参照、記述、ファイアリング位置、ファイアリングパラメータ、初期化パラメータ、インプリメンタ、レディフラグ、フリーフォームデータなどを含む外部化されたデータを用いることができる。例えば、インプリメンタは順方向チェーニング推論エンジンとすることができ、初期化パラメータは解釈される一組のルールとすることができる。
図4は、本発明の好ましい実施形態に係る、外部化可能推論コンポーネント例を示す概略図である。外部化可能推論コンポーネントエンジン410は、特定のタスクを実行するために他の外部化可能推論コンポーネントを利用するマスターコンポーネントとすることができる。または、マスターコンポーネントは、他のEIC(図示せず)によって支援されないすべてのタスクを実行することができる。EICエンジン410によって頻繁に利用される重要なサーバントEICは、短期ファクト420、ルールセット430、静的マップ440、長期ファクト450、結論460、センサ470、及びエフェクタ480である。これらの各々は、図5−図11に関して以下でより詳細に説明される。サーバントEICは、支援なしで動作することができるか、あるいは、それ自体を、サーバントEICを利用するマスターコンポーネントとすることができる。マスターコンポーネントは、ゼロ又はそれ以上のタイプのサーバントEICを利用することができ、ゼロ又はそれ以上の各種のEICを利用することができる。
EICは、種々の方法で編成され又は構成されることができる。例えば、マスターEICは、アレイ、コレクション、ハッシュテーブル、イテレータ、パーティション、セット、スタック、ツリー、ベクトルなどとして、又は表されたもののいくつかの組み合わせとして、1つ又はそれ以上のサーバントEICから構成されることができる。編成は、アルゴリズム及び関連するデータの組み合わせの設計による。
より具体的には、マスターEICは、短期ファクトコンポーネントのアレイ、ルールセットコンポーネントのツリー、及び結論コンポーネントと共に長期ファクトコンポーネントのベクトルから構成されることができる。
EICエンジン410の主要なタスクは、ファクト及びルールに対して推論を実行して新しいファクトを導出することである。EICパラダイムの重要な利点は、ファクト及びルールが、再使用及び共用を非常に容易にする規則化された方法で外部化され、コンポーネント化されることである。例えば、入力データからルールセット変数へのマッピングは、場合によっては異なることがあるが、「割引計算」に用いられるルールセットは、多数のEICエンジン410によって用いられることができる。あるいは、多数のEICエンジン410が同一のルールセットを利用するが、異なる結論を生成するようにすることができる。あるいは、多数のEICエンジン410が異なるルールセットを利用するが、入力データからルールセット変数へのマッピングは同一であるようにすることができる。当業者は、他のEIC400を共用するEICエンジン410を構成するための無数の可能性を予想することができる。
すべてのEICと同様に、EICエンジン410は、図3に関して上述したようにデータ及びアルゴリズム構成部分からなる。アルゴリズムは、推論前アクティビティを実行し、推論エンジンを呼び出し、次に、推論後アクティビティを実行する。推論前及び推論後アクティビティは関連する外部化データ及びアルゴリズムによる。サーバントEICをもたない単独のEICエンジン410の場合には、推論エンジンによって必要とされるデータは、推論前フェーズによって、供給された入力、又は関連するEICエンジンデータ、或いはそれのいくつかの導出物のいずれかから収集され、推論エンジンによって生成されたデータは、新たに導出されたファクトを記録すること、他の処理をエフェクトすること等といった種々の目的のために推論後フェーズの対象となる可能性がある。
典型的には、EICエンジンは、特定のタスクを実行するために他のEICを利用することになる。例えば、推論前フェーズの一部として、EICエンジン410は、該推論エンジンによって利用されることになる供給された入力データを検査し、フィルタするためにEIC短期ファクト420を用いることができ、該推論エンジンによって利用されるべきルールを獲得するためにEICルールセット430を用いることができ、推論エンジンで利用されるルール変数にファクトをマップするためにEIC静的マップ440を用いることができ、推論エンジンで利用されるルール変数にファクト・ゲッター及びセッターをマップするためにEICセンサ470及びエフェクタ480を用いることができ、予め導出されたファクトを収集して推論エンジンで利用するためにEIC長期ファクト450を用いること等が可能である。推論後フェーズの一部として、EICエンジン410は、該推論エンジンによって新しく生成されるファクトを記録するためにEIC長期ファクト450を用いることができ、要求アプリケーションに戻されることになる推論エンジン生成ファクトをフィルターし、再配列し、又は装飾(embellish)するためにEIC結論460を用いること等が可能である。
推論コンポーネント400の興味深い側面は、それらを互いに検査し、更新し、作成し、削除できることである。例えば、特定のEICエンジン410の目的は、データ(推論ルール)を追加、削除、又は変更することによってEICルールセット430を更新し、それにより、修正されたEICルールセット430を用いるEICエンジン410の動作に影響を与えることである。当業者は、推論コンポーネントの関係の多数の組み合わせを想像することができる。
図5は、本発明の好ましい実施形態に係る、外部化可能ルールセット推論コンポーネント例を示す概略図である。ルールセットコンポーネント(RSC)510は、2つの推論ルール、「ルール:1」及び「ルール:2」を有し、その各々は、それぞれ単一の変数「a」及び「b」で動作する。RSC510のアルゴリズムは「リターン」である。要求されたときには、RSC510が応答してその2つの推論ルールを与える。RSC510、520及び530のすべては同一のアルゴリズムを用い、それらのすべては(同時に)2つの推論ルールをデータとして有する。この例においては、RSC520は、RSC510と共通する1つの推論ルール「ルール:2」と、RSC530と共通する1つの推論ルール「ルール:3」を有することに注目されたい。
RSC540は「結合」アルゴリズムを有する。そのデータは、示される4つの推論ルールではなく、RSC510及び520を参照する。呼び出されたときには、RSC540のアルゴリズムは、RSC510及びRSC520から推論ルールを要求して、それ独自の推論ルールセットを作り上げる。結合アルゴリズムは、RSCによって与えられるデータを単に蓄積し、内容と関係なく参照する。この実施例においては、結果としてRSC540は、その推論ルールセットにおいて各々1回現れる「ルール:1」及び「ルール:3」、2回現れる「ルール:2」を有する。
RSC550は「重複しない」アルゴリズムを有する。そのデータは、示される4つの推論ルールではなく、RSC530及び540を参照する。呼び出されたときには、RSC540のアルゴリズムは、RSC530及び540から推論ルールを要求して、それ独自の推論ルールセットを作り上げる。重複しないアルゴリズムは、RSCによって与えられたデータを単に蓄積し、参照して重複を除去する。この実施例においては、結果としてRSC550は、「ルール:1」、「ルール:2」、「ルール:3」、及び「ルール:4」の各々1つを有する。「ルール:2」は、RSC540によって2回与えられたが、RSC550の推論ルールセットにおいては1回のみ現れることに注目されたい。同様に、「ルール:3」は、RSC530及びRSC540の各々から1回ずつ2回、RSC550に対して与えられたが、結果として得られる推論ルールセットにおいては1回のみ現れる。
ルールセット・コンポーネントのパラダイムは、大きいルールセットを、より小さく、管理が容易で、再使用可能な断片にパーティション化できるようにすることによって、大きいルールセットを管理するのに重要である。当業者は、データとしての推論ルールセットの多数の有用な組み合わせ、及び、直接又は参照によって推論ルールセットデータに作用し、最終的には推論エンジンによって利用される、関連するアルゴリズムを想像することができる。
推論ルールは、典型的には、「条件が「条件x」ならば、結果は「結果x」である」という形式のステートメントであることに注目されたい。「ルール:1(a)」は、「条件が「条件a」ならば、結果は「結果a」である」ことを表す。同様に、「ルール:2(b)」は、「条件が「条件b」ならば、結果は「結果b」である」ことを表す。
図6は、本発明の好ましい実施形態に係る、外部化可能静的マッピング推論コンポーネント例を示す概略図である。静的マッピングコンポーネント(SMC)610及び640の各々は、データとして、それぞれが「a−>a1」及び「a−>a2」である1つのマッピングを有する。SMC620は、データとして2つのマッピング、すなわち「b−>b1」及び「c−>c1」を有する。SMC630は、データとして2つのマッピング、すなわち「c−>c1」及び「d−>d1」を有する。SMC610、620、630、及び640はすべて、同じアルゴリズム、すなわち「リターン」を共用する。各々が呼び出されるとき、SMC610−640は、格納されたマッピングデータを単に戻すことになる。
SMC650は「結合」アルゴリズムを有する。そのデータは、示される5つの静的マッピングではなく、SMC610、620、及び630を参照する。呼び出されたときには、SMC650のアルゴリズムは、SMC610、620、及び630を参照して、該SMCから静的マッピングを要求し、それ独自の静的マッピングのセットを作り上げる。この実施例においては、結果としてSMC650は、その静的マッピングにおいて各々1回現れる「a−>a1」、「b−>b1」及び「d−>d1」、並びに2回現れる「c−>c1」を有することになる。
SMC660は「重複しない」アルゴリズムを有する。そのデータは、示される4つの静的マッピングではなく、SMC620、630及び640を参照する。呼び出されたときには、SMC660のアルゴリズムは、SMC620−640から静的マッピングを要求して、それ独自の静的マッピングのセットを作り上げる。この実施例においては、結果として、SMC660は、「a−>a2」、「b−>b1」、「c−>c1」、及び「d−>d1」の各々1つを有する。「c−>c1」は、SMC620及びSMC630の各々から1回ずつ、SMC660に2回与えられたが、結果として得られるSMC660の静的マッピングセットにおいては1回のみ現れることに注目されたい。
ルールセットのコンポーネントが利用するアルゴリズムは、静的マッピングコンポーネント及び/又はあらゆる他のコンポーネントと共用されることができ、逆の場合も同様である。コード及びデータの再使用は本発明の重要な利点である。このように、図5及び6に表される実施例においては、アルゴリズム「リターン」は、「結合」及び「重複しない」アルゴリズムのようにRSCとSMCの両方に共通である。
静的マッピングコンポーネントのパラダイムは、大きいマッピングセットを、より小さく、管理が容易で、再使用可能な断片に区分できるようにすることにより、大きいマッピングセットを管理するのに、重要である。当業者は、データとしての静的マッピングの多数の有用な組み合わせ、及び、直接又は参照によって静的マッピングデータに作動し、最終的には推論エンジンによって利用される、関連するアルゴリズムを想像することができる。
推論静的マッピングは、典型的には、「「変数」を「値」で置換する」という形式のステートメントであることに注目されたい。マッピング「a−>a1」は、「「変数a」を「値a1」で置換する」ことを表す。同様に、マッピング「a−>a2」は、「「変数a」を「値a2」で置換する」ことを表す。
図7は、本発明の好ましい実施形態に係る、外部化可能ルールセット及び静的マッピング推論コンポーネント例を示す概略図である。2つの異なるタイプのサプライヤEIC、すなわちRSC710及びSMC720、730が示される。2つの構成されたEIC740、750は、サプライヤRSC及びSMCの組み合わせからなる。この実施例は、推論エンジンによって使用可能な新しいエンティティを構成するためにコンポーネントが共に利用されるという本発明の重要な利点を示す。EIC740は、ルールセット及び静的マッピングの組み合わせである。EIC750は異なる静的マッピングをもつ同じルールセットの組み合わせである。各々は本発明の別の重要な利点であるコンポーネントの再使用を示す。この実施例においては、サプライヤコンポーネントに関連するアルゴリズムは単に「リターン」であり、構成されたコンポーネントに関連するアルゴリズムは単に「結合」である。
マスターEICエンジン(例えば、図4の410)は、要求に応じてそれぞれa1−d1として置換される変数a−dを有するルール1−4を生成する参照として、EIC750のようなサーバントEICを利用することができる。推定EIC710は、変数「a」及び「c」を有する新しいルール5を含むように変更される。この変更により、マスターEICエンジンは、EIC750を用いるときにa1−d1として置換される変数a−dをもつルール1−5を受け取ることになる。本発明のこの実施例によって示されるコンポーネント構成の重要な利点に注目されたい。EIC740及び750の両方は、EIC710の利用側であるので、追加されたルール5を含むことになる。EIC730は変更されないままであるが、依然として結局EIC750に寄与することになる。
EIC740のような構成は、静的に(ランタイムに先立って)又は動的に(ランタイムに)生じることができる。「ルール:3(c0)」は、「条件が「条件c0ならば結果は「結果c0」である」ことを表す。同様に、「ルール:4(d1)」は「条件が「条件d1ならば結果は「結果d1」である」ことを表す。
より具体的には、「ルール:3(c)」は、「顧客の状態が「c」ならば顧客に割引「c」を与える」ことを表すことができ、「「c−>c0」は「条件:ブロンズ、結果:10パーセント」を「c」で置換する」ことを表すことができ、その組み合わせは、顧客が状態「ブロンズ」を有するならば顧客に割引「10パーセント」を与えるという結果をもたらす。
図8は、本発明の好ましい実施形態に係る、外部化可能ルールセット及び動的(センサ及びエフェクタ)マッピング推論コンポーネント(DMC)例を示す概略図である。2つの異なるタイプのサプライヤEIC、すなわちRSC810及びDMC820、830が示される。2つの構成されたEIC840、850は、サプライヤRSC及びDMCの組み合わせからなる。この実施例は、コンポーネントが推論エンジンによって使用可能な新しいエンティティを構成するために共に利用される本発明の重要な利点を示す。EIC840は、ルールセット及び動的マッピングの組み合わせである。EIC850は、異なる動的マッピングをもつ同じルールセットの組み合わせである。各々は、本発明の別の重要な利点であるコンポーネントの再使用を示す。この実施例においては、サプライヤコンポーネントに関連するアルゴリズムは単に「リターン」であり、構成されたコンポーネントに関連するアルゴリズムは単に「結合」である。
マスターEICエンジン(例えば、図4の410)は、要求に応じてそれぞれ関数p(x0)、q(x0)、r(y0)、及びs(y0)として置換される変数a−dを有するルール1−4を生成する参照として、EIC840のようなサーバントEICを利用することができる。推定EIC820は、「d」の動的マッピングを「t(y3)」に変更するように変化される。この変更により、マスターEICエンジンは、EIC840を用いるときに関数p(x0)、q(x0)、r(y0)、及びt(y3)として置換される変数a−dをもつルール1−4を受け取ることになる。本発明のこの実施例によって示されるコンポーネント構成の重要な利点に注目されたい。EIC840のみがEIC820の利用側であるので、EIC840は、変更されたルール4を含むことになる。EIC810は変更されないままであるが、依然として結局EIC840に寄与することになる。
EIC840のような構成は、静的に(ランタイムに先立って)又は動的に(ランタイム中に)生じるようにすることができる。「ルール:1(p(x0))」は、「条件が「条件関数p(x0)」であるならば結果は「結果x0」である」ことを表す。同様に、「ルール:2(q(x0))」は、「条件が「条件関数q(x0)」であるならば結果は「結果x0」である」ことを表す。
より具体的には、「ルール:3(c)」は「顧客の状態が「c」であるならば顧客に割引「c」を与える」ことを表すことができ、「c−>r(y0)」は「「条件:ブロンズ、結果:ルックアップパーセンテージ(ブロンズ)」を「c」で置換する」ことを表すことができ、その組み合わせは、顧客が状態「ブロンズ」を有するならば顧客に割引「ブロンズのルックアップパーセンテージを与える」という結果をもたらす。
図9は、本発明の好ましい実施形態に係る、外部化可能長期ファクト推論コンポーネント(LFC)例を示す概略図である。2つの異なるタイプのEIC、すなわちEICエンジン910及びLFC920、921、及び922が示される。LFCは2つのモード、受信/格納及び取り出し/送信で動作するアルゴリズムを用いる。例えば、LFC921は、EICエンジン910からデータを受信してそれをレディセット1.0として永続的に格納し、LFC921はまた、永続的ストレージからレディセット1.0を取り出して、データをEICエンジンに供給する。LFCデータの受信及び送信は、プッシュ又はプル方式で動作可能である(すべてのEICができるように)。この実施例は、コンポーネントを用いて、データを推論エンジンが使用できる維持可能な断片にパーティション化するという本発明の重要な利点を示す。
多数のLFCが、単一のEICに供給することができる。多数のEICが単一のLFCに供給することができる(図示せず)。LFCは、特に(又はあらゆるEICは一般に)、1つ又は多数のEICから受信することのみ、送信することのみ、又は送信及び受信の両方が可能である。当業者は、永続的データを受信/格納及び取り出し/送信することに関するLFC及びEICの多数の組み合わせを想像することができる。
事例的には、レディセット1.0、2.0、及び3.0は、それぞれゴールド、シルバー、及びブロンズ状態の顧客についての長期ファクトとすることができる。
図10は、本発明の好ましい実施形態に係る、外部化可能短期ファクト推論コンポーネント(SFC)の例を示す概略図である。トリガポイント1010及び2つの他の異なるタイプのEIC、すなわちEICエンジン1020及びSFC1030が示される。典型的には、トリガポイント1010は、ランタイム中にデータをEICエンジン1020に供給する。典型的には、EICエンジン1020は、推論エンジンによる利用のために、1つ又はそれ以上のSFC1030を用いて、トリガポイントによって供給されたデータを短期ファクトに変換する。他のEICと同様に、SFCは、外部化されたデータによってパラメータ化された外部化されたアルゴリズムを用いる。通常、SFCの場合には、アルゴリズムの目的は、トリガポイントの供給されたデータを利用して、推論エンジンの利用可能なデータに変換することである。典型的には、LFCとは対照的に、SFCは、それ自体では短期ファクトを永続的に保持しない。変換アルゴリズムと同様に変換データは、SFCの間で共通とすることもできるし、又は異なるものとすることもできる。
事例的には、準備1.0及び2.0は、アプリケーション内のトリガポイントによって供給され、SFC1030によって推論エンジンが利用可能な「購入リスト」のような短期ファクトに変換された、「ショッピングカート」のようなデータセットとすることができる。
図11は、本発明の好ましい実施形態に係る、外部化可能な結論推論コンポーネントの例(CC)を示す概略図である。トリガポイント1110及び2つの他の異なるタイプのEIC、すなわちEICエンジン1120及びCC1130が示される。典型的には、トリガポイント1110は、ランタイムにEICエンジン1120からの結果を利用する。典型的には、EICエンジン1120は、トリガポイントによる利用のために、1つ又はそれ以上のCC1130を用いて、推論エンジンによって求められた結果をデータに変換する。他のEICと同様に、CCは、外部化されたデータによってパラメータ化された外部化されたアルゴリズムを用いる。通常、SFCの場合には、アルゴリズムの目的は、トリガポイントの供給されたデータを利用し、推論エンジンの利用可能なデータに変換することである。典型的には、LFCとは対照的に、CCは、それ自体では結論を永続的に保持しない。変換アルゴリズムと同様に、変換データは、CCの間で共通とすることもできるし、又は異なるものとすることもできる。
事例的には、配置1.0及び2.0は、アプリケーション内のトリガポイントによって利用され、短期ファクト、ルール、長期ファクト、及び推論エンジンによって処理される他のEICの利用可能なリソースからCC1130によって変換される「割引結果」のようなデータセットとすることができる。
図12は、本発明の好ましい実施形態に係る推論コンポーネント管理機能(ICMF)の対話の例を示す概略図である。ICMF1210及び3つのEIC1220が示される。ICMFは、アプリケーション・プログラム・インターフェース(API)を介してEICを作成し、検索し、更新し、且つ削除するのに用いられる。例えば、APIを用いて、新しいEICエンジンコンポーネントを作成することができ、あるいは既存LFCコンポーネントを削除することができ、あるいは既存RSCコンポーネントを、その内容を発見するために検索することができ、あるいは既存RSCを、より多くのルールを格納するように変更することなどが可能である。
例示的な実施形態が添付の図面を参照してここで説明されたが、本発明のシステム及び方法は、これらの厳密な実施形態に限定されるものではなく、当業者によって、本発明の範囲又は精神から離れることなく、種々の他の変更及び修正を本発明に加え得ることを理解すべきである。このような全ての変更及び修正が、添付の特許請求の範囲によって定義される本発明の範囲内に含まれるように意図されている。
本発明の例示的な実施形態に係る、本発明を適用可能なコンピュータ処理システム100のブロック図である。 本発明の好ましい実施形態に係る、推論コンポーネントを利用するトリガポイントをもつアプリケーション例を示すブロック図である。 本発明の好ましい実施形態に係る、推論コンポーネントアーキテクチャを示すブロック図である。 本発明の好ましい実施形態に係る、推論コンポーネントの対話例を示すブロック図である。 本発明の好ましい実施形態に係る、推論ルールセットコンポーネントの対話例を示すブロック図である。 本発明の好ましい実施形態に係る、推論静的マッピングコンポーネントの対話例を示すブロック図である。 本発明の好ましい実施形態に係る、推論ルールセットコンポーネント及び静的マッピングコンポーネントの組み合わせ例を示すブロック図である。 本発明の好ましい実施形態に係る、推論ルールセットコンポーネント及び動的マッピングコンポーネント(センサ及びエフェクタ)の組み合わせ例を示すブロック図である。 本発明の好ましい実施形態に係る、推論長期ファクトコンポーネントの対話例を示すブロック図である。 本発明の好ましい実施形態に係る、推論短期ファクトコンポーネントの対話例を示すブロック図である。 本発明の好ましい実施形態に係る、推論結論コンポーネントの対話例を示すブロック図である。 本発明の好ましい実施形態に係る、推論コンポーネント管理機能の対話例を示すブロック図である。

Claims (33)

  1. コンピュータ可読コードをコンピュータ・システムに組み込むことを含む、コンピュータのインフラストラクチャを構築する方法であって、
    前記コードが前記コンピュータ・システムと組み合わされて、
    プログラムの推論側面を識別し、
    前記識別された推論側面を、外部化可能な推論コンポーネントとして与える、
    ことが可能である、
    ことを特徴とする前記方法。
  2. 前記与えるステップが、外部化されたアルゴリズム及びデータを前記推論コンポーネントの各々と関連付けることを含む、請求項1に記載の方法。
  3. 前記データが永続性メモリに格納される、請求項2に記載の方法。
  4. 前記識別された推論側面が、トリガポイント、短期ファクト、推論ルール、推論エンジン、静的変数マッピング、センサ、エフェクタ、長期ファクト及び結論の少なくとも1つを含む、請求項1に記載の方法。
  5. 前記推論コンポーネントが、トリガポイントコンポーネント、短期ファクトコンポーネント、推論ルールセットコンポーネント、推論エンジンコンポーネント、静的マッピングコンポーネント、センサコンポーネント、エフェクタコンポーネント、長期ファクトコンポーネント及び結論コンポーネントの少なくとも1つを含む、請求項1に記載の方法。
  6. 前記推論コンポーネントの各々が、推論コンポーネントによって提供されるデータの利用側、推論コンポーネントによって提供されるデータの供給側、及びこれらの組み合わせの1つである、請求項2に記載の方法。
  7. 少なくとも1つのトリガポイント推論コンポーネントを少なくとも1つのアプリケーションと関連付けるステップをさらに含む、請求項1に記載の方法。
  8. トリガポイントが同期的に又は非同期的に動作する、請求項4に記載の方法。
  9. 少なくとも1つの推論コンポーネントが、少なくとも1つの他の推論コンポーネントを利用するマスター推論コンポーネントである、請求項1に記載の方法。
  10. 少なくとも1つの推論コンポーネントが推論エンジンを用いる、請求項1に記載の方法。
  11. 少なくとも1つの推論コンポーネントが少なくとも1つの推論サブコンポーネントに編成される、請求項1に記載の方法。
  12. 前記編成が、アレイ、コレクション、ハッシュテーブル、イテレータ、リスト、パーティション、セット、スタック、ツリー、ベクトル、及びこれらの組み合わせの1つである、請求項11に記載の方法。
  13. 少なくとも1つの推論コンポーネントは、少なくとも1つの推論サブコンポーネントから構成される、請求項1に記載の方法。
  14. 前記構成が、アレイ、コレクション、ハッシュテーブル、イテレータ、リスト、パーティション、セット、スタック、ツリー、ベクトル、及びこれらの組み合わせの1つである、請求項13に記載の方法。
  15. 前記推論コンポーネントの各々が、固有の識別子、意図、名前、位置、フォルダ、開始時刻、終了時刻、優先順位、分類、参照、記述、ファイアリング位置、ファイアリングパラメータ、初期化パラメータ、インプリメンタ、レディフラグ、及びフリーフォームデータの少なくとも1つを有する、請求項2に記載の方法。
  16. 少なくとも1つの推論コンポーネントが、参照により少なくとも1つの他の推論コンポーネントと共有される、請求項1に記載の方法。
  17. 前記アルゴリズムの少なくとも1つが、推論コンポーネントの作成、推論コンポーネントの検索、推論コンポーネントの更新、及び推論コンポーネントの削除の少なくとも1つを実行する、請求項2に記載の方法。
  18. 前記アルゴリズムの少なくとも1つが、複数の推論コンポーネントによって共有される、請求項2に記載の方法。
  19. 前記アルゴリズムの各々が、トリガポイント実行アルゴリズム、データ戻しアルゴリズム、データ結合アルゴリズム、データ・フィルター・アルゴリズム、データ変換アルゴリズム、分類選択アルゴリズム、任意選択アルゴリズム、ラウンドロビン選択アルゴリズム、推論エンジン前置プロセッサ、推論エンジン後置プロセッサ、推論エンジンランチャー、データ受信アルゴリズム、データ送信アルゴリズム、データ格納アルゴリズム、及びデータ取り出しアルゴリズムの1つである、請求項2に記載の方法。
  20. 前記与えるステップは、推論コンポーネント管理機能を用いて推論コンポーネントを管理するものであり、前記管理は、作成、検索、更新及び削除動作を含む、請求項1に記載の方法。
  21. 前記推論コンポーネントの少なくとも1つは、複数の推論サブコンポーネントから構成される、請求項1に記載の方法。
  22. 前記構成は、静的に、動的に及びこれらの組み合わせの1つの状態において生じる、請求項21に記載の方法。
  23. 前記構成は、推論コンポーネント管理機能を用いることにより生じる、請求項21に記載の方法。
  24. 外部化されたビジネス・ロジックを与えるシステムであって、
    アプリケーション・プログラム内の少なくとも1つの可変ポイントを識別するように構成された識別コンポーネントと、
    前記外部化されたビジネス・ロジックにより識別された少なくとも1つの可変ポイントを与えるための外部化コンポーネントと、
    を含み、
    前記外部化されたビジネス・ロジックが推論コンポーネントを含む、
    ことを特徴とする前記システム。
  25. 前記推論コンポーネントが、外部化されたアルゴリズム及びデータを含む、請求項24に記載のシステム。
  26. 前記データを永続的に格納するように構成された永続性メモリコンポーネントをさらに含む、請求項25に記載のシステム。
  27. 少なくとも1つの仮想マシンを用いて外部化されたアルゴリズムを実行するための実行コンポーネントをさらに含む、請求項24に記載のシステム。
  28. 前記推論コンポーネントが複数の推論サブコンポーネントから構成される、請求項24に記載のシステム。
  29. 前記構成が動的に生じる、請求項28に記載のシステム。
  30. 前記構成が静的に生じる、請求項28に記載のシステム。
  31. 前記構成が、一部は動的に、残りは静的に生じる、請求項28に記載のシステム。
  32. 前記識別された少なくとも1つの可変ポイントは、トリガポイント、短期ファクト、推論ルール、推論エンジン、静的変数マッピング、センサ、エフェクタ、長期ファクト、及び結論の少なくとも1つを含む、請求項24に記載のシステム。
  33. マシン可読であり、マシン上で実行可能な命令プログラムを具体化して、複数の推論コンポーネントを管理する方法ステップを実行するプログラム・ストレージ・デバイスであって、前記方法ステップが、
    プログラムの推論側面を識別し、
    前記識別された推論側面を外部化可能な推論コンポーネントとして与える、
    ことを特徴とする前記プログラム。
JP2004563146A 2002-12-21 2002-12-21 外部化可能推論コンポーネントのためのシステム及び方法 Pending JP2006511866A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2002/041156 WO2004059511A1 (en) 2002-12-21 2002-12-21 System and method for externalizable inferencing components

Publications (1)

Publication Number Publication Date
JP2006511866A true JP2006511866A (ja) 2006-04-06

Family

ID=32679939

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004563146A Pending JP2006511866A (ja) 2002-12-21 2002-12-21 外部化可能推論コンポーネントのためのシステム及び方法

Country Status (8)

Country Link
US (1) US20060143143A1 (ja)
EP (1) EP1573575A4 (ja)
JP (1) JP2006511866A (ja)
CN (1) CN100543719C (ja)
AU (1) AU2002361844A1 (ja)
CA (1) CA2508114A1 (ja)
IL (1) IL169266A0 (ja)
WO (1) WO2004059511A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100594392B1 (ko) 2004-07-01 2006-06-30 에스케이 텔레콤주식회사 기업용 무선 어플리케이션 서비스의 비즈로직 프로세서시스템 및 운용방법
US7853546B2 (en) * 2007-03-09 2010-12-14 General Electric Company Enhanced rule execution in expert systems
DE102007033019B4 (de) 2007-07-16 2010-08-26 Peter Dr. Jaenecke Methoden und Datenverarbeitungssysteme für computerisiertes Schlußfolgern
US9292324B2 (en) * 2011-02-18 2016-03-22 Telefonaktiebolaget L M Ericsson (Publ) Virtual machine supervision by machine code rewriting to inject policy rule
US8782375B2 (en) * 2012-01-17 2014-07-15 International Business Machines Corporation Hash-based managing of storage identifiers
US9514214B2 (en) * 2013-06-12 2016-12-06 Microsoft Technology Licensing, Llc Deterministic progressive big data analytics
US9849361B2 (en) * 2014-05-14 2017-12-26 Adidas Ag Sports ball athletic activity monitoring methods and systems
JP5925371B1 (ja) * 2015-09-18 2016-05-25 三菱日立パワーシステムズ株式会社 水質管理装置、水処理システム、水質管理方法、および水処理システムの最適化プログラム
CN109872244B (zh) * 2019-01-29 2023-03-10 汕头大学 一种任务指导型智慧农业种植专家系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5136523A (en) * 1988-06-30 1992-08-04 Digital Equipment Corporation System for automatically and transparently mapping rules and objects from a stable storage database management system within a forward chaining or backward chaining inference cycle
US5446885A (en) * 1992-05-15 1995-08-29 International Business Machines Corporation Event driven management information system with rule-based applications structure stored in a relational database
US5432925A (en) * 1993-08-04 1995-07-11 International Business Machines Corporation System for providing a uniform external interface for an object oriented computing system
US5907844A (en) * 1997-03-20 1999-05-25 Oracle Corporation Dynamic external control of rule-based decision making through user rule inheritance for database performance optimization
US6473748B1 (en) * 1998-08-31 2002-10-29 Worldcom, Inc. System for implementing rules

Also Published As

Publication number Publication date
EP1573575A1 (en) 2005-09-14
US20060143143A1 (en) 2006-06-29
AU2002361844A1 (en) 2004-07-22
CA2508114A1 (en) 2004-07-15
CN1695136A (zh) 2005-11-09
WO2004059511A1 (en) 2004-07-15
IL169266A0 (en) 2007-07-04
CN100543719C (zh) 2009-09-23
EP1573575A4 (en) 2009-11-04

Similar Documents

Publication Publication Date Title
US9311602B2 (en) Driving an interactive decision service from a forward-chaining rule engine
Yue et al. A parallel and incremental approach for data-intensive learning of Bayesian networks
US20060020565A1 (en) Agent, method and computer system for negotiating in a virtual environment
Balaji et al. Orl: Reinforcement learning benchmarks for online stochastic optimization problems
Hiessl et al. Industrial federated learning–requirements and system design
JP2006511866A (ja) 外部化可能推論コンポーネントのためのシステム及び方法
Kobza et al. Divergence measures on hesitant fuzzy sets
Schiendorfer et al. MiniBrass: soft constraints for MiniZinc
Yimam et al. DEMOIR: A hybrid architecture for expertise modeling and recommender systems
CN105849703B (zh) 通过上下文分区的经分类的事件监视
Bisdikian et al. Quality of information in sensor networks
Yasmina et al. Selecting web service compositions under uncertain QoS
KR100650434B1 (ko) 외부화 가능 추론 구성 요소들을 위한 시스템 및 방법
Tzacheva et al. Discovery of action rules at lowest cost in spark
Waris et al. Establishing intelligent enterprise through community of practice for product innovation
Shi Cloud manufacturing service recommendation model based on GA-ACO and carbon emission hierarchy
Jamali Cyberorgs: A model for resource bounded complex agents
Shetty et al. Global and local optimisation-based hybrid approach for cloud service composition
da Silva et al. An Object-Oriented Framework for Implementing Agent Societies
Erdeniz et al. Cluster-specific heuristics for constraint solving
Liu An agent-based architecture for supply chain finance cooperative context-aware distributed data mining systems
Pateria et al. Towards event-driven decentralized marketplaces on the blockchain
Remaci et al. Dynamic Web Service Selection Based on Score Voting
Shinde et al. Application of Ant Colony Optimization: An Approach towards Travelling Salesman Problem Resolution
Tay et al. Weighted Constraint Satisfaction for Smart Home Automation and Optimization.

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090109

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090421

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090929