Recommendation System
Tìm hiểu cách recommendation system sử dụng AI để cá nhân hóa trải nghiệm người dùng. Khám phá collaborative filtering và độ tương đồng hình ảnh bằng Ultralytics YOLO26.
Hệ thống đề xuất là một thuật toán lọc thông tin được thiết kế để dự đoán sở thích của người dùng đối với các mục cụ thể. Những hệ thống thông minh này là nền tảng cho các ứng dụng Trí tuệ nhân tạo (AI) hiện đại, giúp người dùng điều hướng khối lượng nội dung khổng lồ có sẵn trên Internet bằng cách tuyển chọn các đề xuất được cá nhân hóa. Bằng cách phân tích các mẫu trong Dữ liệu lớn—chẳng hạn như lịch sử mua hàng, thói quen xem và đánh giá của người dùng—các engine đề xuất nâng cao mức độ tương tác của người dùng và đơn giản hóa quy trình ra quyết định. Chúng được sử dụng rộng rãi trong những môi trường mà sự đa dạng của các lựa chọn vượt quá khả năng đánh giá thủ công toàn bộ của người dùng.
Cơ chế cốt lõi của hệ thống đề xuất#
Các engine đề xuất thường sử dụng những chiến lược Học máy (ML) cụ thể để tạo ra các đề xuất phù hợp. Ba phương pháp chính bao gồm:
- Lọc cộng tác: Phương pháp này dựa trên giả định rằng những người dùng đã đồng thuận trong quá khứ sẽ tiếp tục đồng thuận trong tương lai. Phương pháp xác định điểm tương đồng giữa người dùng (dựa trên người dùng) hoặc giữa các mục (dựa trên mục) bằng dữ liệu tương tác. Ví dụ: nếu Người dùng A và Người dùng B đều thích "Phim X", hệ thống sẽ giả định rằng Người dùng A cũng có thể thích "Phim Y" nếu Người dùng B đã yêu thích phim đó.
- Lọc dựa trên nội dung: Phương pháp này đề xuất các mục tương tự những mục mà người dùng từng thích, dựa trên các thuộc tính của mục. Phương pháp yêu cầu phân tích các đặc trưng của chính các mục đó, thường sử dụng Xử lý ngôn ngữ tự nhiên (NLP) cho phần mô tả bằng văn bản hoặc Thị giác máy tính (CV) để phân tích hình ảnh sản phẩm.
- Mô hình kết hợp: Bằng cách kết hợp lọc cộng tác và lọc dựa trên nội dung, các hệ thống đề xuất kết hợp hướng đến việc khắc phục những hạn chế của từng phương pháp riêng lẻ, chẳng hạn như không thể đề xuất các mục mới chưa có lịch sử tương tác của người dùng.
Các ứng dụng trong thực tế#
Tính hữu ích trong thực tiễn của các hệ thống đề xuất trải rộng trên nhiều ngành khác nhau, thúc đẩy cả trải nghiệm khách hàng lẫn doanh thu doanh nghiệp.
-
Thương mại điện tử và bán lẻ: Các nền tảng sử dụng những thuật toán tinh vi để đề xuất sản phẩm cho người mua. Những hệ thống này hỗ trợ AI trong bán lẻ bằng cách hiển thị động các danh sách "Khách hàng mua sản phẩm này cũng đã mua...", qua đó tăng đáng kể các cơ hội bán chéo.
-
Phát trực tuyến nội dung: Các dịch vụ phụ thuộc rất nhiều vào khả năng cá nhân hóa. Các nhóm nghiên cứu hệ thống đề xuất của Netflix phát triển những thuật toán phân tích lịch sử xem để điền vào trang chủ của người dùng các bộ phim và chương trình phù hợp. Tương tự, các nền tảng âm nhạc tạo playlist bằng cách phân tích các mẫu âm học và hành vi nghe của người dùng.
Đề xuất hình ảnh bằng embedding#
Một kỹ thuật then chốt trong các hệ thống đề xuất hiện đại, đặc biệt đối với nội dung hình ảnh, là sử dụng embedding. Embedding là biểu diễn số của một mục (chẳng hạn như hình ảnh) trong không gian nhiều chiều. Các mục tương đồng về hình ảnh sẽ có những embedding nằm gần nhau.
Đoạn mã Python sau đây minh họa cách trích xuất embedding hình ảnh bằng model phân loại Ultralytics YOLO26 được huấn luyện trước và tính độ tương đồng của chúng bằng PyTorch.
import torch.nn.functional as F
from ultralytics import YOLO
# Load a YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Generate embeddings for two images (returns a list of Results objects)
results = model.predict(["bus.jpg", "dog.jpg"], embed=[1000])
# Calculate cosine similarity between the two embeddings
# Higher score indicates greater visual similarity
similarity = F.cosine_similarity(results[0].probs.data, results[1].probs.data, dim=0)
print(f"Visual Similarity Score: {similarity.item():.4f}")Hệ thống đề xuất và các khái niệm liên quan#
Điều quan trọng là phân biệt các hệ thống đề xuất với những công nghệ nền tảng mà chúng thường sử dụng:
- Tìm kiếm vector: Đây là một phương pháp truy xuất dùng để tìm các mục trong cơ sở dữ liệu vector có khoảng cách toán học gần nhất với một truy vấn. Mặc dù hệ thống đề xuất sử dụng tìm kiếm vector để tìm các sản phẩm tương tự, bản thân hệ thống đề xuất bao quát logic rộng hơn về lập hồ sơ người dùng và xếp hạng. Bạn có thể tìm hiểu thêm về nội dung này trong hướng dẫn về tìm kiếm tương đồng của chúng tôi.
- Tìm kiếm ngữ nghĩa: Không giống các đề xuất cơ bản có thể dựa vào sự trùng khớp về hành vi, tìm kiếm ngữ nghĩa tập trung vào việc hiểu ý nghĩa đằng sau một truy vấn. Một engine đề xuất có thể sử dụng tìm kiếm ngữ nghĩa để diễn giải ý định của người dùng khi họ duyệt qua các danh mục cụ thể.
Thách thức và các yếu tố cần cân nhắc#
Việc triển khai các hệ thống đề xuất hiệu quả đi kèm với nhiều trở ngại đáng kể:
- Vấn đề khởi động lạnh: Người dùng hoặc mục mới không có lịch sử tương tác cần thiết cho việc lọc cộng tác. Các kỹ thuật như học vài mẫu hoặc sử dụng metadata là những giải pháp cho vấn đề khởi động lạnh phổ biến.
- Khả năng mở rộng: Các hệ thống phải xử lý hàng triệu lượt tương tác theo thời gian thực. Điều này đòi hỏi các chiến lược triển khai model hiệu quả và phần cứng được tối ưu hóa.
- Hệ quả đạo đức: Nhu cầu giải quyết thiên lệch thuật toán ngày càng tăng nhằm ngăn các hệ thống củng cố những định kiến. Tuân thủ Đạo đức AI và đảm bảo quyền riêng tư dữ liệu là yếu tố thiết yếu để duy trì niềm tin của người dùng.
Để xây dựng và huấn luyện các model của riêng bạn cho những tác vụ đề xuất, Ultralytics Platform cung cấp một môi trường toàn diện để quản lý dataset và huấn luyện model.









