Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh công nghiệp phần mềm phát triển mạnh mẽ và các thiết bị di động thông minh trở nên phổ biến, nhu cầu sử dụng các ứng dụng tiện ích phục vụ đời sống hằng ngày ngày càng gia tăng. Đặc biệt, tại các đô thị lớn nơi người dân bận rộn với công việc và ít có thời gian tự nấu ăn, cùng với tác động phức tạp của dịch bệnh COVID-19 tại thời điểm năm 2021, các dịch vụ giao thức ăn trực tuyến đã trở thành một phương thức tiêu dùng thiết yếu.

Khảo sát thực tiễn các nền tảng đặt và giao thức ăn phổ biến tại Việt Nam lúc bấy giờ như Now, Baemin, GrabFood, Loship và Vietnammm cho thấy hầu hết các hệ thống chỉ tập trung vào các tiêu chí: tối ưu hóa khoảng cách địa lý gần nhất, đẩy mạnh khuyến mãi kích cầu và rút ngắn thời gian giao hàng. Các ứng dụng này chưa chú trọng đúng mức đến trải nghiệm ẩm thực sau khi nhận hàng của người dùng. Điển hình như ứng dụng Baemin, hệ thống chỉ hỗ trợ tiếp nhận đánh giá tổng thể cho một quán ăn hoặc cửa hàng thông qua biểu mẫu có sẵn, không cho phép khách hàng đánh giá chi tiết trên từng món ăn cụ thể đã đặt. Điều này dẫn đến tình trạng các ý kiến đóng góp, nhận xét chất lượng món ăn chưa được ghi nhận, bóc tách và phân tích một cách có hệ thống. Do đó, các phản hồi sau mua chưa phát huy được vai trò tác động trực tiếp đến thứ hạng món ăn cũng như chưa hỗ trợ đắc lực cho quyết định lựa chọn của những người dùng tiếp theo.

Xuất phát từ thực trạng trên, đề tài khóa luận hướng đến việc xây dựng ứng dụng di động mang tên Chefood — nền tảng cho phép người dùng đặt các món ăn do các đầu bếp nấu tại nhà, kết hợp ứng dụng các kỹ thuật học máy để phân loại trạng thái bình luận và cá nhân hóa gợi ý món ăn.

Mục tiêu nghiên cứu của đề tài được xác định cụ thể theo các nhiệm vụ sau:

  1. Xây dựng ứng dụng di động đa nền tảng Chefood nhằm đáp ứng nhu cầu thưởng thức các món ăn ngon, đảm bảo an toàn vệ sinh thực phẩm, phục vụ tận nhà và giao hàng nhanh chóng.
  2. Thiết kế và phát triển đầy đủ các nhóm chức năng cơ bản phục vụ người dùng: đăng ký, đăng nhập, quên mật khẩu, quản lý thông tin cá nhân, tìm kiếm, giỏ hàng, đặt hàng, thanh toán trực tuyến qua thẻ và gửi bình luận đánh giá.
  3. Xây dựng hệ thống máy chủ dịch vụ (server back-end) độc lập, có khả năng giao tiếp thời gian thực, xử lý đồng thời yêu cầu từ nhiều máy trạm (client) và cho phép mở rộng linh hoạt.
  4. Áp dụng kỹ thuật học máy (Machine Learning) để tự động đánh giá trạng thái bình luận của người dùng (tích cực hoặc tiêu cực), từ đó tác động trực tiếp đến thứ hạng món ăn trên hệ thống.
  5. Xây dựng hệ thống đề xuất (Recommender System) nhằm gợi ý danh mục món ăn phù hợp với từng cá nhân dựa trên lịch sử giao dịch và dữ liệu đánh giá của người dùng.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Thư viện lập trình React Native cho giao diện di động; nền tảng Node.js và hệ quản trị cơ sở dữ liệu NoSQL MongoDB cho hệ thống máy chủ; các thuật toán học máy và học sâu phục vụ bài toán phân loại văn bản và hệ thống gợi ý gồm Logistic Regression, SVC, LightGCN và SVD.
  • Phạm vi không gian: Hệ thống được phát triển và kiểm nghiệm thực tế phục vụ nhóm đối tượng khách hàng đặt món ăn trong khu vực nội thành Thành phố Hồ Chí Minh.
  • Phạm vi kỹ thuật: Ứng dụng di động hoạt động trên hệ điều hành Android từ phiên bản Android 5.0 Lollipop (API 21) trở lên hoặc hệ điều hành iOS từ phiên bản iOS 11 trở lên.
  • Thời gian thực hiện: Kế hoạch nghiên cứu và phát triển được tiến hành từ ngày 01/03/2021 đến ngày 26/06/2021.

Cơ sở lý thuyết và phương pháp

Khóa luận thiết lập nền tảng kỹ thuật dựa trên các công nghệ phần mềm hiện đại và các thuật toán học máy chuyên dụng trong việc phân tích văn bản và lọc cộng tác:

Thành phần kỹ thuật / Công nghệ Vai trò và đặc tính kỹ thuật trong đề tài
React Native Framework mã nguồn mở sử dụng JavaScript phát triển ứng dụng di động đa nền tảng (Android và iOS), tận dụng tính năng hot reloading và quyền truy cập phần cứng (GPS, camera).
Node.js Nền tảng thực thi JavaScript phía máy chủ trên nền Google V8 Engine, sử dụng mô hình hướng sự kiện (event-driven) và cơ chế nhập xuất không phong tỏa (non-blocking I/O) giúp xử lý đồng thời nhiều kết nối theo thời gian thực.
MongoDB Hệ quản trị cơ sở dữ liệu NoSQL hướng tài liệu (Document-oriented), lưu trữ dữ liệu dưới định dạng tương tự JSON (BSON), hỗ trợ mở rộng thông qua cụm (cluster) và tốc độ truy vấn cao nhờ cơ chế cache RAM.
REST API Chuẩn kiến trúc giao tiếp hệ thống phân tán; hoạt động theo nguyên tắc phi trạng thái (stateless), sử dụng chuẩn các phương thức HTTP (GET, POST, PUT, DELETE) và cấu trúc định tuyến tài nguyên dạng URL trao đổi dữ liệu JSON.
Firebase Authentication Dịch vụ trung gian xác thực người dùng tích hợp OAuth 2.0 và OpenID Connect, hỗ trợ xác thực qua Google, Facebook, email/mật khẩu và xử lý gửi email xác nhận.
Bing Map API Giao diện lập trình bản đồ của Microsoft, cung cấp các hàm định vị tọa độ GPS, tìm kiếm đường đi và tính toán khoảng cách địa lý giữa vị trí khách hàng và đầu bếp.
Stripe API Cổng thanh toán tài chính quốc tế, cho phép xử lý giao dịch thẻ trực tuyến an toàn theo cơ chế phân tách token (tokenized charge) mà không lưu thông tin thẻ trên máy chủ ứng dụng.
Microsoft Azure Nền tảng điện toán đám mây cung cấp hạ tầng máy ảo lưu trữ máy chủ Node.js và các dịch vụ học máy (Machine Learning server).
Logistic Regression & SVC Mô hình hồi quy logistic sử dụng hàm kích hoạt Sigmoid để ước lượng xác suất phân loại nhị phân trạng thái bình luận (tích cực/tiêu cực); mô hình Support Vector Classifier (SVC) được dùng để so sánh hiệu năng.
LightGCN & SVD LightGCN (Light Graph Convolutional Network) học vector nhúng của người dùng và món ăn thông qua cơ chế lan truyền tuyến tính trên đồ thị tương tác; Singular Value Decomposition (SVD) sử dụng kỹ thuật phân rã ma trận tiện ích (utility matrix) để lọc cộng tác.

Phương pháp nghiên cứu thực nghiệm được triển khai qua các quy trình:

  1. Phương pháp phân tích - tổng hợp: Khảo sát yêu cầu bài toán đặt món ăn trực tuyến; phân rã các yêu cầu người dùng thành các sơ đồ luồng dữ liệu (DFD), sơ đồ Use Case và biểu đồ tuần tự (Sequence Diagram).
  2. Phương pháp xử lý dữ liệu ngôn ngữ tự nhiên: Thu thập và tiền xử lý bộ dữ liệu 50.000 bình luận món ăn tiếng Việt, làm sạch ký tự thừa, chuẩn hóa văn bản và tiến hành loại bỏ các từ dừng (stopwords) trước khi đưa vào mô hình học máy.
  3. Phương pháp thực nghiệm và đánh giá mô hình học máy: Sử dụng tập dữ liệu 500.142 lượt đánh giá sao (rating) của món ăn để huấn luyện các thuật toán gợi ý; tiến hành huấn luyện trong 500 chu kỳ (epochs); so sánh hàm mất mát (loss curve) giữa các mô hình Logistic Regression, SVD và LightGCN để lựa chọn mô hình tối ưu tích hợp vào ứng dụng.

Thiết kế và triển khai

Hệ thống Chefood được thiết kế theo mô hình kiến trúc phân tán gồm nhiều tầng chức năng độc lập nhằm bảo đảm tính sẵn sàng, an toàn dữ liệu và khả năng chịu tải:

[ Mobile Client: React Native (Android / iOS) ]
 [ Backend Application Server: Node.js (Hosted on Azure) ]
       HTTP / Internal RPC
[ Machine Learning Server: Python / Azure VM ]

Kiến trúc phân tầng và phân rã chức năng

  • Tầng trình diễn (Client Layer): Ứng dụng di động viết bằng React Native kết nối với người dùng qua hệ sinh thái màn hình trực quan. Mã nguồn được tổ chức theo từng module thành phần chức năng (component-based) nhằm thuận tiện cho việc bảo trì.
  • Tầng dịch vụ (Application/API Layer): Máy chủ Node.js tiếp nhận yêu cầu từ client thông qua hệ thống RESTful API, thực hiện kiểm tra quyền truy cập qua Firebase Authentication Token, tính toán logic nghiệp vụ và điều phối dữ liệu.
  • Tầng học máy (Machine Learning Layer): Được triển khai thành cụm dịch vụ chuyên biệt trên Azure, đảm nhận hai tác vụ tính toán chuyên sâu:
    1. API phân loại cảm xúc bình luận: Nhận nội dung văn bản bình luận từ người dùng, tiền xử lý và chạy qua mô hình hồi quy Logistic để trả về nhãn 0 (tiêu cực) hoặc 1 (tích cực).
    2. API khuyến nghị món ăn: Nhận định danh người dùng (User ID), truy xuất ma trận tương tác và sử dụng mô hình LightGCN để tính toán danh sách mã món ăn (Food ID) có điểm tương quan cao nhất.
  • Tầng dữ liệu (Database Layer): Sử dụng cơ sở dữ liệu NoSQL MongoDB tổ chức thành các tập tài liệu (collections) phản ánh các thực thể: Người dùng (User), Món ăn (Food), Đầu bếp (Chef), Đơn hàng (Order), Bình luận (Comment) và Đánh giá (Rating).

Kiểm thử và triển khai

Hệ thống máy chủ ứng dụng và máy chủ học máy được đóng gói và triển khai trên hạ tầng điện toán đám mây Microsoft Azure. Kiểm thử chức năng được thực hiện trên các thiết bị di động thật và máy giả lập đáp ứng yêu cầu tối thiểu Android 5.0 (API 21) và iOS 11. Các ca kiểm thử đơn vị và kiểm thử tích hợp tập trung vào chuỗi quy trình: đăng ký tài khoản, xác thực Firebase, tính toán cự ly qua Bing Map API, ủy quyền thanh toán thẻ qua Stripe, ghi nhận bình luận và cập nhật thứ hạng món ăn sau phân loại.


Nội dung chính theo từng chương

Chương 1. TỔNG QUAN ĐỀ TÀI

Chương 1 thiết lập các cơ sở mở đầu của khóa luận. Tác giả phân tích nhu cầu ăn uống tại nhà ngày càng gia tăng dưới sức ép công việc đô thị và bối cảnh dịch bệnh. Nội dung khảo sát thực trạng chỉ ra các ứng dụng giao thức ăn hiện nay (Now, Baemin, Grab Food, Loship, Vietnammm) chỉ giải quyết bài toán giao hàng và chọn địa điểm ăn uống, bỏ ngỏ việc đánh giá chất lượng chi tiết cho từng món ăn. Từ đó, chương đề ra mục tiêu xây dựng ứng dụng Chefood, làm rõ đối tượng nghiên cứu (React Native, Node.js, MongoDB, học máy), phạm vi kỹ thuật (Android 5.0+, iOS 11+, nội thành TP.HCM) và phương pháp luận triển khai.

Chương 2. CƠ SỞ LÝ THUYẾT

Chương 2 trình bày có hệ thống về cơ sở lý thuyết của các công nghệ và thuật toán được lựa chọn:

  • Trình bày kiến trúc V8 Engine, mô hình non-blocking I/O của Node.js; tính linh hoạt của cấu trúc dữ liệu JSON/BSON và cơ chế cluster trong MongoDB.
  • Phân tích ưu thế đa nền tảng, cơ chế hot reloading và khả năng tương thích plugin phần cứng của React Native.
  • Giới thiệu các dịch vụ đám mây và giao tiếp: vai trò trung gian xác thực của Firebase Authentication; 4 nguyên tắc cốt lõi của REST API; tính năng định tuyến và tối ưu quãng đường của Bing Map API; luồng xử lý mã hóa thẻ qua Stripe API; khả năng lưu trữ và mở rộng máy ảo của Microsoft Azure.
  • Trình bày toán học và nguyên lý của các thuật toán học máy: hàm Sigmoid trong Logistic Regression; phương pháp phân tích suy biến SVD trên ma trận tiện ích người dùng - mặt hàng; và cấu trúc học biểu diễn nhúng người dùng/mặt hàng qua các lớp lân cận trong đồ thị tương tác của thuật toán LightGCN.

Chương 3. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

Chương 3 tập trung vào thiết kế kỹ thuật chi tiết của hệ thống phần mềm:

  • Thiết lập sơ đồ kiến trúc hệ thống tổng quan và sơ đồ phân rã chức năng Chefood.
  • Xây dựng mô hình Use Case chi tiết cho từng phân hệ: Quản lý tài khoản, Tìm kiếm, Danh sách món ăn, Chi tiết món ăn, Đặt hàng, Đơn hàng, Chi tiết đầu bếp, Giỏ hàng.
  • Xây dựng các biểu đồ tuần tự (Sequence Diagram) mô tả luồng tương tác giữa client, server và cơ sở dữ liệu cho các chức năng: Đăng ký, Đăng nhập, Quên mật khẩu, Đăng xuất, Đánh giá món ăn, Lịch sử giao dịch, Danh sách món ăn đề xuất, Chi tiết đầu bếp, Tìm kiếm và Đặt hàng.
  • Thiết kế mô hình dữ liệu thực thể kết hợp (ERD) và ánh xạ sang cấu trúc các bảng tài liệu trong hệ thống cơ sở dữ liệu MongoDB.

Chương 4. HIỆN THỰC ỨNG DỤNG CHEFOOD

Chương 4 mô tả quá trình lập trình và hiện thực hóa các bản thiết kế thành sản phẩm phần mềm hoàn chỉnh:

  • Trình bày tổng quan ứng dụng Chefood với giao diện người dùng trực quan, thẩm mỹ.
  • Đặc tả giao diện chi tiết kèm luồng thao tác: Cụm màn hình đăng nhập, đăng ký xác thực, quên mật khẩu; Màn hình trang chủ hiển thị món ăn nổi bật, món ăn hôm nay; Màn hình chi tiết món ăn (thông tin nguyên liệu, danh sách bình luận, hình ảnh minh họa); Màn hình chi tiết đầu bếp (danh sách món đang nấu, thông tin cá nhân, bình luận đánh giá); Màn hình so sánh khoảng cách và thông tin giữa các đầu bếp.
  • Hiện thực màn hình tìm kiếm, giỏ hàng, xác nhận thanh toán trực tuyến qua thẻ với Stripe, quản lý lịch sử đơn hàng, cập nhật hồ sơ cá nhân và màn hình đánh giá/nhận xét món ăn sau khi hoàn tất đơn hàng.

Chương 5. THỬ NGHIỆM VÀ BÀN LUẬN

Chương 5 cung cấp các dữ liệu thực nghiệm và phân tích hiệu năng của các mô hình học máy:

  • Mô hình đánh giá trạng thái bình luận: Thực nghiệm trên bộ dữ liệu 50.000 bình luận món ăn. Dữ liệu trải qua các bước tiền xử lý, loại bỏ từ dừng và vector hóa. Kết quả huấn luyện bằng thuật toán Logistic Regression và SVC được so sánh; mô hình Logistic Regression cho thấy khả năng hội tụ tốt, tính toán nhanh và phù hợp để tích hợp phân loại nhị phân thời gian thực trên hệ thống.
  • Mô hình đề xuất món ăn: Thực nghiệm trên bộ dữ liệu gồm 500.142 bản ghi đánh giá sao món ăn. Tác giả tiến hành huấn luyện qua 500 epochs để so sánh ba thuật toán: Logistic Regression, LightGCN và SVD.
  • Dựa trên đồ thị suy giảm tỉ lệ mất mát (loss curve) qua 500 epochs, thuật toán LightGCN thể hiện ưu thế vượt trội trong việc khai thác mối quan hệ tương tác đồ thị giữa người dùng và món ăn, đạt sai số tối ưu so với SVD và Logistic Regression, qua đó được lựa chọn làm giải thuật khuyến nghị chính thức trong Chefood.

Chương 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Chương 6 tổng kết toàn bộ kết quả đạt được của khóa luận: đã xây dựng thành công ứng dụng di động hoàn chỉnh đáp ứng đầy đủ yêu cầu nghiệp vụ, kết nối thông suốt giữa ứng dụng di động, máy chủ Node.js và hệ thống phân loại/gợi ý học máy. Đồng thời, chương chỉ rõ các điểm hạn chế về mặt vận hành, dữ liệu và đề xuất các định hướng nâng cấp trong tương lai.


Kết quả và đóng góp

Khóa luận đã hoàn thành các nội dung chuyên môn và đóng góp các giá trị cụ thể sau:

  1. Sản phẩm ứng dụng di động hoàn chỉnh:

    • Xây dựng thành công ứng dụng Chefood hoạt động tương thích trên cả hai nền tảng Android (5.0+) và iOS (11+).
    • Thiết kế hệ thống máy chủ Node.js kết hợp MongoDB vận hành ổn định trên đám mây Microsoft Azure, bảo đảm xử lý các yêu cầu theo thời gian thực.
    • Tích hợp thành công các dịch vụ tiện ích bên ngoài: Firebase Authentication (quản lý phiên xác thực tập trung), Bing Map API (hỗ trợ tính cự ly người dùng - đầu bếp) và Stripe API (xử lý thanh toán thẻ quốc tế).
  2. Dữ liệu thực nghiệm và tích hợp học máy:

    • Hoàn thiện quy trình thu thập và tiền xử lý bộ dữ liệu 50.000 bình luận món ăn tiếng Việt; ứng dụng thành công thuật toán Logistic Regression để phân loại sắc thái bình luận, hỗ trợ điều chỉnh thứ hạng món ăn tự động.
    • Thực nghiệm và so sánh thành công 3 thuật toán (Logistic Regression, LightGCN, SVD) trên tập dữ liệu 500.142 bản ghi đánh giá qua 500 epochs huấn luyện; chứng minh hiệu quả thực tế của mô hình đồ thị tích chập rút gọn LightGCN trong bài toán lọc cộng tác cho ứng dụng đặt món.
Tham số / Tiêu chí thực nghiệm Mô hình Phân loại bình luận Hệ thống Đề xuất món ăn
Quy mô tập dữ liệu 50.000 bình luận món ăn 500.142 lượt đánh giá sao món ăn
Kỹ thuật tiền xử lý Làm sạch văn bản, loại bỏ stopwords Chuẩn hóa ma trận tương tác người dùng - món ăn
Mô hình thử nghiệm Logistic Regression, SVC Logistic Regression, SVD, LightGCN
Số chu kỳ huấn luyện (Epochs) Theo tiêu chuẩn hội tụ hàm mất mát 500 epochs (theo dõi loss curve)
Mô hình tối ưu được lựa chọn Logistic Regression (nhị phân tích cực/tiêu cực) LightGCN (lọc cộng tác trên đồ thị tương tác)
  1. Đóng góp mới so với các ứng dụng khảo sát:
    • Khác biệt với mô hình của Baemin, Now hay GrabFood tại thời điểm nghiên cứu (chỉ cho phép đánh giá địa điểm quán ăn chung), Chefood triển khai chức năng ghi nhận và phân loại bình luận trực tiếp trên từng món ăn đơn lẻ.
    • Kết hợp kết quả phân tích sắc thái bình luận với thuật toán đề xuất để điều phối thứ hạng hiển thị, giúp cá nhân hóa danh mục món ăn dựa trên khẩu vị và lịch sử mua hàng thực tế của từng khách hàng.

Hạn chế và hướng nghiên cứu tiếp

Căn cứ trên các nội dung văn bản được nhóm tác giả tổng kết tại Chương 6, đề tài còn tồn tại một số hạn chế và đề ra hướng nghiên cứu tiếp theo:

Hạn chế còn tồn đọng

  • Phạm vi địa lý: Ứng dụng mới chỉ dừng lại ở phạm vi nghiên cứu và triển khai thử nghiệm cho các khách hàng đặt món ăn trong khu vực nội thành Thành phố Hồ Chí Minh.
  • Mô hình phân loại bình luận: Thuật toán Logistic Regression hiện tại mới phân loại nhị phân ở hai mức trạng thái đơn giản (tích cực hoặc tiêu cực), chưa phân tích sâu các sắc thái biểu cảm phức tạp hoặc trích xuất thuộc tính chi tiết của món ăn (aspect-based sentiment analysis).
  • Hệ thống người dùng: Hệ thống mới tập trung phát triển phân hệ giao diện dành cho khách hàng đặt món, chưa có phân hệ ứng dụng độc lập dành riêng cho các đầu bếp để quản lý thực đơn, nhận đơn hàng và quản lý doanh thu theo thời gian thực.
  • Cổng thanh toán: Ứng dụng mới tích hợp cổng Stripe hỗ trợ thanh toán thẻ quốc tế, chưa tích hợp các ví điện tử và cổng thanh toán nội địa phổ biến tại Việt Nam.

Hướng nghiên cứu và phát triển tiếp theo

  • Mở rộng quy mô thử nghiệm và phạm vi phục vụ của ứng dụng sang các khu vực ngoại thành và các tỉnh thành khác.
  • Nghiên cứu áp dụng các mạng nơ-ron học sâu tiên tiến hơn cho bài toán xử lý ngôn ngữ tự nhiên tiếng Việt nhằm phân loại bình luận đa mức độ và nhận diện tự động nguyên nhân hài lòng/không hài lòng của khách hàng.
  • Xây dựng và hoàn thiện phân hệ ứng dụng di động riêng biệt dành cho đối tượng đầu bếp (Chef App) nhằm đồng bộ hóa quy trình tiếp nhận đơn hàng, cập nhật tình trạng món ăn và báo cáo thu nhập.
  • Tích hợp thêm các phương thức thanh toán điện tử nội địa thông dụng (như ví MoMo, ZaloPay, VNPay) để tăng tính tiện lợi cho người dùng tại thị trường Việt Nam.

Giá trị tham khảo

Báo cáo khóa luận là tài liệu học thuật và kỹ thuật có giá trị tham khảo thiết thực cho các đối tượng sau:

  • Sinh viên chuyên ngành Truyền thông và Mạng máy tính, Kỹ thuật Phần mềm, Khoa học Máy tính: Tài liệu minh họa trực quan quy trình phát triển một hệ thống ứng dụng di động hoàn chỉnh từ khâu khảo sát, phân tích yêu cầu, thiết kế UML (Use Case, DFD, Sequence Diagram, ERD) đến khâu hiện thực hóa trên nền tảng React Native và Node.js.
  • Người nghiên cứu hệ thống khuyến nghị và phân tích cảm xúc: Chương 2 và Chương 5 là tài liệu tham khảo chi tiết về cách thức triển khai tiền xử lý dữ liệu tiếng Việt (loại bỏ từ dừng), quy trình huấn luyện thuật toán Logistic Regression và cách ứng dụng mô hình đồ thị LightGCN (SIGIR 2020) so sánh với mô hình SVD truyền thống trên tập dữ liệu hơn nửa triệu bản ghi.
  • Kỹ sư tích hợp hệ thống phân tán: Cung cấp hướng dẫn kiến trúc tích hợp nhiều dịch vụ điện toán đám mây và bên thứ ba (Microsoft Azure, Firebase Authentication, Stripe API, Bing Map API) vào một ứng dụng di động duy nhất, đảm bảo tính bảo mật và tính khả dụng của dịch vụ.

Câu hỏi thường gặp

1. Ứng dụng Chefood khắc phục nhược điểm gì của các ứng dụng đặt món hiện nay như Baemin?
Khảo sát của tác giả cho thấy ứng dụng Baemin chỉ cho phép người dùng nhận xét, đánh giá chung cho toàn bộ quán ăn bằng biểu mẫu định sẵn mà không hỗ trợ đánh giá trực tiếp trên từng món ăn cụ thể đã đặt. Chefood giải quyết hạn chế này bằng cách cho phép người dùng bình luận trực tiếp trên từng món ăn sau khi hoàn tất đơn hàng, đồng thời dùng thuật toán học máy phân tích phản hồi để xếp hạng chất lượng món ăn và làm căn cứ gợi ý cho người dùng khác.

2. Mô hình phân loại trạng thái bình luận trong khóa luận sử dụng thuật toán nào và quy mô dữ liệu ra sao?
Mô hình phân loại bình luận sử dụng thuật toán hồi quy Logistic Regression (kết hợp thử nghiệm so sánh với Support Vector Classifier - SVC), được huấn luyện trên bộ dữ liệu gồm 50.000 bình luận món ăn tiếng Việt đã trải qua các bước tiền xử lý chuẩn hóa và loại bỏ từ dừng (stopwords). Kết quả phân loại nhị phân xác định nội dung bình luận là tích cực hay tiêu cực.

3. Thuật toán nào được lựa chọn cho hệ thống gợi ý món ăn và vì sao?
Thuật toán LightGCN (Light Graph Convolutional Network) được lựa chọn để xây dựng hệ thống gợi ý món ăn. Khi thử nghiệm qua 500 epochs trên tập dữ liệu gồm 500.142 bản ghi đánh giá sao món ăn, LightGCN cho thấy hàm mất mát (loss) giảm ổn định và tối ưu hơn đáng kể so với hai thuật toán được đối sánh là SVD (Singular Value Decomposition) và Logistic Regression.

4. Kiến trúc công nghệ của hệ thống Chefood bao gồm những nền tảng nào?
Hệ thống sử dụng React Native để phát triển ứng dụng di động đa nền tảng (Android và iOS); Node.js và MongoDB xây dựng máy chủ back-end RESTful API; Microsoft Azure dùng làm hạ tầng lưu trữ đám mây cho server và mô hình học máy; Firebase Authentication quản lý phiên xác thực người dùng; Bing Map API dùng để tính khoảng cách và định vị; Stripe API xử lý thanh toán thẻ trực tuyến.

5. Ứng dụng Chefood yêu cầu cấu hình thiết bị di động như thế nào để cài đặt và thử nghiệm?
Ứng dụng yêu cầu thiết bị di động chạy hệ điều hành Android từ phiên bản Android 5.0 Lollipop (API mức 21) trở lên hoặc hệ điều hành iOS từ phiên bản iOS 11 trở lên.


Kết luận

Khóa luận tốt nghiệp của sinh viên Nguyễn Chí Thanh và Nguyễn Hữu Vĩnh Nghi đã giải quyết trọn vẹn bài toán xây dựng ứng dụng di động đặt món ăn "Chefood" kết nối khách hàng với các đầu bếp gia đình, phục vụ trên địa bàn nội thành Thành phố Hồ Chí Minh. Đề tài kết hợp thành công kiến trúc phần mềm phân tán (React Native, Node.js, MongoDB trên Microsoft Azure) với các mô hình học máy chuyên sâu gồm Logistic Regression để phân loại trạng thái bình luận và LightGCN để khuyến nghị món ăn cá nhân hóa dựa trên dữ liệu đánh giá thực nghiệm. Báo cáo khóa luận được trình bày mạch lạc, sở hữu hệ thống sơ đồ thiết kế chi tiết cùng các số liệu thử nghiệm cụ thể, đóng vai trò là một tài liệu tham khảo kỹ thuật hữu ích cho sinh viên và kỹ sư trong lĩnh vực phát triển ứng dụng di động tích hợp trí tuệ nhân tạo.