知識ベースシステム(KBS)は、推論を行い、知識ベースを使用して複雑な問題を解決するコンピュータプログラムです。[ 1 ]知識ベースシステムは、1980年代の初期の人工知能研究者の焦点でした。この用語は、幅広いシステムを指すことができます。しかし、すべての知識ベースシステムには、知識を明示的に表現しようとする試みである知識ベースと、新しい知識を導き出すことを可能にする推論システムである推論エンジンという、2つの決定的なコンポーネントがあります。
知識ベースには、問題領域に関するドメイン固有の事実とルール[ 2 ]が含まれています(従来のコンピュータプログラムのように、手続き型コードに暗黙的に埋め込まれた知識とは異なります)。さらに、知識は、包含オントロジー、フレーム、概念グラフ、または論理アサーション によって構造化される場合があります。[ 3 ]
推論エンジンは、汎用的な推論手法を用いて、新たな知識を推論し、問題領域における問題を解決します。最も一般的な手法としては、前方連鎖推論または後方連鎖推論が用いられます。その他の手法としては、自動定理証明、論理プログラミング、ブラックボードシステム、制約処理規則(CHR)などの項書き換えシステムなどがあります。これらのより形式的な手法については、知識表現と推論に関するWikipediaの記事で詳しく解説されています。
「知識ベースシステム」という用語は、「エキスパートシステム」とほぼ同義語として使われることが多かった。これはおそらく、初期の知識ベースシステムのほとんどが専門家のタスク向けに設計されていたためだろう。しかし、これらの用語はシステムの異なる側面を表している。
今日では、ほぼすべてのエキスパートシステムは知識ベースであり、知識ベースシステムアーキテクチャは、さまざまなタスク向けに設計された幅広い種類のシステムで使用されている。
最初の知識ベースシステムは、主にルールベースのエキスパートシステムでした。これらは、世界に関する事実をフラットなデータベース内の単純な主張として表現し、ドメイン固有のルールを使用してこれらの主張について推論し、さらにそれらを追加していきました。こうした初期のシステムの中で最も有名なものの1つが、医療診断プログラムであるMycinです。
ルールを通して知識を明示的に表現することには、いくつかの利点があった。
知識ベース推論のための後期のアーキテクチャ、例えば BB1 ブラックボード アーキテクチャ (ブラックボード システム) [ 5 ]では、推論プロセス自体が新しい推論の影響を受けることが可能になり、メタ レベルの推論が実現しました。BB1 では、問題解決プロセス自体を監視することができました。さまざまな種類の問題解決 (例えば、トップダウン、ボトムアップ、機会主義的な問題解決) を、問題解決の現在の状態に基づいて選択的に組み合わせることができました。本質的に、問題解決器はドメイン レベルの問題を解決するために使用され、その制御問題は前者に依存する可能性がありました。
メタレベル推論をサポートする知識ベースシステムアーキテクチャの他の例としては、MRS [ 6 ]やSOAR、あるいはJ. PitratのCAIAシステムなどが挙げられる。
RefPerSysプロジェクトは、2026年にメタレベル推論(C++コード生成による)をサポートすることを目的としたオープンソースソフトウェアです(Pitratの研究とこの論文に触発されています)。
1980年代と1990年代には、エキスパートシステムに加えて、知識ベースシステムの他のアプリケーションには、リアルタイムプロセス制御[ 7 ] 、インテリジェントチュータリングシステム[ 8 ] 、タンパク質構造解析[ 9 ] 、建設現場のレイアウト[ 10 ] 、コンピュータシステムの障害診断[ 11 ]などの特定のドメインの問題解決システムが含まれていました。
知識ベースシステムが複雑化するにつれて、知識ベースを表現するために使用される技術もより高度になり、論理、用語書き換えシステム、概念グラフ、フレームなどが含まれるようになった。
フレームはこのアーキテクチャの進化を象徴しています。ミンスキーによって導入されたフレーム[ 12 ]は、オブジェクト指向プログラミングパラダイムに類似した構造化された知識表現形式を提供します。フレームは、オブジェクト指向プログラミングに類似した技術を使用して世界知識を表現する方法です。フレームは、属性または関係を表す名前付きスロットを持つデータ構造で構成され、クラスとサブクラスの関係を通じて階層的に構成されます。各スロットには、値、デフォルト値、手続き的アタッチメント、および許容値を制御する制約を含めることができます。知識ベースがより構造化されると、推論は独立したルールと論理推論だけでなく、知識ベース自体内の相互作用に基づいても実行できるようになります。たとえば、オブジェクトにデーモンとして格納された手続きは、実行されてルールの連鎖動作を再現できます。[ 13 ]
1990年代のもう一つの進歩は、分類器と呼ばれる特殊目的の自動推論システムの開発でした。分類器では、知識ベースで包含関係を静的に宣言するのではなく、開発者は世界に関する事実を宣言するだけで、分類器が関係を推論します。このようにして、分類器は推論エンジンの役割も果たすことができます。[ 14 ]
知識ベースシステムの最新の進歩は、特に記述論理と呼ばれる一種の論理を、インターネットを利用するシステムの開発に採用することであった。インターネットは、特定のデータモデルに適合するとは限らない複雑で非構造化されたデータを扱う必要があることが多い。知識ベースシステムの技術、特にオンデマンドでオブジェクトを分類する機能は、このようなシステムに最適である。このような知識ベースのインターネットシステムのモデルは、セマンティックウェブとして知られている。[ 15 ]