Knowledge Based System (KBS)
A knowledge base (KB) is a technology used to store complex structured and unstructured information used by a computer system. The initial use of the term was in connection with expert systems which were the first knowledge-based systems. The original use of the term knowledge-base was to describe one of the two sub-systems of a knowledge-based system. A knowledge-based system consists of a knowledge-base that represents facts about the world and an inference engine that can reason about those facts and use rules and other forms of logic to deduce new facts or highlight inconsistencies.The term 'knowledge-base' was to distinguish from the more common widely used term database. At the time virtually all large Management Information Systems stored their data in some type of hierarchical or relational database. At this point in the history of Information Technology the distinction between a database and a knowledge-base was clear and unambiguous. A database had the following properties:
-
Flat data. Data was usually represented in a tabular format with strings or number in each field;
-
Multiple users. A conventional database must support more than one user or system logged into the same data at the same time;
-
Transactions. An essential requirement for a database was to maintain integrity and consistency among data that is accessed by concurrent users. These are the so-called ACID properties: Atomicity, Consistency, Isolation, and Durability;
-
Large, long-lived data. A corporate database needed to support not just thousands but hundreds of thousands or beyond rows of data. Such a database usually needs to persist past the specific uses of any individual program, it needs to store data for years and decades rather than for the life of a program;
A knowledge-based system (KBS) is a computer program that reasons and uses a knowledge base to solve complex problems. The term is broad and is used to refer to many different kinds of systems. The one common theme that unites all knowledge based systems is an attempt to represent knowledge explicitly via tools such as ontologies and rules rather than implicitly via code the way a conventional computer program does. A knowledge based system has two types of sub-systems: a knowledge base and an inference engine. The knowledge base represents facts about the world, often in some form of subsumption ontology. The inference engine represents logical assertions and conditions about the world, usually represented via IF-THEN rules.