CHƯƠNG 1: CƠ SỞ LÝ THUYẾT VỀ HỆ CHUYÊN GIA HỖ TRỢ TRONG Y KHOA 1. Giới thiệu chung 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. 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 của thế kỷ trước. 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 , PSG-Expert (2000) chẩn đoán bệnh mất ngũ , BI-RADS(2007) chẩn đoán ung thư vú , Naser xây dựng một hệ chuyên gia chẩn đoán bệnh về da (2008) 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 đó.” 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.” 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) 6 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. Cấu trúc hệ chuyên gia.1 Cấu trúc hệ chuyên gia Tri thức là sự hiểu biết về lĩnh vực cần biểu diễn nghiên cứu hay tri thức là những kiến thức mà một người có thể biết và hiểu được. Để 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. Cơ sở tri thức (Knowledge Base) Cơ sở tri thức trong hệ chuyên gia là tri thức về một lĩnh vực cụ thể nào đó.
Là tập hợp các cơ sở lập luận, các qui trình thủ tục được tổ chức thành các lược đồ nhằm cung cấp để giải vấn đề thuộc lính vực đó. Cơ sở tri thức bao gồm tri thức tổng quát (General Knowledge) cũng như thông tin của một tình huống cụ thể (case specific). Cơ sở tri thức thường được biểu diễn dưới dạng luật IF-THEN. 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 7 Biểu diễn tri thức là phương pháp sử dụng thuật toán và mã hoá tri thức về đối tượng cần nghiên cứu 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ương pháp thể hiện tri thức bằng luật dẫn là phổ biến nhất 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. 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….
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. 8 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. Các loại tri thức trong thực tế : Tri thức thủ tục : Diễn tả cách giải quyết vấn đề. Loại tri thức thủ tục phương hướng thực hiện các hoạt động. Các luật, các chiến lược, các lịch và các thủ tục là các dạng đặc trưng của tri thức thủ tục Tri thức mô tả : Cho biết vấn đề giải quyết như thế nào .Tri thức mô tả bao gồm các khẳng định đơn giản ,nhận giá trị chân lí đúng hai sai.
Tri thức Meta : Là tri thức của tri thức. Tri thức Meta dùng mô tả rõ hơn cho tri thức đã có. Các chuyên gia dùng tri thức Meta để tăng hiệu quả các giải quyết vấn đề bằng cách hướng lập luận về miền tri thức có khả năng hơn cả. Tri thức may rủi : Diễn tả luật may rủi hay cung cách may rủi để dẫn dắt quá trình lập luận.
Tri thức may rủi không đảm bảo tính khoa học, tính chính xác. Tri thức may rủi xuất phát từ kinh nghiệm, từ tri thức giải quyết các vấn đề trong quá khứ. Tri thức cấu trúc : Diễn tả các cấu trúc của tri thức. Tri thức cấu trúc trong hệ chuyên gia là thể hiện cách tổ chức tri thức, mô hình về các tri thức.
Mô tơ suy luận. Mô tơ suy luận làm việc dựa trên các sự kiện trong bộ nhớ làm việc và tri thức về lĩnh vực trong cơ sở tri thức để rút ra thông tin mới. Một cách cụ thể hơn, mô tơ suy diễn áp dụng tri thức cho việc giải quyết các bài toán thực tế. Về căn bản nó là 9 trình thông dịch cho cơ sở tri thức.
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]. 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.
Hệ chuyên gia 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 hệ chuyên gia. 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].
Hai loại suy luận thường được áp dụng trong hệ chuyên gia là suy luận tiến và suy luận lùi: - 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]. 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] 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.