Biểu diễn tri thức bệnh

Một phần của tài liệu đề tài XÂY DỰNG HỆ CHUYÊN GIA Y TẾ CHẨN ĐOÁN BAN ĐẦU MỘT SỐ BỆNH VỀ PHỔI (Trang 41)

Cơ sở tri thức của HCG được tổng hợp từ các cơ sở tri thức con của từng loại bệnh. Chi tiết về cơ sở tri thức của từng loại bệnh được trình bày sau đây.

a. Phổi kẽ lan tỏa

1. IF nghe phổi có ran THEN nguy cơ mắc bệnh là thấp.

2. IF khó thở tăng dần OR ho khan THEN nguy cơ mắc bệnh là trung bình.

3. IF [khó thở tăng dần AND ho khan] THEN nguy cơ mắc bệnh là cao.

4. IF tím tái mặt mày OR ngón tay dùi trống OR suy tim phải THEN nguy

cơ mắc bệnh là cao.

5. IF [tím tái mặt mày AND ngón tay dùi trống] OR [tím tái mặt mày AND

suy tim phải] OR [ngón tay dùi trống AND suy tim phải] OR [tím tái mặt mày

AND ngón tay dùi trống AND suy tim phải] THEN nguy cơ mắc bệnh là rất cao.

b. Nghẽn mạch phổi

1. IF nghe phổi có ran OR nhịp tim nhanh OR đau ngực OR nghe phổi có

ran AND nhịp tim nhanh OR [nghe phổi có ran AND đau ngực] OR [nhịp tim

nhanh AND đau ngực] THEN nguy cơ mắc bệnh là thấp.

2. IF [nghe phổi có ran AND nhịp tim nhanh AND đau ngực] THEN nguy cơ

mắc bệnh là trung bình.

3. IF khó thở nhanh OR cò cử khu trú OR ngất THEN nguy cơ mắc bệnh là

trung bình.

4. IF [khó thở nhanh AND cò cử khu trú] OR [khó thở nhanh AND ngất] OR

[cò cử khu trú AND ngất] THEN nguy cơ mắc bệnh là cao. 5. IF cọ sát màng phổi THEN nguy cơ mắc bệnh là cao.

6. IF [khó thở nhanh AND ngất AND cò cử khu trú] THEN nguy cơ mắc

bệnh là rất cao.

c. Lao phổi

1. IF sốt OR sút cân OR ra mồ hôi đêm OR [sốt AND sút cân] OR [sốt AND

ra mồ hôi đêm] OR [sút cân AND ra mồi hôi đêm] THEN nguy cơ mắc bệnh là thấp.

2. IF [sốt AND sút cân AND ra mồi hôi đêm] THEN nguy cơ mắc bệnh là

trung bình.

3. IF nghe phổi có ran OR đau ngực THEN nguy cơ mắc bệnh là trung bình.

4. IF [nghe phổi có ran AND đau ngực] THEN nguy cơ mắc bệnh là cao.

5. IF ho ra máu THEN nguy cơ mắc bệnh là cao.

d. Tràn dịch màng phổi (adsbygoogle = window.adsbygoogle || []).push({});

1. IF nghe cọ sát màng phổi OR sốt OR sút cân OR [nghe cọ sát màng phổi AND sốt] OR [nghe cọ xát màng phổi AND sút cân] OR [sốt AND sút cân] THEN nguy cơ mắc bệnh là thấp.

2. IF [nghe cọ sát màng phổi AND sốt AND sút cân] THEN nguy cơ mắc

bệnh là trung bình.

3. IF đau ngực, nhất là khi thở vào OR gõ phổi nghe tiếng đục OR ho khan THEN nguy cơ mắc bệnh là trung bình.

4. IF [đau ngực, nhất là khi thở vào AND gõ phổi nghe tiếng đục] OR [đau

ngực, nhất là khi thở vào AND ho khan] OR [gõ phổi nghe tiếng đục AND ho

khan] THEN nguy cơ mắc bệnh là cao.

5. IF nghe mất rung thanh OR nghe mất rì rào phế nang OR tái tím mặt mày THEN nguy cơ mắc bệnh là cao.

6. IF [đau ngực, nhất là khi thở vào AND gõ phổi nghe tiếng đục AND ho

khan] THEN nguy cơ mắc bệnh là rất cao.

7. IF [nghe mất rung thanh AND nghe mất rì rào phế nang] OR nghe mất

[rung thanh AND tái tím mặt mày] OR [nghe mất rì rào phế nang AND tái tím

mặt mày] THEN nguy cơ mắc bệnh là rất cao.

e. Tràn khí màng phổi

1. IF khó thở THEN nguy cơ mắc bệnh là thấp.

2. IF đau ngực dữ dội OR gõ ngực thấy vang THEN nguy cơ mắc bệnh là

trung bình.

3. IF [đau ngực dữ dội AND gõ ngực thấy vang] THEN nguy cơ mắc bệnh là

cao.

4. IF mất rung thanh OR tái tím mặt mày OR mất tiếng rì rào phế nang THEN

nguy cơ mắc bệnh là cao.

5. IF [mất rung thanh AND tái tím mặt mày] OR [mất rung thanh AND mất

tiếng rì rào phế nang] OR [tái tím mặt mày AND mất tiếng rì rào phế nang] OR [mất rung thanh AND tái tím mặt mày AND mất tiếng rì rào phế nang] THEN nguy cơ mắc bệnh là rất cao.

f. Viêm phổi do hít

1. IF khó thở nhanh OR ho THEN nguy cơ mắc bệnh là trung bình.

2. IF [khó thở nhanh AND ho] THEN nguy cơ mắc bệnh là cao.

3. IF nghe phổi có ran OR sốt THEN nguy cơ mắc bệnh là cao.

4. IF [nghe phổi có ran AND sốt] THEN nguy cơ mắc bệnh là rất cao. 3.2. Máy suy diễn

Dựa trên cơ sở tri thứcmột số bệnh về phổi, từ các triệu chứng đầu vào, máy suy diễn thực hiện quá trình suy diễn để đưa ra kết luận về nguy cơ mắc bệnh ở mỗi loại bệnh phổi. Phần này có sử dụng các tag (thẻ tên) đại diện cho các triệu chứng của từng bệnh để mô tả quá trình suy diễn đưa ra định hướng kết luận bệnh.

3.2.1. Phổi kẽ lan tỏa (adsbygoogle = window.adsbygoogle || []).push({});

Bảng 3.1. Diễn giải các tag dùng trong quá trình suy diễn phổi kẽ lan tỏa

Tag Giải thích

pklt1 Nghe phổi có ran

pklt2 Khó thở tăng dần

Tag Giải thích

pklt4 Tím tái mặt mày

pklt5 Ngón tay dùi trống

pklt6 Suy tim phải

tb1 Bạn có nguy cơ mắc bệnh thấp.

tb2 Bạn có nguy cơ mắc bệnh trung bình.

tb3 Bạn có nguy cơ mắc bệnh cao! Hãy thực hiện khám cận lâm sàng!

tb4 Bạn có nguy cơ mắc bệnh rất cao! Hãy thực hiện khám cận lâm sàng!

tb5 Bạn chưa chọn triệu chứng. Chẩn đoán không thành công.

Dựa trên các tag được diễn giải ở bảng 3.1, quá trình suy diễn đưa ra kết luận khi thực hiện chẩn đoán phổi kẽ lan tỏa như sau:

1. (pklt1==0 & pklt2==0 & pklt3==0 & pklt4==0 & pklt5==0 & pklt6==0) ⟹ tb5.

2. pklt1==1 ⟹ tb1.

3. pklt2==1 | pklt3==1 ⟹ tb2. 4. (pklt2==1 & pklt3==1) ⟹ tb3.

5. pklt4==1 | pklt5==1 | pklt6==1 ⟹ tb3.

6. (pklt4==1 & pklt5==1 | pklt4==1 & pklt6==1) | (pklt5==1 & pklt6==1 | pklt4==1 & pklt5==1 & pklt6==1) ⟹ tb4.

3.2.2. Nghẽn mạch phổi

Bảng 3.2. Diễn giải các tag trong quá trình suy diễn nghẽn mạch phổi

Tag Giải thích

nmp1 Nghe phổi có ran

nmp2 Nhịp tim nhanh

Tag Giải thích nmp4 Khó thở nhanh nmp5 Cò cử khu trú nmp6 Ngất nmp7 Cọ sát màng phổi tb1 Bạn có nguy cơ mắc bệnh thấp.

tb2 Bạn có nguy cơ mắc bệnh trung bình.

tb3 Bạn có nguy cơ mắc bệnh cao! Hãy thực hiện khám cận lâm sàng!

tb4 Bạn có nguy cơ mắc bệnh rất cao! Hãy thực hiện khám cận lâm sàng!

tb5 Bạn chưa chọn triệu chứng. Chẩn đoán không thành công.

Dựa trên các tag được diễn giải ở bảng 3.2, quá trình suy diễn đưa ra kết luận khi thực hiện chẩn đoán nghẽn mạch phổi như sau: (adsbygoogle = window.adsbygoogle || []).push({});

1. (nmp1==0 & nmp2==0 & nmp3==0 & nmp4==0 & nmp5==0 &

nmp6==0 & nmp7==0) ⟹ tb5.

2. nmp1==1 | nmp2==1 | nmp3==1 | (nmp1==1 & nmp2==1) | (nmp1==1 & nmp3==1) | (nmp2==1 & nmp3==1) ⟹ tb1.

3. (nmp1==1 & nmp2==1 & nmp3==1) ⟹ tb2. 4. nmp4==1 | nmp5==1 | nmp6==1 ⟹ tb2.

5. (nmp4==1 & nmp5==1) | (nmp4==1 & nmp6==1) | (nmp5==1 & nmp6==1) ⟹ tb3.

6. nmp7==1 ⟹ tb3.

3.2.3. Lao phổi

Bảng 3.3. Diễn giải các tag dùng trong quá trình suy diễn bệnh lao phổi

Tag Giải thích

lp1 Sốt

lp2 Sút cân

lp3 Ra mồ hôi đêm

lp4 Nghe phổi có ran

lp5 Đau ngực

lp6 Ho ra máu

tb1 Bạn có nguy cơ mắc bệnh thấp.

tb2 Bạn có nguy cơ mắc bệnh trung bình.

tb3 Bạn có nguy cơ mắc bệnh cao! Hãy thực hiện khám cận lâm sàng!

tb4 Bạn có nguy cơ mắc bệnh rất cao! Hãy thực hiện khám cận lâm sàng!

tb5 Bạn chưa chọn triệu chứng. Chẩn đoán không thành công.

Dựa trên các tag được diễn giải ở bảng 3.3, quá trình suy diễn đưa ra kết luận khi thực hiện chẩn đoán lao phổi như sau:

1. (lp1==0 & lp2==0 & lp3==0 & lp4==0 & lp5==0 & lp6==0) ⟹ tb5 2. lp1==1 | lp2==1 | lp3==1 | lp1==1 & lp2==1 | (lp1==1 & lp3==1) | (lp2==1 & lp3==1) ⟹ tb1. 3. (lp1==1 & lp2==1 & lp3) ⟹ tb2. 4. lp4==1 | lp5==1 ⟹ tb2. 5. (lp4==1 & lp5==1) ⟹ tb3. 6. lp6==1 ⟹ tb3.

3.2.4. Tràn dịch màng phổi

Bảng 3.4. Diễn giải các tag trong quá trình suy diễn tràn dịch màng phổi

Tag Giải thích

tdmp1 Nghe cọ xát màng phổi

tdmp2 Sốt

tdmp3 Sút cân

tdmp4 Đau ngực, nhất là khi thở vào

tdmp5 Gõ phổi nghe tiếng đục (adsbygoogle = window.adsbygoogle || []).push({});

tdmp6 Ho khan

tdmp7 Nghe mất rung thanh

tdmp8 Nghe mất rì rào phế nang

tdmp9 Tái tím mặt mày

tb1 Bạn có nguy cơ mắc bệnh thấp.

tb2 Bạn có nguy cơ mắc bệnh trung bình.

tb3 Bạn có nguy cơ mắc bệnh cao! Hãy thực hiện khám cận lâm sàng!

tb4 Bạn có nguy cơ mắc bệnh rất cao! Hãy thực hiện khám cận lâm sàng!

tb5 Bạn chưa chọn triệu chứng. Chẩn đoán không thành công.

Dựa trên các tag được diễn giải ở bảng 3.4, quá trình suy diễn đưa ra kết luận khi thực hiện chẩn đoán tràn dịch màng phổi như sau:

1. (tdmp1==0 &tdmp2==0 & tdmp3==0 & tdmp4==0 & tdmp5==0 & tdmp6==0 & tdmp7==0 & tdmp8==0 & tdmp9==0) ⟹ tb5. 2. tdmp1==1 | tdmp2==1 | tdmp3==1 | (tdmp1==1 & tdmp2==1) |

(tdmp1==1 & tdmp3==1) | (tdmp2==1 & tdmp3==1) ⟹ tb1. 3. (tdmp1==1 & tdmp2==1 & tdmp3==1) ⟹ tb2.

5. (tdmp4==1 & tdmp5==1) | (tdmp4==1 & tdmp6==1) | (tdmp5==1 & tdmp6==1) ⟹ tb3.

6. tdmp7==1 | tdmp8==1 | tdmp9==1 ⟹ tb3. 7. (tdmp4==1 & tdmp5==1 & tdmp6==1) ⟹ tb4.

8. (tdmp7==1 & tdmp8==1) | (tdmp7==1 & tdmp9==1) | (tdmp8==1 & tdmp9==1) | (tdmp7==1 & tdmp8==1 & tdmp9==1) ⟹ tb4.

3.2.5. Tràn khí màng phổi

Bảng 3.5. Diễn giải các tag dùng trong quá trình suy diễn tràn khí màng phổi

Tag Giải thích tkmp1 Khó thở tkmp2 Đau ngực dữ dội tkmp3 Gõ ngực thấy vang tkmp4 Mất rung thanh tkmp5 Tái tím mặt mày

tkmp6 Mất tiếng rì rào phế nang

tb1 Bạn có nguy cơ mắc bệnh thấp.

tb2 Bạn có nguy cơ mắc bệnh trung bình.

tb3 Bạn có nguy cơ mắc bệnh cao! Hãy thực hiện khám cận lâm sàng!

tb4 Bạn có nguy cơ mắc bệnh rất cao! Hãy thực hiện khám cận lâm sàng!

tb5 Bạn chưa chọn triệu chứng. Chẩn đoán không thành công.

Dựa trên các tag được diễn giải ở bảng 3.5, quá trình suy diễn đưa ra kết luận khi thực hiện chẩn đoán tràn khí màng phổi như sau:

1. (tkmp1==0 & tkmp2==0 & tkmp3==0 & tkmp4==0 & tkmp5==0 & tkmp6==0) ⟹ tb5.

3. tkmp2==1 | tkmp3==1 ⟹ tb2. 4. (tkmp2==1 & tkmp3==1) ⟹ tb3.

5. tkmp4==1 | tkmp5==1 | tkmp6==1 ⟹ tb3.

6. (tkmp4==1 & tkmp5==1) | (tkmp4==1 & tkmp6==1) | (tkmp5==1 & tkmp6==1) | (tkmp4==1 & tkmp5==1 & tkmp6==1) ⟹ tb4.

3.2.6. Viêm phổi do hít (adsbygoogle = window.adsbygoogle || []).push({});

Bảng 3.6. Diễn giải các tag dùng trong luật suy diễn

Tag Giải thích

vpdh1 Khó thở nhanh

vpdh2 Ho

vpdh3 Nghe phổi có ran

vpdh4 Sốt

tb1 Bạn có nguy cơ mắc bệnh thấp.

tb2 Bạn có nguy cơ mắc bệnh trung bình.

tb3 Bạn có nguy cơ mắc bệnh cao! Hãy thực hiện khám cận lâm sàng!

tb4 Bạn có nguy cơ mắc bệnh rất cao! Hãy thực hiện khám cận lâm sàng!

tb5 Bạn chưa chọn triệu chứng. Chẩn đoán không thành công.

Dựa trên các tag được diễn giải ở bảng 3.6, quá trình suy diễn đưa ra kết luận khi thực hiện chẩn đoán viêm phổi do hít như sau:

1. (vpdh1==0 & vpdh2==0 & vpdh3==0 & vpdh4==0) ⟹ tb5. 2. vpdh1==1 | vpdh2==1 ⟹ tb2.

3. (vpdh1==1 & vpdh2==1) ⟹ tb3. 4. vpdh3==1 | vpdh4==1 ⟹ tb3. 5. (vpdh3==1 & vpdh4==1) ⟹ tb4.

3.3. Thiết kế giao diện Hệ chuyên gia trên phần mềm MATLAB

Chương trình Hệ chuyên gia y tế chẩn đoán ban đầu một số bệnh về phổi được viết trên phần mềm MATLAB.

3.3.1. Giới thiệu chung về MATLAB

MATLAB (Matrix Laboratory) là một ngôn ngữ lập trình bậc cao, cung cấp môi trường tính toán đa dạng với nhiều công cụ tính toán số và cho phép thực hiện nhiều giải pháp tính toán khác nhau. Hình 3.2 là cửa sổ giao diện chính của phần mềm Matlab.

Hình 3.1. Giao diện chính của MATLAB

Matlab cho phép làm việc theo một số phương thức sau:

- Lập trình: soạn thảo các tập lệnh và các hàm số (function) trong các file có đuôi “.m” (m-files). Các hàm số có khả năng cung cấp dữ liệu vào , ra rất rõ ràng (Input/Output capability).

- Tương tác: thực thi các câu lệnh (command execution) trên của sổ lệnh thông qua các dấu nhắc “>>”.

- Lưu trữ: các dữ liệu có thể được lưu trữ độc lập với phần lập trình trong các file có đuôi “.mat” (mat.files). Các dữ liệu này được lưu vào hoặc tải ra từ các chương trình chính trong phần lập trình hoặc phần tương tác.

Matlab cung cấp nhiều bộ công cụ (toolbox) khác nhau dùng cho lập trình HCG y tế như:

- Sinh học máy tính (Bioinformatics) - Cơ sở dữ liệu (Database)

- Xử lý tín hiệu (Signal Processing) - Xử lý ảnh (Image Processing) - Logic mờ (Fuzzy Logic)

- Mạng Nơ ron (Neural Networks)

Hình 3.2. Cửa sổ đồ họa GUI với giao diện trắng

Matlab cho phép tạo ra các giao diện người sử dụng thông qua môi trường phát triển GUI (Graphical User Interface Design Environment). Từ một cửa sổ đồ họa GUI với giao diện trắng như biểu diễn trên hình 3.2, người dùng có thể tạo ra một chương trình hệ chuyên gia hoàn chỉnh với nhiều giao diện người sử dụng như trên hình 3.3. Các công cụ có thể sử dụng trong thiết kế giao diện HCG có thể kể đến như Push Button, Radio Button, Edit text, Pop-up menu, Axes, Button

group, Static text, Listbox, Table, Panel. (adsbygoogle = window.adsbygoogle || []).push({});

Hình 3.3. Các cửa sổ đồ họa GUI đã được thiết kế

3.3.2. Sơ đồ cấu trúc của hệ chuyên gia

Hình 3.4. Sơ đồ cấu trúc của hệ chuyên gia

về phổi. . Sau “giao diện mở đầu”, sẽ là hai nút “chẩn đoán lâm sàng” và “tìm hiểu tri thức”. Nút “chẩn đoán lâm sàng” sẽ lần lượt đi tới các nút con, tương ứng với các bước thăm khám bệnh nhân của bác sĩ. Từ đó, dựa vào những triệu chứng dấu hiệu thu thập được, tại nút Kết quả chẩn đoán sẽ đưa ra khả năng mắc bệnh tương ứng với từng bệnh. Tại giao diện “tìm hiểu tri thức”, người dùng sẽ chọn một trong các bệnh có trong HCG để thực hiện chức năng tìm hiểu tri thức về bệnh đó. Người dùng sẽ được tiếp cận với định nghĩa, khái quát chung về bệnh lý, sau đó có thể tìm hiểu về “triệu chứng” (triệu chứng của bệnh), “nguyên nhân” (nguyên nhân gây bệnh) và “điều trị” (các phương pháp điều trị bệnh) tương ứng với mỗi bệnh.

3.3.3. Các giao diện trong hệ chuyên gia

Chương trình HCG y tế chẩn đoán một số bệnh ban đầu về phổi bao gồm các lớp giao diện chính là: khởi tạo, chẩn đoán lâm sàng, tìm hiểu tri thức bệnh, kết luận. Giao diện khởi tạo được thể hiện ở hình 3.5. Giao diện nhằm giới thiệu sơ qua về chương trình hệ chuyên gia, cùng với đó là hình tượng bác sĩ với nét vẽ ngộ nghĩnh tạo thiện cảm cho người dùng. Giao diện này chỉ xuất hiện một lần khi khởi động chương trình.

Hình 3.5. Giao diện khởi tạo

hai chức năng của hệ chuyên gia để người dùng lựa chọn: “Chẩn đoán lâm sàng” (bắt đầu quá trình chẩn đoán lâm sàng) và “Tìm hiểu” (tìm hiểu về các bệnh có trong hệ chuyên gia). Hai nút chức năng có mũi tên sang phải và sang trái, có vai trò đưa người sử dụng đến giao diện kế tiếp hoặc trở về giao diện trước (trái là lùi, phải là tiến).

Hình 3.6. Giao diện trang chủ a. Chức năng chẩn đoán lâm sàng

Sau khi chọn vào chức năng “chẩn đoán lâm sàng”, người dùng bắt đầu quá trình chẩn đoán bệnh. Hình 3.7 và 3.8 là giao diện nhập triệu chứng bệnh thứ nhất và thứ hai, thể hiện bước hỏi bệnh, giống như khi bác sĩ hỏi thăm bệnh nhân những biến đổi của cơ thể liên quan tới đường hô hấp như đau ngực, khó thở và ho. Bên cạnh đó là những triệu chứng mà bệnh nhân gặp phải trong sinh hoạt như ốm, sút cân, chán ăn, mất ngủ, ra mồ hôi đêm.

Tại giao diện triệu chứng khám phổi ở hình 3.9, các triệu chứng khi khám phổi được đưa ra. Đối tượng người dùng là bác sĩ có thể dễ dàng kiểm tra xem có

hay không mắc phải những triệu chứng được liệt kê ở người bệnh qua việc thăm khám phổi.

Hình 3.7. Giao diện nhập triệu chứng bệnh thứ nhất

Giao diện ở hình 3.10 đưa ra những dấu hiệu có thể gặp phải khi mắc các bệnh về phổi. Bác sĩ có chuyên môn có thể thực hiện khám tổng quát toàn thân bệnh nhân để kiểm tra những dấu hiệu này. Các triệu chứng này được nhận biết khi hỏi bệnh nhân trong quá trình sinh hoạt hằng ngày. Sau khi tích vào các ô triệu chứng, chương trình sẽ thu nhận và tổng hợp kết quả cho đến khi bước chọn triệu chứng cuối cùng được thực hiện. Trong khi chọn triệu chứng, ngươi dùng có thể trở lại giao diện chọn triệu chứng trước để chọn lại triệu chứng, nhưng sẽ phải chọn lại triệu chứng khi chuyển sang giao diện tiếp theo. Các triệu chứng xuyên suốt chương trình được sắp xếp theo các bước thăm khám bệnh nhân của bác sĩ hay nhân viên y tế: Hỏi bệnh, khám phổi, kiểm tra tổn thương liên quan và đưa ra kết luận.

Hình 3.8. Giao diện nhập triệu chứng bệnh thứ hai

Hình 3.10. Giao diện chọn các triệu chứng liên quan đến tổn thương phổi

Sau khi hoàn thành các thao tác chọn triệu chứng, giao diện kết luận như hình 3.11 sẽ được đưa ra cùng với khả năng mắc bệnh được xác định với 5 kết quả. Các kết quả này được đánh dấu bằng biểu tượng ngôi sao với màu sắc tương ứng như phần chú giải ở ngay trong giao diện: không có nguy cơ (màu xanh da trời), nguy cơ thấp (màu xanh lá), nguy cơ trung bình (màu tím), nguy cơ cao (màu da cam) và nguy cơ rất cao (màu đỏ). Phím bấm hình ngôi nhà màu xanh lá

Một phần của tài liệu đề tài XÂY DỰNG HỆ CHUYÊN GIA Y TẾ CHẨN ĐOÁN BAN ĐẦU MỘT SỐ BỆNH VỀ PHỔI (Trang 41)