Introduction to the recommendation engine
The recommendation engine uses special information filtering (If,information filtering) technology to recommend different content (such as movies, music, books, news, pictures, web pages, etc.) to users who may be interested. Typically, the recommendation engine is implemented by comparing a user's personal preferences with a specific reference feature, and trying to predict how well the user likes some of the items that are not rated. The selection of reference features may be extracted from the project's own information, or based on the user's social or community environment.
According to how to extract the reference features, we can divide the recommendation engine into the following four categories:
Content-based recommendation Engine: It calculates and recommends to the user something similar to the item that the user has selected. For example, when you purchase books Online, you always buy history-related books, and the content-based recommendation engine will recommend some popular history books.
Recommendation engine based on collaborative filtering: it will recommend to the user some content similar to that of other users. For example, when you buy clothes on the Internet, a recommendation engine based on collaborative filtering will analyze your history and browse through the records to find out what your clothing tastes are, and identify some users who are similar to your taste and recommend the clothes they browse and buy.
Recommendation engine based on association rules: it will recommend to users some content that is calculated using association rule Discovery algorithms. There are many algorithms for discovering association rules, such as Apriori, Aprioritid, DHP, Fp-tree and so on.
Hybrid recommendation Engine: Combine all of the above, get a more comprehensive recommendation effect.
With the increasing of data and content on the Internet, the role of recommendation engine in Internet application is becoming more and more important. It is conceivable that because of the Internet data too much, users can not find the information they want, by providing search capabilities to solve this problem is not enough. The recommendation engine can predict the user's preferences by analyzing the user's behavior, making it easier for users to find the information they are likely to need. This paper takes the recommendation engine in e-commerce application as an example to illustrate the importance of recommendation engine in Internet application.
E-Commerce recommendation System (e-commence recommendation Systems) provides customers with product information and purchase advice, simulating sales staff to help customers complete the purchase process. The function of the intelligent recommendation system can be summed up as follows: Convert the surfers of E-commerce website into buyers, improve the cross selling ability of E-commerce website, and improve the customer's loyalty to e-commerce website.
The electronic Commerce Recommendation system's interface manifestation has the following several types:
Browse: Customer requests for specific products, the recommendation engine according to the query request to return high-quality recommendations;
Similar goods: the recommendation engine recommends products similar to the goods in the customer's shopping basket and the products that the customer may be interested in;
Email: Recommend the system by e-mail to inform the customer may be interested in commodity information;
Comments: The recommendation system provides customers with other customer comments about the product.
Introduction to Apache Mahout
Apache Mahout is an open source project of the Apache Software Foundation (ASF) that provides a number of scalable machine learning domain classic algorithms designed to help developers create smart applications more easily and quickly. The classic algorithms include clustering, classification, collaborative filtering, evolutionary programming, and so on, and in recent versions of Mahout, support for Apache Hadoop has been added to enable these algorithms to run more efficiently in cloud computing environments.