XpertRule(R)知識ベースシステム構築ツールXpertRule知識ベースシステムは、ビジネス・ユーザー、アプリケーション開発者、知識工学エンジニアに最適のシステムです。XpertRule知識ベースシステムなら、企業の知識(ビジネス上の規則、プロセス、経験、ノウハウ)を修得し、複雑な意思決定のために質の高い解を得ることができます。XpertRule知識ベースシステムで開発した知的アプリケーションは、現在主流のアプリケーションやPC、オープン・システム、メインフレームのプラットフォームのデータベースに接続することができます。高度な知識獲得技術で知識獲得のプロセスを簡素化し、かつXpertRule知識ベースシステム・アプリケーションのグラフィックを生かして理解しやすく、保守も簡単にできるようになっています。
今日企業はコスト削減を図る一方、製品やサービスの向上に努めています。ビシネス・プロセスを再設計(BRP)し、複雑なタスクをよりよい方法で行えないか、また業務の向上やコンピュータ化を推進できないかと考えている企業は多いはずです。複雑なタスクを行うには、専門家やその分野に熟達した人のノウハウが必要です。残念ながらこうした人材は常に不足しがちで、しかもその専門知識はその人達だけが持っているというのが現状です。従って、もしその人達が企業をやめてしまえば、同時に専門知識も企業からなくなってしまうということになります。問題点は、専門知識を誰もが利用可能なように獲得し、コンピュータ化できないかということです。この種のビシネスプロセスのコンピュータ化(BPA)は、通常のプログラミングツールでは非常に困難です。知識を通常のプログラミングコードに入れるということは、単純に考えてロックを一重から二重にするのと同じことです。これではロックをはずすために専門家やプログラマーが必要になりかねません。しかも専門家のコピーは作れませんから、他の方法を探さねばなりません。
知識は、その獲得のため特別に設計された対話型ツールを使い、反復プロセスで獲得します。いったん知識を獲得し、記録すると、この知識ベースはコンピュータ・システムに変換されます。そして:
XpertRuleは、知識獲得と知的アプリケーション開発のためのシステムです。
開発者にとって、複雑な意思決定の論理を指定、プログラミングし、そして保守するというのはほとんど悪夢のようなものです。特に、意思決定の知識を獲得することは困難です。こうした知識は、専門家や他のユーザーから獲得しなければならず、書類で保存してあることはほとんどありません。知識は通常、一度指定するとプログラムコードで書かれます。ただし、IF..AND..OR..THEN..ELSEといったプログラム命令文の集合になってしまいます。これではデバッグしたり、可能な意思決定のすべての道筋をテストしたりするのは困難です。まして、フローを最適化して機能を最大限にするなどは言うまでもなく、挙げ句の果てには保守すら不可能になってしまいます。XpertRuleでは、こうしたプログラミングにつきものの悪夢をなくすべく、簡単で使いやすいグラフィック機能を駆使して知識の獲得、構築、表現そして保守を簡単にできるようにしました。
決定木
XpertRuleの知識表現の中心です。この知識表現は簡潔で効率がよく、従来の規則ベースシステムの表現法よりはるかに優れています。
グラフィック画面なのでより理解しやすく、推論は根から葉のノードに向かって木をたどっていくため、規則からの推論よりかなり速くなります。これは、規則ベースを検索する必要がないからです。
実行可能なフローチャート処理
ビジネスのアナリストは、しばしばフローチャートを描いてプログラムの論理を説明します。XpertRuleでは、開発者が決定木を作って分かりやすいグラフィックの形で意思決定の論理を示します。
木は意思決定と、例えば計算やデータベースのアクセス、グラフィック・ダイアログといったその決定に至る手続きの流れを構造化して示します。
例外木
知識を獲得する際、専門家は一つの例を挙げ、次にそれに対する例外を複数挙げます。次の図を参照して下さい。
XpertRuleでは、単純な例外木は次の図のようになります。
例外木を使うと、例外によって最初の意思決定に制限が加えられ、この例外はさらにその例外によって制限が加えられます。これは知識を獲得するうえで適切な方法です。
例
例を挙げるというのは、知識を表現する最も簡単な方法の一つです。一人で研究している専門家も、開発者と共に研究している専門家も、単にプロセスの可能な結果(結論)を指定し、この結果を左右する要因(属性)を列挙すればよいわけです。
例によって知識を明確にし、結論を属性に結び付けます。
真理表
例を使うことの延長として、専門家はコンピュータで真理表が作成できます。真理表とは、考えられる場合の全ての組み合わせを含む例の集合です。従って、単純にそれぞれのケースに応じて正しい結論を選択すればよいわけです。真理表は理想的ですが、表が膨大になると非実用的になるおそれがあります。このような場合には、意思決定の課題を小さなモジュールに分割するか、少数の一般的な例から何度も繰り返して例の集合を作ります。
例、真理表、例外木を使った知識表現は、専門家にとって非常に自然な方法ですが、知識を検証するという意味では理想的ではありません。理由としては、次のものが挙げられます。
規則に矛盾がないか,重複した属性がないか、知識に欠落がないかは、どのように調べたらよいでしょうか?XpertRuleは、こうした問題を全て解決します。
XpertRuleは、例、真理表、例外木から規則誘導というプロセスを使って同じ論理をより効率的に表現する決定木を作ります。これによって、前述の三つの問題は全て解決されます。つまり、論理の矛盾と欠落を表示して、もとの例、真理表、例外木のどこで問題が解決されるかを示します。また決定木は、簡単に編集できます。
最終的には、知識表現の形として決定木が作成されます。
規則誘導を使ってデータから知識を取り出すこともできます。アッター・ソフトウエア社のプログラムProfilerなら、データのパターンや関連性を発見し、データ・マイニングに幅広く使えます。
機能評価や診断などのアプリケーションでは、専門家が意思決定の際にあいまいな推論をする場合もあります。例えば:
IF 収入が低い AND 若い THEN クレジットの上限 = 低い
この場合「収入」「若い」「クレジットの上限」の定義がはっきりしていないので、規則はあいまいです。XpertRuleでは、こうしたファジィ推論が行え、明確な推論や遺伝的アルゴリズムの最適化と統合できます。また、小さな規則集合を使った正確なシステムが作成できます。
実際のシステムを構築する場合、知識獲得の手法はビルディング・ブロックとして使われ、アプリケーションは構成要素に分けられます。
例えば、中小企業への融資をする際のリスクを考える場合、金融機関はおそらく市場、売上、収入、貸借対照表などの点から検討するでしょう。さらに、それぞれの検討項目には異なる知識獲得の手法が使われる場合があります。売上は決定木で、収入は例外木で、市場は例の集合でといった具合です。このビルディング・ブロックは知識のユニットの集まりであり、意思決定の「課題」の集まりです。このように、全体的にシステムが非常に複雑な場合は、構成要素を個々のユニットや知識課題の階層として構造化し、理解しやすくします。
開発者は、課題のマップ表示上でアプリケーションを見たり移動したり,保守のためにグラフィックを用いて非常に分かりやすく表示したりできます。また、課題を拡大したり、縮小したりできます。
世界中の多くのXpertRuleユーザーの経験は、知識ベースシステム構築の実践的知識工学方法論という形でまとめられています。構造化決定課題方法論は、どのXpertRuleにも含まれており、問題のモデリング、知識の構築、知識獲得に大いに役立ちます。
構造化決定課題方法論は、このウエブサイトからダウンロードできるXpertRuleデモンストレーション版にも付いています。
XpertRuleの構成要素は完全に相互参照され、アクセスが簡単で、オブジェクト辞書内で共有できます。開発されたアプリケーションはどの構成要素に関しても、用法、コメント、関連性をそれ自身でドキュメントします。オブジェクトは、オブジェクト同士結合されて自動的に必要な手続きを開始します。
プロセスのチャートと異なり、決定木はすぐにテストできます。XpertRunの推論エンジンを使うと、いつでもアプリケーションが実行できます。初期設定のユーザー・ダイアログが自動的に作成されるので、開発者は何もしなくてもプロトタイプのテストができます。木のネストを使えば、副課題と主課題をリンクできます。
次の例では、推論が属性ホテルに到達すると、副課題が実行されて望ましい結論を評価します。副課題自身も決定木を持っています。これは、エンドユーザーにとっては分かりやすいプロセスです。
ODBCなど業界標準のミドルウエアをMicrosoftから使うと、XpertRuleのアプリケーションの埋め込みSQLを介してデータベース・サーバにアクセスできます。また、クライアントサーバー・コンピューティングを使って作業をオフロードまたはデータを持つ専用サーバーにネッワークで分散し、処理能力を最大限に運用することができます。XpertRuleのアプリケーションでは、ODBCを使って簡単にSQLのデータベースへアクセスできます。
さらに機能を追加したカスタマイズ・アプリケーション − XpertRuleは、グラフィック化した全機能アプリケーション作成に必要な機能を持っています。
XpertRuleの知識ベース機能は、複雑な意思決定の解を得るための優れた機能です。しかし、もし最適解もしくは有効な解を得たいとしたら、どうすればいいでしょうか?最適な結果を導く変数の値の組み合わせを探すには、意思決定の逆のプロセスをたどる必要があります。通常は、プランニング、デザイン、原料の配合、資源のスケジューリングといった問題がこれにあたります。
XpertRuleの遺伝的アルゴリズム・オプティマイザーを使うと、プランニング、デザイン、原料の配合、資源のスケジューリングのように可能な解が複数出てくる問題の最適解を見つけることができます。もちろんXpertRuleに問題の解決方法を教える必要はありません。解の評価方法を指定し、資源の制約条件を定義すれば、XpertRuleはユーザーの入力した基準に応じた最適解を見つけます。
この種の問題の解決には、成功のレベルに差があるものの、従来より様々なアプローチが行われてきました。
XpertRuleは、前述の方法とは全く異なった方法、つまり遺伝的アルゴリズムを使って最適化の問題を解決します。
XpertRuleの最適化
これは、生体工学と進化論からヒントを得て生まれた技術です。遺伝的アルゴリズムを最適化に使うと、次のような利点があります。
多くの複雑なアプリケーションには、知識ベースシステムと最適化の両方のプログラムが必要です。知識ベースシステムを使うと、制約を設定する値を決めたり、最適化された結果をさらに処理したりすることができます。また、知識ベースシステムには、最適化のプロセスの範囲を限定していく、つまり最初の世代に良い解の種を植えることができるという利点があります。この優れたハイブリッド・システムは、XpertRuleの開発者のみが使えるシステムです。例えばこのハイブリッド・システムによって、最適化エンジンはDLLとして使われる外部のコスト評価関数を呼び出すことができます。
アッター博士の論文『ハイブリッド遺伝的アルゴリズム − 発見的探索戦略』は、ハイブリッド・システムのテクニックの基盤になっています。
XpertRunは、XpertRuleのMicrosoft Windows実行時モジュールです。XpertRuleで開発したアプリケーションをWindowsで実行することができます。
開発者は、アプリケーション・プログラマー・インタフェース辞書で、他のプログラムからXpertRuleアプリケーションのビルディング・ブロックにアクセスして、読み込み、書き込みができます。さらに次のような利点があります。
改訂制御システムは、XpertRuleアプリケーションの版管理のオプション・プログラムです。
PCの作業グループでXpertRuleの一つの最適化アプリケーションの処理が共有できます。
XpertRule知識ベースシステム構築ツールのデモンストレーション版をダウンロードできます。インストールパスワードについてはお問い合わせ下さい。
将来予告なしに仕様を変更することがあります。最新の機能と動作環境についてはご確認下さい。
価格表及びご注文に関しては、Eメールでinfo@luscombe.co.jpまでお問い合わせいただくか、この申し込み書に必要事項を入力のうえお送り下さい。
(C)2001著作権はアッター・ソフトウェア・リミテッドにあります。