HHệệ

chuyên gia chuyên gia

Expert System)) ((Expert System

PGS.TS. Phan Huy Kháánhnh PGS.TS. Phan Huy Kh khanhph@vnn.vn khanhph@vnn.vn

Chương 2

Biểu diễn tri thức bậc một

logic vị

nhờ

từ

2.1

Chương 2

Biểu diễn tri thức nhờ

bậc một

logic vị

từ

2.1

(cid:97) Biểu diễn tri thức trong các HCG

2.2

(cid:97) Lôgic mệnh đề

2.3

(cid:97) Lôgic vị từ bậc một

(cid:97) Biểu diễn tri thức nhờ logic vị từ bậc một

2/2/4545

Biểu diễn tri thức trong một HCG

(cid:97) Tri thức của một HCG có thể được biểu diễn theo nhiều

phương pháp khác nhau

(cid:97) Tuỳ theo từng HCG, người ta có thể sử dụng một hoặc

đồng thời cả nhiều phương pháp

(cid:97) Phân chia theo ngôn ngữ sử dụng, người ta có 3 cách :

(cid:86) Sử dụng ngôn ngữ tự nhiên và ngôn ngữ toán học

(cid:86) Sử dụng ngôn ngữ hình thức

(cid:86) Sử dụng ngôn ngữ máy tính

3/3/4545

Nguyên lý làm việc

(cid:97) Nguyên lý làm việc như sau :

Tri thức được thu nhận trong ngôn ngữ

tự

Tri thức được dịch ra trong ngôn ngữ P

nhiên L (cid:198) (cid:198)

Tìm giải pháp suy diễn trong P

(cid:198)

Lời giải được dịch ra trong ngôn ngữ L

4/4/4545

Biểu diễn tri thức

(cid:97)(cid:97) MMộột st sốố phương ph

ng ngôn ngữữ hhìình th

nh thứứcc ::

phương phááp dp dùùng ngôn ng (cid:86) Biểu diễn tri thức nhờ các luật sản xuất

(cid:86) Biểu diễn tri thức nhờ lôgic

(cid:86) Biểu diễn tri thức nhờ mạng ngữ nghĩa

(cid:86) Ngoài ra, người ta còn sử dụng :

(cid:153)Nhờ bộ ba : đối tượng, thuộc tính và giá trị

(O-A-V: Object-Attribute-Value)

(cid:153)Nhờ khung (frame)

(cid:153)Ngôn ngữ nhân tạo, sự kiện không chắc chắn, v.v...

5/5/4545

Biểu diễn tri thức bởi các luật sản xuất

(cid:97) Hầu hết,các HCG hiện nay đều là các hệ thống dựa trên luật

(cid:97) Lý do như sau :

(cid:86) Bản chất đơn thể(modular nature)

(cid:153) Có thể đóng gói tri thức

(cid:153) Có thể mở rộng HCG một cách dễ dàng

(cid:86) Khả năng diễn giải dễdàng(explanation facilities)

(cid:153) Vận dụng luật có thể đặc tả chính xác các yếu tố tri thức

(cid:153) Dễ dàng diễn giải vấn đề nhờ các tiền đề

(cid:153) Rút ra được kết quả mong muốn

(cid:86) Tương tựquátrình nhận thức của con người.

(cid:153) Dựa trên các công trình của Newell và Simon, các luật được xây dựng

từ cách con người giải quyết vấn đề

(cid:153) Cách biểu diễn luật nhờ IF THEN đơn giản cho phép giải thích dễ dàng

cấu trúc tri thức cần trích lọc

6/6/4545

Luật (Rule) là

(cid:97) Luật là một kiểu sản xuất dạng :

RHS

LHS →

(cid:86) Phần trái LHS (Left Hand Side)

có nội dung được gọi theo nhiều tên khác nhau, như :

(cid:153) tiền đề (antecedent)

(cid:153) điều kiện (conditional part)

(cid:153) mẫu so khớp (pattern part)

(cid:86) Phần sau luật RHS (Right Hand Side) là kết luận

hay hậu quả(consequent)

7/7/4545

Luật (Rule) là

(cid:97) Trong một hệ thống dựa trên luật, công cụ suy luận sẽ xác

định những luật nào là tiên đề thỏa mãn các sự việc

(cid:97) Các luật sản xuất thường được viết dưới dạng IF THEN

(cid:97) Có hai dạng luật :

IF < điều kiện > THEN < hành động >

(cid:97) Một số HCG có thêm phần hành động (action)

bên phần phải của luật :

IF < điều kiện > THEN < kết luận > DO < hành động >

8/8/4545

Đặt tên luật

(cid:97) Tuỳ theo HCG cụ thể mà mỗi luật có thể được đặt tên (cid:97) Có dạng Rule: Tên (cid:97) Ví dụ :

Rule: Đèn đỏ IF

sáng

THEN

Đèn đỏ Dừng

Rule: Đèn-xanh IF

Đèn xanh sáng

(cid:97) Trong ví dụ trên, Đèn đỏ sáng và Đèn xanh sáng

là những điều kiện, hay những khuôn mẫu

THEN Đi

9/9/4545

pháp của các luật

A simple rule : (cid:97)(cid:97) A simple rule :

IFIF <

(cid:97)(cid:97) A rule can have multiple antecedents joined by the keywords

THENTHEN antecedent>> consequent>> <

A rule can have multiple antecedents joined by the keywords ANDAND conjunction), ), OROR ((disjunction ((conjunction ) or a combination of both disjunction) or a combination of both

IFIF AND AND

OROR OROR <> antecedent 2>> <> antecedent 2>>

..

.. .. ..

.. ..

THEN THEN antecedent nn>> <> antecedent nn>> <> <

10/10/4545

dụ

Strategy (cid:97)(cid:97) Strategy IFIF THENTHEN

check the fuel tank’’;;

the car is dead the car is dead the action is ‘‘check the fuel tank the action is step1 is complete step1 is complete

IFIF

THENTHEN is full is full check the battery’’;;

Heuristic (cid:97)(cid:97) Heuristic IFIF

step1 is complete AND step1 is complete AND fuel tank’’ the ‘‘fuel tank the the action is ‘‘check the battery the action is step2 is complete step2 is complete

the spill is liquid AND the spill is liquid AND spill pH’’ < 6 AND the ‘‘spill pH the < 6 AND is vinegar spill smell’’ the ‘‘spill smell is vinegar the spill material’’ the ‘‘spill material the THENTHEN acetic acid’’ is is ‘‘acetic acid

11/11/4545

Một số

dụ

khác

thống chẩn đoán xe máy (OPS5)

sốt

Hệ IF

Rule: Điều trị IF

Máy xe không nổ

khi khởi động

Bệnh nhân sốt

THEN

THEN

Cho uống thuốc Aspirin

panne sức nén. Pittong, bạc lòng xy lanh sai tiêu chuẩn, dễ

làm cho pittong

nhỏ

khí không được nén lên

Dự đoán: Xe bị xéc-măng và tạo thành những khe hở không còn kín nên hoà đầy đủ. Xử lý : nên điều chỉnh hoặc thay mới pittong, bạc xéc-măng và lòng xy lanh cho đúng tiêu chuẩn

IF

Máy xe nổ máy xe nổ

không ổn định, OR rồi lại tắt, AND bugi khô

THEN

nghẹt xăng. lý : nên xúc rửa bình xăng và

bộ

khoá xăng

12/12/4545

Dự đoán : Xe đã bị Xử của xe

HCG MYCIN

dụ

(cid:97) MYCIN là hệ thống chẩn đoán bệnh viêm màng não và hiện

tượng có vi khuẩn bất thường trong máu (nhiễm trùng)

(cid:97) Ví dụ một luật của MYCIN :

IF

trí

máu, AND

tổn thương, AND

Tại vị vết thương có Chưa biết chắc chắn cơ quan bị Chất nhuộm màu âm tính, AND dạng hình que, AND Vi khuẩn có Bệnh nhân bị

sốt cao

THEN

triệu chứng (0.4) nhiễm trùng

Cơ quan có

13/13/4545

Dùng lôgic vị

biểu diễn tri thức

từ

(cid:97) Trong lôgic vị từ :

(cid:86) Các vị từ thường có chứa hằng, biến hay hàm

(cid:86) Người ta gọi các vị từ không chứa biến (có thể chứa hằng) là

các mệnh đề(preposition)

(cid:86) Mỗi vị từ có thể là một sựkiện(fact) hay một luật

(cid:86) Luật là vị từ gồm hai vế trái và phải được nối nhau bởi một

dấu mũi tên (→)

(cid:97) Người ta sử dụng các ký hiệu và các phép toán lôgic

tác động lên các ký hiệu để thể hiện tri thức và suy luận lôgic

14/14/4545

Dùng lôgic mệnh đề

biểu diễn tri thức

(cid:97) Ví dụ :

(cid:86) MAN(X), FATHER(X, Y)

là các sự kiện

(cid:86) MAN(X) → MORTAL(X)

(cid:97) Giải thích : (cid:86) MAN(X) :

là một luật

(cid:86) MORTAL(X) :

«X là một người»

«X chết»

Vị

từ

Phát biểu

Tom là

một người

MAN(tom)

Tom là

cha của Mary

FATHER(tom, mary)

Tất cả

MORTAL(X)

mọi người đều chết MAN(X) →

15/15/4545

dùng lôgic vị

dụ

từ

(cid:97) Từ các tri thức sau :

Ta có

(cid:86) Marc có tóc vàng hoe

biểu diễn thành các sự các luật như sau : thể kiện và

(cid:86) Jean có tóc màu nâu

(cid:86) Pierre là cha của Jean

BLOND (marc)

(cid:86) Marc là cha của Pierre

BROWN (jean)

(cid:86) Jean là cha của René

FATHER (pierre, jean)

(cid:86) Marc là con của Georges.

FATHER (marc, pierre)

(cid:86) Giả sử X, Y và Z

FATHER (jean, rené)

là những người nào đó

SON (marc, georges)

(cid:86) Nếu Y là con của X, thì X là cha của Y

FATHER (X, Y) ←

SON (Y, X)

(cid:86) Nếu X là cha của Z và Z là cha của Y, thì X là ông của Y

GRANDFATHER (X, Y) ←

FATHER (X, Z), FATHER (Z, Y)

16/16/4545

Biểu diễn tri thức nhờ

mạng ngữ

nghĩa

(cid:97) Mạng ngữ nghĩa là một đồ thị :

(cid:86) Các nút (node) dùng để thể hiện :

(cid:153) Các đối tượng

(cid:153) Thuộc tính của đối tượng

(cid:153) Giá trị của thuộc tính

(cid:86) Các cung (arc) nối các nút để thể hiện mối quan hệ giữa các

đối tượng

(cid:97) Các nút và các cung đều được gắn nhãn

(cid:97) Nghĩa sử dụng của một tri thức :

(cid:86) Một đường đi trong đồ thị gồm các nút nối các cung

17/17/4545

Semantic Nets

(cid:97) Semantic net is a knowledge presentation method based

on a network structure

(cid:97) It consists of

(cid:86) points called nodes connected by

(cid:86) links called arcs

(cid:97) Nodes - object, concepts, events

(cid:97) Arcs - relationships between nodes

(cid:97) Common arcs used for representing hierarchies include

isaand has-part

(cid:97) Knowledge represented as a network or graph

18/18/4545

Example:

(cid:97) The queen mary is an ocean liner

Every ocean liner is a ship

Sẻ là một loài chim có cánh và biết bay Ship

isa

cánh có

là Ocean Liner

sẻ loài chim isa

bay biết

Queen Mary

19/19/4545

Tính thừa kế

của mạng ngữ

nghĩa

(cid:97) Một trong những tính chất quan trọng của mạng ngữ nghĩa

là tính thừa kế

(cid:97) Bằng cách thêm vào đồ thị các nút mới và các cung mới,

người ta có thể mở rộng một mạng ngữ nghĩa

(cid:97) Các nút mới được thêm thể hiện các đối tượng tương tự (với các nút đã có trong đồ thị), hoặc tổng quát hơn

(cid:97) Khi sử dụng mạng ngữ nghĩa để biểu diễn tri thức, người ta phải xây dựng các phép toán tương ứng

20/20/4545

Mở

rộng một mạng ngữ

nghĩa

cánh

là đẻ là trứng sẻ động vật loài chim

biết

là bay

biết

lặn cánh cụt

21/21/4545

Mở

rộng một mạng ngữ

nghĩa

has-part

isa

SHIP

isa

Engine Oil Tanker Ocean Liner Hull

Swimming Pool Queen Mary Liver Pool Boiler

22/22/4545

Mở

rộng một mạng ngữ

nghĩa

Animal

haspart

subclass

subclass

head

Mammal

Reptile

subclass

livesin

size

large

Elephant

Africa

instance

Nellie

apples

likes

23/23/4545

Semantic Networks

(cid:97) Arity of Relations

(cid:86) Unary relations

(cid:86) Binary relations

Ex: Person(Jim): IS-A link

(cid:86) N-ary relations

Ex: Age(Jim, 27 years): Age link

(cid:86) disease-relation object with several cases :

(patient, diagnosis, duration)

Ex: Disease(Jim, Mumps, 5 days): By creating a reified

24/24/4545

Bài tập tại lớp

(cid:97) Cho các từ dưới đây, vẽ mạng ngữ nghĩa tương ứng :

(cid:86) Các đối tượng :

Animal, Bird, Breath, Skin, Move, Fish, Fly, Wings, Feathers, Ostrich, Tall, Yellow, Canary, Sing

(cid:86) Các quan hệ :

Can, Cannot, Has, Is, Is-a

25/25/4545

Semantic Network Representation

can

Breath

Animal

has

Skin

Is a

can

Fly

can

Move

Is a

has

Wings

Bird

Fish

has

Feathers

Is a

Is a

Canary

Ostrich

is

can

is

cannot

Yellow

Sing

Fly

Tall

26/26/4545

Biểu diễn tri thức nhờ

ba O-A-V

bộ

(cid:97) Bộ ba O-A-V (Object-Attribute-Value) :

đối tượng, thuộc tính và giá trị cách mô tả các mạng ngữ nghĩa

(cid:86) can be used to characterize the knowledge in a semantic net

(cid:86) quickly leads to huge tables

Object

Attribute

Value

Has-a Is-a

27/27/4545

dụ

: OAV

Object Attribute Value

Table Object

Attribute Value

Dorsal Fin No Astérix profession warrior Beluga Whale

Tail Fin No Beluga Whale

Obélix size extra large

Tail Fin Yes Blue Whale

Idéfix size petite

Dorsal Fin Yes Blue Whale

Panoramix wisdom infinite Size Blue Whale Very Large

28/28/4545

Biểu diễn tri thức nhờ

khung

(cid:97) Khi phạm vi bài toán được mở rộng ra :

(cid:86) Số nút và số cung trong mạng tăng lên

(cid:86) Mạng ngữ nghĩa trở nên phức tạp hơn

(cid:97) Semantic nets → Frame :

(cid:86) Trong trường phức tạp như vậy, nguời ta sử dụng khung frame

(cid:97) Giới thiệu khung (frame) :

(cid:97) Hệ thống khung :

(cid:86) Nhóm các khung có quan hệ với nhau.

(cid:86) Quan hệ có thể là giá trị của một thuộc tính trong frame này là

Nhóm các thuộc tính, giá trị của các đối tượng

(cid:97) Người ta xâ dựng các thủ tục suy diễn sử dụng khung

giá trị của một frame khác

29/29/4545

Biểu diễn tri thức nhờ

Frames

(cid:97) Frames were the next development, allowing more convenient

“packaging” of facts about an object

(cid:97) Frames look much like modern classes, without the methods:

mammal:

subclass: animal

elephant:

subclass: mammal size: large haspart: trunk

Nellie:

instance: elephant likes: apples

(cid:97) We use the terms “slots” and “slot values” (filler)

30/30/4545

Frames

(cid:97) Frames often allowed you to say

which things were just typical of a class, and which were definitional, so couldn’t be overridden

(cid:97) Using an asterix to denote typical values:

Elephant:

subclass: mammal haspart: trunk * colour: grey * size: large

(cid:97) Frames also allowed multiple inheritance

(Nellie is an Elephant and is a circus animal)

(cid:97) Introduces problems in inheritance

31/31/4545

Simple Frame Example

Giá Giá

trị trị

Thuộc tính Thuộc tính

Slot Name Filler

name Astérix

height small

weight low

profession warrior

armor helmet

intelligence very high

marital status presumed single

32/32/4545

Representing Knowledge in Frames

(cid:97) Frame Architecture

(cid:86) A record-like data structure for representing stereotypical knowledge about some concept or object (or a class of objects)

(cid:86) A frame name represents a stereotypical

situation/object/process

(cid:86) Attributes or properties of the object also called slot

(cid:86) Values for attributes called fillers,

facets provide additional control over fillers

33/33/4545

Frame Architecture

Frame Name:

Class:

Object 1

Object 2

Properties:

Property 1 Value 1

Property 2 Value 2

… …

… …

34/34/4545

Types of Frames

(cid:97) Class Frame

(cid:86) Represents general characteristics of common objects (cid:86) Define properties that are common to all objects within class (cid:86) Static & dynamic property

(cid:97) Static:

(cid:86) Describes an object feature whose value does not change

(cid:97) Dynamic:

(cid:86) Feature whose value is likely to change during operation

35/35/4545

Mô hình kiểu của khung

Frame Name:

Class:

Bird

Animal

Properties:

Color Unknown

Eats Worms

No._Wings 2

Flies True

Hungry Unknown

Activity Unknown

36/36/4545

Subclass Frame

(cid:97) Represents subsets of higher level classes or categories

(cid:97) Creates complex frame structures

(cid:97) Class relationships

Class Bird

Subclass Robins Canaries Sparrows

Bird1 Bird3 Bird2 Tweety Bird4 Instance

37/37/4545

Instance Frame

(cid:97) Represents specific instance of a class frame

(cid:97) Inherits properties & values from the class

(cid:97) Able to change values of properties & add new properties

Tweety Frame Name:

Class: Bird

Yellow Worms

Color Properties:

Eats

No._Wings 1

False Unknown

Flies

Unknown Cage

Activity Lives

Hungry

38/38/4545

Frame Inheritance

(cid:97) Instance frame inherits information from its subclass frame and also its class (cid:97) Inheritance of behavior, facet (cid:97) Ease coding & modification of information

39/39/4545

Frames and procedures

(cid:97) Frames often allowed slots to contain procedures

(cid:97) So.. Size slot could contain code to run to calculate the

size of an animal from other data

(cid:97) Sometimes divided into “if-needed” procedures, run when value needed, and “if-added” procedures, run when a value is added (to update rest of data, or inform user)

(cid:97) So.. Similar, but not quite like modern object-oriented

languages

40/40/4545

Overview of Frame Structure

(cid:97) Two basic elements: slotsand facets(fillers, values, etc.); (cid:97) Typically have parent and offspring slots

(cid:86) Used to establish a property inheritance hierarchy

(cid:97) Descriptive slots

(cid:86) Contain declarative information or data (static knowledge)

(cid:97) Procedural attachments

(cid:86) Contain functions which can direct the reasoning process (dynamic

(e.G., Specialization-of)

(cid:97) Data-driven, event-driven ( bottom-up reasoning) (cid:97) Expectation-drive or top-down reasoning (cid:97) Pointers to related frames/scripts - can be used to transfer control to a

knowledge) (e.G., "Activate a certain rule if a value exceeds a given level")

more appropriate frame

41/41/4545

[Rogers 1999]

Usage of Frames

(cid:97) Filling slots in frames

(cid:86) Can inherit the value directly

(cid:86) Can get a default value

(cid:86) These two are relatively inexpensive

(cid:86) Can derive information through the attached procedures (or methods) that also take advantage of current context (slot- specific heuristics)

(cid:86) Filling in slots also confirms that frame or script is appropriate

for this particular situation

42/42/4545

[Rogers 1999]

Problems with Frames

(cid:97) Negation cannot be represented

(cid:86) Jim does not have pneumonia

(cid:97) Disjunction cannot be represented naturally

(cid:86) Jim has Mumps or Rubella

(cid:97) Qualification is not a part of the language

(cid:86) All of Jim’s diseases are infectious

(cid:97) => Thus, procedural attachments are often added

43/43/4545

Biểu diễn tri thức nhờ

ngôn ngữ

nhân tạo

(cid:97) Thực tế, ngôn ngữ tự nhiên :

(cid:86) Là phương cách thuận tiện nhất để giao tiếp với một HCG

(cid:86) Không những đối với người quản trị hệ thống

(tư cách chuyên gia)

(cid:86) Mà còn đối với NSD cuối

(cid:97) Hiện nay đã có những HCG có khả năng đối thoại trên

ngôn ngữ tự nhiên (thông thường là tiếng Anh) nhưng chỉ hạn chế trong một số lĩnh vực chuyên môn

44/44/4545

A Quick Ontological View

45/45/4545