1. Trang chủ
  2. » Luận Văn - Báo Cáo

XÂY DỰNG HỆ THỐNG TRA CỨU KIẾN THỨC MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CHO NGÀNH CÔNG NGHỆ THÔNG TIN

75 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng Hệ thống Tra cứu Kiến thức Môn học Lập Trình Hướng Đối tượng cho Ngành Công Nghệ Thông Tin
Tác giả Nguyễn Đại Dương
Người hướng dẫn TS. Nguyễn Đình Hiển
Trường học Trường Đại học Quốc tế Hồng Bàng
Chuyên ngành Khoa học Máy tính
Thể loại Luận văn Thạc sĩ
Năm xuất bản 2024
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 75
Dung lượng 1,76 MB

Nội dung

XÂY DỰNG HỆ THỐNG TRA CỨU KIẾN THỨC MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CHO NGÀNH CÔNG NGHỆ THÔNG TINXÂY DỰNG HỆ THỐNG TRA CỨU KIẾN THỨC MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CHO NGÀNH CÔNG NGHỆ THÔNG TINXÂY DỰNG HỆ THỐNG TRA CỨU KIẾN THỨC MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CHO NGÀNH CÔNG NGHỆ THÔNG TINXÂY DỰNG HỆ THỐNG TRA CỨU KIẾN THỨC MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CHO NGÀNH CÔNG NGHỆ THÔNG TINXÂY DỰNG HỆ THỐNG TRA CỨU KIẾN THỨC MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CHO NGÀNH CÔNG NGHỆ THÔNG TINXÂY DỰNG HỆ THỐNG TRA CỨU KIẾN THỨC MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CHO NGÀNH CÔNG NGHỆ THÔNG TINXÂY DỰNG HỆ THỐNG TRA CỨU KIẾN THỨC MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CHO NGÀNH CÔNG NGHỆ THÔNG TINXÂY DỰNG HỆ THỐNG TRA CỨU KIẾN THỨC MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CHO NGÀNH CÔNG NGHỆ THÔNG TINXÂY DỰNG HỆ THỐNG TRA CỨU KIẾN THỨC MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CHO NGÀNH CÔNG NGHỆ THÔNG TINXÂY DỰNG HỆ THỐNG TRA CỨU KIẾN THỨC MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CHO NGÀNH CÔNG NGHỆ THÔNG TINXÂY DỰNG HỆ THỐNG TRA CỨU KIẾN THỨC MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CHO NGÀNH CÔNG NGHỆ THÔNG TINXÂY DỰNG HỆ THỐNG TRA CỨU KIẾN THỨC MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CHO NGÀNH CÔNG NGHỆ THÔNG TINXÂY DỰNG HỆ THỐNG TRA CỨU KIẾN THỨC MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CHO NGÀNH CÔNG NGHỆ THÔNG TINXÂY DỰNG HỆ THỐNG TRA CỨU KIẾN THỨC MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CHO NGÀNH CÔNG NGHỆ THÔNG TINXÂY DỰNG HỆ THỐNG TRA CỨU KIẾN THỨC MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CHO NGÀNH CÔNG NGHỆ THÔNG TINXÂY DỰNG HỆ THỐNG TRA CỨU KIẾN THỨC MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CHO NGÀNH CÔNG NGHỆ THÔNG TINXÂY DỰNG HỆ THỐNG TRA CỨU KIẾN THỨC MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CHO NGÀNH CÔNG NGHỆ THÔNG TINXÂY DỰNG HỆ THỐNG TRA CỨU KIẾN THỨC MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CHO NGÀNH CÔNG NGHỆ THÔNG TINXÂY DỰNG HỆ THỐNG TRA CỨU KIẾN THỨC MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CHO NGÀNH CÔNG NGHỆ THÔNG TINXÂY DỰNG HỆ THỐNG TRA CỨU KIẾN THỨC MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CHO NGÀNH CÔNG NGHỆ THÔNG TINXÂY DỰNG HỆ THỐNG TRA CỨU KIẾN THỨC MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CHO NGÀNH CÔNG NGHỆ THÔNG TINXÂY DỰNG HỆ THỐNG TRA CỨU KIẾN THỨC MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CHO NGÀNH CÔNG NGHỆ THÔNG TINXÂY DỰNG HỆ THỐNG TRA CỨU KIẾN THỨC MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CHO NGÀNH CÔNG NGHỆ THÔNG TIN

Trang 1



NGUYỄN ĐẠI DƯƠNG

XÂY DỰNG HỆ THỐNG TRA CỨU KIẾN THỨC MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CHO NGÀNH

CÔNG NGHỆ THÔNG TIN

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

TP Hồ Chí Minh, năm 2024

Trang 2



NGUYỄN ĐẠI DƯƠNG

XÂY DỰNG HỆ THỐNG TRA CỨU KIẾN THỨC MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CHO

NGÀNH CÔNG NGHỆ THÔNG TIN

Chuyên Ngành: Khoa học Máy tính

Mã ngành: 8480101

Luận văn Thạc sĩ: Khoa học máy tính

GVHD: TS NGUYỄN ĐÌNH HIỂN

TP Hồ Chí Minh, năm 2024

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan rằng đây là công trình nghiên cứu của tôi, có sự hỗ trợ từ Giáo viên hướng dẫn là TS Nguyễn Đình Hiển Các nội dung nghiên cứu và kết quả trong đề tài này là trung thực và chưa từng được ai công bố trong bất cứ công trình nghiên cứu nào trước đây Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính tác giả thu thập từ các nguồn khác nhau có ghi trong phần tài liệu tham khảo

Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm trước Hội đồng cũng như kết quả luận văn của mình

TP HCM, ngày … tháng … năm …

Học viên thực hiện

NGUYỄN ĐẠI DƯƠNG

Trang 4

Chân thành cảm ơn tất cả người thân trong gia đình, đã tạo điều kiện tốt nhất cho tôi trong suốt quá trình đi học và hoàn thành Luận văn Thạc sĩ

TP HCM, ngày … tháng … năm …

Học viên thực hiện

NGUYỄN ĐẠI DƯƠNG

Trang 5

MỤC LỤC

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

MỤC LỤC iii

DANH MỤC BẢNG vi

DANH MỤC HÌNH vii

CHƯƠNG 1: GIỚI THIỆU 1

1.1 Lý do chọn đề tài 1

1.2 Các hệ thống hỗ trợ tra cứu kiến thức 4

1.3 Mục tiêu luận văn 7

1.4 Nội dung nghiên cứu và Phạm vi đề tài 8

1.4.1 Nội dung nghiên cứu 8

1.4.2 Phạm vi đề tài 8

1.5 Tiểu kết 8

CHƯƠNG 2: KHẢO SÁT KIẾN THỨC MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG VÀ CÁC PHƯƠNG PHÁP BIỂU DIỄN TRI THỨC 10

2.1 Thu thập tri thức theo bài học 10

2.2 Thu thập theo phân loại tri thức 11

2.3 Các phương pháp biểu diễn tri thức cho hệ thống tra cứu kiến thức 20

2.4 Tiểu kết 23

Trang 6

CHƯƠNG 3: CƠ SỞ TRI THỨC VÀ CÁC VẤN ĐỀ TRA CỨU KIẾN THỨC

HỖ TRỢ HỌC TẬP 24

3.1 Ontology biểu diễn tri thức dạng hàm và Đồ thị tri thức 24

3.1.1 Mô hình tri thức quan hệ và toán tử 24

3.1.2 Tri thức dạng hàm 28

3.1.3 Đồ thị tri thức và ontology Funcs-Ops model 32

3.2 Các vấn đề tra cứu kiến thức và Thuật giải 35

3.2.1 Phân loại câu truy vấn và trích xuất các keyprases chính 35

3.2.2 Truy vấn trên CSTT kết hợp Đồ thị tri thức 37

3.3 Kết luận 43

CHƯƠNG 4: THIẾT KẾ HỆ THỐNG VÀ CÀI ĐẶT KIỂM THỬ 45

4.1 Kiến trúc hệ thống tra cứu kiến thức dựa trên ontology Funcs-Ops model 45

4.1.1 Phân tích yêu cầu của hệ thống 45

4.1.2 Mô hình cơ sở dữ liệu 46

4.2 Thử nghiệm hệ thống hỗ trợ tra cứu kiến thức 54

4.2.1 Giao diện chương trình 54

4.2.2 Kết quả thử nghiệm 57

4.3 Tiểu kết 60

CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 61

5.1 Kết quả đạt được của luận văn 61

5.1.1 Về mặt lý thuyết 61

Trang 7

5.1.2 Về mặt ứng dụng 61 5.2 Hướng phát triển 62 TÀI LIỆU THAM KHẢO viii

Trang 8

DANH MỤC BẢNG

Bảng 2.1 Các bài học được thu thập trong môn OOP 10

Bảng 2.2 Phân loại các kiến thức theo thành phần tri thức 11

Bảng 3.1 Các dạng luật trong Rules 27

Bảng 3.2 Các loại sự kiện 28

Bảng 3.3 Tích hợp Rela-Ops model và tập Funcs 31

Bảng 4.1 Mô tả bảng Bai (Bài) 47

Bảng 4.2 Mô tả bảng Chuong (Chương) 48

Bảng 4.3 Mô tả bảng Khainiem (Khái niệm) 48

Bảng 4.4 Mô tả bảng Luat (Luật) 49

Bảng 4.5 Mô tả bảng Pheptoan (Phép toán) 49

Bảng 4.6 Mô tả bảng Baitoan (Bài toán, bài tập) 50

Bảng 4.7 Mô tả bảng Keyphrase 50

Bảng 4.8 Mô tả bảng Keyphrase_lien_quan (Keyphrase liên quan) 50

Bảng 4.9 Kết quả thực nghiệm hỗ trợ truy vấn tra cứu kiến thức môn OOP 58

Trang 9

DANH MỤC HÌNH

Hình 1.1 Chức năng của hệ thống thông minh hỗ trợ tra cứu kiến thức môn học 5

Hình 3.1 Một phần đồ thị khái niệm của miền kiến thức môn học 33

Hình 3.2 Kiến trúc hệ thống phân loại câu truy vấn 36

Hình 4.1 Kiến trúc hệ thống tra cứu kiến thức môn học 46

Hình 4.2 Mô hình ER của hệ thống 47

Hình 4.3 Giao diện chính của chương trình 54

Hình 4.4 Gợi ý cho việc nhập câu truy vấn 55

Hình 4.5 Kết quả của câu truy vấn 56

Hình 4.6 Kiến thức liên quan đến kết quả truy vấn 57

Hình 4.7 Đề xuất tự động nội dung liên quan với truy vấn đang được nhập 57

Hình 4.8 So sánh kết quả thử nghiệm giữa các thành phần tri thức 59

Trang 10

CHƯƠNG 1: GIỚI THIỆU 1.1 Lý do chọn đề tài

Ngày nay, e-learning là phương pháp giảng dạy và học tập mới được thực hiện dựa trên các phương tiện điện tử, công nghệ thông tin và truyền thông [1] Để đạt được hiệu quả của phương pháp e-learning, công cụ tìm kiếm là công cụ thiết yếu để tra cứu những nội dung cần thiết hỗ trợ quá trình học tập [2] Sử dụng hệ thống hỗ trợ tra cứu kiến thức, người học có thể tự truy xuất kiến thức của các khóa học một cách dễ dàng

Công cụ tìm kiếm thông minh tận dụng sức mạnh của máy vi tính để đọc và thông dịch tất cả các loại tệp, qua đó thu thập dữ liệu một cách chi tiết và chính xác [3], [4] Trong e-learning, công cụ tìm kiếm thông minh là phương tiện tra tìm nội dung trên các tài nguyên học tập Công cụ này được thiết kế dựa trên cơ sở tổ chức miền tri thức của các khóa học Nó có thể truy xuất nội dung kiến thức phù hợp, khớp với ý nghĩa của một truy vấn đã nhập, đồng thời tự động đề xuất các kiến thức liên quan đến kết quả tìm kiếm

Một hệ thống hỗ trợ tra cứu kiến thức thông minh được thiết lập dựa trên các tiêu chí của một hệ thống giáo dục thông minh [5], [6] Các yêu cầu thực tiễn của người dùng đối với hệ thống hỗ trợ tra cứu kiến thức trong giáo dục:

• Được thiết kế để đáp ứng nhu cầu của các giáo viên và học sinh trong việc giảng dạy và học tập các thuật toán trong giáo dục

• Khả năng cung cấp các ví dụ minh họa và phân tích chi tiết về các thuật toán để giúp học viên hiểu và áp dụng chúng vào các bài toán thực tế

Trang 11

• Có thể cung cấp các công cụ tương tác và thực hành để học viên có thể tự tay thực hiện các thuật toán và kiểm tra kết quả

• Có khả năng tùy chỉnh và cá nhân hóa để phù hợp với nhu cầu và trình độ của từng học viên

• Đảm bảo tính bảo mật và an toàn thông tin, đặc biệt là khi sử dụng các công cụ tương tác và thực hành trực tuyến

• Được xây dựng trên nền tảng công nghệ thông tin hiện đại, đảm bảo tính tương thích và sẵn sàng kết nối với các thiết bị và phần mềm hỗ trợ học tập hiện có

• Giao diện đơn giản và dễ sử dụng, giúp học sinh và giáo viên dễ dàng truy cập và sử dụng một cách hiệu quả

Từ các yêu cầu thực tiễn của người dùng, các tiêu chuẩn cho việc thiết kế hệ thống thông minh hỗ trợ tra cứu kiến thức gồm:

Hệ thống phải có một cơ sở tri thức vững chắc, bao phủ toàn diện các vấn đề của các khóa học

Hệ thống có thể tìm kiếm dữ liệu trên các tài nguyên học tập nhằm

hỗ trợ cung cấp kiến thức trong quá trình học của học viên Ngoài ra, hệ thống có thể phân tích ý nghĩa của một truy vấn và tìm kiếm các kết quả phù hợp với truy vấn đó dựa trên cơ sở tri thức của nó

Hệ thống có thể dự đoán nhu cầu của người dùng và đề xuất các kiến thức liên quan đến kết quả tìm kiếm

Ontology là một phương pháp tiềm năng để tổ chức cơ sở tri thức của các hệ thống giáo dục thông minh [7] Ontology COKB (Computational Objects Knowledge Base) đã được sử dụng để biểu diễn miền tri thức về môn Toán rời rạc

Trang 12

[8] và môn Lý thuyết đồ thị [9] Rela - model là một mô hình biểu diễn tri thức cho các mối quan hệ giữa các thành phần của tri thức Mô hình này và những tiện ích của nó đã được ứng dụng để biểu diễn miền tri thức về môn Giải thuật [10] Một trong những tính chất của ontology là khả năng giao tiếp giữa con người với các hệ thống ứng dụng phân phối không thuần nhất [11] Do đó, Ontology là một

mô hình hiệu quả để biểu diễn cơ sở tri thức cho một công cụ tìm kiếm thông minh [12], đặc biệt là hệ thống hỗ trợ tra cứu kiến thức trong e-learning

Lập trình hướng đối tượng là một môn đại cương mà tất cả các trường đại học đều đưa vào giáo trình đào tạo của các ngành thuộc nhóm ngành Công nghệ Thông tin (IT) Môn học này được đưa vào chương trình nhằm cung cấp các khái niệm, tầm quan trọng của Lớp và Đối tượng… Vai trò của môn học và các ứng dụng của nó được nhấn mạnh trong thời buổi công nghệ số hiện nay khi nhiều quy trình, công đoạn hay các hệ thống quản trị đều được mã hóa và vận hành bởi các thiết bị, phần mềm nhằm giúp doanh nghiệp đạt được hiệu suất làm việc tốt nhất Lập trình hướng đối tượng là một môn học quan trọng mà học viên cần học một cách nghiêm túc, hiểu rõ bản chất nhằm tạo cơ sở vững chắc trong việc xây dựng

và phát triển các chương trình phần mềm

Trong đề tài này, chúng tôi sẽ nghiên cứu phương pháp biểu diễn tri thức cho môn học Lập trình hướng đối tượng Từ đó, áp dụng các kỹ thuật thiết kế công cụ tìm kiếm thông minh để xây dựng hệ thống hỗ trợ tra cứu một phần kiến thức của môn học này Giải pháp được xây dựng dựa trên tiếp cận ontology, kết hợp giữa ontology biểu diễn các nội dung của tri thức cùng với cấu trúc đồ thị tri thức Các cấu trúc này được sử dụng để thiết kế các kĩ thuật tra cứu kiến thức cho các môn học Hệ thống có thể thực hiện việc tra cứu theo nội dung các bài học, theo phân loại kiến thức, và tra cứu các kiến thức liên quan Giải pháp đề xuất trong đề tài

Trang 13

này được ứng dụng trong việc xây dựng một hệ thống tra cứu kiến thức môn học Lập trình hướng đối tượng (Object-Oriented Programming, OOP) trong chương trình đào tạo bậc Đại học ngành Công nghệ thông tin

1.2 Các hệ thống hỗ trợ tra cứu kiến thức

Hiện nay, có nhiều nghiên cứu cho việc xây dựng các hệ thống hỗ trợ hướng dẫn học tập các thuật toán thông qua việc minh họa các thuật toán Tuy nhiên, các hệ thống này chưa có một cơ sở tri thức thật sự, tri thức của chúng hầu hết được

tổ chức dưới dạng frame, do đó chúng chỉ hỗ trợ được các thuật toán đã được cài đặt sẵn Một số yêu cầu của hệ thống hỗ trợ minh họa các thuật toán trong giáo dục [13], [14]:

Tính sư phạm: Hệ thống được trang bị đầy đủ kiến thức của môn

học Hệ thống có thể hỗ trợ người học tra cứu kiến thức các môn học, đồng thời có thể gợi ý các kiến thức liên quan đến nội dung đang tra cứu Hệ thống hỗ trợ việc tra cứu theo các thành phần tri thức như tra cứu theo khái niệm, tính chất, bài tập Chương trình cũng hỗ trợ giao diện đồ họa để người học có thể dễ dàng sử dụng, tự ôn tập môn học

Tính khả dụng: Hệ thống có một cơ sở tri thức biểu diễn kiến thức

và các vấn đề quan trọng của môn học Kiến thức này phù hợp với nội dung học của sinh viên Bên cạnh đó, hệ thống cũng có thể sử dụng dễ dàng để tăng mức độ hiểu của sinh viên về các tính chất, các bài tập cơ bản

và nâng cao của môn học

Tính linh động: Mô hình thiết kế hệ thống độc lập với các công cụ

nền tảng (platform) Chương trình có thể sử dụng để biểu diễn kiến thức của các môn học khác nhau Người dùng có thể dễ dàng sử dụng chương

Trang 14

trình trong việc tra cứu các kiến thức tương ứng Ngoài ra, đối với việc học các thuật toán, hệ thống có thể hỗ trợ quá trình minh họa từng bước của các thuật toán tương ứng [15]

Hệ thống hỗ trợ tra cứu kiến thức thông minh là một phần trong hệ thống giáo dục thông minh [6] Hệ thống có thể hỗ trợ việc tra cứu kiến thức của môn học của người học Điều này giúp cho người học hiểu rõ hơn nội dung kiến thức và tăng cường khả năng tự học Hệ thống gồm các chức năng sau: tra cứu kiến thức theo nội dung bài học, tra cứu theo từ khóa, tra cứu theo phân loại kiến thức, tra cứu kiến thức liên quan (Hình 1.1)

Hình 1.1 Chức năng của hệ thống thông minh hỗ trợ tra cứu kiến thức môn học

Yext là hệ thống tìm kiếm thông minh cho phép người dùng thực hiện việc tìm kiếm theo từ khóa thông qua dữ liệu đã được lưu trữ trong hệ thống [16] Công

cụ này cũng trợ giúp việc đánh giá hiệu suất của công ty trong tìm kiếm thông minh Thông tin của doanh nghiệp được lưu trữ trong cơ sở tri thức của Yext Tuy nhiên, tri thức của hệ thống chỉ ở dạng dữ liệu, không phải là dạng tri thức thực tế

Do đó, Yext chỉ hữu ích cho một số tác vụ thương mại điện tử đơn giản

Trang 15

Trong [17], các tác giả đã trình bày một hệ thống hỗ trợ việc truy vấn môn học Nhập môn lập trình dựa trên tiếp cận ontology Hệ thống có thể đáp ứng các yêu cầu của một truy vấn kiến thức thông minh

Mathway [18] và Symbolab [19] là các ứng dụng giải được nhiều dạng bài toán Các chương trình này có thể hiển thị bài giải tưng bước cho các bài toán Tuy nhiên, hệ thống chưa hướng đến việc mô phỏng quá trình hướng dẫn của giáo viên giúp cho người học giải được một bài tập

Trong [20], [21], tác giả đã xây dựng các cấu trúc ontology kết hợp với cấu trúc đồ thị khái niệm để biểu diễn kiến thức các môn học Cơ sở dữ liệu bậc đại học [20] và môn Toán bậc Trung học phổ thông [21] Từ đó, thiết kế các hệ thống truy vấn kiến thức cho các môn học tương ứng

Trong đề tài này, chúng tôi nghiên phương pháp biểu diễn kiến thức cho hệ thống tra cứu kiến thức theo hướng tiếp cận ontology kết hợp với đồ thị tri thức Giải pháp này tích hợp mô hình tri thức Rela-Ops [22], một mô hình biểu diễn các tri thức dạng quan hệ và toán tử, với thành phần tri thức dạng hàm Dựa trên mô hình kết hợp, một cấu trúc đồ thị khái niệm được đề xuất để biểu diễn các mối quan hệ của các nội dung kiến thức Những cấu trúc đó được sử dụng để thiết kế một công cụ truy vấn kiến thức thông minh

Giải pháp nghiên cứu được ứng dụng để tổ chức CSTT của môn Lập trình hướng đối tượng Hệ thống sử dụng cơ sở tri thức để truy xuất nội dung truy vấn khóa học và trích xuất thông tin liên quan đến kết quả truy vấn, sinh viên cần biết những nội dung đó để bổ sung kiến thức cũng như giúp ích cho việc học tập của bản thân

Trang 16

1.3 Mục tiêu luận văn

Luận văn này sẽ gồm các mục tiêu chính sau:

Nghiên cứu phương pháp biểu diễn kiến thức môn học dựa trên tiếp cận ontology kết hợp cấu trúc đồ thị tri thức Xây dựng hệ thống tra cứu kiến thức môn học lập trình hướng đối tượng Hệ thống xây dựng dựa trên cấu trúc Ontology, hệ quản trị cơ sở dữ liệu và các kỹ thuật thiết kế mô hình dữ liệu để lưu trữ và truy vấn kiến thức môn học Lập trình hướng đối tượng Từ đó thiết kế các thuật giải hỗ trợ việc tra cứu kiến thức môn học với các chức năng tra cứu thông minh

Các kết quả chính của luận văn:

• Xây dựng mô hình biểu diễn tri thức dựa trên tiếp cận ontology kết hợp với đồ thị tri thức

• Thiết kế các thuật giải tra cứu kiến thức thông minh dựa trên mô hình tri thức kết hợp được đề xuất Các chức năng tra cứu gồm:

o Tra cứu nội dung kiến thức: Tra cứu môn học theo các chương

và bài học Bên cạnh đó, việc tra cứu này cũng hỗ trợ tra cứu kiến thức theo theo nhóm kiến thức của môn học

o Tra cứu theo sự phân loại của miền tri thức: Tra cứu này hỗ trợ việc truy xuất kiến thức theo loại kiến thức trong giáo dục, như: tra cứu các khái niệm, tra cứu các định lý, tính chất, tra cứu các dạng bài tập và phương pháp giải của chúng

o Tra cứu kiến thức liên quan: Hệ thống hỗ trợ việc truy xuất các kiến thức liên quan đến nội dung môn học đang được tra cứu Các kiến thức liên quan này giúp người học chủ động hơn trong việc nắm bắt các kiến thức cần thiết trong quá trình học

Trang 17

1.4 Nội dung nghiên cứu và Phạm vi đề tài

1.4.1 Nội dung nghiên cứu

Trước tiên, luận văn tiến hành khảo sát các phương pháp xây dựng hệ thống hỗ trợ học tập, đồng thời thực hiện việc thu thập và phân loại các kiến thức trong môn học Lập trình hướng đối tượng, phân loại các yêu cầu và truy vấn dạng bài tập của môn học Từ đó, khảo sát các phương pháp biểu diễn tri thức để xây dựng

mô hình biểu diễn tri thức môn học Lập trình hướng đối tượng Từ đó, nghiên cứu các vấn đề cho việc tra cứu kiến thức và thiết kế các giải thuật tương ứng

Trên cơ sở mô hình đã nghiên cứu, luận văn xây dựng một chương trình thử nghiệm cho việc tra cứu kiến thức môn học Lập trình hướng đối tượng Chương trình có thể thực hiện việc tra cứu theo nội dung các bài học, theo phân loại kiến thức, và tra cứu các kiến thức liên quan

1.4.2 Phạm vi đề tài

Trong đề tài này, đối tượng nghiên cứu bao gồm các mô hình biểu diễn kiến thức và các vấn đề trong việc tra cứu kiến thức môn học Phạm vi nghiên cứu của luận văn tập trung vào các giải pháp cho việc xây dựng ứng dụng tra cứu kiến thức môn học OOP trong chương trình cử nhân ngành Công nghệ thông tin

1.5 Tiểu kết

Trong chương này, luận văn đã trình bày sự cần thiết phải thực hiện đề tài, cùng với việc phân tích các yêu cầu đối với hệ thống tra cứu kiến thức trong hỗ trợ hoc tập Chương 1 cũng trình bày mục tiêu và các nội dung thực hiện cùng với phạm vi thực hiện của đề tài Nội dung luận văn gồm 5 chương, cấu trúc các chương tiếp theo của luận văn như sau:

Trang 18

Chương 2: Luận văn sẽ trình bày việc khảo sát kiến thức của môn học OOP trong chương trình đào tạo ngành Công nghệ thông tin bậc đại học, và khảo sát các phương pháp biểu diễn tri thức cho việc tra cứu kiến thức

Chương 3: Luận văn trình bày mô hình biểu diễn tri thức cho môn học theo tiếp cận ontology Mô hình này kết hợp với đồ thị tri thức để có thể tổ chức cơ sở tri thức trên hệ thống tra cứu chuẩn xác hơn Chương 3 cũng đề xuất các vấn đề và các thuật giải tương ứng cho việc thiết kế hệ thống tra cứu kiến thức hỗ trợ việc học tập, đặc biệt cho môn học OOP

Chương 4: Trình bày việc thiết kế thử nghiệm hệ thống hỗ trợ tra cứu kiến thức môn học OOP

Chương 5: Trình bày các kết quả đạt được của luận văn và các hướng phát triển trong tương lai

Trang 19

CHƯƠNG 2: KHẢO SÁT KIẾN THỨC MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG VÀ CÁC PHƯƠNG PHÁP

BIỂU DIỄN TRI THỨC 2.1 Thu thập tri thức theo bài học

Kiến thức môn học Lập trình hướng đối tượng (Object Oriented Programming - OOP) được thu thập từ [23], [24] Nội dung môn học được chia thành 4 chương với 28 bài học Các nội dung đó được thể hiện trong Bảng 2.1 như sau:

Bảng 2.1 Các bài học được thu thập trong môn OOP

2 Lớp và đối tượng

2.1 Lớp 2.2 Định nghĩa hàm thành phần 2.3 Khai báo và tạo lập đối tượng 2.4 Phạm vi truy xuất

2.5 Phương thức thiết lập 2.6 Phương thức hủy bỏ 2.7 Phương thức truy vấn và cập nhật 2.8 Thành viên tĩnh – static member

3 Việc khởi tạo đối

tượng, hàm bạn và

lớp bạn

3.1 Đối tượng là thành phần của lớp 3.2 Đối tượng là thành phần của mảng 3.3 Đối tượng được cấp phát động 3.4 Hàm bạn, lớp bạn

Trang 20

3.5 Giao diện và chi tiết cài đặt 3.6 Các nguyên tắc xật dụng lớp

4.7 Phép toán << và >>

4.8 Phép toán lấy phần tử mảng: [ ] 4.9 Phép toán gọi hàm: ( )

4.10 Phép toán tăng ++ và giảm

2.2 Thu thập theo phân loại tri thức

Từ các kiến thức đã được thu thập, các nội dung kiến thức được phân loại theo thành phần tri thức:

a) Thành phần Khái niệm hay các Định nghĩa trong môn học

b) Thành phần luật, tính chất, công thức

c) Thành phần Toán tử và phép toán trong môn học

Bảng 2.2 Thể hiện một phần tri thức đã được phân loại trong miền kiến thức môn học OOP

Bảng 2.2 Phân loại các kiến thức theo thành phần tri thức Phân loại Yếu tố tri thức Kiến thức gốc Kiến thức liên quan

Trang 21

Lập trình có cấu trúc

Lập trình thủ tục

Lập trình không có cấu trúc Lập trình hướng đối tượng

Lớp (class) Lớp (class) Đối tượng (object)

Sơ đồ đối tượng

Khái niệm

/ Định

nghĩa

Tổng quan về

sơ đồ đối tượng

Sơ đồ đối tượng

Sơ đồ lớp

Sơ đồ thể hiện

Đối tượng (object) Class (lớp)

Đa hình (polymorphism)

Khái niệm

/ Định

nghĩa

Đóng gói (Encapsulation)

Đóng gói (Encapsulation) Che dấu thông tin

Trừu tượng hóa (Abstraction) Thừa kế (Inheritance)

Đa hình (polymorphism)

Khái niệm

/ Định

nghĩa

Thừa kế

(Inheritance) Thừa kế (Inheritance)

Trừu tượng hóa (Abstraction) Đóng gói (Encapsulation)

Đa hình (polymorphism)

Khái niệm

/ Định

nghĩa

Đa hình (Polymorphism)

Đa hình (Polymorphism)

Trừu tượng hóa (Abstraction) Đóng gói (Encapsulation) Thừa kế (inheritance)

Trang 22

Khái niệm

/ Định

nghĩa

Phân tích hướng đối tượng (Object Oriented Analysis – OOA)

Phân tích hướng đối tượng (Object Oriented Analysis – OOA)

Thiết kế đối tượng (Object Oriented Design – OOD) Lập trình hướng đối tượng (Object Oriented

Thiết kế đối tượng (Object Oriented Design – OOD)

Phân tích hướng đối tượng (Object Oriented Analysis – OOA)

Lập trình hướng đối tượng (Object Oriented

Lập trình hướng đối tượng (Object Oriented Programming - OOP)

Phân tích hướng đối tượng (Object Oriented Analysis – OOA)

Thiết kế đối tượng (Object Oriented Design – OOD)

Cơ chế tạo lập các lớp

Khái niệm

/ Định

nghĩa

Các thành phần của lớp

Các thành phần của lớp Thuộc tính

Phương thức

Khái niệm lớp Cú pháp khai báo lớp

Cơ chế tạo lập các lớp

Khái niệm

/ Định

nghĩa

Định nghĩa hàm thành phần

Định nghĩa hàm thành phần

Trang 23

Khái niệm

/ Định

nghĩa

Phạm vi truy xuất Phạm vi truy xuất

Hàm thành phần Con trỏ this Phép gán đối tượng

Khái niệm

/ Định

nghĩa

Tham số hàm thành phần Hàm thành phần

Phạm vi truy xuất Con trỏ this

Phép gán đối tượng

Khái niệm

/ Định

nghĩa

Con trỏ this Con trỏ this

Phạm vi truy xuất Hàm thành phần Phép gán đối tượng

Khái niệm phương thức thiết lập

Phương thức thiết lập mặc định

Phương thức thiết lập sao chép

Phương thức thiết lập mặc định

Khái niệm phương thức thiết lập

Phương thức thiết lập sao chép

Phương thức thiết lập sao chép

Khái niệm phương thức thiết lập

Phương thức thiết lập mặc định

Phương thức cập nhật Phương thức truy vấn và cập nhật

Trang 24

Phương thức truy vấn Phương thức truy vấn và cập nhật

Phương thức truy vấn

Đối với các ngôn ngữ (C, C++)

Thành viên tĩnh – static member

Đối với class Phương thức static

Luật (định

lý, công

thức, tính

chất, )

Đối với class

Đối với class Thành viên tĩnh – static member

Đối với các ngôn ngữ (C, C++)

Phương thức static

Phương thức static Thành viên tĩnh – static member

Đối với các ngôn ngữ (C, C++)

Đối với class

Khái niệm

/ Định

nghĩa

Đối tượng là thành phần của lớp

Đối tượng là thành phần của lớp

Khái niệm

/ Định

nghĩa

Đối tượng là thành phần của mảng

Đối tượng là thành phần của mảng

Trang 25

Giao diện và chi tiết cài đặt

Các nguyên tắc xây dựng lớp

Khái

niệm/Định

nghĩa

Giới thiệu về overload toán từ

Các loại toán tử

C++ Các loại toán tử C++

Cú pháp Operator Overloading

Hạn chế của overload toán tử Lưu ý khi định nghĩa lại toán tử

Hàm thành phần và hàm toàn cục

Trang 26

Hàm thành phần và hàm toàn cục

Toán tử -

phép toán

Hàm thành phần và hàm toàn cục

Hàm thành phần và hàm toàn cục

Cú pháp Operator Overloading Hạn chế của overload toán tử Lưu ý khi định nghĩa lại toán tử

Khái niệm

/ Định

nghĩa

Chuyển kiểu (type conversions)

Chuyển kiểu (type conversions)

Chuyển kiểu bằng constructor

Chuyển kiểu bằng phép toán chuyển kiểu

Khái niệm

/ Định

nghĩa

Chuyển kiểu bằng constructor

Chuyển kiểu (type conversions) Chuyển kiểu bằng phép toán chuyển kiểu

Khái niệm

/ Định

nghĩa

Chuyển kiểu bằng phép toán chuyển kiểu

Chuyển kiểu bằng phép toán chuyển kiểu

Chuyển kiểu (type conversions) Chuyển kiểu bằng constructor

Toán tử -

phép toán

Phép toán << và

>> Phép toán << và >>

Trang 27

Phép toán [ ] cho đối tượng hằng

Phép toán lấy phần tử mảng: [ ]

Phép toán tăng ++ và giảm

Ví dụ 2.1: Một số nội dung của khái niệm:

• Tính trừu tượng (abstraction): Trừu tượng hóa là cách nhìn khái quát hóa về một tập các đối tượng có chung các đặc điểm được quan tâm (bỏ qua những chi tiết không cần thiết)

Ví dụ:

• Tính đóng gói (Encapsulation): Nhóm những gì có liên quan với nhau vào làm một để sau này có thể dùng một cái tên để gọi đến

Các hàm/ thủ tục đóng gói các câu lệnh

Các đối tượng đóng gói dữ liệu của chúng và các thủ tục có liên quan Tính đóng gói để che một số thông tin và chi tiết cài đặt nội bộ để bên ngoài không nhìn thấy

Trang 28

Che giấu những gì mà mình cần giữ bí mật

Che giấu những gì mà người dùng không cần

• Tính kế thừa (Inheritance): là cơ chế cho phép một lớp D có được các thuộc tính và thao tác của lớp C (như thể các thuộc tính và thao tác đó đã được định nghĩa tại lớp D) Tính kế thừa cho phép cài đặt các quan hệ sau giữa các đối tượng:

Đặc biệt hóa (“là”)

Khái quát hóa

Ví dụ:

Trang 29

• Tính đa hình (Polymorphism): cơ chế cho phép tên một thao tác hoặc thuộc tính có thể được định nghĩa tại nhiều lớp và có thể có những cài đặt khác nhau tại các lớp đó

2.3 Các phương pháp biểu diễn tri thức cho hệ thống tra cứu kiến thức

Trong lĩnh vực nghiên cứu về công nghệ tri thức, việc xây dựng các hệ thống thông minh hỗ trợ cho việc học tập là một trong những thách thức mang tính thực tiễn cao [25], [26] Các hệ thống này đòi hỏi cần phải có một cơ sở tri thức mạnh

mẽ để có thể biểu diễn đầy đủ các kiến thức của môn học Chất lượng hoạt động của các hệ này phụ thuộc vào phương pháp biểu diễn và tổ chức tri thức [25] Việc xây dựng phương pháp biểu diễn cho phép chúng ta có thể mô phỏng các tri thức, đồng thời có thể xác định được các kết quả có thể suy luận được từ tri thức Các hệ thống hỗ trợ tra cứu kiến thức học tập thông minh có thể giúp người học có thể tự học, tự ôn tập các kiến thức đã được học [26] Hiện nay có nhiều giải pháp để xây dựng cơ sở tri thức cho các hệ thống tra cứu kiến thức này

Hệ thống hỗ trợ học tập thông minh (Intelligent Tutoring System - ITS) hiện nay hướng đến việc xây dựng các hệ thống hỗ trợ học tập mang tính cá nhân hóa, đáp ứng được nhu cầu của đối với từng người dùng [27] Hệ thống tra cứu kiến thức thông minh là một phần của ITS Hệ thống này có thể hỗ trợ việc truy vấn kiến thức các môn học cho học sinh / sinh viên Hiện nay nhiều kỹ thuật trí tuệ nhân tạo được ứng dụng trong hệ thống tìm kiếm thông minh được ứng dụng trong các hệ thống ITS như: ontology, suy luận dựa trên luật, khai phá dữ liệu, mạng Bayesian [28]

Trang 30

Ontology là giải pháp giúp cho việc biểu diễn tri thức và chia sẻ thông tin giữa con người và các hệ thống không đồng nhất dễ dàng hơn [7], [29] Đặc điểm của Ontology có khả năng trong việc hỗ trợ đa dạng các hệ thống ứng dụng phân tán [11], [30]; do đó, cơ sở tri thức của một công cụ tìm kiếm thông minh có thể được biểu diễn bằng cách sử dụng ontology [31], đặc biệt là các công cụ tìm kiếm e-learning Trong [32], một ontology bao gồm các khái niệm, quan hệ giữa các khái niệm, toán tử, luật, bài toán và phương pháp giải quyết chúng, được đề xuất Ontology này được ứng dụng trong việc thiết kế một hệ thống tra cứu thông minh kiến thức toán THPT Tuy nhiên, mô hình trong nghiên cứu này khá phức tạp, và không thuận tiện cho việc triển khai trong thực tế

Ontology COKB (Computational Objects Knowledge Base) được sử dụng để biểu diễn kiến thức của lý thuyết đồ thị [9] và toán học rời rạc [8] Tuy nhiên, ontology này quá phức tạp để thiết kế một hệ thống tìm kiếm thông minh, nó phù hợp hơn với các hệ thống giải quyết vấn đề thông minh Rela-model là một mô hình biểu diễn tri thức các quan hệ như ontology [33] Mô hình Rela-model và các

mở rộng của nó đã được sử dụng để tổ chức các môn học về thuật toán ở chương trình đào tạo bậc đại học Tuy nhiên, mô hình chưa biểu diễn tri thức ở dạng hàm, dạng tri thức cần thiết trong kiến thức của môn học OOP

Query-Onto là một ontology được sử dụng để tạo ra các công cụ tìm kiếm thông minh [34] Việc tìm kiếm dựa trên bài học và tìm kiếm dựa trên từ khóa đều được thiết kế của cấu trúc ontology này Trong môn học Cấu trúc dữ liệu và Giải thuật [34], Query-Onto được sử dụng để xây dựng một công cụ tìm kiếm thông minh Tuy nhiên, kết quả của hệ thống đó chưa biểu diễn được đầy đủ kiến thức trong giáo trình

Trang 31

Mô hình đánh giá người học được nghiên cứu trong [35], [36] Giải pháp trong [35] được phát triển dựa trên mô hình mạng Bayes Trong môi trường học tập trực tuyến, mạng Bayes được sử dụng để xác định trình độ kiến thức hiện tại của học sinh để mô hình có thể phát triển và cung cấp kiến thức mới nhằm nâng cao hiệu quả của người học Tuy nhiên, mô hình này không có thành phần lưu trữ nội dung kiến thức của các môn học mà chỉ được thực hiện thông qua các dữ liệu được thu thập từ quá trình người học sử dụng hệ thống

Trong [37], các tác giả đã mô tả phương pháp xây dựng hệ thống truy vấn dữ liệu, trong các môn học liên quan về Khoa học dữ liệu Giải pháp đề xuất có thể tìm kiếm các khóa học, sự kiện, sách và kết nối người dùng với nhà tuyển dụng/doanh nghiệp trong Khoa học dữ liệu Tuy nhiên, hệ thống này không có nền tảng kiến thức để hỗ trợ một số tìm kiếm thông minh dựa trên việc phân tích ý nghĩa của truy vấn Bên cạnh đó, nó cũng không hướng tới người dùng là sinh viên tìm kiếm kiến thức về khóa học của mình; do đó, nó không thể hỗ trợ việc học tập của học sinh một cách tối ưu

Đồ thị tri thức là cơ sở tri thức được biểu diễn bằng cấu trúc đồ thị [38], [39] Cách tiếp cận này được sử dụng để lưu trữ các mô tả liên kết của các thực thể, là các đối tượng và khái niệm trừu tượng Ngoài ra, ngữ nghĩa đằng sau thuật ngữ được sử dụng cũng có thể được mã hóa bằng cách sử dụng đồ thị tri thức [39] Các giải pháp hỗ trợ việc tra cứu kiến thức hiện đều có những ưu nhược điểm nhất định Trong luận này, phương pháp thiết kế cơ sở tri thức dựa trên tiếp cận ontology kết hợp với đồ thị tri thức được nghiên cứu Giải pháp đề xuất này có thể biểu diễn đầy đủ kiến thức của môn học dựa trên những ưu điểm nổi trội của ontology và đồ thị tri thức trong việc biểu diễn các mối quan hệ giữa các thực thể, các khái niệm, các đối tượng trong tri thức Thông qua đó, các vấn đề về tra cứu

Trang 32

kiến thức như tra cứu kiến thức theo nội dung bài học, tra cứu theo từ khóa, tra cứu theo phân loại kiến thức, tra cứu kiến thức liên quan cũng được nghiên cứu và thiết kết các giải pháp tra cứu phù hợp với cấu trúc của cơ sở tri thức được đặc tả

2.4 Tiểu kết

Trong chương này, luận văn đã trình bày việc khảo sát tri thức môn học OOP

và phân loại tri thức thu tập được theo thành phần tri thức và theo các bài học Bên cạnh đó, các phương pháp biểu diễn tri thức cho hệ thống tra cứu cũng được khảo sát cùng với các vấn đề tối với hệ tra cứu thông minh Trong chương tiếp theo, chúng tôi sẽ trình bày mô hình biểu diễn tri thức môn OOP và các vấn đề cho việc tra cứu kiến thức hỗ trợ trong học tập

Trang 33

CHƯƠNG 3: CƠ SỞ TRI THỨC VÀ CÁC VẤN ĐỀ TRA

CỨU KIẾN THỨC HỖ TRỢ HỌC TẬP 3.1 Ontology biểu diễn tri thức dạng hàm và Đồ thị tri thức

3.1.1 Mô hình tri thức quan hệ và toán tử

Định nghĩa 3.1 [22]: Mô hình tri thức quan hệ và toán, gọi là mô hình

Rela-Ops model, là một ontology gồm 04 thành phần:

(𝑪, 𝑹, 𝑶𝒑𝒔, 𝑹𝒖𝒍𝒆𝒔)

Trong đó, 𝑪 là tập các khái niệm, mỗi khái niệm có một cấu trúc để biểu diễn khái niệm thực tế của môn học; 𝑹 là tập các quan hệ giữa các khái niệm trong 𝑪; 𝑶𝒑𝒔 là tập các toán tử; và 𝑹𝒖𝒍𝒆𝒔 là tập các luật dẫn Cấu trúc các thành phần này được trình bày trong các mục tiếp theo

a) 𝑪 – Tập các khái niệm

Cấu trúc của một khái niệm 𝑐  𝑪 gồm:

Trong đó:

𝑆𝑦𝑚𝑏𝑜𝑙: Các keyphrase để nhận diện khái niệm của kiến thức

𝐴𝑡𝑡𝑟𝑠: tập các thuộc thuộc của khái niệm 𝑐

𝐼𝑛𝑛𝑒𝑟 − 𝑅𝑒𝑙𝑎: quan hệ giữa các truộc tính trong 𝑐 𝐴𝑡𝑡𝑟𝑠

𝐼𝑛𝑛𝑒𝑟 − 𝑅𝑢𝑙: luật nội tại của khái niệm 𝑐 Các luật này được dùng

để suy diễn các thuộc tính khác từ các thuộc tính đã biết trong khái niệm

c

𝑆𝑦𝑛𝑜𝑛𝑦𝑚: các từ đồng nghĩa với khái niệm 𝑐

Trang 34

𝐶𝑜𝑛𝑡𝑒𝑛𝑡𝑠: Nội dung của khái niệm 𝑐 Nội dung này gồm các đoạn

văn bản, mỗi đoạn được cấu trúc bởi [namepar, contentpar] với namepar

là ID của đoạn văn bản và 𝑐𝑜𝑛𝑡𝑒𝑛𝑡𝑝𝑎𝑟 là nội dung trích xuất của kiến thức

𝐶ℎ𝑎𝑝𝑡𝑒𝑟: thông tin về Chương, mục trong chương trình của môn học

đối với khái niệm 𝑐

𝐾𝑒𝑦: tập các từ khóa liên quan đến khái niệm 𝑐

b) 𝑹 – Tập các quan hệ

Cho quan hệ hai ngôi 𝑟  𝑹, 𝑟  𝑪  𝑪 Quan hệ 𝑟 thuộc một trong hai loại sau: quan hệ phân cấp và các quan hệ không có dạng phân cấp của miền tri thức

𝑹 = 𝑹𝒉𝒊𝒄𝒉𝒆𝒓  𝑹𝒐𝒕𝒉𝒆𝒓𝒔Trong đó,

• 𝑹𝒉𝒊𝒄𝒉𝒆𝒓= {is-a, include} là các quan hệ có dạng phân cấp: “is-a” và

Bên cạnh các toán tử giữa các số thực trong tập , tập 𝑶𝒑𝒔 bao gồm các toán

tử giữa các khái niệm trong 𝑪 Các phép toán này gồm có hai loại: toán tử một ngôi và toán tử hai ngôi

Trang 35

𝑶𝒑𝒔 = 𝑶𝒑𝒔𝟏  𝑶𝒑𝒔𝟐Trong đó,

Ops1 ⊂{:Ic→Ic' | 𝒄, 𝒄′ ∈ 𝑪}  {: Ic → Ic’ | c, c’  C} là tập hợp các phép

toán một ngôi

Ops2 ⊂{⨂:Ic× Ic' → Ic'' | 𝒄, 𝒄′, 𝒄′′ ∈ 𝑪} là tập hợp các phép toán hai ngôi

Các toán tử trong tập Ops được đặc tả như sau:

operator-def ::= OPERATOR <name>

ARGUMENT: arg-def+

RETURN: return-def;

PROPERTY: prop-type;

END arg-def ::= name, <name>: type return-def ::= <name> : type prop-type ::= kết hợp | giao hoán | đồng nhất

Định nghĩa 3.2: Định nghĩa về biểu thức

< < express >::= obj |  < express > | < express >  < express >

với, obj: đối tượng trong C : toán tử hai ngôi : toán tử một ngôi

Nếu toán tử  có tính chất kết hợp thì: (p, q, r là các biểu thức)

p  q  r = (p  q)  r = p  (q  r)

Trang 36

d) Rules – Tập các luật suy diễn

Tập Rules gồm có ba dạng luật: luật dẫn, luật tương đương, và luật dạng phương trình Cấu trúc của một luật r trong Rules được đặc tả trong Bảng 3.1

Rules = Ruleinfer  Ruleequi  Ruleequa

Bảng 3.1 Các dạng luật trong Rules

𝒉(𝒓𝒖𝒍), 𝒑(𝒓𝒖𝒍) → 𝒒(𝒓𝒖𝒍)

và 𝒉(𝒓𝒖𝒍), 𝒒(𝒓𝒖𝒍) → 𝒑(𝒓𝒖𝒍) đều đúng

𝒓𝒖𝒍 là luật dạng phương trình: 𝒍 =

𝒓 với 𝒍, 𝒓 là các biểu thức giữa các đối tượng

Kí hiệu:

𝒍𝒆𝒇𝒕(𝒓𝒖𝒍) = 𝒍,

𝒓𝒊𝒈𝒉𝒕(𝒓𝒖𝒍) = 𝒓

Các sự kiện của mô hình Rela-Ops model gồm 5 loại như trong Bảng 3.2

Trang 37

Bảng 3.2 Các loại sự kiện

1 Loại của một đối tượng x:c x là một đối tượng, c  C

2 Xác định một đối tượng o o  I c, c  C

3

Xác định một đối

tượng thông qua giá

trị hằng

obj = <const> obj  I c1, c1  C

4 Xác định quan hệ giữa hai đối tượng x  y   R,  là một quan hệ

và tri thức hàm, mô hình này được gọi là ontology Funcs-Ops model Việc tích hợp mô hình Rela-Ops model tri thức hàm được thực hiện dựa trên:

• Tích hợp cấu trúc thành phần: Cấu trúc này cần phù hợp để đặc tả hàm liền mạch và nhất quán với các khái niệm của mô hình Rela-Ops model Thành phần hàm được biểu diễn cũng có ngôn ngữ đặc tả để mô tả cấu trúc của nó

• Tích hợp thêm các luật trên hàm

Ngày đăng: 01/08/2024, 18:24

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[23] Nguyen, H., Huynh, H., Mai, T., et al. (2023), Design an Ontology-based model for Intelligent Querying system in Mathematics Education, Journal of Interdisciplinary Mathematics, Vol. 26, Iss. 3, pp. 449 – 473 Sách, tạp chí
Tiêu đề: Vol. 26
Tác giả: Nguyen, H., Huynh, H., Mai, T., et al
Năm: 2023
[20] Mathway: https://www.mathway.com/Algebra [21] Symbolab: https://www.symbolab.com/ Link
[1] Trần Đan Thư, Đinh Bá Tiến, Nguyễn Tấn Trần Minh Khang (2017). Giáo trình Lập trình hướng đối tượng. NXB Khoa học và Kỹ thuật Khác
[2] Trương Công Tuấn (2019). Giáo trình Lập trình hướng đối tượng. NXB Đại học Huế Khác
[3] Zavyalova, K. (2020). Unlocking students’ motivation in the blended higher education classroom: Lecturers’ perspectives. E-Learning and Digital Media 17(5) Khác
[4] Veletsianos, G. (2010). Emerging Technologies in Distance Education. Au Press Khác
[5] Bast, H., Buchhold, B., Haussmann, E., (2016). Semantic Search on Text and Knowledge Bases. Information Retrieval 10(2-3) Khác
[6] Sajja, P., Akerkar, R. (2012). Intelligent technologies for web applications. CRC Press Khác
[7] Nguyen, H., Do, N., Tran, N., et al. (2020). Some criteria of the Knowledge Representation method for an Intelligent Problem Solver in STEM education. Applied Computational Intelligence and Soft Computing 2020, Article ID 9834218 Khác
[8] Hatzilygeroudis, I., Prentzas, J. (2006). Knowledge Representation in Intelligent Educational Systems. In Web-Based Intelligent E-Learning Systems: Technologies and Applications, IGI publisher Khác
[9] Noy, N., et al. (2013). Final Report on the 2013 NSF Workshop on Research Challenges and Opportunities in Knowledge Representation.National Science Foundation Workshop Report Khác
[10] Nguyen, H.D., Do, N.V. (2017). Intelligent Problems Solver in Education for Discrete Mathematics. In Proceedings of 16th International Conference on Intelligent Software Methodologies, Tools, and Techniques (SOMET 2017), Sept. 2017 Khác
[11] Do, N, Nguyen, H., Mai, T. (2018). Intelligent Educational Software in Discrete Mathematics and Graph Theory. In Proceedings of 17 th Khác
[12] Le, T., Luu, S., Nguyen, H., Do, N. (2019). Knowledge representation method for designing an Intelligent Tutoring System in Learning of courses about Algorithms. In Proceedings of 25th Asia-Pacific Conference on Communications (APCC 2019), Nov. 2019 Khác
[13] Giri, K. (2011). Role of Ontology in semantic web. DESIDOC Journal of Library Information Technology 3 Khác
[14] Grosan, C., Abraham, A. (2011). Intelligent Systems: A modern approach, Springer, Berlin, Heidelberg Khác
[15] Hatzilygeroudis, I., Prentzas, J. (2004). Knowledge Representation Requirements for Intelligent Tutoring Systems. Proceeding of 7th International Conference on Intelligent Tutoring Systems (ITS 2004), LNCS 3220, pp.87-97, Springer (2004) Khác
[16] Nguyen, H., Do, N., Tran, N., Xuan Hau Pham (2018). Criteria of a Knowledge model for an Intelligent Problems Solver in Education.Proceeding of 10th IEEE International Conference on Knowledge and Systems Engineering (KSE 2018), pp. 288-293, Ho Chi Minh city, Vietnam, Nov. 2018 Khác
[19] Pham, X. T., Tran, T. V., Nguyen-Le, V. T., et al. (2020). Build a search engine for the knowledge of the course about Introduction to Programming based on ontology Rela-model. In 12th International Conference on Knowledge and Systems Engineering (KSE 2020), pp. 207-212. IEEE Khác
[22] Nguyen, H. D., Truong, D., Vu, S., et al. (2023). Knowledge Management for Information Querying System in Education via the Combination of Khác

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w