Tải bản đầy đủ (.doc) (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 (839.36 KB, 89 trang )

MỤC LỤC
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT..............................................................10
2.2. Hồ sơ đặc trưng người dùng (user profile).................................................20

CHƯƠNG 3 HỆ CHẨN ĐOÁN SUY THẬN ESKF..................................28
3.1. Hội chứng suy thận....................................................................................28

CHƯƠNG 4 THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ.....................61
TÀI LIỆU THAM KHẢO............................................................................71
PHỤ LỤC 1 74
PHỤ LỤC 2 81


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



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


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


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 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 profile1).
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.
- 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
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


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


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.
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.
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.


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], BIRADS(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]


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
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].
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:
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
- 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 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 E1 và E2 cùng khẳng định một giả thiết H thì


CF(H, E1&E2) = MB(H, E1&E2) – MD(H, E1&E2)
Trong đó MB(H,E1&E2) và MD(H,E1&E2) được tính như sau [7 tr.255]:

Tổng quát:
CF(H, E1, E2,…,En) = MB(H, E1, E2,…,En) – MD(H, E1, E2,…,En)
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]:

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 (CFR)
Như vậy CF(H) = CF(E)*CFR
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 E1 AND E2 AND …AND En THEN H (CFR)


 CF(H,E1,E2,…,En) = min{ CF(Ei)}*CFR
IF E1 OR E2 OR … OR EnTHEN H (CFR)
 CF(H,E1,E2,…,En) = max{ CF(Ei)}*CFR
• Nếu có nhiều luật có cùng kết luận [1 tr.128]:
R1: IF E1 THEN H (CFR1)  CF1(H) = CF(E1)*CFR1
R2: IF E2 THEN H (CFR2)  CF2(H) = CF(E2)*CFR2
thì



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ử xi
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 = (a1,…,an), ai = µA(xi)
B = (b1,…,bn), bi = µB(yi)
Ma trận M được xác định: mij = min(ai,bj)
Vậy khi có A’ sẽ tính được B’ như sau:
b’j = max{min(a’i,mij)}, 1<= i <= n
b) Suy diễn tích cực đại
Ta có A = (a1,…,an), ai = µA(xi)
B = (b1,…,bn), bi = µB(yi)
Ma trận M được xác định: mij = aibj
Vậy khi có A’ sẽ tính được B’ như sau:
b’j = max{min(a’i,mij)}, 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

yi =

∑y

j

∗ mB' ( y j )

j =1

n

∑m

B' ( y j )

j =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

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(ui) = (w1, w2, …, wn) trong đó wj 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

/>

 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ị rij 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).

Amy

Brokeback
Mountain

The Matrix

Speed

Slideways

1

2

5

3

5

4

Matt
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]
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ọa sĩ
3.4
Tranh


9.2

Màu sắc
3.6

11.6
15.3

7.2

Hội họa

Nhà điêu khắc

7.89

5.8

Điêu khắc
Tượng
5.2

4.56
6.8

5.7
3.5

Viện bảo tàng

8.1

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 đị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
Đố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ụ, MovieLens1 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)
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,
1

/>

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


×