PHỐI HỢP NHIỀU CÁCH BIỂU DIỄN TRI THỨC
Mục tiêu chính biểu diễn tri thức trong
máy tính là phục vụ cho việc thu nhận tri thức vào máy tính, truy xuất
tri thức và thực hiện các phép suy luận dựa trên những tri thức đã lưu
trữ. Do đó, để thỏa mãn được 3 mục tiêu trên, khi chọn phương pháp biểu
diễn tri thức, chúng ta phải cân nhắc một số yếu tố cơ bản sau đây :
Tính tự nhiên, đồng bộ và dễ hiểu của biểu diễn tri thức.
Mức độ trừu tượng của tri thức : tri thức được khai báo cụ thể hay nhúng vào hệ thống dưới dạng các mã thủ tục?
Tính đơn thể và linh động của cơ sở tri thức (có cho phép dễ dàng bổ sung tri thức, mức độ phụ thuộc giữa các tri thức, ...)
Tính hiệu quả trong việc truy xuất tri thức và sức mạnh của các phép suy luận (theo kiểu heuristic) .
Bảng sau cho chúng ta một số ưu và khuyết điểm của các phương pháp biểu diễn tri thức đã được trình bày.
| P.Pháp | Ưu điểm | Nhược điểm |
| Luật sinh | Cú pháp đơn giản, dễ hiểu, diễn dịch đơn giản, tính đơn thể cao, linh động (dễ điều chỉnh). | Rất khó theo dõi sự phân cấp, không hiệu quả trong những hệ thống lớn, không thể biểu diễn được mọi loại tri thức, rất yếu trong việc biểu diễn các tri thức dạng mô tả, có cấu trúc. |
| Mạng ngữ nghĩa | Dễ theo dõi sự phân cấp, sẽ dò theo các mối liên hệ, linh động | Ngữ nghĩa gắn liền với mỗi đỉnh có thể nhập nhằng, khó xử lý các ngoại lệ, khó lập trình. |
| Frame | Có sức mạnh diễn đạt tốt, dễ cài đặt các thuộc tính cho các slot cũng như các mối liên hệ, dễ dàng tạo ra các thủ tục chuyên biệt hóa, dễ đưa vào các thông tin mặc định và dễ thực hiện các thao tác phát hiện các giá trị bị thiếu sót. | Khó lập trình, khó suy diễn, thiếu phần mềm hỗ trợ. |
| Logic hình thức | Cơ chế suy luận chính xác (được chứng minh bởi toán học). | Tách rời việc biểu diễn và xử lý, không hiệu quả với lượng dữ liệu lớn, quá chậm khi cơ sở dữ liệu lớn. |
Tuy vậy, như chúng
ta đã biết, hiện nay vẫn chưa có một kiểu biểu diễn tri thức nào phù hợp
với mọi tình huống. Do đó, khi phải làm việc với nhiều nguồn tri thức
khác nhau (khác loại, khác tính chất), chúng ta nhiều lúc phải hy sinh
tính đồng bộ bằng cách sử dụng cùng lúc nhiều kiểu biểu diễn tri thức,
mỗi kiểu biểu diễn ứng với một nhiệm vụ con. Nhưng như vậy, chúng ta lại
nảy sinh ra vấn đề "dịch" một tri thức từ kiểu biểu diễn này sang kiểu
biểu diễn khác. Tuy thế nhưng một số hệ chương trình trí tuệ gần đây vẫn
dùng cùng lúc nhiều kiểu biểu diễn dữ liệu khác nhau.
Một trong những ví dụ kết hợp nhiều kiểu
biểu diễn tri thức mà chúng ta đã từng làm quen là kiểu kết hợp giữa
frame và mạng ngữ nghĩa trong việc trợ giúp giải bài toán hình học.
Một trong những sự phối hợp tương đối
thành công là sự kết hợp giữa luật sinh và frame. Luật sinh không đủ
hiệu quả trong nhiều ứng dụng, đặc biệt là trong các tác vụ định nghĩa,
mô tả các đối tượng hoặc những mối liên kết tĩnh giữa các đối tượng.
Nhưng những yếu điểm này lại chính là ưu điểm của frame. Ngày nay, đã có
rất nhiều hệ thống đã tạo ra một kiểu biểu diễn lai giữa luật sinh và
frame có được ưu điểm của hai cách biểu diễn. Sự thành công của các hệ
thống nổi tiếng như KEE, Level5 Object và Nexpert Object đã minh chứng
cho điều này. Frame cung cấp một ngôn ngữ cấu trúc hiệu quả để đặc tả
những đối tượng xuất hiện trong các luật. Frame còn đóng vai trò như một
lớp hỗ trợ cho thao tác suy diễn cơ bản trên những đối tượng không cần
phải tương tác một cách tường minh trong các luật. Khả năng phân lớp của
frame còn có thể được dùng để phân hoạch, tạo chỉ mục và sắp xếp các
luật sinh trong hệ thống. Khả năng này rất thích hợp cho người dùng
trong việc xây dựng và hiểu các luật, cũng như cũng có thể theo dõi được
các luật được sử dụng khi nào và cho mục gì.
Hình sau cho thấy một kiểu kết hợp giữa
luật sinh và frame. Sự kết hợp này đã cho phép tạo ra các luật so mẫu
nhằm tăng tốc độ tìm kiếm của hệ thống. Kết quả của sự kết hợp này cho
phép tạo ra các biểu diễn phức tạp hơn rất nhiều so với việc chỉ dùng
frame, thậm chí phức tạp hơn cả việc lập trình trực tiếp bằng ngôn ngữ
C++ !!.
* Suy luận không chắc chắn (Hypothetical reasoning) : là kỹ thuật suy luận dựa trên các điều kiện có thể có mâu thuẫn hoặc không chắc chắn.
Ví dụ kết hợp biểu diễn tri thức bằng luật sinh và frame trong bài toán điều chế chất hóa học
Vấn đề : Cho trước một số chất hóa học. Hãy xây dựng chuỗi các phản ứng hóa học để điều chế một số chất hóa học khác.
Đầu tiên, đây là một ứng dụng hết sức tự
nhiên của tri thức biểu diễn dưới dạng luật. Lý do là vì bản thân các
phản ứng hóa học tiêu chuẩn đều được thể hiện dưới dạng luật. Chẳng hạn
ta có các phương trình phản ứng sau :
Na + Cl2 → NaCl
Fe + Cl2 → FeCl2
Cu + Cl2 → CuCl2
Cl2 + H2O → HCl + HClO
MnO2 + 4HCl → MnCl2 + Cl2+ H2O
HCl + KMnO4 → KCl + MnCl2 + H2O + Cl2
NaCl + H2O → Cl2 + H2+ NaOH
...
Như vậy, nếu xem một chất hóa học là một
sự kiện và một phương trình phản ứng như là một luật dẫn thì bài toán
điều chế chất hóa học, một cách rất tự nhiên, trở thành bài toán suy
luận tiến trong cơ sở tri thức dạng luật dẫn.
Tuy nhiên, số lượng các phản ứng là rất
lớn, nên ta không thể sử dụng các luật dựa trên các phản ứng cụ thể như
vậy mà phải sử dụng các phản ứng tổng quát hơn như :
Axit + Bazơ → Muối + Nước
Kiềm + Nước → Xút + H2
(trong hóa học cũng có nhiều phản ứng rất
đặc biệt không thể tổng quát được, trong trường hợp này, ta sẽ xem phản
ứng đó như là một luật riêng!).
Để mô tả được các phản ứng tổng quát như trên, ta sẽ sử dụng các frame. Chẳng hạn để đặc tả Acid Sulfuric H2SO4 ta sử dụng các frame tổng quát sau.
Dĩ nhiên là trong các frame ở trên còn
rất nhiều thuộc tính hóa học khác. Ở đây chúng tôi chỉ trình bày sơ lược
về mặt ý tưởng để bạn đọc có cơ sở bắt đầu. Ý tưởng này đã được một số
sinh viên năm 4 của khoa Công Nghệ Thông Tin Đại Học Khoa Học Tự Nhiên
TP. Hồ Chí Minh cài đặt thành công. Chương trình chạy tốt trong phạm vi
các phản ứng trong sách giáo khoa lớp 10, 11 và 12.
Không có nhận xét nào:
Đăng nhận xét