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 đốitượng khái niệm này... Chẳng hạn : giữa
Trang 1LỜI NÓI ĐẦU
Ngày nay, với sự phát triển không ngừng của công nghệ thông tin, việc ứng dụngcông nghệ thông tin vào giáo dục rất được quan tâm Năm bắt nhu cầu đó, công nghệ thôngtin đã không ngừng sáng tạo trong việc nghiêm cưu và xây dựng các phần mềm áp dụngtrong trong giáo dục
Việc tạo ra các hệ thống thông minh mang tính cộng đồng là vấn đề hết sức quantrọng và cần thiết Chính vì lý do đó mà chúng em đã tập trung xây dựng Web giải hóa vô
cơ nhằm mực đích phụ vụ cho các em học sinh
Do thời gian có hạn nên đề tài chỉ tập trung ở phần hóa học vô cơ
Chúng em chân thành cảm ơn thầy Đỗ Văn Nhơn đã cung cấp cho chúng em nhưngkiến thức hữu ích về biểu biễn tri thức
TPHCM tháng 01 năm 2013
Trang 2MỤC LỤC
CHƯƠNG 1:TỔNG QUAN VỀ BIỂU DIỄN TRI THỨC
I Tổng quan về biểu diễn tri thức……….3
II Các phương pháp biểu diễn tri thức……… 4III Mô hình COKB………16
CHƯƠNG 2: ỨNG DỤNG
I Giới thiệu chương trình……….21
II Cài đặt……… 26III Kết quả đạt được và hạn chế……….29
Trang 3HƯƠNG 1: TỔNG QUAN VỀ BIỂU DIỄN
TRI THỨC
I Tổng quan về biểu diễn tri thức.
1 Khái niệm về biểu diễn tri thức.
Biểu diễn tri thức là sự diễn đạt và thể hiện của tri thức dưới những dạng thích hợp để cóthể tổ chức một cơ sở tri thức của hệ thống
2 Sự cần thiết sử dụng tri thức trong giải quyết vấn đề.
a Sự cần thiết của tri thức và suy diễn.
Một yêu cầu quan trọng đối với hệ thống thông minh là phải có khả năng sử dụng trithức và suy diễn Rất khó để đạt được những hành vi thông minh và mềm dẻo mà không cótri thức về thế giới xung quanh và khả năng suy diễn với tri thức đó
b Những lới ích của việc sử dụng tri thức và suy diễn.
Hệ thống dựa trên tri thức có tính mềm dẻo Việc kết hợp tri thức và suy diễn cho phéptạo ra tri thức khác, giúp hệ thống đạt được những mục tiêu khác nhau, đồng thời có khảnăng suy diễn về bản thân mục tiêu
Sử dụng tri thức và suy diễn cho phép hệ thống hoạt động cả trong trường hợp thông tinquan sát về môi trường là không đầy đủ Hệ thống có thể kết hợp tri thức chung đã có để bổsung cho thông tin quan sát được khi cần ra quyết định
Việc sử dụng tri thức thuận lợi cho việc xây dựng hệ thống Thay vì lập trình lại hoàntoàn hệ thống, ta có thể thay đổi tri thức trang bị cho hệ thống và mô tả mục đích cần đạtđược, đồng thời giữ nguyên thủ tục suy diễn
3 Biểu diễn tri thức.
Để có thể sử dụng tri thức, tri thức cần được biểu diễn dưới dạng thuận tiện cho việc mô
tả và suy diễn Nhiều ngôn ngữ và mô hình biểu diễn tri thức đã được thiết kế để phục vụ
Trang 4mục đich này Ngôn ngữ sử dụng để biểu diễn tri thức phải là ngôn ngữ hình thức để tranhtình trạng nhập nhằng như trong ngôn ngữ tự nhiên.
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ứcvà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ốngdướ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ểuheuristic)
II Các phương pháp biểu diễn tri thức.
1 Biểu diễn tri thức sử dụng luật dẫn xuất ( luật sinh ).
a Khái niệm.
Biểu diễn tri thức sử dụng luật dẫn xuất 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".
Ví dụ:
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ácvấ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ácluậ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 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
Trang 5cá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
Một cách tổng quát luật sinh có dạng như sau :
Tùy vào các vấn đề đang quan tâm mà luật sinh có những ngữ nghĩa hay cấu tạo khác nhau :Trong logic vị từ : P1, P2, , Pn, Q là những biểu thức logic
Trong ngôn ngữ lập trình, mỗi một luật sinh là một câu lệnh
IF (P1 AND P2AND AND Pn) THEN Q
Để biễu diễn một tập luật sinh, người ta thường phải chỉ rõ hai thành phần chính sau :
b Cơ chế suy luận trên các luật sinh.
Suy diễn tiến: là quá trình suy luận xuất phát từ một số sự kiện ban đầu, xác định các sự
kiện có thể được "sinh" ra từ sự kiện này
Suy diễn lùi: là quá trình suy luận ngược xuất phát từ một số sự kiện ban đầu, ta tìm
kiếm các sự kiện đã "sinh" ra sự kiện này
Suy diễn lùi là quá trình suy luận ngược xuất phát từ một số sự kiện ban đầu, ta tìm kiếmcác sự kiện đã "sinh" ra sự kiện này Một ví dụ thường gặp trong thực tế là xuất phát từ cáctình trạng của máy tính, chẩn đoán xem máy tính đã bị hỏng hóc ở đâu
c Tối ưu luật.
Trang 6Xét các luật :
(L1) A, B → C (L2) A → X (L3) X → C
Rõ ràng là luật A, B → C có thể được thay thế bằng luật A → C mà không làm ảnhhưởng đến các kết luận trong mọi trường hợp Ta nói rằng sự kiện B trong luật (1) là dưthừa và có thể được loại bỏ khỏi luật dẫn trên
Trang 72 Biểu diễn tri thức sử dụng mạng ngữ nghĩa.
Khái niệ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 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 đốitượng (khái niệm) này
Trang 8Chẳ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ệ
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ặtmạ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ế suyluậ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.
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 đưavà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ạngnhữ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ĩathườ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ạngngữ nghĩa được dùng chủ yếu để phân tích vấn đề Sau đó, nó sẽ được chuyển đổi sang dạngluậ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ươngpháp biểu diễn khác
3 Biểu diễn tri thức bằng frame.
a Khái niệm.
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 đó Frame "đóng gói" toàn bộ một đối tượng, tình huống hoặc cả một vấn
Trang 9đề 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ốilượ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
Ý 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ểudiễ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 đượcxây dựng dựa trên những kinh nghiệm hoặc các đặc điểm đã được hiểu biết cặn kẽ Bộ nãocủ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
b 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 slotlà 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ềuloạ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
Trang 104 Mạng suy diễn tính toán.
a Khái niệm.
Mạng tính toán là một dạng biểu diễn tri thức có thể dùng biểu diễn các tri thức về các
vấn đề tính toán và được áp dụng một cách có hiệu quả để giải một số dạng bài toán Mỗi
mạng tính toán là một mạng ngữ nghĩa chứa các biến và những quan hệ có thể cài đặt và
sử dụng được cho việc tính toán
b Các quan hệ.
Trang 11Cho M = x1,x2, ,xm là một tập hợp các biến có thể lấy giá trị trong các miền xác địnhtương ứng D1,D2, ,Dm Đối với mỗi quan hệ R D1xD2x xDm trên các tập hợp
D1,D2, ,Dm ta nói rằng quan hệ nầy liên kết các biến x1,x2, ,xm, và ký hiệu là R(x1,x2, ,xm)hay vắn tắt là R(x) (ký hiệu x dùng để chỉ bộ biến < x1,x2, ,xm>) Ta có thể thấy rằng quan
hệ R(x) có thể được biểu diễn bởi một ánh xạ fR,u,v với u v = x, và ta viết : fR,u,v : u v,hay vắn tắt là f : u v
Đối với các quan hệ dùng cho việc tính toán, cách ký hiệu trên bao hàm ý nghĩa như làmột hàm: ta có thể tính được giá trị của các biến thuộc v khi biết được giá trị của các biếnthuộc u
Trong phần sau ta xét các quan hệ xác định bởi các hàm có dạng f : u v, trong đó u
v = (tập rỗng) Đặc biệt là các quan hệ đối xứng có hạng (rank) bằng một số nguyên
dương k Đó là các quan hệ mà ta có thể tính được k biến bất kỳ từ m-k biến kia (ở đây x là
bộ gồm m biến < x1,x2, ,xm>) Ngoài ra, trong trường hợp cần nói rõ ta viết u(f) thay cho u,v(f) thay cho v Đối với các quan hệ không phải là đối xứng có hạng k, không làm mất tínhtổng quát, ta có thể giả sử quan hệ xác định duy nhất một hàm f với tập biến vào là u(f) vàtập biến ra là v(f); ta gọi loại quan hệ nầy là quan hệ không đối xứng xác định một hàm, hay
gọi vắn tắt là quan hệ không đối xứng.
Trang 12d Bài toán trên mạng suy diễn tính toán.
Cho một mạng tính toán (M,F), M là tập các biến và F là tập các quan hệ Giả sử có mộttập biến A M đã được xác định và B là một tập biến bất kỳ trong M
Các vấn đề đặt ra là:
Có thể xác định được tập B từ tập A nhờ các quan hệ trong F hay không? Nói cách khác,
ta có thể tính được giá trị của các biến thuộc B với giả thiết đã biết giá trị của các biến thuộc
5 Biểu diễn tri thức bằng script.
a Khái niệm.
Script là một cách biểu diễn tri thức tương tự như frame nhưng thay vì đặc tả một đối
tượng, nó mô tả một chuỗi các sự kiện Để mô tả chuỗi sự kiện, script sử dụng một dãy các
slot chứa thông tin về các con người, đối tượng và hành động liên quan đến sự kiện đó.
b Cấu trúc của script.
Tuy cấu trúc của các script là rất khác nhau tùy theo bài toán, nhưng nhìn chung mộtscript thường bao gồm các thành phần sau :
Điều kiện vào(entry condition): mô tả những tình huống hoặc điều kiện cần được thỏa
mãn trước khi các sự kiện trong script có thể diễn ra
Role (diễn viên): là những con người có liên quan trong script
Prop (tác tố): là tất cả những đối tượng được sử dụng trong các chuỗi sự kiện sẽ diễn ra
Trang 13Scene(Tình huống) : là chuỗi sự kiện thực sự diễn ra
Result (Kết quả) : trạng thái của các Role sau khi script đã thi hành xong
Track (phiên bản) : mô tả một biến thể (hoặc trường hợp đặc biệt) có thể xảy ra trong
đoạn script
6 Ưu và nhược điểm của các mô hình.
Luật sinh
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
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
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 trongviệc biểu diễn các tri thức dạng mô
tả, có cấu trúc
Mạng ngữ nghĩa
Mạng ngữ nghĩa rất linh động, ta
có thể dễ dàng thêm vào mạngcá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 quancao 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áccung loại "là", từ đó, có thể tạo racác liên kết "ngầm" giữa nhữngđỉnh không có liên kết trực tiếpvới nhau
Ngữ nghĩa gắn liền với mỗi đỉnh cóthể nhập nhằng, khó xử lý cácngoại lệ, khó lập trình
Trang 14Mạng ngữ nghĩa hoạt động khá tựnhiên theo cách thức con ngườighi nhận thông tin
Mạng tính toán
Giải được hầu hết các bài toán
GT KL nếu như đáp ứng đầy
đủ các giả thiết cần thiết
Thuật toán đơn giản dễ cài đặtcho nên việc bảo trì hệ thốngtương đối đơn giản
Có thể xây dựng hệ thống suyluận và giải thích một cách rõràng và dễ hiểu
Không giải được các tri thức phứctạp, lưu trữ khó khăn và nhậpnhằng khi quản lý
Đồng thời việc xây dựng lại thuật toán
là một việc tương đối khó khăn bảotrì lại toàn bộ hệ thống
Script
Script rất hữu dụng trong việc dựđoán điều gì sẽ xảy đến trongnhững tình huống xác định Thậmchí trong những tình huống chưadiễn ra, script còn cho phép máy
tính dự đoán được việc gì sẽ xảy
ra và xảy ra đối với ai và vào thờiđiểm nào Nếu máy tính kích hoạtmột script, người dùng có thể đặtcâu hỏi và hệ thống có thể suy rađược những câu trả lời chính xác
mà không cần người dùng cungcấp thêm nhiều thông tin (trongmột số trường hợp có thể khôngcần thêm thông tin) Do đó, script
là một dạng biểu diễn tri thứctương đối hữu dụng vì nó chophép ta mô tả chính xác nhữngtình huống "chuẩn" mà con ngườivẫn thực hiện mỗi ngày hoặc đãnắm bắt chính xác
Để cài đặt script trong máy tính,bạn phải tìm cách lưu trữ các trithức dưới dạng hình thức
Frame Có sức mạnh diễn đạt tốt, dễ cài
đặt các thuộc tính cho các slotcũng như các mối liên hệ, dễdàng tạo ra các thủ tục chuyênbiệt hóa, dễ đưa vào các thông tin
Khó lập trình, khó suy diễn, thiếuphần mềm hỗ trợ
Trang 15mặc định và dễ thực hiện các thaotác phát hiện các giá trị bị thiếusót.
III Mô hình COKB.
1 Định nghĩa về mô hình COKB.
Mô hình biểu diễn tri thức COKB(Computational Objects Knowledge Base) [4] là một
mô hình tri thức của các đối tượng tính toán Mô hình COKB là một hệ thống gồm 6 thànhphần chính được ký hiệu bởi bộ 6 như sau:
(C,H,R,Opts, Funcs,Rules)
Tập hợp C (các khái niệm về các C_Object):
Các khái niệm được xây dựng dựa trên các đối tượng Mỗi khái niệm là một lớp các đốitượng tính toán có cấu trúc nhất định và được phân cấp theo sự thiết lập của cấu trúc đốitượng, bao gồm:
Các đối tượng (hay khái niệm) nền: là các đối tượng (hay khái niệm) được mặc
nhiên thừa nhận
Các đối tượng cơ bản (hay khái niệm) cơ bản cấp 0: có cấu trúc rỗng hoặc có cấu
trúc thiết lập trên một số thuộc tính kiểu khái niệm nền: Các đối tượng(hay khái niệm) nàylàm nền cho các đối tượng(hay các khái niệm) cấp cao hơn
Các đối tượng (hay khái niệm) cấp 1: Các đối tượng này chỉ có các thuộc tính kiểu
khái niệm nền và có thể được thiết lập trên một danh sách nền các đối tượng cơ bản
Các đối tượng (hay khái niệm) cấp 2: Các đối tượng này có các thuộc tính kiểu
khái niệm nền và các thuộc tính loại đối tượng cấp 1, có thể được thiết lập trên một danhsách nền các đối tượng cơ bản
Các đối tượng (hay khái niệm) cấp n >0: Các đối tượng này có các thuộc tính kiểu
khái niệm nền và các thuộc tính loại đối tượng cấp thấp hơn, có thể được thiết lập trên mộtdanh sách nền các đối tượng cấp thấp hơn
Mô hình cho một đối tượng tính toán (C-Object).
Một C-Object có thể được mô hình hóa bởi một bộ 6 thành phần chính: