Xác định các ontology

Một phần của tài liệu Ứng dụng công nghệ Web ngữ nghĩa trong đào tạo điện tử (Trang 50)

Chươn g3 Ứng dụng công nghệ web ngữ nghĩa trong E-Learning

3.2.1Xác định các ontology

Trong lĩnh vực đào tạo điện tử, cụ thể là phục vụ cho quản trị tài nguyên học điện tử, các ontology phải thể hiện được mối quan hệ giữa các loại tài nguyên học điện tử và quan hệ giữa các chủ đề của tài nguyên.

Việc xây dựng ontology phụ thuộc vào mục đích mô tả của các ontology. Các ontology mô tả các đối tượng cơ sở, các quan hệ cơ bản, ít biến đổi có thể được xây dựng từ đầu. Ngược lại, các ontology mô tả các khái niệm, chủ đề học tập và các mối quan hệ giữa chúng phải được xây dựng động vì khó có thể xác định được toàn bộ các chủ đề ngay từ đầu. Trong quá trình thêm các tài nguyên học vào hệ thống, các chủ đề mới cùng các mối quan hệ mới cũng được cập nhật để phục vụ cho quản lý và khai thác tài nguyên mới.

Để phục vụ cho mô hình khai thác tài nguyên học điện tử đề xuất, các thông tin cần có biểu diễn ngữ nghĩa bao gồm thông tin liên quan đến gói bài giảng SCORM, thông tin liên quan đến các chủ đề đào tạo, và thông tin liên quan đến ngữ cảnh học tập của học viên. Từ đó, ontology mô tả các khái niệm được chia làm ba loại:

 Các ontology về cấu trúc mô tả các khái niệm phục vụ cho biểu diễn các loại thành phần có trong gói bài giảng (bài giảng, chương, mục, bài tập, bài kiểm tra …),

 Các ontology về chủ đề mô tả các chủ đề mà các thành phần tài nguyên đào tạo điện tử đề cập (trí tuệ nhân tạo, xử lý ảnh, thuật toán sắp xếp nổi bọt,

toán cao cấp, công thức tìm nghiệm bậc ba…) và mối quan hệ giữa các chủ đề đó,

 Các ontology về ngữ cảnh mô tả tình huống đào tạo đối với mỗi học viên, và mô tả các điều kiện đào tạo hiện tại mà hệ thống cung cấp (mức độ khó của bài tập, chuyên ngành học, giới tính…).

Các ontology thuộc loại thứ nhất và hai có thể được xây dựng ngay từ đầu và ít có thay đổi trong suốt quá trình khai thác hệ thống. Các ontology thuộc loại thứ ba khó có thể xây dựng được toàn bộ ngay từ đầu mà thường phải xây dựng dần dần và có thể bị thay đổi hay hiệu chỉnh trong quá trình khai thác hệ thống.

3.2.1.1 Ontology về cấu trúc

Dựa vào chuẩn SCORM, chúng tôi phát triển một số ontology mô tả cấu trúc của bài giảng điện tử bao gồm ontology mô tả thành phần nội dung, ontology mô tả thành phần tài nguyên và các ontology mô tả quan hệ giữa chúng.

Các thành phần nội dung trong cấu trúc bài giảng theo chuẩn SCORM được mô tả bằng lớp Item. Quan hệ cha con của các Item được thể hiện bằng thuộc tính

hasParentItemhasChildItem, giá trị của hai thuộc tính này cũng là một đối tượng thuộc lớp Item. Một đối tượng thuộc lớp Item có thể có nhiều giá trị thuộc tính

hasChildItem nhưng chỉ có nhiều nhất một giá trị thuộc tính hasParentItem. Lớp Item

được có thuộc tính hasItemType thể hiện loại thành phần nội dung, với giá trị của thuộc tính này là một đối tượng thuộc lớp TypeOfItem.

Object Property hasResource Class Resource Object Property hasResDependency Object Property hasChildItem Object Property hasParentItem Class Item Object Property hasItemType Class TypeOfItem range range range

domain domain range domain domain

range domain

Có ba thể hiện của lớp TypeOfItem được định nghĩa từ đầu là PackageItem,

OrganizationItemNormalItem, tương ứng thể hiện ba loại thành phần của cấu trúc bài giảng SCORM: Organizations, Organization và Item. Những đối tượng lớp Item có thuộc tính hasItemTypePackageItem sẽ không có thuộc tính hasParentItem.

Lớp Resource được sử dụng để mô tả các thành phần tài nguyên của gói bài giảng SCORM (các thành phần được biểu diễn bằng thẻ resource có trong imsmanifest.xml của chuẩn SCORM). Quan hệ phụ thuộc giữa các đối tượng của lớp

Resource được biểu diễn bởi thuộc tính hasResDependency. Mỗi thành phần tài nguyên đều có kiểu nội dung được thể hiện qua thuộc tính hasDocumentType và giá trị thuộc tính là một đối tượng thuộc lớp DocumentType (xem phụ lục B). Kiểu của tài nguyên được thể hiện qua thuộc tính hasResourceType (xem phụ lục B). Lớp Resource

cũng có một số thuộc tính khác liên quan đến chủ đề và ngữ cảnh, các thuộc tính này sẽ được trình bày trong các mục sau.

Quan hệ giữa lớp Item và lớp Resource được thể hiện qua thuộc tính

hasResource. Ngoài các thuộc tính nói trên, các lớp Item, Resource cũng có một số thuộc tính khác dùng để liên kết với thông tin có trong siêu dữ liệu của gói bài giảng điện tử.

Ontology về cấu trúc được xây dựng dựa trên siêu dữ liệu của gói bài giảng điện tử tuân theo chuẩn SCORM. Trong siêu dữ liệu mô tả gói bài giảng, các thành phần cấu trúc Organizations, Organization, và Item được chuyển thành các đối tượng thuộc lớp Item, và thành phần tài nguyên Resource được chuyển thành đối tượng thuộc lớp Resource. Các đối tượng sinh ra được mô tả trong tệp siêu dữ liệu viết bởi ngôn ngữ OWL.

Sau đây là một minh họa về việc sử dụng các ontology để mô tả một cấu trúc bài giảng: Ví dụ 1: <Item rdf:ID=”Object_Oriented_Course”> <hasItemType rdf:resource=”&s_onto;PackageItem” /> <hasChildItem rdf:resource=”#Object_Oriented> <hasRefID rdf:datatype=”&xsd:string”>OOC_SE_2001</hasRefID>

<Item rdf:ID=”Object_Oriented”> <hasItemType rdf:resource=”&s_onto;OrganizationItem” /> <hasChildItem rdf:resource=”#Syllabus” /> <hasChildItem rdf:resource=”#Class” /> <hasChildItem rdf:resource=”#Method” /> <hasChildItem rdf:resource=”#Object” /> <hasChildItem rdf:resource=”#Inheritance” /> <hasChildItem rdf:resource=”#Interface” /> <hasRefID rdf:datatype=”&xsd:string”>OO_SE_2001</hasRefID> </Item> <Item rdf:ID=”Syllabus”> <hasItemType rdf:resource=”&s_onto;NormalItem” /> <hasParentItem rdf:resource=”#Object_Oriented” /> <hasResource rdf: resource =”#Resource_Syllabus”>

<hasRefID rdf:datatype=”&xsd:string”>Syllabus_OO_SE_2001</hasRefID> </Item>

<Item rdf:ID=”Class”>

<hasItemType rdf:resource=”&s_onto;NormalItem” /> <hasParentItem rdf:resource=”#Object_Oriented” /> <hasResource rdf: resource =”#Resource_Class”>

<hasRefID rdf:datatype=”&xsd:string”>Class_OO_SE_2001</hasRefID> </Item> (adsbygoogle = window.adsbygoogle || []).push({});

<Resource rdf:ID=”Resource_Syllabus”>

<hasRefID rdf:datatype=”&xsd:string”>r_ Syllabus_OO_SE_2001</hasRefID> <hasDocumentType rdf:resource=”&s_onto;StudyMaterial” />

<hasResourceType rdf:resource=”#Asset_HTML” /> </Resource>

<Resource rdf:ID=”Resource_Class”>

<hasRefID rdf:datatype=”&xsd:string”>r_ Class_OO_SE_2001</hasRefID> <hasDocumentType rdf:resource=”&s_onto;Lecture” />

<hasResourceType rdf:resource=”#Asset_PDF” /> </Resource>

Ví dụ trên mô tả một gói bài giảng về chủ đề “Hướng đối tượng” trong lập trình hướng đối tượng. Các thành phần cấu trúc có trong mô tả là:

Object_Oriented_Course là đối tượng lớp Item, có kiểu là PackageItem thể hiện đây là gói bài giảng, không có thành phần cha, không tham chiếu đến một tài nguyên học điện tử nào, có thành phần cấu trúc con là Object_Oriented, và có định danh trong siêu dữ liệu SCORM là OOC_SE_2001 (mô tả bởi thuộc tính có tên hasRefID).

Object_Oriented là đối tượng lớp Item, có kiểu là OrganizationItem thể hiện đây là một tổ chức bài giảng, có thành phần cha là Object_Oriented_Course, có các

thành phần cấu trúc con là Syllabus, Class, Method, Object, Inheritance, Interface, có định danh trong siêu dữ liệu SCORM là OO_SE_2001, và không tham chiếu đến một tài nguyên học điện tử nào.

Syllabus, Class, Method, Object, Inheritance và Interface đều là các thành phần cấu trúc kiểu NormalItem, đều có tham chiếu đến tài nguyên học điện tử và có định danh trong siêu dữ liệu SCORM.

Resource_Syllabus, và Resource_Class là các vị dụ về đối tượng thuộc lớp

Resource thể hiện cho thành phần nội dung học điện tử, và đều có định danh của tài nguyên có trong siêu dữ liệu của gói bài giảng SCORM. Resource_Syllabus có kiểu nội dung là StudyMaterial và kiểu tài nguyên là asset(html). Resource_Class có kiểu nội dung là Lecture và kiểu tài nguyên là asset(pdf).

3.2.1.2 Ontology về khái niệm, chủ đề

Lớp Concept được sử dụng để mô tả các khái niệm liên quan đến đào tạo. Lớp này có thể sử dụng để mô tả chủ đề của thành phần nội dung và cũng có thể sử dụng để mô tả các khái niệm khác không liên quan đến nội dung đào tạo nhưng phục vụ hệ thống đào tạo. Class Concept Class Resource Class ConceptRole Class ConceptRoleType Object Property requireConcept Object Property subConceptOf Object Property

hasSubject Object Property subConceptRoleOf Object Property isPlayedBy Object Property isPlayedIn Object Property hasConceptRoleType range domain range domain range domain range domain range domain domain range domain range

Hình 3.4 Một số ontology mô tả khái niệm, chủ đề.

Quan hệ mô tả thành phần tài nguyên đề cập đến một khái niệm (hay chủ đề) được biểu diễn bằng thuộc tính hasSubject (thuộc tính của lớp Resource) với giá trị là một đối tượng thuộc lớp Concept.

Mối quan hệ giữa khái niệm và thành phần tài nguyên cũng được thể hiện qua lớp ConceptRole, ConceptRoleType và một số thuộc tính khác, giúp chúng ta phân biệt được tài nguyên có vai trò thế nào trong cấu trúc bài giảng và tài nguyên đó liên quan đến khái niệm hay chủ đề ở mức độ nào. Ngoài ra, lớp Concept còn có một số thuộc tính thể hiện cho các quan hệ giữa các khái niệm như subConceptOf, requireConcept.

Sau đây là một ví dụ về mô tả khái niệm và chủ đề và quan hệ đối với tài nguyên học điện tử.

Ví dụ 2:

<Resource rdf:ID=”Resource_Class”>

<hasRefID rdf:datatype=”&xsd:normalizedString”>r_ Class_OO_SE_2001</hasRefID> <hasSubject rdf:resource=”#Class” /> </Resource> <ConceptRole rdf:ID=”Object_Oriented_Class_Introduction”> <isPlayedBy rdf:resource=”#Class” /> <isPlayedIn rdf:resource=”#Resource_Class” /> <hasConceptRoleType rdf:resource=”&s_onto;Introduction” /> </ConceptRole> <Concept rdf:ID=”Object_Oriented”>

<rdfs:label xml:lang=”en”>Object Oriented</rdfs:label> <rdfs:label xml:lang=”vn”>Hướng đối tượng</rdfs:label> </Concept>

<Concept rdf:ID=”Class”>

<subConceptOf rdf:resource=”#Object_Oriented” />

<rdfs:label xml:lang=”en”>Class in Object Oriented</rdfs:label> <rdfs:label xml:lang=”vn”>Lớp trong hướng đối tượng</rdfs:label> </Concept>

<Concept rdf:ID=”Inheritance”>

<subConceptOf rdf:resource=”#Object_Oriented” /> <requireConcept rdf:resource=”#Class” /> (adsbygoogle = window.adsbygoogle || []).push({});

<rdfs:label xml:lang=”en”>Inheritance in Object Oriented</rdfs:label> <rdfs:label xml:lang=”vn”>Kế thừa trong hướng đối tượng</rdfs:label> </Concept>

Trong ví dụ trên, đối tượng tài nguyên Resource_Class có chủ đề là Class, một chủ đề con của chủ đề Object_Oriented. Chủ đề Class được nói đến trong tài nguyên ở mức độ là Introduction (thể hiện bằng đối tượng Object_Oriented_Class_Introduction thuộc lớp ConceptRole).

Inheritance cũng là một chủ đề con của chủ đề Object_Oriented, và có chủ đề yêu cầu là Class. Điều này có nghĩa là khái niệm kế thừa (Inheritance) thường chỉ được đề cập đến sau khi khái niệm lớp (Class) đã được giới thiệu.

3.2.1.3 Ontology về ngữ cảnh

Mỗi học viên được mô tả bằng một đối tượng thuộc lớp Learner. Lớp Learner

có chứa các thuộc tính như tên, tuổi, giới tính, nơi công tác, ngành nghề, lớp học chính qui tham gia và một số thuộc tính khác thể hiện cho thông tin cơ bản của học viên.

Các thông tin đặc biệt phục vụ cho việc xác định nhu cầu học viên, hay nói cách khác là ngữ cảnh học tập của học viên được thể hiện bằng lớp Context. Quan hệ giữa ngữ cảnh chủ đề học tập được thể hiện qua thuộc tính aboutConcept với giá trị là một đối tượng thuộc lớp Concept.

Kiểu của ngữ cảnh được thể hiện qua lớp ContextType và thuộc tính

hasContextType. Có ba loại ngữ cảnh được đĩnh nghĩa trước là GoalContext,

HistoryContextRequirementContext. Trong đó các ngữ cảnh có kiểu GoalContext

thể hiện cho mục tiêu học tập của học viên, ngữ cảnh có kiểu HistoryContext thể hiện cho lịch sử học tập của học viên, và ngữ cảnh có kiểu RequirementContext thể hiện cho yêu cầu của học viên đối với nội dung học tập.

Các đánh giá ngữ cảnh được biểu diễn bởi thuộc tính hasContextValue với giá trị là một đối tượng thuộc lớp ContextValue. Có nhiều kiểu đánh giá, mỗi kiểu được thể hiện bởi thuộc tính hasContextValueType (thuộc tính này nằm trong lớp

ContextValue) với giá trị là một đối tượng thuộc lớp ContextValueType. Có ba khía cạnh đánh giá phổ biến là Difficulty – thể hiện cho mức độ khó dễ của nội dung học,

DetailLevel – thể hiện cho mức độ chi tiết của nội dung, và StudyResult – thể hiện cho kết quả học tập.

Trong lớp ConceptRole cũng có thêm thuộc tính hasContextValue với giá trị thuộc tính là một đối tượng thuộc lớp ContextValue nhằm mô tả rõ hơn quan hệ giữa chủ đề và thành phần nội dung học điện tử. Sau đây là một ví dụ minh họa về mô tả ngữ cảnh học tập của một học viên:

Class Learner Class Context Class ContextType Class Concept Class ContextValue Class ContextValueType Object Property hasContextType range domain Class ConceptRole range domain Object Property hasContext Object Property aboutConcept range domain Object Property hasContextValue domain range Object Property hasContextValueType domain range Object Property hasContextValue domain range Hình 3.5 Một số ontology mô tả ngữ cảnh học tập. Ví dụ 3: <Learner rdf:ID=”SV0205”> <gender rdf:resource=”&s_onto;Female” /> <profession rdf:resource=”&s_onto;ComputerScience” /> <hasContext rdf:resource=”#SV0205_context1” /> <hasContext rdf:resource=”#SV0205_context2” /> </Leaner> <Context rdf:ID=”SV0205_context1”> <hasContextType rdf:resource=”&s_onto;Goal” /> <aboutConcept rdf:resource=”#Object_Oriented” /> <hasContextValue rdf:resource=”#SV0205_context1_value1”> <hasContextValue rdf:resource=”#SV0205_context1_value2”> </Context> <ContextValue rdf:ID=”SV0205_context1_value1”> <hasContextValueType rdf:resource=”&s_onto;Difficulty” /> <stringValue rdf:datatype=”&xsd:string”>Advanced</stringValue> <numericValue rdf:datatype=”&xsd:float”>0.8</numericValue> </ContextValue> <ContextValue rdf:ID=”SV0205_context1_value2”> <hasContextValueType rdf:resource=”&s_onto;DetailLevel” /> <stringValue rdf:datatype=”&xsd:string”>Medium</stringValue> <numericValue rdf:datatype=”&xsd:float”>0.5</numericValue> </ContextValue> <Context rdf:ID=”SV0205_context2”>

<hasContextType rdf:resource=”&s_onto;History” /> <aboutConcept rdf:resource=”#Java_Programming” /> <hasContextValue rdf:resource=”#SV0205_context2_value1”> <hasContextValue rdf:resource=”#SV0205_context2_value2”> </Context> <ContextValue rdf:ID=”SV0205_context2_value1”> <hasContextValueType rdf:resource=”&s_onto;Difficulty” /> <stringValue rdf:datatype=”&xsd:string”>Beginner</stringValue> <numericValue rdf:datatype=”&xsd:float”>0.3</numericValue> </ContextValue> <ContextValue rdf:ID=”SV0205_context2_value2”> <hasContextValueType rdf:resource=”&s_onto;StudyResult” /> <stringValue rdf:datatype=”&xsd:string”>Passed</stringValue> <numericValue rdf:datatype=”&xsd:float”>0.6</numericValue> </ContextValue>

Ví dụ trên mô tả một học viên nữ có mã học viên là SV0205. Học viên này đã tham gia một khóa học đơn giản về Java_Programming và đã đạt kết quả sau khóa học với đánh giá là 0.6. Học viên có nhu cầu học về Object_Oriented ở mức độ nâng cao nhưng lại muốn tài liệu chỉ ở mức chi tiết trung bình.

Ví dụ 4 là một minh họa cho sử dụng ontology để mô tả chi tiết vai trò của chủ đề đối với tài nguyên. Trong ví dụ này, tài nguyên Resource_Class (nói đến ở ví dụ 2) đề cập đến chủ đề Class và nội dung (về chủ đề Class) được mô tả trong tài nguyên là không chi tiết (DetailLevel_Low) nhưng là nội dung nâng cao (Advanced).

Ví dụ 4: <ConceptRole rdf:ID=”Object_Oriented_Class_Introduction”> <isPlayedBy rdf:resource=”#Class” /> <isPlayedIn rdf:resource=”#Resource_Class” /> <hasConceptRoleType rdf:resource=”&s_onto;Introduction” /> <hasContextValue rdf:resource=”#Difficulty_Advanced” /> <hasContextValue rdf:resource=”#DetailLevel_Low” /> </ConceptRole> <ContextValue rdf:ID=”Difficulty_Advanced”> <hasContextValueType rdf:resource=”&s_onto;Difficulty” /> <stringValue rdf:datatype=”&xsd:string”>Advanced</stringValue> </ContextValue> <ContextValue rdf:ID=”DetailLevel_Low”> <hasContextValueType rdf:resource=”&s_onto;DetailLevel” /> <stringValue rdf:datatype=”&xsd:string”>Low</stringValue> </ContextValue>

Một phần của tài liệu Ứng dụng công nghệ Web ngữ nghĩa trong đào tạo điện tử (Trang 50)