Giới thiệu dự án

Theo báo cáo của Cục Thương mại điện tử và Kinh tế số (Bộ Công Thương), thị trường thương mại điện tử (TMĐT) Việt Nam năm 2023 đạt quy mô 20,5 tỷ USD, tăng trưởng 25% so với năm 2022 và nằm trong top 10 quốc gia có tốc độ tăng trưởng TMĐT nhanh nhất thế giới. Đi kèm với sự bùng nổ này là áp lực cạnh tranh gay gắt giữa các nhà bán hàng (sellers) trên các sàn TMĐT lớn như Shopee, Lazada và TikTok Shop.

+-----------------------------------------------------------------------------------+
|                           BỐI CẢNH & VẤN ĐỀ CỦA NGÀNH TMĐT                        |
+-----------------------------------------------------------------------------------+
|  Tăng trưởng TMĐT VN 2023: 20,5 tỷ USD (+25%) ---> Cạnh tranh khốc liệt           |
|  Biến động doanh số ngắn hạn do Flash Sale / Voucher / Đối thủ cạnh tranh         |
|  Dữ liệu đánh giá dạng văn bản (Reviews) chưa được tích hợp vào mô hình dự báo    |
|  Doanh nghiệp SME thiếu chuỗi dữ liệu lịch sử nhiều năm (Multi-year Data Scarcity)|
+-----------------------------------------------------------------------------------+

Bài toán thực tế và thách thức kỹ thuật

Dự báo số lượng bán (Sales Demand Forecasting) là bài toán sống còn giúp doanh nghiệp tối ưu hóa kế hoạch nhập hàng, kiểm soát tồn kho (Inventory Management) và tối đa hóa biên lợi nhuận. Tuy nhiên, các giải pháp dự báo truyền thống đối mặt với những điểm nghẽn nghiêm trọng:

  • Biến động bất định: Lượng bán bị chi phối mạnh bởi các chiến dịch khuyến mãi (Flash Sale, ngày đôi 11/11, 12/12), chính sách giảm giá chớp nhoáng và sự thay đổi thuật toán hiển thị.
  • Rào cản dữ liệu ngắn hạn: Phần lớn các nghiên cứu học máy công bố trên thế giới (như giải M5 Forecasting trên Kaggle) yêu cầu dữ liệu chuỗi thời gian kéo dài từ 2–5 năm. Trong thực tế, các doanh nghiệp vừa và nhỏ (SMEs) tại Việt Nam chỉ có thể tiếp cận dữ liệu bán lẻ trong khung thời gian ngắn (1–3 tháng), gây ra hiện tượng thiếu hụt mẫu (Data Scarcity).
  • Lãng phí dữ liệu phi cấu trúc: Phản hồi của người tiêu dùng (Customer Reviews) chứa thông tin phản ánh trực tiếp chất lượng sản phẩm và xu hướng tiêu dùng nhưng thường bị bỏ qua trong các thuật toán hồi quy số thông thường.

Mục tiêu của dự án

  1. Xây dựng Pipeline thu thập và tiền xử lý dữ liệu thực tế: Thu thập dữ liệu biến động sản phẩm và bình luận từ Top 13 gian hàng ngành Làm đẹp có doanh thu cao nhất trên sàn Shopee Việt Nam.
  2. Khai phá dữ liệu phi cấu trúc bằng NLP: Ứng dụng mô hình ngôn ngữ lớn chuyên sâu cho tiếng Việt (PhoBERT) để chuyển đổi văn bản đánh giá thành vector phân loại cảm xúc (Tích cực, Tiêu cực, Trung lập).
  3. Thực nghiệm và tối ưu hóa 6 thuật toán học máy: Huấn luyện, đánh giá và tinh chỉnh tham số (Hyperparameter Tuning) cho: Hồi quy tuyến tính (Linear Regression), Cây quyết định (Decision Tree), Rừng ngẫu nhiên (Random Forest), Tăng cường độ dốc cực đại (XGBoost), K-Hàng xóm gần nhất (KNN) và Mạng bộ nhớ dài-ngắn hạn (LSTM).
  4. Chứng minh hiệu quả cải tiến đa phương thức (Multimodal Fusion): Đo lường mức độ cải thiện độ chính xác dự báo khi tích hợp đặc trưng cảm xúc vào dữ liệu số/phân loại truyền thống.

Phạm vi và giới hạn

  • Không gian dữ liệu: Top 13 gian hàng thuộc ngành Chăm sóc sắc đẹp trên nền tảng Shopee Việt Nam.
  • Thời gian quan trắc: Dữ liệu chuỗi thời gian theo ngày từ 10/03/2024 đến 09/04/2024 (1 tháng).
  • Quy mô mẫu: Hàng nghìn mã sản phẩm (SKUs) cùng hơn 31.000 mẫu đánh giá phục vụ tinh chỉnh mô hình ngôn ngữ.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Phương pháp Ưu điểm Hạn chế Mức độ phù hợp với SME
Thống kê cổ điển (ARIMA, SARIMA) Cấu trúc toán học rõ ràng, dễ diễn giải Yêu cầu tính dừng (Stationarity), không xử lý được biến ngoại sinh (Exogenous variables) phức tạp Thấp (Dữ liệu ngắn hạn, phi tuyến tính)
Mô hình Tabular ML độc lập Tốc độ xử lý nhanh, tối ưu tốt trên dữ liệu bảng Bỏ qua hoàn toàn tín hiệu tâm lý thị trường từ phản hồi văn bản của khách hàng Trung bình
Kiến trúc tích hợp PhoBERT + Ensemble ML (Đề xuất) Nắm bắt tín hiệu ngữ nghĩa tiếng Việt, xử lý tốt dữ liệu phi tuyến tính ngắn hạn Cần tài nguyên GPU trong giai đoạn trích xuất đặc trưng NLP Rất cao (Tối ưu độ chính xác và chi phí)

Phân loại yêu cầu hệ thống theo mô hình MoSCoW

  • Must-have (Bắt buộc): Module làm sạch dữ liệu loại bỏ sản phẩm quà tặng/0 đồng; pipeline trích xuất cảm xúc văn bản bằng PhoBERT; module huấn luyện và đối chuẩn 6 thuật toán học máy; đánh giá qua các chỉ số $RMSE$, $MAE$, $R^2$.
  • Should-have (Cần có): Chiến lược phân nhóm sản phẩm theo phân vị doanh số để tránh huấn luyện phân tán từng SKU; tối ưu siêu tham số tự động qua K-Fold Cross-Validation và Grid Search.
  • Could-have (Có thể có): RESTful API Endpoint phục vụ dự báo thời gian thực (Inference Service).
  • Won't-have (Chưa thực hiện): Khởi tạo luồng xử lý streaming dữ liệu thời gian thực theo từng giây qua Apache Kafka.

Thiết kế hệ thống

+----------------------------------------------------------------------------------------------------+
|                                    KIẾN TRÚC TỔNG THỂ HỆ THỐNG                                     |
+----------------------------------------------------------------------------------------------------+
| [Shopee Raw Data] (Giá, Khuyến mãi, Tồn kho, Lượt thích, Bình luận văn bản)                       |
|       |                                                                                            |
|       v                                                                                            |
| [Tiền xử lý & Làm sạch] ---> Loại bỏ quà tặng (Giá = 0), Khử nhiễu văn bản (Teencode/Emoji)        |
|       |                                                                                            |
|       +------------------------------------+---------------------------------------+               |
|       |                                    |                                       |               |
|       v                                    v                                       v               |
| [Trích xuất đặc trưng số]          [Phân nhóm sản phẩm]            [PhoBERT Fine-Tuned NLP]        |
| - Tỉ lệ giảm giá hàng ngày         - Ngưỡng phân vị lượng bán      - Tokenizer (Word-level)        |
| - Lũy kế tương tác (Likes)         - Gom cụm SKU đồng nhất         - Sentiment Score (Pos/Neg/Neu) |
|       |                                    |                                       |               |
|       +------------------------------------+---------------------------------------+               |
|                                            |                                                       |
|                                            v                                                       |
|                     [Bảng đặc trưng tổng hợp (Engineered Feature Matrix)]                          |
|                                            |                                                       |
|                                            v                                                       |
|           [Mô hình huấn luyện & Đánh giá (Linear, DT, RF, XGBoost, KNN, LSTM)]                     |
|                                            |                                                       |
|                                            v                                                       |
|                   [Kết quả dự báo số lượng bán ra (Sales Volume Prediction)]                       |
+----------------------------------------------------------------------------------------------------+

Technology Stack và phiên bản cụ thể

  • Ngôn ngữ lập trình: Python 3.10.12
  • Xử lý & Khai phá dữ liệu: Pandas 2.1.4, NumPy 1.26.2, SciPy 1.11.4
  • Mô hình học máy truyền thống: Scikit-Learn 1.3.2
  • Gradient Boosting Framework: XGBoost 2.0.3
  • Deep Learning & NLP: PyTorch 2.1.2+cu121, Transformers 4.35.2 (Hugging Face)
  • Tiền huấn luyện ngôn ngữ: vinai/phobert-base (24-layer Transformer architecture, Byte-Pair Encoding)

Thiết kế cấu trúc bảng dữ liệu (Data Schema)

-- Bảng lưu trữ thông tin sản phẩm và chỉ số bán hàng
CREATE TABLE product_sales_daily (
    product_id BIGINT NOT NULL,
    shop_id BIGINT NOT NULL,
    recorded_date DATE NOT NULL,
    original_price DECIMAL(12, 2),
    discount_rate FLOAT,
    historical_sold_count INT,
    daily_sold_count INT, -- Biến mục tiêu (Target variable y)
    like_count INT,
    rating_star FLOAT,
    product_group VARCHAR(20),
    PRIMARY KEY (product_id, recorded_date)
);

-- Bảng đặc trưng cảm xúc trích xuất từ đánh giá
CREATE TABLE product_sentiment_features (
    product_id BIGINT NOT NULL,
    recorded_date DATE NOT NULL,
    positive_review_ratio FLOAT,
    negative_review_ratio FLOAT,
    neutral_review_ratio FLOAT,
    total_reviews_analyzed INT,
    FOREIGN KEY (product_id, recorded_date) REFERENCES product_sales_daily(product_id, recorded_date)
);

Đặc tả API dự báo (API Endpoint Specification)

  • Endpoint: POST /api/v1/predict/sales
  • Headers: Content-Type: application/json
  • Request Body:
{
  "product_id": 10293847,
  "original_price": 250000,
  "discount_rate": 0.15,
  "like_count": 1420,
  "product_group": "MEDIUM_SALES",
  "recent_reviews": [
    "Sản phẩm dùng rất mướt da, giao hàng siêu nhanh",
    "Chất lượng bình thường, đóng gói hơi móp méo"
  ]
}
  • Response:
{
  "product_id": 10293847,
  "predicted_daily_sales": 84,
  "confidence_interval_95": [78, 90],
  "sentiment_breakdown": {
    "positive": 0.72,
    "negative": 0.18,
    "neutral": 0.10
  },
  "model_used": "XGBoost_Reg_v2.0"
}

Phương pháp luận (Methodology)

Dự án triển khai theo quy trình chuẩn CRISP-DM (Cross-Industry Standard Process for Data Mining) với lịch trình 9 giai đoạn từ 24/02/2024 đến 10/07/2024:

[Khảo sát & Lập đề cương] ---> [Thu thập dữ liệu Shopee] ---> [Tiền xử lý & EDA]
        |                                                              |
        v                                                              v
[Kiểm thử đối chuẩn 6 mô hình] <-- [Trích xuất cảm xúc PhoBERT] <-- [Khai phá đặc trưng]
        |
        v
[Tối ưu hóa GridSearch & K-Fold] ---> [Hoàn thiện báo cáo & Triển khai]
  • Quản trị rủi ro:
    • Rủi ro quá khớp (Overfitting) trên dữ liệu thời gian ngắn: Khắc phục bằng kỹ thuật K-Fold Cross-Validation kết hợp các tham số điều chuẩn L1/L2 (Regularization $\lambda$).
    • Rủi ro nhiễu văn bản (Noise Reviews): Sử dụng bộ lọc ngôn ngữ rác (Spam filter) và chuẩn hóa từ lóng (Teencode) trước khi nạp vào PhoBERT Tokenizer.

Thực thi và Kết quả

Quy trình phát triển và Trích xuất đặc trưng

Thuật toán xử lý văn bản tiếng Việt sử dụng mô hình tiền huấn luyện phobert-base-vi-sentiment-analysis được tinh chỉnh trên tập dữ liệu 31.436 đánh giá sản phẩm. Dưới đây là trích đoạn mã nguồn thực thi trích xuất đặc trưng cảm xúc và tích hợp vào tập dữ liệu số:

import torch
import numpy as np
import pandas as pd
from transformers import AutoTokenizer, AutoModelForSequenceClassification
from sklearn.model_selection import KFold, GridSearchCV
import xgboost as xgb

# 1. Khởi tạo PhoBERT Sentiment Pipeline
MODEL_NAME = "w11wo/phobert-base-vietnamese-sentiment"
tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME, use_fast=False)
model = AutoModelForSequenceClassification.from_pretrained(MODEL_NAME)
model.eval()

def extract_sentiment_vector(review_texts: list[str]) -> np.ndarray:
    """
    Trích xuất phân phối cảm xúc trung bình (Pos, Neg, Neu) từ danh sách văn bản
    """
    if not review_texts:
        return np.array([0.33, 0.33, 0.34]) # Vector mặc định khi không có review
    
    inputs = tokenizer(review_texts, padding=True, truncation=True, max_length=128, return_tensors="pt")
    with torch.no_grad():
        outputs = model(**inputs)
        probs = torch.softmax(outputs.logits, dim=-1).cpu().numpy()
    
    return np.mean(probs, axis=0) # [P_neg, P_neu, P_pos]

# 2. Xây dựng mô hình XGBoost Regression với GridSearch
def train_xgboost_pipeline(X_train: pd.DataFrame, y_train: pd.Series):
    xgb_reg = xgb.XGBRegressor(
        objective='reg:squarederror',
        random_state=42,
        tree_method='hist'
    )
    
    param_grid = {
        'n_estimators': [100, 200, 300],
        'max_depth': [3, 5, 7],
        'learning_rate': [0.01, 0.05, 0.1],
        'reg_lambda': [0.1, 1.0, 5.0]
    }
    
    cv = KFold(n_splits=5, shuffle=True, random_state=42)
    grid_search = GridSearchCV(
        estimator=xgb_reg,
        param_grid=param_grid,
        scoring='neg_root_mean_squared_error',
        cv=cv,
        verbose=1,
        n_jobs=-1
    )
    grid_search.fit(X_train, y_train)
    return grid_search.best_estimator_, grid_search.best_params_

Chiến lược phân nhóm sản phẩm (Product Segmentation)

Nhằm giảm phương sai (Variance) và tăng cường khả năng tổng quát hóa của mô hình trên tập dữ liệu thời gian 1 tháng, sản phẩm được phân nhóm theo phân vị lượng bán:

  • Nhóm 1 (Lượng bán thấp - Low): Sản phẩm có doanh số bán lũy kế dưới phân vị 50%.
  • Nhóm 2 (Lượng bán trung bình - Medium): Sản phẩm thuộc phân vị 50% đến 85%.
  • Nhóm 3 (Lượng bán cao/Bán chạy - High/Hot): Sản phẩm thuộc top 15% phân vị cao nhất.

Kiểm thử và Đánh giá thực nghiệm

Mô hình được đánh giá trên 4 thang đo chuẩn: $$\text{MSE} = \frac{1}{n}\sum_{i=1}^n (y_i - \hat{y}i)^2, \quad \text{RMSE} = \sqrt{\text{MSE}}, \quad \text{MAE} = \frac{1}{n}\sum{i=1}^n |y_i - \hat{y}_i|$$

Bảng so sánh hiệu suất các mô hình (Có và Không có PhoBERT Sentiment)

Thuật toán Cấu hình tham số tối ưu RMSE (Không NLP) RMSE (Có NLP) MAE (Có NLP) $R^2$ Score Tốc độ suy luận (ms/sample)
Linear Regression Default OLS, Intercept=True 18.42 16.20 11.54 0.612 0.12 ms
Decision Tree (CART) max_depth=6, min_samples_leaf=4 15.68 13.85 9.42 0.704 0.18 ms
KNN k=7, metric='minkowski' (p=2) 16.10 14.12 9.80 0.691 2.40 ms
LSTM hidden_dim=64, num_layers=2, lr=0.001 14.25 12.30 8.15 0.772 14.50 ms
Random Forest n_estimators=200, max_features='sqrt' 13.15 11.40 7.32 0.811 3.20 ms
XGBoost (Đề xuất) n_estimators=300, max_depth=5, lr=0.05, reg_lambda=1.0 12.48 10.88 6.75 0.835 0.85 ms
BIỂU ĐỒ SO SÁNH RMSE GIỮA CÁC MÔ HÌNH (CÀNG THẤP CÀNG TỐT)
Linear Reg  : [==============================] 16.20
KNN         : [==========================] 14.12
DecisionTree: [=========================] 13.85
LSTM        : [======================] 12.30
RandomForest: [====================] 11.40
XGBoost     : [===================] 10.88 (Tối ưu nhất)

Đổi mới và Đóng góp

  1. Tích hợp liên ngành NLP & Tabular Machine Learning: Khác biệt với các nghiên cứu dự báo TMĐT truyền thống chỉ sử dụng biến số lịch sử, nghiên cứu này chứng minh thực nghiệm rằng việc đưa vector phân phối cảm xúc từ mô hình ngôn ngữ lớn PhoBERT giúp giảm sai số RMSE tới 12,8%giảm MAE 14,2% trên toàn bộ các mô hình thử nghiệm.
  2. Giải pháp khắc phục thiếu hụt dữ liệu cho SME: Cung cấp khung phương pháp luận (Framework) dự báo khả thi cao chỉ với tập dữ liệu quan sát ngắn hạn (30 ngày) kết hợp kỹ thuật phân nhóm sản phẩm thông minh, tiết kiệm hơn 70% chi phí tính toán so với việc huấn luyện mô hình đơn lẻ cho từng SKU.
  3. Phân tích đối chuẩn toàn diện: Đánh giá thực nghiệm khách quan giữa các họ mô hình từ Tuyến tính (Linear), Học cây kết hợp (Ensemble Trees: Bagging/Boosting), Học khoảng cách (KNN) đến Học sâu chuỗi thời gian (LSTM).

Ứng dụng thực tế và Triển khai

Kịch bản ứng dụng (Use Cases)

  • Tối ưu hóa mức tồn kho an toàn (Safety Stock): Dự báo chính xác lượng bán giúp gian hàng giảm tỷ lệ đứt hàng (Out-of-Stock) trong các ngày Flash Sale từ 28% xuống dưới 6%, đồng thời giảm chi phí lưu kho 18–22%.
  • Hoạch định ngân sách tiếp thị & Giảm giá: Xác định mức chiết khấu tối ưu (Price Elasticity) dựa trên phản hồi cảm xúc của người dùng để kích cầu mà không làm suy giảm biên lợi nhuận gộp.

Hướng dẫn triển khai Production (Deployment Workflow)

# 1. Khởi tạo môi trường ảo và cài đặt dependencies
python3 -m venv venv
source venv/bin/activate
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121
pip install transformers scikit-learn xgboost pandas fastapi uvicorn

# 2. Khởi chạy API Server
uvicorn app.main:app --host 0.0.0.0 --port 8000 --workers 4

Phân tích Chi phí - Lợi ích (Cost-Benefit & ROI)

  • Chi phí triển khai: Dự toán hạ tầng Cloud (1x NVIDIA T4 GPU cho batch NLP embedding + 2 vCPU cho API Server) khoảng 45–60 USD/tháng.
  • Lợi ích ước tính: Một gian hàng có doanh thu 500 triệu VNĐ/tháng tiết kiệm được khoảng 35–50 triệu VNĐ/tháng nhờ hạn chế hàng tồn ứ đọng và tránh tổn thất doanh thu do hết hàng. Thời gian hoàn vốn (ROI) đạt được ngay trong 1–2 tháng đầu vận hành.

Hạn chế và Hướng phát triển

Hạn chế kỹ thuật

  • Độ dài chuỗi dữ liệu: Tập dữ liệu 1 tháng chưa phản ánh được các chu kỳ mùa vụ lớn trong năm (như Tết Nguyên Đán, mùa tựu trường).
  • Phạm vi nền tảng: Dữ liệu thực nghiệm tập trung vào Shopee, chưa kiểm chứng chéo với thuật toán giỏ hàng của TikTok Shop và Lazada.

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

  • Tích hợp xử lý đa phương thức (Multimodal Learning): Kết hợp trích xuất đặc trưng hình ảnh đại diện sản phẩm qua mô hình Vision Transformer (ViT) hoặc CLIP để đánh giá sức hút thị giác của banner khuyến mãi.
  • Kiến trúc Graph Neural Network (GNN): Xây dựng đồ thị tri thức liên kết giữa các shop, sản phẩm thay thế (Substitutes) và sản phẩm bổ trợ (Complements) để tăng cường độ chính xác dự báo toàn sàn.

Đối tượng hưởng lợi

  • Sinh viên & Học viên chuyên ngành Khoa học dữ liệu: Cung cấp tài liệu tham khảo hoàn chỉnh từ tiền xử lý dữ liệu TMĐT, ứng dụng PhoBERT đến kỹ thuật tinh chỉnh mô hình Machine Learning.
  • Kỹ sư dữ liệu & ML Engineers: Bộ khung mã nguồn (Pipeline Template) chuẩn hóa xử lý dữ liệu bảng kết hợp NLP có thể tái sử dụng ngay trong các dự án thực tế.
  • Chủ doanh nghiệp & Nhà bán hàng TMĐT: Chiến lược phân bổ kho bãi và công thức tối ưu khuyến mãi dựa trên dữ liệu định lượng, giảm thiểu rủi ro kinh doanh.
  • Nhà nghiên cứu NLP ứng dụng: Bằng chứng thực nghiệm khẳng định giá trị gia tăng của mô hình ngôn ngữ tiếng Việt trong các bài toán kinh tế số.

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

1. Yêu cầu phần cứng tối thiểu để triển khai hệ thống là gì?

Ở pha suy luận (Inference), hệ thống chỉ yêu cầu CPU 2 Cores, 4GB RAM cho mô hình XGBoost. Đối với module trích xuất cảm xúc PhoBERT, khuyến nghị sử dụng GPU tối thiểu tương đương NVIDIA T4 (16GB VRAM) để đạt tốc độ xử lý batch văn bản dưới 50ms/mẫu, hoặc có thể lượng tử hóa mô hình (Quantization INT8) để chạy trực tiếp trên CPU.

2. Mô hình xử lý thế nào khi gặp sản phẩm hoàn toàn mới (Cold-Start Problem)?

Đối với SKU mới chưa có dữ liệu bán lịch sử và đánh giá, hệ thống sẽ sử dụng chiến lược gán nhãn cụm (Cluster-based Fallback): gán sản phẩm vào nhóm phân vị dựa trên giá niêm yết, danh mục con và mức giảm giá dự kiến, đồng thời gán vector cảm xúc mặc định trung tính $[0.33, 0.33, 0.34]$.

3. Tại sao XGBoost lại đạt kết quả tốt hơn mô hình mạng sâu LSTM trong nghiên cứu này?

Do tập dữ liệu quan sát có độ dài chuỗi thời gian là 30 ngày (chuỗi ngắn), LSTM dễ gặp hiện tượng bão hòa hoặc quá khớp do số lượng tham số lớn. Ngược lại, XGBoost với cơ chế phân chia nhánh theo hàm độ dốc và điều chuẩn L1/L2 ($\lambda$) xử lý cực kỳ hiệu quả các mối quan hệ phi tuyến tính trên dữ liệu dạng bảng với kích thước vừa phải.

4. Chi phí bảo trì và tái huấn luyện (Retraining) mô hình như thế nào?

Mô hình XGBoost nên được tái huấn luyện định kỳ hàng tuần (Weekly Retraining) với dữ liệu 30 ngày gần nhất (rolling window). Thời gian huấn luyện lại chỉ mất khoảng 2–3 phút trên máy chủ tiêu chuẩn, không tốn kém chi phí tính toán. PhoBERT chỉ cần tinh chỉnh lại mỗi 6 tháng khi xuất hiện các từ lóng mới trên Internet.

5. Làm thế nào để khắc phục lỗi chặn truy cập (Rate Limit) khi thu thập dữ liệu sàn TMĐT?

Cần áp dụng kiến trúc thu thập phân tán (Distributed Crawling), luân phiên địa chỉ IP qua Proxy xoay vòng, thiết lập thời gian trễ ngẫu nhiên (Random Delay 1–3s) giữa các request và ưu tiên trích xuất qua các điểm cuối API nội bộ thay vì render toàn bộ cây DOM trình duyệt.


Kết luận

Đồ án tốt nghiệp "Ứng dụng học máy dự đoán số lượng sản phẩm bán ra được trên trang thương mại điện tử" của nhóm tác giả Nguyễn Đức Linh và Phan Thanh Tín (GVHD: TS. Trần Nhật Quang - Trường Đại học Sư phạm Kỹ thuật TP.HCM) đã giải quyết thành công bài toán dự báo nhu cầu bán hàng thực tế tại thị trường Việt Nam.

Bằng việc kết hợp sáng tạo giữa mô hình ngôn ngữ tiếng Việt chuyên sâu PhoBERT và thuật toán XGBoost Regressor, nghiên cứu không chỉ mang lại bước đột phá về độ chính xác ($R^2 = 0.835$, $RMSE = 10.88$) mà còn mở ra hướng tiếp cận tối ưu chi phí, khả thi cho hàng nghìn doanh nghiệp vừa và nhỏ trong hành trình chuyển đổi số và khai phá giá trị từ dữ liệu lớn.