Đồ án: Phát triển và đánh giá mô hình học máy trong hệ thống gợi ý (ĐHBK Hà Nội)

Tìm hiểu về học máy trong hệ thống gợi ý: quy trình phát triển, các phương pháp đánh giá hiệu quả. Ứng dụng thực tế và tối ưu hóa hệ thống.

Người đăng

Ẩn danh

Thể loại

Đồ Án Tốt Nghiệp Đại Học

2023

83
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI NÓI ĐẦU

LỜI CAM ĐOAN

MỤC LỤC

DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT

DANH MỤC HÌNH VẼ

DANH MỤC BẢNG BIỂU

1. CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG GỢI Ý

1.1. Hệ thống gợi ý

1.1.1. Các khái niệm chung

1.2. Xây dựng hệ thống gợi ý

1.3. Khó khăn trong việc xây dựng hệ thống gợi ý

2. Hai dạng bài toán chủ yếu của RS

3. Các kỹ thuật trong RS

3.1. Kỹ thuật lọc dựa trên nội dung (Content-based Filtering)

3.2. Kỹ thuật lọc cộng tác (CF)

3.3. Kỹ thuật Phân rã Ma trận (MF)

3.4. Kỹ thuật phân cụm K-Nearest Neighbors (kNN)

3.5. Kỹ thuật hệ thống gợi ý lai (Hybrid Recommendation Systems)

3.6. Kỹ thuật không cá nhân hóa (non-personalization)

4. Các kiến trúc học sâu (Deep Learning) trong hệ thống gợi ý

4.1. Tổng quan về DL

4.2. Mô hình Restricted Bolzmann Machine (RBM)

4.3. Mô hình Auto-Encoder

4.4. Giải quyết bài toán Dữ liệu lớn (Big Data)

5. So sánh giữa Spark và Hadoop

6. ÁP DỤNG CÁC THUẬT TOÁN

6.1. Bộ dữ liệu

6.1.1. Bộ dữ liệu Movielens 100k

6.1.2. Bộ dữ liệu Movielens 1M

6.2. Thông số đánh giá

6.2.1. RMSE và MAE

6.2.2. Average Reciprocal Hit Rate (ARHR)

6.2.3. Cumulative Hit Rate (cHR)

6.3. Môi trường

6.4. Đối tượng đánh giá

6.5. Các mô hình được thực nghiệm

6.5.1. SVD và SVD++

6.5.2. Auto-Encoder cho RS

6.6. Đánh giá kết quả

6.6.1. Đánh giá từng thuật toán

6.6.2. Đánh giá tổng hợp

6.7. Thực nghiệm trên Pyspark

7. Kết luận chung

8. Hướng phát triển

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Học Máy cho Hệ Thống Gợi Ý Tổng Quan Tầm Quan Trọng

Trong kỷ nguyên số hóa, hệ thống gợi ý (Recommendation Systems - RS) đóng vai trò then chốt trong việc nâng cao trải nghiệm người dùng và tối ưu hóa lợi nhuận cho doanh nghiệp. Đặc biệt, các công ty lớn như Facebook, Google, Amazon sở hữu lượng dữ liệu khổng lồ về khách hàng và sản phẩm. Việc khai thác thông tin này bằng học máy (Machine Learning - ML) để tạo ra các gợi ý cá nhân hóa (personalized recommendations) giúp tăng cường sự hài lòng của khách hàng, giảm chi phí quảng cáo và thúc đẩy doanh số. Bài toán hệ thống gợi ý không chỉ là một ứng dụng công nghệ thông tin, mà còn là một lĩnh vực nghiên cứu sôi động thu hút sự quan tâm của các nhà khoa học. Hàng năm, các hội thảo chuyên về RS của ACM (ACM RecSys) và các tiểu ban trong các hội nghị lớn khác như ACM KDD, ACM CIKM đều được tổ chức. Một trong những thách thức lớn nhất trong xây dựng hệ thống gợi ý là thu thập và xử lý dữ liệu. Các hệ thống lớn như Ebay, Amazon, LastFM, Netflix, Youtube thu thập thông tin phản hồi từ khách hàng một cách tường minh, ví dụ như đánh giá sản phẩm hoặc like/dislike. Tuy nhiên, không phải lúc nào người dùng cũng sẵn lòng cung cấp phản hồi, do đó hệ thống cần dựa vào phản hồi ngầm (implicit feedback) để xác định nhu cầu của người dùng. Theo Hoàng Anh (2023), đồ án tốt nghiệp của anh tập trung vào "phát triển và đánh giá các mô hình học máy trong hệ thống gợi ý trên tập dữ liệu MovieLens, đồng thời kiểm tra và so sánh khả năng dự đoán của các mô hình này".

1.1. Ứng dụng Thực Tế của Hệ Thống Gợi Ý Recommendation Engines

Các recommender system architecture hiện diện rộng rãi trong nhiều lĩnh vực. Netflix sử dụng machine learning recommender systems để gợi ý phim và chương trình truyền hình phù hợp với sở thích cá nhân. YouTube đề xuất video dựa trên lịch sử xem và tương tác của người dùng. Amazon sử dụng data mining for recommendation để đề xuất sản phẩm liên quan đến những mặt hàng khách hàng đã mua hoặc xem. Các trang web tin tức sử dụng hệ thống gợi ý để đề xuất bài viết mà người dùng có thể quan tâm dựa trên lịch sử đọc của họ. Ngay cả các ứng dụng hẹn hò cũng sử dụng thuật toán gợi ý để kết nối người dùng dựa trên sở thích, vị trí và các yếu tố khác. Sự phát triển của artificial intelligence in recommendation đang mở ra những khả năng mới, cho phép các hệ thống gợi ý hiểu rõ hơn về nhu cầu và mong muốn của người dùng, từ đó cung cấp những gợi ý chính xác và phù hợp hơn.

1.2. Thách Thức Khó Khăn trong Xây Dựng Recommender Systems

Xây dựng một recommender system architecture hiệu quả không phải là điều dễ dàng. Một trong những thách thức lớn nhất là cold start problem, khi hệ thống không có đủ thông tin về người dùng hoặc sản phẩm mới. Dữ liệu thưa thớt (sparsity) cũng là một vấn đề, khi hầu hết người dùng chỉ tương tác với một phần nhỏ của tổng số sản phẩm. User modelingitem modeling chính xác là rất quan trọng để khắc phục những hạn chế này. Ngoài ra, vòng phản hồi (feedback loop) có thể dẫn đến việc hệ thống chỉ gợi ý những nội dung tương tự với những gì người dùng đã xem trước đây, hạn chế sự đa dạng và khám phá. Để giải quyết những thách thức này, các nhà nghiên cứu đang khám phá các kỹ thuật mới như context-aware recommendationknowledge graph recommendation.

1.3. Các Loại Phản Hồi Explicit Feedback vs. Implicit Feedback

Trong recommender system architecture, việc thu thập dữ liệu về sở thích của người dùng là rất quan trọng. Explicit feedback bao gồm thông tin mà người dùng cung cấp trực tiếp, chẳng hạn như đánh giá sản phẩm hoặc like/dislike. Implicit feedback bao gồm thông tin thu được từ hành vi của người dùng, chẳng hạn như lịch sử xem, thời gian dành cho một sản phẩm và số lần click. Cả hai loại phản hồi này đều có thể được sử dụng để xây dựng personalized recommendations. Explicit feedback thường chính xác hơn, nhưng khó thu thập hơn. Implicit feedback dễ thu thập hơn, nhưng có thể ồn ào và không chính xác. Do đó, nhiều hệ thống sử dụng kết hợp cả hai loại phản hồi để cải thiện độ chính xác của gợi ý.

II. Các Phương Pháp Lọc Phổ Biến Collaborative Content Based

Có nhiều kỹ thuật được sử dụng trong hệ thống gợi ý. Hai phương pháp lọc chính là lọc cộng tác (Collaborative Filtering - CF)lọc dựa trên nội dung (Content-based Filtering). Collaborative filtering dựa trên ý tưởng rằng người dùng có sở thích tương tự sẽ thích những sản phẩm tương tự. Phương pháp này phân tích hành vi của người dùng và tìm ra những người dùng có lịch sử tương tác giống nhau, sau đó đề xuất những sản phẩm mà những người dùng này đã thích. Content-based filtering dựa trên nội dung của sản phẩm và hồ sơ của người dùng. Phương pháp này phân tích các đặc điểm của sản phẩm và so sánh chúng với sở thích của người dùng để đề xuất những sản phẩm phù hợp. Cả hai phương pháp đều có ưu và nhược điểm riêng. CF có thể gợi ý những sản phẩm mà người dùng chưa từng biết đến, nhưng gặp khó khăn với cold start problem. Content-based filtering có thể giải quyết vấn đề cold start, nhưng hạn chế trong việc gợi ý những sản phẩm mới và đa dạng. Do đó, nhiều hệ thống sử dụng hybrid recommender systems để kết hợp ưu điểm của cả hai phương pháp.

2.1. Collaborative Filtering Ưu Điểm Hạn Chế CF

Collaborative filtering là một trong những kỹ thuật machine learning recommender systems phổ biến nhất. Nó dựa trên giả định rằng những người dùng có sở thích tương tự sẽ thích những sản phẩm tương tự. CF có thể được chia thành hai loại chính: neighborhood-based CFmodel-based CF. Neighborhood-based CF tìm kiếm những người dùng hoặc sản phẩm tương tự và sử dụng thông tin này để dự đoán xếp hạng. Model-based CF xây dựng một mô hình dự đoán dựa trên dữ liệu lịch sử và sử dụng mô hình này để tạo ra gợi ý. Ưu điểm của CF là nó không yêu cầu thông tin về nội dung của sản phẩm và có thể gợi ý những sản phẩm mà người dùng chưa từng biết đến. Tuy nhiên, CF gặp khó khăn với cold start problemsparsity. Để giải quyết những hạn chế này, các nhà nghiên cứu đang khám phá các kỹ thuật mới như matrix factorizationdeep learning for recommendation.

2.2. Content Based Filtering Giải Quyết Vấn Đề Cold Start

Content-based filtering dựa trên nội dung của sản phẩm và hồ sơ của người dùng. Phương pháp này phân tích các đặc điểm của sản phẩm và so sánh chúng với sở thích của người dùng để đề xuất những sản phẩm phù hợp. Content-based filtering có thể giải quyết cold start problem, vì nó không yêu cầu thông tin về hành vi của người dùng. Tuy nhiên, content-based filtering hạn chế trong việc gợi ý những sản phẩm mới và đa dạng. Ngoài ra, content-based filtering yêu cầu thông tin chi tiết về nội dung của sản phẩm, điều này có thể không khả thi trong một số trường hợp. Ví dụ, đối với những sản phẩm như phim, việc phân tích nội dung chi tiết có thể tốn kém và khó khăn.

2.3. Hybrid Recommender Systems Kết Hợp Sức Mạnh Của Cả Hai

Hybrid recommender systems kết hợp ưu điểm của collaborative filteringcontent-based filtering. Các phương pháp lai có thể được thực hiện theo nhiều cách, chẳng hạn như kết hợp các dự đoán riêng biệt, thêm các khả năng dựa trên nội dung vào phương pháp cộng tác hoặc thống nhất các phương pháp tiếp cận thành một mô hình duy nhất. Nghiên cứu đã chỉ ra rằng các phương pháp lai có thể cung cấp các gợi ý chính xác hơn các phương pháp thuần túy. Ví dụ, một hệ thống lai có thể sử dụng collaborative filtering để tìm ra những người dùng tương tự và sau đó sử dụng content-based filtering để đề xuất những sản phẩm phù hợp với sở thích của những người dùng này.

III. Các Thuật Toán Phân Rã Ma Trận SVD SVD Ứng Dụng

Phân rã ma trận (Matrix Factorization - MF) là một kỹ thuật phổ biến trong collaborative filtering. MF phân tích ma trận tương tác người dùng-sản phẩm thành hai ma trận nhỏ hơn, biểu diễn người dùng và sản phẩm trong một không gian tiềm ẩn. Các thuật toán MF phổ biến bao gồm SVD (Singular Value Decomposition)SVD++. SVD phân tích ma trận thành ba ma trận: U, Σ và V, trong đó U và V là các ma trận trực giao và Σ là ma trận đường chéo. SVD++ là một mở rộng của SVD, tính đến cả implicit feedback. MF có thể giúp giảm chiều dữ liệu và cải thiện độ chính xác của gợi ý. Theo lý thuyết, kỹ thuật phân rã ma trận (MF) có thể xây dựng lại R từ hai ma trận nhỏ hơn này càng chính xác càng tốt theo công thức ~ PQT (trong đó ∈ ℝ ×

3.1. SVD Singular Value Decomposition Giải Thuật Cơ Bản

SVD (Singular Value Decomposition) là một kỹ thuật matrix factorization cơ bản. Nó phân tích ma trận tương tác người dùng-sản phẩm thành ba ma trận: U, Σ và V, trong đó U và V là các ma trận trực giao và Σ là ma trận đường chéo. Các giá trị trên đường chéo của Σ được gọi là giá trị suy biến. SVD có thể được sử dụng để giảm chiều dữ liệu và loại bỏ nhiễu. SVD cũng có thể được sử dụng để dự đoán xếp hạng bằng cách tính tích của các ma trận U, Σ và V.

3.2. SVD Tính Đến Implicit Feedback Để Nâng Cao Độ Chính Xác

SVD++ là một mở rộng của SVD, tính đến cả implicit feedback. Implicit feedback bao gồm thông tin thu được từ hành vi của người dùng, chẳng hạn như lịch sử xem và thời gian dành cho một sản phẩm. SVD++ sử dụng implicit feedback để cải thiện độ chính xác của dự đoán xếp hạng. Nghiên cứu đã chỉ ra rằng SVD++ có thể cung cấp các gợi ý chính xác hơn SVD.

3.3. Ứng Dụng Thực Tế của Các Thuật Toán SVD trong Recommender Systems

Các thuật toán SVDSVD++ được sử dụng rộng rãi trong recommender system architecture. Chúng có thể được sử dụng để dự đoán xếp hạng, tạo ra gợi ý và khám phá các mối quan hệ tiềm ẩn giữa người dùng và sản phẩm. Ví dụ, Netflix sử dụng SVD để đề xuất phim và chương trình truyền hình. Amazon sử dụng SVD để đề xuất sản phẩm liên quan đến những mặt hàng khách hàng đã mua hoặc xem. Các thuật toán SVD cũng được sử dụng trong các lĩnh vực khác, chẳng hạn như xử lý ngôn ngữ tự nhiên và thị giác máy tính.

IV. Deep Learning cho Hệ Thống Gợi Ý Tiềm Năng Thách Thức

Deep learning for recommendation đang trở thành một lĩnh vực nghiên cứu ngày càng quan trọng. Các mô hình deep learning có khả năng học các biểu diễn phức tạp của dữ liệu và có thể cải thiện độ chính xác của gợi ý. Các mô hình deep learning phổ biến trong recommender system architecture bao gồm RBM (Restricted Boltzmann Machine)Auto-Encoder. RBM là một mô hình sinh xác suất có thể được sử dụng để học các đặc trưng tiềm ẩn của dữ liệu. Auto-Encoder là một mạng thần kinh có thể được sử dụng để mã hóa và giải mã dữ liệu. Mặc dù có tiềm năng lớn, deep learning cũng đối mặt với một số thách thức, chẳng hạn như yêu cầu lượng dữ liệu lớn và chi phí tính toán cao.

4.1. RBM Restricted Boltzmann Machine Học Đặc Trưng Tiềm Ẩn

RBM (Restricted Boltzmann Machine) là một mô hình sinh xác suất có thể được sử dụng để học các đặc trưng tiềm ẩn của dữ liệu. RBM bao gồm hai lớp: lớp hiển thị và lớp ẩn. Các neuron trong cùng một lớp không thể giao tiếp trực tiếp với nhau, mà chỉ có kết nối giữa hai lớp khác nhau. RBM có thể được sử dụng để giảm chiều dữ liệu, phân loại, hồi quy, lọc cộng tác, học tính năng và lập mô hình chủ đề. RBM cũng đã được sử dụng để xây dựng các mô hình phức tạp hơn bằng cách xếp chồng RBM riêng lẻ với nhau.

4.2. Auto Encoder Mã Hóa Giải Mã Dữ Liệu Cho Recommender Systems

Auto-Encoder là một mạng thần kinh có thể được sử dụng để mã hóa và giải mã dữ liệu. Auto-Encoder bao gồm hai phần: bộ mã hóa và bộ giải mã. Bộ mã hóa nén dữ liệu đầu vào thành một biểu diễn được mã hóa, thường nhỏ hơn so với dữ liệu đầu vào. Bộ giải mã giải nén biểu diễn được mã hóa để tái tạo lại dữ liệu ban đầu. Auto-Encoder có thể được sử dụng để giảm chiều dữ liệu, trích xuất đặc trưng và loại bỏ nhiễu. Trong recommender system architecture, autoencoders are used for learning user and item embeddings.

4.3. Hạn Chế Của Deep Learning Giải Pháp Khắc Phục

Mặc dù có tiềm năng lớn, deep learning cũng đối mặt với một số thách thức. Một trong những thách thức lớn nhất là yêu cầu lượng dữ liệu lớn. Các mô hình deep learning thường cần hàng triệu điểm dữ liệu để đạt được hiệu suất tốt. Ngoài ra, deep learning có thể tốn kém về mặt tính toán. Việc huấn luyện các mô hình deep learning có thể mất nhiều thời gian và yêu cầu phần cứng mạnh mẽ. Để giải quyết những hạn chế này, các nhà nghiên cứu đang khám phá các kỹ thuật mới như online learning for recommendationtransfer learning.

V. Đánh Giá Hệ Thống Gợi Ý Metrics Phương Pháp Quan Trọng

Đánh giá hiệu quả của hệ thống gợi ý là rất quan trọng. Có nhiều evaluation metrics for recommender systems khác nhau có thể được sử dụng để đánh giá độ chính xác, đa dạng và mức độ hài lòng của người dùng. Các metric phổ biến bao gồm precision and recall, mean average precision (MAP)normalized discounted cumulative gain (NDCG). Ngoài ra, các phương pháp đánh giá chủ quan, chẳng hạn như khảo sát người dùng, cũng có thể được sử dụng để đánh giá mức độ hài lòng của người dùng.

5.1. Precision and Recall Đo Lường Độ Chính Xác Của Gợi Ý

Precisionrecall là hai metric phổ biến được sử dụng để đánh giá độ chính xác của hệ thống gợi ý. Precision đo lường tỷ lệ các sản phẩm được gợi ý thực sự phù hợp với sở thích của người dùng. Recall đo lường tỷ lệ các sản phẩm phù hợp với sở thích của người dùng được gợi ý. Cả precision và recall đều quan trọng, nhưng trọng số tương đối của chúng có thể khác nhau tùy thuộc vào ứng dụng.

5.2. Mean Average Precision MAP Đánh Giá Thứ Hạng Của Kết Quả

Mean Average Precision (MAP) là một metric được sử dụng để đánh giá thứ hạng của kết quả gợi ý. MAP tính trung bình precision cho mỗi người dùng và sau đó tính trung bình các precision trung bình cho tất cả người dùng. MAP là một metric hữu ích khi thứ hạng của kết quả gợi ý là quan trọng.

5.3. Normalized Discounted Cumulative Gain NDCG Ưu Tiên Kết Quả Hàng Đầu

Normalized Discounted Cumulative Gain (NDCG) là một metric được sử dụng để đánh giá thứ hạng của kết quả gợi ý, ưu tiên các kết quả hàng đầu. NDCG tính tổng của các giá trị gain (độ phù hợp) của các sản phẩm được gợi ý, giảm dần theo thứ hạng. NDCG được chuẩn hóa để có giá trị nằm trong khoảng từ 0 đến 1. NDCG là một metric hữu ích khi các kết quả hàng đầu có tầm quan trọng đặc biệt.

VI. Xu Hướng Tương Lai Sequential Knowledge Graph Recommendation

Lĩnh vực hệ thống gợi ý đang phát triển nhanh chóng. Các xu hướng nghiên cứu mới nổi bao gồm sequential recommendationknowledge graph recommendation. Sequential recommendation tính đến trình tự các tương tác của người dùng để tạo ra gợi ý. Knowledge graph recommendation sử dụng đồ thị tri thức để biểu diễn các mối quan hệ giữa người dùng, sản phẩm và các yếu tố khác. Những xu hướng này hứa hẹn sẽ cải thiện đáng kể độ chính xác và đa dạng của gợi ý.

6.1. Sequential Recommendation Dự Đoán Hành Vi Dựa Trên Lịch Sử Tương Tác

Sequential recommendation tính đến trình tự các tương tác của người dùng để tạo ra gợi ý. Các mô hình sequential recommendation sử dụng các kỹ thuật như recurrent neural networks (RNNs)transformers để học các mẫu trong trình tự tương tác của người dùng. Sequential recommendation có thể cải thiện độ chính xác của gợi ý bằng cách dự đoán những sản phẩm mà người dùng có khả năng quan tâm tiếp theo.

6.2. Knowledge Graph Recommendation Khai Thác Mối Quan Hệ Giữa Entities

Knowledge graph recommendation sử dụng đồ thị tri thức để biểu diễn các mối quan hệ giữa người dùng, sản phẩm và các yếu tố khác. Đồ thị tri thức có thể chứa thông tin về thuộc tính của sản phẩm, mối quan hệ giữa sản phẩm và người dùng, và các thông tin khác. Knowledge graph recommendation có thể cải thiện độ chính xác và đa dạng của gợi ý bằng cách khai thác các mối quan hệ phức tạp trong đồ thị tri thức.

6.3. Online Learning for Recommendation Thích Ứng Với Thay Đổi Theo Thời Gian Thực

Online learning for recommendation là một kỹ thuật cho phép hệ thống gợi ý thích ứng với những thay đổi trong sở thích của người dùng theo thời gian thực. Các mô hình online learning cập nhật mô hình của chúng khi nhận được dữ liệu mới. Online learning có thể cải thiện độ chính xác của gợi ý bằng cách phản ánh những thay đổi trong hành vi của người dùng.

22/09/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1. TỔNG QUAN VỀ HỆ THỐNG GỢI Ý 1.1 Hệ thống gợi ý 1.1 Các khái niệm chung Trong RS, thông thường người ta quan tâm đến ba thông tin: • User (người dùng). • Item (có thể là sản phẩm, bộ phim, bài hát, bài báo,. tùy hệ thống).1 Ma trận biểu diễn dữ liệu trong RS Các thông tin này được biểu diễn thông qua một ma trận.

Ở đó, mỗi dòng là một người dùng, mỗi cột là một bộ phim, và mỗi ô là một giá trị phản hồi (ví dụ, xếp hạng) biểu diễn “mức độ thích” của người dùng trên bộ phim tương ứng. Các ô có giá trị là những bộ phim mà các người dùng đã xếp hạng trong quá khứ. Những ô trống là những bộ phim chưa được xếp hạng (điều đáng lưu ý là mỗi người dùng chỉ xếp hạng cho một vài bộ phim trong quá khứ, do vậy có rất nhiều ô trống trong ma trận này – còn gọi là ma trận thưa – sparse matrix). Nhiệm vụ chính của RS là dựa vào các ô đã có giá trị trong ma trận trên (dữ liệu thu được từ quá khứ), thông qua mô hình đã được xây dựng dự đoán các ô còn trống (của người dùng hiện hành), sau đó sắp xếp kết quả dự đoán (chẳng hạn từ cao xuống thấp) và chọn ra Top-N bộ phim theo thứ tự, từ đó gợi ý chúng cho người dùng.

Cho tập hợp hữu hạn gồm N người dùng = { 1, … , } và sản phẩm = { 1, 2, … , }. Mỗi người dùng ∈ (với = 1, 2, … , ) được biểu diễn thông qua | | đặc trưng nội dung = { 1, 2, … , | |}. Các đặc trưng ∈ thông thường là thông tin cá M nhân của mỗi người dùng. Ví dụ i ∈ là một người dùng thì các đặc trưng nội dung biểu diễn người dùng i có thể là T={giới tính, độ tuổi, nghề nghiệp, trình độ,…}.

Mỗi sản phẩm ∈ (với = 1, 2, … ) có thể là hàng hóa, phim, ảnh, tạp chí, tài liệu, sách, báo, dịch vụ hoặc bất kỳ dạng thông tin nào mà người dùng cần đến. Mỗi sản phẩm ∈ được biểu diễn thông qua | | đặc trưng nội dung = { 1, 2, … , | |}. Các đặc trưng ∈ nhận được từ các phương pháp trích chọn đặc trưng trong lĩnh vực truy vấn thông tin. Ví dụ ∈ là một phim thì các đặc trưng nội dung biểu diễn phim có thể là = {thể loại phim, nước sản xuất, hãng phim, diễn viên, đạo diễn, …}.

Mối quan hệ giữa tập người dùng và tập sản phẩm được biểu diễn thông qua ma trận đánh giá = [ ] với = 1, 2, … , ; = 1, 2, … ,. Giá trị thể hiện đánh giá của người dùng ∈ cho một số sản phẩm ∈. Thông thường giá trị nhận một giá trị thuộc miền Hình 1.2 Ví dụ về ma trận đánh giá tổng quát người dùng. Những giá trị = 0 được hiểu là người dùng ∈ chưa biết đến hoặc không đánh giá sản phẩm ∈ , những ô điền ký = { 1, 2, … , } được thu thập trực tiếp bằng cách hỏi ý kiến người dùng hoặc thu thập gián tiếp thông qua cơ chế phản hồi của tự “?” là giá trị cần hệ gợi ý đưa ra 2 dự đoán đánh giá.

Tiếp đến, ta ký hiệu ∈ là tập các sản phẩm ∈ được đánh giá bởi người dùng ∈ và ∈ được gọi là người dùng hiện thời, người dùng cần được gợi ý hay người dùng tích cực. Khi đó, tồn tại hai dạng bài toán điển hình của hệ gợi ý là: • Dự đoán đánh giá của người dùng a với các sản phẩm chưa có đánh giá trước đó. Gợi ý danh sách ngắn các sản phẩm phù hợp với người dùng hiện thời. Cụ thể đối với người dùng a, hệ thống gợi ý sẽ chọn ra sản phẩm mới ∈ ( \ ) phù hợp với người dùng nhất để gợi ý cho họ.2 Xây dựng hệ thống gợi ý Qui trình tổng quát để giải quyết bài toán gợi ý thông thường gồm có 3 giai đoạn chính.

Thu thập thông tin. Ba loại thông tin chính thường được thu thập cho hệ thống gợi ý, gồm có: • Người dùng biểu diễn thông qua các đặc trưng là thông tin cá nhân. Thông qua biểu diễn này, hệ thống cho phép xây dựng hồ sơ người dùng nhằm lưu trữ lại dấu vết các đặc trưng nội dung sản phẩm đã từng được sử dụng bởi người dùng. • Sản phẩm biểu diễn thông qua các đặc trưng là thông tin về sản phẩm.

Thông qua biểu diễn này, hệ thống cho phép xây dựng hồ sơ sản phẩm nhằm lưu trữ lại dấu vết các đặc trưng người dùng đã từng sử dụng sản phẩm. • Phản hồi của người dùng với sản phẩm biểu diễn thông qua các giá trị đánh giá của người dùng với sản phẩm. Xây dựng mô hình: Giai đoạn xây dựng mô hình gợi ý có thể thực hiện bằng nhiều hướng tiếp cận khác nhau nhằm so sánh, đánh giá mối liên hệ giữa các thông tin thu thập được ở giai đoạn 1. Một số hướng tiếp cận điển hình được biết đến như: dựa vào kinh nghiệm, học máy, lý thuyết xấp xỉ,.

Mỗi hướng tiếp cận sẽ khai thác thông tin đầu vào theo những cách khác nhau hình thành những phương pháp gợi ý khác nhau. Dự đoán đánh giá/ Đưa ra gợi ý: Dữ liệu đầu ra của giai đoạn 2 sẽ được dùng để dự đoán các đánh giá của người dùng với các sản phẩm chưa có đánh giá trước đó và chọn ra sản phẩm mới phù hợp nhất đối với người dùng hiện thời để gợi ý cho họ.3 Khó khăn trong việc xây dựng hệ thống gợi ý • Xây dựng nhãn: Các nhãn có thể được thể hiện một cách tường minh như việc mua sản phẩm hay không, việc đánh giá số sao của người dùng cho sản phẩm, hay việc chấp nhận kết bạn hay không. Những nhãn này còn được gọi là phản hồi tường minh (explicit feedback). Tuy nhiên, không phải hệ thống gợi ý nào cũng phục vụ cho việc mua bán sản phẩm hay không phải người dùng nào cũng sẵn sàng bỏ thời gian ra đánh giá sản phẩm.

Rất nhiều trường hợp, nhãn được xây dựng dựa trên những phản hồi ẩn (implicit feedback) từ người dùng. Ví dụ, người dùng có thể không mua hàng nhưng họ đã click vào sản phẩm hoặc dành thời gian đọc về thông tin sản phẩm. Đôi khi, người dùng không click nhưng đã dừng lại ở phần quảng cáo sản phẩm đó trong một thời gian đủ lớn và bật âm thanh lớn để nghe về sản phẩm cũng là một tín hiệu hữu ích. • Dữ liệu lệch: Một khó khăn trong việc xây dựng các mô hình gợi ý là việc nhãn thường bị lệch một cách nghiêm trọng.

Số lượng mẫu có nhãn dương (có đánh giá tốt, có click, có mua hàng, v.) thường rất nhỏ so với lượng mẫu không có phản hồi. Và việc không có phản hồi chưa chắc đã có nghĩa rằng người dùng không quan tâm tới sản phẩm. Sự chênh lệch nhãn này khiến việc xây dựng mô hình trở lên phức tạp hơn. Việc chọn phương pháp đánh giá cũng hết sức quan trọng.

• Hiện tượng đuôi dài: Không những bị lệch về lượng mẫu có và không có phản hồi mà lượng phản hồi cho các sản phẩm cũng chênh nhau đáng kể. Sẽ có những sản phẩm phổ biến có rất nhiều dữ liệu những cũng có nhiều lần số sản phẩm ít phổ biến có rất ít phản hồi. • Vòng phản hồi (feedback loop): Đôi khi, việc gợi ý cho người dùng dựa hoàn toàn vào phản hồi của họ lại không thực sự thú vị. Nếu một người xem một video về chó mèo và rồi hệ thống gợi ý đúng về các video chó mèo khác 4 và người đó tiếp tục xem thì dần dần người đó sẽ hoàn toàn nhận được các gợi ý về chó mèo mà không có thể loại nào khác.

Với các hệ thống gợi ý, nhãn thu được bị ảnh hưởng một phần từ những gì mà hệ thống đã gợi ý trong quá khứ. Nếu tiếp tục phụ thuộc hoàn toàn vào nhãn thì kết quả gợi ý sẽ dần hội tụ về một lượng nhỏ các video. Vòng phản hồi này có tác động tiêu cực tới trải nghiệm người dùng và cần được hạn chế.4 Hai dạng bài toán chủ yếu của RS Có 2 dạng bài toán chính trong RS là dự đoán xếp hạng (rating prediction) của các hệ thống có phản hồi tường minh như đã trình bày ở trên và dự đoán mục thông tin (item prediction/recommendation) là việc xác định xác suất mà người dùng thích mục tin tương ứng. Trong RS, giá trị phản hồi rui của mỗi người dùng trên mục tin sẽ được ghi nhận lại để làm cơ sở cho việc dự đoán các giá trị kế tiếp.

Giá trị rui có thể được xác định một cách tường minh (explicit feedbacks) như thông qua việc đánh giá/xếp hạng (ví dụ, rating   từ đến ; hay like (1) và dislike (0),…) mà người dùng u đã bình chọn cho bộ phim i; hoặc rui có thể được xác định một cách không tường minh thông qua số lần click chuột, thời gian mà u đã duyệt/xem i,… Tùy theo hệ thống mà giá trị này sẽ có ý nghĩa khác nhau, ví dụ nó có thể dùng để đo độ “phù hợp” hay “mức độ thích” (thường là các đánh giá trên các sản phẩm) trong các hệ thống thương mại điện tử hay “năng lực/kết quả thực hiện” của người dùng trong các hệ thống.2 Các kỹ thuật trong RS Các giải thuật trong RS có rất nhiều, nhưng ta có thể phân thành các nhóm chính cơ bản sau đây: [1] • Nhóm giải thuật lọc nội dung (Content-based Filtering): Gợi ý các bộ phim dựa vào hồ sơ (profiles) của người dùng hoặc dựa vào nội dung/thuộc tính (attributes) của những bộ phim tương tự như bộ phim mà người dùng đã chọn trong quá khứ. • Nhóm giải thuật lọc cộng tác (CF): Gợi ý các bộ phim dựa trên sự tương quan (similarity) giữa các người dùng và/hoặc bộ phim. Có thể hiểu rằng đây là 5 cách gợi ý tới một người dùng dựa trên những người dùng có hành vi tương tự. o Phương pháp láng giềng (Neighborhood-based, còn gọi là Memory- based), trong đó hoặc là dựa trên dữ liệu quá khứ của người dùng “tương tự - similarity” (user-based approach), hoặc là dựa trên dữ liệu quá khứ của những bộ phim “tương tự” (item-based approach) o Dựa trên mô hình (Model-based): Nhóm này liên quan đến việc xây dựng các mô hình dự đoán dựa trên dữ liệu thu thập được trong quá khứ.

Như mô hình Bayesian, các mô hình nhân tố tiềm ẩn (Latent factor models) - trong đó kỹ thuật phân rã ma trận (Matrix factorization) là một điển hình.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ