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

Sự phát triển của Internet và các nền tảng thương mại điện tử (TMĐT) đã tạo ra sự bùng nổ về khối lượng thông tin và sản phẩm được trao đổi trực tuyến. Người tiêu dùng đối mặt với tình trạng quá tải thông tin, khiến việc tìm kiếm mặt hàng phù hợp với nhu cầu cá nhân trở nên khó khăn. Các công cụ tìm kiếm truyền thống dựa trên từ khóa bộc lộ hạn chế khi người dùng không nắm rõ tên gọi hoặc đặc tả chính xác của sản phẩm cần tìm. Đồng thời, việc khai thác hành vi và sở thích của khách hàng để chủ động đưa ra các gợi ý phù hợp trở thành yêu cầu thiết yếu đối với các hệ thống thương mại trực tuyến hiện đại.

Hai tiện ích nâng cao được tập trung nghiên cứu trong đề tài bao gồm tìm kiếm sản phẩm thông qua hình ảnh và tự động đề xuất sản phẩm dựa trên lịch sử đánh giá:

  • Đối với bài toán tìm kiếm hình ảnh: Phương pháp truyền thống dựa trên trích xuất thủ công các đặc trưng thị giác (màu sắc, hình dạng, kết cấu, đặc trưng cục bộ). Cách tiếp cận này gặp khó khăn trong việc chọn lọc đặc trưng tiêu biểu có ảnh hưởng quyết định đến độ chính xác và tiêu tốn nhiều thời gian xử lý khi kho lưu trữ ảnh của các trang TMĐT tăng lên nhanh chóng.
  • Đối với bài toán gợi ý sản phẩm: Số lượng khách hàng và sản phẩm trong hệ thống thương mại điện tử rất lớn, khiến việc tính toán và đưa ra dự đoán chính xác bằng các giải thuật thủ công trở nên phức tạp.

Đồ án tốt nghiệp đại học "Tích hợp tìm kiếm ảnh và tư vấn sản phẩm vào website thương mại điện tử" do sinh viên Lê Thế Hiếu thực hiện (ngành Hệ thống thông tin, Học viện Công nghệ Bưu chính Viễn thông, năm 2021) hướng tới việc ứng dụng trí tuệ nhân tạo và học máy để giải quyết đồng thời hai bài toán trên.

Mục tiêu nghiên cứu được xác định cụ thể gồm 4 nhiệm vụ:

  1. Tìm hiểu mạng nơ-ron tích chập (CNN), cụ thể là mô hình VGG16 nhằm ứng dụng xây dựng chức năng tìm kiếm ảnh cùng loại tích hợp vào website thương mại điện tử.
  2. Tìm hiểu kỹ thuật Fine-Tuning trong việc hạn chế hiện tượng quá khớp (overfitting) khi huấn luyện với tập dữ liệu có kích thước nhỏ.
  3. Tìm hiểu kỹ thuật lọc cộng tác, cụ thể là thuật toán User-user Collaborative Filtering để tích hợp chức năng gợi ý sản phẩm vào website thương mại điện tử.
  4. Xây dựng website bán hàng hoàn chỉnh và tích hợp trực tiếp hai module tư vấn sản phẩm và tìm kiếm phân loại ảnh vào hệ thống.

Phạm vi nghiên cứu:

  • Không gian dữ liệu bài toán tư vấn: Bộ dữ liệu chuẩn MovieLens 100k và bộ dữ liệu đánh giá nội bộ gồm 349 bản ghi từ cơ sở dữ liệu của hệ thống website xây dựng.
  • Không gian dữ liệu bài toán phân loại ảnh: Bộ dữ liệu Asirra (25.000 ảnh chó và mèo) và bộ dữ liệu thực tế gồm 3.200 ảnh sản phẩm thuộc 10 danh mục hàng hóa được thu thập (crawl) từ các sàn thương mại điện tử như Shopee, Tiki.
  • Thời gian và môi trường thực hiện: Đồ án hoàn thành vào năm 2021 trong khuôn khổ chương trình đào tạo đại học chính quy khóa 2017 – 2022.

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

Khung lý thuyết và mô hình hệ tư vấn

Hệ thống tư vấn (Recommender Systems - RS) được phân loại thành ba hướng tiếp cận chính:

  • Hệ tư vấn dựa trên nội dung (Content-based Recommendation Systems): Phân tích thuộc tính sản phẩm và hồ sơ người dùng để tìm kiếm các sản phẩm tương tự với những gì người dùng đã đánh giá tích cực trong quá khứ.
  • Hệ thống lọc cộng tác (Collaborative Filtering Systems): Khai thác cơ sở dữ liệu ma trận người dùng - sản phẩm để tìm sự tương đồng giữa các thực thể. Phương pháp này gồm hai nhóm chính là dựa trên bộ nhớ (Memory-based, chia thành User-user Collaborative Filtering và Item-item Collaborative Filtering) và dựa trên mô hình (Model-based, điển hình là Matrix Factorization - MF).
  • Hệ thống lai (Hybrid Systems): Kết hợp nhiều kỹ thuật tư vấn nhằm khắc phục nhược điểm của từng phương pháp đơn lẻ.

Trong phạm vi đồ án, thuật toán User-user Collaborative Filtering kết hợp K-Nearest Neighbors (KNN) được lựa chọn để triển khai. Độ đo tương đồng giữa hai người dùng $u$ và $v$ được khảo sát qua ba công thức:

  • Khoảng cách Euclidean ($d_{euclidean}$): Đo lường khoảng cách hình học giữa hai vector xếp hạng trong không gian đa chiều.
  • Hệ số tương quan Pearson ($S_{pearson}$): Tính toán mức độ tương quan tuyến tính giữa các đánh giá chung của hai người dùng so với giá trị đánh giá trung bình của từng người.
  • Hệ số tương tự Cosine ($S_{cos}$): Đo góc giữa hai vector đánh giá trên tập sản phẩm chung.

Quy trình dự đoán điểm số của người dùng $x$ cho sản phẩm $y$ qua User-user Collaborative Filtering:

  1. Chuẩn hóa ma trận đánh giá ban đầu bằng cách lấy điểm xếp hạng trừ đi điểm trung bình của người dùng tương ứng.
  2. Tính ma trận tương quan giữa các cặp người dùng bằng hệ số tương quan Pearson.
  3. Ứng dụng thuật toán KNN để chọn ra $k$ người dùng có độ tương tự cao nhất với người dùng cần dự đoán.
  4. Ước lượng điểm đánh giá dự đoán thông qua tổng có trọng số của các người dùng láng giềng.

Khung lý thuyết mạng nơ-ron tích chập và học sâu

Bài toán nhận dạng và phân loại ảnh được xây dựng dựa trên mạng nơ-ron tích chập (Convolutional Neural Network - CNN). Kiến trúc CNN tiêu chuẩn bao gồm:

  • Tầng tích chập (Convolutional Layer): Sử dụng các bộ lọc (kernel) trượt qua ma trận điểm ảnh để trích xuất bản đồ đặc trưng (feature map).
  • Tầng kích hoạt phi tuyến ReLU: Chuyển đổi toàn bộ giá trị âm thành 0 nhằm đảm bảo tính phi tuyến cho mô hình tính toán.
  • Tầng lấy mẫu (Pooling Layer): Giảm kích thước không gian của bản đồ đặc trưng thông qua kỹ thuật Max Pooling (lấy giá trị lớn nhất) hoặc Average Pooling (lấy giá trị trung bình), giúp giảm số lượng tham số và tăng hiệu quả xử lý.
  • Tầng kết nối đầy đủ (Fully-Connected Layer) và tầng phân loại Softmax: Tổng hợp các đặc trưng bậc cao để đưa ra phân phối xác suất trên các nhãn đầu ra.

Kiến trúc mạng VGG16: Mô hình CNN do nhóm Visual Geometry Group thuộc Đại học Oxford đề xuất, đạt độ chính xác 92,7% top-5 trên tập ImageNet (14 triệu ảnh thuộc 1.000 lớp). VGG16 gồm 13 tầng tích chập với bộ lọc kích thước nhỏ $3 \times 3$ (stride = 1, padding = 1), 5 tầng Max Pooling kích thước $2 \times 2$ (stride = 2) và 3 tầng Fully-Connected (hai tầng đầu có 4.096 kênh, tầng cuối cùng tương ứng với số lớp phân loại).

Phương pháp Học chuyển giao (Transfer Learning) và Kỹ thuật Tinh chỉnh (Fine-Tuning): Để giải quyết rào cản về việc thiếu dữ liệu huấn luyện lớn và hạn chế phần cứng, tác giả kế thừa mô hình VGG16 đã huấn luyện sẵn trên ImageNet. Kỹ thuật Fine-Tuning được áp dụng bằng cách giữ lại các tầng tích chập ban đầu (nơi trích xuất các đặc trưng cơ bản như đường viền, cạnh, mảng màu) và huấn luyện lại/tinh chỉnh các tầng kết nối đầy đủ phía sau để phù hợp với 10 danh mục sản phẩm cụ thể.

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

Kiến trúc phân tầng và tương tác Client - Server

Chức năng tìm kiếm sản phẩm bằng hình ảnh được thiết kế theo mô hình Client - Server tách biệt:

  • Client (Giao diện người dùng): Người dùng tải ảnh sản phẩm lên từ giao diện web; ảnh được đóng gói và gửi qua kết nối mạng tới máy chủ xử lý. Sau khi nhận kết quả nhận dạng từ máy chủ, client hiển thị danh sách các sản phẩm có cùng danh mục.
  • Server (Máy chủ xử lý nhận dạng): Khởi tạo và nạp các thư viện tính toán; nạp mô hình VGG16 đã qua tinh chỉnh vào bộ nhớ; cấu hình giao thức truyền nhận dữ liệu; khởi tạo luồng xử lý riêng biệt. Luồng tính toán tiếp nhận ảnh đầu vào, thực hiện tiền xử lý kích thước ảnh chuẩn ($224 \times 224 \times 3$), đưa qua mô hình mạng để suy luận danh mục, truy xuất dữ liệu sản phẩm tương ứng và trả kết quả về client trước khi giải phóng tài nguyên luồng.

Module tư vấn gợi ý sản phẩm

Quy trình đề xuất sản phẩm được tổ chức qua ba pha liên tiếp:

  1. Tiền xử lý dữ liệu: Truy vấn bảng dữ liệu bình luận/đánh giá (Comment) trong cơ sở dữ liệu hệ thống. Trường hợp người dùng đánh giá nhiều lần trên cùng một sản phẩm, hệ thống tính trung bình cộng các lần đánh giá để tạo nên một bản ghi duy nhất, loại bỏ các bản ghi không hợp lệ.
  2. Xây dựng ma trận dự đoán: Áp dụng thuật toán User-user Collaborative Filtering với tham số láng giềng $k=1$ (được chứng minh tối ưu qua thực nghiệm). Ma trận xếp hạng sau khi chuẩn hóa được dùng để tính toán điểm dự đoán cho các sản phẩm mà người dùng chưa từng tương tác.
  3. Xử lý ngữ cảnh đầu ra: Lọc các sản phẩm có điểm dự đoán cao nhất, kiểm tra trạng thái hiển thị và trình bày trực tiếp lên khu vực đề xuất tại trang chủ website.

Môi trường triển khai và công cụ

  • Cấu hình phần cứng máy chủ thực nghiệm: Laptop LENOVO 81LK, vi xử lý Intel Core i5-9300H CPU @ 2.40GHz (8 CPUs), bộ nhớ trong 8GB RAM, hệ điều hành Windows.
  • Ngôn ngữ và thư viện hỗ trợ: Ngôn ngữ lập trình Python, thư viện tính toán khoa học NumPy, thư viện học sâu TensorFlow, công cụ phát triển Visual Studio Code.
  • Cơ sở dữ liệu: Hệ quản trị cơ sở dữ liệu quan hệ được thiết kế gồm các bảng chính: User (người dùng), Product (sản phẩm), Category (danh mục sản phẩm), Comment (đánh giá và bình luận), Order (đơn hàng), Order_Detail (chi tiết đơn hàng).

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

Chương 1: Tổng quan hệ tư vấn và bài toán tìm kiếm phân loại ảnh

Chương này thiết lập nền tảng lý thuyết tổng quát cho cả hai nhánh bài toán:

  • Khái quát về hệ tư vấn, định nghĩa bài toán dưới dạng toán học: Cho tập người dùng $U$, tập sản phẩm $P$ và ma trận đánh giá $R = (r_{ij})_{M \times N}$, xác định danh sách các sản phẩm $p_j$ phù hợp nhất với người dùng $u_i$. Phân tích ưu nhược điểm của các hướng tiếp cận Content-based, Collaborative Filtering và Hybrid.
  • Trình bày bài toán nhận dạng và phân loại ảnh trong thị giác máy tính, liệt kê 6 khó khăn đặc thù: sự đa dạng trong góc nhìn (viewpoint), biến đổi kích thước, điều kiện chiếu sáng, vật thể bị che khuất một phần, độ lộn xộn của phông nền, và sự đa dạng chủng loại.
  • Phân tích tiến trình kỹ thuật từ phương pháp xử lý ảnh truyền thống (Image Processing - trích xuất tham số hình học, màu sắc, kết cấu), phương pháp học máy (Machine Learning) từ những năm 2000, cho đến sự ra đời của học sâu (Deep Learning). Phát biểu bài toán phân loại ảnh sản phẩm: Cho tập danh mục $C$ và ảnh đầu vào $k$, xác định nhãn danh mục chính xác của $k$ để truy xuất các sản phẩm liên quan trong cơ sở dữ liệu.

Chương 2: Hệ tư vấn dựa trên kỹ thuật lọc cộng tác và ứng dụng mạng VGG16 vào bài toán phân loại tìm kiếm ảnh

Nội dung chương 2 đi sâu vào cấu trúc thuật toán chi tiết:

  • Trình bày kỹ thuật lọc cộng tác dựa trên bộ nhớ (User-based và Item-based). Cung cấp ví dụ tính toán số học cụ thể trên ma trận đánh giá 4 người dùng cho 6 sản phẩm (Điện thoại Samsung, Nokia 3200, Laptop Dell 7200, Tivi Samsung, iPhone 12 Pro Max, iPhone X) để minh họa khoảng cách Euclidean ($d=3.74$), hệ số tương quan Pearson ($S=0.89$), và độ tương tự Cosine ($S=0.98$).
  • Minh họa 4 bước thực thi thuật toán User-user Collaborative Filtering trên ma trận đánh giá mẫu của 6 người dùng và 5 sản phẩm, giải thích cách xử lý giá trị khuyết thiếu và công thức suy diễn xếp hạng.
  • Phân tích chi tiết kiến trúc mạng nơ-ron tích chập qua các tầng: Tầng tích chập với ví dụ tính ma trận điểm ảnh $5 \times 5$ nhân chập kernel $3 \times 3$; Tầng kích hoạt phi tuyến ReLU; Tầng lấy mẫu Max Pooling và Average Pooling; Tầng Fully-Connected.
  • Chi tiết hóa kiến trúc VGG16 qua 6 khối tầng, cách thức thu giảm kích thước qua các tầng Max Pooling từ $224 \times 224 \times 3$ xuống $7 \times 7 \times 512$ trước khi vào 3 tầng Fully-Connected.
  • Phân tích nguyên lý Transfer Learning và kỹ thuật Fine-Tuning; đưa ra thiết kế kiến trúc phân tầng tương tác Client - Server cho tính năng tìm kiếm bằng hình ảnh.

Chương 3: Thử nghiệm và đánh giá

Chương 3 tập trung kiểm thử độc lập hai mô hình trước khi tích hợp vào hệ thống phần mềm:

  • Thực nghiệm hệ tư vấn: Sử dụng 2 tập dữ liệu (MovieLens 100k và dữ liệu đánh giá hệ thống 349 bản ghi). Đánh giá chéo 3 thuật toán: User-user Collaborative Filtering (U-B), Item-item Collaborative Filtering (I-B), và Matrix Factorization (CF/MF) qua hai tiêu chuẩn sai số MAE (Mean Absolute Error) và RMSE (Root Mean Square Error).
  • Thực nghiệm xác định số láng giềng tối ưu $k \in {1, 2, 3, 4, 5}$ trên dữ liệu rating hệ thống.
  • Thực nghiệm bài toán phân loại ảnh: Kiểm thử mô hình trên bộ dữ liệu chuẩn Asirra (25.000 ảnh chó/mèo) và bộ dữ liệu 3.200 ảnh sản phẩm (10 danh mục). Mô tả quy trình chia tập huấn luyện (training), kiểm thử (test), giám sát (validation) và chia batch size 500 ảnh. Đánh giá kết quả qua ma trận nhầm lẫn (Confusion Matrix) và độ chính xác (Accuracy).

Chương 4: Phát triển xây dựng ứng dụng

Chương này chuyển hóa các kết quả nghiên cứu thành sản phẩm phần mềm thực tế:

  • Giới thiệu tổng quan hệ thống thương mại điện tử.
  • Phân tích thiết kế hệ thống hướng đối tượng: Xác định các tác nhân nghiệp vụ (Khách hàng, Quản trị viên), xây dựng sơ đồ ca sử dụng tổng quan (Use Case Diagram) và đặc tả kịch bản ca sử dụng chi tiết.
  • Thiết kế sơ đồ lớp thực thể (Entity Class Diagram), sơ đồ tuần tự (Sequence Diagram) cho ba chức năng nghiệp vụ trọng tâm: Tìm kiếm sản phẩm bằng hình ảnh, Xem lịch sử mua hàng, và Đặt hàng.
  • Xây dựng sơ đồ quan hệ thực thể (ERD), thiết kế cấu trúc chi tiết các bảng trong cơ sở dữ liệu quan hệ và biểu đồ lớp thiết kế toàn hệ thống.
  • Trình bày kết quả cài đặt giao diện ứng dụng: Màn hình đăng nhập, Trang chủ với khu vực đề xuất sản phẩm tự động, Giao diện tải ảnh tìm kiếm và Màn hình hiển thị danh sách sản phẩm cùng danh mục tìm được.

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

Số liệu thực nghiệm hệ thống tư vấn

Thực nghiệm so sánh giữa ba thuật toán tư vấn trên hai bộ dữ liệu cho thấy tác động rõ rệt của độ thưa dữ liệu (sparsity) tới độ chính xác dự đoán:

Bộ dữ liệu Thuật toán RMSE (Tập Train) RMSE (Tập Test) MAE (Tập Train) MAE (Tập Test)
MovieLens 100k
(943 users, 1682 items,
100.000 ratings, độ thưa 93.7%)
Item-based CF 0.86 1.00 1.10 1.13
User-based CF 1.06 1.16 1.24 1.39
Matrix Factorization (CF) 0.99 1.02 1.05 1.15
Dữ liệu hệ thống
(10 users, 39 items,
349 ratings, độ thưa 10.51%)
Item-based CF — 4.45 — 5.42
User-based CF — 5.02 — 5.48

Trên tập MovieLens 100k, thuật toán Item-based CF đạt kết quả RMSE thấp nhất (1.00 trên tập test). Khi tối ưu hóa hàm mất mát, Matrix Factorization cho kết quả MAE tốt nhất (1.15 trên tập test).

Thực nghiệm tìm số láng giềng $k$ cho thuật toán User-user Collaborative Filtering trên tập dữ liệu hệ thống:

Giá trị $k$ $k=1$ $k=2$ $k=3$ $k=4$ $k=5$
RMSE 0.577 2.55 3.13 3.45 3.76
MAE 0.333 — — — —

Kết quả chỉ ra rằng giá trị $k=1$ mang lại sai số nhỏ nhất ($\text{RMSE} = 0.577$, $\text{MAE} = 0.333$). Khi tăng $k$ từ 2 đến 5, sai số tăng đột biến do số lượng người dùng trong hệ thống còn rất ít (10 người dùng) và số lượt đánh giá chưa đủ phong phú. Do đó, tham số $k=1$ được lựa chọn để cấu hình cho module gợi ý trong website.

Số liệu thực nghiệm bài toán phân loại ảnh

  • Tập dữ liệu Asirra: 25.000 ảnh (chia 60% train = 15.000 ảnh, 30% validation = 7.500 ảnh, 10% test = 2.500 ảnh), batch size = 500. Mô hình huấn luyện hội tụ tốt và phân biệt chính xác hai lớp chó và mèo.
  • Tập dữ liệu ảnh sản phẩm: 3.200 ảnh thu thập từ Shopee, Tiki chia đều cho 10 danh mục (Closet, ElectricFan, Laptop, Motobike, Phone, Photo, Shoes, Sport, Tivi, Watch), mỗi danh mục 320 ảnh. Dữ liệu chia thành 70% train (2.240 ảnh), 20% validation (640 ảnh), 10% test (320 ảnh), batch size = 500. Mô hình VGG16 áp dụng Fine-Tuning nhận dạng và phân loại chính xác các danh mục hàng hóa đầu vào để trả về danh sách sản phẩm tương ứng trên giao diện web.

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

  1. Hiện thực hóa việc kết hợp giữa mô hình học sâu thị giác (VGG16 Fine-Tuning) và mô hình học máy lọc cộng tác (User-user CF) trong một hệ thống website TMĐT hoàn chỉnh, chứng minh tính khả thi của việc tích hợp AI vào các ứng dụng thương mại quy mô vừa và nhỏ.
  2. Đưa ra so sánh thực nghiệm đa chiều giữa các phương pháp tư vấn (User-based, Item-based, Matrix Factorization) trên cả bộ dữ liệu chuẩn quy mô lớn và tập dữ liệu nghiệp vụ thực tế, chỉ ra mối liên hệ trực tiếp giữa độ thưa dữ liệu, tỷ lệ người dùng/sản phẩm với sai số dự đoán.
  3. Cung cấp thiết kế hoàn chỉnh từ kiến trúc luồng dữ liệu Client - Server đến cơ sở dữ liệu quan hệ phục vụ triển khai các mô hình AI trong môi trường web.

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

Hạn chế của đồ án:

  • Quy mô tập dữ liệu đánh giá nội bộ của hệ thống còn rất nhỏ (chỉ 10 người dùng tương tác trên 39 sản phẩm với 349 lượt xếp hạng), khiến sai số RMSE và MAE trong các kịch bản kiểm thử tổng quát cao hơn nhiều so với bộ dữ liệu chuẩn MovieLens.
  • Hệ thống chỉ thực hiện phân loại ảnh ở cấp độ danh mục (Category-level classification với 10 nhãn) chứ chưa thực hiện nhận dạng định danh chính xác từng mã sản phẩm cụ thể (Instance-level product retrieval).
  • Tài nguyên phần cứng thực nghiệm còn ở mức máy tính cá nhân (RAM 8GB, CPU Core i5 không có GPU chuyên dụng), buộc phải cấu hình batch size cố định 500 và kéo dài thời gian huấn luyện.

Hướng nghiên cứu tiếp theo:

  • Thu thập và mở rộng tập dữ liệu tương tác người dùng nhằm giảm độ thưa thớt của ma trận đánh giá, từ đó nâng cao độ chính xác khi số lượng láng giềng $k$ tăng lên.
  • Nghiên cứu mở rộng số lượng danh mục sản phẩm và áp dụng các kiến trúc mạng học sâu tiên tiến hơn nhằm định danh chi tiết sản phẩm dựa trên các đặc trưng cục bộ phức tạp.
  • Tối ưu hóa hiệu năng tính toán của máy chủ xử lý ảnh để giảm thời gian phản hồi khi có nhiều yêu cầu truy vấn đồng thời từ phía client.

Giá trị tham khảo

Đồ án là tài liệu tham khảo phù hợp cho sinh viên, học viên các ngành Công nghệ thông tin, Hệ thống thông tin, Khoa học dữ liệu và Kỹ thuật phần mềm khi tiếp cận bài toán ứng dụng học máy vào hệ thống thông tin quản lý.

Các nội dung có giá trị tham khảo cao trong tài liệu gồm:

  • Hướng dẫn chi tiết từng bước tính toán lý thuyết thuật toán User-user Collaborative Filtering (chuẩn hóa ma trận, tính tương quan Pearson, nội suy điểm dự đoán) kèm các bảng số liệu minh họa cụ thể.
  • Quy trình áp dụng Transfer Learning và Fine-Tuning trên mạng VGG16 đối với tập dữ liệu ảnh tự thu thập có kích thước giới hạn (3.200 ảnh).
  • Bộ tài liệu phân tích thiết kế phần mềm hoàn chỉnh theo chuẩn UML: sơ đồ ca sử dụng, sơ đồ lớp thực thể, sơ đồ tuần tự cho các chức năng AI và sơ đồ cơ sở dữ liệu quan hệ tương ứng.

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

1. Tại sao tác giả lại chọn tham số láng giềng $k=1$ cho chức năng gợi ý sản phẩm của website thay vì các giá trị $k$ lớn hơn?
Dựa trên kết quả thực nghiệm khảo sát giá trị $k \in {1, 2, 3, 4, 5}$ trên tập dữ liệu đánh giá của hệ thống, tại $k=1$, hai chỉ số sai số đạt mức thấp nhất ($\text{RMSE} = 0.577$ và $\text{MAE} = 0.333$). Khi tăng $k$ từ 2 đến 5, sai số RMSE tăng mạnh (lên lần lượt 2.55, 3.13, 3.45 và 3.76). Nguyên nhân là số lượng người dùng trong hệ thống thử nghiệm còn rất ít (10 người dùng), việc lấy thêm các láng giềng có độ tương đồng thấp sẽ làm sai lệch nghiêm trọng điểm số dự đoán.

2. Tập dữ liệu ảnh sản phẩm dùng để huấn luyện mạng VGG16 được tổ chức và phân chia như thế nào?
Tập dữ liệu gồm 3.200 bức ảnh được thu thập (crawl) từ các trang TMĐT như Shopee, Tiki. Dữ liệu được phân bổ đồng đều vào 10 thư mục tương ứng với 10 danh mục: Closet, ElectricFan, Laptop, Motobike, Phone, Photo, Shoes, Sport, Tivi, Watch (mỗi thư mục 320 ảnh). Dữ liệu được chia thành ba tập con: tập huấn luyện (training set) gồm 2.240 ảnh (70%), tập giám sát (validation set) gồm 640 ảnh (20%), và tập kiểm thử (test set) gồm 320 ảnh (10%), huấn luyện theo batch size 500 ảnh.

3. Thuật toán tư vấn nào đạt hiệu quả tốt nhất khi thử nghiệm trên bộ dữ liệu chuẩn MovieLens 100k?
Khi đánh giá trên tập dữ liệu MovieLens 100k, thuật toán Item-item Collaborative Filtering đạt sai số toàn phương trung bình thấp nhất với $\text{RMSE} = 0.86$ trên tập train và $1.00$ trên tập test (so với User-user CF có RMSE lần lượt là 1.06 và 1.16). Tuy nhiên, khi đánh giá theo sai số tuyệt đối trung bình (MAE) kết hợp tối ưu hóa hàm mất mát, mô hình Matrix Factorization (CF) cho kết quả tốt nhất với $\text{MAE} = 1.05$ trên tập train và $1.15$ trên tập test.

4. Cấu trúc mạng VGG16 được tác giả trình bày gồm những thành phần cụ thể nào?
Mạng VGG16 gồm 13 lớp tích chập (Convolutional) với kích thước kernel $3 \times 3$, bước trượt stride = 1, padding = 1; các lớp kích hoạt phi tuyến ReLU đi liền sau mỗi lớp tích chập; 5 lớp lấy mẫu Max Pooling kích thước $2 \times 2$ với bước trượt stride = 2; và 3 lớp kết nối đầy đủ (Fully-Connected). Hai lớp Fully-Connected đầu tiên chứa 4.096 kênh mỗi lớp, lớp thứ ba tương ứng với số lớp đầu ra của bài toán phân loại và kết thúc bằng lớp Softmax.

5. Hệ thống xử lý tình huống một người dùng đánh giá nhiều lần trên cùng một sản phẩm như thế nào trong module tư vấn?
Trong bước tiền xử lý dữ liệu từ bảng Comment, hệ thống tiến hành lọc bỏ các bản ghi không hợp lệ và thực hiện gom nhóm dữ liệu. Nếu một người dùng thực hiện bình luận và chấm điểm nhiều lần cho cùng một sản phẩm, hệ thống sẽ tính giá trị trung bình cộng của các lần đánh giá đó để làm điểm số đại diện duy nhất trước khi đưa vào ma trận xếp hạng người dùng - sản phẩm.

Kết luận

Đồ án tốt nghiệp của tác giả Lê Thế Hiếu đã nghiên cứu và tích hợp thành công hai kỹ thuật trí tuệ nhân tạo hiện đại—lọc cộng tác User-user Collaborative Filtering và mạng nơ-ron tích chập VGG16 kết hợp Fine-Tuning—vào một hệ thống website thương mại điện tử thực tế. Các mô hình thuật toán đều được kiểm chứng độc lập trên cả tập dữ liệu benchmark quốc tế (MovieLens 100k, Asirra) và tập dữ liệu nghiệp vụ thực tế trước khi cấu hình vào phần mềm. Tài liệu phản ánh một quy trình nghiên cứu kỹ thuật hoàn chỉnh từ khảo cứu lý thuyết, thực nghiệm đối sánh tham số đến thiết kế và cài đặt hệ thống thông tin theo chuẩn công nghệ phần mềm.