Chương 1 TỔNG QUAN Trong chương này, chúng tôi giới thiệu tổng quan về hệ gợi ý, sơ lược về học máy và các nghiên cứu liên quan.1 Giới thiệu Hệ gợi ý là một dạng hệ gợi ý lọc thông tin, nó được sử dụng để dự đoán sở thích hay xếp hạng mà người dùng có thể dành cho một mục thông tin nào đó mà họ chưa xem xét tới trong quá khứ (mục thông tin có thể là bài hát, bộ phim, đoạn video clip, sách, bài báo,.) nhằm đưa ra những gợi ý về những sản phẩm phù hợp cho người dùng. Hệ gợi ý hoạt động dựa theo sự thu thập thông tin sở thích của người dùng trong quá khứ, từ đó phân tích hành vi của người dùng để đưa ra các gợi ý về sản phẩm mà họ thích trong hàng ngàn, hàng vạn sản phẩm có trong hệ gợi ý. Mô hình đơn giản nhất của hệ gợi ý khi được cá nhân hoá là danh sách xếp hạng các sản phẩm. Khi thực hiện bảng xếp hạng này, hệ gợi ý sẽ thử dự đoán những sản phẩm hoặc dịch vụ phù hợp nhất với người dùng dựa trên sở thích và nhu cầu của họ.
Để thực hiện được nhiệm vụ đó, hệ gợi ý thu thập sở thích của người dùng được thể hiện qua hệ gợi ý (xếp hạng cho các sản phẩm) hoặc suy ra từ cách giải thích hành động của người dùng - là một tính năng ẩn có ưu tiên cho phần hiển thị của trang. 3 e Hiện nay, hệ gợi ý đóng vai trò rất quan trọng trong nhiều các trang web được đánh giá cao như (Amazon1 , Youtube2 , Netflix3 ,. Một số ứng dụng hệ gợi ý nổi tiếng trên thế giới được giới thiệu trong Bảng 1.1: Ví dụ một số hệ gợi ý nổi tiếng. Hệ gợi ý Mục gợi ý Amazon Sách, CD và một số sản phẩm khác Netflix DVD, streaming video GroupLens Tin tức MovieLens Phim ảnh Google News Tin tức Facebook Bạn bè, quảng cáo Pandora Âm nhạc Youtube Video trực tuyến Tripadvisor Sản phẩm về du lịch (nhà hàng, khách sạn,.2 Phát biểu bài toán Nhiệm vụ của hệ gợi ý là dựa vào các ô đã có giá trị trong ma trận, thông qua mô hình đã được xây dựng, dự đoán (giá trị) các ô còn trống, sau đó sắp xếp kết quả dự đoán và chọn ra N sản phẩm đầu tiên theo thứ tự (top-N), sau đó gợi ý cho người dùng những sản phẩm này.
Một cách hình thức: Gọi U là một tập hợp n người dùng, |U | = n, và u là một người dùng cụ thể nào đó (u ∈ U ). Gọi I là một tập hợp m sản phẩm, |I| = m, và i là một sản phẩm cụ thể nào đó (i ∈ I). Gọi R là một tập hợp các giá trị phản hồi (xếp hạng) của người dùng và rui là xếp hạng của người dùng u trên sản phẩm i. 0 Với mỗi người dùng u ∈ U cần tìm sản phẩm i ∈ I sao cho hàm rui0 đạt giá trị lớn nhất.com 2 https://www.com 3 https://www.com/vn/ 4 e Trong hệ gợi ý, thông thường chúng ta quan tâm đến ba thông tin chính, bao gồm: người dùng (user), sản phẩm (item) và phản hồi (feedback) của người dùng trên sản phẩm đó (thường là các xếp hạng/đánh giá biểu diễn mức độ thích/quan tâm của người dùng).
Các thông tin này được biểu diễn thông qua ma trận Người dùng × Sản phẩm như mô tả ở Hình 1.1: Ma trận biểu diễn dữ liệu trong hệ gợi ý. Trong ma trận này, mỗi dòng là một người dùng, mỗi cột là một sản phẩm và mỗi ô là một giá trị phản hồi biểu diễn mức độ "thích" của người dùng trên sản phẩm tương ứng. Các ô có giá trị là những sản phẩm người dùng đã xếp hạng trong quá khứ. Những ô trống là những sản phẩm chưa được đánh giá bởi người dùng.3 Các cách tiếp cận trong hệ gợi ý Các hệ gợi ý thường sử dụng nhiều kỹ thuật khác nhau, về cơ bản, có thể chia làm các nhóm chính: Lọc dựa trên nội dung: người sử dụng được gợi ý mục dữ liệu tương tự như những mục dữ liệu được người sử dụng thích trong quá khứ; Lọc cộng tác: người sử dụng được gợi ý mục dữ liệu của những người có cùng “khẩu vị” và “sở thích” giống với mình; Kết hợp cả hai cách tiếp cận ở trên.1 Dựa trên nội dung Hệ gợi ý dựa trên nội dung đưa ra các gợi ý dựa trên phỏng đoán rằng một người có thể thích các sản phẩm có nhiều đặc trưng tương tự với các sản phẩm mà họ đã từng ưa thích.
Theo [11], với các phương pháp gợi ý dựa trên nội dung, độ phù hợp r(u, i) của sản phẩm i với người dùng u được đánh giá dựa trên độ phù hợp r(u, ij ), trong đó ij ∈ I và “tương tự” như i. Ví dụ, để gợi ý một bộ phim cho người dùng u, hệ gợi ý sẽ tìm các đặc điểm của những bộ phim từng được u đánh giá cao (như diễn viên, đạo diễn,. Hướng tiếp cận dựa trên nội dung bắt nguồn từ những nghiên cứu về thu thập thông tin (IR) và lọc thông tin (IF). Do đó, nhiều hệ gợi ý dựa trên nội dung hiện nay tập trung vào gợi ý các đối tượng chứa dữ liệu text như (văn bản, tin tức, Website,.
) Những tiến bộ so với hướng tiếp cận cũ của IR là do việc sử dụng hồ sơ về người dùng chứa thông tin về (sở thích, nhu cầu,. Hồ sơ này được xây dựng dựa trên những thông tin được người dùng cung cấp trực tiếp (khi trả lời khảo sát) hoặc gián tiếp (do khai phá thông tin từ các giao dịch của người dùng).2: Kỹ thuật lọc dựa trên nội dung. Để cụ thể hơn, đặt Content(s) là tập thông tin (hay tập các đặc trung) về sản phẩm i. Do hệ gợi ý dựa trên nội dung được thiết kế chủ yếu dành cho các sản phẩm là text, nên nội dung sản phẩm thường được biểu diễn bởi các từ khóa (keyword): Content(s) = (w1s , ., wks là trọng số của các từ khóa từ 1 tới k (có thể được tính bằng TF-IDF).
TF: Term Frequency (Tần suất xuất hiện của từ) là số lần từ xuất hiện trong văn bản. Vì các văn bản có thể có độ dài ngắn khác nhau nên một số từ có thể 6 e xuất hiện nhiều lần trong một văn bản dài hơn là một văn bản ngắn. Như vậy, term frequency thường được chia cho độ dài văn bản (tổng số từ trong một văn bản).2) max {f (w, d) : w ∈ d} Trong đó: tf(t, d): tần suất xuất hiện của từ t trong văn bản d; f(t, d): Số lần xuất hiện của từ t trong văn bản d; max({f (w, d) : w ∈ d}) : Số lần xuất hiện của từ có số lần xuất hiện nhiều nhất trong văn bản d. IDF: Inverse Document Frequency (Nghịch đảo tần suất của văn bản), giúp đánh giá tầm quan trọng của một từ.
Khi tính toán TF , tất cả các từ được coi như có độ quan trọng bằng nhau. Nhưng một số từ như “is”, “of” và “that” thường xuất hiện rất nhiều lần nhưng độ quan trọng là không cao. Như thế chúng ta cần giảm độ quan trọng của những từ này xuống.3) |{d ∈ D : t ∈ d}| Trong đó: idf(t, D): giá trị idf của từ t trong tập văn bản; |D|: Tổng số văn bản trong tập D; |{d ∈ D : t ∈ d}| : thể hiện số văn bản trong tập D có chứa từ t. Đặt P rof ile(c) là hồ sơ về người dùng u, bao gồm các thông tin về sở thích của u.
Những thông tin này có được bằng cách phân tích nội dung của các sản phẩm từng được u đánh giá trước đó. Phương pháp được sử dụng thường là kỹ thuật phân tích từ khóa của IR, do đó, P rof ile(c) cũng có thể được định nghĩa như một vector trọng số: P rof ile(c) = (w1c , ., wkc ) với wic biểu thị độ quan trọng của từ khóa i với người dùng u. Trong hệ gợi ý dựa trên nội dung, độ phù hợp r(u, i) được xác định bởi công thức: r(u, i) = score(P rof ile(c), Content(s)) (1.4) 7 e với score là một hàm được xây dựng để đo độ tương đồng giữa Content(s) và P rof ile(c) Cả P rof ile(c), Content(s) đều có thể được biểu diễn bằng vector trọng số từ → → TF-IDF (tương ứng là w, w) nên có thể đo độ tương đồng của chúng bằng độ đo c s cosine: → → r(u, i) = cos(w, w) (1.5) c s Ví dụ, nếu người dùng u đọc nhiều bài báo thuộc lĩnh vực thời trang thì các từ khóa liên quan tới thời trang (như bộ sưu tập, thiết kế, mẫu,. ) trong P rof ile(c) sẽ có trọng số cao.
Hệ quả là với các bài báo s cũng thuộc lĩnh vực này sẽ có độ phù hợp r(u, i) cao hơn với người dùng u. Bên cạnh các phương pháp IR, hệ gợi ý dựa trên nội dung còn sử dụng nhiều phương pháp học máy khác như: (phân lớp Bayes, cây quyết định, mạng nơ ron nhân tạo,. ) Các phương pháp này khác với các phương pháp của IR ở chỗ nó dựa trên các mô hình học được từ dữ liệu nền. Ví dụ, dựa trên tập các trang web đã được người dùng đánh giá là có nội dung “hay” hoặc “không hay” có thể sử dụng phân lớp Bayes để phân loại các trang Web chưa được đánh giá.
Phương pháp gợi ý theo nội dung làm việc khá hiệu quả với các tài liệu văn bản và đã có nhiều ứng dụng trên thực tế như (hệ gợi ý lọc email thư rác,. ) phương pháp này vẫn được khá nhiều hệ gợi ý sử dụng do tính dễ cài đặt, và hiệu quả trong xử lý dữ liệu là văn bản. Nhược điểm chính của phương pháp này là gặp khó khăn trong vấn đề trích chọn đặc trung với kiểu dữ liệu không phải là văn bản.2 Lọc cộng tác Theo [1], không giống như phương pháp gợi ý dựa trên nội dung, hệ gợi ý cộng tác dự đoán độ phù hợp r(u, i) của một sản phẩm i với người dùng u dựa trên độ phù hợp r(uk , i) giữa người dùng uk và i, trong đó uk 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ệ gợi ý lọc cộng tác tìm những người dùng khác có cùng sở thích phim ảnh với u.
Sau đó, những bộ phim được họ đánh giá cao sẽ được dùng để gợi ý cho u. Có nhiều hệ gợi ý lọc cộng tác đã được phát triển như: (Grundy, GroupLens (tin tức), Ringo (âm nhạc), Amazon (sách, CD), Phoaks (web),.