4 algorithms used in Drupal module recommendation
Posted on 2008-10-04
At the heart of the pivots Drupal module recommendation system are the secret recommender algorithms. Currently we are playing with 4 algorithms.
- Co-references: The more frequently module A and module B are mentioned together in the same forum discussion thread, the more related they are in the recommendation list. This algorithm is in favor of the most popular modules because they tend to get more co-references regardless of relevancy.
- Relevancy: This uses the cosine-similarity technique. In short, this algorithm solves the unbalanced favors towards popular modules such as CCK.
- Recency: This is based on the Relevancy algorithm, but adds a little preference to the modules that were mentioned recently in the discussions.
- Uniqueness: This is based on the Relevancy algorithm, but add a little preference to the unpopular modules for users to discover new things.
All those 4 algorithms are implemented already, and you can take a look on scratch.drupal.org, such as http://scratch.drupal.org/project/ecommerce. Recently we receive the "project usage" data too. That helps a lot in terms of improving the quality of the algorithms. We'll try to find out which algorithm works best for the users and make it go live on drupal.org.
The code was merged into drupal.org CVS already. We are currently running some tests on scratch.drupal.org before making it live on drupal.org.
Your comments and suggests are much appreciated! Thanks.
Blog category:

Comments
Recommendation module
Hi Daniel,
I must say that your recommendation algorithms are quite fancy. We use it for our laseren site and so far the results are quite good. Especially the recency is an important element in the module because people tend to search for recent information on the net. Keep up the good work!
I really do hope that you
I really do hope that you will be elaborating more on this issue. I would like a tad more information.
Add new comment