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).
60 trang |
Chia sẻ: lylyngoc | Lượt xem: 2429 | Lượt tải: 0
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:
- 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Ử.pdf