Báo cáo bài tập lớn môn Các hệ thống dựa trên tri thức đề tài "Xây dựng hệ thống Chatbot khám chữa bệnh"

Báo cáo bài tập lớn môn Các hệ thống dựa trên tri thức đề tài "Xây dựng hệ thống Chatbot khám chữa bệnh" của Học viện Công nghệ Bưu chính Viễn thông với những kiến thức và thông tin bổ ích giúp sinh viên tham khảo, ôn luyện và phục vụ nhu cầu học tập của mình cụ thể là có định hướng ôn tập, nắm vững kiến thức môn học và làm bài tốt trong những bài kiểm tra, bài tiểu luận, bài tập kết thúc học phần, từ đó học tập tốt và có kết quả cao cũng như có thể vận dụng tốt những kiến thức mình đã học vào thực tiễn cuộc sống. Mời bạn đọc đón xem!

lOMoARcPSD|36477832
lOMoARcPSD| 36477832
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN 1
----------------------  ----------------------
BÁO CÁO BÀI TẬP LỚN
CÁC HỆ THỐNG DỰA TRÊN TRI THỨC
TÊN ĐỀ TÀI:
XÂY DỰNG HỆ THỐNG CHATBOT TƯ VẤN KHÁM
CHỮA CÁC LOẠI BỆNH CẢM CÚM
lOMoARcPSD|36477832
MỤC LỤC
LÝ DO RA ĐỜI CỦA HỆ THỐNG.......................................................................4
PHẦN 1: KIẾN THỨC CHUYÊN MÔN CỦA HỆ THỐNG...............................5
I. Giới thiệu về bệnh cúm.......................................................................................5
1. Khái niệm Cúm..............................................................................................5
2. Nguyên nhân gây bệnh cảm cúm...................................................................5
3. Các dấu hiệu thường gặp................................................................................7
4. Các giai đoạn phát triển của bệnh..................................................................8
5. Các loại virus gây ra bệnh cúm......................................................................9
6. Đối tượng bị lây nhiễm................................................................................10
7. Cách phòng, chữa bệnh hiệu quả.................................................................10
II. Các kiến thức chuyên môn của hệ thống.........................................................14
1. Cúm
A/H1N1...............................................................................................142.
Cúm A/H3N2...............................................................................................17
3. Cúm
A/H5N1...............................................................................................19 4.
Cúm A/H7N9...............................................................................................22
5. Bệnh cúm B..................................................................................................25
6. Bệnh cúm C..................................................................................................26
PHẦN 2: TRÌNH BÀY VỀ DỮ LIỆU LƯU TRỮ TRI THỨC ĐƯỢC SỬ
DỤNG TRONG HỆ THỐNG................................................................................28
I. Tập sự kiện kết luận bệnh.................................................................................28
II. Triệu chứng của các bệnh cảm cúm................................................................36
PHẦN 3 : TRÌNH BÀY CƠ SỞ TRI THỨC, CÁC LUẬT/CASES/CÁC MỐI
LIÊN KẾT THÔNG TIN, THUẬT TOÁN..........................................................38
I. Thuật Toán........................................................................................................38
1. Suy diễn tiến ( thời điểm đầu của hê thống)................................................38
1.1. Khái niêm..............................................................................................38
1.2. Thuật toán..............................................................................................38
1.3. Ví dụ minh họa......................................................................................40
1.4. Ưu Điểm................................................................................................44
1.5. Nhược Điểm..........................................................................................44
2. Suy diễn lùi..................................................................................................44
lOMoARcPSD|36477832
2.1. Khái niêm..............................................................................................44
2.2. Thuật toán..............................................................................................45
2.3. Ví dụ......................................................................................................48
2.4. Ưu điểm.................................................................................................52
2.5. Nhược điểm...........................................................................................53
3. Động cơ suy diễn.........................................................................................54
II. Các luật/cases/các mối liên kết thông tin được sử dụng..................................55
1. Xây dựng luật suy diễn tiến.........................................................................55
2. Xây dựng luật suy diễn lùi...........................................................................56
3. Cấu trúc database.........................................................................................57
PHẦN 4: KỊCH BẢN HỆ THỐNG......................................................................58
I. Cách thức hệ thống vận hành (Input,
Output)..................................................58
II. Kiến trúc xây dựng hệ
thống...........................................................................58
1. ng cụ lập trình..........................................................................................58
2. Cấu trúc project............................................................................................59
3. Các file xử lý chính......................................................................................59
III. Kịch bản vận
hành..........................................................................................61
IV. Demo chương trình và giải thích chi
tiết.......................................................64KẾT
LUẬN.............................................................................................................83
LÝ DO RA ĐỜI CỦA HỆ THỐNG
Tình hình dịch bệnh cảm cúm trong thời gian gần đây diễn biến phức tạp thay
đổi từ năm này qua m khác gây ảnh hưởng cực lớn đến con người trong toàn
hội. Cuộc sống ngày nay khi con người biết quan tâm đến bản thân hơn, họ chú
ý đến sức khỏe của mình. Vì vậy một hệ thống chatbot tư vấn khám chữa bệnh cảm
cúm ra đời là cần thiết để hỗ trợ vấn nhanh, kịp thời và chuẩn xác giúp người bệnh
dễ dàng tiếp cận hướng xử lý đúng cho tình trạng của mình là hết sức cần thiết.
Hệ thống chatbot tư vấn khám bệnh cảm cúm được xây dựng nhằm mục đích
tư vấn, chuẩn đoán các bệnh cảm cúm đồng thời giúp phân biệt bệnh cúm so với các
lOMoARcPSD|36477832
loại khác triệu chứng gần giống. Hệ thống dựa trên tri thức được học thực hiện
chẩn đoán bệnh cảm cúm dựa trên những triệu chứng mà người bệnh đưa ra.
Hệ thống tiếp nhận dữ liệu đầu vào các triệu chứng bệnh người bệnh
đưa ra, xác định các giả thuyết và hỏi ngược lại người dùng để xác minh. Hệ thống
chỉ giúp chẩn đoán các bệnh cảm m, không chẩn đoán các bệnh thuộc phạm vi
khác.
PHẦN 1: KIẾN THỨC CHUYÊN MÔN CỦA HỆ THỐNG
I. Giới thiệu về bệnh cúm
1. Khái niệm Cúm
Cúm bệnh nhiễm trùng đường hấp gây ra do virus cúm (Influenza virus).
Theo thống của WHO, thế giới khoảng 5-10% người lớn 20-30% trẻ em
nhiễm m mỗi năm. Trong đó, khoảng nửa triệu ca tử vong do các vấn đề sức khỏe
liên quan đến bệnh cúm. Tại Việt Nam, mỗi năm ghi nhận khoảng 1 – 1,8 triệu người
mắc cúm mùa.
Bệnh cúm thể tự khỏi nhưng cũng khả năng gây ra những biến chứng
nghiêm trọng ở người mắc bệnh mạn tính về tim phổi, thận, thiếu máu, bệnh chuyển
hóa hoặc người suy giảm miễn dịch, người trên 65 tuổi, trẻ nhỏ dưới 5 tuổi và phụ
nữ mang thai… Bệnh thể gây ra các biến chứng như viêm tai, viêm phế quản,
viêm phổi, viêm não, thậm chí có thể dẫn đến tử vong.
2. Nguyên nhân gây bệnh cảm cúm
Ảnh 1. Ảnh minh họa virus xâm nhập
lOMoARcPSD|36477832
Nguyên nhân của bệnh cúm là do Vi rút cúm (Influenza virus), virus này liên
tục biến thể với các chủng mới xuất hiện thường xuyên. Vỏ của vi rút có bản chất là
glycoprotein gồm 2 loại kháng nguyên kháng nguyên ngưng kết hồng cầu H
(Hemaglutinin) có 15 loại và kháng nguyên trung hoà N (Neuraminidase) có 9 loại.
Khi tổ hợp của các kháng nguyên này sắp xếp khác nhau tạo nên các phân tuýp khác
nhau của vi rút cúm A. Trong quá trình lưu hành, 2 kháng nguyên H và N luôn luôn
biến đổi, đặc biệt kháng nguyên H. Những biến đổi nhỏ liên tục gọi “trôi” kháng
nguyên (antigenic drift) gây nên các vụ dịch vừa và nhỏ. Khi những biến đổi nhỏ và
dần dần ch tụ lại thành những biến đổi lớn, tạo nên týp kháng nguyên mới, đó do
sự tái tổ hợp giữa các chủng vi rút cúm động vật cúm người. Những phân týp
kháng nguyên mới này sẽ gây đại dịch cúm trên toàn cầu.
Thông thường, virus cúm y truyền nhanh chóng từ người sang người chủ yếu
qua 2 đường:
Lây qua dịch tiết đường hô hấp: Triệu chứng phổ biến những người nhiễm
cúm là ho hắt. Tuy nhiên, khi hắt ho, người bệnh stạo điều kiện
cho virus trong cơ thể bắn ra ngoài theo tuyến nước bọt. Với khả năng tồn tại
dai dẳng, virus cúm có thể phát tán rộng trong không khí với phạm vi 2m. Do
đó, người khỏe mạnh khi tiếp xúc gần, trò chuyện trực tiếp với người bệnh sẽ
có nguy cơ nhiễm bệnh.
Lây qua bmặt tiếp xúc: Việc sdụng chung vật dụng nkhăn, quần áo, bàn
chải, ly uống nước… thể ẩn chứa nguồn lây nhiễm virus bệnh cúm. Khi
bệnh nhân ho hoặc hắt sẽ khiến cho các dịch tiết bắn ra ngoài bám lên
các đồ vật. Nếu bạn chạm phải đồ vật đó và vô tình đưa tay trực tiếp lên mũi,
miệng thì nguy cơ cao virus sẽ xâm nhập và tấn công cơ thể.
Bệnh cúm có thể bùng phát vào bất kỳ mùa nào trong năm, đỉnh điểm là vào
tháng 3, tháng 4, tháng 10 tháng 11. Song song đó, các triệu chứng như sổ mũi,
đau nhức thể cũng snặng nề hơn vào mùa lạnh do không khí ẩn chứa nhiều
nguồn vi khuẩn khác. Do đó, khi thời tiết trở lạnh, trẻ emngười lớn nên chủ động
lOMoARcPSD|36477832
dự phòng bằng vắc xin, giữ ấm thể ngăn chặn mọi nguồn lây nhiễm để hạn chế
khả năng bị bệnh.
3. Các dấu hiệu thường gặp
Ảnh 2. Những triệu chứng thường gặp của cúm
Biểu hiện lâm sàng của bệnh cúm thường xuất hiện sau 2 ngày khi cơ thể tiếp
xúc với virus gây bệnh. Có rất nhiều người nhầm lẫn giữa bệnh cúm và cảm lạnh do
triệu chứng cúm cảm lạnh tương đồng với nhau. Ngoài các dấu hiệu nhận biết
bệnh cúm là đau họng, sổ mũi và hắt hơi (giống với cảm lạnh) thì bệnh cúm còn
các dấu hiệu cảnh báo như sau:
Sốt cao (trên 39
o
C);
Cảm giác ớn lạnh;
Đau đầu, chóng mặt;
Đau nhức cơ bắp;
Mệt mỏi toàn thân, cảm giác yếu ớt không còn chút sức lực; Buồn
nôn, tiêu chảy (thường xuất hiện ở trẻ em nhiều hơn).
Thời gian bệnh cúm thường kéo dài trong khoảng 2 ngày. Sau khoảng 5
ngày, triệu chứng sốt và các triệu chứng khác sẽ biến mất nhưng ho và tình trạng mệt
mỏi vẫn kéo dài. Tất cả các triệu chứng sẽ biến mất trong vòng một hoặc hai tuần.
lOMoARcPSD|36477832
4. Các giai đoạn phát triển của bệnh
Ảnh 3. Các giai đoạn phát triển của bệnh
Thông thường, các triệu chứng bị cúm thể xuất hiện và khỏi sau khoảng 1
tuần. Tuy nhiên, cũng nhiều trường hợp bệnh cúm kéo dài gây ảnh hưởng tới sinh
hoạt cũng như sức khỏe của người bệnh. Một đợt cúm thường xảy ra theo 3 giai đoạn
sau:
Giai đoạn khởi phát (ngày thứ 1 – 3): Các triệu chứng cúm đột ngột xuất
hiện bao gồm sốt, nhức đầu, đau mỏi cơ, ho khan, đau họng, nghẹt
mũi.
Giai đoạn toàn phát (ngày thứ 4 trở đi): Triệu chứng sốt và đau nhức
giảm. Người bệnh bị khàn tiếng, có cảm giác khô hoặc đau họng, ho và
cảm thấy tức ngực. Ngoài ra, một số người cũng có thể thấy cơ thể mệt
mỏi hoặc đầyi.
Giai đoạn hồi phục (ngày th8 trở đi): Các triệu chứng giảm dần, cơn
ho và cảm giác mệt mỏi có thể kéo dài 1 2 tuần tiếp theo.
lOMoARcPSD|36477832
5. Các loại virus gây ra bệnh cúm
Arnh 4. Ảnh minh họa các chủng virus cúm
Có 4 chủng virus cúm được ký hiệu là A, B, C, D. Trong đó chủng cúm A và
B thường gặp người, cúm C gây bệnh nhẹ thường không có triệu chứng, trong
khi đó cúm D ảnh hưởng đến gia súc và không gây bệnh ở người.
Cúm A dạng cúm mùa phổ biến nhất, chiếm khoảng 75% số ca nhiễm cúm
người. Virus cúm A được phân loại thành nhiều phân tuýp dựa theo skết hợp
giữa kháng nguyên ngưng kết hồng cầu Hemagglutinin (H) và Neuraminidase (N)
các protein chính trên bề mặt của virus. Nếu gặp điều kiện thuận lợi, cúm A thể
bùng phát thành những đợt dịch lớn nhỏ khác nhau. Các đại dịch cúm toàn cầu được
ghi nhận trong lịch sử thế giới cũng do các chủng của virus cúm A gây nên như dịch
cúm A (H5N1), dịch cúm A (H3N2), đại dịch cúm A (H1N1).
Cúm B không được chia thành các phân týp, tuy nhiên thể được chia
m 2 dòng dòng B/Yamagata và dòng B/Victoria. Chủng cúm B cũng một dạng
cúm dễ gây bệnh ở người với tỷ lệ 25% số ca nhiễm cúm mùa hàng năm. Cúm B chỉ
lây truyền từ người sang người, bệnh cúm B khả năng lây lan rất mạnh, thể gây
thành dịch nhưng ít nguy trở thành đại dịch. vậy, bệnh vẫn thể tác
động nguy hiểm đến sức khỏe trong trường hợp diễn tiến nghiêm trọng.
Cúm C ít gặp hơn so với 2 chủng cúm A và B, ít nguy hiểm hơn và không có
những triệu chứng lâm sàng điển hình. Bệnh do cúm C không có khả năng bùng phát
thành dịch ở người.
lOMoARcPSD|36477832
Cúm D chủ yếu gây bệnh trên gia súc, chưa được xác định gây bệnh ở người.
Virus cúm D có thành phần cấu tạo và đặc điểm phân bào tương tự như chủng virus
cúm C.
6. Đối tượng bị lây nhiễm
Bất kỳ ai cũng thể mắc bệnh cúm, bệnh dễ gặp nhất ở những đối tượng
hệ miễn dịch chưa hoàn thiện hoặc sức đề kháng yếu như:
Trẻ em dưới 6 tuổi và nhất là trẻ sơ sinh vì hệ miễn dịch, sức đề kháng
của trẻ còn yếu nên chống chọi với virus thường khó khăn hơn.
Người cao tuổi, người từ 60 tuổi trở lên.
Phụ nữ vừa mới sinh con dưới 2 tuần hoặc mẹ bầu đang mang thai.
Bệnh nhân sống ở viện dưỡng lão.
Những người có sức đề kháng cơ thể yếu.
Những đối tượng thừa cân, béo phì với chỉ số khối cơ thể vượt quá mức
cho phép, tức BMI lớn hơn 40.
Các đối tượng mắc bệnh mãn tính, điển hình như bệnh thận, bệnh tiểu
đường, bệnh hen suyễn, bệnh gan, bệnh tim...
7. Cách phòng, chữa bệnh hiệu quả
Ảnh 5. Cách phòng ngừa được bộ Y tế khuyến cáo
Mặc việc chủ động ngăn chặn nguồn lây nhiễm của virus cúm không thể
loại bỏ nguy cơ lây bệnh hoàn toàn nhưng lại một giải pháp dễ dàng thực hiện và an
toàn. Cụ thể những biện pháp hạn chế lây nhiễm virus gồm có:
a. Cách phòng ngừa
lOMoARcPSD|36477832
Vệ sinh nhân sạch sẽ, che miệng khi hắt hơi, rửa tay sạch với
phòng đồng thời vệ sinh mũi, họng bằng nước muối thường xuyên.
Luôn giữ ấm thể, xây dựng chế độ ăn uống lành mạnh, đầy đủ
chất dinh dưỡng kết hợp với luyện tập thể thao nâng cao thể trạng.
Hạn chế tiếp xúc trực tiếp với bệnh nhân mắc cúm hoặc các trường
hợp nghi ngờ nếu không thật sự cần thiết.
Người dân không nên tự ý mua thuốc và sử dụng thuốc kháng virus
(như thuốc Tamiflu) mà cần phải theo hướng dẫn và có chỉ định của
thầy thuốc.
Khi triệu chứng ho, sốt, sổ mũi, đau đầu, mệt mỏi cần đến ngay
cơ sở y tế để được khám, xử trí kịp thời
Tiêm vắc xin cúm mùa để tăng cường miễn dịch phòng chống cúm.
Đặc biệt, cúm là bệnh do virus gây ra thể phòng ngừa hiệu quả bằng việc
tiêm vắc xin. Nghiên cứu của các nkhoa học tại Canada đã chỉ ra rằng tiêm phòng
vaccine cúm thể giảm tới 50% nguy cơ đột quỵ, đau tim và tử vong do các bệnh
lý liên quan tới tim mạch.
Tại Việt Nam, vắc xin cúm mùa được chỉ định tiêm phòng cho trẻ em từ 6
tháng tuổi và người lớn. Theo Tổ chức Y tế Thế giới (WHO), tất cả các loại vacxin
cúm đã được chứng minh làm giảm khả năng mắc tử vong do cúm. Tuy nhiên,
hiệu lực bảo vệ của vắc xin cúm chỉ kéo dài trong khoảng 1 năm, virus cúm thường
tính đột biến cũng như thay đổi cấu trúc kháng nguyên theo chu kỳ m, do đó trẻ
em, người lớn rất cần được tiêm vắc xin cúm nhắc lại hằng năm.
lOMoARcPSD|36477832
b. Cách điều trị
Mục tiêu chính của điều trị cúm giảm nhẹ loại bỏ triệu chứng. Hiện tại
có nhiều phương pháp điều trị bệnh cúm, đối với các trường hợp nhẹ, người bệnh có
thể tự điều trị tại nhà (nên thực hiện theo hướng dẫn của bác sĩ). Đối với những
trường hợp nặng bệnh nhân phải nhập viện để được điều trị chăm sóc đề phòng
nhiễm khuẩn thứ phát.
Điều trị tại nhà
Người nhiễm cúm cần được nghỉ ngơi cho đến khi hạ sốt, ăn thức ăn mềm, dễ
tiêu chú ý uống nhiều nước. Sử dụng nước muối loãng tính sát khuẩn tốt, người
bệnh thể sử dụng để vsinh họng, htrợ giảm nhanh các triệu chứng đau họng,
rát cổ và viêm nhiễm cổ họng.
Cần vệ sinh mũi sạch sẽ để kiểm soát tình trạng viêm nhiễm, giúp người bệnh
dễ chịu hơn. Lưu ý, sau khi thực hiện vệ sinh mũi xong cần vệ sinh tay sạch sẽ để
tránh tình trạng lây lan bệnh.
Dùng thuốc
Để giảm các triệu chứng sốt, đau đầu, đau mỏi người do bệnh gây ra, người
bệnh thể sdụng một số loại thuốc không đơn như Acetaminophen hoặc
Ibuprofen nhưng phải cân nhắc với một số đối tượng ntrẻ sơ sinh, trẻ nhỏ, phụ nữ
mang bầu người mắc bệnh nền hoặc tiền sử dứng thuốc. Không dùng thuốc
nhóm salicylate như aspirin để hạ sốt trong bệnh cúm vì nguy gây hội chứng
Reye nguy hiểm với bệnh nhân.
Tùy từng trường hợp, bác sĩ có thể toa một số loại thuốc điều trị đặc hiệu,
chẳng hạn như Oseltamivir (Tamiflu) hoặc Zanamivir (Relenza) công dụng làm
giảm triệu chứng của cúm và ngăn ngừa các biến chứng nghiêm trọng.
lOMoARcPSD|36477832
Dinh dưỡng cho người bệnh cúm
Người bệnh nên xây dựng chế độ dinh dưỡng lành mạnh phù hợp với thể
trạng. Khi bị cúm nên lưu ý:
Cung cấp đủ nước cho thể: Uống đủ 2l nước/ngày ăn nhiều trái
cây, rau xanh, sử dụng thêm các loại nước có bổ sung chất điện giải để
cung cấp thêm natri và kali.
Ăn thực phẩm dễ nuốt: Khi cơ thể bị cúm, người bệnh thường không
cảm giác thèm ăn, lúc này cháo, súp hay các thực phẩm loãng sẽ giúp
người bệnh dễ ăn mà vẫn đảm bảo chất dinh dưỡng.
Ăn thực phẩm nhiều kẽm: Kẽm có nhiều trong các loại thực phẩm như
tôm, hàu, thịt bò, sò, ngũ cốc, yến mạch… giúp người bệnh cúm chóng
phục hồi sức và cải thiện hệ miễn dịch.
Các loại rau củ quả: Bệnh nhân cúm cần được bổ sung nhiều loại rau
của trong bữa ăn, đặc biệt các loại rau màu đậm như: Cải xôi,
cải xoăn, súp lơ…
Bên cạnh những thực phẩm có lợi cũng có không ít những thực phẩm gây hại
làm trầm trọng thêm các triệu chứng của cúm. Người bệnh nên tránh một số sản
phẩm sau:
Ảnh 6. Ảnh minh họa chế độ dinh dưỡng
lOMoARcPSD|36477832
Các thực phẩm chế biến sẵn: Thức ăn đóng hộp, thực phẩm chế biến sẵn
hoặc đồ ăn chiên xào gây khó tiêu, dễ khiến người bệnh buồn nôn. Hơn
nữa, những thực phẩm này không chứa nhiều chất dinh dưỡng.
Các loại đồ uống chứa cồn, chất kích thích như soda, rượu, phê…
cũng gây mất nướcdễ làm giảm hệ thống miễn dịch ở người bị cúm.
Các thực phẩm cứng sẽ khả năng gây khó tiêu và làm nặng thêm các
cơn ho, đau họng, vì vậy bệnh nhân cúm cũng nên tránh xa.
II. Các kiến thức chuyên môn của hệ thống
Ảnh 7. Ảnh minh họa các loại cúm A phổ biến ở người
1. Cúm A/H1N1
a. Tổng quan
Cúm A/H1N1 bệnh truyền nhiễm đường hấp cấp tính thuộc dạng cúm
theo mùa do chủng virus cúm A/H1N1 (tên khoa học virus pdm09 (A)) gây ra.
gây ra đợt bùng phát cảm cúm vào năm 2009, dẫn đến một đại dịch toàn cầu được
gọi là "đại dịch cảm cúm A/H1N1". Virus này đã lây lan rộng rãi và gây ra nhiều ca
nhiễm bệnh và tử vong trên khắp thế giới.
Ban đầu, bệnh cúm A H1N1 còn được gọi “cúm lợncác nhà khoa học
cho rằng chủng virus này nguồn gốc từ lợn. Tuy nhiên, thực tế chủng virus này
kết hợp từ các nguồn virus khác nhau: lợn, chim, người và gây ra bệnh ở người.
lOMoARcPSD|36477832
b. Dấu hiệu
Người nhiễm cúm A/H1N1 thường có các triệu chứng như cúm bình thường,
tuy nhiên có kèm theo một số dấu hiệu đặc trưng hơn, cụ thể:
Sốt cao co giật.
Sốt cao trên 38 độ kèm ớn lạnh.
Đau toàn bộ đầu, chóng mặt.
Đau họng khản tiếng.
Sổ mũi.
Đau các vùng cơ.
Choáng váng đầu óc.
Nôn mửa.
c. Nguyên nhân
Virus cúm A/H1N1 được phát hiện trên lợn đầu tiên, song virus khả năng
lây nhiễm từ người sang người vô cùng mạnh mvà tấn công vào phổi gây ra nhiều
biến chứng nguy hiểm. Người mắc cúm A/H1N1 có thể do nguyên nhân dưới đây:
Hít phải không khí chứa dịch tiết của người nhiễm bệnh khi họ sổ
mũi, ho, hắt hơi.
Tiếp xúc gián tiếp: Khi chạm tay vào đồ vật có chứa virus A/H1N1 n
mặt bàn, ly nước, khăn tắm, bàn chải… rồi đưa tay trực tiếp lên mắt,
mũi, miệng, virus sẽ theo đường hô hấp xâm nhập vào cơ thể.
Tiếp xúc trực tiếp: Người bị nhiễm cúm H1N1 có khả năng lây bệnh
cho người xung quanh trong vòng 7 ngày từ khi triệu chứng của bệnh.
Do đó, người bình thường khi tiếp xúc trực tiếp với người bệnh qua giao
tiếp, hôn hoặc quan hệ tình dục thì nguy cơ lây nhiễm cúm H1N1 là rất
cao. Đặc biệt là ở môi trường công cộng, đông người như công viên, lễ
hội… thì virus càng lây lan mạnh mẽ hơn.
lOMoARcPSD|36477832
d. Lời khuyên
Ở những trường hợp bị cúm nhẹ, không biến chứng, người bệnh có
thể điều trcúm A H1N1 tại nhà nếu có chỉ định của bác sĩ. Tuy nhiên,
những ca bệnh nguy diễn tiến nặng, đang tiến triển phức tạp
hoặc khó dự báo, bất kể tình trạng sức khỏe trước đó, người bệnh cần
sớm nhập viện để được các bác sĩ điều trị.
Sau khi xuất hiện các triệu chứng, người bệnh cần tiến hành điều trị
càng sớm càng tốt.Các loại thuốc kháng virus để điều trị cúm gồm:
Oseltamivir (uống), Zanamivir (hít), Peramivir (tiêm),…Cần sử dụng
thuốc theo chỉ định của bác sĩ.
Biện pháp phòng ngừa: Rửa tay thường xuyên bằng xà phòng, hạn chế
tối đa việc đưa tay trực tiếp lên mắt mũi, che miệng và mũi khi ho
hoặc hắt hơi; sử dụng hàng ngày các dung dịch sát khuẩn đường mũi,
họng, mắt.
Thường xuyên vệ sinh, lau sạch các bề mặt, vật dụng tiếp xúc hằng
ngày bằng phòng hoặc các chất tẩy rửa; mở cửa thoáng mát nơi ở,
lớp học, nơi làm việc.
Giữ ấm cơ thể, ăn uống đủ chất, nghỉ ngơi hợp lý, kết hợp tập thể dục
thường xuyên để tăng cường sức đề kháng, ngăn ngừa nhiễm virus
cúm, bảo vệ cơ thể.
Những đối tượng nguy cao như người mắc bệnh mạn nh, trẻ
em, người cao tuổi và phụ nữ có thai cần tránh tiếp xúc với người mắc
bệnh cúm hoặc nghi mắc cúm.
Phòng tránh lây nhiễm cúm A/H1N1 chéo tại các sở khám, chữa
bệnh: Người thân bệnh nhân nên đeo khẩu trang y tế; khi tiếp xúc
với người bệnh nên giữ khoảng cách trên 1m.
Chủ động theo dõi sức khỏe, thông báo ngay cho sY tế khi
triệu chứng cúm như sốt, ho, đau ngực, khó thở để được vấn, hướng
lOMoARcPSD|36477832
dẫn các biện pháp chăm sóc sức khỏe kịp thời. Việc nhận biết và phát
hiện sớm các dấu hiệu mắc bệnh có thể giúp điều trị kịp thời, hạn chế
tối đa các trường hợp tử vong
Những trường hợp sốt cao, khó thở cần chủ động cách ly, đeo khẩu
trang và đến sở y tế để được khám, vấn, xử lý, phòng tránh lây
lan. Việc nhận biết phát hiện sớm các dấu hiệu mắc bệnh thể
giúp điều trị kịp thời, hạn chế tối đa các trường hợp tử vong.
Đặc biệt, chủ động tiêm chủng vắc xin cúm đúng lịch, đủ mũi, tiêm
nhắc lại hằng năm biện pháp an toàn và hiệu quả để bảo vệ thể
trẻ em, người lớn chống lại bệnh cúm.
2. Cúm A/H3N2
a. Tổng quan
H3N2 một chủng virus phân nhóm cúm A của virus Influenza gây bệnh cúm
và biến chứng nguy hiểm phổ biến ở người. Virus H3N2 có thể lây nhiễm cho chim,
lợn người. Khi lây nhiễm, virus đã biến đổi thành nhiều chủng khác nhau. những
năm virus H3N2 là chủng virus cúm chiếm ưu thế, đã hàng triệu người phải
nhập viện, biến chứng nặng, thậm chí là tử vong.
Virus cúm (H3N2) bao gồm hai gen tvirus cúm A H3 Hemagglutinin và
N2 neuraminidase từ virus H2N2 năm 1957. thế, tên H3N2 cũng bắt nguồn từ các
dạng kết hợp của hai loại protein bề mặt hemagglutinin (H) neuraminidase (N).
Bằng cách tái tổ hợp, virus H3N2 trao đổi gen cho protein bên trong với các phân
nhóm cúm khác.
b. Dấu hiệu
Những triệu chứng cúm A H3N2 gây ra tương tự như các biểu hiệu do các
chủng virus cúm khác gây ra. Virus m A/H3N2 sau khi xâm nhập bệnh khoảng
2 ngày thường gây ra các triệu chứng đột ngột như:
Sốt cao gián đoạn
Đau nửa đầu
lOMoARcPSD|36477832
Viêm họng
Ho khan
Sổ mũi
Nghẹt mũi
Đau các vùng cơ
Cơ thể mệt mỏi
Tiêu chảy
c. Nguyên nhân
Thường do họ đã tiếp xúc với người hoặc vật đang nhiễm virus A/H3N2:
Với người đang mắc chủng cúm A/H3N2: Nếu người lành cùng người
bệnh tiếp xúc trực tiếp như nói chuyện, ôm hôn, quan hệ tình dục… thì
tỷ lệ lây nhiễm cúm A/H3N2 rất cao.
Với đồ vật có chứa virus cúm A/H3N2: Khi tay bạn tiếp xúc với các đồ
vật như bàn, ghế, tủ, giường… đang nơi “tạm trú” của virus H3N2 thì
virus sẽ di chuyển đến tay, tay tiếp xúc với mũi, mắt, miệng, virus sẽ
xâm nhập vào đường hô hấp (phổi) và gây bệnh cúm mùa.
d. Lời khuyên
Tiêm vắc xin phòng bệnh cúm A/H3N2
Tạo thói quen thường xuyên rửa tay bằng nước sạch phòng:
Đây là cách đơn giản và tốt nhất để ngăn sự xâm nhập của virus, vi
khuẩn.
Che miệng khi ho hoặc hắt hơi; đeo khẩu trang.
Giữ gìn vệ sinh thân thể và vệ sinh môi trường sống thông thoáng,
sạch sẽ.
Xây dựng chế độ ăn uống cân bằng, tập thể dục thường xuyên
nghỉ ngơi đầy đủ.
lOMoARcPSD|36477832
Mang khẩu trang y tế đến nơi đông người như bệnh viện, siêu
thị, công viên.
Hạn chế tiếp xúc với người bệnh, nếu cần phải tiếp xúc như chăm
sóc, điều trị…, cần tuân thủ các biện pháp phòng lây nhiễm như đã
nói ở trên.
Tránh tiếp xúc với các loài gia cầm được nuôi nhốt, hoặc gia cầm
bị chết.
3. Cúm A/H5N1
a. Tổng quan
H5N1 là một phân nhóm virus cúm A (Influenza A virus), thường xuất hiện ở
chim gia cầm. Giống ntất cả các loại virus cúm khác, virus A/H5N1 lây truyền
giữa các loài chim, gia cầm và động vật khác, lây sang cho người và gây tử vong.
Cúm A H5N1 phân nhóm m gia cầm khả năng xâm nhiễm cao. Từ
năm 1997 đến nay, sự bùng phát của virus H5N1 đã làm nhiễm bệnh chết hàng
chục triệu gia cầm. H5N1 loại virus khả năng tbiến đổi (hoặc tái tổ hợp) rất
cao. Virus này có thể tạo ra biến đổi gen lây từ người sang người, gây nhiều lo ngại
về đại dịch cúm toàn cầu. Virus H5N1 thể kết hợp với virus cúm người tạo ra
một loại virus mới đầy đủ tính năng của 2 loại virus cũ, dễ dàng tạo ra đại dịch
cúm cho người với tỷ lệ biến chứng nặng, nguy cơ tử vong là rất lớn.
Ảnh 8. Ảnh minh họa virus H5N1
lOMoARcPSD|36477832
b. Dấu hiệu
Người nhiễm virus cúm A H5N1 thường có những triệu chứng diễn biến cấp
tính giống với các loại cúm thông thường, nhưng thể kèm theo một số dấu hiệu
cảnh báo nguy hiểm hơn. Những dấu hiệu cơ bản bệnh cúm A/H5N1 cần lưu ý:
Sốt liên tục trong nhiều giờ
Ban ngày sốt nhẹ, ban đêm sốt cao
Đau toàn bộ đầu, chóng mặt
Đau họng kèm ho có đờm
Đau họng khản tiếng
Nghẹt mũi
Đau ngực, tim đập nhanh
Choáng váng đầu óc
Cơ thể mệt mỏi
Nôn mửa
c. Nguyên nhân
Cúm gia cầm A H5N1 (avian influenza) là bệnh cúm do virus cúm A/H5N1
gây ra cho các loài chim, động vật có vú và con người. Theo các chuyên gia y tế, có
nhiều nguyên nhân gây bệnh cúm A H5N1 cho cộng đồng, cụ thể:
Việc sinh sống gần các trang trại gia cầm và lợn là điều kiện thuận
lợi làm tăng tính đột biến kháng nguyên virus, làm virus dễ lây
nhiễm.
Một số chợ trời, nơi bán trứng và gia cầm nhưng điều kiện vệ sinh
không đảm bảo có thể là nguồn bệnh lây lan cho cộng đồng.
Ăn thịt gia cầm và trứng chưa được nấu chín. d. Lời khuyên
Người bị cúm A H5N1 nên đến bệnh viện để được điều trị nếu
điều trị tại nhà không đúng cách thể gây nguy hiểm cho cả người
bệnh người chăm sóc. Nếu bệnh mức độ nặng, người bệnh cần
lOMoARcPSD|36477832
phải nhập viện để được theo dõi, điều trị và chăm sóc phòng ngừa
nguy cơ nhiễm khuẩn thứ phát.
Khi điều trị tại nhà, người bệnh cần thực hiện các biện pháp dưới
đây để bệnh sớm khỏi:
Nghỉ ngơi cho tới khi hạ sốt, thư giãn trong môi trường thoáng khí,
tránh những nơi nhiệt độ quá nóng hoặc quá lạnh, không nên
nằm phòng điều hòa.
Đảm bảo chế độ dinh dưỡng phù hợp, ăn các đdễ tiêu, thực phẩm
lỏng, nóng và uống nhiều nước. Tránh ăn đồ ăn lạnh ảnh hưởng tới
họng và lâu khỏi bệnh.
Sử dụng nước muối loãng có tính sát khuẩn tốt để vệ sinh họng 23
lần/ngày để giảm nhanh triệu chứng đau rát họng và viêm họng.
Vệ sinh mũi bằng thuốc xịt mi ngày để kiểm soát viêm nhiễm.
Biện pháp phòng ngừa:
Không ăn gia cầm, các sản phẩm gia cầm ốm, chết không
nguồn gốc; đảm bảo ăn chín, uống sôi; rửa tay bằng phòng trước
khi ăn.
Không giết mổ, vận chuyển, mua bán gia cầm sản phẩm gia cầm
không rõ nguồn gốc.
Khi phát hiện gia cầm ốm, chết tuyệt đối không được giết mổ sử
dụng mà phải thông báo ngay cho chính quyền địa phương và đơn
vị thú y trên địa bàn.
Khi biểu hiện cúm như sốt, ho, đau ngực, khó thở liên quan
đến gia cầm phải đến ngay cơ sở y tế để được tư vấn, khám điều
trị kịp thời.
4. Cúm A/H7N9
a. Tổng quan
lOMoARcPSD|36477832
Cúm A H7N9 tên gọi của loại virus A nguồn gốc gen từ virus cúm,
thường tìm thấy ở gia cầm, chim và thủy cầm Theo PGS. TS. Trần Đắc Phu, nguyên
cục trưởng Cục Y tế dự phòng (Bộ Y tế), ktừ ca bệnh nhiễm vi rút H7N9 trên người
được báo cáo Trung Quốc vào tháng 3/2013 đến nay, thế giới đã ghi nhận hơn
1.200 ca, trong đó có 30 chùm ca bệnh. Số ca bệnh ghi nhận ở người gia tăng nhanh
chóng từ tháng 10/2016 đến nay, tập trung chủ yếu ở một số tỉnh ở Trung Quốc giáp
biên giới Việt Nam.
Ảnh 9. Ảnh minh họa virus H7N9
b. Dấu hiệu
Ban ngày sốt nhẹ, ban đêm sốt cao
Sốt cao và đột ngột trong vòng 1 đến 2 giờ
Đau nhói phần đỉnh đầu, đau nhiều về ban đêm
Đau họng kèm ho có đờm
Đau các khớp
Nôn mửa
Suy hô hấp
c. Nguyên nhân
Không lây từ người sang ngưi
Bệnh cúm A H7N9 lây truyền tgia cầm sang người chủ yếu do tiếp
xúc và sử dụng sản phẩm gia cầm nhiễm virus cúm. Cụ thể virus lây
truyền trực tiếp do người ăn thịt, phủ tạng, trứng của gà nhiễm bệnh,
lOMoARcPSD|36477832
hoặc lây gián tiếp qua không khí, hay sử dụng thức ăn, nước, dụng
cụ vận chuyển, dụng cụ giết mổ, chế biến thực phẩm, quần áo bị ô
nhiễm virus từ dịch hô hấp, phân của gà bị nhiễm. Ngoài ra, bàn tay
bị ô nhiễmmột yếu tố lây nhiễm bệnh quan trọng.
d. Lời khuyên
Khi nghi ngờ nhiễm m A (H7N9), người bệnh cần đến bệnh viện
để được thăm khám, cách ly thực hiện xét nghiệm đặc hiệu để chẩn
đoán xác định bệnh.
Khi ca bệnh được xác định, cần nhập viện điều trị & cách ly hoàn
toàn.
Sử dụng thuốc kháng virus (zanamivir hoặc oseltamivir) càng sớm
càng tốt.
Hồi sức hô hấp để có thể đảm bảo giữ SpO2 ≥ 92%.
Điều trị suy đa tạng (nếu có).
Biện pháp phòng ngừa:
Tuyệt đối không ăn thịt gia cầm m hoặc không nguồn gốc. Đảm
bảo ăn chín, uống sôi & tập thói quen rửa tay bằng phòng trước
khi ăn;
Không giết mổ, vận chuyển và mua bán gia cầm, các sản phẩm gia
cầm không rõ nguồn gốc;
Khi phát hiện gia cầm ốm, chết không rõ nguyên nhân tuyệt đối không
giết mổ sử dụng, phải thông báo ngay cho chính quyền địa phương
và đơn vị thú y trên địa bàn;
Khi biểu hiện cúm, sốt, ho, khó thở liên quan đến gia cầm, người
bệnh cần đến ngay bệnh viện gần nhất để được tư vấn và điều trị;
lOMoARcPSD|36477832
Người dân đi/ đến từ vùng dịch bệnh cúm gia cầm lưu hành, cần theo
dõi sức khỏe để phát hiện sớm điều trị, hạn chế tối đa các biến
chứng, tử vong.
5. Bệnh cúm B
a. Tổng quan
Virus cúm B không được phân chia thành nhóm, nhưng gồm có 2 dòng đó là:
B/Yamagata và B Victoria. Nhìn chung, các đặc tính di truyền và kháng nguyên của
virus cúm B rất ít thay đổi thay đổi chậm hơn so với virus cúm A. Virus cúm B
chỉ gây bệnh cho người.
các nước ôn đới bệnh gặp vào mùa đông. Còn ở các nước nhiệt đới, bệnh
thể gặp quanh năm, nhưng chủ yếu gặp vào mùa đông và bệnh có thể gây thành dịch
không theo quy luật thông thường.
b. Dấu hiệu
Sốt nhẹ
Ngứa họng, không ho
Đau họng khản tiếng
Đau các vùng cơ
Cảm thấy rét run, toát mồ hôi lạnh
Tiêu chảy
c. Nguyên nhân
Cúm B chỉ lây từ người sang người thông qua các giọt bắn nhỏ (có chứa virus
cúm) trong không khí khi người bị nhiễm bệnh ho, hắt hơi hoặc nói chuyện. Do tr
chạm vào các bề mặt bị ô nhiễm bởi các giọt bị nhiễm bệnh rồi chạm vào miệng, mũi
hoặc mắt của trẻ.
Thời gian ủ bệnh của bệnh cúm B từ 1 - 4 ngày kể từ khi bị nhiễm virus cúm.
Trẻ em và những người có hệ thống miễn dịch bị suy yếu có thể ủ bệnh lâu hơn.
lOMoARcPSD|36477832
d. Lời khuyên
Bệnh do virus cúm B hay do virus khác gây ra, hiện nay vẫn chưa
thuốc đặc trị riêng mà chủ yếu chỉ điều trị triệu chứng kết hợp nâng
cao thể lực, tăng sức đề kháng cơ thể kết hợp với:
Uống thuốc hạ sốt giảm đau, hạ sốt không cần đơn: Ibuprofen
(Advil) (1) hoặc Acetaminophen (Tylenol) (2), để làm giảm triệu
chứng.
Nghỉ ngơi nhiều hơn, giữ không gian sống sạch sẽ, thoáng mát.
Uống nhiều nước, chia nhỏ các bữa ăn trong ngày.
Bổ sung các loại khoáng chất, vitamin giúp tăng đề kháng, tăng miễn
dịch và ngăn ngừa biến chứng do virus.
Tiêm vắc xin phòng cúm để bảo vệ cơ thể
6. Bệnh cúm C
a. Tổng quan
Cảm m C là một trong ba loại chính ca virus cảm cúm, cùng với cúm A
B. Nó thường gây ra các triệu chứng nhẹ hơn và ít phổ biến hơn so với cúm A và B.
Virus cúm C không thường gây ra đợt bùng phát lớn và không thường được
ghi nhận như là một nguy cơ lớn đối với sức khỏe cộng đồng.
b. Dấu hiệu
Đau đầu lan xuống vai gáy
Ngứa họng, không ho
Đau ngực, tim đập nhanh
Cơ thể mệt mỏi
c. Nguyên nhân
Cúm C lây truyền từ người sang người thông qua tiếp xúc với những người
bị nhiễm bệnh hoặc tiếp xúc với các vật nhiễm bệnh bị nhiễm virus cảmm C.
lOMoARcPSD|36477832
Virus cảm cúm C thường không gắn liền với các loài động vật như heo hoặc
gia cầm như các biến thể cảmm A.
d. Lời khuyên
Hạn chế tiếp xúc trực tiếp với nguồn lây như người mang bệnh hoặc
người nghi ngờ nhiễm bệnh. Việc vsinh nhân, sử dụng khẩu
trang khi ra ngoài khi đến những nơi công cộng phương pháp
hiệu quả hạn chế nguy cơ tiếp xúc với virus.
Vệ sinh cá nhân sạch sẽ, rửa tay với chất làm sạch đồng thời vệ sinh
mũi, họng với nước sát khuẩn.
Giữ ấm thể khi thay đổi thời tiết, xây dựng chế độ dinh dưỡng
lành mạnh kết hợp với hoạt động tập thể thao để nâng cao thể trạng.
Không nên tý sử dụng thuốc cảm cúm, đặc biệt với những đối
tượng trẻ nhỏ, phụ nữ mang thai cho con bú, người bệnh
nền, người đang sử dụng thuốc điều trị bệnh lý khác…
PHẦN 2: TRÌNH BÀY VỀ DỮ LIỆU LƯU TRỮ TRI THỨC ĐƯỢC
SỬ DỤNG TRONG HỆ THỐNG
I. Tập sự kiện kết luận bệnh
bệnh
Tên bệnh
Nguyên nhân
Lời khuyên
lOMoARcPSD|36477832
D01
Cúm
A/H1N1
Hít phải không
khí có chứa
dịch tiết của
người nhiễm
bệnh khi họ sổ
mũi, ho, hắt hơi.
Chạm tay vào
các đồ vật
chứa virus
A/H1N1 rồi
virus theo
đường hô hấp
xâm nhập vào
cơ thể. Tiếp
xúc trực tiếp
với người bệnh
A/H1N1 qua
giao tiếp, quan
hệ,...
Trong các môi
trường công
cộng.
Ở những trường hợp bị cúm nhẹ, không
có biến chứng, người bệnh có thể điều trị
cúm A/H1N1 tại nhà nếu có chỉ định của
bác sĩ. Tuy nhiên, ở những ca bệnh có
nguy cơ diễn tiến nặng, đang tiến triển
phức tạp hoặc khó dự báo, bất kể tình
trạng sức khỏe trước đó, người bệnh cần
sớm nhập viện để được các bác sĩ điều trị.
Sau khi xuất hiện các triệu chứng, người
bệnh cần tiến hành điều trị càng sớm càng
tốt.Các loại thuốc kháng virus để điều trị
cúm gồm: Oseltamivir (uống), Zanamivir
(hít), Peramivir (tiêm),…Cần sử dụng
thuốc theo chỉ định của bác sĩ.
Biện pháp phòng ngừa: Rửa tay thường
xuyên bằng xà phòng, hạn chế tối đa việc
đưa tay trực tiếp lên mắt và mũi, che
miệng và mũi khi ho hoặc hắt hơi; sử
dụng hàng ngày các dung dịch sát khuẩn
đường mũi, họng, mắt.
Thường xuyên vệ sinh, lau sạch các bề
mặt, vật dụng tiếp xúc hằng ngày bằng xà
lOMoARcPSD|36477832
phòng hoặc các chất tẩy rửa; mở cửa
thoáng mát nơi ở, lớp học, nơi làm việc.
Giữ ấm cơ thể, ăn uống đủ chất, nghỉ
ngơi hợp lý, kết hợp tập thể dục thường
xuyên để tăng cường sức đề kháng, ngăn
ngừa nhiễm virus cúm, bảo vệ cơ thể.
Những đối tượng có nguy cơ cao như
người mắc bệnh mạn tính, trẻ em, người
cao tuổi và phụ nữ có thai cần tránh tiếp
xúc với người mắc bệnh cúm hoặc nghi
mắc cúm.
Phòng tránh lây nhiễm cúm A/H1N1 chéo
tại các cơ sở khám, chữa bệnh: Người
thân và bệnh nhân nên đeo khẩu trang y
tế; khi tiếp xúc với người bệnh nên giữ
khoảng cách trên 1m.
Chủ động theo dõi sức khỏe, thông báo
ngay cho cơ sở Y tế khi có triệu chứng
cúm như sốt, ho, đau ngực, khó thở để
được tư vấn, hướng dẫn các biện pháp
chăm sóc sức khỏe kịp thời. Việc nhận
biết và phát hiện sớm các dấu hiệu mắc
bệnh có thể giúp điều trị kịp thời, hạn chế
tối đa các trường hợp tử vong.
Những trường hợp sốt cao, khó thở cần
chủ động cách ly, đeo khẩu trang và đến
cơ sở y tế để được khám, tư vấn, xử lý,
lOMoARcPSD|36477832
phòng tránh lây lan. Việc nhận biết và
phát hiện sớm các dấu hiệu mắc bệnh có
thể giúp điều trị kịp thời, hạn chế tối đa
các trường hợp tử vong.
Đặc biệt, chủ động tiêm chủng vắc xin
cúm đúng lịch, đủ mũi, tiêm nhắc lại hằng
năm là biện pháp an toàn và hiệu quả để
bảo vệ cơ thể trẻ em, người lớn chống lại
bệnh cúm.
D02
Cúm
A/H3N2
Tiếp xúc trực
tiếp với người
đang mắc bệnh
cúm A/H3N2
Tiếp xúc với
các đồ vật đang
chứa virus
H3N2 thì virus
sẽ theo đường
hô hấp xâm
nhập vào phổi
Phần lớn các trường hợp mắc bệnh cúm A
H3N2, hay các chủng khác sẽ tự khỏi
trong khoảng 1-2 tuần. Hầu hết người
bệnh sẽ được tự điều trị tại nhà, trừ
trường hợp bệnh tiến triển nặng hoặc có
biến chứng thì cần đến các cơ sở y tế để
được thực hiện hồi sức tích cực hoặc xác
định nguyên nhân gây bệnh và điều trị
thích hợp.
Với người bệnh bị cúm A/H3N2 nhưng
triệu chứng chỉ ở mức độ nhẹ và không có
biến chứng thì có thể theo dõi và chăm
sóc tại nhà, đặc biệt cần đảm bảo các yếu
tố dưới đây:
Chế độ sinh hoạt lành mạnh, khoa học:
Nghỉ ngơi nhiều, ăn uống đầy đủ các chất
dinh dưỡng. Uống nhiều nước, hạn chế
ăn, uống các thực phẩm lạnh.
lOMoARcPSD|36477832
Sử dụng thuốc tại nhà: Sử dụng thuốc hạ
sốt theo đúng chỉ định của bác sĩ.
Tuân thủ quy tắc phòng bệnh và tránh lây
nhiễm: Hạn chế đến những nơi đông
người hoặc tiếp xúc với nhiều người để
tránh lây truyền virus cho người lành, nếu
có phải sử dụng khẩu trang y tế.
Xử lý kịp thời: Sau khoảng 7 ngày mà các
triệu chứng bệnh không giảm mà tiến
triển nặng hơn, người bệnh cần được đưa
đến cơ sở y tế để thăm khám kịp thời.
Biện pháp phòng ngừa:
Tiêm vắc xin phòng bệnh cúm A/H3N2
Tạo thói quen thường xuyên rửa tay bằng
nước sạch và xà phòng: Đây là cách đơn
giản và tốt nhất để ngăn sự xâm nhập của
virus, vi khuẩn.
Che miệng khi ho hoặc hắt hơi; đeo khẩu
trang.
Giữ gìn vệ sinh thân thể và vệ sinh môi
trường sống thông thoáng, sạch sẽ.
Xây dựng chế độ ăn uống cân bằng, tập
thể dục thường xuyên và nghỉ ngơi đầy
đủ.
Mang khẩu trang y tế đến nơi có đông
người như bệnh viện, siêu thị, công viên.
Hạn chế tiếp xúc với người bệnh, nếu cần
lOMoARcPSD|36477832
phải tiếp xúc như chăm sóc, điều trị…,
cần tuân thủ các biện pháp phòng lây
nhiễm như đã nói ở trên.
Tránh tiếp xúc với các loài gia cầm được
nuôi nhốt, hoặc gia cầm bị chết.
D03
Cúm
A/H5N1
Do virus cúm
A/H5N1 gây ra,
lây lan trong
cộng đồng do:
Sinh sống, hoạt
động gần các
trang trại lợn,
gia cầm và các
chợ nơi bán
trứng và gia
cầm điều kiện
vệ sinh không
đảm bảo.
Ăn thịt gia cầm
và trứng chưa
nấu chín.
Người bị cúm A H5N1 nên đến bệnh viện
để được điều trị vì nếu điều trị tại nhà
không đúng cách có thể gây nguy hiểm
cho cả người bệnh và người chăm sóc.
Nếu bệnh ở mức độ nặng, người bệnh cần
phải nhập viện để được theo dõi, điều trị
và chăm sóc phòng ngừa nguy cơ nhiễm
khuẩn thứ phát.
Khi điều trị tại nhà, người bệnh cần thực
hiện các biện pháp dưới đây để bệnh sớm
khỏi:
Nghỉ ngơi cho tới khi hạ sốt, thư giãn
trong môi trường thoáng khí, tránh những
nơi có nhiệt đ quá nóng hoặc quá lạnh,
không nên nằm phòng điều hòa.
Đảm bảo chế độ dinh dưỡng phù hợp, ăn
các đồ dễ tiêu, thực phẩm lỏng, nóng và
uống nhiều nước. Tránh ăn đồ ăn lạnh
ảnh hưởng tới họng và lâu khỏi bệnh. Sử
dụng nước muối loãng có tính sát khuẩn
tốt để vệ sinh họng 2-3 lần/ngày để giảm
nhanh triệu chứng đau rát họng và
lOMoARcPSD|36477832
viêm họng.
Vệ sinh mũi bằng thuốc xịt mi ngày để
kiểm soát viêm nhiễm.
Biện pháp phòng ngừa:
Không ăn gia cầm, các sản phẩm gia cầm
ốm, chết và không rõ nguồn gốc; đảm bảo
ăn chín, uống sôi; rửa tay bằng xà phòng
trước khi ăn.
Không giết mổ, vận chuyển, mua bán gia
cầm và sản phẩm gia cầm không rõ nguồn
gốc.
Khi phát hiện gia cầm ốm, chết tuyệt
đối không được giết mổ và sử dụng mà
phải thông báo ngay cho chính quyền
địa phương và đơn vị thú y trên địa bàn.
Khi có biểu hiện cúm như sốt, ho, đau
ngực, khó thở có liên quan đến gia cầm
phải đến ngay cơ sở y tế để được tư vấn,
khám và điều trị kịp thời.
D04
Cúm
A/H7N9
Do chủng virus
cúm H7N9
thuộc nhóm
ARN virus gây
ra
Không lây từ
người sang
người
Khi nghi ngờ nhiễm cúm A (H7N9),
người bệnh cần đến bệnh viện để được
thăm khám, cách ly và thực hiện xét
nghiệm đặc hiệu để chẩn đoán xác định
bệnh.
Khi ca bệnh được xác định, cần nhập viện
điều trị & cách ly hoàn toàn.
Sử dụng thuốc kháng virus (zanamivir
lOMoARcPSD|36477832
Lây từ gia cầm
sang người do
tiếp xúc và sử
dụng sản phẩm
gia cầm nhiễm
cúm
hoặc oseltamivir) càng sớm càng tốt.
Hồi sức hô hấp để có thể đảm bảo giữ
SpO2 ≥92%.
Điều trị suy đa tạng (nếu có).
Biện pháp phòng ngừa:
Tuyệt đối không ăn thịt gia cầm ốm hoặc
không rõ nguồn gốc. Đảm bảo ăn chín,
uống sôi & tập thói quen rửa tay bằng xà
phòng trước khi ăn;
Không giết mổ, vận chuyển và mua bán
gia cầm, các sản phẩm gia cầm không rõ
nguồn gốc;
Khi phát hiện gia cầm ốm, chết không rõ
nguyên nhân tuyệt đối không giết mổ và
sử dụng, phải thông báo ngay cho chính
quyền địa phương và đơn vị thú y trên địa
bàn;
Khi có biểu hiện cúm, sốt, ho, khó thở
liên quan đến gia cầm, người bệnh cần
đến ngay bệnh viện gần nhất để được tư
vấn và điều trị;
Người dân đi/ đến từ vùng dịch bệnh cúm
gia cầm lưu hành, cần theo dõi sức khỏe
để phát hiện sớm và điều trị, hạn chế tối
đa các biến chứng, tử vong.
D05
Cúm B
Do virus cúm B
gây ra, gồm 2
Bệnh do virus cúm B hay do virus khác
gây ra, hiện nay vẫn chưa có thuốc đặc trị
lOMoARcPSD|36477832
dòng:
B/Yamagata và
B Victoria Lây
từ người sang
người thông
qua giọt bắn
nhỏ trong
không khí khi
người bệnh ho,
hắt hơi hoặc
nói chuyện. Do
chạm vào các
bề mặt bị ô
nhiễm rồi chạm
vào miệng mũi.
riêng mà chủ yếu chỉ điều trị triệu chứng
kết hợp nâng cao thể lực, tăng sức đề
kháng cơ thể kết hợp với:
Uống thuốc hạ sốt giảm đau, hạ sốt không
cần kê đơn: Ibuprofen (Advil) (1) hoặc
Acetaminophen (Tylenol) (2), để làm
giảm triệu chứng.
Nghỉ ngơi nhiều hơn, giữ không gian
sống sạch sẽ, thoáng mát. Uống nhiều
nước, chia nhỏ các bữa ăn trong ngày. Bổ
sung các loại khoáng chất, vitamin giúp
tăng đề kháng, tăng miễn dịch và ngăn
ngừa biến chứng do virus.
Tiêm vắc xin phòng cúm để bảo vệ cơ thể
D06
Cúm C
Do virus cúm
C gây ra Lây
truyền từ người
sang người qua
tiếp xúc với
người nhiễm
bệnh hoặc qua
các bề mặt tiếp
xúc Virus cúm
C có thể tồn tại
sẵn trong người
Biện pháp phòng ngừa:
Hạn chế tiếp xúc trực tiếp với nguồn lây
như người mang bệnh hoặc người nghi
ngờ nhiễm bệnh. Việc vệ sinh cá nhân, sử
dụng khẩu trang khi ra ngoài và khi đến
những nơi công cộng là phương pháp
hiệu quả hạn chế nguy cơ tiếp xúc với
virus. Vệ sinh cá nhân sạch sẽ, rửa tay với
chất làm sạch đồng thời vệ sinh mũi,
họng với nước sát khuẩn.
Giữ ấm cơ thể khi thay đổi thời tiết, xây
dựng chế độ dinh dưỡng lành mạnh kết
lOMoARcPSD|36477832
dưới dạng mm
bệnh, gặp điều
kiện thuận lợi
sẽ bùng phát.
Thời tiết ẩm
lạnh dễ khiến
virus gây bệnh
hợp với hoạt động tập thể thao để nâng
cao thể trạng.
Không nên tự ý sử dụng thuốc cảm cúm,
đặc biệt với những đối tượng trẻ nhỏ, phụ
nữ mang thai và cho con bú, người có
bệnh lý nền, người đang sử dụng thuốc
điều trị bệnh lý khác…
II. Triệu chứng của các bệnh cảm cúm
Triệu chứng
Sốt
Sốt cao co giật
Sốt cao trên 39 độ kèm ớn lạnh
Sốt cao gián đoạn
Sốt liên tục trong nhiều giờ
Sốt nhẹ
Ban ngày sốt nhẹ, ban đêm sốt cao
Sốt cao và đột ngột trong vòng 1 đến 2 giờ
Đau toàn bộ đầu, chóng mặt
Đau nửa đầu
Đau nhói phần đỉnh đầu, đau nhiều về ban đêm
Đau đầu lan xuống vai gáy
Viêm họng
Ho có đờm
Ngứa họng, không ho
Đau họng khản tiếng
lOMoARcPSD|36477832
Ho khan
Sổ mũi
Nghẹt mũi
Đau ngực, tim đập nhanh
Đau các vùng cơ
Đau các khớp
Choáng váng đầu óc
Mệt mỏi
Cảm thấy rét run, toát mồ hôi lạnh
Nôn mửa
Tiêu chảy
Suy hô hấp
Sốt cao
Ho
PHẦN 3 : TRÌNH BÀY CƠ SỞ TRI THỨC, CÁC
LUẬT/CASES/CÁC MỐI LIÊN KẾT THÔNG TIN, THUẬT TOÁN
I. Thuật Toán
1. Suy diễn tiến ( thời điểm đầu của hê thống)
1.1. Khái n
Suy diễn tiến (lập luận tiến - forward chaining hoặc forward reasoning)
(tư tưởng bản của suy diễn tiến áp dụng luật suy diễn Modus Ponens tổng quát):
Là quá trình suy diễn bắt đầu từ tập sự kiện đã biết, rút ra những sự kiện mới và cứ
như vậy cho đến khi có được sự kiện cần chứng minh hoặc không luật nào sinh ra
các sự kiện mới (tập sự kiện đúng là cực đại).
1.2. Thuật toán
a. Đầu vào đầu ra thuật toán
- Đầu vào :
lOMoARcPSD|36477832
rules Danh sách các luật
facts Danh sách các triệu chứng
goal Mục tiêu - Đầu ra:
result thuật toán trả về True nếu đường dẫn đến mục tiêu tồn
tại. Khác –
False
road Danh sách các luật sử dụng để tìm kiếm mục tiêu
Facts Danh sách chứa các triệu chứng các bệnh dự đoán
được.
b. Thuật toán
Thuật toán Suy diễn tiến (Forward Chaining) một thuật toán quyết định
được sử dụng trong hệ thống chuyên gia thuyết lập luận. hoạt động bằng
cách suy ra các triệu chứng mới từ các luật triệu chứng đã biết cho đến khi đạt
được mục tiêu hoặc không còn cách nào để suy ra triệu chứng mới.
lOMoARcPSD|36477832
class ForwardChaining: def
forward_chaining(self, rules, facts, goal):
iteration = 0 road
= [] while goal not in
facts: rule_applied
= False iteration +=
1 for rule in rules:
if rule.flag1: # Nếu luật đã được dùng và chứng minh rồi
continue if rule.flag2: # Nếu đích đã được chứng minh rồi
continue if rule.right in facts: # Nếu vế phải đã được
chứng minh rồi rule.flag2 = True continue
missing = rule.follows( facts
) # Tìm xem có triệu chứng nào thiếu để kết luận luật đúng hay
không if missing is None: rule_applied = True
rule.flag1 = True facts.append(rule.right)
road.append("R" + str(rules.index(rule) +
1)) break if not rule_applied:
return False, road, facts # Không thể chứng minh mục tiêu
return True, road, facts # Đã chứng minh được mục tiêu
lOMoARcPSD|36477832
Trong code trên, chúng ta sử dụng danh sách rules để lưu trữ danh sách các
luật, facts để lưu trữ các triệu chứng đã biết, goal đlưu mục tiêu cần chứng
minh.
rule.flag1 và rule.flag2 sử dụng để đánh dấu xem luật và đích đã được chứng
minh hay chưa.
Trong mỗi vòng lặp, chúng ta duyệt qua danh sách luật kiểm tra xem luật
nào có thể được áp dụng (tức là tất cả các điều kiện của luật đều đúng).
Nếu luật nào thể áp dụng, chúng ta đánh dấu luật đó thêm triệu chứng
kết luận của luật đó vào danh sách facts.
Nếu không luật nào thể áp dụng, chúng ta trả về False để cho biết không
thể chứng minh mục tiêu.
Khi kết thúc vòng lặp, nếu mục tiêu nằm trong danh sách facts, chúng ta trả
về True và danh sách road facts đã cập nhật để biểu thị quá trình chứng
minh mục tiêu.
1.3. Ví dụ minh họa
(Chỉnh sửa thuật toán từ while goal not in facts: thành while 1 để xem xét toàn quá
trình suy diễn)
Phần 1. Data
Rule o R1: S01->D01 o R2: D01->D02 o R3: S02->S03 o R4: S06,S04-
>S07 o R5: S05,S02->S06 o R6: S01->S02
Facts S01, S04, S05.
Goal S07
Phần 2. Execution
1 ITERATION
o R1:S01->D01 được áp dụng. Cập nhật flag1. Facts S01, S04, S05 suy
ra D01.
lOMoARcPSD|36477832
2 ITERATION
o R1:S01->D01 bỏ qua, vì flag1 đã được cập nhật.
o R2:D01->D02 được áp dụng. Cập nhật flag1. Facts S01, S04, S05 suy
ra D01, D02.
3 ITERATION
o R1:S01->D01 bỏ qua, vì flag1 đã được cập nhật. o R2:D01-
>D02 bỏ qua, vì flag1 đã được cập nhật.
o R3:S02->S03 Không được áp dụng, thiếu fact: S02 o
R4:S06,S04->S07 Không được áp dụng, thiếu fact: S06 o
R5:S05,S02->S06 Không được áp dụng, thiếu fact: S02 o
R6:S01->S02 được áp dụng. Cập nhật flag1. Facts S01, S04, S05
suy ra D01, D02, S02.
4 ITERATION
o R1:S01->D01 bỏ qua, flag1 đã được cập nhật. o
R2:D01->D02 bỏ qua, vì flag1 đã được cập nhật.
o R3:S02->S03 được áp dụng. Cập nhật flag1. Facts
S01, S04, S05 suy ra D01, D02, S02, S03.
5 ITERATION
o R1:S01->D01 bỏ qua, flag1 đã được cập nhật. o
R2:D01->D02 bỏ qua, flag1 đã được cập nhật. o
R3:S02->S03 bỏ qua, flag1 đã được cập nhật.
o R4:S06,S04->S07 Không được áp dụng, thiếu fact:
S06 o R5:S05,S02->S06 được áp dụng. Cập nhật
flag1. Facts S01, S04, S05 suy ra D01, D02, S02,
S03, S06.
6 ITERATION
lOMoARcPSD|36477832
o R1:S01->D01 bỏ qua, flag1 đã được cập nhật. o
R2:D01->D02 bỏ qua, vì flag1 đã được cập nhật. o
R3:S02->S03 bỏ qua, flag1 đã được cập nhật.
o R4:S06,S04->S07 được áp dụng. Cập nhật flag1.
Facts S01, S04, S05 suy ra D01, D02, S02, S03, S06,
o S07.
7 ITERATION
o R1:S01->D01 bỏ qua, flag1 đã được cập nhật. o
R2:D01->D02 bỏ qua, vì flag1 đã được cập nhật. o
R3:S02->S03 bỏ qua, flag1 đã được cập nhật. o
R4:S06,S04->S07 bỏ qua, vì flag1 đã được cập nhật.
o R5:S05,S02->S06 bỏ qua, flag1 đã được cập
nhật. o R6:S01->S02 bỏ qua, flag1 đã được cập
nhật.
Phần 3. Kết quả
Facts S01, S04, S05, D01, D02, S02, S03, S06, S07.
Đường đi suy diễn được là:R1, R2, R6, R3, R5, R4 Phần 4. Giải thích và kết
luận:
Đây là một ví dụ cụ thể về cách Suy diễn tiến (Forward Chaining) hoạt động để tìm
mục tiêu S07 dựa trên tập luật và triệu chứng ban đầu.
Ban đầu, chúng ta chỉ biết một số triệu chứng ban đầu là S01, S04, và S05.
Trong vòng lặp thứ nhất, chúng ta áp dụng luật R1: S01->D01, triệu chứng
D01 được suy ra. Luật này được đánh dấu đã sử dụng (flag1 được cập nhật).
Trong vòng lặp thứ hai, chúng ta áp dụng luật R2: D01->D02, và triệu chứng
D02 được suy ra. Luật này cũng được đánh dấu là đã sử dụng.
lOMoARcPSD|36477832
Tiếp theo, chúng ta không thể áp dụng R3: S02->S03, R4: S06, S04->S07, và
R5: S05, S02->S06 vì thiếu triệu chứng S02.
Trong vòng lặp thứ tư, chúng ta áp dụng luật R6: S01->S02, triệu chứng
S02 được suy ra. Luật này cũng được đánh dấu là đã sử dụng.
Trong vòng lặp tiếp theo, chúng ta áp dụng luật R3: S02->S03, triệu chứng
S03 được suy ra.
Sau đó, chúng ta không thể áp dụng R4: S06, S04->S07 vẫn thiếu triệu
chứng S06.
Trong vòng lặp sau, chúng ta áp dụng luật R5: S05, S02->S06, và triệu chứng
S06 được suy ra.
Cuối cùng, trong vòng lặp cuối cùng, chúng ta áp dụng luật R4: S06, S04>S07,
và mục tiêu S07 được suy ra. Luật này cũng được đánh dấu là đã sử dụng.
Kết quả cuối cùng chúng ta đã chứng minh được mục tiêu S07 đường đi suy
diễn là R1, R2, R6, R3, R5, R4
1.4. Ưu Điểm
Tạo ra thông tin mới: Thuật toán Suy diễn tiến có khả năng tạo ra một lượng
lớn thông tin mới từ một số thông tin ban đầu. Điều này thể hữu ích trong
việc tìm hiểu và phân tích thông tin từ cơ sở tri thức.
Phù hợp cho việc lập kế hoạch và quyết định: Suy diễn tiến là một phương
pháp tiếp cận lý tưởng cho các bài toán liên quan đến lập kế hoạch, điều hành,
điều khiển và diễn dịch. Nó giúp tổng hợp thông tin và đưa ra quyết định dựa
trên dữ liệu có sẵn.
1.5. Nhược Điểm
Không cảm nhận các thông tin quan trọng: Hệ thống Suy diễn tiến thể bỏ
sót một số thông tin quan trọng không được đề cập trong sở tri thức. Hệ
lOMoARcPSD|36477832
thống chỉ reo hỏi theo quy tắc của luật và không cảm nhận sự quan trọng của
từng thông tin.
thể hỏi câu hỏi không liên quan: Trong quá trình suy diễn tiến, hệ thống
thể đặt ra các câu hỏi không liên quan đến mục tiêu hoặc không cần thiết, làm
cho người dùng cảm thấy bối rối.
Bùng nổ tổ hợp: Đối với các stri thức lớn với số lượng luật triệu chứng
lớn, việc áp dụng tất cả các luật thể dẫn đến sự tăng số lần lặp, gây bùng nổ
tổ hợp và làm tăng đáng kể độ phức tạp của thuật toán.
2. Suy diễn lùi
2.1. Khái niê
Suy diễn lùi quá trình suy diễn bắt đầu từ tập các sự kiện cần chứng minh tìm
kiếm ngược trở lại các luật mà vế phải của luật là các sự kiện cần chứng minh. Nếu
tất cả các sự kiện trong vế trái của một luật đã hoàn toàn mặt trong tập các sự kiện
cần chứng minh, thì sự kiện đó được xem là được chứng minh. Nếu có một sự kiện
nào đó vế trái của luật mà không nằm trong tập các skiện cần chứng minh ban
đầu, thì ta sẽ bổ sung sự kiện đó vào tập các sự kiện cần chứng minh. Đồng thời, ta
loại bỏ các skiện đã được chứng minh ra khỏi tập các sự kiện cần chứng minh. Quá
trình này tiếp tục cho đến khi mt trong hai điều sau xảy ra:
Tập các sự kiện cần chứng minh trở thành một tập con của vế trái của luật.
Trong trường hợp này, bài toán được chứng minh, và chúng ta có thể xác định
được vết suy diễn là danh sách các luật và các sự kiện đã được sử dụng trong
quá trình chứng minh.
Có một sự kiện trong tập các sự kiện cần chứng minh mà không tìm thấy luật
nào trong sở luật vế phải của luật chứa sự kiện đó. Trong trường hợp
này, sự kiện tương ứng không được chứng minh bài toán không thể giải
quyết.
lOMoARcPSD|36477832
2.2. Thuật toán
a. Đầu vào đầu ra thuật toán
Đầu vào:
Lớp rule: tập luật tri thức (rule.right: mã bệnh, rule.left: Danh sách các
triệu chứng)
Goal: Bệnh nghi ngờ người dùng mắc
Fact: Danh sách các triệu chứng mà người dùng b
Đầu ra:
Trả về True: nếu tồn tại một luật phù hợp với target_fact và goal
Trả về False: nếu không có luật nào phù hợp
b. Thuật toán
Code thực hiện suy diễn lùi:
lOMoARcPSD|36477832
class Rule: def
__init__(self, left, right):
self.left = left
self.right = right
def backward_chaining(rules, facts, goal): def
recursive_backward_chain(goal, facts): for
rule in rules: if rule.right == goal:
if all(elem in facts for elem in rule.left):
return True
return False
result = False for
goal_symptom in goal: if
goal_symptom in facts:
continue if
recursive_backward_chain(goal_symptom, facts):
facts.append(goal_symptom)
result = True else:
lOMoARcPSD|36477832
result = False
break
return result
# Sử dụng ví dụ: if
__name__ == "__main__":
rule1 = Rule(["S01", "S02", "S03", "S04"], "D01")
rule2 = Rule(["S01", "S02", "S05"], "D01") rule3 =
Rule(["S01", "S09", "S13", "S18"], "D01") rule4 =
Rule(["S01", "S02", "S14", "S23", "S25"], "D02") rule5
= Rule(["S01", "S02", "S14", "S24", "S28"], "D02")
rule6 = Rule(["S01", "S02", "S14", "S27", "S26"], "D02")
rule7 = Rule(["S01", "S02", "S14", "S27", "S29"], "D02")
rule8 = Rule(["S01", "S02", "S12", "S27", "S28"], "D02")
rule9 = Rule(["S01", "S02", "S13", "S27", "S28"], "D02")
rules = [rule1, rule2, rule3, rule4, rule5, rule6, rule7, rule8,
rule9] facts = ["S01", "S02", "S12", "S27", "S28"] goals =
["D02"]
for goal in goals:
result = backward_chaining(rules, facts, goal) if result: print(
f"Mục tiêu '{goal}' có thể được chứng minh với các triệu chứng và luật đã cho."
lOMoARcPSD|36477832
)
else:
print( f"Mục tiêu '{goal}' không thể được chứng minh với các
triệu chứng và luật đã cho."
)
2.3. Ví dụ
Phần 1. Dữ liệu
1) Tập luật
R1: S01,S02,S03,S04->D01
R2: S01,S02,S05->D01
R3: S01,S09,S13,S18->D01
R4: S01,S02,S14,S23,S25->D02
R5: S01,S02,S14,S24,S28->D02
R6: S01,S02,S14,S27,S26->D02
R7: S01,S02,S14,S27,S29->D02
R8: S01,S02,S12,S27,S28->D02
R9: S01,S02,S13,S27,S28->D02
2) Triệu chứng người dùng mắc phải S01, S02, S12, S27, S28.
3) Bệnh nghi ngờ D02.
Phần 2. Suy diễn
1) Goal D02:
- Tìm thấy luật R4: S01, S02, S14, S23, S25 -> D02.
lOMoARcPSD|36477832
- Các goals mới cần chứng mình là: S01, S02, S14, S23, S25.
2) - Goal S01:
- Cập nhật triệu chứng S01, bởi vì được tìm thấy trong tập triệu chứng gốc: S01,S02,
S12, S27, S28.
- Trả về thành công.
3) - Goal S02:
- Cập nhật triệu chứng S02, bởi vì được tìm thấy trong tập triệu chứng gốc: S01,S02,
S12, S27, S28.
- Trả về thành công.
4) - Goal S14:
- Không có luật nào để suy diễn hoặc không có triệu chứng này ban đầu.
- Trả về thất bại.
5) Goal D02:
- Tìm thấy luật R5: S01, S02, S14, S24, S28 -> D02.
- Các goals mới cần chứng mình là: S01, S02, S14, S24, S28.
6) - Goal S01:
- Cập nhật triệu chứng S01, bởi vì được tìm thấy trong tập triệu chứng gốc: S01,S02,
S12, S27, S28.
- Trả về thành công.
7) - Goal S02:
- Cập nhật triệu chứng S02, bởi vì được tìm thấy trong tập triệu chứng gốc: S01,S02,
S12, S27, S28.
- Trả về thành công.
lOMoARcPSD|36477832
8) - Goal S14:
- Không có luật nào để suy diễn hoặc không có triệu chứng này ban đầu.
- Trả về thất bại.
9) Goal D02:
- Tìm thấy luật R6: S01, S02, S14, S27, S26 -> D02.
- Các goals mới cần chứng mình là: S01, S02, S14, S27, S26.
10) - Goal S01:
- Cập nhật triệu chứng S01, bởi vì được tìm thấy trong tập triệu chứng gốc: S01,S02,
S12, S27, S28.
- Trả về thành công.
11) - Goal S02:
- Cập nhật triệu chứng S02, bởi vì được tìm thấy trong tập triệu chứng gốc: S01,S02,
S12, S27, S28.
- Trả về thành công.
12) - Goal S14:
- Không có luật nào để suy diễn hoặc không có triệu chứng này ban đầu.
- Trả về thất bại.
13) Goal D02:
- Tìm thấy luật R7: S01, S02, S14, S27, S29 -> D02.
- Các goals mới cần chứng mình là: S01, S02, S14, S27, S29.
14) - Goal S01:
- Cập nhật triệu chứng S01, bởi vì được tìm thấy trong tập triệu chứng gốc: S01,S02,
S12, S27, S28.
lOMoARcPSD|36477832
- Trả về thành công.
15) - Goal S02:
- Cập nhật triệu chứng S02, bởi vì được tìm thấy trong tập triệu chứng gốc: S01,S02,
S12, S27, S28.
- Trả về thành công.
16) - Goal S14:
- Không có luật nào để suy diễn hoặc không có triệu chứng này ban đầu.
- Trả về thất bại.
17) Goal D02:
- Tìm thấy luật R8: S01, S02, S12, S27, S28 -> D02.
- Các goals mới cần chứng mình là: S01, S02, S12, S27, S28.
18) - Goal S01:
- Cập nhật triệu chứng S01, bởi vì được tìm thấy trong tập triệu chứng gốc: S01,S02,
S12, S27, S28.
- Trả về thành công.
19) - Goal S02:
- Cập nhật triệu chứng S02, bởi vì được tìm thấy trong tập triệu chứng gốc: S01,S02,
S12, S27, S28.
- Trả về thành công.
20) - Goal S12:
- Cập nhật triệu chứng S12, bởi vì được tìm thấy trong tập triệu chứng gốc: S01,S02,
S12, S27, S28.
- Trả về thành công.
lOMoARcPSD|36477832
21) - Goal S27:
- Cập nhật triệu chứng S27, bởi vì được tìm thấy trong tập triệu chứng gốc: S01,S02,
S12, S27, S28.
- Trả về thành công.
22) - Goal S28:
- Cập nhật triệu chứng S28, bởi vì được tìm thấy trong tập triệu chứng gốc: S01,S02,
S12, S27, S28.
- Trả về thành công.
23) ==> Goal D02:
- Đã được chứng minh.
- Trả về thành công.
PART 3. Kết quả
Goal D02 được chứng minh.
Road: R8.
2.4. Ưu điểm
Phù hợp với giả thiết và mục tiêu đề ra: Suy diễn lùi tập trung vào việc kiểm
tra xem giả thiết đã đề ra đúng hay không, giúp đảm bảo tính chính xác
trong quá trình suy luận.
Tập trung vào đích đầu ra: Suy diễn lùi chỉ tạo ra các câu hỏi liên quan đến
vấn đề cụ thể mà bạn đang quan tâm. Điều này giúp giảm độ phức tạp và làm
cho quá trình suy luận trở nên hiệu quả hơn.
Chọn lựa thông tin cần thiết: Khi suy diễn lùi muốn suy luận cái đó từ thông
tin đã biết, nó chỉ tìm kiếm trên một phần nhỏ của cơ sở tri thức liên quan đến
vấn đề cụ thể đang xét. Điều này giúp giảm thời gian và tài nguyên cần thiết
cho suy luận.
lOMoARcPSD|36477832
Thích hợp cho các bài toán cụ thể: Suy diễn lùi thường được ưa chuộng trong
các nhiệm vụ như chẩn đoán bệnh, dự đoán, tìm lỗi nhiều ứng dụng khác
nơi tính toán chính xác quá trình suy luận trên mc tiêu cụ thể là quan trọng.
2.5. Nhược điểm
Dễ rơi vào hiện tượng mắc kẹt: Một trong nhược điểm cơ bản của suy diễn lùi
là có thể mắc kẹt trong việc chỉ tuân theo một dòng suy luận. Điều này có thể
dẫn đến việc quên mục tiêu ban đầu và không thể tiến xa hơn. Tuy nhiên,
người ta thể sử dụng nhân tố tin cậy các luật meta để khắc phục tình
trạng này.
Phức tạp hơn so với một số phương pháp khác: Suy diễn lùi thể phức tạp
hơn một chút so với các phương pháp suy luận khác. Tuy nhiên, nó có lợi ích
là chỉ tập trung vào các luật liên quan đến mục tiêu cụ thể, giúp giảm sự phức
tạp tổng thể.
Tìm kiếm sâu trên đồ thị: Thực tế, chế suy diễn lùi thể tương ứng với
việc thực hiện tìm kiếm sâu trên đồ thị hoặc biểu diễn tập luật. Điều này
thể tạo ra độ phức tạp và tốn thời gian đối với các tập luật lớn hoặc phức tạp.
lOMoARcPSD|36477832
3. Động cơ suy diễn
Kết hợp suy diễn tiến suy diễn lùi một cách mạnh mẽ để xây dựng một hệ thống
vấn hoặc chatbot hiệu quả. Khi áp dụng cả hai phương pháp suy diễn này, ta
thể tận dụng ưu điểm của cả hai để đạt được mục tiêu cuối cùng, tức là cung cấp
vấn tốt cho người dùng hoặc làm suy diễn về tình trạng sức khỏe của họ. Dưới đây
là cách mà việc kết hợp cả suy diễn tiến và suy diễn lùi có thể hoạt động:
1. Suy diễn tiến: Giai đoạn đầu tiên của quá trình vấn bắt đầu với suy diễn
tiến. Trong giai đoạn này, chatbot đặt các câu hỏi về triệu chứng hoặc thông
tin sức khỏe cụ thể của người dùng. Mục tiêu là thu thập đủ thông tin để suy
diễn ra các bệnh hoặc vấn đề sức khỏe tiềm ẩn.
2. Suy diễn lùi: Sau khi thu thập đủ thông tin từ suy diễn tiến, giai đoạn suy diễn
lùi bắt đầu. Chatbot người dùng tương tác với nhau để xem xét các triệu
chứng hoặc thông tin sức khỏe cụ thể. Chatbot sẽ thực hiện suy diễn từ các
triệu chứng thông tin thu thập được trong suy diễn tiến để đưa ra các khả
năng về bệnh hoặc tình trạng sức khỏe của người dùng.
3. Kết hợp kết quả: Cuối cùng, chatbot kết hợp kết quả từ cả suy diễn tiến
suy diễn lùi để cung cấp vấn cuối cùng cho người dùng. thể đưa ra
danh sách các bệnh có thể gặp phải dựa trên suy diễn tiến, sau đó sử dụng suy
diễn lùi đxác minh liệu người dùng bị bệnh đó hay không. Kết hợp này
giúp giảm thiểu sai sót và cung cấp tư vấn sức khỏe chính xác hơn.
II. Các luật/cases/các mối liên kết thông tin được sử dụng
1. Xây dựng luật suy diễn tiến
Mã luật
IF
THEN
R1
S01
D01
R2
S02
D01
R3
S03
D02
R4
S04
D03
lOMoARcPSD|36477832
R5
S05
D05
R6
S06
D03 or D04
R7
S07
D04
R8
S08
D01 or D03
R9
S09
D02
R10
S10
D04
R11
S11
D06
R12
S12
D02
R13
S13
D03 or D04
R14
S14
D05 or D06
R15
S15
D01 or D03 or D05
R16
S16
D02
R17
S17
D01 or D02
R18
S18
D02 or D03
R19
S19
D03 or D06
R20
S20
D01 or D02 or D05
R21
S21
D04
R22
S22
D01 or D03
R23
S23
D02 or D03 or D06
R24
S24
D05
R25
S25
D01 or D03 or D04
R26
S26
D02 or D05
R27
S27
D04
2. Xây dựng luật suy diễn lùi
Mã luật
IF
THEN
lOMoARcPSD|36477832
R1
S00 + S01 + S02 + S08 + S20
D01
R2
S00 + S01 + S02 + S25
D01
R3
S00 + S01 + S15 + S22 + S17
D01
R4
S00 + S03 + S09 + S12 + S16
D02
R5
S00 + S03 + S09 + S12 + S16 + S20
D02
R6
S00 + S03 + S09 + S12 + S20 + S23
D02
R7
S00 + S03 + S09 + S17 + S18 + S23
D02
R8
S00 + S03 + S09 + S18 + S23 + S26
D02
R9
S00 + S04 + S06 + S08 + S13
D03
R10
S00 + S04 + S06 + S08 + S15
D03
R11
S00 + S04 + S18 + S23 + S15
D03
R12
S00 + S04 + S18 + S23 + S25
D03
R13
S00 + S06 + S07 + S10 + S13 + S21
D04
R14
S00 + S06 + S07 + S10 + S13 + S24
D04
R15
S00 + S06 + S07 + S25 + S21
D04
R16
S00 + S06 + S07 + S25 + S24
D04
R17
S00 + S06 + S07 + S25 + S27 + S13
D04
R18
S00 + S05 + S14 + S15 + S20 + S24
D05
R19
S00 + S05 + S14 + S20 + S24 + S27
D05
R20
S00 + S05 + S20 + S27
D05
R21
S00 + S05 + S20 + S24
D05
R22
S00 + S05 + S24 + S27
D05
R23
S11 + S23
D06
R24
S11 + S14 + S19
D06
R25
S11 + S19 + S23
D06
R26
S19 + S14
D06
R27
S14 + S23
D06
lOMoARcPSD|36477832
3. Cấu trúc database
Ảnh 10. Cấu trúc database
PHẦN 4: KỊCH BẢN HỆ THỐNG
I. Cách thức hệ thống vận hành (Input, Output)
- Trong quá trình sử dụng, hệ thống thực hiện 8 bước bao gồm:
Bước 1: Hệ thống chào người dùng và hỏi người dùng về triệu chứng họ đang
gặp phải.
Bước 2: Nếu người dùng có triệu chứng ho hoặc sốt, chatbot sẽ hỏi các hỏi cụ
thể về trạng thái ho/sốt của người dùng.
Bước 3: Hệ thống hỏi người dùng thêm các câu hỏi phụ để xác định luật cho
suy diễn tiến, mỗi câu trả lời của người dùng (có hoặc không) sẽ đi theo một
kịch bản khác nhau.
Bước 4: Hệ thống các câu hỏi suy diễn tiến thực hiện thuật toán suy diễn
tiến để khoanh vùng bệnh nghi ngờ mà người dùng mắc phải
Bước 5: Từ những bệnh nghi ngờ bước 4. Hệ thống thực hiện suy diễn lùi
và hỏi người dùng các triệu chứng của các bệnh đó để kết luận bệnh.
lOMoARcPSD|36477832
Bước 6: Nếu tìm được bệnh tương ứng tại bước 5. Hệ thống sẽ thông báo về
các thông tin các triệu chứng gặp phải, nguyên nhân và lời khuyên về bệnh đó
cho người dùng.
- Phạm vi chuẩn đoán của hệ thống Chatbot sẽ tập trung hoàn toàn vào các bệnh
lýthường gặp của các bệnh cảm cúm.
II. Kiến trúc xây dựng hệ thống 1. Công cụ lập trình
Hệ thống sử dụng ngôn ngữ Python với công cụ Visual Studio Code.
Hệ thống sử dụng MySQL để lưu trữ cơ sở dữ liệu về luật, bệnh, triệu chứng,
nguyên nhân và lời khuyên.
2. Cấu trúc project
Ảnh 12. Cấu trúc project
3. Các file xử lý chính
Bao gồm 4 file:
backward_chainning.py (Thực hiện suy diễn lùi)
forward_chainning.py (Thực hiện suy diễn tiến)
class_all.py (Thực hiện truy vấn cơ sở dữ liệu và xử lý dữ liệu)
main.py (Thực hiện luồng chính)
lOMoARcPSD|36477832
3.1. class_all.py
File class_all.py lưu các class được sử dụng nhiều nhất trong hệ thống, bao
gồm:
ConvertData: để query dữ liệu từ Database
Validate: kiểm tra dữ liệu người dùng nhập vào có hợp lệ hay không
Person: lớp lưu dữ liệu người dùng
TreeForFC: lưu dữ liệu các triệu chứng vào cây nhị phân để phục
vụ phần suy diễn tiến
Chứa function printTree(): dùng để in cây nhị phân hiện tại
Chứa function searchindexrule(): tìm chỉ mục của các luật đã được xét
Chứa function get_s_in_d():
Gộp các luật chứa triệu chứng đang hỏi của 1 bệnh nhất định nếu người
dùng trả lời có
Gộp các luật không chứa triệu chứng đang hỏi của 1 bệnh nhất định
nếu người dùng trả lời không
3.2. main.py
File main.py là file xử lý chính, thực hiện chạy code ở file này
Nhiệm vụ đưa ra câu hỏi và nhận câu trả lời từ phía người dùng sau đó xử lý
và đưa ra kết quả.
3.3. Forward_chaining.py
Xử lý logic phần câu hỏi suy diễn tiến
Bước đầu đưa ra được chuẩn đoán bộ về các chứng bệnh người dùng
có thể mắc phải
Kết quả của phần này là input cho phần xử lý suy diễn lùi
lOMoARcPSD|36477832
3.4. Backward_chaining.py
Từ kết quả của phần suy diễn tiến một vài câu hỏi khác đxử đưa ra
chuẩn đoán chính xác về bệnh mà người dùng có thể đang mắc phải.
III. Kịch bản vận hành
STT
Actor + Hành
động
Message
1
Chatbot chào
và hỏi triệu
chứng người
dùng
Xin chào, tôi là chatbot chuẩn đoán và tư vấn bệnh cảm!
Vui lòng nhập triệu chứng của bạn để chúng tôi có thể
chuẩn đoán bệnh và tư vấn cho bạn!
2
Chatbot yêu
cầu nhập triệu
chứng
Hãy nhập triệu chứng của bạn
3
Người dùng
nhập triệu
chứng
Tôi bị ho, sốt và cơ thể cảm thấy mệt mỏi.
4
Chatbot thông
báo
Danh sách các triệu chứng bạn đang mắc:
['S00 Sốt', 'S23 Mệt mi', 'S29 Ho']
5
Chatbot hỏi
Bạn đang có triệu chứng HO- một trong số các triệu chứng
phổ biến của các bệnh cảmm.
Để có chuẩn đoán chính xác, hãy cho tôi biết chi tiết thêm
về tình trạng ho
1. Ho có đờm
2. Ho khan
0. Bỏ qua
6
Người dùng
nhập
2
7
Chatbot thông
báo
Danh sách mã các triệu chứng bạn đang mắc:
['S00 Sốt', 'S23 Mệt mi', 'S29 Ho', 'S16 Ho khan’]
lOMoARcPSD|36477832
8
Chatbot hỏi
Bạn đang có triệu chứng SỐT- một trong số các triệu
chứng phổ biến của các bệnh cảm cúm.
Để có chuẩn đoán chính xác, hãy cho tôi biết chi tiết
thêm về tình trạng sốt 1. Sốt cao (>39 độ))
2. Sốt nhẹ (<=39 độ)
0. Bỏ qua
9
Người dùng
nhập
2
10
Chatbot thông
báo
Danh sách mã các triệu chứng bạn đang mắc:
['S00 Sốt', 'S23 Mệt mỏi', 'S29 Ho', 'S16 Ho khan', 'S05 Sốt
nhẹ']
11
Chatbot hỏi
Bạn có triệu chứng Sổ mũi không (trả lời có hoặc không):
12
Người dùng
nhập
không
13
Chatbot thông
báo
Danh sách mã các triệu chứng bạn đang mắc:
['S00 Sốt', 'S23 Mệt mỏi', 'S29 Ho', 'S16 Ho khan', 'S05 Sốt
nhẹ']
14
Chatbot hỏi
Bạn có triệu chứng Suy hô hấp không (trả lời có hoặc
không):
15
Người dùng
nhập
0
16
Chatbot thông
báo
Danh sách mã các triệu chứng bạn đang mắc:
['S00 Sốt', 'S23 Mệt mỏi', 'S29 Ho', 'S16 Ho khan', 'S05 Sốt
nhẹ']
17
Chatbot thông
báo
Chúng tôi dự đoán bạn có thể bị bệnh : Cúm B, Cúm
A/H3N2, Cúm A/H5N1, Cúm C,
Trên đây là chuẩn đoán sơ bộ của chúng tôi. Tiếp theo,
chúng tôi sẽ hỏi bạn một số câu hỏi để đưa ra kết quả chính
xác.
18
Chatbot thông
báo
Chúng tôi đã có các triệu chứng ban đầu và có thể bạn mắc
bệnh Cúm B(D05) , sau đây chúng tôi muốn hỏi bạn một
vài câu hỏi để tìm hiểu về bệnh bạn đang mắc phải.
19
Chatbot hỏi
Bạn có bị triệu chứng Ngứa họng, không ho(S14) không?
20
Người dùng
nhập
không
lOMoARcPSD|36477832
21
Chatbot hỏi
Bạn có bị triệu chứng Đau các vùng cơ(S20) không?
22
Người dùng
nhập
0
23
Chatbot hỏi
Bạn có bị triệu chứng Suy hô hấp(S27) không?
24
Người dùng
nhập
khong
25
Chatbot thông
báo
Có vẻ như bạn không mắc bệnh D05-Cúm B
26
Chatbot thông
Chúng tôi đã có các triệu chứng ban đầu và có thể bạn mắc
báo
bệnh Cúm A/H3N2(D02) , sau đây chúng tôi muốn hỏi bạn
một vài câu hỏi để tìm hiểu về bệnh bạn đang mắc phải
27
Chatbot hỏi
Bạn có bị triệu chứng Sốt cao gián đoạn(S03) không?
28
Người dùng
nhập
29
Chatbot hỏi
Bạn có bị triệu chứng Đau nửa đầu(S09) không?
30
Người dùng
nhập
31
Chatbot hỏi
Bạn có bị triệu chứng Viêm họng(S12) không?
32
Người dùng
nhập
lOMoARcPSD|36477832
33
Chatbot thông
báo
Chúng tôi chuẩn đoán bạn mắc bệnh D02- Cúm A/H3N2
Lời khuyên
Phần lớn các trường hợp mắc bệnh cúm A H3N2, hay các
chủng khác sẽ tự khỏi trong khoảng 1-2 tuần. Hầu hết
người bệnh sẽ được tự điều trị tại nhà, trừ trường hợp
bệnh tiến triển nặng hoặc có biến chứng thì cần đến các cơ
sở y tế để được thực hiện hồi sức tích cực hoặc xác định
nguyên nhân gây bệnh và điều trị thích hợp.
Với người bệnh bị cúm A/H3N2 nhưng triệu chứng chỉ ở
mức độ nhẹ và không có biến chứng thì có thể theo dõi và
chăm sóc tại nhà, đặc biệt cần đảm bảo các yếu tố dưới
đây:
Chế độ sinh hoạt lành mạnh, khoa học: Nghỉ ngơi nhiều, ăn
uống đầy đủ các chất dinh dưỡng. Uống nhiều nước, hạn
chế ăn, uống các thực phẩm lạnh.
Sử dụng thuốc tại nhà: Sử dụng thuốc hạ sốt theo đúng chỉ
định của bác sĩ.
Tuân thủ quy tắc phòng bệnh và tránh lây nhiễm: Hạn chế
đến những nơi đông người hoặc tiếp xúc với nhiều người
để tránh lây truyền virus cho người lành, nếu có phải sử
dụng khẩu trang y tế.
Xử lý kịp thời: Sau khoảng 7 ngày mà các triệu chứng
bệnh không giảm mà tiến triển nặng hơn, người bệnh cần
được đưa đến cơ sở y tế để thăm khám kịp thời.
lOMoARcPSD|36477832
Biện pháp phòng ngừa:
Tiêm vắc xin phòng bệnh cúm A/H3N2
Tạo thói quen thường xuyên rửa tay bằng nước sạch và
xà phòng: Đây là cách đơn giản và tốt nhất để ngăn sự
xâm nhập của virus, vi khuẩn.
Che miệng khi ho hoặc hắt hơi; đeo khẩu trang.
Giữ gìn vệ sinh thân thể và vệ sinh môi trường sống thông
thoáng, sạch sẽ.
Xây dựng chế độ ăn uống cân bằng, tập thể dục thường
xuyên và nghỉ ngơi đầy đủ.
Mang khẩu trang y tế đến nơi có đông người như bệnh
viện, siêu thị, công viên.
Hạn chế tiếp xúc với người bệnh, nếu cần phải tiếp xúc
như chăm sóc, điều trị…, cần tuân thủ các biện pháp
phòng lây nhiễm như đã nói ở trên.
Tránh tiếp xúc với các loài gia cầm được nuôi nhốt,
hoặc gia cầm bị chết.
Cám ơn bạn đã sử dụng chat bot của chúng tôi
IV. Demo chương trình và giải thích chi tiết Phần 1: Chatbot chào và hỏi
người dùng đang mắc triệu chứng
Hàm thực hiện:
def input_symptom(list_symptom_of_person):
while True:
if len(list_symptom_of_person) == len(db.resulttrieutrung): break
if len(list_symptom_of_person) == 0:
print(f'-->Chatbot: Vui lòng nhp triu chng cu)a bạn để )chúng tôi có th) chu)n đoán bệnh và tư
v5n cho bn!')
lOMoARcPSD|36477832
symptom_input = input("-->Hãy nhp triu chng cu)a bn: ")
matched_symptoms = extract_symptoms(symptom_input)
if len(matched_symptoms) == 0:
print("-->Chatbot: Nhng triu chng bn va nhp nm ngoài t?m hi)u bi5t cu)a tôi. Vui lòng
thư) lại.") continue else:
list_symptom_of_person = matched_symptoms break
return list_symptom_of_person
Giải thích:
Khi người dùng bắt đầu sdụng hthống, hệ thống sẽ đưa ra lời chào yêu cầu
người dùng nhập các triệu chứng của bản thân.
Sau khi người dùng nhập các triệu chứng của bản thân, hệ thống sẽ phân tách các từ
so sánh với các triệu chứng trong database rồi trả lại kết quả. Nếu triệu chứng
người dùng nhập không trong database, Chatbot sẽ thông báo lại rằng triệu chứng
nằm ngoài tầm hiểu biết yêu cầu người dùng nhập lại. Phần 2: Câu hỏi về tình
trạng ho
Hàm thực hiện:
def second_question(list_symptom_of_person):
hoKhan = [db.resulttrieutrung[16]]
hoCoDom = [db.resulttrieutrung[13]]
while (1):
check = {'idtrieuchung': 'S29', 'noidung': 'Ho'}
checkHoKhan = {'idtrieuchung': 'S16', 'noidung': 'Ho khan'}
checkSotNhe = {'idtrieuchung': 'S13', 'noidung': 'Ho có đờm'} if(checkHoKhan in
list_symptom_of_person or checkSotNhe in list_symptom_of_person): return list_symptom_of_person if
(check in list_symptom_of_person):
lOMoARcPSD|36477832
print(f'-->Chatbot: Bạn đang có triu chng HO- mt trong sô5 các triu chng phô) bi5n cu)a các
bnh ca)m cúm.\n Để) có chuẩ)n đoán chính xác, hãy cho tôi biể5t chi ti5t thm v? tình trng ho')
print('1. Ho có đờm')
print('2. Ho khan')
print('0. Bo) qua')
print('---------------Cu tra) li cu)a bn---------------')
answer = validate.validate_input_number_form(input())
# print("Người dùng: La chn cu)a tôi ", answer)
print(f'-->Bn: La chn cu)a tôi {answer}') if(answer == '0'): break
if (int(answer) < 0 or int(answer) > 2):
print('-->Chatbot: Vui lòng nhp sô5 t 0 -> 2')
continue
elif (answer == '2'):
list_symptom_of_person.append(hoKhan[0]) break else:
list_symptom_of_person.append(hoCoDom[0]) break
else:
break
print(f'-->Chatbot: Danh sách mã các triu chng bn đang mắ5c:',
[i['idtrieuchung'] + " " + i['noidung'] for i in list_symptom_of_person])
return list_symptom_of_person
Giải thích:
Nếu trước đó người dùng nhập triệu chứng là ho thì câu hỏi 2 shỏi cụ thể hơn
về tình trạng ho (Ho khan hay ho có đờm)
Người dùng có thể chọn một trong hai triệu chứng hoặc bỏ qua câu hỏi.
Hàm Validate hoạt động khi người dùng nhập số ngoài các lựa chọn 0, 1 2 hoặc
không phải dạng số.
Tình trạng ho sẽ được lưu vào list_symptom_of_person.
Phần 3: Câu hỏi về tình trạng sốt
Hàm thực hiện:
lOMoARcPSD|36477832
def after_second_question(list_symptom_of_person):
sotNhe = [db.resulttrieutrung[5]]
sotCao = [db.resulttrieutrung[28]] while (1):
check = {'idtrieuchung': 'S00', 'noidung': 'Sô5t'}
checkSotCao = {'idtrieuchung': 'S28', 'noidung': 'Sô5t cao'}
checkSotNhe = {'idtrieuchung': 'S05', 'noidung': 'Sô5t nh'} if(checkSotNhe in
list_symptom_of_person or checkSotCao in list_symptom_of_person): return
list_symptom_of_person if (check in list_symptom_of_person):
print(f'-->Chatbot: Bạn đang có triu chng S5T- mt trong sô5 các triu chng phô) bi5n cu)a các
bnh ca)m cúm.\n Để) có chuẩ)n đoán chính xác, hãy cho tôi biể5t chi ti5t thm v? tình trng sô5t')
print('1. Sô5t cao (>39 độ))')
print('2. Sô5t nh (<=39 độ)')
print('0. Bo) qua')
print('---------------Cu tra) li cu)a bn---------------')
answer = validate.validate_input_number_form(input())
# print("Người dùng: La chn cu)a tôi ", answer)
print(f'-->Bn: La chn cu)a tôi {answer}') if(answer == '0'): break
if (int(answer) < 0 or int(answer) > 2):
print('-->Chatbot: Vui lòng nhp sô5 t 0 -> 2')
continue
elif (answer == '2'):
list_symptom_of_person.append(sotNhe[0]) break
else:
list_symptom_of_person.append(sotCao[0]) break
else:
break
print(f'-->Chatbot: Danh sách mã các triu chng bn đang mắ5c:',
[i['idtrieuchung'] + " " + i['noidung'] for i in list_symptom_of_person])
return list_symptom_of_person
Giải thích:
Nếu trước đó người dùng nhập triệu chứng sốt thì câu hỏi tiếp theo sẽ hỏi cụ
thể hơn về tình trạng sốt (Sốt nhẹ hay sốt cao)
Người dùng có thể chọn một trong hai triệu chứng hoặc bỏ qua câu hỏi.
Hàm Validate hoạt động khi người dùng nhập số ngoài các lựa chọn 0, 1 2 hoặc
không phải dạng số.
Tình trạng sốt sẽ được lưu vào list_symptom_of_person.
lOMoARcPSD|36477832
Phần 4: Các câu hỏi phụ trợ
Hàm sử dụng:
def forth_question_before_forward_inference(list_symptom_of_person):
initTree=
TreeForFC('S00',TreeForFC('S29',TreeForFC('S16',TreeForFC('S27'),TreeForFC
('S21')),TreeForFC('S19',TreeForFC('S11'),TreeForFC('S23'))),TreeForFC('S1
7',TreeForFC('S15',TreeForFC('S12'),TreeForFC('S26')),TreeForFC('S27',Tree
ForFC('S12'),TreeForFC('S19'))))
savedTree = initTree
question_count = 0
while(1):
currentSym = db.get_trieuchung_by_id(savedTree.value)
check = {'idtrieuchung': currentSym["idtrieuchung"], 'noidung': currentSym["noidung"]}
if check in list_symptom_of_person: savedTree = savedTree.right
continue
print(f'-->Chatbot: Bn có triu chng {currentSym["noidung"]} không (tra) li có hoc không):')
answer = validate.validate_binary_answer(input()) print(f'-->Bn: Cu tra) li
cu)a tôi là {answer}') if answer:
savedTree = savedTree.left
list_symptom_of_person.append(currentSym)
else:
savedTree = savedTree.right
question_count += 1
print(f'-->Chatbot: Danh sách mã các triu chng mà bạn đang mắ5c:', [i['idtrieuchung'] + " " +
i['noidung'] for i in list_symptom_of_person]) if question_count == 2: break
return list_symptom_of_person
Giải thích:
Danh sách các câu hỏi được chatbot sử dụng được lấy ra từ 1 cây nhị phân cấp 4 đã
lưu sẵn, chatbot sẽ hỏi người dùng 2 câu hỏi.
Khi người dùng trả lời có, chatbot sẽ hỏi các triệu chứng có liên quan đã được trình
bày trong cây nhị phân có sẵn, nếu trả lời không thì ngược lại.
lOMoARcPSD|36477832
Hàm Validate hoạt động khi người dùng nhập số ngoài 0 và 1 hoặc không phải dạng
số.
Các triệu chứng người dùng có sẽ được lưu vào list_symptom_of_person.
Phần 5: Suy diễn tiến
Hàm thực hiện:
def forward_chaining(rule, fact, goal, file_name): fc = ForwardChaining(rule,
fact, None, file_name)
list_predicted_disease = [i for i in fc.facts if i[0] == "D"] print(
f'-->Chatbot: Chúng tôi d đoán bạn có th) b bnh :', end=" ") for i in list_predicted_disease:
temp = db.get_benh_by_id(i)
print(temp['tenBenh'], end=', ') print()
print(
f'-->Chatbot: Trển đẩy là chuẩ)n đoán sơ bộ cu)a chúng tôi. Ti5p theo, chúng tôi s ho)i bn mt sô5
cẩu ho)i để) đưa ra kể5t qua) chính xác.', end=" ")
return list_predicted_disease
PART 1. Dữ liệu (Luật)
1) Productions
R1: S01->D01
R2: S10->D04
R3: S11->D06
R4: S12->D02
R5: S13->D03
R6: S13->D04
R7: S14->D05
R8: S14->D06
R9: S15->D01
R10: S15->D03
R11: S15->D05
lOMoARcPSD|36477832
R12: S16->D02
R13: S17->D01
R14: S17->D02
R15: S18->D02
R16: S18->D03
R17: S19->D03
R18: S19->D06
R19: S02->D01
R20: S20->D01
R21: S20->D02
R22: S20->D05
R23: S21->D04
R24: S22->D01
R25: S22->D03
R26: S23->D02
R27: S23->D03
R28: S23->D06
R29: S24->D05
R30: S25->D01
R31: S25->D03 R32: S25->D04
R33: S26->D02
R34: S26->D05
R35: S27->D04
R36: S03->D02
R37: S04->D03
R38: S05->D05
R39: S06->D03
R40: S06->D04
R41: S07->D04
lOMoARcPSD|36477832
R42: S08->D01
R43: S08->D03
2) Facts S00, S06, S21, S23.
3) Goal None
PART 2. Suy Diễn
1 ITERATION
R1:S01->D01 Không được áp dụng, vì thiếu fact: S01
R2:S10->D04 Không được áp dụng, vì thiếu fact: S10
R3:S11->D06 Không được áp dụng, vì thiếu fact: S11
R4:S12->D02 Không được áp dụng, vì thiếu fact: S12
R5:S13->D03 Không được áp dụng, vì thiếu fact: S13
R6:S13->D04 Không được áp dụng, vì thiếu fact: S13
R7:S14->D05 Không được áp dụng, vì thiếu fact: S14
R8:S14->D06 Không được áp dụng, vì thiếu fact: S14
R9:S15->D01 Không được áp dụng, vì thiếu fact: S15
R10:S15->D03 Không được áp dụng, thiếu fact: S15 R11:S15->D05
Không được áp dụng, vì thiếu fact: S15
R12:S16->D02 Không được áp dụng, vì thiếu fact: S16
R13:S17->D01 Không được áp dụng, vì thiếu fact: S17
R14:S17->D02 Không được áp dụng, vì thiếu fact: S17
R15:S18->D02 Không được áp dụng, vì thiếu fact: S18
R16:S18->D03 Không được áp dụng, vì thiếu fact: S18
R17:S19->D03 Không được áp dụng, vì thiếu fact: S19
R18:S19->D06 Không được áp dụng, vì thiếu fact: S19
R19:S02->D01 Không được áp dụng, vì thiếu fact: S02
R20:S20->D01 Không được áp dụng, vì thiếu fact: S20
R21:S20->D02 Không được áp dụng, vì thiếu fact: S20
R22:S20->D05 Không được áp dụng, vì thiếu fact: S20
lOMoARcPSD|36477832
R23:S21->D04 được áp dụng. Cập nhật flag1. Facts S00, S06, S21, S23 suy
ra D04.
2 ITERATION
R1:S01->D01 Không được áp dụng, vì thiếu fact: S01
R2:S10->D04 không áp dụng, vì D04 nắm trong số các facts. Cập nhật flag2.
R3:S11->D06 Không được áp dụng, vì thiếu fact: S11
R4:S12->D02 Không được áp dụng, vì thiếu fact: S12
R5:S13->D03 Không được áp dụng, vì thiếu fact: S13
R6:S13->D04 không áp dụng, vì D04 nắm trong số các facts. Cập nhật flag2.
R7:S14->D05 Không được áp dụng, vì thiếu fact: S14
R8:S14->D06 Không được áp dụng, vì thiếu fact: S14
R9:S15->D01 Không được áp dụng, vì thiếu fact: S15
R10:S15->D03 Không được áp dụng, vì thiếu fact: S15
R11:S15->D05 Không được áp dụng, vì thiếu fact: S15
R12:S16->D02 Không được áp dụng, vì thiếu fact: S16
R13:S17->D01 Không được áp dụng, vì thiếu fact: S17
R14:S17->D02 Không được áp dụng, vì thiếu fact: S17
R15:S18->D02 Không được áp dụng, vì thiếu fact: S18
R16:S18->D03 Không được áp dụng, vì thiếu fact: S18
R17:S19->D03 Không được áp dụng, vì thiếu fact: S19
R18:S19->D06 Không được áp dụng, vì thiếu fact: S19
R19:S02->D01 Không được áp dụng, vì thiếu fact: S02
R20:S20->D01 Không được áp dụng, vì thiếu fact: S20
R21:S20->D02 Không được áp dụng, vì thiếu fact: S20
R22:S20->D05 Không được áp dụng, vì thiếu fact: S20 R23:S21-
>D04 bỏ qua, vì flag1 đã được cập nhật.
R24:S22->D01 Không được áp dụng, vì thiếu fact: S22
R25:S22->D03 Không được áp dụng, vì thiếu fact: S22
lOMoARcPSD|36477832
R26:S23->D02 được áp dụng. Cập nhật flag1. Facts S00, S06, S21, S23 suy
ra D04, D02.
3 ITERATION
R1:S01->D01 Không được áp dụng, thiếu fact: S01 R2:S10-
>D04 bỏ qua, vì flag2 đã được cập nhật.
R3:S11->D06 Không được áp dụng, vì thiếu fact: S11
R4:S12->D02 không áp dụng, vì D02 nắm trong số các facts. Cập nhật flag2.
R5:S13->D03 Không được áp dụng, thiếu fact: S13 R6:S13-
>D04 bỏ qua, vì flag2 đã được cập nhật.
R7:S14->D05 Không được áp dụng, vì thiếu fact: S14
R8:S14->D06 Không được áp dụng, vì thiếu fact: S14
R9:S15->D01 Không được áp dụng, vì thiếu fact: S15
R10:S15->D03 Không được áp dụng, vì thiếu fact: S15
R11:S15->D05 Không được áp dụng, vì thiếu fact: S15
R12:S16->D02 không áp dụng, D02 nắm trong số các facts. Cập nhật flag2.
R13:S17->D01 Không được áp dụng, vì thiếu fact: S17
R14:S17->D02 không áp dụng, D02 nắm trong số các facts. Cập nhật flag2.
R15:S18->D02 không áp dụng, D02 nắm trong số các facts. Cập nhật flag2.
R16:S18->D03 Không được áp dụng, vì thiếu fact: S18
R17:S19->D03 Không được áp dụng, vì thiếu fact: S19
R18:S19->D06 Không được áp dụng, vì thiếu fact: S19
R19:S02->D01 Không được áp dụng, vì thiếu fact: S02
R20:S20->D01 Không được áp dụng, vì thiếu fact: S20
R21:S20->D02 không áp dụng, D02 nắm trong số các facts. Cập nhật flag2.
R22:S20->D05 Không được áp dụng, thiếu fact: S20 R23:S21-
>D04 bỏ qua, vì flag1 đã được cập nhật.
R24:S22->D01 Không được áp dụng, vì thiếu fact: S22
lOMoARcPSD|36477832
R25:S22->D03 Không được áp dụng, thiếu fact: S22 R26:S23-
>D02 bỏ qua, vì flag1 đã được cập nhật.
R27:S23->D03 được áp dụng. Cập nhật flag1. Facts S00, S06, S21, S23 suy
ra D04, D02, D03.
4 ITERATION
R1:S01->D01 Không được áp dụng, vì thiếu fact: S01
R2:S10->D04 bỏ qua, vì flag2 đã được cập nhật.
R3:S11->D06 Không được áp dụng, vì thiếu fact: S11
R4:S12->D02 bỏ qua, vì flag2 đã được cập nhật.
R5:S13->D03 không áp dụng, vì D03 nắm trong số các facts. Cập nhật flag2.
R6:S13->D04 bỏ qua, vì flag2 đã được cập nhật.
R7:S14->D05 Không được áp dụng, vì thiếu fact: S14
R8:S14->D06 Không được áp dụng, vì thiếu fact: S14
R9:S15->D01 Không được áp dụng, vì thiếu fact: S15
R10:S15->D03 không áp dụng, D03 nắm trong số các facts. Cập nhật flag2.
R11:S15->D05 Không được áp dụng, vì thiếu fact: S15
R12:S16->D02 bỏ qua, vì flag2 đã được cập nhật.
R13:S17->D01 Không được áp dụng, vì thiếu fact: S17
R14:S17->D02 bỏ qua, vì flag2 đã được cập nhật.
R15:S18->D02 bỏ qua, vì flag2 đã được cập nhật.
R16:S18->D03 không áp dụng, D03 nắm trong số các facts. Cập nhật flag2.
R17:S19->D03 không áp dụng, D03 nắm trong số các facts. Cập nhật flag2.
R18:S19->D06 Không được áp dụng, vì thiếu fact: S19
R19:S02->D01 Không được áp dụng, vì thiếu fact: S02
R20:S20->D01 Không được áp dụng, vì thiếu fact: S20
R21:S20->D02 bỏ qua, vì flag2 đã được cập nhật.
R22:S20->D05 Không được áp dụng, vì thiếu fact: S20
R23:S21->D04 bỏ qua, vì flag1 đã được cập nhật.
R24:S22->D01 Không được áp dụng, vì thiếu fact: S22
lOMoARcPSD|36477832
R25:S22->D03 không áp dụng, D03 nắm trong số các facts. Cập nhật flag2.
R26:S23->D02 bỏ qua, vì flag1 đã được cập nhật.
R27:S23->D03 bỏ qua, vì flag1 đã được cập nhật.
R28:S23->D06 được áp dụng. Cập nhật flag1. Facts S00, S06, S21, S23 suy
ra D04, D02, D03, D06.
5 ITERATION
R1:S01->D01 Không được áp dụng, thiếu fact: S01 R2:S10-
>D04 bỏ qua, vì flag2 đã được cập nhật.
R3:S11->D06 không áp dụng, vì D06 nắm trong số các facts. Cập nhật flag2.
R4:S12->D02 bỏ qua, vì flag2 đã được cập nhật.
R5:S13->D03 bỏ qua, vì flag2 đã được cập nhật.
R6:S13->D04 bỏ qua, vì flag2 đã được cập nhật.
R7:S14->D05 Không được áp dụng, vì thiếu fact: S14
R8:S14->D06 không áp dụng, vì D06 nắm trong số các facts. Cập nhật flag2.
R9:S15->D01 Không được áp dụng, vì thiếu fact: S15
R10:S15->D03 bỏ qua, vì flag2 đã được cập nhật.
R11:S15->D05 Không được áp dụng, vì thiếu fact: S15
R12:S16->D02 bỏ qua, vì flag2 đã được cập nhật.
R13:S17->D01 Không được áp dụng, vì thiếu fact: S17
R14:S17->D02 bỏ qua, vì flag2 đã được cập nhật.
R15:S18->D02 bỏ qua, vì flag2 đã được cập nhật.
R16:S18->D03 bỏ qua, vì flag2 đã được cập nhật.
R17:S19->D03 bỏ qua, vì flag2 đã được cập nhật.
R18:S19->D06 không áp dụng, D06 nắm trong số các facts. Cập nhật flag2.
R19:S02->D01 Không được áp dụng, vì thiếu fact: S02
R20:S20->D01 Không được áp dụng, vì thiếu fact: S20
R21:S20->D02 bỏ qua, vì flag2 đã được cập nhật.
R22:S20->D05 Không được áp dụng, vì thiếu fact: S20
R23:S21->D04 bỏ qua, vì flag1 đã được cập nhật.
lOMoARcPSD|36477832
R24:S22->D01 Không được áp dụng, vì thiếu fact: S22
R25:S22->D03 bỏ qua, vì flag2 đã được cập nhật.
R26:S23->D02 bỏ qua, vì flag1 đã được cập nhật.
R27:S23->D03 bỏ qua, vì flag1 đã được cập nhật.
R28:S23->D06 bỏ qua, vì flag1 đã được cập nhật.
R29:S24->D05 Không được áp dụng, vì thiếu fact: S24
R30:S25->D01 Không được áp dụng, vì thiếu fact: S25
R31:S25->D03 không áp dụng, D03 nắm trong số các facts. Cập nhật flag2.
R32:S25->D04 không áp dụng, D04 nắm trong số các facts. Cập nhật flag2.
R33:S26->D02 không áp dụng, D02 nắm trong số các facts. Cập nhật flag2.
R34:S26->D05 Không được áp dụng, vì thiếu fact: S26
R35:S27->D04 không áp dụng, D04 nắm trong số các facts. Cập nhật flag2.
R36:S03->D02 không áp dụng, D02 nắm trong số các facts. Cập nhật flag2.
R37:S04->D03 không áp dụng, D03 nắm trong số các facts. Cập nhật flag2.
R38:S05->D05 Không được áp dụng, vì thiếu fact: S05
R39:S06->D03 không áp dụng, D03 nắm trong số các facts. Cập nhật flag2.
R40:S06->D04 không áp dụng, D04 nắm trong số các facts. Cập nhật flag2.
R41:S07->D04 không áp dụng, D04 nắm trong số các facts. Cập nhật flag2.
R42:S08->D01 Không được áp dụng, vì thiếu fact: S08
R43:S08->D03 không áp dụng, D03 nắm trong số các facts. Cập nhật flag2.
PART 3. Kết quả
1) Kết quả là : S00, S06, S21, S23, D04, D02, D03, D06 .
2) Đường đi suy diễn được là:R23, R26, R27, R28
lOMoARcPSD|36477832
Phần 6: Suy diễn lùi
Hàm thực hiện:
def
backward_chaining(luat_lui,list_symptom_of_person,list_predicted_disease,f ile_name ):
predictD=list_predicted_disease
rule=luat_lui
all_rule=db.gettrieuchung()
fact_real=list_symptom_of_person_id
lOMoARcPSD|36477832
benh=0
for g in predictD:
goal=g
D=db.get_benh_by_id(goal) #Cha thông tin cu)a bnh có id == goal print(f"Chúng tôi đã có các triệu
chứng ban đẩ?u và có th) bn m5c bnh {D['tenBenh']}({goal}) , sau đẩy chúng tôi muô5n ho)i bn mt vài
cu ho)i để) tìm hi)u v? bnh bạn đang mắ5c pha)i")
all_s_in_D=all_rule[goal]
all_s_in_D=sorted(set(all_s_in_D)-set(fact_real)) d=searchindexrule(rule,goal)
b=BackwardChaining(rule,fact_real,goal,file_name) # k5t lun trong trường hp các luẩt jtruwowsc đã
suy ra đk luôn
if b.result1==True:# đoạn đẩ?u
print("Chúng tôi chu)n đoán bạn m5c bnh {}- {}".format(goal,D['tenBenh']))
print(f"Li khuyn")
D['loikhuyen']=D['loikhuyen'].replace("/n","\n")
print(f"{D['loikhuyen']}")
print("Cám ơn bạn đã sư) dụng chat bot cu)a chúng tôi")
return goal,fact_real
while(len(all_s_in_D)>0):
s=db.get_trieuchung_by_id(all_s_in_D[0])
question=f"Bn có b triu chng {s['noidung']}
({all_s_in_D[0]}) không?"
print(question)
answer = validate.validate_binary_answer(input())
print(f"answer: {answer}")
if answer== True :
fact_real.append(all_s_in_D[0])
b=BackwardChaining(rule,fact_real,goal,file_name)
list_no_result,lsD=get_s_in_d(all_s_in_D[0],goal,rule,d,1)
d=sorted(set(d)-set(lsD))
all_s_in_D=sorted(set(list_no_result)-set(fact_real))
if b.result1==True: benh=1
break
if answer==False :
list_no_result,lsD=get_s_in_d(all_s_in_D[0],goal,rule,d,0) #S01 S02 S03 S04 S05
d=sorted(set(d)-set(lsD))
all_s_in_D=sorted(set(list_no_result)-set(fact_real)) if len(d)==0:
lOMoARcPSD|36477832
print(f"Có ve) như bạn không m5c bnh {goal}{D['tenBenh']}")
break if benh==1:
print("Chúng tôi chu)n đoán bạn m5c bnh {}- {}".format(goal,D['tenBenh']))
print(f"Li khuyn")
D['loikhuyen']=D['loikhuyen'].replace("/n","\n")
print(f"{D['loikhuyen']}")
print("Cám ơn bạn đã sư) dụng chat bot cu)a chúng tôi")
return goal,fact_real break if
benh==0:
print(f"Có ve) cn bnh cu)a bn không nm trong t?m hiu) bi5t cu)a tôi. Xin ca)m ơn bạn đã sư) dụng
chatbot!")
return None, fact_real
PART 1. Dữ liệu
1) Tập luật
R1: S00,S01,S02,S08,S20->D01
R2: S17->D01
R3: S01,S02,S25->D01
R4: S01,S15,S22->D01
R5: S00->D02
R6: S03,S09,S12,S16->D02
R7: S03,S09,S12,S16,S20->D02
R8: S03,S09,S12,S20,S23->D02
R9: S03,S09,S17,S18,S23->D02
R10: S03,S09,S18,S23,S26->D02
R11: S00,S04,S06,S08,S13->D03
R12: S04,S06,S08,S15->D03
R13: S04,S18,S23,S15->D03
R14: S04,S18,S23,S25->D03
R15: S00,S06,S07,S10,S13,S21->D04
R16: S06,S07,S10,S13,S24->D04
R17: S06,S07,S25,S21->D04
lOMoARcPSD|36477832
R18: S06,S07,S25,S24->D04
R19: S06,S07,S25,S27,S13->D04
R20: S00,S05,S14,S15,S20,S24->D05
R21: S05,S14,S20,S24,S27->D05
R22: S05,S20,S27->D05
R23: S05,S20,S24->D05
R24: S05,S24,S27->D05
R25: S11,S23->D06
R26: S11,S14,S19->D06
R27: S11,S19,S23->D06
R28: S19,S14->D06
2) Triệu chứng người dùng
mắc phải S00, S06, S21, S23.
3) Bệnh nghi ngờ D02.
PART 2. Suy diễn
1) Goal D02. Tìm thấy luật R5:S00->D02. Các goals mới cần chứng mình
S00.
2) -Goal S00. Cập nhật triệu chứng S00, bởi được tìm thấy trong tập triệu
chứng gốc S00, S06, S21, S23. Trả về thành công.
3) ==>Goal D02. Đã được chứng minh, Trả về thành công
PART 3. Kết quả
1) Goal D02 được chứng minh.
2) Road: R5.
lOMoARcPSD|36477832
Phần 7: Đưa ra lời khuyên về căn bệnh cho người dùng
lOMoARcPSD|36477832
KẾT LUẬN
Trong bài báo cáo này, chúng em đã trình bày quá trình xây dựng hệ thống
Chatbot tư vấn khám chữa các bệnh về cảm cúm. Hệ thống được xây dựng dựa trên
thuật toán suy diễn tiến – suy diễn lùi để chẩn đoán các triệu chứng của bệnh.
Các kết quả đạt được của hệ thống bao gồm:
Hệ thống thể chẩn đoán bệnh cảm cúm dựa trên các triệu chứng bệnh của
người dùng.
Hệ thống thể cung cấp các thông tin hữu ích về bệnh cảm cúm, bao gồm
triệu chứng, nguyên nhân và đưa ra lời khuyên.
Hiện tại, hệ thống Chatbot chẩn đoán bệnh cảm cúm của chúng em đang tập
trung hoàn toàn vào kiến thức của bệnh cảm cúm. thể chẩn đoán bệnh cảm
cúm với độ chính xác cao, tuy nhiên vẫnn đó điểm yếu to lớn là còn thiếu phần tri
thức chẩn đoán cho các bệnh đường hô hấp thường gặp khác nữa. hệ thống vẫn đang
sử dụng giao diện terminal. Điều này sẽ tạo nên sự bất tiện khi người dùng muốn sử
dụng hệ thống trong tình huống cấp bách. Do vậy, tính ứng dụng thực tế của hệ thống
này chưa thực sự cao.
Sắp tới, để hệ thống có tính khả thi cao hơn và có thể mang lại giá trị sử dụng
cho tập khách hàng quan tâm tới các bệnh đường hấp, chúng em sẽ hoàn thiện
thêm phần tri thức về các bệnh đường hấp khác nữa. Hệ thống Chatbot thể
được tích hợp vào các trang web chia sẻ kiến thức y khoa, các bệnh viện lớn, trung
tâm y tế,... Điều này sẽ giúp người dùng dễ dàng tiếp cận với hệ thống hơn, đặc biệt
là trong những tình huống cấp bách.
Ngoài ra, chúng em thể cũng sẽ nghiên cứu để phát triển thêm các tính năng
mới cho hệ thống, như:
Tích hợp chức năng vấn trực tuyến với bác chuyên khoa, giúp người dùng
có thể được tư vấn và điều trị kịp thời.
Phát triển ứng dụng Chatbot trên các nền tảng di động, giúp người dùng thể
sử dụng hệ thống mọi lúc, mọi nơi.
lOMoARcPSD|36477832
Chúng em tin rằng với những định hướng phát triển này, hệ thống Chatbot
chẩn đoán bệnh cảm cúm của chúng em sẽ ngày càng trở nên hoàn thiện và hữu ích
hơn, góp phần nâng cao chất lượng chămc sức khỏe cộng đồng.
| 1/81

Preview text:

lOMoARcPSD| 36477832 lOMoAR cPSD| 36477832
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN 1
----------------------  ----------------------
BÁO CÁO BÀI TẬP LỚN
CÁC HỆ THỐNG DỰA TRÊN TRI THỨC TÊN ĐỀ TÀI:
XÂY DỰNG HỆ THỐNG CHATBOT TƯ VẤN KHÁM
CHỮA CÁC LOẠI BỆNH CẢM CÚM lOMoARcPSD| 36477832 MỤC LỤC
LÝ DO RA ĐỜI CỦA HỆ THỐNG.......................................................................4
PHẦN 1: KIẾN THỨC CHUYÊN MÔN CỦA HỆ THỐNG...............................5
I. Giới thiệu về bệnh cúm.......................................................................................5
1. Khái niệm Cúm..............................................................................................5
2. Nguyên nhân gây bệnh cảm cúm...................................................................5
3. Các dấu hiệu thường gặp................................................................................7
4. Các giai đoạn phát triển của bệnh..................................................................8
5. Các loại virus gây ra bệnh cúm......................................................................9
6. Đối tượng bị lây nhiễm................................................................................10
7. Cách phòng, chữa bệnh hiệu quả.................................................................10
II. Các kiến thức chuyên môn của hệ thống.........................................................14 1. Cúm
A/H1N1...............................................................................................142.
Cúm A/H3N2...............................................................................................17 3. Cúm
A/H5N1...............................................................................................19 4.
Cúm A/H7N9...............................................................................................22
5. Bệnh cúm B..................................................................................................25
6. Bệnh cúm C..................................................................................................26
PHẦN 2: TRÌNH BÀY VỀ DỮ LIỆU LƯU TRỮ TRI THỨC ĐƯỢC SỬ
DỤNG TRONG HỆ THỐNG................................................................................28
I. Tập sự kiện kết luận bệnh.................................................................................28
II. Triệu chứng của các bệnh cảm cúm................................................................36
PHẦN 3 : TRÌNH BÀY CƠ SỞ TRI THỨC, CÁC LUẬT/CASES/CÁC MỐI
LIÊN KẾT THÔNG TIN, THUẬT TOÁN..........................................................38
I. Thuật Toán........................................................................................................38
1. Suy diễn tiến ( thời điểm đầu của hê thống)................................................38̣
1.1. Khái niêm..............................................................................................38̣
1.2. Thuật toán..............................................................................................38
1.3. Ví dụ minh họa......................................................................................40
1.4. Ưu Điểm................................................................................................44
1.5. Nhược Điểm..........................................................................................44
2. Suy diễn lùi..................................................................................................44 lOMoARcPSD| 36477832
2.1. Khái niêm..............................................................................................44̣
2.2. Thuật toán..............................................................................................45
2.3. Ví dụ......................................................................................................48
2.4. Ưu điểm.................................................................................................52
2.5. Nhược điểm...........................................................................................53
3. Động cơ suy diễn.........................................................................................54
II. Các luật/cases/các mối liên kết thông tin được sử dụng..................................55
1. Xây dựng luật suy diễn tiến.........................................................................55
2. Xây dựng luật suy diễn lùi...........................................................................56
3. Cấu trúc database.........................................................................................57
PHẦN 4: KỊCH BẢN HỆ THỐNG......................................................................58
I. Cách thức hệ thống vận hành (Input,
Output)..................................................58
II. Kiến trúc xây dựng hệ
thống...........................................................................58
1. Công cụ lập trình..........................................................................................58
2. Cấu trúc project............................................................................................59
3. Các file xử lý chính......................................................................................59 III. Kịch bản vận
hành..........................................................................................61
IV. Demo chương trình và giải thích chi
tiết.......................................................64KẾT
LUẬN.............................................................................................................83
LÝ DO RA ĐỜI CỦA HỆ THỐNG
Tình hình dịch bệnh cảm cúm trong thời gian gần đây diễn biến phức tạp thay
đổi từ năm này qua năm khác gây ảnh hưởng cực lớn đến con người trong toàn xã
hội. Cuộc sống ngày nay khi mà con người biết quan tâm đến bản thân hơn, họ chú
ý đến sức khỏe của mình. Vì vậy một hệ thống chatbot tư vấn khám chữa bệnh cảm
cúm ra đời là cần thiết để hỗ trợ tư vấn nhanh, kịp thời và chuẩn xác giúp người bệnh
dễ dàng tiếp cận và có hướng xử lý đúng cho tình trạng của mình là hết sức cần thiết.
Hệ thống chatbot tư vấn khám bệnh cảm cúm được xây dựng nhằm mục đích
tư vấn, chuẩn đoán các bệnh cảm cúm đồng thời giúp phân biệt bệnh cúm so với các lOMoARcPSD| 36477832
loại khác có triệu chứng gần giống. Hệ thống dựa trên tri thức được học thực hiện
chẩn đoán bệnh cảm cúm dựa trên những triệu chứng mà người bệnh đưa ra.
Hệ thống tiếp nhận dữ liệu đầu vào là các triệu chứng bệnh mà người bệnh
đưa ra, xác định các giả thuyết và hỏi ngược lại người dùng để xác minh. Hệ thống
chỉ giúp chẩn đoán các bệnh cảm cúm, không chẩn đoán các bệnh thuộc phạm vi khác.
PHẦN 1: KIẾN THỨC CHUYÊN MÔN CỦA HỆ THỐNG
I. Giới thiệu về bệnh cúm 1. Khái niệm Cúm
Cúm là bệnh nhiễm trùng đường hô hấp gây ra do virus cúm (Influenza virus).
Theo thống kê của WHO, thế giới có khoảng 5-10% người lớn và 20-30% trẻ em
nhiễm cúm mỗi năm. Trong đó, khoảng nửa triệu ca tử vong do các vấn đề sức khỏe
liên quan đến bệnh cúm. Tại Việt Nam, mỗi năm ghi nhận khoảng 1 – 1,8 triệu người mắc cúm mùa.
Bệnh cúm có thể tự khỏi nhưng cũng có khả năng gây ra những biến chứng
nghiêm trọng ở người mắc bệnh mạn tính về tim phổi, thận, thiếu máu, bệnh chuyển
hóa hoặc người có suy giảm miễn dịch, người trên 65 tuổi, trẻ nhỏ dưới 5 tuổi và phụ
nữ mang thai… Bệnh có thể gây ra các biến chứng như viêm tai, viêm phế quản,
viêm phổi, viêm não, thậm chí có thể dẫn đến tử vong.
2. Nguyên nhân gây bệnh cảm cúm
Ảnh 1. Ảnh minh họa virus xâm nhập lOMoARcPSD| 36477832
Nguyên nhân của bệnh cúm là do Vi rút cúm (Influenza virus), virus này liên
tục biến thể với các chủng mới xuất hiện thường xuyên. Vỏ của vi rút có bản chất là
glycoprotein gồm 2 loại kháng nguyên là kháng nguyên ngưng kết hồng cầu H
(Hemaglutinin) có 15 loại và kháng nguyên trung hoà N (Neuraminidase) có 9 loại.
Khi tổ hợp của các kháng nguyên này sắp xếp khác nhau tạo nên các phân tuýp khác
nhau của vi rút cúm A. Trong quá trình lưu hành, 2 kháng nguyên H và N luôn luôn
biến đổi, đặc biệt là kháng nguyên H. Những biến đổi nhỏ liên tục gọi là “trôi” kháng
nguyên (antigenic drift) gây nên các vụ dịch vừa và nhỏ. Khi những biến đổi nhỏ và
dần dần tích tụ lại thành những biến đổi lớn, tạo nên týp kháng nguyên mới, đó là do
sự tái tổ hợp giữa các chủng vi rút cúm động vật và cúm người. Những phân týp
kháng nguyên mới này sẽ gây đại dịch cúm trên toàn cầu.
Thông thường, virus cúm lây truyền nhanh chóng từ người sang người chủ yếu qua 2 đường:
• Lây qua dịch tiết đường hô hấp: Triệu chứng phổ biến ở những người nhiễm
cúm là ho và hắt xì. Tuy nhiên, khi hắt xì và ho, người bệnh sẽ tạo điều kiện
cho virus trong cơ thể bắn ra ngoài theo tuyến nước bọt. Với khả năng tồn tại
dai dẳng, virus cúm có thể phát tán rộng trong không khí với phạm vi 2m. Do
đó, người khỏe mạnh khi tiếp xúc gần, trò chuyện trực tiếp với người bệnh sẽ có nguy cơ nhiễm bệnh.
• Lây qua bề mặt tiếp xúc: Việc sử dụng chung vật dụng như khăn, quần áo, bàn
chải, ly uống nước… có thể ẩn chứa nguồn lây nhiễm virus bệnh cúm. Khi
bệnh nhân ho hoặc hắt xì sẽ khiến cho các dịch tiết bắn ra ngoài và bám lên
các đồ vật. Nếu bạn chạm phải đồ vật đó và vô tình đưa tay trực tiếp lên mũi,
miệng thì nguy cơ cao virus sẽ xâm nhập và tấn công cơ thể.
Bệnh cúm có thể bùng phát vào bất kỳ mùa nào trong năm, đỉnh điểm là vào
tháng 3, tháng 4, tháng 10 và tháng 11. Song song đó, các triệu chứng như sổ mũi,
đau nhức cơ thể cũng sẽ nặng nề hơn vào mùa lạnh do không khí ẩn chứa nhiều
nguồn vi khuẩn khác. Do đó, khi thời tiết trở lạnh, trẻ em và người lớn nên chủ động lOMoARcPSD| 36477832
dự phòng bằng vắc xin, giữ ấm cơ thể và ngăn chặn mọi nguồn lây nhiễm để hạn chế khả năng bị bệnh.
3. Các dấu hiệu thường gặp
Ảnh 2. Những triệu chứng thường gặp của cúm
Biểu hiện lâm sàng của bệnh cúm thường xuất hiện sau 2 ngày khi cơ thể tiếp
xúc với virus gây bệnh. Có rất nhiều người nhầm lẫn giữa bệnh cúm và cảm lạnh do
triệu chứng cúm và cảm lạnh tương đồng với nhau. Ngoài các dấu hiệu nhận biết
bệnh cúm là đau họng, sổ mũi và hắt hơi (giống với cảm lạnh) thì bệnh cúm còn có
các dấu hiệu cảnh báo như sau: • Sốt cao (trên 39oC); • Cảm giác ớn lạnh;
• Đau đầu, chóng mặt; • Đau nhức cơ bắp;
• Mệt mỏi toàn thân, cảm giác yếu ớt không còn chút sức lực; Buồn
nôn, tiêu chảy (thường xuất hiện ở trẻ em nhiều hơn).
Thời gian ủ bệnh cúm thường kéo dài trong khoảng 2 ngày. Sau khoảng 5
ngày, triệu chứng sốt và các triệu chứng khác sẽ biến mất nhưng ho và tình trạng mệt
mỏi vẫn kéo dài. Tất cả các triệu chứng sẽ biến mất trong vòng một hoặc hai tuần. lOMoARcPSD| 36477832
4. Các giai đoạn phát triển của bệnh
Ảnh 3. Các giai đoạn phát triển của bệnh
Thông thường, các triệu chứng bị cúm có thể xuất hiện và khỏi sau khoảng 1
tuần. Tuy nhiên, cũng có nhiều trường hợp bệnh cúm kéo dài gây ảnh hưởng tới sinh
hoạt cũng như sức khỏe của người bệnh. Một đợt cúm thường xảy ra theo 3 giai đoạn sau:
• Giai đoạn khởi phát (ngày thứ 1 – 3): Các triệu chứng cúm đột ngột xuất
hiện bao gồm sốt, nhức đầu, đau và mỏi cơ, ho khan, đau họng, nghẹt mũi.
• Giai đoạn toàn phát (ngày thứ 4 trở đi): Triệu chứng sốt và đau nhức cơ
giảm. Người bệnh bị khàn tiếng, có cảm giác khô hoặc đau họng, ho và
cảm thấy tức ngực. Ngoài ra, một số người cũng có thể thấy cơ thể mệt mỏi hoặc đầy hơi.
• Giai đoạn hồi phục (ngày thứ 8 trở đi): Các triệu chứng giảm dần, cơn
ho và cảm giác mệt mỏi có thể kéo dài 1 – 2 tuần tiếp theo. lOMoARcPSD| 36477832
5. Các loại virus gây ra bệnh cúm
Arnh 4. Ảnh minh họa các chủng virus cúm
Có 4 chủng virus cúm được ký hiệu là A, B, C, D. Trong đó chủng cúm A và
B thường gặp ở người, cúm C gây bệnh nhẹ và thường không có triệu chứng, trong
khi đó cúm D ảnh hưởng đến gia súc và không gây bệnh ở người.
Cúm A là dạng cúm mùa phổ biến nhất, chiếm khoảng 75% số ca nhiễm cúm
ở người. Virus cúm A được phân loại thành nhiều phân tuýp dựa theo sự kết hợp
giữa kháng nguyên ngưng kết hồng cầu Hemagglutinin (H) và Neuraminidase (N) là
các protein chính trên bề mặt của virus. Nếu gặp điều kiện thuận lợi, cúm A có thể
bùng phát thành những đợt dịch lớn nhỏ khác nhau. Các đại dịch cúm toàn cầu được
ghi nhận trong lịch sử thế giới cũng do các chủng của virus cúm A gây nên như dịch
cúm A (H5N1), dịch cúm A (H3N2), đại dịch cúm A (H1N1).
Cúm B không được chia thành các phân týp, tuy nhiên nó có thể được chia
làm 2 dòng là dòng B/Yamagata và dòng B/Victoria. Chủng cúm B cũng là một dạng
cúm dễ gây bệnh ở người với tỷ lệ 25% số ca nhiễm cúm mùa hàng năm. Cúm B chỉ
lây truyền từ người sang người, bệnh cúm B có khả năng lây lan rất mạnh, có thể gây
thành dịch nhưng ít có nguy cơ trở thành đại dịch. Dù vậy, bệnh vẫn có thể có tác
động nguy hiểm đến sức khỏe trong trường hợp diễn tiến nghiêm trọng.
Cúm C ít gặp hơn so với 2 chủng cúm A và B, ít nguy hiểm hơn và không có
những triệu chứng lâm sàng điển hình. Bệnh do cúm C không có khả năng bùng phát thành dịch ở người. lOMoARcPSD| 36477832
Cúm D chủ yếu gây bệnh trên gia súc, chưa được xác định gây bệnh ở người.
Virus cúm D có thành phần cấu tạo và đặc điểm phân bào tương tự như chủng virus cúm C.
6. Đối tượng bị lây nhiễm
Bất kỳ ai cũng có thể mắc bệnh cúm, bệnh dễ gặp nhất ở những đối tượng có
hệ miễn dịch chưa hoàn thiện hoặc sức đề kháng yếu như:
• Trẻ em dưới 6 tuổi và nhất là trẻ sơ sinh vì hệ miễn dịch, sức đề kháng
của trẻ còn yếu nên chống chọi với virus thường khó khăn hơn.
• Người cao tuổi, người từ 60 tuổi trở lên.
• Phụ nữ vừa mới sinh con dưới 2 tuần hoặc mẹ bầu đang mang thai.
• Bệnh nhân sống ở viện dưỡng lão.
• Những người có sức đề kháng cơ thể yếu.
• Những đối tượng thừa cân, béo phì với chỉ số khối cơ thể vượt quá mức
cho phép, tức BMI lớn hơn 40.
• Các đối tượng mắc bệnh mãn tính, điển hình như bệnh thận, bệnh tiểu
đường, bệnh hen suyễn, bệnh gan, bệnh tim...
7. Cách phòng, chữa bệnh hiệu quả a. Cách phòng ngừa
Ảnh 5. Cách phòng ngừa được bộ Y tế khuyến cáo
Mặc dù việc chủ động ngăn chặn nguồn lây nhiễm của virus cúm không thể
loại bỏ nguy cơ lây bệnh hoàn toàn nhưng lại một giải pháp dễ dàng thực hiện và an
toàn. Cụ thể những biện pháp hạn chế lây nhiễm virus gồm có: lOMoARcPSD| 36477832
• Vệ sinh cá nhân sạch sẽ, che miệng khi hắt hơi, rửa tay sạch với xà
phòng đồng thời vệ sinh mũi, họng bằng nước muối thường xuyên.
• Luôn giữ ấm cơ thể, xây dựng chế độ ăn uống lành mạnh, đầy đủ
chất dinh dưỡng kết hợp với luyện tập thể thao nâng cao thể trạng.
• Hạn chế tiếp xúc trực tiếp với bệnh nhân mắc cúm hoặc các trường
hợp nghi ngờ nếu không thật sự cần thiết.
• Người dân không nên tự ý mua thuốc và sử dụng thuốc kháng virus
(như thuốc Tamiflu) mà cần phải theo hướng dẫn và có chỉ định của thầy thuốc.
• Khi có triệu chứng ho, sốt, sổ mũi, đau đầu, mệt mỏi cần đến ngay
cơ sở y tế để được khám, xử trí kịp thời
• Tiêm vắc xin cúm mùa để tăng cường miễn dịch phòng chống cúm.
Đặc biệt, cúm là bệnh do virus gây ra và có thể phòng ngừa hiệu quả bằng việc
tiêm vắc xin. Nghiên cứu của các nhà khoa học tại Canada đã chỉ ra rằng tiêm phòng
vaccine cúm có thể giảm tới 50% nguy cơ đột quỵ, đau tim và tử vong do các bệnh
lý liên quan tới tim mạch.
Tại Việt Nam, vắc xin cúm mùa được chỉ định tiêm phòng cho trẻ em từ 6
tháng tuổi và người lớn. Theo Tổ chức Y tế Thế giới (WHO), tất cả các loại vacxin
cúm đã được chứng minh làm giảm khả năng mắc và tử vong do cúm. Tuy nhiên,
hiệu lực bảo vệ của vắc xin cúm chỉ kéo dài trong khoảng 1 năm, và virus cúm thường
có tính đột biến cũng như thay đổi cấu trúc kháng nguyên theo chu kỳ năm, do đó trẻ
em, người lớn rất cần được tiêm vắc xin cúm nhắc lại hằng năm. lOMoARcPSD| 36477832 b. Cách điều trị
Mục tiêu chính của điều trị cúm là giảm nhẹ và loại bỏ triệu chứng. Hiện tại
có nhiều phương pháp điều trị bệnh cúm, đối với các trường hợp nhẹ, người bệnh có
thể tự điều trị tại nhà (nên thực hiện theo hướng dẫn của bác sĩ). Đối với những
trường hợp nặng bệnh nhân phải nhập viện để được điều trị và chăm sóc đề phòng nhiễm khuẩn thứ phát.
Điều trị tại nhà
Người nhiễm cúm cần được nghỉ ngơi cho đến khi hạ sốt, ăn thức ăn mềm, dễ
tiêu và chú ý uống nhiều nước. Sử dụng nước muối loãng có tính sát khuẩn tốt, người
bệnh có thể sử dụng để vệ sinh họng, hỗ trợ giảm nhanh các triệu chứng đau họng,
rát cổ và viêm nhiễm cổ họng.
Cần vệ sinh mũi sạch sẽ để kiểm soát tình trạng viêm nhiễm, giúp người bệnh
dễ chịu hơn. Lưu ý, sau khi thực hiện vệ sinh mũi xong cần vệ sinh tay sạch sẽ để
tránh tình trạng lây lan bệnh. Dùng thuốc
Để giảm các triệu chứng sốt, đau đầu, đau mỏi người do bệnh gây ra, người
bệnh có thể sử dụng một số loại thuốc không kê đơn như Acetaminophen hoặc
Ibuprofen nhưng phải cân nhắc với một số đối tượng như trẻ sơ sinh, trẻ nhỏ, phụ nữ
mang bầu và người mắc bệnh nền hoặc có tiền sử dị ứng thuốc. Không dùng thuốc
nhóm salicylate như aspirin để hạ sốt trong bệnh cúm vì có nguy cơ gây hội chứng
Reye nguy hiểm với bệnh nhân.
Tùy từng trường hợp, bác sĩ có thể kê toa một số loại thuốc điều trị đặc hiệu,
chẳng hạn như Oseltamivir (Tamiflu) hoặc Zanamivir (Relenza) có công dụng làm
giảm triệu chứng của cúm và ngăn ngừa các biến chứng nghiêm trọng. lOMoARcPSD| 36477832
Dinh dưỡng cho người bệnh cúm
Ảnh 6. Ảnh minh họa chế độ dinh dưỡng
Người bệnh nên xây dựng chế độ dinh dưỡng lành mạnh và phù hợp với thể
trạng. Khi bị cúm nên lưu ý:
• Cung cấp đủ nước cho cơ thể: Uống đủ 2l nước/ngày và ăn nhiều trái
cây, rau xanh, sử dụng thêm các loại nước có bổ sung chất điện giải để
cung cấp thêm natri và kali.
• Ăn thực phẩm dễ nuốt: Khi cơ thể bị cúm, người bệnh thường không có
cảm giác thèm ăn, lúc này cháo, súp hay các thực phẩm loãng sẽ giúp
người bệnh dễ ăn mà vẫn đảm bảo chất dinh dưỡng.
• Ăn thực phẩm nhiều kẽm: Kẽm có nhiều trong các loại thực phẩm như
tôm, hàu, thịt bò, sò, ngũ cốc, yến mạch… giúp người bệnh cúm chóng
phục hồi sức và cải thiện hệ miễn dịch.
• Các loại rau củ quả: Bệnh nhân cúm cần được bổ sung nhiều loại rau
của trong bữa ăn, đặc biệt là các loại rau có màu đậm như: Cải bó xôi, cải xoăn, súp lơ…
Bên cạnh những thực phẩm có lợi cũng có không ít những thực phẩm gây hại
và làm trầm trọng thêm các triệu chứng của cúm. Người bệnh nên tránh một số sản phẩm sau: lOMoARcPSD| 36477832
• Các thực phẩm chế biến sẵn: Thức ăn đóng hộp, thực phẩm chế biến sẵn
hoặc đồ ăn chiên xào gây khó tiêu, dễ khiến người bệnh buồn nôn. Hơn
nữa, những thực phẩm này không chứa nhiều chất dinh dưỡng.
• Các loại đồ uống chứa cồn, chất kích thích như soda, rượu, cà phê…
cũng gây mất nước và dễ làm giảm hệ thống miễn dịch ở người bị cúm.
• Các thực phẩm cứng sẽ có khả năng gây khó tiêu và làm nặng thêm các
cơn ho, đau họng, vì vậy bệnh nhân cúm cũng nên tránh xa.
II. Các kiến thức chuyên môn của hệ thống
Ảnh 7. Ảnh minh họa các loại cúm A phổ biến ở người 1. Cúm A/H1N1 a. Tổng quan
Cúm A/H1N1 là bệnh truyền nhiễm đường hô hấp cấp tính thuộc dạng cúm
theo mùa do chủng virus cúm A/H1N1 (tên khoa học virus pdm09 (A)) gây ra. Nó
gây ra đợt bùng phát cảm cúm vào năm 2009, dẫn đến một đại dịch toàn cầu được
gọi là "đại dịch cảm cúm A/H1N1". Virus này đã lây lan rộng rãi và gây ra nhiều ca
nhiễm bệnh và tử vong trên khắp thế giới.
Ban đầu, bệnh cúm A H1N1 còn được gọi là “cúm lợn” vì các nhà khoa học
cho rằng chủng virus này có nguồn gốc từ lợn. Tuy nhiên, thực tế chủng virus này
kết hợp từ các nguồn virus khác nhau: lợn, chim, người và gây ra bệnh ở người. lOMoARcPSD| 36477832 b. Dấu hiệu
Người nhiễm cúm A/H1N1 thường có các triệu chứng như cúm bình thường,
tuy nhiên có kèm theo một số dấu hiệu đặc trưng hơn, cụ thể: • Sốt cao co giật.
• Sốt cao trên 38 độ kèm ớn lạnh.
• Đau toàn bộ đầu, chóng mặt.
• Đau họng khản tiếng. • Sổ mũi. • Đau các vùng cơ. • Choáng váng đầu óc. • Nôn mửa. c. Nguyên nhân
Virus cúm A/H1N1 được phát hiện trên lợn đầu tiên, song virus có khả năng
lây nhiễm từ người sang người vô cùng mạnh mẽ và tấn công vào phổi gây ra nhiều
biến chứng nguy hiểm. Người mắc cúm A/H1N1 có thể do nguyên nhân dưới đây:
• Hít phải không khí có chứa dịch tiết của người nhiễm bệnh khi họ sổ mũi, ho, hắt hơi.
• Tiếp xúc gián tiếp: Khi chạm tay vào đồ vật có chứa virus A/H1N1 như
mặt bàn, ly nước, khăn tắm, bàn chải… rồi đưa tay trực tiếp lên mắt,
mũi, miệng, virus sẽ theo đường hô hấp xâm nhập vào cơ thể.
• Tiếp xúc trực tiếp: Người bị nhiễm cúm H1N1 có khả năng lây bệnh
cho người xung quanh trong vòng 7 ngày từ khi có triệu chứng của bệnh.
Do đó, người bình thường khi tiếp xúc trực tiếp với người bệnh qua giao
tiếp, hôn hoặc quan hệ tình dục thì nguy cơ lây nhiễm cúm H1N1 là rất
cao. Đặc biệt là ở môi trường công cộng, đông người như công viên, lễ
hội… thì virus càng lây lan mạnh mẽ hơn. lOMoARcPSD| 36477832 d. Lời khuyên
• Ở những trường hợp bị cúm nhẹ, không có biến chứng, người bệnh có
thể điều trị cúm A H1N1 tại nhà nếu có chỉ định của bác sĩ. Tuy nhiên,
ở những ca bệnh có nguy cơ diễn tiến nặng, đang tiến triển phức tạp
hoặc khó dự báo, bất kể tình trạng sức khỏe trước đó, người bệnh cần
sớm nhập viện để được các bác sĩ điều trị.
• Sau khi xuất hiện các triệu chứng, người bệnh cần tiến hành điều trị
càng sớm càng tốt.Các loại thuốc kháng virus để điều trị cúm gồm:
Oseltamivir (uống), Zanamivir (hít), Peramivir (tiêm),…Cần sử dụng
thuốc theo chỉ định của bác sĩ.
• Biện pháp phòng ngừa: Rửa tay thường xuyên bằng xà phòng, hạn chế
tối đa việc đưa tay trực tiếp lên mắt và mũi, che miệng và mũi khi ho
hoặc hắt hơi; sử dụng hàng ngày các dung dịch sát khuẩn đường mũi, họng, mắt.
• Thường xuyên vệ sinh, lau sạch các bề mặt, vật dụng tiếp xúc hằng
ngày bằng xà phòng hoặc các chất tẩy rửa; mở cửa thoáng mát nơi ở,
lớp học, nơi làm việc.
• Giữ ấm cơ thể, ăn uống đủ chất, nghỉ ngơi hợp lý, kết hợp tập thể dục
thường xuyên để tăng cường sức đề kháng, ngăn ngừa nhiễm virus cúm, bảo vệ cơ thể.
• Những đối tượng có nguy cơ cao như người mắc bệnh mạn tính, trẻ
em, người cao tuổi và phụ nữ có thai cần tránh tiếp xúc với người mắc
bệnh cúm hoặc nghi mắc cúm.
• Phòng tránh lây nhiễm cúm A/H1N1 chéo tại các cơ sở khám, chữa
bệnh: Người thân và bệnh nhân nên đeo khẩu trang y tế; khi tiếp xúc
với người bệnh nên giữ khoảng cách trên 1m.
• Chủ động theo dõi sức khỏe, thông báo ngay cho cơ sở Y tế khi có
triệu chứng cúm như sốt, ho, đau ngực, khó thở để được tư vấn, hướng lOMoARcPSD| 36477832
dẫn các biện pháp chăm sóc sức khỏe kịp thời. Việc nhận biết và phát
hiện sớm các dấu hiệu mắc bệnh có thể giúp điều trị kịp thời, hạn chế
tối đa các trường hợp tử vong
• Những trường hợp sốt cao, khó thở cần chủ động cách ly, đeo khẩu
trang và đến cơ sở y tế để được khám, tư vấn, xử lý, phòng tránh lây
lan. Việc nhận biết và phát hiện sớm các dấu hiệu mắc bệnh có thể
giúp điều trị kịp thời, hạn chế tối đa các trường hợp tử vong.
• Đặc biệt, chủ động tiêm chủng vắc xin cúm đúng lịch, đủ mũi, tiêm
nhắc lại hằng năm là biện pháp an toàn và hiệu quả để bảo vệ cơ thể
trẻ em, người lớn chống lại bệnh cúm. 2. Cúm A/H3N2 a. Tổng quan
H3N2 là một chủng virus phân nhóm cúm A của virus Influenza gây bệnh cúm
và biến chứng nguy hiểm phổ biến ở người. Virus H3N2 có thể lây nhiễm cho chim,
lợn và người. Khi lây nhiễm, virus đã biến đổi thành nhiều chủng khác nhau. Ở những
năm mà virus H3N2 là chủng virus cúm chiếm ưu thế, đã có hàng triệu người phải
nhập viện, biến chứng nặng, thậm chí là tử vong.
Virus cúm (H3N2) bao gồm hai gen từ virus cúm A là H3 Hemagglutinin và
N2 neuraminidase từ virus H2N2 năm 1957. Vì thế, tên H3N2 cũng bắt nguồn từ các
dạng kết hợp của hai loại protein bề mặt hemagglutinin (H) và neuraminidase (N).
Bằng cách tái tổ hợp, virus H3N2 trao đổi gen cho protein bên trong với các phân nhóm cúm khác. b. Dấu hiệu
Những triệu chứng cúm A H3N2 gây ra tương tự như các biểu hiệu do các
chủng virus cúm khác gây ra. Virus cúm A/H3N2 sau khi xâm nhập và ủ bệnh khoảng
2 ngày thường gây ra các triệu chứng đột ngột như: • Sốt cao gián đoạn • Đau nửa đầu lOMoARcPSD| 36477832 • Viêm họng • Ho khan • Sổ mũi • Nghẹt mũi • Đau các vùng cơ • Cơ thể mệt mỏi Tiêu chảy
c. Nguyên nhân
Thường do họ đã tiếp xúc với người hoặc vật đang nhiễm virus A/H3N2:
• Với người đang mắc chủng cúm A/H3N2: Nếu người lành cùng người
bệnh tiếp xúc trực tiếp như nói chuyện, ôm hôn, quan hệ tình dục… thì
tỷ lệ lây nhiễm cúm A/H3N2 rất cao.
• Với đồ vật có chứa virus cúm A/H3N2: Khi tay bạn tiếp xúc với các đồ
vật như bàn, ghế, tủ, giường… đang là nơi “tạm trú” của virus H3N2 thì
virus sẽ di chuyển đến tay, tay tiếp xúc với mũi, mắt, miệng, virus sẽ
xâm nhập vào đường hô hấp (phổi) và gây bệnh cúm mùa. d. Lời khuyên
• Tiêm vắc xin phòng bệnh cúm A/H3N2
• Tạo thói quen thường xuyên rửa tay bằng nước sạch và xà phòng:
Đây là cách đơn giản và tốt nhất để ngăn sự xâm nhập của virus, vi khuẩn.
• Che miệng khi ho hoặc hắt hơi; đeo khẩu trang.
• Giữ gìn vệ sinh thân thể và vệ sinh môi trường sống thông thoáng, sạch sẽ.
• Xây dựng chế độ ăn uống cân bằng, tập thể dục thường xuyên và nghỉ ngơi đầy đủ. lOMoARcPSD| 36477832
• Mang khẩu trang y tế đến nơi có đông người như bệnh viện, siêu thị, công viên.
• Hạn chế tiếp xúc với người bệnh, nếu cần phải tiếp xúc như chăm
sóc, điều trị…, cần tuân thủ các biện pháp phòng lây nhiễm như đã nói ở trên.
• Tránh tiếp xúc với các loài gia cầm được nuôi nhốt, hoặc gia cầm bị chết. 3. Cúm A/H5N1 a. Tổng quan
H5N1 là một phân nhóm virus cúm A (Influenza A virus), thường xuất hiện ở
chim và gia cầm. Giống như tất cả các loại virus cúm khác, virus A/H5N1 lây truyền
giữa các loài chim, gia cầm và động vật khác, lây sang cho người và gây tử vong.
Cúm A H5N1 là phân nhóm cúm gia cầm có khả năng xâm nhiễm cao. Từ
năm 1997 đến nay, sự bùng phát của virus H5N1 đã làm nhiễm bệnh và chết hàng
chục triệu gia cầm. H5N1 là loại virus có khả năng tự biến đổi (hoặc tái tổ hợp) rất
cao. Virus này có thể tạo ra biến đổi gen lây từ người sang người, gây nhiều lo ngại
về đại dịch cúm toàn cầu. Virus H5N1 có thể kết hợp với virus cúm ở người tạo ra
một loại virus mới có đầy đủ tính năng của 2 loại virus cũ, dễ dàng tạo ra đại dịch
cúm cho người với tỷ lệ biến chứng nặng, nguy cơ tử vong là rất lớn.
Ảnh 8. Ảnh minh họa virus H5N1 lOMoARcPSD| 36477832 b. Dấu hiệu
Người nhiễm virus cúm A H5N1 thường có những triệu chứng diễn biến cấp
tính giống với các loại cúm thông thường, nhưng có thể kèm theo một số dấu hiệu
cảnh báo nguy hiểm hơn. Những dấu hiệu cơ bản bệnh cúm A/H5N1 cần lưu ý:
• Sốt liên tục trong nhiều giờ
• Ban ngày sốt nhẹ, ban đêm sốt cao
• Đau toàn bộ đầu, chóng mặt
• Đau họng kèm ho có đờm
• Đau họng khản tiếng • Nghẹt mũi
• Đau ngực, tim đập nhanh • Choáng váng đầu óc • Cơ thể mệt mỏi • Nôn mửa c. Nguyên nhân
Cúm gia cầm A H5N1 (avian influenza) là bệnh cúm do virus cúm A/H5N1
gây ra cho các loài chim, động vật có vú và con người. Theo các chuyên gia y tế, có
nhiều nguyên nhân gây bệnh cúm A H5N1 cho cộng đồng, cụ thể:
• Việc sinh sống gần các trang trại gia cầm và lợn là điều kiện thuận
lợi làm tăng tính đột biến kháng nguyên virus, làm virus dễ lây nhiễm.
• Một số chợ trời, nơi bán trứng và gia cầm nhưng điều kiện vệ sinh
không đảm bảo có thể là nguồn bệnh lây lan cho cộng đồng.
• Ăn thịt gia cầm và trứng chưa được nấu chín. d. Lời khuyên
• Người bị cúm A H5N1 nên đến bệnh viện để được điều trị vì nếu
điều trị tại nhà không đúng cách có thể gây nguy hiểm cho cả người
bệnh và người chăm sóc. Nếu bệnh ở mức độ nặng, người bệnh cần lOMoARcPSD| 36477832
phải nhập viện để được theo dõi, điều trị và chăm sóc phòng ngừa
nguy cơ nhiễm khuẩn thứ phát.
• Khi điều trị tại nhà, người bệnh cần thực hiện các biện pháp dưới
đây để bệnh sớm khỏi:
• Nghỉ ngơi cho tới khi hạ sốt, thư giãn trong môi trường thoáng khí,
tránh những nơi có nhiệt độ quá nóng hoặc quá lạnh, không nên nằm phòng điều hòa.
• Đảm bảo chế độ dinh dưỡng phù hợp, ăn các đồ dễ tiêu, thực phẩm
lỏng, nóng và uống nhiều nước. Tránh ăn đồ ăn lạnh ảnh hưởng tới
họng và lâu khỏi bệnh.
• Sử dụng nước muối loãng có tính sát khuẩn tốt để vệ sinh họng 23
lần/ngày để giảm nhanh triệu chứng đau rát họng và viêm họng.
• Vệ sinh mũi bằng thuốc xịt mỗi ngày để kiểm soát viêm nhiễm.
• Biện pháp phòng ngừa:
• Không ăn gia cầm, các sản phẩm gia cầm ốm, chết và không rõ
nguồn gốc; đảm bảo ăn chín, uống sôi; rửa tay bằng xà phòng trước khi ăn.
• Không giết mổ, vận chuyển, mua bán gia cầm và sản phẩm gia cầm không rõ nguồn gốc.
• Khi phát hiện gia cầm ốm, chết tuyệt đối không được giết mổ và sử
dụng mà phải thông báo ngay cho chính quyền địa phương và đơn
vị thú y trên địa bàn.
• Khi có biểu hiện cúm như sốt, ho, đau ngực, khó thở có liên quan
đến gia cầm phải đến ngay cơ sở y tế để được tư vấn, khám và điều trị kịp thời. 4. Cúm A/H7N9 a. Tổng quan lOMoARcPSD| 36477832
Cúm A H7N9 là tên gọi của loại virus A có nguồn gốc gen từ virus cúm,
thường tìm thấy ở gia cầm, chim và thủy cầm Theo PGS. TS. Trần Đắc Phu, nguyên
cục trưởng Cục Y tế dự phòng (Bộ Y tế), kể từ ca bệnh nhiễm vi rút H7N9 trên người
được báo cáo ở Trung Quốc vào tháng 3/2013 đến nay, thế giới đã ghi nhận hơn
1.200 ca, trong đó có 30 chùm ca bệnh. Số ca bệnh ghi nhận ở người gia tăng nhanh
chóng từ tháng 10/2016 đến nay, tập trung chủ yếu ở một số tỉnh ở Trung Quốc giáp biên giới Việt Nam.
Ảnh 9. Ảnh minh họa virus H7N9 b. Dấu hiệu
• Ban ngày sốt nhẹ, ban đêm sốt cao
• Sốt cao và đột ngột trong vòng 1 đến 2 giờ
• Đau nhói phần đỉnh đầu, đau nhiều về ban đêm
• Đau họng kèm ho có đờm • Đau các khớp • Nôn mửa • Suy hô hấp c. Nguyên nhân
• Không lây từ người sang người
• Bệnh cúm A H7N9 lây truyền từ gia cầm sang người chủ yếu do tiếp
xúc và sử dụng sản phẩm gia cầm nhiễm virus cúm. Cụ thể virus lây
truyền trực tiếp do người ăn thịt, phủ tạng, trứng của gà nhiễm bệnh, lOMoARcPSD| 36477832
hoặc lây gián tiếp qua không khí, hay sử dụng thức ăn, nước, dụng
cụ vận chuyển, dụng cụ giết mổ, chế biến thực phẩm, quần áo bị ô
nhiễm virus từ dịch hô hấp, phân của gà bị nhiễm. Ngoài ra, bàn tay
bị ô nhiễm là một yếu tố lây nhiễm bệnh quan trọng. d. Lời khuyên
• Khi nghi ngờ nhiễm cúm A (H7N9), người bệnh cần đến bệnh viện
để được thăm khám, cách ly và thực hiện xét nghiệm đặc hiệu để chẩn đoán xác định bệnh.
• Khi ca bệnh được xác định, cần nhập viện điều trị & cách ly hoàn toàn.
• Sử dụng thuốc kháng virus (zanamivir hoặc oseltamivir) càng sớm càng tốt.
• Hồi sức hô hấp để có thể đảm bảo giữ SpO2 ≥ 92%.
• Điều trị suy đa tạng (nếu có).
• Biện pháp phòng ngừa:
• Tuyệt đối không ăn thịt gia cầm ốm hoặc không rõ nguồn gốc. Đảm
bảo ăn chín, uống sôi & tập thói quen rửa tay bằng xà phòng trước khi ăn;
• Không giết mổ, vận chuyển và mua bán gia cầm, các sản phẩm gia
cầm không rõ nguồn gốc;
• Khi phát hiện gia cầm ốm, chết không rõ nguyên nhân tuyệt đối không
giết mổ và sử dụng, phải thông báo ngay cho chính quyền địa phương
và đơn vị thú y trên địa bàn;
• Khi có biểu hiện cúm, sốt, ho, khó thở liên quan đến gia cầm, người
bệnh cần đến ngay bệnh viện gần nhất để được tư vấn và điều trị; lOMoARcPSD| 36477832
• Người dân đi/ đến từ vùng dịch bệnh cúm gia cầm lưu hành, cần theo
dõi sức khỏe để phát hiện sớm và điều trị, hạn chế tối đa các biến chứng, tử vong. 5. Bệnh cúm B a. Tổng quan
Virus cúm B không được phân chia thành nhóm, nhưng gồm có 2 dòng đó là:
B/Yamagata và B Victoria. Nhìn chung, các đặc tính di truyền và kháng nguyên của
virus cúm B rất ít thay đổi và thay đổi chậm hơn so với virus cúm A. Virus cúm B
chỉ gây bệnh cho người.
Ở các nước ôn đới bệnh gặp vào mùa đông. Còn ở các nước nhiệt đới, bệnh có
thể gặp quanh năm, nhưng chủ yếu gặp vào mùa đông và bệnh có thể gây thành dịch
không theo quy luật thông thường. b. Dấu hiệu • Sốt nhẹ • Ngứa họng, không ho
• Đau họng khản tiếng • Đau các vùng cơ
• Cảm thấy rét run, toát mồ hôi lạnh • Tiêu chảy c. Nguyên nhân
Cúm B chỉ lây từ người sang người thông qua các giọt bắn nhỏ (có chứa virus
cúm) trong không khí khi người bị nhiễm bệnh ho, hắt hơi hoặc nói chuyện. Do trẻ
chạm vào các bề mặt bị ô nhiễm bởi các giọt bị nhiễm bệnh rồi chạm vào miệng, mũi hoặc mắt của trẻ.
Thời gian ủ bệnh của bệnh cúm B từ 1 - 4 ngày kể từ khi bị nhiễm virus cúm.
Trẻ em và những người có hệ thống miễn dịch bị suy yếu có thể ủ bệnh lâu hơn. lOMoARcPSD| 36477832 d. Lời khuyên
• Bệnh do virus cúm B hay do virus khác gây ra, hiện nay vẫn chưa có
thuốc đặc trị riêng mà chủ yếu chỉ điều trị triệu chứng kết hợp nâng
cao thể lực, tăng sức đề kháng cơ thể kết hợp với:
• Uống thuốc hạ sốt giảm đau, hạ sốt không cần kê đơn: Ibuprofen
(Advil) (1) hoặc Acetaminophen (Tylenol) (2), để làm giảm triệu chứng.
• Nghỉ ngơi nhiều hơn, giữ không gian sống sạch sẽ, thoáng mát.
• Uống nhiều nước, chia nhỏ các bữa ăn trong ngày.
• Bổ sung các loại khoáng chất, vitamin giúp tăng đề kháng, tăng miễn
dịch và ngăn ngừa biến chứng do virus.
• Tiêm vắc xin phòng cúm để bảo vệ cơ thể 6. Bệnh cúm C a. Tổng quan
Cảm cúm C là một trong ba loại chính của virus cảm cúm, cùng với cúm A và
B. Nó thường gây ra các triệu chứng nhẹ hơn và ít phổ biến hơn so với cúm A và B.
Virus cúm C không thường gây ra đợt bùng phát lớn và không thường được
ghi nhận như là một nguy cơ lớn đối với sức khỏe cộng đồng. b. Dấu hiệu
• Đau đầu lan xuống vai gáy • Ngứa họng, không ho
• Đau ngực, tim đập nhanh • Cơ thể mệt mỏi c. Nguyên nhân
Cúm C lây truyền từ người sang người thông qua tiếp xúc với những người
bị nhiễm bệnh hoặc tiếp xúc với các vật nhiễm bệnh bị nhiễm virus cảm cúm C. lOMoARcPSD| 36477832
Virus cảm cúm C thường không gắn liền với các loài động vật như heo hoặc
gia cầm như các biến thể cảm cúm A. d. Lời khuyên
• Hạn chế tiếp xúc trực tiếp với nguồn lây như người mang bệnh hoặc
người nghi ngờ nhiễm bệnh. Việc vệ sinh cá nhân, sử dụng khẩu
trang khi ra ngoài và khi đến những nơi công cộng là phương pháp
hiệu quả hạn chế nguy cơ tiếp xúc với virus.
• Vệ sinh cá nhân sạch sẽ, rửa tay với chất làm sạch đồng thời vệ sinh
mũi, họng với nước sát khuẩn.
• Giữ ấm cơ thể khi thay đổi thời tiết, xây dựng chế độ dinh dưỡng
lành mạnh kết hợp với hoạt động tập thể thao để nâng cao thể trạng.
• Không nên tự ý sử dụng thuốc cảm cúm, đặc biệt với những đối
tượng trẻ nhỏ, phụ nữ mang thai và cho con bú, người có bệnh lý
nền, người đang sử dụng thuốc điều trị bệnh lý khác…
PHẦN 2: TRÌNH BÀY VỀ DỮ LIỆU LƯU TRỮ TRI THỨC ĐƯỢC
SỬ DỤNG TRONG HỆ THỐNG
I. Tập sự kiện kết luận bệnh
Tên bệnh Nguyên nhân Lời khuyên bệnh lOMoARcPSD| 36477832 D01 Cúm Hít phải không
Ở những trường hợp bị cúm nhẹ, không A/H1N1 khí có chứa
có biến chứng, người bệnh có thể điều trị dịch tiết của
cúm A/H1N1 tại nhà nếu có chỉ định của người nhiễm
bác sĩ. Tuy nhiên, ở những ca bệnh có bệnh khi họ sổ
nguy cơ diễn tiến nặng, đang tiến triển
mũi, ho, hắt hơi. phức tạp hoặc khó dự báo, bất kể tình Chạm tay vào
trạng sức khỏe trước đó, người bệnh cần các đồ vật
sớm nhập viện để được các bác sĩ điều trị. chứa virus
Sau khi xuất hiện các triệu chứng, người A/H1N1 rồi
bệnh cần tiến hành điều trị càng sớm càng virus theo
tốt.Các loại thuốc kháng virus để điều trị đường hô hấp
cúm gồm: Oseltamivir (uống), Zanamivir xâm nhập vào
(hít), Peramivir (tiêm),…Cần sử dụng cơ thể. Tiếp
thuốc theo chỉ định của bác sĩ. xúc trực tiếp
Biện pháp phòng ngừa: Rửa tay thường
với người bệnh xuyên bằng xà phòng, hạn chế tối đa việc A/H1N1 qua
đưa tay trực tiếp lên mắt và mũi, che giao tiếp, quan
miệng và mũi khi ho hoặc hắt hơi; sử hệ,...
dụng hàng ngày các dung dịch sát khuẩn Trong các môi
đường mũi, họng, mắt. trường công
Thường xuyên vệ sinh, lau sạch các bề cộng.
mặt, vật dụng tiếp xúc hằng ngày bằng xà lOMoARcPSD| 36477832
phòng hoặc các chất tẩy rửa; mở cửa
thoáng mát nơi ở, lớp học, nơi làm việc.
Giữ ấm cơ thể, ăn uống đủ chất, nghỉ
ngơi hợp lý, kết hợp tập thể dục thường
xuyên để tăng cường sức đề kháng, ngăn
ngừa nhiễm virus cúm, bảo vệ cơ thể.
Những đối tượng có nguy cơ cao như
người mắc bệnh mạn tính, trẻ em, người
cao tuổi và phụ nữ có thai cần tránh tiếp
xúc với người mắc bệnh cúm hoặc nghi mắc cúm.
Phòng tránh lây nhiễm cúm A/H1N1 chéo
tại các cơ sở khám, chữa bệnh: Người
thân và bệnh nhân nên đeo khẩu trang y
tế; khi tiếp xúc với người bệnh nên giữ khoảng cách trên 1m.
Chủ động theo dõi sức khỏe, thông báo
ngay cho cơ sở Y tế khi có triệu chứng
cúm như sốt, ho, đau ngực, khó thở để
được tư vấn, hướng dẫn các biện pháp
chăm sóc sức khỏe kịp thời. Việc nhận
biết và phát hiện sớm các dấu hiệu mắc
bệnh có thể giúp điều trị kịp thời, hạn chế
tối đa các trường hợp tử vong.
Những trường hợp sốt cao, khó thở cần
chủ động cách ly, đeo khẩu trang và đến
cơ sở y tế để được khám, tư vấn, xử lý, lOMoARcPSD| 36477832
phòng tránh lây lan. Việc nhận biết và
phát hiện sớm các dấu hiệu mắc bệnh có
thể giúp điều trị kịp thời, hạn chế tối đa
các trường hợp tử vong.
Đặc biệt, chủ động tiêm chủng vắc xin
cúm đúng lịch, đủ mũi, tiêm nhắc lại hằng
năm là biện pháp an toàn và hiệu quả để
bảo vệ cơ thể trẻ em, người lớn chống lại bệnh cúm. D02 Cúm Tiếp xúc trực
Phần lớn các trường hợp mắc bệnh cúm A A/H3N2 tiếp với người
H3N2, hay các chủng khác sẽ tự khỏi
đang mắc bệnh trong khoảng 1-2 tuần. Hầu hết người cúm A/H3N2
bệnh sẽ được tự điều trị tại nhà, trừ Tiếp xúc với
trường hợp bệnh tiến triển nặng hoặc có
các đồ vật đang biến chứng thì cần đến các cơ sở y tế để chứa virus H3N2 thì virus
được thực hiện hồi sức tích cực hoặc xác sẽ theo đường
định nguyên nhân gây bệnh và điều trị hô hấp xâm thích hợp. nhập vào phổi
Với người bệnh bị cúm A/H3N2 nhưng
triệu chứng chỉ ở mức độ nhẹ và không có
biến chứng thì có thể theo dõi và chăm
sóc tại nhà, đặc biệt cần đảm bảo các yếu tố dưới đây:
Chế độ sinh hoạt lành mạnh, khoa học:
Nghỉ ngơi nhiều, ăn uống đầy đủ các chất
dinh dưỡng. Uống nhiều nước, hạn chế
ăn, uống các thực phẩm lạnh. lOMoARcPSD| 36477832
Sử dụng thuốc tại nhà: Sử dụng thuốc hạ
sốt theo đúng chỉ định của bác sĩ.
Tuân thủ quy tắc phòng bệnh và tránh lây
nhiễm: Hạn chế đến những nơi đông
người hoặc tiếp xúc với nhiều người để
tránh lây truyền virus cho người lành, nếu
có phải sử dụng khẩu trang y tế.
Xử lý kịp thời: Sau khoảng 7 ngày mà các
triệu chứng bệnh không giảm mà tiến
triển nặng hơn, người bệnh cần được đưa
đến cơ sở y tế để thăm khám kịp thời. Biện pháp phòng ngừa:
Tiêm vắc xin phòng bệnh cúm A/H3N2
Tạo thói quen thường xuyên rửa tay bằng
nước sạch và xà phòng: Đây là cách đơn
giản và tốt nhất để ngăn sự xâm nhập của virus, vi khuẩn.
Che miệng khi ho hoặc hắt hơi; đeo khẩu trang.
Giữ gìn vệ sinh thân thể và vệ sinh môi
trường sống thông thoáng, sạch sẽ.
Xây dựng chế độ ăn uống cân bằng, tập
thể dục thường xuyên và nghỉ ngơi đầy đủ.
Mang khẩu trang y tế đến nơi có đông
người như bệnh viện, siêu thị, công viên.
Hạn chế tiếp xúc với người bệnh, nếu cần lOMoARcPSD| 36477832
phải tiếp xúc như chăm sóc, điều trị…,
cần tuân thủ các biện pháp phòng lây
nhiễm như đã nói ở trên.
Tránh tiếp xúc với các loài gia cầm được
nuôi nhốt, hoặc gia cầm bị chết. D03 Cúm Do virus cúm
Người bị cúm A H5N1 nên đến bệnh viện A/H5N1
A/H5N1 gây ra, để được điều trị vì nếu điều trị tại nhà lây lan trong
không đúng cách có thể gây nguy hiểm cộng đồng do:
cho cả người bệnh và người chăm sóc.
Sinh sống, hoạt Nếu bệnh ở mức độ nặng, người bệnh cần động gần các
phải nhập viện để được theo dõi, điều trị trang trại lợn,
và chăm sóc phòng ngừa nguy cơ nhiễm gia cầm và các khuẩn thứ phát. chợ nơi bán
Khi điều trị tại nhà, người bệnh cần thực trứng và gia
hiện các biện pháp dưới đây để bệnh sớm cầm điều kiện khỏi: vệ sinh không
Nghỉ ngơi cho tới khi hạ sốt, thư giãn đảm bảo.
trong môi trường thoáng khí, tránh những
Ăn thịt gia cầm nơi có nhiệt độ quá nóng hoặc quá lạnh, và trứng chưa
không nên nằm phòng điều hòa. nấu chín.
Đảm bảo chế độ dinh dưỡng phù hợp, ăn
các đồ dễ tiêu, thực phẩm lỏng, nóng và
uống nhiều nước. Tránh ăn đồ ăn lạnh
ảnh hưởng tới họng và lâu khỏi bệnh. Sử
dụng nước muối loãng có tính sát khuẩn
tốt để vệ sinh họng 2-3 lần/ngày để giảm
nhanh triệu chứng đau rát họng và lOMoARcPSD| 36477832 viêm họng.
Vệ sinh mũi bằng thuốc xịt mỗi ngày để kiểm soát viêm nhiễm. Biện pháp phòng ngừa:
Không ăn gia cầm, các sản phẩm gia cầm
ốm, chết và không rõ nguồn gốc; đảm bảo
ăn chín, uống sôi; rửa tay bằng xà phòng trước khi ăn.
Không giết mổ, vận chuyển, mua bán gia
cầm và sản phẩm gia cầm không rõ nguồn gốc.
Khi phát hiện gia cầm ốm, chết tuyệt
đối không được giết mổ và sử dụng mà
phải thông báo ngay cho chính quyền
địa phương và đơn vị thú y trên địa bàn.
Khi có biểu hiện cúm như sốt, ho, đau
ngực, khó thở có liên quan đến gia cầm
phải đến ngay cơ sở y tế để được tư vấn,
khám và điều trị kịp thời. D04 Cúm
Do chủng virus Khi nghi ngờ nhiễm cúm A (H7N9), A/H7N9 cúm H7N9
người bệnh cần đến bệnh viện để được thuộc nhóm
thăm khám, cách ly và thực hiện xét ARN virus gây
nghiệm đặc hiệu để chẩn đoán xác định ra bệnh. Không lây từ
Khi ca bệnh được xác định, cần nhập viện người sang
điều trị & cách ly hoàn toàn. người
Sử dụng thuốc kháng virus (zanamivir lOMoARcPSD| 36477832 Lây từ gia cầm
hoặc oseltamivir) càng sớm càng tốt. sang người do
Hồi sức hô hấp để có thể đảm bảo giữ tiếp xúc và sử dụng sản phẩm SpO2 ≥92%. gia cầm nhiễm
Điều trị suy đa tạng (nếu có). cúm Biện pháp phòng ngừa:
Tuyệt đối không ăn thịt gia cầm ốm hoặc
không rõ nguồn gốc. Đảm bảo ăn chín,
uống sôi & tập thói quen rửa tay bằng xà phòng trước khi ăn;
Không giết mổ, vận chuyển và mua bán
gia cầm, các sản phẩm gia cầm không rõ nguồn gốc;
Khi phát hiện gia cầm ốm, chết không rõ
nguyên nhân tuyệt đối không giết mổ và
sử dụng, phải thông báo ngay cho chính
quyền địa phương và đơn vị thú y trên địa bàn;
Khi có biểu hiện cúm, sốt, ho, khó thở
liên quan đến gia cầm, người bệnh cần
đến ngay bệnh viện gần nhất để được tư vấn và điều trị;
Người dân đi/ đến từ vùng dịch bệnh cúm
gia cầm lưu hành, cần theo dõi sức khỏe
để phát hiện sớm và điều trị, hạn chế tối
đa các biến chứng, tử vong. D05 Cúm B
Do virus cúm B Bệnh do virus cúm B hay do virus khác gây ra, gồm 2
gây ra, hiện nay vẫn chưa có thuốc đặc trị lOMoARcPSD| 36477832 dòng:
riêng mà chủ yếu chỉ điều trị triệu chứng
B/Yamagata và kết hợp nâng cao thể lực, tăng sức đề B Victoria Lây
kháng cơ thể kết hợp với: từ người sang
Uống thuốc hạ sốt giảm đau, hạ sốt không người thông qua giọt bắn
cần kê đơn: Ibuprofen (Advil) (1) hoặc nhỏ trong
Acetaminophen (Tylenol) (2), để làm không khí khi giảm triệu chứng. người bệnh ho, hắt hơi hoặc
Nghỉ ngơi nhiều hơn, giữ không gian
nói chuyện. Do sống sạch sẽ, thoáng mát. Uống nhiều chạm vào các bề mặt bị ô
nước, chia nhỏ các bữa ăn trong ngày. Bổ
nhiễm rồi chạm sung các loại khoáng chất, vitamin giúp
vào miệng mũi. tăng đề kháng, tăng miễn dịch và ngăn
ngừa biến chứng do virus.
Tiêm vắc xin phòng cúm để bảo vệ cơ thể D06 Cúm C Do virus cúm Biện pháp phòng ngừa: C gây ra Lây
Hạn chế tiếp xúc trực tiếp với nguồn lây truyền từ người
sang người qua như người mang bệnh hoặc người nghi tiếp xúc với
ngờ nhiễm bệnh. Việc vệ sinh cá nhân, sử người nhiễm
dụng khẩu trang khi ra ngoài và khi đến bệnh hoặc qua các bề mặt tiếp
những nơi công cộng là phương pháp xúc Virus cúm
hiệu quả hạn chế nguy cơ tiếp xúc với C có thể tồn tại
sẵn trong người virus. Vệ sinh cá nhân sạch sẽ, rửa tay với
chất làm sạch đồng thời vệ sinh mũi,
họng với nước sát khuẩn.
Giữ ấm cơ thể khi thay đổi thời tiết, xây
dựng chế độ dinh dưỡng lành mạnh kết lOMoARcPSD| 36477832
dưới dạng mầm hợp với hoạt động tập thể thao để nâng bệnh, gặp điều cao thể trạng. kiện thuận lợi sẽ bùng phát.
Không nên tự ý sử dụng thuốc cảm cúm, Thời tiết ẩm
đặc biệt với những đối tượng trẻ nhỏ, phụ lạnh dễ khiến
nữ mang thai và cho con bú, người có virus gây bệnh
bệnh lý nền, người đang sử dụng thuốc
điều trị bệnh lý khác…
II. Triệu chứng của các bệnh cảm cúm Mã triệu Triệu chứng chứng S00 Sốt S01 Sốt cao co giật S02
Sốt cao trên 39 độ kèm ớn lạnh S03 Sốt cao gián đoạn S04
Sốt liên tục trong nhiều giờ S05 Sốt nhẹ S06
Ban ngày sốt nhẹ, ban đêm sốt cao S07
Sốt cao và đột ngột trong vòng 1 đến 2 giờ S08
Đau toàn bộ đầu, chóng mặt S09 Đau nửa đầu S10
Đau nhói phần đỉnh đầu, đau nhiều về ban đêm S11
Đau đầu lan xuống vai gáy S12 Viêm họng S13 Ho có đờm S14 Ngứa họng, không ho S15 Đau họng khản tiếng lOMoARcPSD| 36477832 S16 Ho khan S17 Sổ mũi S18 Nghẹt mũi S19 Đau ngực, tim đập nhanh S20 Đau các vùng cơ S21 Đau các khớp S22 Choáng váng đầu óc S23 Mệt mỏi S24
Cảm thấy rét run, toát mồ hôi lạnh S25 Nôn mửa S26 Tiêu chảy S27 Suy hô hấp S28 Sốt cao S29 Ho
PHẦN 3 : TRÌNH BÀY CƠ SỞ TRI THỨC, CÁC
LUẬT/CASES/CÁC MỐI LIÊN KẾT THÔNG TIN, THUẬT TOÁN I. Thuật Toán
1. Suy diễn tiến ( thời điểm đầu của hê thống)̣ 1.1. Khái niêṃ
Suy diễn tiến (lập luận tiến - forward chaining hoặc forward reasoning)
(tư tưởng cơ bản của suy diễn tiến là áp dụng luật suy diễn Modus Ponens tổng quát):
Là quá trình suy diễn bắt đầu từ tập sự kiện đã biết, rút ra những sự kiện mới và cứ
như vậy cho đến khi có được sự kiện cần chứng minh hoặc không có luật nào sinh ra
các sự kiện mới (tập sự kiện đúng là cực đại). 1.2. Thuật toán
a. Đầu vào đầu ra thuật toán - Đầu vào : lOMoARcPSD| 36477832
• rules – Danh sách các luật
• facts – Danh sách các triệu chứng
• goal – Mục tiêu - Đầu ra:
• result – thuật toán trả về True nếu đường dẫn đến mục tiêu tồn tại. Khác – • False
• road – Danh sách các luật sử dụng để tìm kiếm mục tiêu
• Facts – Danh sách chứa các triệu chứng và các bệnh dự đoán được. b. Thuật toán
Thuật toán Suy diễn tiến (Forward Chaining) là một thuật toán quyết định
được sử dụng trong hệ thống chuyên gia và lý thuyết lập luận. Nó hoạt động bằng
cách suy ra các triệu chứng mới từ các luật và triệu chứng đã biết cho đến khi đạt
được mục tiêu hoặc không còn cách nào để suy ra triệu chứng mới. lOMoARcPSD| 36477832
class ForwardChaining: def
forward_chaining(self, rules, facts, goal): iteration = 0 road = [] while goal not in facts: rule_applied = False iteration += 1 for rule in rules:
if rule.flag1: # Nếu luật đã được dùng và chứng minh rồi
continue if rule.flag2: # Nếu đích đã được chứng minh rồi
continue if rule.right in facts: # Nếu vế phải đã được
chứng minh rồi rule.flag2 = True continue missing = rule.follows( facts
) # Tìm xem có triệu chứng nào thiếu để kết luận luật đúng hay
không if missing is None: rule_applied = True
rule.flag1 = True facts.append(rule.right)
road.append("R" + str(rules.index(rule) +
1)) break if not rule_applied:
return False, road, facts # Không thể chứng minh mục tiêu
return True, road, facts # Đã chứng minh được mục tiêu lOMoARcPSD| 36477832
Trong code trên, chúng ta sử dụng danh sách rules để lưu trữ danh sách các
luật, facts để lưu trữ các triệu chứng đã biết, và goal để lưu mục tiêu cần chứng minh. •
rule.flag1rule.flag2 sử dụng để đánh dấu xem luật và đích đã được chứng minh hay chưa. •
Trong mỗi vòng lặp, chúng ta duyệt qua danh sách luật và kiểm tra xem luật
nào có thể được áp dụng (tức là tất cả các điều kiện của luật đều đúng). •
Nếu có luật nào có thể áp dụng, chúng ta đánh dấu luật đó và thêm triệu chứng
kết luận của luật đó vào danh sách facts. •
Nếu không có luật nào có thể áp dụng, chúng ta trả về False để cho biết không
thể chứng minh mục tiêu.
Khi kết thúc vòng lặp, nếu mục tiêu nằm trong danh sách facts, chúng ta trả
về True và danh sách roadfacts đã cập nhật để biểu thị quá trình chứng minh mục tiêu.
1.3. Ví dụ minh họa
(Chỉnh sửa thuật toán từ while goal not in facts: thành while 1 để xem xét toàn quá trình suy diễn) Phần 1. Data
• Rule o R1: S01->D01 o R2: D01->D02 o R3: S02->S03 o R4: S06,S04-
>S07 o R5: S05,S02->S06 o R6: S01->S02 • Facts S01, S04, S05. • Goal S07 Phần 2. Execution • 1 ITERATION
o R1:S01->D01 được áp dụng. Cập nhật flag1. Facts S01, S04, S05 suy ra D01. lOMoARcPSD| 36477832 • 2 ITERATION
o R1:S01->D01 bỏ qua, vì flag1 đã được cập nhật.
o R2:D01->D02 được áp dụng. Cập nhật flag1. Facts S01, S04, S05 suy ra D01, D02. • 3 ITERATION
o R1:S01->D01 bỏ qua, vì flag1 đã được cập nhật. o R2:D01-
>D02 bỏ qua, vì flag1 đã được cập nhật.
o R3:S02->S03 Không được áp dụng, vì thiếu fact: S02 o
R4:S06,S04->S07 Không được áp dụng, vì thiếu fact: S06 o
R5:S05,S02->S06 Không được áp dụng, vì thiếu fact: S02 o
R6:S01->S02 được áp dụng. Cập nhật flag1. Facts S01, S04, S05 suy ra D01, D02, S02. • 4 ITERATION
o R1:S01->D01 bỏ qua, vì flag1 đã được cập nhật. o
R2:D01->D02 bỏ qua, vì flag1 đã được cập nhật.
o R3:S02->S03 được áp dụng. Cập nhật flag1. Facts
S01, S04, S05 suy ra D01, D02, S02, S03. • 5 ITERATION
o R1:S01->D01 bỏ qua, vì flag1 đã được cập nhật. o
R2:D01->D02 bỏ qua, vì flag1 đã được cập nhật. o
R3:S02->S03 bỏ qua, vì flag1 đã được cập nhật.
o R4:S06,S04->S07 Không được áp dụng, vì thiếu fact:
S06 o R5:S05,S02->S06 được áp dụng. Cập nhật
flag1. Facts S01, S04, S05 suy ra D01, D02, S02, S03, S06. • 6 ITERATION lOMoARcPSD| 36477832
o R1:S01->D01 bỏ qua, vì flag1 đã được cập nhật. o
R2:D01->D02 bỏ qua, vì flag1 đã được cập nhật. o
R3:S02->S03 bỏ qua, vì flag1 đã được cập nhật.
o R4:S06,S04->S07 được áp dụng. Cập nhật flag1.
Facts S01, S04, S05 suy ra D01, D02, S02, S03, S06, o S07. • 7 ITERATION
o R1:S01->D01 bỏ qua, vì flag1 đã được cập nhật. o
R2:D01->D02 bỏ qua, vì flag1 đã được cập nhật. o
R3:S02->S03 bỏ qua, vì flag1 đã được cập nhật. o
R4:S06,S04->S07 bỏ qua, vì flag1 đã được cập nhật.
o R5:S05,S02->S06 bỏ qua, vì flag1 đã được cập
nhật. o R6:S01->S02 bỏ qua, vì flag1 đã được cập nhật. Phần 3. Kết quả
• Facts S01, S04, S05, D01, D02, S02, S03, S06, S07.
• Đường đi suy diễn được là:R1, R2, R6, R3, R5, R4 Phần 4. Giải thích và kết luận:
Đây là một ví dụ cụ thể về cách Suy diễn tiến (Forward Chaining) hoạt động để tìm
mục tiêu S07 dựa trên tập luật và triệu chứng ban đầu.
• Ban đầu, chúng ta chỉ biết một số triệu chứng ban đầu là S01, S04, và S05.
• Trong vòng lặp thứ nhất, chúng ta áp dụng luật R1: S01->D01, và triệu chứng
D01 được suy ra. Luật này được đánh dấu là đã sử dụng (flag1 được cập nhật).
• Trong vòng lặp thứ hai, chúng ta áp dụng luật R2: D01->D02, và triệu chứng
D02 được suy ra. Luật này cũng được đánh dấu là đã sử dụng. lOMoARcPSD| 36477832
• Tiếp theo, chúng ta không thể áp dụng R3: S02->S03, R4: S06, S04->S07, và
R5: S05, S02->S06 vì thiếu triệu chứng S02.
• Trong vòng lặp thứ tư, chúng ta áp dụng luật R6: S01->S02, và triệu chứng
S02 được suy ra. Luật này cũng được đánh dấu là đã sử dụng.
• Trong vòng lặp tiếp theo, chúng ta áp dụng luật R3: S02->S03, và triệu chứng S03 được suy ra.
• Sau đó, chúng ta không thể áp dụng R4: S06, S04->S07 vì vẫn thiếu triệu chứng S06.
• Trong vòng lặp sau, chúng ta áp dụng luật R5: S05, S02->S06, và triệu chứng S06 được suy ra.
• Cuối cùng, trong vòng lặp cuối cùng, chúng ta áp dụng luật R4: S06, S04>S07,
và mục tiêu S07 được suy ra. Luật này cũng được đánh dấu là đã sử dụng.
Kết quả cuối cùng là chúng ta đã chứng minh được mục tiêu S07 và đường đi suy
diễn là R1, R2, R6, R3, R5, R4 1.4. Ưu Điểm
Tạo ra thông tin mới: Thuật toán Suy diễn tiến có khả năng tạo ra một lượng
lớn thông tin mới từ một số thông tin ban đầu. Điều này có thể hữu ích trong
việc tìm hiểu và phân tích thông tin từ cơ sở tri thức.
Phù hợp cho việc lập kế hoạch và quyết định: Suy diễn tiến là một phương
pháp tiếp cận lý tưởng cho các bài toán liên quan đến lập kế hoạch, điều hành,
điều khiển và diễn dịch. Nó giúp tổng hợp thông tin và đưa ra quyết định dựa trên dữ liệu có sẵn. 1.5. Nhược Điểm
• Không cảm nhận các thông tin quan trọng: Hệ thống Suy diễn tiến có thể bỏ
sót một số thông tin quan trọng mà không được đề cập trong cơ sở tri thức. Hệ lOMoARcPSD| 36477832
thống chỉ reo hỏi theo quy tắc của luật và không cảm nhận sự quan trọng của từng thông tin.
• Có thể hỏi câu hỏi không liên quan: Trong quá trình suy diễn tiến, hệ thống có
thể đặt ra các câu hỏi không liên quan đến mục tiêu hoặc không cần thiết, làm
cho người dùng cảm thấy bối rối.
• Bùng nổ tổ hợp: Đối với các cơ sở tri thức lớn với số lượng luật và triệu chứng
lớn, việc áp dụng tất cả các luật có thể dẫn đến sự tăng số lần lặp, gây bùng nổ
tổ hợp và làm tăng đáng kể độ phức tạp của thuật toán. 2. Suy diễn lùi 2.1. Khái niêṃ
Suy diễn lùi là quá trình suy diễn bắt đầu từ tập các sự kiện cần chứng minh và tìm
kiếm ngược trở lại các luật mà vế phải của luật là các sự kiện cần chứng minh. Nếu
tất cả các sự kiện trong vế trái của một luật đã hoàn toàn có mặt trong tập các sự kiện
cần chứng minh, thì sự kiện đó được xem là được chứng minh. Nếu có một sự kiện
nào đó ở vế trái của luật mà không nằm trong tập các sự kiện cần chứng minh ban
đầu, thì ta sẽ bổ sung sự kiện đó vào tập các sự kiện cần chứng minh. Đồng thời, ta
loại bỏ các sự kiện đã được chứng minh ra khỏi tập các sự kiện cần chứng minh. Quá
trình này tiếp tục cho đến khi một trong hai điều sau xảy ra:
Tập các sự kiện cần chứng minh trở thành một tập con của vế trái của luật.
Trong trường hợp này, bài toán được chứng minh, và chúng ta có thể xác định
được vết suy diễn là danh sách các luật và các sự kiện đã được sử dụng trong quá trình chứng minh.
Có một sự kiện trong tập các sự kiện cần chứng minh mà không tìm thấy luật
nào trong cơ sở luật mà vế phải của luật chứa sự kiện đó. Trong trường hợp
này, sự kiện tương ứng không được chứng minh và bài toán không thể giải quyết. lOMoARcPSD| 36477832 2.2. Thuật toán
a. Đầu vào đầu ra thuật toán Đầu vào:
• Lớp rule: tập luật tri thức (rule.right: mã bệnh, rule.left: Danh sách các • triệu chứng)
• Goal: Bệnh nghi ngờ người dùng mắc
• Fact: Danh sách các triệu chứng mà người dùng bị Đầu ra:
• Trả về True: nếu tồn tại một luật phù hợp với target_fact và goal
• Trả về False: nếu không có luật nào phù hợp b. Thuật toán
Code thực hiện suy diễn lùi: lOMoARcPSD| 36477832 class Rule: def
__init__(self, left, right): self.left = left self.right = right
def backward_chaining(rules, facts, goal): def
recursive_backward_chain(goal, facts): for
rule in rules: if rule.right == goal:
if all(elem in facts for elem in rule.left): return True return False result = False for goal_symptom in goal: if goal_symptom in facts: continue if
recursive_backward_chain(goal_symptom, facts): facts.append(goal_symptom) result = True else: lOMoARcPSD| 36477832 result = False break return result # Sử dụng ví dụ: if __name__ == "__main__":
rule1 = Rule(["S01", "S02", "S03", "S04"], "D01")
rule2 = Rule(["S01", "S02", "S05"], "D01") rule3 =
Rule(["S01", "S09", "S13", "S18"], "D01") rule4 =
Rule(["S01", "S02", "S14", "S23", "S25"], "D02") rule5
= Rule(["S01", "S02", "S14", "S24", "S28"], "D02")
rule6 = Rule(["S01", "S02", "S14", "S27", "S26"], "D02")
rule7 = Rule(["S01", "S02", "S14", "S27", "S29"], "D02")
rule8 = Rule(["S01", "S02", "S12", "S27", "S28"], "D02")
rule9 = Rule(["S01", "S02", "S13", "S27", "S28"], "D02")
rules = [rule1, rule2, rule3, rule4, rule5, rule6, rule7, rule8,
rule9] facts = ["S01", "S02", "S12", "S27", "S28"] goals = ["D02"] for goal in goals:
result = backward_chaining(rules, facts, goal) if result: print(
f"Mục tiêu '{goal}' có thể được chứng minh với các triệu chứng và luật đã cho." lOMoARcPSD| 36477832 ) else:
print( f"Mục tiêu '{goal}' không thể được chứng minh với các
triệu chứng và luật đã cho." ) 2.3. Ví dụ Phần 1. Dữ liệu 1) Tập luật R1: S01,S02,S03,S04->D01 R2: S01,S02,S05->D01 R3: S01,S09,S13,S18->D01
R4: S01,S02,S14,S23,S25->D02
R5: S01,S02,S14,S24,S28->D02
R6: S01,S02,S14,S27,S26->D02
R7: S01,S02,S14,S27,S29->D02
R8: S01,S02,S12,S27,S28->D02
R9: S01,S02,S13,S27,S28->D02
2) Triệu chứng người dùng mắc phải S01, S02, S12, S27, S28. 3) Bệnh nghi ngờ D02. Phần 2. Suy diễn 1) Goal D02:
- Tìm thấy luật R4: S01, S02, S14, S23, S25 -> D02. lOMoARcPSD| 36477832
- Các goals mới cần chứng mình là: S01, S02, S14, S23, S25. 2) - Goal S01:
- Cập nhật triệu chứng S01, bởi vì được tìm thấy trong tập triệu chứng gốc: S01,S02, S12, S27, S28. - Trả về thành công. 3) - Goal S02:
- Cập nhật triệu chứng S02, bởi vì được tìm thấy trong tập triệu chứng gốc: S01,S02, S12, S27, S28. - Trả về thành công. 4) - Goal S14:
- Không có luật nào để suy diễn hoặc không có triệu chứng này ban đầu. - Trả về thất bại. 5) Goal D02:
- Tìm thấy luật R5: S01, S02, S14, S24, S28 -> D02.
- Các goals mới cần chứng mình là: S01, S02, S14, S24, S28. 6) - Goal S01:
- Cập nhật triệu chứng S01, bởi vì được tìm thấy trong tập triệu chứng gốc: S01,S02, S12, S27, S28. - Trả về thành công. 7) - Goal S02:
- Cập nhật triệu chứng S02, bởi vì được tìm thấy trong tập triệu chứng gốc: S01,S02, S12, S27, S28. - Trả về thành công. lOMoARcPSD| 36477832 8) - Goal S14:
- Không có luật nào để suy diễn hoặc không có triệu chứng này ban đầu. - Trả về thất bại. 9) Goal D02:
- Tìm thấy luật R6: S01, S02, S14, S27, S26 -> D02.
- Các goals mới cần chứng mình là: S01, S02, S14, S27, S26. 10) - Goal S01:
- Cập nhật triệu chứng S01, bởi vì được tìm thấy trong tập triệu chứng gốc: S01,S02, S12, S27, S28. - Trả về thành công. 11) - Goal S02:
- Cập nhật triệu chứng S02, bởi vì được tìm thấy trong tập triệu chứng gốc: S01,S02, S12, S27, S28. - Trả về thành công. 12) - Goal S14:
- Không có luật nào để suy diễn hoặc không có triệu chứng này ban đầu. - Trả về thất bại. 13) Goal D02:
- Tìm thấy luật R7: S01, S02, S14, S27, S29 -> D02.
- Các goals mới cần chứng mình là: S01, S02, S14, S27, S29. 14) - Goal S01:
- Cập nhật triệu chứng S01, bởi vì được tìm thấy trong tập triệu chứng gốc: S01,S02, S12, S27, S28. lOMoARcPSD| 36477832 - Trả về thành công. 15) - Goal S02:
- Cập nhật triệu chứng S02, bởi vì được tìm thấy trong tập triệu chứng gốc: S01,S02, S12, S27, S28. - Trả về thành công. 16) - Goal S14:
- Không có luật nào để suy diễn hoặc không có triệu chứng này ban đầu. - Trả về thất bại. 17) Goal D02:
- Tìm thấy luật R8: S01, S02, S12, S27, S28 -> D02.
- Các goals mới cần chứng mình là: S01, S02, S12, S27, S28. 18) - Goal S01:
- Cập nhật triệu chứng S01, bởi vì được tìm thấy trong tập triệu chứng gốc: S01,S02, S12, S27, S28. - Trả về thành công. 19) - Goal S02:
- Cập nhật triệu chứng S02, bởi vì được tìm thấy trong tập triệu chứng gốc: S01,S02, S12, S27, S28. - Trả về thành công. 20) - Goal S12:
- Cập nhật triệu chứng S12, bởi vì được tìm thấy trong tập triệu chứng gốc: S01,S02, S12, S27, S28. - Trả về thành công. lOMoARcPSD| 36477832 21) - Goal S27:
- Cập nhật triệu chứng S27, bởi vì được tìm thấy trong tập triệu chứng gốc: S01,S02, S12, S27, S28. - Trả về thành công. 22) - Goal S28:
- Cập nhật triệu chứng S28, bởi vì được tìm thấy trong tập triệu chứng gốc: S01,S02, S12, S27, S28. - Trả về thành công. 23) ==> Goal D02: - Đã được chứng minh. - Trả về thành công. PART 3. Kết quả
• Goal D02 được chứng minh. • Road: R8. 2.4. Ưu điểm
• Phù hợp với giả thiết và mục tiêu đề ra: Suy diễn lùi tập trung vào việc kiểm
tra xem giả thiết đã đề ra có đúng hay không, giúp đảm bảo tính chính xác trong quá trình suy luận.
• Tập trung vào đích đầu ra: Suy diễn lùi chỉ tạo ra các câu hỏi liên quan đến
vấn đề cụ thể mà bạn đang quan tâm. Điều này giúp giảm độ phức tạp và làm
cho quá trình suy luận trở nên hiệu quả hơn.
• Chọn lựa thông tin cần thiết: Khi suy diễn lùi muốn suy luận cái gì đó từ thông
tin đã biết, nó chỉ tìm kiếm trên một phần nhỏ của cơ sở tri thức liên quan đến
vấn đề cụ thể đang xét. Điều này giúp giảm thời gian và tài nguyên cần thiết cho suy luận. lOMoARcPSD| 36477832
• Thích hợp cho các bài toán cụ thể: Suy diễn lùi thường được ưa chuộng trong
các nhiệm vụ như chẩn đoán bệnh, dự đoán, tìm lỗi và nhiều ứng dụng khác
nơi tính toán chính xác và quá trình suy luận trên mục tiêu cụ thể là quan trọng. 2.5. Nhược điểm
• Dễ rơi vào hiện tượng mắc kẹt: Một trong nhược điểm cơ bản của suy diễn lùi
là có thể mắc kẹt trong việc chỉ tuân theo một dòng suy luận. Điều này có thể
dẫn đến việc quên mục tiêu ban đầu và không thể tiến xa hơn. Tuy nhiên,
người ta có thể sử dụng nhân tố tin cậy và các luật meta để khắc phục tình trạng này.
• Phức tạp hơn so với một số phương pháp khác: Suy diễn lùi có thể phức tạp
hơn một chút so với các phương pháp suy luận khác. Tuy nhiên, nó có lợi ích
là chỉ tập trung vào các luật liên quan đến mục tiêu cụ thể, giúp giảm sự phức tạp tổng thể.
• Tìm kiếm sâu trên đồ thị: Thực tế, cơ chế suy diễn lùi có thể tương ứng với
việc thực hiện tìm kiếm sâu trên đồ thị hoặc biểu diễn tập luật. Điều này có
thể tạo ra độ phức tạp và tốn thời gian đối với các tập luật lớn hoặc phức tạp. lOMoARcPSD| 36477832
3. Động cơ suy diễn
Kết hợp suy diễn tiến và suy diễn lùi là một cách mạnh mẽ để xây dựng một hệ thống
tư vấn hoặc chatbot hiệu quả. Khi áp dụng cả hai phương pháp suy diễn này, ta có
thể tận dụng ưu điểm của cả hai để đạt được mục tiêu cuối cùng, tức là cung cấp tư
vấn tốt cho người dùng hoặc làm suy diễn về tình trạng sức khỏe của họ. Dưới đây
là cách mà việc kết hợp cả suy diễn tiến và suy diễn lùi có thể hoạt động:
1. Suy diễn tiến: Giai đoạn đầu tiên của quá trình tư vấn bắt đầu với suy diễn
tiến. Trong giai đoạn này, chatbot đặt các câu hỏi về triệu chứng hoặc thông
tin sức khỏe cụ thể của người dùng. Mục tiêu là thu thập đủ thông tin để suy
diễn ra các bệnh hoặc vấn đề sức khỏe tiềm ẩn.
2. Suy diễn lùi: Sau khi thu thập đủ thông tin từ suy diễn tiến, giai đoạn suy diễn
lùi bắt đầu. Chatbot và người dùng tương tác với nhau để xem xét các triệu
chứng hoặc thông tin sức khỏe cụ thể. Chatbot sẽ thực hiện suy diễn từ các
triệu chứng và thông tin thu thập được trong suy diễn tiến để đưa ra các khả
năng về bệnh hoặc tình trạng sức khỏe của người dùng.
3. Kết hợp kết quả: Cuối cùng, chatbot kết hợp kết quả từ cả suy diễn tiến và
suy diễn lùi để cung cấp tư vấn cuối cùng cho người dùng. Nó có thể đưa ra
danh sách các bệnh có thể gặp phải dựa trên suy diễn tiến, sau đó sử dụng suy
diễn lùi để xác minh liệu người dùng có bị bệnh đó hay không. Kết hợp này
giúp giảm thiểu sai sót và cung cấp tư vấn sức khỏe chính xác hơn.
II. Các luật/cases/các mối liên kết thông tin được sử dụng
1. Xây dựng luật suy diễn tiến
Mã luật IF THEN R1 S01 D01 R2 S02 D01 R3 S03 D02 R4 S04 D03 lOMoARcPSD| 36477832 R5 S05 D05 R6 S06 D03 or D04 R7 S07 D04 R8 S08 D01 or D03 R9 S09 D02 R10 S10 D04 R11 S11 D06 R12 S12 D02 R13 S13 D03 or D04 R14 S14 D05 or D06 R15 S15 D01 or D03 or D05 R16 S16 D02 R17 S17 D01 or D02 R18 S18 D02 or D03 R19 S19 D03 or D06 R20 S20 D01 or D02 or D05 R21 S21 D04 R22 S22 D01 or D03 R23 S23 D02 or D03 or D06 R24 S24 D05 R25 S25 D01 or D03 or D04 R26 S26 D02 or D05 R27 S27 D04
2. Xây dựng luật suy diễn lùi Mã luật IF THEN lOMoARcPSD| 36477832 R1 S00 + S01 + S02 + S08 + S20 D01 R2 S00 + S01 + S02 + S25 D01 R3 S00 + S01 + S15 + S22 + S17 D01 R4 S00 + S03 + S09 + S12 + S16 D02 R5
S00 + S03 + S09 + S12 + S16 + S20 D02 R6
S00 + S03 + S09 + S12 + S20 + S23 D02 R7
S00 + S03 + S09 + S17 + S18 + S23 D02 R8
S00 + S03 + S09 + S18 + S23 + S26 D02 R9 S00 + S04 + S06 + S08 + S13 D03 R10 S00 + S04 + S06 + S08 + S15 D03 R11 S00 + S04 + S18 + S23 + S15 D03 R12 S00 + S04 + S18 + S23 + S25 D03 R13
S00 + S06 + S07 + S10 + S13 + S21 D04 R14
S00 + S06 + S07 + S10 + S13 + S24 D04 R15 S00 + S06 + S07 + S25 + S21 D04 R16 S00 + S06 + S07 + S25 + S24 D04 R17
S00 + S06 + S07 + S25 + S27 + S13 D04 R18
S00 + S05 + S14 + S15 + S20 + S24 D05 R19
S00 + S05 + S14 + S20 + S24 + S27 D05 R20 S00 + S05 + S20 + S27 D05 R21 S00 + S05 + S20 + S24 D05 R22 S00 + S05 + S24 + S27 D05 R23 S11 + S23 D06 R24 S11 + S14 + S19 D06 R25 S11 + S19 + S23 D06 R26 S19 + S14 D06 R27 S14 + S23 D06 lOMoARcPSD| 36477832
3. Cấu trúc database
Ảnh 10. Cấu trúc database
PHẦN 4: KỊCH BẢN HỆ THỐNG
I. Cách thức hệ thống vận hành (Input, Output)
- Trong quá trình sử dụng, hệ thống thực hiện 8 bước bao gồm:
• Bước 1: Hệ thống chào người dùng và hỏi người dùng về triệu chứng họ đang gặp phải.
• Bước 2: Nếu người dùng có triệu chứng ho hoặc sốt, chatbot sẽ hỏi các hỏi cụ
thể về trạng thái ho/sốt của người dùng.
• Bước 3: Hệ thống hỏi người dùng thêm các câu hỏi phụ để xác định luật cho
suy diễn tiến, mỗi câu trả lời của người dùng (có hoặc không) sẽ đi theo một kịch bản khác nhau.
• Bước 4: Hệ thống các câu hỏi suy diễn tiến và thực hiện thuật toán suy diễn
tiến để khoanh vùng bệnh nghi ngờ mà người dùng mắc phải
• Bước 5: Từ những bệnh nghi ngờ ở bước 4. Hệ thống thực hiện suy diễn lùi
và hỏi người dùng các triệu chứng của các bệnh đó để kết luận bệnh. lOMoARcPSD| 36477832
• Bước 6: Nếu tìm được bệnh tương ứng tại bước 5. Hệ thống sẽ thông báo về
các thông tin các triệu chứng gặp phải, nguyên nhân và lời khuyên về bệnh đó cho người dùng.
- Phạm vi chuẩn đoán của hệ thống Chatbot sẽ tập trung hoàn toàn vào các bệnh
lýthường gặp của các bệnh cảm cúm.
II. Kiến trúc xây dựng hệ thống 1. Công cụ lập trình
• Hệ thống sử dụng ngôn ngữ Python với công cụ Visual Studio Code.
• Hệ thống sử dụng MySQL để lưu trữ cơ sở dữ liệu về luật, bệnh, triệu chứng,
nguyên nhân và lời khuyên. 2. Cấu trúc project
Ảnh 12. Cấu trúc project
3. Các file xử lý chính Bao gồm 4 file:
• backward_chainning.py (Thực hiện suy diễn lùi)
• forward_chainning.py (Thực hiện suy diễn tiến)
• class_all.py (Thực hiện truy vấn cơ sở dữ liệu và xử lý dữ liệu)
• main.py (Thực hiện luồng chính) lOMoARcPSD| 36477832 3.1. class_all.py
• File class_all.py lưu các class được sử dụng nhiều nhất trong hệ thống, bao gồm:
• ConvertData: để query dữ liệu từ Database
• Validate: kiểm tra dữ liệu người dùng nhập vào có hợp lệ hay không
• Person: lớp lưu dữ liệu người dùng
• TreeForFC: lưu dữ liệu các triệu chứng vào cây nhị phân để phục vụ phần suy diễn tiến
• Chứa function printTree(): dùng để in cây nhị phân hiện tại
• Chứa function searchindexrule(): tìm chỉ mục của các luật đã được xét Chứa function get_s_in_d():
• Gộp các luật chứa triệu chứng đang hỏi của 1 bệnh nhất định nếu người dùng trả lời có
• Gộp các luật không chứa triệu chứng đang hỏi của 1 bệnh nhất định
nếu người dùng trả lời không 3.2. main.py
• File main.py là file xử lý chính, thực hiện chạy code ở file này
• Nhiệm vụ đưa ra câu hỏi và nhận câu trả lời từ phía người dùng sau đó xử lý và đưa ra kết quả.
3.3. Forward_chaining.py
• Xử lý logic phần câu hỏi suy diễn tiến
• Bước đầu đưa ra được chuẩn đoán sơ bộ về các chứng bệnh mà người dùng có thể mắc phải
• Kết quả của phần này là input cho phần xử lý suy diễn lùi lOMoARcPSD| 36477832
3.4. Backward_chaining.py
Từ kết quả của phần suy diễn tiến và một vài câu hỏi khác để xử lý và đưa ra
chuẩn đoán chính xác về bệnh mà người dùng có thể đang mắc phải.
III. Kịch bản vận hành
STT Actor + Hành Message động 1 Chatbot chào
Xin chào, tôi là chatbot chuẩn đoán và tư vấn bệnh cảm! và hỏi triệu
Vui lòng nhập triệu chứng của bạn để chúng tôi có thể chứng người
chuẩn đoán bệnh và tư vấn cho bạn! dùng 2 Chatbot yêu
Hãy nhập triệu chứng của bạn cầu nhập triệu chứng 3 Người dùng
Tôi bị ho, sốt và cơ thể cảm thấy mệt mỏi. nhập triệu chứng 4 Chatbot thông
Danh sách các triệu chứng bạn đang mắc: báo
['S00 Sốt', 'S23 Mệt mỏi', 'S29 Ho'] 5 Chatbot hỏi
Bạn đang có triệu chứng HO- một trong số các triệu chứng
phổ biến của các bệnh cảm cúm.
Để có chuẩn đoán chính xác, hãy cho tôi biết chi tiết thêm về tình trạng ho 1. Ho có đờm 2. Ho khan 0. Bỏ qua 6 Người dùng 2 nhập 7 Chatbot thông
Danh sách mã các triệu chứng bạn đang mắc: báo
['S00 Sốt', 'S23 Mệt mỏi', 'S29 Ho', 'S16 Ho khan’] lOMoARcPSD| 36477832 8 Chatbot hỏi
Bạn đang có triệu chứng SỐT- một trong số các triệu
chứng phổ biến của các bệnh cảm cúm.
Để có chuẩn đoán chính xác, hãy cho tôi biết chi tiết
thêm về tình trạng sốt 1. Sốt cao (>39 độ))
2. Sốt nhẹ (<=39 độ) 0. Bỏ qua 9 Người dùng 2 nhập 10 Chatbot thông
Danh sách mã các triệu chứng bạn đang mắc: báo
['S00 Sốt', 'S23 Mệt mỏi', 'S29 Ho', 'S16 Ho khan', 'S05 Sốt nhẹ'] 11 Chatbot hỏi
Bạn có triệu chứng Sổ mũi không (trả lời có hoặc không): 12 Người dùng không nhập 13 Chatbot thông
Danh sách mã các triệu chứng bạn đang mắc: báo
['S00 Sốt', 'S23 Mệt mỏi', 'S29 Ho', 'S16 Ho khan', 'S05 Sốt nhẹ'] 14 Chatbot hỏi
Bạn có triệu chứng Suy hô hấp không (trả lời có hoặc không): 15 Người dùng 0 nhập 16 Chatbot thông
Danh sách mã các triệu chứng bạn đang mắc: báo
['S00 Sốt', 'S23 Mệt mỏi', 'S29 Ho', 'S16 Ho khan', 'S05 Sốt nhẹ'] 17 Chatbot thông
Chúng tôi dự đoán bạn có thể bị bệnh : Cúm B, Cúm báo A/H3N2, Cúm A/H5N1, Cúm C,
Trên đây là chuẩn đoán sơ bộ của chúng tôi. Tiếp theo,
chúng tôi sẽ hỏi bạn một số câu hỏi để đưa ra kết quả chính xác. 18 Chatbot thông
Chúng tôi đã có các triệu chứng ban đầu và có thể bạn mắc báo
bệnh Cúm B(D05) , sau đây chúng tôi muốn hỏi bạn một
vài câu hỏi để tìm hiểu về bệnh bạn đang mắc phải. 19 Chatbot hỏi
Bạn có bị triệu chứng Ngứa họng, không ho(S14) không? 20 Người dùng không nhập lOMoARcPSD| 36477832 21 Chatbot hỏi
Bạn có bị triệu chứng Đau các vùng cơ(S20) không? 22 Người dùng 0 nhập 23 Chatbot hỏi
Bạn có bị triệu chứng Suy hô hấp(S27) không? 24 Người dùng khong nhập 25 Chatbot thông
Có vẻ như bạn không mắc bệnh D05-Cúm B báo 26
Chatbot thông Chúng tôi đã có các triệu chứng ban đầu và có thể bạn mắc báo
bệnh Cúm A/H3N2(D02) , sau đây chúng tôi muốn hỏi bạn
một vài câu hỏi để tìm hiểu về bệnh bạn đang mắc phải 27 Chatbot hỏi
Bạn có bị triệu chứng Sốt cao gián đoạn(S03) không? 28 Người dùng có nhập 29 Chatbot hỏi
Bạn có bị triệu chứng Đau nửa đầu(S09) không? 30 Người dùng có nhập 31 Chatbot hỏi
Bạn có bị triệu chứng Viêm họng(S12) không? 32 Người dùng có nhập lOMoARcPSD| 36477832 33 Chatbot thông
Chúng tôi chuẩn đoán bạn mắc bệnh D02- Cúm A/H3N2 báo Lời khuyên
Phần lớn các trường hợp mắc bệnh cúm A H3N2, hay các
chủng khác sẽ tự khỏi trong khoảng 1-2 tuần. Hầu hết
người bệnh sẽ được tự điều trị tại nhà, trừ trường hợp
bệnh tiến triển nặng hoặc có biến chứng thì cần đến các cơ
sở y tế để được thực hiện hồi sức tích cực hoặc xác định
nguyên nhân gây bệnh và điều trị thích hợp.
Với người bệnh bị cúm A/H3N2 nhưng triệu chứng chỉ ở
mức độ nhẹ và không có biến chứng thì có thể theo dõi và
chăm sóc tại nhà, đặc biệt cần đảm bảo các yếu tố dưới đây:
Chế độ sinh hoạt lành mạnh, khoa học: Nghỉ ngơi nhiều, ăn
uống đầy đủ các chất dinh dưỡng. Uống nhiều nước, hạn
chế ăn, uống các thực phẩm lạnh.
Sử dụng thuốc tại nhà: Sử dụng thuốc hạ sốt theo đúng chỉ định của bác sĩ.
Tuân thủ quy tắc phòng bệnh và tránh lây nhiễm: Hạn chế
đến những nơi đông người hoặc tiếp xúc với nhiều người
để tránh lây truyền virus cho người lành, nếu có phải sử dụng khẩu trang y tế.
Xử lý kịp thời: Sau khoảng 7 ngày mà các triệu chứng
bệnh không giảm mà tiến triển nặng hơn, người bệnh cần
được đưa đến cơ sở y tế để thăm khám kịp thời. lOMoARcPSD| 36477832 Biện pháp phòng ngừa:
Tiêm vắc xin phòng bệnh cúm A/H3N2
Tạo thói quen thường xuyên rửa tay bằng nước sạch và
xà phòng: Đây là cách đơn giản và tốt nhất để ngăn sự
xâm nhập của virus, vi khuẩn.
Che miệng khi ho hoặc hắt hơi; đeo khẩu trang.
Giữ gìn vệ sinh thân thể và vệ sinh môi trường sống thông thoáng, sạch sẽ.
Xây dựng chế độ ăn uống cân bằng, tập thể dục thường
xuyên và nghỉ ngơi đầy đủ.
Mang khẩu trang y tế đến nơi có đông người như bệnh
viện, siêu thị, công viên.
Hạn chế tiếp xúc với người bệnh, nếu cần phải tiếp xúc
như chăm sóc, điều trị…, cần tuân thủ các biện pháp
phòng lây nhiễm như đã nói ở trên.
Tránh tiếp xúc với các loài gia cầm được nuôi nhốt, hoặc gia cầm bị chết.
Cám ơn bạn đã sử dụng chat bot của chúng tôi
IV. Demo chương trình và giải thích chi tiết Phần 1: Chatbot chào và hỏi
người dùng đang mắc triệu chứng gì Hàm thực hiện:
def input_symptom(list_symptom_of_person): while True:
if len(list_symptom_of_person) == len(db.resulttrieutrung): break
if len(list_symptom_of_person) == 0:
print(f'-->Chatbot: Vui lòng nhập triệu chứng cu)a bạn để )chúng tôi có thể) chuẩ)n đoán bệnh và tư vẩ5n cho bạn!') lOMoARcPSD| 36477832
symptom_input = input("-->Hãy nhập triệu chứng cu)a bạn: ")
matched_symptoms = extract_symptoms(symptom_input)
if len(matched_symptoms) == 0:
print("-->Chatbot: Những triệu chứng bạn vừa nhập nằm ngoài tẩ?m hiể)u biể5t cu)a tôi. Vui lòng thư) lại.") continue else:
list_symptom_of_person = matched_symptoms break
return list_symptom_of_person Giải thích:
Khi người dùng bắt đầu sử dụng hệ thống, hệ thống sẽ đưa ra lời chào và yêu cầu
người dùng nhập các triệu chứng của bản thân.
Sau khi người dùng nhập các triệu chứng của bản thân, hệ thống sẽ phân tách các từ
và so sánh với các triệu chứng trong database rồi trả lại kết quả. Nếu triệu chứng
người dùng nhập không có trong database, Chatbot sẽ thông báo lại rằng triệu chứng
nằm ngoài tầm hiểu biết và yêu cầu người dùng nhập lại. Phần 2: Câu hỏi về tình trạng ho Hàm thực hiện:
def second_question(list_symptom_of_person):
hoKhan = [db.resulttrieutrung[16]]
hoCoDom = [db.resulttrieutrung[13]] while (1):
check = {'idtrieuchung': 'S29', 'noidung': 'Ho'}
checkHoKhan = {'idtrieuchung': 'S16', 'noidung': 'Ho khan'}
checkSotNhe = {'idtrieuchung': 'S13', 'noidung': 'Ho có đờm'} if(checkHoKhan in
list_symptom_of_person or checkSotNhe in list_symptom_of_person): return list_symptom_of_person if
(check in list_symptom_of_person): lOMoARcPSD| 36477832
print(f'-->Chatbot: Bạn đang có triệu chứng HO- một trong sô5 các triệu chứng phô) biể5n cu)a các
bệnh ca)m cúm.\n Để) có chuẩ)n đoán chính xác, hãy cho tôi biể5t chi tiể5t thểm vể? tình trạng ho') print('1. Ho có đờm') print('2. Ho khan') print('0. Bo) qua')
print('---------------Cẩu tra) lời cu)a bạn---------------')
answer = validate.validate_input_number_form(input())
# print("Người dùng: Lựa chọn cu)a tôi ", answer)
print(f'-->Bạn: Lựa chọn cu)a tôi {answer}') if(answer == '0'): break
if (int(answer) < 0 or int(answer) > 2):
print('-->Chatbot: Vui lòng nhập sô5 từ 0 -> 2') continue elif (answer == '2'):
list_symptom_of_person.append(hoKhan[0]) break else:
list_symptom_of_person.append(hoCoDom[0]) break else: break
print(f'-->Chatbot: Danh sách mã các triệu chứng bạn đang mắ5c:',
[i['idtrieuchung'] + " " + i['noidung'] for i in list_symptom_of_person])
return list_symptom_of_person Giải thích:
Nếu trước đó người dùng có nhập triệu chứng là ho thì câu hỏi 2 sẽ hỏi cụ thể hơn
về tình trạng ho (Ho khan hay ho có đờm)
Người dùng có thể chọn một trong hai triệu chứng hoặc bỏ qua câu hỏi.
Hàm Validate hoạt động khi người dùng nhập số ngoài các lựa chọn 0, 1 và 2 hoặc không phải dạng số.
Tình trạng ho sẽ được lưu vào list_symptom_of_person.
Phần 3: Câu hỏi về tình trạng sốt Hàm thực hiện: lOMoARcPSD| 36477832
def after_second_question(list_symptom_of_person):
sotNhe = [db.resulttrieutrung[5]]
sotCao = [db.resulttrieutrung[28]] while (1):
check = {'idtrieuchung': 'S00', 'noidung': 'Sô5t'}
checkSotCao = {'idtrieuchung': 'S28', 'noidung': 'Sô5t cao'}
checkSotNhe = {'idtrieuchung': 'S05', 'noidung': 'Sô5t nhẹ'} if(checkSotNhe in
list_symptom_of_person or checkSotCao in list_symptom_of_person): return
list_symptom_of_person if (check in list_symptom_of_person):
print(f'-->Chatbot: Bạn đang có triệu chứng SỐ5T- một trong sô5 các triệu chứng phô) biể5n cu)a các
bệnh ca)m cúm.\n Để) có chuẩ)n đoán chính xác, hãy cho tôi biể5t chi tiể5t thểm vể? tình trạng sô5t')
print('1. Sô5t cao (>39 độ))')
print('2. Sô5t nhẹ (<=39 độ)') print('0. Bo) qua')
print('---------------Cẩu tra) lời cu)a bạn---------------')
answer = validate.validate_input_number_form(input())
# print("Người dùng: Lựa chọn cu)a tôi ", answer)
print(f'-->Bạn: Lựa chọn cu)a tôi {answer}') if(answer == '0'): break
if (int(answer) < 0 or int(answer) > 2):
print('-->Chatbot: Vui lòng nhập sô5 từ 0 -> 2') continue elif (answer == '2'):
list_symptom_of_person.append(sotNhe[0]) break else:
list_symptom_of_person.append(sotCao[0]) break else: break
print(f'-->Chatbot: Danh sách mã các triệu chứng bạn đang mắ5c:',
[i['idtrieuchung'] + " " + i['noidung'] for i in list_symptom_of_person])
return list_symptom_of_person Giải thích:
Nếu trước đó người dùng có nhập triệu chứng là sốt thì câu hỏi tiếp theo sẽ hỏi cụ
thể hơn về tình trạng sốt (Sốt nhẹ hay sốt cao)
Người dùng có thể chọn một trong hai triệu chứng hoặc bỏ qua câu hỏi.
Hàm Validate hoạt động khi người dùng nhập số ngoài các lựa chọn 0, 1 và 2 hoặc không phải dạng số.
Tình trạng sốt sẽ được lưu vào list_symptom_of_person. lOMoARcPSD| 36477832
Phần 4: Các câu hỏi phụ trợ Hàm sử dụng:
def forth_question_before_forward_inference(list_symptom_of_person): initTree=
TreeForFC('S00',TreeForFC('S29',TreeForFC('S16',TreeForFC('S27'),TreeForFC
('S21')),TreeForFC('S19',TreeForFC('S11'),TreeForFC('S23'))),TreeForFC('S1
7',TreeForFC('S15',TreeForFC('S12'),TreeForFC('S26')),TreeForFC('S27',Tree
ForFC('S12'),TreeForFC('S19')))) savedTree = initTree question_count = 0 while(1):
currentSym = db.get_trieuchung_by_id(savedTree.value)
check = {'idtrieuchung': currentSym["idtrieuchung"], 'noidung': currentSym["noidung"]}
if check in list_symptom_of_person: savedTree = savedTree.right continue
print(f'-->Chatbot: Bạn có triệu chứng {currentSym["noidung"]} không (tra) lời có hoặc không):')
answer = validate.validate_binary_answer(input()) print(f'-->Bạn: Cẩu tra) lời
cu)a tôi là {answer}') if answer: savedTree = savedTree.left
list_symptom_of_person.append(currentSym) else: savedTree = savedTree.right question_count += 1
print(f'-->Chatbot: Danh sách mã các triệu chứng mà bạn đang mắ5c:', [i['idtrieuchung'] + " " +
i['noidung'] for i in list_symptom_of_person]) if question_count == 2: break
return list_symptom_of_person Giải thích:
Danh sách các câu hỏi được chatbot sử dụng được lấy ra từ 1 cây nhị phân cấp 4 đã
lưu sẵn, chatbot sẽ hỏi người dùng 2 câu hỏi.
Khi người dùng trả lời có, chatbot sẽ hỏi các triệu chứng có liên quan đã được trình
bày trong cây nhị phân có sẵn, nếu trả lời không thì ngược lại. lOMoARcPSD| 36477832
Hàm Validate hoạt động khi người dùng nhập số ngoài 0 và 1 hoặc không phải dạng số.
Các triệu chứng người dùng có sẽ được lưu vào list_symptom_of_person.
Phần 5: Suy diễn tiến Hàm thực hiện:
def forward_chaining(rule, fact, goal, file_name): fc = ForwardChaining(rule, fact, None, file_name)
list_predicted_disease = [i for i in fc.facts if i[0] == "D"] print(
f'-->Chatbot: Chúng tôi dự đoán bạn có thể) bị bệnh :', end=" ") for i in list_predicted_disease: temp = db.get_benh_by_id(i)
print(temp['tenBenh'], end=', ') print() print(
f'-->Chatbot: Trển đẩy là chuẩ)n đoán sơ bộ cu)a chúng tôi. Tiể5p theo, chúng tôi sẽ ho)i bạn một sô5
cẩu ho)i để) đưa ra kể5t qua) chính xác.', end=" ")
return list_predicted_disease PART 1. Dữ liệu (Luật) 1) Productions R1: S01->D01 R2: S10->D04 R3: S11->D06 R4: S12->D02 R5: S13->D03 R6: S13->D04 R7: S14->D05 R8: S14->D06 R9: S15->D01 R10: S15->D03 R11: S15->D05 lOMoARcPSD| 36477832 R12: S16->D02 R13: S17->D01 R14: S17->D02 R15: S18->D02 R16: S18->D03 R17: S19->D03 R18: S19->D06 R19: S02->D01 R20: S20->D01 R21: S20->D02 R22: S20->D05 R23: S21->D04 R24: S22->D01 R25: S22->D03 R26: S23->D02 R27: S23->D03 R28: S23->D06 R29: S24->D05 R30: S25->D01
R31: S25->D03 R32: S25->D04 R33: S26->D02 R34: S26->D05 R35: S27->D04 R36: S03->D02 R37: S04->D03 R38: S05->D05 R39: S06->D03 R40: S06->D04 R41: S07->D04 lOMoARcPSD| 36477832 R42: S08->D01 R43: S08->D03 2) Facts S00, S06, S21, S23. 3) Goal None PART 2. Suy Diễn 1 ITERATION
R1:S01->D01 Không được áp dụng, vì thiếu fact: S01
R2:S10->D04 Không được áp dụng, vì thiếu fact: S10
R3:S11->D06 Không được áp dụng, vì thiếu fact: S11
R4:S12->D02 Không được áp dụng, vì thiếu fact: S12
R5:S13->D03 Không được áp dụng, vì thiếu fact: S13
R6:S13->D04 Không được áp dụng, vì thiếu fact: S13
R7:S14->D05 Không được áp dụng, vì thiếu fact: S14
R8:S14->D06 Không được áp dụng, vì thiếu fact: S14
R9:S15->D01 Không được áp dụng, vì thiếu fact: S15
R10:S15->D03 Không được áp dụng, vì thiếu fact: S15 R11:S15->D05
Không được áp dụng, vì thiếu fact: S15
R12:S16->D02 Không được áp dụng, vì thiếu fact: S16
R13:S17->D01 Không được áp dụng, vì thiếu fact: S17
R14:S17->D02 Không được áp dụng, vì thiếu fact: S17
R15:S18->D02 Không được áp dụng, vì thiếu fact: S18
R16:S18->D03 Không được áp dụng, vì thiếu fact: S18
R17:S19->D03 Không được áp dụng, vì thiếu fact: S19
R18:S19->D06 Không được áp dụng, vì thiếu fact: S19
R19:S02->D01 Không được áp dụng, vì thiếu fact: S02
R20:S20->D01 Không được áp dụng, vì thiếu fact: S20
R21:S20->D02 Không được áp dụng, vì thiếu fact: S20
R22:S20->D05 Không được áp dụng, vì thiếu fact: S20 lOMoARcPSD| 36477832
R23:S21->D04 được áp dụng. Cập nhật flag1. Facts S00, S06, S21, S23 suy ra D04. 2 ITERATION
R1:S01->D01 Không được áp dụng, vì thiếu fact: S01
R2:S10->D04 không áp dụng, vì D04 nắm trong số các facts. Cập nhật flag2.
R3:S11->D06 Không được áp dụng, vì thiếu fact: S11
R4:S12->D02 Không được áp dụng, vì thiếu fact: S12
R5:S13->D03 Không được áp dụng, vì thiếu fact: S13
R6:S13->D04 không áp dụng, vì D04 nắm trong số các facts. Cập nhật flag2.
R7:S14->D05 Không được áp dụng, vì thiếu fact: S14
R8:S14->D06 Không được áp dụng, vì thiếu fact: S14
R9:S15->D01 Không được áp dụng, vì thiếu fact: S15
R10:S15->D03 Không được áp dụng, vì thiếu fact: S15
R11:S15->D05 Không được áp dụng, vì thiếu fact: S15
R12:S16->D02 Không được áp dụng, vì thiếu fact: S16
R13:S17->D01 Không được áp dụng, vì thiếu fact: S17
R14:S17->D02 Không được áp dụng, vì thiếu fact: S17
R15:S18->D02 Không được áp dụng, vì thiếu fact: S18
R16:S18->D03 Không được áp dụng, vì thiếu fact: S18
R17:S19->D03 Không được áp dụng, vì thiếu fact: S19
R18:S19->D06 Không được áp dụng, vì thiếu fact: S19
R19:S02->D01 Không được áp dụng, vì thiếu fact: S02
R20:S20->D01 Không được áp dụng, vì thiếu fact: S20
R21:S20->D02 Không được áp dụng, vì thiếu fact: S20
R22:S20->D05 Không được áp dụng, vì thiếu fact: S20 R23:S21-
>D04 bỏ qua, vì flag1 đã được cập nhật.
R24:S22->D01 Không được áp dụng, vì thiếu fact: S22
R25:S22->D03 Không được áp dụng, vì thiếu fact: S22 lOMoARcPSD| 36477832
R26:S23->D02 được áp dụng. Cập nhật flag1. Facts S00, S06, S21, S23 suy ra D04, D02. 3 ITERATION
R1:S01->D01 Không được áp dụng, vì thiếu fact: S01 R2:S10-
>D04 bỏ qua, vì flag2 đã được cập nhật.
R3:S11->D06 Không được áp dụng, vì thiếu fact: S11
R4:S12->D02 không áp dụng, vì D02 nắm trong số các facts. Cập nhật flag2.
R5:S13->D03 Không được áp dụng, vì thiếu fact: S13 R6:S13-
>D04 bỏ qua, vì flag2 đã được cập nhật.
R7:S14->D05 Không được áp dụng, vì thiếu fact: S14
R8:S14->D06 Không được áp dụng, vì thiếu fact: S14
R9:S15->D01 Không được áp dụng, vì thiếu fact: S15
R10:S15->D03 Không được áp dụng, vì thiếu fact: S15
R11:S15->D05 Không được áp dụng, vì thiếu fact: S15
R12:S16->D02 không áp dụng, vì D02 nắm trong số các facts. Cập nhật flag2.
R13:S17->D01 Không được áp dụng, vì thiếu fact: S17
R14:S17->D02 không áp dụng, vì D02 nắm trong số các facts. Cập nhật flag2.
R15:S18->D02 không áp dụng, vì D02 nắm trong số các facts. Cập nhật flag2.
R16:S18->D03 Không được áp dụng, vì thiếu fact: S18
R17:S19->D03 Không được áp dụng, vì thiếu fact: S19
R18:S19->D06 Không được áp dụng, vì thiếu fact: S19
R19:S02->D01 Không được áp dụng, vì thiếu fact: S02
R20:S20->D01 Không được áp dụng, vì thiếu fact: S20
R21:S20->D02 không áp dụng, vì D02 nắm trong số các facts. Cập nhật flag2.
R22:S20->D05 Không được áp dụng, vì thiếu fact: S20 R23:S21-
>D04 bỏ qua, vì flag1 đã được cập nhật.
R24:S22->D01 Không được áp dụng, vì thiếu fact: S22 lOMoARcPSD| 36477832
R25:S22->D03 Không được áp dụng, vì thiếu fact: S22 R26:S23-
>D02 bỏ qua, vì flag1 đã được cập nhật.
R27:S23->D03 được áp dụng. Cập nhật flag1. Facts S00, S06, S21, S23 suy ra D04, D02, D03. 4 ITERATION
R1:S01->D01 Không được áp dụng, vì thiếu fact: S01
R2:S10->D04 bỏ qua, vì flag2 đã được cập nhật.
R3:S11->D06 Không được áp dụng, vì thiếu fact: S11
R4:S12->D02 bỏ qua, vì flag2 đã được cập nhật.
R5:S13->D03 không áp dụng, vì D03 nắm trong số các facts. Cập nhật flag2.
R6:S13->D04 bỏ qua, vì flag2 đã được cập nhật.
R7:S14->D05 Không được áp dụng, vì thiếu fact: S14
R8:S14->D06 Không được áp dụng, vì thiếu fact: S14
R9:S15->D01 Không được áp dụng, vì thiếu fact: S15
R10:S15->D03 không áp dụng, vì D03 nắm trong số các facts. Cập nhật flag2.
R11:S15->D05 Không được áp dụng, vì thiếu fact: S15
R12:S16->D02 bỏ qua, vì flag2 đã được cập nhật.
R13:S17->D01 Không được áp dụng, vì thiếu fact: S17
R14:S17->D02 bỏ qua, vì flag2 đã được cập nhật.
R15:S18->D02 bỏ qua, vì flag2 đã được cập nhật.
R16:S18->D03 không áp dụng, vì D03 nắm trong số các facts. Cập nhật flag2.
R17:S19->D03 không áp dụng, vì D03 nắm trong số các facts. Cập nhật flag2.
R18:S19->D06 Không được áp dụng, vì thiếu fact: S19
R19:S02->D01 Không được áp dụng, vì thiếu fact: S02
R20:S20->D01 Không được áp dụng, vì thiếu fact: S20
R21:S20->D02 bỏ qua, vì flag2 đã được cập nhật.
R22:S20->D05 Không được áp dụng, vì thiếu fact: S20
R23:S21->D04 bỏ qua, vì flag1 đã được cập nhật.
R24:S22->D01 Không được áp dụng, vì thiếu fact: S22 lOMoARcPSD| 36477832
R25:S22->D03 không áp dụng, vì D03 nắm trong số các facts. Cập nhật flag2.
R26:S23->D02 bỏ qua, vì flag1 đã được cập nhật.
R27:S23->D03 bỏ qua, vì flag1 đã được cập nhật.
R28:S23->D06 được áp dụng. Cập nhật flag1. Facts S00, S06, S21, S23 suy ra D04, D02, D03, D06. 5 ITERATION
R1:S01->D01 Không được áp dụng, vì thiếu fact: S01 R2:S10-
>D04 bỏ qua, vì flag2 đã được cập nhật.
R3:S11->D06 không áp dụng, vì D06 nắm trong số các facts. Cập nhật flag2.
R4:S12->D02 bỏ qua, vì flag2 đã được cập nhật.
R5:S13->D03 bỏ qua, vì flag2 đã được cập nhật.
R6:S13->D04 bỏ qua, vì flag2 đã được cập nhật.
R7:S14->D05 Không được áp dụng, vì thiếu fact: S14
R8:S14->D06 không áp dụng, vì D06 nắm trong số các facts. Cập nhật flag2.
R9:S15->D01 Không được áp dụng, vì thiếu fact: S15
R10:S15->D03 bỏ qua, vì flag2 đã được cập nhật.
R11:S15->D05 Không được áp dụng, vì thiếu fact: S15
R12:S16->D02 bỏ qua, vì flag2 đã được cập nhật.
R13:S17->D01 Không được áp dụng, vì thiếu fact: S17
R14:S17->D02 bỏ qua, vì flag2 đã được cập nhật.
R15:S18->D02 bỏ qua, vì flag2 đã được cập nhật.
R16:S18->D03 bỏ qua, vì flag2 đã được cập nhật.
R17:S19->D03 bỏ qua, vì flag2 đã được cập nhật.
R18:S19->D06 không áp dụng, vì D06 nắm trong số các facts. Cập nhật flag2.
R19:S02->D01 Không được áp dụng, vì thiếu fact: S02
R20:S20->D01 Không được áp dụng, vì thiếu fact: S20
R21:S20->D02 bỏ qua, vì flag2 đã được cập nhật.
R22:S20->D05 Không được áp dụng, vì thiếu fact: S20
R23:S21->D04 bỏ qua, vì flag1 đã được cập nhật. lOMoARcPSD| 36477832
R24:S22->D01 Không được áp dụng, vì thiếu fact: S22
R25:S22->D03 bỏ qua, vì flag2 đã được cập nhật.
R26:S23->D02 bỏ qua, vì flag1 đã được cập nhật.
R27:S23->D03 bỏ qua, vì flag1 đã được cập nhật.
R28:S23->D06 bỏ qua, vì flag1 đã được cập nhật.
R29:S24->D05 Không được áp dụng, vì thiếu fact: S24
R30:S25->D01 Không được áp dụng, vì thiếu fact: S25
R31:S25->D03 không áp dụng, vì D03 nắm trong số các facts. Cập nhật flag2.
R32:S25->D04 không áp dụng, vì D04 nắm trong số các facts. Cập nhật flag2.
R33:S26->D02 không áp dụng, vì D02 nắm trong số các facts. Cập nhật flag2.
R34:S26->D05 Không được áp dụng, vì thiếu fact: S26
R35:S27->D04 không áp dụng, vì D04 nắm trong số các facts. Cập nhật flag2.
R36:S03->D02 không áp dụng, vì D02 nắm trong số các facts. Cập nhật flag2.
R37:S04->D03 không áp dụng, vì D03 nắm trong số các facts. Cập nhật flag2.
R38:S05->D05 Không được áp dụng, vì thiếu fact: S05
R39:S06->D03 không áp dụng, vì D03 nắm trong số các facts. Cập nhật flag2.
R40:S06->D04 không áp dụng, vì D04 nắm trong số các facts. Cập nhật flag2.
R41:S07->D04 không áp dụng, vì D04 nắm trong số các facts. Cập nhật flag2.
R42:S08->D01 Không được áp dụng, vì thiếu fact: S08
R43:S08->D03 không áp dụng, vì D03 nắm trong số các facts. Cập nhật flag2. PART 3. Kết quả
1) Kết quả là : S00, S06, S21, S23, D04, D02, D03, D06 .
2) Đường đi suy diễn được là:R23, R26, R27, R28 lOMoARcPSD| 36477832
Phần 6: Suy diễn lùi Hàm thực hiện: def
backward_chaining(luat_lui,list_symptom_of_person,list_predicted_disease,f ile_name ):
predictD=list_predicted_disease rule=luat_lui all_rule=db.gettrieuchung()
fact_real=list_symptom_of_person_id lOMoARcPSD| 36477832 benh=0 for g in predictD: goal=g
D=db.get_benh_by_id(goal) #Chứa thông tin cu)a bệnh có id == goal print(f"Chúng tôi đã có các triệu
chứng ban đẩ?u và có thể) bạn mắ5c bệnh {D['tenBenh']}({goal}) , sau đẩy chúng tôi muô5n ho)i bạn một vài
cẩu ho)i để) tìm hiể)u vể? bệnh bạn đang mắ5c pha)i") all_s_in_D=all_rule[goal]
all_s_in_D=sorted(set(all_s_in_D)-set(fact_real)) d=searchindexrule(rule,goal)
b=BackwardChaining(rule,fact_real,goal,file_name) # kể5t luận trong trường hợp các luẩt jtruwowsc đã suy ra đk luôn
if b.result1==True:# đoạn đẩ?u
print("Chúng tôi chuẩ)n đoán bạn mắ5c bệnh {}- {}".format(goal,D['tenBenh'])) print(f"Lời khuyển")
D['loikhuyen']=D['loikhuyen'].replace("/n","\n") print(f"{D['loikhuyen']}")
print("Cám ơn bạn đã sư) dụng chat bot cu)a chúng tôi") return goal,fact_real while(len(all_s_in_D)>0):
s=db.get_trieuchung_by_id(all_s_in_D[0])
question=f"Bạn có bị triệu chứng {s['noidung']} ({all_s_in_D[0]}) không?" print(question)
answer = validate.validate_binary_answer(input()) print(f"answer: {answer}") if answer== True :
fact_real.append(all_s_in_D[0])
b=BackwardChaining(rule,fact_real,goal,file_name)
list_no_result,lsD=get_s_in_d(all_s_in_D[0],goal,rule,d,1) d=sorted(set(d)-set(lsD))
all_s_in_D=sorted(set(list_no_result)-set(fact_real)) if b.result1==True: benh=1 break if answer==False :
list_no_result,lsD=get_s_in_d(all_s_in_D[0],goal,rule,d,0) #S01 S02 S03 S04 S05 d=sorted(set(d)-set(lsD))
all_s_in_D=sorted(set(list_no_result)-set(fact_real)) if len(d)==0: lOMoARcPSD| 36477832
print(f"Có ve) như bạn không mắ5c bệnh {goal}{D['tenBenh']}") break if benh==1:
print("Chúng tôi chuẩ)n đoán bạn mắ5c bệnh {}- {}".format(goal,D['tenBenh'])) print(f"Lời khuyển")
D['loikhuyen']=D['loikhuyen'].replace("/n","\n") print(f"{D['loikhuyen']}")
print("Cám ơn bạn đã sư) dụng chat bot cu)a chúng tôi")
return goal,fact_real break if benh==0:
print(f"Có ve) cắn bệnh cu)a bạn không nằm trong tẩ?m hiểu) biể5t cu)a tôi. Xin ca)m ơn bạn đã sư) dụng chatbot!") return None, fact_real PART 1. Dữ liệu 1) Tập luật
R1: S00,S01,S02,S08,S20->D01 R2: S17->D01 R3: S01,S02,S25->D01 R4: S01,S15,S22->D01 R5: S00->D02 R6: S03,S09,S12,S16->D02
R7: S03,S09,S12,S16,S20->D02
R8: S03,S09,S12,S20,S23->D02
R9: S03,S09,S17,S18,S23->D02
R10: S03,S09,S18,S23,S26->D02
R11: S00,S04,S06,S08,S13->D03 R12: S04,S06,S08,S15->D03 R13: S04,S18,S23,S15->D03 R14: S04,S18,S23,S25->D03
R15: S00,S06,S07,S10,S13,S21->D04
R16: S06,S07,S10,S13,S24->D04 R17: S06,S07,S25,S21->D04 lOMoARcPSD| 36477832 R18: S06,S07,S25,S24->D04
R19: S06,S07,S25,S27,S13->D04
R20: S00,S05,S14,S15,S20,S24->D05
R21: S05,S14,S20,S24,S27->D05 R22: S05,S20,S27->D05 R23: S05,S20,S24->D05 R24: S05,S24,S27->D05 R25: S11,S23->D06 R26: S11,S14,S19->D06 R27: S11,S19,S23->D06 R28: S19,S14->D06 2)
Triệu chứng người dùng
mắc phải S00, S06, S21, S23. 3) Bệnh nghi ngờ D02. PART 2. Suy diễn
1) Goal D02. Tìm thấy luật R5:S00->D02. Các goals mới cần chứng mình là S00.
2) -Goal S00. Cập nhật triệu chứng S00, bởi vì được tìm thấy trong tập triệu
chứng gốc S00, S06, S21, S23. Trả về thành công.
3) ==>Goal D02. Đã được chứng minh, Trả về thành công PART 3. Kết quả
1) Goal D02 được chứng minh. 2) Road: R5. lOMoARcPSD| 36477832
Phần 7: Đưa ra lời khuyên về căn bệnh cho người dùng lOMoARcPSD| 36477832 KẾT LUẬN
Trong bài báo cáo này, chúng em đã trình bày quá trình xây dựng hệ thống
Chatbot tư vấn khám chữa các bệnh về cảm cúm. Hệ thống được xây dựng dựa trên
thuật toán suy diễn tiến – suy diễn lùi để chẩn đoán các triệu chứng của bệnh.
Các kết quả đạt được của hệ thống bao gồm: •
Hệ thống có thể chẩn đoán bệnh cảm cúm dựa trên các triệu chứng bệnh của người dùng. •
Hệ thống có thể cung cấp các thông tin hữu ích về bệnh cảm cúm, bao gồm
triệu chứng, nguyên nhân và đưa ra lời khuyên.
Hiện tại, hệ thống Chatbot chẩn đoán bệnh cảm cúm của chúng em đang tập
trung hoàn toàn vào kiến thức của bệnh cảm cúm. Dù có thể chẩn đoán bệnh cảm
cúm với độ chính xác cao, tuy nhiên vẫn còn đó điểm yếu to lớn là còn thiếu phần tri
thức chẩn đoán cho các bệnh đường hô hấp thường gặp khác nữa. hệ thống vẫn đang
sử dụng giao diện terminal. Điều này sẽ tạo nên sự bất tiện khi người dùng muốn sử
dụng hệ thống trong tình huống cấp bách. Do vậy, tính ứng dụng thực tế của hệ thống này chưa thực sự cao.
Sắp tới, để hệ thống có tính khả thi cao hơn và có thể mang lại giá trị sử dụng
cho tập khách hàng quan tâm tới các bệnh đường hô hấp, chúng em sẽ hoàn thiện
thêm phần tri thức về các bệnh đường hô hấp khác nữa. Hệ thống Chatbot có thể
được tích hợp vào các trang web chia sẻ kiến thức y khoa, các bệnh viện lớn, trung
tâm y tế,... Điều này sẽ giúp người dùng dễ dàng tiếp cận với hệ thống hơn, đặc biệt
là trong những tình huống cấp bách.
Ngoài ra, chúng em có thể cũng sẽ nghiên cứu để phát triển thêm các tính năng mới cho hệ thống, như: •
Tích hợp chức năng tư vấn trực tuyến với bác sĩ chuyên khoa, giúp người dùng
có thể được tư vấn và điều trị kịp thời. •
Phát triển ứng dụng Chatbot trên các nền tảng di động, giúp người dùng có thể
sử dụng hệ thống mọi lúc, mọi nơi. lOMoARcPSD| 36477832
Chúng em tin rằng với những định hướng phát triển này, hệ thống Chatbot
chẩn đoán bệnh cảm cúm của chúng em sẽ ngày càng trở nên hoàn thiện và hữu ích
hơn, góp phần nâng cao chất lượng chăm sóc sức khỏe cộng đồng.