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

xây dựng một hệ chuyên gia hỗ trợ bác sĩ và bệnh nhân chẩn đoán và theo dõi suy thận

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

1
MỤC LỤC
2
Danh mục các ký hiệu, các chữ viết tắt
user profile hồ sơ đặc trưng người dùng
patient profile hồ sơ bệnh nhân
ESKF Expert System for Kidney Failure
HCG Hệ chuyên gia
3
Danh mục các bảng biểu
Bảng 3.1 Bảng đánh giá thông tin dùng để chẩn đoán khả năng suy thận
của một bác sĩ..............................................................................................................45
Bảng 3.2 Bảng ánh xạ mức độ đánh giá của bác sĩ sang CF.......................................46
Bảng 4.1 Bảng kết quả đánh giá chức năng hỏi bệnh bổ sung kiểm tra trên nhiều
nhóm bệnh án..............................................................................................................68
Bảng 4.2 Bảng kết quả đánh giá chức năng hỏi bệnh bổ sung kiểm tra trên cùng một
nhóm bệnh án..............................................................................................................69
4
Danh mục các hình vẽ
Hình 2.1 Các thành phần cơ bản của một hệ chuyên gia............................................12
Hình 2.2 Ma trận đánh giá...........................................................................................22
Hình 2.3 Mạng ngữ nghĩa............................................................................................23
Hình 3.1 Kiến trúc của hệ chẩn đoán suy thận ESKF................................................34
Hình 3.2 Các bước xây dựng cơ sở tri thức của ESKF...............................................50
Hình 3.3 Đồ thị giải thích kết quả chẩn đoán sơ bộ....................................................56
Hình 3.4 Sơ đồ DFD quá trình chẩn đoán tổng quát...................................................58
Hình 3.5 Sơ đồ DFD quá trình thu thập thông tin.......................................................59
Hình 3.6 Sơ đồ DFD quá trình chẩn đoán bệnh .........................................................61
Hình 4.1 Mẫu bệnh án dùng để thu thập dữ liệu.........................................................64
Hình 4.2 Biểu đồ kết quả chẩn đoán suy thận của ESKF so với bệnh án ..................70
Hình 4.3 Biểu đồ kết quả chẩn đoán suy thận của ESKF so với bác sĩ ......................70


Hình 4.4 Biểu đồ kết quả chẩn đoán nguyên nhân suy thận của ESKF
so với bác sĩ................................................................................................70
5
CHƯƠNG 1 TỔNG QUAN
1.1. Động cơ nghiên cứu
Suy thận là hội chứng suy giảm chức năng thận, được chia làm hai loại: cấp tính
và mạn tính. Suy thận mạn tính rất nguy hiểm vì ít có dấu hiệu bất thường ở giai đoạn
đầu. Khi có dấu hiệu bất thường thì thận đã gần như bị hư hoàn toàn. Khi suy thận
tiến triển đến giai đoạn cuối thì chức năng thận đã mất vĩnh viễn và dẫn đến tử vong
nếu không có biện pháp thay thế thận như: ghép thận, chạy thận nhân tạo hay thẩm
phân phúc mạc. Với chi phí điều trị rất cao nên suy thận mạn trở thành gánh nặng cho
các gia đình bệnh nhân và cho xã hội.
Theo số liệu thống kê của Hội Thận học quốc tế, hiện có khoảng hơn 500 triệu
người trên toàn thế giới đang có vấn đề bệnh lý mạn tính ở thận. Tại Việt Nam, chưa
có số liệu chính thức về tần suất mắc bệnh thận, nhưng hiện tại, cả nước có khoảng
gần 6 triệu bệnh nhân suy thận (chiếm 6,73% dân số) và hằng năm có thêm khoảng
8.000 bệnh nhân suy thận mới [31].
Mặt khác, hiện nay phần lớn các bệnh viện ở nước ta không có khoa thận, chưa
có hệ thống đào tạo chuyên sâu ngành thận học, thiếu các bác sĩ chuyên khoa thận
ngay cả trong các bệnh viện lớn ở Hà Nội, thành phố Hồ Chí Minh [32].
Một nửa số bệnh nhân mắc bệnh về thận do bị chẩn đoán thiếu chính xác. Trong
nhiều trường hợp một bệnh nhân có biểu hiện huyết áp cao liền được bác sĩ chẩn
đoán là bệnh tăng huyết áp. Tuy nhiên, ít người biết đó cũng có thể là một biến chứng
của bệnh thận và do không được điều trị sớm nên phần lớn bệnh nhân đến viện khi
bệnh đã nặng và cần phải lọc máu ngay. Trong những trường hợp này, chi phí điều trị
rất tốn kém, và tuổi thọ người bệnh cũng bị rút ngắn [32].
Với tình hình bệnh suy thận ngày càng tăng thì một chương trình máy tính hỗ
trợ bác sĩ chẩn đoán và theo dõi suy thận là cần thiết. Loại chương trình này thường
được biết đến với tên gọi là hệ chuyên gia. Đó là một loại chương trình máy tính có
khả năng mô hình hóa khả năng giải quyết vấn đề của các chuyên gia trong từng lãnh

vực. Hệ chuyên gia là một trong những lĩnh vực của trí tuệ nhân tạo được nghiên cứu
6
và phát triển từ giữa thập niên 60 [11 tr.11]. Cho đến nay hệ chuyên gia được áp dụng
trong nhiều lĩnh vực, trong đó y khoa là một trong những lĩnh vực được áp dụng đầu
tiên.
Ngoài ra, tính chất của suy thận mạn là tiến triển âm thầm, ít có triệu chứng đặc
trưng trong giai đoạn đầu nên muốn chẩn đoán được suy thận mạn sớm cần phải theo
dõi bệnh sử của bệnh nhân. Hơn thế nữa, khi biết được bệnh sử thì bác sĩ có thể tiên
đoán được hiện trạng của bệnh nhân, từ đó bác sĩ chỉ cần kiểm tra một vài triệu
chứng hay dấu hiệu bất thường là có thể chẩn đoán được bệnh. Như vậy tùy vào bệnh
sử của mỗi bệnh nhân mà bác sĩ sẽ có cách hỏi bệnh khác nhau.
Các hệ thống thích nghi cá nhân là các hệ thống cung cấp thông tin, tài nguyên,
dịch vụ… dựa vào đặc điểm của từng người sử dụng. Trong những hệ thống này, mỗi
người sử dụng có một hồ sơ đặc trưng (profile) để mô tả những đặc điểm của người
đó [21]. Do đó để hệ thống có thể hỏi và chẩn đoán bệnh sao cho phù hợp với hiện
trạng của mỗi bệnh nhân và đặc biệt là có thể theo dõi diễn tiến của suy thận, luận
văn đề xuất việc khai khác các hồ sơ người dùng (user profile), ở đây gọi là hồ sơ
bệnh nhân (patient profile
1
).
1.2. Mục tiêu luận văn
Với các vấn đề được nêu ở trên, luận văn nhằm xây dựng một hệ chuyên gia hỗ
trợ bác sĩ và bệnh nhân chẩn đoán và theo dõi suy thận (Expert System for Kidney
Failure gọi tắt là ESKF) để hạn chế tình trạng chẩn đoán thiếu chính xác. Điểm khác
biệt so với các hệ chuyên gia truyền thống là ESKF sử dụng hồ sơ bệnh nhân vào hệ
thống với mục đích:
- Theo dõi diễn tiến suy thận mạn của bệnh để cảnh báo cho bệnh nhân nếu có
dấu hiệu suy thận mạn và giúp chẩn đoán được suy thận mạn sớm.

1

patient profile là một tập hợp các thông tin đặc trưng y khoa của một bệnh nhân
- Chẩn đoán bệnh thuận tiện hơn vì dựa trên bệnh sử của bệnh nhân. Ví dụ lần
chẩn đoán trước bệnh nhân cho biết là đã bị bệnh tăng huyết áp thì lần
7
sau không hỏi bệnh nhân có tăng huyết áp nữa. Đặc biệt, trong trường hợp
cấp cứu cần phải có các thông tin của bệnh nhân nhanh, hơn thế nữa bệnh
nhân có thể không cung cấp vì bị hôn mê thì hồ sơ bệnh nhân sẽ rất có ý
nghĩa.
- Từ các thông tin có trong patient profile, hệ thống suy diễn ra hiện trạng của
bệnh nhân, từ đó sẽ xác định các thông tin cần hỏi cho lần chẩn đoán hiện tại.
Ví dụ: Bệnh nhân có tiền căn đái tháo đường nhiều năm và trong lần chẩn
đoán trước xét nghiệm nước tiểu có máu và đạm chứng tỏ cho thấy bệnh
nhân có nguy cơ bị suy thận rất cao nên chỉ cần hỏi một vài triệu chứng
chính.
- Sử dụng profile của các bệnh nhân từng chẩn đoán trước đây để hỗ trợ quá
trình hỏi bệnh cho bệnh nhân hiện tại nhằm hạn chế tình trạng cung cấp thiếu
thông tin.
1.3. Nội dung nghiên cứu
Để đạt được các mục tiêu trên đề tài nghiên cứu các vấn đề sau:
- Suy thận và các bệnh có liên quan, cách chẩn đoán suy thận, phân biệt suy
thận cấp và suy thận mạn, nguyên nhân dẫn đến suy thận.
- Tìm hiểu các vấn đề liên quan đến user profile trong các hệ thống thích nghi
cá nhân để từ đó xây dựng profile cho bệnh nhân:
o Cấu trúc profile
o Khởi tạo profile
o Cập nhật profile
- Tìm hiểu hệ chuyên gia và các kỹ thuật sử dụng trong các hệ chuyên gia, đặc
biệt là các hệ chuyên gia chẩn đoán bệnh:
o Phương pháp biểu diễn tri thức.
8

o Các tri thức, thông tin trong y khoa thường không chắc chắn và không
rõ ràng nên đề tài cần tìm hiểu các phương pháp biểu diễn thông tin
dạng này.
o Phương pháp suy diễn ra kết luận dựa vào tập tri thức đã có.
1.4. Kết quả đạt được
Đề tài đã đề xuất một cấu trúc profile của bệnh nhân dùng trong chẩn đoán và
theo dõi suy thận, từ đó xây dựng một hệ chẩn đoán suy thận dựa vào các thông tin
có trong profile.
Xây dựng ESKF giúp chẩn đoán cũng như theo dõi diễn tiến suy thận mạn của
bệnh nhân để có thể phát hiện được suy thận mạn ngay trong giai đoạn đầu. Trong
chẩn đoán suy thận, kết quả cận lâm sàng có vai trò quyết định, nhưng ngày nay,
bệnh nhân dễ dàng có được kết quả cận lâm sàng từ các trung tâm y tế tư nhân nên
bệnh nhân có thể sử dụng ESKF để theo dõi tình trạng suy thận của bản thân. Như
vậy mới có thể phát hiện được bệnh trong giai đoạn đầu để ngăn chặn bệnh tiến đến
giai đoạn cuối giúp người bệnh kéo dài được tuổi thọ và giảm chi phí điều trị.
ESKF có cung cấp tiện ích giải thích để diễn giải quá trình suy diễn ra kết quả
chẩn đoán. Như vậy bác sĩ có thể kiểm tra kết quả chẩn đoán của hệ thống làm cho hệ
thống đáng tin cậy hơn. Ngoài ra ESKF còn có tiện ích giúp chuyên gia chỉnh sửa,
cập nhật tri thức chẩn đoán và tiện ích quản lý hồ sơ bệnh nhân.
Tóm lại, đề tài minh chứng cho thấy việc sử dụng patient profile vào các hệ
chẩn đoán bệnh mà đặc biệt là các bệnh cần phải theo dõi thường xuyên như suy thận
mạn là rất cần thiết. Khi có patient profile, quá trình chẩn đoán sẽ thuận tiện hơn và
có thể theo dõi được diễn tiến của bệnh.
1.5. Bố cục luận văn
Luận văn được trình bày thành năm chương với bố cục như sau:
Chương 1: Tổng quan
Giới thiệu tổng quan bao gồm động cơ nghiên cứu, mục tiêu của đề tài, các vấn
đề khoa học kỹ thuật cần giải quyết trong đề tài và kết quả đề tài đạt được.
9
Chương 2: Cơ sở lý thuyết

Trình bày hệ chuyên gia, hiện trạng cũng như các khái niệm có liên quan đến hệ
chuyên gia và user profile.
Chương 3: Hệ chẩn đoán suy thận dựa vào hệ chuyên gia theo từng bệnh
nhân
Phần đầu chương giới thiệu hội chứng suy thận. Phần tiếp theo trình bày kiến
trúc của ESKF và các kỹ thuật được sử dụng để xây dựng hệ chẩn đoán suy thận
ESKF như:
- Cấu trúc, khởi tạo, cập nhật hồ sơ bệnh nhân.
- Tri thức chẩn đoán suy thận.
- Biểu diễn tri thức, thông tin không chắc chắn với CF (Certainty Factor).
- Các bước xây dựng cơ sở tri thức cho hệ chẩn đoán suy thận ESKF.
- Môtơ suy diễn Jess.
- Các tiện ích của hệ chẩn đoán ESKF.
Phần cuối của chương sẽ trình bày các bước trong một quá trình chẩn đoán của
ESKF.
Chương 4: Thực nghiệm và đánh giá kết quả
Trình bày bộ dữ liệu dùng để kiểm tra chương trình và đánh giá kết quả chẩn
đoán của chương trình.
Chương 5: Kết luận
Tổng kết lại đề tài làm được những gì, vấn đề còn tồn đọng chưa giải quyết
được, khả năng và hướng phát triển của đề tài.
10
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
2.1. Giới thiệu hệ chuyên gia
Hệ chuyên gia là một lĩnh vực của trí tuệ nhân tạo ra đời từ giữa thập niên 60.
Ngay từ khi ra đời, hệ chuyên gia đã được sự quan tâm và phát triển mạnh mẽ, trở
thành lĩnh vực đầu tiên của trí tuệ nhân tạo có ứng dụng thương mại [15 tr.11].
DENDRAL (1965) dùng để xác định cấu trúc phân tử trong chương trình vũ trụ của
Mỹ, được xem là hệ chuyên gia đầu tiên và trở thành nền tảng để xây dựng các hệ
chuyên gia sau đó. Ngày nay hệ chuyên gia đã được áp dụng trong nhiều lĩnh vực

khác nhau như y khoa, kinh tế, nông nghiệp… Trong đó y khoa là một trong những
lĩnh vực đươc áp dụng từ những năm đầu phát triển, đặc biệt vào những năm 80.
Khảo sát của Waterman (1986) cho thấy số lượng hệ chuyên gia dùng trong y khoa
chiếm hơn 30% trong tổng số các hệ chuyên gia được tạo ra. Một số ví dụ về hệ
chuyên gia dùng trong y khoa là: MYCIN (1973) một hệ chuyên gia nổi tiếng để chẩn
đoán nhiễm trùng máu [7], PUFF (1982) dùng để phân tích kết quả xét nghiệm chức
năng phổi [5], PSG-Expert (2000) chẩn đoán bệnh mất ngũ [8], BI-RADS(2007) chẩn
đoán ung thư vú [24], Naser xây dựng một hệ chuyên gia chẩn đoán bệnh về da
(2008) [23]…
2.1.1. Định nghĩa hệ chuyên gia
Có nhiều định nghĩa về hệ chuyên gia (HCG) và định nghĩa đầu tiên được
Edward Feigenbaum phát biểu như sau (1977): “HCG là một chương trình máy tính
thông minh sử dụng tri thức (knowledge) và các thủ tục suy luận (inference
procedures) để giải quyết các vấn đề khó cần đến kiến thức chuyên môn của các
chuyên gia về lĩnh vực đó.” [26 tr.9]
Theo Jackson phát biểu vào năm 1990 thì: “Một HCG là một chương trình máy
tính thể hiện và suy luận với tri thức của các chuyên gia để giải quyết vấn đề hay
đưa ra lời khuyên.” [26 tr.9]
11
Turban cho rằng: Một HCG là một chương trình máy tính áp dụng các phương
pháp hay tri thức trong một lĩnh vực cụ thể để đưa ra lời khuyên như một người
chuyên gia. (1995) [26 tr.9]
Tóm lại, HCG có thể được định nghĩa như sau: HCG là một chương trình máy
tính mô hình hoá khả năng giải quyết của chuyên gia.
2.1.2. Các thành phần chính của một hệ chuyên gia
Một HCG cổ điển có hai thành phần chính: thành phần thứ nhất chứa tri thức để
giải quyết vấn đề được gọi là cơ sở tri thức và thành phần thứ hai sử dụng tri thức đó
để suy luận ra kết quả được gọi là môtơ suy luận [11 tr.3].
Cơ sở tri thức
Môtơ suy luận

Hình 2.1 Các thành phần cơ bản của một hệ chuyên gia
Ngoài hai thành phần chính trên thì trong một HCG có thể có thêm các thành
phần phụ khác như: tiện ích giải thích dùng để giải thích kết quả suy luận, giao diện
để tương tác với người sử dụng, bộ nhớ làm việc dùng để chứa thông tin do người sử
dụng cung cấp hay thông tin mới được hệ thống suy luận ra. Đặc biệt trong các HCG
dựa trên luật còn có thêm một thành phần có tên gọi là agenda chứa các luật được sắp
xếp theo độ ưu tiên mà có phần giả thiết khớp (match) với thông tin có trong bộ nhớ
làm việc.
 Cơ sở tri thức (Knowledge Base)
Tri thức là sự hiểu biết về một lĩnh vực nào đó. Để giải quyết một vấn đề thì
con người cần phải có tri thức về vấn đề đó nên tri thức rất quan trọng và được xem
12
là sức mạnh của một người. HCG mô hình hóa khả năng giải quyết vấn đề của con
người nên phải có được tri thức về lĩnh vực đang xét như một người chuyên gia. Do
đó tri thức cũng là thành phần quan trọng nhất trong một HCG. Dù là một người hay
một chương trình thì tri thức cũng quyết định nên giá trị của người đó hay của
chương trình đó. Các chuyên gia có được tri thức nhờ vào quá trình học hỏi, trau dồi
kinh nghiệm. Tri thức trong các HCG được thu thập từ sách, tri thức thuộc về kinh
nghiệm, phán đoán của các chuyên gia hay được rút ra thông qua quá trình học. Các
tri thức này được lưu vào một bộ phận của HCG thông qua một số kỹ thuật thể hiện
tri thức. Như vậy cơ sở tri thức của một HCG chứa tri thức chuyên sâu về lĩnh vực
mà HCG này đang thực hiện.
Biểu diễn tri thức là phương pháp cho phép mã hoá tri thức bên ngoài vào cơ sở
tri thức của hệ thống. Có nhiều phương pháp dùng để biểu diễn tri thức như: luật dẫn,
mạng ngữ nghĩa, khung (frame), logic mệnh đề, bộ ba đối tượng – thuộc tính – giá trị
(O-A-V),…. Mỗi phương pháp chỉ nhấn mạnh vào một khía cạnh nào đó của vấn đề
nên mỗi phương pháp đều có ưu điểm và nhược điểm đối với một loại tri thức cụ thể.
Pháp thể hiện tri bằng luật dẫn là phổ biến nhất [29 tr.370] thường được áp dụng
trong các HCG vì phương pháp này có các ưu điểm sau:
- Biểu diễn tri thức một cách tự nhiên, dễ hiểu.

- Cơ sở tri thức có thể tách rời với phần suy diễn.
- Tri thức là các luật có tính độc lập cao nên dễ dàng cập nhật và bổ
sung tri thức.
- Dễ dàng thể hiện và suy luận với tri thức không chắc chắn.
- Có thể thêm tri thức heuristic.
- Dễ dàng giải thích kết quả đạt được.
Bên cạnh các ưu điểm nêu trên thì phương pháp này cũng có khuyết điểm như:
khó bảo trì tri thức đối với các hệ thống lớn có quá nhiều luật.
Luật là một cấu trúc tri thức dùng để liên kết thông tin đã biết với các thông tin
khác, các thông tin có thể được suy luận để người ta hiểu biết thêm [1 tr.47].
13
Các chuyên gia thường phát biểu tri thức dưới dạng “Nếu…thì…” nên luật là tri
thức thường được sử dụng nhất để biểu diễn tri thức trong các HCG. Cấu trúc của
một luật gồm một hay nhiều giả thiết trong phần IF với một hay nhiều kết luận trong
phần THEN. Cấu trúc một luật có dạng:
IF … THEN …
Hay
IF … THEN … ELSE …
Phần giả thiết của một luật có thể gồm nhiều giả thiết nhỏ kết hợp với nhau
thông qua phép logic AND hay OR hay cả hai.
Ví dụ: IF họng của bệnh nhân bị đau AND họng của bệnh nhân bị đỏ AND bệnh
nhân bị ho THEN bệnh nhân bị viêm họng
Cấu trúc thứ hai ít được sử dụng hơn vì các lý do: khó kiểm tra, luôn đưa ra kết
luận nên có thể cho ra kết quả không như mong đợi. Hơn thế nữa, cấu trúc luật có
phần ELSE có thể dễ dàng tách làm 2 luật không có ELSE.
Đối với các hệ thống dựa trên luật, các tri thức về lĩnh vực được thu thập và thể
hiện duới dạng các luật. Các luật này được lưu trong cơ sở tri thức của hệ thống. Hệ
thống dùng các luật này cùng với các thông tin có được trong bộ nhớ để giải bài toán.
Một luật có phần IF khớp (match) với thông tin có trong bộ nhớ sẽ được kích hoạt
(fire) và các thủ tục trong phần THEN được thực hiện hay thông tin mới được sinh ra

được bổ sung vào bộ nhớ. Thông tin mới này có thể làm cho các luật khác được kích
hoạt.
Ví dụ một HCG sử dụng luật để biểu diễn tri thức được nhiều người biết đến đó
là MYCIN [7].
 Môtơ suy luận (Inference Engine)
Con người giải quyết bài toán bằng cách kết hợp các sự kiện của bài toán với tri
thức để rút ra kết luận. Quá trình này được gọi là lập luận. Lập luận có thể được phát
biểu lại như sau:
14
Lập luận là quá trình làm việc với tri thức, sự kiện và các chiến lược giải bài
toán để rút ra kết luận [1 tr.78].
Có nhiều kỹ thuật lập luận: lập luận theo cách suy diễn, lập luận quy nạp, lập
luận phỏng đoán, lập luận tương tự…Trong các kỹ thuật lập luận đó thì kỹ thuật lập
luận suy diễn là kỹ thuật được dùng phổ biến nhất. HCG sử dụng kỹ thuật này để mô
hình hóa quá trình lập luận của con người gọi là suy luận. Suy luận là quá trình rút ra
thông tin mới từ thông tin đã có.
Môtơ suy luận là bộ phận xử lý của HCG. Bộ phận này sử dụng các thông tin
thu thập từ người dùng kết hợp với cơ sở tri thức đã có để rút ra kết luận về vấn đề
[1 tr.82].
Hai loại suy luận thường được áp dụng trong HCG là suy luận tiến và suy luận
lùi.
a) Suy luận tiến (Forward chaining)
Là quá trình bắt đầu bằng tập sự kiện đã biết, rút ra các sự kiện mới nhờ vào các
luật có phần giả thiết khớp với cá sự kiện đã biết. Quá trình cứ tiếp tục cho đến khi
thấy trạng thái đích hay không còn luật nào có giả thiết khớp với các sự kiện đã biết
[1 tr.87].
Ví dụ trong cơ sở tri thức có các luật:
R1: If A Then C
R2: If B Then C
R3: If C Then D

Giả sử ban đầu có sự kiện A có nghĩa là bộ nhớ làm việc lúc này có A. Như vậy
luật R1 sẽ được kích hoạt nên ta có thêm C trong bộ nhớ làm việc. Khi có sự kiện C
thì luật kế đến được kích hoạt là R3 và ta thu được D. Vậy kết luận cuối cùng là D.
Nhưng trong quá trình suy luận có thể xảy ra trường hợp là có nhiều luật có
phần giả thiết khớp với sự kiện có trong bộ nhớ làm việc như vậy phải chọn luật nào
để kích hoạt. Sau đây là một vài giải pháp cho trường hợp này:
- Chọn luật đầu tiên
15
- Chọn luật có độ ưu tiên cao nhất
- Chọn luật có nhiều giả thiết nhất
- Luật liên quan đến phần tử mới thêm vào
b) Suy luận lùi (Backward chaining)
Suy luận lùi dùng để chứng minh một giả thiết là đúng hay sai bằng cách thu
thập thông tin trong quá trình suy luận [1 tr.92].
Quá trình suy luận lùi như sau:
- Đầu tiên bộ nhớ làm việc được kiểm tra để xem đích cần chứng minh đã
có hay chưa.
- Nếu chưa có thì môtơ suy luận tìm xem luật nào có phần THEN chứa
đích.
- Môtơ suy luận xem phần giả thiết của luật này có trong bộ nhớ làm việc
không. Các giả thiế không có trong bộ nhớ làm việc gọi là các đích mới
hay đích con cần được chứng minh. Các đích con được cung cấp hay được
chứng minh nhờ vào các luật khác.
Quá trình cứ tiếp tục cho đến khi thấy một giả thiết không được luật nào cung
cấp thì hệ thống sẽ yêu cầu người sử dụng cung cấp thông tin. Hệ thống dùng các
thông tin này để giải đích con và đích ban đầu.
Xét lại ví dụ trong suy luận tiến và giả sử đích cần chứng minh là D.
Đầu tiên xét bộ nhớ làm việc không có D nên tìm luật có phần kết luận có chứa
D, đó chính là R3. Giả thiết trong R3 là C nên kiểm tra bộ nhớ làm việc xem có C
không. Trong bộ nhớ làm việc không có C nên tìm luật có phần kết luận là C. Luật

R1 và R2 đều có kết luận là C. Giả sử chọn giải pháp tránh xung đột là chọn luật đầu
tiên. Vậy luật R1 được chọn. R1 có giả thiết là A và A không có trong bộ nhớ làm
việc và cũng không có luật nào có A trong phần kết luận nên hỏi người sử dụng. Nếu
người sử dụng có thông tin về A thì D được chứng minh, ngược lại thì kích hoạt luật
R2 vì R2 cũng chứa C trong phần kết luận. Tiếp tục hỏi người sử dụng thông tin về B
16
vì B chưa có trong bộ nhớ làm việc và cũng không có luật nào kết luận về B. Tương
tự như hỏi A, nếu biết thông tin về B thì D được chứng minh, ngược lại thì không.
Các chuyên gia thường đánh giá suy xét khi giải vấn đề. Thông tin về vấn đề có
thể không đầy đủ và không chính xác. Các chuyên gia cần phải thích nghi với trình
trạng này và tiếp tục suy luận. Lý thuyết xác suất có thể áp dụng trong trường hợp
này. Dù kỹ thuật này chặt chẽ về mặt toán học nhưng đòi hỏi phải có cơ sở thống kê
mà ít bài toán đáp ứng được nên kỹ thuật này được sử dụng rất hạn chế trong các
HCG. Để khắc phục tình trạng này, một kỹ thuật khác thường được sử dụng là thêm
một thừa số chắc chắn CF (Certainty Factor) để thể hiện thông tin không chắc chắn [1
tr.119-136] [7 tr.209-262].
Ngoài ra, các chuyên gia còn sử dụng lẽ thông thường để giải vấn đề khi họ gặp
các bài toán với thuật ngữ mơ hồ. Ví dụ “nhiệt độ cao thì bật quạt nhanh”. Để xử xý
dạng thông tin không rõ ràng như trong trường hợp này thì lý thuyết logic mờ được
áp dụng [1 tr.138-158].
Sau đây sẽ trình bày kỹ thuật sử dụng thừa số chắc chắn dùng cho thông tin có
dạng không chính xác và logic mờ dùng cho thông tin không rõ ràng.
 Thừa số chắc chắn CF (Certainty Factor).
Khi sử dụng phương pháp luật dẫn để biểu diễn tri thức không chắc chắn thì có
thể kết hợp với CF. Kỹ thuật này được nhóm tác giả hệ chuyên gia MYCIN giới thiệu
và được sử dụng rộng rãi.
Thừa số này thể hiện mức độ tin cậy của các sự kiện hay của các luật và được
xác định bằng công thức:
CF(H,E) = MB(H,E) – MD(H,E) [7 tr. 249]
MB(H,E) thể hiện độ tin cậy về giả thiết H khi có dấu hiệu E.

MD(H,E) thể hiện độ không tin cậy về giả thiết H khi có dấu hiệu E.
Vì 0 ≤ MB(H,E),MD(H,E) ≤ 1 nên -1≤ CF(H,E) ≤1
Khi có hai dấu hiệu E
1
và E
2
cùng khẳng định một giả thiết H thì
CF(H, E
1
&E
2
) = MB(H, E
1
&E
2
) – MD(H, E
1
&E
2
)
17
Trong đó MB(H,E
1
&E
2
) và MD(H,E
1
&E
2
) được tính như sau [7 tr.255]:

MB
(
H , E
1
∧E
2
)
=
{
0n ế u MD
(
H , E
1
∧E
2
)
=1
MB
(
H , E
1
)
+ MB
(
H ,E
2
)
(
1 – MB
(

H ,E
1
)
)
n ếu ng ượ cl ạ i

MD
(
H , E
1
∧E
2
)
=
{
0 nế u MB
(
H ,E
1
∧E
2
)
=1
MD
(
H , E
1
)
+ MD
(

H , E
2
)
(
1 – MD
(
H ,E
1
)
)
nếu ng ượ c l ạ i
Tổng quát:
CF(H, E
1
, E
2
,…,E
n
) = MB(H, E
1
, E
2
,…,E
n
) – MD(H, E
1
, E
2
,…,E
n

)
Như vậy chỉ cần một một giả thiết có độ không tin cậy (MD) cao cũng có thể
làm giảm nhiều đến mức độ tin cậy do nhiều giả thiết khác khác nên CF được tính lại
như sau [1 tr.124]:
CF
(
H , E
)
=
MB( H , E) – MD( H , E)
1−MIN ( MB
(
H , E
)
, MD
(
H , E
)
)
Các chương trình ít khi thể hiện MB và MD mà chỉ sử dụng CF. Thông thường
khi thu thập tri thức thì giá trị CF được các chuyên gia cung cấp.
Ví dụ một người cho biết là trời nhiều mây nhưng người này hay nói dối nên
người khác chỉ tin anh ta 50%. Vậy CF(trời nhiều mây) trong trường hợp này là 0.5.
• Luật không chắc chắn:
IF E THEN H (CF
R
)
Như vậy CF(H) = CF(E)*CF
R
Ví dụ có một người thường theo dõi thời tiết và theo kinh nghiệm của ông ta thì

khi trời nhiều mây thì trời sẽ mưa. Nhưng hỏi ông ta “Ông có chắc không?” Ông ta
trả lời là khoảng 80%. Vậy tri thức trên có thể được biểu diễn thành luật như sau:
IF trời nhiều mây THEN trời sẽ mưa (0.8)
• Nếu luật có nhiều giả thiết [1 tr.126]:
IF E
1
AND E
2
AND …AND E
n
THEN H (CF
R
)
 CF(H,E
1
,E
2
,…,E
n
) = min{ CF(E
i
)}*CF
R
IF E
1
OR E
2
OR … OR E
n
THEN H (CF

R
)
18
 CF(H,E
1
,E
2
,…,E
n
) = max{ CF(E
i
)}*CF
R
• Nếu có nhiều luật có cùng kết luận [1 tr.128]:
R
1
: IF E
1
THEN H (CF
R1
)  CF
1
(H) = CF(E
1
)*CF
R1
R
2
: IF E
2

THEN H (CF
R2
)  CF
2
(H) = CF(E
2
)*CF
R2
thì
CF
1
(
H
)
+CF
2
(
H
)
−CF
1
(
H
)
∗CF
2
(
H
)
nế uCF

1
(
H
)
,CF
2
(
H
)
>0
CF
1
(
H
)
+CF
2
(
H
)
+CF
1
(
H
)
∗CF
2
(
H
)

nế u CF
1
(
H
)
,CF
2
(
H
)
<0
¿CF
1
(
H
)
∨,∨CF
2
(
H
)
∨¿
¿
¿
1−min ⁡¿
CF
1
(
H
)

+CF
2
(
H
)
¿
CF
(
H
)
=¿
 Lập luận bằng logic mờ (fuzzy logic)
Logic mờ sử dụng tập mờ trong các mệnh đề mờ. Một mệnh đề mờ là mệnh đề
khẳng định một giá trị cho một biến ngôn ngữ nào đó. Biến ngôn ngữ là một từ hay
một cụm từ trong ngôn ngữ tự nhiên của con người để miêu tả các khái niệm mơ hồ,
ví dụ như “tuổi già”.
• Định nghĩa tập mờ
Cho X là miền xác định, có các phần tử ký hiệu là x. Tập mờ A của X được đặc
trưng bằng hàm thuộc hay hàm thành viên µ
A
(x). Hàm này ánh xạ các phần tử x
i
của
X sang [0,1]. Các giá trị này cho biết mức độ thuộc của x
i
vào tập A
[1 tr.142].
Ví dụ xét tập mờ “cao” về chiều cao của con người:
Cao={0.0/1.5, 0.6/1.6, 1/1.7}
Một luật mờ liên kết 2 mệnh đề mờ có dạng:

IF X là A THEN Y là B
Luật này tạo ra một liên kết giữa hai mệnh đề. Các hệ thống thường lưu trữ liên
kết này trong một ma trận M.
• Hai kỹ thuật suy diễn thông dụng trong logic mờ là: suy diễn max-min và suy
diễn tích cực đại [1 tr.150].
a) Suy diễn max-min
Ta có A = (a
1
,…,a
n
), a
i
= µ
A
(x
i
)
19
B = (b
1
,…,b
n
), b
i
= µ
B
(y
i
)
Ma trận M được xác định: m

ij
= min(a
i
,b
j
)
Vậy khi có A’ sẽ tính được B’ như sau:
b’
j
= max{min(a’
i
,m
ij
)}, 1<= i <= n
b) Suy diễn tích cực đại
Ta có A = (a
1
,…,a
n
), a
i
= µ
A
(x
i
)
B = (b
1
,…,b
n

), b
i
= µ
B
(y
i
)
Ma trận M được xác định: m
ij
= a
i
b
j
Vậy khi có A’ sẽ tính được B’ như sau:
b’
j
= max{min(a’
i
,m
ij
)}, 1<= i <= n
• Giải

mờ (Defuzzification)
Là ánh xạ các phần tử trong tập mờ sang tập rõ. Có nhiều phương pháp để giải
mờ như: Center of Gravity, Middle of Maximum, Center of Sum,... Trong đó, phương
pháp Center of Gravity (hay còn gọi là Centroid) là một trong những phương pháp
thông dụng nhất. Giá trị rõ được xác định bằng phương pháp này chính là giá trị
trọng tâm được xác định bởi công thức [1 tr.155].



=
=

=
n
j
jB
n
j
jBj
i
ym
ymy
y
1
'
1
'
)(
)(
Ví dụ ta xác đinh được tập mờ kết quả là B’ = {0/10, 0.5/20, 0.5/30, 0.5/40,
0/50}.Áp dụng công thức trên ta tính được giá trị rõ
b = (0*10+0.5*20+0.5*30+0.5*40+0*50)/(0+0.5+0.5+0.5+0)=30
2.2. Hồ sơ đặc trưng người dùng (user profile)
2.2.1. Giới thiệu
20
Thời gian gần đây, nhiều kỹ thuật được nghiên cứu và áp dụng để làm cho các
chương trình máy tính thông minh hơn, cụ thể là tuỳ vào đặc điểm của người sử dụng
mà chương trình có những cách xử lý khác nhau. Ví dụ: giới thiệu sản phẩm sao cho

phù hợp với sở thích của người sử dụng như hệ thống Amazon
1
,
tư vấn môn học, phương pháp học tập và cung cấp tài nguyên sao cho phù hợp với
trình độ của sinh viên như hệ thống ELM-ART [29]. Các hệ thống này được gọi là hệ
thống thích nghi cá nhân (Personalized Adaptive System) hay được gọi tắt là hệ thống
thích nghi (Adaptive System). Kỹ thuật này được áp dụng trong nhiều lĩnh vực như
thương mại điện tử, tìm kiếm thông tin, e-Learning…Trong các hệ thống thích nghi
này, mỗi người sử dụng đều có một thành phần là user profile (gọi tắt là profile) dùng
để lưu trữ những thông tin đặc trưng của người này. Thông tin này có thể là thông tin
cá nhân, sở thích, thói quen… Tuỳ vào mục đích sử dụng sẽ xác định cần có thông tin
gì trong profile [21].
2.2.2. Thể hiện profile
Có nhiều hướng tiếp cận khác nhau được sử dụng để thể hiện một profile. Sau
đây là một vài phương pháp thông dụng:
 Mô hình không gian vectơ (Vector space model) [21]
Profile được thể hiện bằng một vectơ chứa các giá đặc trưng của người sử dụng.
Ví dụ trong lãnh vực truy vấn thông tin, các đặc trưng này thường được biểu diễn
bằng các từ khoá hay các khái niệm để thể hiện những chủ đề mà người sử dụng quan
tâm (có thể dùng trọng số để thể hiện mức độ quan tâm). Giả sử trong một hệ thống,
profile của người dùng có n đặc trưng thì profile của một người có dạng profile(u
i
) =
(w
1
, w
2
, …, w
n
) trong đó w

j
thể hiện mức độ quan tâm của người sử dụng thứ i đối
với đặc trưng thứ j.
1
/>21
 Mô hình khai thác lịch sử (History-based model) [21]
Khi người sử dụng tương tác với hệ thống, hệ thống sẽ lưu giữ lại các thông tin
này. Thông thường hệ thống cũng sẽ lưu trữ những phản hồi (feedback) của người sử
dụng về những thông tin được tư vấn. Phương pháp này thường được áp dụng trong
thương mại điện tử, trong đó hệ thống này sẽ lưu giữ danh sách các mặt hàng mà
khách hàng đã mua. Từ đó hệ thống có thể suy diễn ra khách hàng thích loại hàng gì
để giới thiệu các mặt hàng mới mà có thể khách hàng sẽ thích. Ví dụ website thương
mại Amazon sử dụng phương pháp này để tư vấn sách mới cho người dùng.
 Ma trận đánh giá (User –item ratings matrix) [21]
Là một ma trận hai chiều R, một chiều là các người dùng (user) và một chiều là
các tài nguyên (item). Giá trị r
ij
trong ma trận R thể hiện đánh giá của người dùng thứ
i đối với tài nguyên thứ j. Các giá trị đánh giá r
ij
phụ thuộc vào từng hệ thống và được
thu thập một cách tường minh hay thông qua quá trình tương tác của người sử dụng
với hệ thống.
Ví dụ một người sử dụng xem 1 bộ phim nhiều lần chứng tỏ người này rất thích
bộ phim. Nếu một bộ phim mới mở lên xem vài phút rồi anh ta chuyển sang phim
khác chứng tỏ anh ta không thích phim đó. Ví dụ Bellcore Video Recommender [13]
và MoviExplain [28] là hai hệ thống tư vấn phim sử dụng phương pháp này. Hình 2.2
minh họa ma trận đánh giá của 4 người dùng (Amy, Matt, Paul, Cliff) cho 4 phim
(The Matrix, Speed, Sideways, Brokeback Mountain).
The Matrix Speed Slideways

Brokeback
Mountain
Amy 1 2 5
Matt 3 5 4
Paul 5 6 2 1
Cliff 5 5 5 5
Hình 2.2 Ma trận đánh giá
 Mạng ngữ nghĩa có trọng số (Weighted semantic network)[21]
22
Mạng ngữ nghĩa là một đồ thị gồm các nút và các cung, các nút thể hiện các
khái niệm, một cung liên kết hai nút thể hiện mối quan hệ giữa hai nút đó [10]. Ví dụ
trong hệ thống tư vấn SiteIF [27], mỗi nút mạng thể hiện một từ hay một khái niệm
mà người sử dụng quan tâm, cung nối hai nút thể hiện mối quan hệ đồng xảy ra của
hai nút đó. Mỗi nút và mỗi cạnh đều chứa trọng số thể hiện mức độ quan tâm của
người sử dụng. Ví dụ một mạng ngữ nghĩa được thể hiện trong hình 2.3.
Hình 2.3 Mạng ngữ nghĩa
 Các mô hình dựa trên bộ phân lớp (Classifier-based model) [11]
Một số hệ thống tổ chức profile người dùng theo mô hình phục vụ cho việc khai
thác bằng các phương pháp phân lớp. Tuỳ theo phương pháp phân lớp mà profile
người dùng sẽ được tổ chức cho phù hợp. Một số kỹ thuật có thể được dùng là:
- Cây quyết định (Decision tree): Là một tập hợp các nút và các cạnh được tổ
chức theo cấu trúc cây. Trong cấu trúc này, mỗi nút trong là một câu hỏi, các
cạnh là các câu trả lời cho câu hỏi này và nút lá là quyết định cuối cùng. Ví
dụ Kim sử dụng cây quyết định để quảng cáo sản phẩm phù hợp với sở thích
của người dùng trên website [14].
- Luật kết hợp (Association rule): Theo phương pháp này, người ta sẽ khai thác
tập profile của người dùng và tìm ra các luật với độ hỗ trợ và độ tin cậy nhất
Màu sắc
3.6
Họa sĩ

3.4
11.
Tranh
7.2
9.
Nhà điêu khắc
5.8
15.
Hội họa
7.89
3.
Viện bảo tàng
8.1
5.
Điêu khắc
4.56
Tượng
5.2
6.
23
định nào đó. Các luật này sẽ được sử dụng để cung cấp tài nguyên cho người
dùng thông qua những sản phẩm mà họ đã lựa chọn, đánh giá trước đó. Ví dụ
một luật thể hiện quan hệ giữa một sản phẩm thường được mua cùng với các
sản phẩm khác [6].
- Ngoài ra một số hệ thống khác tổ chức profile phục vụ cho việc khai thác
theo mô hình mạng nơ-ron, mạng Bayes.
2.2.3. Khởi tạo profile
Đối với một người sử dụng mới, hệ thống sẽ phải khởi tạo một profile cho
người này. Hệ thống có thể sẽ yêu cầu người sử dụng cung cấp các thông tin như
thông tin cá nhân, đánh giá một số tài nguyên (item) mẫu, cho biết sở thích…Những

thông tin ban đầu thường không chính xác và không đầy đủ. Ngoài ra nguời sử dụng
tỏ ra không thích khi thực hiện công việc này vì họ cảm thấy không thoải mái và mất
thời gian. Vì vậy các hệ thống gặp khó khăn khi khởi tạo profile vì hệ thống có quá ít
thông tin về người sử dụng mới. Sau đây là một số phương pháp dùng để khởi tạo
profile [21].
• Khởi tạo rỗng
Hệ thống sẽ tạo ra một profile rỗng không chứa thông tin gì trong khi khởi tạo
profile. Thông tin trong profile sẽ được cập nhật khi người dùng tương tác với hệ
thống sau này. Ví dụ như hệ thống Amazon áp dụng phương pháp này.
• Thủ công
Khi khởi tạo, hệ thống yêu cầu người sử dụng cung cấp thông tin cần thiết như
thông tin cá nhân, sở thích hay đánh giá các tập mẫu của hệ thống đề nghị. Ví dụ hệ
thống Amalthaea khởi tạo profile của người dùng bằng cách yêu cầu người dùng cung
cấp các trang web hay các tài liệu yêu thích để hệ thống phân tích và xác định các chủ
đề mà người dùng quan tâm [22].
• Theo khuôn mẫu
24
Đối với phương pháp này thì người sử dụng cũng phải cung cấp một số thông
tin ban đầu (như tên, tuổi, giới tính, nghề nghiệp…) nhưng không phải cung cấp
nhiều như phương pháp thủ công ở trên. Với một vài thông tin thu được từ người
dùng, hệ thống sẽ quyết định xem người sử dụng thuộc nhóm nào trong các nhóm của
hệ thống. Sau khi xác định profile mới thuộc nhóm nào, hệ thống sẽ điền các thông
tin chưa có trong profile mới bằng các thông tin của nhóm profile đó. Ví dụ LifeStyle
Finder sử dụng phương pháp này để suy ra các thông tin chưa biết từ thông tin nhân
khẩu (demographic data) mà người dùng cung cấp [16].
• Sử dụng tập huấn luyện
Hệ thống yêu cầu người sử dụng đánh giá một tập dữ liệu mẫu. Từ kết quả đánh giá,
hệ thống sẽ suy ra giá trị khởi tạo cho profile. Ví dụ qua đánh giá một số bài hát của
người sử dụng, hệ thống có thể kết luận người đó thích thể loại nhạc nào, thích ca sĩ
nào…Phương pháp này có khuyết điểm là tập mẫu ít có thể không mô tả đúng đặc

điểm của người sử dụng, còn nếu tập mẫu nhiều sẽ gây khó chịu cho người sử dụng.
Ví dụ, MovieLens
1
yêu cầu người dùng mới phải đánh giá một số phim do hệ thống
đưa ra để cung cấp thông tin cho hệ thống khởi tạo profile.
2.2.4. Cập nhật profile
Sau khi khởi tạo, trong quá trình tương tác với hệ thống, profile của người sử
dụng cần được cập nhật để mô tả chính xác hơn đặc điểm của người đó vì những
thông tin ban đầu còn rất hạn chế và có thể không chính xác. Ngoài ra đặc trưng của
người sử dụng có thể thay đổi theo thời gian. Sau đây là ba phương pháp dùng để cập
nhật profile [21].
• Phản hồi tường minh (Explicit feedback)
1
/>Theo phương pháp này, người sử dụng đánh giá các tài nguyên một cách tường
minh. Thông qua các giá trị đánh giá này, đặc trưng của người sử dụng được rút ra và
cập nhật. Phương pháp này có ưu điểm là đơn giản, độ chính xác cao,
25
nhưng có khuyết điểm là hệ thống sẽ gặp khó khăn khi người sử dụng lười đánh giá.
Ví dụ MovieLens yêu cầu người sử dụng phải đánh giá ít nhất 15 phim trước khi tư
vấn phim cho người này.
• Phản hồi không tường minh (Implicit feedback)
Hướng tiếp cập này không yêu cầu nguời sử dụng đánh giá các tài nguyên như
hướng tiếp cận trên. Trong quá trình tương tác với người sử dụng, hệ thống sẽ tự
động rút ra đặc trưng của người sử dụng thông qua hành vi của người đó. Ví dụ khi
sử dụng hệ thống thì người dùng thường vào mục nào, xem mục nào đầu tiên…
Như vậy với hướng tiếp cận này, người sử dụng không cần phải đánh giá tập
mẫu, một công việc nhàm chán và tốn nhiều thời gian. Khắc phục được khuyết điểm
trên của hướng tiếp cận phản hồi tường minh nhưng hướng tiếp cận này cũng có
khuyết điểm là chi phí xử lý để rút ra đặc trưng cao hơn, kết quả cho được có mức tin
cậy ít hơn. Ví dụ SiteIF cập nhật thông tin profile thông qua các website mà người

dùng đã truy cập [27].
• Phương pháp kết hợp (Hybrid approach)
Hai hướng tiếp cận trên vừa có ưu điểm và kuyết điểm nên một hướng tiếp cận
khác là kết hợp hai hướng tiếp cận trên. Có nhiều cách để kết hợp phản hồi tường
minh và không tường minh để cho hệ thống hoạt động tốt hơn [21]. Ví dụ như sử
dụng phản hồi không tường minh để bổ sung cho kết quả của phản hồi tường minh
hay dùng kết quả phản hồi tường minh để kiểm tra lại kết quả hệ thống suy ra được
từ hướng tiếp cận phẩn hồi không tường minh. Amazon giới thiệu các sản phẩm mà
hệ thống cho là khách hàng quan tâm thông qua các sản phẩm đã được đánh giá
(tường minh) hay các sản phẩm đã mua hay đã xem (không tường minh).
2.2.5. Khai thác profile
Mục tiêu của những hệ thống thích nghi là chọn lọc các thông tin sao cho phù
hợp với những đặc trưng của người sử dụng. Các phương pháp chọn lọc thông tin
dựa vào các kỹ thuật so khớp giữa profile với tài nguyên và giữa các profile với nhau.
Sau đây là ba hướng chính: lọc theo thông tin nhân khẩu (demographic filtering), lọc

×