Tài liệu Khóa luận Nghiên cứu xây dựng ứng dụng học tiếng anh theo ngữ cảnh trên thiết bị di động: ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Lê Duy Khánh
NGHIÊN CỨU XÂY DỰNG
ỨNG DỤNG HỌC TIẾNG ANH THEO NGỮ
CẢNH TRÊN THIẾT BỊ DI ĐỘNG
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Mạng và Truyền thông
HÀ NỘI - 2010
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Lê Duy Khánh
NGHIÊN CỨU XÂY DỰNG
ỨNG DỤNG HỌC TIẾNG ANH THEO NGỮ
CẢNH TRÊN THIẾT BỊ DI ĐỘNG
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Mạng và Truyền Thông
Cán bộ hướng dẫn: ThS. Nguyễn Việt Anh
HÀ NỘI - 2010
LỜI CẢM ƠN
Khóa luận này được thực hiện trong một thời gian không phải là dài, xong đây là
công trình lớn nhất mà tôi đã thực hiện được trong thời gian học tập ở trường đại học.
Ngoài sự cố gắng, nỗ lực của bản thân còn có sự giúp đỡ của nhiều người để tôi có thể
hoàn thiện được khóa luận này.
Đầu tiên, con xin vô cùng biết ơn cha mẹ, đã có công sinh thành, dưỡng dục,
thương yêu, chăm sóc con để con có được ngày hôm nay.
Sau tôi xin bày tỏ lòng biết ơn ...
59 trang |
Chia sẻ: haohao | Lượt xem: 1128 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Khóa luận Nghiên cứu xây dựng ứng dụng học tiếng anh theo ngữ cảnh trên thiết bị di động, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Lê Duy Khánh
NGHIÊN CỨU XÂY DỰNG
ỨNG DỤNG HỌC TIẾNG ANH THEO NGỮ
CẢNH TRÊN THIẾT BỊ DI ĐỘNG
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Mạng và Truyền thông
HÀ NỘI - 2010
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Lê Duy Khánh
NGHIÊN CỨU XÂY DỰNG
ỨNG DỤNG HỌC TIẾNG ANH THEO NGỮ
CẢNH TRÊN THIẾT BỊ DI ĐỘNG
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Mạng và Truyền Thông
Cán bộ hướng dẫn: ThS. Nguyễn Việt Anh
HÀ NỘI - 2010
LỜI CẢM ƠN
Khóa luận này được thực hiện trong một thời gian không phải là dài, xong đây là
công trình lớn nhất mà tôi đã thực hiện được trong thời gian học tập ở trường đại học.
Ngoài sự cố gắng, nỗ lực của bản thân còn có sự giúp đỡ của nhiều người để tôi có thể
hoàn thiện được khóa luận này.
Đầu tiên, con xin vô cùng biết ơn cha mẹ, đã có công sinh thành, dưỡng dục,
thương yêu, chăm sóc con để con có được ngày hôm nay.
Sau tôi xin bày tỏ lòng biết ơn sâu sắc nhất đến ThS. Nguyễn Việt Anh, người thầy
không chỉ hướng dẫn tận tình cho tôi trong suốt khóa luận này mà còn là người dẫn
dắt, chỉ đường cho tôi trong suốt một năm qua. Đồng thời tôi cũng xin cám ơn tới tất
cả các thầy cô giáo trong khoa CNTT- Trường ĐH Công Nghệ đã truyền đạt những
kiến thức, kinh nghiệm quý báu trong quá trình học tập và nghiên cứu.
Tôi xin chân thành cảm ơn anh Đỗ Thế Chuẩn và anh Vũ Hồng Phong đã nhiệt tình
giải đáp các thắc mắc về kỹ thuật trong suốt quá trình nghiên cứu và thực hiện khóa
luận này.
Cuối cùng, tôi xin cảm ơn các bạn của tôi : Nguyễn Sỹ Tuấn và Nguyễn Minh Hà
đã hỗ trợ tôi trong suốt quá trình thực hiện khóa luận.
Xin chân thành cảm ơn tất cả.
Hà Nội , ngày 21 tháng 05 năm 2010
Người thực hiện
Lê Duy Khánh
TÓM TẮT
Học theo ngữ cảnh là một khái niệm khá mới mẻ ở nước ta. Trong khóa luận này,
tôi sẽ tập trung trình bày các khái niệm về ngữ cảnh, cách một ứng dụng nhận diện
được sự thay đổi ngữ cảnh và cách thức triển khai một ứng dụng học Tiếng Anh theo
ngữ cảnh trên thiết bị di động.
Bài toán đặt ra là xây dựng một ứng dụng hỗ trợ người học Tiếng Anh ngay trên
thiết bị di động của mình. Ứng dụng này có tính năng nhận diện ngữ cảnh, tự động tùy
biến nội dung học tập sao cho nội dung đó là phù hợp nhất với ngữ cảnh hiện tại của
người học. Để giải quyết vấn đề này, trong khóa luận tôi sẽ đưa ra một mô hình đề
xuất giúp ứng dụng có thể nhận diện các thay đổi về ngữ cảnh đồng thời trích xuất nội
dung bài học phù hợp dựa trên thông tin ngữ cảnh đó.
Trong phần thực nghiệm, tôi đã tiến hành xây dựng một ứng dụng thử nghiệm, với
một vài nội dung bài học đơn giản nhằm minh họa các tính năng chính của chương
trình. Đồng thời, có một vài đánh giá về kết quả chương trình và đưa ra phương
hướng phát triển chương trình trong tương lai.
Khóa luận gồm có 5 chương :
Chương 1 : Giới thiệu bài toán
Chương 2 : Đề xuất mô hình
Chương 3 : Các khái niệm liên quan
Chương 4 : Mô hình thử nghiệm
Chương 5 : Tổng kết
Từ khóa : context, context-aware, context-adaption, mobile learning, mobile
mearning in context, học theo ngữ cảnh, di động, thích nghi ngữ cảnh.
MỤC LỤC
CHƯƠNG 1 GIỚI THIỆU ....................................................................................................................1
1.1 Đặt vấn đề ..................................................................................................................................1
1.2 Mục tiêu nghiên cứu...................................................................................................................2
CHƯƠNG 2 HƯỚNG GIẢI QUYẾT VÀ MÔ HÌNH ..........................................................................3
2.1 Hướng giải quyết........................................................................................................................3
2.1.1 Hệ thống cần cung cấp dịch vụ khi nào ?.........................................................................3
2.1.2 Hệ thống cần cung cấp những nội dung gì? .....................................................................4
2.1.3 Hệ thống truyền tải nội dung đến người dùng như thế nào? ............................................4
2.2 Mô hình đề xuất .........................................................................................................................5
2.2.1 Người dùng.......................................................................................................................6
2.2.2 Nhận biết ngữ cảnh...........................................................................................................8
2.2.3 Xây dựng nội dung.........................................................................................................11
2.2.4 Cơ sở dữ liệu ..................................................................................................................14
2.2.5 Nhà cung cấp nội dung...................................................................................................14
CHƯƠNG 3 CÁC KHÁI NIỆM VÀ CÔNG NGHỆ LIÊN QUAN....................................................15
3.1 Dịch vụ hướng vị trí (Location Base Services ) ......................................................................15
3.2 Ngữ cảnh và Học theo ngữ cảnh trên di động..........................................................................17
3.2.1 Ngữ cảnh (Context) ........................................................................................................17
3.2.2 Nhận biết ngữ cảnh (Context-Aware) ............................................................................18
3.2.3 Học trên di động (Mobile Learning ) .............................................................................18
3.2.4 Học theo ngữ cảnh trên di động (Mobile Learning in Context) .....................................19
3.3 Java 2 Micro Edition – J2ME...................................................................................................20
3.3.1 Đôi nét về J2ME.............................................................................................................20
3.3.2 Cấu trúc J2ME................................................................................................................20
3.3.3 Vòng đời của một ứng dụng J2ME ................................................................................22
3.4 Webservice...............................................................................................................................24
3.4.1 Khái niệm .......................................................................................................................24
3.4.2 Web Service Descripttion Language (WSDL) ...............................................................25
3.4.3 Simple Object Access Protocol (SOAP) .......................................................................27
3.5 Kỹ thuật định vị A-GPS (Assisted GPS)..................................................................................30
CHƯƠNG 4 Mô hình thử nghiệm.......................................................................................................32
4.1 Phân tích thiết kế hệ thống.......................................................................................................32
4.1.1 Biểu đồ ngữ cảnh hệ thống.............................................................................................32
4.1.2 Biểu đồ phân rã chức năng .............................................................................................33
4.1.3 Chức năng chi tiết hệ thống............................................................................................33
4.1.4 Cơ sở dữ liệu ..................................................................................................................35
4.1.5 Luồng xử lý phía client ..................................................................................................39
4.2 Cài đặt ......................................................................................................................................40
4.2.1 Yêu cầu phần cứng và phần mềm ..................................................................................40
4.2.2 Client ..............................................................................................................................40
4.2.3 Server .............................................................................................................................41
4.3 Thử nghiệm..............................................................................................................................46
4.3.1 Dữ liệu thử nghiệm.........................................................................................................46
4.3.2 Kết quả thử nghiệm ........................................................................................................47
4.3.3 Nhận xét .........................................................................................................................49
CHƯƠNG 5 TỔNG KẾT....................................................................................................................50
5.1 Kết quả đạt được ......................................................................................................................50
5.2 Hạn chế ....................................................................................................................................50
5.3 Hướng phát triển ......................................................................................................................51
DANH SÁCH CÁC HÌNH VẼ
Hình 2.2-1 Mô hình hệ thống cung cấp dịch vụ học Tiếng Anh theo ngữ cảnh trên
di động .............................................................................................................................1
Hình 2.2-2 Các tác nhân thể hiện ngữ cảnh của người dùng....................................6
Hình 2.2-3 Ví dụ thông điệp dạng xml .....................................................................8
Hình 2.2-4 Mô hình nhận biết ngữ cảnh ...................................................................8
Hình 2.2-5 Cảm biến.................................................................................................9
Hình 2.2-6 Trích xuất đặc trưng ...............................................................................9
Hình 2.2-7 Mô hình hóa..........................................................................................10
Hình 2.2-8 Phân loại ngữ cảnh ...............................................................................10
Hình 2.2-9 Thực thi.................................................................................................11
Hình 2.2-10 Hình hiển thị câu hỏi trên thiết bị .......................................................12
Hình 3.1-1 Những thành phần cơ bản của một LBS...............................................16
Hình 3.1-2 Phân loại thông tin ngữ cảnh ................................................................16
Hình 3.3-1 Vị trí các profile trong j2me .................................................................22
Hình 3.3-2 Vòng đời của một MIDlet.....................................................................23
Hình 3.4-1 Mô tả webservice..................................................................................24
Hình 3.4-2 Cấu trúc chung của một văn bản WSDL..............................................25
Hình 3.4-3 Mô tả cách thức SOAP làm việc ..........................................................27
Hình 3.4-4 Cấu trúc một thông điệp SOAP ............................................................28
Hình 3.5-1 Nguyên lý hoạt động của A-GPS .........................................................31
Hình 4.1-1 Biểu đồ ngữ cảnh hệ thống .....................................................................1
Hình 4.1-2 Biểu đồ phân rã chức năng .....................................................................1
Hình 4.1-3 Biểu đồ dữ liệu......................................................................................36
Hình 4.1-4 Luồng xử lý phía client...........................................................................1
Hình 4.2-1 Màn hình đăng nhập và màn hình thông báo đăng nhập lỗi.................42
Hình 4.2-2 Màn hình đăng ký và màn hình thông báo nếu đăng ký xuất hiện lỗi..42
Hình 4.2-3 Màn hình hiển thị nhóm lĩnh vực và màn hình hiển thị địa điểm thuộc
lĩnh vực đó .....................................................................................................................43
Hình 4.2-4 Màn hình hỏi thời gian dành cho bài học và màn hình hiển thị nội dung
chi tiết bài học................................................................................................................44
Hình 4.2-5 Màn hình hiển thị thông báo confirm loại bỏ bài học và màn hình thông
báo khôi phục lại bài học...............................................................................................45
Hình 4.2-6 Hiển thị ô tìm kiếm và hiển thị danh sách các kết quả tìm kiếm được 45
Hình 4.2-7 Màn hình hiển thị nội dung chi tiết bài học tìm được và hướng dẫn sử
dụng ...............................................................................................................................46
1
CHƯƠNG 1 GIỚI THIỆU
1.1 Đặt vấn đề
Điện thoại di động đầu tiên ra đời với chức năng gọi và nhận cuộc gọi. Sự phát
triển mạnh mẽ của nền kinh tế ngày càng khẳng định vai trò của thông tin liên lạc đến
khả năng thành bại trong kinh doanh. Ngoài ra, nhu cầu trao đổi thông tin, giải trí của
con người cũng ngày càng được nâng cao và nhờ vào sự tiến bộ của khoa học kỹ thuật,
chiếc điện thoại ngày càng có nhiều tính năng mới, đa dạng hơn, tiến bộ hơn và hiện
đại hơn.
Năng lực xử lý và lưu trữ của điện thoại di động cũng liên tục được cải tiến. Các
hãng sản xuất đã làm cho chiếc điện thoại di động trở nên linh động hơn, giúp cho
người sử dụng có thể dễ dàng cấu hình giao diện và ứng dụng. Đặc biệt, bằng cách cho
phép lập trình viên viết thêm chương trình ứng dụng, trò chơi cho điện thoại, chiếc
điện thoại di động hiện nay đã trở thành một công cụ làm việc, học tập, giải trí hữu ích
với mọi người.
Mặt khác, cùng với sự phát triển của công nghệ thì thói quen tiếp cận và sử dụng
tài liệu cũng thay đổi khá nhiều. Với một chiếc máy tính có thể truy cập Internet người
học Tiếng Anh có thể học bất cứ lúc nào, bất cứ nơi nào miễn là nơi đó có thể truy cập
mạng với nội dung vô cùng phong phú và đa dạng. Người học không còn phải vật lộn
với hàng loạt các ngữ liệu học tập như băng đĩa, giáo trình, bài giảng… Ngoài các bài
học ngữ pháp đơn thuần người học còn có thể nghe, đọc và tương tác trực tiếp thông
qua internet.
Tuy nhiên, hình thức học này vẫn còn có một vài hạn chế. Thứ nhất là không phải
lúc nào và không phải ở đâu cũng có máy tính và mạng Internet để phục vụ cho việc
học tập. Thứ hai đó là nội dung của bài học là cố định và không mang tính khả chuyển.
Trong khi đó người học mong muốn nội dung của bài học được đưa ra phải phù hợp
với ngữ cảnh hiện tại của họ. Đồng thời họ có thể kiểm soát được trình độ cũng như
tiến trình học tập của họ. Vì vậy, để giải quyết vấn đề này chúng ta sẽ áp dụng một mô
hình còn khá mới mẻ ở Việt Nam, đó là mô hình học theo ngữ cảnh trên các thiết bị di
động. Mô hình sử dụng điện thoại như một công cụ để nhận biết ngữ cảnh của người
học và truyền tải nội dung phù hợp với ngữ cảnh hiện tại đến người đọc.
2
Khóa luận này tập trung vào trình bày về việc nghiên cứu, thiết kế, triển khai một
hệ thống học tiếng anh theo ngữ cảnh trên các thiết bị di động.
1.2 Mục tiêu nghiên cứu
Với bài toán như trên, khóa luận tốt nghiệp của tôi hướng đến mục tiêu :
Tìm hiểu ứng dụng trên điện thoại di động, cách xây dựng, lắp đặt, triển khai ( chủ
yếu là j2me)
Tìm hiểu các dịch vụ hướng vị trí (Location Base Service – LBS), cách xác định
location dựa vào GPS-A
Đưa ra mô hình và giải pháp giải quyết vấn đề học tiếng anh theo ngữ cảnh trên
thiết bị di động.
Xây dựng thí điểm ứng dụng học tiếng anh theo ngữ cảnh trên thiết bị di động
3
CHƯƠNG 2 HƯỚNG GIẢI QUYẾT VÀ MÔ
HÌNH
2.1 Hướng giải quyết
Mục tiêu của nghiên cứu là phát triển một ứng dụng giúp mọi người có thể học tập
ở bất cứ đâu, trong khoảng thời gian thích hợp nếu họ sở hữu một chiếc điện thoại di
động có hỗ trợ Java và kết nối vào Internet. Hệ thống sẽ cung cấp các tư liệu, nội dung
học tập phù hợp với ngữ cảnh hiện tại của người sử dụng. Bên cạnh đó trong quá trình
hoạt động hệ thống sẽ tự động nhận biết sự thay đổi ngữ cảnh để thay đổi nội dung cho
phù hợp. Vậy vấn đề đặt ra là khi nào hệ thống cung cấp nội dung cho người sử dụng,
cung cấp nội dung đó như thế nào và nội dung đó là gì ?
2.1.1 Hệ thống cần cung cấp dịch vụ khi nào ?
Cái khó của một hệ thống hoạt động theo ngữ cảnh chính là phải biết hoạt động khi
nào, khi nào cần cung cấp dịch vụ, hệ thống gần như một hệ thống thụ động trong việc
nhận biết yêu cầu tuy nhiên lại linh hoạt trong việc đáp lại( phản ứng lại) các yêu cầu.
Các thiết bị di động ngày càng thông minh, cộng với năng lực xử lý cao cho phép
chúng ta có thể tích hợp một số công cụ vào trong điện thoại nhằm thu thập thông tin
về môi trường, không gian.. xung quanh nó.
Hiện nay, hầu hết các điện thoại di động hoặc laptop đều trang bị công cụ định vị
GPS hay camera hay các senser… Các thiết bị này có thể giúp ta xác định được hiện
trạng của môi trường xung quanh người dùng (thời tiết, vị trí, không gian), xác định
được tình trạng của người dùng. Từ đó hệ thống có thể nhận biết được ngữ cảnh và sự
thay đổi ngữ cảnh ngay lập tức.
Khi đã nhận thức được sự thay đổi của ngữ cảnh, hệ thống có thể quyết định xem
có cần phản ứng lại những thay đổi đó hay không. Dựa vào những thông tin thay đổi
đó hệ thống sẽ biết phải làm gì.
4
2.1.2 Hệ thống cần cung cấp những nội dung gì?
Một khi đã nhận biết được sự thay đổi của ngữ cảnh, hệ thống cần xác định lại nội
dung sao cho phù hơp với những thay đổi đó. Quá trình khởi tạo nội dung này hệ
thống cần phải làm 3 việc chính :
Xác định nội dung mà những thay đổi này ảnh hưởng tới, những thay đổi này có
liên quan đến tình hình hiện nay không ? tìm theo tên tuổi địa chỉ giới tính vị trí….
Xác định xem nội dung đó có phù hợp và có ích cho người dùng đó không ? tìm
theo lịch sử duyệt, xếp hạng các phần tử theo chiều giảm dần hoăc tăng dần theo số lần
xem
Nội dung mới đó đó có liên quan đến nội dung trước đó hay không? Có cần thiết
thêm nội dung trước vào không?
2.1.3 Hệ thống truyền tải nội dung đến người dùng như thế nào?
Sau khi đã xác định được nội dung, vấn đề còn lại chỉ làm việc chuyển tải nội dung
cho người sử dụng như thế nào và cách thức hiển thị ra sao.
Việc truyền dữ liệu trong mạng không dây chậm hơn nhiều so với truyền qua mạng
có dây do vậy việc lựa chọn kiểu kết nối mạng nào để truyền tải dữ liệu ta cũng cần
cân nhắc. Ta có thể chọn kiểu kết nối với server thông qua việc mở một socket riêng
hoặc có thể sử dụng httpconnection để request dữ liệu từ server. Trong khuôn khổ
nghiên cứu này tôi sử dụng httpconnection tạo ra các request gửi tới server và nhận
thông điệp nội dung trả về từ server. Một điểm cần lưu ý đó là do việc truyền tải dữ
liệu qua mạng không dây là chậm nên server cần tối ưu nội dung của tư liệu để việc
truyền tải có thể diễn ra nhanh hơn. Hiện nay hầu hết các điện thoại có hỗ trợ Java thì
đều hỗ trợ kết nối Internet, có thể là GPRS, HSCSD, EDGE, UMTF, WCDMA…
Với vấn đề hiển thị nội dung, để đảm bảo cho tính phù hợp với ngữ cảnh hiện tại
của người sư dụng thì việc hiển thị thông tin sao cho trực quan và gây được thiện cảm
với người sử dụng là 1 điều hết sức quan trọng. Giả dụ ta có cùng 1 nội dung bài học
Tiếng Anh được gửi về cho 2 người, 1 người nhiều tuổi và 1 người thanh niên thì việc
hiển thị nội dung cho người lớn tuổi cần rõ ràng mạch lạc, font chữ không quá nhỏ để
người lớn tuổi có thể dễ dàng đọc được, còn đối với người thanh niên ta cần hiển thị
nội dung vừa phải, dễ nhìn, nội dung sắp xếp cân đối, dễ nhìn… Đây cũng chính là 1
cách ta thực hiện context adaptive.
5
2.2 Mô hình đề xuất
Trong mô hình học Tiếng Anh theo ngữ cảnh, vai trò của người học là trung tâm.
Việc áp dụng hệ thống vào thực tế phụ thuộc rất nhiều vào nhu cầu và điều kiện
của người sử dụng. Mô hình sử dụng mô hình client – server làm nền tảng. Trong đó,
bao gồm các thành phần client(người sử dụng), nhà cung cấp dịch vụ (module đoán
nhận ngữ cảnh, module xây dựng nội dung, module truy xuất cơ sở dữ liệu), nhà cung
cấp nội dung .
Client có trách nhiệm thu thập thông tin ngữ cảnh từ môi trường cũng như từ người
dùng và truyền thông tin đó về server để server xử lý. Tại server dịch vụ, module nhận
biết ngữ cảnh chịu trách nhiệm xử lý, mô hình hóa ngữ cảnh từ đó phân loại ngữ cảnh
hiện tại cho phù hợp và chuyển kết quả cho module xây dựng nội dung. Tại đây,
module xây dựng nội dung sẽ truy suất vào cơ sở dữ liệu kết hợp với thông tin nhận
Nhà
cung cấp
dịch vụ
Nhận biết
ngữ cảnh
Xây dựng
nội dung
DBMS
Data
Ngữ cảnh
đoán
nhận
Nội dung
phù hợp
Người học
Thông tin
ngữ cảnh
Ngữ liệu
yêu cầu
Ngữ liệu
trả về
Môi trường
- Thời gian
- Không gian
- Vị trí
- Xã hội
- …
Nhà cung cấp
nội dung
Hình 2.2-1 Mô hình hệ thống cung cấp dịch vụ học Tiếng Anh theo ngữ cảnh trên di động
6
được từ module nhận biết ngữ cảnh để đưa ra nội dung phù hợp với ngữ cảnh hiện tại
của người dùng, đồng thời gửi nội dung đó về cho client.
Trong mô hình này việc đoán nhận ngữ cảnh ta sử dụng mô hình MIThril Real-
Time Context engine. Đây là một mô hình đơn giản dành cho việc phát triển và cài đặt
các ứng dụng phân loại ngữ cảnh theo thời gian thực.
2.2.1 Người dùng
Xung quanh người sử dụng luôn có rất nhiều các tác nhân ảnh hưởng tới môi
trường cũng như ngữ cảnh của người sử dụng. Tuy nhiên, ta không thể kiểm soát hết
được thông tin về các tác nhân này, mà chỉ có thể chọn lọc những tác nhân có tầm ảnh
hưởng nhất định đến ngữ cảnh của người sử dụng. Và client trên điện thoại người sử
dụng chịu trách nhiệm như là các sensor trong mô hình MIThril Real-Time Context
engine. Nó nhận biết các thông tin từ môi trường xung quanh và các thông tin cá nhân
của người sử dụng cũng như là tiếp nhận các thông tin mà được người sử dụng cung
cấp một cách rõ ràng. Nó tương tự như là một quá trình số hóa các thông tin từ thế giới
thực để đưa vào chương trình.
Hình 2.2-2 Các tác nhân thể hiện ngữ cảnh của người dùng
Vị trí (Location) của người sử dụng : là thông tin thực về vị trí hiện tại của người
dùng ( của mobile). Ta có thể biểu diễn nó theo kinh độ và vĩ độ. Do vị trí của người
dùng thay đổi thường xuyên nên việc xác định vị trí của người dùng là được ưu tiên.
Có nhiều cách ta có thể xác định được vị trí hiện tại của người sử dụng như sử dụng
7
công nghệ định vị A-GPS, E-OTD hay Cell-ID hoặc TOA… Ngoài ra, location còn
bao gồm cả các thông tin không gian, và vị trí hiện tại của người sử dụng.
Thời gian (Time) : Thời gian ở đây là nhằm chỉ thời gian trong ngày và ngày trong
năm .Thời gian cũng là một thành phần quan trọng trong các thông tin về trạng thái
của ngữ cảnh người sử dụng. Với các dòng điện thoại như hiện nay thì việc nắm bắt
được thời gian hiện tại là không khó khăn lắm.
Không gian xung quanh người dùng : tất cả các thông tin về trạng thái, thể trạng
của môi trường xung quanh người dùng. Thông tin đó có thể là nhiệt độ ngoài trời, độ
sáng, độ ẩm không khí, số lượng người trong cùng không gian, mức độ ồn. Hệ thống
sẽ tự động chọn lựa các thuộc tính sao cho thông tin đó phản ánh đúng thực trạng của
môi trường lúc đó. Thông tin này được lấy từ các công nghệ được tích hợp sẵn trên di
động, tuy không phải máy nào cũng có đầy đủ các công nghệ được tích hợp để lấy
được hết thông tin từ môi trường nhưng nếu càng nhiều thông tin được thu thập hơn
thì việc chuẩn đoán ngữ cảnh càng chính xác hơn.
Đặc điểm của điện thoại (phần cứng, phần mềm) : Thông tin về cấu hình của
điện thoại cũng là một tiêu chí trong “nhận biết ngữ cảnh”. Tùy vào từng cấu hình mà
hệ thống sẽ trích xuất thông tin và định dạng thông tin một cách hợp lý, nhằm tối ưu
hóa khả năng đón nhận cũng như hiển thị nội dung đó trên điện thoại. Thường thì mỗi
dòng điện thoại lại có các thiết kế phần cứng và phần mềm khác nhau như : kích thước
màn hình, dung lượng bộ nhớ, kiểu truyền thông (wifi, 3G, 2G)… Các thông tin này
có thể nhận biết được thông qua quá trình truy vấn người sử dụng hoặc hệ thống cũng
có thể đoán nhận một phần nào đó thông qua các thông điệp gửi lên từ client.
Văn hóa và xã hội (Cultural and Social) : Thông tin về văn hóa xã hội như tục
lệ, thói quen, cách ứng xử … của người sử dụng cũng quyết định phần nào nội dung và
hình thức của thông tin. Giả dụ với một người theo đạo hindu thì ta không nên đưa ra
nội dung có liên quan tới thịt bò hoặc ăn thịt bò được, tuy nhiên với những người khác
thì lại không sao.
Thông tin tình trạng người dùng : Thông tin về thể trạng trí nhớ, trình độ, tên
tuổi, nơi ở… Ngoài ra còn có các thông tin như thông tin các hoạt động hiện tại, các
hoạt động trong quá khứ, các sự kiện diễn ra… các thông tin này rất quan trọng đối với
hệ thống để xác định nội dung cũng như cách thức hiển thị nội dung cho phù hợp.
Thông tin này là do người dùng tự cung cấp cho server.
8
Thông tin gửi lên server chính là tập hợp tất cả những thông tin về các tác nhân
này. Ví dụ dưới là một mẩu thông điệp mà client gửi thông tin về nhiệt độ phòng tới
server. Thông điệp được gửi theo định dạng XML.
Hình 2.2-3 Ví dụ thông điệp dạng xml
2.2.2 Nhận biết ngữ cảnh
Hình 2.2-4 Mô hình nhận biết ngữ cảnh
Mô đun này chịu trách nhiệm nhận thông tin ngữ cảnh từ client gửi lên, phân tích
và phân loại ngữ cảnh đó. Tiến trình sensing đã được thực hiện tại client. Và mô đun
nhận biết ngữ cảnh chỉ cần tiếp nhận thông tin đó từ client để xử lý.
9
Hình 2.2-5 Cảm biến
Cảm biến (Sensing) : Nhận biết các thông tin từ môi trường xung quanh người
dùng. Thật ra thế giới xung quanh người rất phức tạp. Chúng ta chỉ có thể biết về
những thông tin mà các bộ cảm biến nhận biết được hoặc thông tin đó được cung cấp
một cách rõ ràng. Quá trình này tương tự như quá trình số hóa các thông tin “analog”
từ thế giới thực vào. Đối với bất kỳ một mô hình với một nhiệm vụ cụ thể, những
thông tin số đó đề có thể chứa những thông tin hữ ích hoặc cũng có thể chứa những
thông tin dư thừa, do vậy hệ thống cần có quá trình bóc tách và trích xuất dữ liệu.
Hình 2.2-6 Trích xuất đặc trưng
Trích xuất đặc trưng (Feature Extraction) : Tùy vào các tính năng của hệ thống
mà ta trích xuất thông tin từ các thông tin dạng thô ra sao cho phù hợp. Quá trình trích
xuất này có thể là chuyển hóa các thông tin dưới dạng thô từ quá trình Sensing thành
một dạng nào đó phù hợp với chức năng, nhiệm vụ hệ thống.
10
Hình 2.2-7 Mô hình hóa
Mô hình hóa (Modeling) : Từ những thông tin do quá trình Feature Extraction
cung cấp, chúng ta sử dụng kỹ thuật thống kê để tạo ra các mô hình phân biệt. Với mỗi
mô hình này cho phép ta trả lời câu hỏi “Người sử dụng đang ở trong hoàn cảnh nào ?
Trạng thái của người sử dụng như thế nào? Nó có tương tự như trạng thái XYZ nào đó
không?” Trong khuôn khổ khóa luận này, ta chỉ ta tập trung vào các mô hình hỗn hợp
đơn giản bao hàm các thông tin cần thiết.
Hình 2.2-8 Phân loại ngữ cảnh
Context Classification : Quá trình này phân loại các ngữ cảnh độc lập thành các
dạng ngữ cảnh cơ bản một cách tự nhiên và hiệu quả. Kết quả của quá trình phân loại
này chính là output của mô hình nhận biết ngữ cảnh. Hiếm khi có sự tương ứng một
một giữa một mô hình đơn lẻ hoặc một loại mô hình nào đó với một hành động được
thực hiện. Quá trình phân loại ngữ cảnh sử dụng ngôn ngữ xác suất tự nhiên để xác
định ngữ cảnh nào đó. Giả dụ ta có tập luật : “Nếu ngày x là một ngày trong tuần (từ
thứ 2 đến thứ 6) và thời gian là sau 17h00 và hành động của anh ta là giống như
đang rời khỏi phòng”. Vậy thì bối cảnh hành động của anh ta là anh ta anh ta đang đi
làm về.
11
Hình 2.2-9 Thực thi
Thực thi (action) hay kết quả của quá trình Context Classification được đẩy lên cho
ứng dụng. Tuy nhiên ứng dụng có thể tương tác với hệ thống nhận biết ngữ cảnh bằng
cách thêm mới các tập luật, các mô hình và các tính năng.
2.2.3 Xây dựng nội dung
Thông tin về ngữ cảnh ( cũng như là các hành động, phản ứng) của người sử dụng
được gửi tới server. Từ các thông tin như vậy và dựa trên tập luật đã được xây dựng,
server sẽ xử lý về nội dung phù hợp nhất với hoàn cảnh hiện tại của người sử dụng.
Quá trình diễn ra hoàn toàn tự động. Thông tin trả về cho client thể hiện việc server
phản ứng lại đối với các hành động vừa diễn ra của client. Do đó chúng ta cần xây
dựng nội dung để trả về cho client. Vậy nội dung đó như thế nào? Làm sao để tạo ra
nội dung ấy?
2.2.3.1 Khuôn dạng nội dung
Nội dung trả về được chia làm 2 loại là tư liệu học tập và các thông báo của server
với client.
Tư liệu học tập : nội dung trả về là các lý ngữ pháp, bài tập, thực hành được trình
bày dưới dạng text hoặc dưới dạng các file media ( mp3, wav..) hoặc cũng có thể là
một cấu trúc thông tin sử dụng cho việc tạo bài test.
Ví dụ :
Nội dung về ngữ pháp
Mệnh lệnh thức trực tiếp
12
Close the door
Please turn off the light.
Open the window.
Be quiet.
Sau đây là lời thoại trong một đoạn quảng cáo bia trên TV:
Tên cướp xông vào một quán bia, rút súng ra chĩa vào mọi người và quát:
- Give me your jewelry! Don’t move!
Một thanh niên từ từ tiến lại từ phía sau, gí một chai bia Laser lạnh vào gáy hắn:
- Drop your weapon!
Tên cướp tưởng sau gáy hắn là một họng súng liền buông vũ khí đầu hàng.
Giả sử cấu trúc một câu hỏi trong bài test
Q1 - She played _____.
beautiful
beautifuly
beautifully
Hình 2.2-10 Hình hiển thị câu hỏi trên thiết bị
Nội dung trả về một link file media. Có thể là thông điệp dưới dạng
Thông điệp và các thông tin điều khiển client : Ngoài các ngữ liệu học tập ra
thông điệp trả về cũng cần có những thông tin điều khiển giúp client hoạt động một
cách đúng đắn. Ngoài các phương cách hiển thị nội dung, thì còn có thể có thêm các
thông báo cho người sử dụng, hoặc các dạng form tương tác để lấy ý kiến người sử
dụng…
13
2.2.3.2 Xây dựng nội dung thích nghi theo ngữ cảnh
Vấn đề cơ bản nhất trong việc xác định nội dung bài học thích nghi theo ngữ cảnh
hiện tại của người học đó là việc xác định được ngữ cảnh học tập và việc xác định nội
dung. Trong khuôn khổ khóa luận này ta sẽ xây dựng một tập luật đơn giản để qua đó
với mỗi ngữ cảnh độc lập ta lại xác định được một tập các nội dung phù hợp với ngữ
cảnh đó.
Để xây dựng tập luật này đầu tiên ta cần xác định được các thành phần cấu thành
lên tập luật đó.
Đầu tiên đó là “Location” của người dùng, “Location” tương ứng với khái niệm vị
trí, không gian mà người dùng đang hiện hữu. Đó có thể là một siêu thị nào đó, một
cửa hàng thể thao nào đó hoặc cũng có thể là trong một rạp chiếu phim… Sở dĩ ta
chọn “Location” làm điểm đầu tiên để đánh giá về ngữ cảnh đó là do vị trí của người
dùng rất quan trọng và nó ảnh hưởng đến hầu hết các thuộc tính khác của môi trường.
Ở trong khuôn khổ khóa luận này ta coi “Location” như là một trường hợp đặc biệt của
ngữ cảnh. Và đi coi như đó là một ngữ cảnh đã được phân loại.
Thứ hai đó là “Thông tin người dùng”, các thông tin về người dùng sẽ cung cấp
những thông tin về độ tuổi, giới tính, tình hình sức khỏe, trình độ hiện tại, … Nó sẽ
giúp ta nhiều trong việc chọn lựa nội dung ngữ liệu và cách hiển thị.
Thứ ba là “Lịch sử học tập “, những thông tin về quá trình học tập của người sử
dụng, những kiến thức mà người học đã từng học qua…
Với việc xây dựng một tập luật đơn giản ta chỉ cần 3 thành phần trên để minh họa
cho phương cách hoạt động của module “xây dựng nội dung” cung cấp ngữ liệu cho
người dùng.
Nội dung = ND(“Location”, “User Info”, “Learning History”);
Ở đây, để đơn giản ta sử dụng một dãy các luật if then để hình thành luật.
Ví dụ :
if( location== A ) then
If( userInfo == U) then
If( LearningHistory == E ) then {}
If(userInfo == V ) then
….
14
2.2.4 Cơ sở dữ liệu
Module ‘cơ sở dữ liệu’ đóng vai trò là nơi lưu trữ tất cả các thông tin về người
dùng cũng như là nội dung tư liệu của bài học. Hệ sử dụng một hệ quản trị cơ sở dữ
liệu : mysql hoặc mssql để quản lý dữ liệu người dùng. Hệ thống có thể lưu lại các
lược sử sử dụng của người dùng như : thời gian, mô hình ngữ cảnh hiện tại, những nội
dung đã cung cấp, trình độ hiện tại… Đối với ngữ liệu học tập thì được chia làm 2 loại
: nội dung dạng text hoặc nội dung dạng media. Đối với mỗi loại dạng nội dung khác
nhau ta có cách lưu trữ khác nhau để tối ưu bộ nhớ cũng như tối ưu cho việc truy suất
cơ sở dữ liệu.
2.2.5 Nhà cung cấp nội dung
Nhà cung cấp nội dung chuyên cung cấp các tư liệu học tập như : bài tập, giáo
trình, bài kiểm tra, bài test, các bài luyện nghe, luyện phát âm…vv. Bên cung cấp dịch
vụ khi có yêu cầu nội dung sẽ gửi yêu cầu tới nhà cung cấp nội dung. Từ đó nhà cung
cấp nội dung sẽ trả lại nội dung mà nhà cung cấp dịch vụ yêu cầu.
15
CHƯƠNG 3 CÁC KHÁI NIỆM VÀ CÔNG
NGHỆ LIÊN QUAN
3.1 Dịch vụ hướng vị trí (Location Base Services )
LBS là các dịch vụ có thể cung cấp cho các thiết bị di động thông qua mạng di
động và chức năng của các thiết bị đó.
LBS phát triển dựa trên công nghệ : GIS, internet và Mobile devices. Dựa vào công
nghệ GIS và các kỹ thuật định vị đã chuyển dần các ứng dụng truyền thống sang các
ứng dụng dựa trên vị trí. Thông qua việc tích hợp các công nghệ này vào các thiết bị di
động. Các nhà cung cấp dịch vụ có thể cung cấp rất nhiều các ứng dụng khác nhau dựa
cho các khách hàng khác nhau và ở những vị trí khác nhau. Các dịch vụ này được gọi
là các dịch vụ dựa trên vị trí người sử dụng hay là dịch vụ hướng vị trí.
Người sử dụng cung cấp thông tin cho nhà cung cấp dịch vụ : vị trí của họ, hoàn
cảnh xung quanh họ, nhu cầu cần đáp ứng… . Dựa vào những thông tin do người dùng
cung cấp, nhà cung cấp dịch vụ di động sẽ đưa ra những thông tin mà họ mong muốn.
Dịch vụ hướng vị trí là gì ?
Dịch vụ hướng vị trí (Location-Based Services) hay LBS là khái niệm xuất hiện từ
những năm 2000 tuy nhiên có chưa một định nghĩa, một khái niệm rõ ràng về nó. Ví
dụ như :
LBS là những dịch vụ cung cấp thông tin thông qua mạng lưới di động và sử dụng
khả năng xác định vị trí của các mạng di động [Virrantaus et al. 2001].
Hoặc LBS là dịch vụ mạng không dây sử dụng thông tin địa lý để phục vụ người sử
dụng di động. Bất kỳ dịch vụ nào mà ứng dụng của nó có sử dụng vị trí của thiết bị
đầu cuối đều là LBS.
Một dịch vụ dựa trên vị trí (LBS) yêu cầu có 5 thành phần cơ bản :
Phần mềm ứng dụng của nhà cung cấp dịch vụ
• Mạng di động dùng để trao đổi dữ liệu và yêu cầu cho dịch vụ
• Nhà cung cấp nội dung cho người dùng cuối dựa trên thông tin về vị trí của
người dùng cuối.
• Thiết bị định vị vị trí ( GPS được tích hợp trong điện thoại chẳng hạn)
• Thiết bị di động của người dùng cuối
16
Hình 3.1-1 Những thành phần cơ bản của một LBS
Trong nghiên cứu, LBS được coi như là một tập con đặc biệt của các dịch vụ nhận
biết ngữ cảnh (Context-aware Services). Nói chung, các dịch vụ nhận biết ngữ cảnh
được định nghĩa là các dịch vụ thích nghi tự động với các hành vi của chúng, ví dụ lọc
hoặc biểu diễn thông tin đối với 1 hoặc nhiều tham số phản ánh ngữ cảnh hiện tại và
mục tiêu. Các tham số này chính là thông tin ngữ cảnh.
LBS luôn được xem là các dịch vụ nhận biết ngữ cảnh vì vị trí chính là một trường
hợp đặc biệt của thông tin ngữ cảnh. Thông tin ngữ cảnh thường thì có những thông tin
quan trọng và có những thông tin ít quan trọng hơn
Hình 3.1-2 Phân loại thông tin ngữ cảnh
LBS có 2 dạng đó là LBS phản ứng (reactive) và LBS thực hiện trước
(proactive). Một LBS reactive luôn được kích hoạt bởi người dùng (kích hoạt phiên
làm việc ), và có sự tương tác yêu cầu dịch vụ và trả về nội dung yêu cầu của người
17
dùng. Chu trình yêu cầu và hồi đáp có thể thực hiện nhiều lần trước khi phiên làm việc
kết thúc. Do có chu trình lặp đi lặp lại như vậy nên LBS phản ứng thường được đặc
trưng bởi một mẫu tương tác đồng bộ giữa người dùng và dịch vụ. Ví dụ, người dùng
muốn tìm quán café vào buổi sáng ở gần nơi anh ta ở. Khi đó anh ta sẽ yêu cầu thiết
lập phiên làm việc với dịch vụ. Lần đầu anh ta yêu cầu danh sách các quán café quanh
anh ta. Dịch vụ sẽ tìm và lọc danh sách các quán café xung quanh nơi anh ta ở và trả
về cho anh ta. Sau đó anh ta yêu cầu tiếp xem những quán nào đang trong giờ mở cửa
hoặc quán nào có loại café Capuchino… Quá trình này sẽ tiếp tục cho tới khi nào dịch
vụ tìm thấy quán đúng anh ta yêu cầu. Khác với LBS phản ứng thì LBS thực hiện
trước được khởi tạo tự động ngay khi một sự kiện vị trí xác định trước xuất hiện. Giả
sử một du khách sử dụng dịch vụ LBS trong một bảo tàng lịch sử rộng lớn. Khi du
khách đi vào một vùng nào đó mới, thông tin giới thiệu về nơi đó hoặc những hiện vật
xung quanh đó sẽ được tự động gửi về máy của du khách. Ở LBS proactive, dịch vụ tự
thực hiện trước khi có yêu cầu của người dùng nên sự tương tác giữa người sử dụng và
dịch vụ xảy ra không đồng bộ.
3.2 Ngữ cảnh và Học theo ngữ cảnh trên di động
3.2.1 Ngữ cảnh (Context)
Context ta tạm dịch sang Tiếng Việt nghĩa là “Ngữ cảnh”. Nó là bất cứ thông tin
nào có thể dùng để phân biệt, xác định tình trạng hiện thời của thực thể hoặc các hành
động của thực thể. Ngữ cảnh bao hàm các thông tin về hiện trạng, trạng thái, vị trí,
không gian liên quan đến một cá nhân hoặc sự kiện cụ thể. Một ngữ cảnh là một môi
trường mà thực thể đó tồn tại hoặc sự kiện nào đó xảy ra. Ngữ cảnh là cực kỳ quan
trọng vì nó kiểm soát, ảnh hưởng và tác động đến mọi thứ trong nó. Theo Dey e tal .
(2001).
Mọi thứ đều diễn ra trong một ngữ cảnh nhất định. Và ngữ cảnh đó là duy nhất, nó
chi phối nội dung trong nó. Ta có thể xác định ngữ cảnh của một thực thể hoặc một sự
kiện thông qua đặc điểm riêng của thực thể hoặc sự kiện đó và môi trường chứa nó.
Như vậy với mỗi ngữ cảnh ta cần mã hóa và biểu diễn theo một dạng nào đó trên máy
tính, thông tin dạng số này cho phép máy tính có thể phân biệt và nhận biết các ngữ
cảnh và các thay đổi theo ngữ cảnh mà từ đó đưa ra các hành động thích hợp.
18
Khái niệm “context” có thể chia ra làm 2 dạng chính đó là : Ngữ cảnh về cá nhân
(Personal context), Ngữ cảnh môi trường (Environmental context ).
Ngữ cảnh cá nhân ( Personal context) : Nó tồn tại với mỗi người chúng ta, bao gồm
tất cả các thông tin riêng liên quan đến cá nhân đó. Nó được xác định bới các thành
phần tĩnh ( không thay đổi ) như tên, sở thích, quê quán và các thành phần động như
tốc độ di chuyển, vị trí hiện tại… Ngữ cảnh cá nhân.
Ngữ cảnh về môi trường : bao gồm tất cả các thông tin về hoàn cảnh, trạng thái,
môi trường mà thực thể đó đang tồn tại. Ví dụ như vị trí hiện thời của thực thể, thời
tiết ở xung quanh thực thể, …
3.2.2 Nhận biết ngữ cảnh (Context-Aware)
Context-aware : Nhận biết ngữ cảnh. Một ứng dụng có khả năng nhận biết được
ngữ cảnh nếu nó sử dụng các thông tin về ngữ cảnh để cung cấp thông tin hoặc dịch vụ
tới người sử dụng sao cho thông tin đó liên quan chặt chẽ đến các hành động, ứng xử..
của họ. Khái niệm này gân tương tự như khái niệm Adaption-context, tuy nhiên
Context-aware chính là một bước khởi đầu của toàn bộ quá trình Adaption-context.
Context-aware sử dụng các luật tự xây dựng và thông tin đầu vào để xác định và phân
loại các ngữ cảnh theo từng lớp sao cho từ đó có thể định nghĩa, cá thể hóa các hành
động(action) hoặc phản ứng của người dùng cũng như môi trường xung quanh người
dùng. Một hệ thống nhận biết ngữ cảnh thường có các tính năng :
• Trình diễn thông tin và các dịch vụ đối với người sử dụng.
• Tự động thực hiện một dịch vụ nào đó ( theo ngữ cảnh)
• Gán nhãn cho ngữ cảnh để sử dụng cho lần sau.
3.2.3 Học trên di động (Mobile Learning )
Học trên di động, một khái niệm không còn xa lạ với các nước tiên tiến tuy nhiên
lại là một khái niệm mới mẻ ở Việt Nam. Từ những năm 90, các trường đại học ở châu
Âu đã phát triển các chương trình học trên di động dành cho sinh viên. Năm 2007,
sinh viên trường Đại Học Cyber (Nhật Bản) được học thử nghiệm chương trình học
qua điện thoại di động, với nội dung về bí ẩn các Kim Tự Tháp Ai Cập. Đối với các
bài học trên PC, người học download bài giảng về máy tính. Bài học được cung cấp
dưới dạng hình và chữ, và một màn hình video nhỏ ở góc trên sẽ phát hình giáo viên
đang giảng bài. Còn đối với bài học trên di động thì đơn giản hơn nhiều – bài học chỉ
19
là các đoạn bài giảng bằng Power Point cho phù hợp với màn hình nhỏ xíu của điện
thoại di động.
Theo Georgiev, Georgieva, Smrikarov (2004) thì học trên di động (m-Learning)
chính là một nhánh của Học từ xa (d-Learning) hay (e-Learning). M-Learning có thể
được định nghĩa như là một cách sử dụng các thiết bị di động hoặc không dây để học
tập khi người học di chuyển hay không cố định. Người học có thể học ở bất cứ đâu,
vào bất cứ thời gian nào bao gồm cả những nơi như trường học, lớp học, ở nhà hay ở
trên ô tô, tàu điện ngầm, xe bus…
M-Learning cung cấp một giải pháp mạnh mẽ và thiết thực dành cho học tập và
đào tạo, chẳng hạn như :
Trong các dự án hợp tác và nghiên cứu thực địa
Như là một lớp học thay thế cho sách vở và máy tính
Các học viên không cần tập trung một nơi mà có thể ở nhiều nơi, địa điểm khác
nhau.
Đào tạo ‘just in time’
3.2.4 Học theo ngữ cảnh trên di động (Mobile Learning in Context)
Các phương pháp giáo dục hiện đại đều đòi hỏi học sinh có thể học tập khi ở trong
lớp hoặc bên ngoài lớp học. Đặc biệt với việc học trong thực tế, học viên có thể nắm
bắt được nội dung, kiến thức bài học nhanh hơn nhiều so với các phương pháp học lý
thuyết nhàm chán. Tuy nhiên, cơ sở hạ tầng dành cho việc học tập hiện nay không thể
đáp ứng được nhu cầu đó. Do vậy, Phương pháp học theo ngữ cảnh trên di động được
áp dụng nhằm giải quyết vấn đề “học mọi lúc mọi nơi” và “nội dung học tùy theo thế
giới thực xung quanh” nhằm giúp học sinh học tập với chiếc di động của mình. Đây là
một phương pháp kết hợp phương pháp học trên di động (Mobile Learning) và phương
pháp nhận diện ngữ cảnh (Context-aware) nhằm đưa ra những nội dung phù hợp nhất
so với ngữ cảnh hiện thời của người học thông qua việc mô hình hóa ngữ cảnh và phân
loại các ngữ cảnh.
20
3.3 Java 2 Micro Edition – J2ME
3.3.1 Đôi nét về J2ME
Công nghệ di động ngày càng phát triển. Chiếc điện thoại di động hiện nay không
còn đơn giản thực hiện nhiệm vụ thoại mà ngày càng trở thành một vật không thể thiếu
trong cuộc sống hằng ngày. Cùng với sự gia tăng về số lượng thì tính năng dành cho
điện thoại di động cũng tăng lên đáng kể. Hàng loạt các tính năng cao cấp được giới
thiệu như chụp hình số, nghe nhạc và đặc biệt nhất là có thể sử dụng các chương trình
không phải do nhà sản xuất điện thoại cung cấp.
Đây có thể được coi là một cuộc cách mạng trong lĩnh vực di động, nó biến chiếc
điện thoại nhỏ bé của bạn thành một chiếc máy tính thu nhỏ, với những chủng loại
điện thoại này bạn có thể đọc báo, tiểu thuyết, tra từ điển, bản đồ, truy cập internet và
nhất là mang thế giới giải trí đến bên cạnh, những bản nhạc hay, những games hay sẽ
luôn sẵn sàng mỗi khi bạn cần đến
Tuy nhiên, số lượng các loại máy di động ngày càng đa dạng cho nên việc phát
triển một ứng dụng cho nhiều dòng điện thoại là rất khó khăn. Chính vì vậy Sun đã đi
đầu trong việc phát triển một nền tảng sao cho có thể dung hòa các khác biệt về phần
cứng của các dòng điện thoại di động sao cho các thiết bị phần cứng khác nhau có thể
sử dụng chung một nền tảng phần mềm. Đó chính là Java 2 Platform Micro Edition (
J2ME).
3.3.2 Cấu trúc J2ME
3.3.2.1 Máy ảo Java - KMV
Cơ chế thực thi đằng sau bất kỳ ứng dụng Java nào là JVM (Java Virtual Machine).
Khi bạn biên dịch mã nguồn Java thành một lớp (.class) và đặt chúng vào trong file
lưu trữ .JAD của Java, máy ảo JVM sẽ biên dịch file .class này thành mã thực thi điều
khiển bởi JVM. Các mã trong file .class gọi là mã bytecode.
Đối với thiết bị cấu hình dạng CDC, máy ảo JVM có toàn bộ chức năng tương đương
với máy ảo phục vụ môi trường J2SE. Đối với thiết bị cấu hình dạng CLDC, Sun cài
đặt một phiên bản thu nhỏ hơn dành cho JVM gọi là K Virtual Machine (KVM). Chính
nhờ tầng này mà J2ME có thể dung hòa sự khác biệt giữa các phần cứng khác nhau.
21
3.3.2.2 Cấu hình (Configuration )
Là đặc tả định nghĩa một môi trường phần mềm cho một dòng các thiết bị được
phân loại bởi tập hợp các đặc tính, ví dụ như:
• Kiểu và số lượng bộ nhớ
• Kiểu và tốc độ bộ vi xử lý
• Kiểu mạng kết nối.
• …
Hiện nay Sun đã đưa ra 2 dạng Configuration.
CLDC (Connected Limited Device Configuration)
Cấu hình thiết bị kết nối giới hạn): được thiết kế để nhắm vào thị trường các thiết
bị cấp thấp (low-end), các thiết bị này thông thường là máy điện thọai di động và PDA
với khoảng 512 KB bộ nhớ.
Vì tài nguyên bộ nhớ hạn chế nên CLDC được gắn với Java không dây (Java
Wireless ), dạng như cho phép người sử dụng mua và tải về các ứng dụng Java, ví dụ
như là Midlet.
CDC (Connected Device Configuration)
Cấu hình thiết bị kết nối: CDC được đưa ra nhắm đến các thiết bị có tính năng
mạnh hơn dòng thiết bị thuộc CLDC nhưng vẫn yếu hơn các hệ thống máy để bàn sử
dụng J2SE. Những thiết bị này có nhiều bộ nhớ hơn ( thông thường là trên 2Mb) và có
bộ xử lý mạnh hơn. Các sản phẩm này có thể kể đến như các máy PDA cấp cao, điện
thoại web, các thiết bị gia dụng trong gia đình …
3.3.2.3 Mô tả (Profile)
Profile mở rộng Configuration bằng cách thêm vào các lớp để bổ trợ các tính năng
cho từng thiết bị chuyên biệt. Cả 2 Configuration đều có những profile liên quan và từ
những profile này có thể dùng các lớp lẫn nhau.
Ta có thể nhận thấy do mỗi profile định nghĩa một tập hợp các class khác nhau, nên
thường ta không thể chuyển một ứng dụng Java viết cho một profile này và chạy trên
một máy hỗ trợ một profile khác. Cũng với lý do đó, bạn không thể lấy một ứng dụng
viết trên J2SE hay J2EE và chạy trên các máy hỗ trợ J2ME. Một số các profile tiêu
biểu:
22
Mobile Information Device Profile (MIDP): Profile này sẽ 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 thọai 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 (Wireless Java).
PDA Profile: Tương tự MIDP, nhưng với thị trường là các máy PDA với màn hình
và bộ nhớ lớn hơn.
Foundation Profile: Cho phép mở rộng các tính năng của CDC với phần lớn các
thư viện của bộ Core Java2 1.3 và không hỗ trợ các ứng dụng GUI.
Personal profile: Mở rộng từ Foundation profile và cung cấp các API cho lập trình
GUI nhằm cung cấp giao diện đồ hoạ người dùng cho các trang Web có dùng Applet.
RMI profile: Mở rộng từ Foundation prrofile cung cấp RMI cho thiết bị. RMI
profile sẽ được dùng để tạo sự tương thích giữa các thiết bị cầm tay với J2SE RMI
API.
Ngoài ra còn có Personal Basis Profile, Game Profile.
Hình 3.3-1 Vị trí các profile trong j2me
3.3.3 Vòng đời của một ứng dụng J2ME
Hiện nay các dòng điện thoại có profile là MIDP phổ biến hơn và vòng đời của các
ứng dụng j2me trên các cấu hình khác nhau, profile khác nhau là gần như nhau nên ở
đây tôi sẽ chỉ trình bày về vòng đời của một ứng dụng MIDP.
Một MIDlet phải chứa ba phương thức trừu tượng chúng được gọi bởi trình quản lý
ứng dụng để quản lý vòng đời của một MIDlet. Các phương thức gồm có:
23
startApp(), pauseApp(), và destroyApp(boolean b) tương ứng với các
trạng thái Active, Paused, và Destroyed.
Phương thức startApp() được trình quản lý ứng dụng gọi khi một MIDlet
được khởi tạo và mỗi khi MIDlet trở về trạng thái dùng. Các biến toàn cục sẽ được
khởi tạo lại trừ hàm tạo vì các biến này đều được giải phóng bởi phương thức
pauseApp().
Phương thức pauseApp() được gọi bởi trình quản lý ứng dụng mỗi khi ứng
dụng cần tạm thời dừng hoạt động MIDlet. Trình quản lý ứng dụng khởi động lại
MIDlet bằng việc gọi lại phương thức startApp(). Khi phương thức này được gọi
sẽ thực hiện giải phóng các tài nguyên để dành cho các chức năng khác.
Phương thức destroyApp() được trình quản lý ứng dụng gọi mỗi khi kết
thúc hoạt động của một MIDlet. Phương thức này chỉ nhận một tham số kiểu Boolean.
Nếu tham số này là true, MIDlet sẽ được thoát vô điều kiện; ngược lại MIDlet có thêm
tuỳ chọn từ chối thoát bằng cách phát sinh ngoại lệ MIDletStateChangeException báo
với trình quản lý ứng dụng biết MIDlet chưa muốn kết thúc.
Chu kỳ của một MIDlet
Hình 3.3-2 Vòng đời của một MIDlet
24
3.4 Webservice
3.4.1 Khái niệm
Thuật ngữ “Dịch vụ web” (Web service ) nói đến truyền thông ứng dụng đến ứng
dụng. Nó cho phép server có thể cung cấp các dịch vụ khác nhau thông qua trao đổi
thông điệp dưới dạng web. Một dịch vụ web đơn giản là một dịch vụ trên internet có
khả năng truy xuất thông qua giao diện theo khuôn dạng sử dụng các giao thức
Internet chuẩn (HTTP). Các điểm đầu cuối sử dụng dịch vụ web service không cần
phải quan tâm xem server viết bằng ngôn ngữ lập trình nào.
Hình 3.4-1 Mô tả webservice
Hai đặc tả quan trọng về Dịch vụ Web là Ngôn ngữ mô tả dịch vụ web ( Web
Service Descripttion Language – WSDL ) và Giao thức truy xuất đối tượng đơn giản (
Simple Object Access Protocol – SOAP). WSDL được dùng để mô tả một dịch vụ web
đã được triển khai. SOAP được dùng để định nghĩa dạng của thông điệp được trao đổi
giữa các điểm đầu cuối ( client, server) của dịch vụ Web trong suốt quá trình hoạt
động của dịch vụ web đó. Một dịch vụ web có thể tự đăng ký ở một nơi đăng ký thích
hợp ( cung cấp mô tả WSDL ) để client có thể nhận ra nó. Các tiến trình này gọi là quá
trình đăng ký và nhận biết dịch vụ.
25
3.4.2 Web Service Descripttion Language (WSDL)
WSDL là một định dạng XML để mô tả các dịch vụ Web Service và cách thức
client truy cập và sử dụng các dịch vụ đó.
Hình 3.4-2 Cấu trúc chung của một văn bản WSDL
Cấu trúc chung của một văn bản WSDL bao gồm 5 element chính :
Type : optional, cung cấp định nghĩa các kiểu dữ liệu được sử dụng ở các thông
điệp. Các định nghĩa kiểu dữ liệu thường được viết trong hệ thống XSD(extensible
schema definition).
Ví dụ : Sử dụng 1 XSD bên ngoài Method : String SayHello ( String name )
<xsd:import namespace=
schemaLocation="HelloService_schema1.xsd" />
26
Message : Định nghĩa các thông điệp sử dụng trong web service. Thứ tự của các
message phản ánh cách hoạt động của web service: request/response hay
solicit/response. Tên của các message có dạng ---In/---Out; ---Request/---Response với
‘---‘ phản ảnh operation liên kết với message.
Port type : biểu diễn dịch vụ như là một tập named operation, mỗi operation được
mô tả bởi các input/output message . Nó giống như là một interface trong ngôn ngữ
Java: cho biết các operation và message nhưng không cho biết cài đặt bên trong.
Binding : Mô tả các chi tiết rõ ràng của web service. Nó giống như là lớp cài đặt
một interface trong Java.
<binding name="HelloServiceSoap“
type="tns:HelloServiceSoapPort">
<soap:binding
transport="" style="rpc"/>
<soap:operation soapAction="
corexml/SayHello"/>
27
Service : Định nghĩa một hoặc nhiều endpoint mà service hoạt động. Một endpoint
được mô tả là một URL mà các message có thể gửi tới để mà sử dụng dịch vụ. Service
sẽ liệt kê một hoặc nhiều port, mỗi port gồm một portType (interface) và một
binding(implementation). Thuật ngữ ‘port’ là lấy từ giao thức TCP, trong đó, một kết
nối được mô tả bởi một cặp , mỗi port tại một IPAdress sẽ
phục vụ một dịch vụ nhất định.
<port name="HelloServiceSoap"
binding="tns:HelloServiceSoap">
<soap:address
location=""/>
3.4.3 Simple Object Access Protocol (SOAP)
SOAP là một giao thức dựa trên XML xác định cách thức các ứng dụng có thể trao
đổi thông tin với nhau thông qua HTTP.
Hình 3.4-3 Mô tả cách thức SOAP làm việc
Thông điệp theo định dạng SOAP là một văn bản XML bình thường bao gồm các
phần tử sau:
- Phần tử gốc - envelop: phần tử bao trùm nội dung thông điệp, khai báo văn bản
XML như là một thông điệp SOAP.
- Phần tử đầu trang - header: chứa các thông tin tiêu đề cho trang, phần tử này
không bắt buộc khai báo trong văn bản. Header còn có thể mang những dữ liệu chứng
thực, những chứ ký số, thông tin mã hóa hay cài đặt cho các giao dịch khác.
28
- Phần tử khai báo nội dung chính trong thông điệp - body, chứa các thông tin yêu
cầu và thông tin được phản hồi.
- Phần tử đưa ra các thông tin về lỗi -fault, cung cấp thông tin lỗi xảy ra trong qúa
trình xử lý thông điệp.
Hình 3.4-4 Cấu trúc một thông điệp SOAP
Một SOAP đơn giản trong body sẽ lưu các thông tin về tên thông điệp, tham chiếu
tới một thể hiện của dịch vụ, một hoặc nhiều tham số. Có 3 kiểu thông báo sẽ được
đưa ra khi truyền thông tin: request message(tham số gọi thực thi một thông điệp),
respond message (các tham số trả về, được sử dụng khi yêu cầu được đáp ứng) và cuối
cùng là fault message (thông báo tình trạng lỗi).
<env:Envelope xmlns:env=“
envelope”
xmlns:xsd=""
xmlns:xsi=""
xmlns:SOAP-
ENC=""
xmlns:stockquote="">
<am:customer
xmlns:route=""
29
env:actor="
envelope/actor/next"
env:mustUnderstand="true">
4557799
12asd-34ccd-23cuden
C
GE
DJI
Kiểu truyền thông : Có 2 kiểu truyền thông
• Remote procedure call (RPC): cho phép gọi hàm hoặc thủ tục qua mạng.
Kiểu này được khai thác bởi nhiều dịch vụ Web.
• Document: được biết đến như kiểu hướng thông điệp, nó cung cấp giao tiếp
ở mức trừu tượng thấp, khó hiểu và yêu cầu lập trình viên mất công sức hơn.
Hai kiểu truyền thông này cung cấp các định dạng thông điệp, tham số, lời gọi đến
các API khác nhau nên việc sử dụng chúng tùy thuộc vào thời gian và sự phù hợp với
dịch vụ Web cần xây dựng.
Cấu trúc dữ liệu: Cung cấp những định dạng và khái niệm cơ bản giống như trong
các ngôn ngữ lập trình khác như kiểu dữ liệu (int, string, date…) hay những kiều phức
tạp hơn như struct, array, vector… Định nghĩa cấu trúc dữ liệu SOAP được đặt trong
namespace SOAP-ENC.
Mã hóa: Giả sử service rquester và service provider được phát triển trong Java, khi
đó mã hóa SOAP là việc làm thế nào để chuyển đổi từ cấu trúc dữ liệu Java sang
SOAP XML và ngược lại, bởi vì định dạng cho Web Service chính là XML. Bất kỳ
30
một môi trường thực thi SOAP nào cũng phải có một bảng chứa thông tin ánh xạ nhằm
chuyển đổi từ ngôn ngữ Java sang XML và từ XML sang Java - bảng đó được gọi là
SOAPMappingRegistry. Nếu một kiểu dữ liệu được sử dụng dưới một dạng mã hóa thì
sẽ có một ánh xạ tồn tại trong bộ đăng ký của môi trường thực thi SOAP đó.
3.5 Kỹ thuật định vị A-GPS (Assisted GPS)
Có nhiều kỹ thuật định vị vị trí hiện thời của một thuê bao di động. Tuy nhiên ta có
thể chia ra làm hai loại chính : phương pháp dựa trên cơ sở mạng như Cell-ID, TOA(
Time Of Arrival), AOA ( Angle Of Arrival ), TDOA (Time Difference Of Arrival)
và dựa trên máy di động như E-OTD và A-GPS. Ngoài ra, ta cũng có thể chia nó theo
việc nó có phụ thuộc vào hệ thống định vị GPS hay không. Ở đây, ta chỉ đề cập đến
phương pháp phổ biến, được dùng phổ biến hiện nay đó là phương pháp A-GPS.
A-GPS có thể sử dụng trong các mạng GSM, GPRS và WCDMA. A-GPS sử dụng
các vệ tinh làm các điểm tham chiếu để xác định vị trí. Bằng cách đo chính xác
khoảng cách tới 3 vệ tinh từ đó máy thu xác định được vị trí của nó ở trên mọi nơi trên
trái đất. Máy thu đo khoảng cách bằng cách đo thời gian mà tín hiệu đi từ vệ tinh tới
máy thu , vì vậy yêu cầu chính xác thông tin về thời gian. Thời gian chính xác có thể
nhận được từ các tín hiệu vệ tinh tuy nhiên quá trình để nhận được thông tin này khá
lâu và khó khăn khi tín hiệu từ vệ tinh quá yếu. Để giải quyết vấn đề này người ta sử
dụng một server (A-GPS Location Server) cung cấp cá thông tin liên quan đến vệ tinh
cho các máy thu. Những thông tin hỗ trợ từ server này giúp máy thu giảm được thời
gian xác định vị trí và cho phép các máy thu A-GPS hoạt động trong các môi trường
khác nhau.
Máy thu A-GPS hoạt động ở 2 dạng chính : Dựa trên MS-Mobile station và hỗ trợ
từ MS. Ở dạng hỗ trợ từ MS, máy thu A-GPS trong MS nhận một ít thông tin từ server
A-GPS và tính khoảng cách đến các vệ tinh, các thông tin này được MS gửi lại server
để server này xác định vị trí của MS. Ở dạng dựa trên MS, MS xác định luôn vị trí của
nó nhờ thông tin hỗ trợ từ server.
31
Hình 3.5-1 Nguyên lý hoạt động của A-GPS
A-GPS cho độ chính xác cao hơn so với Cell-ID, E-OTD và có thể hoạt động ở
mạng đồng bộ hoặc không đồng bộ. Tuy nhiên để sử dụng được A-GPS thì các MS
phải có thêm phần mạch A-GPS.
Bảng 3-1 Bảng đặc tính phương pháp A-GPS
32
CHƯƠNG 4 Mô hình thử nghiệm
4.1 Phân tích thiết kế hệ thống
4.1.1 Biểu đồ ngữ cảnh hệ thống
Do trong khuôn khổ khóa luận , nội dung và các ngữ liệu học tập không nhiều do
vậy ta tạm thời xây dựng hệ thống với Hệ thống cung cấp dịch vụ nhận thêm chức
năng cung cấp nội dung. Với nội dung được lưu vào database.
Mô hình gồm 2 thành phần chính đó là Client chạy trên máy di động người dùng và
Server cung cấp dịch vụ. Client cung cấp giao diện tương tác và thu thập thông tin ngữ
cảnh và gửi lên server. Server chịu trách nhiệm xử lý thông tin và xuất nội dung về cho
client.
NHÀ CUNG CẤP
NỘI DUNG
0
HỆ THỐNG
CUNG CẤP
DỊCH VỤ
NGƯỜI
SỬ
DỤNG
Thông tin ngữ cảnh
Ngữ liệu học tập
Thông tin điều khiển
Yêu cầu
Nội dung
yêu cầu
Hình 4.1-1 Biểu đồ ngữ cảnh hệ thống
33
4.1.2 Biểu đồ phân rã chức năng
4.1.3 Chức năng chi tiết hệ thống
4.1.3.1 Đăng nhập và đăng ký
Như ta đã nói ở trên, với mục tiêu người dùng là trung tâm và thông tin về người
dùng là thông tin quan trọng trong quá trình xác định ngữ cảnh cũng như nội dung bài
học. Do vậy, quá trình đăng ký thông tin người sử dụng và quá trình đăng nhập chính
là quá trình thu thập thông tin do người dùng cung cấp và quá trình xác nhận lại thông
tin đó nếu người dùng sử dụng dịch vụ lần sau.
Quá trình đăng nhập yêu cầu tên đầy đủ của người dùng, tên đăng nhập, mật khẩu
truy cập, tuổi tác, giới tính. Khi đăng nhập cần sử dụng tên đăng nhập và mật khẩu.
4.1.3.2 Xây dựng nội dung bài học theo người dùng
Chức năng xây dựng nội dung bài học theo người dùng thực hiện thu thập từng
thông tin về vị trí hiện tại của người dùng ( ở đây ta coi như vị trí hiện tại là một
trường hợp đặc biệt của một mô hình ngữ cảnh trong thực tế ) đồng thời thêm các yêu
cầu của người dùng từ đó xác định ra nội dung cần hiển thị.
Do thời gian và công nghệ có hạn nên khóa luận chưa thể ứng dụng trực tiếp
phương pháp xác định tọa độ A-GPS vào thực nghiệm để đoán nhận vị trí người dùng
5.Trợ giúp
HỆ THỐNG CUNG CẤP
DỊCH VỤ
1.Đăng nhập, đăng ký 2.Xây dựng nội dung 3.Tìm kiếm 4.Loại bỏ bài học
1.1 Đăng nhập
1.2 Đăng ký
4.1 Loại bỏ
4.2 Khôi phục
Hình 4.1-2 Biểu đồ phân rã chức năng
34
được, và thay vào đó là ta sẽ nhận thông tin đó từ người sử dụng cung cấp bằng các
thao tác chọn locaction cho bài học.
Nội dung được xây dựng theo tiêu chí : thông tin người dùng (tuổi tác, giới tính ),
vị trí hiện tại, lịch sử các lần học trước, thời gian mà người học có thể bỏ ra để học bài
học này.
Sau mỗi lần xây dựng nội dung bài học cho người học, hệ thống sẽ ghi nhận lại bài
học này trong cơ sở dữ liệu để sử dụng tiếp cho lần sau. Nếu lần sau người học yêu
cầu nôi dung đó thì hệ thống sẽ xem xét xem nội dung đó người học đã học nhiều
chưa, đã thành thục chưa, nếu là thành thục rồi thì sẽ không đưa nội dung đó vào bài
học nữa.
4.1.3.3 Tìm kiếm bài học theo vị trí
Do có thể rất nhiều địa điểm khác nhau nên rất khó để tìm một vị trí cố định nào
đó. Do vậy chức năng tìm kiếm thực hiện tìm kiếm trong cơ sở dữ liệu các vị trí phù
hợp để người sử dụng lựa chọn.
4.1.3.4 Loại bỏ bài học đã học
Trong quá trình học tập thì có những bài học mà người học cảm thấy mình đã khá
thành thục rồi nên không cần học nưa. Do vậy chương trình cung cấp chức năng loại
bỏ những bài học mà học viên đã học kỹ rồi. Khi đã loại bỏ bài học này thì từ đó về
sau, bài học bị loại bỏ sẽ ko bao giờ được cung cấp lại cho người học nữa. Bên cạnh
đó, nếu người học muốn học lại các bài học mà mình đã bỏ qua thì chương trình có
thêm chức năng khôi phục lại hiện trạng các bài học ban đầu. Tất cả các bài học bị loại
bỏ sẽ khôi phục và sẽ đươc đưa cho người sử dụng.
4.1.3.5 Trợ giúp
Đối với người mới sử dụng thì các chức năng, cách thức hoạt động của dịch vụ và
cách sử dụng dịch vụ có thể là mới. Do vây, phần trợ giúp sẽ cung cấp thông tin
chương trình và hướng dẫn sử dụng để có thể hỗ trợ việc sử dụng chương trình của
người dùng.
35
4.1.4 Cơ sở dữ liệu
Cơ sở dữ liệu của hệ thống bao gồm tất cả các thông tin về tài khoản người dùng,
quá trình học tập của người dùng, các nội dung để xây dựng lên bài học tiếng anh( Do
ở đây nhà cung cấp dịch vụ sẽ kiêm cung cấp nội dung nên cơ sở dữ liệu của bên cung
cấp dịch vụ sẽ bao gồm cả nội dung bài học). Dữ liệu được quản lý bằng hệ quản trị cơ
sở dữ liệu MYSQL.
Cơ sở dữ liệu gồm có các bảng :
Context_members (uname, pword, name, sex, age)
Context_group(gr_id, gr_name)
Context_name(name_id, ct_name, gr_id)
Context_detail(ct_id, name_id, ct_viet_conver, ct_eng_conver, sex, age, time,
rank)
Context_session_element(element_id, record_id, ct_id)
Context_session_records(record_id, record_time, uname, name_id, session_time)
Context_exception( uname, ct_id )
36
4.1.4.1 Biểu đồ dữ liệu
Hình 4.1-3 Biểu đồ dữ liệu
4.1.4.2 Cơ sở dữ liệu chi tiết
CONTEXT_MEMBERS
(Lưu trữ thông tin người dùng)
Thuộc tính Kiểu dữ liệu Khóa Mô tả
uname varchar(100) Khóa chính Tên đăng nhập của người dùng
pword varchar(100) Mật khẩu người dùng
name varchar(200) Tên đầy đủ của người dùng
sex int(11) Giới tính
age int(11) Tuổi
37
CONTEXT_GROUP
(Mô tả thông tên về một nhóm các ngữ cảnh nào đó)
Thuộc tính Kiểu dữ liệu Khóa Mô tả
gr_id int(11) Khóa chính Mã của nhóm các ngữ cảnh
gr_name varchar(200) Tên của nhóm ngữ cảnh
CONTEXT_NAME
(Mô tả một ngữ cảnh)
Thuộc tính Kiểu dữ liệu Khóa Mô tả
name_id int(11) Khóa chính Mã của ngữ cảnh
ct_name varchar(200) Tên của ngữ cảnh
gr_id int(11) Khóa ngoài Mã nhóm ngữ cảnh
CONTEXT_DETAIL
(Lưu trữ về nội dung cấu thành lên 1 bài học trong một ngữ cảnh xác đinh)
Thuộc tính Kiểu dữ liệu Khóa Mô tả
ct_id int(11) Khóa chính Mã của nội dung chia tiết
name_id int(11) Khóa ngoài Mã của ngữ cảnh
ct_viet_conver varchar(300) Nội dung bài học ( Tiếng Việt)
ct_eng_conver varchar(300) Nội dung bài học (Tiếng Anh)
sex int(11) Giới tính bài học hướng dến
age int(11) Độ tuổi mà bài học hướng đến
time int(11( Thời gian ( sáng , chiều, tối)
rank int(11) Độ khó của nội dung
38
CONTEXT_SESSION_ELEMENT
(Mô tả chi tiết nội dung bài học trong một record)
Thuộc tính Kiểu dữ liệu Khóa Mô tả
element_id int(11) Khóa chính Mã của một element
record_id int(11) Khóa ngoài context_session_records(record_id)
ct_id int(10) Khóa ngoài context_detail(ct_id)
CONTEXT_SESSION_RECORDS
(Lưu trữ thông tin về một phiên học của người sử dụng, lưu trũ thời gian, và nội
dung đã học của người đùng)
Thuộc tính Kiểu dữ liệu Khóa Mô tả
record_id int(11) Khóa chính Mã của một bản ghi
record_time datetime Thời gian lưu
uname varchar(100) Khóa ngoài context_members(uname)
name_id int(11) Khóa ngoài context_name(name_id)
session_time int(10) Lượng thời gian dùng để học
CONTEXT_EXCEPTION
(Tập hợp các nội dung mà người dùng loại bỏ trong quá trình học)
Thuộc tính Kiểu dữ liệu Khóa Mô tả
uname varchar(100) Khóa chính, ngoài ref context_members(uname)
ct_id int(11) Khóa chính, ngoài ref context_detail(ct_id)
39
4.1.5 Luồng xử lý phía client
Hình 4.1-4 Luồng xử lý phía client
40
4.2 Cài đặt
4.2.1 Yêu cầu phần cứng và phần mềm
Đối với client phải là dòng máy hỗ trợ Java và hỗ trợ kết nối mạng.
Đối với server
Phần cứng phải đáp ứng cấu hình để có thể chạy các ứng dụng java và server.
Phần mềm : Netbean, thư viện kết nối cơ sở dữ liệu (MySQL JDBC), hệ quản trị cơ sở
dữ liệu MySQL, SunGlassFish Server 3.
4.2.2 Client
Client được cài đặt trên điện thoại có hỗ trợ java với cấu hình CLDC 1.1 và MIDP
2.0 trở lên . Trong khóa luận này ta chạy ứng dụng client trên một bộ mô phỏng
(emulator) có sẵn trên netbean 6.7 . Ứng dụng gồm có 2 gói chính : gói hello và gói
newwebserviceservice
4.2.2.1 Gói hello
Gói Hello gồm 1 lớp HelloMIDlet duy nhất. Lớp được kế thừa từ lớp MIDlet bao
gồm tất cả các tính năng chính của chương trình như : tìm kiếm, xây dựng nội dung..
và hiển thị nội dung bài học.
4.2.2.2 Gói newwebserviceservice
Gói newwebserviceservice chứa các lớp NewWebServiceService và
NewWebServiceService_Stub.
Lớp NewWebServiceService là lớp khai báo các phương thức được cung cấp bởi
Webservice.
Lớp NewWebServiceService_Stub là lớp kế thừa lớp NewWebServiceService
trong đó nó mô tả chi tiết các phương thức đã khai báo trong lớp
NewWebServiceService. Các phương thức này có thể coi như một bản sao của các
phương thức được thực hiện trên server. Tuy nhiên thay vì chạy trên client thì khi
client gọi phương thức này, nó sẽ dựa trên các mô tả trong tập tin
NewWebServiceService.wsdl và giao thức SOAP để gửi thông tin (các biến, tham số)
lên server và nhờ server chạy giúp và trả về kết quả cũng theo định dạng xml.
41
4.2.3 Server
Trên server cung cấp service bao gồm 2 lớp chính :
Lớp GetMysqlConnection chịu trách nhiệm kết nối với hệ quản trị cơ sở dữ liệu
thông qua thư viện MYSQL JDBC.
Lớp NewWebService bao gồm các phương thức minh họa cho các Operator mà
webservice cung cấp cho client gọi. Nó bao gồm một số phương thức sau :
addContextException : đưa một nội dung nào đó vào danh sách các nội dung học
mà người học đã học kỹ, hoặc không muốn học nữa.
addUser : thêm một người sử dụng vào hệ thống
checkLogin : kiểm tra xem tên đăng nhập và mật khẩu có phù hợp để đăng nhập
vào hệ thống không
clearAllException : Phục hồi lại tất cả các nội dung học đã xóa.
findName : tìm địa điểm theo tên
getNameOfUser : Lấy tên đầy đủ của người dùng
getCtNameByWidthCondition : lấy ra nội dung phù hợp theo một điều kiện nào
đó
Ngoài ra còn một số các phương thức khác nhằm cung cấp thông tin chi tiết khi
client muốn truy vấn.
4.2.3.1 Kịch bản và giao diện ứng dụng trên client.
Client được chạy trên emulator mặc định được tích hợp trong Netbean 6.7 với
CLDC 1.1 và MIDP 2.0.
Khi bắt đầu vào chương trình sẽ hiện ra một màn hình đăng nhập gồm tên đăng
nhập và mật khẩu để người dùng nhập tên đăng nhập và mật khẩu của mình. Nếu tên
đăng nhập đúng thì chuyển về màn hình hiển thị các vị trí để người dùng lựa chọn.
Nếu tên đăng nhập hoặc mật khẩu sai thì sẽ xuất hiện thông báo là tên đăng nhập và
mật khẩu không đúng.
42
Hình 4.2-1 Màn hình đăng nhập và màn hình thông báo đăng nhập lỗi
Nếu đây là lần đầu tiên và người sử dụng chưa có tài khoản thì sẽ phải đăng ký
một tài khoản. Để đăng ký tài khoản thì người sử dụng chọn Menu và chọn đăng ký ở
màn hình đăng nhập. Lúc này màn hình đăng ký hiện ra với các ô textfield để người
dùng nhập thông tin về Họ tên, tên đăng nhập, mật khẩu, tuổi tác và giới tính. Khi
nhấn vào command ‘Đăng ký’ chương trình sẽ gửi thông tin tới server yêu cầu đăng ký
người dùng vào hệ thống. Nếu đăng ký thành công màn hình sẽ chuyển về màn hình
chứa các vị trí để người dùng lựa chọn. Tương tự như khi đăng nhập thành công. Nếu
trong quá trình đăng ký lỗi xảy ra lỗi khác hoặc người dùng chưa điền đầy đủ thông
tin thì sẽ hiện ra thông báo lỗi.
Hình 4.2-2 Màn hình đăng ký và màn hình thông báo nếu đăng ký xuất hiện lỗi
43
Màn hình ‘Nhóm lĩnh vực’ sẽ hiển thị danh sách các lĩnh vực mà người sử dụng
cần học. Trong ứng dụng thí nghiệm này nội dung bao gồm các câu nói thông dụng
hoặc giải trí hoặc mua sắm hoặc sức khỏe. Người dùng có thể chọn trực tiếp 1 trong
các lĩnh vực hoặc là nhập các chữ cái đầu của lĩnh vực vần tìm vào ô textfield. Chương
trình sẽ tự động lọc cho bạn. Sau khi chọn lĩnh vực, màn hình sẽ chuyển tiếp sang màn
hình chứa danh sách các ngữ cảnh ( các địa điểm ) mà có nội dung trong lĩnh vực đó.
Hình 4.2-3 Màn hình hiển thị nhóm lĩnh vực và màn hình hiển thị địa điểm thuộc lĩnh vực đó
Sau khi chọn xong ngữ cảnh chương trình sẽ hiện ra màn hình hỏi xem bạn sẽ dùng
bao nhiêu thời gian cho bài học này. Chương trình có 3 tùy chọn là 5 phút, 10 phút và
xem hết. Nếu thời gian xem ngắn thì nội dung bài học càng cô đọng xúc tích, còn nếu
thời gian dài hơn thì nội dung sẽ tăng lên, phong phú hơn, khó hơn.
44
Hình 4.2-4 Màn hình hỏi thời gian dành cho bài học và màn hình hiển thị nội dung chi tiết bài học
Sau khi chọn xong thời gian xem thì chương trình sẽ đưa ra nội dung bài học cụ
thể. Trong mô hình thực tế này, ta chọn nội dung đơn giản là những câu giao tiếp trong
đời sống, tương tự như hình trên.
Nếu người học muốn loại bỏ những câu mà người học cảm thấy đã quá quen thuộc
thì người học có thể chọn “Menu -> Loại bỏ”. Chương trình sẽ đưa ra một cảnh báo
với thông tin rằng các câu đã chọn sẽ bị loại khỏi nội dung đào tạo nếu người học chọn
loại bỏ.
Còn nếu người học muốn học lại những nội dung đã loại bỏ từ trước thì có thể chọn
“Menu Æ Xóa bỏ ngoại lệ”. Tất cả nội dung mà đã loại bỏ từ trước sẽ trở lại trạng
thái ban đầu.
45
Hình 4.2-5 Màn hình hiển thị thông báo confirm loại bỏ bài học và màn hình thông báo khôi phục lại
bài học
Mặt khác, nếu người sử dụng muốn tìm kiếm theo địa điểm (ngữ cảnh ) thì tại
menu chọn tìm kiếm. Màn hình tìm kiếm hiển thị ô nhập nội dung địa điểm cần tìm.
Nếu có kết quả thì chương trình sẽ đưa ra danh sách các kết quả để người sử dụng lựa
chọn. Nếu không có kết quả chương trình sẽ đưa ra thông báo rằng không có địa điểm
trong cơ sở dữ liệu. Các màn hình hiển thị nội dung chi tiết tương tự như hình dưới.
Hình 4.2-6 Hiển thị ô tìm kiếm và hiển thị danh sách các kết quả tìm kiếm được
46
Hình 4.2-7 Màn hình hiển thị nội dung chi tiết bài học tìm được và hướng dẫn sử dụng
Màn hình trợ giúp chỉ hiển thị nếu người sử dụng đang ở màn hình đầu tiên( tức là
màn hình đăng nhập ). Khi người dùng chọn “Menu Æ Trợ giúp”.
4.3 Thử nghiệm
4.3.1 Dữ liệu thử nghiệm
Tên Tuổi Giới tính
Thanh Niên 23 Nam
Cụ Già 60 Nữ
Bảng 4-1 Dữ liệu thử nghiệm
Trong dữ liệu thử nghiệm ta sử dụng dữ liệu có sự khác biệt cơ bản để kiểm chứng các
tính năng của chương trình. Mục đích của cuộc thử nghiệm là cho thấy được sự khác
nhau giữa nội dung bài học trả về đối với mỗi người dùng, mỗi ngữ cảnh và sau mỗi
lần học tập.
47
4.3.2 Kết quả thử nghiệm
Người học : Thanh niên
Lần xem : 1
Ngữ cảnh : Đi xem phim
Thời gian : 5 phút
Số kết quả trả về : 2
Người học : Cụ già
Lần xem : 1
Ngữ cảnh : Đi xem phim
Thời gian : 5 phút
Số kết quả trả về : 2
Người học : Thanh niên
Lần xem : 2
Ngữ cảnh : Trong bệnh viện
Thời gian : 5 phút
Số kết quả trả về : 6
Người học : Cụ già
Lần xem : 2
Ngữ cảnh : Trong bệnh viện
Thời gian : 5 phút
Số kết quả trả về : 8
48
Người học : Thanh niên
Lần xem : 3
Ngữ cảnh : Trong bệnh viện
Thời gian : 10 phút
Số kết quả trả về : 11
Người học : Cụ già
Lần xem : 3
Ngữ cảnh : Trong bệnh viện
Thời gian :10 phút
Số kết quả trả về : 10
Người học : Thanh niên
Lần xem : 7
Ngữ cảnh : Trong bệnh viện
Thời gian : 10 phút
Số kết quả trả về : 5
Người học : Cụ già
Lần xem : 7
Ngữ cảnh : Trong bệnh viện
Thời gian :10 phút
Số kết quả trả về : 6
49
4.3.3 Nhận xét
Như kết quả trên ta thấy với mỗi lần học nội dung bài học đều thay đổi tương ứng
với các thay đổi của ngữ cảnh. Ngay kể cả lần đầu tiên sử dụng, nội dung là bài học
giữa ‘Thanh niên’ và ‘Cụ già’ là giống nhau tuy nhiên là cách hiển thị có khác đi, do
người già nên màn hình hiển thị bài học với font chữ lớn hơn bình thương.
Hoặc trong lần thứ 2 học của cả ‘Thanh niên’ và ‘Cụ già’ trong cùng hoàn cảnh là
trong bệnh viện tuy nhiên kết quả là có sai khác nhau. Và sai khác cả với nội dung bài
học lần 1. Tương tự với lần học thứ 3 tuy nhiên lần 3 ta thử ngiệm với thời gian học
lâu hơn ta thấy nội dung của bài học được tăng lên. Cụ thể là đối với ‘Thanh niên’
tăng từ 6 lên 11 và ‘Cụ già’ tăng từ 8 lên 10.
Ta thí nghiệm tới lần thứ 7 thì cũng trong hoàn cảnh tương tự như lần 2 và lần 3
tuy nhiên ta thấy kết quả đã rút đi nhiều. Điều này xảy ra là do chương trình đã dựa
vào quá trình học tập của người học mà điều chỉnh nội dung. Loại bỏ bớt những bài
học mà người học đã học nhiều lần. Như kết quả ta thấy, số lượng câu trả về chỉ còn 5
cầu đối với ‘Thanh Niên’ và 6 câu đối với ‘Cụ già’.
Với kết quả đó, ta thấy nội dung bài học là được thay đổi một cách rõ ràng qua
từng lần học với mỗi ngữ cảnh khác nhau ( ở đây ta coi ‘Địa điểm’ chính là 1 nhân tố
quan trọng nhất trong ngữ cảnh). Đó chính là một cách học thích nghi theo ngữ cảnh
mà tôi đã trình bày trong khóa luận này.
50
CHƯƠNG 5 TỔNG KẾT
5.1 Kết quả đạt được
Tìm hiểu về các dịch vụ hướng vị trí, các khái niệm về ngữ cảnh và học theo ngữ
cảnh.
Xây dựng thử nghiệm ứng dụng “Học Tiếng Anh trên thiết bị di động”. Ứng dụng
minh họa tính thích nghi của nội dung học tập theo những thay đổi của ngữ cảnh.
Trong ứng dụng thử nghiệm này thông tin ngữ cảnh được đặc trưng bởi các thông tin
người học( tuổi tác, giới tính ), các thông tin về vị trí người học ( trong bệnh viện,
trong rạp chiếu phim, trong cửa hàng dụng cụ thể thao) , các thông tin về lịch sử học
tập của người học ngoài ra là thông tin do người học cung cấp ( thời gian bài học mà
người học mong muốn). Chương trình đã bước đầu xác định được từng ngữ cảnh của
người dùng và đưa ra nội dung khác nhau cho từng người học trong từng ngữ cảnh
khác nhau.
Tìm hiểu về xây dựng và triển khai các ứng dụng dành cho các thiết bị di động, các
ứng dụng webservice.
Tìm hiểu về công nghệ định vị một thuê bao di động dựa trên công nghệ A-GPS.
5.2 Hạn chế
Do công nghệ và thời gian có hạn nên chương trình chỉ giới hạn trong việc thử
nghiệm trên cơ sở dữ liệu đơn giản. Nội dung bài học chỉ là các câu giao tiếp đơn giản,
chưa có các cấu trúc ngư pháp, media,… , chưa mang tính học tập sâu. Ngoài ra, các
thông tin ngữ cảnh được sử dụng trong thực nghiệm chỉ bó hẹp trong một số trường
thông tin nhất định, chưa đủ để xác định tuyệt đối một mô hình ngữ cảnh mà chỉ mang
tích chất tương đối.
Tập luật để xác định một ngữ cảnh từ các thông tin ngữ cảnh vẫn còn thô sơ, chỉ là
một dạng if else đơn giản chưa đủ để xác định được một mô hình ngữ cảnh chính xác.
Một hạn chế nữa của khóa luận chính là việc chưa áp dụng được phương pháp định
vị A-GPS vào chương trình để xác định vị trí người học từ đó xác định vị trí cũng như
ngữ cảnh hiện tại. Trong ứng dụng thực nghiệm này thì thông tin về vị trí là được
người học nhập vào.
51
5.3 Hướng phát triển
Mô hình này rất có ý nghĩa và có tính thực tiễn cao hiện nay đã có một vài công ty
của Việt Nam đang hướng đến mô hình trợ giúp học tập trên các thiết bị di động này.
Trong tương lai, mô hình cần được phát triển hơn nữa.
Thứ nhất , phát triển nội dung bài học đa dạng hơn.
Thứ hai , áp dụng tất cả các thông tin( yếu tố) ngữ cảnh cần thiết để xác định một
ngữ cảnh chính xác.
Thứ ba, xây dựng một tập luật đủ mạnh sao cho từ các thông tin ngữ cảnh nhất
định có thể xác định một cách đúng đắn ngữ cảnh mà các thông tin đó thể hiện.
52
TÀI LIỆU THAM KHẢO
[1] R.O. Duda, P.E. Hart, and D.G. Stork, Pattern Classification. Wiley-
Interscience, 2nd edition, 2000.
[2] Virrantaus, K., Markkula, J., Garmash, A., Terziyan, Y.V., 2001. Developing
GIS-Supported Location-Based Services. In: Proc. of WGIS’2001 – First
International Workshop on Web Geographical In-formation Systems., Kyoto,
Japan. , 423–432.
[3] BillN.Schilit,NormanAdams, RoyWant. Context-Aware Computing
Applications.
[4] Lương Tiến Dũng. Khóa luận tốt nghiệp Nghiên cứu tìm hiểu hệ thống đối
thoại ứng dụng trong dịch vụ hướng vị trí
[5] Stefan Steiniger, Moritz Neun and Alistair Edwardes, Foundations of
Location Based Services
[6] PaulDourish, 2003, What we talk about when we talk about context
[7] Đại học khoa học tự nhiên, Lập trình di động với J2ME, 04/2005
[8]
Các file đính kèm theo tài liệu này:
- LUẬN VĂN-NGHIÊN CỨU XÂY DỰNG ỨNG DỤNG HỌC TIẾNG ANH THEO NGỮ CẢNH TRÊN THIẾT BỊ DI ĐỘNG.pdf