Tải bản đầy đủ (.docx) (31 trang)

Tiểu luận môn biểu diễn tri thức và suy luận Chuẩn đoán bệnh thông thường

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (485.13 KB, 31 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH



Giảng viên hướng dẫn: PGS. TS. Đỗ Văn Nhơn
Học viên: Hà Siu
Mã số học viên: CH1301051
Lớp: Cao học Khóa 8
MỤC LỤC

Lời nói đầu
Chế tạo được những cỗ máy thông minh như con người (thậm chí thông minh hơn con
người) là một ước mơ cháy bỏng của loài người từ hàng ngàn năm nay. Hẳn chúng ta còn
nhớ đến nhà khoa học Alan Turing cùng những đóng góp to lớn của ông trong lĩnh vực trí
tuệ nhân tạo. Năng lực máy tính ngày càng mạnh mẽ là một điều kiện hết sức thuận lợi cho
việc phát triển trí tuệ nhân tạo. Điều này cho phép những chương trình máy tính áp dụng các
thuật giải trí tuệ nhân tạo có khả năng phản ứng nhanh và hiệu quả hơn trước. Sự kiện máy
tính Deep Blue đánh bại kiện tướng cờ vua thế giới Kasparov là một minh chứng hùng hồn
cho một bước tiến dài trong công cuộc nghiên cứu về trí tuệ nhân tạo. Tuy có thể đánh bại
được Kasparov nhưng Deep Blue là một cỗ máy chỉ biết đánh cờ! Nó thậm chí không có
được trí thông minh sơ đẳng của một đứa bé lên ba như nhận diện được những người thân,
khả năng quan sát nhận biết thế giới, tình cảm thương, ghét, Ngành Công nghệ tri thức
hay Trí tuệ nhân tạo đã có những bước tiến đáng kể, nhưng một trí tuệ nhân tạo thực sự vẫn
chỉ có trong những bộ phim khoa học giả tưởng của Hollywood. Vậy thì tại sao chúng ta
vẫn nghiên cứu về trí tuệ nhân tạo? Điều này cũng tương tự như ước mơ chế tạo vàng của
các nhà giả kim thuật thời Trung Cổ, tuy chưa thành công nhưng chính quá trình nghiên cứu
đã làm sáng tỏ nhiều vấn đề.
Nhận thức được hiểu là khả năng quan sát, học hỏi, hiểu biết cũng như những kinh
nghiệm về thế giới xung quanh. Quá trình nhận thức giúp con người có tri thức. Suy luận là
khả năng vận dụng những tri thức sẵn có để phản ứng với những tình huống hay những vấn
đề - bài toán gặp phải trong cuộc sống. Nhận thức và suy luận để từ đó đưa ra những phản


ứng thích hợp là ba hành vi có thể nói là đặc trưng cho trí tuệ của con người. Do đó, cũng
không có gì ngạc nhiên khi muốn tạo ra một chiếc máy tính thông minh, ta cần phải trang bị
cho nó những khả năng này. Cả ba khả năng này đều cần đến một yếu tố cơ bản là tri thức.
Xây dựng trí tuệ nhân tạo là tìm cách biểu diễn tri thức, tìm cách vận dụng tri thức để
giải quyết vấn đề và tìm cách bổ sung tri thức bằng cách "phát hiện" tri thức từ các thông tin
sẵn có (máy học). Trong bài thu hoạch này em xin khái quát sơ lược về các phương pháp
biểu diễn tri thức và trình bày một phương pháp cụ thể để ứng dụng vào một chương trình
Hệ chuyên gia nhỏ.
Hệ chuyên gia, còn gọi là hệ thống dựa tri thức, là một chương trình máy tính chứa một
số tri thức đặc thù của một hoặc nhiều chuyên gia con người về một chủ đề cụ thể nào đó.
Các chương trình thuộc loại này đã được phát triển từ các thập niên 1960 và 1970, và trở
thành ứng dụng thương mại từ thập niên 1980. Dạng phổ biến nhất của hệ chuyên gia là một
chương trình gồm một tập luật phân tích thông tin (thường được cung cấp bởi người sử
dụng hệ thống) về một lớp vấn đề cụ thể, cũng như đưa ra các phân tích về các vấn đề đó, và
tùy theo thiết kế chương trình mà đưa lời khuyên về trình tự các hành động cần thực hiện để
2
giải quyết vấn đề. Đây là một hệ thống sử dụng các khả năng lập luận để đạt tới các kết
luận.
Nhiều hệ chuyên gia đã được thiết kế và xây dựng để phục vụ các lĩnh vực kế toán, y
học, điều khiển tiến trình (process control), dịch vụ tư vấn tài chính (financial service), tài
nguyên con người (human resources),…
Trong những năm gần đây, khái niệm chẩn đoán chữa bệnh từ xa đã được đưa ra. Năm
2012, hàng loạt dự án và hệ thống chẩn đoán bệnh từ xa đã được đưa vào hoạt động tại
Thành phố Hồ Chí Minh bao gồm Bệnh viện Từ Dũ, Bệnh viện Nhi đồng 1 và Bệnh viện
chấn thương chỉnh hình và các bệnh viện yêu cầu được hỗ trợ bao gồm: Bệnh viện Đa khoa
tỉnh Gia Lai, Bệnh viện Đa khoa Nguyễn Đình Chiểu (tỉnh Bến Tre), Bệnh viện Đa khoa
tỉnh An Giang và Bệnh viện Đa khoa khu vực Củ Chi (TP.HCM).
Việc kết hợp chẩn đoán điều trị này sẽ giúp tuyến cơ sở từng bước nâng cao trình độ và
khả năng chuyên môn để xử lý ca bệnh khó, phức tạp, đặc biệt với những ca bệnh mà sự
chuyển viện có thể gây nguy hiểm cho bệnh nhân. Vận hành thành công hệ thống sẽ góp

phần điều trị những ca bệnh khó ngay tại tuyến y tế cơ sở hạn chế được số ca bệnh nặng
chuyển viện lên tuyến trên góp phần giảm chi phí điều trị cho bệnh nhân và giảm tải cho các
bệnh viện tại TP.HCM.
Bài thu hoạch này em xin trình bày ba phần sau đây:
Chương 1: Khái quát về biểu diễn tri thức.
Chương 2: Giới thiệu về Hệ chuyên gia.
Chương 3: Xây dựng Hệ chuyên gia chẩn đoán các bệnh thông thường bằng ngôn
ngữ Prolog.
Với những kiến thức y học hạn chế của em nên mục tiêu của bài thu hoạch này chỉ nhằm
mục đích học tập và tìm hiểu công nghệ tri thức và phương pháp biểu diễn tri thức, mang
tính chất minh họa là chính hoặc trong một giới hạn nào đó có thể dùng cho những cá nhân
gặp phải những bệnh thông thường không nguy hiểm đến tính mạng.
Em xin chân thành cảm ơn PGS. TS. Đỗ Văn Nhơn đã có những bài giảng súc tích và
sâu sắc để tạo cảm hứng cho sự ra đời của bài thu hoạch này.
3
CHƯƠNG 1: KHÁI QUÁT VỀ BIỂU DIỄN TRI THỨC
1.1. Mở đầu
Trí tuệ nhân tạo (hay AI: Artificial Intelligence), là nỗ lực tìm hiểu những yếu tố trí tuệ.
Không giống triết học và tâm lý học, hai khoa học liên quan đến trí tuệ, còn AI cố gắng thiết
lập các yếu tố trí tuệ cũng như tìm biết về chúng. Lý do khác để nghiên cứu AI là để tạo ra
các thực thể thông minh giúp ích cho chúng ta. AI có nhiều sản phẩm quan trọng và đáng
lưu ý, thậm chí ngay từ lúc sản phẩm mới được hình thành. Mặc dù không dự báo được
tương lai, nhưng rõ ràng máy tính điện tử với độ thông minh nhất định đã có ảnh hưởng lớn
tới cuộc sống ngày nay và tương lai phát triển của văn minh nhân loại.
Chế tạo được những cỗ máy thông minh như con người (thậm chí thông minh hơn con
người) là một ước mơ cháy bỏng của loài người từ hàng ngàn năm nay. Năng lực máy tính
ngày càng mạnh mẽ là một điều kiện hết sức thuận lợi cho trí tuệ nhân tạo. Điều này cho
phép những chương trình máy tính áp dụng các thuật giải trí tuệ nhân tạo có khả năng phản
ứng nhanh và hiệu quả hơn trước. Mặc dù mục tiêu tối thượng của ngành Trí tuệ nhân tạo là
xây dựng một chiếc máy có năng lực tư duy tương tự như con người nhưng khả năng hiện

tại của tất cả các sản phẩm Trí tuệ nhân tạo vẫn còn rất khiêm tốn so với mục tiêu đã đề ra.
Tuy vậy, ngành khoa học mới mẻ này vẫn đang tiến bộ mỗi ngày và đang tỏ ra ngày càng
hữu dụng trong một số công việc đòi hỏi trí thông minh của con người.
Xây dựng trí tuệ nhân tạo là tìm cách biểu diễn tri thức, tìm cách vận dụng tri thức để
giải quyết vấn đề và tìm cách bổ sung tri thức bằng cách "phát hiện" tri thức từ các thông tin
sẵn có (máy học).
1.2. Tri thức
Tri thức là kết quả của quá trình nhận thức, học tập và lập luận.
Người ta thường phân loại tri thức ra làm các dạng như sau:
 Tri thức sự kiện: là các khẳng định về một sự kiện, khái niệm nào đó (trong một
phạm vi xác định).
 Tri thức thủ tục: thường dùng để diễn tả phương pháp, các bước cần tiến hành, tính
từ hay ngắn gọn là cách giải quyết một vấn đề. Thuật toán, thuật giải là một dạng của
tri thức thủ tục.
 Tri thức mô tả: cho biết một đối tượng, sự kiện, vấn đề, khái niệm, được thấy, cảm
nhận, cấu tạo như thế nào (một cái bàn thường có 4 chân, con người có 2 tay, 2
mắt, ).
 Tri thức Heuristic: là một dạng tri thức cảm tính. Các tri thức thuộc loại này thường
có dạng ước lượng, phỏng đoán, và thường được hình thành thông qua kinh nghiệm.
1.3. Biểu diễn tri thức
Biểu diễn tri thức là cách thể hiện tri thức trong máy dưới dạng sao cho bài toán có thể
được giải tốt nhất. Biểu diễn tri thức trong máy phải:
+ Thể hiện được tất cả các thông tin cần thiết.
+ Cho phép tri thức mới được suy diễn từ tập các sự kiện và luật suy diễn.
+ Cho phép biểu diễn các nguyên lý tổng quát cũng như các tình huống đặc trưng.
4
+ Bắt lấy được ý nghĩa ngữ nghĩa phức tạp.
+ Cho phép lý giải ở mức tri thức cao hơn.
1.4. Các phương pháp biểu diễn tri thức trên máy tính
Con người sống trong môi trường có thể nhận thức được thế giới nhờ các giác quan (tai,

mắt và các giác quan khác), sử dụng các tri thức tích lũy được và nhờ khả năng lập luận, suy
diễn, con người có thể đưa ra các hành động hợp lý cho công việc mà con người đang làm.
Một mục tiêu của Trí tuệ nhân tạo ứng dụng là thiết kế các Agent thông minh (intelligent
agent) cũng có khả năng đó như con người. Chúng ta có thể hiểu Agent thông minh là bất
cứ cái gì có thể nhận thức được môi trường thông qua các bộ cảm nhận (sensors) và đưa ra
hành động hợp lý đáp ứng lại môi trường thông qua bộ phận hành động (effectors). Các
robots, các softbot (software robot), các hệ chuyên gia, là các ví dụ về Agent thông minh.
Các Agent thông minh cần phải có tri thức về thế giới hiện thực mới có thể đưa ra các quyết
định đúng đắn.
Cơ sở tri thức là một tập hợp các tri thức được biểu diễn dưới dạng nào đó. Mỗi khi nhận
được các thông tin đưa vào, Agent cần có khả năng suy diễn để đưa ra các câu trả lời, đưa ra
các hành động hợp lý. Nhiệm vụ này được thực hiện bởi bộ suy diễn-thành phần cơ bản
khác của các hệ tri thức. Như vậy, hệ tri thức bao hàm một cơ sở tri thức và được trang bị
một thủ tục suy diễn. Mỗi khi tiếp nhận các sự kiện từ môi trường, thủ tục suy diễn thực
hiện quá trình liên kết các sự kiện với các tri thức trong cơ sở tri thức để rút ra các câu trả
lời, hoặc các hành động hợp lý mà Agent cần thực hiện. Khi thiết kế một Agent giải quyết
vấn đề nào đó thì cơ sở tri thức sẽ chứa các tri thức về đối tượng cụ thể đó. Để máy tính có
thể sử dụng, xử lý tri thức, cần biểu diễn tri thức dưới dạng thuận tiện. Đó là mục tiêu của
biểu diễn tri thức.
1.4.1. Logic mệnh đề
Đây có lẽ là kiểu biểu diễn tri thức đơn giản nhất và gần gũi nhất đối với chúng ta.
Mệnh đề là một khẳng định, một phát biểu mà giá trị của nó chỉ có thể hoặc là đúng hoặc là
sai.
Giá trị của mệnh đề không chỉ phụ thuộc vào bản thân mệnh đề đó. Có những mệnh đề
mà giá trị của nó luôn đúng hoặc sai bất chấp thời gian nhưng cũng có những mệnh đề mà
giá trị của nó lại phụ thuộc vào thời gian, không gian và nhiều yếu tố khách quan khác.
Chẳng hạn như mệnh đề : "Con người không thể nhảy cao hơn 5m với chân trần" là đúng
khi ở trái đất , còn ở những hành tinh có lực hấp dẫn yếu thì có thể sai. Ta ký hiệu mệnh đề
bằng những chữ cái Latin như a, b, c,
Có 3 phép nối cơ bản để tạo ra những mệnh đề mới từ những mệnh đề cơ sở là phép hội

(), giao () và phủ định (
¬
).
Bên cạnh các thao tác tính ra giá trị các mệnh đề phức từ giá trị những mệnh đề con,
chúng ta có được một cơ chế suy diễn như sau :
+ Modus Ponens: Nếu mệnh đề A là đúng và mệnh đề A B là đúng thì giá trị của B sẽ
là đúng.
+ Modus Tollens : Nếu mệnh đề A B là đúng và mệnh đề B là sai thì giá trị của A sẽ là
sai.
5
1.4.2. Logic vị từ
Biểu diễn tri thức bằng mệnh đề gặp phải một trở ngại cơ bản là ta không thể can thiệp
vào cấu trúc của một mệnh đề. Hay nói một cách khác là mệnh đề không có cấu trúc . Điều
này làm hạn chế rất nhiều thao tác suy luận. Do đó, người ta đã đưa vào khái niệm vị từ và
lượng từ ( - với mọi, - tồn tại) để tăng cường tính cấu trúc của một mệnh đề.
Trong logic vị từ, một mệnh đề được cấu tạo bởi hai thành phần là các đối tượng tri
thức và mối liên hệ giữa chúng (gọi là vị từ). Các mệnh đề sẽ được biểu diễn dưới dạng:
Vị từ (<đối tượng 1>, <đối tượng 2>, …, <đối tượng n>)
Như vậy để biểu diễn vị của các trái cây, các mệnh đề sẽ được viết thành:
Cam có vị Ngọt Vị (Cam, Ngọt)
Cam có màu Xanh Màu (Cam, Xanh)

Với vị từ, ta có thể biểu diễn các tri thức dưới dạng các mệnh đề tổng quát là những
mệnh đề mà giá trị của nó được xác định thông qua các đối tượng tri thức cấu tạo nên nó.
Chẳng hạn tri thức : "A là bố của B nếu B là anh hoặc em của một người con của A" có
thể được biểu diễn dưới dạng vị từ như sau :
Bố (A, B) = Tồn tại Z sao cho : Bố (A, Z) và (Anh(Z, B) hoặc Anh(B,Z))
Trong trường hợp này, mệnh đề Bố(A,B) là một mệnh đề tổng quát
Như vậy nếu ta có các mệnh đề cơ sở là :
a) Bố ("An", "Bình") có giá trị đúng (An là bố của Bình)

b) Anh("Tú", "Bình") có giá trị đúng (Tú là anh của Bình)
thì mệnh đề c) Bố ("An", "Tú") sẽ có giá trị là đúng. (An là bố của Tú).
Rõ ràng là nếu chỉ sử dụng logic mệnh đề thông thường thì ta sẽ không thể tìm được
một mối liên hệ nào giữa c) và a); b) bằng các phép nối mệnh đề , và
¬
.
Từ đó, ta cũng không thể tính ra được giá trị của mệnh đề c). Sở dĩ như vậy vì ta không
thể thể hiện tường minh tri thức "(A là bố của B) nếu có Z sao cho (A là bố của Z) và (Z anh
hoặc em C)" dưới dạng các mệnh đề thông thường. Chính đặc trưng của vị từ đã cho phép
chúng ta thể hiện được các tri thức dạng tổng quát như trên.
Thêm một số ví dụ nữa để thấy rõ hơn khả năng của vị từ:
Câu cách ngôn "Không có vật gì là lớn nhất và không có vật gì là bé nhất!" có thể được
biểu diễn dưới dạng vị từ như sau:
LớnHơn(x , y) = x > y
NhỏHơn(x , y) = x < y
x, y : LớnHơn(y , x) và x, y : NhỏHơn(y , x)
Câu châm ngôn "Gần mực thì đen, gần đèn thì sáng" được hiểu là "chơi với bạn xấu nào
thì ta cũng sẽ thành người xấu" có thể được biểu diễn bằng vị từ như sau:
NgườiXấu (x) = y : Bạn(x , y) và NgườiXấu(y)
1.4.3. Biểu diễn tri thức sử dụng luật dẫn xuất (luật sinh)
 Khái niệm
Phương pháp biểu diễn tri thức bằng luật sinh được phát minh bởi Newell và Simon
trong lúc hai ông đang cố gắng xây dựng một hệ giải bài toán tổng quát. Đây là một kiểu
biểu diễn tri thức có cấu trúc. Ý tưởng cơ bản là tri thức có thể được cấu trúc bằng một
cặp điều kiện – hành động : "NẾU điều kiện xảy ra THÌ hành động sẽ được thi hành".
6
Ngày nay, các luật sinh đã trở nên phổ biến và được áp dụng rộng rãi trong nhiều hệ
thống trí tuệ nhân tạo khác nhau. Luật sinh có thể là một công cụ mô tả để giải quyết các
vấn đề thực tế thay cho các kiểu phân tích vấn đề truyền thống. Trong trường hợp này, các
luật được dùng như là những chỉ dẫn (tuy có thể không hoàn chỉnh) nhưng rất hữu ích để trợ

giúp cho các quyết định trong quá trình tìm kiếm, từ đó làm giảm không gian tìm kiếm. Một
cách tổng quát luật sinh có dạng như sau:
P1 P2 Pn Q
Tùy vào các vấn đề đang quan tâm mà luật sinh có những ngữ nghĩa hay cấu tạo khác
nhau:
Trong logic vị từ: P1, P2, , Pn, Q là những biểu thức logic.
Trong ngôn ngữ lập trình, mỗi một luật sinh là một câu lệnh.
IF (P1 AND P2 AND AND Pn) THEN Q
Để biễu diễn một tập luật sinh, người ta thường phải chỉ rõ hai thành phần chính sau:
(1) Tập các sự kiện F(Facts)
F = { f1, f2, fn }
(2) Tập các quy tắc R (Rules) áp dụng trên các sự kiện dạng như sau :
f1 ^ f2 ^ ^ fi q
Trong đó, các fi , q đều thuộc F
Cơ chế suy luận trên các luật sinh:
 Suy diễn tiến: là quá trình suy luận xuất phát từ một số sự kiện ban đầu, xác định các
sự kiện có thể được "sinh" ra từ sự kiện này.
 Suy diễn lùi: là quá trình suy luận ngược xuất phát từ một số sự kiện ban đầu, ta tìm
kiếm các sự kiện đã "sinh" ra sự kiện này. Một ví dụ thường gặp trong thực tế là xuất
phát từ các tình trạng của máy tính, chẩn đoán xem máy tính đã bị hỏng hóc ở đâu.
 Ưu điểm và nhược điểm của biểu diễn tri thức bằng luật
 Ưu điểm:
Biểu diễn tri thức bằng luật đặc biệt hữu hiệu trong những tình huống hệ thống cần đưa
ra những hành động dựa vào những sự kiện có thể quan sát được. Nó có những ưu điểm
chính yếu sau đây:
o Các luật rất dễ hiểu nên có thể dễ dàng dùng để trao đổi với người dùng (vì nó là một
trong những dạng tự nhiên của ngôn ngữ).
o Có thể dễ dàng xây dựng được cơ chế suy luận và giải thích từ các luật.
o Việc hiệu chỉnh và bảo trì hệ thống là tương đối dễ dàng.
o Có thể cải tiến dễ dàng để tích hợp các luật mờ.

o Các luật thường ít phụ thuộc vào nhau.
 Nhược điểm:
o Các tri thức phức tạp đôi lúc đòi hỏi quá nhiều (hàng ngàn) luật sinh. Điều này sẽ
làm nảy sinh nhiều vấn đề liên quan đến tốc độ lẫn quản trị hệ thống.
o Thống kê cho thấy, người xây dựng hệ thống trí tuệ nhân tạo thích sử dụng luật sinh
hơn tất cả phương pháp khác (dễ hiểu, dễ cài đặt) nên họ thường tìm mọi cách để
biểu diễn tri thức bằng luật sinh cho dù có phương pháp khác thích hợp hơn! Đây là
nhược điểm mang tính chủ quan của con người.
o Cơ sở tri thức luật sinh lớn sẽ làm giới hạn khả năng tìm kiếm của chương trình điều
khiển. Nhiều hệ thống gặp khó khăn trong việc đánh giá các hệ dựa trên luật sinh
cũng như gặp khó khăn khi suy luận trên luật sinh.
7
1.4.4. Biểu diễn tri thức sử dụng mạng ngữ nghĩa
 Khái niệm
Mạng ngữ nghĩa là một phương pháp biểu diễn tri thức đầu tiên và cũng là phương pháp
dễ hiểu nhất đối với chúng ta. Phương pháp này sẽ biểu diễn tri thức dưới dạng một đồ thị,
trong đó đỉnh là các đối tượng (khái niệm) còn các cung cho biết mối quan hệ giữa các đối
tượng (khái niệm) này.
Chẳng hạn: giữa các khái niệm chích chòe, chim, hót, cánh, tổ có một số mối quan hệ
như sau:
o Chích chòe là một loài chim.
o Chim biết hót.
o Chim có cánh.
o Chim sống trong tổ.
o Các mối quan hệ này sẽ được biểu diễn trực quan bằng một đồ thị như sau:
Do mạng ngữ nghĩa là một loại đồ thị cho nên nó thừa hưởng được tất cả những mặt
mạnh của công cụ này. Nghĩa là ta có thể dùng những thuật toán của đồ thị trên mạng ngữ
nghĩa như thuật toán tìm liên thông, tìm đường đi ngắn nhất,… để thực hiện các cơ chế suy
luận. Điểm đặc biệt của mạng ngữ nghĩa so với đồ thị thông thường chính là việc gán một ý
nghĩa (có, làm, là, biết, ) cho các cung. Trong đồ thị tiêu chuẩn, việc có một cung nối giữa

hai đỉnh chỉ cho biết có sự liên hệ giữa hai đỉnh đó và tất cả các cung trong đồ thị đều biểu
diễn cho cùng một loại liên hệ. Trong mạng ngữ nghĩa, cung nối giữa hai đỉnh còn cho biết
giữa hai khái niệm tương ứng có sự liên hệ như thế nào. Việc gán ngữ nghĩa vào các cung
của đồ thị đã giúp giảm bớt được số lượng đồ thị cần phải dùng để biễu diễn các mối liên hệ
giữa các khái niệm. Chẳng hạn như trong ví dụ trên, nếu sử dụng đồ thị thông thường, ta
phải dùng đến 4 loại đồ thị cho 4 mối liên hệ: một đồ thị để biểu diễn mối liên hệ "là",
một đồ thị cho mối liên hệ "làm", một cho "biết" và một cho "có".
Một điểm khá thú vị của mạng ngữ nghĩa là tính kế thừa. Bởi vì ngay từ trong khái niệm,
mạng ngữ nghĩa đã hàm ý sự phân cấp (như các mối liên hệ "là") nên có nhiều đỉnh trong
mạng mặc nhiên sẽ có những thuộc tính của những đỉnh khác. Chẳng hạn theo mạng ngữ
nghĩa ở trên, ta có thể dễ dàng trả lời "có" cho câu hỏi: "Chích chòe có làm tổ không?". Ta
có thể khẳng định được điều này vì đỉnh "chích chòe" có liên kết "là" với đỉnh "chim"
và đỉnh "chim" lại liên kết "biết" với đỉnh "làm tổ" nên suy ra đỉnh "chích chòe" cũng có
liên kết loại "biết" với đỉnh "làm tổ". (Nếu để ý, chúng ta sẽ nhận ra được kiểu "suy
luận" mà ta vừa thực hiện bắt nguồn từ thuật toán "loang" hay "tìm liên thông" trên đồ thị!).
8
Chính đặc tính kế thừa của mạng ngữ nghĩa đã cho phép ta có thể thực hiện được rất nhiều
phép suy diễn từ những thông tin sẵn có trên mạng.
Tuy mạng ngữ nghĩa là một kiểu biểu diễn trực quan đối với con người nhưng khi đưa
vào máy tính, các đối tượng và mối liên hệ giữa chúng thường được biểu diễn dưới dạng
những phát biểu động từ (như vị từ). Hơn nữa, các thao tác tìm kiếm trên mạng ngữ nghĩa
thường khó khăn (đặc biệt đối với những mạng có kích thước lớn). Do đó, mô hình mạng
ngữ nghĩa được dùng chủ yếu để phân tích vấn đề. Sau đó, nó sẽ được chuyển đổi sang dạng
luật hoặc frame để thi hành hoặc mạng ngữ nghĩa sẽ được dùng kết hợp với một số phương
pháp biểu diễn khác.
 Ưu nhược điểm của mạng ngữ nghĩa
 Ưu điểm:
o Mạng ngữ nghĩa rất linh động, ta có thể dễ dàng thêm vào mạng các đỉnh hoặc
cung mới để bổ sung các tri thức cần thiết.
o Mạng ngữ nghĩa có tính trực quan cao nên rất dễ hiểu.

o Mạng ngữ nghĩa cho phép các đỉnh có thể thừa kế các tính chất từ các đỉnh khác
thông qua các cung loại "là", từ đó, có thể tạo ra các liên kết "ngầm" giữa
những đỉnh không có liên kết trực tiếp với nhau.
o Mạng ngữ nghĩa hoạt động khá tự nhiên theo cách thức con người ghi nhận thông
tin.
 Nhược điểm:
o Cho đến nay, vẫn chưa có một chuẩn nào quy định các giới hạn cho các đỉnh và
cung của mạng. Nghĩa là chúng ta có thể gán ghép bất kỳ khái niệm nào cho đỉnh
hoặc cung!
o Tính thừa kế (là một ưu điểm) trên mạng có thể dẫn đến nguy cơ mâu thuẫn trong
tri thức. Chẳng hạn, nếu bổ sung thêm nút "Gà" vào mạng thì ta có thể kết luận
rằng "Gà" biết "bay"! Sở dĩ có điều này là vì có sự không rõ ràng trong ngữ nghĩa
gán cho một nút của mạng.
Hầu như không thể biểu diễn các tri thức dạng thủ tục bằng mạng ngữ nghĩa vì các khái
niệm về thời gian và trình tự không được thể hiện tường minh trên mạng ngữ nghĩa.
1.4.5. Biểu diễn tri thức bằng khung (frame)
 Khái niệm
Frame là một cấu trúc dữ liệu chứa đựng tất cả những tri thức liên quan đến một đối
tượng cụ thể nào đó. Frames có liên hệ chặt chẽ đến khái niệm hướng đối tượng (thực ra
frame là nguồn gốc của lập trình hướng đối tượng). Ngược lại với các phương pháp biểu
diễn tri thức đã được đề cập đến, frame "đóng gói" toàn bộ một đối tượng, tình huống hoặc
cả một vấn đề phức tạp thành một thực thể duy nhất có cấu trúc. Một frame bao hàm trong
nó một khối lượng tương đối lớn tri thức về một đối tượng, sự kiện, vị trí, tình huống hoặc
những yếu tố khác. Do đó, frame có thể giúp ta mô tả khá chi tiết một đối tượng.
Frame thường được dùng để biểu diễn những tri thức "chuẩn" hoặc những tri thức được
xây dựng dựa trên những kinh nghiệm hoặc các đặc điểm đã được hiểu biết cặn kẽ. Bộ não
của con người chúng ta vẫn luôn "lưu trữ" rất nhiều các tri thức chung mà khi cần, chúng ta
có thể "lấy ra" để vận dụng nó trong những vấn đề cần phải giải quyết. Frame là một công
cụ thích hợp để biểu diễn những kiểu tri thức này.
 Cấu trúc của khung

9
Mỗi một frame mô tả một đối tượng (object). Một frame bao gồm 2 thành phần cơ bản
là slot và facet. Một slot là một thuộc tính đặc tả đối tượng được biểu diễn bởi frame. Ví dụ:
trong frame mô tả xe hơi, có hai slot là trọng lượng và loại máy.
Mỗi slot có thể chứa một hoặc nhiều facet. Các facet (đôi lúc được gọi là slot "con") đặc
tả một số thông tin hoặc thủ tục liên quan đến thuộc tính được mô tả bởi slot. Facet có nhiều
loại khác nhau, sau đây là một số facet thường gặp.
 Value (giá trị): cho biết giá trị của thuộc tính đó (như xanh, đỏ, tím, vàng nếu slot là
màu xe).
 Default (giá trị mặc định): hệ thống sẽ tự động sử dụng giá trị trong facet này nếu slot
là rỗng (nghĩa là không có đặc tả nào). Chẳng hạn trong frame về xe, xét slot về số
lượng bánh. Slot này sẽ có giá trị 4. Nghĩa là, mặc định một chiếc xe hơi sẽ có 4 bánh.
 Range (miền giá trị): (tương tự như kiểu biến), cho biết giá trị slot có thể nhận những
loại giá trị gì (như số nguyên, số thực, chữ cái, )
 If added: mô tả một hành động sẽ được thi hành khi một giá trị trong slot được thêm
vào (hoặc được hiệu chỉnh). Thủ tục thường được viết dưới dạng một script.
 If needed: được sử dụng khi slot không có giá trị nào. Facet mô tả một hàm để tính ra
giá trị của slot.
 Tính kế thừa
Trong thực tế, một hệ thống trí tuệ nhân tạo thường sử dụng nhiều frame được liên kết
với nhau theo một cách nào đó. Một trong những điểm thú vị của frame là tính phân
cấp. Đặc tính này cho phép kế thừa các tính chất giữa các frame.
Hình sau đây cho thấy cấu trúc phân cấp của các loại hình hình học cơ bản. Gốc của cây
ở trên cùng tương ứng với mức độ trừu tượng cao nhất. Các frame nằm ở dưới cùng (không
có frame con nào) gọi là lá. Những frame nằm ở mức thấp hơn có thể thừa kế tất cả những
tính chất của những frame cao hơn.
Các frame cha sẽ cung cấp những mô tả tổng quát về thực thể. Frame có cấp càng cao thì
mức độ tổng quát càng cao. Thông thường, frame cha sẽ bao gồm các định nghĩa của các
thuộc tính. Còn các frame con sẽ chứa đựng giá trị thực sự của các thuộc tính này.
10




  ! 
Bảng
Màu
Hình
Đen
Trắng
Vuông
Chữ nhật
"#$%&
'()
*+,
1.4.6. Biểu diễn tri thức nhờ bộ ba Đối Tượng - Thuộc Tính - Giá Trị
Cơ chế tổ chức nhận thức của con người thường được xây dựng dựa trên các sự kiện
(fact), xem như các đơn vị cơ bản nhất. Một sự kiện là một dạng tri thức khai báo. Nó cung
cấp một số hiểu biết về một biến cố hay một vấn đề nào đó.
Một sự kiện có thể được dùng để xác nhận giá trị của một thuộc tính xác định của một
vài đối tượng. Ví dụ, mệnh đề "quả bóng màu đỏ" xác nhận "đỏ" là giá trị thuộc tính "màu"
của đối tượng "quả bóng". Kiểu sự kiện này được gọi là bộ ba Đối tượng-Thuộc tính-Giá trị
(O-A-V hay Object-Attribute-Value).
Ví dụ:
11
Trong các sự kiện O-A-V, một đối tượng có thể có nhiều thuộc tính với các kiểu giá trị
khác nhau. Hơn nữa một thuộc tính cũng có thể có một hay nhiều giá trị. Chúng được gọi là
các sự kiện đơn trị (single-valued) hoặc đa trị (multi-valued). Điều này cho phép các hệ tri
thức linh động trong việc biểu diễn các tri thức cần thiết.
Các sự kiện không phải lúc nào cũng bảo đảm là đúng hay sai với độ chắc chắn hoàn
toàn. Vì thế khi xem xét các sự kiện người ta còn sử dụng thêm một khái niệm là độ tin cậy.

Phương pháp truyền thống để quản lý thông tin không chắc chắn là sử dụng nhân tố chắc
chắn CF (certainly factor). Khái niệm này bắt đầu từ hệ thống MYCIN (khoảng năm 1975),
dùng để trả lời các thông tin suy luận. Khi đó, trong sự kiện O-A-V sẽ có thêm giá trị xác
định độ tin cậy của nó là CF.
Ngoài ra, còn một số phương pháp biểu diễn tri thức khác như:
o Phương pháp mô tả tri thức bằng kịch bản (Script).
o Phương pháp mô tả tri thức bằng mặt (Face).
o Phương pháp mô tả tri thức bằng bảng đen (Blackboard).
o Phương pháp mô tả tri thức theo thủ tục.
12
-&$./0&
123
4#&&56712!83
9:;
1<=&3
>+
1!8?&3
CHƯƠNG 2: HỆ CHUYÊN GIA
2.1. Hệ chuyên gia
2.1.1. Khái niệm
Hệ chuyên gia, còn gọi là hệ thống hướng tri thức, là một chương trình máy tính chứa
một số tri thức đặc thù của một hoặc nhiều chuyên gia con người về một chủ đề cụ thể nào
đó. Các chương trình thuộc loại này đã được phát triển từ các thập kỷ 1960 và 1970, và trở
thành ứng dụng thương mại từ thập kỷ 1980. Dạng phổ biến nhất của hệ chuyên gia là một
chương trình gồm một tập luật phân tích thông tin (thường được cung cấp bởi người sử
dụng hệ thống) về một lớp vấn đề cụ thể, cũng như đưa ra các phân tích về các vấn đề đó, và
tùy theo thiết kế chương trình mà đưa lời khuyên về trình tự các hành động cần thực hiện để
giải quyết vấn đề. Đây là một hệ thống sử dụng các khả năng lập luận để đạt tới các kết
luận.
Theo E. Feigenbaum : “Hệ chuyên gia (Expert System) là một chương trình máy tính

thông minh sử dụng tri thức (knowledge) và các thủ tục suy luận (inference procedues) để
giải những bài toán tương đối khó khăn đòi hỏi những chuyên gia mới giải được”.
2.1.2. Hoạt động của một hệ chuyên gia
Một hệ chuyên gia bao gồm ba thành phần chính là cơ sở tri thức (knowledge base),
động cơ suy diễn (inference engine), và hệ thống giao tiếp với người sử dụng (user
interface). Cơ sở tri thức chứa các tri thức để từ đó, máy suy diễn tạo ra câu trả lời cho
người sử dụng thông qua hệ thống giao tiếp.
Người sử dụng cung cấp sự kiện (fact) là những gì đã biết, đã có thật hay những thông
tin có ích cho hệ chuyên gia, và nhận được những câu trả lời là những lời khuyên hay những
gợi ý đúng đắn (expertise).
Hoạt động của hệ chuyên gia dựa trên tri thức được minh họa như sau:
Mỗi hệ chuyên gia chỉ đặc trưng cho một lĩnh vực vấn đề (problem domain) nào đó, như
y học, tài chính, khoa học hay công nghệ… mà không phải cho bất cứ một lĩnh vực vấn đề
nào.
Tri thức chuyên gia để giải quyết một vấn đề đặc trưng được gọi là lĩnh vực tri thức.
13
  !"#$%"&'()$
@ABCDE
1FG3
@AB
1<=&G3
2.1.3. Kiến trúc của hệ chuyên gia
Những thành phần cơ bản của một hệ chuyên gia:
14
 *&$%)+$,-./".0 1.2,-./"3)4"
9:;H
9+
(I4
>+
@,&4

<JK&&JH <JK&

*4&$./0&
- Cơ sở tri thức (Knowledge base): Gồm các phần tử (hay đơn vị) tri thức thông
thường được gọi là luật (Rule), được tổ chức như một cơ sở dữ liệu.
- Động cơ suy diễn (Inference Egine): Công cụ (chương trình, hay bộ xử lý) tạo ra sự
suy luận bằng cách sẽ quyết định xem những luật nào sẽ làm thỏa mãn các sự kiện,
các đối tượng, chọn ưu tiên các luật có tính ưu tiên cao nhất.
- Lịch công việc (agenda): Danh sách các luật ưu tiên do máy suy diễn tạo ra thỏa
mãn các sự kiện, các đối tượng có mặt trong bộ nhớ làm việc.
- Bộ nhớ làm việc (working memory): Cơ sở dữ liệu toàn cục chứa các sự kiện phục
vụ cho các luật.
- Khả năng giải thích (explaination facility): Giải nghĩa cách lập luận của hệ thống
cho người sử dụng.
- Khả năng thu nhận tri thức (explaination facility): Cho phép người sử dụng bổ sung
các tri thức vào hệ thống một cách tự động. Khả năng thu nhận tri thức là yếu tố mặc
nhiên của nhiều hệ chuyên gia.
- Giao diện người sử dụng (User interface). Là nơi người sử dụng và hệ chuyên gia
trao đổi với nhau.
Cơ sở tri thức còn được gọi là bộ nhớ sản xuất (production memory) trong hệ chuyên
gia. Trong một cơ sở tri thức, người ta thường phân biệt hai loại tri thức là tri thức phán
đoán (assertion knowledge) và tri thức thực hành (operating knowledge).
Các tri thức phán đoán mô tả các tình huống đã được thiết lập hoặc sẽ được thiết lập.
Các tri thức thực hành thể hiện những hậu quả rút ra hay những thao tác cần phải hoàn thiện
khi một tình huống đã được thiết lập hoặc sẽ được thiết lập trong lĩnh vực đang xét. Các tri
thức thực hành thường được thể hiện bởi các biểu thức để dễ hiểu và dễ triển khai thao tác
đối với người sử dụng.
15
 +256"789"#$:!%"&'()$
>+


9:;
'7+D+
'B
Từ việc phân biệt hai loại tri thức, người ta nói máy suy diễn là công cụ triển khai các cơ
chế (hay kỹ thuật) tổng quát để tổ hợp các tri thức phán đoán và các tri thức thực hành.
2.1.4. Biểu diễn tri thức trong hệ chuyên gia
Có rất nhiều phương pháp biểu diễn tri thức trong máy
- Dùng luật sản xuất, hệ chuyên gia dựa trên các luật.
- Mạng ngữ nghĩa.
- Ngôn ngữ nhân tạo.
- Bộ OAV(Object Attributes Values).
- Khung (Frame).
2.1.5. Thuật toán tổng quát để thiết kế một hệ chuyên gia
Begin
Chọn bài toán thích hợp
Phát biểu và đặc tả bài toán
If Expert System (ES) giải quyết thỏa mãn bài toán và có thể sử dụng Then
While Bản mẫu chưa được phát triển hoàn thiện Do
Begin
Thiết kế bản mẫu
Biểu diễn tri thức
Tiếp nhận tri thức
Phát triển hoàn thiện bản mẫu
End
Hợp thức hóa bản mẫu
Triển khai cài đặt
Hướng dẫn sử dụng
Vận hành
Bảo trì và phát triển

Else
Tìm cách tiếp cận khác thích hợp hơn
Endif
Kết thúc
End
2.1.6. Các loại Hệ chuyên gia
Có 2 dạng hệ chuyên gia thường dùng đó là hệ chuyên gia dựa trên luật và lập luận trên
tình huống.
 Hệ chuyên gia dựa trên luật
16
 *&$%)+$:';&'<)=.2"7;>3)4"
ES dựa trên luật biểu diễn tri thức dưới dạng các luật if… then. Cách tiếp cận này thích
hợp với kiến trúc ở hình 13, và là một trong những kỹ thuật cổ điển và được sử dụng rộng
rãi nhất dùng cho biểu diễn tri thức về một lĩnh vực trong ES.
 ?@)A3B""#$:!%"&'()$C(&8)D&
Nếu chúng ta xem kiến trúc ES ở hình 13 như một hệ sinh thì cơ sở tri thức là tập hợp
các luật sinh (if… then). Dữ liệu cho trường hợp cụ thể được giữ trong bộ nhớ làm việc.
Động cơ suy diễn thực hiện chu trình nhận dạng – hành động (recognize-act) của hệ sinh.
Cơ chế điều khiển này có thể là hướng từ dữ liệu hay hướng từ mục tiêu.
Đối với một ES, thì tiếp cận hướng từ mục tiêu sẽ tạo điều kiện cho quá trình giải thích
hơn. Vì trong một hệ hướng từ mục tiêu, việc suy luận theo đuổi một mục tiêu cụ thể nào
đó, mục tiêu đó bị chia thành nhiều mục tiêu con và cứ như thế. Kết quả là việc tìm kiếm
luôn luôn được hướng dẫn thông qua sự phân cấp mục tiêu và mục tiêu con này. Trong khi
ở tìm kiếm hướng từ dữ liệu không tồn tại điều này, kết quả là quá trình tìm kiếm thường có
vẻ dài dòng và không tập trung.
Để có một ví dụ cụ thể hơn về giải quyết vấn đề theo hướng từ mục tiêu, ta xét một ES
nhỏ dùng để chẩn đoán những trục trặc trong xe hơi, gọi tắt là ES “Chẩn đoán xe hơi”:
@L !MD(&:D$%NK&O-GD(&:P;D(&D$%
'?-0Q&
@R !MD(&:P&P;D(&D$%O-GDSP&+&

'?-0QTUQV+7
@W !MD(&:P&P;D(&D$%O-GDS+&
'?-0Q:P;D(&
@X !MYNK&&Z[4O-GYNK&&(6YPH
'?-D(&:D$%NK&
Trong chế độ điều khiển hướng từ mục tiêu, đầu tiên mục tiêu cao nhất là “trục trặc là do
X” sẽ được đưa vào bộ nhớ làm việc như hình 14:
17
 E%;))F) )D:8$ 6&"#$:!,6"G 
Có 3 luật đối sánh (match) với biểu thức này trong bộ nhớ làm việc: luật 1, 2 và 3. Nếu
ta chọn luật ưu tiên theo số thứ tự của nó, thì luật 1 sẽ được thực hiện, khi đó X sẽ được gắn
kết (bound) với giá trị bugi và những tiền đề (vế trái) của luật 1 được đặt vào bộ nhớ làm
việc như hình 15.
 H%;);$&I),&J KL"/")%
Để chứng minh mục tiêu con là động cơ nhận được xăng thì luật 4 được thực hiện , và
những tiền đề của luật này được đặt vào bộ nhớ làm việc như hình 16.
 M%;);$&I)/")%,&J
Tại thời điểm này, có ba mục trong bộ nhớ làm việc (các mục in nghiêng trong hình 16)
là không đối sánh với bất kỳ kết luận của luật nào. Trong tình huống này, ES sẽ truy vấn
trực tiếp người dùng về những mục tiêu mới này. Nếu người dùng xác nhận cả ba mục tiêu
này đều đúng, thì ES sẽ xác định một cách thành công rằng trục trặc xe là do bugi. Trong
quá trình tìm ra lời giải này, hệ thống đã kiểm tra nhánh trái nhất của đồ thị Và/Hoặc trong
hình 17.
18
 NOPQ2RS" KL"T:I)A:3.U<V"G WXYY
i. Ưu điểm của ES dựa trên luật
- Khả năng sử dụng trực tiếp các tri thức thực nghiệm của các chuyên gia.
- Tính module của luật làm cho việc xây dựng và bảo trì luật dễ dàng.
- Có thể thực hiện tốt trong các lĩnh vực hạn hẹp.
- Có tiện ích giải thích tốt.

- Các luật ánh xạ một cách tự nhiên vào không gian tìm kiếm trạng thái.
- Dễ dàng theo dõi một chuỗi các luật và sửa lỗi.
- Sự tách biệt giữa tri thức và điều khiển giúp đơn giản hóa quá trình phát triển
ES.
ii. Hạn chế của ES dựa trên luật
- Các luật đạt được từ các chuyên gia mang tính heuristic rất cao. Chẳng hạn
như trong lĩnh vực y học, luật “If sốt-cao Then bị-nhiễm-trùng” là sự kết hợp trực
tiếp các triệu chứng quan sát được và các chẩn đoán, mà không thể hiện sự hiểu biết
lý thuyết sâu hơn về lĩnh vực chuyên ngành (như cơ chế phản ứng của cơ thể để
chống lại vi trùng chẳng hạn), hoặc luật “If sốt-cao Then cho-uống-Aspirin” cũng
không thể hiện tri thức về giải quyết vấn đề tức là quá trình chữa bệnh như thế nào.
- Các luật heuristic “dễ vỡ”, không thể xử lý các trường hợp ngoài dự kiến. Vì
các luật được tạo ra từ kinh nghiệm của các chuyên gia trên những tình huống đã
biết, nên khi gặp phải một tình huống mới không đúng với các kinh nghiệm đó, thì
các luật này không giải quyết được.
- Có khả năng giải thích chứ không chứng minh. ES dựa trên luật chỉ có thể
giải thích rằng kết luận này là do suy luận từ các luật như thế nào, chứ không chứng
minh được kết luận đó là đúng.
19
- Các tri thức thường rất phụ thuộc vào công việc. Quá trình thu thập tri thức
rất phức tạp và khó khăn, tri thức có được không thể sử dụng lại cho một công việc
khác.
- Khó bảo trì các cơ sở luật lớn.
 Hệ chuyên gia dựa trên tình huống (case–based reasoning - CBR)
Các luật heuristic và mô hình lý thuyết là hai kiểu thông tin mà các chuyên gia người sử
dụng để giải quyết vấn đề. Một chiến lược mạnh khác mà các chuyên gia sử dụng là lập luận
từ những tình huống, là những ví dụ về các bài toán trong quá khứ và lời giải của chúng.
Ví dụ 1: Một luật sư sẽ chọn những tình huống luật đã xảy ra trong quá khứ tương tự với
tình huống của thân chủ của anh ta và gợi ý cho anh ta một phương pháp thuyết phục tòa
hợp lý để bênh vực cho thân chủ.

Ví dụ 2: Các nhà lập trình máy tính sử dụng lại mã của họ, khi sửa chữa một chương
trình cũ để thích nghi với tình huống mới có cấu trúc tương tự.
Ví dụ 3: Các kiến trúc sư sử dụng kiến thức của họ về những tòa nhà tốt và được ưa
thích trong quá khứ để thiết kế những tòa nhà mới mà người ta cảm thấy vừa ý và thuận
tiện…
Tóm lại, lập luận từ những tình huống đã có là khả năng có tính chất nền tảng của trí
thông minh con người. Và lập luận dựa trên tình huống cũng phát triển theo tiếp cận đó.
Hệ chuyên gia dựa trên tình huống sử dụng một cơ sở dữ liệu riêng biệt chứa giải pháp
của các tình huống đã giải quyết để dựa vào đó tìm kiếm giải pháp cho một tình huống mới.
Các tình huống thường được lưu lại như là một tập hợp các luật tình huống – hành động
(situation – action). Các sự kiện mô tả tình huống của luật là những đặc điểm nổi bật của
tình huống được ghi nhận.
Khi giải quyết một vấn đề, một CBR phải:
- Truy vấn các tình huống thích hợp từ bộ nhớ (hay cơ sở dữ liệu) của nó, dựa
vào sự tương tự của một số đặc điểm nổi bật.
- Sửa đổi tình huống đó để có thể áp dụng trong tình huống hiện tại.
- Áp dụng tình huống đã chuyển đổi vào bài toán mới.
- Lưu lại lời giải và kết quả của nó (thành công hay thất bại).
i. Ưu điểm của ES dựa trên tình huống
- Đơn giản hóa việc tích lũy tri thức từ các chuyên gia với việc lưu trữ một
cách trực tiếp các tri thức có được, đó là những lời giải của chuyên gia cho hàng loạt
các bài toán.
- Bằng cách tìm giải pháp của một tình huống tương tự đã có để đưa ra lời giải
cho phép rút ngắn thời gian suy luận của hệ thống. Tuy nhiên, điều này cần phải xem
xét lại nếu hệ thống có một cơ sở dữ liệu tình huống rất lớn.
- Thao tác lưu lại lời giải và kết quả của nó tạo khả năng tự học cho hệ thống:
giúp hệ thống tránh lỗi cũ và tận dụng những thành công trong quá khứ.
- Việc phân tích tri thức của lĩnh vực chỉ diễn ra một lần, đó là khi tìm kiếm
một sự biểu diễn hợp lý cho các tình huống, hay quá trình chọn các đặc điểm nổi bật
(salient features) của các tình huống để có thể so sánh và đưa ra kết luận về tính

tương đương của hai tình huống nào đó. Đây cũng là khó khăn lớn nhất của tiếp cận
này. Vì nếu ta chọn các đặc điểm nổi bật dùng để so sánh hai tình huống không phù
20
hợp, thì kết luận của ta về tính tương đương của hai tình huống có thể sẽ không chính
xác, và khi tình huống chọn ra không đúng sẽ không cho ra một lời giải thích hợp.
- Việc tích lũy tri thức và lập trình là tương đối đơn giản.
- Các chiến lược sắp xếp (index) thích hợp làm tăng sức mạnh của phương
pháp này.
ii. Hạn chế của ES dựa trên tình huống
- Các tình huống không thể hiện tri thức sâu về lĩnh vực bài toán, do đó khó
giải thích tại sao đưa ra lời giải như vậy, hoặc có thể đưa ra lời giải sai hoặc không
tốt.
- Một cơ sở chứa các tình huống lớn phải xem xét sự tương xứng giữa tính toán
và lưu trữ. Vì khi cơ sở dữ liệu lớn lên, thời gian cần để lấy ra một tình huống thích
hợp cũng lớn lên. Cuối cùng thì chi phí cho việc tìm kiếm một tình huống sẽ lớn hơn
thời gian cần thiết để rút ra một lời giải bằng cách suy luận từ các luật hoặc từ mô
hình (hai tiếp cận trước).
Khó đưa ra tiêu chuẩn đánh giá sự tương tự của các tình huống, và sắp xếp chúng.
21
2.2. Kết luận
Hệ chuyên gia là một chương trình ứng dụng khai thác cơ sở tri thức thu nạp từ
nguồn tri thức chuyên môn dựa trên việc sử dụng cơ chế suy diễn để giải quyết các bài
toán tư vấn khó đạt trình độ cỡ như một chuyên gia lâu năm lành nghề.
Hiện nay hệ chuyên gia được ứng dụng trong nhiều lĩnh vực khác nhau như công
nghiệp, nông nghiệp, khoa học máy tính, thương mại, khí tượng, y học, quân sự, hóa
học… Đặc biệt trong giai đoạn gần đây việc ứng dụng hệ chuyên gia vào lĩnh vực
giáo dục đào tạo đang được phát triển mạnh mẽ.
22
CHƯƠNG 3: XÂY DỰNG HỆ CHUYÊN GIA
CHẨN ĐOÁN CÁC BỆNH THÔNG THƯỜNG

BẰNG NGÔN NGỮ PROLOG
3.1. Giới thiệu đề tài
3.1.1. Tên đề tài
Xây dựng hệ chuyên gia chẩn đoán các bệnh thường gặp từ các triệu chứng và
hướng dẫn sử dụng các loại thuốc đặc trị.
3.1.2. Mục đích đề tài
Nhằm giúp cho mọi người có thể đoán được các bệnh từ các triệu chứng thường
gặp trong cuộc sống hằng ngày, từ đó có các biện pháp điều trị hợp lý và tránh các rủi
ro có thể mắc phải khi không chủ động phòng ngừa.
3.1.3. Phát biểu bài toán
Bài toán là một hệ chuyên gia được xây dựng nhằm đoán một số bệnh thông
thường mà mọi người thường gặp trong cuộc sống. Với mong muốn một phần nào đó
có thể tư vấn cho người sử dụng hệ thống biết bệnh mình đang mắc phải, một số thuốc
thông thường có thể sử dụng, chương trình có thể đưa ra tên bệnh và các loại thuốc
tương ứng với bệnh đó. Người sử dụng chỉ cần trả lời đúng hoặc sai các câu hỏi về
triệu chứng của hệ thống và từ đó hệ thống sẽ đưa ra tên bệnh và một số loại thuốc cụ
thể.
Ví dụ: người sử dụng hệ thống sẽ nhận được câu trả lời là bị cảm nếu tất cả các
triệu chứng sau: nhức đầu, ho, sổ mũi, nóng sốt, đều được trả lời đúng.
Để làm được các yêu cầu trên thì hệ thống cần có một cơ sở tri thức về các triệu
chứng, các bệnh, các loại thuốc thông thường. Trong chương trình này thì chỉ có thể
đoán được 7 bệnh được cho là thông thường nhất mà mọi người hay gặp. Tương ứng
với các bệnh đó thì có các triệu chứng và loại thuốc điều trị tương ứng.
Sau đây là những dữ kiện về triệu chứng của các bệnh và thuốc điều trị tương ứng:
 Phát biểu về các bệnh
(1) Một người bị bệnh cảm khi có các triệu chứng của bệnh cảm và các triệu chứng
đó là: ho, nhức đầu, nóng sốt, sổ mũi.
(2) Một người bị viêm phế quản khi có các triệu chứng của bệnh viêm phế quản và
các triệu chứng đó là: kéo dài, có đàm, gầy sút.
(3) Một người bị viêm phổi khi có các triệu chứng của bệnh viêm phổi và các triệu

chứng đó là: thở nhanh, ho, có đàm, đàm có máu.
(4) Một người bị viêm mũi có các triệu chứng của bệnh viêm mũi và các triệu
chứng đó là: hắt hơi, ngạt mũi, ngứa mũi, nhức đầu.
23
\7
'29\>2! '29--*\'
\>2! -29GO2  --*\'
'29-29GO2 '29
-7N
O7
]
7
FN
?&
F
F
(5) Một người bị đau răng có các triệu chứng của bệnh đau răng và các triệu chứng
đó là: răng đau, nóng sốt.
(6) Một người bị viêm lợi có các triệu chứng của bệnh viêm lợi và các triệu chứng
đó là: lợi sưng, nóng sốt.
(7) Một người bị đau bụng có các triệu chứng của bệnh đau bụng và các triệu
chứng đó là: bụng đau, tiêu chảy.
 Phát biểu các loại thuốc để điều trị các triệu chứng tương ứng
(1) Thuốc Naproxen, Aspirin, Ergotamin điều trị triệu chứng nhức đầu.
(2) Thuốc Xiro ho, Bổ phế điều trị triệu chứng ho.
(3) Thuốc Meclizin, Diazepam điều trị triệu chứng chóng mặt.
(4) Thuốc Telphilin, Ephendrin điều trị triệu chứng thở nhanh.
(5) Thuốc Xiro ho, Codien, Aspirin điều trị triệu chứng ho kéo dài.
(6) Thuốc Phenergan, Pismanal điều trị triệu chứng hắt hơi.
(7) Thuốc kháng sinh như: Penixilin hoặc Sunphamit điều trị triệu chứng viêm

nhiễm.
(8) Thuốc hạ sốt như: Penixilin hoặc Sunphamit điều trị triệu chứng nóng sốt.
(9) Các loại thuốc giảm đau điều trị các chứng đau.
Có thể biểu diễn các mối quan hệ của các triệu chứng và thuốc của bệnh cảm như
sau:
24
 Z'8)D&P:[)\&$%""3)%&"4"9:
3.2. Phân tích và thiết kế
3.2.1. Xây dựng các vị từ
]9 ^$;""".P_
STT Vị từ Giải thích
1 TC_CAM(X) X là các triệu chứng của bệnh cảm
2 TC_BENH(X,Y) X là các triệu chứng của bệnh Y
3 TC_VPQ(X)
X là các triệu chứng của bệnh viêm phế
quản
4 TC_VIEMPHOI(X) X là các triệu chứng của bệnh viêm phổi
5 TC_VIEMMUI(X) X là các triệu chứng của bệnh viêm mũi
6 TC_DAURANG(X) X là các triệu chứng của bệnh đau răng
7 TC_VIEMLOI(X) X là các triệu chứng của bệnh viêm lợi
8 TC_DAUBUNG(X) X là các triệu chứng của bệnh đau bụng
9 THUOC_HO(X) X là thuốc trị triệu chứng ho
10 THUOC_KHANGSINH(X) X là các loại thuốc kháng sinh
11 THUOC_GIAMDAU(X) X là các loại thuốc giảm đau
12 THUOC_HASOT(X) X là các loại thuốc hạ sốt
13 THUOC_TIEUCHAY(X) X là các loại thuốc trị chứng tiêu chảy
14 THUOC_BO(X) X là các loại thuốc bổ
15 DIEUTRI(X,Y) Bệnh X điều trị thuốc Y
16 VIEM(X) X là các triệu chứng viêm nhiễm
17 DAU(X) X là các triệu chứng đau

18 THUOC_HATHOI(X) X là các loại thuốc trị chứng hắt hơi
19 THUOC_THONHANH X là các loại trị các chứng thở nhanh.
3.2.2. Xây dựng các logic vị từ về bệnh
(1) Bệnh cảm khi có biểu hiện của triệu chứng cảm.

X TC_CAM(X)

TC_BENH(X, cam)
(2) Bệnh viêm phế quản khi có biểu hiện của triệu chứng viêm phế quản.

X TC_VPQ(X)

TC_BENH(X, viemphequan)
(3) Bệnh viêm phổi khi có biểu hiện của triệu chứng viêm phổi.

X TC_VIEMPHOI(X)

TC_BENH(X, viemphoi)
(4) Bệnh viêm mũi khi có biểu hiện của triệu chứng viêm mũi.
25

×