Chủ Nhật, 9 tháng 2, 2014

Xây dựng dịch vụ web học từ vựng

4.1. Thiết kế hệ thống 26
4.1.1. Biểu đồ tuần tự 26
4.1.1.1. Đăng nhập 26
4.1.1.2. Tra từ 27
4.1.1.3. Học từ 31
4.1.1.4. Đọc báo 32
4.1.1.5. Quản lý từ vựng 33
4.1.2. Biểu đồ hoạt động 34
4.1.2.1. Đăng nhập 34
4.1.2.2. Tra từ 34
4.1.2.3. Học từ 36
4.1.2.4. Đọc báo 37
4.1.2.5. Quản lý từ vựng 38
4.1.3. Biểu đồ lớp 39
4.2. Thiết kế cơ sở dữ liệu 39
4.3. Thiết kế giao diện 43
4.3.1. Đăng nhập 43
4.3.2. Tra/Học từ 44
4.3.3. Đọc báo 44
CHƯƠNG 5: CÀI ĐẶT VÀ THỬ NGHIỆM 46
5.1. Đăng nhập 46
5.2. Tra từ/Học từ vựng 47
5.3. Đọc báo 49
KẾT LUẬN 51
TÀI LIỆU THAM KHẢO 52
III
BẢNG CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Ký hiệu Diễn giải
MVC Model-View-Controller
RSS Really Simple Syndication
HTML HyperText Markup Language
HTTP Hypertext Transfer Protocol
XML Extensible Markup Language
WSDL Web Services Description Language
SOAP Simple Object Access Protocol
RPC Remote procedure call
IV
BẢNG CÁC HÌNH VẼ
Hình 1. Tính năng tra từ của Stardict 2
Hình 2. So sánh giữa Vdict và Webdict 3
Hình 3. Thành phần của SOAP 9
Hình 4. MVC 16
Hình 5. Biểu đồ Ca sử dụng 22
Hình 6. Thiết kế tổng quan hệ thống 26
Hình 7. Biểu đồ tuần tự chức năng Đăng nhập 26
Hình 8. Biểu đồ tuần tự chức năng Tra từ - Searchdict 28
Hình 9. Biểu đồ tuần tự chức năng Tra từ - autoComplete 29
Hình 10. Biểu đồ tuần tự chức năng Tra từ 30
Hình 11. Biểu đồ tuần tự chức năng Học từ 31
Hình 12. Biểu đồ tuần tự chức năng Đọc báo 32
Hình 13. Biểu đồ tuần tự chức năng Quản lý từ vựng 33
Hình 14. Biểu đồ hoạt động chức năng Đăng nhập 34
Hình 15. Biểu đồ hoạt động chức năng Tra từ 35
Hình 16. Biểu đồ hoạt động chức năng Học từ 36
Hình 17. Biểu đồ hoạt động chức năng Đọc báo 37
Hình 18. Biểu đồ hoạt động chức năng Quản lý từ vựng 38
Hình 19. Biểu đồ lớp hệ thống 39
Hình 20. Bảng Users 39
Hình 21. Bảng Dictionaries 40
Hình 22. Bảng New Categories 40
Hình 23. Bảng New Domain 40
Hình 24. Bảng New Content 41
Hình 25. Bảng Words 41
Hình 26. Bảng User Words 42
V
Hình 27. Bảng Known Words 42
Hình 28. Biểu đồ quan hệ của các bảng 42
Hình 29. Cửa sổ Đăng nhập 43
Hình 30. Cửa sổ Tra từ 44
Hình 31. Cửa sổ Đọc báo 1 45
Hình 32. Cửa sổ Đọc báo 2 45
Hình 33. Cửa sổ Đăng nhập thất bại 46
Hình 34. Cửa sổ sau khi Đăng nhập 47
Hình 35. Cửa sổ Tra từ gợi ý 48
Hình 36. Cửa sổ Đọc báo chi tiết 50
VI
BẢNG CÁC BẢNG BIỂU
Bảng 1. Các nhà cung cấp OpenID 18
Bảng 2. Luồng sự kiện Đăng nhập 22
Bảng 3. Luồng sự kiện Tra từ 23
Bảng 4. Luồng sự kiện Học từ 23
Bảng 5. Luồng sự kiện Đọc báo 24
Bảng 6. Luồng sự kiện Quản lý từ vựng 24
Bảng 7. Users 39
Bảng 8. Dictionaries 39
Bảng 9. News Categories 40
Bảng 10. News Domain 40
Bảng 11. News Content 40
Bảng 12. Words 41
Bảng 13. User Words 41
Bảng 14. Known Words 42
VII
TÓM TẮT NỘI DUNG
Học từ vựng là một vấn đề lớn đối với nhiều người. Học theo cách truyền thống là
sử dụng từ điển đơn thuần thường không hiệu quả. Hệ thống học từ vựng là một tiện ích
giúp mọi người tăng khả năng ngoại ngữ. Những tính năng rất đơn giản mà hiệu quả, tra
từ nhanh chóng, học từ theo một từ điển tự chọn, phát âm chuẩn, hình ảnh gần với từ
cần học giúp khả năng ghi nhớ lâu hơn. Chức năng đọc báo đáp với dữ liệu được tự
động cập nhật hàng ngày từ các báo nổi tiếng trên internet, thuộc nhiều lĩnh vực khác
nhau như Asia, Americas, Sport, Entertainment. Chức năng này với tính năng thông
minh, tự động làm nổi bật những từ người dùng chưa biết, đồng thời hiển thị nghĩa khi
di chuột lên những từ đó trong tầm nhìn của trình duyệt giúp người dùng học từ ngay
khi đọc tin tức.
Những tính năng đó hy vọng sẽ giúp người dùng có được những trải nghiệm mới
trong học từ vựng, không theo lối khô khan như trước nữa. Chức năng đọc báo dựa trên
kiến thức từ vựng của từng người, tạo được sự hứng thú. Hệ thống và người dùng có
tương tác cao, tạo hiệu quả lớn trong quá trình học tập.
VIII
CHƯƠNG 1: GIỚI THIỆU
1.1. Đặt vấn đề
Hiện nay nhu cầu học ngoại ngữ đang trở nên rất cần thiết. Mỗi một người đều
hiểu rõ tầm quan trọng của việc học ngoại ngữ, giúp họ tăng khả năng giao tiếp, lương
cao, khả năng thăng tiến. Việc học ngoại ngữ bao gồm học nhiều kỹ năng khác nhau,
như phát âm, ngữ pháp, viết, nói. Trong đó, việc học từ vựng là một công việc khá mất
thời gian, nhiều khi còn khiến người học nản chí.
Trên mạng cũng có rất nhiều phần mềm và trang web hỗ trợ việc học từ vựng.
Nhưng hầu hết những chương trình và phần mềm đó đều khiến cho người dùng nhanh
chóng cảm thấy chán, khả năng ghi nhớ không được lâu, ví dụ như
http://www.tudientiengviet.net, http://tudien.timnhanh.com, http://www.vietgle.vn/tratu
đều là các trang cho phép người dùng tra từ vựng. Nguyên nhân là những trang web
thường quá đơn điệu, chỉ nêu ra nghĩa của từ mà không có phương pháp giúp người
dùng tăng khả năng ghi nhớ từ đó. Chẳng hạn, khi người dùng muốn tra từ mother, thì
hầu hết đều chỉ đưa ra nghĩa là mẹ, chăm sóc … Tuy rằng nghĩa thì đúng và đầy đủ,
nhưng như thế không thể giúp người dùng ghi nhớ lâu được, phải đọc đi đọc lại nhiều
lần, rất mất thời gian.
Đối với nhiều người thích đọc báo online thì vấn đề về từ vựng cản trở họ rất
nhiều. Nhiều từ khi đọc không biết, lại phải tra từ điển, như thế mất thời gian, cũng
không ghi nhớ được từ hiệu quả.
Google translate là một tiện ích mà nhiều người biết đến. Nó tự động dịch một
đoạn văn bản từ ngôn ngữ này sang ngôn ngữ khác. Tuy nhiên, khi dịch toàn bộ đoạn
văn bản thì nội dung thường không chính xác, vì thế gây bất tiện cho người dùng. Ví dụ,
đoạn văn bản sau: “Law enforcement officials are looking into whether Shahzad had any
foreign connections who may have participated in Saturday's failed bombing attempt in
New York City”, khi được dịch ra thì có nghĩa là “Luật cán bộ thực thi pháp luật đang
xem xét liệu có bất kỳ kết nối Shahzad nước ngoài có thể đã tham gia vụ đánh bom
không thành công trong nỗ lực thứ bảy tại New York City”. Nghĩa được dịch ra đó
không chính xác, gây phiền toái cho người sử dụng.
Hay như tính năng tự động tra từ khi một từ được bôi đen của Stardict.
1
Hình 1. Tính năng tra từ của Stardict
Cửa sổ nghĩa hiện ra che mất không gian đọc, gây khó chịu cho người dùng.
Trên cơ sở những khó khăn đó, ý tưởng xây dựng một trang web trợ giúp mọi
người học từ vựng cần phải được hiện thực hóa. Hệ thống có các chức năng cần thiết
giúp người dùng học từ vựng một cách hiệu quả nhất.
1.2. Tổng quan về giải pháp
1.2.1 Tại sao là dịch vụ Web?
Dịch vụ web đã ra đời từ lâu. Nó có ứng dụng rộng rãi trong nhiều lĩnh vực. Dịch
vụ web chính là tạo ra một nơi lưu trữ liệu và tính toán trên dữ liệu đó, nhiều người có
thể truy cập vào, sử dụng để tạo ra ứng dụng riêng cho mình. Nhận thấy nếu sử dụng
dịch vụ web thì sẽ tiết kiệm được thời gian và công sức, đồng thời ứng dụng cũng sẽ
chạy tốt và ổn định hơn. Dữ liệu chính xác là điều rất cần thiết để ứng dụng có thể tồn
tại lâu dài, đồng thời có nhiều người sử dụng.
1.2.2. Giải pháp Webdict
Webdict là hệ thống chạy trên Internet, cho phép nhiều người truy cập học từ
vựng. Hệ thống được xây dựng sử dụng dịch vụ web, đáp ứng yêu cầu thuận tiện và
hiệu quả cho người dùng.
Trong bộ não con người thì ý thức giác quan chiếm tới 60% (thông tin từ trang
web http://namgioi.timnhanh.com/song_khoe/suc_khoe/20070206/35A4ED14/). Nếu
2
gắn thông tin với các hình ảnh cụ thể thì sẽ dễ nhớ hơn. Ví dụ như khi bạn đến thăm nhà
một người bạn mới, lỡ quên mất số nhà, lần sau đến bạn vẫn có thể tìm được cái nhà ấy
vì ở đầu đường có cái cây cầu hoặc có một cây bàng to lớn. Việc học từ vựng cũng vậy,
nhiều từ rất đơn giản, chỉ cần nhìn một lần là nhớ, nhưng nhiều từ thì rất khó nhớ.
Chẳng hạn từ academy có nghĩa là học viện, nếu ngay lần đầu học từ này thì sẽ khó nhớ,
nhưng nếu có thêm hình ảnh các học viện đi kèm thì từ này sẽ được ghi nhớ lâu hơn, khi
nhìn một học viện thì liên tưởng ngay đến từ này. Hoặc từ acrobatically có nghĩa là tài
tình, khéo léo, từ ngày thì rất khó nhớ, nhưng nếu có thêm hình ảnh cầu thủ Berbatov
của MU đang tung người dứt điểm thì sẽ rất dễ nhớ. Trong hình minh họa, bên trái là
kết quả từ trang vdict.com, còn bên phải là kết quả mà hệ thống tìm được. Rõ ràng có
hình ảnh thì sự ghi nhớ tăng lên rõ rệt.
Hình 2. So sánh giữa Vdict và
Webdict
Dựa vào điều này, để giúp ghi nhớ từ
lâu cần hiển thị hình ảnh kèm theo mỗi khi
người dùng tra từ. Hình ảnh cần gần nhất
với từ được tra. Chúng ta đều biết Google là
một bộ máy tìm kiếm nhanh và hiệu quả.
Thông qua kết quả thực tế cho thấy khi gõ
một từ trong từ điển vào tìm kiếm hình ảnh
trên Google thì đều hiển thị kết quả rất phù
hợp. Vì thế dữ liệu hình ảnh đều được tổng hợp từ Google.
Bạn đang học từ để thi TOEFL, nhưng thật khó khăn nếu cứ cầm quyển sách và
học, không hiệu quả chút nào. Chức năng học từ vựng được xây dựng để trợ giúp người
dùng học từ hiệu quả hơn. Khi người dùng chọn từ điển và tra một từ, rồi nhấn vào nút
học từ, chương trình sẽ hiển thị các từ liên tiếp nhau sau mỗi mười lăm giây, các từ hiển
thị đều có hình ảnh và phát âm đi kèm. Người dùng cũng có thể học các từ liên tiếp
bằng cách chọn từ tiếp theo hoặc trước từ đang học hoặc dừng chức năng tra từ để tìm
kiếm một từ bất kỳ.
Hệ thống cũng cho phép người dùng đăng nhập và thêm từ vựng vào từ điển của
mình. Có một điểm đặc biệt là hệ thống không có chức năng đăng ký tài khoản. Nhiều
người dùng không thể hoàn thành chức năng đăng ký vì những yêu cầu khi nhập dữ liệu
quá phức tạp, dài dòng. Trong khi đó Gmail, Yahoo Mail đều rất thông dụng, ít nhất ai
3
cũng có một tài khoản email. Vì thế, có thể sử dụng các tài khoản email đó đăng nhập
vào hệ thống thì rất thuận tiện cho người dùng. Hệ thống có chức năng đăng nhập sử
dụng Gmail, người dùng chỉ cần gõ email và mật khẩu, hệ thống sẽ tự đăng nhập và
hiển thị email như tên người dùng. Sau khi đăng nhập thì người dùng có thể thêm các từ
đã học vào từ điển của mình. Phần quản lý từ vựng sẽ liệt kê các từ đã học, thuận tiện
khi tra cứu.
Việc học từ vựng đã hiệu quả hơn rất nhiều. Khi đã có được vốn từ khá khá, người
dùng muốn đọc báo online thì việc trợ giúp đọc báo hiệu quả rất cần thiết. Hiển thị các
từ mới sao cho hiệu quả là điều quan trọng. Các từ mới không có trong từ điển của
người dùng sẽ được đánh dấu, khi di chuột đến từ đó và chờ một thời gian, nghĩa của từ
đó sẽ hiển thị bên cạnh. Như thế sẽ tiết kiệm được thời gian, đồng thời học từ cũng hiệu
quả.
Muốn xây dựng được hệ thống thì cần phải có dữ liệu. Mặt khác, từ điển dữ liệu
rất lớn, do đó phải có phương pháp để tìm kiếm nhanh, hiệu quả. Sphinx là một công cụ
để sắp xếp dữ liệu và tìm kiếm khá hiệu quả. CakePHP là một bộ khung dành cho PHP,
hỗ trợ lập trình theo hướng MVC, được dùng để xây dựng các trang web từ nhỏ tới lớn
rất hiệu quả. Dữ liệu về báo được lấy từ RSS của các trang như BCC, VOA News.
Python là một ngôn ngữ khá mạnh trong việc xử lý dữ liệu web, được dùng để lấy thông
tin từ các báo và lưu trữ trên máy chủ.
4

Không có nhận xét nào:

Đăng nhận xét