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

BTL Xây dựng hệ chuyên gia chuẩn đoán bệnh phổi

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 (1.27 MB, 21 trang )

BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
------------

BÀI TẬP LỚN
MÔN: HỆ CHUYÊN GIA
Đề tài: XÂY DỰNG HỆ CHUYÊN GIA CHUẨN ĐOÁN BỆNH
PHỔI
Giảng viên hướng dẫn: Th.s Lê Thị Thủy
Nhóm sinh viên
(Nhóm 10)

Lớp

Hà Nội.2022

: Nguyễn
Ngơ


MỤC LỤC

LỜI MỞ ĐẦU
Thế giới ngày nay phát triển mạnh mẽ với các hoạt động vô cùng đa dạng và phức
tạp đòi hỏi khả năng giải quyết vấn đề ở mức độ trí tuệ nhân tạo ngày càng cao .
Lĩnh vực trí tuệ nhận tạo nói chung và hệ chun gia nói riêng góp phần tạo ra các
hệ thống có khả năng trí tuệ của con người , có được tri thức tiên tiến của các hệ
chuyên gia để giải quyết các vấn đề phức tạp trong cuộc sống . Hệ chuyên gia được
thu hút mãnh mẽ do những ưu điểm sau. Các chương trình hệ chuyên gia ngày
càng tỏ ra hữu hiệu và tiện lợi đáp ứng nhu cầu thực tế. Các chương trình hệ


chuyên gia ngày càng tỏ ra có tính khả thi cao. Hệ chun gia khơng có tính đơn
lẻ ,phù hợp với nhiều cá nhân.
Ở Việt Nam nền y học đã phát triển theo hướng hiện đại , chúng ta có khác nhiều
chuyên gia giỏi đầu ngành với trình độ quốc tế . Tuy nhiên cịn nhiều bất cập về
trình độ của đội ngũ y sĩ , bác sĩ ở các bệnh viên , trung tâm tuyến tỉnh , huyện xã .
Làm thế nào để sử dụng rộng rãi tri thức y học của các chuyên gia trong tất cả các
bệnh viện . Nâng cao trình độ chuyên môn của đội ngũ thầy thuốc ở các tuyến
tỉnh ,huyện nhất là vùng sâu vùng xa . Có nhiều cách giải quyết vấn đề trên .Cách
giải quyết nhóm em là “XÂY DỰNG HỆ CHUYÊN GIA CHUẨN ĐOÁN BỆNH
PHỔI”.
Cuối cùng nhóm em xin chân thành cám ơn thầy cơ trong khoa đã tạo điều kiện
thuận lợi và hướng dẫn chúng em hoàn thành bài tập lớn này.

2


CHƯƠNG 1: GIỚI THIỆU VỀ THUẬT TỐN
1.1 Thuật tốn suy diễn tiến
1.1.1 Giới thiệu thuật toán
Suy diễn tiến (forward charning) là lập luận từ các sự kiện, sự việc để rút ra
các kết luận.
VD: Nếu thấy trời mưa trước khi ra khỏi nhà (sự kiện) thì phải lấy áo mưa (kết
luận).
Trong phương pháp này, người sử dụng cung cấp các sự kiện cho hệ chuyên gia để
hệ thống (máy suy diễn) tìm cách rút ra các kết luận có thể. Kết luận được xem là
những thuộc tính có thể được gán giá trị. Trong số những kết luận này, có thể có
những kết luận làm người sử dụng quan tâm, một số khác khơng nói lên điều gì,
một số khác có thể vắng mặt.
Các sự kiện thường có dạng : Atthibute = value
Lần lượt các sự kiện trong cơ sở tri thức được chọn và hệ thống xem xét tất cả

các luật mà các sự kiện này xuất hiện như là tiền đề. Theo nguyên tắc lập luận trên,
hệ thống sẽ lấy ra những luật thỏa mãn. Sau khi gán giá trị cho các thuộc tính thuộc
kết luận tương ứng, người ta nói rằng các sự kiện đã được thỗ mãn. Các thuộc tính
được gán giá trị sẽ là một phần củakết quả chuyên gia. Sau khi mọi sự kiện đã
được xem xét, kết quả được xuất ra cho người sử dụng.

1.1.2 Hệ luật dẫn
Hệ luật dẫn – là luật phát biểu dưới dạng:
If p1,p2,…,pn then q1,q2,…,qm
Trong đó, các ký hiệu pi,qj là các sự kiện nào đó.
VD:
- If a>b, b>c then a>c
- If a=b then b=a

1.1.3 Mơ hình hệ dẫn luật
Gồm 2 thành phần cơ bản là (F,R) :
Trong đó:
3


+F là tập sự kiện
+R là tập luật dẫn, mỗi luật có dạng: A---->B (A là giả thiết, B là kết luận
của luật)
VD: Các liên hệ suy dẫn trên các yếu tố của một tam giác theo hệ luật dẫn:
(1) Tập sự kiện:
F={a,b,c,A,B,C,R,S,p,ha,hb,hc,…}
Trong đó: sự kiện a tương đương với ″biết cạnh a″
sự kiện b tương đương với ″biết cạnh b″ …
(2) Tập luật dẫn: R={ r1 : A,B-> C, r2: a,b,c->S, … }


1.1.4 Vấn đề suy diễn
Giả sử có hệ luật dẫn (F,R). Cho trước một tập sự kiện giả thiết GT và một tập sự
kiện mục tiêu G. Hỏi có thể suy ra các sự kiện mục tiêu G từ GT hay không?

1.1.5 Suy diễn tiến:
-Giới thiệu suy diễn tiến:
Là quá trình suy ra các sự kiện mới từ những sự kiện đang có dựa trên sự áp
dụng của các luật dẫn, tập sự kiện xuất phát là các sự kiện trong giả thiết.
Quá trình suy diễn kết thúc khi đạt được các sự kiện mục tiêu hoặc khi khơng
suy diễn thêm được sự kiện gì mới dựa trên các luật dẫn.
VD: GT={a,b,A} G={S}
Quá trình suy diễn:
- a,b,A -> B (luật a,b,A -> B dựa trên định lý hàm số Sin)
GT1={a,b,A,B}
- A,B-> C (luật A,B->C dựa trên định lý tổng các góc trong tam giác )
- C,a,b->S (luật C,a,b->S dựa theo công thức S=1/2abSinC)
-> từ a,b,A ta suy được S.

4


-Thuật toán suy diễn tiến:

VD:
Cho tập các luật R =
r1: a -> c

r3: a ^ m -> e

r5: b ^ c -> f


r2: b -> d

r4: a ^ d -> e

r6: e ^ f -> g

với GT = {a, b} và KL = {g}
Áp dụng kỹ thuật suy diễn tiến để đưa ra kết luận:
GT

THOA

VET

a, b

r1, r2

r1

(r1) = 2;
a, b, c

r2, r5

r5

a, b, c, f


r2

R2

a, b, c, f, d

r4

r4

a, b, c, f, d, e

r6

r6
5


a, b, c, f, d, e, g
Vậy đường đi theo thứ tự sẽ là: a-> b-> c-> f-> d-> e-> g.

6


CHƯƠNG 2: PHÂN TÍCH BÀI TỐN
2.1. Đặt vấn đề
Những năm gần đây, ngành y học đã có những bước tiến mạnh mẽ trong việc
giải quyết các căn bệnh mà con người có thể gặp phải. Mọi người đã có thể chữa trị
phần lớn các căn bệnh tại bệnh viện và cơ sở y tế. Thêm đó, việc cơng nghệ ngày
càng phát triển nhanh chóng cũng đã phụ giúp 1 phần không nhỏ trong việc giải

quyết và đưa ra kết luận chính xác trong việc tìm hiểu căn bệnh . Khi người bệnh
mắc phải những triệu chứng mà không biết rõ nguồn bệnh, sẽ khiến người bệnh
hoang mang và tìm đến y bác sĩ để đưa ra kết luận. Nhưng nếu số lượng bệnh nhân
quá lớn sẽ gây ra nhiều vấn đề, và thời gian chờ đợi sẽ lâu. Vì vậy, sự xuất hiện
một phần mềm chuẩn đoán nguồn bệnh là thực sự cần thiết.
Có hai giải pháp cho vấn đề trên. Một là tổng hợp , xây dựng cơ sở dữ liệu về
kiến thức nguồn bệnh, những triệu chứng và cách chữa trị. Hai là xây dựng hệ
chuyên gia chẩn đoán nguồn bệnh.
Cả hai phương án đều khả thi, nhưng với tình hình hiện nay thì phương án thứ
hai là phù hợp hơn cả. Một chương trình “thơng minh” sẽ tiết kiệm được nhiều thời
gian, công sức cho người sử dụng. Hơn nữa, như chúng ta đã biết, việc xây dựng
một hệ chun gia địi hỏi phải có một kho tri thức và cơng cụ xây dựng chương
trình chun dụng. Hiện nay, nguồn thông tin khổng lồ trên Internet đã đáp ứng
được yêu cầu thứ nhất. Thứ hai, rất nhiều ngơn ngữ để xây dựng bất kỳ chương
trình thuộc lĩnh vực trí tuệ nhân tạo nào.
Để thỏa mãn yêu cầu trên, nhóm em sẽ đưa ra sản phẩm phần mềm mang tên
gọi “Phần mềm chuẩn đoán bệnh phổi”. Phần mềm này được tạo ra nhằm giúp
người dùng từ những triệu chứng gặp phải mà có thể đưa ra được căn bệnh đang
mắc. Phần mềm sẽ được tích hợp nhiều các tính năng, đơn giản, dễ sử dụng, đẹp
mắt và đảm bảo được một điều là nó có thể thay thế một chuyên gia tư vấn trong
lĩnh vực tư vấn bệnh.
Để phần mềm có thể làm được điều kỳ diệu đó thì nhóm em đã phải tìm hiểu
thật kỹ về cách chọn trong từng lỗi để có thể đáp ứng được yêu cầu của người
dùng.

2.2. Nội dung thực hiện
Nội dung thực hiện đề tài:
7



+Thu thập tri thức liên quan, chuẩn bị cho quá trình xây dựng cơ sở luật của
hệ chuyên gia, bao gồm kiến thức về căn bệnh và các triệu chứng gặp phải.
+Phân tích các tri thức thu thập được, sau đó phân loại và biểu diễn thành
các phát biểu. Sử dụng logic vị từ để xây dựng các tập luận, sự kiện.
+Chuyển các tập luận và sự kiện thành ngôn ngữ C#
+Sử dụng phần mềm C# để xây dựng hệ chuyên gia

2.3. Thu thập tri thức
Thu thập tri thức là bước quan trọng mở đầu cho mỗi bài toán, đặc biệt đối với
bài toán tư vấn ra quyết định.
Các tri thức cụ thể của bài toán tư vấn việc làm.
+Dựa trên các dữ liệu về các nguyên nhân dấu hiệu hỏng hóc của các bộ
phận..........
+Khả năng nhận biết và phân biệt các nguyên nhân……….
Cách thức thu thập thông tin:
+Dựa trên tìm kiếm thơng tin
+Dựa trên chun ngành y khoa
+Dựa trên thống kê để đưa ra các tri thức.

2.4. Biểu diễn tri thức
Trong bài tốn cụ thể tư vấn phân tích căn bệnh liên quan đến phổi theo
phương pháp biểu diễn tri thức bằng luật là một phương pháp biểu diễn hợp lý.
Các tập sự kiện:

8


Xây dựng sự kiện và luật:
1 F1+F2+F3+F4+F5 ->KL1
2 F1 + F2 + F3 + F5 + F6 + F7 -> KL2

⇨ Từ luật trên ta có thể hiểu là: Nếu bệnh nhân bị sốt, mệt mỏi+ ho khạc đờm+
đau ngực khi ho, thở+ buồn nôn, nôn mửa hoặc tiêu chảy Thì bệnh nhân bị
viêm phổi.
⇨ Nếu bệnh nhân bị sốt, mệt mỏi + ho khạc đờm+ đau ngực khi ho, thở+khó
thở + ho dai dẳng + thở khị khè Thì bệnh nhân bị viêm phế quản.
9


⇨ Hay nếu bệnh nhân bị F21: Khơng có tiền sắm tết như Nghĩa thì KL5: bệnh
nhân bị viêm màng ví:<
Tương tự ta có thêm các luật:

10


Và các kết luận:

2.5. Sơ đồ kiến trúc hệ thống

11


Giao tiếp người dùng: Thực hiện việc hiển thị câu hỏi và nhận câu trả lời từ người
dùng. Ở bước suy diễn cuối cùng, sẽ hiển thị nguyên nhân gây bệnh.
Bộ suy diễn: Quy trình thực hiện:
+Nhận câu trả lời từ “giao tiếp người dùng”
+Truy xuất cơ sở tri thức
+Nhận thông tin cần xác nhận từ cơ sở tri thức
+Phát sinh câu hỏi, truyền tới giao tiếp người dùng
Cơ sở tri thức: Lưu các luật suy diễn


12


CHƯƠNG 3: THIẾT KẾ VÀ XÂY DỰNG CHƯƠNG TRÌNH
3.1. Cài đặt
-Chạy trên hệ điều hành Windows.
-Trên nền Microsoft .NET Framework 4.7
-Chương trình được viết bằng : C# winform.
-Chạy bằng Visual Studio 2021.

3.2. Một số giao diện của chương trình
3.2.1 Form khởi động
Đây là form khi khởi chạy chương trình

3.2.2 Form Đăng nhập
Đây là form đăng nhập để vào hệ thống tư vấn.

13


3.2.3 Form Tư vấn
Đây là form chuẩn đoán các căn bệnh liên quan đến phổi, và đưa ra các
nguyên nhân.

14


3.2.4 Form Sự kiện
Đây là form quản lý các sự kiện như nguyên nhân , tình trạng , trạng thái của

người bệnh. Có thể thêm sửa xóa để cho chính xác.

15


3.2.5 Form Tập luận sự kiện
Đây là form sẽ có các tập luận sự kiện người dùng có thể thêm, sửa, xóa, hủy,
lưu các tập luận

16


17


3.2.6 Form Kết luận
Đây là form kết luận, từ các tập luận sẽ dẫn đến các kết luận

18


3.2.7 Form Giới thiệu
Đây là form giới thiệu về chương trình

19


KẾT LUẬN
Xây dựng một hệ chuyên gia nói chung và hệ chuyên gia về chẩn đoán, chữa
trị bệnh là một cơng việc địi hỏi nhiều thời gian và cơng sức. Do bị giới hạn về

mặt thời gian, bài tập này chỉ hoàn thành ở mức cơ bản, mang một qui mơ nhỏ.
Trong q trình thực hiện đồ án, nhóm em đã có những kết quả đạt được như sau:
• Hiểu về cách thức xây dựng hệ tư vấn sử dụng suy diễn tiến.
• Hiểu về cách xây dựng và tổ chức Cơ sở tri thức.
• Hiểu được cách áp dụng một hệ chuyên gia vào đời thực. Và thấy được hiệu
quả mà nó mang lại cho đời sống.
• Xây dựng thành cơng hệ suy diễn tiến trong C#.
Trong q trình xây dựng chương trình, thu thập và biểu diễn tri thức là hai
vấn đề xảy ra nhiều sai sót và lỗi:
• Trong q trình thu thập : vì số lượng thông tin hỏi đáp không nhiều nên kết
quả khi thống kê chưa thật chính xác.
• Khi biểu diễn tri thức: nhiều mâu thuẫn luật xảy ra.
Hướng phát triển của đề tài:
• Xây dựng mở rộng thêm tri thức, cho phép học và bổ sung thêm các luật vào
cơ sở tri thức, cải tiến các tri thức, nâng cao độ chính xác.
• Thử nghiệm phương thức biểu diễn tri thức bằng thơng tin khơng chắc chắn
dựa trên lý thuyết xác suất.
• Mở rộng tư vấn các nghành khác: kinh tế ,kế toán ,may……

20



×