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 2
I. Tổng quan về cơ sở tri thức
1. Công nghệ tri thức
Công nghệ tri thức (Knowledge Engineering) có thể xem là một nhánh nghiên
cứu của trí tuệ nhân tạo, phân tích tri thức lĩnh vực và chuyển nó thành những
mô hình tính toán đưa vào máy tính để phục vụ những nhu cầu cần thiết.
Công nghệ tri thức là các phương pháp, kỹ thuật được những kỹ sư tri thức
dùng để xây dựng những hệ thống thông minh như: hệ chuyên gia, hệ cơ sở tri
thức, hệ hổ trợ quyết định.
Công nghệ tri thức là những phương pháp, kỹ thuật dùng để:
Tiếp nhận, biểu diễn tri thức.
Xây dựng các hệ cơ sở tri thức
Khám phá tri thức
2. Vai trò của công nghệ tri thức
Công nghệ tri thức đóng vai trò cực kỳ quan trọng trong sự phát triển tri thức
nhân loại. Cùng với sự phát triển nhanh chóng, vượt bậc của ngành công
nghiệp máy tính, nhu cầu của người dùng đối với máy tính ngày một cao hơn
không chỉ giải quyết những công việc lưu trữ, tính toán bình thường, người
dùng còn mong đợi máy tính có khả năng thông minh hơn, có thể giải quyết
vấn đề như con người. Và từ đó trí tuệ nhân tạo nói chung và đặc biệt là công
nghệ tri thức ra đời và phát triển.
Công nghệ tri thức đóng vai trò hết sức quan trọng trong việc phát triển Công
nghệ thông tin, nâng cao sự hữu dụng của máy tính, giúp con người gần gũi
với máy tính hơ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 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
những hệ cơ sở tri thức về kinh dịch, những hệ giải toán, thường là
những hệ cơ sở tri thức giải quyết vấn đề.
Hệ cơ sở tri thức mở: là những hệ cơ sở tri thức tiên tiến hơn, nó có khả
năng bổ sung tri thức trong quá trình hoạt động, khám phá. Ví dụ:
Những hệ giải toán cho phép bổ sung tri thức trong quá trình suy luận
(tri thức ban đầu là những tiên đề và một số định lý, tri thức bổ sung là
những định lý mới, những tri thức heurictis, …); những hệ cơ sở tri
thức chẩn đoán, dự báo chẳng hạn: hệ chẩn đoán y khoa MYCIN và
EMYCIN, những hệ dự báo thời tiết, khí hậu, động đất …
Hệ cơ sở tri thức kết hợp: bao gồm sự kết hợp giữa hệ đóng và hệ mở,
hệ kết hợp giữa CSTT và CSDL, hệ kết hợp giữa hệ CSTT này với một
hệ CSTT khác. Những hệ cơ sở tri thức kết hợp thường phát triển mạnh
dựa trên tri thức liên ngành. Ví dụ: những hệ hỗ trợ ra quyết định trong
đời sống, kinh tế và khoa học; (kinh dịch, tử vi áp dụng với đời sống;
kinh dịch, tử vi áp dụng với y học; …); những hệ chẩn đoán, dự báo dòi
hỏi tri thức liên ngành.
4.2. Phân loại hệ tri thức theo phương pháp biểu diễn tri thức
Tùy thuộc vào phương pháp biểu diễn tri thức mà chúng ta có thể phân loại
các hệ cơ sở tri thức
Hệ cơ sở tri thức dựa trên logic mệnh đề và logic vị từ
Hệ cơ sở tri thức dựa trên luật dẫn
Hệ cơ sở tri thức dựa trên đối tượng
Hệ cơ sở tri thức dựa trên Frame
Hệ cơ sở tri thức dựa trên mạng ngữ nghĩa
Hệ CSTT kết hợp một số phương pháp biểu diễn đã nêu trê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 5
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
cung cấp cho các nhà nghiên cứu một công cụ hình thức để biểu diễn và suy
luận tri thức.
Phép toán
AND
OR
NOT
Kéo theo
Tương đương
Kí hiệu
, ,
, ,
,
,
1.1. Logic mệnh đề
Logic mệnh đề biểu diễn và lập luận với các mệnh đề toán học. Mệnh đề là
một câu nhận giá trị hoặc đúng hoặc sai. Giá trị này gọi là chân trị của mệnh
đề. Logic mệnh đề gán một biến ký hiệu vào một mệnh đề, ví dụ A = "Xe sẽ
khởi động".
Khi cần kiểm tra trị chân trị của câu trên trong bài toán sử dụng logic mệnh
đề, người ta kiểm tra giá trị của A. Nhiều bài toán sử dụng logic mệnh đề để
thể hiện tri thức và giải vấn đề. Bài toán loại này được đưa về bài toán xử lý
các luật, mỗi phần giả thiết và kết luận của luất có thể có nhiều mệnh đề.
Ví dụ:
IF Xe không khởi động được
A
AND Khoảng cách từ nhà đến chỗ làm là xa
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
F
F
F
T
F
F
F
F
T
F
F
T
T
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 7
1.2. Logic vị từ
Logic vị từ là sự mở rộng của logic mệnh đề nhằm cung cấp một cách biểu
diễn rõ hơn về tri thức. Logic vị từ dùng ký hiệu để biểu diễn tri thức.
Logic vị từ, cũng giống như logic mệnh đề, dùng các ký hiệu để thể hiện tri
thức. Những ký hiệu này gồm hằng số, vị từ, biến và hàm.
Hằng số: Các hằng số dùng để đặt tên các đối tượng đặc biệt hay thuộc tính.
Nhìn chung, các hằng số được ký hiệu bằng chữ viết thường, chẳng hạn an,
bình, nhiệt độ. Hằng số an có thể được dùng để thể hiện đối tượng An, một
người đang xét.
Vị từ: Một mệnh đề hay sự kiện trong logic vị từ được chia thành 2 phần là vị
từ và tham số. Tham số thể hiện một hay nhiều đối tượng của mệnh đề; còn
mệnh đề dùng để khẳng định về đối tượng.
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
Các luật thể hiện tri thức có thể được phân loại theo loại tri thức. Và như vậy,
có các lớp luật tương ứng với dạng tri thức như quan hệ, khuyến cáo, hướng
dẫn, chiến lược, và heuristic. Các ví dụ sau minh họa cho các loại luật.
Quan hệ
IF Nguồn điện hỏng
THEN Máy tính sẽ không khởi động được
Lời khuyên
IF Máy tính không khởi động được
THEN không thể lấy bất kỳ thông tin trong đó
Hướng dẫn
IF Máy tính không khởi động được
AND các linh kiện trong CPU tốt
THEN Kiểm tra hệ thống nguồn điệ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 9
Chiến lược
IF Máy không khởi động được
THEN Đầu tiên hãy kiểm tra hệ thống điện, sau đó kiểm tra các
linh kiện trong CPU
Các luật cũng có thể được phân loại theo cách thức giải quyết vấn đề. Điển
hình theo phân loại này các luật theo cách thức diễn giải, chẩn đoán, và thiết
kế.
Diễn giải
IF Cao 1m65
AND Nặng 65 kg
AND Giới tính Nam
THEN Phát triển bình thường
Chẩn đoá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
Dạng luật tiếp theo là siêu luật - một luật với chức năng mô tả cách thức dùng
các luật khác. Siêu luật sẽ đưa ra chiến lược sử dụng các luật theo lĩnh vực
chuyên dụng, thay vì đưa ra thông tin mới.
Ví dụ:
IF Xe không khởi động
AND Hệ thống điện làm việc bình thường
THEN Có thể sử dụng các luật liên quan đến hệ thống điện
2.3. Ưu và nhược điểm
Ưu điểm
Biểu diễn tri thức bằng luật đặc biệt hữu hiệu trong những tình huống hệ
thống cần đưa ra những hành động dựa vào những sự kiện có thể quan sát
được. Nó có những ưu điểm chính yếu sau đâ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 11
Các luật rất dễ hiểu nên có thể dễ dàng dùng để trao đổi với người
dùng (vì nó là một trong những dạng tự nhiên của ngôn ngữ).
Có thể dễ dàng xây dựng được cơ chế suy luận và giải thích từ các
luật.
Việc hiệu chỉnh và bảo trì hệ thống là tương đối dễ dàng.
Có thể cải tiến dễ dàng để tích hợp các luật mờ.
Các luật thường ít phụ thuộc vào nhau.
Nhược điểm
Các tri thức phức tạp đôi lúc đòi hỏi quá nhiều (hàng ngàn) luật sinh. Điều
này sẽ làm nảy sinh nhiều vấn đề liên quan đến tốc độ lẫn quản trị hệ thống.
Thống kê cho thấy, người xây dựng hệ thống trí tuệ nhân tạo thích sử dụng
luật sinh hơn tất cả phương pháp khác (dễ hiểu, dễ cài đặt) nên họ thường tìm
mọi cách để biểu diễn tri thức bằng luật sinh cho dù có phương pháp khác
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
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). Khái
niệm này bắt đầu từ hệ thống MYCIN (khoảng năm 1975), dùng để trả lời cho
các thông tin suy luận. 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
dựa vào 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, lượng hoá trong tập 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 13
4. 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.
Người ta có thể nới rộng mạng ngữ nghĩa bằng cách thêm các nút và nối
chúng vào đồ thị. Các nút mới ứng với các đối tượng bổ sung. Thông thường
có thể nới rộng mạng ngữ nghĩa theo ba cách:
Thêm một đối tượng tương tự.
Thêm một đối tượng đặc biệt hơn.
Thêm một đối tượng tổng quát hơn
Thứ nhất, thêm "Cánh cụt" thể hiện một loại chim mới. Thứ hai, thêm "Chip"
cũng có nghĩa nó là con "Sẻ" và đồng thời là "Chim". Thứ ba, có thể đưa ra
đối tượng tổng quát như "Con vật". Lúc này, không những có thể biết được
rằng "Chim là Con vật", mà còn biết "Chim thở bằng không khí".
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 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
những yếu tố khác. Do đó, frame có thể giúp ta mô tả khá chi tiết một đối
tượng.
Dưới một khía cạnh nào đó, người ta có thể xem phương pháp biểu diễn tri
thức bằng frame chính là nguồn gốc của ngôn ngữ lập trình hướng đối tượng.
Ý tưởng của phương pháp này là "thay vì bắt người dùng sử dụng các công cụ
phụ như dao mở để đồ hộp, ngày nay các hãng sản xuất đồ hộp thường gắn
kèm các nắp mở đồ hộp ngay bên trên vỏ lon. Như vậy, người dùng sẽ không
bao giờ phải lo lắng đến việc tìm một thiết bị để mở đồ hộp nữa!". Cũng vậy,
ý tưởng chính của frame (hay của phương pháp lập trình hướng đối tượng) là
khi biểu diễn một tri thức, ta sẽ "gắn kèm" những thao tác thường gặp trên tri
thức này. Chẳng hạn như khi mô tả khái niệm về hình chữ nhật, ta sẽ gắn kèm
cách tính chu vi, diện tích.
Frame thường được dùng để biểu diễn những tri thức "chuẩn" hoặc những tri
thức được xây dựng dựa trên những kinh nghiệm hoặc các đặc điểm đã được
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 16
hiểu biết cặn kẽ. Bộ não của con người chúng ta vẫn luôn "lưu trữ" rất nhiều
các tri thức chung mà khi cần, chúng ta có thể "lấy ra" để vận dụng nó trong
những vấn đề cần phải giải quyết. Frame là một công cụ thích hợp để biểu
diễn những kiểu tri thức này.
5.2. Cấu trúc của frame
Mỗi một frame mô tả một đối tượng (object). Một frame bao gồm 2 thành
phần cơ bản là slot và facet. Một slot là một thuộc tính đặc tả đối tượng được
biểu diễn bởi frame. Ví dụ : trong frame mô tả xe hơi, có hai slot là trọng
lượng và loại máy.
Mỗi slot có thể chứa một hoặc nhiều facet. Các facet (đôi lúc được gọi là slot
"con") đặc tả một số thông tin hoặc thủ tục liên quan đến thuộc tính được mô
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
tự do,… của cả loài chim.
Để mô tả một biểu diễn của frame lớp, ta dùng một dạng frame khác, gọi là
frame thể hiện. Khi tạo ra thể hiện của một lớp, frame này kế thừa tính chất và
giá trị của lớp. Có thể thay đổi giá trị để phù hợp với biễu diễn cụ thể. Thậm
chí, ta cũng có thể thêm các tính chất khác đối với frame thể hiện.
Cũng như tính chất kế thừa giữa các đối tượng trong mạng ngữ nghĩa, frame
thể hiện nhận giá trị kế thừa từ frame lớp. Khi tạo một frame thể hiện, người
ta khẳng định frame đó là thể hiện của một frame lớp. Khẳng định này cho
phép nó kế thừa các thông tin từ frame lớp.
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 18
5.3. Tính kế thừa
Trong thực tế, một hệ thống trí tuệ nhân tạo thường sử dụng nhiều frame được
liên kết với nhau theo một cách nào đó. Một trong những điểm thú vị của
frame là tính phân cấp. Đặc tính này cho phép kế thừa các tính chất giữa các
frame.
Hình sau đây cho thấy cấu trúc phân cấp của các loại hình hình học cơ bản.
Gốc của cây ở trên cùng tương ứng với mức độ trừu tượng cao nhất. Các
frame nằm ở dưới cùng (không có frame con nào) gọi là lá. Những frame nằm
ở mức thấp hơn có thể thừa kế tất cả những tính chất của những frame cao
hơn.
Các frame cha sẽ cung cấp những mô tả tổng quát về thực thể. Frame có cấp
càng cao thì mức độ tổng quát càng cao. Thông thường, frame cha sẽ bao gồm
các định nghĩa của các thuộc tính. Còn các frame con sẽ chứa đựng giá trị
thực sự của các thuộc tính 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 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 :
Do mạng ngữ nghĩa là một loại đồ thị cho nên nó thừa hưởng được tất cả
những mặt mạnh của công cụ này. Nghĩa là ta có thể dùng những thuật toán
của đồ thị trên mạng ngữ nghĩa như thuật toán tìm liên thông, tìm đường đi
ngắn nhất,… để thực hiện các cơ chế suy luận. Điểm đặc biệt của mạng ngữ
nghĩa so với đồ thị thông thường chính là việc gán một ý nghĩa (có, làm, là,
biết, ) cho các cung. Trong đồ thị tiêu chuẩn, việc có một cung nối giữa hai
đỉnh chỉ cho biết có sự liên hệ giữa hai đỉnh đó và tất cả các cung trong đồ thị
đều biểu diễn cho cùng một loại liên hệ, cùng lắm là trong đồ thị thông
thường có thêm trọng số. Trong mạng ngữ nghĩa, cung nối giữa hai đỉnh còn
cho biết giữa hai khái niệm tương ứng có sự liên hệ như thế nào. Việc gán
ngữ nghĩa vào các cung của đồ thị đã giúp giảm bớt được số lượng đồ thị cần
phải dùng để biễu diễn các mối liên hệ giữa các khái niệm. Chẳng hạn 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 21
trong ví dụ trên, nếu sử dụng đồ thị thông thường, ta phải dùng đến 4 loại đồ
thị cho 4 mối liên hệ : một đồ thị để biểu diễn mối liên hệ "là", một đồ thị cho
mối liên hệ "làm", một cho "biết" và một cho "có".
Một điểm khá thú vị của mạng ngữ nghĩa là tính kế thừa. Bởi vì ngay từ trong
khái niệm, mạng ngữ nghĩa đã hàm ý sự phân cấp (như các mối liên hệ "là")
nên có nhiều đỉnh trong mạng mặc nhiên sẽ có những thuộc tính của những
đỉnh khác. Chẳng hạn theo mạng ngữ nghĩa ở trên, ta có thể dễ dàng trả lời
"có" cho câu hỏi : "Chích chòe có làm tổ không?". Ta có thể khẳng định được
điều này vì đỉnh "chích chòe" có liên kết "là" với đỉnh "chim" và đỉnh "chim"
lại liên kết "biết" với đỉnh "làm tổ" nên suy ra đỉnh "chích chòe" cũng có liên
kết loại "biết" với đỉnh "làm tổ". (Nếu để ý, bạn sẽ nhận ra được kiểu "suy
luận" mà ta vừa thực hiện bắt nguồn từ thuật toán "loang" hay "tìm liên
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à cung của mạng. Nghĩa là bạn có thể gán ghép bất kỳ khái niệm nào cho
đỉnh hoặc cung.
Tính thừa kế (vốn là một ưu điểm) trên mạng sẽ có thể dẫn đến nguy cơ mâu
thuẫn trong tri thức. Chẳng hạn, nếu bổ sung thêm nút "Gà" vào mạng như
hình sau thì ta có thể kết luận rằng "Gà" biết "bay"!. Sở dĩ có điều này là vì có
sự không rõ ràng trong ngữ nghĩa gán cho một nút của mạng. Bạn đọc có thể
phản đối quan điểm vì cho rằng, việc sinh ra mâu thuẫn là do ta thiết kế mạng
dở chứ không phải do khuyết điểm của mạng!. Tuy nhiên, xin lưu ý rằng, tính
thừa kế sinh ra rất nhiều mối liên "ngầm" nên khả năng nảy sinh ra một mối
liên hệ không hợp lệ là rất lớn!
Hầu như không thể biển diễn các tri thức dạng thủ tục bằng mạng ngữ nghĩa
vì các khái niệm về thời gian và trình tự không được thể hiện tường minh trên
mạng ngữ nghĩa.
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 23
Một số ví dụ tiêu biểu
Dù là một phương pháp tương đối cũ và có những yếu điểm nhưng mạng ngữ
nghĩa vẫn có những ứng dụng vô cùng độc đáo. Hai loại ứng dụng tiêu biểu
của mạng ngữ nghĩa là ứng dụng xử lý ngôn ngữ tự nhiên và ứng dụng giải
bài toán tự động.
Ví dụ 1: Ứng dụng xử lý ngôn ngữ tự nhiên
Trong ứng dụng xử lý ngôn ngữ tự nhiên, mạng ngữ nghĩa có thể giúp máy
tính phân tích được cấu trúc của câu để từ đó có thể phần nào "hiểu" được ý
nghĩa của câu. Chẳng hạn, câu "Châu đang đọc một cuốn sách dày và cười
khoái trá" có thể được biểu diễn bằng một mạng ngữ nghĩa như sau :
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.
Để giải bài toán này bằng công cụ mạng ngữ nghĩa, ta phải sử dụng khoảng
200 đỉnh để chứa công thức và khoảng 22 đỉnh để chứa các yếu tố của tam
giác. Mạng ngữ nghĩa cho bài toán này có cấu trúc như sau :
Đỉnh của đồ thị bao gồm hai loại:
Đỉnh chứa công thức (ký hiệu bằng hình chữ nhật)
Đỉnh chứa yếu tố của tam giác (ký hiệu bằng hình tròn)
Cung : chỉ nối từ đỉnh hình tròn đến đỉnh hình chữ nhật cho biết yếu tố tam
giác xuất hiện trong công thức nào (không có trường hợp cung nối giữa hai
đỉnh hình tròn hoặc cung nối giữa hai đỉnh hình chữ nhật).
Lưu ý: trong một công thức liên hệ giữa n yếu tố của tam giác, ta giả định
rằng nếu đã biết giá trị của n-1 yếu tố thì sẽ tính được giá trị của yếu tố 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 25
lại. Chẳng hạn như trong công thức tổng 3 góc của tam giác bằng 180
0
thì khi
biết được hai góc, ta sẽ tính được góc còn lại.
Cơ chế suy diễn thực hiện theo thuật toán "loang" đơn giản sau :
B1: Kích hoạt những đỉnh hình tròn đã cho ban đầu (những yếu tố đã có giá
trị)
B2: Lặp lại bước sau cho đến khi kích hoạt được tất cả những đỉnh ứng với
những yếu tố cần tính hoặc không thể kích hoạt được bất kỳ đỉnh nào nữa.
Nếu một đỉnh hình chữ nhật có cung nối với n đỉnh hình tròn mà n-1 đỉnh
hình tròn đã được kích hoạt thì kích hoạt đỉnh hình tròn còn lại (và tính giá
trị đỉnh còn lại này thông qua công thức ở đỉnh hình chữ nhật).
Giả sử ta có mạng ngữ nghĩa để giải bài toán tam giác như hình sau