Giới thiệu dự án
Thương mại điện tử (TMĐT - E-Commerce) tại Việt Nam và trên toàn cầu đang chứng kiến sự tăng trưởng vượt bậc. Theo số liệu từ Cục Thương mại điện tử và Kinh tế số (Bộ Công Thương), doanh thu TMĐT B2C của Việt Nam năm 2020 đã đạt 11,8 tỷ USD và vượt mốc 12 tỷ USD trong năm 2021 với tốc độ tăng trưởng hơn 18%, chiếm 5,5% tổng mức bán lẻ hàng hóa và dịch vụ tiêu dùng cả nước. Đồng thời, xu hướng tìm kiếm trực quan (Visual Search) và cá nhân hóa trải nghiệm khách hàng đang thay đổi hoàn toàn hành vi mua sắm trực tuyến. Báo cáo từ Business 2 Community và Invespcro chỉ ra rằng có tới 62% người tiêu dùng thuộc thế hệ trẻ ưa chuộng công cụ tìm kiếm trực quan hơn các phương pháp tìm kiếm truyền thống, và 74% người mua sắm cho rằng tìm kiếm dựa trên văn bản (text-based search) không thực sự hiệu quả trong việc tìm đúng sản phẩm thời trang mong muốn. Hơn nữa, việc áp dụng công nghệ tìm kiếm trực quan có thể giúp doanh nghiệp tăng doanh thu trung bình tới 30%.
+-------------------------------------------------------------------------------+
| THỰC TRẠNG & ĐỘNG LỰC PHÁT TRIỂN |
| • Quy mô TMĐT VN: Vượt 12 tỷ USD (2021), 53% dân số tham gia bán lẻ online |
| • Nhu cầu Visual Search: 62% giới trẻ ưu tiên tìm kiếm sản phẩm qua hình ảnh |
| • Thách thức Text Search: 74% người dùng gặp khó khi mô tả kiểu dáng thời trang|
+-------------------------------------------------------------------------------+
Mặc dù nhu cầu thị trường rất lớn, các hệ thống TMĐT vừa và nhỏ (SMEs) tại Việt Nam vẫn đối mặt với nhiều rào cản kỹ thuật:
- Hạn chế trong tìm kiếm sản phẩm bằng từ khóa: Người tiêu dùng rất khó diễn đạt chính xác kiểu dáng, hoa văn, phom dáng của sản phẩm thời trang (ví dụ: đầm maxi xòe hoa nhí, giày sneaker đế thô) bằng văn bản.
- Thiếu hụt tính năng Visual Search trên nền tảng Web: Hầu hết các giải pháp tìm kiếm hình ảnh hiện nay chỉ được tích hợp độc quyền trên ứng dụng di động (Mobile App) của các sàn lớn như Shopee, Lazada; các phiên bản web thương mại điện tử hầu như chưa được hỗ trợ.
- Trải nghiệm mua sắm thiếu cá nhân hóa: Các website TMĐT thông thường chỉ dừng lại ở việc hiển thị sản phẩm theo danh mục tĩnh, thiếu hệ thống gợi ý (Recommender System) thông minh dựa trên lịch sử tương tác và đánh giá của người dùng.
- Chi phí tích hợp AI từ bên thứ ba quá cao: Việc sử dụng các API thương mại có sẵn đòi hỏi chi phí vận hành lớn, không phù hợp cho các mô hình kinh doanh đa cửa hàng (Multi-vendor Marketplace) quy mô vừa và nhỏ.
Nhằm giải quyết triệt để các vấn đề trên, đề tài khóa luận "Xây dựng website thương mại điện tử tích hợp chức năng gợi ý sản phẩm và tìm kiếm sản phẩm bằng hình ảnh cho khách hàng" (Đại học Công nghệ Thông tin – ĐHQG-HCM, thực hiện bởi sinh viên Nguyễn Văn Mạnh và Võ Trung Hiếu, dưới sự hướng dẫn của ThS. Mai Xuân Hùng) đã được nghiên cứu và phát triển toàn diện.
Mục tiêu của dự án:
- Xây dựng sàn giao dịch TMĐT đa người bán (Multi-vendor B2C Marketplace): Cho phép người mua mua sắm đa cửa hàng và người bán (Seller) đăng ký mở gian hàng, quản lý danh mục, đơn hàng, thống kê doanh thu và cấu hình khuyến mãi.
- Phát triển hệ thống tìm kiếm sản phẩm bằng hình ảnh (Visual Search System): Ứng dụng mạng nơ-ron tích chập (Convolutional Neural Networks - CNNs) để phân loại và truy vấn các sản phẩm thời trang tương đồng trực tiếp từ ảnh người dùng tải lên trên nền tảng Web.
- Xây dựng hệ thống gợi ý sản phẩm (Recommendation System): Ứng dụng thuật toán lọc cộng tác (Collaborative Filtering) nhằm dự đoán sở thích và gợi ý sản phẩm phù hợp nhất cho từng khách hàng mục tiêu.
- Tích hợp kênh tương tác thời gian thực (Real-time Communication): Xây dựng module chat trực tiếp giữa khách hàng và chủ cửa hàng thông qua giao thức WebSocket/SignalR.
- Đánh giá và kiểm thử thực nghiệm: Đo lường hiệu năng phân loại ảnh bằng độ chính xác (Accuracy), độ mất mát (Loss), và đánh giá độ sai số của hệ gợi ý bằng các chỉ số MAE (Mean Absolute Error) và RMSE (Root Mean Squared Error).
Phạm vi và giới hạn: Dự án tập trung vào ngành hàng thời trang (quần áo, giày dép, túi xách, phụ kiện), hỗ trợ tập dữ liệu chuẩn hóa gồm 13 danh mục phân loại chính; thử nghiệm vận hành trên môi trường Web đáp ứng nhu cầu thị trường tại khu vực TP. Hồ Chí Minh.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Khảo sát các nền tảng thương mại điện tử lớn tại Việt Nam cho thấy sự phân hóa rõ rệt trong việc ứng dụng công nghệ Visual Search và Recommender System:
| Tiêu chí phân tích |
Shopee |
Lazada |
Tiki |
Hệ thống đề xuất (Đề tài) |
| Nền tảng hỗ trợ Visual Search |
Mobile App (iOS/Android) |
Mobile App (iOS/Android) |
Chưa hỗ trợ |
Hỗ trợ trực tiếp trên nền tảng Web |
| Tốc độ xử lý ảnh |
Nhanh (~200ms) |
Trung bình (~450ms) |
N/A |
Nhanh (~250ms - 350ms) |
| Độ chính xác ảnh chất lượng thấp |
Trung bình |
Tốt |
N/A |
Tốt (nhờ tiền xử lý GrabCut + Bounding Box) |
| Cơ chế gợi ý sản phẩm |
Sản phẩm tương tự & Lịch sử |
Sản phẩm liên quan |
Dựa trên danh mục |
Lọc cộng tác (Collaborative Filtering) |
| Tương tác Real-time Seller-Buyer |
Chat trong App |
Chat trong App |
Chatbot / Ticket |
SignalR Web Chat trực tiếp |
| Khả năng tiếp cận cho SMEs |
Khép kín / Thu phí sàn |
Khép kín / Thu phí sàn |
Khép kín |
Mã nguồn mở, dễ dàng tùy biến, chi phí thấp |
Ma trận ưu tiên yêu cầu người dùng (MoSCoW):
- Must Have: Đăng ký/đăng nhập phân quyền (Admin, Seller, Customer); Quản lý giỏ hàng và đặt hàng đa shop; Tìm kiếm bằng hình ảnh trên giao diện Web; Hệ thống gợi ý sản phẩm cá nhân hóa; Quản lý sản phẩm và danh mục cho Seller.
- Should Have: Chat real-time giữa người mua và người bán; Thống kê doanh thu theo biểu đồ; Quản lý voucher và mã khuyến mãi; Đánh giá và xếp hạng (Rating & Reviews) sản phẩm.
- Could Have: Đăng nhập nhanh qua Google OAuth2; Xuất báo cáo dữ liệu bán hàng ra file Excel; Blog chia sẻ phong cách thời trang.
- Won't Have (Giai đoạn này): Tích hợp cổng thanh toán quốc tế trực tiếp (Visa/Mastercard qua cổng trung gian 3D-Secure); Ứng dụng di động Native iOS/Android.
Thiết kế hệ thống
Hệ thống được thiết kế theo mô hình kiến trúc phân lớp hướng dịch vụ (Service-Oriented / Microservices-ready Architecture), phân tách độc lập giữa tầng giao diện người dùng, tầng xử lý nghiệp vụ thương mại, tầng truyền thông thời gian thực và tầng dịch vụ trí tuệ nhân tạo (AI Services).
Ngăn xếp công nghệ (Technology Stack) với phiên bản chi tiết:
- Frontend Layer: Angular v12.0, TypeScript v4.2, HTML5/SCSS, Bootstrap 5, RxJS.
- Core Backend Service: Java OpenJDK 11, Spring Boot v2.5.0, Spring Security (JWT Token Authentication), Hibernate ORM v5.4.
- Real-time & Communication Service: C# .NET Core v5.0, ASP.NET Core SignalR, Entity Framework Core v5.0.
- AI / Deep Learning Engine: Python v3.8, Keras v2.4.3, TensorFlow v2.4.1, OpenCV (cv2) v4.5, Pandas v1.2, NumPy v1.19.
- Database Management System: MySQL Server v8.0 Community Edition.
- Cloud Infrastructure & Hosting: Amazon Web Services (AWS S3 cho lưu trữ Media), Heroku Cloud Platform.
Thiết kế cơ sở dữ liệu quan hệ (Relational Database Schema):
Hệ thống sử dụng cơ sở dữ liệu quan hệ MySQL chuẩn hóa mức 3NF bao gồm hơn 20 bảng thực thể chính:
account (id, username, password_hash, email, role, status)
store (id, account_id, store_name, address, phone, rating_avg)
product (id, store_id, category_id, brand_id, product_name, price, description, created_at)
product_detail (id, product_id, color_id, size_id, quantity_in_stock, sku)
product_image (id, product_id, image_url, is_thumbnail)
orders (id, customer_id, total_amount, shipping_address, status, payment_method, created_at)
order_detail (id, order_id, product_detail_id, unit_price, quantity)
comment (id, account_id, product_id, content, rating_score, created_at)
wish_list (id, account_id, product_id, created_at)
Thiết kế RESTful API Specifications:
+-----------------------------------------------------------------------------------+
| ENDPOINT | METHOD | MÔ TẢ |
+-----------------------------------------------------------------------------------+
| /api/v1/auth/login | POST | Xác thực tài khoản, trả về JWT Token |
| /api/v1/products/visual-search | POST | Upload ảnh, nhận diện nhãn & trả về |
| | | danh sách sản phẩm khớp |
| /api/v1/recommendations/{userId} | GET | Lấy danh sách Top-N sản phẩm gợi ý |
| /api/v1/cart/items | POST | Thêm sản phẩm vào giỏ hàng |
| /api/v1/seller/orders/{storeId} | GET | Truy vấn đơn hàng theo cửa hàng |
+-----------------------------------------------------------------------------------+
Phương pháp luận (Methodology) và Quản lý dự án
Dự án áp dụng mô hình phát triển phần mềm theo phương pháp linh hoạt (Agile/Scrum), chia toàn bộ chu kỳ 16 tuần (01/03/2021 đến 26/06/2021) thành 4 giai đoạn cụ thể:
[01/03 - 31/03] Khảo sát, Phân tích thiết kế hệ thống, Xây dựng Core Framework
[01/04 - 20/04] Phát triển module TMĐT (E-commerce Business Logic & Angular UI)
[21/04 - 01/06] Huấn luyện mô hình CNN Visual Search & Hệ thống gợi ý Recommendation
[02/06 - 26/06] Tích hợp liên dịch vụ, Kiểm thử hệ thống (QA/UAT) & Triển khai Cloud
Ma trận đánh giá rủi ro và chiến lược giảm thiểu:
- Rủi ro chất lượng ảnh đầu vào (Lighting, Noise, Clutter): Khắc phục bằng pipeline tiền xử lý kết hợp Imagga Bounding Box API và thuật toán GrabCut loại bỏ nền trước khi chuyển sang ảnh xám 28x28.
- Rủi ro quá tải bộ nhớ khi xử lý đồng thời (Concurrency): Sử dụng Kestrel Server phi đồng bộ (Asynchronous Non-blocking I/O) trên .NET Core và Connection Pooling trên Spring Boot.
- Rủi ro thiếu hụt dữ liệu người dùng mới (Cold-Start Problem): Áp dụng kỹ thuật Fallback sang Top-rated items và danh mục thịnh hành khi người dùng chưa có lịch sử rating.
Implementation và kết quả
Quy trình phát triển và thuật toán lõi
1. Xây dựng mô hình phân loại hình ảnh (Visual Search CNN Model)
Tập dữ liệu huấn luyện được tích hợp từ 3 nguồn lớn: Fashion-MNIST (70.000 ảnh kích thước 28x28 grayscale), Fashion-subcategory, và DeepFashion Dataset (thuộc MMLab - Chinese University of Hong Kong với hơn 289.222 ảnh thực tế).
Tập dữ liệu đầu ra được chuẩn hóa thành 13 nhãn phân loại (Classes): T-Shirt (0), Trouser (1), Pullover (2), Dress (3), Coat (4), Sandal & Flip-Flop (5), Shirt (6), Sneaker (7), Bag (8), Ankle Boot (9), Lip (10), Eyewear (11), Nail (12).
# Pipeline tiền xử lý và kiến trúc CNN trên Keras/TensorFlow
import cv2
import numpy as np
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Dropout, Flatten, Dense
from tensorflow.keras.optimizers import Adam
def preprocess_input_image(image_path, bounding_box=None):
"""
Tiền xử lý ảnh tải lên: Cắt vùng vật thể, áp dụng GrabCut loại bỏ nền,
chuyển sang Grayscale và chuẩn hóa về ma trận 28x28.
"""
img = cv2.imread(image_path)
mask = np.zeros(img.shape[:2], np.uint8)
bgd_model = np.zeros((1, 65), np.float64)
fgd_model = np.zeros((1, 65), np.float64)
# Thiết lập tọa độ Bounding Box từ API hoặc xác định mặc định
rect = bounding_box if bounding_box else (10, 10, img.shape[1]-10, img.shape[0]-10)
cv2.grabCut(img, mask, rect, bgd_model, fgd_model, 5, cv2.GC_INIT_WITH_RECT)
mask2 = np.where((mask == 2) | (mask == 0), 0, 1).astype('uint8')
img_fg = img * mask2[:, :, np.newaxis]
# Chuyển đổi sang Grayscale và Resize về 28x28
gray = cv2.cvtColor(img_fg, cv2.COLOR_BGR2GRAY)
resized = cv2.resize(gray, (28, 28), interpolation=cv2.INTER_AREA)
normalized = resized.astype('float32') / 255.0
return normalized.reshape(1, 28, 28, 1)
def build_cnn_classifier(num_classes=13):
model = Sequential([
Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1), padding='same'),
MaxPooling2D((2, 2)),
Dropout(0.25),
Conv2D(64, (3, 3), activation='relu', padding='same'),
MaxPooling2D((2, 2)),
Dropout(0.25),
Conv2D(128, (3, 3), activation='relu'),
Dropout(0.4),
Flatten(),
Dense(128, activation='relu'),
Dropout(0.3),
Dense(num_classes, activation='softmax')
])
model.compile(
optimizer=Adam(learning_rate=0.001),
loss='categorical_crossentropy',
metrics=['accuracy']
)
return model
2. Xây dựng hệ thống gợi ý sản phẩm (Collaborative Filtering)
Hệ thống sử dụng kỹ thuật lọc cộng tác dựa trên ma trận người dùng - sản phẩm (User-Item Matrix Factorization) kết hợp tính toán khoảng cách Cosine và thuật toán phân tích ma trận để dự đoán điểm đánh giá $\hat{r}_{u,i}$.
$$\text{MAE} = \frac{1}{|\mathcal{T}|} \sum_{(u,i) \in \mathcal{T}} |r_{u,i} - \hat{r}{u,i}|, \quad \text{RMSE} = \sqrt{\frac{1}{|\mathcal{T}|} \sum{(u,i) \in \mathcal{T}} (r_{u,i} - \hat{r}_{u,i})^2}$$
# Thuật toán dự đoán Rating và gợi ý Top-N sản phẩm
import pandas as pd
from surprise import Dataset, Reader, SVD
from surprise.model_selection import train_test_split
from surprise import accuracy
def train_recommender(rating_df):
reader = Reader(rating_scale=(1, 5))
data = Dataset.load_from_df(rating_df[['user_id', 'product_id', 'rating']], reader)
trainset, testset = train_test_split(data, test_size=0.2, random_state=42)
algo = SVD(n_factors=50, n_epochs=20, lr_all=0.005, reg_all=0.02)
algo.fit(trainset)
predictions = algo.test(testset)
mae_score = accuracy.mae(predictions, verbose=False)
rmse_score = accuracy.rmse(predictions, verbose=False)
return algo, mae_score, rmse_score
3. Triển khai Real-time Hub trên ASP.NET Core SignalR
// ChatHub.cs - Xử lý truyền thông thời gian thực giữa Seller và Customer
using Microsoft.AspNetCore.SignalR;
using System.Threading.Tasks;
public class ChatHub : Hub
{
public async Task SendMessageToSeller(string sellerId, string customerName, string messageContent)
{
await Clients.Group($"Seller_{sellerId}").SendAsync("ReceiveCustomerMessage", new
{
Sender = customerName,
Message = messageContent,
Timestamp = System.DateTime.UtcNow
});
}
public async Task JoinStoreChatRoom(string storeId)
{
await Groups.AddToGroupAsync(Context.ConnectionId, $"Seller_{storeId}");
}
}
Kết quả kiểm thử và đánh giá thực nghiệm
1. Đánh giá mô hình phân loại ảnh CNN:
- Độ chính xác trên tập Train (Training Accuracy): $91.4%$
- Độ chính xác trên tập Test (Testing Accuracy): $88.6%$
- Độ mất mát kiểm thử (Testing Loss): $0.284$
- Thời gian suy luận trung bình (Inference Latency): $180\text{ms}/\text{request}$
===================================================================
CONFUSION MATRIX SUMMARY (13 CLASSES)
Top-3 Precision Classes:
1. Bag (Túi xách): 94.2% Precision | 93.8% Recall
2. Eyewear (Mắt kính): 93.5% Precision | 92.1% Recall
3. Sneaker (Giày thể thao): 91.8% Precision | 90.5% Recall
Lowest Precision Classes (Do tương đồng hình dáng):
- Shirt vs T-Shirt: 82.4% Precision (dễ nhầm lẫn cổ áo)
- Pullover vs Coat: 84.1% Precision
===================================================================
2. Đánh giá hệ gợi ý sản phẩm (Recommender Metrics):
- MAE (Mean Absolute Error): $0.682$
- RMSE (Root Mean Squared Error): $0.875$
- Kết quả cho thấy sai số dự đoán điểm đánh giá trung bình chỉ dao động dưới 0.7 điểm trên thang đo rating 5 sao, đảm bảo các sản phẩm được đề xuất có độ tương thích rất cao với thị hiếu người dùng.
3. Bảng tổng hợp kết quả hoàn thành tính năng:
| Hạng mục tính năng |
Kế hoạch đề ra |
Thực tế hoàn thành |
Tình trạng |
| Hệ thống thương mại B2C |
100% nghiệp vụ sàn |
Đầy đủ Cart, Order, Multi-store, Dashboard |
Đạt 100% |
| Tìm kiếm hình ảnh (Web) |
Tích hợp nhận diện ảnh |
Phân loại 13 classes với GrabCut tiền xử lý |
Đạt 100% |
| Hệ thống gợi ý sản phẩm |
Thuật toán Collaborative |
Triển khai SVD Model, tính toán MAE/RMSE |
Đạt 100% |
| Real-time Chat |
Chat 1-1 Buyer/Seller |
ASP.NET Core SignalR Hub hoạt động ổn định |
Đạt 100% |
| Kiểm thử UAT |
Khảo sát người dùng |
92% người dùng hài lòng với trải nghiệm tìm kiếm |
Vượt chỉ tiêu |
Đổi mới và đóng góp
- Chuẩn hóa quy trình tiền xử lý kết hợp GrabCut & Bounding Box Coordinates: Khắc phục nhược điểm lớn nhất của mô hình Fashion-MNIST truyền thống (vốn chỉ học tốt trên ảnh 28x28 nền đen tinh khiết). Bằng cách kết hợp xác định tọa độ vùng chứa vật thể từ Imagga API và thuật toán GrabCut, hệ thống tự động tách chủ thể khỏi nền phức tạp của ảnh thực tế, giúp đưa độ chính xác phân loại ảnh tải lên từ người dùng thực tế tăng thêm 21.5% so với việc resize ảnh trực tiếp.
- Mang trải nghiệm Visual Search lên giao diện Web: Đa số các sàn TMĐT tại Việt Nam thời điểm 2021 chỉ tập trung Visual Search cho ứng dụng di động. Đề tài đã hiện thực hóa thành công tính năng này trực tiếp trên trình duyệt Web (Angular SPA), giúp người dùng máy tính để bàn có thể kéo-thả ảnh để tìm kiếm ngay lập tức.
- Kiến trúc Hybrid Backend đa công nghệ tối ưu hiệu năng: Sự kết hợp giữa Spring Boot (xử lý giao dịch và bảo mật dữ liệu bền vững), ASP.NET Core SignalR (tối ưu hóa luồng truyền tải thời gian thực đa kết nối với chi phí tài nguyên thấp), và Python Microservice (xử lý chuyên sâu các tác vụ tính toán ma trận AI) tạo nên một mô hình kiến trúc có tính phân tách rõ ràng, dễ bảo trì và mở rộng.
Ứng dụng thực tế và triển khai
Kịch bản sử dụng thực tế (Real-World Scenarios):
- Kịch bản 1: Mua sắm tức thì qua ảnh chụp: Khách hàng bắt gặp một mẫu túi xách hoặc giày ưng ý ngoài đời thực hoặc trên mạng xã hội, chỉ cần chụp ảnh hoặc lưu ảnh về máy tính, tải lên thanh tìm kiếm của website. Hệ thống lập tức nhận diện nhãn
Bag hoặc Sneaker và lọc ra toàn bộ các mẫu sản phẩm tương tự đang được bày bán trên các cửa hàng trong hệ thống.
- Kịch bản 2: Tăng doanh thu gian hàng nhờ gợi ý thông minh: Khi khách hàng đang xem một sản phẩm đầm thời trang (
Dress), hệ thống gợi ý tự động kích hoạt, phân tích dữ liệu tương tác để gợi ý các sản phẩm phụ kiện đi kèm như kính mắt (Eyewear), giày sandal (Sandal) hoặc túi xách phù hợp, thúc đẩy tỷ lệ chéo đơn hàng (Cross-selling).
Phân tích chi phí và hiệu quả đầu tư (Cost-Benefit & ROI):
- Chi phí phát triển: Giảm 75% chi phí bản quyền phần mềm nhờ 100% sử dụng công nghệ mã nguồn mở (Java, .NET Core, Python, MySQL, Angular).
- Tỷ lệ chuyển đổi (Conversion Rate): Thử nghiệm nội bộ cho thấy tính năng Visual Search giúp giảm 65% thời gian tìm kiếm của khách hàng, tăng tỷ lệ nhấp chuột (CTR) vào sản phẩm lên 32% và giảm tỷ lệ thoát trang (Bounce Rate) 24%.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại:
- Độ phân giải ảnh 28x28 pixels: Do kế thừa không gian đặc trưng của Fashion-MNIST, độ phân giải 28x28 có thể làm mất đi các chi tiết vân vải, hoa văn nhỏ hoặc chất liệu đặc biệt của sản phẩm thời trang cao cấp.
- Số lượng danh mục (13 classes): Mặc dù bao phủ được các mặt hàng thời trang phổ biến nhất, hệ thống vẫn cần mở rộng thêm các lớp chuyên biệt (như đồng hồ, trang sức, thắt lưng, đồ thể thao chuyên dụng).
- Vấn đề Cold-Start: Người dùng hoàn toàn mới chưa phát sinh tương tác sẽ nhận được gợi ý dựa trên độ phổ biến chung thay vì cá nhân hóa chuyên sâu.
Hướng nghiên cứu và nâng cấp:
- Nâng cấp Backbone Deep Learning: Chuyển đổi mô hình CNN 28x28 sang các kiến trúc mạng nơ-ron sâu tiên tiến như ResNet-50, EfficientNet-B4 hoặc Vision Transformer (ViT) kết hợp với cơ sở dữ liệu vector (như FAISS, Milvus) để thực hiện Visual Embeddings Search ở độ phân giải cao ($224\times 224$ pixels).
- Hệ gợi ý lai (Hybrid Recommendation System): Kết hợp đồng thời Collaborative Filtering và Content-based Deep Learning (trích xuất đặc trưng văn bản sản phẩm qua BERT/PhoBERT).
- Mở rộng nền tảng Mobile App: Phát triển ứng dụng di động đồng bộ bằng Flutter hoặc React Native để tận dụng tối đa camera thiết bị.
Đối tượng hưởng lợi
- Sinh viên & Học viên ngành CNTT/Hệ thống thông tin: Là tài liệu tham khảo thực tế về cách kết hợp giữa công nghệ phần mềm truyền thống (Web Enterprise) và ứng dụng Trí tuệ nhân tạo (Deep Learning/Recommender System).
- Lập trình viên (Developers): Cung cấp mô hình kiến trúc chuẩn để tích hợp các dịch vụ Python AI vào hệ thống Backend Java/C# thông qua RESTful APIs và WebSockets.
- Doanh nghiệp vừa và nhỏ (SMEs): Sở hữu giải pháp nền tảng TMĐT hoàn chỉnh, tích hợp tính năng cao cấp với chi phí bản quyền 0 đồng, sẵn sàng cạnh tranh trực tiếp trên thị trường số.
- Nhà nghiên cứu (Researchers): Tài liệu thực nghiệm chi tiết về hiệu quả của thuật toán tiền xử lý ảnh trong bài toán phân loại sản phẩm thời trang.
Câu hỏi thường gặp
1. Cấu hình máy chủ tối thiểu để triển khai toàn bộ hệ thống là gì?
Hệ thống yêu cầu máy chủ Linux (Ubuntu 20.04 LTS), tối thiểu 2 vCPU, 4GB RAM và 20GB SSD lưu trữ để chạy đồng thời MySQL Server, Spring Boot core, .NET Core SignalR và Python Inference Service (chạy trên CPU mode).
2. Mô hình CNN phân loại ảnh có thể xử lý bao nhiêu truy vấn mỗi giây (QPS)?
Trên môi trường máy chủ tiêu chuẩn không có GPU chuyên dụng, thời gian suy luận là ~180ms/ảnh, đáp ứng khoảng 15-20 requests đồng thời mỗi worker. Khi mở rộng với Gunicorn/Uvicorn nhiều workers hoặc tích hợp GPU (NVIDIA T4), năng lực xử lý có thể đạt hơn 250 QPS.
3. Làm thế nào để thêm một danh mục sản phẩm mới vào mô hình Visual Search?
Cần thu thập tối thiểu 1.000 - 2.000 mẫu ảnh cho danh mục mới, tiền xử lý qua pipeline GrabCut, gán nhãn tiếp theo (ví dụ Label 13: Watch), sau đó thực hiện quá trình Fine-tuning/Re-train lớp Fully Connected cuối cùng của mô hình CNN.
4. Hệ thống xử lý vấn đề bảo mật thông tin và dữ liệu khách hàng như thế nào?
Toàn bộ mật khẩu người dùng được mã hóa bằng thuật toán băm một chiều BCrypt kết hợp Salt. Phiên đăng nhập được quản lý thông qua Stateless JWT Token với thời gian hết hạn rõ ràng. Hệ thống áp dụng CORS policy chặt chẽ và phòng chống tấn công SQL Injection bằng Hibernate/Entity Framework Parameterized Queries.
5. Chi phí vận hành đám mây (Cloud) hàng tháng ước tính là bao nhiêu?
Với kiến trúc tối ưu, chi phí triển khai hệ thống cho quy mô doanh nghiệp vừa và nhỏ trên nền tảng AWS (gồm 1 EC2 t3.medium, RDS MySQL db.t3.micro, và S3 Storage) dao động trong khoảng 35 - 60 USD/tháng, mang lại thời gian hòa vốn (ROI) nhanh chóng chỉ sau 3-6 tháng hoạt động.
Kết luận
Đề tài khóa luận "Xây dựng website thương mại điện tử tích hợp chức năng gợi ý sản phẩm và tìm kiếm sản phẩm bằng hình ảnh cho khách hàng" đã giải quyết trọn vẹn bài toán ứng dụng công nghệ Deep Learning và Data Mining vào thực tiễn kinh doanh trực tuyến. Với việc làm chủ các công nghệ hiện đại từ Spring Boot, ASP.NET Core SignalR, Angular đến Keras, TensorFlow, OpenCV, nhóm tác giả đã xây dựng thành công một nền tảng thương mại điện tử đa cửa hàng hoàn chỉnh, ổn định và có tính ứng dụng cao.
Hệ thống không chỉ tối ưu hóa hành trình mua sắm của người tiêu dùng thông qua Visual Search trực tiếp trên Web và gợi ý cá nhân hóa, mà còn cung cấp công cụ quản trị kinh doanh mạnh mẽ cho các nhà bán hàng. Đây là tiền đề vững chắc cho việc mở rộng quy mô, nâng cấp thuật toán và thương mại hóa giải pháp trong tương lai.