コンピュータ科学において、知識ベース(KB )とは、知識表現言語で記述された文の集合であり、新しい文を記述したり、既知の事柄について質問したりするためのインターフェースを備え、これらのインターフェースのいずれも推論を使用する可能性がある。[ 1 ]これは、コンピュータシステムで使用される複雑な構造化データを格納するために使用される技術である。この用語の最初の使用は、最初の知識ベースシステムであったエキスパートシステムに関連していた。
知識ベースという用語は元々、エキスパートシステムの2つのサブシステムのうちの1つを説明するために使われていました。知識ベースシステムは、世界に関する事実を表す知識ベースと、それらの事実について推論して新しい事実を推論したり矛盾点を強調したりする方法で構成されています。[ 2 ]
知識ベースという用語は、この形態の知識貯蔵を、より一般的で広く使われているデータベースという用語と区別するために造語された。1970年代には、ほぼすべての大規模な経営情報システムが、何らかの階層型またはリレーショナルなデータベースにデータを格納していた。情報技術の歴史において、この時点では、データベースと知識ベースの区別は明確かつ曖昧さのないものであった。
データベースには以下の特性がありました。
初期の知識ベースシステムは、データベースの要件とは正反対のデータ要件を必要としていました。エキスパートシステムには構造化データが必要です。単に数値や文字列を含むテーブルではなく、他のオブジェクトへのポインタ、さらにそのオブジェクトが持つポインタなどが必要です。知識ベースの理想的な表現は、クラス、サブクラス、インスタンスを持つオブジェクトモデル(人工知能の文献ではオントロジーと呼ばれることが多い)です。
初期のエキスパートシステムでは、複数のユーザーや、データにトランザクション特性を要求することに伴う複雑さはほとんど必要とされませんでした。初期のエキスパートシステムのデータは、医療診断、分子の設計、緊急事態への対応など、特定の答えに到達するために使用されました。[ 2 ]問題の解決策がわかれば、大量のデータを永続メモリに保存するという重要な要求はありませんでした。より正確に言えば、利用可能な技術を考慮すると、研究者たちは妥協してこれらの機能を省略しました。なぜなら、それらは期待できる範囲を超えており、それらがなくても非自明な問題に対する有用な解決策を開発できると認識していたからです。最初から、より洞察力のある研究者たちは、知識を保存、分析、再利用できることの潜在的な利点を認識していました。たとえば、Cordell Greenらによる知識ベースソフトウェアアシスタントプログラムの初期の研究におけるコーポレートメモリの議論を参照してください。[ 3 ]
知識ベースは、従来のデータベースと比べて、データ量の要件も異なっていました。知識ベースは、世界に関する事実を知る必要がありました。たとえば、「すべての人間は死ぬ」という記述を表現するために、データベースは通常、この一般的な知識を表現することはできませんが、代わりに、特定の人間に関する情報を表す何千ものテーブルに関する情報を格納する必要があります。すべての人間は死ぬということを表現し、特定の人間について、その人が死ぬということを推論できるのは、知識ベースの仕事です。ジョージ、メアリー、サム、ジェナ、マイク、...、その他何十万人もの顧客が、特定の年齢、性別、住所などを持つ人間であることを表現するのは、データベースの仕事です。[ 4 ] [ 5 ]
As expert systems moved from being prototypes to systems deployed in corporate environments the requirements for their data storage rapidly started to overlap with the standard database requirements for multiple, distributed users with support for transactions. Initially, the demand could be seen in two different but competitive markets. From the AI and Object-Oriented communities, object-oriented databases such as Versant emerged. These were systems designed from the ground up to have support for object-oriented capabilities but also to support standard database services as well. On the other hand, the large database vendors such as Oracle added capabilities to their products that provided support for knowledge-base requirements such as class-subclass relations and rules wiki.
As any informational hub, the knowledge base can store various content types which will serve different audiences and have contrasting purposes. So, to better understand knowledge base types, let’s discuss them from two different angles: purpose and content.
Internal vs. external knowledge bases Here, we can divide our informational hubs into two main purposes – external and internal.
The next evolution for the term knowledge base was the Internet. With the rise of the Internet, documents, hypertext, and multimedia support were now critical for any corporate database. It was no longer enough to support large tables of data or relatively small objects that lived primarily in computer memory. Support for corporate web sites required persistence and transactions for documents. This created a whole new discipline known as Web Content Management.
ドキュメントサポートのもう 1 つの推進力は、 HCL Notes (旧 Lotus Notes)などの知識管理ベンダーの台頭でした。知識管理は実際にはインターネットより前に存在していましたが、インターネットによって 2 つの分野の間には大きな相乗効果が生まれました。知識管理製品は、リポジトリを説明するために知識ベースという用語を採用しましたが、その意味には大きな違いがありました。以前の知識ベース システムの場合、知識は主に自動化されたシステムの使用を目的としており、世界について推論し結論を導き出すために使用されていました。知識管理製品の場合、知識は主に人間を対象としており、たとえばマニュアル、手順、ポリシー、ベスト プラクティス、再利用可能な設計やコードなどのリポジトリとして機能します。どちらの場合も、システムの用途と種類の区別は明確に定義されていませんでした。テクノロジーがスケールアップするにつれて、自動推論を実行するエキスパート システムという意味での知識ベースと、人間が活用できるドキュメントやメディアの形で知識を提供する知識管理という意味での知識ベースと、本当に明確に分類できるシステムを見つけることは稀になりました。[ 7 ]
Your database is that patient's record, including history... vital signs, drugs given,... The knowledge base... is what you learned in medical school... it consists of facts, predicates, and beliefs...