## 2 Literature Review  
### Rule-Based Machine Learning Applications: Association Rule Algorithms  
In machine learning, a commonly applied technique that is used to discover interesting relations in the data is known as Association Rules (_ARs_) [19]. ARs is also referred to as Shopping Cart (or Market Basket) Analytics, and can be used to detect relationships or associations that exist between the specific values of categorical variables in large data sets [20]. ARs have been used to uncover hidden patterns. For instance, customers who order product A often also order product B and/or C; or employees who said positive things about initiative X also frequently complain about issue Y but are happy with issue Z. For retailers, ARs can be used to predict which products consumers will potentially purchase or make suggestions for future purchases. For instance, Amazon.com and other retailers use ARs to make recommendations for similar products or items that are frequently purchased together [21]. In this respect, the new knowledge that is produced via mining ARs is considered as informative as the knowledge derived from classical ones [22]. In this study, the researchers apply the ARs to the work of discovering frequent associated antecedents and consequences of complaints made online by guests of different _star-rated_ hotels. The study also attempts to determine the associations that exist among multiple hotel attributes and use that combined information to make further predictions. For instance, a customer who complains about attribute A also complains about attribute B and will belong to hotel category X. The following paragraph briefly introduces two of the most popular AR models: Apriori and Carma. **Apriori Algorithm**: This algorithm is used for extracting association rules from data [23] and pulling out rules with the highest information content [24]. It was proposed by [PERSON] and [PERSON] [25]. Apriori is well-known to be the representative algorithm for Data Mining [26] and is one of the most popular and widely used algorithms for mining frequent item sets [27]. The technique was designed to operate on databases containing transactions [28]. According to the threshold value (or minimum support value), the algorithm is able to identify the frequent item sets which are subsets of transactions in the database [29]. Apriori deals with items and item sets that make up transactions. Items are flag-type conditions that indicate the presence or absence of a particular feature in a specific transaction. An item set is a group of items that may or may not tend to co-occur within transactions [30]. Apriori offers five different methods of selecting rules and uses a sophisticated indexing scheme to process large data sets efficiently. For large problems, Apriori is generally faster to use, has no arbitrary limit on the number of rules that can be retained, and can handle rules with up to 32 preconditions. While Apriori requires all input and output fields to be categorical, its optimization for this type of data allows it to deliver better performance [24]. **Carma Algorithm**: The Continuous Association Rule Mining Algorithm (Carma) is an alternative to Apriori that reduces I/O costs, time, and space requirements [23]. Using only two data passes, Carma is able to deliver results at much lower support levels than Apriori. It also allows changes to be made to the support level during execution. Similar to Apriori, Carma also deals with items and item sets that make up transactions. Items are flag-type conditions that indicate the presence or absence of a particular feature in a specific transaction. An item set is a group of items that may or may not tend to co-occur within transactions. Carma extracts a set of rules from the data without requiring the user to specify input or target fields [24]. In contrast to Apriori, the Carma node offers 'build settings' for rule support (support for both antecedent and consequent) rather than just antecedent support.