Bối cảnh và vấn đề nghiên cứu
Lý do chọn đề tài và bối cảnh thực tiễn
Trong quá trình tiếp thu và học tập một ngôn ngữ mới, từ vựng giữ vai trò then chốt giúp người học rèn luyện các kỹ năng nghe, đọc, hiểu, truyền đạt ý tưởng chuyên môn và nâng cao sự tự tin khi giao tiếp. Trong bối cảnh toàn cầu hóa và sự phát triển của công nghệ thông tin, tiếng Anh đã trở thành ngôn ngữ quốc tế thiết yếu, mở ra nhiều cơ hội học tập và thăng tiến nghề nghiệp. Dữ liệu từ công cụ Google Xu hướng (Google Trends) tại thị trường Việt Nam cũng phản ánh mức độ quan tâm liên tục và ổn định của người dùng đối với nhu cầu trau dồi từ vựng tiếng Anh.
Tuy nhiên, phương pháp học truyền thống mang tính máy móc, trừu tượng dễ gây ra cảm giác nhàm chán, thiếu động lực và dẫn đến tỷ lệ ghi nhớ không cao. Bên cạnh đó, nhiều ứng dụng từ điển di động hiện hành bộc lộ hạn chế về mặt giao diện (thiết kế cũ kỹ, khó thao tác tra cứu) và thiếu các hoạt động tương tác hay cơ chế ôn luyện định kỳ để duy trì sự gắn kết của người học. Do đó, việc nghiên cứu và xây dựng một ứng dụng di động hỗ trợ học từ vựng tiếng Anh kết hợp công nghệ hiện đại và phương pháp học tích cực là cần thiết.
Mục tiêu và nhiệm vụ nghiên cứu
Khóa luận xác định mục tiêu tổng thể là xây dựng một ứng dụng di động hỗ trợ học từ vựng tiếng Anh tiện ích, trực quan và hiệu quả. Cụ thể, tác giả đặt ra 4 nhiệm vụ nghiên cứu:
- Phân tích nhu cầu và khó khăn của người dùng: Khảo sát các trở ngại phổ biến trong việc ghi nhớ từ vựng và xác định yêu cầu thực tế đối với một phần mềm hỗ trợ học tập.
- Nghiên cứu phương pháp học từ vựng hiệu quả: Tìm hiểu quy trình ghi nhớ, kỹ thuật liên kết từ vựng với ngữ cảnh, hình ảnh minh họa, âm thanh và áp dụng vào cấu trúc bài học của ứng dụng.
- Thiết kế giao diện và trải nghiệm người dùng (UI/UX): Xây dựng giao diện đồng nhất, trực quan, hỗ trợ tùy biến giao diện và luồng tương tác linh hoạt nhằm nâng cao mức độ gắn kết của người học.
- Đánh giá hiệu quả của ứng dụng: Thử nghiệm các tính năng học tập, kiểm tra khả năng ghi nhớ từ vựng, mức độ tiến bộ của người học và đánh giá tính ổn định của hệ thống sau khi triển khai.
Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu: Ứng dụng hướng đến các nhóm người dùng có nhu cầu mở rộng vốn từ vựng tiếng Anh, bao gồm:
- Học sinh, sinh viên có nhu cầu củng cố kiến thức học tập và chuẩn bị cho các kỳ thi chuẩn hóa.
- Người đi làm cần nâng cao vốn từ vựng chuyên ngành và giao tiếp thương mại quốc tế.
- Người tự học tiếng Anh phục vụ mục đích du lịch, nghiên cứu hoặc phát triển bản thân.
- Người nước ngoài học tiếng Anh như một ngôn ngữ thứ hai hoặc thứ ba.
- Phạm vi nghiên cứu:
- Ứng dụng di động: Thiết kế và lập trình ứng dụng di động đa nền tảng (Android/iOS) bằng Flutter framework, tối ưu hóa giao diện và hiệu năng.
- Bộ dữ liệu từ vựng: Xây dựng cơ sở dữ liệu từ vựng tiếng Anh chuẩn hóa phân loại theo chủ đề và trình độ, tích hợp nghĩa, từ loại, phiên âm, câu ví dụ và tệp âm thanh.
- Phương pháp học và ôn luyện: Triển khai các phương thức học qua thẻ nhớ (flashcard), thông báo nhắc nhở hàng ngày, bài kiểm tra trắc nghiệm và trò chơi tương tác (minigames).
- Hệ thống quản trị: Xây dựng trang web quản trị (Web Dashboard) phục vụ công tác quản lý tài nguyên từ vựng, người dùng và tham số cấu hình hệ thống.
Vấn đề cần tập trung giải quyết
Tác giả xác định các nội dung kỹ thuật và chức năng trọng tâm cần xử lý gồm:
- Thiết kế giao diện trực quan, hỗ trợ chế độ sáng/tối (Dark/Light theme) và chuyển đổi đa ngôn ngữ.
- Xây dựng cơ chế học từ vựng đa dạng: học chủ động qua danh mục/thẻ nhớ và học thụ động qua thông báo nhắc nhở định kỳ.
- Phân loại từ vựng theo chủ đề, cấp độ người dùng và xây dựng hệ thống tính điểm ghi nhớ (Memory score) để tự động chuyển đổi trạng thái từ vựng (chưa học, đang học, hoàn tất).
- Ứng dụng mô hình trò chơi hóa (Gamification) thông qua bảng xếp hạng, điểm thưởng và các trò chơi ôn tập nhằm duy trì động lực học tập.
Cơ sở lý thuyết và phương pháp
Nền tảng công nghệ và ngôn ngữ lập trình
Hệ thống được xây dựng dựa trên sự kết hợp giữa các công nghệ di động, nền tảng đám mây và công cụ phát triển phần mềm:
- Flutter Framework: Bộ công cụ mã nguồn mở của Google cho phép biên dịch ứng dụng đa nền tảng (Android và iOS) từ một mã nguồn duy nhất. Flutter sử dụng kiến trúc Widget linh hoạt, tích hợp cơ chế Hot Reload hỗ trợ điều chỉnh giao diện nhanh chóng và cung cấp khả năng đa ngôn ngữ hóa.
- Ngôn ngữ Dart: Ngôn ngữ hướng đối tượng được tối ưu hóa cho Flutter, hỗ trợ tính năng an toàn biến rỗng (null safety), xử lý tác vụ bất đồng bộ (
async/await) và mô hình giao tiếp đa luồng thông qua Isolate.
- Công nghệ Web: Trang quản trị (Web Dashboard) được xây dựng bằng bộ ba công nghệ HTML, CSS và JavaScript thuần để tương tác trực tiếp với các dịch vụ đám mây.
- Hệ sinh thái Firebase & Google Cloud:
- Firebase Authentication: Cung cấp giải pháp xác thực bảo mật thông qua email/mật khẩu, nhà cung cấp danh tính bên thứ ba (Google, Facebook, Twitter, GitHub), xác thực SMS và tài khoản ẩn danh.
- Cloud Firestore Database: Cơ sở dữ liệu NoSQL dạng tài liệu (document model) phân cấp theo bộ sưu tập (collections). Hỗ trợ lắng nghe dữ liệu thời gian thực (real-time listeners) và cơ chế bộ nhớ đệm cục bộ phục vụ chế độ ngoại tuyến (offline support).
- Firebase Cloud Storage: Dịch vụ lưu trữ đám mây cho các tệp tin đa phương tiện (hình ảnh minh họa, tệp âm thanh phát âm từ vựng).
- Google Cloud API & Dialogflow: Nền tảng trí tuệ nhân tạo xử lý ngôn ngữ tự nhiên (NLP) phục vụ việc xây dựng Chatbot thông qua định nghĩa Ý định (Intent), Thực thể (Entity) và Bối cảnh (Context).
- Công cụ hỗ trợ: Visual Studio Code, Android Studio (môi trường giả lập và đóng gói ứng dụng), phần mềm Lunacy (thiết kế giao diện UI/UX và xuất định dạng vector
.svg).
Thuật toán so khớp chuỗi và tối ưu hóa
Nhằm hỗ trợ tính năng tìm kiếm từ vựng tương đồng khi người dùng nhập sai chính tả, khóa luận đã nghiên cứu và triển khai các thuật toán đo khoảng cách chỉnh sửa chuỗi:
- Khoảng cách Levenshtein (Levenshtein Distance): Đo lường số lượng thao tác tối thiểu (thêm, xóa, thay thế ký tự) để biến đổi chuỗi ký tự $a$ thành chuỗi $b$. Thuật toán đệ quy gốc có độ phức tạp thời gian trong trường hợp xấu nhất là hàm mũ $O(3^{\max(m, n)})$ và độ phức tạp không gian $O(\max(m, n))$, gây tốn kém tài nguyên tính toán.
- Thuật toán quy hoạch động Wagner-Fischer: Tối ưu hóa quá trình tính toán khoảng cách Levenshtein bằng cách sử dụng bảng ma trận kích thước $(m + 1) \times (n + 1)$, với $m$ và $n$ là độ dài của hai chuỗi. Độ phức tạp thời gian và không gian của thuật toán này đều là $O(mn)$.
- Tối ưu hóa bộ nhớ Wagner-Fischer: Do việc tính toán giá trị tại ô hiện tại chỉ phụ thuộc vào hàng dữ liệu liền trước $[i - 1]$ và ô bên trái $[i][j - 1]$, tác giả tối ưu hóa cấu trúc lưu trữ từ ma trận hai chiều thành một mảng một chiều kích thước $(n + 1)$ kết hợp hai biến phụ (
pre và temp).
| Thuật toán |
Độ phức tạp thời gian |
Độ phức tạp không gian |
Nhận xét triển khai |
| Levenshtein Đệ quy |
$O(3^{\max(m, n)})$ |
$O(\max(m, n))$ |
Chi phí tính toán tăng theo hàm mũ, không phù hợp cho ứng dụng di động |
| Wagner-Fischer (Ma trận) |
$O(mn)$ |
$O(mn)$ |
Lưu trữ toàn bộ ma trận bảng tính, tiêu tốn bộ nhớ khi độ dài chuỗi lớn |
| Wagner-Fischer (Tối ưu mảng 1D) |
$O(mn)$ |
$O(n)$ |
Tiết kiệm vùng nhớ đệm, tối ưu hóa hiệu năng xử lý tìm kiếm trên thiết bị di động |
Nguồn dữ liệu
Cơ sở dữ liệu từ vựng của ứng dụng được thu thập và chuẩn hóa từ nguồn từ điển học thuật Oxford Learner's Dictionaries, bao gồm hơn 500 từ vựng ban đầu với đầy đủ thông tin: định nghĩa tiếng Anh, từ loại, phiên âm chuẩn quốc tế (IPA), các ví dụ ngữ cảnh cụ thể, tệp âm thanh bản ngữ và hình ảnh minh họa đi kèm.
Thiết kế và triển khai
Kiến trúc tổng thể hệ thống
Hệ thống được thiết kế theo mô hình kiến trúc phân tầng, phân định rõ ràng giữa tầng giao diện người dùng, tầng ứng dụng quản lý và tầng dịch vụ đám mây backend:
- Phân hệ Ứng dụng di động (Mobile Client): Ứng dụng phát triển trên Flutter, tương tác trực tiếp với người học thông qua các module học tập, kiểm tra, tra cứu và trò chuyện.
- Phân hệ Trang quản trị (Web Dashboard): Giao diện web dành riêng cho quản trị viên nhằm theo dõi thống kê, quản lý người dùng, chỉnh sửa kho từ vựng và cập nhật các tham số cấu hình.
- Phân hệ Dịch vụ đám mây (Backend Services): Tích hợp trực tiếp các dịch vụ Firebase (Firestore, Authentication, Storage) để quản lý phiên, đồng bộ dữ liệu thời gian thực và lưu trữ tài nguyên đa phương tiện.
- Phân hệ Trí tuệ nhân tạo (NLP Service): Kết nối dịch vụ Dialogflow thông qua khóa API được cung cấp bởi Google Cloud.
[Quản trị viên] ---> [Web Dashboard (HTML/CSS/JS)] ---+
|---> [Firebase Services]
| - Authentication
[Người dùng] ---> [Ứng dụng di động (Flutter)] ---+ - Cloud Firestore
| | - Cloud Storage
+---> [Google Cloud API] ---> [Dialogflow Chatbot]
Phân tích Actor và Use-case hệ thống
Khóa luận xác định 3 Actor chính tương tác với hệ thống:
- Người dùng chưa đăng nhập: Có thể thực hiện các thao tác đăng ký tài khoản mới, đăng nhập bằng email hoặc dịch vụ bên thứ ba (Google/Facebook), và yêu cầu khôi phục mật khẩu.
- Người dùng đã đăng nhập: Truy cập toàn bộ chức năng ứng dụng di động gồm: quản lý thông tin cá nhân/mật khẩu, tra cứu từ vựng và tìm kiếm từ tương đồng, học từ vựng qua thẻ nhớ (Flashcard) theo chủ đề, học từ vựng qua thông báo hàng ngày, làm bài kiểm tra trắc nghiệm, tham gia các trò chơi ôn luyện (Saviour, Word Jumble), nhắn tin với Chatbot (tra nghĩa, dịch văn bản, FAQ, game nối từ), điểm danh nhận thưởng và xem bảng xếp hạng.
- Quản trị viên: Đăng nhập vào Web Dashboard để xem báo cáo thống kê, tìm kiếm/chỉnh sửa/xóa tài khoản người dùng, thêm/sửa/xóa/lọc từ vựng trong cơ sở dữ liệu, quản lý danh mục chủ đề/nghề nghiệp/trợ giúp và cập nhật cấu hình hệ thống (thời gian làm bài kiểm tra, định mức điểm thưởng, điều kiện thăng cấp bậc).
Thiết kế cơ sở dữ liệu Cloud Firestore
Cơ sở dữ liệu NoSQL Cloud Firestore được thiết kế gồm các bộ sưu tập chính phục vụ lưu trữ thông tin:
User: Lưu trữ thông tin định danh, email, tên hiển thị, ảnh đại diện, cấp bậc, tổng điểm tích lũy và số vàng.
UserVocabulary: Quản lý tiến trình học của từng cá nhân đối với từng từ vựng cụ thể (điểm ghi nhớ, trạng thái đã học/đã hoàn thành, danh sách yêu thích, danh sách đã biết).
Vocabulary: Lưu trữ dữ liệu từ vựng (từ vựng, nghĩa, từ loại, phiên âm, tệp âm thanh, đường dẫn hình ảnh, mã chủ đề, ví dụ ngữ cảnh).
Topic: Quản lý danh mục các chủ đề từ vựng (tên chủ đề, hình ảnh minh họa, mô tả).
Question: Lưu trữ ngân hàng câu hỏi trắc nghiệm và đáp án phục vụ các bài kiểm tra.
Config: Lưu trữ các thông số cấu hình ứng dụng linh hoạt (thời gian thi, điểm số, ngưỡng tăng cấp).
Profession, Gender, Help: Lưu trữ các danh mục phụ trợ phục vụ thiết lập hồ sơ người dùng và hệ thống trợ giúp người dùng.
Môi trường triển khai
Ứng dụng di động được hoàn thiện và đóng gói triển khai trực tiếp lên cửa hàng ứng dụng Google Play Store phục vụ người dùng thực tế, đồng thời trang Web Dashboard được cấu hình chạy trên nền tảng web phục vụ công tác quản trị dữ liệu.
Nội dung chính theo từng chương
Chương 1. Tổng quan
Chương 1 trình bày lý do chọn đề tài dựa trên nhu cầu học tiếng Anh thực tế tại Việt Nam và những hạn chế của phương pháp học truyền thống cũng như các ứng dụng từ điển cũ. Tác giả xác định rõ mục đích nghiên cứu với 4 mục tiêu cụ thể; phân loại 4 nhóm đối tượng thụ hưởng; khoanh vùng 4 phạm vi nghiên cứu trọng tâm (ứng dụng di động, bộ từ vựng chuẩn, phương pháp học tập và công cụ quản trị). Chương này cũng phân tích các tồn tại của các giải pháp hiện hành và định hình các vấn đề kỹ thuật cần tập trung giải quyết.
Chương 2. Cơ sở lý thuyết và nền tảng công nghệ
Chương 2 phân tích chi tiết cơ sở lý thuyết và các công nghệ được sử dụng trong đồ án:
- Phân tích ưu điểm của framework Flutter và ngôn ngữ lập trình Dart (Hot Reload, Widget, Isolate, Null Safety).
- Trình bày cơ chế hoạt động và kiến trúc của các dịch vụ đám mây: Firebase Authentication, Cloud Firestore Database, Firebase Cloud Storage, Google Cloud và nền tảng xử lý ngôn ngữ tự nhiên Dialogflow.
- Giới thiệu các công cụ hỗ trợ phát triển: Visual Studio Code, Android Studio và Lunacy.
- Phân tích toán học và thuật toán đo khoảng cách chuỗi: trình bày chi tiết công thức Levenshtein Distance, thuật toán quy hoạch động Wagner-Fischer và phương pháp tối ưu hóa không gian bộ nhớ sử dụng mảng một chiều từ $O(mn)$ về $O(n)$.
Chương 3. Phân tích và thiết kế ứng dụng
Chương 3 tập trung vào công tác phân tích và thiết kế phần mềm:
- Xây dựng sơ đồ kiến trúc hệ thống tổng thể (System Architecture Diagram).
- Xác định và đặc tả các yêu cầu chức năng cho cả Ứng dụng di động và Web Dashboard; định nghĩa các yêu cầu phi chức năng (tính thân thiện, khả năng tương thích đa nền tảng, độ bảo mật và hiệu năng vận hành).
- Mô hình hóa hệ thống thông qua danh sách 3 Actor, 11 Use-case chính, các sơ đồ Use-case tổng quát và chi tiết.
- Xây dựng các sơ đồ hoạt động (Activity Diagrams) và sơ đồ tuần tự (Sequence Diagrams) cho các luồng nghiệp vụ cốt lõi: đăng nhập, cập nhật hồ sơ, tìm kiếm từ vựng, học qua thẻ nhớ, làm bài kiểm tra, chơi trò chơi, thăng cấp bậc và quản lý từ vựng.
- Thiết kế mô hình dữ liệu Cloud Firestore (gồm 9 bảng dữ liệu mô tả) và thiết kế chi tiết hệ thống màn hình giao diện (UI) bằng phần mềm Lunacy.
Chương 4. Các tính năng nổi bật
Chương 4 mô tả sâu về 4 tính năng công nghệ đặc thù của ứng dụng:
- Hỗ trợ ngoại tuyến (Offline support): Sử dụng cơ chế lưu trữ đệm (caching) của Cloud Firestore, cho phép người dùng tiếp tục đọc, học và tra cứu dữ liệu ngay cả khi mất kết nối mạng. Dữ liệu sẽ tự động đồng bộ hai chiều khi thiết bị trực tuyến trở lại.
- Tìm kiếm từ vựng tương đồng: Ứng dụng thuật toán Wagner-Fischer tối ưu hóa để tự động gợi ý và hiển thị các từ vựng có độ tương đồng cao nhất khi người dùng nhập sai chính tả (yêu cầu độ dài tối thiểu từ 2 ký tự).
- Tích hợp thư viện quản lý trạng thái (State Management): Sử dụng thư viện Provider trong Flutter để quản lý luồng dữ liệu, tách biệt giữa tầng logic và tầng giao diện người dùng, giúp ứng dụng phản hồi mượt mà và dễ bảo trì.
- Hệ thống trò chơi và kiểm tra ôn tập: Tích hợp các minigame (Saviour, Word Jumble, Game nối từ trên Chatbot) kết hợp ngân hàng câu hỏi trắc nghiệm nhằm củng cố kiến thức theo cơ chế tính điểm ghi nhớ.
Chương 5. Kết quả triển khai và đánh giá
Chương 5 trình bày môi trường phát triển, môi trường triển khai thực tế và tổng kết các kết quả đạt được sau quá trình thực hiện khóa luận. Tác giả tiến hành chụp và đối chiếu toàn bộ các màn hình giao diện thực tế của ứng dụng (màn hình khởi đầu, xác thực, trang chủ, thẻ nhớ, bài kiểm tra, trò chơi, chatbot, hồ sơ cá nhân và trang web quản trị). Cuối chương, tác giả tự đánh giá các mặt hạn chế còn tồn tại và đề xuất các hướng phát triển tiếp theo cho hệ thống.
Kết quả và đóng góp
Kết quả chính đạt được
Khóa luận đã hoàn thành các sản phẩm kỹ thuật cụ thể đáp ứng các mục tiêu đề ra:
- Bộ cơ sở dữ liệu từ vựng: Xây dựng kho dữ liệu với hơn 500 từ vựng tiếng Anh được chọn lọc và tra cứu từ nguồn uy tín Oxford Learner's Dictionaries, có đầy đủ ngữ cảnh ví dụ, phiên âm, hình ảnh và âm thanh minh họa.
- Ứng dụng di động Vocaday: Xây dựng hoàn chỉnh ứng dụng di động trên nền tảng Flutter với đầy đủ các phân hệ chức năng: xác thực đa kênh, tra cứu/tìm kiếm tương đồng, học từ vựng qua thẻ nhớ, làm bài kiểm tra trắc nghiệm, các trò chơi ôn luyện, chatbot tương tác thông minh và hệ thống bảng xếp hạng. Ứng dụng đã được đóng gói và phát hành thực tế trên kho ứng dụng Google Play.
- Trang web quản trị (Web Dashboard): Xây dựng hoàn chỉnh hệ thống quản trị trên nền tảng web, cung cấp công cụ trực quan cho người quản trị trong việc theo dõi số lượng người dùng, quản lý chi tiết kho từ vựng và tùy chỉnh cấu hình hệ thống mà không cần can thiệp vào mã nguồn ứng dụng.
Giải pháp và cải tiến kỹ thuật
- Tối ưu hóa thành công thuật toán quy hoạch động Wagner-Fischer từ cấu trúc ma trận $O(mn)$ sang cấu trúc mảng một chiều kết hợp biến phụ, giúp giảm độ phức tạp không gian xuống $O(n)$, nâng cao hiệu năng tìm kiếm gần đúng trên thiết bị di động.
- Triển khai thành công kiến trúc xử lý ngoại tuyến thông qua bộ đệm của Cloud Firestore, đảm bảo trải nghiệm học tập liên tục không bị gián đoạn bởi điều kiện kết nối mạng.
- Ứng dụng cơ chế tính điểm ghi nhớ linh hoạt cho từng từ vựng kết hợp hệ thống cấp bậc người dùng, tạo động lực học tập chủ động và cá nhân hóa lộ trình ôn tập.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế của đề tài
Dựa trên phạm vi nghiên cứu và nội dung văn bản trình bày, khóa luận còn một số điểm hạn chế:
- Quy mô cơ sở dữ liệu từ vựng ban đầu mới dừng lại ở mức hơn 500 từ, chưa bao phủ toàn diện toàn bộ các chủ đề chuyên sâu và cấp độ nâng cao.
- Độ phong phú của các bài kiểm tra và kịch bản tương tác của Chatbot Dialogflow vẫn ở mức cơ bản, chủ yếu xoay quanh các mẫu câu hỏi thường gặp, dịch văn bản và trò chơi nối từ đơn giản.
- Các cơ chế giữ chân người học dài hạn và mức độ cá nhân hóa thuật toán nhắc nhở từ vựng cần tiếp tục được cải thiện sau thời gian vận hành thực tế.
Hướng nghiên cứu và phát triển tiếp theo
- Mở rộng quy mô cơ sở dữ liệu từ vựng tiếng Anh lên hàng nghìn từ, bổ sung thêm nhiều chủ đề chuyên ngành đa dạng.
- Nâng cao năng lực của Chatbot bằng cách huấn luyện thêm nhiều ngữ cảnh và mẫu hội thoại phức tạp hơn trên Dialogflow.
- Phát triển thêm các dạng trò chơi ôn luyện mới và hoàn thiện các tính năng tương tác cộng đồng giữa những người học trên hệ thống.
Giá trị tham khảo
- Đối tượng tham khảo:
- Sinh viên ngành Hệ thống Thông tin, Kỹ thuật Phần mềm và Công nghệ Thông tin có thể sử dụng tài liệu này làm mẫu tham khảo chuẩn mực về quy trình phân tích, thiết kế và phát triển ứng dụng di động kết hợp hệ thống quản trị web.
- Các lập trình viên di động đang nghiên cứu áp dụng Flutter kết hợp với hệ sinh thái Firebase (Firestore, Authentication, Cloud Storage) và Google Cloud Dialogflow.
- Phần nội dung đáng tham khảo:
- Phần phân tích toán học và phương pháp tối ưu hóa thuật toán Wagner-Fischer (từ ma trận sang mảng một chiều) ứng dụng trong bài toán tìm kiếm xấp xỉ chuỗi (Chương 2 và Chương 4).
- Quy trình đặc tả Use-case, xây dựng sơ đồ hoạt động (Activity Diagram), sơ đồ tuần tự (Sequence Diagram) và thiết kế cơ sở dữ liệu NoSQL Cloud Firestore (Chương 3).
Câu hỏi thường gặp
1. Khóa luận sử dụng thuật toán nào để xử lý tính năng tìm kiếm từ vựng tương đồng và hiệu quả tối ưu ra sao?
Khóa luận sử dụng thuật toán khoảng cách Levenshtein (Levenshtein Distance) thông qua thuật toán quy hoạch động Wagner-Fischer. Để khắc phục nhược điểm tiêu tốn bộ nhớ của phương pháp ma trận hai chiều thông thường ($O(mn)$), tác giả đã tối ưu hóa thuật toán bằng cách sử dụng một mảng một chiều kết hợp hai biến phụ (pre và temp), giúp giảm độ phức tạp không gian xuống còn $O(n)$ (với $n$ là độ dài chuỗi ký tự so sánh), giúp tiết kiệm bộ nhớ và tăng tốc độ xử lý trên thiết bị di động.
2. Cơ chế hỗ trợ hoạt động ngoại tuyến (Offline) của ứng dụng được thực hiện như thế nào?
Ứng dụng tận dụng tính năng bộ nhớ đệm (caching) cục bộ của Cloud Firestore Database. Dữ liệu từ vựng và thông tin người dùng được lưu trữ tạm thời trên bộ nhớ thiết bị, cho phép người dùng vẫn có thể đọc, tra cứu và thực hiện các thao tác học tập khi không có kết nối Internet. Khi thiết bị có kết nối mạng trở lại, Cloud Firestore sẽ tự động đồng bộ hóa các thay đổi cục bộ về cơ sở dữ liệu máy chủ đám mây.
3. Nền tảng Dialogflow đóng vai trò gì và được tích hợp vào ứng dụng di động như thế nào?
Dialogflow là dịch vụ trí tuệ nhân tạo của Google được sử dụng để xây dựng Chatbot hỗ trợ học tập. Nền tảng này xử lý ngôn ngữ tự nhiên (NLP) thông qua việc định nghĩa các Ý định (Intent), Thực thể (Entity) và Bối cảnh (Context). Dialogflow được tích hợp vào ứng dụng di động thông qua giao diện lập trình ứng dụng (API key) do Google Cloud cung cấp, cho phép hỗ trợ người dùng tra cứu nghĩa từ vựng, dịch văn bản, giải đáp các câu hỏi thường gặp (FAQ) và chơi mini game nối từ.
4. Cơ sở dữ liệu từ vựng ban đầu của hệ thống có quy mô bao nhiêu và được xây dựng từ nguồn nào?
Cơ sở dữ liệu từ vựng ban đầu của hệ thống bao gồm hơn 500 từ vựng tiếng Anh được tra cứu và trích xuất từ nguồn từ điển học thuật Oxford Learner's Dictionaries. Mỗi từ vựng được lưu trữ đầy đủ các trường thông tin gồm: từ vựng, định nghĩa tiếng Anh, từ loại, phiên âm quốc tế, câu ví dụ ngữ cảnh, tệp ghi âm phát âm bản ngữ và hình ảnh minh họa.
5. Hệ thống trang quản trị Web Dashboard cung cấp những chức năng gì cho Quản trị viên?
Trang web quản lý cung cấp các công cụ quản trị gồm: xem bảng thống kê số lượng người dùng và số lượng từ vựng; tìm kiếm, cập nhật hoặc xóa thông tin tài khoản người dùng; quản lý bộ từ vựng (thêm từ mới, chỉnh sửa thông tin, xóa từ và lọc từ vựng); quản lý danh mục chủ đề, nghề nghiệp, trợ giúp; và tùy chỉnh các tham số cấu hình hệ thống (thời gian làm bài kiểm tra, điểm thưởng hoạt động, định mức điểm tăng cấp) mà không cần can thiệp vào mã nguồn.
Kết luận
Khóa luận tốt nghiệp của tác giả Bùi Hữu Hiếu đã xây dựng thành công giải pháp phần mềm toàn diện hỗ trợ học từ vựng tiếng Anh mang tên Vocaday, kết hợp giữa ứng dụng di động đa nền tảng Flutter và trang web quản trị dữ liệu. Đề tài đã giải quyết tốt bài toán tìm kiếm tương đồng nhờ tối ưu hóa thuật toán Wagner-Fischer tiết kiệm bộ nhớ, đồng thời tích hợp cơ chế đồng bộ ngoại tuyến NoSQL qua Cloud Firestore và trợ lý ảo Dialogflow. Sản phẩm đạt được tính ứng dụng thực tiễn cao khi hoàn thiện đầy đủ các chức năng học tập tương tác, quản lý tiến độ và được phát hành trực tiếp trên kho ứng dụng Google Play.