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

Trong bối cảnh chuyển đổi số và sự phát triển mạnh mẽ của thương mại điện tử, hành vi tiêu dùng của người dân có sự thay đổi rõ rệt. Việc mua sắm trực tuyến các mặt hàng chăm sóc sức khỏe ngày càng trở nên phổ biến và đóng vai trò thiết yếu. Tuy nhiên, sự đa dạng của các dòng sản phẩm khiến người tiêu dùng gặp khó khăn trong việc lựa chọn sản phẩm phù hợp với nhu cầu và đặc điểm cá nhân. Do đó, việc xây dựng một hệ thống thương mại điện tử chuyên biệt tích hợp công nghệ trí tuệ nhân tạo và máy học nhằm phân tích hành vi, cá nhân hóa trải nghiệm người dùng và tối ưu hóa hoạt động bán hàng là yêu cầu cấp thiết.

Khóa luận xác định mục tiêu nghiên cứu và hệ thống các nhiệm vụ cụ thể:

  1. Mục tiêu nghiên cứu:

    • Xây dựng sàn thương mại điện tử trên nền tảng di động có khả năng gợi ý sản phẩm thông minh cho người dùng.
    • Cung cấp các phương thức thanh toán tiện lợi (COD, MOMO với tính năng tự động hoàn tiền khi hủy đơn) và theo dõi trạng thái đơn hàng qua ứng dụng và email.
    • Xây dựng hệ thống phân tích dữ liệu đơn hàng và đánh giá sản phẩm nhằm tối ưu hóa quy trình mua sắm, hỗ trợ nhà cung cấp quản lý tồn kho và thống kê doanh số.
  2. Nhiệm vụ lý thuyết:

    • Nghiên cứu mô hình kiến trúc MVC, Clean Architecture và lập trình hướng đối tượng (OOP).
    • Nghiên cứu bộ công cụ phát triển ứng dụng di động Flutter cùng các thư viện quản lý trạng thái và định tuyến: Bloc, Cubit, GetIt, Auto_router, Retrofit, Dio, Json_serializable, VelocityX, Freeze.
    • Nghiên cứu nền tảng Node.js, Express.js để xây dựng hệ thống RESTful API.
    • Nghiên cứu ngôn ngữ Python, micro-framework Flask phục vụ thu thập dữ liệu và xử lý mô hình học máy.
    • Nghiên cứu hệ quản trị cơ sở dữ liệu Microsoft SQL Server, hệ thống lưu trữ bộ nhớ đệm Redis và dịch vụ Firebase.
    • Nghiên cứu xây dựng giao diện web quản trị bằng JavaScript, ReactJS, Redux Toolkit, Tailwind CSS, Ant Design và Axios.
    • Nghiên cứu giải pháp tìm kiếm phân tán Elasticsearch và trực quan hóa Kibana.
    • Nghiên cứu thuật toán gợi ý sản phẩm: Gợi ý dựa trên nội dung (Content-based Recommendation System) và Lọc cộng tác (Collaborative Filtering).
    • Nghiên cứu kỹ thuật xử lý ngôn ngữ tự nhiên (NLP), thuật toán vector hóa dữ liệu văn bản TF-IDF (Term Frequency – Inverse Document Frequency) và độ đo tương đồng Cosine Similarity.
  3. Nhiệm vụ thực hành:

    • Thu thập và tiền xử lý dữ liệu từ sàn thương mại điện tử Shopee bằng các thư viện Python.
    • Xây dựng mô hình máy học kết hợp giữa Content-based và Collaborative Filtering.
    • Xây dựng ứng dụng di động đa nền tảng bằng Flutter và giao diện web quản trị bằng ReactJS.
    • Xây dựng backend với Express.js, tối ưu hóa tốc độ xử lý API, tích hợp cổng thanh toán MOMO và dịch vụ vận chuyển Giao Hàng Nhanh.
    • Áp dụng Redis cache và Elasticsearch để tăng tốc độ truy vấn, tìm kiếm sản phẩm.
    • Thiết lập các giải pháp bảo mật: kiểm thực dữ liệu đầu vào (validation) và ngăn chặn tấn công SQL Injection.

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

  • Đối tượng nghiên cứu: Ứng dụng di động thương mại điện tử bán sản phẩm chăm sóc sức khỏe và các thuật toán gợi ý sản phẩm cá nhân hóa.
  • Phạm vi không gian: Đề tài được thực hiện tại Khoa Công nghệ Thông tin, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh.
  • Phạm vi thời gian: Thời gian triển khai từ ngày 26/02/2024 đến ngày 12/07/2024.

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

Khóa luận xây dựng trên nền tảng lý thuyết về hệ thống khuyến nghị và kiến trúc phần mềm phân tán hiện đại:

  • Khung lý thuyết và mô hình giải thuật:

    • Xử lý ngôn ngữ tự nhiên (NLP) & TF-IDF: Đánh giá tầm quan trọng của từ khóa trong mô tả sản phẩm thông qua tích số giữa tần suất xuất hiện của từ ($TF$) và nghịch đảo tần suất văn bản ($IDF$).
    • Cosine Similarity: Đo lường góc giữa hai vector đặc trưng nhằm xác định độ tương đồng giữa các sản phẩm hoặc giữa các hồ sơ người dùng.
    • Content-based Filtering: Đề xuất sản phẩm dựa trên sự tương đồng về thuộc tính (tên, mô tả, thành phần, nguồn gốc) sau khi tiền xử lý (loại bỏ ký tự đặc biệt, stop words, lemmatization).
    • Neighborhood-based Collaborative Filtering: Gồm hai tiếp cận User-User Collaborative Filtering (uuCF) và Item-Item Collaborative Filtering (iiCF), dựa trên ma trận đánh giá người dùng - sản phẩm để tìm láng giềng tương đồng và dự đoán mức độ quan tâm.
    • Matrix Factorization: Kỹ thuật phân rã ma trận đánh giá thưa $R$ thành hai ma trận đặc trưng người dùng ($U$) và sản phẩm ($P$) theo công thức $R \approx U \times P^T$.
    • Độ đo đánh giá: Sử dụng chỉ số F1-Score để đánh giá độ chính xác của mô hình phân loại và đề xuất.
  • Phương pháp nghiên cứu:

    • Phương pháp phân tích - tổng hợp: Nghiên cứu tài liệu chuyên khảo về thuật toán đề xuất, kiến trúc Clean Architecture và các công nghệ phần mềm liên quan.
    • Phương pháp thu thập dữ liệu (Web Scraping): Sử dụng các thư viện cào dữ liệu của Python để thu thập dữ liệu thực tế từ sàn thương mại điện tử Shopee.
    • Phương pháp mô hình hóa hệ thống: Sử dụng sơ đồ quan hệ thực thể (ERD), sơ đồ ca sử dụng (Use Case Diagram) và sơ đồ tuần tự (Sequence Diagram) để chuẩn hóa quy trình nghiệp vụ.
    • Phương pháp thực nghiệm phần mềm: Triển khai mã nguồn, kiểm thử API bằng công cụ Postman, đo lường tốc độ phản hồi và độ trễ của hệ thống.
  • Nguồn dữ liệu: Tập dữ liệu phục vụ nghiên cứu và kiểm thử được thu thập thực tế từ Shopee với quy mô:

    • Hơn 200 sản phẩm chăm sóc sức khỏe.
    • Hơn 17.000 bản ghi đánh giá từ người dùng.
    • Khoảng 14.000 đến 16.000 đơn hàng thực tế đã được xử lý và chuẩn hóa vào cơ sở dữ liệu.

Thiết kế và triển khai

Hệ thống được thiết kế theo kiến trúc phân tầng, tích hợp đa dịch vụ nhằm đảm bảo tính sẵn sàng cao, hiệu suất xử lý nhanh và khả năng bảo trì linh hoạt:

[Mobile Client: Flutter] <--> [RESTful API: Node.js / Express.js] <--> [SQL Server]
[Admin Web: ReactJS]     <--> [Recommendation Service: Python Flask] <--> [Redis Cache]
                              [Search Engine: Elasticsearch / Kibana]

Kiến trúc phân tầng và công nghệ triển khai

Tầng hệ thống Công nghệ / Thư viện chính Vai trò và chức năng
Mobile Client Flutter, Dart, Bloc, Cubit, Auto_router, Retrofit, Dio, Json_serializable, VelocityX, Freezed Ứng dụng di động đa nền tảng (Android, iOS) cho người dùng cuối; giao diện người dùng, xử lý trạng thái tách biệt qua Bloc/Cubit.
Admin Web ReactJS, Redux Toolkit, Ant Design, Tailwind CSS, Axios, React Router, React Toastify, NProgress Trang quản trị dành cho người quản lý; duyệt đơn hàng, cập nhật/khóa sản phẩm, theo dõi biểu đồ doanh số.
Backend Services Node.js, Express.js, RESTful API, Nodemailer Xử lý logic nghiệp vụ chính, quản lý phiên, xác thực, gửi email thông báo trạng thái đơn hàng.
Machine Learning Service Python, Flask, Pandas, Scikit-learn Xử lý cào dữ liệu, tính toán TF-IDF, Cosine Similarity và giải thuật lọc cộng tác (Collaborative Filtering).
Cơ sở dữ liệu chính Microsoft SQL Server (T-SQL) Lưu trữ có cấu trúc các bảng Product, User, Cart, Order, Review; đảm bảo tính toàn vẹn dữ liệu và giao dịch.
Bộ nhớ đệm & Tìm kiếm Redis Cache, Elasticsearch, Kibana Caching kết quả đề xuất và truy vấn thường xuyên; cung cấp công cụ tìm kiếm toàn văn (full-text search) tốc độ cao.
Lưu trữ tệp & Tích hợp ngoài Firebase Cloud Storage, MoMo API, Giao Hàng Nhanh API Lưu trữ hình ảnh sản phẩm/avatar; hỗ trợ thanh toán trực tuyến, hoàn tiền tự động và tính phí vận chuyển.

Quy trình xử lý của mô hình đề xuất lai (Hybrid Recommendation)

  1. Xử lý tương tác thời gian thực: Khi người dùng xem hoặc thêm sản phẩm vào giỏ hàng, thuật toán Content-based (Python Flask) trích xuất vector TF-IDF của sản phẩm hiện tại, tính Cosine Similarity và trả về danh sách các mặt hàng tương đồng.
  2. Xử lý dữ liệu đánh giá lịch sử: Thuật toán User-User/Item-Item Collaborative Filtering xây dựng ma trận đánh giá. Để giải quyết hiện tượng thiên vị đánh giá giữa người dùng khắt khe và người dùng dễ tính, hệ thống điền giá trị trung bình của từng người dùng vào các ô chưa đánh giá, sau đó trừ mỗi hàng cho chính giá trị trung bình đó (mean-centering).
  3. Lưu trữ đệm: Kết quả dự đoán được đẩy vào Redis Cache để giảm tải tính toán cho backend và giảm thời gian phản hồi cho client.

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

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

Chương này tập trung trình bày tổng quan và phân tích chuyên sâu về các công nghệ, giải thuật được ứng dụng trong đề tài:

  • Công nghệ phát triển: Phân tích nguyên lý hoạt động của Flutter (Dart, Widget, Engine, mô hình Reactive với Bloc/Cubit); kiến trúc bất đồng bộ đơn luồng (Event Loop, non-blocking I/O) của Node.js và Express.js; cấu trúc Component, Virtual DOM, Hooks của ReactJS; tính gọn nhẹ của microframework Flask.
  • Lưu trữ và tìm kiếm: Phân tích hệ quản trị SQL Server trong quản lý dữ liệu quan hệ phức tạp; nguyên lý lưu trữ in-memory dạng key-value của Redis; cơ chế đánh chỉ mục phân tán của Elasticsearch kết hợp giao diện phân tích Kibana; các dịch vụ Firebase (Cloud Storage, Realtime Database, Firestore).
  • Lý thuyết giải thuật đề xuất: Trình bày chi tiết công thức toán học tính $TF$, $IDF$, vector hóa $TF-IDF$, độ đo Cosine Similarity trong Content-based Filtering; phân tích cấu trúc User-User và Item-Item trong Neighborhood-based Collaborative Filtering; mô hình phân rã ma trận Matrix Factorization ($R \approx U \times P^T$).
  • Phân tích giải pháp kỹ thuật: Đưa ra các giải pháp giải quyết bài toán hiệu suất như đánh chỉ mục CSDL, Stored Procedure, tối ưu hóa câu truy vấn, xử lý bất đồng bộ (Future/Isolates trên Flutter; Async/Await trên Node.js) và kiểm soát độ chính xác thuật toán.

Chương 2: Khảo sát và phân tích hiện trạng

Chương 2 cung cấp số liệu thực tế về thị trường thương mại điện tử và khảo sát hệ thống:

  • Khảo sát thị trường: Dẫn chứng số liệu thực tế tại Việt Nam: 81% người được hỏi xem mua sắm trực tuyến là thói quen hàng ngày; 59% mua sắm ít nhất một lần mỗi tuần; 85% người tiêu dùng gia tăng chi tiêu mua hàng trực tuyến kể từ khi đại dịch Covid-19 bùng phát.
  • Khảo sát các sàn thương mại điện tử tiêu biểu:
    • Shopee: Nền tảng thành lập năm 2015 bởi Sea Group; dẫn đầu thị phần về lượt tải và sử dụng năm 2020; sở hữu hệ thống khuyến nghị mạnh dựa trên phân tích hành vi và lịch sử mua sắm.
    • Lazada: Thuộc Rocket Internet (thành lập 2007 tại Berlin); nằm trong top 20.000 website toàn cầu theo Alexa; quy mô cung cấp đa dạng từ điện tử tiêu dùng đến thiết bị thể thao.
  • Xác định yêu cầu hệ thống: Thiết lập bảng tiêu chuẩn chức năng và phi chức năng gồm 3 tiêu chí cốt lõi: Tốc độ xử lý (nhanh, tối ưu hóa độ trễ), Giao diện (rõ ràng, tối giản, phù hợp thói quen người dùng) và Độ bảo mật (bảo vệ thông tin khách hàng, chống tấn công SQL Injection).

Chương 3: Mô hình hoá yêu cầu

Chương này thực hiện thiết kế chi tiết cơ sở dữ liệu và hành vi hệ thống:

  • Mô hình dữ liệu quan hệ (ERD): Thiết kế chi tiết các bảng thực thể gồm Product (sản phẩm và phân loại), User (người dùng, thông tin cá nhân, quyền hạn), Cart (giỏ hàng), Order (đơn hàng, chi tiết đơn hàng, trạng thái) và Review (đánh giá, điểm số sao).
  • Đặc tả ca sử dụng (Use Case): Xây dựng và đặc tả chi tiết 25 ca sử dụng chính của hệ thống: Đăng nhập, Đăng ký, Đăng xuất, Tìm kiếm sản phẩm, Xem danh sách sản phẩm, Xem chi tiết sản phẩm, Thêm vào mục yêu thích, Thêm vào giỏ hàng, Cập nhật số lượng giỏ hàng, Xóa sản phẩm khỏi giỏ hàng, Thêm/Xóa địa chỉ email, Thêm/Cập nhật/Xóa địa chỉ nhận hàng, Thanh toán MOMO, Xem danh sách đơn hàng, Hủy đơn hàng, Đăng nhập/Đăng xuất admin, Xem thống kê bán hàng, Cập nhật trạng thái đơn hàng, Tạo/Sửa sản phẩm, Xem danh sách sản phẩm admin.
  • Mô hình hóa động: Xây dựng 17 sơ đồ tuần tự (Sequence Diagram) mô tả luồng thông điệp giữa Actor, Client, Controller/API, Service và Database cho từng chức năng chính.
  • Hiện thực hóa thuật toán đề xuất: Mô hình hóa quy trình tiền xử lý văn bản tiếng Việt cho Content-based và thuật toán chuẩn hóa ma trận thưa cho Collaborative Filtering.

Chương 4: Thiết kế giao diện xử lý

Chương 4 mô tả chi tiết kết quả xây dựng giao diện trên hai nền tảng:

  • Giao diện ứng dụng di động (Flutter):
    • Màn hình tìm kiếm và lọc sản phẩm tích hợp Elasticsearch.
    • Màn hình chi tiết sản phẩm, thêm vào danh sách yêu thích và giỏ hàng.
    • Màn hình quản lý thông tin tài khoản, danh sách địa chỉ nhận hàng và email.
    • Giao diện đặt hàng và cổng thanh toán MOMO; giao diện theo dõi trạng thái đơn hàng chi tiết (phân biệt đơn COD và MOMO).
    • Giao diện hủy đơn hàng và hoàn tiền tự động về ví MOMO cho các đơn đã thanh toán trước.
    • Giao diện đánh giá đơn hàng, xem/sửa đánh giá và xem lịch sử đánh giá của người dùng cũng như toàn bộ đánh giá của sản phẩm.
  • Giao diện web quản trị (ReactJS / Ant Design):
    • Dashboard thống kê doanh số bán hàng theo từng tháng, có biểu đồ so sánh với tháng trước.
    • Giao diện quản lý, duyệt và chuyển trạng thái đơn hàng.
    • Giao diện quản lý danh mục sản phẩm: thêm mới sản phẩm có nhiều phân loại, chỉnh sửa thông tin chi tiết và khóa/mở bán sản phẩm.

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

Kết quả đạt được

  • Về mặt kỹ thuật và sản phẩm:

    • Xây dựng thành công ứng dụng di động hoàn chỉnh bằng Flutter, hoạt động đa nền tảng (Android và iOS) với giao diện trực quan, quản lý trạng thái hiệu quả thông qua Bloc và Cubit.
    • Xây dựng hệ thống web quản trị trên nền ReactJS kết hợp Redux Toolkit và Ant Design, đáp ứng đầy đủ các nghiệp vụ quản lý sản phẩm, đơn hàng và thống kê doanh số theo tháng.
    • Xây dựng backend RESTful API vững chắc trên Node.js/Express.js và Python Flask, kết nối an toàn với cơ sở dữ liệu SQL Server.
    • Tích hợp thành công các dịch vụ bên thứ ba: Cổng thanh toán MOMO (hỗ trợ cả thanh toán trước và tự động hoàn tiền khi hủy đơn), đơn vị vận chuyển Giao Hàng Nhanh và dịch vụ gửi email thông báo trạng thái đơn hàng qua Nodemailer.
    • Tối ưu hóa hiệu năng hệ thống bằng Redis cache để lưu kết quả gợi ý và Elasticsearch để tăng tốc độ tìm kiếm sản phẩm.
  • Về mặt dữ liệu và giải thuật đề xuất:

    • Thu thập, làm sạch và chuẩn hóa tập dữ liệu mẫu từ Shopee với hơn 200 sản phẩm, hơn 17.000 đánh giá và khoảng 14.000 - 16.000 đơn hàng.
    • Triển khai thành công hệ thống gợi ý lai (Hybrid Recommendation System): sử dụng Content-based (TF-IDF + Cosine Similarity) cho các trường hợp xem chi tiết sản phẩm/người dùng mới và Collaborative Filtering (uuCF, iiCF, Matrix Factorization) dựa trên dữ liệu đánh giá lịch sử.

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

  • Đề xuất một quy trình xây dựng ứng dụng thương mại điện tử chuyên biệt cho ngành hàng chăm sóc sức khỏe có tích hợp công nghệ học máy từ khâu thu thập dữ liệu thực tế đến triển khai mô hình.
  • Ứng dụng phương pháp chuẩn hóa ma trận (trừ điểm trung bình của từng user) trong thuật toán Lọc cộng tác, giúp triệt tiêu sự sai lệch giữa thói quen đánh giá khắt khe và dễ tính của người dùng.
  • Cung cấp một kiến trúc hệ thống phân tán kết hợp giữa Node.js, Python Flask, Redis, Elasticsearch và SQL Server, giải quyết đồng thời bài toán hiệu năng xử lý, khả năng tìm kiếm và độ trễ phản hồi của hệ thống gợi ý.

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

  • Hạn chế:

    • Thời gian thực hiện đồ án có giới hạn (khoảng 5 tháng) nên việc tối ưu hóa hiệu năng cho các kịch bản tải cực lớn (high concurrency) chưa được kiểm thử toàn diện.
    • Dữ liệu thu thập ban đầu chủ yếu tập trung từ một sàn thương mại điện tử (Shopee), do đó ma trận người dùng - đánh giá vẫn còn tồn tại độ thưa nhất định (Data Sparsity).
    • Thuật toán Matrix Factorization và Deep Learning trong hệ thống gợi ý mới dừng lại ở mức độ nghiên cứu lý thuyết và thử nghiệm bước đầu, chưa khai thác hết các yếu tố ngữ cảnh (Context-Aware Recommendation).
  • Hướng nghiên cứu tiếp:

    • Nâng cấp và tối ưu hóa chuyên sâu các thuật toán học máy, nghiên cứu tích hợp mạng nơ-ron sâu (Deep Learning) vào hệ thống đề xuất nhằm tăng độ chính xác.
    • Mở rộng thu thập và phân tích dữ liệu hành vi người dùng theo thời gian thực (real-time tracking) để cải thiện khả năng thích ứng của gợi ý.
    • Phát triển thêm các tính năng tương tác cộng đồng, chia sẻ kinh nghiệm sử dụng sản phẩm chăm sóc sức khỏe trực tiếp trên ứng dụng.

Giá trị tham khảo

  • Đối tượng tham khảo:

    • Sinh viên chuyên ngành Công nghệ thông tin, Kỹ thuật phần mềm, Hệ thống thông tin đang thực hiện đồ án tốt nghiệp hoặc dự án nghiên cứu về ứng dụng di động thương mại điện tử.
    • Các lập trình viên muốn tìm hiểu giải pháp tích hợp đa nền tảng giữa Flutter (Clean Architecture, Bloc), Node.js (RESTful API), Python (Flask Microservice) và ReactJS.
    • Người nghiên cứu về hệ thống khuyến nghị (Recommender Systems) ứng dụng các kỹ thuật xử lý ngôn ngữ tự nhiên (TF-IDF, Cosine Similarity) và lọc cộng tác trong môi trường thực tế.
  • Nội dung giá trị:

    • Cung cấp tài liệu chi tiết về thiết kế hệ thống phần mềm: từ bảng phân tích 25 ca sử dụng, hệ thống sơ đồ tuần tự (17 Sequence Diagrams) đến sơ đồ cơ sở dữ liệu quan hệ (ERD).
    • Cung cấp phương pháp thu thập, làm sạch và xử lý dữ liệu thương mại điện tử phục vụ huấn luyện mô hình gợi ý sản phẩm.
    • Cung cấp giải pháp kỹ thuật tích hợp thanh toán trực tuyến MoMo kèm cơ chế hoàn tiền tự động và tích hợp công cụ tìm kiếm toàn văn Elasticsearch.

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

1. Khóa luận sử dụng nguồn dữ liệu nào để kiểm thử hệ thống và huấn luyện mô hình đề xuất?
Tác giả đã sử dụng các thư viện cào dữ liệu của Python để thu thập tập dữ liệu thực tế từ sàn thương mại điện tử Shopee, bao gồm hơn 200 sản phẩm chăm sóc sức khỏe, hơn 17.000 bản ghi đánh giá của người dùng và từ 14.000 đến 16.000 đơn hàng.

2. Hệ thống đề xuất trong đồ án kết hợp những thuật toán cụ thể nào?
Hệ thống sử dụng mô hình đề xuất lai (Hybrid), kết hợp giữa thuật toán Content-based Filtering (sử dụng kỹ thuật NLP, vector hóa văn bản bằng TF-IDF và tính độ tương đồng bằng Cosine Similarity) và thuật toán Neighborhood-based Collaborative Filtering (gồm User-User và Item-Item Collaborative Filtering, cùng nguyên lý phân rã ma trận Matrix Factorization).

3. Kiến trúc kỹ thuật của hệ thống được phân chia như thế nào?
Hệ thống gồm 4 thành phần chính: Ứng dụng di động (Flutter áp dụng Bloc/Cubit); Trang web quản trị (ReactJS áp dụng Redux Toolkit và Ant Design); Backend chính (Node.js/Express.js cung cấp RESTful API); Microservice máy học (Python/Flask xử lý thuật toán đề xuất). Dữ liệu được lưu trữ trên SQL Server, kết hợp Redis làm bộ nhớ đệm và Elasticsearch phục vụ tìm kiếm.

4. Chức năng thanh toán MoMo trong ứng dụng có điểm gì đặc biệt?
Bên cạnh việc hỗ trợ thanh toán trực tuyến trước cho đơn hàng thông qua tích hợp API của ví MoMo, hệ thống còn xây dựng hoàn chỉnh luồng xử lý hoàn tiền tự động về tài khoản MoMo của khách hàng trong trường hợp người dùng thực hiện hủy đơn hàng đã thanh toán.

5. Tác giả đã xử lý vấn đề sai lệch do người dùng dễ tính hoặc khó tính trong thuật toán Lọc cộng tác (Collaborative Filtering) như thế nào?
Để triệt tiêu độ lệch khi người dùng khó tính chấm điểm thấp và người dùng dễ tính chấm điểm cao cho cùng mức độ hài lòng, hệ thống áp dụng kỹ thuật chuẩn hóa: điền giá trị trung bình đánh giá của chính người dùng đó vào các ô chưa đánh giá, sau đó trừ toàn bộ các giá trị trong mỗi hàng cho chính điểm đánh giá trung bình tương ứng.


Kết luận

Khóa luận tốt nghiệp của sinh viên Nguyễn Đình Thiện đã hoàn thành trọn vẹn mục tiêu xây dựng ứng dụng di động thương mại điện tử chuyên biệt cho các sản phẩm chăm sóc sức khỏe. Công trình kết hợp thành công kiến trúc đa tầng hiện đại giữa Flutter, ReactJS, Node.js và Python Flask, đồng thời giải quyết hiệu quả bài toán gợi ý sản phẩm cá nhân hóa thông qua mô hình lai giữa Content-based và Collaborative Filtering. Hệ thống được hoàn thiện từ khâu phân tích yêu cầu, thiết kế cơ sở dữ liệu, tích hợp các dịch vụ thanh toán/tìm kiếm tiên tiến đến xây dựng giao diện người dùng hoàn chỉnh. Đây là tài liệu tham khảo có giá trị cao về mặt kỹ thuật và phương pháp luận cho các nghiên cứu, phát triển ứng dụng thương mại điện tử thông minh.