Knowledge-based systems
   HOME

TheInfoList



OR:

A knowledge-based system (KBS) is a
computer program A computer program is a sequence or set of instructions in a programming language for a computer to Execution (computing), execute. Computer programs are one component of software, which also includes software documentation, documentation and oth ...
that
reasons In the most general terms, a reason is a consideration which justifies or explains an action, a belief, an attitude, or a fact. ''Normative reasons'' are what people appeal to when making arguments about what people should do or believe. For exam ...
and uses a
knowledge base 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. ...
to solve complex problems. The term is broad and refers to many different kinds of systems. The one common theme that unites all knowledge based systems is an attempt to represent knowledge explicitly and a reasoning system that allows it to derive new knowledge. Thus, a knowledge-based system has two distinguishing features: a
knowledge base 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. ...
and an inference engine. The first part, the knowledge base, represents facts about the world, often in some form of subsumption
ontology In metaphysics, ontology is the philosophy, philosophical study of being, as well as related concepts such as existence, Becoming (philosophy), becoming, and reality. Ontology addresses questions like how entities are grouped into Category ...
(rather than implicitly embedded in procedural code, in the way a conventional computer program does). Other common approaches in addition to a subsumption ontology include frames,
conceptual graphs A conceptual graph (CG) is a formalism for knowledge representation. In the first published paper on CGs, John F. Sowa used them to represent the conceptual schemas used in database systems. The first book on CGs applied them to a wide range of ...
, and logical assertions. The second part, the inference engine, allows new knowledge to be inferred. Most commonly, it can take the form of IF-THEN rules coupled with
forward chaining Forward chaining (or forward reasoning) is one of the two main methods of reasoning when using an inference engine and can be described logically as repeated application of ''modus ponens''. Forward chaining is a popular implementation strategy ...
or
backward chaining Backward chaining (or backward reasoning) is an inference method described colloquially as working backward from the goal. It is used in automated theorem provers, inference engines, proof assistants, and other artificial intelligence applications ...
approaches. Other approaches include the use of automated theorem provers, logic programming, blackboard systems, and term rewriting systems such as CHR (Constraint Handling Rules). These more formal approaches are covered in detail in the Wikipedia article on
knowledge representation and reasoning Knowledge representation and reasoning (KRR, KR&R, KR²) is the field of artificial intelligence (AI) dedicated to representing information about the world in a form that a computer system can use to solve complex tasks such as diagnosing a medic ...
.


Overview

Knowledge-based systems were first developed by
artificial intelligence Artificial intelligence (AI) is intelligence—perceiving, synthesizing, and inferring information—demonstrated by machines, as opposed to intelligence displayed by animals and humans. Example tasks in which this is done include speech ...
researchers. These early knowledge-based systems were primarily
expert systems In artificial intelligence, an expert system is a computer system emulating the decision-making ability of a human expert. Expert systems are designed to solve complex problems by reasoning through bodies of knowledge, represented mainly as if†...
– in fact, the term is often used interchangeably with expert systems, although there is a difference. The difference is in the view taken to describe the system: * "expert system" refers to the type of task the system is trying to assist with – to replace or aid a human expert in a complex task typically viewed as requiring expert knowledge * "knowledge-based system" refers to the architecture of the system – that it represents knowledge explicitly, rather than as procedural code. While the earliest knowledge-based systems were almost all expert systems, the same tools and architectures can and have since been used for a whole host of other types of systems. Virtually all expert systems are knowledge-based systems, but many knowledge-based systems are not expert systems. The first knowledge-based systems were rule based expert systems. One of the most famous was Mycin, a program for medical diagnosis. These early expert systems represented facts about the world as simple assertions in a flat
database In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases ...
, and used rules to reason about (and as a result add to) these assertions. Representing knowledge explicitly via rules had several advantages: # ''Acquisition and maintenance.'' Using rules meant that domain experts could often define and maintain the rules themselves rather than via a programmer. # ''Explanation.'' Representing knowledge explicitly allowed systems to reason about how they came to a conclusion and use this information to explain results to users. For example, to follow the chain of inferences that led to a diagnosis and use these facts to explain the diagnosis. # ''Reasoning.'' Decoupling the knowledge from the processing of that knowledge enabled general purpose inference engines to be developed. These systems could develop conclusions that followed from a data set that the initial developers may not have even been aware of. Later architectures for knowledge-based reasoning, such as the BB1 blackboard architecture (a blackboard system), allowed the reasoning process itself to be affected by new inferences, providing meta-level reasoning. BB1 allowed the problem-solving process itself to be monitored. Different kinds of problem-solving (e.g., top-down, bottom-up, and opportunistic problem-solving) could be selectively mixed based on the current state of problem solving. Essentially, the problem-solver was being used both to solve a domain-level problem along with its own control problem, which could depend on the former. Other examples of knowledge-based system architectures supporting meta-level reasoning are MRS and SOAR. In addition to expert systems, other applications of knowledge-based systems include real-time process control, intelligent tutoring systems, and problem-solvers for specific domains such as protein structure analysis, construction-site layout, and computer system fault diagnosis. As knowledge-based systems became more complex, the techniques used to represent the knowledge base became more sophisticated and included logic, term-rewriting systems, conceptual graphs, and frames. Consider frames as an example. Rather than representing facts as assertions about data, the knowledge-base has become more structured. Frames can be thought of as representing world knowledge using analogous techniques to
object-oriented programming Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of ...
, specifically the use of hierarchies of classes and subclasses, relations between classes, and behavior of objects. As the knowledge base became more structured, reasoning could occur both by independent rules, logical inference, and by interactions within the knowledge base itself. For example, procedures stored as daemons on objects could fire and could replicate the chaining behavior of rules. Another advancement was the development of special purpose automated reasoning systems called classifiers. Rather than statically declare the subsumption relations in a knowledge-base, a classifier allows the developer to simply declare facts about the world and let the classifier deduce the relations. In this way a classifier also can play the role of an inference engine. The most recent advancement of knowledge-based systems has been to adopt the technologies, especially a kind of logic called description logic, for the development of systems that use the internet. The internet often has to deal with complex,
unstructured data Unstructured data (or unstructured information) is information that either does not have a pre-defined data model or is not organized in a pre-defined manner. Unstructured information is typically text-heavy, but may contain data such as dates, num ...
that cannot be relied on to fit a specific data model. The technology of knowledge-based systems, and especially the ability to classify objects on demand, is ideal for such systems. The model for these kinds of knowledge-based Internet systems is known as the Semantic Web.


See also

*
Knowledge representation and reasoning Knowledge representation and reasoning (KRR, KR&R, KR²) is the field of artificial intelligence (AI) dedicated to representing information about the world in a form that a computer system can use to solve complex tasks such as diagnosing a medic ...
*
Knowledge base 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. ...
*
Knowledge modeling Knowledge modeling is a process of creating a computer interpretable model of knowledge or standard specifications about a kind of process and/or about a kind of facility or product. The resulting knowledge model can only be computer interpretable ...
* Inference engine * Reasoning system *
Case-based reasoning In artificial intelligence and philosophy, case-based reasoning (CBR), broadly construed, is the process of solving new problems based on the solutions of similar past problems. In everyday life, an auto mechanic who fixes an engine by recallin ...
*
Expert system In artificial intelligence, an expert system is a computer system emulating the decision-making ability of a human expert. Expert systems are designed to solve complex problems by reasoning through bodies of knowledge, represented mainly as ifâ ...
*
Conceptual graph A conceptual graph (CG) is a formalism for knowledge representation. In the first published paper on CGs, John F. Sowa used them to represent the conceptual schemas used in database systems. The first book on CGs applied them to a wide range ...
* Semantic web *
Neural networks A neural network is a network or circuit of biological neurons, or, in a modern sense, an artificial neural network, composed of artificial neurons or nodes. Thus, a neural network is either a biological neural network, made up of biological ...
*
Rule-based system In computer science, a rule-based system is used to store and manipulate knowledge to interpret information in a useful way. It is often used in artificial intelligence applications and research. Normally, the term ''rule-based system'' is appli ...


References


Further reading

* {{computable knowledge Artificial intelligence