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à
gì
(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à
gì
(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
Cú
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 < .. .. ..
.. .. .. THEN
THEN antecedent nn>>
< Ví 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 Một số ví 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 Dự đoán : Xe đã bị
Xử
của xe HCG MYCIN Ví 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ó 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 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» 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) → dùng lôgic vị 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) 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 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 (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 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 Mở rộng một mạng ngữ nghĩa cánh có là đẻ là trứng sẻ động
vật loài
chim biết là bay biết lặn cánh
cụt 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 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 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 (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 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 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 Ví dụ : OAV Object Attribute Value 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 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 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) 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 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 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 Frame Architecture Frame Name: Class: Object 1 Object 2 Properties: Property 1 Value 1 Property 2 Value 2 … … … … 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 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 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 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 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 (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 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 [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 [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 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 A Quick Ontological View10/10/4545
11/11/4545
12/12/4545
13/13/4545
14/14/4545
Vị
từ
Phát biểu
15/15/4545
16/16/4545
17/17/4545
18/18/4545
Example:
19/19/4545
20/20/4545
21/21/4545
22/22/4545
23/23/4545
24/24/4545
Bài tập tại lớp
25/25/4545
26/26/4545
27/27/4545
Table
Object
28/28/4545
29/29/4545
30/30/4545
31/31/4545
32/32/4545
33/33/4545
34/34/4545
35/35/4545
36/36/4545
37/37/4545
38/38/4545
39/39/4545
Frames and procedures
40/40/4545
41/41/4545
42/42/4545
43/43/4545
44/44/4545
45/45/4545