1. 2 Khái niệm về sự tin cậy
2.3. Phương pháp lọc cộng tác
Theo [4], không giống như phương pháp tư vấn dựa trên nội dung, hệ thống cộng tác dự đoán độ phù hợp u(c,s) của một sản phẩm s với người dùng c dựa trên độ phù hợp u(cj, s) giữa người dùng cj và s, trong đó cj là người có cùng sở thích với c. Ví dụ, để gợi ý một bộ phim cho người dùng c, đầu tiên hệ thống cộng tác tìm những người dùng khác có cùng sở thích phim ảnh với c. Sau đó, những bộ phim được họ đánh giá cao sẽ được dùng để tư vấn cho c. Hình 9 minh họa về hệ tư vấn dựa trên lọc cộng tác
Có rất nhiều hệ thống cộng tác đã được phát triển như: Grundy, GroupLens (tin tức), Ringo (âm nhạc), Amazon.com (sách), Phoaks (web)… Các hệ thống này là các hệ thống tư vấn cộng tác dựa trên kinh nghiệm (heuristic-based hay memory-based)
Hình 9. Tư vấn dựa trên cộng tác
Các thuật toán dựa trên kinh nghiệm dự đoán hạng của một sản phẩm dựa trên toàn bộ các sản phẩm đã được đánh giá trước đó bởi người dùng. Nghĩa là, hạng của sản phẩm s với người dùng c(rc,s ) được tổng hợp từ đánh giá của những người dùng khác về s (thường là N người có sở thích tương đồng nhất với c).
Thuật toán được chia làm hai bước
Bước 1: Tìm tập người dùng sẽ tư vấn cho người dùng c
Trong ngữ cảnh của hệ tư vấn, tập này là tập những người dùng có độ tương đồng về sở thích nhất với người dùng c.
Có nhiều cách để tính độ tương đồng giữa hai người dùng, nhưng trong hầu hết các phương pháp, độ tương đồng chỉ được tính dựa trên các sản phẩm được cả hai người cùng đánh giá. Hai phương pháp phổ biến nhất là dựa trên độ tương quan (correlation-based) và dựa trên cosin (cosine-based).
Đặt 𝑆𝑥𝑦 = 𝑠 ∈ 𝑆| 𝑟𝑥,𝑠 ≠ ∅ & 𝑟𝑦,𝑠 ≠ ∅ là tập các sản phẩm được đánh giá bởi
cả hai người dùng x, y.
Công thức dựa trên độ tương quan của Pearson [23]:
𝑠𝑖𝑚 𝑥, 𝑦 = 𝑠∈𝑆𝑥𝑦(𝑟𝑥,𝑠 − 𝑟 ) × (𝑟𝑥 𝑦,𝑠 − 𝑟 )𝑦
(𝑟𝑥,𝑠 − 𝑟 )𝑥 2× (𝑟𝑦,𝑠 − 𝑟 )𝑦 2
𝑠∈𝑆𝑥𝑦 𝑠∈𝑆𝑥𝑦
Với phương pháp dựa trên cosin, hai người dùng được biểu diễn bởi 2 vector m chiều, với m = |Sxy|. Độ tương đồng giữa 2 vector được tính bởi công thức:
𝑠𝑖𝑚 𝑥, 𝑦 = cos( 𝑥 , 𝑦 ) = 𝑥 . 𝑦 𝑥 × 𝑦 = 𝑟𝑥,𝑠 × 𝑟𝑦,𝑠 𝑠∈𝑆𝑥𝑦 𝑟𝑥,𝑠2 𝑠∈𝑆𝑥𝑦 × 𝑟𝑦,𝑠2 𝑠∈𝑆𝑥𝑦
Bước 2: Tổng hợp và đưa ra tư vấn
Mỗi người dùng trong tập kết qủa ở bước 1 sẽ đưa ra một tư vấn cho c về sản phẩm s. Hệ thống cần tổng hợp các tư vấn này để đưa ra một kết quả tư vấn cuối cùng cho người dùng c Một số ví dụ về hàm tổng hợp (aggregate): 𝑎 𝑟𝑐,𝑠 = 1 𝑁 𝑟𝑐′,𝑠 𝑐′∈𝐶 𝑏 𝑟𝑐,𝑠 = 𝑘 × 𝑠𝑖𝑚 𝑐, 𝑐′ × 𝑟𝑐′,𝑠 𝑐′∈𝐶 𝑐 𝑟𝑐,𝑠 = 𝑟 + 𝑘 × 𝑠𝑖𝑚 𝑐, 𝑐𝑐 ′ × (𝑟𝑐′,𝑠− 𝑐′∈𝐶 𝑟 )𝑐′
Với: k = hệ số chuẩn hóa
sim(c, c’) = độ tương đồng (về sở thích) giữa người dùng c và c’
𝑟𝑐, 𝑟 𝑐′ = trung bình của các đánh giá được cho bởi người dùng c và c’
Hệ tư vấn dựa trên lọc cộng tác đơn giản nhưng rất hiệu quả, tuy nhiên nó có một số nhược điểm như:
- Hệ tư vấn đòi hỏi tính toán rất lớn. Thuật toán lọc cộng tác là một thuật toán học lười nhác dựa trên ví dụ. Các thuật toán loại này tốn tài nguyên tính toán rất lớn, bởi mỗi lần tư vấn phải tìm kiếm tất cả hồ sơ của người dùng để tìm ra những người dùng tương đồng sở thích. Nhược điểm này khiến cho hệ tư vấn không thể mở rộng để đáp ứng cho lượng người dùng lớn.
- Thời gian hệ thống đưa ra tư vấn cho một người rất lâu, từ một vài giây đến vài phút. Chính vì vậy, nó không thể đáp ứng yêu cầu tư vấn trực tuyến khi người dùng có nhu cầu. Việc tư vấn thường được làm định kỳ (ví dụ ngày một lần). Điều này đồng nghĩa với việc tư vấn sẽ không phải là cập nhật mới nhất và những thay đổi trong hệ thống (các đánh giá mới của người dùng về sản phẩm) sẽ không có tác dụng ngay khi nó xảy ra.
- Khả năng tính toán được sự tương đồng giữa các người dùng rất hạn chế.
Để đưa ra được tư vấn tốt cho người dùng, hệ thống phải so sánh hồ sơ người dùng hiện tại với hồ sơ của các người khác trong hệ thống nhằm tìm ra người có sự tương đồng lớn nhất (có nhiều đánh giá sản phẩm tương đồng nhất). Đây là bước quyết định đến chất lượng của tư vấn. Tuy nhiên trong thực tế, dữ liệu về đánh giá sản phẩm của người dùng khá nghèo nàn. Thông thường mỗi người dùng chỉ đánh giá số lượng sản phẩm rất ít so với lượng hàng triệu sản phẩm của hệ thống. Ma trận đánh giá vì vậy thường rất thưa, dẫn đến hiện tượng phổ biến: hai người dùng không có đủ số lượng đánh giá sảm phẩm chung tối thiểu yêu cầu bởi các độ đo tương đồng. Do đó, hệ thống không thể tính được độ tương tự của người dùng hiện tại với phần lớn người dùng, dẫn đến hệ thống buộc phải lựa chọn người tương đồng trong số một nhóm nhỏ người dùng và bỏ sót các người dùng tương đồng khác. Hiện tượng này không xảy ra với những người dùng đã có hàng trăm đánh giá sản phẩm, nhưng chắc chắn sẽ xảy ra với những người dùng chỉ có một vài đánh giá (gọi là hiện tượng người dùng mới (tiếng Anh: cold-start-user)). Nhiều người cho rằng một hệ tư vấn tốt cần tư vấn hiệu quả cho các người dùng mới, để họ cảm thấy lợi ích từ việc đánh giá sản phẩm và sẽ gắn bó sử dụng dịch vụ của hệ thống (trước khi họ cảm thấy chán nản và chuyển sang dùng một dịch vụ khác).
- Dễ bị tấn công bởi người dùng xấu. Hệ tư vấn thường được tích hợp trong các trang web thương mại điện tử (như Amazon.com). Trong bối cảnh này, việc có khả năng ảnh hưởng và tác động đến hệ tư vấn mang lợi ích cho rất nhiều người. Hãy tưởng tượng chuyện gì xảy ra nếu một người bằng cách nào đó khiến cho hệ thống luôn tư vấn cho người dùng lựa chọn cuốn sách của người
đó viết? Với phương pháp lọc cộng tác, chuyện này hoàn toàn có thể xảy ra một cách dễ dàng [22]. Cách tấn công đơn giản nhất là sao chép hồ sơ của người dùng. Kẻ xấu có thể sao chép các đánh giá của người dùng bị tấn công, và hệ thống sẽ bị lừa rằng kẻ xấu là người tương đồng nhất với người bị tấn công. Theo cách này, mọi sản phẩm khác trong danh sách đánh giá của của kẻ xấu sẽ được tư vấn cho người dùng. Các hệ thống tư vấn hiện tại đều được triển khai theo mô hình tập trung, việc tạo ra một hồ sơ nhái tốn khá nhiều thời gian, dẫn tới cách tấn công này không phổ biến và ít được nghiên cứu. Tuy nhiên trong tương lai, khi các hệ thống web ngữ nghĩa như RVW (viết tắt của ReVieW) [7] và FOAF (Friend Of A Friend) [8] phát triển và được triển khai phân tán, cách tấn công này sẽ là một vấn đề được quan tâm hơn.
Chương 3. Hệ tư vấn sử dụng độ đo tin cậy