You are on page 1of 5

Tìm hiểu, so sánh, ưu nhược điểm background Recommendation Sys vs Real-time

Recommendation Sys
I. Recommendation System:

Là hệ thống hỗ trợ ra quyết định có chức năng lọc thông tin và cung cấp cho người dùng những đề xuất
được cá nhân hóa dựa trên sở thích của họ.

II. Các phương pháp gợi ý

Giả sử rằng I là tập các đối tượng (Item) có thể được gợi ý, U là tập người dùng, u là một người dùng cụ
thể trong tập U và i là một đối tượng cụ thể trong I mà chúng ta muốn dự đoán cho u (dựa vào sở thích
của u).

Phương pháp gợi ý Dữ liệu cơ sở Dữ liệu đầu ra Tiến trình xử lý


Collaborative Filtering Các điểm số đánh giá Các điểm số đánh giá Nhận ra người sử dụng
của những người sử của u cho các đối trong U tượng tự với u
dụng trong U đối với tượng trong I. ( về sở thích) và sau đó
các đối tượng trong I. ngoại suy điểm số
đánh giá vủa u cho i.
Content-Based Các đặc điểm của các Các điểm số đánh giá Tạo ra một mô hình
đối tượng trong I. của u cho các đối mô tả sở thích của
tượng trong I. người sử dụng u, sau
đó sử dụng để đánh
giá mức độ ưa thích
của u với i.
Knowledge-based Các đặc điểm của các Một sự mô tả nhu cầu Suy luận sự phù hợp
đối tượng trong I. Các và sở thích của người giữa I và nhu cầu của
tri thức (hiểu biết) về sử dụng u. u.
sự phù hợp giữa các
đối tượng với nhu cầu
của người sử dụng.

Các thuật toán đề xuất:


2.1 Lọc dựa trên nội dung:

Trong hệ thống thì các đối tượng được biểu diễn bởi các đặc điểm liên quan tới chúng. Nó liên quan đến
việc thiết lập mối quan hệ giữa một từ và một sản phẩm. Tuy nhiên, một nhược điểm của phương pháp
này là các tính năng được sử dụng thường có được từ thông tin bên ngoài mà không phải lúc nào cũng
có sẵn.

2.2 Lọc cộng tác.

Lọc cộng tác thực hiện tư vấn (gợi ý) các sản phẩm, dịch vụ, nội dung cho một người dùng nào đó dựa
trên mối quan tâm, sở thích (preferences) của những người dùng tương tự đối với các sản phẩm, dịch
vụ, nội dung đó.

Có nhiều kỹ thuật lọc cộng tác và được chia thành hai dạng chính:

 Memory–based: lọc cộng tác dựa trên việc ghi nhớ toàn bộ dữ liệu.
 Model–based: Lọc cộng tác dựa trên các mô hình phân lớp, dự đoán.

Cách tiếp cận dựa trên bộ nhớ (Memory–based) đưa ra các đề xuất dựa trên vùng lân cận có trong bộ
nhớ, trong khi cách tiếp cận dựa trên mô hình (Model–based) tạo ra các mô hình giống với hành vi của
người dùng và sử dụng các mô hình này để đưa ra các đề xuất. Người ta đã chứng minh rằng cách tiếp
cận dựa trên bộ nhớ(Memory–based) mang lại độ chính xác cao hơn, trong khi cách tiếp cận dựa trên
mô hình (Model–based) hiệu quả hơn với các bộ dữ liệu lớn.

2.3 Infomation

Hệ thống gợi ý sử dụng hai loại thông tin: thông tin rõ ràng và thông tin ngầm(explicit and implicit
information).

Thông tin rõ ràng (explicit infomation) được người dùng cung cấp thông qua xếp hạng, danh sách mong
muốn và nhận xét.

Mặt khác, thông tin ngầm (implicit information) sử dụng thông tin mà người dùng chưa được yêu cầu,
chẳng hạn như lịch sử mua hàng. Hệ thống đề xuất thông tin ngầm có thể tạo các hồ sơ người dùng khác
nhau bằng cách sử dụng thông tin này. Nhìn chung, hệ thống đề xuất nhằm mục đích lọc và đưa ra các
đề xuất được cá nhân hóa cho người dùng dựa trên sở thích của họ. Chúng có thể được triển khai bằng
cách sử dụng các phương pháp lọc cộng tác hoặc dựa trên nội dung, xem xét cả thông tin rõ ràng và
thông tin tiềm ẩn.
2.4 So sánh các phương pháp gợi ý?

III. Real-time Recommendation System

Hệ thống đề xuất thời gian thực là một lớp phân tích dữ liệu thời gian thực sử dụng thuật toán phần
mềm thông minh để phân tích hành vi của người dùng và đưa ra các đề xuất được cá nhân hóa trong
thời gian thực.

Không giống như các hệ thống đề xuất hàng loạt truyền thống sử dụng quy trình trích xuất, chuyển đổi
và tải (ETL) dài hạn trên các tập dữ liệu tĩnh, hệ thống đề xuất thời gian thực sẽ tự động điều chỉnh theo
các tương tác của người dùng khi chúng diễn ra, cung cấp các đề xuất có độ trễ thấp trong phiên người
dùng.

3.1 Khi nào (không) sử dụng đề xuất theo thời gian thực? (authors: Yan, Ziyou)

3.1.1 Không sử dụng Real-Time RCS

Hầu hết các trường hợp sử dụng sẽ không cần đề xuất theo thời gian thực, nếu hệ thống khuyến nghị
hàng loạt (batch recommendations) là đủ tốt.

So với các đề xuất theo thời gian thực, các đề xuất theo lô (batch recommendations) sẽ rẻ hơn về mặt
tính toán. Chúng thường được tạo ra một lần một ngày. Sau đó, các đề xuất sẽ được tải vào kho lưu trữ
khóa-giá trị và được cung cấp thông qua tra cứu khóa-giá trị.

Đề xuất hàng loạt cũng đơn giản hơn về mặt vận hành. Bằng cách lưu vào bộ nhớ đệm các đề xuất được
tính toán trước (trong kho lưu trữ khóa-giá trị), tách tính toán khỏi việc phân phối đề xuất. Do đó, ngay
cả khi bước tính toán không thành công thì cũng không có tác động nào đến khách hàng; có thể tiếp tục
cung cấp loạt đề xuất (cũ gần nhất) trước đó.

Ngược lại, các đề xuất theo thời gian thực thường yêu cầu tính toán nhiều hơn. Ví dụ: chúng ta có thể
tổng hợp các sự kiện được trực tiếp (ví dụ: nhấp chuột, thích, mua hàng) và tạo đề xuất mới theo yêu
cầu, dựa trên tương tác của người dùng. (Để so sánh, các đề xuất hàng loạt chỉ thực hiện tính toán một
bộ đề xuất cho một khách hàng duy nhất hàng ngày.) Hơn nữa, việc tính toán như vậy được thực hiện
riêng lẻ và không được hưởng lợi từ tính kinh tế theo quy mô. (Tuy nhiên, chúng tôi tiết kiệm được việc
không tạo đề xuất cho những khách hàng không truy cập ứng dụng của chúng tôi).

3.1.2 Tại sao cần Real-time

Chúng hữu ích khi hành trình của khách hàng tập trung vào sứ mệnh và phụ thuộc vào ngữ cảnh. Những
nhiệm vụ như vậy thường yêu cầu cao về thời gian. Nhu cầu theo thời gian thực giảm đi nhanh chóng;
nhu cầu có thể được đáp ứng (trên trang web của đối thủ cạnh tranh) hoặc người dùng có thể mất hứng
thú. Chúng ta sẽ xem xét điều này trong ví dụ: mua sắm.

Ví dụ: nếu một khách hàng thường mua sắm quần áo, các đề xuất của khách hàng đó chủ yếu sẽ là các
đề xuất về thời trang. Tuy nhiên, nếu khách hàng đó cần một màn hình rộng mới và bắt đầu tìm kiếm
một màn hình, các đề xuất cho khách hàng đó nên cập nhật càng sớm càng tốt để giúp họ nhanh chóng
hoàn thành nhiệm vụ của mình (kẻo họ truy cập một ứng dụng đối thủ).
 Trong trường hợp này, đề xuất hàng loạt không phản ứng đủ nhanh. Và ngay cả khi các khuyến nghị
được cập nhật, do mất cân bằng dữ liệu, các nhu cầu liên quan đến nhiệm vụ đó cũng không được đáp
ứng

Ngoài các ví dụ trên, các đề xuất theo thời gian thực cũng hữu ích trong:

 Du lịch (điểm đến trong kỳ nghỉ của chúng tôi thường xuyên thay đổi)
 YouTube (chúng tôi xem video về viết mã, yoga và công thức nấu ăn trong cùng một ngày)
 Phân phát quảng cáo (mối quan tâm của chúng tôi phụ thuộc vào thời gian; khoảng chú ý của
chúng tôi đang bị thu hẹp)

Đề xuất theo thời gian thực cũng hữu ích khi phần lớn khách hàng của chúng tôi là người mới (tức là mới
bắt đầu). Điều này xảy ra khi chúng ta đang trong giai đoạn thu hút khách hàng, chẳng hạn như khi
chúng ta vừa tung ra sản phẩm mới hoặc tham gia vào một thị trường mới.

Hãy tưởng tượng bạn vừa truy cập vào một web thương mại điện tử. Vì chúng tôi không chắc chắn về
giới tính của bạn nên trang chủ sẽ có sự kết hợp của các danh mục phục vụ cho từng giới tính, từ váy đến
áo sơ mi nam, từ GPU đến đồ trang điểm. Nếu bạn nhấp vào một chiếc váy, chúng tôi có thể ngay lập tức
xây dựng tính cách (bạn là nữ) và cá nhân hóa trải nghiệm mua sắm của bạn. Trong trường hợp này, các
đề xuất trên trang chủ của bạn sẽ nghiêng về các sản phẩm dành cho nữ.

3.2 Hệ thống dựa trên nội dung và dựa trên cộng tác (from tinybird.com)

Hệ thống đề xuất theo thời gian thực cũng tính đến thông tin theo ngữ cảnh để đưa ra đề xuất chính xác
và phù hợp hơn. Điều này thường rơi vào hai loại lọc: Lọc dựa trên nội dung và lọc cộng tác.

3.2.1 Lọc dựa trên nội dung

Hệ thống đề xuất theo thời gian thực sử dụng tính năng lọc dựa trên nội dung để phân tích cách một
người dùng đã hành động trong quá khứ. Chẳng hạn như những bộ phim họ đã xem hoặc những bộ
quần áo họ đã mua. Về bản chất, người giới thiệu dựa trên nội dung sẽ đặt nội dung tương tự với nội
dung mà người dùng đã yêu thích trước đây.

3.2.2 Lọc cộng tác

Lọc cộng tác liên quan đến việc đưa ra đề xuất dựa trên những gì người dùng tương tự đã thực hiện.
Bằng cách sử dụng phân tích nhóm, hệ thống đề xuất theo thời gian thực có thể đưa ra điều gì đó trước
mắt người dùng dựa trên những gì người dùng tương tự yêu thích, thường sử dụng kỹ thuật được gọi là
phân tích ma trận .

Bằng cách gộp một người dùng vào một nhóm gồm những người dùng tương tự, tính năng lọc cộng tác
giúp tạo ra các kết nối rộng hơn mà những người dùng đơn lẻ có thể không tự thực hiện được, tăng mức
độ tương tác và sự hài lòng của người dùng.

Hệ thống đề xuất thời gian thực có thể kết hợp cả lọc dựa trên nội dung và lọc cộng tác.
References:

1. Introduction to Recommender Systems: https://viblo.asia/p/introduction-to-recommender-


systems-aWj53LQ8K6m
2. Recommendation Systems: Applications and Examples in 2023:
https://research.aimultiple.com/recommendation-system/
3. Machine learning based recommender system for e-commerce:
https://www.researchgate.net/publication/373328673_Machine_learning_based_recommender
_system_for_e-commerce
4. Recommendation System: Từ con số 0 đến hoàn chỉnh có gì?:
https://viblo.asia/p/recommendation-system-tu-con-so-0-den-hoan-chinh-co-gi-gDVK2640KLj
5. Real-time Machine Learning For Recommendations: https://eugeneyan.com/writing/real-time-
recommendations/
6. What it takes to build a real-time recommendation system: https://www.tinybird.co/blog-
posts/real-time-recommendation-system
7. Etc. https://machinelearningcoban.com/

You might also like