Luận văn Nghiên cứu triển khai hệ thống học thích nghi theo nhu cầu mục tiêu học tập trong đào tạo điện tử

Nếu trong một thời điểm cụ thể, chúng ta quan sát cảm biến đang sáng, và muốn nhập vào các bằng chứng cho node Temperature, thì chúng ta ta sử dụng bằng chứng likelihood. Một bằng chứng likelihood bao gồm một giá trị xác suất cho mỗi trạng thái của node. Đối với ví dụ của chúng ta, bằng chứng likelihood sẽlà (0, 0.1, 1).

pdf60 trang | Chia sẻ: lylyngoc | Lượt xem: 2314 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Luận văn Nghiên cứu triển khai hệ thống học thích nghi theo nhu cầu mục tiêu học tập trong đào tạo điện tử, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
các nội dung nào là phù hợp. Phương pháp thường được dùng là sắp xếp các liên kết thành nhĩm tương ứng từ tập các nội dung của mơn học phù hợp với mục tiêu của người học. Tiến trình học tập cho từng nội dung: Phương pháp nhằm chỉ dẫn người học khi tìm hiểu nội dung cụ thể trong khĩa học, thơng qua việc cung cấp liên kết tương ứng với nội dung đĩ. Hệ thống đưa ra các gợi ý dựa trên sở thích, việc tiếp thu kiến thức và kiến thức cơ bản của người học. Định hướng trợ giúp tổng thể: Hỗ trợ người học bằng cách cung cấp các chú thích, hoặc ẩn các liên kết. Việc quyết định đưa ra các chú thích hoặc ẩn các liên kết phụ thuộc vào trạng thái của nội dung mà khơng phụ thuộc vào người học. Định hướng trợ giúp cục bộ: Hỗ trợ người học trong khi tham gia tìm hiểu nội dung cụ thể của khĩa học. Cách tiếp cận thứ nhất của phương pháp này là cung cấp thêm các thơng tin cho một nội dung nào đĩ, cách thứ hai là giới hạn các liên kết về một nội dung nào nhằm tránh cho người học bị "quá tải" và hướng người dùng tập trung vào các liên kết tương ứng. 2.1.5 Các kỹ thuật xây dựng khĩa học thích nghi[2] 2.1.5.1 Tùy biến các liên kết Việc tùy biến các liên kết yêu cầu hệ thống chọn lựa các nội dung phù hợp với nội dung khĩa học tại thời điểm xác định. Việc chọn lựa nội dung này dựa trên mơ hình người hoc. Ví dụ, dựa trên mục tiêu của người học. Nếu những liên kết chứa nội dung mà khơng phù hợp với mục tiêu của người học, nĩ được đánh dấu là khơng phù hợp. Tương tự như vậy, những liên kết đến các khái niệm cĩ thể cần đến kiến thức mà người dùng khơng tiếp cận được, nĩ cũng được đánh dấu là khơng phù hợp. - 15 - 2.1.5.2 Chỉ dẫn trực tiếp Hệ thống cung cấp các chỉ dẫn trực tiếp cho người học bằng cách đưa ra những gợi ý người học nên chọn nội dung nào tiếp theo. Với kỹ thuật này, hệ thống đưa ra tiến trình học cho người học trong suốt quá trình họ tham gia vào khĩa học. Tiến trình này là khác biệt đối với người học, tuy vậy các ưu điểm của hệ thống học thích nghi sẽ bị ảnh hưởng khi người học khơng thể tự mình tổ chức được tiến trình học của mình. Ví dụ, khi nội dung tiếp theo cùng với các thơng tin bổ sung được hệ thống đề xuất, người học khơng tin vào khả năng của họ cĩ thể kết thúc khĩa học một cách độc lập, họ thường sẽ chọn chỉ dẫn trực tiếp thay vì các thơng tin bổ sung. 2.1.5.3 Thay đổi trật tự liên kết Kỹ thuật này được sử dụng khi hệ thống phân loại danh sách những liên kết chứa nội dung phù hợp với người học. Hệ thống lọc và hiển thị những liên kết phù hợp với mơ hình người học theo thứ tự ưu tiên mức độ phù hợp. Các liên kết này thường được thể hiện như mục lục. 2.1.5.4 Ẩn các liên kết Ẩn các liên kết giới hạn các lựa chọn của người học. Hệ thống quyết định những liên kết nào là khơng phù hợp với người học và thay đổi định dạng các liên kết đĩ thành văn bản thơng thường, hoặc khơng cho phép người học kích hoạt chúng. Việc ẩn các liên kết nhằm làm giảm nội dung cũng như sự phức tạp của khĩa học mà vẫn cung cấp được các liên kết đến các nội dung cơ bản. Tuy vậy việc ẩn các liên kết cũng cĩ một số nhược điểm. Người học thường khơng muốn bị giới hạn, việc ý thức được người học đã hồn thành khĩa học khĩ đạt được khi người học khơng tin là tất cả các nội dung mình đã hồn thành. 2.1.5.5 Cung cấp các chú thích Các chú thích nhằm cung cấp thêm thơng tin cho các liên kết để người học cĩ thêm nhiều nội dung bổ sung cho nơi dung hiện tại. Các liên kết dạng này mang cho người học sự gợi ý về mức độ phù hợp mà hệ thống đưa ra các liên kết dựa trên mơ hình người học. Người học cĩ thể chọn lựa tiến trình học theo ý họ. Một liên kết cĩ thể cĩ nhiều trạng thái và được biểu thị bằng màu sắc, biểu tượng hoặc những định dạng khác nhau. Trong WWW, thường biểu thị hai trạng thái là liên kết đã được duyệt, và chưa được duyệt. Trong hệ thống học thích nghi, các liên kết thường được biểu hiện thơng qua trạng thái đã học, học tốt hoặc chưa biết v..v. - 16 - 2.2 Tìm hiểu mơ hình học thích nghi theo nhu cầu người học ACGS[3] 2.2.1 Tổng Quan Hiện nay đã cĩ nhiều giải pháp xây dựng hệ thống học thích nghi để giải quyết vấn đề trên như: MELOT (www.melot.org), CAREO (www.careo.org), SMETE (www.smette.org/smette) , hầu hết tất cả tuân theo chuẩn đặc tả dữ liệu elearning để mơ tả các đối tượng học LO. Cũng đã cĩ một vài chuẩn đặc tả dữ liệu mới được định nghĩa để phân lớp các đối tương học LO, tuy nhiên hầu hết các nhà thiết kế khĩa học hay giáo viên vẫn gặp rất nhiều khĩ khăn trong việc lựa chọn đối tượng học phù hợp với nhiều yêu cầu của mỗi người học khác nhau, do các thuộc tính của đối tượng học chưa đủ lượng thơng tin cần thiết để thích nghi với các yêu cầu khác nhau của người học. Mơ hình tạo khĩa học thích nghi ACGS được xây dựng nhằm giải quyết vấn đề trên, mơ hình nhằm tạo ra các khĩa học thích nghi dựa trên các thơng tin về người học như kiến thức, kỹ năng và sở thích,... Để làm được điều đĩ thì một trong những bước quan trọng của mơ hình là tạo ra các tiến trình học thích nghi cho từng người học bao gồm việc áp dụng thuật tốn đường đi ngắn nhất để lựa chọn các đối tượng học dựa vào thuộc tính của chúng , và xây dựng mạng xác suất BB để tạo ra các tiến trình học phù hợp với nhu cầu người học. 2.2.2 Kiến trúc của hệ thống Để tạo ra các khĩa học thích nghi phù hợp với nhu cầu từng người học. Hệ thống ACGS tiến hành đánh giá và thu thập yêu cầu của người học thơng qua mơ hình người học. Sau khi đánh giá, phân loại người học, ACGS thực hiện lựa chọn tiến trình học phù hợp với từng người học. Để làm được điều đĩ mơ hình bổ sung thêm một vài thuộc tính cho đối tượng học LO để xây dựng đồ thị tri thức. Mơ hình sử dụng một số thuộc tính thêm vào đĩ của đối tượng học LO để xây dựng cấu trúc khĩa học hay bản đồ kiến thức cho mỗi người học, để làm được điều đĩ mơ hình gồm 3 module sau : 1. learner module : Learner module được thiết kế để đánh giá và xây dựng mơ hình người học. 2. content module : Content Module nhằm lựa chọn nội dung khĩa học phù hợp với từng người học dựa trên mơ hình người học, tức là tạo ra các tiến trình học phù hợp cho mỗi người học dựa trên các thơng tin về người học. - 17 - 3. view module : View module sẽ lựa chọn cách thức trình bày khĩa học phù hợp với người học. Mơ hình cung cấp một cơng cụ cho Giáo Viên hay các nhà thiết kế khĩa học xây dựng cấu trúc tri thức cho khĩa học của họ. Đĩ là một đồ thị cĩ hướng phi chu trình, bao gồm các đỉnh và các cạnh cĩ hướng, trong đĩ các đỉnh đại diện cho các đơn vị tri thức (Knowledge Unit), được tạo từ một hoặc một vài đối tượng học (Learning Object), và các cạnh đại diện cho mối quan hệ giữa các đỉnh. Từ đồ thị tri thức đĩ hệ thống tạo ra tiến trình học phù hợp cho mỗi người học dựa trên các thơng tin (profiles) về người học. Trong đĩ một đỉnh được chọn hay khơng phụ thuộc vào trọng số (weight) của chúng. Để làm được điều đĩ hệ thống sử dụng thuật tốn dựa trên thuật tốn đường đi ngắn nhất để chọn ra mỗi tiến trình học tương ứng với mỗi thuộc tính của đối tượng học LO, từ đĩ tiếp tục xây dựng mạng BBN để tạo ra tiến trình học phù hợp cho người học. 2.2.2.1 Mơ hình người học Mơ hình người học phân lớp các đối tượng người học để đánh giá và xây dựng nội dung học tương ứng cho từng lớp người học [4,5]. Trong thực tế, thế giới này chứa hàng tỉ tỉ người với cấp số nhân của con số ấy những điểm khác nhau của họ. Do đĩ để đưa ra một mơ hình chung cho bấy nhiêu người là một bài tốn khơng giải được. Vì vậy tuỳ thuộc vào điều kiên thực tế, vào lớp người mà mỗi hệ thống E-Learning phục vụ mà những nhà phát triển khố học động tìm ra một mơ hình phù hợp nhất với hệ thống. Trong phạm vi khĩa luận này, ta xét hệ thống với một số khía cạnh của người học làm cơ sở để tạo ra khĩa học thích nghi như : mục tiêu của người học, sở thích của người học, kiến thức cơ bản của người học và cách thức tiếp cận… 2.2.2.2 Đối tượng học LO a. Khái niệm LO được định nghĩa như là một tài nguyên độc lập cĩ cấu trúc, tĩm lược thơng tin chất lượng cao trong ngữ cảnh làm cho việc dạy và học dễ dàng hơn. Mỗi LO cĩ thể là một khái niệm nào đĩ, một đối tượng hình ảnh, âm thanh, hay cĩ thể bao gồm một tập hợp các tệp. b. Đặc điểm của LO : - Mục tiêu (Objectives): Đặc tả những kết quả đạt được sau khi học viên tham gia học tập với chương trình đào tạo từ xa kết thúc, bài học, chương, phần, khĩa học - 18 - - Kiến thức yêu cầu cần chuẩn bị trước khi tham gia khĩa học (pre-requiesites): Gợi ý kiến thức nền tảng yêu cầu của mỗi cá nhân cần phải cĩ khi tham gia khĩa học để hiểu được LO. Những kiến thức yêu cầu là kiến thức nền tảng cĩ liên quan đến những kiến thức mới của LO. Vì thế yêu cầu cĩ phương pháp kiểm tra kiến thức nền của học viên trước khi tham gia khĩa học - Độ khĩ và thời lượng học tập tối thiểu (Difficult and Learning time): Mỗi LO đều cĩ một độ khĩ tương ứng với sự mong đợi của người dùng. LO cũng xác định rõ thời lượng tối thiểu cần thiết để hồn thành bài tập, bài học, mơn học, khĩa học.Mức độ khĩ, thời lượng học tập tối thiểu này là do người biên soạn nội dung khĩa học đề ra Một số yêu cầu chức năng: - Tất cả các LO đều phải cĩ file dính kèm chưa metadata (cấu trúc,quyền sở hữu,quyền sử dụng,…) - LO được truy cập thơng qua một trang giới thiêu ( HTML), trang này sẽ hiển thị những metadata được chọn và điều hướng giúp đỡ - LO phải cĩ một vị trí bắt đầu, vị trí này cho phép các modun học tập khác kết nối tới hoặc phân nhánh - LO luơn giữ nguyên hiện trạng và khơng bị thay đổi bởi thư viện số hoặc hệ quản trị học tập nào mà nĩ được đưa vào - LO được đĩng gĩi theo một phương thức mà chúng cĩ thể được sử dụng một cách độc lập Theo chuẩn Dublin Core Metadata Initiative [6], Mỗi Learning Object Metadata (LOM) gồm 12 thuộc tính sau: Bảng 1 Các thuộc tính của đối tượng học IsPartOf HasVersion References IsBasicFor HasPart IsFormatOf IsReferencyBy Requires IsVersionOf HasFormat IsBaseon IsRequiredBy - 19 - c. Bổ sung thuộc tính cho LO Để giải quyết vấn đề đặt ra mơ hình bổ sung một số thuộc tính sau cho đối tượng học LO để làm cơ sở cho việc thích nghi : Bảng 2 Các thuộc tính bổ sung cho đối tượng học Attribute Attribute Prerequisite DifficultyLevel MasterLevel KnowledgeExpressed Relation InteractionStyle RequireTime GoalLevel Prerequisites: Đối tượng học cĩ tính chất tiên quyết, người học cần phải tìm hiểu các đối tượng học này. Master Level: Phân loại đối tượng học phù hợp với trình độ của người học: Beginer, Intermediate, Advanced, Expert. Difficulty Level: Độ khĩ của đối tượng học, cho biết mức độ dễ hay khĩ để tiếp thu. Required Time: Tương ứng với Difficulty Level, cho biết thời gian tối thiểu để người học cĩ thể kết thúc việc tìm hiểu đối tượng học đĩ. Relation: Thể hiện mối quan hệ giữa các đối tượng học trong đồ thị kiến thức, thể hiện tiến trình học tập. Interactive Style: Xác định các chiến lược khi tiếp cận đối tượng học: top–down, bottom-up, consequence, parallel. For Skill: Cho biết cấp độ của đối tương học phục vụ cho mức độ tìm hiểu kiến thức: Nhớ, Hiểu Áp dụng, Phân tích – tổng hợp – đánh giá v..v. - 20 - 2.2.3 Quy trình lựa chọn Best Learning Path Hệ thống ACGS tạo ra Best Learning Path cho mỗi người học tham gia, dựa trên learner profile và Knowlegde graph do giáo viên hoặc những người thiết kế khĩa học xây dựng theo khung chương trình và kế hoạch học tập. Quy trình chọn lựa được thực hiện gồm 4 bước chính sau đây : Bước 1. Đánh giá người học. Dựa trên nhu cầu người học, hệ thống đánh giá người học, phân loại người học và thu thập các yêu cầu của người học . Bước 2. Xây dựng Knowledge Graph. Căn cứ vào đề cương mơn học, khung chương trình, kế hoạch học tập. Giáo viên và người xây dựng mơn học tiến hành xây dựng Knowledge graph trên cơ sở dữ liệu các đối tượng học LO. Bước 3. Lựa chọn Candidate Learning Path. Trên cơ sở learner’s profile, và các thuộc tính LO hệ thống sẽ lựa chọn ra các candidate learning path, là những learnig path tốt nhất khi chỉ xét một thuộc tính của các đơn vị kiến thức trong đồ thị knowledge graph. Ví dụ, nếu các thuộc tính được xét với người học là reqired time và difficulty level, sẽ cĩ hai candidate learning path tương ứng với hai thuộc tính trên. Bước 4. Xây dựng learning path. Hệ thống xây dựng mạng BBN để chọn ra một tiến trình học phù hợp nhất cho người học từ các tiến trình học đã chọn từ bước 3 trên. 2.2.3.1 Chọn Candidate Path Định nghĩa 1: Knowledge Graph là đồ thị cĩ hướng G=(V, E) cĩ trọng số với V = {v0, v1,…, vn) là tập các đỉnh, vi thể hiện các đơn vị kiến thức. E = {e0, e1,…, en} là tập các cạnh, ei thể hiện mối quan hệ giữa các đơn vị kiến thức. Các cạnh ei được đánh trọng số wi thể hiện khả năng truy xuất đến đơn vị kiến thức kế tiếp. Định nghĩa 2: Learning path là tập các đỉnh V = {vs, vi,…,vj, ve} thuộc đồ thị Knowledge Graph G = (V,E), là những đơn vị kiến thức mà người học cần phải hồn thành việc tìm hiểu trong quá trình tham gia khĩa học để đủ điều kiện kết thúc khĩa học. Định nghĩa 3: Các Candidate learning path là các learning path cĩ ∑wi Ỉ min hoặc ∑wi Ỉ max (i=s..e) trong đĩ min và max là các giá trị ngưỡng. - 21 - Chọn tiến trình học dựa trên thuật tốn tìm đường đi ngắn nhất Mục tiêu của mơ hình là tạo ra learning path phù hợp với người học dựa trên mơ hình người học. Để làm được điều này, trong giai đoạn đầu hệ thống tiến hành lựa chọn các candidate path trong knowledge graph ứng với từng thuộc tính xem xét để lấy làm cơ sở xây dựng khĩa học thích nghi của đối tượng học LO. Vì vậy, số lượng các candidate learning path tương ứng với số lượng các thuộc tính xem xét. Các candidate learning path độc lập với nhau do chúng chỉ phụ thuộc vào một thuộc tính. Input: - The knowledge graph G={V, E}; Ngưỡng ∂; Vs Đơn vị kiến thức bắt đầu người học cần tìm hiểu; Ve Đơn vị kiến thức cuối cùng người học cần hồn thành; Output: A candidate path Begin S={Vs} For i:=2 to n do Begin D[i]:=C[1,i]; P[i]={Vs}; End; While V-S ≠ ∅ do Begin Select v ∈ V-S that D[v] Ỉ min S:= S ∪ {v}; For each w ∈ V-S do If D[v]+C[v,w] < D[w] then Begin D[w]:=D[v] + C[v,w]; P[w]:=v; End; End; End; Với C[i,j] là trọng số của cạnh ek – thể hiện mối quan hệ giữa đỉnh i và j trong đồ thị knowledge graph. Nếu đỉnh i và j khơng cĩ mối quan hệ thì giá trị C[i,j] = ∞. D[u] lưu giá trị trực tiếp từ {Vs} đến u. P[u] lưu vết của learning path, với P[u] = v nếu tồn tại learning path từ vỈu. Ví dụ : - 22 - hình 2. Đồ thị tri thức [3] Với knowledge graph như trên, và ngưỡng ∂ = 20 cho thuộc tính thời gian tối thiểu để hồn thành. Vs = {1}, Ve ={6}, áp dụng thuật tốn chọn lựa candidate learning path, các bước thực hiện như mơ tả trong bảng dưới đây: Step v V-S D P Init 1 {2,3,4,5,6} [3,9, ∞,∞,∞] [1,1,1,1,1] 1 2 {3,4,5,6} [3,8, 9, 17, ∞] [1,2,2,2,1] 2 3 {4,5,6} [3,8,9,17, ∞] [1,2,2,2,1] 3 4 {5,6} [3,8,9,13,24] [1,2,2,4,4] 4 5 {6} [3,8,9,13,14] [1,2,2,4,5] 5 6 - [3,8,9,13,14] [1,2,2,4,5] Kết quả của thuật tốn learning path: 1 Ỉ 2 Ỉ 4 Ỉ5 Ỉ6 với giá trị thời gian yêu cầu 14. Trong trường hợp giá trị lớn hơn ngưỡng ∂, người học khơng đạt được mục tiêu. 2.2.3.2 Sử dụng Bayesian Belief Network tạo learning path a. Bayesian Belief Network [7] Bayesian network hoặc Bayesian belief network hoặc belief network là một mơ hình xác suất dạng đồ thị. Một mạng Bayes được biểu diễn bởi một đồ thị, trong đĩ các nút đại diện cho các biến, cịn các cung đại diện cho các phụ thuộc cĩ điều kiện. Phân phối xác suất cĩ điều kiện phụ thuộc (joint probability distribution) của các biến được xác định bởi cấu trúc đồ 1 2 3 4 5 6 6 9 3 5 2 14 4 15 1 - 23 - thị của mạng. Cấu trúc đồ thị của một mạng Bayes dẫn tới các mơ hình dễ giải thích, và tới các thuật tốn học và suy luận hiệu quả. Các nút cĩ thể đại diễn cho đủ loại biến, một tham số đo được, một biến ẩn (latent variable) hay một giả thuyết, chứ khơng nhất thiết phải đại diện cho các biến ngẫu nhiên. Một mạng Bayes là một đồ thị cĩ hướng phi chu trình mà trong đĩ: - các nút biểu diễn các biến - các cung biểu diễn các quan hệ phụ thuộc thống kê giữa các biến và phân phối xác suất địa phương cho mỗi giá trị nếu cho trước giá trị của các cha của nĩ Nếu cĩ một cung từ nút A tới nút B, thì biến B phụ thuộc trực tiếp vào biến A, và A được gọi là cha của B. Nếu với mỗi biến Xi, , tập hợp các biến cha được ký hiệu bởi parents(Xi), thì phân phối cĩ điều kiện phụ thuộc của các biến là tích của các phân phối địa phương Nếu Xi khơng cĩ cha, ta nĩi rằng phân phối xác suất địa phương của nĩ là khơng cĩ điều kiện, nếu khơng, nĩ là cĩ điều kiện. Nếu biến được biểu diễn bởi một nút được quan sát, thì ta nĩi rằng nút đĩ là một nút hiển nhiên (evidence node). Các câu hỏi về sự phụ thuộc khơng tương đẳng giữa các biến cĩ thể được trả lời bằng cách nghiên cứu đồ thị. Cĩ thể chứng minh rằng trong đồ thị, tính độc lập cĩ điều kiện được biểu diễn bởi tính chất đồ thị d-separation: cho trước một số nút hiển nhiên cụ thể, các nút X và Y là d-separated trong đồ thị khi và chỉ khi các biến X và Y là độc lập, biết trước các biến hiển nhiên tương ứng. Tập hợp gồm tất cả các nút khác mà X cĩ thể phụ thuộc trực tiếp được cho bởi Markov blanket của X. Một ưu điểm của mạng Bayes là, về mặt trực quan, con người cĩ thể hiểu các quan hệ phụ thuộc trực tiếp và các phân phối địa phương dễ dàng hơn là phân phối cĩ điều kiện phụ thuộc hồn chỉnh. b. Sử dụng Bayesian Belief Network chọn lựa learning path - 24 - Từ các đường candidate path đã tìm được ở bước trước, mơ hình lựa chọn ra đường learning path theo các bước sau : Bước 1. Xây dựng bảng giá trị xác suất các đỉnh của đồ thị knowledge graph dựa trên sự cĩ mặt của các đỉnh trong candidate learning path. Xét ví dụ với knowledge graph trong mục 4.3.4, giả sử cĩ các candidate learning path sau đây: 1 Ỉ 2 Ỉ 4 Ỉ5 Ỉ6, 1 Ỉ 3 Ỉ 4 Ỉ5 Ỉ6, 1 Ỉ 3 Ỉ 4 Ỉ6, và 1 Ỉ 3 Ỉ 2 Ỉ5 Ỉ6, cho các thuộc tính khác nhau của mơ hình người học. Sử dụng kết quả này, xây dựng bảng giá trị xác suất cĩ mặt của các đỉnh - node probability table (NPT) Giá trị thể hiện xác suất cĩ mặt của đỉnh đĩ ở trong learning path. 1 2 3 4 5 6 True 1 0.5 0.75 0.75 0.75 1 False 0 0.5 0.25 0.25 0.25 0 Trong các giá trị bảng trên, đỉnh 1 và 6 cĩ xác suất bằng 1 vì chúng là đỉnh bắt đầu và đỉnh kết thúc của learning path. Đỉnh 2 cĩ mặt trong hai candidate path, ta cĩ p(2=true)=0.5, tương tự đỉnh 3 cĩ mặt trong candidate path nên p(3=false)= 0.25. Bước 2. Trên cơ sở xây dựng được bảng giá trị xác suất của các đỉnh, hệ thống xây dựng mạng Bayesian Belief Network để chọn ra learning path Xây dựng mạng BBN dựa trên knowledge graph vơi tập các biến X ={X1, X2,…,Xn} của cấu trúc mạng S là tập các điều kiện phụ thuộc vào biến X. Tập P là xác suất cục bộ phân bổ cho biến X. Biến Xi tương ứng với đỉnh của đồ thị knowledge graph. Gọi Pai cha của Xi . thì phân phối cĩ điều kiện phụ thuộc của các biến là tích của các phân phối địa phương ttính theo cơng thức p(x) = ∏ p(xi|pai). Với ví dụ đang xét, ta tính được xác suất của các đỉnh trong đồ thị. Đỉnh 3 phụ thuộc vào đỉnh 2, ta cĩ p(3|1,2,4,5,6)=p(3|2). Tương tự, các giá trị khác được xác định . - 25 - hình 3. Một mạng bayesian belief[3] p(4|1,2,3,5,6)=p(4|2,3), p(5|1,2,3,4,6)=p(5|2,4). Cuối cùng mơ hình sử dụng cơng cụ MSBNX để xây dựng mạng BBN. Với kết quả tính tốn, mơ hình đưa ra được đường learning path là 1 Ỉ3Ỉ4Ỉ6. 2.2.4 Ưu nhược điểm của mơ hình Trên cơ sở nghiên cứu tìm hiểu chúng tơi rút ra được một số ưu, nhược điểm của mơ hình như sau: a. Ưu điểm : -Ý tưởng của mơ hình rất tốt và sát với thực tế khi mỗi người học cĩ nhu cầu, trình độ chuyên mơn khác nhau nên cần cĩ tiến trình học phù hợp với từng đối tượng người học. - ACGS sử dụng tập các thuộc tính của người học để làm cơ sở thích nghi thay vì chỉ sử dụng các thuộc tính riêng lẻ, nhờ đĩ tạo ra các tiến trình học phù hợp nhất với mỗi đối tượng người học. - Mơ hình hĩa khĩa học dưới dạng đồ thị tri thức do đĩ việc xây dựng khĩa học phù hợp với từng người học trở thành việc tìm learning path tối ưu cho người học đĩ. b. Nhược điểm : - Khĩ khăn cho giáo viên hay người thiết kế khi thiết kế mơn học, phải xây dựng dược đồ thị tri thức rất đầy đủ, hợp lý. Sự thành cơng của mơn học phụ thuộc nhiều vào việc xây dựng đồ thị tri thức. - Việc mở rộng các thuộc tính của đối tượng học LO, càng gây phức tạp cho giáo viên cũng như người thiết kế mơn học khi thiết kế các đối tượng học. - Việc xây dựng các đồ thị xác suất phụ thuộc cho các đỉnh của đồ thị tri thức cần nhiều kinh nghiệm và phải được nghiên cứu kỹ. - Nếu số lượng các đỉnh trong đồ thị tri thức lớn bài tốn cĩ độ phức tạp nhất định. - Ngồi sự phức tạp của bài tốn cũng phụ thuộc vào sự phụ thuộc giữa các đối tượng học. - 26 - Chương 3 Triển khai thử nghiệm 3.1 Phân tích thiết kế 3.1.1 Mơ tả chung Dựa trên các kết quả tìm hiểu chúng tơi xây dựng khố học thích nghi với mơn học “How to design relationship database?” để minh hoạ cho giải pháp tạo khĩa học thích dựa trên các thơng tin về người học. Học viên khi tham gia vào khố học sẽ thực hiện các bài test để hệ thống đánh giá nhu cầu, trình độ và năng khiếu. Hệ thống căn cứ trên những đánh giá này để đưa ra chương trình học phù hợp với nhu cầu và khả năng của từng học viên. 3.1.2 Tổng quan mơ hình hệ thống Quá trình hoạt động của hệ thống là sự tương tác của hai nhân tố : người học, bộ máy thích nghi . Nĩi cách khác, người học lấy tham gia vào khĩa học cung cấp cho hệ thống các thơng tin nhu cầu của minh về khĩa học và hệ thống sử dụng cơ chế thích nghi để tạo ra khĩa học thích nghi theo nhu cầu của mỗi người học. Ứng dụng được triển khai trên nền web mơ phỏng theo mơ hình hệ thống ACGS[8] bao gồm 3 modules: Learner Module (LM), Visualization Module (VM) and Adaptation Module (AM) như hình vẽ dưới. • Learner Module : Được thiết kế để thu thập các nhu cầu của người học khi tham gia vào khĩa học như : mục tiêu, thời gian, kỹ năng… Đồng thời đánh giá phân loại người học. • Visualization Module : Giúp đưa ra cách thức trình bày khĩa học cho người học. • Adaptation Module : Từ các thơng tin về người học và cơ sở dữ liệu xây dựng tiến trình học phù hợp cho mỗi người học. - 27 - Learner Module Visualization Module Adaptation engine Learning Object Database Learner model/ Learner profile Adaptation Module hình 4. Kiến trúc hệ thống tạo khĩa học thích nghi [3] Để tạo ra các khĩa học thích nghi phù hợp với nhu cầu từng người học. Hệ thống tiến hành đánh giá người học thơng qua mơ hình người học. Sau khi đánh giá, phân loại người học, ứng dụng thực hiện lựa chọn nội dung cũng như cách trình bày phù hợp với từng người học. Hệ thống xem nội dung khĩa học như là một đồ thị kiến thức Knowledge graph. Trong đĩ mỗi đỉnh của đồ thị thể hiện một đơn vị kiến thức. Các cạnh của đồ thị thể hiện mối quan hệ rằng buộc giữa các đơn vị kiến thức này. Việc thích nghi nội dung khĩa học được mơ hình hĩa thành bài tốn tìm đường đi “tốt nhất” (Best Learning Path) trong đồ thị Knowlegde graph với tập rằng buộc. 3.1.3 Thiết kế hệ thống 3.1.3.1 Thiết kế kiến trúc Để dễ quản lý các thành phần của hệ thống, cũng như khơng bị ảnh hưởng bởi các thay đổi chúng tơi xây dựng hệ thống dựa trên mơ hình 3 lớp gồm cĩ các tầng sau: • Presentation Layer (tầng trình diễn) : bao gồm các file : MasterPage.master, *.aspx, default.css… Lớp này làm nhiệm vụ giao tiếp với người dùng cuối để thu thập dữ liệu và hiển thị kết quả/dữ liệu thơng qua các thành phần trong giao diện người sử dụng. Lớp này sẽ sử dụng các dịch vụ do lớp Business Logic cung cấp. - 28 - • Business Logic Layer (tầng logic nghiệp vụ) : bao gồm các file : LearningPath.cs, FileReader.cs, …aspx.cs,… Lớp này thực hiện các nghiệp vụ chính của hệ thống, sử dụng các dịch vụ do lớp Data Access cung cấp, và cung cấp các dịch vụ cho lớp Presentation. - Lớp LearningPath.cs : Lớp chính xử lý thích nghi bao gồm một số hàm quan trọng sau : o Dijkstra(int s, int t, ref int lenght, int[] candidatePath) : sử dụng thuật tốn Dijkstra tìm đường đi ngắn nhất từ đỉnh s đến đỉnh t. o GetCandidatePath(int[]outCandidatePath, ref int verticesCount, string pathFile, int attribute,int startVertex, int terminalVertex): Tìm đường Candidate Path theo thuộc tính attribute từ đỉnh startVertex đến đỉnh terminalVertex. o GetLearningPath (…): Làm nhiệm vụ chọn ra đường learning path tốt nhất từ các đường candidate path đã tìm được, sử dụng cơng cụ netica để xử lý xác suất. o … - Lớp Login : Xử lý trức năng đăng nhập, đăng ký thành viên… - Lớp KnowledgeMap : Hiển thị đồ thị tri thức, xử lý nghiệp vụ lựa chọn đỉnh khởi đầu và điểm kết thúc khĩa học của học viên. - Lớp EvaluateLearner : Xử lý nghiệp vụ thu thập các yêu cầu, thuộc tính mà học viên quan tâm khi tham gia khĩa học. - Lớp Test : Kiểm tra, đánh giá, phân loại học viên. - Lớp CandidateLearningPath : Xử lý triệu gọi và hiển thị các đường candidate path tìm được khi chỉ quan tâm đến một thuộc tính của LO. - Lớp LearnPath : Xử lý triệu gọi và hiển thị đường learning path cuối cùng. • Data Access Layer (tầng cơ sở dữ liệu) : bao gồm các file rp_dataProvider.cs, rp_parameter.cs, rp_sqlServer.cs, các hàm thủ tục truy xuất dữa liệu. Lớp này thực hiện các nghiệp vụ liên quan đến lưu trữ và truy xuất dữ liệu của ứng dụng. Thường lớp này sẽ sử dụng các dịch vụ của các hệ quản trị cơ sở dữ liệu như SQL Server,… để thực hiện nhiệm vụ của mình. - Lớp rp_sqlServer : Lớp xử lý mở đĩng kết nối đến cơ sở dữ liệu. o SqlConnection(): Hàm thiết lập kết nối đến cơ sở dữ liệu trả vể đối tượng sqlconection. o CloseConnection() : hàm đĩng tất cả các kết nối hiện tại từ ứng dụng đến cơ sở dữ liệu - 29 - - Lớp rp_dataProvider.cs : Lớp cung cấp giao diện truy xuất, xử lý dữ liệu. o SetCommandTex(string cmdText): Thiết lập chuỗi truy vấn cmdText. o SetCommandType(CommandType cmdType): Thiết lập kiểu truy vấn là theo thủ tục StoredProcedure hay theo TableDirect, Text. o AddParameter(string paraName,object paraValue): Nhập tham số cho lệnh truy vấn với tên tham số paraName và tham trị paraValue. o AddPatameters(string [] paraName, object [] paraValue): Nhập mạng tham số cho lệnh truy vấn. o GetDataTable(): Hàm thực hiện truy vấn. Trả vể bảng dữ liệu. o GetSqlDataReader(): Hàm thực truy vấn. Trả về đối tượng SqlDataReader. o ExcuteNonQuery(): Hàm thực hiện truy vấn. Khơng trả cĩ tham số trả về. o …. - Các thủ tục : hình 5. Các thủ tục xử lý truy cập dữ liệu - 30 - Kiến trúc thư mục của ứng dụng : hình 6. Kiến trúc thư mục ứng dụng - 31 - 3.1.3.2 Thiết kế cơ sở dữ liệu Cơ sở dữ liệu bao gồm các bảng như hình dưới đây : hình 7. Sơ đồ thực thể - Bảng tblCourse : Cất trữ thơng tin về khĩa học. STT Tên trường Kiểu dữ liệu Độ dài Mơ tả 1 CourseID int 4 Tên khĩa học 2 CourseName nvarchar 250 Tên khĩa học 3 Objective nvarchar 450 Mục tiêu của khĩa học 4 Prerequisites nvarchar 20 Yêu cầu trước khi tham gia vào khĩa học 5 Datetime datetime Thời gian tạo khĩa học 6 ContextModel nvarchar 50 Phương pháp học : thực hành hay lý thuyết… - 32 - - Bảng tblConcept : Cất trữ thơng tin các khái niệm của khĩa học tướng ứng với các đơn vị tri thức trong đồ thị tri thức. STT Tên trường Kiểu dữ liệu Độ dài Mơ tả 1 ConceptID int 4 Id của concept 2 CourseID int 4 Id của khĩa học 3 ConceptName nvarchar 150 Tên của khái niệm 4 ConceptIndex int 4 Thứ tự của khái niệm trong đồ thị tri thức 5 Threshold fload 8 Ngưỡng thể hiện mức độ cần thiết của khái niệm, cũng như khả năng khái niệm cĩ trong learning path 6 Prerequisites nchar 50 Cho biết các khái niệm cha mà khái niệm này phụ thuộc vào 7 PreCount int 4 Số khái niêm cha mà khái niệm này phụ thuộc vào 8 Description nvarchar 50 Mơ tả ngắn gọn khái niệm 9 [Content] nvarchar 250 Nội dung - Bảng User : Cất trữ các thơng tin về học viên. STT Tên trường Kiểu dữ liệu Độ dài Mơ tả 1 UserID int 4 Id của học viên 2 UserName nvarchar 30 Tên login của học viên 3 Password nvarchar 20 Mật khẩu đăng nhập của học viên 4 FullName nvarchar 50 Tên đầy đủ của học viên 5 Email nvarchar 50 Thư điện tử 6 Phone nchar 20 Điện thoại 7 Age int 4 Tuổi 8 Gender char 1 Giới tính - 33 - - Bảng tblUserCourse : Cất trữ thơng tin đăng ký khĩa học của mỗi học viên tương ứng với khĩa học. STT Tên trường Kiểu dữ liệu Độ dài Mơ tả 1 UserID int 4 Id của học viên 2 CourseID int 4 Id của Khĩa học 3 DateEnroll datetime Ngày đăng ký khĩa học của học viên 4 Description 150 Mơ tả - Bảng tblTest : Cất trữ thơng tin các bài kiểm tra cho các khĩa học. STT Tên trường Kiểu dữ liệu Độ dài Mơ tả 1 CourseID int 4 Id của khĩa học 2 ConceptID int 4 Id của khái niệm 3 Question nvarchar 200 Nội dung câu hỏi 4 Ans1, Ans2, Ans3, Ans4 nvarchar 100 Nội dung câu trả lời 5 Answer int 4 Câu trả lời đúng - Bảng tblUserCourseDemand : Cất trữ thơng tin về nhu cầu của người học khi tham gia vào khĩa học. Bao gồm các trường sau : STT Tên trường Kiểu dữ liệu Độ dài Mơ tả 1 UserID int 4 Id của người học 2 CourseID int 4 Id của khĩa học 3 Prerequisites nvarchar 20 Kiến thức tiên quyết trước khi tham gia vào khĩa học mà học viên đã cĩ 4 MasterLevel nvarchar 100 Bao gồm các giá trị beginner, intermediate, advanced, expert cho biết trình độ của người học khi tham gia vào khĩa học 5 DifficultyLevel nvarchar 100 Bao gồm các giá trị easy, - 34 - medium, hard cho biết mức độ khĩ của bài học mà học viên muốn tham gia 6 RequitedTime nvarchar 100 Bao gồm các giá trị slow, normal, fast cho biết mức độ nhanh chậm của học viên để kết thúc khĩa học 7 InteractiveStyle nvarchar 100 Bao gồm các giá trị bottomup, consequence, parallel, topdown cho biết cách thức tiếp cận của người học đối với khĩa học 8 ForSkill nvarchar 100 Bao gồm các giá trị deducing, understanding cho biết các kỹ năng mà người học muốn đạt được khi kết thúc khĩa học 9 MasPriority int 4 Cĩ giá trị là 1 khi học viên muốn ưu tiên thuộc tính MasterLevel. Ngược lại cĩ giá trị 0 10 IntPriority int 4 Cĩ giá trị là 1 khi học viên muốn ưu tiên thuộc tính InteractiveStyle. Ngược lại cĩ giá trị 0 11 DifPriority int 4 Cĩ giá trị là 1 khi học viên muốn ưu tiên thuộc tính DifficultyLevel. Ngược lại cĩ giá trị 0 12 ReqPriority int 4 Cĩ giá trị là 1 khi học viên muốn ưu tiên thuộc tính RequitedTime,. Ngược lại cĩ giá trị 0 13 ForPriority int 4 Cĩ giá trị là 1 khi học viên - 35 - muốn ưu tiên thuộc tính ForSkill. Ngược lại cĩ giá trị 0 14 UserCourseID int 4 Tham chiếu đến bản tblUserCourse - Bảng tblUserBackGround : Cất trữ thơng tin của học viên đối với khĩa học. STT Tên trường Kiểu dữ liệu Độ dài Mơ tả 1 UserID int 4 Id của học viên 2 CourseID int 4 Id của khĩa học 3 DateStart datetime Ngày tham gia 4 DateEnd datetime Ngày kết thúc 5 Score int 4 Đánh giá trình độ của học viên - 36 - 3.1.3.3 Thiết kế dữ liệu tri thức cho khĩa học Tri thức được biểu diễn dưới dạng một đồ thị cĩ hướng phi chu trình với các đỉnh đại diện cho mỗi đơn vị tri thức của khĩa học và các cạnh đại diện cho mối quan hệ giữa các đơn vị tri thức. Hình 8. Đồ thị tri thức Hệ thống sử dụng bảng tblConcept để lưu trữ tên các đơn vị tri thức bao gồm tên (ConceptName, kiểu nvarchar) đại diện tương ứng với đỉnh trong đồ thị tri thức và ngưỡng (Threshold, kiểu float) đại diện cho khả năng, mức độ quan trọng của đơn vị tri thức đĩ trong khĩa học… Mối quan hệ giữa các đơn vị tri thức được lưu dưới dạng các file filename.txt trong thư mục mang tên thuộc tính tương ứng, với filename tương ứng với mỗi mức trong một khía cạnh nhu cầu nào đĩ của người học. Chẳng hạn : với nhu cầu về cách thức tiếp cận khĩa học chúng ta cĩ các file tướng ứng sau : bottomup.txt, consequence.txt, parallel.txt, topdown.txt trong thư mục …\KnowledgeMap\Courses\How to design relationship database \InteractiveStyle. Cấu trúc filename.txt như sau : - Dịng đầu lưu số đỉnh của đồ thị tri thức. - Các dịng tiếp theo là mảng biểu diễn mối quan hệ giữu các đơn vị tri thức. - 37 - Các bảng xác suất ban đầu của các đỉnh trong đồ thị tri thức được lưu trữ trong các file n.txt với n = 1,2,3,4…. Trong thưc mục … \KnowledgeMap\Courses\How to design relationship database\CPTTable. Trong đĩ n tương ứng là số thứ tự các đỉnh trong đồ thị tri thức. Hệ thống sử dụng phiên bản trial của phần mềm Netica 409 [Phụ Lục 2] để tạo biểu đồ xác suất của đồ thị tri thức. Dưới đây là hình vẽ biểu đồ xác suất của đồ thị tri thức sử dụng cơng cụ Netica 409 : hình 9. Đồ thị xác suất Mỗi khố học sẽ cĩ một file mạng Bayes riêng, cĩ tên là Map.dne trong thư mục CPTTable. - 38 - 3.1.4 Quy trình hoạt động của hệ thống Quy trình hoạt động của hệ thống được mơ tả như sau: - Đánh giá ứng viên: Sau khi người học đăng nhập và lựa chọn khĩa học thành cơng, hệ thống truy xuất cơ sở dữ liệu hiện thị ra cho người học tồn bộ đồ thị tri thức của khĩa học, từ đây người học lựa chọn đỉnh bắt đầu và đỉnh kết thúc mà mình muốn khi tham gia khĩa học. Sau đĩ hệ thống điều hướng người học đến trang lựa chọn các yêu cầu của người học, các lựa chọn ưu tiên tương ứng với các thuộc tính của các đơn vị tri thức. Người học cĩ thể lựa chọn tham gia làm bài Test kiểm tra trình độ trước khi tham gia vào khĩa học hay khơng, từ kết quả bài test này và dựa trên nhu cầu người học, hệ thống đánh giá người học, phân loại người học. Tất cả các thơng tin được lưu lại trong cơ sở dữ liệu tương ứng với mỗi người học. - Lựa chọn Candidate Learning Path. Trên cơ sở các thơng tin về nhu cầu của người học, các thuộc tính LO, và cơ sở dữ liệu Knowledge graph hệ thống sử dụng thuật tốn dijsktra lựa chọn ra các candidate learning path, là những learnig path tốt nhất khi chỉ xét một thuộc tính của các đơn vị kiến thức trong đồ thị knowledge graph. - Xây dựng learning path. Từ các đường candidate path tìm được hệ thống xây dựng bảng giá trị xác suất các đỉnh của đồ thị knowledge graph dựa trên sự cĩ mặt của các đỉnh trong candidate learning path. Trên cơ sở xây dựng được bảng giá trị xác suất của các đỉnh, hệ thống sử dụng cơng cụ Netica[8] để xây dựng mạng Bayesian Belief Network, tính tốn lựa chọn ra tiến trình học phù hợp nhất cho người học. - Cuối cùng hệ thống hiện thị khung chương trình học cho người học. - 39 - 3.2 Kết quả thử nghiệm Sau đây là kết quả thử nghiệm với : - Đỉnh bắt đầu : Thực thể. - Đỉnh đích : Dạng chuẩn 3. Các lựa chọn : - Difficulty Level : easy. - Skill : understanding. - Intractive Style : topdown Lựa chọn ưu tiên : - Skill (kỹ năng) - Requited Time (thời gian) Sau khi làm bài test hệ thống tìm ra các đường candidate pah sau : - Theo thuộc tính Master Level : Thực thể => Quan hệ => Quan hệ 1-n => Quan hệ 1-1 => Quan hệ n-m => Dạng chuẩn 1 => Dạng chuẩn 2 => Dạng chuẩn 3. - Theo thuộc tính Difficult Level : Thực thể => Quan hệ => Dạng chuẩn => Dạng chuẩn 1 => Dạng chuẩn 2 => Dạng chuẩn 3. - Theo thuộc tính Requited Time : Thực thể => Quan hệ => Phụ thuộc hàm => Khĩa => Khĩa ngoại=> Khĩa chính => Dạng chuẩn => Dạng chuẩn 1 => Dạng chuẩn 2 => Dạng chuẩn 3. - Theo thuộc tính Interactive Style : Thực thể => Bảng => Câu truy vấn => Ràng buộc tồn vẹn =>Ràng buộc phạm vi trường => Kiểu dữ liệu => Quan hệ => Dạng chuẩn => Dạng chuẩn 1 => Dạng chuẩn 2 => Dạng chuẩn 3. - Theo thuộc tính Skill : Thực thể => Thuộc tính => Giá trị => Miền giá trị => Quan hệ => Dạng chuẩn => Dạng chuẩn 1 => Dạng chuẩn 2 => Dạng chuẩn 3. Đường learning Path cuối cùng đạt được : Thực thể => Thuộc tính => Giá trị=> Quan hệ => Quan hệ 1-1 => Quan hệ n-m => Dạng chuẩn => Dạng chuẩn 1 => Dạng chuẩn 2 => Dạng chuẩn 3. - 40 - Chương 4 Kết luận Mục tiêu của mơ hình là sử dụng các kỹ thuật xây dựng khĩa học thích nghi cĩ liên quan đến việc chọn lựa các phương tiện thể hiện nội dung dựa trên nhu cầu của người học và thích nghi về mặt nội dung dựa trên mơ hình người học đối với từng cá nhân cụ thể. Các khĩa học thích nghi cĩ thể thay đổi cấu trúc, cách thể hiện của khĩa học đề phù hợp với mục tiêu của người học. Các thơng tin của người học cĩ ý nghĩa quan trọng trong việc tạo ra các khĩa học thích nghi, bao gồm: kiến thức sẵn cĩ, cách thức tiếp thu tri thức, mục tiêu của người học... Các kết quả đạt được trong quá trình thực hiện khĩa luận : • Kiến thức về elearning. • Các khái niệm cơ bản trong học thích nghi , các cơ chế học thích nghi theo mục tiêu và nhu cầu. • Mơ hình tạo khĩa học thích nghi ACGS [3] dựa trên các thơng tin về người học như kiến thức, kỹ năng, sở thích. • Một số thuật tốn tìm kiếm, kỹ năng phân tích thiết kế, cài đặt chương trình. • Kỹ năng sử dụng cơng cụ Netica để mơ phỏng mạng xác suất. • Hệ thống thử nghiệm trên mơi trường .NET bằng ngơn ngữ C# ASP.NET, đã đạt được một số kết quả nhất định, đưa ra được tiến trình học thích nghi khá sát với nhu cầu của người học. - 41 - Tài liệu tham khảo [1] Elearning, www.google.com.vn . [2] Nguyễn Việt Anh, Phùng Chí Dũng, Đỗ Hồng Kiên, Nguyễn Minh Tú. Báo cáo đề tài QC.06.08, “Nghiên cứu hành vi người học trong xây dựng các khĩa học theo nhu cầu trong đào tạo điện tử” .Đại Học Cơng Nghệ, ĐHQG HN, 2007. [3] Nguyen Viet Anh, Nguyen Viet Ha, Ho Si Dam (2008). " Contructing a Bayesian Belief Network to Generate learning path in adaptive hypermedia system".Journal of Computer Science and Cybermetics Vol 1(24), 2008, p. 12-19. [4] Anh Nguyen Viet and Dam, H.S (2006) ACGs: Adaptive Course Generation System – An efficient approach to build E-learning course. Proceedings of the Sixth International Conference on Computers and Information Technology. [5] Anh Nguyen Viet, Dam, H.S (2006) Applying Weighted Learning Object to Build Adaptive Course in E-learning. Proceedings of the 14th International Conference on Computers in Education. [6]. G. Knolmayer, “Decision Support Models for Composing and Navigating through e- Learning Objects”, Proceedings of the 36th Hawaii International Conference on SystemEducation, 2003. [7] Bayesian Belief Network, [8] Viet Anh Nguyen , Viet Ha Nguyen, Si Dam Ho, Hitoshi Sasaki (2008)." Bayesian Network Student Model for Adapting Learning Activity Tasks in Adaptive Course Generation System". Proceeding of Technology Enhanced Learning Conference 2008. [9] Netica, . - 42 - Phụ Lục Phụ Lục 1 : Giao diện tương tác ứng dụng Đăng nhập : Màn hình đăng nhập vào khĩa học, nếu là thành viên mới thì chọn LogUp để đăng ký. - 43 - Sau khi đăng nhập, chọn khĩa học thành cơng người học được điểu hướng đến trang hiện thị nội dung tổng quan của khĩa học bằng một đồ thị tri do giao viên tạo ra khi thiết kế khĩa học : Tại đây người học lựa chọn điểm khởi đầu và điểm kết thúc chính là mục tiêu tri thức mà mình quan tâm khi tham gia khĩa học . Sau khi lựa chọn tri thức, điểm khởi đầu và điểm kết thúc, hệ thống tiếp tục thu thập yêu cầu cũng như đưa ra một vài lựa chọn để tối ưu đường học cho người học. Đồ thị tri thức - 44 - Tại đây người học cĩ một vài lựa chọn về yêu cầu của mình về khĩa học như : mức độ khĩ dễ, kỹ năng muốn đạt được sau khi học…. Người học cũng lựa chọn các thuộc tính mà mình quan tâm như : ưu tiên về thời gian hồn thành khĩa học, ưu tiên rèn luyện kỹ năng khi tham gia khĩa học… Sau khi lựa chọn các yêu cầu của mình, người học nhấn nút “OK” để làm một bài Test kiểm tra kỹ, cũng như kiến thức ban đầu trước khi tham gia vào khĩa học. Nếu khơng muốn làm bài Test vì đơn giản là người học chưa biết gì thì nhấn “Go To Candidate Path”. Lục này hệ thống sẽ coi người học như là beginer. - 45 - Hệ thống sẽ tự động lựa chọn ngẫu nhiên 10 câu hỏi do giáo viên soạn khi thiết kế khĩa học để kiểm tra đánh gia trình độ học viên : Sau khi làm bài test học viên nhân “Ok” để hồn thành bài, hệ thống sẽ tự động chấm điểm để phân loại học viên. - 46 - Trang này với mục đích thể hiện các đường candidate path tìm được tương ứng với mỗi thuộc tính nhất định của đối tượng học LO từ đồ thị tri thức và thơng tin yêu cầu của người học : Ư Lựa chọn thuộc tính đê xem đường candidate path hệ thống tìm được tương ứng Đồ thị tri thức Candidate path Thuộc tính - 47 - Cuối cùng hệ thơng tính tốn đưa ra đường learning path tối ưu nhất cho học viên : Học viên chọn “Go To Learn” để tham gia các bài học tương ứng với mỗi đơn vị tri thức. Phụ Lục 2 : Gới thiệu cơng cụ Netica[9] 2.1 Giới thiệu cơng cụ Netica Netica là một chương trình linh hoạt, nhanh, thân thiện mà bạn cĩ thể sử dụng để tìm các mẫu hình trong dữ liệu, tạo các biểu đồ mã hố kiến thức hoặc mơ tả các vấn đề quyết định, sử dụng những cái này để trả lời truy vấn và tìm quyết định tối ưu, và tạo ra các hệ chuyên gia xác suất. Nĩ là phù hợp cho các ứng dụng trong các lĩnh vực chuẩn đốn, dự đốn, phân tích quyết định, mơ hình xác suất, quản lý rủi ro, xây dựng hệ chuyên gia. Netica được xây dựng và phát triển bởi tập đồn phần mềm Norsys (Norsys Software Corp.). Netica là hệ thống phát triển mạng Bayes được sử dụng rộng rãi nhất hiện nay. Để thực hiện các thao tác với mạng Bayes, chúng ta sử dụng các API cĩ sẵn được cung cấp bởi Netica. Cĩ thể nĩi, Netica là trái tim của hệ thống. Khơng cĩ nĩ, hệ thống chỉ là các trang aspx bình thường. Nhưng chúng ta cĩ thể tạo mạng Bayes, thực hiện các thao tác trên mạng với Netica. - 48 - Netica-C là một thư viện đầy đủ của các lớp thư viện bằng ngơn ngữ C để làm việc với mạng Bayes và đồ thị ảnh hưởng. Nĩ chứa các hàm để xây dựng, học từ dữ liệu, thay đổi, chuyển đổi, thực hiện kiểm tra, lưu và đọc các mạng. Nĩ cĩ thể quản lý các “trường hợp” và một tập các trường hợp, và cĩ thể kết nối trực tiếp với hầu hết phần mềm cơ sở dữ liệu. Ở đây, chúng ta khơng trình bày đầy đủ về các API của Netica (bạn cĩ thể tự tham khảo) mà chỉ những phần được sử dụng trong hệ thống. 2.2. Các thao tác với mạng Bayes của chương trình Nếu chỉ tính riêng các thao tác liên quan đến mạng Bayes thì hệ thống cĩ hai thao tác sau: • Tạo mạng Bayes cho khĩa học. • Đưa vào các xác suất likelihood, để tính giá trị xác suất cho tất cả các node trong mạng. 2.3. Sử dụng cơng cụ Netica trong chương trình Đầu tiên, chúng ta tạo tạo một mạng Bayes với giao diện đồ hoạ của Netica. Bạn khơng cần phải viết một dịng code nào cả. Các thao tác đều là kéo thả. Sau khi tìm được các đường candidate path chúng ta tính được xác suất cĩ mặt của các đỉnh trong mạng, đĩ chính là các “bằng chứng” cho mạng Bayes. Cơng việc đặt ra là cập nhật lại các xác suất cho các node của mạng. Sau đây là một đoạn giả mã thực hiện cơng việc đĩ bằng ngơn ngữ C#: // Khởi tạo ban đầu. Netica.Application app = new Netica.Application(); app.Visible = true; Streamer file = app.NewStream(, null); BNet net = app.ReadBNet(file, ""); while () { Tìm node tương ứng, giả sử đĩ là biến n. BNode n; Cho các xác suất vào mảng a. - 49 - float[] a = new float[2]; // Tạo bằng chứng. n.finding().enterLikelihood(a); } // Dịch mạng, cập nhật các xác suất. net.compile(); // Thao tác với các xác suất vừa tính được. NodeList list = net.getNodes(); for (int i = 0; i < list.size(); i++) { Node node = list.getNode(i); float[] a = node.getBeliefs(); // Bạn cĩ thể làm gì đĩ, ví dụ in ra file hoặc cập nhật cơ sở dữ liệu. } // Kết thúc. env.finalize(); Chú ý rằng để cĩ thể biên dịch được đoạn mã trên trong mơi trường .NET ứng dụng của chúng ta cần tham chiếu đến Assembly của Netica. Một chú ý nữa là các bằng chứng ở đây thuộc kiểu likelihood. Trong trường hợp này, chúng ta nhận thơng tin khơng chắc chắn về giá trị của một số node cụ thể. Nĩ cĩ thể từ một bộ đo khơng hồn hảo, hoặc từ một người nào đĩ người mà khơng phải luơn luơn đúng. Giả sử chúng ta cĩ một cái cảm biến để đo nhiệt độ, và khi nhiệt độ cao thì nĩ sẽ bật sáng. Thực tế chúng ta thấy rằng khi nhiệt độ thấp, cảm biến khơng bao giờ sáng; khi nhiệt độ trung bình nĩ sáng 10% trong các lần như thế; và khi nhiệt độ cao nĩ luơn luơn sáng. Nếu trong một thời điểm cụ thể, chúng ta quan sát cảm biến đang sáng, và muốn nhập vào các bằng chứng cho node Temperature, thì chúng ta ta sử dụng bằng chứng likelihood. Một bằng chứng likelihood bao gồm một giá trị xác suất cho mỗi trạng thái của node. Đối với ví dụ của chúng ta, bằng chứng likelihood sẽ là (0, 0.1, 1). Một hiểu nhầm phổ biến là nghĩ rằng bằng chứng likelihood là xác suất của trạng thái được cho bởi - 50 - quan sát (trong trường hợp đĩ tổng các giá trị sẽ bằng 1, nhưng tổng các bằng chứng likelihood khơng yêu cầu bằng 1). Phụ Lục 3 : Một số module thuật tốn 2.1 Module thuật tốn Dijkstra static void Dijkstra(int s, int t, ref int lenght, int[] candidatePath) { int i, k = s, kc, nuthientai, min, kcachmoi; int[] tapcacnut = new int[VerticesMax]; // tap cac nut da xet int[] kcach = new int[VerticesMax]; /* mang luu chieu dai duong di ngan nhat tu nut s den cac nut khac */ //khoi dong mang tapcacnut[] va kcach[] for (i = 0; i < nodeCount; i++) { tapcacnut[i] = FALSE; kcach[i] = INFINITE; } // dua nut s vao tap nut da xet tapcacnut[s] = TRUE; kcach[s] = 0; nuthientai = s; /* vong lap thuc hien cac buoc 1, 2,..cho den khi dua duoc nut t vao tap nut da xet */ while (nuthientai != t) { min = INFINITE; kc = kcach[nuthientai]; /* kc chieu dai duong di ngan nhat tu nut s den nuthientai */ for (i = 0; i < nodeCount; i++) if (tapcacnut[i] == FALSE) { kcachmoi = kc + weight[nuthientai, i]; if (kcachmoi < kcach[i]) { kcach[i] = kcachmoi; candidatePath[i] = nuthientai; /* gan nuthientai la nut truoc nut i tren lo trinh */ } if (kcach[i] < min) { min = kcach[i]; k = i; } } // Dua nut k vao tap nut da xet nuthientai = k; tapcacnut[nuthientai] = TRUE; - 51 - } lenght = kcach[t]; } 2.2 Module tìm đường candidate path public static void GetCandidatePath(int[] outCandidatePath, ref int verticesMount, string pathFile, int attribute,int startVertex,int terminalVertex) { int lenght = 0; int count = -1; int s, t, i; int[] candidatePath = new int[VerticesMax]; string path; s = startVertex; t = terminalVertex; if (attribute == 0) path = RootPath + MasterLevelPath + "\\" + pathFile; else if (attribute == 1) path = RootPath + DifficultyLevelPath + "\\" + pathFile; else if (attribute == 2) path = RootPath + RequitedTimePath + "\\" + pathFile; else if (attribute == 3) path = RootPath + InteractiveStylePath + "\\" + pathFile; else path = RootPath + ForSkillPath + "\\" + pathFile; // search candidate path Initialize(); Initializewt(path); for (int ii = 0; ii < VerticesMax; ii++) candidatePath[ii] = 0; Dijkstra(s, t, ref lenght, candidatePath); count = -1;//dem so dinh trong learning candidate path i = t; while (i != s) { count++; outCandidatePath[count] = i; i = candidatePath[i]; } count++; outCandidatePath[count] = s; verticesMount = count + 1; } - 52 - 2.3 Module tính tốn mạng xác suất để tìm đường learning path sau khi đã cĩ các đường candidate path //---------------------Caculate Learning Path---------------------- try { Netica.Application app = new Netica.Application(); app.Visible = true; string net_file_name = RootPath + CPTPath; Streamer file = app.NewStream(net_file_name, null); BNet net = app.ReadBNet(file, ""); net.Compile(); double[] evi = new double[2]; double tempt; for (int ii = 0; ii < nodeCount ; ii++) { if ((ii != s) && (ii != t)) { tempt = (double)nbt[ii] / Count; evi[0] = tempt; evi[1] = 1 - tempt; BNode node = net.Node("N" + ii.ToString()); node.EnterLikelihood(evi); } } //for start and terminal vertex evi[0] = 1; evi[1] = 0; BNode nodeStart = net.Node("N" + s.ToString()); nodeStart.EnterLikelihood(evi); BNode nodeTerminal = net.Node("N" + t.ToString()); nodeTerminal.EnterLikelihood(evi); rp_dataProvider thresholdProvider = new rp_dataProvider(); thresholdProvider.SetCommandTex("pr_select_threshold"); thresholdProvider.SetCommandType(CommandType.StoredProcedure); thresholdProvider.AddParameter("@CourseID", 3); SqlDataReader thresholdReader = thresholdProvider.GetSqlDataReader(); verticesCount = -1; double temp; for (int ii = 0; ii < nodeCount; ii++) { BNode node = net.Node("N" + ii.ToString()); thresholdReader.Read(); temp = thresholdReader.GetDouble(0); Console.WriteLine(temp); if (temp < (double)node.GetBelief("true")) { verticesCount++; learningPath[verticesCount] = ii; - 53 - } } verticesCount++; thresholdProvider.Close(); // write to file learningWriter.Write(username +": "); for (int ii = 0; ii < verticesCount -1; ii++) { learningWriter.Write(learningPath[ii]+"-->"); } learningWriter.Write(learningPath[verticesCount - 1]); learningWriter.WriteLine(); //net.Delete(); //if (!app.UserControl) app.Quit(); } catch (System.Runtime.InteropServices.COMException e) { Console.WriteLine("Netica Demo: Error " + (e.ErrorCode & 0x7FFF) + ": " + e.Message); }

Các file đính kèm theo tài liệu này:

  • pdfLUẬN VĂN-NGHIÊN CỨU TRIỂN KHAI HỆ THỐNG HỌC THÍCH NGHI THEO NHU CẦU MỤC TIÊU HỌC TẬP TRONG ĐÀO TẠO ĐIỆN TỬ.pdf