COKB-ONT hay còn gọi là Computational Object Knowledge Base Ontology, đã đưa ramộ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ệcthiết kế hệ thống cơ s
Trang 1ĐẠ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
Trang 2MỤC LỤC
I GIỚI THIỆU 3
II ONTOLOGY 4
1 Khái niệm Ontology 4
2 Phân loại Ontology 6
3 Phương pháp xây dựng ontology 7
III CƠ SỞ TRI THỨC TÍNH TOÁN ĐỐI TƯỢNG ONTOLOGY 11
1 Các thành phần của mô hình COKB 11
2 Các loại sự kiện trong mô hình COKB 13
3 Phương pháp thiết kế 14
4 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 18
IV ỨNG DỤNG MÔ HÌNH COKB TRONG BÀI TOÁN ĐIỆN 1 CHIỀU - VẬT LÝ 9 29
1 Yêu cầu bài toán: 29
2 Thu thập tri thức: 30
3 Biểu diễn tri thức: 31
4 Tổ chức dữ liệu trên máy tính: 33
5 Thuật toán suy diễn: 37
6 Ví dụ: 40
V KẾT LUẬN 46
Trang 3LỜ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ộttrong 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áodụ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ứutrong 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ếtkhá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 ramộ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ệcthiế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ượttrì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ánvật lý điện 1 chiều cơ bản
Trang 4I 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ácnhau 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ĩnhvự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 đạitrong 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ễntri 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ìnhComputational 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 ứngdụ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àitoá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ảnphù hợp Nó không chỉ cung cấp cho con người có thể đọc được mà còn là một phươngphá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ápmớ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ụ suyluậ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ở trithức Ngày nay, COKB-ONT thường được sử dụng để biểu diễn tri thức trong nhữngphạm vi khác nhau như toán học, vật lý…
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 khoahọ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
Trang 6II 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ễngiả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ẹptrong 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ệ trithứ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 chiasẻ” (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áckhá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áchdiễ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 đượcgiả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ìnhthứ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ạnhmỗ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:
Trang 7Trong 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ộtthuộ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ínhnă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
Trang 8Person
Person Person
expYear
Person
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áchkhá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 trithứ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 đó
Trang 9 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 (Kactus1996),và Methontology (Fernandez-Lopez, Gomes-Perez & Juritso 1997) Các phươngphá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ìnhphá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ápluậ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áttriển phần mềm Protégé để trình diễn và soạn thảo Ontology)
Trang 10Bướ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ềnxá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âmhuyế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ậykhi 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áclớp trong ontology tương ứng Tất nhiên không phải thuật ngữ nào cũng đưa vàoontology, vì chưa chắc đã định vị được cho thuật ngữ đó Do đó cần phải liệt kê các thuậtngữ, để xác định ngữ nghĩa cho các thuật ngữ đó, cũng như cân nhắc về phạm vi củaontology 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áiniệ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ĩacủa các thuật ngữ đã có để có được các mô tả cho thuật ngữ đó, mà còn phải định vị chocá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ấtvới các lớp đã có nếu có nhiều thuật ngữ có ngữ nghĩa như nhau (đồng nghĩa, hay đangô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
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 địnhphâ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
Trang 11Có 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ụ: TrongOntology 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ổngquá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ânviê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ệthó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ớpcon: 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ộctí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ínhsau: Họ, Tên, Ngày sinh, Giới tính, Nghề nghiệp, Địa chỉ, Điện thoại,…
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ị chophé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ể
Trang 12nhậ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àngchặ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 đó
Trang 13III 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ácnhau
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 đốitượ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ươngphá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 choviệ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ĩnhvự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 6thà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)
Trang 14- 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ácthuộ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êntậ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ínhchấ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ềuquan hệ như: “thuộc về” một điểm và đường thẳng, quan hệ “song song” giữa hai đoạnthẳ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ầnbao 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 khoahọ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
Trang 15dạ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
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ễntrong 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ể đượcxá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áctoá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ế baogồ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 baogồ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ácbà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
Trang 16-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 đốitượ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 đốitượng bằng một giá trị hoặc một hằng số biểu thức
-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 đốitượ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ơ
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ộthằ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 đốitượ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ốngnhấ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ứcgiả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ẽ đượctrình bày
Trang 17a) 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ànhphầ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 trithứ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àitoá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 đó
Trang 18Bộ 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à suyluậ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
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ệtcho 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ạnsau
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áctậ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 chothà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ủahà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
Trang 19- 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}
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ảiquyế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
Trang 20phả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ốmáy tính như Visual Basic, dot Net, C#, SQL Server Chúng dễ dàng được sử dụng chosinh 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 đề trongtoá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ăngnà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ìmkiế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ácmẫ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ữ đơngiả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ặcgiữ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ăngnà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 đơngiả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
Trang 21 Á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ộthà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,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ạimộ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êntụ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àmtrong 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ẫunhiên, chuỗi thay thế, chuỗi hàm, vùng hội tụ của chuỗi hàm, hội tụ củachuỗ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…
Trang 22B 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ắcL'Hospital, bảng derivation, bất đẳng thức Cauchy-Schwarz, công thức Newton-Leibnitz,
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ápphâ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 đạohà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ậphợ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ạncủ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ấpcao: đạo hàm; vi phân: hàm,đạo hàm; Nguyên hàm: hàm,đạo hàm; Tíchphân:hàm, nguyên hàm; Dãy số: mảng số; dãy số dương: dãy số; chuỗi đandấu: dãy ; chuỗi hàm: chuỗi, hàm; Chuỗi lũy thừa: chuỗi hàm…
Trang 23 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: ánhxạ…
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ồilõ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ử…
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 tinvă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
SERIES FUNCTION DERIVATION
Trang 24INITIAL_FUNCTION
end_Objectstập tin HIERARCHY.txt lưu trữ các sơ đồ Hasse đại diện cho thànhphầ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 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 >, }