Announcement: I'm looking for beta testers for this module. Contact me if you are interested.
Recommender API implements various algorithms to build recommender systems. It provides easy-to-understand, easy-to-use, fully-documented APIs for other Drupal content recommendation modules (See a list below). It also provides a unified approach to configure & execute the recommender algorithms, and to display results to end users.
Examples of recommender systems include Amazon.com (customers who bought this book also bought), Netflix.com (DVD recommendations based on users ratings), Pandora.com (music recommendations based on based on users votes), and many more. These systems help their users navigate to pages that might be interested to them, increase users engagement, and eventually increase revenue.
What's new in 7.x-3.x/4.x?
The 3.x release completely re-writes the API code, and is not compatible with earlier releases. The 4.x release uses Async Command 2.x, which provides multi-threading execution. Major changes and features are:
- All complex computation is now done under Apache Mahout, which is much faster than the original PHP implementation. See #1180000: GSoC2011: Apache Mahout Integration for more details.
- All end user display is now through customizable Views rather than hard coded blocks. See #673786: add views support for more details.
- You can isolate the resource intensive recommender computation from the Drupal production site.
About 6.x-3.x?
This is the D6 back port of 7.x-3.x release. Most code has been re-written to use Apache Mahout integration, and is not compatible with the 6.x-2.x release. Dependent modules that use RecAPI 2.x would not work with RecAPI 3.x, and vice versa. Please make sure the dependent module uses the correct RecAPI release.
Performance
Using the GroupLens dataset with a single 2GHz processing unit:
- 100K ratings (1000 users, 1700 items): 9 minutes.
- 1M ratings (6000 users, 4000 items): 12 hours.
- 10M ratings (72,000 users, 10,000 items): N/A.
Using 6 concurrent 2GHz processing units:
- 100K ratings (1000 users, 1700 items): 2 minutes.
- 1M ratings (6000 users, 4000 items): 2 hours.
- 10M ratings (72,000 users, 10,000 items): 11 days 20 hours.
Computational complexity is about O(N^2), so expect to see squared growth in computing time as your dataset grows. To improve performance: 1. do a full run first, and then use incremental update, 2. #1348184: make Recommender API support multi-threading, 3. #1206840: Hadoop clusters support.
Modules that use Recommender API
- Browsing History Recommender: "Users who browsed this node also browsed"; personalized node recommendation based on users' browsing history.
- OG Similar groups module: "Users who joined this group also joined"
- Ubercart Products Recommender: "Customers who ordered this also ordered" and personalized recommendation "Recommended for you"
- Fivestar Recommender: User-to-user and Item-to-item (used in Amazon.com) recommendations for Fivestar module.
- Points Voting Recommender: User-to-user and Item-to-item (used in Amazon.com) recommendations for Up/Down and Plus 1 modules.
- Flag Recommender: Recommender for the Flag module.
This module is sponsored by Google Summer of Code 2009 & 2011, and is developed by Daniel Zhou.
Downloads
Recommended releases
Other releases
Project Information
- Maintenance status: Actively maintained
- Development status: Under active development
- Reported installs: 894 sites currently report using this module. View usage statistics.
- Last modified: February 6, 2012