Biểu diễn tri thức và ứng dụng GVHD: PGS.TS. ĐỖ VĂN NHƠN
CH1301013 – LÂM LONG HẬU Page 1
MỤC LỤC
I. Tổng quan về cơ sở tri thức 2
1. Công nghệ tri thức 2
2. Vai trò của công nghệ tri thức 2
3. Quản lý và biểu diễn tri thức 3
4. Các hệ cơ sở tri thức 3
4.1. Hệ đóng, mở, kết hợp 3
4.2. Phân loại hệ tri thức theo phương pháp biểu diễn tri thức 4
4.3. Phân loại theo ứng dụng 5
II. Tổng quan về một số mô hình biểu diễn tri thức 5
1. Logic mệnh đề & logic vị từ 5
1.1. Logic mệnh đề 6
1.2. Logic vị từ 7
2. Hệ luật dẫn (luật sinh) 7
2.1. Các dạng luật cơ bản 8
2.2. Mở rộng cho các luật 9
2.3. Ưu và nhược điểm 10
3. Đối tượng-thuộc tính-giá trị 11
4. Mạng ngữ nghĩa 13
5. Frame - khung 15
5.1. Khái niệm 15
5.2. Cấu trúc của frame 16
5.3. Tính kế thừa 18
III. Mạng ngữ nghĩa và một số ứng dụng minh họa 19
IV. Ứng dụng 26
V. Tài liệu tham khảo 26
Biểu diễn tri thức và ứng dụng GVHD: PGS.TS. ĐỖ VĂN NHƠN
CH1301013 – LÂM LONG HẬU Page 3
Công nghệ tri thức còn góp phần thúc đẩy nhiều ngành khoa học khác phát
triển, khả năng phát triển khoa học dựa trên tri thức liên ngành.
3. Quản lý và biểu diễn tri thức
Có thể chia thành 2 cách để tiếp nhận tri thức như sau:
Thụ động, bao gồm:
Gián tiếp: những tri thức kinh điển.
Trực tiếp: những tri thức kinh nghiệm (không kinh điển) do
“chuyên gia lĩnh vực” đưa ra.
Chủ động: Đối với những tri thức tiềm ẩn, không rõ ràng hệ thống phải
tự phân tích, suy diễn, khám phá để có thêm tri thức mới.
Biểu diễn tri thức là phương pháp mã hoá tri thức, nhằm thành lập cơ sở tri
thức cho các hệ thống dựa trên tri thức. Các phương pháp biểu diễn tri thức
bao gồm:
Logic mệnh đề & logic vị từ
Hệ luật dẫn
Đối tượng-thuộc tính-giá trị
Mạng ngữ nghĩa
Frame
Script
4. Các hệ cơ sở tri thức
4.1. Hệ đóng, mở, kết hợp
Hệ cơ sở tri thức đóng: là những hệ cơ sở tri thức được xây dựng với
một số “tri thức lĩnh vực” ban đầu, và chỉ những tri thức đó mà thôi
trong suốt quá trình hoạt động hay suốt thời gian sống của nó. Ví dụ:
Biểu diễn tri thức và ứng dụng GVHD: PGS.TS. ĐỖ VĂN NHƠN
CH1301013 – LÂM LONG HẬU Page 4
4.3. Phân loại theo ứng dụng
Theo ứng dụng của từng hệ tri thức, thì hệ tri thức được chia theo các dạng
sau:
Hệ giải quyết vấn đề: thường là hệ có tính chất đóng, nhưng đôi khi
cũng có hệ mang tính mở. Ví dụ: Những hệ giải toán, thuật giải Vương
Hạo, thuật giải Robinson, …
Hệ hỗ trợ quyết định: thường là các hệ mang tính kết hợp (CSDL + tri
thức ngành + hàm toán học + ), đối tượng sử dụng là các nhà lãnh đạo.
Ví dụ: những hệ thống đánh giá doanh nghiệp (tình hình tài chính, kết
quả kinh doanh, qui trình nghiệp vụ, qui trình sản xuất, tính chuyên
nghiệp trong quản lý, …), những hệ thống lập kế hoạch (planning), …
Hệ dự báo, chẩn đoán: thường cũng giống như những hệ hỗ trợ ra quyết
định với tính ngoại suy cao hơn. Ví dụ: Bài toán chẩn đoán hỏng hóc
xe, chẩn đoán y khoa, dự báo thị trường chứng khoán, thời tiết …
Hệ điều khiển: là những hệ điều khiển có gắn với CSTT. Những hệ thống này
thường ứng dụng trong công nghiệp, trong điều khiển tự động hóa, thường là
những hệ thống thời gian thực (real-time systems). Một số hệ thống này có sử
dụng kết hợp lý thuyết mờ để xử lý. Ví dụ: Máy giặt, Máy bơm nước với bộ
điều khiển mờ, …
II. Tổng quan về một số mô hình biểu diễn tri thức
1. Logic mệnh đề & logic vị từ
Dạng biểu diễn tri thức cổ điển nhất trong máy tính là logic, với hai dạng phổ
biến là logic mệnh đề và logic vị từ. Cả hai kỹ thuật này đều dùng ký hiệu để
thể hiện tri thức và các toán tử áp lên các ký hiệu để suy luận logic. Logic đã
Biểu diễn tri thức và ứng dụng GVHD: PGS.TS. ĐỖ VĂN NHƠN
CH1301013 – LÂM LONG HẬU Page 6
B
THEN Sẽ trễ giờ làm
C
Luật trên có thể biểu diễn lại như sau: A B C
Các phép toán quen thuộc trên các mệnh đề được cho trong bảng sau
A
B
A
A B
A B
A B
A B
T
T
F
T
T
T
T
F
T
T
F
T
T
F
T
2. Hệ luật dẫn (luật sinh)
Phương pháp biểu diễn tri thức bằng luật sinh được phát minh bởi Newell và
Simon trong lúc hai ông đang cố gắng xây dựng một hệ giải bài toán tổng
quát. Đây là một kiểu biểu diễn tri thức có cấu trúc. Ý tưởng cơ bản là tri thức
có thể được cấu trúc bằng một cặp điều kiện – hành động : "NẾU điều kiện
xảy ra THÌ hành động sẽ được thi hành". Chẳng hạn : NẾU đèn giao thông là
đỏ THÌ bạn không được đi thẳng, NẾU máy tính đã mở mà không khởi động
được THÌ kiểm tra nguồn điện, …
Ngày nay, các luật sinh đã trở nên phổ biến và được áp dụng rộng rãi trong
nhiều hệ thống trí tuệ nhân tạo khác nhau. Luật sinh có thể là một công cụ mô
tả để giải quyết các vấn đề thực tế thay cho các kiểu phân tích vấn đề truyền
thống. Trong trường hợp này, các luật được dùng như là những chỉ dẫn (tuy
có thể không hoàn chỉnh) nhưng rất hữu ích để trợ giúp cho các quyết định
Biểu diễn tri thức và ứng dụng GVHD: PGS.TS. ĐỖ VĂN NHƠN
CH1301013 – LÂM LONG HẬU Page 8
trong quá trình tìm kiếm, từ đó làm giảm không gian tìm kiếm. Một ví dụ
khác là luật sinh có thể được dùng để bắt chước hành vi của những chuyên
gia. Theo cách này, luật sinh không chỉ đơn thuần là một kiểu biểu diễn tri
thức trong máy tính mà là một kiểu biễu diễn các hành vi của con người.
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.
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 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 trong bộ nhớ để giải bài toán. 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.
2.1. Các dạng luật cơ bản
IF Sốt cao
AND hay ho
AND Họng đỏ
THEN Viêm họng
Thiết kế
IF Cao 1m75
AND Da sẫm
THEN Chọn áo vải sáng
AND Chọn tấm vải khổ 1m40
2.2. Mở rộng cho các luật
Trong một số áp dụng cần thực hiện cùng một phép toán trên một tập hay các
đối tượng giống nhau. Lúc đó cần các luật có biến.
Biểu diễn tri thức và ứng dụng GVHD: PGS.TS. ĐỖ VĂN NHƠN
CH1301013 – LÂM LONG HẬU Page 10
Ví dụ:
IF X là nhân viên
AND Tuổi của X > 65
THEN X xó thể nghỉ hưu
Khi mệnh đề phát biểu về sự kiện, hay bản thân sự kiện có thể không chắc
chắn, người ta dùng hệ số chắc chắn CF. Luật thiết lập quan hệ không chính
xác giữa các sự kiện giả thiết và kết luận được gọi là luật không chắc chắn.
Ví dụ:
IF Lạm phát CAO
THEN Hầu như chắc chắn lãi suất sẽ CAO
Luật này được viết lại với giá trị CF có thể như sau:
IF Lạm phát cao
THEN Lãi suất cao, CF = 0.8
thích hợp hơn! Đây là nhược điểm mang tính chủ quan của con người.
Cơ sở tri thức luật sinh lớn sẽ làm giới hạn khả năng tìm kiếm của chương
trình điều khiển. Nhiều hệ thống gặp khó khăn trong việc đánh giá các hệ dựa
trên luật sinh cũng như gặp khó khăn khi suy luận trên luật sinh.
3. Đối tượng-thuộc tính-giá trị
Cơ chế tổ chức 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), 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 vài đối tượng. Ví dụ, mệnh đề "quả bóng màu đỏ" xác nhận "đỏ" là
Biểu diễn tri thức và ứng dụng GVHD: PGS.TS. ĐỖ VĂN NHƠN
CH1301013 – LÂM LONG HẬU Page 12
giá trị 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-Value).
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. Hình 0.1
minh họa cấu trúc bộ ba O-A-V.
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à các sự kiện đơn trị (single-valued) hoặc đa trị
(multi-valued). Đ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 bảo đảm là đúng hay sai với độ chắc
CH1301013 – LÂM LONG HẬU Page 14
Tính chất quan trọng của mạng ngữ nghĩa là tính kế thừa. Nó cho phép các
nút được bổ sung sẽ nhận các thông tin của các nút đã có trước, và cho phép
mã hóa tri thức một cách dễ dàng.
Để minh họa cho tính kế thừa của mạng ngữ nghĩa, hãy xét một câu hỏi trên
đồ thị. Chẳng hạn tại nút "Chim", người ta muốn hỏi con "Chip" hoạt động
như thế nào? Thông qua cung hoạt động người ta biết được nó bay.
Biểu diễn tri thức và ứng dụng GVHD: PGS.TS. ĐỖ VĂN NHƠN
CH1301013 – LÂM LONG HẬU Page 15
5. Frame - khung
5.1. Khái niệm
Một trong các kỹ thuật biểu diễn tri thức là dùng frame, phát triển từ khái
niệm lược đồ. Một lược đồ được coi là khối tri thức điển hình về khái niệm
hay đối tượng nào đó, và gồm cả tri thức thủ tục lẫn tri thức mô tả.
Frame là một cấu trúc dữ liệu chứa đựng tất cả những tri thức liên quan đến
một đối tượng cụ thể nào đó. Frames có liên hệ chặt chẽ đến khái niệm hướng
đối tượng (thực ra frame là nguồn gốc của lập trình hướng đối tượng). Ngược
lại với các phương pháp biểu diễn tri thức đã được đề cập đến, frame "đóng
gói" toàn bộ một đối tượng, tình huống hoặc cả một vấn đề phức tạp thành
một thực thể duy nhất có cấu trúc. Một frame bao hàm trong nó một khối
lượng tương đối lớn tri thức về một đối tượng, sự kiện, vị trí, tình huống hoặc
tả bởi slot. Facet có nhiều loại khác nhau, sau đây là một số facet thường gặp.
Value (giá trị) : cho biết giá trị của thuộc tính đó (như xanh, đỏ, tím
vàng nếu slot là màu xe).
Default (giá trị mặc định) : hệ thống sẽ tự động sử dụng giá trị trong
facet này nếu slot là rỗng (nghĩa là chẳng có đặc tả nào!). Chẳng hạn
trong frame về xe, xét slot về số lượng bánh. Slot này sẽ có giá trị 4.
Nghĩa là, mặc định một chiếc xe hơi sẽ có 4 bánh!
Range (miền giá trị) : (tương tự như kiểu biến), cho biết giá trị slot
có thể nhận những loại giá trị gì (như số nguyên, số thực, chữ cái, )
If added : mô tả một hành động sẽ được thi hành khi một giá trị trong
slot được thêm vào (hoặc được hiệu chỉnh). Thủ tục thường được
viết dưới dạng một script.
If needed : được sử dụng khi slot không có giá trị nào. Facet mô tả
một hàm để tính ra giá trị của slot.
Biểu diễn tri thức và ứng dụng GVHD: PGS.TS. ĐỖ VĂN NHƠN
CH1301013 – LÂM LONG HẬU Page 17
Theo định nghĩa của Minsky (1975), thì frame là cấu trúc dữ liệu để thể hiện
tri thức đa dạng về khái niệm hay đối tượng nào đó.
Một frame có hình thức như bảng mẫu, như tờ khai cho phép người ta điền
các ô trống. Cấu trúc cơ bản của frame có tên đối tượng được thể hiện trong
frame, có các trường thuộc tính của đối tượng. Mỗi thuộc tính có một ngăn để
nhập dữ liệu riêng. Các thuộc tính và giá trị thuộc tính tạo nên danh sách các
mệnh đề O-A-V, cho phép thể hiện đầy đủ về đối tượng.
Một frame lớp thể hiện các tính chất tổng quát của tập các đối tượng chung.
Chẳng hạn người ta cần mô tả các tính chất tổng quát như bay, có cánh, sống
Biểu diễn tri thức và ứng dụng GVHD: PGS.TS. ĐỖ VĂN NHƠN
CH1301013 – LÂM LONG HẬU Page 19
III. Mạng ngữ nghĩa và một số ứng dụng minh họa
Mạng ngữ nghĩa là một phương pháp biểu diễn tri thức đầu tiên và cũng là
phương pháp dễ hiểu nhất đối với chúng ta. Phương pháp này sẽ biểu diễn tri
thức dưới dạng một đồ thị, trong đó đỉnh là các đối tượng (khái niệm) còn các
cung cho biết mối quan hệ giữa các đối tượng này.
Mạng ngữ nghĩa là một công cụ trực quan giúp chúng ta biểu diễn được các
mối liên hệ giữa các tri thức tổng quát, các khái niệm, các sự việc mà chúng ta
quan tâm. Mạng ngữ nghĩa là một phương pháp biểu diễn tri thức đầu tiên và
cũng là phương pháp dễ hiểu nhất đối với chúng ta. Để biểu diễn một mạng
ngữ nghĩa thì người ta dùng phương pháp đồ thị. Trong đó đỉnh là các đối
tượng (khái niệm, tri thức, sự việc) nào đó, còn các cung giữa các đỉnh nó thể
hiện các mối liên hệ giữa các đối tượng (khái niệm, tri thức, sự việc) này.
Biểu diễn tri thức và ứng dụng GVHD: PGS.TS. ĐỖ VĂN NHƠN
CH1301013 – LÂM LONG HẬU Page 20
Chẳng hạn: giữa các khái niệm chích chòe, chim, hót, cánh, tổ có một số mối
quan hệ như sau :
Chích chòe là một loài chim.
Chim biết hót
Chim có cánh
Chim sống trong tổ
Các mối quan hệ này sẽ được biểu diễn trực quan bằng một đồ thị như sau :
thông" trên đồ thị!). Chính đặc tính kế thừa của mạng ngữ nghĩa đã cho phép
ta có thể thực hiện được rất nhiều phép suy diễn từ những thông tin sẵn có
trên mạng.
Tuy mạng ngữ nghĩa là một kiểu biểu diễn trực quan đối với con người nhưng
khi đưa vào máy tính, các đối tượng và mối liên hệ giữa chúng thường được
biểu diễn dưới dạng những phát biểu động từ (như vị từ). Hơn nữa, các thao
tác tìm kiếm trên mạng ngữ nghĩa thường khó khăn (đặc biệt đối với những
mạng có kích thước lớn). Do đó, mô hình mạng ngữ nghĩa được dùng chủ yếu
để phân tích vấn đề. Sau đó, nó sẽ được chuyển đổi sang dạng luật hoặc frame
để thi hành hoặc mạng ngữ nghĩa sẽ được dùng kết hợp với một số phương
pháp biểu diễn khác.
Ưu và nhược điểm của mạng ngữ nghĩa
Ưu điểm
Biểu diễn tri thức và ứng dụng GVHD: PGS.TS. ĐỖ VĂN NHƠN
CH1301013 – LÂM LONG HẬU Page 22
Mạng ngữ nghĩa rất linh động, ta có thể dễ dàng thêm vào mạng các
đỉnh hoặc cung mới để bổ sung các tri thức cần thiết.
Mạng ngữ nghĩa có tính trực quan cao nên rất dễ hiểu.
Mạng ngữ nghĩa cho phép các đỉnh có thể thừa kế các tính chất từ
các đỉnh khác thông qua các cung loại "là", từ đó, có thể tạo ra các
liên kết "ngầm" giữa những đỉnh không có liên kết trực tiếp với
nhau.
Mạng ngữ nghĩa hoạt động khá tự nhiên theo cách thức con người
ghi nhận thông tin.
Nhược điểm
Cho đến nay, vẫn chưa có một chuẩn nào quy định các giới hạn cho các đỉnh
Ví dụ 2 : Giải bài toán tam giác tổng quát
Chúng ta sẽ không đi sâu vào ví dụ 1 vì đây là một vấn đề quá phức tạp để có
thể trình bày trong bài thu hoạch này. Trong ví dụ này, chúng ta sẽ khảo sát
một vấn đề đơn giản hơn nhưng cũng không kém phần độc đáo. Khi mới học
lập trình, bạn thường được giáo viên cho những bài tập nhập môn đại loại như
"Cho 3 cạnh của tam giác, tính chiều dài các đường cao", "Cho góc a, b và
cạnh AC. Tính chiều dài trung tuyến", Với mỗi bài tập này, việc bạn cần
Biểu diễn tri thức và ứng dụng GVHD: PGS.TS. ĐỖ VĂN NHƠN
CH1301013 – LÂM LONG HẬU Page 24
làm là lấy giấy bút ra tìm cách tính, sau khi đã xác định các bước tính toán,
bạn chuyển nó thành chương trình. Nếu có 10 bài, bạn phải làm lại việc tính
toán rồi lập trình 10 lần. Nếu có 100 bài, bạn phải làm 100 lần. Và tin buồn
cho bạn là số lượng bài toán thuộc loại này là rất nhiều! Bởi vì một tam giác
có tất cả 22 yếu tố khác nhau!. Không lẽ mỗi lần gặp một bài toán mới, bạn
đều phải lập trình lại? Liệu có một chương trình tổng quát có thể tự động giải
được tất cả (vài ngàn!) những bài toán tam giác thuộc loại này không? Câu
trả lời là CÓ ! Và ngạc nhiên hơn nữa, chương trình này lại khá đơn giản. Bài
toán này sẽ được giải bằng mạng ngữ nghĩa.
Có 22 yếu tố liên quan đến cạnh và góc của tam giác. Để xác định một tam
giác hay để xây dựng một 1 tam giác ta cần có 3 yếu tố trong đó phải có yếu
tố cạnh. Như vậy có khoảng C
3
22
-1 (khoảng vài ngàn) cách để xây dựng hay
xác định một tam giác. Theo thống kê, có khoảng 200 công thức liên quan
đến cạnh và góc 1 tam giác.