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.