Chương 1. TỔNG QUAN VỀ TƯ VẤN LỌC CỘNG TÁC 1. Giới thiệu chung Trong thời đại phát triển của công nghệ thông tin như hiện nay, các trang thương mại điện tử cung cấp lên đến hàng triệu các sản phẩm được bán. Lựa chọn giữa rất nhiều sản phẩm trở thành một công việc đầy thách thức đối với khách hàng.
Hệ thống khuyến nghị xuất hiện để giải quyết vấn đề này. Hệ thống giới thiệu được sử dụng để cung cấp các khuyến nghị chất lượng giúp hướng dẫn khách hàng đưa ra quyết định mua sản phẩm. Hệ thống giới thiệu về cơ bản được sử dụng trong các trang web thương mại điện tử, trong đó đầu vào của hệ thống sẽ là phân tích hành vi mua của khách hàng được sử dụng để đưa ra danh sách giới thiệu các sản phẩm. Hệ thống giới thiệu đã thay đổi cách mọi người tìm kiếm sản phẩm, thông tin và mục tiêu chính của hệ thống giới thiệu là cung cấp cho khách hàng các khuyến nghị chính xác và chất lượng tốt.
Hầu hết tất cả các hệ thống giới thiệu thường bắt đầu bằng cách tìm kiếm nhóm khách hàng đã mua hoặc xếp hạng các sản phẩm tương tự và trùng lặp với các sản phẩm đã mua hoặc xếp hạng của người dùng hiện tại. Có nhiều cách triển khai hệ thống khuyến nghị dựa trên nhiều yếu tố khác nhau và được áp dụng cho các bối cảnh khác nhau như hệ thống khuyến nghị bán lẻ lấy cảm hứng từ sinh học, tối ưu hóa siêu thông số cho hệ thống khuyến nghị hoặc hệ thống khuyến nghị dựa trên sự tương đồng về ngữ nghĩa. Một trong những công nghệ khuyến nghị đầu tiên và được sử dụng rộng rãi là "Lọc cộng tác" [15]. Lọc cộng tác (CF) là lọc thông tin tư vấn cho người dùng dựa trên tập hợp các hồ sơ người dùng có cùng sở thích.
Các thuật toán lọc cộng tác được phân loại là dựa trên người dùng và dựa trên các sản phẩm. Hệ thống đề xuất cần lưu trữ thông tin về các tùy chọn của người dùng được gọi là hồ sơ người dùng. Hồ sơ của người dùng có thể được thu thập một cách rõ ràng hoặc ẩn ý. Người ta có thể yêu cầu người dùng đánh giá một cách rõ ràng những gì họ đã quan tâm đến.
Một hồ sơ như vậy được điền rõ ràng bởi xếp hạng của người dùng. Hồ sơ ngầm dựa trên quan sát thụ động và chứa dữ liệu tương tác lịch sử của người dùng. Dựa trên chiến lược này, các sản phẩm mà người dùng khác đã quan tâm 5 tương tự với người dùng mục tiêu được đề xuất. Sự tương đồng giữa hai người dùng được tính toán với sự trợ giúp của xếp hạng do những người dùng khác thực hiện.
Thuật ngữ "Collaborative filtering" lần đầu tiên được Goldberg áp dụng cho hệ thống tư vấn Tapestry, kể từ đó CF đã trở thành một trong những kỹ thuật được sử dụng rộng rãi nhất để cung cấp các khuyến nghị dịch vụ cho người dùng trực tuyến [3]. Tuy nhiên, hệ thống tư vấn cho các cộng đồng lớn không thể phụ thuộc vào việc mỗi người biết những người khác. Sau đó, một số hệ thống giới thiệu tự động dựa trên xếp hạng đã được phát triển. Hệ thống nghiên cứu GroupLens cung cấp giải pháp lọc cộng tác bằng bút danh cho tin tức và phim trên Usenet.
Ringo và Video Recommender là các hệ thống dựa trên web và email tạo ra các đề xuất về nhạc và phim tương ứng. Một số đặc biệt về truyền thông của ACM trình bày một số hệ thống khuyến nghị khác nhau [2]. Lọc cộng tác đã rất thành công trong cả thực tiễn tìm kiếm lại, trong cả ứng dụng thu thập thông tin và ứng dụng thương mại điện tử [2]. Bài toán lọc cộng tác Mục tiêu của thuật toán lọc cộng tác là đề xuất các sản phẩm mới hoặc dự đoán tiện ích của một sản phẩm nhất định đối với người dùng cụ thể dựa trên sở thích trước đây của người dùng và ý kiến của những người dùng cùng chí hướng.
Trong một kịch bản CF cổ điển có m là một danh sách người dùng ký hiệu là U = {u1, u2,…, um} và n là một danh sách các sản phẩm mà người dùng có thể lựa chọn ký hiệu là I = {i1, i2,. Mỗi người dùng ui có một danh sách các sản phẩm mà người dùng đã đánh giá về sản phẩm đó gọi là Su, mỗi sản phẩm ij∈I 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. Tiếp theo, ký hiệu R={ rij }, i = 1…m, j = 1…n là ma trận đánh giá, trong đó mỗi người dùng ui∈U đưa ra đánh giá của mình về một số sản phẩm ij∈I bằng một số rij. Mức độ ưa thích của người dùng ui đối với sản phẩm ij được thể hiện qua giá trị rij.
Giá trị rij có thể được thu thập trực tiếp bằng cách dựa trên điểm xếp hạng hoặc thu thập gián tiếp xuất phát từ hồ sơ mua hàng, bằng cách phân tích nhật ký, bằng cách 6 khai thác các siêu liên kết web,.Nếu trong trường hợp người dùng ui chưa biết đến sản phẩm ij hoặc chưa đánh giá sản phẩm đó thì giá trị rij = ∅. Với một người dùng ua∈U (được gọi là người dùng đang hoạt động, người dùng cần được tư vấn, hay người dùng mục tiêu) nhiệm vụ của bài toán lọc cộng tác được thể hiện trong hình 1.1: Sơ đồ thể hiện quy trình của hệ thống tư vấn lọc cộng tác Ma trận đánh giá R = (rij) là thông tin đầu vào duy nhất của các kỹ thuật lọc cộng tác. Dựa trên ma trận đánh giá, các kỹ thuật lọc cộng tác thực hiện hai nhiệm vụ chính đó là dự đoán và tư vấn. Dự đoán là một giá trị số raj thể hiện sở thích của người dùng ua đối với những sản phẩm mà ua chưa đánh giá (raj = ∅), trên cơ sở đó tư vấn cho ua những sản phẩm được đánh giá cao.
Đề xuất một danh sách N sản phẩm mà người dùng ua thích nhất. Ví dụ về ma trận đánh giá R = (rij) trong hệ tư vấn lọc cộng tác gồm bốn người dùng trong tập U = {u1, u2, u3, u4} đánh giá bẩy sản phẩm trong tập I = {i1, i2, i3, i4, i5, i6, i7}. Mỗi người dùng đều đưa ra các đánh giá của mình về các sản phẩm theo thang bậc {∅, 1, 2, 3, 4, 5}.1: Ví dụ về ma trận đánh giá của lọc cộng tác Người Sản phẩm dùng i1 i2 i3 i4 i5 i6 i7 u1 4 5 1 u2 5 5 4 4 5 u3 2 4 5 u4 2 3 3 1. Đặc điểm và thách thức của lọc cộng tác Việc vận dụng các thuật toán lọc cộng tác trong thương mại điện tử thường gặp phải rất nhiều vấn đề thách thức, đặc biệt là đối với các hệ thống mua sắm trực tuyến lớn như eBay và Amazon.
Thông thường, một hệ thống giới thiệu cung cấp các khuyến nghị nhanh chóng và chính xác sẽ thu hút sự quan tâm của khách hàng và mang lại lợi ích cho các công ty. Đối với các hệ thống CF, việc đưa ra các dự đoán hoặc khuyến nghị đủ tiêu chuẩn phụ thuộc vào mức độ chúng giải quyết các thách thức, đó cũng là đặc điểm của các nhiệm vụ CF. Dữ liệu thưa thớt Trong thực tế, nhiều hệ thống khuyến nghị thương mại được sử dụng để đánh giá các bộ sản phẩm rất lớn. Do đó, ma trận đánh giá của người dùng được sử dụng để lọc cộng tác sẽ cực kỳ thưa thớt và hiệu suất của các dự đoán hoặc khuyến nghị của các hệ thống lọc cộng tác bị thách thức.
Thách thức về dữ liệu thưa xuất hiện trong một số tình huống như vấn đề xuất phát nguội xảy ra khi một người dùng mới được thêm vào hệ thống sẽ chưa có đánh giá sản phẩm nào hoặc chưa có các hành vi nào với sản phẩm mới được thêm vào sẽ chưa được người dùng nào đánh giá hoặc chưa được ai mua, xem, tìm kiếm. Rất khó để tìm thấy những người dùng hoặc sản phẩm tương tự vì không có đủ thông tin. 8 Để giảm bớt vấn đề dữ liệu thưa, nhiều cách tiếp cận đã được đề xuất ví dụ như các kỹ thuật giảm kích thước, chẳng hạn như kỹ thuật giảm số chiều (SVD), loại bỏ người dùng hoặc sản phẩm không đại diện hoặc không đáng kể để giảm kích thước của ma trận sản phẩm người dùng trực tiếp. Khả năng mở rộng Số lượng người dùng và sản phẩm tăng lên rất nhiều theo thời gian, do đó các thuật toán CF truyền thống sẽ phải giải quyết các vấn đề nghiêm trọng về khả năng mở rộng khi tài nguyên tính toán vượt quá mức thực tế hoặc mức có thể chấp nhận được.
Ví dụ, với hàng chục triệu khách hàng (M) và hàng triệu danh mục riêng biệt (N), một thuật toán CF với độ phức tạp của O(n) đã quá lớn. Ngoài ra, nhiều hệ thống cần phản ứng ngay lập tức với các yêu cầu trực tuyến và đưa ra khuyến nghị cho tất cả người dùng bất kể lịch sử mua hàng và xếp hạng của họ, điều này đòi hỏi khả năng mở rộng cao của hệ thống CF. Các kỹ thuật giảm kích thước như SVD có thể giải quyết vấn đề về khả năng mở rộng và nhanh chóng đưa ra các đề xuất chất lượng tốt, nhưng chúng phải trải qua các bước phân tích nhân tử ma trận tốn kém. Một thuật toán lọc cộng tác sử dụng SVD gia tăng tính toán trước quá trình phân rã bằng cách sử dụng những người dùng hiện có.
Khi có các xếp hạng mới được thêm vào cơ sở dữ liệu, thuật toán sử dụng kỹ thuật chiếu gấp khúc để xây dựng một hệ thống gia tăng mà không cần tính toán lại mô hình chiếu từ đầu. Do đó, nó làm cho hệ thống giới thiệu có khả năng mở rộng cao. Từ đồng nghĩa Từ đồng nghĩa đề cập đến xu hướng của một số nội dung giống nhau nhưng có tên nhập khác nhau. Đa số các hệ thống tư vấn không thể phát hiện ra mối liên quan tiềm ẩn này do đó sẽ xử lý các sản phẩm này một cách khác biệt.
Ví dụ: các nội dung có vẻ khác nhau như "children movie" và "children film" nhưng trên thực tế là cùng một nội dung, tuy nhiên các hệ thống CF dựa trên bộ nhớ sẽ không tìm thấy sự phù hợp nào giữa chúng để tính toán sự giống nhau. Thật vậy, mức độ thay đổi trong cách sử dụng thuật ngữ mô tả lớn hơn mức thường được nghi ngờ. Các từ đồng nghĩa sẽ làm giảm hiệu suất khuyến nghị của các hệ thống CF.