Luận văn Hệ thống học thích nghi dựa trên kiến thức

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).

pdf49 trang | Chia sẻ: lylyngoc | Lượt xem: 2480 | Lượt tải: 2download
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:

  • pdfLUẬN VĂN- HỆ THỐNG HỌC THÍCH NGHI DỰA TRÊN KIẾN THỨC.pdf
Luận văn liên quan