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

Trong bối cảnh công nghệ số phát triển vượt bậc, hành vi mua sắm của người tiêu dùng có sự chuyển dịch mạnh mẽ sang môi trường trực tuyến, kéo theo yêu cầu ngày càng khắt khe về các dịch vụ thương mại điện tử tiện ích, cá nhân hóa và thông minh. Việc tích hợp các kỹ thuật trí tuệ nhân tạo (AI) vào nền tảng thương mại điện tử giúp doanh nghiệp phân tích dữ liệu hành vi khách hàng, đề xuất sản phẩm chính xác, dự đoán xu hướng tiêu dùng và tối ưu hóa quy trình vận hành. Nhận diện tính cấp thiết từ thực tiễn kinh doanh trong kỷ nguyên số, hai tác giả Phạm Thị Phương Nghi (MSSV: 21110556) và Nguyễn Việt Khoa (MSSV: 21110512), dưới sự hướng dẫn khoa học của TS. Lê Văn Vinh tại Khoa Công nghệ Thông tin – Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh (khóa 2021 – 2025, phản biện bởi ThS. Trương Thị Ngọc Phượng), đã thực hiện khóa luận tốt nghiệp kỹ sư với đề tài: "Xây dựng hệ thống thương mại điện tử ứng dụng AI và sử dụng công nghệ ASP.NET, ReactJs".

Đối tượng nghiên cứu của khóa luận tập trung vào nhu cầu mua sắm thực tế của người dùng và phương pháp triển khai hệ thống thương mại điện tử kết hợp trí tuệ nhân tạo. Về mặt công nghệ, đề tài tập trung nghiên cứu:

  • Xây dựng hệ thống RESTful API bằng ASP.NET Core nhằm thao tác và truy xuất dữ liệu nhanh chóng.
  • Quản trị và lưu trữ dữ liệu tập trung trên hệ quản trị cơ sở dữ liệu quan hệ Microsoft SQL Server.
  • Đóng gói, triển khai toàn bộ hệ thống bằng nền tảng Docker.
  • Thiết lập cơ chế bảo mật hệ thống thông qua kiểm soát luồng dữ liệu vào ra bằng JSON Web Token (JWT).
  • Nghiên cứu và ứng dụng các kỹ thuật Machine Learning (ML) và Deep Learning (DL) thuộc lĩnh vực trí tuệ nhân tạo để giải quyết các bài toán chức năng thông minh.

Phạm vi nghiên cứu của đề tài bao quát hai mảng trọng tâm:

  1. Phát triển đầy đủ các chức năng nghiệp vụ cốt lõi của một sàn thương mại điện tử hoàn chỉnh, bao gồm quản lý người dùng, quản trị danh mục và sản phẩm, xử lý giỏ hàng, đặt hàng, thanh toán trực tuyến, theo dõi đơn hàng, quản lý đánh giá và hệ thống thống kê báo cáo.
  2. Tích hợp ba bài toán trí tuệ nhân tạo chuyên sâu vào nền tảng: trợ lý trò chuyện trực tuyến (Chatbot), phân tích cảm xúc của người dùng dựa trên nội dung đánh giá sản phẩm (Sentiment Analysis) và tìm kiếm sản phẩm thông qua dữ liệu hình ảnh (Visual Search).

Mục tiêu nghiên cứu được tác giả phân định chi tiết theo hai nhóm tác nhân chính của hệ thống:

  1. Phía người mua (Customer/Guest):
    • Quản lý tài khoản: Đăng ký, đăng nhập, đăng xuất, khôi phục mật khẩu và thay đổi mật khẩu.
    • Quản lý hồ sơ: Xem, chỉnh sửa và cập nhật thông tin cá nhân cùng lịch sử đơn hàng.
    • Tương tác sản phẩm: Tìm kiếm, lọc và xem thông tin chi tiết của từng mặt hàng; lưu sản phẩm vào danh sách yêu thích.
    • Giao dịch: Thêm hoặc xóa sản phẩm khỏi giỏ hàng, tiến hành quy trình đặt hàng và thực hiện thanh toán trực tuyến; gửi phản hồi và đánh giá sản phẩm sau khi mua.
    • Tính năng thông minh: Trao đổi trực tuyến với hệ thống thông qua trợ lý ảo và tìm kiếm sản phẩm bằng cách tải lên hình ảnh.
  2. Phía quản trị viên (Admin):
    • Quản trị toàn diện: Quản lý người dùng, danh mục chính, danh mục phụ, thông tin sản phẩm và các đơn hàng phát sinh trên toàn hệ thống.
    • Thống kê, báo cáo: Tổng hợp và thống kê doanh thu, lưu lượng người dùng, số lượng đơn hàng, số lượng sản phẩm và các lượt đánh giá.
    • Kiểm soát chất lượng: Phân tích cảm xúc người dùng dựa trên phản hồi đánh giá sản phẩm nhằm hỗ trợ theo dõi mức độ thỏa mãn của khách hàng và điều chỉnh hoạt động kinh doanh.

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

Khóa luận kết hợp khung lý thuyết công nghệ phần mềm hiện đại và các mô hình học máy, học sâu để xây dựng một kiến trúc hệ thống thương mại điện tử đa tầng:

[Người dùng / Trình duyệt] 
[Front-End: ReactJS / Material UI] 

Khung lý thuyết và công nghệ tác giả sử dụng bao gồm:

  • Công nghệ Front-End: Thư viện ReactJS mã nguồn mở, hoạt động theo mô hình Single Page Application (SPA), sử dụng cơ chế Document Object Model ảo (Virtual DOM) và cú pháp mở rộng JSX để tối ưu hóa hiệu năng render giao diện theo thành phần (component-based) với luồng dữ liệu một chiều (props/state). Đi kèm là hệ sinh thái thư viện bổ trợ: @mui/material, styled-components, bootstrap cho thiết kế giao diện; axios phục vụ gọi RESTful API; react-router-dom điều hướng tuyến đường; react-lazy-load-image-component và react-infinite-scroll-component tối ưu hóa tốc độ tải trang; react-hot-toast và web-vitals nâng cao trải nghiệm người dùng và giám sát hiệu năng.
  • Công nghệ Back-End: Nền tảng ASP.NET Core đa nền tảng (cross-platform), hỗ trợ xây dựng Web APIs hiệu năng cao, tích hợp sẵn Dependency Injection (DI) và cơ chế đóng gói NuGet packages. Hệ thống tích hợp các thư viện chuyên dụng: EntityFrameworkCore và Dapper để ánh xạ và thao tác dữ liệu; Microsoft.SqlServer quản lý kết nối CSDL; Microsoft.Identity cùng System.Jwt kiểm soát danh tính và xác thực phân quyền qua token JWT; Cloudinary xử lý và lưu trữ hình ảnh; SendGrid đảm nhiệm việc gửi thư điện tử tự động; Newtonsoft.Json hỗ trợ xử lý dữ liệu JSON.
  • Cơ sở dữ liệu và hạ tầng triển khai: Hệ quản trị cơ sở dữ liệu quan hệ Microsoft SQL Server được sử dụng để quản lý toàn bộ dữ liệu nghiệp vụ, thực hiện xử lý truy vấn qua ba giai đoạn (phân tích cú pháp, ràng buộc ngữ nghĩa và tối ưu hóa thực thi). Hệ thống áp dụng nền tảng Docker (bao gồm Docker Daemon và Docker CLI) để đóng gói ứng dụng thành các container độc lập theo chu trình chuẩn: Build (tạo Docker Image từ Dockerfile) $\rightarrow$ Push (đẩy image lên registry) $\rightarrow$ Pull and Run (tải và thực thi container trên máy chủ đích).
  • Mô hình và kỹ thuật Trí tuệ nhân tạo:
    • Học máy (Machine Learning): Lớp CountVectorizer trong thư viện scikit-learn biến đổi dữ liệu văn bản phản hồi thành ma trận tần suất từ (Bag-of-Words) với các siêu tham số xác định (max_features=5000, stop_words='english', ngram_range=(1, 1), min_df=1). Thuật toán phân loại xác suất Naive Bayes được áp dụng trên ma trận đặc trưng này dựa trên công thức xác suất Bayes có điều kiện $P(y|X) = \frac{P(X|y) \cdot P(y)}{P(X)}$ nhằm phân định cảm xúc tích cực hoặc tiêu cực trong bình luận của khách hàng.
    • Học sâu (Deep Learning): Mô hình ngôn ngữ Sentence-BERT (SBERT) phiên bản tiếng Việt "keepitreal/vietnamese-sbert" tải từ Hugging Face ánh xạ câu thành vector đặc trưng dạng đặc (dense vector) 768 chiều. Hàm mất mát Matryoshka Loss (Matryoshka Representation Learning) được huấn luyện để cắt giảm kích thước vector nhúng từ 768 chiều xuống các chiều nhỏ hơn (512, 256, 128, 64) mà vẫn duy trì độ chính xác, phục vụ kỹ thuật sinh tăng cường truy xuất (Retrieval Augmented Generation - RAG). Đối với xử lý thị giác máy tính, mạng nơ-ron tích chập 50 lớp ResNet50 (đào tạo trên tập dữ liệu ImageNet, ảnh đầu vào $224 \times 224$ pixel) được loại bỏ tầng fully-connected cuối cùng để hoạt động như một bộ trích xuất đặc trưng (feature extractor). Đầu ra feature map được đưa qua tầng GlobalMaxPooling2D và chuẩn hóa vector L2 Normalization.
    • Quản lý vector và triển khai API AI: Kho lưu trữ vector mã nguồn mở Chroma DB (Chroma Vector Store) được sử dụng để quản lý vector nhúng và metadata phục vụ tìm kiếm ngữ nghĩa (Semantic Search) bằng độ tương đồng cosine. Thuật toán lân cận gần nhất NearestNeighbors (KNN) được triển khai trên tệp đặc trưng featurevector để tìm ra $K$ sản phẩm tương đồng về hình ảnh. Toàn bộ các dịch vụ AI được đóng gói thành RESTful API độc lập thông qua framework FastAPI trên nền tảng Python.

Về phương pháp nghiên cứu thực tế, tác giả áp dụng:

  • Phương pháp khảo sát, phân tích so sánh hiện trạng: Khảo sát thực tế 4 sàn thương mại điện tử lớn trên thị trường gồm Shopee, Lazada, Amazon và Tiki để rút ra ưu điểm, nhược điểm và mô hình ứng dụng AI thực tế.
  • Phương pháp phân tích và mô hình hóa hệ thống phần mềm: Thiết lập yêu cầu chức năng, yêu cầu phi chức năng, xây dựng sơ đồ use case, đặc tả chi tiết kịch bản, thiết kế sơ đồ tuần tự (sequence diagrams) và sơ đồ thực thể kết hợp (ERD).
  • Phương pháp thiết kế kỹ thuật và kiểm thử phần mềm: Cài đặt hệ thống phân tán kết hợp nhiều nền tảng công nghệ, xây dựng kế hoạch kiểm thử chức năng, xác định rủi ro và đánh giá kết quả nghiệm thu.

Thiết kế và triển khai hệ thống

Hệ thống được thiết kế theo kiến trúc phân tách rõ ràng giữa lớp hiển thị, lớp xử lý nghiệp vụ sàn TMĐT và lớp dịch vụ trí tuệ nhân tạo.

Tổng hợp thành phần công nghệ và vai trò triển khai

Phân hệ / Tầng chức năng Công nghệ / Nền tảng áp dụng Vai trò và nhiệm vụ cụ thể trong hệ thống
Giao diện người dùng (Front-End) ReactJS, MUI, Styled-components, Bootstrap Xây dựng giao diện Single Page Application, quản lý Virtual DOM, tạo trải nghiệm responsive
Xử lý nghiệp vụ chính (Back-End) ASP.NET Core, RESTful API Quản lý toàn bộ logic nghiệp vụ sàn thương mại điện tử, kiểm soát JWT và phân quyền
Tương tác và lưu trữ cơ sở dữ liệu Microsoft SQL Server, EF Core, Dapper Lưu trữ dữ liệu có cấu trúc: người dùng, sản phẩm, danh mục, đơn hàng, đánh giá
Cung cấp dịch vụ AI (AI Microservices) FastAPI (Python) Triển khai 3 API phục vụ truy vấn Chatbot, phân tích cảm xúc và tìm kiếm bằng hình ảnh
Trợ lý Chatbot & Tìm kiếm ngữ nghĩa SBERT (vietnamese-sbert), Matryoshka Loss, Chroma DB Tinh chỉnh vector nhúng cho kiến trúc RAG, lưu trữ và truy xuất vector theo ngữ nghĩa tiếng Việt
Phân tích cảm xúc đánh giá CountVectorizer, Naive Bayes Chuyển đổi văn bản thành ma trận Bag-of-Words (5000 chiều), phân lớp cảm xúc review
Tìm kiếm sản phẩm bằng hình ảnh ResNet50, GlobalMaxPooling2D, KNN Trích xuất đặc trưng ảnh $224 \times 224$, chuẩn hóa L2 và so khớp $K$ sản phẩm tương đồng
Hạ tầng và dịch vụ hỗ trợ Docker, Cloudinary, SendGrid Đóng gói môi trường container, lưu trữ tài nguyên đa phương tiện và gửi email tự động

Quy trình xử lý của các phân hệ trí tuệ nhân tạo

  1. Phân hệ Trợ lý trò chuyện trực tuyến (Chatbot RAG): Khi người dùng gửi câu hỏi qua khung chat, chuỗi văn bản được đưa đến dịch vụ API của FastAPI. Mô hình keepitreal/vietnamese-sbert tiến hành vector hóa truy vấn thành dense vector. Hệ thống sử dụng mô hình nhúng đã được huấn luyện với Matryoshka Loss để tối ưu không gian chiều dữ liệu, thực hiện tìm kiếm ngữ nghĩa (Semantic Search) trên Chroma Vector Store nhằm trích xuất các thông tin tài liệu có độ tương đồng cosine cao nhất, từ đó kết hợp trong quy trình Retrieval Augmented Generation (RAG) để trả lời người dùng một cách chính xác.
  2. Phân hệ Phân tích cảm xúc dữ liệu bình luận: Dữ liệu đánh giá từ khách hàng được thu thập và đưa vào pipeline xử lý. Lớp CountVectorizer tiến hành bóc tách từ, loại bỏ stop words tiếng Anh, thiết lập ngưỡng xuất hiện tối thiểu min_df=1, giới hạn kích thước từ điển ở mức max_features=5000 theo dạng unigram (ngram_range=(1, 1)). Ma trận Bag-of-Words thu được được đưa vào mô hình Naive Bayes đã huấn luyện để tính toán xác suất tiên nghiệm và xác suất có điều kiện, từ đó xác định nhãn cảm xúc của bình luận và gửi kết quả về giao diện quản trị viên.
  3. Phân hệ Đề xuất sản phẩm dựa trên hình ảnh: Ảnh sản phẩm do người dùng tải lên được chuẩn hóa về kích thước $224 \times 224$ pixel. Mạng ResNet50 đóng vai trò trích xuất các đặc trưng thị giác từ các tầng tích chập sâu. Khối GlobalMaxPooling2D giảm chiều không gian trên hai trục cao và rộng, chuyển đổi feature map thành vector đặc trưng. Sau khi qua tầng chuẩn hóa L2 Normalization, vector ảnh truy vấn được thuật toán NearestNeighbors (KNN) so khớp khoảng cách với toàn bộ vector đặc trưng lưu trữ trong tệp featurevector, từ đó trả về danh sách $K$ sản phẩm có độ tương đồng ngoại quan cao nhất.

Thiết kế kiểm thử hệ thống

Quy trình kiểm thử được thiết lập theo kế hoạch cụ thể tại Chương 4 của khóa luận, bao gồm:

  • Xác định phạm vi kiểm thử: Toàn bộ các ca sử dụng dành cho khách, người mua (Customer), quản trị viên (Admin) và độ chính xác của các API tích hợp AI.
  • Phân loại kiểm thử: Kiểm thử chức năng (Functional Testing) trên từng use case cụ thể (đăng ký, đăng nhập, đặt hàng, thanh toán, quản trị danh mục, phân tích cảm xúc, tìm kiếm ảnh).
  • Quản lý rủi ro và hậu cần kiểm thử: Phân tích các rủi ro liên quan đến sự cố đường truyền, khác biệt môi trường thực thi, lỗi tương thích giữa API AI viết bằng Python và hệ thống Back-End ASP.NET Core, cùng quy trình kiểm tra phản hồi đầu cuối trước khi nghiệm thu.

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

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

Chương này trình bày chi tiết nền tảng công nghệ và lý thuyết toán học phục vụ xây dựng hệ thống:

  • Phía Front-End: Phân tích kiến trúc của thư viện ReactJS, cấu trúc Virtual DOM, cơ chế truyền dữ liệu một chiều qua props, quản lý state và cú pháp JSX. Tác giả liệt kê các thư viện giao diện và tối ưu hiệu năng như @mui/material, styled-components, bootstrap, axios, react-router-dom, react-lazy-load-image-component, react-infinite-scroll-component, react-hot-toast và web-vitals.
  • Phía Back-End: Trình bày các đặc điểm cốt lõi của framework ASP.NET Core, cơ chế Dependency Injection, khả năng tối ưu hóa HTTP request và hỗ trợ cross-platform. Tác giả làm rõ nguyên lý hoạt động của SQL Server qua ba bước (phân tích cú pháp, kiểm tra ràng buộc, tối ưu hóa truy vấn). Tiếp đó, công nghệ Docker được phân tích qua cấu trúc Docker Engine (Docker Daemon, Docker CLI), Docker Container và quy trình thực thi 3 bước: Build $\rightarrow$ Push $\rightarrow$ Pull and Run. Các thư viện phụ trợ gồm Cloudinary, EntityFrameworkCore, Dapper, Microsoft.Identity, System.Jwt, SendGrid và Newtonsoft.Json.
  • Kỹ thuật Trí tuệ nhân tạo: Giới thiệu khái niệm AI, Machine Learning và Deep Learning. Trình bày chi tiết cơ chế tạo ma trận Bag-of-Words bằng CountVectorizer (các tham số max_features=5000, stop_words='english', ngram_range=(1, 1), min_df=1) và công thức xác suất của thuật toán Naive Bayes. Về học sâu, chương này làm rõ cơ chế tạo vector 768 chiều của Sentence-BERT (mô hình "keepitreal/vietnamese-sbert"), kỹ thuật rút gọn chiều vector qua Matryoshka Loss (cắt xuống 512, 256, 128, 64), quy trình Fine-tune Embedding cho RAG, kiến trúc mạng ResNet50, cơ chế gộp GlobalMaxPooling2D, kỹ thuật L2 Normalization, hệ thống lưu trữ vector Chroma DB và framework FastAPI.

Chương 2: Khảo sát hiện trạng và xác định yêu cầu

Chương này thực hiện phân tích thực tế và xác lập các đặc tả kỹ thuật cho hệ thống:

  • Khảo sát hiện trạng 4 nền tảng thương mại điện tử:
    • Shopee: Phân tích các tính năng chính (Marketplace, gợi ý sản phẩm, ShopeePay, Shopee Live) và ứng dụng AI (cá nhân hóa, tự động hóa quảng cáo, chống gian lận). Nhược điểm được chỉ ra là chất lượng hàng không đồng đều, hỗ trợ khách hàng hạn chế và chưa tích hợp chatbot hiệu quả.
    • Lazada: Đánh giá chức năng mua bán, Flash Sale, LazLive; các ứng dụng AI trong tối ưu tìm kiếm, chatbot, dự báo doanh thu. Nhược điểm gồm khó kiểm soát gian lận và nhiều quảng cáo che lấp nội dung.
    • Amazon: Phân tích hệ thống tìm kiếm xử lý dữ liệu lớn, thành viên Prime, hạ tầng phân tán chịu tải cao; các công nghệ AI tiên tiến như trợ lý Alexa, hệ thống Amazon Go, Prime Air. Nhược điểm là độ phức tạp cao khi tích hợp với Marketplace đối với nhà phát triển bên ngoài và chi phí Prime.
    • Tiki: Đánh giá thế mạnh giao hàng nhanh TikiNOW, giao diện phù hợp với người dùng Việt Nam; các ứng dụng AI trong dự báo nhu cầu và cá nhân hóa. Nhược điểm là bộ lọc tìm kiếm đôi khi thiếu chính xác và chưa đa dạng thanh toán quốc tế.
  • Xác định yêu cầu:
    • Yêu cầu chức năng: Lưu trữ thông tin người dùng, sản phẩm, giỏ hàng, đơn hàng, bình luận; quản lý tài khoản, danh mục, trạng thái đơn hàng; tra cứu theo từ khóa, hình ảnh và bộ lọc; thống kê doanh thu và báo cáo phân tích cảm xúc từ đánh giá.
    • Yêu cầu phi chức năng: Tốc độ tìm kiếm nhanh và chính xác; bảo mật dữ liệu người dùng, sản phẩm qua token; thời gian phản hồi hệ thống tối ưu; giao diện thân thiện với người dùng.
  • Mô hình hóa yêu cầu: Xây dựng sơ đồ Use Case tổng thể cho Customer và Admin; lập bảng đặc tả chi tiết từng use case, tiêu biểu như Đăng ký (UC-1.1), Đăng nhập (UC-1.2), Tìm kiếm và xem sản phẩm (UC-1.3) và Đăng xuất (UC-2.1) cùng các luồng sự kiện chính, phụ và ngoại lệ.

Chương 3: Thiết kế phần mềm

Chương này hiện thực hóa các yêu cầu thành mô hình kiến trúc và dữ liệu:

  • Lược đồ tuần tự (Sequence Diagram): Mô tả chi tiết tiến trình tương tác của hàng loạt ca sử dụng quan trọng: Đăng nhập (Sign in), Tìm kiếm sản phẩm (Search products), Đăng xuất (Sign out), Khôi phục mật khẩu (Recover password), Thay đổi mật khẩu (Change password), Chỉnh sửa thông tin cá nhân (Change Profile), Quản lý đơn hàng của tài khoản (Orders), Thêm/xóa sản phẩm khỏi giỏ hàng, Đặt hàng (Order), Thanh toán (Payment), Đánh giá sản phẩm (Review Products), Thêm/sửa/xóa sản phẩm, Thêm/sửa/xóa danh mục chính và danh mục phụ, Thống kê (Statisticize), Trao đổi trực tuyến (Chat), Phân tích cảm xúc dựa trên phản hồi người dùng.
  • Thiết kế cơ sở dữ liệu: Xây dựng lược đồ thực thể kết hợp (ERD) và thiết kế chi tiết các bảng dữ liệu quan hệ trên SQL Server.
  • Triển khai kỹ thuật AI vào ứng dụng: Trình bày quy trình hoạt động của phương pháp Fine-tune Embedding cho RAG; thiết kế API Truy vấn Chat; phân tích quy trình xử lý bài toán cảm xúc bình luận và xây dựng API Phân tích dữ liệu bình luận; thiết kế API đề xuất sản phẩm dựa trên hình ảnh qua mô hình ResNet50 kết hợp KNN.
  • Thiết kế giao diện: Xây dựng sơ đồ luồng màn hình và thiết kế chi tiết hàng chục giao diện cho người dùng (Đăng ký, Đăng nhập, Trang chủ, Chi tiết sản phẩm, Giỏ hàng, Đặt hàng, Thanh toán, Danh sách yêu thích, Trao đổi trực tuyến, Tìm kiếm bằng hình ảnh) và giao diện dành cho quản trị viên (Dashboard, Quản lý sản phẩm, Quản lý danh mục chính/phụ, Quản lý đơn hàng hệ thống, Quản lý banner quảng cáo, Màn hình phân tích cảm xúc phản hồi).

Chương 4: Cài đặt và kiểm thử

Chương này mô tả quá trình hiện thực hóa giải pháp và kiểm chứng chất lượng:

  • Thiết lập yêu cầu hệ thống và quy trình các bước tiến hành triển khai các dịch vụ nguồn.
  • Xây dựng kế hoạch kiểm thử phần mềm chi tiết: xác định phạm vi kiểm thử, lựa chọn các loại kiểm thử (chức năng, tích hợp API), đánh giá các rủi ro kỹ thuật tiềm ẩn, phân bổ logistics kiểm thử và vận hành quy trình kiểm thử từng bước.
  • Tổng hợp kết quả kiểm thử các ca sử dụng trên thực tế (kết quả kiểm thử đạt được tại trang 139 của tài liệu).

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

Về kết quả thực tiễn, đề tài đã thiết kế và triển khai thành công một hệ sinh thái thương mại điện tử hoàn chỉnh, tích hợp đa dạng công nghệ từ front-end đến back-end và các mô hình trí tuệ nhân tạo chuyên biệt:

  • Xây dựng thành công ứng dụng web thương mại điện tử với giao diện người dùng tương tác bằng ReactJS, hệ thống API xử lý nghiệp vụ trung tâm bằng ASP.NET Core kết nối cơ sở dữ liệu Microsoft SQL Server và hỗ trợ đóng gói qua Docker.
  • Hiện thực hóa thành công ba chức năng trí tuệ nhân tạo thông qua dịch vụ API viết bằng FastAPI:
    1. Tính năng trợ lý ảo (Chatbot) ứng dụng mô hình ngôn ngữ tiếng Việt keepitreal/vietnamese-sbert, kết hợp hàm mất mát Matryoshka Loss (cho phép tối ưu kích thước biểu diễn vector từ 768 xuống 512, 256, 128, 64) và cơ sở dữ liệu vector Chroma DB để thực hiện kỹ thuật RAG phục vụ trao đổi trực tuyến.
    2. Tính năng phân tích cảm xúc đánh giá sản phẩm sử dụng kỹ thuật trích xuất đặc trưng CountVectorizer (cấu hình ma trận Bag-of-Words 5000 đặc trưng, lọc stop words) kết hợp thuật toán phân lớp xác suất Naive Bayes giúp quản trị viên theo dõi sắc thái phản hồi của người tiêu dùng.
    3. Tính năng tìm kiếm sản phẩm bằng hình ảnh sử dụng mạng nơ-ron tích chập ResNet50 làm bộ trích xuất đặc trưng (ảnh đầu vào chuẩn hóa $224 \times 224$), tầng GlobalMaxPooling2D, kỹ thuật chuẩn hóa L2 Normalization và thuật toán NearestNeighbors (KNN) trên tệp featurevector.

Về mặt đóng góp so với các nghiên cứu và ứng dụng trước đây:

  • Đề tài đã tự tích hợp trực tiếp các mô hình AI mã nguồn mở giải quyết các bài toán tiếng Việt cụ thể (như vietnamese-sbert cho RAG) thay vì chỉ xây dựng các hệ thống thương mại điện tử thuần túy dựa trên các chức năng CRUD cơ bản.
  • Kết hợp kiến trúc microservice giữa ASP.NET Core và Python FastAPI, tạo ra mô hình tích hợp linh hoạt giữa một backend quản trị doanh nghiệp truyền thống và các dịch vụ tính toán học máy hiệu năng cao.
  • Mang lại giá trị ứng dụng thực tiễn cho doanh nghiệp trong việc tự động hóa dịch vụ chăm sóc khách hàng trực tuyến, tối ưu hóa việc phân loại phản hồi thị trường và mở rộng phương thức tìm kiếm sản phẩm thông qua hình ảnh thực tế.

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

Khóa luận ghi nhận một số hạn chế nhất định do điều kiện triển khai thực tế:

  • Đề tài được thực hiện trong khoảng thời gian tương đối ngắn; nhóm tác giả tự nhận định còn nhiều hạn chế về mặt kiến thức chuyên sâu và kinh nghiệm triển khai thực tế, dẫn đến sản phẩm vẫn còn những thiếu sót trong quá trình vận hành.
  • Khóa luận chưa cung cấp các bảng số liệu đo lường định lượng chi tiết về hiệu năng mô hình (như chỉ số Accuracy, Precision, Recall, F1-score của mô hình Naive Bayes, hay thời gian đáp ứng trung bình tính bằng mili-giây của hệ thống RAG và mô hình tìm kiếm ảnh).
  • Phạm vi dữ liệu thử nghiệm cho mô hình tìm kiếm hình ảnh và chatbot tiếng Việt chủ yếu phục vụ trong khuôn khổ đồ án tốt nghiệp, chưa được kiểm chứng trên các tập dữ liệu có quy mô hàng triệu sản phẩm như các sàn thương mại điện tử thực tế.

Các hướng phát triển tiếp theo được đề xuất bao gồm:

  • Tiếp tục khắc phục các nhược điểm còn tồn đọng trong các luồng tương tác và giao diện người dùng.
  • Mở rộng và nâng cấp các mô hình trí tuệ nhân tạo, cải thiện độ chính xác của bộ phân tích cảm xúc tiếng Việt và tối ưu hóa tốc độ truy xuất vector nhúng trong kiến trúc RAG.
  • Hoàn thiện thêm các chức năng nâng cao phục vụ cho sàn thương mại điện tử như đề xuất sản phẩm dựa trên hành vi duyệt web cá nhân hóa và tích hợp đa dạng hơn các cổng thanh toán điện tử.

Giá trị tham khảo

Báo cáo khóa luận là tài liệu tham khảo hữu ích cho:

  • Sinh viên các ngành Công nghệ Thông tin, Kỹ thuật Phần mềm và Khoa học Dữ liệu có định hướng nghiên cứu đề tài tốt nghiệp kết hợp giữa phát triển ứng dụng Web Fullstack và tích hợp Trí tuệ nhân tạo.
  • Các nhà phát triển phần mềm cần tài liệu hướng dẫn mẫu về cách tích hợp dịch vụ Back-End bằng ASP.NET Core với các dịch vụ Microservice AI chạy bằng FastAPI (Python).
  • Người học quan tâm đến quy trình triển khai thực tế của các kỹ thuật AI: từ việc trích xuất đặc trưng ảnh bằng ResNet50 kết hợp KNN, kỹ thuật xử lý văn bản bằng CountVectorizer và Naive Bayes, cho đến việc áp dụng mô hình SBERT tiếng Việt, Matryoshka Representation Loss và Chroma DB trong kiến trúc RAG.
  • Tài liệu cũng có giá trị tham khảo tốt về phương pháp luận thiết kế hệ thống thông tin qua các bước mô hình hóa Use Case, đặc tả kịch bản, vẽ Sequence Diagram và lập kế hoạch kiểm thử phần mềm bài bản.

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

1. Hệ thống sử dụng mô hình học sâu nào để trích xuất đặc trưng cho chức năng tìm kiếm sản phẩm bằng hình ảnh?

Hệ thống sử dụng mạng nơ-ron tích chập 50 lớp ResNet50 đã được huấn luyện trước trên tập dữ liệu ImageNet, loại bỏ lớp fully-connected cuối cùng để đóng vai trò làm bộ trích xuất đặc trưng (feature extractor) trên ảnh kích thước $224 \times 224$ pixel. Đầu ra feature map được giảm chiều không gian thông qua tầng GlobalMaxPooling2D, sau đó được chuẩn hóa bằng kỹ thuật L2 Normalization trước khi dùng thuật toán NearestNeighbors (KNN) so khớp khoảng cách trên cơ sở dữ liệu featurevector.

2. Trong bài toán phân tích cảm xúc từ đánh giá của người dùng, tác giả áp dụng mô hình và kỹ thuật tiền xử lý văn bản nào?

Tác giả sử dụng kỹ thuật CountVectorizer trong thư viện scikit-learn để chuyển đổi văn bản đánh giá thành ma trận tần suất từ (Bag-of-Words) với các tham số: max_features=5000 (giới hạn từ điển 5000 đặc trưng), stop_words='english', cấu hình unigram ngram_range=(1, 1) và min_df=1. Sau đó, mô hình phân lớp xác suất Naive Bayes được áp dụng để tính toán xác suất và phân định cảm xúc người dùng.

3. Cơ chế tìm kiếm ngữ nghĩa và phản hồi của tính năng Chatbot được xây dựng dựa trên những công nghệ nào?

Tính năng Chatbot sử dụng mô hình Sentence-BERT phiên bản tiếng Việt "keepitreal/vietnamese-sbert" để tạo vector nhúng 768 chiều. Mô hình được áp dụng hàm mất mát Matryoshka Loss nhằm tối ưu vector nhúng ở nhiều cấp kích thước (từ 768 xuống 512, 256, 128, 64) phục vụ bài toán RAG (Retrieval Augmented Generation). Dữ liệu vector và metadata được quản lý trong cơ sở dữ liệu vector mã nguồn mở Chroma DB (Chroma Vector Store) và cung cấp qua API FastAPI.

4. Hệ thống phân chia kiến trúc kỹ thuật giữa phần mềm thương mại điện tử và các tác vụ AI như thế nào?

Hệ thống phân chia kiến trúc thành hai mảng dịch vụ riêng biệt: Hệ thống thương mại điện tử chính sử dụng ReactJS ở Front-End và ASP.NET Core ở Back-End, kết nối cơ sở dữ liệu quan hệ Microsoft SQL Server để xử lý toàn bộ các giao dịch và nghiệp vụ bán hàng. Trong khi đó, các tác vụ AI (tìm kiếm ảnh, phân tích cảm xúc, chatbot RAG) được tách thành một dịch vụ riêng biệt viết bằng ngôn ngữ Python, triển khai qua framework FastAPI và giao tiếp với hệ thống Back-End chính thông qua giao thức RESTful API.

5. Nhóm tác giả đã tiến hành khảo sát hiện trạng những nền tảng thương mại điện tử nào trước khi xây dựng hệ thống?

Tại Chương 2 của khóa luận, nhóm tác giả đã tiến hành khảo sát hiện trạng và phân tích chi tiết ưu điểm, nhược điểm cùng các ứng dụng AI thực tế của 4 nền tảng thương mại điện tử lớn gồm: Shopee, Lazada, Amazon và Tiki.

Kết luận

Khóa luận tốt nghiệp của sinh viên Phạm Thị Phương Nghi và Nguyễn Việt Khoa đã hoàn thành việc thiết kế và xây dựng một hệ thống thương mại điện tử hoàn chỉnh, kết hợp đồng bộ giữa công nghệ web hiện đại (ReactJS, ASP.NET Core, SQL Server, Docker) và các mô hình trí tuệ nhân tạo chuyên biệt (ResNet50, Naive Bayes, SBERT kết hợp RAG). Báo cáo cung cấp quy trình phân tích, thiết kế, triển khai và kiểm thử phần mềm một cách bài bản, rõ ràng từ mức đặc tả ca sử dụng đến cài đặt kiến trúc microservice. Đây là một tài liệu học thuật có giá trị tham khảo thực tiễn cao cho sinh viên và kỹ sư phần mềm quan tâm đến việc ứng dụng các giải pháp học máy và học sâu vào nền tảng thương mại điện tử.