Tìm hiểu học thích nghi. Khoá luận đã nêu ra khái niệm của học thích nghi,
cũng như các phương thức và kỹ thuật thích nghi. Cụ thể, khoá luận đã đưa ra
câu trả lời cho các câu hỏi mà người đọc cóthể đưa ra đó là: “Thích nghi cái
gì?” (kiến thức, mục tiêu, nền tảng, kinh nghiệm, sở thích) và “Cái gì có thể
được thích nghi?” (trình bày, trợ giúp điều hướng).
49 trang |
Chia sẻ: lylyngoc | Lượt xem: 2591 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Luận văn Hệ thống học thích nghi dựa trên kiến thức, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
uỳ theo công việc họ có thể chỉ
luôn sử dụng một phần nào đó của hyperspace, và tuỳ theo mục tiêu công việc hiện tại họ
có thể cần truy cập đến một tập con rất nhỏ của nó. Hầu hết người dùng không bao giờ
cần truy cập các phần của hyperspace bên ngoài lĩnh vực của họ. Thêm vào đó, quá nhiều
điều hướng một phần nào đó làm sao nhãng họ với công việc chính. Cùng lúc đó, những
người dùng của IIS có thể cần sự trợ giúp trong việc tổ chức một truy cập cá nhân thuận
tiện hơn với miền làm việc của họ.
Lĩnh vực mới cuối cùng là systems for managing personalized views in
information spaces, ví dụ như Information Islands [11] và Basar [7]. Nhiều người dùng
cần truy cập đến các hyperspace lớn cho công việc hàng ngày. Để bảo vệ chính họ từ sự
phức tạp của hyperspace, họ có thể quan tâm đến việc định nghĩa các góc nhìn cá nhân
trên toàn bộ hyperspace. Mỗi góc nhìn có thể thoả mãn một trong các mục đích hoặc sở
thích liên quan với công việc của người dùng. Tuỳ theo các góc nhìn khác nhau, sự thích
nghi cũng xảy ra khác nhau.
14
Nó là quan trọng để nhấn mạnh rằng tất cả sáu lĩnh vực được liệt kê không phải là
loại trừ lẫn nhau. Một số trong chúng là tương tự và chia sẻ cùng vấn đề. Đồng thời, sự
khác biệt giữa các lĩnh vực láng giềng không phải luôn luôn rõ ràng và một số hệ thống
thuộc về nhiều lĩnh vực.
2.2. Thích nghi cái gì
Câu hỏi thứ hai được đặt ra khi nói về một kiểu hệ thống thích nghi là: các diện mạo
nào của người dùng làm việc với hệ thống có thể cho vào tài khoản khi cung cấp sự thích
nghi? Với đặc tính nào – cái có thể khác nhau với những người dùng khác nhau, và có thể
khác nhau với cùng người dùng tại các thời điểm khác nhau - hệ thống có thể thích nghi?
Nói chung, có nhiều đặc tính liên quan đến ngữ cảnh hiện tại của công việc người dùng
mà có thể cho vào tài khoản. Nhưng để phục vụ cho việc thích nghi, năm đặc tính được sử
dụng bởi các hệ thống AH đang tồn tại là: mục tiêu, kiến thức, nền tảng, kinh nghiệm, và
sở thích.
2.2.1. Kiến thức
Kiến thức của người dùng về một chủ đề được miêu tả trong hyperspace là đặc tính
quan trọng nhất của người dùng cho các hệ thống AH. Nó được sử dụng bởi khoảng một
phần ba các kỹ thuật thích nghi. Hầu hết tất cả các kỹ thuật thích nghi dựa trên kiến thức
của người dùng như là một nguồn của sự thích nghi. Kiến thức người dùng là một biến
cho một người dùng nào đó. Điều này có nghĩa là một hệ thống AH mà dựa trên kiến thức
người dùng cần phải nhận ra sự thay đổi trong trạng thái kiến thức người dùng và cập nhật
mô hình người dùng tương ứng.
Kiến thức người dùng của một chủ đề thông thường nhất được diễn tả bằng một mô
hình phủ. Ý tưởng của mô hình phủ là trình bày một kiến thức người dùng cá thể của chủ
đề như một “phủ” của mô hình khái niệm. Với mỗi khái niệm mô hình khái niệm, một mô
hình phủ cá thể chứa một vài giá trị mà là đánh giá của cấp độ kiến thức người dùng. Nó
có thể chỉ là một giá trị nhị phân (biết – không biết), một độ đo chất lượng (good –
average – poor), hoặc một độ đo số lượng, như một xác suất người dùng biết khái niệm.
Một mô hình phủ của kiến thức người dùng có thể được miêu tả như một tập các cặp
“khái niệm – giá trị”, một cặp cho mỗi khái niệm miền.
15
Đôi khi một mô hình người dùng khuôn mẫu đơn giản hơn được sử dụng để miêu tả
kiến thức người dùng. Một mô hình người dùng khuôn mẫu phân biệt một số người dùng
điển hình (hay “khuôn mẫu”). Hệ thống có thể có một tập các khuôn mẫu có thể. Một
người dùng nào đó sẽ chỉ định vào một trong các khuôn mẫu sẵn có. Một mô hình người
dùng khuôn mẫu cũng có thể được trình bày như một tập các cặp “khuôn mẫu – giá trị”,
trong đó giá trị có thể không chỉ là “true” hoặc “false” (nghĩa là người dùng thuộc hoặc
không thuộc vào khuôn mẫu), mà còn các một số các giá trị xác suất (miêu tả xác suất
người dùng thuộc vào khuôn mẫu). Mô hình khuôn mẫu đơn giản hơn và không mạnh
bằng mô hình phủ nhưng nó cũng tổng quát hơn và dễ hơn nhiều để khởi tạo và bảo trì.
2.2.2. Mục tiêu
Mục tiêu người dùng hoặc công việc người dùng là một đặc tính liên quan đến ngữ
cảnh của công việc người dùng trong siêu phương. Phụ thuộc vào kiểu của hệ thống, nó
có thể là mục tiêu của công việc (trong các hệ thống ứng dụng), một mục tiêu tìm kiếm
(trong các hệ thống thu nhận thông tin), và một giải quyết vấn đề hoặc mục tiêu học
(trong các hệ thống giáo dục). Trong tất cả các trường hợp, mục tiêu là câu trả lời cho câu
hỏi “Tại sao người dùng sử dụng hệ thống siêu phương tiện và người dùng thực sự muốn
đạt được cái gì?” Mục tiêu người dùng là đặc tính hay thay đổi nhất: thông thường luôn
luôn thay đồi từ phần này đến phần khác và thường thay đổi một vài lần trong một phần.
Trong một số hệ thống, có khi cần thiết để phân biệt mục tiêu cấp độ thấp (cái mà có thể
thay đổi khá thường xuyên) với mục tiêu cấp độ cao (cái mà ổn định hơn). Ví dụ, trong
các hệ thống giáo dục, mục tiêu học là một mục tiêu cấp độ cao, trong khi mục tiêu giải
quyết vấn đề là mục tiêu cấp độ thấp: nó thay đổi từ vấn đề này đến vấn đề khác một vài
lần trong một phần. Mục tiêu người dùng có thể được xem là một đặc tính rất quan trọng
của người dùng với các hệ thống AH. Gần như một phần ba của các kỹ thuật thích nghi
dựa vào nó.
Để mô tả mục tiêu hiện tại người dùng, mỗi hệ thống hỗ trợ một tập các khả năng
mục tiêu mà nó có thể nhận ra. Người dùng hiện tại có thể có hoặc không đối với từng cái
trong tập mục tiêu. Trong một vài trường hợp, tập các mục tiêu là khá nhỏ và các mục tiêu
không liên quan đến nhau.
16
2.2.3. Nền tảng và kinh nghiệm
Hai đặc trưng của người dùng mà tương tự với kiến thức người dùng của chủ đề
nhưng khác chức năng là nền tảng và kinh nghiệm của người dùng. Với nền tảng người
dùng chúng ta ám chỉ tất cả các thông tin liên quan đến kinh nghiệm trước đó của người
dùng bên ngoài chủ đề của hệ thống thích nghi. Điều này bao gồm nghề nghiệp, kinh
nghiệm làm việc trong các lĩnh vực liên quan, cũng như quan điểm của người dùng. Với
kinh nghiệm người dùng trong hyperspace đã cho, chúng ta ám chỉ người dùng quen
thuộc với cấu trúc của hyperspace bao nhiêu và người dùng có thể điều hướng dễ dàng
bao nhiêu. Người dùng có thể khá quen thuộc với cấu trúc của hyperspace mà không có
kiến thức sâu về chủ đề.
Các đặc tính cá thể đó của một người dùng như là nền tảng và kinh nghiệm thường
được mô hình bằng mô hình người dùng khuôn mẫu. Khuôn mẫu có thể là một khuôn
mẫu kinh nghiệm, hoặc một khuôn mẫu nền tảng cho các mặt như nghề nghiệp, triển
vọng, hoặc ngôn ngữ gốc.
2.2.4. Sở thích
Cuối cùng, nhưng không phải là đặc trưng kém quan trọng nhất là sở thích của
người dùng. Do nhiều lý do khác nhau, người dùng có thể thích một số node và liên kết
hơn các cái khác và phần nào đó của một trang hơn các phần còn lại. Những sở thích này
có thể là tuyệt đối hoặc tương đối. Ví dụ, nó có thể phụ thuộc vào node hiện tại, mục tiêu,
và ngữ cảnh nói chung.
Sở thích của người dùng khác với các thành phần mô hình người dùng khác theo
nhiều cách. Không giống các thành phần khác, sở thích không thể được suy luận từ hệ
thống. Người dùng cần phải thông báo với hệ thống trực tiếp hoặc gián tiếp (bằng một
feedback đơn giản) về các sở thích đó. Điều này giống với tính thích nghi hơn là sự thích
nghi. Các hệ thống AH có thể tổng quát sở thích người dùng và áp dụng nó cho sự thích
nghi trong các ngữ cảnh mới. Một đặc trưng khác của mô hình sở thích là cách mô tả.
Trong khi các phần khác của mô hình người dùng thường được mô tả một hoặc một tập
các giá trị số, sở thích không thể mô tả như thế được.
17
2.3. Cái gì có thể được thích nghi trong AH
Một câu hỏi quan trọng khi nói về bất cứ kiểu hệ thống thích nghi nào là: cái gì có
thể được thích nghi trong hệ thống này? Tính năng nào của hệ thống có thể khác biệt với
những người dùng khác nhau? Trong AH, hyperspace thích nghi khá giới hạn: có không
quá nhiều tính năng mà có thể biến đổi. Tổng quát hoá, siêu phương tiện bao gồm một tập
các node hoặc siêu tài liệu (để cho ngắn gọn chúng ta sẽ gọi chúng là “các trang”) kết nối
bằng các liên kết. Mỗi trang bao gồm một số thông tin cục bộ và một bản đồ toàn thể mà
cung cấp liên kết đến tất cả các trang có thể truy cập khác. Cái có thể được thích nghi
trong AH là nội dung của các trang bình thường (sự thích nghi cấp độ nội dung) và các
liên kết từ các trang bình thường, trang chỉ mục, và các bản đồ (sự thích nghi cấp độ liên
kết). Chúng ta phân biệt cấp độ nội dung và cấp độ liên kết như là hai lớp của sự thích
nghi, và gọi cái thứ nhất là thích nghi trình bày, cái thứ hai là thích nghi trợ giúp điều
hướng.
2.3.1. Thích nghi trình bày
Ý tưởng của các kỹ thuật thích nghi trình bày khác nhau là thích nghi nội dung của
một trang được truy cập bởi một người dùng đặc biệt với kiến thức hiện tại, mục tiêu, và
các tính chất khác của người dùng. Ví dụ, một người dùng thành thạo có thể được cung
cấp thông tin chi tiết và sâu hơn, trong khi một người chưa có kinh nghiệm có thể nhận
thêm các giải thích. Trong các hệ thống thích nghi, nội dung của một trang bình thường
có thể chỉ là một văn bản nhưng cũng có thể là một tập các mục đa phương tiện khác
nhau. Từ quan điểm này, chúng ta có thể phân biệt thích nghi văn bản và thích nghi đa
phương tiện. Tuy nhiên, tại thời điểm hiện tại, tất cả các công việc trong thích nghi trình
bày thực sự là thích nghi văn bản. Một số hệ thống đang tồn tại chứa các mục không phải
văn bản, nhưng chưa thể trình bày các mục này một cách thích nghi.
Thích nghi văn bản được nghiên cứu nhiều nhất trong thích nghi siêu phương tiện.
Hầu hết các phần của thích nghi siêu phương tiện giai đoạn đầu tập trung xung quanh
thích nghi trình bày văn bản [1, 2, 4].
18
2.3.2. Thích nghi trợ giúp điều hướng
Ý tưởng của các kỹ thuật thích nghi trợ giúp điều hướng khác nhau là giúp người
dùng tìm đường đi của họ trong hyperspace bằng cách thích nghi cách trình bày các liên
kết với kiến thức, mục tiêu, và các tính chất khác của một người dùng cá thể. Mặc dù
miền nghiên cứu này còn rất mới, một số kỹ thuật thú vị đã được giới thiệu và thực thi.
Các kỹ thuật này có thể được phân lớp vào năm nhóm theo cách chúng sử dụng trình bày
thích nghi của các liên kết. Đó là: chỉ dẫn trực tiếp, thứ tự, ẩn, chú thích, và ánh xạ.
Chỉ dẫn trực tiếp là kỹ thuật đơn giản nhất của hỗ trợ điều hướng thích nghi. Chỉ
dẫn trực tiếp có thể được áp dụng trong bất cứ hệ thống nào mà có thể quyết định node tốt
nhất tiếp theo cho người dùng. Để cung cấp chỉ dẫn trực tiếp, hệ thống có thể nhấn mạnh
trình bày của đường dẫn tốt nhất, hoặc cung cấp một liên kết động (thường được gọi
"Next") tới node tốt nhất. Cách đầu tiên rõ ràng hơn, trong khi cách sau thì mềm dẻo hơn,
bởi vì nó có thể giới thiệu node mà không được kết nối trực tiếp với node hiện tại (và
không được trình bày trong trang hiện tại). Chỉ dẫn trực tiếp rõ ràng và dễ dàng để thực
thi. Vấn đề với chỉ dẫn trực tiếp là nó cung cấp hỗ trợ giới hạn: “theo tôi hoặc không trợ
giúp!”. Chỉ dẫn trực tiếp ít khi là trợ giúp điều hướng chính vì nó không hỗ trợ những
người dùng mà không muốn theo sự giới thiệu của hệ thống. Chỉ dẫn trực tiếp hữu ích
nhưng nó cần được sử dụng với một kỹ thuật “hỗ trợ nhiều hơn”.
Ý tưởng của kỹ thuật thứ tự thích nghi là sắp xếp tất cả các liên kết của một trang
theo mô hình người dùng và tiêu chuẩn người dùng nào đó: càng gần đỉnh thì liên kết
càng thích hợp. Thứ tự thích nghi có sự áp dụng hạn chế: nó có thể được sử dụng với các
liên kết không văn bản, nhưng nó hiếm khi được sử dụng cho các trang chỉ mục và nội
dung và có thể không bao giờ được sử dụng với các liên kết ngữ cảnh và bản đồ. Vấn đề
với thứ tự thích nghi là kỹ thuật này làm thứ tự của các liên kết không ổn định: nó có thể
thay đổi mỗi lần người dùng vào trang. Cùng lúc đó, một vài nghiên cứu gần đây chỉ ra
rằng thứ tự ổn định của các tuỳ chọn trong các menu là quan trọng với những người chưa
có kinh nghiệm. Tuy nhiên, kỹ thuật này có vẻ hữu ích cho các ứng dụng thu hồi thông
tin. Các nghiên cứu thực hành chỉ ra rằng thứ tự thích nghi có thể giảm đáng kể thời gian
điều hướng trong các ứng dụng thu hồi thông tin nơi mà mỗi trang có thể có nhiều các
liên kết.
19
Ẩn là kỹ thuật được sử dụng thường xuyên nhất hiện tại cho hỗ trợ điều hướng thích
nghi. Ý tưởng của kỹ thuật hỗ trợ điều hướng ẩn là hạn chế không gian điều hướng bằng
cách ẩn các liên kết đến các trang “không thích hợp”. Trang có thể được coi là không
thích hợp vì một số lý do: nếu nó không liên quan đến mục tiêu hiện tại của người dùng,
hoặc nếu nó trình bày nội dung mà người dùng chưa chuẩn bị sẵn sàng để hiểu. Từ góc
nhìn này, ẩn có vẻ như là kỹ thuật hiển nhiên nhất và dễ dàng thực thi nhất. Nó ngăn
người dùng từ sự phức tạp của hyperspace không giới hạn và giảm đáng kể sự quá tải. Ẩn
có sự ứng dụng rộng rãi: nó có thể được sử dụng với tất cả các loại liên kết phi ngữ cảnh,
chỉ mục, và bản đồ bằng cách thực sự ẩn các node hoặc các mục menu, và ẩn các liên kết
ngữ cảnh bằng cách chuyển các “hot words” có thể click được sang chữ thường. Ẩn cũng
trong sáng hơn với người dùng và trông “ổn định” hơn so với thứ tự thích nghi.
Ý tưởng của kỹ thuật chú thích thích nghi là thêm vào các liên kết dạng chú thích
nào đó mà có thể nói cho người dùng nhiều hơn về trạng thái hiện tại của node. Các chú
thích này có thể được cung cấp trong form văn bản hoặc sự gợi ý hình ảnh, ví dụ sử dụng
các biểu tượng, màu sắc, hoặc cỡ chữ khác nhau. Chú thích liên kết được xem là một kỹ
thuật hiệu quả của hỗ trợ điều hướng. Kiểu điển hình của chú thích là chú thích tĩnh (độc
lập người dùng). Hỗ trợ điều hướng thích nghi có thể cung cấp các chú thích động. Kỹ
thuật chú thích thường mạnh hơn kỹ thuật ẩn: ẩn chỉ có thể phân biệt hai trạng thái của
node (phù hợp và không phù hợp), trong khi chú thích có thể phân biệt nhiều trạng thái.
Kỹ thuật ánh xạ thích nghi kết hợp các cách khác nhau của thích nghi bản đồ toàn
cục và cục bộ được trình bày cho người dùng. Các kỹ thuật như chỉ dẫn trực tiếp, ẩn, và
chú thích cũng có thể được sử dụng để thích nghi ánh xạ, nhưng tất cả các kỹ thuật này
không thay đổi dạng hoặc cấu trúc của ánh xạ. Nghiên cứu tương tác người - máy đưa ra
một số kỹ thuật để thích nghi cấu trúc và dạng của một số kiểu mạng, bao gồm ánh xạ
siêu phương tiện. Tuy nhiên, hầu hết các ý tưởng vẫn chưa được áp dụng trong các hệ
thống thích nghi siêu phương tiện.
Chỉ dẫn trực tiếp, thứ tự, ẩn, chú thích, và ánh xạ là các kỹ thuật thích nghi chính
cho hỗ trợ điều hướng. Các kỹ thuật không mâu thuẫn nhau và có thể được sử dụng kết
hợp.
20
3. Mô hình hệ thống học thích nghi ACGS [10]
Hệ thống học thích nghi siêu phương tiện được phát triển với mục đích thay thế cách
học truyền thống. Theo cách học truyền thống, người học được đề nghị, hoặc thậm chí bị
bắt buộc theo một khung chương trình và nội dung có sẵn. Trái lại, hệ thống học thích
nghi cho phép mỗi người học có một cách học riêng, tuỳ theo mục đích, khả năng, nhu
cầu, sở thích, kiến thức về môn học. Nói cách khác, cách học “thích nghi” với người học.
Hệ thống học thích nghi có lẽ là không phổ biến ở Việt Nam (theo kinh nghiệm của người
viết). Tuy nhiên, có nhiều hệ thống thích nghi khác mà có thể bạn đã dùng nhưng không
để ý đến. Ví dụ khi bạn đăng kí một tài khoản trên trang youtube.com, hệ thống sẽ theo
dõi các hành động của bạn, xem bạn tìm kiếm cái gì và xem cái gì. Sau đó, nó sẽ có mục
giới thiệu các video mà phù hợp với sở thích của bạn. Các video giới thiệu này là khác
nhau tuỳ từng người dùng.
Khoá luận chỉ tập trung vào vấn đề căn cứ vào kiến thức. Vấn đề ở đây là làm sao
chúng ta có thể đánh giá được kiến thức của người dùng. Nếu chúng ta chỉ cho tương ứng
mỗi khái niệm với một bài kiểm tra và dựa vào kết quả kiểm tra để đánh giá thì thật bình
thường. Chúng ta có thể thấy rằng các khái niệm thường liên quan ảnh hưởng đến nhau.
Ví dụ trong khoá học về SQL, để hiểu được khái niệm “bảng”, chúng ta phải hiểu khái
niệm “thực thể” và “thuộc tính”. Do đó nếu người dùng đã hiểu được khái niệm “bảng”,
nhiều khả năng ngươi đó cũng đã hiểu về “thực thể” và “thuộc tính”; và ngược lại, nếu
người dùng không hiểu được khái niệm “thực thể” hay “thuộc tính”, rất có thể người đó
chưa nắm rõ về khái niệm “bảng”. Để có thể mô hình được những mối quan hệ này,
chúng ta sử dụng mạng Bayes.
Đầu tiên, chúng ta sẽ tìm hiểu các cấu trúc biểu diễn được sử dụng bởi hệ thống sinh
khoá học thích nghi (ACGS – Adaptive Course Generation System). Tiếp theo, chúng ta
cũng tìm hiểu cách phát triển mô hình học mạng Bayes để quản lý sự phủ mô hình kiến
thức. Cuối cùng, chúng ta sẽ đi vào chi tiết tiến trình thích nghi của hệ thống.
Chương này được trình bày dựa trên các kết quả của bài báo [9] đưa ra năm 2008.
3.1. Các cấu trúc biểu diễn
Hệ thống sử dụng các cấu trúc biểu diễn sau:
21
Mô hình người học
Mô hình khái niệm
Mô hình phủ
Mô hình công việc
3.1.1. Mô hình người học
Mô hình người học mà biểu diễn các thông tin cần thiết về mỗi người học là thành
phần không thể thiếu của hệ thống siêu phương tiện thích nghi nói chung và hệ thống học
thích nghi nói riêng. Hệ thống sử dụng mô hình người học để theo dõi lịch sử trạng thái
của người học về các công việc và các sự thực hiện tương ứng. Điều này là nhân tố quan
trọng đối với sự lựa chọn thích nghi các công việc học tiếp theo để giới thiệu với người
học. Trong mô hình người học, chúng ta biểu diễn các thông tin như kiến thức, nền tảng,
mục đích học, sở thích, vv... của từng người học mà có ích để thích nghi. Không có mô
hình người học, một hệ thống không thể thích nghi với người học. Để tạo và cập nhật mô
hình học, hệ thống thu thập dữ liệu từ nhiều nguồn khác nhau mà bao gồm đầu vào người
học yêu cầu cũng như tương tác của người học được hệ thống quan sát.
Cho đến giờ, có nhiều tiếp cận để phát triển mô hình người học có thể kể tên: mô
hình người học dựa vào chủ đề, mô hình người học dựa vào khái niệm, mô hình khái niệm
tổng quát hoá, mô hình bao phủ tổng quát hoá. Mỗi tiếp cận nhằm tập trung vào một hoặc
nhiều tính năng hữu ích của thông tin người học và nó có một số điểm mạnh cũng như
điểm yếu. Ví dụ, mô hình người học dựa vào chủ đề dễ dàng cho người học và giáo viên
để nắm được, để đánh chỉ mục nội dung và xoá giao diện trình bày nhưng mô hình học
của tiếp cận này quá to cũng như sự chính xác của mô hình là thấp. Cách để xây dựng và
quản lý mô hình người học để tiến trình thích nghi hiệu quả là một câu hỏi thử thách cho
các nhà nghiên cứu. Mô hình người học cần dữ liệu lưu để đánh giá cấp độ kiến thức
người học về khái niệm, cái mà là một phần của mô hình khái niệm.
3.1.2. Mô hình khái niệm
Mô hình khái niệm là một mô hình đối tượng của miền vấn đề, là một tập các thành
phần về miền giáo dục, mỗi thành phần là lớp đối tượng miền và mối quan hệ giữa chúng.
Mô hình khái niệm phân tách kiến thức của môn học thành các phần như: chủ đề, chủ đề
22
con, khái niệm nguyên tử. Phụ thuộc vào miền, chiến lược thiết kế, có nhiều kiểu của cấu
trúc mô hình khái niệm: mô hình vectơ, mô hình mạng, và bản thể học, vv. Hãy xem [3]
để biết thêm các kiểu của nó, ở đây chúng ta chỉ tập trung vào mô hình mạng, cái mà
được sử dụng để xây dựng mô hình khái niệm của ACGS. Trong mô hình mạng, có một
số kiểu của liên kết để biểu diễn các kiểu quan hệ khác nhau giữa các khái niệm. Sự kết
hợp và mối quan hệ phụ thuộc một phần là các kiểu phổ biến của liên kết mà được sử
dụng trong nhiều hệ thống. Trong cái đầu, thành thạo các chủ đề con dẫn đến thành thạo
chủ đề cha. Trong cái sau, thành thạo chủ đề cha dẫn đến thành thạo các chủ đề con.
3.1.3. Mô hình kiến thức phủ
Trong mô hình phủ, chúng ta giả sử kiến thức của sinh viên là một tập con của kiến
thức toàn bộ hệ thống của môn học. Khi sinh viên học, tập con tăng lên, và công việc của
hệ thống là theo dõi bước tiến của tập con. Điều luật của mô hình phủ người học là với
mỗi khái niệm của mô hình khái niệm, mô hình kiến thức người dùng cá thể lưu giữ dữ
liệu biểu diễn giá trị đánh giá cấp độ kiến thức của người học về khái niệm này. Sự đánh
giá này có thể là các giá trị cụ thể định lượng để biểu diễn cấp độ của kiến thức người
học, hoặc các giá trị xác suất sử dụng kiểu quản lý không chắc chắn như lôgic mờ hoặc
mạng Bayes để quản lý kiến thức người học. Do đó, trong thực hành, mô hình phủ của
người học cá thể được lưu như là một tập của các cặp tên-giá trị trong đó tên biểu thị
khái niệm thuộc mô hình khái niệm, giá trị biểu thị cấp độ kiến thức.
3.1.4. Mô hình công việc
Một công việc đề cập đến một tập các hoạt động dính liền với nhau mà được thực
hiện để đặt được mục tiêu cho trước. Kỹ thuật tách có tôn ty và đệ quy một vấn đề thành
các vấn đề con là một trong những đặc tính cơ bản của mô hình công việc có tôn ty. Mô
hình công việc lưu các kết quả của tiến trình phân tích công việc, cái mà không chỉ sử
dụng để tìm ra một số điều về hoạt động mà còn sử dụng để thành lập các yêu cầu cho
huấn luyện và cho tài liệu người dùng. Mô hình công việc là được sử dụng cho các công
việc sau:
Làm tài liệu kết quả của một thiết kế công việc cho các hoạt động được đề
nghị.
23
Hỗ trợ lựa chọn cá nhân.
Nhận biết yêu cầu cho huấn luyện.
Trong mô hình công việc này, chúng ta định nghĩa hai kiểu công việc: công việc
trừu tượng hay phương thức, và công việc cơ sở hay công việc hoạt động. Một công việc
trừu tượng biểu diễn một hoạt động cấp cao được biết như là mục tiêu học cái mà được
kết hợp bởi các công việc phụ. Trong khi đó, công việc cơ sở là công việc nguyên tử mà
có thể đạt được bằng một thủ tục đơn giản, thực tế nó có vẻ là các hoạt động học mà
người học cần nắm được để đạt được mục tiêu. Do đó, một công việc trừu tượng có thể
được chia ra một cách đệ quy thành các công việc phụ cho đến khi có các công việc hoạt
động.
Biểu đồ công việc là một mô hình công việc có tôn ty [8] bao gồm một số công việc
học và công việc học phụ mà là các hoạt động cụ thể để dạy người học cách nắm được
chủ đề. Công việc học này có thể xảy ra thứ tự hoặc song song.
Ví dụ, trích dẫn của biểu đồ công việc cho khoá học thiết kế cơ sở dữ liệu được
minh hoạ trong hình sau, công việc trừu tượng “Thiết kế biểu đồ quan hệ thực thể” bao
gồm ba phương thức: xác định thực thể, định nghĩa các thuộc tính của thực thể, và xác
định mối quan hệ giữa các thực thể. Có một số công việc hoạt động để đạt được một
phương thức. Ví dụ để đạt được phương thức “Xác định mối quan hệ giữa các thực thể”
có bốn công việc cơ sở là:
Nêu bật các động từ mô tả mối quan hệ giữa các thực thể.
Mô tả ngắn gọn liên kết mối quan hệ.
Xác định số lượng tham gia mối quan hệ của mỗi thực thể.
Xác định mối quan hệ là sự tham gia hay tuỳ chọn.
24
Hình 1. Biểu đồ công việc với các phương thức để nắm được chủ đề và công việc
hoạt động học cho khoá học thiết kế cơ sở dữ liệu [9].
3.1.5. Mô hình miền khoá học
Để có thể nắm được một khái niệm, người học cần làm một số công việc có liên
quan. Mặt khác để kết thúc công việc học, người học cũng cần nắm được một số khái
niệm tương ứng. Mô hình miền khoá học là sự kết hợp giữa mô hình khái niệm và mô
hình công việc.
Miền khoá học được trình bày như là một đồ thị có hướng không chu trình với một
số node và cạnh kết nối giữa chúng. Node biểu diễn một đối tượng nguyên tử (có thể là
khái niệm hay công việc) trong khi cạnh biểu diễn mối quan hệ tiên quyết giữa các đối
tượng. Một cách rõ ràng, để làm được công việc, các khái niệm này của công việc cũng
cần nắm được. Hình sau mô tả một phần đồ thị cho công việc “làm thế nào để chuẩn hoá
dạng chuẩn 3 cho một bảng?”, với một số khái niệm như: chuẩn hóa, bảo toàn dữ liệu,
25
dạng chuẩn 1,… Ví dụ, để có thể chuẩn hoá được dạng chuẩn 2, dạng chuẩn 1 và phụ
thuộc một phần khoá là các khái niệm tiên quyết mà người học cần biết.
N o r m a l iz a t io n
D a t a
in t e g r i t y
D a t a
r e d u n d a n c y
In t e g r i t y
c o n s t r a in t s
F u n c t i o n a l
d e p e n d a n c ie s
R e f e r e n t ia l
in t e g r i t y
E n t i t y
in te g r i t y
E n t i t y
A t r ib u t ie s
V a lu e s
K e y s
P r im a r y K e y s
F o r e ig n K e y s
F i r s t N o r m a l
F o r m
R e la t io n s h ip s
d e c o m p o s e t h e
r e la t i o n
S e c o n d
N o r m a l F o r m
p a r t i a l k e y
f u n c t io n a l
d e p e n d e n c ie s
t r a n s i t i v e
f u n c t io n a l
d e p e n d e n c ie s
T h i r d
N o r m a l F o r m
C o m p o u n d k e y
T a b le
F ie ld
R e c o r d s
C o n s t r a in ts
Q u e r y
Hình 2. Một phần đồ thị khái niệm trong mô hình miền khoá học [9].
Nếu người học nắm được tất cả các khái niệm này, không đảm bảo anh/chị ấy đã
biết cách để chuẩn hoá dạng chuẩn 2. Điều này hoàn toàn có thể xảy ra bởi vì người học
có thể nắm được tất cả các khái niệm nhưng không thể sử dụng nó để làm được công việc.
26
3.2. Mô hình mạng Bayes
3.2.1. Giới thiệu chung về mạng Bayes
Phần này sẽ chỉ giới thiệu về mạng Bayes một cách ngắn gọn. Kiến thức về mạng
Bayes có thể xem thêm trong môn học trí tuệ nhân tạo.
Một mạng Bayes là một đồ thị có hướng mà các node của nó biểu thị các biến không
chắc chắn và các cạnh của nó là các liên kết nguyên nhân hay kết quả giữa các biến. Kết
hợp với mỗi node là một bảng xác suất node (NPT – Node Probability Table). Đây là một
tập của các giá trị xác suất có điều kiện mà mô hình quan hệ không chắc chắn giữa các
node và cha của nó cùng với bất cứ sự không chắc chắn nào mà biểu thị mối quan hệ đó.
Nếu node A có các node cha là B và C thì NPT cho node A biểu thị xác suất p(A | B, C)
cho tất cả các sự kết hợp có thể của A, B, và C. Nếu A có x trạng thái, B có y trạng thái,
và C có z trạng thái thì NPT sẽ có xyz ô.
Giả sử Xi (i = 1..n) là các biến của mạng và pa(Xi) biểu diễn tập các cha của Xi. Khi
đó ta có p(X1, X2,…, Xn) = ∏ p(Xi | pa(Xi)).
Để định nghĩa một mạng Bayes, có một số công việc cần được chỉ định:
Xác định tập các biến.
Xác định tập các liên kết giữa các biến và mạng như là đồ thị có hướng
không có chu trình.
Đưa ra bảng xác suất cho mỗi node.
3.2.2. Sử dụng mạng Bayes trong hoạt động thích nghi
Sử dụng mạng Bayes để quản lý nhân tố không chắc chắn trong mô hình phủ là một
tiếp cận tốt. Chúng ta cũng miêu tả một thực thi của mô hình này với một khoá học chủ
đề: “Cách thiết kế cơ sở dữ liệu quan hệ?”.
Chúng ta thấy, các khái niệm học có quan hệ với nhau. Ví dụ trong khoá học SQL,
để hiểu về khái niệm Query chúng ta cần hiểu khái niệm Table, và để hiểu khái niệm
Table chúng ta lại cần hiểu về khái niệm Entity. Mỗi khái niệm là một phần cơ bản của
khoá học, tương ứng với một liên kết. Các khái niệm có quan hệ cha-con. Để biết về khái
niệm cha cần phải biết về khái niệm con. Chúng ta dùng mạng Bayes để tính xác suất mà
27
người học nắm được với từng khái niệm, để từ đó đưa ra khung chương trình học phù
hợp.
Để phát triển mô hình người học mạng Bayes, chúng ta cần chỉ định một tập các
biến để đo kiến thức của người học với ba trạng thái: chưa đạt (not acquired), đang học
(in progress), đạt (acquired). P(not-acquired(C)) mô tả giá trị xác suất của trạng thái not-
acquired cho khái niệm C, p(in-progress(C)) mô tả giá trị xác suất của trạng thái in-
progresss cho khái niệm C, và p(acquired(C)) mô tả giá trị xác suất của trạng thái
acquired cho khái niệm C. Ta có: p(not-acquired(C)) + p(in-progress(C)) + p(acquired(C))
= 1. Ví dụ, với người học, đo kiến thức về khái niệm “Thực thể” có thể có các giá trị như:
p(not-acquired(C)) = 0.8, p(in-progress(C)) = 0.1, p(acquired(C)) = 0.1. Mô hình người
học bao gồm một tập của các biến cho mỗi khái niệm. Với n khái niệm, mô hình người
học cần 3*n biến để mô tả ba trạng thái của kiến thức người học. Mô hình ACGS chỉ mô
hình mối quan hệ tiên quyết giữa các khái niệm cái mà quan trọng cho cả mục tiêu lập kế
hoạch hướng dẫn và cho việc thu thập thông tin về trạng thái hiện tại của kiến thức người
học. Nó có vẻ rõ ràng rằng nếu A là tiên quyết của B, nắm được A phải gây ra ảnh hưởng
cho việc nắm được B, do đó:
Nếu A chưa nắm được, có vẻ như B cũng chưa nắm được.
Nếu B đã nắm được, có vẻ như A cũng đã nắm được.
Trong trường hợp nếu A đã nắm được, p(acquired(B) | acquired(A)) là giá trị xác
suất để đánh giá kiến thức người học về khái niệm B dựa trên khái niệm A. Ví dụ,
p(acquired(B) | acquired(A)) = 0.75 có nghĩa là một người học nếu đã nắm được A thì rất
có thể cũng nắm được B. Ví dụ, với mô hình khái niệm miền được cho trong hình sau,
nếu p(acquired (First normal form)) = 0.2, và p(acquired (Transitive functional
dependences)) = 0.1, thì p(acquired (Second normal form) | acquired (First normal form),
acquired(Transitive functional dependences)) = 0.15. Trong hình sử dụng công cụ Netica
để đánh giá các giá trị xác suất.
28
Hình 3. Công cụ Netica cho việc tính toán các giá trị xác suất của mạng Bayes.
Nói chung, nếu C1, C2,…, Cn là các khái niệm tiên quyết của khái niệm C, giá trị để
đánh giá một người học đã nắm được khái niệm C hay chưa được tính bằng:
p(acquired(C) | acquired(C1), acquired(C2),…, acquired(Cn))
Để thu thập thông tin tương ứng với trạng thái kiến thức người học, chúng ta sử
dụng một tập các công việc hoạt động liên quan đến các node khái niệm. Mỗi công việc
hoạt động cũng có ba trạng thái: not-finish, in-progress, và finish. Kết quả khi người học
làm xong một công việc hoạt động là nhân tố để đánh giá người học đã hoàn thành công
việc hay chưa. Ví dụ, trong công việc “xác định các danh từ”, nếu một người học chỉ xác
định được 6/10 danh từ trong tài liệu chỉ định, người học đang in-progress của công việc
này. Một công việc thường bao gồm một số công việc hoạt động cái mà hoàn thành hay
chưa dựa trên giá trị xác suất của chúng. Ví dụ, để đánh giá một người học hoàn thành
công việc “xác định các thực thể” dựa trên trạng thái hoàn thành của hai công việc hoạt
động: “xác định các danh từ” và “kiểm tra danh từ chung”.
Tương tự các biến cho việc đánh giá kiến thức người học, nếu T1, T2,…, Tn là các
công việc hoạt động cho công việc trừu tượng T, giá trị để đánh giá công việc T đã hoàn
thành hay chưa được tính bằng:
p(finish(T) | finish(T1), finish(T2), finish(T3),…, finish(Tn))
29
3.3. Thích nghi hoạt động học
Thích nghi là một tiến trình để chọn các công việc hoạt động cho mỗi người học dựa
trên mô hình người học. Người học với trình độ kiến thức khác nhau cần làm công việc
khác để kết thúc mục tiêu học. Điều này được kết hợp bằng một số công việc mà bao gồm
công việc trừu tượng và công việc hoạt động.
Tuỳ theo kỹ thuật điều hướng thích nghi, một hoặc nhiều kỹ thuật được chọn ví dụ
như ẩn, chú thích, hoặc trợ giúp trực tiếp để hiển thị khoá học được chọn cho người học
hiện tại. Do đó, giả sử T là một công việc, L là một người học, SL là tập trạng thái miêu tả
kiến thức và trình độ hiểu biết của L. Tiến trình thích nghi là như sau:
Nếu SL không có một trạng thái cho công việc T, trạng thái tương ứng được
thêm vào SL với giá trị: SL.T(not-finish) = 1 (công việc T chưa được làm).
Trong trường hợp SL có một giá trị xác suất cho trạng thái của công việc T,
người học cần hoàn thành hay có thể bỏ qua công việc hoạt động T được
quyết định bởi giá trị xác suất mà đo kiến thức người học về các công việc
T1, T2,…, Tk là các công việc tiên quyết của T. Giá trị này được tính bằng ba
công thức, tương ứng cho trạng thái “finish”: p(finish(T) | finish(T1),
finish(T2),…, finish(Tk)), và tương ứng cho trạng thái “not-finish”: p(not-
finish(T) | not-finish(T1), not-finish(T2),…, finish(Tk)), và “in-progress”: 1 –
p(finish(T)) – p(not-finish(T)). Nếu các giá trị xác suất cho trạng thái kết thúc
lớn hơn ngưỡng nào đó, người học có thể bỏ qua công việc T.
Cuối cùng, các hoạt động của người học tương ứng sẽ được cập nhật trong mô tả của
người đó, cái mà là nền tảng cho tiến trình thích nghi trong hoạt động học tiếp theo.
30
4. Cài đặt thử nghiệm
Trong phần này, chúng ta sẽ đi thực hiện lần lượt các bước tương tự như khi làm
một dự án phần mềm. Đó là: tìm hiểu yêu cầu, phân tích thiết kế, lập trình, và kiểm thử.
4.1. Tìm hiểu yêu cầu
Hệ thống ACGS mà chúng ta sẽ xây dựng là một hệ thống dựa trên nền web. Hệ
thống có các chức năng như sau:
Đăng nhập hoặc đăng ký. Người học muốn truy cập được vào hệ thống cần
có một tài khoản. Khi đăng ký, người học sẽ được hệ thống cung cấp cho một
tài khoản chứa tên, mật khẩu, và có thể có các thông tin khác. Khi đăng nhập,
hệ thống sẽ kiểm tra tính hợp lệ của tài khoản, và sẽ chuyển tới trang chọn
khoá học hoặc đưa ra một thông báo lỗi.
Chọn khoá học. Hệ thống có thể liệt kê nhiều khoá học khác nhau, và người
học có thể chọn khoá học mà mình quan tâm. Tuy nhiên, trong giai đoạn thử
nghiệm, chúng ta có thể chỉ tạo một khoá học.
Làm bài kiểm tra đánh giá ban đầu. Người học sẽ làm một bài kiểm tra
dưới dạng trắc nghiệm. Sau khi người học làm xong (nhấn nút Submit), hệ
thống sẽ tính kết quả. Kết quả ở đây không chỉ là người học đã làm đúng bao
nhiêu câu trong tổng số bao nhiêu câu, mà còn là người học đã làm đúng bao
nhiêu phần trăm của một khái niệm nào đó. Đây chính là các bằng chứng
likelihood cho các khái niệm. Căn cứ vào đó, hệ thống sẽ tính ra các giá trị
xác suất mà người học nắm được khái niệm cũng như công việc. Khi đó, mô
tả trình độ kiến thức của người học được khởi tạo.
Làm các bài tập để xem người học đã nắm được kiến thức hay chưa.
Người học sẽ làm các bài tập được giao để hoàn thành một công việc nào đó.
Sau khi người dùng làm xong, hệ thống sẽ tính kết quả để xác định bằng
chứng likelihood cho các node. Tiếp theo, giá trị xác suất cho toàn bộ các
node của mạng được tính lại, và mô tả trình độ kiến thức của người học được
cập nhật.
31
Chỉ ra các khái niệm và công việc cần học. Mỗi khái niệm, mỗi công việc
đều có một thuộc tính gọi là threshold. Nếu xác suất người học nắm được một
mục nào đó mà lớn hơn threshold thì người đó sẽ không cần phải học nữa.
Khi đó, hệ thống sẽ có một cách biểu diễn nào đó để thông báo cho người học
rằng mục đó đã xong, không cần phải học nữa (ví dụ, chúng ta có thể làm mờ
liên kết đến mục cần học).
4.2. Phân tích thiết kế cơ sở dữ liệu
Cơ sở dữ liệu có tên là AC.
Bảng User để lưu thông tin của người dùng. Do đây chỉ là hệ thống sơ khai nên bảng
này chứa khá ít thông tin, chỉ có định danh, tên, và mật khẩu.
Bảng User
Trường Kiểu dữ liệu Mô tả
userid int Định danh của người dùng, tự động tăng dần. Là
khoá chính của bảng.
username varchar(32) Tên của người dùng.
password varchar(32) Mật khẩu của người dùng khi đăng nhập.
Bảng tiếp theo là bảng các khoá học (Course). Bảng này gồm có định danh và tên
khoá học.
Bảng Course
Trường Kiểu dữ liệu Mô tả
courseid int Định danh của khoá học, tự động tăng dần. Là khoá
chính của bảng.
coursename varchar(64) Tên của khoá học.
32
Mỗi khoá học có một file mạng Bayes riêng, có tên là .dne trong thư mục
net. Các node của mạng có tên N, trong đó được lấy từ bảng Item.
Bảng Item
Trường Kiểu dữ liệu Mô tả
itemid int Định danh của các mục, tự động tăng dần. Là khoá
chính của bảng.
itemname varchar(64) Tên của mục.
content varchar(64) Nội dung của mục. Trong hệ thống xây dựng, giá trị
của trường này chứa liên kết đến trang nội dung
tương ứng.
coursecode int Định danh của khoá học mà mục này thuộc về. Khoá
ngoại đến trường courseid của bảng Course.
threshold int Ngưỡng của mục. Nếu xác suất người học nắm được
mục mà lớn hơn ngưỡng thì người học sẽ không cần
học mục này nữa. Giá trị nằm trong đoạn [0, 100].
type int Kiểu của mục, có thể là 0 (khái niệm) hoặc 1 (công
việc).
Mỗi Item là một mục trong bảng mục lục. Chú ý rằng mỗi khoá học sẽ có một mục
lục riêng (TOC - Table Of Contents). Các TOC được chứa ngay trong thư mục gốc của
trang web, và có tên tương ứng với số thứ tự của khoá học, đuôi mở rộng là .htm. Trong
file TOC, mỗi mục được chứa trong thẻ và một thẻ có định danh là
li tương ứng. Thẻ này sẽ có tác dụng khi chúng ta có các cách trình bày
khác nhau với các mục có xác suất khác nhau.
Bảng Achieve lưu giữ tỉ lệ kiến thức nắm được của người dùng với từng khái niệm.
Bảng Achieve
33
Trường Kiểu dữ liệu Mô tả
itemcode int Định danh của mục tương ứng. Khoá ngoại đến
trường itemid của bảng Item.
usercode int Định danh của người học tương ứng. Khoá ngoại
đến trường userid của bảng User.
ratio int Tỷ lệ mà người học usercode nắm được mục
itemcode. Giá trị nằm trong đoạn [0, 100].
Bảng Evidence lưu kết quả các bài kiểm tra, các bài tập tương ứng với các mục.
Bảng Evidence
Trường Kiểu dữ liệu Mô tả
itemcode int Định danh của mục tương ứng. Khoá ngoại đến
trường itemid của bảng Item.
usercode int Định danh của người học tương ứng. Khoá ngoại
đến trường userid của bảng User.
ratio int Kết quả mà người học usercode đạt được đối với
mục itemcode. Giá trị nằm trong đoạn [0, 100].
Bảng Evidence có cấu trúc giống như bảng Archieve. Tuy nhiên chúng ta cần cả hai
bảng này. Hai bảng này thường bị hiểu nhầm là một khi tìm hiểu mạng Bayes.
Bảng lưu các câu hỏi kiểm tra tương ứng với từng khái niệm. Hình thức kiểm tra là
trắc nghiệm.
Bảng Test
Trường Kiểu dữ liệu Mô tả
testid int Định danh của câu hỏi kiểm tra, tự động tăng. Là
34
khoá của bảng.
question varchar(128) Câu hỏi.
o1 varchar(32) Lựa chọn thứ nhất.
o2 varchar(32) Lựa chọn thứ hai.
o3 varchar(32) Lựa chọn thứ ba.
o4 varchar(32) Lựa chọn thứ tư.
answer int Đáp án đúng. Giá trị là 1, 2, 3, hoặc 4.
itemcode int Định danh của mục mà câu hỏi liên quan đến. Khoá
ngoại đến trường itemid của bảng Item.
35
Hình 4. Biểu đồ các bảng và mối quan hệ giữa chúng trong cơ sở dữ liệu.
4.3. Môi trường phát triển
4.3.1. Apache
Hệ thống được xây dựng trên nền web với ngôn ngữ là PHP, chạy trên web server là
Apache.
4.3.2. MySQL
Hệ thống sử dụng cơ sở dữ liệu MySQL.
36
4.3.3. Java
Các thao tác với mạng Bayes sẽ rất khó thực hiện với ngôn ngữ PHP. Tuy nhiên,
công việc sẽ trở nên dễ dàng hơn nếu sử dụng ngôn ngữ Java.
4.3.4. Netica [6]
a. Giới thiệu 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ã hoá kiến thứ 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
đoán, dự đoá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 đoà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 PHP 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.
Netica-J là một thư viện đầy đủ của các lớp Java để 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, khoá luận không trình bày đầy đủ về các API của Netica mà chỉ những phần
được sử dụng trong hệ thống.
b. 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 cái sau:
Thao tác đầu tiên là chúng ta cần tạo một mạng Bayes.
Thao tác thứ hai là cho vào các xác suất likelihood, chúng ta cần tính các giá
trị xác suất cho tất cả các node trong mạng.
c. Sử dụng công cụ Netica trong chương trình
37
Đầ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ả.
Khi người dùng thực hiện các bài test sẽ nhận được các kết quả đánh giá. Đó 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 giả mã để thực hiện công việc đó:
// Khởi tạo ban đầu.
Environ env = new Environ(null);
Net net = new Net(new Streamer());
while () {
Tìm node tương ứng, giả sử đó là biến n.
Node n;
Cho các xác suất vào mảng a.
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.
38
env.finalize();
Chú ý rằng hiện tại chúng ta chỉ có thể sử dụng Netica với các ngôn ngữ Java và C,
không làm được trên PHP. Tuy nhiên từ file PHP, chúng ta có thể thực hiện thao tác mà
được viết bằng Java hoặc C với hàm EXEC.
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 hoà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
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).
4.4. Cấu trúc và hoạt động của các trang web
Các trang web có cùng header và footer, được định nghĩa tương ứng trong các file
header.php và footer.php.
Cấu trúc các trang php khác là:
<?
// Content of the page.
?>
Trong file header.php, chúng ta sẽ khởi tạo session PHP vì hầu hết các trang đều sử
dụng session. Việc khởi tạo cần đặt ở phần đầu tiên của file, đây là yêu cầu của PHP.
39
Trong file header.php, chúng ta cũng khởi tạo bố cục của các trang. Ngoài ra, chúng
ta cũng kiểm tra xem người dùng đã đăng nhập chưa. Nếu người dùng đã đăng nhập thì
đưa ra lời chào, còn nếu chưa thì đưa ra tuỳ chọn đăng nhập hoặc đăng ký.
Trong file footer.php, chúng ta sẽ kết thúc những gì đã khởi tạo trong trang
header.php (ví dụ, thêm các thẻ đóng cho các thẻ mở tương ứng ở file header.php) để
hoàn tất một trang web hoàn chỉnh.
Trang đầu tiên, mặc định là index.php. Trang này chỉ đưa ra một số thông tin giới
thiệu về hệ thống.
Khi người dùng chọn đăng nhập thì sẽ được đưa đến trang login.php. Còn nếu người
dùng chọn đăng ký thì sẽ được đưa đến trang register.php.
Khi người dùng đã có đủ thẩm quyền để truy cập hệ thống thì trang tiếp theo sẽ là
list.php. Trang này liệt kê các khoá học khác nhau sẵn có trong hệ thống.
Sau khi đã vào được hệ thống, người dùng sẽ được đưa tới trang list.php. Trang này
liệt kê các khoá học.
Sau khi người dùng chọn một khoá học thì sẽ đến trang course.php. Trang này trình
bày mục lục của khoá học, các liên kết đến từng mục, liên kết đến trang questionaire.php
để làm bài kiểm tra đánh giá kiến thức ban đầu, liên kết đến trang assignment.php để làm
các bài tập đánh giá quá trình học.
Trang questionaire.php liệt kê các câu hỏi thuộc các khái niệm khác nhau. Dạng
kiểm tra là trắc nghiệm.
Trang check.php dùng để đánh giá điểm bài kiểm tra và cập nhật lại các giá trị đạt
được của người dùng.
4.5. Thử nghiệm
4.5.1. Dữ liệu thử nghiệm
Chúng ta sẽ đi xây dựng bộ test cho người học có userid trong cơ sở dữ liệu là một
số nào đó, ví dụ .
Việc kiểm thử gồm có hai loại: kiểm thử cho bài kiểm tra đánh giá ban đầu và kiểm
thử cho việc làm các bài tập.
40
a. Kiểm thử bài kiểm tra đánh giá ban đầu
Với mỗi người học, để đánh giá trình độ kiến thức ban đầu, chúng ta có một file
bằng chứng có tên là question.txt, và có định dạng như sau:
18:*
10:*
21:55
20:62
23:45
12:42
14:88
15:*
16:*
34:44
39:47
40:*
Mỗi dòng là một cặp node-bằng chứng cách nhau bằng dấu hai chấm. Ký tự * có
nghĩa là node đó chưa có bằng chứng.
Để có thể thử nghiệm hệ thống, chúng ta sẽ đưa ra các bộ test tự động và bằng tay.
Tự động có nghĩa là chúng ta sinh ngẫu nhiên các bằng chứng trong file bằng chứng, còn
bằng tay có nghĩa là chúng ta tự mình nhập từng bằng chứng vào file bằng chứng.
b. Kiểm thử việc làm các bài tập
Để tạo bộ test cho việc làm các bài tập, chúng ta cũng có thể tạo một bộ test tương
tự như cho việc đánh giá ban đầu. Tuy nhiên, chúng ta cũng có thể thay đổi bộ test một
chút. Ví dụ, chúng ta có thể chỉ có một file bằng chứng với các bài tập, nhưng chúng ta
không tính các xác suất một lần dựa vào toàn bộ file đó, mà chúng ta sẽ chia thành các
giai đoạn. Như vậy sẽ có vẻ giống thực tế hơn: người dùng sẽ làm từng bài assigment một
cách tuần tự, và các xác suất sẽ được cập nhật ngay sau mỗi khi người học làm xong.
41
Ví dụ chúng ta có file kiểm thử cho người dùng , có tên là .txt và
có dạng như sau:
18:45
10:78
21:55
20:62
23:45
12:42
14:88
34:44
39:47
Mỗi dòng vẫn là các cặp node-bằng chứng. Tuy nhiên, các dòng không liên tục mà
có khi cách nhau bởi một dòng trắng. Mỗi dòng trắng thể hiện kết thúc một giai đoạn.
Trong file ví dụ trên, việc cập nhật kiến thức của người dùng sẽ được thực hiện bốn lần,
sau khi người học làm xong các bài tập tương ứng trong bốn giai đoạn: (18, 10), (21, 20,
23), (12, 14), (34, 39).
4.5.2. Kết quả thử nghiệm
Bằng cách sử dụng công cụ Netica, chúng ta sẽ tính được giá trị xác suất của các
node trong mạng để đánh giá kiến thức ban đầu của người học, và in ra file output dưới
dạng như sau:
1: 85.0
2: 86.75
42
18: 85.56999
3: 79.121666
7: 47.68178
8: 48.145428
9: 50.923615
17: 48.876522
22: 85.0
5: 73.75
4: 85.0
Mỗi dòng ở đây là một cặp node-xác suất cách nhau bằng dấu hai chấm. Giá trị xác
suất để đo mức độ kiến thức của người học về node tương ứng.
4.5.3. Đánh giá kết quả
Hiện tại, các bảng xác suất có điều kiện cũng như các ngưỡng học đều dựa trên kinh
nghiệm. Như vậy, nó có độ chính xác không cao lắm. Với các bộ test, chúng ta có thể
điều chỉnh các giá trị này chính xác hơn.
43
Kết luận
Trong phần mở đầu, khoá luận đã nêu lên bốn mục tiêu cần đạt được. Sau đây là các
kết quả tương ứng.
1. Tìm hiểu về E-learning. Khoá luận đã nêu ra được khái niệm, đặc trưng, lợi
ích, lịch sử phát triển, xu thế của E-learning.
2. Tìm hiểu học thích nghi. Khoá luận đã nêu ra khái niệm của học thích nghi,
cũng như các phương thức và kỹ thuật thích nghi. Cụ thể, khoá luận đã đưa ra
câu trả lời cho các câu hỏi mà người đọc có thể đưa ra đó là: “Thích nghi cái
gì?” (kiến thức, mục tiêu, nền tảng, kinh nghiệm, sở thích) và “Cái gì có thể
được thích nghi?” (trình bày, trợ giúp điều hướng).
3. Nghiên cứu mô hình ACGS. Khoá luận đã đưa ra các thành phần cơ bản của
mô hình, và cách áp dụng của mạng Bayes vào trong mô hình.
4. Phân tích thiết kế và cài đặt thử nghiệm mô hình ACGS. Từng thành phần,
từng thao tác của hệ thống được khoá luận trình bày chi tiết, rõ ràng.
44
Tài liệu tham khảo
[1] Beaumont. User modeling in the interactive anatomy tutoring system. 1994. User
Modeling and User-Adapted Interaction, volume 4, pages 21-45.
[2] Boyle & Encarnacion. MetaDoc: an adaptive hypertext documentation. 1994. User
Modeling and User-Adapted Interaction, volume 4, pages 1-19.
[3] Brusilovsky & Millan. User models for adaptive hypermedia and adaptive educational
systems. 2007. Lecture Notes in Computer Science, volume 4321, pages 3-53.
[4] Brusilovsky. A framework for intelligent knowledge sequencing and task sequencing.
1992. Lecture Notes In Computer Science, volume 608, pages 499-506.
[5] Brusilovsky. Methods and techniques of adaptive hypermedia. 1996. User Modeling
and User-Adapted Interaction, volume 6, pages. 87-129.
[6] Netica.
[7] Thomas C. G. Basar: A framework for integrating agents in the World Wide Web.
1995. Computer, volume 28, pages 84-86.
[8] Trichet & Tchounikine. Modeling the knowledge-based components of a learning
environment within the task/method paradigm. 1998. Lecture Notes in Computer
Science, volume 1452, pages 56-65.
[9] Viet Anh Nguyen, Nguyen Viet Ha, Si Dam Ho, Hitoshi Sasaki. Bayesian network
student model for adapting learning activity tasks in adaptive course generation
system. 2008. Proceeding of Technology Enhanced Learning Conference 2008.
[10] Viet Anh Nguyen, Si Dam Ho. ACGS: Adaptive Course Generation System- An
efficient approach to build E-learning course. 2006. Proceeding of 6th IEEE
International Conference on Computers and Information Tecnology, 2006, p 259-
265, Seoul, Korea.
[11] Waterworth J. A. A pattern of island: exploring public information space in a private
vehicle. 1996. Lecture Notes in Computer Science, volume 1077, pages 265-278.
[12] Wikipedia.
Các file đính kèm theo tài liệu này:
- LUẬN VĂN- HỆ THỐNG HỌC THÍCH NGHI DỰA TRÊN KIẾN THỨC.pdf