CHƯƠNG 1 - TỔNG QUAN VỀ HỆ CHUYÊN GIA 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 [15]. 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]. Tóm lại, hệ chuyên gia có thể được định nghĩa như sau: Hệ chuyên gia 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 1. Cấu trúc chính của một hệ chuyên gia Một hệ chuyên gia 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].
Cơ sở tri thức Mô tơ suy luận Hình 1.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 hệ chuyên gia 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 Luan van 6 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 hệ chuyên gia 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 chứa các tri thức để từ đó, máy suy diễn tạo ra câu trả lời cho người sử dụng thông qua hệ thống giao tiếp. Cơ sở tri thức (Knowledge Base) Tri thức là sự hiểu biết về lĩnh vực cần biểu diễn nghiên cứu.
Để 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. Hệ chuyên gia 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 hệ chuyên gia. 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 hệ chuyên gia đượ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 hệ chuyên gia 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 hệ chuyên gia chứa tri thức chuyên sâu về lĩnh vực mà hệ chuyên gia này đang thực hiện.
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 bằng luật dẫn là phổ biến nhất [29] thường được áp dụng trong các hệ chuyên gia 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. Luan van 7 - 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] 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 hệ chuyên gia. 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 Giảm cân nhanh không có lý do AND đi tiểu nhiều AND đau nhức chân tay THEN bệnh nhân bị bệnh đái tháo đườ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. Các loại tri thức thường gặp trong thực tế Luan van 8 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 lich 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 hay sai. Tri thức Meta: Là tri thức của tri thức, dùng mô tả rõ hơn cho tri thức đã 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.
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.
Mô tơ suy luận (Inference Engine) 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à 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 Luan van 9 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. Các giả thiết 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.