Tải bản đầy đủ (.docx) (47 trang)

Tiểu luận môn biểu diễn tri thức và suy luận Tìm hiểu về COKB-ONT và ứng dụng giải bài toán vật lý điện 1 chiều

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (508.7 KB, 47 trang )

Bài thu hoạch Biểu diễn tri thức & Suy luận HVTH: Lê Bảo Trung – CH1301112
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

BÀI THU HOẠCH MÔN HỌC
BIỂU DIỄN TRI THỨC & SUY LUẬN
Đề tài: Tìm hiểu về COKB-ONT và ứng dụng giải bài toán vật lý điện 1 chiều
Giảng viên hướng dẫn: PGS.TS. Đỗ Văn Nhơn
Học viên thực hiện: Lê Bảo Trung
MSHV: CH1301112
TP Hồ Chí Minh, tháng 3 năm 2014
MỤC LỤC
Bài thu hoạch Biểu diễn tri thức & Suy luận HVTH: Lê Bảo Trung – CH1301112
2
Bài thu hoạch Biểu diễn tri thức & Suy luận HVTH: Lê Bảo Trung – CH1301112
LỜI NÓI ĐẦU
Hiện nay, với sự phát triển không ngừng của ngành công nghệ thông tin nói chung và
khoa học máy tính nói riêng, nhu cầu áp dụng công nghệ thông tin vào dạy và học đã trở
nên quan trọng và rất phổ biến trên nước ta và thế giới. Nhằm đáp ứng nhu cầu đó, một
trong những vấn đề được đặt ra và quan tâm là làm thế nào máy tính có thể tư vấn, trợ
giúp con người tìm cách giải quyết những bài toán trong nhiều lĩnh vực như: y khoa, giáo
dục, khí tượng, thủy văn…. Trước bài toán được đặt ra, nhiều phương pháp nghiên cứu
trong khoa học máy tính cũng đã nghiên cứu, thực hiện và đưa ra nhiều cách giải quyết
khác nhau. Trong đó, hướng tiếp cận bằng biểu diễn tri thức và hệ chuyên gia dựa trên
mô hình Ontology đã có nhiều ưu điểm và đạt được những kết quả khả quan đồng thời dễ
dàng thiết kế và cài đặt.
COKB-ONT hay còn gọi là Computational Object Knowledge Base Ontology, đã đưa ra
một giải pháp về mô hình biểu diễn tri thức, được sử dụng như là một công cụ cho việc
thiết kế hệ thống cơ sở tri thức, từ đó làm nền tảng để xây dựng các hệ giải toán, hệ
chuyên gia tư vấn trên nhiều vấn đề, lĩnh vực khác nhau. Nội dung bài báo cáo sẽ lần lượt
trình bày kiến thức cơ bản nền tảng về Ontology nói chung, mô hình COKB-ONT và


những phương pháp suy luận, từ đó hướng đến áp dụng mô hình COKB để giải bài toán
vật lý điện 1 chiều cơ bản.
3
Bài thu hoạch Biểu diễn tri thức & Suy luận HVTH: Lê Bảo Trung – CH1301112
I. GIỚI THIỆU
Biểu diễn tri thức có vai trò quan trọng trong việc thiết kế hệ thống cơ sở tri thức
(KBS) và hệ chuyên gia, đặc biệt là trong lĩnh vực giáo dục. Có rất nhiều mô hình khác
nhau và các phương pháp biểu diễn tri thức đã được đề xuất và áp dụng trong nhiều lĩnh
vực của khoa học. Ontology là một phương pháp mới cung cấp một cách tiếp cận hiện đại
trong việc thiết kế các thành phần của KBS. Tuy nhiên, các ứng dụng thực tế của hệ
thống thông minh mong đợi các mô hình công cụ mạnh mẽ và hữu ích hơn cho biểu diễn
tri thức. Bài thu hoạch này sẽ trình bày về khái niệm tổng quan về Otology, mô hình
Computational Object Knowledge Base Ontology (COKB-ONT) và quá trình xây dựng
cơ sở tri thức dựa trên COKB-ONT để tạo ra một ứng dụng trong giáo dục và đào tạo về
bài toán vật lý điện một chiều lớp 9. COKB-ONT đã được sử dụng để tạo ra nhiều ứng
dụng trong giáo dục và đào tạo như một chương trình nghiên cứu và giải quyết các bài
toán trong hình học phẳng được trình bày trong [6], một hệ thống hỗ trợ học tập kiến thức
và giải quyết các bài toán hình học giải tích được trình bày trong [7],và một hệ thống cơ
sở kiến thức trong đại số tuyến tính, vv Các chương trình này phải có kiến thức cơ bản
phù hợp. Nó không chỉ cung cấp cho con người có thể đọc được mà còn là một phương
pháp hiện đại như cách thức các giáo viên và học sinh thường viết. COKB-ONT gồm có
mô hình, ngôn ngữ, đặc điểm kỹ thuật và phương pháp suy luận. Đây là phương pháp
mới, hiện đại, thuận tiện cho việc học tập của người dùng và sử dụng bởi công cụ suy
luận. Bên cạnh đó, các bài toán cũng được mô hình hóa dễ dàng để chúng tôi có thể thiết
kế các thuật toán để tự động giải các bài toán và đề xuất một ngôn ngữ đơn giản để xác
định chúng. COKB-ONT là một công cụ tự nhiên và hợp lý cho việc thiết kế cơ sở tri
thức. Ngày nay, COKB-ONT thường được sử dụng để biểu diễn tri thức trong những
phạm vi khác nhau như toán học, vật lý…
4
Bài thu hoạch Biểu diễn tri thức & Suy luận HVTH: Lê Bảo Trung – CH1301112

Bài thu hoạch này sẽ trình bày tổng quan về khái niệm Ontology trong lĩnh vực khoa
học máy tính, qua đó mô tả mô hình tổng quát của COKB-ONT và phương pháp thiết kế
cho các hệ thống cơ sở tri thức để giải quyết bài toán vật lý điện 1 chiều.
5
Bài thu hoạch Biểu diễn tri thức & Suy luận HVTH: Lê Bảo Trung – CH1301112
II. ONTOLOGY
1. Khái niệm Ontology
Nguồn gốc của thuật ngữ “Ontology” xuất phát từ triết học, với ý nghĩa là sự diễn
giải có hệ thống bản chất của sự vật. Ngày nay, nghĩa của từ ontology không còn bó hẹp
trong phạm vi nhỏ mà được phát triển rộng hơn, sử dụng rộng rãi trong công nghệ tri
thức, trí tuệ nhân tạo và khoa học máy tính, trong nhiều ứng dụng liên quan đến quản lý
tri thức, xử lý ngôn ngữ tự nhiên, thương mại điện tử, truy xuất thông tin, giáo dục….
Trong trí tuệ nhân tạo, định nghĩa về ontology không có sự thống nhất, mà phụ
thuộc vào quan điểm của người nghiên cứu nhằm giải quyết vấn đề nào đó.
• “Một ontology là một đặc tả chính xác và hình thức về sự khái niệm hóa
(conceptualisation) của một miền tri thức được quan tâm” (Gruber-1993).
• “Ontology được xác định như một đặc tả hình thức của một khái niệm được chia
sẻ” (Brost-1997).
• “Một ontology có thể có nhiều dạng như cần thiết bao gồm một tập từ vừng và đặc
tả ý nghĩa của chúng. Bao gồm các định nghĩa và một dấu hiệu chỉ ra cách mà các
khái niệm tương quan với nhau, áp đặt một cấu trúc lên lĩnh vực và ràng buộc cách
diễn đạt có thể của các thuật ngữ” (Uschold, Jasper-1999).
Trong đó, có thể coi định nghĩa của (Gruber-1993) là định nghĩa tổng quát nhất,
các định nghĩa sau đó có sự điều chỉnh và bổ sung thêm để phù hợp với bài toán được
giải quyết. Định nghĩa này nhấn mạnh hai điểm chính: đó là các khái niệm được hình
thức hóa và bởi vậy cho phép suy diễn (reasoning) bởi máy tính; thứ hai nó nhấn mạnh
mỗi ontology được xây dựng cho một vài miền thông tin cần quan tâm, có như thế nó
mới thể hiện được vai trò và tác dụng của nó. Ontology thể hiện sự hiểu biết chung về
một miền, các ứng dụng có thể dùng sự hiểu biết chung này để giao tiếp với nhau.
Ontology bao gồm các khái niệm (concepts), các quan hệ (relations), các thể hiện

(instances) và axioms. Bởi vậy một ontology thường được biểu diễn dưới dạng bộ 4:
6
Bài thu hoạch Biểu diễn tri thức & Suy luận HVTH: Lê Bảo Trung – CH1301112
(C, R, I, A)
Trong đó,
• C là tập các khái niệm.
• R là tập các quan hệ
• I là tập các thể hiện.
• A là tập các axiom.
Trong ontology, các khái niệm được biểu diễn dưới dạng các lớp (Class), ví dụ :
lớp Person biểu diễn cho khái niệm Người, lớp Student biểu diễn cho khái niệm Sinh
viên. Các khái niệm chính là các đối tượng của miền thông tin (domain) được quan tâm
mà chúng ta cần thể hiện.
Quan hệ (Relations) bao gồm trước hết là quan hệ phân cấp (quan hệ cha-con)
giữa các lớp, gọi là hierachical relation hay taxonomy. Ontology cung cấp hai loại thuộc
tính (hay quan hệ) là thuộc tính đối tượng (object properties) và thuộc tính dữ liệu
(datatype properties). Thuộc tính đối tượng cung cấp mối liên hệ giữa các lớp (như trong
X dạy Y), còn thuộc tính dữ liệu kết nối thuộc tính của lớp với kiểu dữ liệu của nó (như
trong X có tên kiểu xâu).
Cuối cùng Axiom được sử dụng để cung cấp thông tin suy diễn về các lớp và
thuộc tính, ví dụ để nói rằng hai lớp là tương đương hoặc về phạm vi giá trị của một
thuộc tính (cardinality).
Ví dụ: Một ontology đơn giản được sử dụng để biểu diễn quan hệ giữa Giáo viên
(Lecturer) và Sinh viên (Student) trong một trường đại học. Cả Giáo viên và Sinh viên
đều là các khái niệm con của khái niệm Người (Person). Giáo viên thì dạy Sinh viên.
Người nào cũng có tên (name), tuổi (age), địa chỉ (address). Giáo viên có thêm thuộc tính
năm giảng dạy (experimentYear), Sinh viên có thêm thuộc tính điểm số (mark). Một thể
hiện của lớp Giáo viên là John, một thể hiện của lớp Sinh viên là Peter.
7
Person

Person
Person
Person
Lecturer Student
expYear
Person
John
Peter
Bài thu hoạch Biểu diễn tri thức & Suy luận HVTH: Lê Bảo Trung – CH1301112
Hình 2.3. Ví dụ về một Ontology đơn giản
2. Phân loại Ontology
Tùy thuộc vào mục đích của web ngữ nghĩa mà ontology được thiết kế một cách
khác nhau sao cho phù hợp với mô hình tổng thể của hệ thống trang web. Sau đây là một
số loại ontology cơ bản thông dụng:
• Ontology biểu diễn tri thức nắm giữ các biểu diễn của một mô hình ontology
nguyên thủy, được dùng để chuẩn hóa tri thức trong một mô hình biểu diễn tri
thức. Một ví dụ tiêu biểu của loại ontology này là Frame-Ontology (Gruber –
1993).
• Meta – Ontology hay còn gọi là Core Ontology là những loại ontology có thể tái
sử dụng trong nhiều lĩnh vực khác nhau. Một điển hình của ontology này là
mereology – Ontology (Borst – 1997).
• Ontology lĩnh vực là những ontology có thể tái sử dụng trong một lĩnh vực nào đó.
Nó cung cấp từ vựng về các khái niệm trong một lĩnh vực nào đó và các mối quan
hệ, các hoạt động diễn ra trong lĩnh vực đó. Ngoài ra nó còn có các nguyên tắc và
lý thuyết trong lĩnh vực đó.
8
Bài thu hoạch Biểu diễn tri thức & Suy luận HVTH: Lê Bảo Trung – CH1301112
• Ontology tác vụ cung cấp các từ vựng được hệ thống hóa các từ ngữ dùng để giải
quyết một vấn đề liên quan đến tác vụ có hoặc không có trong một lĩnh vực nào
đó.

• Ontology tác vụ lĩnh vực là các ontology về tác vụ có thể tái sử dụng trong một
lĩnh vực nào đó, nhưng không phải cho mọi lĩnh vực.
• Ontology ứng dụng bao gồm các tri thức cần thiết để mô hình hóa một lĩnh vực cụ
thể đặc biệt.
Ta thấy các loại Meta – Ontology, Ontology lĩnh vực, Ontology ứng dụng nắm giữ
tri thức một các tĩnh, có nghĩa là độc lập với cách giải quyết vấn đề.
3. Phương pháp xây dựng ontology
Quy trình phát triển Ontology
Trong những năm gần đây, một loạt các phương pháp luận khác nhau được thiết kế
để trợ giúp cho việc tiến hành phát triển các nhiệm vụ được báo cáo trong tài liệu trí tuệ
nhân tạo. Các phương pháp truyền thống gồm Cyc (Lenat & Guha 1990), Uschold và
King (Uschold $ King 1995), Gruninger và Fox (Gruninger $ Fox 1995), Kactus (Kactus
1996),và Methontology (Fernandez-Lopez, Gomes-Perez & Juritso 1997). Các phương
pháp luận cung cấp các chỉ dẫn chung và có cấu trúc. Nếu làm theo có thể tăng quy trình
phát triển và cải tiến chất lượng cho kết quả cuối cùng. Theo như đánh giá phương pháp
luận “Methontology” là phương pháp luận thiết kế ontology phổ biến nhất (được hỗ trợ
môi trường WebODE).
Quy trình phát triển Ontology là một quy trình gồm nhiều bước, tuy nhiên vẫn chưa
có một phương pháp chuẩn hóa nào để phát triển các ontology. Quy trình phát triển gồm
7 bước do Stanford Center for Biomedical Informatics Research đưa ra (đây là nhóm phát
triển phần mềm Protégé để trình diễn và soạn thảo Ontology).
9
Bài thu hoạch Biểu diễn tri thức & Suy luận HVTH: Lê Bảo Trung – CH1301112
Bước 1: Xác định lĩnh vực và phạm vi của Ontology
Trong giai đoạn này cần xác định mục đích của việc xây dựng ontology là gì? Phục
vụ đối tượng nào? Ontology sắp xây dựng cần có đặc điểm gì, liên quan đến lĩnh vực,
phạm vi nào. Quá trình khai thác, quản lý và bảo trì ontology được thực hiện ra sao?
Bước 2: Xem xét việc sử dụng lại các ontology có sẵn
Cấu trúc của một Ontology bao gồm 3 tầng: tầng trừu tượng (Abstract), tầng miền
xác định (Domain) và tầng mở rộng (Extension). Trong đó tầng trừu tượng có tính tái sử

dụng rất cao, tầng miền xác định có thể tái sử dụng trong một lĩnh vực nhất định. Cộng
đồng Ontology cũng đang lớn mạnh và có rất nhiều Ontology đã được tạo ra, với tâm
huyết của nhiều chuyên gia. Do đó trước khi bắt đầu xây dựng ontology, cần xét đến khả
năng sử dụng lại các ontology đã có. Nếu có thể sử dụng lại một phần các ontology đã có,
chi phí bỏ ra cho quá trình xây dựng ontology sẽ giảm đi rất nhiều.
Bước 3: Liệt kê các thuật ngữ quan trọng
Ontology được xây dựng trên cơ sở các khái niệm trong một lĩnh vực cụ thể, vì vậy
khi xây dựng ontology cần bắt đầu từ các thuật ngữ chuyên ngành để xây dựng thành các
lớp trong ontology tương ứng. Tất nhiên không phải thuật ngữ nào cũng đưa vào
ontology, vì chưa chắc đã định vị được cho thuật ngữ đó. Do đó cần phải liệt kê các thuật
ngữ, để xác định ngữ nghĩa cho các thuật ngữ đó, cũng như cân nhắc về phạm vi của
ontology. Việc liệt kê các thuật ngữ còn cho thấy được phần nào tổng quan về các khái
niệm trong lĩnh vực đó, giúp cho các bước tiếp theo được thuận lợi.
Bước 4: Xác định các lớp và phân cấp của các lớp
Công việc xác định các lớp không chỉ đơn giản là tiến hành tìm hiểu về ngữ nghĩa
của các thuật ngữ đã có để có được các mô tả cho thuật ngữ đó, mà còn phải định vị cho
các lớp mới, loại bỏ ra khỏi ontology nếu nằm ngoài phạm vi của ontology hay hợp nhất
với các lớp đã có nếu có nhiều thuật ngữ có ngữ nghĩa như nhau (đồng nghĩa, hay đa
ngôn ngữ). Ngoài ra không phải thuật ngữ nào cũng mang tính chất như một lớp.
10
Bài thu hoạch Biểu diễn tri thức & Suy luận HVTH: Lê Bảo Trung – CH1301112
Một công việc cần phải tiến hành song song với việc xác định các lớp là xác định
phân cấp của các lớp đó. Việc này giúp định vị các lớp dễ dàng hơn.
Có một số phương pháp tiếp cận trong việc xác định phân cấp của các lớp:
• Phương pháp từ trên xuống (top-down): bắt đầu với định nghĩa của các lớp
tổng quát nhất trong lĩnh vực và sau đó chuyên biệt hóa các khái niệm đó. Ví dụ: Trong
Ontology về quản lý nhân sự, ta bắt đầu với lớp Người, sau đó chuyên biệt hóa lớp Người
đó bằng cách tạo ra các lớp con của lớp Người như : Kỹ sư, Công nhân, Bác sỹ,… Lớp
Kỹ sư cũng có thể chuyên biệt hóa bằng cách tạo ra các lớp con như Kỹ sư CNTT, Kỹ sư
điện, Kỹ sư cơ khí, …

• Phương pháp từ dưới lên (bottom-up): bắt đầu với định nghĩa của các lớp
cụ thể nhất, như các lá trong cây phân cấp. Sau đó gộp các lớp đó lại thành các khái tổng
quát hơn. Ví dụ: ta bắt đầu với việc định nghĩa các lớp như: nhân viên lễ tân, nhân viên
vệ sinh, nhân viên kỹ thuật. Sau đó tạo ra một lớp chung hơn cho các lớp đó là lớp nhân
viên.
• Phương pháp kết hợp: kết hợp giữa phương pháp từ trên xuống và từ dưới
lên: bắt đầu từ định nghĩa các lớp dễ thấy trước và sau đó tổng quát hóa và chuyên biệt
hóa các lớp đó một cách thích hợp. Ví dụ ta bắt đầu với lớp nhân viên trước, là thuật ngữ
hay gặp nhất trong quản lý nhân sự. Sau đó chúng ta có thể chuyên biệt hóa thành các lớp
con: nhân viên lễ tân, nhân viên vệ sinh,… hoặc tổng quát hóa lên thành lớp Người.
Bước 5: Xác định các thuộc tính
Để xác định thuộc tính cho các lớp, ta quay trở lại danh sách các thuật ngữ đã liệt
kê được. Hầu hết các thuật ngữ còn lại (sau khi đã xác định lớp) là thuộc tính của các lớp
đó. Với mỗi thuộc tính tìm được, ta phải xác định xem nó mô tả cho lớp nào. Các thuộc
tính đó sẽ trở thành thuộc tính của các lớp xác định. Ví dụ lớp Người có các thuộc tính
sau: Họ, Tên, Ngày sinh, Giới tính, Nghề nghiệp, Địa chỉ, Điện thoại,…
11
Bài thu hoạch Biểu diễn tri thức & Suy luận HVTH: Lê Bảo Trung – CH1301112
Bước 6: Xác định ràng buộc của các thuộc tính
Các thuộc tính có thể có nhiều khía cạnh khác nhau: như kiểu giá trị, các giá trị cho
phép, số các thuộc tính (lực lượng), và các đặc trưng khác mà giá trị của thuộc tính có thể
nhận. Ví dụ: “Năm sinh” của một “nhân viên” chỉ có duy nhất và là số nguyên, có thể
nhận giá trị từ 1948 đến 1990. Cần phải xác định các ràng buộc cho một thuộc tính càng
chặt chẽ càng tốt, để tránh trường hợp nhập dữ liệu sai, dẫn đến đổ vỡ của các ứng dụng
sử dụng Ontology này.
Bước 7: Tạo các thể hiện / thực thể
Bước cuối cùng là tạo ra các thể hiện của các lớp trong sự phân cấp. Việc tạo thể
hiện cho một lớp là quá trình điền các thông tin vào các thuộc tính của lớp đó.
12
Bài thu hoạch Biểu diễn tri thức & Suy luận HVTH: Lê Bảo Trung – CH1301112

III. CƠ SỞ TRI THỨC TÍNH TOÁN ĐỐI TƯỢNG ONTOLOGY
Có rất nhiều phương pháp đại diện cho tri thức [2], [4], [9].Những phương pháp này
đang được quan tâm và hữu dụng cho nhiều ứng dụng, tuy nhiên chúng không đủ mạnh
và rất khó sử dụng cho việc xây dựng hệ cơ sở tri thức trong các lĩnh vực tri thức khác
nhau.
Cơ sở tri thức tính toán đối tượng Ontology (COKB-ONT) và các mô hình của nó đã
được thiết lập từ cách hướng đối tượng để biểu diễn tri thức cùng với các kỹ thuật lập để
tính toán hình thức. Đã có nhiều kết quả và các công cụ cho các phương pháp hướng đối
tượng, và một số nguyên tắc cũng như kỹ thuật, cách này còn cho chúng ta một phương
pháp mô hình hóa việc giải toán và thiết kế thuật toán .Các mô hình này rất hữu ích cho
việc xây dựng các thành phần và tri thức cơ sở cho toàn bộ hệ tri thức cơ bản trong lĩnh
vực giáo dục.
1 Các thành phần của mô hình COKB
Mô hình tri thức của các cơ sở tính toán đối tượng (mô hình COKB) bao gồm 6
thành phần:
(C, H, R, Ops, Funcs, Rules)
Ý nghĩa của các thành phần như sau:
- C: Tập các khái niệm của các đối tượng tính toán (C- Object).
- H: Tập các quan hệ phân cấp có liên quan của các khái niệm
- R: Tập các mối quan hệ về các khái niệm.
- Ops: Tập các toán tử.
- Funcs: Tập các hàm.
- Rules: Tập các luật
Mỗi khái niệm trong C là một lớp của C-Objects. Cấu trúc C-objects có thể được
mô hình hóa bằng (Attrs, F, Facts, Rules).
13
Bài thu hoạch Biểu diễn tri thức & Suy luận HVTH: Lê Bảo Trung – CH1301112
- Attrs là một tập các thuộc tính
- F là một tập hợp các phương trình được gọi là quan hệ tính toán
- Facts là tập hợp các thuộc tính hoặc sự kiện của đối tượng.

- Rules là tập các quy tắc suy luận dựa trên Facts.
Một đối tượng cũng có những trạng thái cơ bản để giải những bài toán trên các
thuộc tính của nó. Những đối tượng được trang bị những khả năng giải toán như:
1. Xác định bao đóng của một tập các thuộc tính
2. Suy luận và đưa lời giải cho các bài toán dạng: Xác định một số thuộc tính từ các
thuộc tính khác.
3. Thực hiện tính toán
4. Đề xuất hoàn thiện giả thiết nếu cần.
Đây là những quan hệ đại diện chuyên biệt giữa những khái niệm trong tập C; H
đại diện những quan hệ đặc biệt trên C. Quan hệ này được đặt trước trên tập C, và H có
thể được xem như biểu đồ Hasse cho mối quan hệ đó. R là tập các quan hệ còn lại trên
tập C, và trong trường hợp quan hệ r là một quan hệ nhị phân thì nó có thể có những tính
chất như phản xạ, đối xứng… Trong hình học phẳng và hình học giải tích, có rất nhiều
quan hệ như: “thuộc về” một điểm và đường thẳng, quan hệ “song song” giữa hai đoạn
thẳng, quan hệ “vuông góc” giữa hai đoạn thẳng, quan hệ bằng nhau giữa các tam giác…
Tập Ops bao gồm các toán tử trên C. Thành phần này đại diện cho một phần tri
thức về các toán tử trên các đối tượng. Hầu hết các lĩnh vực tri thức có một thành phần
bao gồm các toán tử.
Tập Funcs bao gồm các hàm trên C-objects. Tri thức về các hàm này cũng phổ
biến như tri thức trên hầu hết các lĩnh vực tri thức trong thực tế, đặc biệt là lĩnh vực khoa
học tự nhiên như Toán, vật lý…
Tập Rules thể hiện các quy tắc suy luận, những quy tắc này tượng trưng cho các
báo cáo, định lý, nguyên tắc, công thức…Hầu hết các quy tắc đầu có thể được viết dưới
dạng “if <facts>then <facts>” Trong cơ cấu của một quy tắc suy luận, <facts> là một tập
14
Bài thu hoạch Biểu diễn tri thức & Suy luận HVTH: Lê Bảo Trung – CH1301112
hợp các sự kiện với phân loại nhất định.Vì vậy, chúng tôi sử dụng các quy tắc suy diễn
trong mô hình COKB. Sự kiện phải được phân loại để các quy tắc thành phần có thể được
xác định và xử lý trong các công cụ suy luận của hệ thống cơ sở tri thức hoặc các hệ
thống thông minh.

Cơ sở tri thức trên mô hình COKB có thể được tổ chức bởi các thành phần sau:
1. Từ điển các khái niệm về loại của các đối tượng, các thuộc tính, các toán tử, các
hàm, quan hệ và các khái niệm liên quan.
2. Bảng mô tả cho các cấu trúc và các đặc trưng của các đối tượng. Ví dụ, chúng ta
có thể yêu cầu một hình tam giác để tính toán và cung cấp cho chúng ta các thuộc
tính của nó.
3. Các bảng tượng trưng cho mối liên hệ phân cấp của các khái niệm.
4. Các bảng tượng trưng cho các mối quan hệ khác của các khái niệm.
5. Các bảng mô tả tri thức về các toán tử
6. Các bảng đại diện cho tri thức về các hàm
7. Các bảng mô tả cho các loại sự kiện. Ví dụ, một quan hệ thực tế bao gồm các loại
của mối quan hệ và danh sách của các đối tượng liên quan.
8. Các bảng mô tả cho các quy tắc. Ví dụ, một quy tắc suy luận bao gồm một phần
giả thuyết và phần kết luận. Cả hai đều là danh sách các sự kiện.
9. Danh sách hay tập hợp các quy tắc.
10. Danh sách các bài toán mẫu
4. Các loại sự kiện trong mô hình COKB
Trong mô hình COKB có 11 loại sự kiện được chấp nhận.
Các loại các sự kiện đã được đề xuất từ nghiên cứu về các yêu cầu thực tế và các
bài toán khác nhau trong lĩnh vực tri thức. Các loại sự kiện như sau:
- Sự kiện loại 1: thông tin về loại đối tượng.
- Sự kiện loại 2: xác định một đối tượng hoặc một thuộc tính của một đối tượng.
- Sự kiện loại 3: xác định một đối tượng hoặc một thuộc tính của một đối tượng
bằng một giá trị hoặc một hằng số biểu thức.
15
Bài thu hoạch Biểu diễn tri thức & Suy luận HVTH: Lê Bảo Trung – CH1301112
- Sự kiện loại 4: bình đẳng trên các đối tượng hoặc các thuộc tính của các đối tượng.
Loại sự kiện này cũng rất phổ biến, và có nhiều bài toán liên quan đến cơ sở tri
thức
- Sự kiện loại 5: sự phụ thuộc của một đối tượng với các đối tượng khác bằng một

phương trình chung.
- Sự kiện loại 6: mối liên hệ trên các đối tượng hoặc các thuộc tính của các đối
tượng. Trong hầu hết các bái toán có những sự kiện thuộc loại 6 như hai đường
thẳng song song, một đường thẳng vuông góc với một mặt phẳng, một điểm thuộc
về một đoạn thẳng.
- Sự kiện loại 7: xác định của một hàm.
- Sự kiện loại 8: xác định của một hàm bởi một giá trị hoặc biểu thức là một hằng
số.
- Sự kiện loại 9: đẳng thức giữa một đối tượng và một hàm
- Sự kiện loại 10: đẳng thức giữa hai hàm
- Sự kiện loại 11: sự phụ thuộc của một hàm với các hàm khác hoặc các đối tượng
khác của một phương trình.Các mô hình trên và các loại sự kiện có thể được sử
dụng để biểu diễn cho tri thức trong các ứng dụng thực tế. Thuật toán thống nhất
các sự kiện đã được hình thành và sử dụng trên nhiều ứng dụng khác nhau
5. Phương pháp thiết kế
Trong phần tiếp theo sẽ trình bày quá trình để xây dựng một hệ thống cơ sở tri thức
giải quyết một số bài toán cao cấp. Bên cạnh đó, kỹ thuật trong từng giai đoạn sẽ được
trình bày.
a) Cấu trúc của hệ thống
Một hệ thống hỗ trợ tìm kiếm, truy vấn và giải quyết các vấn đề toán học cao cấp, có
cấu trúc của một hệ chuyên gia. Chúng tôi có thể thiết kế hệ thống bao gồm sáu thành
phần:
- Các cơ sở tri thức.
- Các công cụ suy luận.
- Giải thích cho các thành phần
- Bộ nhớ làm việc.
16
Bài thu hoạch Biểu diễn tri thức & Suy luận HVTH: Lê Bảo Trung – CH1301112
- Người quản lý tri thức.
- Giao diện.

Cơ cấu của hệ thống
Cơ sở tri thức chứa các kiến thức để giải quyết một số vấn đề trong một lĩnh vực tri
thức cụ thể.
Các công cụ suy luận sẽ sử dụng những tri thức được lưu trữ trong cơ sở tri thức để
giải quyết vấn đề, để tìm kiếm hoặc để trả lời cho truy vấn. Nó phải xác định được bài
toán và sử dụng chiến lược phù hợp với suy luận để tìm ra các quy tắc chính xác và các
sự kiện để giải quyết bài toán đó.
Bộ nhớ làm việc lưu trữ các sự kiện và các quy tắc trong quá trình tìm kiếm và suy
luận.
Thành phần giải thích dùng để giải thích các giai đoạn, các khái niệm trong quá
trình giải toán.
Người quản lý tri thức: mục đích hỗ trợ cập nhật tri thức vào cơ sở tri thức. Họ
cũng hỗ trợ để tìm kiếm tri thức và kiểm tra tính thống nhất của tri thức.
17
Bài thu hoạch Biểu diễn tri thức & Suy luận HVTH: Lê Bảo Trung – CH1301112
Các thành phần giao diện của hệ thống được yêu cầu phải có một ngôn ngữ đặc biệt
cho việc trao đổi thông tin giữa các hệ thống và người học, giữa hệ thống và giáo viên
b) Kỹ thuật thiết kế
Quá trình phân tích và thiết kế các thành phần của hệ thống bao gồm các giai đoạn
sau.
Giai đoạn 1: Thu thập tri thức thực tế dựa trên mô hình COKB-ONT.
Giai đoạn 2: Phân loại tri thức trong Giai đoạn 1, để phân tích các yêu cầu.
Giai đoạn 3: Xây dựng tổ chức cơ sở tri thức cho hệ thống dựa trên mô hình COKB-
ONT và đặc điểm kỹ thuật ngôn ngữ của nó. Cơ sở tri thức có thể được tổ chức bởi các
tập tin văn bản có cấu trúc. Chúng bao gồm các tập tin dưới đây.
- OBJECT_KINDS.txt : lưu trữ tên của các khái niệm.
- HIERARCHY.txt : lưu trữ thông tin của các sơ đồ Hasse đại diện cho thành phần
H của mô hình COKB.
- Các tập tin RELATIONS.txt và RELATIONS_DEF.txt chứa đặc điểm kỹ thuật
của các mối quan hệ (thành phần R của mô hình COKB).

- OPERATORS.txt và tập tin OPERATORS_DEF.txt lưu trữ các đặc điểm kỹ thuật
của các toán tử (thành phần Ops của mô hình COKB).
- FUNCTIONS.txt và FUNCTIONS_DEF.txt chứa các đặc điểm kỹ thuật của hàm
(thành phần funcs của mô hình COKB).
- FACT_KINDS.txt : lưu trữ các định nghĩa của các loại sự kiện.
- RULES.txt : lưu trữ những quy tắc suy luận.
- SOMEOBJECTS.txt lưu trữ một số đối tượng khác
Giai đoạn 4: Mô hình hóa các vấn đề và thiết kế thuật toán. Vấn đề được trình bày
bằng cách sử dụng một mô hình được gọi là mạng lưới của C-objects. Nó bao gồm ba bộ
dưới đây.
O = {O1, O2, . , On}.
F = {f1, f2,. . Fm.},
18
Bài thu hoạch Biểu diễn tri thức & Suy luận HVTH: Lê Bảo Trung – CH1301112
Goal = {g1, g2,. . , Gm}.
Trong mô hình trên, tập O bao gồm n C-objects, F là tập hợp các sự kiện được đưa ra
trên các đối tượng, và Goal bao gồm các mục tiêu.
Việc thiết kế các thuật toán suy luận để giải quyết vấn đề và thiết kế giao diện của hệ
thống có thể được phát triển bởi ba bước cho mô hình:
Bước 1: Phân loại bài toán chẳng hạn như sườn bài, bài toán xác định hoặc chứng
minh của một sự kiện, các bài toán tìm kiếm các đối tượng hoặc sự kiện, vv
Bước 2: Phân loại các sự kiện và trình bày dựa trên các loại sự kiện của mô hình
COKB.
Bước 3: Mô hình hóa phân loại các bài toán trong bước 1 và 2. Từ các mô hình của
từng loại, chúng ta có thể xây dựng một mô hình chung cho các bài toán, cho hệ thống để
giải quyết chúng.
Kỹ thuật cơ bản để thiết kế các thuật toán suy luận là sự thống nhất của các sự kiện.
Dựa trên các loại sự kiện và cấu trúc của nó, sẽ có tiêu chuẩn cho sự thống nhất
Sau đó, nó tạo ra các thuật toán để kiểm tra sự thống nhất của hai sự kiện.
Công việc quan trọng tiếp theo là làm nghiên cứu về chiến lược khấu trừ để giải

quyết các bài toán trên máy tính. Điều khó khăn nhất là mô hình cho thử nghiệm, cho
phản ứng hợp lý, và trực giác của con người để tìm các quy tắc rút kinh nghiệm, có thể
bắt chước tư duy của con người để giải quyết bài toán.
Giai đoạn 5: Tạo một ngôn ngữ truy vấn cho mô hình.Ngôn ngữ giúp thiết kế giao
tiếp giữa hệ thống và người sử dụng bằng các từ.
Giai đoạn 6: Thiết kế giao diện của phần mềm và lập trình phần mềm. Ứng dụng của
chúng tôi đã được thực hiện bằng cách sử dụng các công cụ lập trình và hệ thống đại số
19
Bài thu hoạch Biểu diễn tri thức & Suy luận HVTH: Lê Bảo Trung – CH1301112
máy tính như Visual Basic, dot Net, C#, SQL Server. Chúng dễ dàng được sử dụng cho
sinh viên, để tìm kiếm, tự động truy vấn và giải toán
Giai đoạn 7: Kiểm tra, duy trì và phát triển các ứng dụng. Giai đoạn này tương tự
như trong các hệ thống máy tính khác.
6. Thiết kế hệ cơ sở tri thức cho việc truy vấn tri thức của toán cao cấp
Các phần mềm có thể hỗ trợ cho việc tìm kiếm, truy vấn và giải một số vấn đề trong
toán học cao cấp. Chức năng đầu tiên của chương trình là "Tìm kiếm tri thức". Chức năng
này giúp người sử dụng để tìm ra tri thức cần thiết một cách nhanh chóng. Nó có thể tìm
kiếm các khái niệm, định nghĩa, tính chất, định lý hoặc các công thức có liên quan, và các
mẫu bài toán. Người sử dụng khai báo một số thông tin cơ bản về một ngôn ngữ đơn
giản. Các thông tin có thể bao gồm các đối tượng, mối quan hệ giữa các đối tượng hoặc
giữa các thuộc tính. Chương trình có thể tự động cung cấp hướng dẫn giúp họ biết thêm
về bài toán. Chức năng thứ hai của chương trình là "Truy vấn cho tri thức". Chức năng
này giúp người dùng truy vấn tri thức dựa trên ngôn ngữ truy vấn, một ngôn ngữ rất đơn
giản.
Giai đoạn 1: Thu thập tri thức thực tế dựa trên mô hình COKB-ONT. Các tri thức
về toán học cao cấp bao gồm các thành phần sau
A. Các khái niệm
• Biểu diễn Số: số tự nhiên, số nguyên, số thực, số phức, vv
• Danh mục các tập: tập hợp, sơ đồ Venn, tập các thao tác, vv
• Ánh xạ: đơn ánh, toàn ánh, song ánh, ánh xạ đồng nhất, ánh xạ ngược,

• Dãy số: dãy, dãy bị chặn, dãy bị chặn dưới, dãy chặn trên, dãy Cauchy, dãy
đơn điệu, dãy Fibonacci, chuỗi số giả ngẫu nhiên, dãy số giảm, dãy số hội
tụ hàm, dãy số hội tụ đơn điệu, dãy số kép, dãy số không, dãy số giảm,
chuỗi ngẫu nhiên, dãy số tăng, giới hạn của dãy số vv
• Hàm thực một biến: hàm, miền xác định của một hàm, phạm vi của một
hàm,hàm số học, hàm chẵn, hàm lẻ, hàm tuần hoàn, hàm đơn điệu, đa thức,
20
Bài thu hoạch Biểu diễn tri thức & Suy luận HVTH: Lê Bảo Trung – CH1301112
hàm hữu tỷ, hàm hợp, hàm nghịch đảo, hàm số khả nghịch, hàm số phức,
hàm lực lượng, mũ, hàm Logarit, hàm lượng giác, hàm lượng giác ngược,
giới hạn của một hàm, giới hạn, giới hạn một bên, giới hạn của hàm hợp,
giới hạn của hàm đơn điệu, vô cùng, vô lớn, hàm liên tục, hàm liên tục tại
mộtđiểm, hàm liên tục trên 1 mặt, ham 2lien6 tục trong 1 phạm vi, hàm liên
tục từng mảnh, điển gián đoạn của hàm, hàm biểu đồ, cực đại của hàm số,
cực tiểu của một hàm, hàm lõm, hàm lồi, điểm uốn của một hàm biểu đồ,
xấp xỉ các biểu đồ hàm, tiếp tuyến của hàm biểu đồ,…
• Đạo hàm: đạo hàm tại một điểm, đạo hàm 1 phía tại một điểm, đạo hàm
trong một phạm vi, đào hàm cấp cao…
• Khác biệt: Sự khác nhau giữa các biến, khác biệt tại một điểm, một vùng,
khác biệt sơ cấp, …
• Nguyên hàm: nguyên hàm đầy đủ, phép tính nguyên hàm…
• Tích phân: Công thức tính tích phân, miền tích phân, tích phân xác định,
tích phân không xác định, tích phân tổng quát với ràng buộc không giới hạn
(loại 1 tích phân tổng quát ), tích phân tổng quát của hàm không ràng buộc
(loại 2 tích phân tổng quát), tích phân từng phần,…
• Lý thuyết chuỗi: chuỗi, chuỗi hội tụ, chuỗi dương, chuỗi âm, chuỗi ngẫu
nhiên, chuỗi thay thế, chuỗi hàm, vùng hội tụ của chuỗi hàm, hội tụ của
chuỗi hàm, chuỗi hàm mũ, bán kính hội tụ của chuỗi theo cấp số nhân ,
chuỗi Taylor của một hàm f (x) tại điểm tiếp giáp x0, chuỗi lượng giác.
Chuỗi Fourier, chuỗi Fibonacci…

B. Danh sách các thuộc tính: thuộc tính của chuỗi hội tụ, bị chặn, bậc,…
C. Danh sách các công thức: giới hạn tự nhiên của chuỗi, công thức hàm lực
lượng, công thức hàm Logarit, công thức Taylor, định lý Maclaurin, quy tắc
L'Hospital, bảng derivation, bất đẳng thức Cauchy-Schwarz, công thức Newton-
Leibnitz,
21
Bài thu hoạch Biểu diễn tri thức & Suy luận HVTH: Lê Bảo Trung – CH1301112
D. Danh sách các phương pháp tính toán: Hàm nghiên cứu, phương pháp tính
toán tích phân không xác định: Phương pháp phân tích, phương pháp biến ,
phương pháp từng phần, phương pháp tính toán xác định từng phần : Phương pháp
phân tích, biến phương pháp, một phần phương pháp tìm bán kính hội tụ của dòng
điện, vv
E. Danh sách các định lý: định lý vi phân và vi phân vô cùng lớn, định lý về tính
liên tục của một hàm: định lý Weierstrass1, Weierstrass2, định lý phép lấy đạo
hàm, định lý Fermat, Rolle, Lagrange, Cauchy, L'Hospital 1 và L'Hospital 2, đinh
lý hàm khảo sát, Định lý cho hàm và tích phân ban đầu, cấp số, vv
F. Một số ứng dụng của hàm tích phân đơn: ý nghĩa hình học của phép lấy đạo
hàm, một số ứng dụng của tích phân xác định…
Giai đoạn 2: Phân loại tri thức trong Giai đoạn 1, để phân tích các yêu cầu.
• Các khái niệm cơ bản: biễu diễn số, tập hợp.
• Các khái niệm được xây dựng từ các khái niệm khác. Ví dụ: Ánh xạ: tập
hợp, Hàm: ánh xạ, Giới hạn của dãy: dãy, giới hạn của hàm: hàm, giới hạn
của dãy;
• Biểu đồ hàm: hàm, điểm; đạo hàm: hàm, giới hạn của hàm;đạo hàm cấp
cao: đạo hàm; vi phân: hàm,đạo hàm; Nguyên hàm: hàm,đạo hàm; Tích
phân:hàm, nguyên hàm; Dãy số: mảng số; dãy số dương: dãy số; chuỗi đan
dấu: dãy ; chuỗi hàm: chuỗi, hàm; Chuỗi lũy thừa: chuỗi hàm…
• Các khái niệm được kế thừa từ các khái niệm khác: VD đơn ánh: ánh xạ;
Toàn ánh: ánh xạ; song ánh: ánh xạ; ánh xạ đồng nhất: ánh xạ; hàm: ánh
xạ…

• Thuộc tính của khái niệm.Ví dụ Tập hợp: số phần tử; Hàm : miền xác
định,vùng giá trị; Biểu đồ hàm : xấp xỉ, điểm uốn cong;
• Chuỗi lũy thừa: khoảng hội tụ, bán kính hội tụ;
• Tính chất của các khái niệm. VD: Tập hợp: vô cực, hữu hạn, rỗng; Dãy:
tăng dần, giảm dần, hôi tụ, phân kỳ; Hàm: tăng dần, giảm dần, chẵn, lẻ, lồi
lõm…
• Toán tử trên các khái niệm. VD các phép tính số học, tập hợp các toán tử…
22
Bài thu hoạch Biểu diễn tri thức & Suy luận HVTH: Lê Bảo Trung – CH1301112
• Tính toán cho hàm. VD: giới hạn của dãy, giới hạn hàm, hàm nghịch đảo,
tính liên tục của hàm, vi phân, tích phân, nguyên hàm…
Giai đoạn 3: Xây dựng tổ chức cơ sở tri thức cho hệ thống dựa trên mô hình
COKB-ONT và đặc tả ngôn ngữ. Kiến thức cơ bản có thể được tổ chức bởi các tập tin
văn bản có cấu trúc. Chúng bao gồm các file dưới đây
- Tập tin OBJECT_KINDS.txt lưu trữ tên của các khái niệm
begin_Objects
<object name >
<object name>

end_Objects
Ví dụ:
begin_Objects
COLLECTION
MAP
SERIES
FUNCTION
DERIVATION
INITIAL_FUNCTION

end_Objects

tập tin HIERARCHY.txt lưu trữ các sơ đồ Hasse đại diện cho thành
phần H của mô hình COKB.
begin_Hierarchy
[<high-order object>, <low-grade object>]
[<high-order object>, <low-grade object>]

end_Hierarchy
Ví dụ
begin_Hierarchy
INJECTION, MAP
SURJECTION, MAP
BIJECTION, MAP
IDENTITY_MAPPING, MAP
POWER_FUNCTION, FUNCTION
EXPONENTIAL, FUNCTION
LOGARIT_FUNCTION, FUNCTION
23
Bài thu hoạch Biểu diễn tri thức & Suy luận HVTH: Lê Bảo Trung – CH1301112
POSITIVE_SERIES, SERIES
FUNCTIONS_SERIES, SERIES

end_Hierarchy
- Các tập tin RELATIONS.txt và RELATIONS_DEF.txt lưu trữ các đặc điểm kỹ
thuật của các quan hệ (thành phần R của mô hình COKB).
begin_Relations
[<relation name>,<object 1>,<object 2>],{<behavior>,< behavior >, }
[<relation name>,<object 1>,<object 2>],{<behavior>,< behavior >, }

end_Relations
Ví dụ:

begin_Relations
[CONSTRUCTION, COLLECTION, MAP],{}
[CONSTRUCTION, COLLECTION, FUNCTION],{}
[INHERITANCE, INJECTION, MAP],{}
[INHERITANCE, SURJECTION, MAP],{}
[INHERITANCE, BIJECTION, MAP],{}
[INHERITANCE, SERIES, ARRAY],{CONVERGENCE,
DIVERGENCE}
[INHERITANCE, FUNCTION_POWER, FUNCTION],{ODD_EVEN}

end_Relations
- Các tập tin OPERATORS.txt và OPERATORS_DEF.txt lưu trữ các đặc điểm kỹ
thuật của các toán tử (thành phần Ops của mô hình COKB).
begin_object: <Object name>
begin_variables
<attribute 1>
<attribute 2>

end_ variables
begin_contains
<path to file which stores object content>
end_contains
end_object
Ví dụ:
COLLECTION.txt:
begin_object: COLLECTION
begin_variables:
24
Bài thu hoạch Biểu diễn tri thức & Suy luận HVTH: Lê Bảo Trung – CH1301112
n: NUMBER_OF_ITEM

A: ARRAY#LIST_OF_ITEM
end_variables
begin_contains
\Contains_Object\COLLECTION
end_contains
end_object
MAP.txt:
begin_object: MAP
begin_variables:
X: COLLECTION_SOURCE
Y: COLLECTION_DESTINATION
end_variables
begin_contains
\Contains_Object\MAP
end_contains
end_object

- Các tập tin FUNCTIONS.txt và FUNCTIONS_DEF.txt lưu trữ các đặc điểm kỹ
thuật của các hàm (thành phần funcs của mô hình COKB).
Begin_Functions
Begin_Function<name of function>([<list of arguments>])
<argument>:<kind>
Return <variable result>:<kind>
Begin_description
<path to the file which describes function>
End_description
End_Function
Begin_Function<name of function>([<list of arguments>])
<argument>:<kind>
Return <variable result>:<kind>

Begin_description
<path to the file which describes function>
End_description
End_Function

End_Functions
Ví dụ:
Begin_Functions
Begin_Function INVERSE_FUNCTION(y)
25

×