CHƯƠNG 2 : HỌC CỘNG TÁC TRONG E-LEARNING
2.2. Mô hình hệ thống Hỏi – đáp trong học cộng tác
2.2.2. Mô hình người học trong học cộng tác
Mô hình người học phân lớp các đối tượng người học để đánh giá và xây dựng nội dung học tương ứng cho từng lớp người học.
Việc phân lớp người học dựa trên những thông tin sau: năng khiếu, nhu cầu, trình độ. Những yếu tố để phân lớp người học là mở, tuỳ theo đặc điểm riêng của từng hệ thống, từng tổ chức mà đưa ra một mô hình phân lớp phù hợp.
learner: Người học Preference: nhucầu Aptitude: Năng khiếu level: trình độ Hình 2-7 Mô hình người học
Với từng tiêu chí, hệ thống sẽ có một lớp người học yêu cầu một chương trình học riêng
• Mức trung bình: Ở mức này, học viên có năng khiếu nhưng chưa thật sự suất sắc, chưa phải là một tài năng lớn. Với những đối tượng người học ở mức này, nên đưa ra những chương trình học đi sâu vào thiên hướng của người học. Một chương trình học đầy đủ với hệ thống bài tập lớn và có hạn chế thời gian sẽ giúp người học chuyển đổi năng khiếu thành trình độ.
• Mức cao: Với những đối tượng này, không cần một chương trình dày đặc mà chỉ cần tập trung vào lĩnh vực mà người học có tài năng. Sau khi cung cấp đủ kiến thức cơ bản cho học viên, nên khuyến khích họ thực hiện hay tham gia vào những dự án tầm cỡ và đòi hỏi tài năng thực sự.
Trình độ:
• Bắt đầu học: Mức này dành cho những học viên chưa từng học về chủ đề đó.
• Trung bình: Những học viên đã từng học hay từng nghe qua nhưng chưa biết nhiều về chủ đề này.
• Khá: Học viên đã có những hiểu biết cơ bản về chủ đề đang xét. • Giỏi: Học viên đã có hiểu biết sâu sắc và có khả năng ứng dụng
những kiến thức đã học.
Nhu cầu:
• Sở thích: Học viên tham gia khoá học vì yêu thích chủ đề này.
• Sự cần thiết: Học viên cần thiết phải có kiến thức về lĩnh vực này vì một mục đích nào đó.
Đây cũng chỉ là những mô hình người học mà chúng tôi đề xuất. Trong thực tế, trên thế giới có rất nhiều người mà với cấp số nhân của những người đó về những quan điểm khác nhau của họ. Để đưa ra một mô hình chung cho bấy nhiêu
người là một bài toán không giải được. Tuỳ thuộc vào điều kiên thực tế, vào lớp người mà mỗi hệ thống E-Learning phục vụ mà những nhà phát triển khoá học động tìm ra một mô hình phù hợp nhất với hệ thống của họ.
2.2.3. Mô hình hệ thống Hỏi - đáp
2.2.3.1. Hệ thống hỏi đáp cộng tác
Hệ thống này cung cấp ba phần chính, đó là: phần hỏi, trả lời và kiểm tra. Các thông báo được đưa ra từ mỗi phần đều được quản lý tập trung. Như vậy, hệ thống hỏi đáp cộng tác đưa ra bốn tác nhân được thể hiện trong bảng 2.1. Tác nhân hỏi, tác nhân trả lời và tác nhân kiểm tra là tác nhân khách, nhằm hỗ trợ cho người sử dụng. Tác nhân quản lý là tác nhân trung tâm được đặt trên máy chủ. Tác nhân trả lời và tác nhân kiểm tra có thể thương lượng với nhau để đưa ra kết quả tốt nhất cho yêu cầu của tác nhân hỏi. Quy tắc của tác nhân quản lý đó là quản lý các thông báo được truyền trong hệ thống. Để các tác nhân có thể giao tiếp với nhau cần có ngôn ngữ giao tiếp giữa các tác nhân, giao thức tương tác và một giao thức trao đổi. Việc giao tiếp giữa các tác nhân sử dụng ngôn ngữ giao tiếp tác nhân (ACL) thông qua giao thức truyền thông. Giao thức truyền thông kết hợp với giao thức tương tác và giao thức trao đổi. Giao thức tương tác là một framework mức cao cho việc tương tác. Giao thức truyền thông là kỹ thuật truyền thông hiện nay được sử dụng cho việc giao tiếp (ví dụ như TCP/IP). [1]
Tác nhân Mô tả
Tác nhân hỏi Tác nhân này làm nhiệm vụ gửi các câu hỏi tới tác nhân quản lý Tác nhân trả lời Đảm nhận nhiệm vụ gửi các câu trả lời tới tác nhân quản lý Tác nhân kiểm tra Kiểm tra các câu trả lời và chuyển nó lại cho tác nhân quản lý Tác nhân quản lý Tác nhân này làm nhiệm vụ quản lý các thông báo tới, kiểm tra thời gian sống của máy trạm và kiểm tra thời gian chờ của các
thông báo.
Trong hệ thống hỏi đáp cộng tác, các giao thức tương tác được thể hiện trong bảng 2.2. Các tác nhân trong hệ thống này giao tiếp bằng việc sử dụng ACL thông qua những giao thức để kết thúc nhiệm vụ của mình. Trong phần tiếp theo chúng ta sẽ thể hiện cách mà hệ thống hỏi đáp cộng tác xử lý các thông báo bằng việc sử dụng các giao thức đó.
Giao thức Mô tả
Yêu cầu Giao thức này được sử dụng cho việc gửi các câu hỏi Trả lời Giao thức này được dùng để gửi các câu trả lời Kiểm tra yêu cầu Được sử dụng trong việc kiểm tra yêu cầu trả lời
Kiểm tra trả lời Giao thức này được dùng cho việc trả lại các câu trả lời đã được kiểm tra.
Chấp nhận câu trả lời Giao thức này được dùng khi câu trả lời đã được chấp nhận
Bảng 2.2 Giao thức tương tác của hệ thống hỏi đáp cộng tác
2.2.3.2. Quy trình Hỏi đáp cộng tác
Trong phần này, chúng tôi mô tả quá trình của Hỏi đáp cộng tác. Để hỗ trợ cho việc học cộng tác, các giai đoạn của việc Hỏi đáp như sau:
a.Giai đoạn Hỏi
Giai đoạn này là giai đoạn khởi tạo của Hệ thống hỏi đáp cộng tác. Tác nhân hỏi sẽ gửi câu hỏi của người sử dụng tới tác nhân quản lý thông qua giao thức yêu cầu (Request Protocol – Hình 2-9).
b.Giai đoạn Trả lời
Khi tác nhân quản lý nhận được yêu cầu từ tác nhân hỏi, đầu tiên, nó sẽ tạo một bản ghi thông báo và lưu nó lại trong cơ sở dữ liệu. Sau đó nó sẽ tìm một tác nhân trả lời bằng việc chọn từ danh sách người dùng đang sử dụng hệ thống. Cuối cùng, nó sẽ chuyển tiếp yêu cầu tới tác nhân trả lời đã được chọn (1-RQ). Tác nhân
trả lời sẽ hiển thị câu hỏi trên màn hình hiển thị của người dùng được chọn và đợi câu trả lời của người dùng này, sau khi nhận được câu trả lời, nó sẽ gửi lại câu trả lời đó thông qua giao thức Reply Protocol (3-RP). Nếu người dùng có thể trả lời được câu hỏi, nó sẽ chuyển sang giai đoạn tiếp theo, nếu không trả lời được, tác nhân quản lý sẽ tìm một tác nhân trả lời khác. Trong trường hợp không có ai có thể trả lời được câu hỏi hoặc không có người dùng nào hiện đang sử dụng hệ thống, tác nhân quản lý sẽ đợi một người dùng mới nào đó đăng nhập vào hệ thống cho đến khi thông báo chết (thông báo bị quá thời gian chờ - Time out). Sau đó tác nhân quản lý sẽ chuyển sang chế độ chờ thông báo từ tác nhân hỏi.
c.Giai đoạn Kiểm tra
Khi tác nhân quản lý nhận được câu trả lời từ tác nhân trả lời, nó sẽ thực hiện một quá trình như trong giai đoạn trả lời, nó sẽ chọn một tác nhân kiểm tra và gửi thông báo trả lời tới tác nhân kiểm tra thông qua giao thức Check request protocol (4-CRQ). Tác nhân kiểm tra sẽ gửi lại thông báo chấp nhận thông qua giao thức Check reply protocol (5-CRP). Nếu tác nhân kiểm tra chấp nhận câu trả lời, chuyển sang giai đoạn tiếp theo, nhưng nếu tác nhân kiểm tra không chấp nhận câu trả lời đó, tác nhân quản lý sẽ gửi thông báo tới tác nhân trả lời yêu cầu câu trả lời khác cùng với chú giải của tác nhân kiểm tra. Tác nhân trả lời sẽ trả lời lại câu hỏi đó cho đến khi tác nhân kiểm tra chấp nhận câu trả lời. Điều này có nghĩa rằng tác nhân trả lời sẽ phải thương lượng với tác nhân kiểm tra. Mặc dù tác nhân kiểm tra có thể chấp nhận hoặc từ chối 1 câu trả lời nhưng tác nhân trả lời cũng có khả năng chọn cho nó tác nhân kiểm tra khác.
d.Giai đoạn Chấp nhận
Sau khi tác nhân kiểm tra kiểm tra câu trả lời và gửi sự chấp thuận của mình tới tác nhân quản lý. Tác nhân quản lý sẽ gửi câu trả lời tới tác nhân hỏi thông qua giao thức Reply protocol (6-RP). Tác nhân quản lý sẽ đợi sự đồng ý từ tác nhân hỏi (7-AA) và gửi nó tới tác nhân DB để thêm chúng vào cơ sở dữ liệu FAQ (8-AA).
Hình 2-8 Hệ thống hỏi đáp cộng tác
Hệ thống này cũng kiểm tra thời gian chờ của thông báo và thời gian sống của máy trạm. Tác nhân quản lý kiểm tra tất cả các thông báo được trao đổi trong hệ thống và lưu trữ chúng trong bản ghi thông báo DB. Giải thuật của thời gian chờ của thông báo được thể hiện trong hình 2-9. Tác nhân quản lý được lập trình để xâu chuỗi mà luôn luôn kiểm tra thời gian chờ của thông báo. Thông báo sẽ “chết” (quá thời gian chờ) nếu chỉ một máy trạm bị “chết”. Trong trường hợp đó, trạng thái thông báo sẽ là chờ trả lời và chờ kiểm tra, tác nhân quản lý sẽ chọn một máy trám mới một cách tự động. Điều này sẽ tạo cho hệ thống luôn luôn hoạt động. Tuy nhiên, trong trường hợp đó, một thông báo trong trạng thái chờ chấp nhận của tác nhân quản lý sẽ đợi cho đến khi máy trạm đó đăng nhập trở lại (chỉ trong khi hệ thống hoạt động độc lập).
CHƯƠNG 3: XÂY DỰNG HỆ THỐNG HỎI - ĐÁP TRONG
HỌC CỘNG TÁC
3.1. Bài toán
Học tập trên môi trường mạng (E-learning) ngày càng trở thành phổ biến. Việc cộng tác, trợ giúp nhau trong quá trình tham gia khóa học trên mạng của các học viên đang là một nhu cầu cần được đáp ứng. Chương này trình bày một cách hỗ trợ trả lời các câu hỏi của người học trên mạng. Hệ thống tự động tìm các phương án trả lời cho câu hỏi của học viên khi họ có nhu cầu cần giải đáp. Mô hình phân lớp được đề xuất đánh giá câu hỏi, các câu trả lời cũng như mô hình học viên. Trên cơ sởđó, các agent có nhiệm vụ lựa chọn và chuyển câu hỏi đến học viên thích hợp trong số những học viên cùng tham gia khóa học để có được câu trả lời tối ưu thỏa mãn nhu cầu của người hỏi.
Khi tham gia môn học, sinh viên có nhiều câu hỏi liên quan đến nội dung môn học cần được giải đáp, nhu cầu của người học là có được câu trả lời sớm và giải quyết được những vấn đề còn vướng mắc. Hệ thống tập trung giải quyết những vấn đề cụ thể của môn học, thông qua việc sử dụng tri thức của chuyên gia và các thành viên môn học để hình thành nên cơ sở tri thức giúp giải quyết các vấn đề của môn học.
Câu hỏi do người học gửi đến hệ thống Hỏi – Đáp, hệ thống có nhiệm vụ phân lớp các câu hỏi, và tìm kiếm trong cơ sở dữ liệu các câu hỏi và câu trả lời để đưa ra được phương án trả lời cho người hỏi. Việc xây dựng cơ sở dữ liệu các câu hỏi và câu trả lời thông qua tính cộng tác của các người học khác cùng tham gia. Nếu câu hỏi chưa tồn tại trong cơ sở dữ liệu, nó sẽ được chuyển đến cho những thành viên trong nhóm có khả năng trả lời câu hỏi đó. Tập hợp kết quả các câu trả lời sẽ được đánh giá bởi các chuyên gia và chính người hỏi để tìm ra câu trả lời tốt
nhất. Các đáp án tốt nhất cho từng câu hỏi sẽ hình thành nên cơ sở dữ liệu câu trả lời.
Hệ thống bao gồm các thành phần chính sau đây: Thu thập và phân lớp câu hỏi, Phân loại người học, Thu thập, tìm kiếm các câu trả lời, Đánh giá câu trả lời và phản hồi cho người hỏi.
Thu thập và phân lớp câu hỏi: Giai đoạn này xây dựng cơ sở dữ liệu
các câu hỏi do người tham gia gửi đến. Việc hình thành cơ sở dữ liệu các câu hỏi dựa trên sự phân lớp nhằm bảo đảm hạn chế sự trùng lặp giữa các câu hỏi trong cùng một vấn đề.
Phân loại người học: Giai đoạn này tiến hành phân loại các thành viên
tham gia để hình thành nên các nhóm nhỏ có thể giải quyết chuyên sâu được một số vấn đề cụ thể của môn học. Khi câu hỏi chưa có trong cơ sở dữ liệu, chúng sẽ được gửi đến cho các thành viên trong nhóm này. Quá trình phân loại này được tiến hành trong suốt quá trình hỏi và trả lời. Sau khi thu thập các câu trả lời, hệ thống sẽ cập nhật lại các nhóm nhằm đảm bảo những thành viên trong nhóm đúng là những người có thể giải quyết được vấn đề đó
Xây dựng cơ sở dữ liệu các câu trả lời: Bước này gồm hai quá trình.
Thứ nhất là việc thu thập các phương án trả lời bằng cách chuyển câu hỏi đến các thành viên khác trong nhóm. Các thành viên nhận được câu hỏi là những thành viên có khả năng đưa ra được các phương án trả lời thông qua việc phân loại và đánh giá người học. Thứ hai, Nếu vấn đề được hỏi đã tồn tại trong cơ sở dữ liệu các câu hỏi, hệ thống sẽ tìm đến câu trả lời tương ứng trong cơ sở dữ liệu các câu hỏi thay vì chuyển đến các thành viên khác nhóm học.
Đối với mỗi câu hỏi, hệ thống sẽ tập hợp được nhiều phương án trả lời từ các thành viên khác nhau trong nhóm. Giai đoạn này, sẽ tiến hành bước
đánh giá để chọn lựa phương án trả lời tốt nhất cập nhật cho cơ sở dữ liệu câu trả lời.
Chuyển câu hỏi và nhận phản hồi của người hỏi: Sau khi đánh giá các
câu trả lời, hệ thống sẽ chuyển câu trả lời cho người hỏi và nhận phản hồi đánh giá mức đáp ứng của phương án trả lời đó với câu hỏi.
3.1.1. Thu thập và phân lớp câu hỏi
Trong môi trường học tập qua mạng, người học có thể hỏi bất cứ vấn đề gì họ vướng mắc. Câu hỏi đặt ra là làm thế nào để phân lớp và chuẩn hóa được các câu hỏi một cách tốt nhất. Phạm vi bài toán chúng tôi giải quyết không bao toàn bộ các câu hỏi bất kỳ mà xét trong từng môn học cụ thể. Chỉ có các câu hỏi liên quan đến các chủ đề của môn học mới được xem xét trả lời, các môn học có chủ đề khác hệ thống sẽ không đáp ứng.
Môn học C được xác định gồm tập các vấn đề P={p1,p2,...,pn}. Cơ sở dữ liệu các câu hỏi Q={qp1,qp2,...,qpn} được phân loại theo các vấn đề của môn học C. Với mỗi (i=1…n), xây dựng tập các từ khóa
i p i
p Kpi ={k1pi,k2pi,...,knpi} tương ứng. Bước đầu hệ thống sẽ yêu cầu người ra câu hỏi xác định vấn đề mình cần hỏi
nào đó trong tập P. Với mỗi , xây dựng tập
i p
i
p
Q Kqi ={k1qi,k2qi,...,knqi} tương ứng. Quá trình xây dựng cơ dữ liệu các câu hỏi được thực hiện theo thuật toán Insert(qpi) sau:
Input: qpi //Câu hỏi thuộc vấn đề pi
Output: Qpi// Cơ sở dữ liệu câc câu hỏi thuộc pi
Begin if (Qpi={∅}){ Qpi =Qpi ∪{ }qpi ; Kpi =Kpi ∪{ }Kqpi ; } While (Qpi≠{∅}) do {
If (Check(qpi)∉Qpi){ { }i i i p p p Q q Q = ∪ ; Kpi =Kpi ∪{ }Kqpi ; }Else getAnswer(qpi); End;
Thuật toán trên tiến hành thêm câu hỏi vào cơ sở dữ liệu câu hỏi nếu chưa có trong . Việc kiểm tra đã có trong được thực hiện thông qua thủ tục Check( ). i p q Qpi i p q Qpi qpi Qpi i p q
Không mất tính tổng quát, giả sử rằng câu hỏi q thuộc vấn đề pi. Câu hỏi có