Skip to content.

Manageability

Sections
Personal tools
You are here: Home » blog » stuff » Open Source Collaborative Filtering Written in Java
Views
  • State: published

Open Source Collaborative Filtering Written in Java

Document Actions

Social Computing software is all the rage these days. Collaborative filters are a key feature in many social applications. Collaborative filters allow systems to make recommendations based on the similarity of preferences between users. Fortunately Java has been in existence long enough for several collaborative filtering libraries to have been developed and open sourced. Here's the list of libraries that I have found.

  • Cofi - The library is used as part of the RACOFI web site which is a live Music Recommender site.
  • CoFE - CoFE is short for "COllaborative Filtering Engine". CoFE was formerly known as CFEngine. CoFE will run as a server to generate recommendations for individual items, top-N recommendations over all items, or top-N recommendations limited to one item type. Recommendations are computed using a popular, well-tested nearest-neighbor algorithm (Pearson's algorithm). CoFE can be integrated with any system that supports Java. User data is stored in MySQL.
  • Taste - Taste is a flexible, fast collaborative filtering engine for Java. Taste provides a rich set of components from which you can construct a customized recommender system from a selection of algorithms. Taste supports both memory-based and item-based recommender systems, slope one recommenders, and a couple other experimental implementations. It does not currently support model-based recommenders.
  • Alkini Meme - Users express their tastes by assigning ratings to products. To model users so that they can be grouped together, Alkindi represents them geometrically as vectors in a high-dimensional space. The coordinate axes of this space correspond to products; the coordinates of the point representing a user are that user’s ratings of those products. Alkindi partitions its existing user base into clusters using “K-means”, a statistical algorithm that maximizes the geometric tightness of the clusters. Alkindi has developed a novel metric that smoothly integrates all available data. This helps alleviate the sparse data problem.
  • RACOFI - RACOFI (Rule-Applying Collaborative Filtering) ia multidimensional rating system. It has been used where users rate contemporary music in the five dimensions of impression, lyrics, music, originality, and production. The collaborative filtering algorithms STI Pearson, STIN2, and the Per Item Average algorithms are employed together with RuleML-based rules to recommend music objects that best match user queries. The music rating system has been on-line since August 2003 at http://racofi.elg.ca.
  • iRate - iRATE radio is a collaborative filtering system for music. You rate the tracks it downloads and the server uses your ratings and other people's to guess what you'll like.
  • SWAMI - SWAMI is a framework for running collaborative filtering algorithms and evaluating the effectiveness of those algorithms. It uses the EachMovie dataset, generously provided by Compaq.

Please do let me know if a library should be included in this list. If you can't find what you'r looking for, you also may want to view my other highly related list "Probabilistic Networks in Java".


Last modified 2007-10-25 09:00 AM

visitors
reading
 
 

Powered by Plone

This site conforms to the following standards: