Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

12-10-2013_09-24-50 / [Simon_Kendal,_Malcolm_Creen]_Introduction_to_Know(BookFi.org)

.pdf
Скачиваний:
108
Добавлен:
14.03.2016
Размер:
1.71 Mб
Скачать

An Introduction to Knowledge Engineering

13

The Project Champion

There are many people involved in the actual building of a KBS. Some of those people, such as the knowledge engineer and the human expert, have been discussed earlier in this chapter.

However, one of the most important people involved in a KBS project from the users perspective is the Project Champion. This is a person who works with the project team, most likely as a user representative. Such a person must:

be able to convince users that the KBS is needed

have an appropriate level of authority

‘get on’ with both management and users

have a personal investment in the project

believe in the need for the KBS

be capable of presenting the business benefits to management

be highly motivated towards the success of the project.

Convincing Management

One of the key activities that takes place at the beginning of a KBS project is convincing management of the need for the system. Obtaining management approval is essential because without appropriate ‘buy-in’ there will not be the necessary management support, nor the funding required to build and maintain the KBS.

A presentation of the aims of the KBS early in the project will:

provide an opportunity for management to be made aware of the reality of the project

allow the knowledge engineer to gauge the real level of support from management.

The aim of the presentation is therefore to obtain management buy-in and the funding for the project. The overall level of support from management will be determined partly by enthusiasm in the meeting and partly by the level of funding obtained.

Example of a KBS Project

The following is an example of how a hypothetical KBS project can start.

The goal of the system was to assist the clinician in the intensive care unit (ICU). The system addressed the following problems:

14

An Introduction to Knowledge Engineering

The need for interpretation of measurement values with respect to historical information about changes in a patient’s status and therapy.

The difficulty of directly relating measurement values to a therapeutic recommendation.

The system was designed to perform the following tasks in the ICU:

Predict the initial setting of the mechanical ventilator to assist the patient to breathe.

Suggest adjustments to treatment by continuous reassessment of the patient’s condition.

Summarise the patient’s physiological status.

Maintain a set of patient’s specific expectations and goals for future evaluation.

Aid in the stabilisation of the patient’s condition.

The basic procedure for obtaining information and developing the system is outlined in Figure 1.2.

The knowledge elicitation sessions resulted in a set of rules

A prototype was developed and shown to the clinicians

Feedback from the prototype was used to refine the system and rule set

The loop was repeated a number of times until the final system was obtained

The system was tested on over 50 patients The majority of the tests showed a close agreement

between the KBS and the consultant

FIGURE 1.2. Knowledge-based system development process.

One of the main queries in the project was from the experts providing knowledge for the system. Obviously, it was essential that the system provided accurate answers, otherwise patients lives could be at risk. Similarly, experts providing the knowledge did not want to be blamed if an incorrect response was given by the KBS. These concerns can be summarised in Figure 1.3.

The main assurance provided by the knowledge engineer and project manager was that the system was built in accordance with quality assurance standards.

Quality assurance is an essential part of the design of any KBS—especially those designed for such purposes as:

railway signalling systems

alarm systems

detection of gas leaks

nuclear power station monitoring and control.

An Introduction to Knowledge Engineering

15

Whose fault is it if the system fails?

Has the system been developed to quality standards?

Do we really know if it is correct?

FIGURE 1.3. Safety critical systems.

An error in any of these systems could result in significant risk, including loss of life. Attention to quality assurance is therefore essential.

The Project Manager’s Dilemma

As well as being skilled in overall project management, a project manager needs some negotiating skills to try and match the expectations of all parties involved in a project.

Stakeholder

Expectation

Users

Want a system that meets their needs

Knowledge engineers

Would like to be left alone to carry out their job

Quality manager

Require the system to conform to their quality control procedures

Senior management

Would like the introduction of the system to go smoothly. They

 

also want the project on time, within budget and working correctly

 

 

Balancing the conflicting requirements will be difficult.

Professionalism

One method of trying to ensure high-quality systems development is to employ people who belong to a known profession. Membership of a professional body implies that a certain standard of work will be carried out and that the person will take pride in doing a good job.

Though the word ‘professional’ is in common usage, most people believe they understand what it means, we need to look more closely at what precisely defines a ‘professional’.

16

An Introduction to Knowledge Engineering

Activity 8

This activity helps you focus on precisely what qualities characterise a professional or a professional group.

List the words you might normally expect to use or see used when describing professionalism.

Feedback 8

You may have thought of such terms as:

expert

honesty

skilled

ethical

integrity

 

The main factors that distinguish a professional organisation are as follows:

Expertise. The individuals within the organisation maintain a current, working expertise of a given subject.

Self-regulation. The professional code of conduct and other regulations (such as code of practice or code of ethics) are self-imposed and made public. Any individual that wishes to be recognised as a member of the society must voluntarily show continuous compliance with such a code.

World view. All of the above conditions maintain a ‘world view’. This view does not discriminate nor does it compromise the basic moral principles of any member of society as a whole.

Professionals are normally recognised as a distinct group of people having established some sort of ‘contract’ with society. This contract is typically based upon a code of conduct or a code of ethics. An individual must adhere to this code in order to become and stay a member of the particular professional organisation.

In the United Kingdom, a profession is normally granted by Royal Charter. So if a profession were to be started for KBS development, a charter would be needed. The two main conditions for the granting of a charter are as follows:

It should be in the public interest to regulate members within that body.

The members should represent a coherent group.

Summary

A knowledge engineer requires a variety of skills ranging from the technical to the managerial.

An Introduction to Knowledge Engineering

17

Self-Assessment Question

Knowledge Engineering: Skills Audit

The skills of a knowledge engineer are listed again in the table below.

Define each of these skills and then consider whether or not you have each skill. Draw up an action plan to acquire the skills you lack or need to improve.

Skill required

Explanation/Definition

Knowledge representation

Fact finding

Human skills

Visual skills

Analysis

Creativity

Managerial

Answer to Self-Assessment Question

Skill required

Explanation

Knowledge representation

Being able to understand the information being provided by the expert

 

and record this in some appropriate manner

Fact finding

Using tools such as interviews, questionnaires and observations to

 

obtain knowledge from an expert

Human skills

Interviewing skill including how to acquire knowledge from an expert

 

in a friendly and helpful manner

Visualisation skills

Being able to visualise the overall design of the system, prior to com-

 

mitting the ideas to paper

Analysis

Working through data and information to find the most appropriate

 

method of representing it, and identifying links within the data and

 

information

Creativity

Using new ideas or methods of representing data within the structure

 

of the KBS

Managerial

Having good time management and delegation skills to help ensure

 

that the data is recorded on time and within budget

 

 

18

An Introduction to Knowledge Engineering

SECTION 3: AN INTRODUCTION TO

KNOWLEDGE-BASED SYSTEMS

Introduction

This section introduces some of the software systems used in knowledge engineering and shows how they work compared to human processing.

Objectives

By the end of the section you will be able to:

explain the difference between knowledge engineering and artificial intelligence

define knowledge-based systems (KBSs)

explain what a KBS can do

explain the differences between human and computer processing

provide a brief definition of expert systems, neural networks, case-based reasoning, genetic algorithms, intelligent agents, data mining and intelligent tutoring systems

What Is the Difference Between Knowledge Engineering

and Artificial Intelligence?

To try and provide a simple answer to this question, consider each of the following life forms:

Plants

Fish

Chimpanzees

Humans

Now, do the plant and animals in the example above exhibit evidence of intelligence?

An Introduction to Knowledge Engineering

19

Activity 9

We have noted that a knowledge engineer must be able to capture the behavioural skills or knowledge of experts and code these into some KBS. If you were a knowledge engineer, what particular behavioural skills or knowledge, in generic terms, would you expect to find in the objects listed below?

If you picture the four objects listed below, this will help you see the different skills that are displayed by them. Think specifically of the movement (or lack of) for each object, as well as the communication skills that could be expected.

A plant

A fish

A chimpanzee

A human.

Feedback 9

The skills may include:

Aplant

Adapt in time and evolve—an individual plant has no skills but as a species they do.

Afish

Navigation

Visual recognition

Avoid danger.

Achimpanzee

Language/communication about concrete concepts

Use of basic tools

Simple problem solving

Mimic humans

Build mental models.

Ahuman

Language/communication about complex concepts

Learn from being told

Learn from the past experience

Identify cause and effect relationships

Teach

Solve complex problems

Design, plan and schedule

Create complex abstract models

Show initiative.

20

An Introduction to Knowledge Engineering

While we may not consider fish to be intelligent, they do exhibit some complex characteristics that can be considered aspects of intelligence. They navigate around the world, and visually recognise other animals. They can also plan to avoid danger.

All these are all aspects of intelligence, and when applied to computer systems could not be implemented by traditional computing techniques.

Chimpanzees are clearly more intelligent than fish. They have the ability to use language. They use basic tools, sticks and stones. They can solve simple problems, mimic humans and have been shown to build mental models of their environment.

Finally, humans are clearly more intelligent again. They can:

learn by being told

learn from past examples and from experience

teach

solve complex problems, design, plan and schedule

create complex, abstract models of the universe.

Further, one common feature that fish, chimpanzees and humans share is that we are all unique individuals. Within the scope of our mental capacity we have individual choice and make our own decisions. This again is evidence of intelligence.

The application of artificial intelligence has tried to emulate all of these characteristics within computer systems. Knowledge engineers have the difficult job of attempting to build these characteristics into a computer program.

By using a range of techniques, including expert systems, neural networks, casebased reasoning, genetic algorithms, intelligent agents and data mining, we can get computer systems to emulate some aspects of intelligent behaviour such as:

making decisions, diagnosing, scheduling and planning using expert systems or neural networks

evolving solutions to very complex problems using genetic algorithms

learning from a single previous example, where this is particularly relevant and using it to solve a current problem using case-based reasoning

recognising hand writing or understanding sensory data—simulated by artificial neural networks

identifying cause and effect relationships using data mining

free will, i.e., the ability to take independent actions—simulated by intelligent agents.

For example, legal systems can suggest suitable fines based on past examples using case-based reasoning—a type of KBS you will encounter later in more detail.

An Introduction to Knowledge Engineering

21

Programs can also process human language including grammar checking, summarisation and translation—all of which use natural language processing techniques (not covered in this book).

Artificial intelligence aims to endow computers with human abilities. Often this involves research into new and novel technologies that might not be immediately usable.

Knowledge engineering, on the other hand, is the practical application of those aspects of artificial intelligence that are well understood to real commercial business problems such as recognising signatures to detect potential fraud.

What Are KBSs?

Knowledge-based systems are computer programs that are designed to emulate the work of experts in specific areas of knowledge.

It is these systems that provide the main focus of this book.

There are seven main types of KBS:

1.Expert systems. Expert systems model the higher order cognitive functions of the brain. They can be used to mimic the decision-making process of human experts. Typical example applications include planning, scheduling and diagnostics systems.

Expert systems are normally used to model the human decision-making process. Although expert systems contain algorithms, many of those algorithms tend to be static, that is they do not change over time. While this provides some certainty in how the system will operate, it does mean that the expert system is not designed to learn from experience.

It is worth mentioning that expert systems are very often spoken of as synonymous with KBSs. However, expert systems are simply a category of KBS.

2.Neural networks. Neural networks, on the other hand, model the brain at a biological level. Just as the brain is adept at pattern recognition tasks, such as vision and speech recognition, so are neural network systems. They can learn to read, can recognise patterns from experience and can be used to predict future trends, e.g. in the demand for electricity.

3.Case-based reasoning. Case-based reasoning systems model the human ability to reason via analogy. Typical applications include legal cases, where the knowledge of the law is not just contained in written documents, but in a knowledge base of how this has been applied by the courts in actual situations.

4.Genetic algorithms. A genetic algorithm is a method of evolving solutions to complex problems. For example, such a method could be used to find one of many good solutions to the problem of scheduling examinations (rooms,

22

An Introduction to Knowledge Engineering

students, invigilators and possibly even equipment) from the millions of possible solutions.

The term ‘genetic’ refers to the behaviour of algorithms. In this situation, the behaviour is very similar to biological processes involved in evolution.

5.Intelligent agents. An intelligent agent is, normally, a software program where its goal or overall task is specified but where the software can make some decisions on its own

Most agents work in the background (that is they are not seen by the user) and only appear to report their findings. They may work over the Internet looking for important information where the user simply does not have time to sift through all the reports presented to him or her.

Agents often have the ability to learn and make increasingly complex decisions on behalf of their users. The simplest agents simply retrieve information while the most complex learn and use deductive reasoning to make decisions.

6.Data mining. Data mining is a term used to describe knowledge discovery by identifying previously unknown relationships in data. Alternative terms for mining include knowledge extraction, data archaeology, data dredging and data harvesting.

The technique relates to the idea that large databases contain a lot of data, with many links within that data not necessarily becoming evident until the database is analysed thoroughly. One of the classic examples of data mining concerns the analysis of sales within supermarkets. Data mining techniques could potentially identify products often purchased at the same time such as nuts and crisps. By placing these items next to each other on the supermarket shelf the sales of both products can be increased as they can now be found easily.

Data mining is used in many different areas of business, including marketing, banking, retailing and manufacturing. The main aim of data mining in these situations is to uncover previously hidden relationships and then use this information to provide some competitive advantage for the organisation.

7.Intelligent tutoring systems. The interest in computer-based instructional environments increases with the demand for high-quality education at a low cost. Meanwhile, computers become cheaper, more powerful and more user-friendly. An environment that responds in a sophisticated fashion to adapt its teaching strategy to the specific learning style of a given student/user is highly attractive. For a tutoring system to be intelligent, it must be able to react (teach) continuously according to a student’s learning. Most tutoring systems try to use a single teaching method but with various levels of explanations/examples/disclosure of domain materials to react to different student’s learning. However, a teacher in practice will use more than one teaching method in teaching a subject according to the type of domain knowledge. In order to be intelligent and effective in teaching, a tutoring system must be able to provide multiple teaching methods. An example is available at: http://www.pitt.edu/ vanlehn/andes.html.