Đặt vấn đề và cách giải quyết. Chương 5: Đánh giá giải pháp. Chương 6: Tổng kết đánh giá kết quả nghiên cứu của luận văn và đưa ra đề xuất cho hướng nghiên cứu phát triển tiếp theo trong tương lai. 3 Chương 2 CƠ SỞ LÝ THUYẾT 2.1 Hệ khuyến nghị - Recommender System 2.1 Giới thiệu chung Hệ khuyến nghị/đề xuất về cơ bản là một loại mô hình học máy thông qua thông tin của người sự dụng mà từ đó đưa ra các phán đoán, gợi ý, đề xuất cho người dùng tại một thời điểm bất kì.
Từ đó giúp cho người dùng có thể ra quyết định một cách dễ dàng hơn. Thông tin về người sử dụng được dùng cho việc khuyến nghị tự động có thể chia thành hai loại: thông in phản hồi rõ ràng (explicit feedback) và thông tin phản hồi tiềm ẩn (implicit feedback). • Các thông tin phản hồi tiềm ẩn hay phản hồi gián tiếp (Implicit Feedback) có thể kể đến như thời gian người dùng xem sản phẩm, quá trình người dùng duyệt qua sản phẩm trước khi mua, nguồn mà người dùng truy cấp đến trang hiện tại, số lần click chuột. Các thông tin phản hồi tiềm ẩn này rất dễ thu thập, nhưng thường có độ nhiễu khá cao và không có tương tác trực tiếp với người dùng (vì hệ thống sẽ thu thập các thông tin này thông qua một hệ thống tư động thu thập lịch sử và hành vi của người dùng).
• Thông tin phản hồi rõ ràng hay phản hồi trực tiếp (Explicit Feedback) là các kết quả nhận được khi người dùng trực tiếp đưa ra đánh giá về sản phẩm như thích/không thích, chấm điểm, bình luận. Các thông tin này thường khó thu thập hơn rất 4 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT nhiều so với các thông tin ẩn, nhưng độ chính xác cao hơn và rất hữu ích cho việc khuyến nghị. Kết quả của một hệ khuyến nghị thường có hai dạng chính: • Dự đoán đánh giá của người dùng về một sản phẩm nhất định (ratings, voting.
Ví dụ như khả năng người dùng sẽ đánh giá sản phầm này là 5 sao hay 90% người dùng sẽ thích sản phẩm này. • Một danh sách ngắn những sản phẩm người dùng đang cần tìm, hoặc một danh sách sản phẩm có thể sẽ thích hoặc quan tâm mà người dùng chưa từng biết đến trước đó.1: Hệ khuyến nghị Tuy nhiên các hệ khuyến nghị thường phải xử lý một khối lượng lớn thông tin khổng lồ và phức tạp, do đó để đạt được hiệu quả tốt thường cần một số kỹ thuật nâng cao để thực hiện.2 Ma trận tương tác giữa người dùng - sản phẩm - User-item interaction matrix Có hai thực thể chính trong các Recommendation Systems là người dùng (users) và sản phẩm (items). Mỗi user sẽ có mức độ quan tâm tới từng item khác nhau. Mức độ quan tâm này, nếu đã biết trước, được gán cho một giá trị ứng với mỗi cặp user-item.
Mức độ quan tâm có thể được đo bằng nhiều cách, ví dụ như thả tim, thích, rate. Giả sử rằng mức độ quan tâm được đo bằng giá trị user rate cho item, ta tạm gọi giá trị này 5 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT Hình 2.2: User-item interaction matrix là rating. Tập hợp tất cả các ratings, bao gồm cả những giá trị chưa biết cần được dự đoán, tạo nên một ma trận gọi là ratings matrix (hay còn được gọi là Utility Matrix).
Bài toán xây dựng hệ khuyến nghị tự động có thể được mô hình hóa như sau: Với U là tập hợp tất cả người dùng [u1 , u2 , u3 , .], I là tập hợp tất cả sản phẩm (sách, báo, bài viết, tin tức .] có thể khuyến nghị, O = (u, i, y) là bản ghi các hành động trước đây của người dùng. Mục tiêu của chúng ta là đề xuất cho người dùng một danh sách các mặt hàng được xếp hạng sao cho tối đa hoá mức độ hài lòng của họ. Với y ở đây có thể là các mục quan sát được (observed entries) hay không quan sát được (unobserved entries). Mục quan sát được có nghĩa là user đã tương tác với mục đó, nhưng không có nghĩa là user thích item đó, tương tự, mục không quan sát được không có nghĩa là user không thích item đó, có thể chỉ đơn giản là dữ liệu bị thiếu.
Một điểm yếu của việc sử dụng implicit feedback là có thể ta sẽ bỏ qua tính tiêu cực của các phản hồi (negative feedback). Về mặt toán học ta đang tính: yc ui = f (u, i|Θ) (2.1) Trong đó: • yc ui là điểm dự đoán (predict score) cho tương tác giữa người dùng u đối với item i. • Θ Tham số mô hình (mô hình ở đây có thể là Matrix Factorization). • f Hàm ánh xạ tham số mô hình ra kết quả (có thể là Neural Network).
CƠ SỞ LÝ THUYẾT Để có thể tính được Θ, ta cần tối ưu hàm mục tiêu, 2 hàm mất mát (loss function) phổ biến cho các hệ khuyến nghị là Pointwise loss và Pairwise loss. • Pointwise loss: cố gắng tối thiểu hoá sai số giữa giá trị dự đoán yb và giá trị mục tiêu y. Để giải quyết vấn đề dữ liệu bị thiếu trong ma trận tương tác giữa user và item (do không quan sát được, hoặc user không/chưa tương tác với item đó), ta sẽ giả định tất cả các missing data đó là tiêu cực (negative). • Pairwise loss: cố gắng để xếp hạng các item quan sát được cao hơn các item không quan sát được.
Thực hiện bằng cách cố gắng tối đa hoá khoảng cách giữa item quan sát được và không quan sát được. Tóm lại, pointwise loss cố gắng tối thiểu hoá sai số giữa điểm dự đoán và điểm thực tế, ngược lại với pairwise loss cố gắng tối đa hoá khoảng cách giữa item quan sát được và không quan sát được. Các Recommendation Systems thường được chia thành hai nhóm lớn, dựa vào cách mà các hệ thống này dùng để gợi ý chúng ta: • Lọc dựa trên nội dung (Content-based Filtering) khai thác các khía cạnh nội dung thông tin sản phẩm người dùng đã từng sử dụng hay truy nhập trong quá khứ để khuyến nghị. Hay nói cách khác là dựa trên sự giống nhau giữa các sản phẩm.
Hay nói cách khác là dựa trên sự tương quan giữa những người dùng với nhau.3 Kỹ thuật lọc dựa trên nội dụng (Content-based Filtering) Kỹ thuật lọc dựa trên nội dung thông thường sử dụng các mô hình: sử dụng users profile và items profile để xây dựng nên mô hình huấn luyện. Mô hình dự đoán sau đó sẽ sử dụng kết quả của mô hình huấn luyện để sinh ra tư vấn cho người dùng. Trong cách tiếp cận này, lọc nội dung có thể sử dụng các kỹ thuật học máy như mạng Bayes 7 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT Hình 2.3: Hại loại kỹ thuật chính để xây dựng hệ khuyến nghị (Bayes network), phân cụm (clustering), cây quyết định (decision tree), mạng nơ-ron nhân tạo (Neural network) để dự đoán.
Các kỹ thuật này hoạt động rất tốt với các sản phẩm giàu nội dung như các sản phẩm trong lĩnh vực công nghệ, truyền thông, y tế. và áp dụng được cho cả các sản phẩm mới (chưa có lịch sử tương tác) nên phù hợp khi danh sách sản phẩm được cập nhật liên tục.4 Kỹ thuật lọc cộng tác - Collaborative Filtering Kỹ thuật lọc cộng tác (Collaborative Filtering) dựa trên nguyên tắc hoạt động là các khuyến nghị dựa trên sự tương quan giữa những người dùng với nhau với giả thuyết căn bản: người dùng tương tự nhau sẽ quan tâm đến sản phẩm tương tự nhau. Khác so với kỹ thuật lọc dựa trên nội dụng, hệ thống cộng tác dự đoán mức độ phù hợp r(u, i) của một sản phẩm p với người dùng u dựa trên mức độ phù hợp r(u, i) giữa người dùng ui và p, trong đó ui là người có cùng sở thích với u. Ví dụ, để gợi ý một bộ phim cho người dùng u, đầu tiên hệ thống cộng tác tìm những người dùng khác có 8 CHƯƠNG 2.
CƠ SỞ LÝ THUYẾT cùng sở thích phim ảnh với u (cũng xem và đánh giá tương tự nhau cho một số bộ phim khác). Sau đó, những bộ phim được họ đánh giá cao sẽ được dùng để tư vấn cho u. Kỹ thuật này chỉ dựa vào lịch sử giao dịch để tìm các quy luật tương tác giữa người dùng với sản phẩm mà không cần biết thuộc tính của sản phẩm và có khả năng khai thác thông tin ngoài phạm vi của các thuộc tính sản phẩm. Vì vậy, lọc cộng tác rất hiệu quả với các hệ thống có nhiều tương tác giữa người dùng và sản phẩm (nhiều người dùng, nhiều giao dịch, nhiều phản hồi) cũng như các hệ thống với những sản phẩm có ít thuộc tính.
Điểm mấu chốt của phương pháp này là việc biểu diễn sản phẩm dưới dạng một vec-tơ các thuộc tính và sử dụng các độ đo tương tự để đánh giá mức độ tương đồng của giá trị các thuộc tính. Các thuộc tính có thể có các dạng dữ liệu khác nhau như số nguyên, số thực, các giá trị rời rạc. nên cần các độ đo tương tự khác nhau. Một số độ đo phổ biến có thể kể đến như khoảng cách Mahalanobis, khoảng cách Euclidean, độ tương tự Cosine hay chỉ số tương tự Jaccard.5 Các kỹ thuật lai (Hybrid) Kỹ thuật lai (hybrid) là phương pháp kết hợp của cả hai kỹ thuật trên.
Một số ứng dụng kết hợp cả hai kỹ thuật lọc cho hệ thống khuyến nghị dựa theo nội dung và lọc cộng tác. Mỗi kỹ thuật đều có những ưu điểm và nhược điểm riêng, do đó khi kết hợp có thể khắc phục những hạn chế của từng kỹ thuật. Nó cải thiện hiệu suất dự đoán, và quan trọng hơn, từ đó khắc phục được những vấn đề tồn tại trong lọc thông tin như dữ liệu thưa thớt và mất thông tin. Tuy nhiên, sự kết hợp của hai kỹ thuật để thực hiện sẽ gia tăng độ phức tạp và chi phí phát triển.
Thông thường hầu hết các hệ thống khuyến nghị thương mại là các hệ thống lai, ví dụ như hệ thống khuyến nghị tin tức của Google.2 Phân tích ma trận - Matrix Factorization Phân tích ma trận hay phân rã ma trận (Matrix factorization) là một hướng tiếp cận khác của Collaborative Filtering. Cụ thể, mô hình sẽ cố gắng phân tách Utility matrix (ma trận tương tác giữa người dùng) thành hai ma trận nhỏ hơn. Ta sẽ cố gắng tối ưu hai ma trận con này sao cho sai số đối với Utility matrix là nhỏ nhất, có thể sử dụng nhiều loại hàm mất mát, tuy nhiên dễ nhất vẫn là Mean-square Error. CƠ SỞ LÝ THUYẾT Hình 2.
Ý tưởng chính đằng sau phương pháp Matrix Factorization là tồn tại các đặc trưng ẩn (latent features) mô tả mối quan hệ giữa sản phẩm và người dùng.