TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
Môn: HỆ CHUYÊN GIA
Đề tài: Xây dựng hệ chuyên gia chẩn đoán và điều trị một số bệnh
thường gặp ở trẻ em
Sinh viên thực hiện:
1. Lê Đình Hùng
2. Đỗ Văn Anh
3. Nguyễn Thị Hương
Giảng viên hướng dẫn:
1
ThS: Lê Thị Thủy
Hà Nội, tháng 6 năm 2016
2
LỜI MỞ ĐẦU
Hệ chuyên gia là một trong những lĩnh vực của trí tuệ nhân tạo được nghiên cứu và
phát triển từ giữa thập niên 60, góp phần tạo ra các hệ thống có khả năng trí tuệ của con
người, giải quyết các vấn đề dựa trên một tập luật phân tích thông tin và đư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 đề.
Nhiều hệ chuyên gia đã được thiết kế và xây dựng để phục vụ trong nhiều lĩnh vực y
học, kế toán, đ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 đó y khoa là một trong những
lĩnh vực được áp dụng đầu tiên, cung cấp các công cụ hữu hiệu cho những áp dụng chẩn
đoán bệnh, với mục đích trợ giúp các bác sĩ trong việc chẩn đoán và điều trị bệnh.
gia ,hệ thống dựa trên tri thức (knowledge-based system) hay hệ chuyên gia dựa trên
tri thức (knowledge-based expert system) thường có cùng nghĩa.
Một hệ chuyên gia bao gồm ba thành phần chính là cơ sở tri thức (knowledge
based), máy suy diễn hay mô tơ 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ử dung(user) cung cấp các sự kiện (facts) 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 một hệ chuyên gia dựa trên tri thức được minh họa như sau:
Hình 1.2. Hoạt động của hệ chuyên gia
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ệ,vv…,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(knowledge domain).
5
Hình 1.3. Quan hệ giữa lĩnh vực vấn đề và lĩnh vực tri thức.
Ví dụ: hệ chuyên gia về lĩnh vực y học để phát hiện các căn bệnh lây nhiễm sẽ có
nhiều tri thức về một số triệu chứng lây bệnh ,lĩnh vực tri thức y học bao gồm các căn
bệnh ,triệu chứng và chữa trị.
Chú ý rằng lĩnh vực tri thức hoàn toàn nằm trong lĩnh vực vấn đề .Phần bên ngoài
lĩnh vực tri thức nói lên rằng không phải là tri thức cho mọi vấn đề.
Tùy theo yêu cầu của người sử dụng mà có nhiều cách nhìn nhận khác nhau về
một hệ chuyên gia.
Loại người sử dụng
là một hệ thống thời gian thực(real time system ).
• Độ tin cậy cao ( good reliability). Không thể xảy ra sự cố hoặc giảm sút độ tin cậy
khi sử dụng .
• Dễ hiểu (understandable).Hệ chuyên gia giải thích các bước suy luận một cách dễ
hiểu và nhất quán ,không giống như cách trả lời bí ẩn của các hộp đen(black box).
Những ưu điểm của hệ chuyên gia:
• Phổ cập(increased availability). Là sản phẩm chuyên gia ,được phát triển không
ngừng với hiệu quả sử dụng là không phủ nhận.
• Giảm giá thành(reduced cost).
• Giảm rủi ro (reduced dangers).Giúp con người tránh được trong các môi trường
rủi ro nguy hiểm.
• Tính thường trực (permanance). Bất kể lúc nào cũng có thể khai thác sử dụng,
trong khi con người có thể mệt mỏi ,nghỉ ngơi hay vắng mặt.
• Đa lĩnh vực ( multiple expertise ).Chuyên gia về nhiều lĩnh vực khác nhau và được
khai thác đồng thời bất kể thời gian sử dụng.
• Độ tin cậy ( increased relialility).Luôn đảm bảo độ tin cậy khi khai thác.
• Khả năng giảng giải (explanation ).Câu trả lời và mức độ tinh thông được giảng
giải rõ ràng,chi tiết ,dễ hiểu.
• Khả năng trả lời (fast reponse).Trả lời theo thời gian thực,khách quan.
• Tính ổn định,suy luận có lý và đầy đủ mọi lúc mọi nơi (steady, une motional, and
complete response at all times).
• Trợ giúp thông minh như một người hướng dẫn (intelligent – tutor).
• Có thể truy cập như một cơ sở dữ liêu thông minh (intelligent database ).
Sau đây là một số sự kiện quan trọng trong lịch sự phát triển của công nghệ hệ chuyên
gia (expert system technology).
Năm
Các sự kiện
1943
Dịch vụ bưu điện, mô hình neural của Mc Culloch and Pitts Model
1982
1983
1985
về các đối tượng mờ (fuzzy object) của Zadeh.Xây dựng hệ chuyên gia đầu tiên
về nha khoa DENDRAL (Feigenbaum,Buchanan,et.al)
Mạng ngữ nghĩa (semantic nets), mô hình bộ nhớ kết hợp (asociative memory
model) của Quillian
Hệ chuyên gia về toán học MACSYMA (Martin and Moses)
Ứng dụng ngôn ngữ PROLOG(Colmerauser,Roussell,et,al.)
Hệ chuyên gia HEARSAY I về nhận dạng tiếng nói (speech recognition). Xây
dựng các luật giải bài toán con người (Human Problem Solving ppularizes rules
(Newell abd Simon)
Hệ chuyên gia MYCIN về chuẩn trị y học (Shortli ffe,et,al.)
Lý thuyết khung (frames),biểu diễn tri thức (knowledge reresentation ) (Mínky)
Toán nhân tạo (AM: Artificial Mathematician) (Lenat).Lý thuyết DempsterShafer về tính hiển nhiên của lập luận không chắc chắn (Dempster-Shafer theory
of
Evidence for reason ubder uncertainty).Ứng dụng hệ chuyên gia
PROSPECTOR trong khai thác hầm mỏ (Duda,Har)
Sử dụng ngôn ngữ chuyên gia OPS( OPS expert system shell ) trong hệ chuyên
gia XCON/R1 (Forgy)
Hệ chuyên gia XCON/R1 (McDermott ,DEC) để bảo trì hệ thống máy tính DEC
(DEC computer systems)
Thuật toán mạng về so khớp nhanh (rete algorithm for fast pattern matching) của
Forgy; thương mại hóa các ứng dụng về trí tuệ nhân tạo
Ký hiệu học (symbolics), Xây dựng các máy LISP (LISP machines) từ LMI.
Hệ chuyên gia về toán học (SMP math system ) ; mạng nơ-ron Hopfield
(Hopfield neural net ); dự án xây dựng máy tính thông minh thế hệ 5 tại nhật bản
(Japanese Fifth Generation Project to develop intelligent computers)
Bộ công cụ phục vụ hệ chuyên gia KEE (KEE expert system tool ) (intrlli Corp )
Dạy học kiểu thông minh sao cho sinh
viên có thể hỏi vì sao (why?), như thế nào
(how?) và cái gì nếu (what if?) giống như
hỏi một người thầy giáo
Giải thích những dữ liệu thu nhận
được
So sánh dữ liệu thu lượm được với dữ liệu
chuyên môn để đánh giá hiệu quả
Lập kế hoạch sản xuất theo yêu cầu
Dự đoán hậu quả từ một tình huống xảy ra
Chỉ định cách thụ lý một vấn đề
Điều khiển một quá trình, đòi hỏi diễn
giải, chẩn đoán, kiểm tra,lập kế hoạch, dự
đoán và chữa trị
9
Sau đây là một số hệ chuyên gia :
10
1.1.2 Cấu trúc hệ chuyên gia
Hệ chuyên gia làm việc như một chuyên gia thực thụ và có thể cung cấp các ý kiến tư
vấn hỏng hóc dựa trên kinh nghiệm của chuyên gia đã được đưa vào hệ chuyên gia. Hệ
chuyên gia có các thành phần cơ bản sau:
(1) Bộ giao tiếp ngôn ngữ tự nhiên
(2) Động cơ suy diển
•
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.
12
1.2.2Các loại tri thức
Dựa vào cách thức con người giải quyết vấn đề, các nhà nghiên cứu đã xây dựng các
kỹ thuật để biểu diễn các dạng tri thức khác nhau trên máy tính. Để giải quyết vấn đề,
chúng ta chỉ chọn dạng biễu diễn nào thích hợp nhất. Sau đây là các dạng biểu diễn tri
thức thường gặp.
•
Tri thức thủ tục mô tả cách thức giải quyết một vấn đề. Loại tri thức này đưa ra
giải pháp để thực hiện một công việc nào đó. Các dạng tri thức thủ tục tiêu biểu
thường là các luật, chiến lược, lịch trình, và thủ tục.
•
Tri thức khai báo cho biết một vấn đề được thấy như thế nào. Loại tri thức này
bao gồm các phát biểu đơn giản, dưới dạng các khẳng định logic đúng hoặc sai.
Tri thức khai báo cũng có thề là một danh sách các khẳng định nhằm mô tả đầy đủ
hơn về đối tượng hay một khái niệm khái niệm nào đó.
•
tính đã mở mà không khởi động được THÌ kiểm tra nguồn điện, v.v…
Một cách tổng quát luật dẫn 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 dẫn, người ta 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
1.2.3.2 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.
Hệ thống suy diễn tiến được hoạt động như sau:
-Trước tiên hệ thống này lấy các thông tin về bài toán từ người sử dụng và đặt chung
vào bộ nhớ làm việc.
14
- Suy diễn quét các luật theo dãy xác định trước, xem phần giả thiết có trùng khớp với
nội dung trong bộ nhớ.
- Nếu phát hiện luật như mô tả trên, bổ sung kết luận của luật này vào bộ nhớ. Luật
này gọi là cháy
- Quá trình tiếp tục cho tới khi không còn khớp luật nào
- Lúc này bộ nhớ có các thông tin của người dùng và thông tin do hệ thống suy diễn
Ví dụ: Giả sử có bệnh nhân đến khám bệnh, bác sĩ dùng kiến thức y học và thông tin
được 3 thông tin mới:
-
Bệnh nhân sốt
-
Nghi viêm nhiễm
-
Phải chữa học bệnh nhân
Hệ thống suy diễn có thể kết luận mọi thứ có thể. Tuy nhiên, tiếp cận này đưa ra các
thông tin không cần thiết. Giả sử cho thêm 2 luật
Luật 4:
IF Bệnh nhân sốt
THEN Bệnh nhân không đi lại được
Luật 5:
IF Bệnh nhân không đi lại được
THEN Bệnh nhân ở nhà và đọc sách
Hệ thống dễ dàng suy được “bệnh nhân sốt”. Thông tin làm kích hoạt luật 4 và luật 5.
Thông tin mới về việc họ đọc sách và ở nhà không giúp ích gì cho bác sĩ. Tuy nhiên hệ
thống biết là thông tin đó quan trọng hay không.
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.
Ví dụ: Trình bày một vận dụng của phương pháp hệ luật dẫn trong việc biểu diễn tri
thức cho một hệ cơ sở tri thức ứng dụng “Chẩn đoán các vấn đề gây ra lỗi để sửa chửa
máy tính”.
không thể được suy ra từ bất kỳ một luật nào, hệ thống sẽ yêu cầu người dùng trực tiếp
nhập vào. Chẳng hạn như để biết máy tính có điện không, hệ thống sẽ hiện ra màn hình
câu hỏi "Bạn kiểm tra xem có điện vào máy tính không (kiểm tra đèn nguồn)?(C/K)". Để
thực hiện được cơ chế suy luận lùi, người ta thường sử dụng ngăn xếp (để ghi nhận lại
những nhánh chưa kiểm tra).
1.2.3.3 Ưu điểm và nhược điểm của biểu diễn tri thức bằng luật dẫn
Ư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:
• 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ữ).
• 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.
• Việc hiệu chỉnh và bảo trì hệ thống là tương đối dễ dàng.
• Có thể cải tiến dễ dàng để tích hợp các luật mờ.
• Các luật thường ít phụ thuộc vào nhau.
Nhược điểm:
• 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.
• 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.
18
• 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.
tính. Biến được viết bằng các ký hiệu bắt đầu là chữ in hoa. Như vậy, có thể dùng
vị từ có biến để thể hiện nhiều vị từ tương tự.
Ví dụ:
19
Có hai mệnh đề tương tự "Nam thích Mai" và "Bắc thích Cúc". Hai biến
X, Y dùng trong mệnh đề thích(X, Y).
Các biến nhận giá trị sẽ được thể hiện qua X=Nam, Bắc; Y=Mai, Cúc.
Trong phép toán vị từ người ta dùng biến như đối số của biểu thức vị từ hay
của hàm.
•
Hàm: Logic vị từ cũng cho phép dùng ký hiệu để biểu diễn hàm. Hàm mô tả một
ánh xạ từ các thực thể hay một tập hợp đến một phần tử duy nhất của tập hợp
khác. Ví dụ, các hàm sau đây được định nghĩa nhằm trả về một giá trị xác định:
cha(sơn) = Nam
mẹ(sơn) = Mai
•
Phép toán: Logic vị từ cũng dùng các phép toán như logic mệnh đề.
Ví dụ:
thích(X,Y) AND thích(Z,Y) -> thích(X,Z).
20
CHƯƠNG 2: THU THẬP TRI THỨC VÀ ỨNG DỤNG
XÂY DỰNG HỆ CHUYÊN GIA HỖ TRỢ CHẨN ĐOÁN
Giữ vệ sinh tốt để tránh nhiễm thêm vi trùng.
1.3.Bệnh quai bị
• Triệu chứng: sốt, nhức đầu, sưng tuyến mang tai một hoặc cả hai bên, đau nhức
khi nhai.
• Biến chứng: viêm tinh hoàn với xác suất 1/5 nếu bệnh xảy ra ở trẻ lớn và người
lớn, tình trạng này có thể dẫn đến vô sinh về sau nhưng với một tỷ lệ rất nhỏ.
Ngoài ra bệnh còn có thể gây viêm màng não, viêm tụy và gây chứng điếc vĩnh
viễn.
• Chăm sóc:
o Nếu trẻ sốt hoặc đau nhiều có thể cho dùng thuốc hạ sốt giảm đau.
o
Cho ăn thức ăn lỏng, dễ nuốt.
o
Chăm sóc, vệ sinh răng miệng.
o Nằm nghỉ ngơi.
1.6.Bệnh sốt xuất huyết
-
-
Triệu chứng: Đây là bệnh truyền nhiễm cấp tính và có thể xảy ra đối với tất cả
mọi người, mọi lứa tuổi, nhưng trẻ em từ 3 đến 10 tuổi là đối tượng dễ mắc bệnh
nhất. Bệnh có 1 sô biểu hiện như sau:
a3
a4
a5
a6
a7
a8
a9
kl1
kl2
kl3
kl4
tg1
tg2
Ngữ nghĩa
Sốt
Ho
Chảy mũi
Nhức đầu
Phát ban
Sưng tuyến mang tai
Chấm đỏ trên da
Đau khớp
Đau nhức khi nhai
Cảm cúm
Sởi
Quai bị
Sốt xuất huyết
Nghi vấn(cảm cúm,sởi,quai bị,sốt
xuất huyết)
Nghi vấn(quai bị)
Nghi vấn(quai bị)
Nghi vấn(sốt xuất huyết)
Nghi vấn(cảm cúm, sốt xuất huyết)
Nghi vấn(sốt xuất huyết)
Nghi vấn(sốt xuất huyết)
Nghi vấn(cảm cúm, sốt xuất huyết)
2.2 Biểu diễn tập luật theo kí hiệu sự kiện và ngữ nghĩa
R1: a1 ^ a2 = tg1
R2: a1 ^ a3= tg2
R3: a1^ a4= tg3
R4: tg1 ^ a3= kl1
R5: tg2 ^ a4= kl1
R6: tg3^ a2 = kl1
R7: tg3 ^ a3=kl1
R8: a2 ^ a4= kl1
R9: a1 ^ a2 ^ a3= tg4
R10: tg4 ^ a4 =kl1
R11: a1^a3^a4=tg5
24
R12: tg5 ^ a2 =kl1
R13: a2 ^ a3 =tg6
R14: tg6 ^ a1=kl1
R15: tg1 ^ a5=kl2
R16: tg2 ^ a5=kl2
R17: a1^ a5=tg7
R18: tg7 ^ a2=kl2