# Distributed Action-Rule Discovery Based on Attribute Correlation and Vertical Data Partitioning
## 2 Background  
### Recommender Systems  
For years, people have often recommended products or services through \"word of mouth\". This highly social approach \"pursued the principle of sharing an individual experience with others\" [14]. Yet, with the development of the internet, we have now entered an era of \"information explosion\". We live in a society where we are continuously retrieving information in all aspects of our lives [15]. Because of this information overload, it can be overwhelming to sift through it all ourselves. Therefore, it is essential to depend on technologies capable of filtering through available data and enabling the search for valuable insights [15]. Recommender systems are one such technology aimed at resolving this problem of information overload [14; 15; 16]. A comprehensive review paper covering this topic was published in 2019 (see [17]).  
The goal of a recommender system is to suggest relevant items to the user. Recommender systems strive to anticipate the inclinations of a user or customer and furnish recommendations for additional resources or items that are probable to appeal to them. Specifically, recommender systems are designed to propose the most fitting products or services to specific users or businesses by forecasting a user's curiosity in an item. This is done by utilizing data about analogous items, the users themselves, and the interactions between items and users.  
Recommendation systems often collect information on users to generate a suitable recommendation of items [15]. This information can be in an explicit or implicit form of feedback [18]. Examples of explicit feedback include background information input by the user or item ratings the user provides through interaction. Implicit feedback is information the system infers based on the user's behaviors, such as their navigation history or time spent on a certain page [18]. This information is used to create user profiles so that the system can better understand its users. After this information collection phase comes the learning phase, where learning algorithms are applied to \"filter and exploit the user's features from the feedback isinkaye2015 recommendation. Finally, the recommendation phase combines the data and what has been learned to recommend or predict what items the user may like [15].  
Depending on the data collected, various types of recommendation models can be applied. These models include:  
* Collaborative Filtering: This method assesses items based on other users' opinions [19]. This type of system utilizes the item ratings of many users to categorize them into groups based on their similarities. Items are then recommended to users based on those similarities.
* Content-Based Filtering: This technique is based on the user's data itself, such as their inputted preferences or past interactions with the system, and the metadata associated with the items that exist in the system. With this system, users' past preferences are usually mapped to predict their future preferences [15; 19].
* Knowledge-Based: These systems determine the recommendations based on the user's inputted requirements and the system's knowledge about the items [15; 19]. This method relies on external knowledge about items.
* Hybrid: These are systems that combine any of the above methods in ways to balance out each method's strengths and weaknesses [19].