Cơng cụ Protégé 5.2.0 để xây dựng cơ sở dữ liệu OWL phục vụ cho truy vấn dữ liệu được sử dụng trong. Tập tin OWL dùng làm cơ sở dữ liệu kết hợp với thư viện mã nguồn mỡ Jena của ngơn ngữ lập trình Java thực hiện truy vấn lấy kết quả trả về phía người dùng. Ngơn ngữ SPARQL dùng để truy vấn dữ liệu trong Ontology.
4.3.1.2. Phân loại câu truy vấn
Như đã đề cập, trong mơ hình tìm kiếm tài nguyên học tập theo ngữ nghĩa, bước đầu tiên là xử lý câu truy vấn (query) để nhận định query đĩ thuộc lĩnh vực nào nhằm thu hẹp khơng gian tìm kiếm, nâng cao độ chính xác của kết quả tìm kiếm. Việc phân loại cũng nhằm mục đích xác định nội miền và lĩnh vực của query.
Cĩ một số nghiên cứu về phân loại câu truy vấn theo hướng tiếp cận biểu thức chính quy dựa vào những luật ngữ pháp viết tay (hand-written grammar rulers) để xác định lớp của câu hỏi đầu vào (Van Durme et al., 2003). Tuy nhiên, hướng tiếp cận này vẫn cĩ những hạn chế nhất định như số lớp của bộ phân loại nhỏ, khơng thích hợp khi tích hợp vào một hệ thống tìm kiếm ngữ nghĩa cĩ quy mơ lớn (Li and Roth, 2002, Hacioglu and Ward, 2003). Do vậy, một hướng tiếp cận khác để giải quyết bài tốn phân loại văn bản là theo hướng tiếp cận xác suất (Brown, 2004), bao gồm học máy (machine learning) và mơ hình hĩa ngơn ngữ (language modeling), trong đĩ hướng tiếp cận dựa trên học máy được nhiều nhà nghiên cứu quan tâm. Cĩ nhiều giải thuật phân loại văn bản được sử dụng để phân loại query, sau khi thử nghiệm một vài giải thuật, nhĩm tác giả đề xuất sử dụng giải thuật SVM vì tính hiệu quả của nĩ trong phân loại văn bản.
4.3.2. Mơ tả dữ liệu
Từ các lĩnh vực đã được xác định, các giáo trình, bài giảng liên quan được thu thập. Sau đĩ, xây dựng từ điển cho các lĩnh vực cơng nghệ thơng tin, trích lọc các câu (record) từ các tài liệu thu thập được. Sau khi tiền xử lý dữ liệu, các bước tách từ, loại bỏ từ dừng (stop words)... thực hiện. Dữ liệu sau khi xử lý thu được gồm cĩ 1.114 record với số chiều của véc-tơ là 1.336 (số thuộc tính) như Bảng 4.6.
Bảng 4.6: Dữ liệu sau khi được xử lý
Stt Lĩnh vực # record Tổng record # thuộc tính
1 Hệ thống thơng tin 131
1.114 1.336
2 Khoa học máy tính 325
3 Kỹ thuật phần mềm 114
4 Mạng máy tính và truyền thơng 544
4.3.3. Kết quả thực nghiệm
Để phân loại dữ liệu, giải thuật SVM được sử dụng; mơ hình phân loại được đánh giá dựa vào các chỉ số độ chính xác (precision), độ bao phủ (recall) và độ đo F1 thể hiện như Bảng 4.7. Kết quả thực nghiệm cho thấy hiệu quả phân loại của các giải thuật SVM là khá tốt, cho độ chính xác > 95%.
Bảng 4.7: Độ đo phân loại sử dụng giải thuật SVM
Lĩnh vực Precision Recall F1
Hệ thống thơng tin 0,937 0,908 0,922
Khoa học máy tính 0,977 0,920 0,948
Kỹ thuật phần mềm 0,991 0,939 0,964
Mạng máy tính và truyền thơng 0,939 0,989 0,963
Tỷ lệ chính xác trung bình 0,955 0,954 0,954
Phân tích ma trận nhầm lẫn ở Bảng 4.8 cho thấy lĩnh vực “Mạng máy tính và truyền thơng” cĩ kết quả phân loại chính xác nhất, chỉ cĩ khoảng 1% số mẫu phân nhầm vào các lĩnh vực khác, trong khi đĩ các lĩnh vực cịn lại cĩ độ nhầm lẫn khi phân loại từ 6% đến 9%. Kết quả phân loại này khả thi và cĩ thể sử dụng cho giai đoạn tìm kiếm sử dụng ngữ nghĩa ontology.
Bảng 4.8: Ma trận nhầm lẫn trong phân loại dữ liệu bằng giải thuật SVM Predicted classes Predicted classes Actual classes a b c d 119 2 1 9 a = Hệ thống thơng tin 22 299 0 4 b = Khoa học máy tính 1 4 107 2 c = Kỹ thuật phần mềm
5 1 0 538 d = Mạng máy tính và truyền thơng Quá trình truy vấn, phân loại, tìm kiếm ngữ nghĩa được thực hiện như lưu đồ cấu trúc hệ thống tìm kiếm ngữ nghĩa ở Hình 4.2. Trong nghiên cứu này, một hệ thống thực nghiệm được xây dựng chạy trên python để thực hiện các bước tiền xử lý query tìm kiếm, sau đĩ một chương trình chạy trên Java dùng để gọi mơ hình phân loại đã được xây dựng sẵn để phân loại query thuộc lớp nào, sau đĩ thực hiện tìm kiếm trên ontology tương ứng trước khi trả kết quả tìm kiếm về cho người dùng. Sơ đồ hệ thống được mơ tả như Hình 4.6.