expert system architecture

Upload: aadafull

Post on 14-Apr-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/27/2019 Expert System Architecture

    1/5

    Expert System Architecture

    Figure 8.1 shows the most important modules that make up a rule-based expert

    system. The user interacts with the system through a user interface which may usemenus, natural language or any other style of interaction). Then an inference

    engine is used to reason with both the expert knowledge (extracted from ourfriendly expert) and data specific to the particular problem being solved. The

    expert knowledge will typically be in the form of a set of IF-THEN rules. The case

    specific data includes both data provided by the user and partial conclusions (alongwith certainty measures) based on this data. In a simple forward chaining rule-based system the case specific data will be the elements in working memory.

    Almost all expert systems also have an explanation subsystem, which allows the

    program to explain its reasoning to the user. Some systems also have a knowledgebase editorwhich help the expert or knowledge engineer to easily update andcheck the knowledge base.

    One important feature of expert systems is the way they (usually) separate domainspecific knowledge from more general purpose reasoning and representation

    techniques. The general purpose bit (in the dotted box in the figure) is referred toas an expert system shell. As we see in the figure, the shell will provide the

    inference engine (and knowledge representation scheme), a user interface, an

    explanation system and sometimes a knowledge base editor. Given a new kind of

    problem to solve (say, car design), we can usually find a shell that provides theright sort of support for that problem, so all we need to do is provide the expert

    knowledge. There are numerous commercial expert system shells, each one

  • 7/27/2019 Expert System Architecture

    2/5

    appropriate for a slightly different range of problems. (Expert systems work in

    industry includes both writing expert system shells and writing expert systemsusing shells.) Using shells to write expert systems generally greatly reduces the

    cost and time of development (compared with writing the expert system fromscratch).

    Planning

    The methods which focus on ways of decomposing the original problem

    into appropriate subparts and on ways of recording and handling

    interactions among the subparts as they are detected during the problem-solving process are often called as planning.

    Planning refers to the process of computing several steps of a problem-

    solving procedure before executing any of them.

    Components of a planning system

    Choose the best rule to apply next based on the best available heuristic

    information.

    Apply the chosen rule to compute the new problem state that arises from

    its application.

    Detect when a solution has been found.

    Detect dead ends so that they can be abandoned and the systems effort

    directed in more fruitful directions.

    Detect when an almost correct solution has been found and employ special

    techniques to make it totally correct.

  • 7/27/2019 Expert System Architecture

    3/5

    . A rule-based system is a way of encoding a human expert's knowledge in a fairly narrow area into an

    automated system. There are a couple of advantages to doing so. One is that the human expert's

    knowledge then becomes available to a very large range of people. Another advantage is that if you can

    capture the expertise of an expert in a field, then any knowledge which they might have is not lost when

    they retire or leave the firm.

    Rule-based systems differ from standard procedural or object-oriented programs in that there is no clear

    order in which code executes. Instead, the knowledge of the expert is captured in a set of rules, each of

    which encodes a small piece of the expert's knowledge. Each rule has a left hand side and a ride hand

    side. The left hand side contains information about certain facts and objects which must be true in order

    for the rule to potentially fire (that is, execute). Any rules whose left hand sides match in this manner at a

    given time are placed on an agenda. One of the rules on the agenda is picked (there is no way of

    predicting which one), and its right hand side is executed, and then it is removed from the agenda. The

    agenda is then updated (generally using a special algorithm called the Rete algorithm), and a new rules is

    picked to execute. This continues until there are no more rules on the agenda.

    rule-based systems are generally implemented as single-thread programs.

    The advantage to this type of approach, as opposed to a procedural approach, is that if the system is

    designed well, then the expert's knowledge can be maintained fairly easily, just by altering whichever

    rules need to be altered. Indeed, many rule-based systems come along with a rules editorwhich allows

    for rules to be easily maintained by non-technical people.

    Natural Language ProcessingNatural Language Processing (NLP) is the process of computer analysis of input provided in a human

    language (natural language), and conversion of this input into a useful form of representation.

    The field of NLP is primarily concerned with getting computers to perform useful and interestingtasks with human languages. The field of NLP is secondarily concerned with helping us come to abetter understanding of human language.

    The input/output of a NLP system can be:

    written text

    speech

    We will mostly concerned with written text (not speech).

    To process written text, we need:

    lexical, syntactic, semantic knowledge about the language

    discourse information, real world knowledge

    To process spoken language, we need everything required to process written text, plus thechallenges of speech recognition and speech synthesis.

  • 7/27/2019 Expert System Architecture

    4/5

    There are two components of NLP.

    Natural Language Understanding

    Mapping the given input in the natural language into a useful representation.

    Different level of analysis required:

    morphological analysis,

    syntactic analysis,

    semanti c analysis,

    discourse analysis,

    Natural Language Generation

    Producing output in the natural language from some internal representation.

    Different level of synthesis required:

    deep planni ng(what to say),

    syntactic generati on

    NL Understanding is much harder than NL Generation. But, still both of them are hard.

    The difficulty in NL understanding arises from the following facts:

    Natural language is extremely rich in form and structure, and very ambiguous.

    How to represent meaning,

    Which structures map to which meaning structures.

    One input can mean many different things. Ambiguity can be at different levels.

    Lexical (word level) ambiguity -- different meanings of words

    Syntactic ambiguity -- different ways to parse the sentence

    Interpreting partial information -- how to interpret pronouns

    Contextual information -- context of the sentence may affect the meaning of thatsentence.

    Many input can mean the same thing.

    Interaction among components of the input is not clear.

  • 7/27/2019 Expert System Architecture

    5/5