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

Ontology cơ sở tri thức các đối tượng tính toán

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 (327.27 KB, 36 trang )

ĐẠ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: BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG
Đề tài: Ontology cơ sở tri thức các đối tượng tính toán
Giảng viên hướng dẫn : PGS. ĐỖ VĂN NHƠN
Học viên thực hiện : NGUYỄN THỊ DIỆU ANH
MSHV : CH1101064
TP HCM, tháng 1 năm 2013
BTH Biểu diễn tri thức và ứng dụng - Ontology cho cơ sở tri thức các đối tượng tính toán
LỜI NÓI ĐẦU
Trong quá trình thiết kế hệ thống, việc biểu diễn tri thức là vấn đề quan trọng. Mỗi
một loại tri thức cần có một phương pháp biểu diễn phù hợp, từ đó thiết kế các thuật toán
và xây dựng hệ thống.
Có nhiều phương pháp biểu diễn hệ cơ sở tri thức khác nhau như mạng nơron, đồ thị
khái niệm, mạng ngữ nghĩa. Tuy nhiên, đối với những hệ tri thức mang tính tổng quát thì
những phương pháp trên còn gặp nhiều hạn chế. Mô hình COKB được PGS. Đỗ Văn
Nhơn đề xuất năm 2002 để giải quyết vấn đề biểu diễn tri thức cho các đối tượng tính
toán. Còn ontology là phương pháp hiện đại để phát triển khả năng biểu diễn tri thức, xây
dựng các hệ trí tuệ nhân tạp phân tán. Dựa trên nền tảng COKB và ONT, mô hình
ontonogy biểu diễn và giải quyết vấn đề trên nhiều miển tri thức, đặc biệt là ứng dụng
trong các lình vực toán học, vật lý, hóa học và các lĩnh vực khoa học tính toán khác.
Trong phạm vi bài thu hoạch này, tôi xin trình bày những kiến thức tìm hiểu được về
ontology và xây dựng cơ sở tri thức bằng phương pháp mô hình ontology cho các đối
tượng tính toán (COKB-ONT). Từ đó thiết kế mô hình ứng dụng đối với các bài toán
hình học 2D.
Chân thành cảm ơn PGS. Đỗ Văn Nhơn đã tận tình chỉ dẫn, giảng dạy nhiệt tình
những kiến thức nền tảng cho tôi có cơ hội tìm hiểu và nghiên cứu các lĩnh vực này.
Đồng cảm ơn quý thầy cô quản lý phòng đào tạo sau đại học, trường đại học CNTT đã
tạo mọi điều kiện tốt nhất để chúng tôi học tập.


Trân trọng!
Nguyễn Thị Diệu Anh (T.01 - 2013) Page 2
BTH Biểu diễn tri thức và ứng dụng - Ontology cho cơ sở tri thức các đối tượng tính toán
MỤC LỤC
LỜI NÓI ĐẦU 2
I. ONTOLOGY 4
1. Giới thiệu 4
2. Thành phần của một Ontology 4
3. Phân loại Ontology 7
4. Xây dựng Ontology 8
II. MÔ HÌNH ĐỐI TƯỢNG TÍNH TOÁN–COKB 12
1. Đối tượng tính toán (Computational Object) 12
2. Các thành phần của mô hình COKB-ONT 13
3. Các loại sự kiện giả thiết trong mô hình COKB-ONT 15
4. Ngôn ngữ đặc tả 17
5. Các phương pháp thiết kế 19
III. ỨNG DỤNG MÔ HÌNH COKB GIẢI MỘT SỐ BÀI TOÁN HÌNH HỌC 2D
22
1. Mô tả bài toán 22
2. Xây dựng mô hình COKB giải quyết bài toán hình học 2D 22
KẾT LUẬN 35
TÀI LIỆU THAM KHẢO 36
Nguyễn Thị Diệu Anh (T.01 - 2013) Page 3
BTH Biểu diễn tri thức và ứng dụng - Ontology cho cơ sở tri thức các đối tượng tính toán
I. ONTOLOGY [1]
1. Giới thiệu
Ontology được tạm dịch là “Bản thể học”, theo nhà triết học siêu hình Aristotle định
nghĩa là một nhánh của triết học, liên quan đến sự tồn tại và bản chất các sự vật trong
thực tế. Hay nói cách khác, các đối tượng nghiên cứu của Ontology chủ yếu xoay quanh
việc phân loại các sự vật dựa trên các đặc điểm mang tính bản chất, hướng tới các lĩnh

vực khoa học mô tả các loại thực thể trong thế giới thực và cách chúng liên kết với nhau.
Trong ngành khoa học máy tính và khoa học thông tin, Ontology mô tả các đối
tượng và quan hệ giữa chúng trong một hệ thống hay ngữ cảnh cần quan tâm. Các đối
tượng có thể là khái niệm, từ vựng, thuật ngữ được sử dụng trong một lĩnh vực chuyên
môn nào đó. Ontology cũng có thể được hiểu như là một ngôn ngữ hay một tập các quy
tắc được dùng để xây dựng thành hệ thống Ontology, định nghĩa những tập phổ biến. Một
cách khái quát, Ontology là “một biểu diễn của khái niệm hóa”của một miền hay lĩnh vực
nhất định. Nó cung cấp bộ từ vựng chung bao gồm khái niệm, các thuộc tính quan trọng,
các định nghĩa về khái niệm và thuộc tính đó, ngoài ra nó còn cung cấp các ràng buộc
được xem như là giả định cơ sở về ý nghĩa của bộ từ vựng, nó được sử dụng trong các
lĩnh vực giao tiếp giữa người và người hay các hệ thống ứng dụng phân tán.
Ontology được ứng dụng trong trí tuệ nhân tạo, công nghệ Web ngữ nghĩa, hệ thống
kỹ thuật, hệ thống phần mềm, hệ thống kiến trúc thông tin và biểu diễn tri thức.
2. Thành phần của một Ontology
Một Ontology bao gồm:
- Các cá thể (individuals): các thực thể hoặc các đối tượng (đối tượng cơ bản hoặc cấp độ
nền). Các cá thể là thành phần cơ bản của một Ontology, bao gồm các đối tượng cụ thể
như con người, động vật, chiếc bàn… hoặc cá thể trừu tượng như thành viên, các từ…
Một ontology có thể không cần bất kỳ cá thể nào, nhưng một ontology là để cung cấp ngữ
nghĩa của việc phân lớp cá thể, dù cho cá thể này không thực sự là một phần của nó.
- Các lớp (classes): các tập hợp, bộ sưu tập, các khái niệm, nhóm đối tượng trừu tượng.
Chúng có thể chứa các cá thể, các lớp khác hoặc kết hợp cả hai. Một số ví dụ về lớp:
 Người (person): lớp mô tả các tiêu chí, đặc điểm của một con người.
Nguyễn Thị Diệu Anh (T.01 - 2013) Page 4
Hình đa giác
Hình đa giác
1
1
Hình tam giác
Hình tam giác

2
2
Hình tứ giác
Hình tứ giác
2
2
Hình vuông
Hình vuông
3
3
Hình chữ nhật
Hình chữ nhật
3
3
Hình lục giác
Hình lục giác
2
2
BTH Biểu diễn tri thức và ứng dụng - Ontology cho cơ sở tri thức các đối tượng tính toán
 Phương tiện xe cộ (vehicle): lớp trừu tượng mô tả các tiêu chí của một phương tiện di
chuyển.
 Hình: lớp trừu tượng mô tả các tiêu chí của hình trong toán học.
Các ontology biến đổi tùy thuộc nội dung và cấu trúc của nó. Một lớp có thể chứa
các lớp con, có thể là lớp tổng quan, có thể chỉ chứa các cá thể riêng lẻ. Dựa vào mối
quan hệ giữa các lớp để xếp thứ bậc, thông thường là có một lớp trên đỉnh, và các lớp con
cụ thể ở phía dưới cùng.
Ví dụ:
Hình 1: Mô hình các lớp đối tượng hình học
Nếu quy tắc phân vùng đảm bảo mỗi hình không thể ở hai lớp, các phân vùng này
được gọi là một phân vùng phân chia. Nếu quy tắc phân vùng đảm bảo mỗi đối tượng cụ

thể trong siêu lớp là một thể hiện của ít nhất một trong các lớp phân vùng, các phân vùng
này được gọi là một phân vùng toàn bộ
- Các thuộc tính (attributes): các khía cạnh, đặc tính, tính năng, đặc điểm hoặc thông số
mà các đối tượng (các lớp) có thể có. Các đối tượng trong ontology được mô tả thông qua
việc khai báo các thuộc tính của chúng. Mỗi thuộc tính đều có tên và giá trị để lưu trữ
thông tin của đối tượng. Giá trị của một thuộc tính có thể là một kiểu dữ liệu phức tạp.
- Các quan hệ (relations): cách thức mà các lớp và các cá thể có thể liên kết với nhau, quy
định rõ sự liên quan giữa đối tượng này và đối tượng khác. Ontology mô tả ngữ nghĩa các
quan hệ trong một lĩnh vực nào đó. Hệ thống phân cấp và sự thiết lập các loại quan hệ mô
tả khả năng biểu hiện của ngôn ngữ mà Ontology được thể hiện.
Một trong những kiểu quan hệ quan trọng là kiểu quan hệ xếp gộp (subsumption).
Kiểu quan hệ này mô tả các đối tượng nào là thành viên của lớp đối tượng. Ontology
phân biệt các loại quan hệ khác nhau:
Nguyễn Thị Diệu Anh (T.01 - 2013) Page 5
BTH Biểu diễn tri thức và ứng dụng - Ontology cho cơ sở tri thức các đối tượng tính toán
 Loại quan hệ giữa các lớp
 Loại quan hệ giữa các cá thể
 Loại quan hệ giữa cá thể và lớp
 Loại quan hệ giữa một đối tượng đơn lẻ và một bộ sưu tập (collection)
Loại quan hệ đôi khi được dùng để lưu trữ các loại đặc trưng của sự kiện hoặc trả lời
từng loại câu hỏi riêng biệt. Các định nghĩa của loại quan hệ được mô tả trong ontology,
sau đó ontology định nghĩa trên ngôn ngữ của nó.
- Các thuật ngữ chức năng (function – terms): cấu trúc phức tạp được hình thành từ
những mối quan hệ nhất định có thể được sử dụng thay cho một thuật ngữ cá thể trong
một báo cáo (statement)
- Các sự hạn chế (restrictions): những mô tả chính thức được tuyên bố về những điều phải
chính xác cho một số khẳng định được chấp nhận ở đầu vào.
- Các quy tắc (rules):tuyên bố có hình thức nhu một cặp nếu-thì (if-then) mô tả suy luận
logic có thể duợc rút ra từ một sự khẳng dịnh trong từng hình thức riêng.
- Các tiền đề (axioms): các khẳng định (bao gồm các quy tắc) trong một hình thức hợp lý

với nhau bao gồm các lý thuyết tổng thể mà ontology mô tả trong các lĩnh vực ứng dụng.
- Các sự kiện (even): Sự thay đổi các thuộc tính hoặc mối quan hệ.
Nguyễn Thị Diệu Anh (T.01 - 2013) Page 6
Top level Ontology
Task Ontology
Applicaon Ontology
Domain Ontology
BTH Biểu diễn tri thức và ứng dụng - Ontology cho cơ sở tri thức các đối tượng tính toán
3. Phân loại Ontology
Ontology mô tả khả năng khác nhau cho việc tái sử dụng hệ thống cơ sở tri thức, sự
phân loại của Ontology được tạo ra theo chủ đề của sự khái niệm hóa.
- Top level Ontology: là ontology lớp cao, nhằm diễn tả những khái niệm tổng quan và trừu
tượng, có thể chia sẻ qua nhiều lĩnh vực và ứng dụng. Do tính chất tổng quan nên loại
ontology này không sử dụng trực tiếp mà thông qua các ontology khác.
- Domain Ontology và Task Ontology: các loại ontology này lấy tri thức từ các lĩnh vực
xác định (y khoa, vật lý, địa lý…) hay tri thức về một tác vụ riêng biệt (chẩn đoán, cấu
hình, …). Những loại ontology này xác định, cụ thể và phạm vi hẹp hơn Top level
Ontology.
Khái niệm hóa trong domain ontology là các tác vụ độc lập và những miêu tả trong
các tác vụ không có sự phân biệt rõ rệt giữa các lĩnh vực. Task ontology được phát triển
cho các tác vụ xây dựng, sắp xếp, lên kế hoạch làm việc, giám sát trong các lĩnh vực như
khoa học, cơ sở tri thức máy học, theo dõi tên lửa, hướng dẫn điều trị… vv.
Hình 2: Phân loại Ontology
- Application Ontology: cung cấp một bộ từ vựng xác định được yêu cầu để mô tả các tác
vụ trong một ngữ cảnh ứng dụng cụ thể, nó có thể sử dụng cả domain ontology và task
ontology và mô tả vai trò của chúng trong các tác vụ.
Thông qua sơ đồ chúng ta có thể thấy được sự phân cấp giữa các loại ontology, các
ontology cấp thấp phạm vi ứng dụng thu hẹp hơn, kế thừa và chuyên môn hóa các khái
niệm, quan hệ các ontology cấp cao hơn.
4. Xây dựng Ontology

Phương pháp chung để xây dựng ontology là thực hiện hai bước cơ bản: xây dựng
cấu trúc lớp phân cấp và định nghĩa các thuộc tính cho lớp. Việc phát triển một ontology
phụ thuộc lớn vào công cụ sử dụng, tính chất, quy mô, sự thay đổi thường xuyên của
Nguyễn Thị Diệu Anh (T.01 - 2013) Page 7
BTH Biểu diễn tri thức và ứng dụng - Ontology cho cơ sở tri thức các đối tượng tính toán
miền và các quan hệ phức tạp giữa các đối tượng. Quá trình xây dựng ontology được lặp
đi lặp lại để cải thiện, tinh chế, từng bước phát triển và mở rộng các phạm vi. Hệ thống
ontology cần có khả năng kế thừa, tính linh động và mô tả các quan hệ phức tạp trong thế
giới thực.
Các giai đoạn của việc xây dựng một ontology
a.Xác định lĩnh vực quan tâm và phạm vi của ontology
Yêu cầu đối với một hệ thống ontology là mô tả lĩnh vực cần quan tâm nhằm phục
vụ cơ sở tri thức trong việc giải quyết những mục đích chuyên biệt. Công việc đặc tả để
xác định, phân tích, nhận diện chính xác các yêu cầu được thực hiện bằng cách trả lời các
câu hỏi sau:
- Ontology cần mô tả lĩnh vực nào?
- Ontology phục vụ cho mục đích chuyên biệt nào?
- Cơ sở tri thức của ontology giải quyết những vấn đề gì?
- Ontology phục vụ đối tượng nào?
- Ai là người xây dựng, quản trị ontology?
Trong quá trình xây dựng ontology, câu trả lời cho những câu hỏi này sẽ thường
xuyên thay đổi, nhất là những khi cần bổ sung tính năng trong việc xây dựng cơ sở tri
thức. Việc trả lời chính xác các câu hỏi tại mỗi bước lặp sẽ giúp giới hạn phạm vi của mô
hình cần mô tả và dự trù các kỹ thuật sẽ sử dụng trong quá trình phát triển. Sau khi phác
thảo phạm vi ontology dựa trên việc trả lời các câu hỏi trên, người thiết kế sẽ tiếp tục trả
lời các câu hỏi mang tính chất đánh giá nhằm mục đích tinh chỉnh lại phạm vi của hệ
thống cần xây dựng:
- Ontology đã có đủ thông tin để trả lời cho các câu hỏi liên quan đến cơ sở tri thức
hay không?
- Câu trả lời của cơ sở tri thức đã đáp ứng được mức độ, yêu cầu nào của người sử

dụng?
- Các ràng buộc và quan hệ phức tạp trong miên quan tâm được biểu diễn hợp lý
chưa?
b.Xem xét việc kế thừa các Ontology có sẵn
Dựa trên các ontology có sẵn, người thiết kế có thể xây dựng những ontology kế
thừa nhằm giảm thiểu thời gian, công sức và tinh chỉnh theeo yêu cầu hệ thống. Việc kế
thừa này khi tương tác giữa các ứng dụng khác nhau cần phải xem xét mức độ hiểu giữa
các lớp, các đối tượng, thực thể, quan hệ để thuận tiện trong việc trao đổi, thống nhất
thông tin.
Nguyễn Thị Diệu Anh (T.01 - 2013) Page 8
BTH Biểu diễn tri thức và ứng dụng - Ontology cho cơ sở tri thức các đối tượng tính toán
Vấn đề đặt ra khi xây dựng một ontology mới kế thừa các ontology cũ là trộn các
ontology và làm thế nào để bổ sung các quan hệ, thuộc tính có sẵn vào một hệ thống mới.
Ví dụ: Trong trường hợp tên các khái niệm được định nghĩa trong các ontology có thể
giống nhau trong khi chúng mô tả các đối tượng hoàn toàn khác nhau, hoặc xảy ra trường
hợp ngược lại.
Hiện nay, hầu hết các ontology sử dụng trong ngành khoa học máy tính và web ngữ
nghĩa đều được xây dựng trên các công cụ và hệ thống quản trị ontology, chẳng hạn như
Sesame, Ontolingua, Chimaera, … Đa số phần mềm này đều hỗ trợ chức năng tự động
trộn các ontology và người xây dựng cần kiểm tra lại bằng thủ công. Một số ontology
được chia sẻ trên web như UNSPSC (www.unspsc.org) do chương trình phát triển của
Liên Hiệp Quốc hợp tác với tổ chức Dun & Bradstreet nhằm cung cấp các thuật ngữ của
các sản phẩm và dịch vụ thương mại. Ngoài ra còn có RosettaNet (www.rosettanet.org),
DMOZ (www.dmoz.org), eClassOwl trong lĩnh vực thương mại, Open Biological,
BioPax trong lĩnh vực sinh vật học, UMLS trong lĩnh vực mạng ngữ nghĩa, GO (Gene
Ontology), WordNet (Đại học Princeton)
c. Liệt kê các thuật ngữ quan trọng trong Ontology
Đây là giai đoạn làm tiền đề cho hai bước tiếp theo là xây dựng cấu trúc phân cấp
lớp và định nghĩa các thuộc tính cho lớp. Ở bước này, người xây dựng liệt kê tất cả các
thuật ngữ xuất hiện trong miền quan tâm (có thể đồng nghĩa hoặc chồng nhau) như tên

khái niệm, quan hệ, thuộc tính…Thông thường, thuật ngữ là danh từ sẽ xây dựng thành
các lớp, tính từ sẽ thành thuộc tính, động từ sẽ thành quan hệ giữa các lớp.
d.Xây dựng các lớp và cấu trúc lớp phân cấp
Nhiệm vụ của bước này là định nghĩa các lớp từ một số thuật ngữ đã được liệt kê ở
bước trên, sau đó xây dựng cấu trúc lớp phân cấp theo quan hệ lớp cha – lớp con. Lớp ở
vị trí càng cao sẽ có mức độ tổng quát càng cao, tiếp theo là các lớp trung gian, và cuối
cùng ở vị trí thấp nhất là các lớp lá. Lớp lá là lớp không thể triển khai được nữa và chỉ
được biểu hiện bằng các thực thể.
Quan hệ giữa thực thể lớp con với lớp cha là quan hệ “is – a”, nghĩa là một thực thể
lớp con cũng là một thực thể của lớp cha. Một số hướng tiếp cận cho vấn đề xây dựng cấu
trúc lớp phân cấp như sau:
- Hướng xây dựng từ trên xuống (top – down): bắt đầu bằng các lớp có mức độ
tổng quát cao nhất, sau đó triển khai dần đến các lớp lá.
Nguyễn Thị Diệu Anh (T.01 - 2013) Page 9
BTH Biểu diễn tri thức và ứng dụng - Ontology cho cơ sở tri thức các đối tượng tính toán
- Hướng xây dựng từ dưới lên (bottom – up): ngược lại với hướng xây dựng cấu
trúc lớp phân cấp từ tren xuống, hướng này bắt đầu bằng việc xác định các lớp
được cho là cụ thể nhất, sau đó tổng quát hóa dần cho đến khi được lớp gốc.
- Kết hợp top – down và bottom – up (combination): cách này kết hợp cả hai
hướng xây dựng trên. Đầu tiên chọn các lớp nổi bật nhất trong lĩnh vực quan tâm,
sau đó tổng quát hóa và cụ thể hóa cho đến khi tìm được cấu trúc mong muốn.
e. Định nghĩa các thuộc tính và quan hệ cho lớp
Các lớp sau khi phân cấp chỉ mới được phân biệt với nhau bằng tên gọi. Để có đầy
đủ thông tin phục vụ cho việc biểu diễn tri thức, cần định nghĩa các thuộc tính của lớp.
Thuộc tính của lớp chứa các thông tin bên trong lớp, mô tả các khía cạnh của lớp và có
thể phân biệt với các lớp khác. Có các loại thuộc tính khác nhau:
- Về ý nghĩa, thuộc tính có thể được chia thành thuộc tính bên trong (intricsis
property) mô tả các tính chất nội tại bên trong sự vật và thuộc tính bên ngoài
(extrinsic property) mô tả phần biểu hiện của sự vật.
- Về giá trị: thuộc tính được chia thành thuộc tính đơn (simple property) chứa các

giá trị đơn và thuộc tính phức (complex property) có thể chứa hoặc tham chiếu
đến một đối tượng khác.
Một lớp sẽ kế thừa toàn bộ các thuộc tính của cha nó. Do đó, cần xem xét một thuộc
tính đã được định nghĩa ở mức cao hơn chưa? Thuộc tính chỉ nên được định nghĩa khi nó
là tính chất riêng của lớp đang xét mà không phải là biểu hiện ở các lớp cao hơn.
f. Định nghĩa các ràng buộc cho thuộc tính và quan hệ của lớp
Ràng buộc là các giới hạn giá trị mà một thuộc tính có thể nhận. Có hai loại ràng
buộc quan trọng là số yếu tố (cardinality) và kiểu (type)
- Ràng buộc số yếu tố: quy định số giá trị mà một thuộc tính có thể nhận, thông
thường có hai giá trị loại này là đơn trị (single) và đa trị (multiple), một số phần
mềm cho định nghĩa chính xác số yếu tố.
- Ràng buộc về kiểu: kiểu mà một thuộc tính có thể nhận là: chuỗi, số, boolean, liệt
kê và kiểu thực thể. Riêng kiểu thực thể có liên quan đến các khái niệm gọi là
miền (domain) được dùng để chỉ lớp hay các lớp mà một thuộc tính thuộc về và
khoảng (range) là lớp (hay các lớp) làm kiểu giá trị thuộc tính kiểu thực thể.
g. Tạo các thực thể cho lớp
Nguyễn Thị Diệu Anh (T.01 - 2013) Page 10
BTH Biểu diễn tri thức và ứng dụng - Ontology cho cơ sở tri thức các đối tượng tính toán
Đây là thao tác cuối cùng để hoàn thành một vòng lặp xây dựng ontology. Tại bước
này, người xây dựng tạo thực thể cho mỗi lớp và gán giá trị cho các thuộc tính. Về cơ
bản, các thực thể tạo nên nội dung của một cơ sở tri thức.
Nguyễn Thị Diệu Anh (T.01 - 2013) Page 11
BTH Biểu diễn tri thức và ứng dụng - Ontology cho cơ sở tri thức các đối tượng tính toán
II. MÔ HÌNH ĐỐI TƯỢNG TÍNH TOÁN – COKB
Mô hình tri thức các đối tượng tính toán (The Computational Object Knowledge
Base Ontoloy) là phương pháp biểu diễn tri thức từ cách tiếp cận hướng đối tượng để mô
tả kiến thức và các kỹ thuật lập trình tính toán. Nhiều kết quả mang lại trong việc sử dụng
công cụ và phương pháp hướng đối tượng [2], [3]. Mô hình này thực sự hữu ích trong
việc xây dựng các hệ thống kiến thức cơ sở, và đặc biệt là trong lĩnh vực giáo dục như
giải toán THCS, THPT, mô hình hóa giải các toán vật lý, hóa học, vv…

1.Đối tượng tính toán (Computational Object)
Định nghĩa:Ta gọi một đối tượng tính toán (C-object) là một đối tượng O có cấu
trúc bao gồm[4]:
(1) Một danh sách các thuộc tính Attr(O) = {x1, x2, , xn}. Trong đó mỗi thuộc tính lấy
giá trị trong một miền xác định nhất định, và giữa các thuộc tính ta có các quan hệ
thể hiện qua các sự kiện, các luật suy diễn hay các công thức tính toán.
(2) Các hành vi liên quan đến sự suy diễn và tính toán trên các thuộc tính của đối tượng
hay trên các sự kiện như:
 Xác định bao đóng của một tập hợp thuộc tính A Attr(O), tức là đối tượng O có khả
năng cho ta biết tập thuộc tính lớn nhất có thể được suy ra từ A trong đối tượng O.
 Xác định tính giải được của bài toán suy diễn tính toán có dạng AB với
A Attr(O) và B Attr(O). Nói một cách khác, đối tượng có khả năng trả lời câu hỏi
rằng có thể suy ra được các thuộc tính trong B từ các thuộc tính trong A không.
 Thực hiện các tính toán
 Thực hiện việc gợi ý bổ sung giả thiết cho bài toán
 Xem xét tính xác định của đối tượng, hay của một sự kiện
Ví dụ: Đối tượng tính toán thuộc loại “tam giác” được biểu diễn theo mô hình trên
gồm có:
Attrs = {GocA, GocB, GocC, a, b, c, ha, hb, hc, ma, mb, mc, pa, pb, pc, S, p, R, r, ra,
rb, rc}
F = {GocA + GocB + GocC = Pi, a*sin(GocB) = b*sin(GocA), …}
Facts = {}
Nguyễn Thị Diệu Anh (T.01 - 2013) Page 12
BTH Biểu diễn tri thức và ứng dụng - Ontology cho cơ sở tri thức các đối tượng tính toán
Rules = {{GocA = GocB} {a = b}, {a = b} {GocA = GocB},
{a
2
= b
2
+ c

2
{GocA = Pi/2}…}
2. Các thành phần của mô hình COKB-ONT
Mô hình tri thức các đối tượng tính toán (Computational Objects Knowledge Base)
là một hệ thống gồm 6 thành phần: C, H, R, Ops, Funcs, Rules [5]. Ý nghĩa các thành
phần như sau:
 C là tập hợp các khái niệm của các đối tượng tính toán (C-Object).
 H là tập hợp các quan hệ hệ thống phân cấp trên các khái niệm (hierarchy relation
on the concepts).
 R là tập hợp các quan hệ về các khái niệm (concepts).
 Ops là một tập hợp các thao tác tính toán (operators).
 Funcs là một tập các hàm (functions).
 Rules là một bộ quy tắc.
C:Mỗi khái niệm trong C là một lớp đối tượng của C. Cấu trúc của C có thể được mô
hình hóa (Attrs, F, Facts, Rules) như trên. Một đối tượng cũng có những Behavior cơ bản
để giải quyết vấn đề trên tập thuộc tính của nó.
H (hierarchy) đại diện cho các mối quan hệ đặc biệt trên C và H có thể được coi như
là sơ đồ Hasse cho mối quan hệ đó.
Ví dụ: Hình sau mô tả mối quan hệ trên các đối tượng hình tam giác trong hình học
phẳng:
TAM_GIAC_VUONG_CAN TAM_GIAC_DEU
TAM_GIAC_VUONG TAM_GIAC_CAN
Nguyễn Thị Diệu Anh (T.01 - 2013) Page 13
BTH Biểu diễn tri thức và ứng dụng - Ontology cho cơ sở tri thức các đối tượng tính toán
TAM_GIAC
R là một tập hợp các quan hệ khác trên C, và trong trường hợp quan hệ R là một quan
hệ nhị phân, nó có thể có các thuộc tính như đối xứng, phản xạ, vv… Trong hình học
phẳng và hình học giải tích có nhiều mối quan hệ như vậy: Mối quan hệ "thuộc về" của
một điểm và một đường thẳng. Mối quan hệ "song song", “vuông góc”, “cắt nhau” giữa
hai đoạn thẳng, đường thẳng. Mối quan hệ “bằng nhau” giữa các hình tam giác,

Opslà bộ bao gồm các thao tác, phép toán (Operators) trên C. Thành phần này thể hiện
một phần của tri thức trên tập các đối tượng.
Funcslà bộ bao gồm các hàm trên C-Object. Tri thức về hàm cũng là một loại tri thức
phổ biến trong các lĩnh vực kiến thức trong thực tế, đặc biệt là lĩnh vực khoa học tự nhiên
như các lĩnh vực của toán học, vật lý, hóa học…
Rules đưa ra các quy tắc suy luận. Các quy tắc thể hiện trên các định lý, định luật, tiên
đề, công thức, và vv. Hầu như các quy tắc suy luận có thể được viết như hình thức "nếu
<facts> thì <facts>". Trong cấu trúc của một quy tắc suy luận, <facts> là một tập hợp các
giải thuyết với phân loại nhất định. Vì vậy, chúng ta sử dụng các quy tắc suy diễn trong
mô hình COKB. Các giả thuyết 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.
Dựa trên mô hình COKB-ONT, cơ sở tri thức có thể được tổ chức bởi các thành phần
như sau:
1. Danh sách các khái niệm về các loại của các đối tượng, các thuộc tính, chức năng,
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 tính năng của các đối tượng.
Nguyễn Thị Diệu Anh (T.01 - 2013) Page 14
BTH Biểu diễn tri thức và ứng dụng - Ontology cho cơ sở tri thức các đối tượng tính toán
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 các thuộc
tính của nó.
3. Các bảng đại diện cho mối quan hệ phân cấp trên các khái niệm.
4. Các bảng đại diện cho các mối quan hệ khác của các khái niệm.
5. Các bảng đại diện cho kiến thức về các thao tác xử lý.
6. Các bảng đại diện cho kiến thức về hàm chức năng.
7. Các bảng mô tả cho các giả thuyết, định lý.
8. Các bảng mô tả cho các quy tắc suy luận.
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 tập các quy tắc.

10. Danh sách các mẫu vấn đề, bài toán liên quan
3. Các loại sự kiện giả thiết trong mô hình COKB-ONT
Trong mô hình COKB có 11 loại sự kiện giả thiết được chấp nhận. Các loại sự kiện
giả thiếtđược đề xuất từ nghiên cứu các yêu cầu thực tế và các vấn đề trong nhiều lĩnh
vực tri thức khác nhau. Các loại các sự kiện như sau:
- Loại 1: Thông tin về loại đối tượng.
VD: ABC là một tam giác vuông.
ABCD là một hình bình hành.
Ma trận A là một ma trận vuông
- Loại 2: Định nghĩa một loại đối tượng hoặc thuộc tính của một đối tượng.
VD: Cho bài toán hình học giải tích với các giả thiết sau:
- Cho 2 điểm E, F và đường thẳng (d) được xác định.
- (P) là mặt phẳng có các giả thiết sau: E (P); F (P); (d) // (P).
Kết luận: Tìm phương trình của (P)
Trong bài toán này có 3 sự kiện thuộc loại 2:
- Điểm E xác định
Nguyễn Thị Diệu Anh (T.01 - 2013) Page 15
M N
BTH Biểu diễn tri thức và ứng dụng - Ontology cho cơ sở tri thức các đối tượng tính toán
- Điểm F xác định
- Đường thẳng (d) xác định, hay là đã biết phương trình đường thẳng (d).
- 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 biểu thức là một hằng số.
VD: - Trong tam giác ABC, giả sử rằng chiều dài của cạnh BC = 5.
-Mặt phẳng (P) có pt: 2x + 3y - z + 6 = 0 và điểm M có tọa độ (1, 2, 3)
- Loại 4: Đẳng thức giữa các loại đối tượng hoặc các thuộc tính của đối tượng.
VD: Cho tứ giác ABCD là hình bình hành. Giả sử M và N là hai điểm thuộc AC sao cho
AM = CN. Chứng minh rằng hai tam giác ABM và CDN bằng nhau.
B C


A D
- Loại 5: sự phụ thuộc của một đối tượng vào các đối tượng khác bằng một phương
trình.
VD: w = 2*u + 3*v. Trong đó u và v là các vector.
- Loại 6: Một quan hệ của các đối tượng hoặc thuộc tính của đối tượng.
Trong hầu hết các vấn đề đều có sự kiện loại 6. Chẳng hạn như hai đường thẳng song
song, điểm thuộc đường thẳng, đường thẳng thuộc mặt phẳng, vv…
- Loại 7: Định nghĩa một hàm
- Loại 8: Định nghĩa một hàm bằng một giá trị hoặc một biểu thức hằng số
- Loại 9: Đẳng thức giữa một đối tượng và một hàm
- Loại 10: Đẳng thức giữa hai hàm phân biệt
- Loại 11: Sự phụ thuộc của một hàm vào hàm khác hoặc các đối tượng khác bằng một
phương trình
Nguyễn Thị Diệu Anh (T.01 - 2013) Page 16
BTH Biểu diễn tri thức và ứng dụng - Ontology cho cơ sở tri thức các đối tượng tính toán
5 loại sự kiện cuối cùng có liên quan đến các function. Tập Funcs được mô hình hóa
trong COKB.
Các mô hình và các loại sự kiện có thể được dùng biểu diễn các tri thức trong ứng
dụng thực tế. Các thuật toán được thiết kế, xây dựng và được dùng trong các ứng dụng
khác nhau như hệ thống hỗ trợ học tập tri thức và phân tích giải quyết vấn đề hình học
giải tích, chương trình học và phân tích các vấn đề trong hình học phẳng, hệ thống tri
thức trong đại số tuyến tính, vv…
4. Ngôn ngữ đặc tả
Ngôn ngữ để xây dựng mô hình COKB để mô tả các kiến thức cơ bản. Ngôn ngữ này
bao gồm các yếu tố sau:
- Tập các ký tự: từ, số và kí tự đặc biệt
- Từ vựng: từ khóa, các tên
- Kiểu dữ liệu: kiểu dữ liệu cơ sở hoặc kiểu dữ liệu có cấu trúc
- Biểu thức và câu
- Các câu lệnh

- Các cú pháp để xác định thành phần của mô hình COKB
Ví dụ: định nghĩa một số cấu trúc
- Định nghĩa biểu thức:
- expr ::= expr | rel-expr | logic-exp
- expr ::= expr add-operator term | term
- term ::= term mul-operator factor | factor
Định nghĩa kiểu đối tượng tính toán
C-Object_type ::= COBJECT name;
[isa]
[constructs]
[attributes]
[constraints]
[crelations]
[facts]
Nguyễn Thị Diệu Anh (T.01 - 2013) Page 17
BTH Biểu diễn tri thức và ứng dụng - Ontology cho cơ sở tri thức các đối tượng tính toán
[rules]
ENDOBJECTS;
Định nghĩa quan hệ tính toán
Crelations::=CRELATION:
crelation-def+
ENDCRELATION;
Crelations-def ::= CR name;
MF: name <,name>*;
MFEXP: equation;
ENDCR
equation ::= expr = expr
Định nghĩa quan hệ đặc biệt
isa ::= ISA: name <,name>*;
hasa ::= HASA:

[fact-def]
Định nghĩa sự kiện giả thiết:
facts ::= FACT: fact-def+
fact-def ::= object-type| attribute| name|
equation|relation|expression
object-type ::= cobject-type (name)|
cobject-type (name <, name>*)
relation ::= relation (name <, name>*)
Định nghĩa quan hệ cơ sở của tập sự kiện giả thiết
relation-def ::= RELATION name;
ARGUMENT: argument-def +
[facts]
ENDRELATION;
Argument-def ::= name <,name>*: type;
Định nghĩa hàm
function-def ::= FUNCTION name;
ARGUMENT: argument-def+
RETURN: return-def;
[constraint]
Nguyễn Thị Diệu Anh (T.01 - 2013) Page 18
BTH Biểu diễn tri thức và ứng dụng - Ontology cho cơ sở tri thức các đối tượng tính toán
[facts]
ENDFUNCTION;
return-def ::= FUNCTION name;
5. Các phương pháp thiết kế
Trong phần này trình bày quy trình xây dựng một hệ thống cơ sở tri thức để giải
quyết vấn đề và kỹ thuật trong mỗi giai đoạn.
a. Cấu trúc hệ thống
Một hệ thống cơ sở tri thức, hỗ trợ tìm kiếm, truy vấn và giải quyết vấn đề có cấu
trúc như một hệ thống chuyên gia bao gồm sáu thành phần như sau:

 Các 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 kiến
thức cụ thể.
 Các công cụ suy luận: sử dụng những kiến 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 vấ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 phải và thực tế cho việc giải
quyết vấn đề.
 Các thành phần giải quyết vấn đề: hỗ trợ giải thích các giai đoạn, các khái niệm trong quá
trình giải quyết vấ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à khấu trừ.
 Quản lý tri thức: hỗ trợ cập nhật kiến thức vào cơ sở tri thức, hỗ trợ tìm kiếm kiến thức và
kiểm tra tính nhất quán của kiến thức.
 Giao diện: cần có một ngôn ngữ đặc trưng về mặt kỹ thuật để trao đổi thông tin giữa
người học và hệ thống, giữa hệ thống và người dạy.
b. Thiết kế, xử lý
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 cần thiết dựa trên mô hình COKB
Giai đoạn 2: Phân loại kiến thức trong Giai đoạn 1 để phân tích các yêu cầu.
Nguyễn Thị Diệu Anh (T.01 - 2013) Page 19
BTH Biểu diễn tri thức và ứng dụng - Ontology cho cơ sở tri thức các đối tượng tính toán
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 và đặc
điểm kỹ thuật của 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 tập tin dưới đây.
- Tập tin OBJECT_KINDS.txt lưu trữ tên của các khái niệm.
- Tập tin HIERARCHY.txt lưu trữ thông tin của các sơ đồ Hasse đại diện cho thành phần
Hcủa mô hình COKB.
- Các tập tin RELATIONS.txt lưu trữ thông tin của các quan hệ.
- Tập tin OPERATORS.txt đặc tả cách thức thao tác của các đối tượng hay một thành
phần hàm nào đó (thành phần Ops của mô hình COKB).
- Các tập tin FUNCTIONS.txt lưu trữ những 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).
- Các tập tin FACT_KINDS.txt lưu trữ các định nghĩa của các loại sự kiện (giả thiết).
- RULES.txt tập tin lưu trữ quy tắc suy luận.
Các tập tin SOMEOBJECTS.txt lưu trữ các đối tượng nhất định.
Nguyễn Thị Diệu Anh (T.01 - 2013) Page 20
BTH Biểu diễn tri thức và ứng dụng - Ontology cho cơ sở tri thức các đối tượng tính toán
Giai đoạn 4: Mô hình hóa các vấn đề và thiết kế thuật toán. Chúng ta sử dụng mạng các đối
tượng tính toán. Thành phần của nó gồm 3 tập hợp sau:
O = {O1, O2, . . ., On},
F = {f1, f2, . . ., fm},
Goal= {g1,g2, ,gm}.
Trong mô hình trên tập O bao gồm n đối tượng, F là tập hợp các sự kiện (giả thiết) được
đưa ra trên các đối tượng, và các giả thiết dựa trên các định lý, định luật có sẵn. Goal là tập các
vấn đề cần làm sáng tỏ (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 các giả thiết để xác định các đối tượng tương ứng có liên quan tới nó.
 Bước 2: Phân loại các kiểu dữ kiện dựa trên mô hình COKB.
 Bước 3: Mô hình hóa các vấn đề được phân loại trong bước 1 và bước 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 các vấn đề cho hệ
thống để giải quyết chúng.
Giai đoạn 5: Tạo một ngôn ngữ truy vấn cho mô hình. Ngôn ngữ này giúp thiết kế cách thứctrao
đổi thông tin giữa hệ thống và người sử dụng.
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.
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ư các hệ
thống máy tính khác.
Nguyễn Thị Diệu Anh (T.01 - 2013) Page 21
BTH Biểu diễn tri thức và ứng dụng - Ontology cho cơ sở tri thức các đối tượng tính toán
IV. ỨNG DỤNG MÔ HÌNH COKB GIẢI MỘT SỐ BÀI TOÁN
HÌNH HỌC 2D
1. Mô tả bài toán

Xét các bài toán hình học giải tích 2 chiều (liên quan đến các đối tượng hình học cơ bản
như điểm, vector, đường thẳng) được phát biểu như sau:
Cho trước một số đối tượng hình học cùng với một số sự kiện về sự xác định của đối tượng
hay quan hệ giữa các đối tượng; yêu cầu xác định một đối tượng. Ta muốn xây dựng một ứng
dụng để giải quyết các bài toán hình học giải tích 2 chiều trên.
2. Xây dựng mô hình COKB giải quyết bài toán hình học 2D
a. Thu thập tri thức
 Số : Số thực, số nguyên, số phức, vv
 Các đối tượng được sử dụng: điểm, đường thẳng, đường tròn, tam giác, tam giác vuông,
tam giác cân, tam giác đều, tứ giác, hình thang, hình thang cân, hình thang vuông, hình
bình hành, hình chữ nhật, hình thoi, hình vuông
 Các khái niệm được thực hiện trên các đối tượng khác nhau: hai vector bằng nhau, hai
vector ngược nhau, hai đường thẳng song song, cắt nhau, trùng nhau. Hai tam giác bằng
nhau, đồng dạng với nhau, tính chất của hình bình hành, hình vuông, hình tứ giác
 Lý thuyết về các tính chất liên quan giữa các đối tượng: Tam giác cân là tam giác có 2
cạnh bên bằng nhau. Tam giác vuông là tam giác có một góc vuông. Tam giác vuông cân
là tam giác cân có một góc vuông hoặc là tam giác vuông có 2 cạnh bên bằng nhau. Tam
giác đều là tam giác cân có một góc bằng 60 độ hoặc là tam giác có 3 cạnh bằng nhau
 Danh sách các tập thuộc tính: tam giác có 3 đỉnh & 3 cạnh, tứ giác có 4 đỉnh & 4 cạnh,
tam giác đều có 3 cạnh bằng nhau & 3 góc bằng nhau
 Các quan hệ tính toán: Quan hệ “thuộc” giữa điểm và một đường thẳng, điểm và một
tam giác, điểm và một tứ giác
 Các định lý: Định lý Cauchy, bất đẳng thức trong tam giác, định lý Pitago, định lý tổng
các góc trong một đa giác, tiên đề Ơclit
b. Phân tích các khái niệm, yêu cầu
Nguyễn Thị Diệu Anh (T.01 - 2013) Page 22
BTH Biểu diễn tri thức và ứng dụng - Ontology cho cơ sở tri thức các đối tượng tính toán
 Xây dựng các khái niệm này từ khái niệm khác: Đường thẳng là tập hợp các Điểm thoả
mãn một phương trình bậc nhất bất kỳ, ba Điểm bất kỳ không thẳng hàng tạo thành một
Tam Giác

 Khái niệm được kế thừa từ một khái niệm khác: Hình Bình Hành là Tứ Giác có 2 cặp
canh đối (Đoạn Thẳng) song song với nhau, Tam Giác Cân là Tam Giác có 2 cạnh bên
bằng nhau
 Thuộc tính của các khái niệm: Khoảng cách từ một điểm đến một đường thẳng là một số
thực ⇔ d(M,delta) = VARIABLE.
 Tập các thao tác trên các đối tượng: cộng đoạn thẳng, cộng vector, cộng góc, sin, cos,
tan, cotg
 Tập các hàm tính toán: Hàm đặc tả quan hệ "nằm trong” của điểm và tam giác
c. Tổ chức hệ cơ sở tri thức
Dựa trên mô hình COKB và ngôn ngữ đặc tả, biểu diễn tri thức trong các file văn
bản .txt. Cấu trúc các tập tinh như sau:
 Tập tin OBJECT_KINDS.txt lưu trữ tên của các khái niệm.
begin_Objects
<object name>

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

end_Hierarchy
Nguyễn Thị Diệu Anh (T.01 - 2013) Page 23
BTH Biểu diễn tri thức và ứng dụng - Ontology cho cơ sở tri thức các đối tượng tính toán
 Các tập tin RELATIONS.txt (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
 Các tập tinh OPERATORS.txt (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
 Các tập tin FUNCTIONS.txt (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
Nguyễn Thị Diệu Anh (T.01 - 2013) Page 24
BTH Biểu diễn tri thức và ứng dụng - Ontology cho cơ sở tri thức các đối tượng tính toán
 Tập tin FACT_KINDS.txt lưu trữ các định nghĩa của các loại các dữ kiện.
Begin_Methods
Begin_Method < name of method> Begin_description
<path to the file which describes method> End_description
End_Method
Begin_Method <name of method>

Begin_description
<path to the file which describes method>
End_description End_Method

End_Methods
 Tập tin RULES.txt lưu trữ quy tắc suy luận.
Begin_Rules
Begin_Rule <Rule name>:<kind of rule> Variables:
<object>:<kind>
<object>:<kind>

Begin_description
< path to the file which describes rules> End_description
Goal:
<result of using rule>
End_Goal End_Rule
Begin_Rule <Rule name>:<kind of rule> Variables:
<object>:<kind>
<object>:<kind>

Begin_description
< path to the file which describes rules> End_description
Goal:
Nguyễn Thị Diệu Anh (T.01 - 2013) Page 25

×