An effective privacy preserving algorithm for neighborhood-based collaborative filtering