NCollab is a generic library for collaborative filtration it's easy customizable for your own purposes