Phương pháp 4: Tạo cộng đồng hàng xóm lân cận dựa vào tâm cộng đồng hiện thời [13]. Theo cách này, chúng ta tạo ra cộng đồng người lân cận với người dùng cần tư vấn (ua) không phải bằng cách tìm những người dùng gần với người dùng ua nhất như phương pháp 3 mà tìm những người dùng gần với tâm của hàng xóm lân cận hiện thời. Cộng đồng được tạo nên có kích thước k bằng cách trước tiên chọn người dùng gần với ua nhất. Hai người dùng bây giờ tạo nên hàng xóm hiện thời. Và tiếp tục chọn hàng xóm tiếp theo dựa trên cộng đồng hiện thời vừa tạo (chỉ gồm 2 người). Việc tạo ra tập những hàng xóm gồm k-1 tiếp theo thực hiện theo cách sau: Giả định tại điểm tâm, hàng xóm hiện hành là N, bao gồm h người sử dụng. Rõ ràng h<k. Việc tạo ra hàng xóm sẽ tính toán trên tâm của cộng đồng hiện hành như sau:
Rõ ràng, tâm được tính toán từ h người dùng hiện hành trong tập hàng xóm lân cận N và nó có dạng một vector đại diện người dùng, Một người dùng mới uk không phụ thuộc vào cộng đồng hiện hành, sẽ được lựa chọn là hàng xóm tiếp theo chỉ khi uk gần tâm nhất. Khi đó, hàng xóm lân cận gồm h+1 người dùng và tâm lại tiếp tục được tính toán như trên trong tập h+1 người này. Quá trình cứ làm như vậy cho đến khi kích thước tập cộng đồng là k hoặc |N|=k. Việc tạo hàng xóm cho phép tất cả người dùng tác động đến sự hình thành một láng giềng, đó chính là việc họ đang dần dần được lựa chọn và thêm vào cộng đồng. Hơn nữa, phương pháp này có thể được chứng minh là có lợi trong trường hợp ma trận user- item thưa thớt [13].
C C N uk C h j uj h C 1 1 (3. 17) k=6 k1,k2,k3<= k k: khoảng cách lớn nhất giữa hai người trong C3
Nhóm - cộng đồng
Trong bất kì cách tiếp cận nào, kích thước của tập hàng xóm có ảnh hưởng lớn đến dự đoán tức là việc chọn k là bao nhiêu sẽ ảnh hưởng trực tiếp đến chất lượng tư vấn. Nếu chọn số lượng lân cận lớn rõ ràng chất lượng của gợi ý sẽ được nâng lên. Tuy nhiên, đi theo đó là các chi phí về bộ nhớ, thời gian tính toán cũng phải tăng theo. Ngược lại, nếu lựa chọn số lân cận quá thấp thì sẽ ảnh hưởng đến chất lượng của gợi ý. Việc chọn k bằng bao nhiêu là hợp lý thường được kết luận qua thực nghiệm. Có thể chọn k bằng cách từ tri thức miền ứng dụng, ta có được ước lượng khoảng giá trị k
và chọn ngẫu nhiên m tập dữ liệu ban đầu để kiểm thử các giá trị k trong khoảng đó, giá trị k nào tốt nhất sẽ được dùng. Trong báo cáo “Exploring collaborative filters: Neighborhood – based approach” của Minas Gjoka và Fabio Soldo [19] có chỉ ra số k
chỉ nên ước lượng trong khoảng [5..40]. Cốt lõi của thuật toán này là tính toán sự tương đồng giữa những cặp người dùng và cách chọn ra hàng xóm gần nhất.
Tóm lại phương pháp dựa vào láng giềng gần nhất trong CF có ưu điểm là [21]: - Khả năng dự đoán giá trị rate cho đối tượng đơn
- Độ chính xác trung bình tốt nhất cho dữ liệu đa giá trị - Thực hiện tốt với những tập giá trị lớn
- Dễ hiểu, dễ giải thích, dễ bảo trì và thực thi
3.2.1.2. Lọc cộng tác dựa vào tài nguyên
Gần đây có một sự quan tâm gia tăng trong việc sử dụng cách tiếp cận dựa trên tài nguyên (item-based). Kỹ thuật lọc cộng tác dựa vào tài nguyên còn được gọi là item-to-item. Và trên thực tế Amazon.com đang sử dụng cách tiếp cận này [10]. Theo cách tiếp cận này, một độ đo tương đồng giữa các tài nguyên phải được đưa ra để xác định các tài nguyên hàng xóm [12, 19]. Dự đoán đánh giá của một người dùng lên một đối tượng được suy ra từ các đánh giá của người dùng đó trên các tài nguyên lân cận.
Các độ đo tương tự khả thi sim(i,j) định nghĩa giữa các tài nguyên i và j cần được định nghĩa. Giống như sự tương tự giữa user-user thì ở đây là giữa item – item. Trong ma trận rate, mỗi cột được đại diện là một vector, số người dùng chính là số chiều của các vector này. Độ tương tự giữa hai tài nguyên chính là xác định độ tương tự giữa hai vector.