4. Mô hình kiến trúc hệ thống
4.4. Các luật thích ứng
Bài toán “học và luyện thi tiếng Anh theo ngữ cảnh” lấy việc xây dựng nội dung theo ngữ cảnh làm trọng tâm. Do đó, việc xử lý nội dung như thế nào, bằng phương pháp nào và với điều kiện gì được xem xét một cách thận trọng. Một phương pháp để giải quyết vấn đề này là chúng ta phải xây dựng các luật thích ứng với nội dung theo từng ngữ cảnh cụ thể. Đồng thời nội dung này cũng phải phù hợp với người học. Hệ thống sẽ xem xét việc tạo ra nội dung theo ba khía cạnh, bao gồm: mô hình ngữ cảnh, chủ đề học và kiến thức hiện tại của người học. Từ đó sẽ xác định các luật thích ứng cho các vấn đề này.
Đầu tiên, chúng ta sẽ đi sâu vào mô hình ngữ cảnh. Trong hệ thống này, mô hình ngữ cảnh chỉ đơn giản gồm 3 thành phần: vị trí, mức độ và thời gian. Kí hiệu M là mô hình ngữ cảnh, Lo là vị trí, Le là mức độ và T là thời gian, khi đó Mn là giá trị của mô hình ngữ cảnh thứ n, Loi là giá trị của vị trí tại vị trí thứ i, Lej là giá trị mức độ khó thứ j, Tk là giá trị của thời gian thứ k, trong đó n, i, j, k = 1, 2, 3,….Giả thiết rằng giá trị của mô hình ngữ cảnh là tổng của các giá trị vị trí, mức độ và thời gian. Như vậy ta có công thức:
Mn = Loi + Lej + Tk
trong đó: i, j, k = 1, 2, 3, … và n = 1,…,i*j*k.
Theo công thức trên, giả sử ta có i=1,2,3; j=1,2,3; k=1,2,3,4; khi đó số lượng mô hình có thể sinh ra là n = i*j*k = 3*3*4=36 (mô hình) và giá trị của các mô hình được theo công thức trên. Số lượng mô hình ngữ cảnh sinh ra là tương đối lớn nếu ta tăng số lượng vị trí hoặc thời gian lên. Tuy nhiên ta sẽ sử dụng phương pháp loại bớt những giá
trị M trùng nhau đi, ta chỉ lấy một giá trị trùng nhau duy nhất. Khi đó tập các mô hình ngữ cảnh Mn sẽ được thu gọn thành Mm (với n>=m)
Sau khi ta đã xây dựng được mô hình ngữ cảnh, vấn đề còn lại của chúng ta là kêt hợp mô hình này với chủ đề học và kiến thức hiện thời của người học. Chủ đề học mang yếu tố quyết định xem nội dung thuộc chủ đề nào (thuộc nhánh nào của cây nội dung). Gọi W là giá trị của kiến thức hiện tại, khi đó tổng M + W sẽ quyết định độ cao của cây.
CHƯƠNG 3
CÀI ĐẶT VÀ THỬ NGHIỆM 1. Công nghệ sử dụng
Chương trình MobileEnglish được viết trên nền tảng J2ME. Java là công nghệ mã nguồn mở và do Sun Microsystem hỗ trợ và phát triễn. J2ME (Java 2 Platform, Micro Edition) được xem là 1 trong 3 công nghệ hiện nay của Java và nó phát triển ứng dụng nhắm vào các thiết bị di động. Chuẩn của J2ME gồm 2 loại:
• CLDC ( Connected Limited Device Configuration): có khả năng truyền thông trên mạng một cách rời rạc như: điện thoại di động (Mobile phones), máy nhắn tin hai chiều (two-way pagers), máy trợ lý cá nhân dùng kỹ thuật số (personal digital asisstants-PDAs). Loại này dùng cho một mục đích đặc biệt, thường giới hạn về chức năng.
• CDC ( Connected Device Configuration): được kết nối cố định và liên tục như set-top boxes, Internet TVs, Internet – enabled screen phones, high – end communicators, hệ thống điều hướng xe hơi. Loại này hỗ trợ về giao diện người dùng.
J2ME được thiết kế để chạy trên các điện thoại di động có cấu hình tối thiểu như sau:
• Bộ nhớ tổng cộng: 128-512 KB. • Bộ xử lý: 16 đến 32 bit.
• Tốc độ xử lý: 8-32 MHz.
• Năng lượng: giới hạn, hoạt động bằng pin. • Băng thông: giới hạn, khoảng 9600 bps.
MIDP (Mobile Information Device Profile): bổ sung các tính năng như hỗ trợ kết nối, các thành phần hỗ trợ giao diện người dùng, … vào CLDC. Profile này được thiết kế chủ yếu để nhắm vào điện thoại di động với đặc tính là màn hình hiển thị hạn chế, dung lượng chứa có hạn. Do đó MIDP sẽ cung cấp một giao diện người dùng đơn giản và các tính năng mạng đơn giản dựa trên HTTP. Có thể nói MIDP là profile nổi tiếng nhất bởi vì nó là kiến thức cơ bản cho lập trình Java trên các máy di động.
• Các lớp và kiểu dữ liệu: phần lớn các lớp mà các lập trình viên Java quen thuộc vẫn còn được giữ lại ví dụ như các lớp trong gói java.util như Stack, Vector và Hastable cũng như Enumeration.
• Hỗ trợ đối tượng Display: đúng như tên gọi một chương trình MIDP sẽ hỗ trợ duy nhất một đối tượng Display là đối tượng quản lý việc hiển thị dữ liệu trên màn hình điện thoại.
• Hỗ trợ Form và các giao diện người dùng. • Hỗ trợ Timer và Alert.
• Cung cấp tính năng Record Management System (RMS) cho việc lưu trữ dữ liệu.
Những chức năng MIDP không thể làm được:
• Phép tính dấu chấm động (floating point): phép tính này đòi hỏi rất nhiều tài nguyên CPU và phần lớn các CPU cho các thiết bị di động không hỗ trợ phép tính này, do đó MIDP cũng không có.
• Bộ nạp class (Class Loader).
• Hỗ trợ từ khóa finalize( ) như trong J2SE: việc “dọn dẹp“ tài nguyên trước khi nó bị xóa do lập trình viên thực hiện.
• Không hỗ trợ JNI (Java Native Interface). • Hỗ trợ hạn chế thao tác bắt lỗi.
• Phần lớn các thư viện API cho Swing và AWT không thể sử dụng được trong MIDP.
• Không hỗ trợ các tính năng quản lý tập tin và thư mục, trong thực tế là các thiết bị J2ME không có hỗ trợ các thiết bị lưu trữ thông thường như ổ cứng…. Tuy nhiên, điều đó không có nghĩa là phải mất đi mọi dữ liệu quan trọng mỗi khi tắt máy, Sun đã cung cấp một chức năng khác tương đương gọi là Record Management System (RMS) để cung cấp khả năng lưu trữ cho các thiết bị này. • MIDP 2.0 có một số các cải tiến nổi bật so với MIDP 1.0:
o Nâng cấp các tính năng bảo mật như: Download qua mạng an toàn hơn thông qua việc hỗ trợ giao thức HTTPS, kiểm soát việc kết nối giữa máy di động và server, ví dụ các chương trình không thể kết nối tới server nếu không có sự chấp nhận của người dùng.
o Thêm các API hỗ trợ Multimedia. Một trong những cải tiến nổi bật nhất của MIDP 2.0 là tập các API media của nó. Các API này là một tập con chỉ hỗ trợ âm thanh của Mobile Media API (MMAPI).
o Mở rộng các tính năng của Form. Nhiều cải tiến đã được đưa vào API javax.microedition.lcdui trong MIDP 2.0, nhưng các thay đổi lớn nhất (ngoài API cho game) là trong Form và Item.
o Hỗ trợ các lập trình viên game bằng cách tung ra Game API. Được hưởng lợi nhất từ Game API trong MIDP 2.0 không chỉ là các lập trình viên game mà còn các lập trình viên cần sử dụng các tính năng đồ họa cao cấp.
o Hỗ trợ kiểu ảnh RGB: một trong những cải tiến hấp dẫn cho các nhà phát triển MIDP là việc biểu diễn hình ảnh dưới dạng các mảng số nguyên, cho phép MIDlet thao tác với dữ liệu hình ảnh một cách trực tiếp.
2. Cài đặt
Hệ thống gồm 3 thành phần:
• WebService: Đây là thành phần xử lý chính của hệ thống, bao gồm các hàm xử lý thông tin và truy vấn đến cơ sở dữ liệu. Thành phần này được cài đặt trên máy chủ Sun GlassFish Enterprise Server v2.1
• Mobile: Đây là thành phần thể hiện các yêu cầu người dùng và kết quả phản hổi từ Service.
• Database: Lưu trữ dữ liệu người dùng, nội dung học và các câu hỏi kiểm tra.
Hình 9: Mô hình cài đặt Các bước thiết lập để chạy trương trình:
• Cài đặt máy chủ Sun GlassFish Enterprise Server v2.1 • Deploy WebService lên máy chủ
• Copy dữ liệu chương trình lên cơ sở dữ liệu của máy chủ • Thiết lập địa chỉ Server cho Mobile
• Copy và Chạy file MobileEnglish.jar, để cài đặt trên Mobile Phone. • Sử dụng chương trình.
2.1. Chức năng chính
Như đã nói ở trên, dựa theo vấn đề bài toán đưa ra, hệ thống MobileEnglish có hai chức năng chính: học và luyện thi. Trong đó có:
• Chức năng đánh giá, kiểm tra kiến thức của người dùng trước khi học. • Chức năng lựa chọn chủ đề học.
• Chức năng lựa chọn ngữ cảnh tương ứng với chủ đề đã được lựa chọn.
• Số lượng câu hỏi đưa ra sau mỗi lần học xong và trong quá trình đánh giá, kiểm tra kiến thức ban đầu là động, người dùng có thể nhập số lượng câu hỏi cho riêng mình. Tuy nhiên hệ thống sẽ đưa ra gợi ý về số lượng câu hỏi nên làm. • Chức năng xem trước đáp án câu hỏi khi người dùng trả lời câu hỏi.
• Đưa ra thông báo và danh sách các chủ đề cần học sau khi người dùng hoàn thành chủ đề với ngữ cảnh trước đó đượ lựa chọn.
• Ngoài ra, hệ thống sẽ có thêm phần quản lý người dùng (Đăng nhập, đăng ký, xem thông tin của người dùng,…).
2.2. Thiết kế
Dựa theo thói quen và nhu cầu của người học ngoại ngữ, thông thường người học sẽ chọn ra những chủ đề mình thích học trước, học theo chủ đề, học những vấn đề mà mình cảm thấy còn chưa chắc chắn. Đương nhiên là người học muốn nâng cao kiến thức cũng như trình độ của mình về các vấn đề này. Tuy nhiên điều này còn khó đối với những ai mới bắt đầu học và những ai chưa biết chắc có những chủ đề nào cần học hay đáng được quan tâm trước. Dựa vào điều kiện khách quan này, hệ thống Mobile English sẽ bắt đầu bằng cách đưa ra các chủ đề thông dụng để người dùng có thể lựa chọn trước. Sau đó người dùng có thể lựa chọn những ngữ cảnh để học tùy theo nhu cầu của mỗi người, ngữ cảnh này có thể được cập nhật cho hệ thống. Ngữ cảnh trong MobileEnglish bao gồm vị trí (Location), mức độ khó của chủ đề (Level) và thời gian mà người dùng có thể học (Time). Giá trị của các vị trí (Location) được tính bằng giá trị của mức độ tập trung tương ứng (LRetaurant = 2; LStation = 1; LVehicle = 1; LOuting = 2; LHome = 3; LCompus = 3). Các vị trí được đưa ra và đánh giá trong Bảng 1.
Bảng 1: Vị trí các giá trị mặc định cho mức độ tập trung Vị trí Mức độ tập trung Retaurant M (2) Station L (1) Vehicle L (1) Outing M (2) Home H (3) Compus H (3)
Mỗi vị trí là khác nhau và mỗi người dùng có những kiến thức khác nhau về mỗi chủ đề tương ứng với vị trí đó, do vậy trong hệ thống MobileEnglish, đã triển khai thêm mức độ khó của chủ đề tương ứng với các vị trí. Chẳng hạn, tại vị trí Restaurant, người dùng A muốn học về chủ đề Pronouns, tuy nhiên kiến thức về lĩnh vực này của người A không được tốt lắm, do vậy người dùng A chỉ muốn học với mức độ bình thường (Medium). Khi đó người dùng này chỉ muốn học nội dung ở mức trung bình. Hệ thống MobileEnglish đưa ra ba mức độ Low, Medium và High cho từng chủ đề tương ứng với từng vị trí. Các mức được đánh giá với giá trị tương ứng (Low = 1, Medium = 2, High = 3).
Mỗi một vị trí sẽ có ba mức độ khó của chủ đề. Sự kết hợp giữa vị trí và độ khó của chủ đề cho ta một tham số tạm thời LL được tính bằng tổng của giá trị Location với giá trị của mức độ khó (Level) (LL = Location + Level). Minh họa trong Bảng 2.
Bảng 2: Tham số kết hợp giữa Vị trí và mức độ khó của topic (Location and Level of Topic: LL)
Ret (2) Sta (1) Veh (1) Out (2) Hom (3) Com (3) L (1) LL = 3 LL = 2 LL = 2 LL = 3 LL = 4 LL = 4 M (2) LL = 4 LL = 3 LL = 3 LL = 4 LL = 5 LL = 5 H (3) LL = 5 LL = 4 LL = 4 LL = 5 LL = 6 LL = 6
Tại mỗi vị trí, với mức độ khó của chủ đề được xác định. Nhưng do tính di động, nên người dùng ít có một khoảng thời gian cố định cho việc học, điều đó là hiển nhiên, hệ thống MobileEnglish hình thành nguyên nhân chủ yếu cũng vì tính di động này. Ngoài đặc điểm về vị trí, một đặc điểm nữa khiến người dùng thích thú khi sử dụng mobile để học đó là tiết kiệm về thời gian. Người học có thể học trong thời gian ngắn học dài tùy theo lượng thời gian mà người dùng có thể dùng. Do đó yếu tố thời gian cũng sẽ được đề cập trong MobileEnglish. Kí hiệu T cho thời gian (Time), đối với
MobileEnglish chỉ đề cập đến 4 khoảng thời gian mà người dùng có thể lựa chọn. Thiết lập các giá trị T tương ứng với các khoảng thời gian (T < 15’; 15’ < T < 30’; 30’ < T < 45’; 45’ < T < 60’). Thiết nghĩ, những khoảng thời gian này là rất phù hợp cho thiết bị di động và cho người dùng. Nếu khoảng thời gian quá dài ( > 60’ ) thì người học có thể sẽ cảm thấy mệt mỏi và do đó thì chất lượng bài học sẽ không cao cho người học. Một mô hình học theo ngữ cảnh được hình thành từ sự kết hợp của ba yếu tố: vị trí, mức độ khó của chủ đề và thời gian có thể thực hiện bài học. Để đưa ra mô hình, để đơn giản, hệ thống MobileEnglish chỉ đánh giá mô hình bằng tổng ba giá trị tham số của ba yếu tố trên, tức là: Model = Location + Level + Time hay M = LL + T. Minh họa trong bảng 3.
Bảng 3: Giá trị của các mô hình tham số
LL = 2 LL = 3 LL = 4 LL = 5 LL = 6
T = 1 (15-) M = 3 M = 4 M = 5 M = 6 M = 7
T = 2 (15-30) M = 4 M = 5 M = 6 M = 7 M = 8
T = 3 (30-45) M = 5 M = 6 M = 7 M = 8 M = 9
T = 4 (45-60) M = 6 M = 7 M = 8 M = 9 M = 10
Để tương tác với người dùng, MobileEnglish sẽ không chỉ dựa vào mô hình và kiến thức của người dùng mà hệ thống còn dựa vào chủ đề mà người dùng đã lựa chọn đầu tiên. Sự kết hợp giữa ba yếu tố: chủ đề, mô hình và kiến thức người dùng sẽ hình thành nên sự tương tác với người dùng trong MobileEnglish. Cụ thể, ban đầu hệ thống sẽ xác định chủ đề mà người dùng đã lựa chọn để xác định cây nội dung. Sau đó, khi có mô hình học thông qua các thông số: vị trí, mức độ khó và thời gian, hệ thống sẽ tiếp tục căn cứ vào kiến thức của người dùng về chủ đề đang xét. Kiến thức của người dùng về chủ đề đang xét có gán giá trị, giá trị này được sinh ra khi người dùng kết thúc chủ đề (có giá trị bằng 0 nếu người dùng chưa học chủ đề đó). Việc xác định sự tương tác nào được lựa chọn (hay nút nào trong cây nội dung được lựa chọn) sẽ dựa vào nút gốc (là chủ đề) và chiều cao của cây (là tổng giá trị giữa giá trị mô hình và giá trị kiến thức).