Chươn g3 Ứng dụng công nghệ web ngữ nghĩa trong E-Learning
3.3 Tìm kiếm nội dung học điện tử bằng truy vấn ngữ nghĩa
Biểu diễn nội dung bằng công nghệ web ngữ nghĩa không những nâng cao tính chính xác trong tìm kiếm mà còn đem lại khả năng khai thác những thông tin ẩn chứa trong dữ liệu nhờ những suy luận dựa trên mô tả ngữ nghĩa của tài nguyên. Đây chính là một trong những động lực thúc đẩy chúng tôi thực hiện nghiên cứu này.
Như đã đề cập phần trước (2.1.2), nội dung học phù hợp với ngữ cảnh học tập của học viên có thể được xây dựng bằng cách sử dụng các truy vấn ngữ nghĩa. Truy
từ khóa hay giá trị số cụ thể mà còn dựa vào phân tích và duy diễn trên các định nghĩa khái niệm liên quan đến nội dung thông tin cùng các mối quan hệ giữa chúng.
Ở thời điểm hiện tại, các ngôn ngữ truy vấn ngữ nghĩa vẫn còn đang được phát triển. Tuy nhiên, cũng có một số ngôn ngữ và hệ thống phục vụ truy vấn ngữ nghĩa đã có thể được đưa vào sử dụng ví dụ như “SPARQL Query Language for RDF” [22], OWL-QL [23]. Trong đó, OWL-QL là ngôn ngữ truy vấn dựa trên suy diễn trên các biểu diễn ontology mô tả bằng OWL. Ngôn ngữ này có thể được sử dụng cho truy vấn tài nguyên bài giảng điện tử:
Ví dụ 5:
Tìm khung bài giảng cho chủ đề “Object Oriented” mang nội dung tổng quan (mức độ chi tiết là “Low”)
Truy vấn:
Nếu C1 thuộc lớp ConceptRole, C1 đóng vai trò bởi Object_Oriented, C1 có giá trị ngữ cảnh là DetailLevel_Low, R1 thuộc lớp Resource, R1 có chủ đề là Object_Oriented, C1 đóng vai trò trong R1
thì R1 là đối tượng nào? Giả thuyết:
(type C1 ConceptRole) (isPlayedBy C1 Object_Oriented) (hasContextValue C1 DetailLevel_Low) <owl-ql:premise> <rdf:RDF> <rdf:Description rdf:about="#C1"> <rdf:type rdf:resource="#ConceptRole"/> <isPlayedBy rdf:resource="#Object_Oriented"/> <hasContextValue rdf:resource="#DetailLevel_Low"/> </rdf:Description> </rdf:RDF> </owl-ql:premise> Câu hỏi:
(type ?x Resource) (hasSubject ?x Object_Oriented) (isPlayedIn C1 ?x) must_bind ?x <owl-ql:queryPattern> <rdf:RDF> <rdf:Description rdf:about="http://www.w3.org/2003/10/owl-ql-variables#x"> <rdf:type rdf:resource="#Resource"/> <hasSubject rdf:resource="#Object_Oriented"/> </rdf:Description> </rdf:RDF>
<rdf:RDF>
<rdf:Description rdf:about="#C1">
<isPlayedIn rdf:resource=" http://www.w3.org/2003/10/owl-ql-variables#x"/> </rdf:Description> </rdf:RDF> </owl-ql:queryPattern> <owl-ql:mustBindVars> <var:x/> </owl-ql:mustBindVars>
Trong trường hợp cở sở tri thức (kho ontology mô tả tài nguyên học điện tử) là cho bởi địa chỉ http://edu_ontology.vnu.edu.vn/resource.owl thì ta có xác định cơ sở tri thức cho truy vấn được viết như sau:
<owl-ql:answerKBPattern>
<owl-ql:kbRef rdf:resource="http://edu_ontology.vnu.edu.vn/resource.owl"/> </owl-ql:answerKBPattern>
Trong trường hợp ta muốn giới hạn số câu trả lời là 7 ta có thành phần sau trong câu truy vấn <owl-ql:answerSizeBound>5</owl-ql:answerSizeBound>
Các thành phần câu truy vấn nằm giữa cặp thẻ
<owl-ql:query xmlns:owl-ql="http://www.w3.org/2003/10/owl-ql-syntax#" xmlns:var="http://www.w3.org/2003/10/owl-ql-variables#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#"> </owl-ql:query>
Theo các ví dụ trên thì Resource_Class (có trong các ví dụ trước) phải là nằm trong tập kết quả ứng với truy vấn trên. Trong trường hợp chỉ có một kết quả là Resource_Class, khi đó dữ liệu được mô tả như sau:
<owl-ql:answerBundle xmlns:owl-ql="http://www.w3.org/2003/10/owl-ql-syntax#" xmlns:var="http://www.w3.org/2003/10/owl-ql-variables#"> <owl-ql:queryPattern> <rdf:RDF> <rdf:Description rdf:about="http://www.w3.org/2003/10/owl-ql-variables#x"> <rdf:type rdf:resource="#Resource"/> <hasSubject rdf:resource="#Object_Oriented"/> </rdf:Description> </rdf:RDF> <rdf:RDF> <rdf:Description rdf:about="#C1">
<isPlayedIn rdf:resource=" http://www.w3.org/2003/10/owl-ql-variables#x"/> </rdf:Description>
</rdf:RDF>
</owl-ql:queryPattern> <owl-ql:answer>
<var:x rdf:resource="#Resource_Class"/> </owl-ql:binding-set> <owl-ql:answerPatternInstance> <rdf:RDF> <rdf:Description rdf:about="#Resource_Class"> <rdf:type rdf:resource=”#Resource”/> <hasSubject rdf:resource="#Object_Oriented"/> </rdf:Description> </rdf:RDF> <rdf:RDF> <rdf:Description rdf:about="#C1"> <isPlayedIn rdf:resource=”#Resource_Class”/> </rdf:Description> </rdf:RDF> <owl-ql:answerPatternInstance> </owl-ql:answer> <owl-ql:continuation> <owl-ql:termination-token> <owl-ql:none/> </owl-ql:termination-token> </owl-ql:continuation> </owl-ql:answerBundle>
Một trong những cách tiếp cận khác cho sử dụng truy vấn ngữ nghĩa phục vụ đào tạo là xây dựng ngôn ngữ truy vấn riêng và mô tơ suy luận riêng. Cách tiếp cận này có ưu điểm là có thể cài đặt truy vấn sao cho tối ưu với lĩnh vực đào tạo. Tuy nhiên, cách tiếp cận này cũng có nhược điểm là không khai thác những ưu điểm của chuẩn mở. Điều này sẽ dẫn đến khó khăn trong việc trao đổi giữa hệ thống đào tạo và các hệ thống khác.
3.4 Tổng kết
Nhằm nâng cao công tác quản lý và khai thác tài nguyên học điện tử, chúng tôi đề xuất mô hình xây dựng và khai thác tài nguyên học điện tử dựa trên công nghệ web ngữ nghĩa: sử dụng ontology, chú thích ngữ nghĩa và các công nghệ thông minh.
Với mô hình đề xuất, chúng tôi xây dựng các ontology nhằm mở rộng chuẩn SCORM, hỗ trợ mô tả ngữ nghĩa các thành phần tài nguyên học điện tử. Các ontology được phân làm ba loại: ontology mô tả cấu trúc, ontology mô tả chủ đề và ontology mô tả ngữ cảnh. Chúng tôi đã xây dựng một số ontology cơ bản cho mô tả cấu trúc và
mô tả ngữ cảnh. Các ontology mô tả chủ đề được xây dựng trong quá trình phát triển hệ thống.
Một đề xuất hướng tới tự động xây dựng bài giảng phù hợp với ngữ cảnh là sử dụng truy vấn ngữ nghĩa để tìm các tài nguyên học điện tử phù hợp với nhu cầu cụ thể của học viên. Ngôn ngữ được sử dụng là OWL-QL.
Đối với những bài giảng tuân theo chuẩn SCORM đã được xây dựng, chúng tôi cũng đề xuất một giải pháp đơn giản cho xây dựng chú thích ngữ nghĩa cho các bài giảng này. Theo giải pháp đề xuất, các chú thích ngữ nghĩa được xây dựng dựa trên các thông tin cơ bản có trong siêu dữ liệu. Các thao tác xử lý trên các thông tin có trong siêu dữ liệu là phép xử lý xâu ký tự, phép so sánh chuỗi từ, áp dụng một số luật đơn giản cho biến đổi chuỗi từ. Chưa có sự áp dụng các kỹ thuật hiện đại như xử lý ngôn ngữ tự nhiên, phân loại văn bản trong thao tác xử lý siêu dữ liệu.