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

Thương mại điện tử (TMĐT) ghi nhận tốc độ tăng trưởng nhanh chóng trên quy mô toàn cầu. Theo báo cáo "Top e-commerce cities in Asia", doanh thu TMĐT thế giới đạt 2,86 nghìn tỷ USD vào năm 2018 và được dự báo đạt mức 6 nghìn tỷ USD vào năm 2022. Tại Việt Nam, theo báo cáo e-Conomy SEA 2019 của Google và Temasek, quy mô thị trường TMĐT đầu năm 2020 đạt khoảng 5 tỷ USD. Số liệu từ Bộ Công Thương (tháng 11/2020) cho thấy Việt Nam có hơn 59,4 triệu người dùng Internet (chiếm 66% dân số), khoảng 44,8 triệu người từng mua sắm trực tuyến, và doanh thu TMĐT bán lẻ tăng từ 2,2 tỷ USD năm 2013 lên 10,08 tỷ USD năm 2020, chiếm 4,9% tổng mức bán lẻ và dịch vụ tiêu dùng cả nước.

Sự bùng phát của dịch bệnh Covid-19 cùng nhu cầu hạn chế tiếp xúc trực tiếp đã thúc đẩy thói quen mua sắm trực tuyến. Tuy nhiên, các kênh mua bán hiện nay bộc lộ một số hạn chế nhất định:

  • Nền tảng rao vặt chuyên dụng (như Chợ Tốt): Tồn tại tình trạng kiểm duyệt nhầm các tin đăng khác nhau nhưng trùng lặp một số từ khóa; hệ thống gợi ý chỉ áp dụng cho một số danh mục tin; thiếu tính năng quản lý vòng đời đơn hàng; cơ chế thu phí cố định để đẩy tin gây bất lợi cho người bán các sản phẩm có giá trị thấp.
  • Mạng xã hội (Facebook, Zalo, Instagram): Bài đăng bán hàng dễ bị trôi bài trong luồng thông tin chung, khó phân loại và tìm kiếm sản phẩm, đồng thời không có công cụ theo dõi và quản lý trạng thái đơn hàng.

Trước thực tế đó, khóa luận đặt mục tiêu nghiên cứu và phát triển một ứng dụng di động rao vặt phi lợi nhuận nhằm hỗ trợ việc đăng tin, quản lý đơn hàng và tích hợp hệ thống khuyến nghị sản phẩm tự động.

Nhiệm vụ nghiên cứu cụ thể bao gồm:

  1. Tìm hiểu framework Flutter và cơ sở dữ liệu NoSQL (Firebase).
  2. Nghiên cứu quy trình vận hành mua bán hàng hóa trên các nền tảng thương mại điện tử và ứng dụng rao vặt hiện hành.
  3. Nghiên cứu lý thuyết và các thuật toán trong hệ thống gợi ý (Recommender Systems), đặc biệt là thuật toán Lọc cộng tác bằng mạng nơ-ron (Neural Collaborative Filtering - NCF).
  4. Phân tích, thiết kế và cài đặt hoàn chỉnh ứng dụng di động kết nối người mua - người bán, tích hợp tính năng gợi ý sản phẩm.

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

  • Đối tượng nghiên cứu: Quy trình giao dịch thương mại điện tử (lịch sử mua hàng, tin rao vặt, quản lý đơn hàng, thông tin cá nhân); các thuật toán hệ thống khuyến nghị; kỹ thuật lập trình ứng dụng di động.
  • Phạm vi không gian: Tập trung vào cộng đồng sinh viên tại Khu đô thị Đại học Quốc gia Thành phố Hồ Chí Minh và người dùng có nhu cầu mua bán hàng hóa nói chung.
  • Phạm vi chức năng và dữ liệu: Hỗ trợ 2 nhóm mặt hàng chính gồm Rao vặt ăn uống và Rao vặt đồ dùng (hàng mới và hàng thanh lý).

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

Khóa luận kết hợp giữa phương pháp nghiên cứu phát triển phần mềm theo mô hình hướng đối tượng và phương pháp thực nghiệm mô hình học sâu:

1. Công nghệ phát triển ứng dụng

  • Framework Flutter: Nền tảng mã nguồn mở của Google phát triển trên cơ chế kết hợp các Widget (Text, Button, Row, Column, Scaffold, Stack, Container). Hệ thống áp dụng các mô hình quản lý trạng thái như Provider, setState và BLoC (Business Logic Component).
  • Ngôn ngữ Dart: Ngôn ngữ hướng đối tượng hỗ trợ cơ chế biên dịch Just-In-Time (JIT) phục vụ tính năng Hot Reload trong quá trình phát triển và Ahead-Of-Time (AOT) để tối ưu hiệu năng trên nền tảng di động (ARM, x86). Khóa luận sử dụng các thư viện chuẩn gồm dart:async, dart:collection, dart:convert, dart:core, dart:io và các package mở rộng (http, yaml).
  • Nền tảng Backend-as-a-Service (Firebase):
    • Cloud Firestore & Realtime Database: Lưu trữ dữ liệu dạng tài liệu NoSQL (JSON/tree structure), đồng bộ hóa dữ liệu thời gian thực.
    • Firebase Authentication: Xác thực tài khoản người dùng qua Email/OTP.
    • Firebase Cloud Messaging (FCM): Gửi thông báo đẩy với gói tin dung lượng dưới 4KB.
    • Cloud Storage: Lưu trữ tệp tin hình ảnh sản phẩm.
    • Google Analytics: Đo lường các sự kiện tương tác trong ứng dụng.

2. Mô hình hệ thống khuyến nghị

  • Collaborative Filtering (CF): Phương pháp lọc cộng tác truyền thống dựa trên độ tương đồng giữa người dùng (User-based) hoặc sản phẩm (Item-based) thông qua các phép đo như Cosine Similarity, Pearson Correlation, Jaccard Coefficient.
  • Neural Collaborative Filtering (NCF): Mô hình học sâu do Xiangnan He và cộng sự đề xuất (2017), khắc phục hạn chế tuyến tính của phân rã ma trận truyền thống. Mô hình bao gồm 4 tầng chính:
    • Tầng Input: Biểu diễn One-hot vector cho User $u$ và Item $i$.
    • Tầng Embedding: Ánh xạ vector thưa thành vector tiềm ẩn dày đặc (Dense Latent Vector).
    • Tầng Neural CF Layers: Kết hợp giữa Phân rã ma trận tổng quát (Generalized Matrix Factorization - GMF) và Mạng Perceptron đa tầng (Multi-Layer Perceptron - MLP) để học các tương tác phi tuyến tính phức tạp.
    • Tầng Output: Sử dụng hàm kích hoạt Sigmoid kết hợp hàm mất mát Binary Cross-Entropy (Log-loss) để đưa ra điểm số dự đoán khả năng tương tác.
  • Xử lý vấn đề khởi động lạnh (Cold-start):
    • Đối với người dùng mới (chưa có lịch sử giao dịch): Hệ thống xuất danh sách top 10 sản phẩm bán chạy nhất.
    • Đối với sản phẩm mới đăng: Ưu tiên hiển thị lên vị trí đầu trong danh mục sản phẩm.

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

Chương 1: Mở đầu

Trình bày bối cảnh chung của ngành TMĐT thế giới và Việt Nam, đặt vấn đề nghiên cứu về nhu cầu trao đổi hàng hóa tại khu đô thị đại học. Xác định rõ mục đích, nhiệm vụ, đối tượng và phạm vi nghiên cứu của đề tài.

Chương 2: Tổng quan

Phân tích hiện trạng thị trường TMĐT Việt Nam dựa trên các báo cáo thống kê từ Bộ Công Thương và iPrice Insights (ghi nhận Shopee đạt 62,7 triệu lượt truy cập/tháng, Thế Giới Di Động đạt 29,5 triệu lượt/tháng, Tiki đạt 22,6 triệu lượt/tháng trong quý 3/2020). Khảo sát ưu và nhược điểm của các ứng dụng rao vặt hiện hành (Chợ Tốt) và mạng xã hội, từ đó xác định yêu cầu xây dựng ứng dụng tích hợp cả chức năng đăng tin, quản lý đơn hàng và gợi ý thông minh.

Chương 3: Cơ sở lý thuyết

Trình bày chi tiết kiến trúc kỹ thuật của Flutter, ngôn ngữ lập trình Dart và hệ sinh thái Firebase BaaS. Phân tích nền tảng ngôn ngữ Python, thư viện học sâu Keras và các thuật toán tối ưu hóa mạng nơ-ron (SGD, RMSprop, Adam) phục vụ xây dựng mô hình gợi ý.

Chương 4: Hệ thống gợi ý sản phẩm

Khái quát lý thuyết lọc cộng tác truyền thống và phân tích chuyên sâu mô hình NCF (kết hợp GMF và MLP). Trình bày kết quả thử nghiệm mô hình NCF trên tập dữ liệu chuẩn MovieLens, so sánh hiệu năng theo chỉ số Hit-rate (HR@10) với thuật toán CF cổ điển, và thiết lập quy trình tích hợp thuật toán NCF vào luồng dữ liệu ứng dụng.

Chương 5: Phân tích và thiết kế hệ thống

Xác định các yêu cầu chức năng, phi chức năng và yêu cầu lưu trữ. Xây dựng tài liệu đặc tả UML gồm sơ đồ Use Case tổng quát, bảng mô tả 2 tác nhân (User, Admin), các sơ đồ hoạt động (Activity Diagram), sơ đồ tuần tự (Sequence Diagram), sơ đồ lớp (Class Diagram) và sơ đồ trạng thái (State Diagram) cho người dùng, tin đăng, đơn hàng. Thiết kế chi tiết cấu trúc 14 collection trên cơ sở dữ liệu Cloud Firestore.

Chương 6: Cài đặt ứng dụng

Trình bày cấu hình môi trường triển khai hệ thống và thiết kế giao diện hoàn chỉnh của các màn hình chức năng trên ứng dụng di động: Đăng ký xác thực OTP qua email, Đăng nhập, Đăng tin rao vặt (tối đa 5 ảnh), Duyệt tin của Admin, Danh mục sản phẩm, Giỏ hàng, Quản lý đơn hàng mua/bán, Danh sách sản phẩm yêu thích, Kênh người bán và màn hình Chi tiết sản phẩm.

Chương 7: Đánh giá kết quả

Tổng kết các chức năng đã xây dựng trên ứng dụng và đánh giá mức độ đáp ứng mục tiêu đề tài thông qua thử nghiệm thực tế luồng tương tác và kết quả xử lý của hệ thống gợi ý.

Chương 8: Hướng phát triển

Đề xuất các giải pháp nâng cấp trong tương lai như mở rộng quy mô hệ thống, tích hợp các phương thức thanh toán trực tuyến và hoàn thiện cơ chế thu thập dữ liệu hành vi người dùng theo thời gian thực.

Thiết kế và triển khai

Hệ thống được thiết kế theo kiến trúc hướng đối tượng kết hợp kiến trúc dịch vụ đám mây Firebase và module xử lý AI độc lập:

[Flutter Mobile Client] <---> [Firebase Services (Firestore, Auth, Storage, FCM)]
                                     ^
                                     | (Đồng bộ dữ liệu lịch sử)
                                     v
                        [NCF Recommendation Engine (Python/Keras)]

1. Phân tích tác nhân và cơ chế kiểm duyệt

  • Người dùng (User): Thực hiện đăng ký/đăng nhập qua email có xác thực OTP; cập nhật thông tin cá nhân; đăng tin mua/bán (tối đa 5 hình ảnh/tin); tìm kiếm và lọc sản phẩm; thêm vào giỏ hàng và đặt hàng; quản lý danh sách đơn hàng mua và đơn hàng bán; tương tác kênh người bán (đăng ký/hủy đăng ký kênh, thêm sản phẩm yêu thích); gửi báo cáo (report) đối với các tin đăng vi phạm.
  • Quản trị viên (Admin): Kế thừa toàn bộ quyền của người dùng thông thường và có thêm thẩm quyền kiểm duyệt các tin rao vặt mới đăng hoặc tin được cập nhật trước khi hiển thị công khai.
  • Cơ chế hủy tin tự động: Nhằm duy trì tính minh bạch của cộng đồng, một bài đăng nhận đủ 10 lượt báo cáo vi phạm từ 10 tài khoản khác nhau sẽ bị hệ thống tự động hủy hiển thị.

2. Cấu trúc cơ sở dữ liệu (Cloud Firestore)

Cơ sở dữ liệu được tổ chức thành 14 collection chính:

Tên Collection Chức năng lưu trữ
District Danh mục quận/huyện theo chuẩn địa giới hành chính Việt Nam
Province Danh mục tỉnh/thành phố
Ward Danh mục phường/xã
User Thông tin tài khoản người dùng, thông tin kênh và ảnh đại diện
Favorite channel Danh sách các kênh người bán được người dùng theo dõi
favorite product Danh sách các sản phẩm người dùng đánh dấu yêu thích
listCartItem Chi tiết các mặt hàng trong giỏ hàng của từng tài khoản
notification Dữ liệu thông báo đẩy khi có biến động đơn hàng hoặc trạng thái
order Thông tin đơn đặt hàng, chi tiết sản phẩm, địa chỉ giao hàng và trạng thái
post Nội dung tin rao vặt, giá cả, trạng thái duyệt và hình ảnh
post category Phân loại tin đăng (tin bán hoặc tin mua)
product category Phân loại danh mục sản phẩm (ăn uống, đồ dùng mới, thanh lý)
recommendation product Danh sách top 10 sản phẩm đề xuất cho từng người dùng
report post Ghi nhận thông tin tài khoản và lý do báo cáo tin vi phạm

3. Quy trình vận hành hệ thống khuyến nghị NCF

Dữ liệu mua hàng (gồm userId, productId, productName, rating) được trích xuất định kỳ từ Firebase dưới định dạng CSV. Máy chủ AI chạy ngầm theo chu kỳ tự động hàng ngày:

  1. Nạp ma trận tương tác người dùng - sản phẩm.
  2. Huấn luyện mô hình NeuMF (kết hợp GMF + MLP) với hàm tối ưu hóa Adam.
  3. Dự đoán và lọc ra danh sách 10 sản phẩm có điểm số cao nhất mà người dùng đó chưa từng mua và không thuộc quyền sở hữu của chính người dùng đó.
  4. Ghi kết quả vào collection recommendation product trên Firestore để hiển thị trực tiếp lên giao diện người dùng.

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

1. Kết quả thực nghiệm mô hình khuyến nghị

Mô hình NCF được cài đặt và huấn luyện trên tập dữ liệu chuẩn MovieLens (ml-1m gồm 6.040 người dùng, 3.706 sản phẩm) với các tham số: batch_size = 256, epochs = 20, cấu trúc tầng ẩn MLP = [64, 32, 16, 8], learning_rate = 0.001, thuật toán tối ưu Adam, số hệ số tiềm ẩn num_factors = 8, số mẫu âm num_neg = 4.

Hiệu năng gợi ý được đánh giá thông qua chỉ số Hit-rate trong top 10 sản phẩm đề xuất (HR@10):

$$HR = \frac{\text{Số lần tương tác đúng với đề xuất}}{\text{Tổng lượt tương tác}}$$

Thuật toán Chỉ số Hit-rate (HR@10)
Collaborative Filtering truyền thống (CF) 0,5098 (50,98%)
Neural Collaborative Filtering (NCF) 0,6813 (68,13%)

Kết quả thực nghiệm cho thấy mô hình NCF đạt độ chính xác tương tác cao hơn đáng kể (0,6813 so với 0,5098), chứng minh khả năng khai phá các mối quan hệ phi tuyến tính tiềm ẩn giữa người dùng và sản phẩm.

2. Đóng góp của đề tài

  • Xây dựng thành công ứng dụng di động hoàn chỉnh bằng Flutter và Firebase phục vụ hoạt động rao vặt trực tuyến cho sinh viên khu đô thị ĐHQG TP.HCM.
  • Tích hợp thành công module quản lý vòng đời đơn hàng (từ đặt hàng, xác nhận, chuyển trạng thái đến nhận đơn) vào nền tảng rao vặt — tính năng vốn bị thiếu trên các nền tảng mạng xã hội và một số ứng dụng rao vặt truyền thống.
  • Triển khai giải pháp gợi ý sản phẩm tự động dựa trên mạng nơ-ron học sâu NCF, kết hợp chiến lược xử lý khởi động lạnh (Cold-start) phù hợp với ứng dụng thực tế.
  • Xây dựng cơ chế kiểm duyệt nội dung hai lớp: kiểm duyệt phê duyệt bài của Quản trị viên và cơ chế tự động hủy tin khi đạt ngưỡng 10 lượt báo cáo từ cộng đồng.

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

1. Hạn chế

  • Mô hình gợi ý NCF được huấn luyện định kỳ dạng batch (theo ngày) thay vì cập nhật theo thời gian thực (real-time stream) ngay khi phát sinh tương tác mới.
  • Xử lý khởi động lạnh cho người dùng mới và sản phẩm mới chủ yếu dựa trên quy tắc đơn giản (top sản phẩm bán chạy hoặc ưu tiên bài đăng mới) mà chưa tích hợp sâu các đặc trưng ngữ cảnh hoặc nội dung chi tiết (Content-based).
  • Hệ thống chưa tích hợp cổng thanh toán trực tuyến và API tính phí vận chuyển từ các đơn vị giao hàng logistics bên thứ ba.

2. Hướng nghiên cứu tiếp

  • Nâng cấp mô hình khuyến nghị học sâu theo thời gian thực để phản hồi tức thì với hành vi bấm xem, tìm kiếm của người dùng.
  • Tích hợp cổng thanh toán điện tử (ví điện tử, thẻ ngân hàng) và liên kết các dịch vụ vận chuyển tự động.
  • Mở rộng phạm vi triển khai và thu thập tập dữ liệu thực tế quy mô lớn để tinh chỉnh tham số mô hình nơ-ron.

Giá trị tham khảo

Khóa luận là tài liệu tham khảo chuyên môn phù hợp cho:

  • Sinh viên ngành Hệ thống Thông tin, Kỹ thuật Phần mềm và Khoa học Máy tính: Tham khảo cấu trúc tài liệu đặc tả hệ thống phần mềm chuẩn mực (UML diagrams, thiết kế CSDL NoSQL Cloud Firestore).
  • Lập trình viên ứng dụng di động: Cung cấp tài liệu mẫu về việc áp dụng framework Flutter, ngôn ngữ Dart, và kiến trúc quản lý trạng thái BLoC kết hợp hệ sinh thái Firebase.
  • Người nghiên cứu hệ khuyến nghị (Recommender Systems): Tham khảo mã nguồn, cấu hình tham số mạng nơ-ron, quy trình tiền xử lý ma trận dữ liệu và cách thức tích hợp mô hình NCF vào một ứng dụng thực tế.

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

1. Khóa luận sử dụng tập dữ liệu nào để thử nghiệm và so sánh hiệu năng thuật toán gợi ý?
Nhóm tác giả sử dụng tập dữ liệu chuẩn MovieLens (ml-1m) bao gồm thông tin của 6.040 người dùng và 3.706 sản phẩm để huấn luyện và đánh giá mô hình.

2. Kết quả chỉ số Hit-rate (HR@10) của thuật toán NCF so với CF truyền thống đạt bao nhiêu?
Trong thử nghiệm top 10 sản phẩm đề xuất, mô hình NCF đạt chỉ số Hit-rate là 0,6813 (68,13%), vượt trội so với thuật toán Collaborative Filtering truyền thống đạt 0,5098 (50,98%).

3. Hệ thống xử lý vấn đề khởi động lạnh (Cold-start) như thế nào?
Khi người dùng chưa đăng nhập hoặc chưa có lịch sử mua hàng, hệ thống sẽ tự động hiển thị top 10 sản phẩm bán chạy nhất. Đối với các mặt hàng mới đăng, hệ thống ưu tiên hiển thị ở vị trí đầu của danh mục sản phẩm.

4. Ứng dụng áp dụng quy tắc cộng đồng nào để tự động hủy các tin đăng vi phạm?
Hệ thống thiết lập cơ chế quản lý báo cáo vi phạm (report post); nếu một tin đăng nhận đủ 10 lượt báo cáo từ 10 tài khoản người dùng khác nhau, tin đăng đó sẽ tự động bị hủy hiển thị.

5. Cơ sở dữ liệu của ứng dụng được xây dựng trên công nghệ nào và bao gồm bao nhiêu collection?
Ứng dụng sử dụng cơ sở dữ liệu đám mây NoSQL Cloud Firestore của Firebase, được thiết kế và tổ chức thành 14 collection dữ liệu độc lập.

Kết luận

Khóa luận tốt nghiệp của sinh viên Bùi Thị Huyền Trân và Nguyễn Thị Kim Yến đã hoàn thành việc nghiên cứu, thiết kế và xây dựng thành công ứng dụng di động rao vặt đa nền tảng bằng Flutter và Firebase. Đề tài giải quyết hiệu quả bài toán kết nối giao dịch hàng hóa cho cộng đồng sinh viên tại Khu đô thị Đại học Quốc gia TP.HCM thông qua các chức năng quản lý tin đăng, theo dõi đơn hàng và kiểm duyệt cộng đồng. Đồng thời, việc ứng dụng thành công mô hình học sâu Neural Collaborative Filtering đã nâng cao đáng kể độ chính xác trong việc gợi ý sản phẩm cá nhân hóa cho người dùng.