1.2 CÁC PHƢƠNG PHÁP BIỂU DIỄN TRI THỨC
1.2.3 Các kỹ thuật biểu diễn tri thức
Phần này trình bầy các kỹ thuật phổ biến nhất để biểu diễn tri thức, bao gồm [3,23][5][7,54]:
- Bộ ba đối tượng - thuộc tính - giá trị - Hệ luật
- Mạng ngữ nghĩa - Frames
- Logic
1.2.3.1 Bộ ba Đối tượng - Thuộc tính - Giá trị
Cơ chế nhận thức của con người thường được xây dựng dựa trên các sự kiện (fact). Sự kiện được xem như các đơn vị cơ bản nhất. Một sự kiện là một dạng tri thức khai báo. Nó cung cấp một số hiểu biết về một biến cố hay một vấn đề nào đó.
Một sự kiện có thể được dùng để xác nhận giá trị của một thuộc tính xác định của một đối tượng. Ví dụ mệnh đề “quả bóng mầu đỏ” xác nhận “đỏ” là giá trị của thuộc tính “mầu” của đối tượng “quả bóng ”. Kiểu sự kiện này được gọi là bộ ba Đối tượng - Thuộc tính - Giá trị (O - A - V = Object - Attribute - Values)
Hình 1.4: Biểu diễn tri thức theo bộ ba O - A - V
Một vấn đề trong việc sử dụng mạng ngữ nghĩa là định nghĩa tên chuẩn của các kết nối. Trong hệ chuyên gia ART, IS - A kết nối 2 lớp, trong khi INSTANCE - OF kết nối hai trường hợp của lớp.
Một kết nối hay sử dụng là HAS - A nối một lớp với một lớp con. HAS - A có chiều chỉ ngược lại AKO và thường được dùng để nối một đối tượng với một bộ phận của đối tượng đó.
Ví dụ:
Car HAS - A engine Car HAS - A tires Car HAS - A ford
Chi tiết hơn, IS - A nối một giá trị với một đối tượng, còn HAS - A nối một đối tượng với một thuộc tính.
Ba thành phần, Đối tượng – Thuộc tính – Giá trị cũng xuất hiện thường xuyên nên có thể xây dựng một mạng đơn giản hơn cho việc sử dụng bộ ba này.
Một O – A – V là một loại mệnh đề phức tạp. Nó chia một phát biểu cho trước thành ba phần riêng biệt; Đối tượng, Thuộc tính, Giá trị thuộc tính.
Đối tượng, Thuộc tính, Giá trị (OAV) được dùng để mô tả đặc điểm của mỗi tri thức trong mạng ngữ nghĩa. Bộ ba OAV rất thuận tiện để đưa vào danh sách tri thức như một bảng và chuyển thành mã máy.
Ghế Mầu Nâu
Ví dụ:
Đối tượng Thuộc tính Giá trị
Trái táo Mầu sắc Đỏ
Trái táo Số lượng 100
Quả nho Mầu sắc Đỏ
Quả nho Số lượng 500
Bảng 1.1 Ví dụ minh họa về O-A-V
OAV được dùng đặc biệt rộng rãi để biểu diễn những sự kiện và mẫu để sánh hợp các sự kiện. Mạng ngữ nghĩa cho những hệ như vậy là một hệ bao gồm các nút đối tượng, nút thuộc tính và nút giá trị được liên kết bởi HAS-A và IS-A. Nếu hệ chỉ gồm một loại đối tượng và thừa kế không cần thiết thì việc biểu diễn trở nên đơn giản hơn, chỉ gồm các cặp thuộc tính – giá trị.
Trong các sự kiện O-A-V, một đối tượng có thể có nhiều thuộc tính với các kiểu giá trị khác nhau. Hơn nữa một thuộc tính cũng có thể có một hay nhiều giá trị. Chúng được gọi là sự kiện đơn trị (single-valued) hoặc đa trị (multi - value). Điều này cho phép các hệ tri thức linh động trong việc biểu diễn các tri thức cần thiết.
Các sự kiện không phải lúc nào cũng đảm bảo là đúng hay sai với độ chắc chắn hoàn toàn. Vì thế khi xem xét các sự kiện, người ta còn sử dụng thêm một khái niệm là độ tin cậy. Phương pháp truyền thống để quản lý thông tin không chắc chắn là sử dụng nhân tố chắc chắn CF (certainly factor). Khi đó trong sự kiện O-A-V sẽ có thêm một giá trị xác định độ tin cậy của nó là CF.
Ngoài ra, khi các sự kiện mang tính “nhập nhằng”, việc biểu diễn tri thức cần đưa ra một kỹ thuật, gọi là logic mờ (do Zadeh đưa ra năm 1965). Các thuật ngữ
nhập nhằng được thể hiện trong việc lượng hóa tập mờ.
1.2.3.2 Hệ luật
Luật là 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 giúp đưa ra các suy luận, kết luận từ những thông tin đã biết.
Tri thức dưới dạng luật được xếp vào các tri thức thủ tục. Luật gắn thông tin đã cho với một vài hoạt động. Các hoạt động này có thể khẳng định về thông tin mới hay là thủ tục sẽ được thực hiện. Bằng cách này, luật mô tả cách giải quyết vấn đề.
Về mặt logic, cấu trúc của luật kết nối một hay nhiều giả thiết, hay cái có trước trong câu IF, với một hay nhiều kết luận, hay được gọi là kết quả trong câu THEN
Ví dụ: IF Màu của quả bóng là xanh THEN Tôi thích quả bóng
Nói chung phần giả thiết của một luật có thể gồm nhiều giả thiết nhỏ gắn với nhau thông qua các phép logic AND (và) hay OR (hoặc) hay cả hai. Luật cũng có thể dùng câu ELSE (ngược lại thì) dùng cho suy luận khi giả thiết sai.
Trong hệ thống dựa trên các luật người ta thu thập các tri thức lĩnh vực trong một tập và lưu trữ chúng 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 trọng bộ nhớ để giải bài toán. Khi câu IF của luật khớp với thông tin trong bộ nhớ, hệ thống thực hiện các hoạt động mô tả trong câu THEN của luật. Lúc này luật được xem như đã thực hiện, hay cháy; câu THEN được bổ sung vào bộ nhớ. Mệnh đề mới này cũng có thể làm cho các luật khác được thực hiện.
Ví dụ:
Ban đầu cơ sơ tri thức có hai luật, và bộ nhớ là rỗng. Khi nhận được trả lời là (đỏ) cho câu hỏi (xe màu gì), bộ suy diễn của hệ chuyên gia dựa trên luật sẽ thực hiện các luật và rút ra được thông tin mới (sẽ mua xe).
Hình 1.5: Ví dụ do suy diễn dựa trên luật
IF xe đỏ THEN sẽ thích IF thích THEN sẽ mua Hỏi: xe mầu gì Trả lời: đỏ IF xe đỏ THEN sẽ thích IF thích THEN sẽ mua Xe đỏ IF xe đỏ THEN sẽ thích IF thích THEN sẽ mua Xe đỏ Sẽ thích IF xe đỏ THEN sẽ thích IF thích THEN sẽ mua Xe đỏ Sẽ thích Sẽ mua
Việc xử lý các luật trong hệ thống dựa trên các luật được quản lý bằng một module gọi là bộ suy diễn.
a Khai thác một thủ tục.
Ngoài việc sản sinh các thông tin mới thông qua các sự kiện trong câu THEN một luật có thể thực hiện các hành động. Hành động trong luật có thể là tính toán đơn giản, như là:
IF Cần đến diện tích hình chữ nhật THEN Diện tích = chiều dài * chiều rộng
Để thực hiện các thao tác phức tạp hơn, nhiều hệ chuyên gia truy nhập các thủ tục bên ngoài hệ thống.
Ví dụ:
- Luật liên quan đến thủ tục chương trình: IF xem bói AND khách = trẻ THEN gọi chương trình (bói ) AND tính tiền.
- Luật liên quan đến thao tác của bảng tính: IF tính lương tháng tư THEN tháng = 4 AND mở file luong.XLS.
- Luật liên quan đến việc tìm kiếm thông tin: IF biết số báo danh là X THEN mở file điểm. 001 AND tìm điểm với mã = X.
Nhìn chung khả năng truy cập hay thay đổi thông tin nhờ chương trình bên ngoài tạo điều kiện để công việc thiết kế hệ chuyên gia trở nên uyển chuyển hơn. Có thể dùng khối lượng lớn các thông tin có trong cơ sở dữ liệu và bảng tính, hay thay đổi các thông tin nhờ chức năng hỗ trợ quyết định của hệ thống xử lý luật.
b Các dạng khác nhau của luật.
Các luật thể hiện tri thức có thể phân loại theo loại tri thức. Và như vậy có các lớp luật liên quan đến các tri thức gồm:
- Tri thức quan hệ.
IF Acquy hỏng THEN không khởi động ô tô được. - Tri thức khuyến cáo.
IF không khởi động ô tô được THEN đi bộ. - Tri thức hướng dẫn.
IF ô tô không khởi động được AND xăng dầu tốt THEN kiểm tra hệ thống điện.
- Tri thức chiến lược.
IF ô tô không khởi động được THEN trước tiên kiểm tra hệ thống xăng dầu, rồi kiểm tra hệ thống điện.
- Tri thức diễn giải. - Tri thức chuẩn đoán. - Tri thức thiết kế.
c Dùng biến trong luật.
Sử dụng các biến trong luật nhằm phù hợp với các ứng dụng thực hiện cùng một số thao tác trên tập các đối tượng tương tự nhau. Thông thường với mỗi phát biểu về tri thức liên quan đến nhiều sự kiện, người ta dùng nhiều luật. Nếu viết một luật đơn cho mỗi đối tượng thì số lượng các luật sẽ rất nhiều, như vậy không hiệu quả và hệ thống khó quản lý các luật tương tự nhau.
Ví dụ:
Luật sau cho biết Hùng có thể nghỉ ngơi hay không. IF Hùng là công chức AND tuổi của Hùng quá 60 THEN Hùng có thể nghỉ ngơi.
Khi hệ thống muốn kiểm tra các cá nhân khác không phải là Hùng thì người ta cần sử dụng các luật tương tự như luật này. Do vậy không kinh tế. Thậm chí độ tuổi nghỉ ngơi của con người có thể dao động từ 55 - 60 tuổi. Có thể dùng ngôn ngữ lập trình để tạo ra một luật để luật này có thể khớp với một dải giá trị rộng hơn. Các luật này dùng biến để khớp với các mệnh đề tương tự.
Ví dụ:
IF X là công chức AND tuổi của X quá 60 THEN X có thể nghỉ ngơi.
Luật này quét trong bộ nhớ để khớp được hai giả thiết không. Nếu cháy khớp, luật này kết luận rằng người đó có thể nghỉ ngơi. Chẳng hạn trong bộ nhớ có thông tin về (tên, nghề nghiệp, tuổi) của nhiều đối tượng như trong hình:
Hình 1.6: Một phần nội dung trong bộ nhớ cho biết tuổi của các các nhân
Giả thiết đầu tiên gắn tên một cá nhân cho biến X, nếu người ấy là công chức. Giả thiết thứ hai kiểm tra xem người có tên gán cho biến X đó có quá 60 tuổi không. Nếu khớp cả hai giả thiết, luật kết luận rằng người này có thể nghỉ và đưa thông tin vào bộ nhớ.
Việc khớp luật có sử dụng biến cho phép xử lý thông tin một cách hiệu quả. Người ta có thể viết luật này thay cho nhiều luật, thuận tiện cho việc mã hóa và bảo trì cơ sở luật. Luật trên có được tri thức chuyên gia “Nếu công chức quá tuổi 60, thì họ có thể nghỉ ngơi”.
d Các luật không chắc chắn.
Mệnh đề phát biểu về sự kiện, hay bản thân các sự kiện có thể không chắc chắn. Người ta đã dùng hệ số chắc chắn CF đối với các sự kiện không chắc chắn. Đã có sự kiện không chắc chắn thì cũng có luật không chắc chắn . Luật này thiết lập quan hệ không chính xác giữa giả thiết và kết luận.
Ví dụ:
IF lạm phát cao
THEN hầu như chắc chắn lãi suất tiết kiệm sẽ cao.
Chuyên gia tin rằng (hầu như chắc chắn) …..nếu…. Để có được độ tin cậy về chi thức chuyên gia trong quan hệ này, người ta dùng nhân tố chắc chắn. Chẳng hạn luật trên có thể được viết lại với giá trị CF là 0.8:
IF lạm phát cao THEN lạm phát, CF = 0.8
Hoa, công chức, 44
Hồng, công chức, 64
Huệ, giáo viên, 32
Ví dụ này mới chỉ giới thiệu sơ lược về luật với sự không chắc chắn. Nó cũng như các luật bình thường, ngoài trừ kết luận được khẳng định với một mức độ tin cậy.
e Các luật meta.
Khi giải vấn đề, các chuyên gia cũng cần cả tri thức lĩnh vực lẫn tri thức hướng dẫn sử dụng các tri thức lĩnh vực. Tri thức lĩnh vực đặc trưng cho lĩnh vực; tri thức hướng dẫn đặc trưng cho việc sử dụng tri thức. Tri thức hướng dẫn dùng tri thức lĩnh vực để xác định cách giải quyết vấn đề tốt nhất. Loại tri thức này gọi là tri thức meta.
Như vậy, tri thức meta là tri thức về cách sử dụng và điều khiên tri thức lĩnh vực. Tri thức meta thường được thể hiện trong hệ thống dựa trên luật thông qua luật meta để chúng có thể được truy cập trực tiếp. Luật meta là luật mô tả cách thức dùng các luật khác.
Luật meta đưa ra chiến lược dùng các luật về lĩnh vực chuyên dụng, thay vì đưa ra thông tin mới.
Ví dụ:
IF Ô tô không khởi động được AND hệ thống điện hoạt động bình thường.
THEN Dùng các luật liên quan đến hệ thống xăng dầu.
Luật meta chuẩn đoán về ô tô này hướng việc sữa chữa ô tô về hệ thống xăng dầu nếu không phát hiện được gì trong hệ thống điện. Luật meta hướng dẫn tri thức hệ thống rẽ nhánh về một phần của công việc, cũng như làm tăng hiệu quả của hệ thống bằng cách hướng dẫn hệ thống suy luận tại nhánh có khả năng giải quyết vấn đề.
f Tập các luật.
Các tri thức chuyên gia được tích lũy thành các luật để giải quyết các vấn đề. Tập các luật dùng cho vấn đề này nhưng không dùng được cho vấn đề khác. Tập các luật phản ánh kinh nghiệm, khéo léo của chuyên gia về lĩnh vực. Việc chọn lựa tập luật nào cũng thể hiện trình độ của chuyên gia .
Tuy nhiên chỉ riêng các luật không đủ để lập luật. Do vậy cần đến chiến lược để biết khi nào áp dụng luật và áp dụng như thế nào.
Ví dụ:
Để sửa chữa ô tô, người ta kiểm tra các bộ phận của xe theo các luật như hướng dẫn trong hình.
Hình 1.7: Tập các luật liên quan đến việc hỏng xe
Một trong các giải pháp hướng dẫn sử dụng luật khi thiết kế hệ thống dựa trên luật là dùng cấu trúc modun để sắp xếp các luật về lĩnh vực. Loại cấu trúc này cũng gợi ý cách giải quyết bài toán từ trên xuống, ở đó tập các luật được dùng chỉ khi phù hợp. Hệ thống có thể chuyển điều khiển đến tập luật đã cho bằng cách dùng luật meta.
Một số nhận xét về việc dùng các luật có cấu trúc modun như sau:
- Ưu điểm chính của thiết kế này là thể hiện được cách giải vấn đề phức tạp. Nhìn chung con người có xu hướng chia vấn đề phức tạp ra các vấn đề nhỏ hơn, dễ quản lý hơn.
- Ưu điểm khác của cấu trúc các luật theo modun là dễ phát triển và bảo trì hệ thống. Khi phát triển hệ thống, người ta có thể thử và kiểm tra riêng từng modun theo cách độc lập. Đối với việc quản lý toàn bộ cơ sở tri thức, việc thiết kế theo các modun tỏ ra thuận tiện.
- Về kỹ thuật, tiếp cận này có ưu điểm dễ tích hợp các kỹ thuật thể hiện tri thức, chiến lược suy diễn khác nhau vào cùng một hệ thống.
Chuẩn đoán hỏng hóc xe ô tô
Chuẩn đoán hệ thống điện Chuẩn đoán hệ thống xăng dầu
1.2.3.3 Mạng ngữ nghĩa
Mạng ngữ nghĩa là một phương pháp biểu diễn tri thức dùng đồ thị trong đó nút biểu diễn đối tượng và cung biểu diễn quan hệ giữa các đối tượng. Quan hệ là phần chính yếu trong mạng ngữ nghĩa. Không có quan hệ, tri thức chỉ là tập hợp các sự kiện không liên quan với nhau. Với quan hệ, tri thức trở thành một cấu trúc nối liền với các tri thứ khác có liên quan.
Có vài loại quan hệ được sử dụng trong hầu hết các biểu diễn tri thức. Việc định nghĩa các quan hệ dùng chung trong các mạng ngữ nghĩa sẽ làm dễ dàng hơn trong việc dùng các mạng khác nhau.
Có hai loại kết nối được sử dụng rộng giãi là IS-A và A-KIND-OF, thường được viết tắt là ISA và AKO.
IS-A, viết tắt của “is instance of”, dùng để chỉ rõ một đối tượng là thuộc lớp nào. AKO, viết tắt của “a kind of”, dùng để kết nối các lớp với nhau. AKO không dùng để kết nối các trường hợp cá biệt với nhau, đó là chức năng của ISA. AKO kết nối một lớp với lớp cha. Nói một cách khác, AKO kết nối các lớp với nhau và ISA kết nối một trường hợp cá biệt với một lớp.
Trong kết nối AKO, lớp được chỉ tới gọi là lớp cha (Superclass) và lớp dẫn xuất