# Rating-Based Recommender System Based on Textual Reviews Using IoT Smart Devices

Authors: Muqeem Ahmed; Mohd Dilshad Ansari; Ninni Singh; Vinit Kumar Gunjan; Santhosh Krishna B. V.; Mudassir Khan
Journal: Mobile Information Systems
 (2022)

---

## Abstract

Recommender system (RS) is a unique type of information clarification system that anticipates the user's evaluation of items from a large pool based on the expectations of a single stakeholder. The proposed system is highly useful for getting expected meaning suggestions and guidance for choosing the proper product using artificial intelligence and IoT (Internet of Things) such as chatbot. The current proposed technique makes it easier for stakeholders to make context-based decisions that are optimal rather than reactive, such as which product to buy, news classification based on high filtering views, highly recommended wanted music to choose, and desired product to choose. Recommendation systems are a critical tool for obtaining verified information and making accurate decisions. As a result, operational efficiency would skyrocket, and the risk to the company that uses a recommender system would plummet. This proposed solution can be used in a variety of applications such as commercial hotels OYO and other hotels, hospitals (GYAN), public administrative applications banks HDFC, and ICICI to address potential questions on the spot using intelligence computing as a recommendation system. The existing RS is considering a few factors such as buying records, classification or clustering items, and user's geographic location. Collaborative filtering algorithms (CFAs) are much more common approaches for cooperating to mesh the respective documents they retrieved from the historical data. CFAs are distinguished in plenty of features that are uncommon from other algorithms. In this existing system classification, precision and efficiency and error rate are statistical measurements that need to be enhanced according to the current need to fit for global requirements. The proposed work deals with enhancing accuracy levels of text reviews with the recommender system while interacting by the numerous users for their domains. The authors implemented the recommender system using a user-based CF method and presented the significance of collaborative filtering on the movie domain with a recommender system. This whole experiment has been implanted using the RapidMiner Java-based tool. Results have been compared with existing algorithms to differentiate the efficiency of the current proposed approach.


---

## Body

## 1. Introduction

RS is the most significant technique that processes the resources of online businesses to generate useful suggestions for items that match users’ interests and needs. Items/products can be any of the resources of businesses that are consumed by users online, such as books, CDs, or news. RSs produce certain decisions to make suggestions of which items to purchase or what news to read online. Generally speaking, the mechanism of a recommender system is based on the investigation of historical data about each user’s feedback about items used previously to recommend a list of estimated preferred items that the user may like in his next purchasing operations. Users are overwhelmed by a huge number of choices of items that websites give. Therefore, RS serves to filter alternatives in a personalized manner and recommend the items that will most likely attract the user’s consideration. The RS is considered an active mechanism that provides personalized recommendations of information. RS allows the end users for the online trades in opinion sharing about any product endorsements over e-commerce applications such as Paytm, Flipchart, Alibaba, Amazon Prime, and eBay [1–3]. Traditionally, RSs have two approaches: collaborative filtering (CF) RSs and content-cased (CB) RSs [4–6]. CF-related systems make use of historical rating information to assess the end stakeholders and their neighbors. In this system [7, 8], the future interests of users are determined based on high similarity history profiles. The CB system [9, 10] examines features that appear in entity related content that users experienced in prior time; subsequently, it advises recommended items based on applicable features to the users. Earlier authors or those who are researching on recommendation systems have accommodated reliable connections [11–13] based on end-user reliable relations to improve conventional RSs by advising further products. In the recent past, various authors have employed distinct techniques towards RS over online reviews about products and all techniques used NLP to determine sentiment emotions in text reviews that are shared by end-users about products [14–16]. According to the RS, user profiles lack in sparsity as very few users would pose reviews towards entities, eventually affecting the computational efficiency of the CF and CB approaches. Online relations in RSs are not precisely likeness of social associations [17]. The authors have employed many techniques for machine learning applications for various domains to resolve current problem-related aspects. This paper is an attempt to enlighten the importance of textual reviews for the recommender system. 78% of data are in an unstructured way, so there is much need to pay attention towards the textual reviews to utilize that resource for the recommender system and also implement the user-based collaborative filtering (CF) which is a widely used method for RS and assess the performance of the movie rating with the help of RapidMiner tool [18–20].


## 2. Review of Literature

Recommender systems have appeared as an independent and significant research domain right from the beginning on recommendation methods introduced as part of research. In the past decade, retailers have integrated the service of providing personalized recommendations as an important part of their systems. These services include the popular e-commerce retailers, Amazon.com and eBay (eBay.com), as well as the movie and entertainment industry, MovieLens (movielens.org), Netflix (netflix.com), and Film Trust (trust.mindswap.org/Film Trust), and the music industry, such as CDNOW (cdnow.com), Ringo (ringo.com) [20–22], LastFm (last.fm), and Pandora (pandora.com), in addition to pictures and photo-sharing systems, such as flickr.com, expertise finder systems, such as LinkedIn, and news recommendation sites, such as Google News [20]. Nowadays, modern e-commerce systems highly require recommender systems as a useful tool to increase their profit, similar to the model followed by Amazon.com. The next section outlines business motivations that encourage commercial platforms to exploit recommender systems. Reference [23] emphasized a collaborative RS for filtering for user profiles and characteristics of products along with classification techniques. Reference [24] focused on current progress of enhanced recommendation approaches and a subset of techniques for making collaborating filtering as part of CFs. Reference [25] has done the state of art survey to decide about the best way to choose different factors of algorithms in recommendation systems. Reference [26] diagnosed about various algorithms towards hybrid approaches in recommended systems and identified research gaps to enhance features of current RSs in different domains and various languages. References [27–30] have focused on solutions with the help of machine learning techniques and natural language processing techniques and cold start recommendation systems functionalities in terms of scalability factors.Shani et al. [30] developed MDP (Markov decision processes) based recommender system; a predictive model as well as the solution and update algorithm was used. The actual performance was tested on a commercial site. Similarly, Walek et al. [31] proposed a monolithic hybrid recommender system. This recommender system uses collaborative filtering (based on the SVD algorithm), content-based system and also uses a fuzzy expert system. The developed RS is appropriate to recommend movies. The performance of the work is up to 80%, which is better compared to the other RSs.Recommender system usually has three input elements: (1) users, (2) items, and (3) feedback, where users provide their feedback about items. Feedback would be expressed in terms of ratings, which is the most common way in which users describe their opinions about entities. Let us assume that users of a system are represented asU, user u ɛ U, and N indicates a total number of end-users in set U. Consider the set of items I, where item i ɛ I and M indicates the total number of items in set I. The authors considered the item that is rated by one end-user using the notation iu and the user who rated an item as ui. Every user and item are represented in the systems by a unique index to identify them clearly in the system. The system’s input elements are then transferred to a user-item rating matrix, which has the space of N × M. We assume that g is the utility function that computes the level of interest of user set U in item set I:(1)g:U∗I⟶R^.HereR^ indicates a recommended set of items in a specified numerical range. More specifically, we move now to find the set of items i ɛ I which maximizes the user utility for each user u ɛ U [5] as follows:(2)iu=argMaxi∈IgI,u.Most of recommender systems’ core engines try to extrapolate the utilityg to build a model that can estimate a user’s judgment towards unknown items using already known feedback on items used before according to certain criteria to test the performance of RS, such as measuring the error in the estimated ratings. After the model has been built, unknown ratings can be estimated and provided to users in an ordered set. Researchers use machine learning algorithms, approximation theory, and some heuristics for the prediction step. Next, we discuss how users’ profiles and items’ profiles can be built and we also describe the types of feedback that can be considered within recommender systems.


### 2.1. Classification Recommendation Methods

#### 2.1.1. Content-Type Recommendation

Content-type recommendation method is also known as content-based (CB) recommendation method which is used for the explanation of items to shape item representations and end-user outlines. CB methods analyze the content/description in user profiles based on the items they liked before; then they match up this content with similar content of unseen items. In other words, these methods generate recommendations by examining the features of items, such as the item textual descriptive information, and testing regularities that may occur in this content to recommend similar items in the future. Many current CB recommenders build recommendations on items that contain textual information, including websites (URLs), books, documents, and news. For instance, for book recommendation related applications, to suggest appropriate books to a particular user, this kind of recommender would analyze the consistencies between the books that the active user has valued extremely in the earlier (specific authors, types, subject matters, etc.). Afterwards, records which are great degree of likeness to which the user preferred would be suggested. The CB method has its own roots from IRS [32]. One step which has been enhanced over conventional information recovery methods is the best use of end-user profiles that consist of information regarding items a user has favored and liked. The user’s profile can be built by observing the users’ transaction behavior related to certain items [33–35]. Usually, pri is an item towards profile, a collection of characteristics of an item i described in pri. This set of features is extracted to be incorporated into the recommendations process as appropriate. As specified before, CB schemes are planned to ultimately recommendation-based text; the features in this systems are labelled in keywords. If a system indorses web pages to end-users, it may represent the web pages content with the most important keywords. The significance of word k in document d is defined as a weight wd,k that can be measured by several methods.One which is frequently used statistical measures for assigning keyword weights about Term Frequency or TF-IDF [5]. Assuming freqk, d is the number of times keyword ki occurs in document dj; then, the frequency term is TFk; d is the term frequency or the normalized frequency of keyword ki in document djwill be as follows:(3)TFk=freaqk,dmaxfreqk,d,where the max freqK, d is calculated over all the frequencies in d of all keywordsK. In fact, term frequency (TF) in many documents tends not to be a good indication of relevant documents and nonrelevant ones as it treats all words equally in terms of importance. It is obvious that some keywords appear more commonly in certain topics; for example, the word program is included in almost every document about programming, so this word has a little effect when determining the relevance of certain documents. Hence, a statistical measurement of IDF is used together with TF to reduce the effect of terms that have less importance when computing the weights. The inverse frequency of keyword ki in a document will be(4)IDFk=logNnk.Here,N indicates total number of documents which can be provided to an end-user as a recommendation while nk is a subset of N, where the keyword k appears. Hence, to compute the weight for keyword ki in document dj, the calculation should combine both TFk,d and IDFk as follows:(5)Wk,d=TFk,d∗IDFk.Then, the profile in documentdj is defined as(6)Prd=w1,w2,……,wK.As mentioned earlier, recommenders that use the CB approach suggest items similar to those that a user liked previously. Hence, the level of similarity is computed between two types of profiles; the first type is item profiles which contain item features as weights of keywords, and the second type is user profiles which contain weights of keywords of items seen or rated by the user in the past. For instance, if a user has read online documents on a specified topic of networks, subsequently, the CB methods would provide other articles related to networks to that user. This is the case because these articles will contain terms related to networks (e.g., router, protocol, and “wireless”) as opposed to articles on other topics. Therefore, recommenders use similarity measures to identify higher similarity values between a user’s profile and those articles profiles that have network terms with higher weights. To assign similarity weights between users’ profiles and items’ profiles, CB recommenders apply similarity techniques, such as a vector cosine similarity measure, defined as follows:(7)Simu,d=coswu,wd=wu∗wdwu2wd‖2.In vector cosine similarity algorithm, the profile of useru and document d will be treated as two vectors wu and wd.To calculate the resemblance between the two vectors, the method will measure the cosine of the angle between them. Various techniques are based on a model learned from data related to users and items rather than the use of heuristic approaches. Various machine learning algorithms are used for CB recommenders, such as classification and clustering algorithms presented in [36–38]. For example, the authors of [9] rated a set of web pages in two categories: relevant and irrelevant by the user. They used users’ profiles to learn their interest in different pages by determining 128 informative words as features. They then used a Naive Bayesian (NB) supervised classifier to categorize unrated web pages by estimating the probability that a page pj belongs to a particular class Ci (relevant or irrelevant), given the set of keywords k1, j,:::, kn, j, using the probability function P(Cijk1, j &…&kn, j). To overawe the disadvantage of poor prediction in the case when some users are unwilling to rate many pages, some initial knowledge regarding the user’s benefits can be used.(1) Challenges in CB Recommendation. CB techniques have many advantages: First, these methods are based only on users’ preferences presented in ratings to build users’ profiles and do not require input from other users’ ratings to build these profiles. Second, the explanation advantage allows the system to exploit the list of keywords to justify why a specific item has been recommended. Also, systems based on CB can recommend novel items that have not received any ratings so far, a feature that does not apply to other techniques. Despite all these advantages, CB techniques still exhibit several limitations [5, 26]:(i)
Limited content analysis: Automatic extraction of features to describe items in a system will be much harder to implement when the data are graphical imageries, as well as acoustic and audiovisual streams. Information retrieval techniques achieve good results in mining features from script documents; however, when describing documents by their most important keywords, CB techniques cannot differentiate between high-quality articles and badly written ones when the same keywords are used [19].(ii)
Overspecialization: The recommended items will be limited to what the end-user has valued in the past. In other terms, only items matching the user’s built profile of preferences with a high score of similarity will be recommended. Moreover, this overspecialization drawback is not only seen with CB recommenders in cases where they could not suggest items which are dissimilar from what end-user has experienced before, but, in convinced cases, very similar substances should not be suggested by the system.


#### 2.1.2. Collaborative Filtering Recommendation

CF is an initial recommendation scheme, including such tools as the Tapestry system [38], GroupLens system [39] and Video Recommender [40]. CF techniques work by building profiles of customers’ preferences [41]. The discussion on CF recommender system is as follows.The following discussion is related to Table1, which shows five users’ profiles represented as rows in a user-item rating matrix U1,U2,U3,U4,U5. The columns represent items I1, I2, I3, and I4. Ratings profiles of users are(8)pr1=4,ϖ,5,5,pr2=4,2,1,ϖ,pr3=5,ϖ,ϖ,4,pr4=5,3,ϖ,ϖandpr5=ϖ;3,2,1.Table 1
An example of a user-item matrix.
I1I2I3I4U14φ55U2421φU35φφ4U453φφU5φ321For example, let us considerU1 as an active user and, by looking at his/her profile, we can see that U1 did not rate I2 and the system’s objective is to decide whether I2 is a convenient suggestion to U1. Only three users U2, U4, and U5 have used I2 and they have certain opinions about it. However, U2 and U4 have close tastes in some items to U1. Therefore, it is better to consult their tastes to estimate whether item I2 is a good or bad suggestion for U1. By contrast, U5 has dissimilar tastes to U1 and, hence, the rating by U5 will have a very negligible effect on the recommendation decision, or, rather, the opinion of U5 will be ignored. Also, U3 will be excluded from the recommendation process as this user has not used and rated I2 although he/she has similar tastes to U1. Collaborative filtering algorithms can be classified into two main subcategories, namely, memory-based and model-based algorithms.(1) Challenges in CF Recommendation. CF recommenders have several useful points when they are applied. One of the most important points is that they can provide recommendations using only the direct data source which is the rating profiles. Furthermore, the more the users respond to the recommendations, the better the systems can adapt to users’ tastes over time; that is, rich users’ profiles imply better quality recommendations. The most challenging aspects of using CF approaches, which the literature pointed out and efforts have been made to try and overcome, include the following: First is the level of prediction accuracy: most of the recommender models in the literature seek high levels of prediction accuracy. Researchers use the accuracy aspect to provide proof of how successful their proposed recommendation approaches are in providing predictions that are close to users’ tastes, as stated above in [42].Second is cold start problem: both CB and CF RSs lack from the cold-start difficulty. To provide accurate recommendations, users’ preferences should be analyzed by collecting ratings that are not the case for new users who have recently entered the system; hence, this may lead to poor recommendation results. Similarly, the problem of cold start also exists in the case of new items. Recommendation systems are updated regularly with new items. To incorporate these new items in the recommendation process, these items should be valued first by a substantial number of users.Third is the problem of sparsity: a common observation is that the number of items that people rate in slight RSs is minor in contrast to the total number of items that need rating prediction. Ultimately, the maximum number of end-users’ ratings affects the success of collaborative recommenders. An example, over movie recommendation collaborative system, when a film has been valued by specific people, even if rated highly, this movie would not be recommended extensively. Furthermore, a common issue with users who have uncommon taste equated to the application community is that the schemes might not be allocate similar users [43–45].


#### 2.1.3. Memory-Based Collaborative Filtering

Memory-based or neighborhood techniques [28, 31] utilize end-user item related medium to calculate recommendation predictions for unseen items. These systems identify like-minded users or so-called neighbors or nearest-neighbors. Generally, memory-based recommenders work according to the following steps:(i)
First, memory-based recommenders ask users to rate some items to be able to recognize their taste.(ii)
Second, statistical techniques are applied to define the user’s neighbors who shared similar prior preferences.(iii)
Third, after defining like-minded users, the systems provide predictions of ratings to those items that have not been seen by the user and then provide recommendations accordingly.In step two, a measurement is made use of computing the resemblance between two profiles. The close neighbors can be allocated by (1) defining a certain number of neighborsN; (2) predefining a suitable threshold, and hence only neighbors whose similarity level exceeds the threshold are incorporated in the recommendation encounter; and (3) excluding neighbors who have highly dissimilar tastes reflected by a negative similarity degree. In step three, the systems can choose to provide the recommendations as a score of rating and the rating values will be expressed using the same scale used to express opinions, for example, a scale from 1 to 5. Another different way of recommendation would be to yield a list of Top N recommendation items. In memory-based techniques, prediction aimed at an energetic u about an item i denoted as r(u,i) is computed as aggregation of ratings of neighbors who have previously rated i.(9)Ru,i=aggra∈Neigra,i.Here,a is the neighbor of u who rated i and Neig refers to the set of neighbors, where Neig C U and |Neig| = N. Examples of some aggregation functions are given below: (10)ru,i=1N∑a∈Neigra,i.This simple average is divided by the number of neighborsN or Neig. The most shared accumulation method is to calculate the anticipation as a weighted sum as shown below:(11)ru,i=∑aεNeigsimu,ara,i∑aεNeigsimu,a.sim here refers to the similarity degree between an active useru who needs recommendations and another user a. Therefore, a large weight of sim indicates that u and a are very similar to each other and consequently the rating (ra,i) will participate more in the prediction of ru,i. From Equation (11), the problem is that this computation does not consider the fact that users may express their ratings using the score gage contrarily. The accustomed biased sum, discussed in Chapter 6, is extensively used to discourse this limitation. In the current method, rather than using complete principles of ratings, the prejudiced sum uses their deviances from a middling rating of the equivalent user.Similarity computation is a primary element in memory-based methods to compute different levels of resemblance between particular users; a heuristic utility of similarity should be defined as sim. To measure this resemblance among two users, an active useru and user a denoted as the utility sim(u,a), this function illustrates the distance between the two users. The closer the users a and u are, the more weight will be given to the predicted ratings for user u in the prediction process. One popular approach to calculate the resemblance weight is the Pearson correlation coefficient (PCC) [46–50]:(12)simu,a=∑iεIa,ura,i−∗r∑iεIa,ura,i−∗r2∑iεIa,uru,i−∗u2,where ru,i is the rating worth obtained from an active end-user u to respective item i, while ∗ru indicates the average of all ratings obtained by user u. Similarly, the rating obtained by neighbor a to the same item i is ra,i and the regular of all scores given by a is ∗ra. sim will be computed over the set of the corated items represented by Iu,a. Furthermore, certain heuristic similarity measures to overcome the cold start problems are proposed in [29], while [42] presented a similarity metric using a prior stage, in which a genetic algorithm generated weights which are dependent mainly on the nature of the dataset provided from each recommender system.


#### 2.1.4. Model-Based Collaborative Filtering

CF makes use of ML techniques to make intelligent predictions. Building models algorithms includes three main steps:(i)
The designed models first learn the pattern of collected users’ ratings in a training dataset.(ii)
The designed models are tested and all the needed parameters are tuned to satisfy the problem requirements, for example, minimizing the absolute squared error.(iii)
After building reliable and tested models, ratings can be predicted and recommendations can be provided to the desired users using these models.Researchers in the recommendation area have introduced different learning models based on machine learning algorithms.Classification. The authors in [51–53] used simple Bayesian CF algorithms in a collaborative filtering prediction process. Using a Naive Bayesian (NB) strategy, they assumed that the features are self-governing, for considering class, to compute the probability of a given class with the rest of the mechanisms. The anticipated class will be classified when the class has a high probability as follows:(13)ru,i=Eru,i=∑cεClasssetPru,i,=cru,j,jIu,where c represents the rating class from the scale used Classset and j is an item that has been seen and rated by u and belongs to the set of all items Iu which are rated by an individual. In the case of a class that has missing features, the model computes the probability and classification over observed data. In the rating matrix, they converted multiclass data to binary class data as a Boolean feature vector for simplicity. However, this method caused limited scalability and loss of multiclass data. Real-world problems include multiclass data; therefore, researchers tried to improve the Bayesian CF algorithm to adapt to multiclass data. The authors in [54–56] conducted empirical experiments that showed that Bayesian CF can be better scalable and less time-consuming in the process of prediction; however, these can have worse predictive precision from the Pearson correlation CF algorithm.Clustering. Clustering-based CF algorithms have also been used to improve prediction quality. The basic idea behind clustering techniques is to assign a cluster to every similar group of data, a group of users that have partly similar tastes. Cluster members would be seen as like-minded neighbors. Sarwar et al. [81] discussed the limitations of CF techniques and presented clustering-based algorithms to enhance speed performance. They applied two-phase algorithms: (a) clustering the user-item rating database to N partitions and (b) using memory-based CF algorithms to estimate recommendations for every user within the clusters based on only preferences from cluster members. An experimental study showed that making recommendations predictions within smaller clusters, using k-means algorithms, improves scalability in clustering techniques when compared with classical CF techniques; they reduce the number of neighborhoods to be tested due to the static precomputed clusters, and, as a result, the online prediction process becomes much faster [57]. The experiment in Sarwar et al.’s clustering methods presented two observations. First, clustering algorithms showed lower prediction quality in comparison with the basic CF approach. Furthermore, it was evident that as the number of clusters increased, the prediction error also increased. An explanation of this can be that the increased number of clusters may lead to smaller cluster sizes, therefore resulting in an insufficient number of neighbors to create a representative opinion about a particular item. Also, clustering techniques have the limitation that users clustered to a single group may not receive recommendations outside the cluster’s taste trend, and this often causes less-personal recommendations and most often worse accuracy than memory-based algorithms [58–70].Regressions. Regression-based CF algorithms are also presented in the literature to approximate users’ ratings. Due to the numerical nature of the rating data in the real world, regressions models can contribute to predicting numerical values. Assume that X=x1,x2,…,xm is a set of random ratings where x C Iu. (14)Y=AX+E,where A is m × k matrix, k is the k-dimensional rating space, and E signifies the noise in user preferences. Predicted matrix Y is m × n, where Yu,i is the rating of end-user u to item i. The study reported in [38] proposed a collection of linear models to search for similarities between items. This regression approach succeeded in combining linear models to compute score predictions for a specific active end-user. To estimate the factors of the linear regression purpose, the authors used a least-squares metric. They showed that their approach offers good performance in addressing sparsity, a common problem in CF methods.Matrix Factorization Models. Recently, several matrix factorization (MF) approaches have also been proposed [70–79]. The idea of implementing MF models has widely attracted researchers because of two properties: (1) an attractive level of accuracy and (2) sufficient scalability over large datasets. The general idea behind MF is modeling both users and items as an inner product and producing a joint space of latent features space of a specific level of dimensionality. MF models infer hidden structures causing the ratings interaction among users and items in the user-item rating matrix. These features explain how one user may rate an item and the model uses these features to approximate the rating matrix into a low-rank one. In the movie recommender, features may measure how much a given user is interested in a given movie. More formally, the rating is computed by the subsequent perdiction formulation:(15)ru,i^=μ+bi+bu+qiTpu.The model parametersbi and bu are cultured by minimizing squared error. μ is the average overall ratings. For example, the approach in [39] achieved the goal of approximation of the original user-item rating matrix using maximum margin MF (MMMF) that minimizes the sum of the squared errors between actual ratings and predicted ratings. Bell and Koren [76] presented a solution for the Netflix Prize [51, 52] by combining several linear combinations of prediction models and managed to win the prize; the challenge goal for them was to achieve a reduction in the Root Mean Squared Error (RMSE). Several approaches have appeared as extensions to the MMMF model; for example, the study in [44] proposed avoiding overfitting of the regularization parameters, a completely Bayesian action of probabilistic matrix factorization (PMF).The authors in [70–76] proposed several matrix factorization (MF) approaches such as an incremental variation of MF which competently handles novel end users’ ratings. Next, we discuss the advantages and challenges related to CF techniques.


### 2.2. Other Types of Recommendation Methods

In this section, hybrid recommendation solutions are briefly introduced along with other recommendations approaches. Hybrid approaches combine two different approaches to integrate the advantages of different approaches and to overcome some of their challenges. To address the limitations in CB and CF techniques, several studies compared the performances of both CB and CF recommenders and demonstrated that hybrid approaches can generate recommendations with higher accuracy compared to using either CB or CF methods. Combining CB and CF methods can be proposed in different ways [5]:(1)
Combining the outcome from the prediction process after applying CF and CB distinctly.(2)
Totaling some CB features to improve collaborative recommenders.(3)
Totaling some CF features to improve the content-based system.(4)
Defining an overall model that includes both CB and CF features.Recently, different recommender system approaches have appeared to propose solutions to the inherent limitations mentioned earlier. Due to the growth of Web 2.0 applications, new areas are emerging and need to be explored; for instance, the social tagging system (STS). Social tagging facilities appear to permit ordinary end-users to publish and edit contents and share free keywords. Thus, RSs are implemented to support end-users as result relevant topic and few marketable STS have been initialized to generate recommendations such as Deliciuis.com. This new direction of RS requires examining novel facets, approaches, and algorithms. STS deals with a third dimension, apart from the user, item dimensions, which may affect the complexity of the algorithms being used [77–80].


### 2.3. Standard Review-Based Recommenders

The enormous survey has been done to deed opinion in textual reviews to supplement justification in collaborative recommenders [80–85]. Reference [72] enhanced recommendation systems with working subject and sentimentality information at the sentence granularity level. The authors assessed ratings from review text remarks posted by end-users regarding various domain datasets for determining emotions classes. Also, Leung et al. [16] obtained a structure based on probabilistic sentiment inference, which they named Probabilistic Rating infErence Framework (PREF). The authors employed NLP techniques to compute opinion views in reviews. In other models, Naive Bayesian supervised technique was employed to predict ratings; this technique collaborated inference ratings from reviews with a collaborative filtering algorithm to improve the accuracy of suggested items to customers. Peleja et al. [65] inferred ratings from reviews by applying sentiment information to expand the complete superiority of RSs. The authors applied a multiple Bernoulli cataloging algorithm to calculate probabilistic rankings from the text analyses.


### 2.4. Microblog-Based Recommenders

As there is exponential progress of info on the Internet, end-users can effortlessly browse websites and post their opinions on online microblogs. A huge number of substitutes have become obtainable to users; hence, it is a novel test that entices investigators in the area of RS to investigate the potentials of initialing recommendations with the help of OSNs features and surroundings to improve RSs. Garcia Esparza et al. [74, 75] provided an example of incorporating OSNs in the foundation of recommendations. The authors examined how to get recommendations from virtual microblog services. They obtained a solution to focus on the content of small posts transcribed by end-users as artifact reviews to overcome the insufficient metadata about items in CB recommenders and ratings in CF recommenders. These posts are used to index the most frequently used and the most important terms to create end-user and item profiles using the TF-IDF technique described. Eventually, the query search algorithm was employed to retrieve pertinent item profiles with the help of data from a Twitter-like review service called Blipper.This service gave users the ability to write short reviews and to rate movies at the same time. The learning is alike to work in terms of utilizing microblog’s short posts to generate recommendations; however, people using microblogs do not usually rate items; they mainly express opinions. Also, items profiles are built based on a global point of view, not local and personalized, as all reviews written about an item are combined to construct its profile, and hence the profile is fixed over all the community. Another weakness in this study is that they assume that users have rich profiles and they introduce short reviews accompanied with ratings. Hence, the usual cold start problem, the case of new end users, was not addressed in these papers. Interestingly, in [4], the authors proposed a solution to the cold start tricky mobile software applications for smartphones (Apps). They used SNS like Twitter to recognize signals about the new release of these Apps by using Apps’ accounts on Twitter. In the example in Figure 1, the Angry Birds Star Wars App has an official Twitter account with the handle @angrybirds5. They explored the followers list of these accounts. Their solution was an averaging technique in which the likelihood of how likely a given end-user would like a particular application is computed by observing how the Twitter users like this App. As per the assumptions, from a collection of Twitter users, the probability of users who like App is computed using the following formula:(16)p+|a,u=∑tεTap+,|a,u=∑tεTap+,|t,uPt,a.Figure 1
Using official accounts of apps on twitter in recommendation [4].The sign + shows positive interest in Appa, and T(a) represents the set of people who follow the account of App a. However, the major drawback of the current work is that users need to follow item Apps on social media, which is not always the case. Another problem with this approach is that the products require official accounts on Twitter so that people can follow these accounts. However, no attempt was made to quantify the trust association among users based on their communications. In comaprison to this study, the scenario in this thesis challenges the more general case for any item, especially when no product account exists on Twitter in a very personalized and subjective manner.


### 2.5. Challenges in Recommender System

(i)
The current effort mostly emphasizes on categorizing end-clients into binary opinions sentiments such as positive or negative(ii)
The current methods primarily influence product category info to learn the interpersonal impact(iii)
These approaches are all limited to the structured data, which is not continuously obtainable on some websites


## 2.1. Classification Recommendation Methods

### 2.1.1. Content-Type Recommendation

Content-type recommendation method is also known as content-based (CB) recommendation method which is used for the explanation of items to shape item representations and end-user outlines. CB methods analyze the content/description in user profiles based on the items they liked before; then they match up this content with similar content of unseen items. In other words, these methods generate recommendations by examining the features of items, such as the item textual descriptive information, and testing regularities that may occur in this content to recommend similar items in the future. Many current CB recommenders build recommendations on items that contain textual information, including websites (URLs), books, documents, and news. For instance, for book recommendation related applications, to suggest appropriate books to a particular user, this kind of recommender would analyze the consistencies between the books that the active user has valued extremely in the earlier (specific authors, types, subject matters, etc.). Afterwards, records which are great degree of likeness to which the user preferred would be suggested. The CB method has its own roots from IRS [32]. One step which has been enhanced over conventional information recovery methods is the best use of end-user profiles that consist of information regarding items a user has favored and liked. The user’s profile can be built by observing the users’ transaction behavior related to certain items [33–35]. Usually, pri is an item towards profile, a collection of characteristics of an item i described in pri. This set of features is extracted to be incorporated into the recommendations process as appropriate. As specified before, CB schemes are planned to ultimately recommendation-based text; the features in this systems are labelled in keywords. If a system indorses web pages to end-users, it may represent the web pages content with the most important keywords. The significance of word k in document d is defined as a weight wd,k that can be measured by several methods.One which is frequently used statistical measures for assigning keyword weights about Term Frequency or TF-IDF [5]. Assuming freqk, d is the number of times keyword ki occurs in document dj; then, the frequency term is TFk; d is the term frequency or the normalized frequency of keyword ki in document djwill be as follows:(3)TFk=freaqk,dmaxfreqk,d,where the max freqK, d is calculated over all the frequencies in d of all keywordsK. In fact, term frequency (TF) in many documents tends not to be a good indication of relevant documents and nonrelevant ones as it treats all words equally in terms of importance. It is obvious that some keywords appear more commonly in certain topics; for example, the word program is included in almost every document about programming, so this word has a little effect when determining the relevance of certain documents. Hence, a statistical measurement of IDF is used together with TF to reduce the effect of terms that have less importance when computing the weights. The inverse frequency of keyword ki in a document will be(4)IDFk=logNnk.Here,N indicates total number of documents which can be provided to an end-user as a recommendation while nk is a subset of N, where the keyword k appears. Hence, to compute the weight for keyword ki in document dj, the calculation should combine both TFk,d and IDFk as follows:(5)Wk,d=TFk,d∗IDFk.Then, the profile in documentdj is defined as(6)Prd=w1,w2,……,wK.As mentioned earlier, recommenders that use the CB approach suggest items similar to those that a user liked previously. Hence, the level of similarity is computed between two types of profiles; the first type is item profiles which contain item features as weights of keywords, and the second type is user profiles which contain weights of keywords of items seen or rated by the user in the past. For instance, if a user has read online documents on a specified topic of networks, subsequently, the CB methods would provide other articles related to networks to that user. This is the case because these articles will contain terms related to networks (e.g., router, protocol, and “wireless”) as opposed to articles on other topics. Therefore, recommenders use similarity measures to identify higher similarity values between a user’s profile and those articles profiles that have network terms with higher weights. To assign similarity weights between users’ profiles and items’ profiles, CB recommenders apply similarity techniques, such as a vector cosine similarity measure, defined as follows:(7)Simu,d=coswu,wd=wu∗wdwu2wd‖2.In vector cosine similarity algorithm, the profile of useru and document d will be treated as two vectors wu and wd.To calculate the resemblance between the two vectors, the method will measure the cosine of the angle between them. Various techniques are based on a model learned from data related to users and items rather than the use of heuristic approaches. Various machine learning algorithms are used for CB recommenders, such as classification and clustering algorithms presented in [36–38]. For example, the authors of [9] rated a set of web pages in two categories: relevant and irrelevant by the user. They used users’ profiles to learn their interest in different pages by determining 128 informative words as features. They then used a Naive Bayesian (NB) supervised classifier to categorize unrated web pages by estimating the probability that a page pj belongs to a particular class Ci (relevant or irrelevant), given the set of keywords k1, j,:::, kn, j, using the probability function P(Cijk1, j &…&kn, j). To overawe the disadvantage of poor prediction in the case when some users are unwilling to rate many pages, some initial knowledge regarding the user’s benefits can be used.(1) Challenges in CB Recommendation. CB techniques have many advantages: First, these methods are based only on users’ preferences presented in ratings to build users’ profiles and do not require input from other users’ ratings to build these profiles. Second, the explanation advantage allows the system to exploit the list of keywords to justify why a specific item has been recommended. Also, systems based on CB can recommend novel items that have not received any ratings so far, a feature that does not apply to other techniques. Despite all these advantages, CB techniques still exhibit several limitations [5, 26]:(i)
Limited content analysis: Automatic extraction of features to describe items in a system will be much harder to implement when the data are graphical imageries, as well as acoustic and audiovisual streams. Information retrieval techniques achieve good results in mining features from script documents; however, when describing documents by their most important keywords, CB techniques cannot differentiate between high-quality articles and badly written ones when the same keywords are used [19].(ii)
Overspecialization: The recommended items will be limited to what the end-user has valued in the past. In other terms, only items matching the user’s built profile of preferences with a high score of similarity will be recommended. Moreover, this overspecialization drawback is not only seen with CB recommenders in cases where they could not suggest items which are dissimilar from what end-user has experienced before, but, in convinced cases, very similar substances should not be suggested by the system.


### 2.1.2. Collaborative Filtering Recommendation

CF is an initial recommendation scheme, including such tools as the Tapestry system [38], GroupLens system [39] and Video Recommender [40]. CF techniques work by building profiles of customers’ preferences [41]. The discussion on CF recommender system is as follows.The following discussion is related to Table1, which shows five users’ profiles represented as rows in a user-item rating matrix U1,U2,U3,U4,U5. The columns represent items I1, I2, I3, and I4. Ratings profiles of users are(8)pr1=4,ϖ,5,5,pr2=4,2,1,ϖ,pr3=5,ϖ,ϖ,4,pr4=5,3,ϖ,ϖandpr5=ϖ;3,2,1.Table 1
An example of a user-item matrix.
I1I2I3I4U14φ55U2421φU35φφ4U453φφU5φ321For example, let us considerU1 as an active user and, by looking at his/her profile, we can see that U1 did not rate I2 and the system’s objective is to decide whether I2 is a convenient suggestion to U1. Only three users U2, U4, and U5 have used I2 and they have certain opinions about it. However, U2 and U4 have close tastes in some items to U1. Therefore, it is better to consult their tastes to estimate whether item I2 is a good or bad suggestion for U1. By contrast, U5 has dissimilar tastes to U1 and, hence, the rating by U5 will have a very negligible effect on the recommendation decision, or, rather, the opinion of U5 will be ignored. Also, U3 will be excluded from the recommendation process as this user has not used and rated I2 although he/she has similar tastes to U1. Collaborative filtering algorithms can be classified into two main subcategories, namely, memory-based and model-based algorithms.(1) Challenges in CF Recommendation. CF recommenders have several useful points when they are applied. One of the most important points is that they can provide recommendations using only the direct data source which is the rating profiles. Furthermore, the more the users respond to the recommendations, the better the systems can adapt to users’ tastes over time; that is, rich users’ profiles imply better quality recommendations. The most challenging aspects of using CF approaches, which the literature pointed out and efforts have been made to try and overcome, include the following: First is the level of prediction accuracy: most of the recommender models in the literature seek high levels of prediction accuracy. Researchers use the accuracy aspect to provide proof of how successful their proposed recommendation approaches are in providing predictions that are close to users’ tastes, as stated above in [42].Second is cold start problem: both CB and CF RSs lack from the cold-start difficulty. To provide accurate recommendations, users’ preferences should be analyzed by collecting ratings that are not the case for new users who have recently entered the system; hence, this may lead to poor recommendation results. Similarly, the problem of cold start also exists in the case of new items. Recommendation systems are updated regularly with new items. To incorporate these new items in the recommendation process, these items should be valued first by a substantial number of users.Third is the problem of sparsity: a common observation is that the number of items that people rate in slight RSs is minor in contrast to the total number of items that need rating prediction. Ultimately, the maximum number of end-users’ ratings affects the success of collaborative recommenders. An example, over movie recommendation collaborative system, when a film has been valued by specific people, even if rated highly, this movie would not be recommended extensively. Furthermore, a common issue with users who have uncommon taste equated to the application community is that the schemes might not be allocate similar users [43–45].


### 2.1.3. Memory-Based Collaborative Filtering

Memory-based or neighborhood techniques [28, 31] utilize end-user item related medium to calculate recommendation predictions for unseen items. These systems identify like-minded users or so-called neighbors or nearest-neighbors. Generally, memory-based recommenders work according to the following steps:(i)
First, memory-based recommenders ask users to rate some items to be able to recognize their taste.(ii)
Second, statistical techniques are applied to define the user’s neighbors who shared similar prior preferences.(iii)
Third, after defining like-minded users, the systems provide predictions of ratings to those items that have not been seen by the user and then provide recommendations accordingly.In step two, a measurement is made use of computing the resemblance between two profiles. The close neighbors can be allocated by (1) defining a certain number of neighborsN; (2) predefining a suitable threshold, and hence only neighbors whose similarity level exceeds the threshold are incorporated in the recommendation encounter; and (3) excluding neighbors who have highly dissimilar tastes reflected by a negative similarity degree. In step three, the systems can choose to provide the recommendations as a score of rating and the rating values will be expressed using the same scale used to express opinions, for example, a scale from 1 to 5. Another different way of recommendation would be to yield a list of Top N recommendation items. In memory-based techniques, prediction aimed at an energetic u about an item i denoted as r(u,i) is computed as aggregation of ratings of neighbors who have previously rated i.(9)Ru,i=aggra∈Neigra,i.Here,a is the neighbor of u who rated i and Neig refers to the set of neighbors, where Neig C U and |Neig| = N. Examples of some aggregation functions are given below: (10)ru,i=1N∑a∈Neigra,i.This simple average is divided by the number of neighborsN or Neig. The most shared accumulation method is to calculate the anticipation as a weighted sum as shown below:(11)ru,i=∑aεNeigsimu,ara,i∑aεNeigsimu,a.sim here refers to the similarity degree between an active useru who needs recommendations and another user a. Therefore, a large weight of sim indicates that u and a are very similar to each other and consequently the rating (ra,i) will participate more in the prediction of ru,i. From Equation (11), the problem is that this computation does not consider the fact that users may express their ratings using the score gage contrarily. The accustomed biased sum, discussed in Chapter 6, is extensively used to discourse this limitation. In the current method, rather than using complete principles of ratings, the prejudiced sum uses their deviances from a middling rating of the equivalent user.Similarity computation is a primary element in memory-based methods to compute different levels of resemblance between particular users; a heuristic utility of similarity should be defined as sim. To measure this resemblance among two users, an active useru and user a denoted as the utility sim(u,a), this function illustrates the distance between the two users. The closer the users a and u are, the more weight will be given to the predicted ratings for user u in the prediction process. One popular approach to calculate the resemblance weight is the Pearson correlation coefficient (PCC) [46–50]:(12)simu,a=∑iεIa,ura,i−∗r∑iεIa,ura,i−∗r2∑iεIa,uru,i−∗u2,where ru,i is the rating worth obtained from an active end-user u to respective item i, while ∗ru indicates the average of all ratings obtained by user u. Similarly, the rating obtained by neighbor a to the same item i is ra,i and the regular of all scores given by a is ∗ra. sim will be computed over the set of the corated items represented by Iu,a. Furthermore, certain heuristic similarity measures to overcome the cold start problems are proposed in [29], while [42] presented a similarity metric using a prior stage, in which a genetic algorithm generated weights which are dependent mainly on the nature of the dataset provided from each recommender system.


### 2.1.4. Model-Based Collaborative Filtering

CF makes use of ML techniques to make intelligent predictions. Building models algorithms includes three main steps:(i)
The designed models first learn the pattern of collected users’ ratings in a training dataset.(ii)
The designed models are tested and all the needed parameters are tuned to satisfy the problem requirements, for example, minimizing the absolute squared error.(iii)
After building reliable and tested models, ratings can be predicted and recommendations can be provided to the desired users using these models.Researchers in the recommendation area have introduced different learning models based on machine learning algorithms.Classification. The authors in [51–53] used simple Bayesian CF algorithms in a collaborative filtering prediction process. Using a Naive Bayesian (NB) strategy, they assumed that the features are self-governing, for considering class, to compute the probability of a given class with the rest of the mechanisms. The anticipated class will be classified when the class has a high probability as follows:(13)ru,i=Eru,i=∑cεClasssetPru,i,=cru,j,jIu,where c represents the rating class from the scale used Classset and j is an item that has been seen and rated by u and belongs to the set of all items Iu which are rated by an individual. In the case of a class that has missing features, the model computes the probability and classification over observed data. In the rating matrix, they converted multiclass data to binary class data as a Boolean feature vector for simplicity. However, this method caused limited scalability and loss of multiclass data. Real-world problems include multiclass data; therefore, researchers tried to improve the Bayesian CF algorithm to adapt to multiclass data. The authors in [54–56] conducted empirical experiments that showed that Bayesian CF can be better scalable and less time-consuming in the process of prediction; however, these can have worse predictive precision from the Pearson correlation CF algorithm.Clustering. Clustering-based CF algorithms have also been used to improve prediction quality. The basic idea behind clustering techniques is to assign a cluster to every similar group of data, a group of users that have partly similar tastes. Cluster members would be seen as like-minded neighbors. Sarwar et al. [81] discussed the limitations of CF techniques and presented clustering-based algorithms to enhance speed performance. They applied two-phase algorithms: (a) clustering the user-item rating database to N partitions and (b) using memory-based CF algorithms to estimate recommendations for every user within the clusters based on only preferences from cluster members. An experimental study showed that making recommendations predictions within smaller clusters, using k-means algorithms, improves scalability in clustering techniques when compared with classical CF techniques; they reduce the number of neighborhoods to be tested due to the static precomputed clusters, and, as a result, the online prediction process becomes much faster [57]. The experiment in Sarwar et al.’s clustering methods presented two observations. First, clustering algorithms showed lower prediction quality in comparison with the basic CF approach. Furthermore, it was evident that as the number of clusters increased, the prediction error also increased. An explanation of this can be that the increased number of clusters may lead to smaller cluster sizes, therefore resulting in an insufficient number of neighbors to create a representative opinion about a particular item. Also, clustering techniques have the limitation that users clustered to a single group may not receive recommendations outside the cluster’s taste trend, and this often causes less-personal recommendations and most often worse accuracy than memory-based algorithms [58–70].Regressions. Regression-based CF algorithms are also presented in the literature to approximate users’ ratings. Due to the numerical nature of the rating data in the real world, regressions models can contribute to predicting numerical values. Assume that X=x1,x2,…,xm is a set of random ratings where x C Iu. (14)Y=AX+E,where A is m × k matrix, k is the k-dimensional rating space, and E signifies the noise in user preferences. Predicted matrix Y is m × n, where Yu,i is the rating of end-user u to item i. The study reported in [38] proposed a collection of linear models to search for similarities between items. This regression approach succeeded in combining linear models to compute score predictions for a specific active end-user. To estimate the factors of the linear regression purpose, the authors used a least-squares metric. They showed that their approach offers good performance in addressing sparsity, a common problem in CF methods.Matrix Factorization Models. Recently, several matrix factorization (MF) approaches have also been proposed [70–79]. The idea of implementing MF models has widely attracted researchers because of two properties: (1) an attractive level of accuracy and (2) sufficient scalability over large datasets. The general idea behind MF is modeling both users and items as an inner product and producing a joint space of latent features space of a specific level of dimensionality. MF models infer hidden structures causing the ratings interaction among users and items in the user-item rating matrix. These features explain how one user may rate an item and the model uses these features to approximate the rating matrix into a low-rank one. In the movie recommender, features may measure how much a given user is interested in a given movie. More formally, the rating is computed by the subsequent perdiction formulation:(15)ru,i^=μ+bi+bu+qiTpu.The model parametersbi and bu are cultured by minimizing squared error. μ is the average overall ratings. For example, the approach in [39] achieved the goal of approximation of the original user-item rating matrix using maximum margin MF (MMMF) that minimizes the sum of the squared errors between actual ratings and predicted ratings. Bell and Koren [76] presented a solution for the Netflix Prize [51, 52] by combining several linear combinations of prediction models and managed to win the prize; the challenge goal for them was to achieve a reduction in the Root Mean Squared Error (RMSE). Several approaches have appeared as extensions to the MMMF model; for example, the study in [44] proposed avoiding overfitting of the regularization parameters, a completely Bayesian action of probabilistic matrix factorization (PMF).The authors in [70–76] proposed several matrix factorization (MF) approaches such as an incremental variation of MF which competently handles novel end users’ ratings. Next, we discuss the advantages and challenges related to CF techniques.


## 2.1.1. Content-Type Recommendation

Content-type recommendation method is also known as content-based (CB) recommendation method which is used for the explanation of items to shape item representations and end-user outlines. CB methods analyze the content/description in user profiles based on the items they liked before; then they match up this content with similar content of unseen items. In other words, these methods generate recommendations by examining the features of items, such as the item textual descriptive information, and testing regularities that may occur in this content to recommend similar items in the future. Many current CB recommenders build recommendations on items that contain textual information, including websites (URLs), books, documents, and news. For instance, for book recommendation related applications, to suggest appropriate books to a particular user, this kind of recommender would analyze the consistencies between the books that the active user has valued extremely in the earlier (specific authors, types, subject matters, etc.). Afterwards, records which are great degree of likeness to which the user preferred would be suggested. The CB method has its own roots from IRS [32]. One step which has been enhanced over conventional information recovery methods is the best use of end-user profiles that consist of information regarding items a user has favored and liked. The user’s profile can be built by observing the users’ transaction behavior related to certain items [33–35]. Usually, pri is an item towards profile, a collection of characteristics of an item i described in pri. This set of features is extracted to be incorporated into the recommendations process as appropriate. As specified before, CB schemes are planned to ultimately recommendation-based text; the features in this systems are labelled in keywords. If a system indorses web pages to end-users, it may represent the web pages content with the most important keywords. The significance of word k in document d is defined as a weight wd,k that can be measured by several methods.One which is frequently used statistical measures for assigning keyword weights about Term Frequency or TF-IDF [5]. Assuming freqk, d is the number of times keyword ki occurs in document dj; then, the frequency term is TFk; d is the term frequency or the normalized frequency of keyword ki in document djwill be as follows:(3)TFk=freaqk,dmaxfreqk,d,where the max freqK, d is calculated over all the frequencies in d of all keywordsK. In fact, term frequency (TF) in many documents tends not to be a good indication of relevant documents and nonrelevant ones as it treats all words equally in terms of importance. It is obvious that some keywords appear more commonly in certain topics; for example, the word program is included in almost every document about programming, so this word has a little effect when determining the relevance of certain documents. Hence, a statistical measurement of IDF is used together with TF to reduce the effect of terms that have less importance when computing the weights. The inverse frequency of keyword ki in a document will be(4)IDFk=logNnk.Here,N indicates total number of documents which can be provided to an end-user as a recommendation while nk is a subset of N, where the keyword k appears. Hence, to compute the weight for keyword ki in document dj, the calculation should combine both TFk,d and IDFk as follows:(5)Wk,d=TFk,d∗IDFk.Then, the profile in documentdj is defined as(6)Prd=w1,w2,……,wK.As mentioned earlier, recommenders that use the CB approach suggest items similar to those that a user liked previously. Hence, the level of similarity is computed between two types of profiles; the first type is item profiles which contain item features as weights of keywords, and the second type is user profiles which contain weights of keywords of items seen or rated by the user in the past. For instance, if a user has read online documents on a specified topic of networks, subsequently, the CB methods would provide other articles related to networks to that user. This is the case because these articles will contain terms related to networks (e.g., router, protocol, and “wireless”) as opposed to articles on other topics. Therefore, recommenders use similarity measures to identify higher similarity values between a user’s profile and those articles profiles that have network terms with higher weights. To assign similarity weights between users’ profiles and items’ profiles, CB recommenders apply similarity techniques, such as a vector cosine similarity measure, defined as follows:(7)Simu,d=coswu,wd=wu∗wdwu2wd‖2.In vector cosine similarity algorithm, the profile of useru and document d will be treated as two vectors wu and wd.To calculate the resemblance between the two vectors, the method will measure the cosine of the angle between them. Various techniques are based on a model learned from data related to users and items rather than the use of heuristic approaches. Various machine learning algorithms are used for CB recommenders, such as classification and clustering algorithms presented in [36–38]. For example, the authors of [9] rated a set of web pages in two categories: relevant and irrelevant by the user. They used users’ profiles to learn their interest in different pages by determining 128 informative words as features. They then used a Naive Bayesian (NB) supervised classifier to categorize unrated web pages by estimating the probability that a page pj belongs to a particular class Ci (relevant or irrelevant), given the set of keywords k1, j,:::, kn, j, using the probability function P(Cijk1, j &…&kn, j). To overawe the disadvantage of poor prediction in the case when some users are unwilling to rate many pages, some initial knowledge regarding the user’s benefits can be used.(1) Challenges in CB Recommendation. CB techniques have many advantages: First, these methods are based only on users’ preferences presented in ratings to build users’ profiles and do not require input from other users’ ratings to build these profiles. Second, the explanation advantage allows the system to exploit the list of keywords to justify why a specific item has been recommended. Also, systems based on CB can recommend novel items that have not received any ratings so far, a feature that does not apply to other techniques. Despite all these advantages, CB techniques still exhibit several limitations [5, 26]:(i)
Limited content analysis: Automatic extraction of features to describe items in a system will be much harder to implement when the data are graphical imageries, as well as acoustic and audiovisual streams. Information retrieval techniques achieve good results in mining features from script documents; however, when describing documents by their most important keywords, CB techniques cannot differentiate between high-quality articles and badly written ones when the same keywords are used [19].(ii)
Overspecialization: The recommended items will be limited to what the end-user has valued in the past. In other terms, only items matching the user’s built profile of preferences with a high score of similarity will be recommended. Moreover, this overspecialization drawback is not only seen with CB recommenders in cases where they could not suggest items which are dissimilar from what end-user has experienced before, but, in convinced cases, very similar substances should not be suggested by the system.


## 2.1.2. Collaborative Filtering Recommendation

CF is an initial recommendation scheme, including such tools as the Tapestry system [38], GroupLens system [39] and Video Recommender [40]. CF techniques work by building profiles of customers’ preferences [41]. The discussion on CF recommender system is as follows.The following discussion is related to Table1, which shows five users’ profiles represented as rows in a user-item rating matrix U1,U2,U3,U4,U5. The columns represent items I1, I2, I3, and I4. Ratings profiles of users are(8)pr1=4,ϖ,5,5,pr2=4,2,1,ϖ,pr3=5,ϖ,ϖ,4,pr4=5,3,ϖ,ϖandpr5=ϖ;3,2,1.Table 1
An example of a user-item matrix.
I1I2I3I4U14φ55U2421φU35φφ4U453φφU5φ321For example, let us considerU1 as an active user and, by looking at his/her profile, we can see that U1 did not rate I2 and the system’s objective is to decide whether I2 is a convenient suggestion to U1. Only three users U2, U4, and U5 have used I2 and they have certain opinions about it. However, U2 and U4 have close tastes in some items to U1. Therefore, it is better to consult their tastes to estimate whether item I2 is a good or bad suggestion for U1. By contrast, U5 has dissimilar tastes to U1 and, hence, the rating by U5 will have a very negligible effect on the recommendation decision, or, rather, the opinion of U5 will be ignored. Also, U3 will be excluded from the recommendation process as this user has not used and rated I2 although he/she has similar tastes to U1. Collaborative filtering algorithms can be classified into two main subcategories, namely, memory-based and model-based algorithms.(1) Challenges in CF Recommendation. CF recommenders have several useful points when they are applied. One of the most important points is that they can provide recommendations using only the direct data source which is the rating profiles. Furthermore, the more the users respond to the recommendations, the better the systems can adapt to users’ tastes over time; that is, rich users’ profiles imply better quality recommendations. The most challenging aspects of using CF approaches, which the literature pointed out and efforts have been made to try and overcome, include the following: First is the level of prediction accuracy: most of the recommender models in the literature seek high levels of prediction accuracy. Researchers use the accuracy aspect to provide proof of how successful their proposed recommendation approaches are in providing predictions that are close to users’ tastes, as stated above in [42].Second is cold start problem: both CB and CF RSs lack from the cold-start difficulty. To provide accurate recommendations, users’ preferences should be analyzed by collecting ratings that are not the case for new users who have recently entered the system; hence, this may lead to poor recommendation results. Similarly, the problem of cold start also exists in the case of new items. Recommendation systems are updated regularly with new items. To incorporate these new items in the recommendation process, these items should be valued first by a substantial number of users.Third is the problem of sparsity: a common observation is that the number of items that people rate in slight RSs is minor in contrast to the total number of items that need rating prediction. Ultimately, the maximum number of end-users’ ratings affects the success of collaborative recommenders. An example, over movie recommendation collaborative system, when a film has been valued by specific people, even if rated highly, this movie would not be recommended extensively. Furthermore, a common issue with users who have uncommon taste equated to the application community is that the schemes might not be allocate similar users [43–45].


## 2.1.3. Memory-Based Collaborative Filtering

Memory-based or neighborhood techniques [28, 31] utilize end-user item related medium to calculate recommendation predictions for unseen items. These systems identify like-minded users or so-called neighbors or nearest-neighbors. Generally, memory-based recommenders work according to the following steps:(i)
First, memory-based recommenders ask users to rate some items to be able to recognize their taste.(ii)
Second, statistical techniques are applied to define the user’s neighbors who shared similar prior preferences.(iii)
Third, after defining like-minded users, the systems provide predictions of ratings to those items that have not been seen by the user and then provide recommendations accordingly.In step two, a measurement is made use of computing the resemblance between two profiles. The close neighbors can be allocated by (1) defining a certain number of neighborsN; (2) predefining a suitable threshold, and hence only neighbors whose similarity level exceeds the threshold are incorporated in the recommendation encounter; and (3) excluding neighbors who have highly dissimilar tastes reflected by a negative similarity degree. In step three, the systems can choose to provide the recommendations as a score of rating and the rating values will be expressed using the same scale used to express opinions, for example, a scale from 1 to 5. Another different way of recommendation would be to yield a list of Top N recommendation items. In memory-based techniques, prediction aimed at an energetic u about an item i denoted as r(u,i) is computed as aggregation of ratings of neighbors who have previously rated i.(9)Ru,i=aggra∈Neigra,i.Here,a is the neighbor of u who rated i and Neig refers to the set of neighbors, where Neig C U and |Neig| = N. Examples of some aggregation functions are given below: (10)ru,i=1N∑a∈Neigra,i.This simple average is divided by the number of neighborsN or Neig. The most shared accumulation method is to calculate the anticipation as a weighted sum as shown below:(11)ru,i=∑aεNeigsimu,ara,i∑aεNeigsimu,a.sim here refers to the similarity degree between an active useru who needs recommendations and another user a. Therefore, a large weight of sim indicates that u and a are very similar to each other and consequently the rating (ra,i) will participate more in the prediction of ru,i. From Equation (11), the problem is that this computation does not consider the fact that users may express their ratings using the score gage contrarily. The accustomed biased sum, discussed in Chapter 6, is extensively used to discourse this limitation. In the current method, rather than using complete principles of ratings, the prejudiced sum uses their deviances from a middling rating of the equivalent user.Similarity computation is a primary element in memory-based methods to compute different levels of resemblance between particular users; a heuristic utility of similarity should be defined as sim. To measure this resemblance among two users, an active useru and user a denoted as the utility sim(u,a), this function illustrates the distance between the two users. The closer the users a and u are, the more weight will be given to the predicted ratings for user u in the prediction process. One popular approach to calculate the resemblance weight is the Pearson correlation coefficient (PCC) [46–50]:(12)simu,a=∑iεIa,ura,i−∗r∑iεIa,ura,i−∗r2∑iεIa,uru,i−∗u2,where ru,i is the rating worth obtained from an active end-user u to respective item i, while ∗ru indicates the average of all ratings obtained by user u. Similarly, the rating obtained by neighbor a to the same item i is ra,i and the regular of all scores given by a is ∗ra. sim will be computed over the set of the corated items represented by Iu,a. Furthermore, certain heuristic similarity measures to overcome the cold start problems are proposed in [29], while [42] presented a similarity metric using a prior stage, in which a genetic algorithm generated weights which are dependent mainly on the nature of the dataset provided from each recommender system.


## 2.1.4. Model-Based Collaborative Filtering

CF makes use of ML techniques to make intelligent predictions. Building models algorithms includes three main steps:(i)
The designed models first learn the pattern of collected users’ ratings in a training dataset.(ii)
The designed models are tested and all the needed parameters are tuned to satisfy the problem requirements, for example, minimizing the absolute squared error.(iii)
After building reliable and tested models, ratings can be predicted and recommendations can be provided to the desired users using these models.Researchers in the recommendation area have introduced different learning models based on machine learning algorithms.Classification. The authors in [51–53] used simple Bayesian CF algorithms in a collaborative filtering prediction process. Using a Naive Bayesian (NB) strategy, they assumed that the features are self-governing, for considering class, to compute the probability of a given class with the rest of the mechanisms. The anticipated class will be classified when the class has a high probability as follows:(13)ru,i=Eru,i=∑cεClasssetPru,i,=cru,j,jIu,where c represents the rating class from the scale used Classset and j is an item that has been seen and rated by u and belongs to the set of all items Iu which are rated by an individual. In the case of a class that has missing features, the model computes the probability and classification over observed data. In the rating matrix, they converted multiclass data to binary class data as a Boolean feature vector for simplicity. However, this method caused limited scalability and loss of multiclass data. Real-world problems include multiclass data; therefore, researchers tried to improve the Bayesian CF algorithm to adapt to multiclass data. The authors in [54–56] conducted empirical experiments that showed that Bayesian CF can be better scalable and less time-consuming in the process of prediction; however, these can have worse predictive precision from the Pearson correlation CF algorithm.Clustering. Clustering-based CF algorithms have also been used to improve prediction quality. The basic idea behind clustering techniques is to assign a cluster to every similar group of data, a group of users that have partly similar tastes. Cluster members would be seen as like-minded neighbors. Sarwar et al. [81] discussed the limitations of CF techniques and presented clustering-based algorithms to enhance speed performance. They applied two-phase algorithms: (a) clustering the user-item rating database to N partitions and (b) using memory-based CF algorithms to estimate recommendations for every user within the clusters based on only preferences from cluster members. An experimental study showed that making recommendations predictions within smaller clusters, using k-means algorithms, improves scalability in clustering techniques when compared with classical CF techniques; they reduce the number of neighborhoods to be tested due to the static precomputed clusters, and, as a result, the online prediction process becomes much faster [57]. The experiment in Sarwar et al.’s clustering methods presented two observations. First, clustering algorithms showed lower prediction quality in comparison with the basic CF approach. Furthermore, it was evident that as the number of clusters increased, the prediction error also increased. An explanation of this can be that the increased number of clusters may lead to smaller cluster sizes, therefore resulting in an insufficient number of neighbors to create a representative opinion about a particular item. Also, clustering techniques have the limitation that users clustered to a single group may not receive recommendations outside the cluster’s taste trend, and this often causes less-personal recommendations and most often worse accuracy than memory-based algorithms [58–70].Regressions. Regression-based CF algorithms are also presented in the literature to approximate users’ ratings. Due to the numerical nature of the rating data in the real world, regressions models can contribute to predicting numerical values. Assume that X=x1,x2,…,xm is a set of random ratings where x C Iu. (14)Y=AX+E,where A is m × k matrix, k is the k-dimensional rating space, and E signifies the noise in user preferences. Predicted matrix Y is m × n, where Yu,i is the rating of end-user u to item i. The study reported in [38] proposed a collection of linear models to search for similarities between items. This regression approach succeeded in combining linear models to compute score predictions for a specific active end-user. To estimate the factors of the linear regression purpose, the authors used a least-squares metric. They showed that their approach offers good performance in addressing sparsity, a common problem in CF methods.Matrix Factorization Models. Recently, several matrix factorization (MF) approaches have also been proposed [70–79]. The idea of implementing MF models has widely attracted researchers because of two properties: (1) an attractive level of accuracy and (2) sufficient scalability over large datasets. The general idea behind MF is modeling both users and items as an inner product and producing a joint space of latent features space of a specific level of dimensionality. MF models infer hidden structures causing the ratings interaction among users and items in the user-item rating matrix. These features explain how one user may rate an item and the model uses these features to approximate the rating matrix into a low-rank one. In the movie recommender, features may measure how much a given user is interested in a given movie. More formally, the rating is computed by the subsequent perdiction formulation:(15)ru,i^=μ+bi+bu+qiTpu.The model parametersbi and bu are cultured by minimizing squared error. μ is the average overall ratings. For example, the approach in [39] achieved the goal of approximation of the original user-item rating matrix using maximum margin MF (MMMF) that minimizes the sum of the squared errors between actual ratings and predicted ratings. Bell and Koren [76] presented a solution for the Netflix Prize [51, 52] by combining several linear combinations of prediction models and managed to win the prize; the challenge goal for them was to achieve a reduction in the Root Mean Squared Error (RMSE). Several approaches have appeared as extensions to the MMMF model; for example, the study in [44] proposed avoiding overfitting of the regularization parameters, a completely Bayesian action of probabilistic matrix factorization (PMF).The authors in [70–76] proposed several matrix factorization (MF) approaches such as an incremental variation of MF which competently handles novel end users’ ratings. Next, we discuss the advantages and challenges related to CF techniques.


## 2.2. Other Types of Recommendation Methods

In this section, hybrid recommendation solutions are briefly introduced along with other recommendations approaches. Hybrid approaches combine two different approaches to integrate the advantages of different approaches and to overcome some of their challenges. To address the limitations in CB and CF techniques, several studies compared the performances of both CB and CF recommenders and demonstrated that hybrid approaches can generate recommendations with higher accuracy compared to using either CB or CF methods. Combining CB and CF methods can be proposed in different ways [5]:(1)
Combining the outcome from the prediction process after applying CF and CB distinctly.(2)
Totaling some CB features to improve collaborative recommenders.(3)
Totaling some CF features to improve the content-based system.(4)
Defining an overall model that includes both CB and CF features.Recently, different recommender system approaches have appeared to propose solutions to the inherent limitations mentioned earlier. Due to the growth of Web 2.0 applications, new areas are emerging and need to be explored; for instance, the social tagging system (STS). Social tagging facilities appear to permit ordinary end-users to publish and edit contents and share free keywords. Thus, RSs are implemented to support end-users as result relevant topic and few marketable STS have been initialized to generate recommendations such as Deliciuis.com. This new direction of RS requires examining novel facets, approaches, and algorithms. STS deals with a third dimension, apart from the user, item dimensions, which may affect the complexity of the algorithms being used [77–80].


## 2.3. Standard Review-Based Recommenders

The enormous survey has been done to deed opinion in textual reviews to supplement justification in collaborative recommenders [80–85]. Reference [72] enhanced recommendation systems with working subject and sentimentality information at the sentence granularity level. The authors assessed ratings from review text remarks posted by end-users regarding various domain datasets for determining emotions classes. Also, Leung et al. [16] obtained a structure based on probabilistic sentiment inference, which they named Probabilistic Rating infErence Framework (PREF). The authors employed NLP techniques to compute opinion views in reviews. In other models, Naive Bayesian supervised technique was employed to predict ratings; this technique collaborated inference ratings from reviews with a collaborative filtering algorithm to improve the accuracy of suggested items to customers. Peleja et al. [65] inferred ratings from reviews by applying sentiment information to expand the complete superiority of RSs. The authors applied a multiple Bernoulli cataloging algorithm to calculate probabilistic rankings from the text analyses.


## 2.4. Microblog-Based Recommenders

As there is exponential progress of info on the Internet, end-users can effortlessly browse websites and post their opinions on online microblogs. A huge number of substitutes have become obtainable to users; hence, it is a novel test that entices investigators in the area of RS to investigate the potentials of initialing recommendations with the help of OSNs features and surroundings to improve RSs. Garcia Esparza et al. [74, 75] provided an example of incorporating OSNs in the foundation of recommendations. The authors examined how to get recommendations from virtual microblog services. They obtained a solution to focus on the content of small posts transcribed by end-users as artifact reviews to overcome the insufficient metadata about items in CB recommenders and ratings in CF recommenders. These posts are used to index the most frequently used and the most important terms to create end-user and item profiles using the TF-IDF technique described. Eventually, the query search algorithm was employed to retrieve pertinent item profiles with the help of data from a Twitter-like review service called Blipper.This service gave users the ability to write short reviews and to rate movies at the same time. The learning is alike to work in terms of utilizing microblog’s short posts to generate recommendations; however, people using microblogs do not usually rate items; they mainly express opinions. Also, items profiles are built based on a global point of view, not local and personalized, as all reviews written about an item are combined to construct its profile, and hence the profile is fixed over all the community. Another weakness in this study is that they assume that users have rich profiles and they introduce short reviews accompanied with ratings. Hence, the usual cold start problem, the case of new end users, was not addressed in these papers. Interestingly, in [4], the authors proposed a solution to the cold start tricky mobile software applications for smartphones (Apps). They used SNS like Twitter to recognize signals about the new release of these Apps by using Apps’ accounts on Twitter. In the example in Figure 1, the Angry Birds Star Wars App has an official Twitter account with the handle @angrybirds5. They explored the followers list of these accounts. Their solution was an averaging technique in which the likelihood of how likely a given end-user would like a particular application is computed by observing how the Twitter users like this App. As per the assumptions, from a collection of Twitter users, the probability of users who like App is computed using the following formula:(16)p+|a,u=∑tεTap+,|a,u=∑tεTap+,|t,uPt,a.Figure 1
Using official accounts of apps on twitter in recommendation [4].The sign + shows positive interest in Appa, and T(a) represents the set of people who follow the account of App a. However, the major drawback of the current work is that users need to follow item Apps on social media, which is not always the case. Another problem with this approach is that the products require official accounts on Twitter so that people can follow these accounts. However, no attempt was made to quantify the trust association among users based on their communications. In comaprison to this study, the scenario in this thesis challenges the more general case for any item, especially when no product account exists on Twitter in a very personalized and subjective manner.


## 2.5. Challenges in Recommender System

(i)
The current effort mostly emphasizes on categorizing end-clients into binary opinions sentiments such as positive or negative(ii)
The current methods primarily influence product category info to learn the interpersonal impact(iii)
These approaches are all limited to the structured data, which is not continuously obtainable on some websites


## 3. Techniques and Algorithms of Recommender System

### 3.1. Matrix Factorization

Matrix factorization (MF) is a method that calculates a hidden feature model of a system with the help of user item communication. Moreover, end-user item relations may be embodied as a matrix and one axis and substances on the other. Additionally, in maximum movie recommendation systems communications ratings are given by users for movies but they can be diverse data as well, like implied feedback and temporal properties. Furthermore, rating matrix is represented as sparse matrix real-time applications and end-users valued a fraction of all the movies in the organization. Likewise, MF is to construct expected forecasts on sparse matrices. Also, the matrix factorization technique decreases the dimensions of the rating matrixr by factorizing it into a product of two latent factor matrices, p for the users and q for movies [7].(17)r11⋯r1i⋮⋱⋮ru1⋯rui=p1p2p3⋮puq1q2…qi,r=PQT.We have that f is the number of features extricated, u is the number of users, and I is the number of items (in our case, movies). Every row pu indicates vector of features for a user u and every row qi is a vector of features for an item i. Additionally, the product of vectors styles an approximation of the original rating.(18)rui=PuQiT.There are numerous ways of factorizing a matrix through several parts, utilized in various fileds of machine learning as well as statistics; nevertheless, maximum approaches do not work in case of any misplaced values in the matrix. Moreover, if it can be completed, Moreover, if it is completed, not only will observed values be estimated, but all missing values will also be forecasted. Additionally, one technique is to impute the lost values; however, doing so can distort the discovered data due to the sparseness of the original matrix. One more is to factorize by only utilizing the detected ratings and try to decrease the squared error.(19)Min∑rui−puqiT.However, there is a consequence in overfitting the preparation data. In order to avoid overfitting, a regularization term is presented to the squared error. Influence of regularization is measured by constantβ [68].(20)min∑rui−puqiT2+βpu2+qi2,where ||.|| denotes the Frobenius norm. This method has been displayed to be extremely fruitful and at the similar time scalable on especially large datasets, for example, the Netflix Prize competition where it was utilized in the two utmost accomplishing solutions [51]. Furthermore, the factorization could be completed and less memory is required when constructing a forecast (two vectors of size nf) compared to neighborhood methods where it is essential to keep the whole rating matrix or a subset of it in memory.


### 3.2. Userk-NN Algorithm

The algorithm focused on in this experiment isk-NN, which measures the distance between nodes in a graph with respect to user or item similarities. The similarities for the neighborhood-based implementations can be calculated with different metrics; this study will use the Pearson correlation coefficient. This is a widely and commonly used metric for similarity measurements, used in earlier studies of k-NN benchmark analysis for movie datasets [30, 31].This similarity formula calculates the similarity among useru and user v:(21)pearson_simu,v=∑rui−µv.rvi−µv∑rui−µu^2⋅∑​rvi−µv^2,where Iuv are the items rated by both end-user u and user v. rui is the rating produced by end-user u to item i. rvi is the rating produced by user v to item i. μu is the mean rating produced by user u. μv is the mean rating produced by user v.This similarity formula calculates the similarity among itemi and item j:(22)Pearsonsimi,j=∑u∈Uijrui−ui.ruj−uj∑u∈Uijrui−ui2.∑u∈Uijruj−uj2,where Uij are the users who have rated both items i and j. rui is the rating given by user u to item i. ui indicates mean rating for item i. uj indicates mean rating for item j.


#### 3.2.1. User-Relatedk-Nearest Neighbors

The memory-based algorithmk-nearest neighbor is the most prevalent CF method in RSSEs. The basic strategy used by this algorithm is to measure weight for the user’s score by looking at votes by other k similar users. In this study, this algorithm will be referred to as User KNN.The predictionrui for an item rating for an end-user is computed with the following formula:(23)rui^=∑v∈Nikusimu,v⋅rvi∑v∈Nikusimu,v,where Niku is the k-neighborhood of users concerning user u. sim(u, v) represents the similarity function explained above among end-user u and user v. rvi indicates rating for item i given by user v.


#### 3.2.2. Itemk-Nearest Neighbors

There is another memory-based neighbor algorithm, calculating resemblance among items instead of end-users in the graph. In this study, this algorithm will be referred to as Item KNN. The rating prediction for a user of an item is computed with the help of the following formula:(24)rui^=∑j∈Nukisimi,j⋅ruj∑j∈Nukisimi,j,where Niku is the k-neighborhood of users concerning user u. sim(i, j) indicates similarity function explained above among item i and item j. ruj is the rating for item j given by user u.


### 3.3. User-Based Collaborative Filtering

The user-related CF procedure yields a reference list for the thing end users concerning the view of other end users. Ratings of various items valued by limited end-users are alike; the rankings of additional items valued by end-users will also be similar; CF RSs use statistical methods to hunt the adjacent neighbors of the item user, subsequently basing indicates on the object score rated by the adjacent neighbors to forecast the thing rating rated by the object user and give an equivalent endorsement list. CF component makes use of strategy as follows. According to this algorithm, a subgroup of users are selected based on their resemblance to the active end-user; a weighted combination of their ratings is to yield forecasts for the active end-user.The algorithm would follow the below steps:Step 1. Each user is weighed concerning resemblance with the active end-user. Similarity among users is computed as the correlation among their rating vectors.Step 2. Active users having the highest similarity are chosen.Step 3. Calculate a prediction,Pa,u, from a weighted blend. Similarity among two users is computed with the help of correlation coefficient.(25)Pa,u=∑i=1mra,i−ra¯∗ru,i−ru¯∑i=1mra,i−ra¯2∗∑i=1mru,i−ru¯|3,wherera,i indicates the rating valued to an item i by user a and ra indicates mean rating given by user a.Step 4. Forecasts are calculated as the weighted average of deviations from the neighbor's mean:(26)Pa,i=r¯a+∑u=1nru.i−r¯u∗Pa,u∑u=1nPa,u,where Pa,i are the factors to forecast for the active end-user a for item i. Pa,u is the similarity between users a and u. n is the number of users in the neighborhood.


## 3.1. Matrix Factorization

Matrix factorization (MF) is a method that calculates a hidden feature model of a system with the help of user item communication. Moreover, end-user item relations may be embodied as a matrix and one axis and substances on the other. Additionally, in maximum movie recommendation systems communications ratings are given by users for movies but they can be diverse data as well, like implied feedback and temporal properties. Furthermore, rating matrix is represented as sparse matrix real-time applications and end-users valued a fraction of all the movies in the organization. Likewise, MF is to construct expected forecasts on sparse matrices. Also, the matrix factorization technique decreases the dimensions of the rating matrixr by factorizing it into a product of two latent factor matrices, p for the users and q for movies [7].(17)r11⋯r1i⋮⋱⋮ru1⋯rui=p1p2p3⋮puq1q2…qi,r=PQT.We have that f is the number of features extricated, u is the number of users, and I is the number of items (in our case, movies). Every row pu indicates vector of features for a user u and every row qi is a vector of features for an item i. Additionally, the product of vectors styles an approximation of the original rating.(18)rui=PuQiT.There are numerous ways of factorizing a matrix through several parts, utilized in various fileds of machine learning as well as statistics; nevertheless, maximum approaches do not work in case of any misplaced values in the matrix. Moreover, if it can be completed, Moreover, if it is completed, not only will observed values be estimated, but all missing values will also be forecasted. Additionally, one technique is to impute the lost values; however, doing so can distort the discovered data due to the sparseness of the original matrix. One more is to factorize by only utilizing the detected ratings and try to decrease the squared error.(19)Min∑rui−puqiT.However, there is a consequence in overfitting the preparation data. In order to avoid overfitting, a regularization term is presented to the squared error. Influence of regularization is measured by constantβ [68].(20)min∑rui−puqiT2+βpu2+qi2,where ||.|| denotes the Frobenius norm. This method has been displayed to be extremely fruitful and at the similar time scalable on especially large datasets, for example, the Netflix Prize competition where it was utilized in the two utmost accomplishing solutions [51]. Furthermore, the factorization could be completed and less memory is required when constructing a forecast (two vectors of size nf) compared to neighborhood methods where it is essential to keep the whole rating matrix or a subset of it in memory.


## 3.2. Userk-NN Algorithm

The algorithm focused on in this experiment isk-NN, which measures the distance between nodes in a graph with respect to user or item similarities. The similarities for the neighborhood-based implementations can be calculated with different metrics; this study will use the Pearson correlation coefficient. This is a widely and commonly used metric for similarity measurements, used in earlier studies of k-NN benchmark analysis for movie datasets [30, 31].This similarity formula calculates the similarity among useru and user v:(21)pearson_simu,v=∑rui−µv.rvi−µv∑rui−µu^2⋅∑​rvi−µv^2,where Iuv are the items rated by both end-user u and user v. rui is the rating produced by end-user u to item i. rvi is the rating produced by user v to item i. μu is the mean rating produced by user u. μv is the mean rating produced by user v.This similarity formula calculates the similarity among itemi and item j:(22)Pearsonsimi,j=∑u∈Uijrui−ui.ruj−uj∑u∈Uijrui−ui2.∑u∈Uijruj−uj2,where Uij are the users who have rated both items i and j. rui is the rating given by user u to item i. ui indicates mean rating for item i. uj indicates mean rating for item j.


### 3.2.1. User-Relatedk-Nearest Neighbors

The memory-based algorithmk-nearest neighbor is the most prevalent CF method in RSSEs. The basic strategy used by this algorithm is to measure weight for the user’s score by looking at votes by other k similar users. In this study, this algorithm will be referred to as User KNN.The predictionrui for an item rating for an end-user is computed with the following formula:(23)rui^=∑v∈Nikusimu,v⋅rvi∑v∈Nikusimu,v,where Niku is the k-neighborhood of users concerning user u. sim(u, v) represents the similarity function explained above among end-user u and user v. rvi indicates rating for item i given by user v.


### 3.2.2. Itemk-Nearest Neighbors

There is another memory-based neighbor algorithm, calculating resemblance among items instead of end-users in the graph. In this study, this algorithm will be referred to as Item KNN. The rating prediction for a user of an item is computed with the help of the following formula:(24)rui^=∑j∈Nukisimi,j⋅ruj∑j∈Nukisimi,j,where Niku is the k-neighborhood of users concerning user u. sim(i, j) indicates similarity function explained above among item i and item j. ruj is the rating for item j given by user u.


## 3.2.1. User-Relatedk-Nearest Neighbors

The memory-based algorithmk-nearest neighbor is the most prevalent CF method in RSSEs. The basic strategy used by this algorithm is to measure weight for the user’s score by looking at votes by other k similar users. In this study, this algorithm will be referred to as User KNN.The predictionrui for an item rating for an end-user is computed with the following formula:(23)rui^=∑v∈Nikusimu,v⋅rvi∑v∈Nikusimu,v,where Niku is the k-neighborhood of users concerning user u. sim(u, v) represents the similarity function explained above among end-user u and user v. rvi indicates rating for item i given by user v.


## 3.2.2. Itemk-Nearest Neighbors

There is another memory-based neighbor algorithm, calculating resemblance among items instead of end-users in the graph. In this study, this algorithm will be referred to as Item KNN. The rating prediction for a user of an item is computed with the help of the following formula:(24)rui^=∑j∈Nukisimi,j⋅ruj∑j∈Nukisimi,j,where Niku is the k-neighborhood of users concerning user u. sim(i, j) indicates similarity function explained above among item i and item j. ruj is the rating for item j given by user u.


## 3.3. User-Based Collaborative Filtering

The user-related CF procedure yields a reference list for the thing end users concerning the view of other end users. Ratings of various items valued by limited end-users are alike; the rankings of additional items valued by end-users will also be similar; CF RSs use statistical methods to hunt the adjacent neighbors of the item user, subsequently basing indicates on the object score rated by the adjacent neighbors to forecast the thing rating rated by the object user and give an equivalent endorsement list. CF component makes use of strategy as follows. According to this algorithm, a subgroup of users are selected based on their resemblance to the active end-user; a weighted combination of their ratings is to yield forecasts for the active end-user.The algorithm would follow the below steps:Step 1. Each user is weighed concerning resemblance with the active end-user. Similarity among users is computed as the correlation among their rating vectors.Step 2. Active users having the highest similarity are chosen.Step 3. Calculate a prediction,Pa,u, from a weighted blend. Similarity among two users is computed with the help of correlation coefficient.(25)Pa,u=∑i=1mra,i−ra¯∗ru,i−ru¯∑i=1mra,i−ra¯2∗∑i=1mru,i−ru¯|3,wherera,i indicates the rating valued to an item i by user a and ra indicates mean rating given by user a.Step 4. Forecasts are calculated as the weighted average of deviations from the neighbor's mean:(26)Pa,i=r¯a+∑u=1nru.i−r¯u∗Pa,u∑u=1nPa,u,where Pa,i are the factors to forecast for the active end-user a for item i. Pa,u is the similarity between users a and u. n is the number of users in the neighborhood.


## 4. Proposed Methodology

In this experiment, we implement the recommender system using user-related CF (collaborative filtering) and prediction of the movie ratings of MovieLens dataset using a RapidMiner tool.


### 4.1. Dataset

For our dataset, we are using MovieLens, a set of movie ratings structured and made available by GroupLens. We use two sizes of it, MovieLens 100K containing 100.000 ratings and MovieLens 1M containing 1.000.000 ratings. The ratings are explicit containing user ID, movie ID, rating [1, 5], and a time tag. Moreover, the diverse datasets on the website are free for research and education (Table 2).Table 2
MovieLens dataset.
DatasetsUsersMoviesRatingsMovieLens 100K9431682105MovieLens 1M60403706106MovieLens 10M6987810677107


### 4.2. Method

The collaborative filtering (CF) scheme is to forecast user preferences for the unrated items and, after that, it recommends the most preferred items out of the list to the users. Nowadays, it is the mostly used recommender system method. Moreover, it delivers the best preferences to the user. Many websites use this method like Amazon, Twitter, and so forth. As we are aware that 33% of the sales of Amazon are just because of the recommender system which uses the collaborative method, the recommender system using user-based CF is implemented.Thek-nearest neighbor computation based on comparison with an unclear example and the k making examples are the neighboring elements of the obscure sample. The main goal is to use a database wherein the information emphases are inaccessible into a few classes to antedate the order of another sample point. KNN can be utilized for classification — the yield is class participation (predicts a class — a discrete worth). An item is arranged by a dominant part vote of its neighbors, with the article being relegated to the class generally regular among its k closest neighbors. It can likewise be utilized for regression — output is the incentive for the article (predicts constant qualities). This worth is the normal (or middle) of the estimations of its k closest neighbors.


### 4.3. Tool

#### 4.3.1. RapidMiner Extension for Collaborative Recommender Engine

RS in RapidMiner Extension lead is allowed to set up with the help of e-LICO (e-Laboratory Interdisciplinary Collaborative Research) in Data-Science. RS is three types of administrators as object Recommendation, object rating prediction, and recommender performance. The author identifies with collaborative filtering in “thing rating prediction.” Shared grounded administrators return a model set as having to prepare information, repeating a prepared model, and unaffected preparing information. The current applied technique rating forecast administrator recovers a prepared model and a test as information. The result of the currently employed model is a practice to figure execution utilizing the performance administrator. The performance operator will evaluate the error methods and error rates using the following methods. (i) Root Mean Square Error [RMSE], Mean Absolute Error [MAE], and Normalized Mean Absolute Error [NMAE]. Eventually, error measures quantities values are represented as vector of performance example set. In this experiment, the authors used a dataset called MovieLens which is freely available (see Figure2). Here rating interval is considered as 1 to 5. In this process three files are considered: ratings.dat, users.dat, and movie.dat. In order to predict end-user rating with the help of CF method, three attributes are considered: (i) user ID, (ii) movie ID, and (iii) rating.Figure 2
Initial dataset from MovieLens.


### 4.4. Create a Workflow of Item Recommendation in RapidMiner

#### 4.4.1. Use of Single Model

The authors used AML operators to retrieve sparse dataset. This operator generates as result two files, training.aml and testing.aml. Collaborative recommender is an operator that creates recommendation model with the help of user-item matrix. The operator example set consists of data through which user rating is predicted. Item recommendation operator is used to identify dissimilar items rankigs for every individual user stored as part of database. Item related recommendation system gives matrix related to the resemblances among the rest of the items that are from different movies. KNN would identify unranked items with existing short list with the help of similar items. At last KNN predicts items that are weighted average of the ratings brought by the user. Afterwards, the below workflow is built as shown in Figure3 according to the RapidMiner tool.Figure 3
Workflow to find users’ ratings for movies.An item recommendation follows in Figure 3; it reads AML operator twice according to what is produced in training and testing sample data. Subsequently, roles are assigned for the below attributes:User ID indicates end-user identification.Item ID indicates item identification.Rating indicates target label.The KNN operator component rating anticipation and apply model are used for forecasting rating. This operator yields a sample set possessing forecast ratings towards movies about a significant user in a testing example set. Figure 4 presents forecast output in a given dataset of movies of a specific user. Figure 5 demonstrates steps to measure the efficiency of a recommendation model. Working process to assess the recommendation system model efficiency in Figure 6 is analogous to Figure 7. The AML operator twice stores the input data or information and eventually sets roles to user ID and item ID. Subsequently, KNN operator used to predict item rating and employed model performance is also evaluated and then it is run. Afterwards, results are computed by applying RMSE, MAE, and NMAE as demonstrated in Figure6. Less values of RMSE and MAE indicate better accuracy.Figure 4
ratings for movies.Figure 5
Using Multiply operator, Model Combiner (rating prediction), to put on multiple models to a set of data.Figure 6
Performance of the recommender system using a single model.Figure 7
The complete model with userk-NN as model builder.


#### 4.4.2. Ensemble of Models

There are various procedures existing for item rating and they would be related in hybrid; also their result will be mutual with respect to weighted method in order to shape a model for the recommendation system. In order to apply the ensemble model, the authors used twofold operators where they multiply Model Combiner for the Rating Forecast. In this circumstance, the authors utilized an item KNN and matrix factorization algorithms in an analogous manner. Below steps involved in following process are presented in Figure 5.After executing the above model, with predefined parameters, performance of recommendation system is drastically increased. The result is presented in Figure 8.Figure 8
Performance of the recommender system using multiple models.


## 4.1. Dataset

For our dataset, we are using MovieLens, a set of movie ratings structured and made available by GroupLens. We use two sizes of it, MovieLens 100K containing 100.000 ratings and MovieLens 1M containing 1.000.000 ratings. The ratings are explicit containing user ID, movie ID, rating [1, 5], and a time tag. Moreover, the diverse datasets on the website are free for research and education (Table 2).Table 2
MovieLens dataset.
DatasetsUsersMoviesRatingsMovieLens 100K9431682105MovieLens 1M60403706106MovieLens 10M6987810677107


## 4.2. Method

The collaborative filtering (CF) scheme is to forecast user preferences for the unrated items and, after that, it recommends the most preferred items out of the list to the users. Nowadays, it is the mostly used recommender system method. Moreover, it delivers the best preferences to the user. Many websites use this method like Amazon, Twitter, and so forth. As we are aware that 33% of the sales of Amazon are just because of the recommender system which uses the collaborative method, the recommender system using user-based CF is implemented.Thek-nearest neighbor computation based on comparison with an unclear example and the k making examples are the neighboring elements of the obscure sample. The main goal is to use a database wherein the information emphases are inaccessible into a few classes to antedate the order of another sample point. KNN can be utilized for classification — the yield is class participation (predicts a class — a discrete worth). An item is arranged by a dominant part vote of its neighbors, with the article being relegated to the class generally regular among its k closest neighbors. It can likewise be utilized for regression — output is the incentive for the article (predicts constant qualities). This worth is the normal (or middle) of the estimations of its k closest neighbors.


## 4.3. Tool

### 4.3.1. RapidMiner Extension for Collaborative Recommender Engine

RS in RapidMiner Extension lead is allowed to set up with the help of e-LICO (e-Laboratory Interdisciplinary Collaborative Research) in Data-Science. RS is three types of administrators as object Recommendation, object rating prediction, and recommender performance. The author identifies with collaborative filtering in “thing rating prediction.” Shared grounded administrators return a model set as having to prepare information, repeating a prepared model, and unaffected preparing information. The current applied technique rating forecast administrator recovers a prepared model and a test as information. The result of the currently employed model is a practice to figure execution utilizing the performance administrator. The performance operator will evaluate the error methods and error rates using the following methods. (i) Root Mean Square Error [RMSE], Mean Absolute Error [MAE], and Normalized Mean Absolute Error [NMAE]. Eventually, error measures quantities values are represented as vector of performance example set. In this experiment, the authors used a dataset called MovieLens which is freely available (see Figure2). Here rating interval is considered as 1 to 5. In this process three files are considered: ratings.dat, users.dat, and movie.dat. In order to predict end-user rating with the help of CF method, three attributes are considered: (i) user ID, (ii) movie ID, and (iii) rating.Figure 2
Initial dataset from MovieLens.


## 4.3.1. RapidMiner Extension for Collaborative Recommender Engine

RS in RapidMiner Extension lead is allowed to set up with the help of e-LICO (e-Laboratory Interdisciplinary Collaborative Research) in Data-Science. RS is three types of administrators as object Recommendation, object rating prediction, and recommender performance. The author identifies with collaborative filtering in “thing rating prediction.” Shared grounded administrators return a model set as having to prepare information, repeating a prepared model, and unaffected preparing information. The current applied technique rating forecast administrator recovers a prepared model and a test as information. The result of the currently employed model is a practice to figure execution utilizing the performance administrator. The performance operator will evaluate the error methods and error rates using the following methods. (i) Root Mean Square Error [RMSE], Mean Absolute Error [MAE], and Normalized Mean Absolute Error [NMAE]. Eventually, error measures quantities values are represented as vector of performance example set. In this experiment, the authors used a dataset called MovieLens which is freely available (see Figure2). Here rating interval is considered as 1 to 5. In this process three files are considered: ratings.dat, users.dat, and movie.dat. In order to predict end-user rating with the help of CF method, three attributes are considered: (i) user ID, (ii) movie ID, and (iii) rating.Figure 2
Initial dataset from MovieLens.


## 4.4. Create a Workflow of Item Recommendation in RapidMiner

### 4.4.1. Use of Single Model

The authors used AML operators to retrieve sparse dataset. This operator generates as result two files, training.aml and testing.aml. Collaborative recommender is an operator that creates recommendation model with the help of user-item matrix. The operator example set consists of data through which user rating is predicted. Item recommendation operator is used to identify dissimilar items rankigs for every individual user stored as part of database. Item related recommendation system gives matrix related to the resemblances among the rest of the items that are from different movies. KNN would identify unranked items with existing short list with the help of similar items. At last KNN predicts items that are weighted average of the ratings brought by the user. Afterwards, the below workflow is built as shown in Figure3 according to the RapidMiner tool.Figure 3
Workflow to find users’ ratings for movies.An item recommendation follows in Figure 3; it reads AML operator twice according to what is produced in training and testing sample data. Subsequently, roles are assigned for the below attributes:User ID indicates end-user identification.Item ID indicates item identification.Rating indicates target label.The KNN operator component rating anticipation and apply model are used for forecasting rating. This operator yields a sample set possessing forecast ratings towards movies about a significant user in a testing example set. Figure 4 presents forecast output in a given dataset of movies of a specific user. Figure 5 demonstrates steps to measure the efficiency of a recommendation model. Working process to assess the recommendation system model efficiency in Figure 6 is analogous to Figure 7. The AML operator twice stores the input data or information and eventually sets roles to user ID and item ID. Subsequently, KNN operator used to predict item rating and employed model performance is also evaluated and then it is run. Afterwards, results are computed by applying RMSE, MAE, and NMAE as demonstrated in Figure6. Less values of RMSE and MAE indicate better accuracy.Figure 4
ratings for movies.Figure 5
Using Multiply operator, Model Combiner (rating prediction), to put on multiple models to a set of data.Figure 6
Performance of the recommender system using a single model.Figure 7
The complete model with userk-NN as model builder.


### 4.4.2. Ensemble of Models

There are various procedures existing for item rating and they would be related in hybrid; also their result will be mutual with respect to weighted method in order to shape a model for the recommendation system. In order to apply the ensemble model, the authors used twofold operators where they multiply Model Combiner for the Rating Forecast. In this circumstance, the authors utilized an item KNN and matrix factorization algorithms in an analogous manner. Below steps involved in following process are presented in Figure 5.After executing the above model, with predefined parameters, performance of recommendation system is drastically increased. The result is presented in Figure 8.Figure 8
Performance of the recommender system using multiple models.


## 4.4.1. Use of Single Model

The authors used AML operators to retrieve sparse dataset. This operator generates as result two files, training.aml and testing.aml. Collaborative recommender is an operator that creates recommendation model with the help of user-item matrix. The operator example set consists of data through which user rating is predicted. Item recommendation operator is used to identify dissimilar items rankigs for every individual user stored as part of database. Item related recommendation system gives matrix related to the resemblances among the rest of the items that are from different movies. KNN would identify unranked items with existing short list with the help of similar items. At last KNN predicts items that are weighted average of the ratings brought by the user. Afterwards, the below workflow is built as shown in Figure3 according to the RapidMiner tool.Figure 3
Workflow to find users’ ratings for movies.An item recommendation follows in Figure 3; it reads AML operator twice according to what is produced in training and testing sample data. Subsequently, roles are assigned for the below attributes:User ID indicates end-user identification.Item ID indicates item identification.Rating indicates target label.The KNN operator component rating anticipation and apply model are used for forecasting rating. This operator yields a sample set possessing forecast ratings towards movies about a significant user in a testing example set. Figure 4 presents forecast output in a given dataset of movies of a specific user. Figure 5 demonstrates steps to measure the efficiency of a recommendation model. Working process to assess the recommendation system model efficiency in Figure 6 is analogous to Figure 7. The AML operator twice stores the input data or information and eventually sets roles to user ID and item ID. Subsequently, KNN operator used to predict item rating and employed model performance is also evaluated and then it is run. Afterwards, results are computed by applying RMSE, MAE, and NMAE as demonstrated in Figure6. Less values of RMSE and MAE indicate better accuracy.Figure 4
ratings for movies.Figure 5
Using Multiply operator, Model Combiner (rating prediction), to put on multiple models to a set of data.Figure 6
Performance of the recommender system using a single model.Figure 7
The complete model with userk-NN as model builder.


## 4.4.2. Ensemble of Models

There are various procedures existing for item rating and they would be related in hybrid; also their result will be mutual with respect to weighted method in order to shape a model for the recommendation system. In order to apply the ensemble model, the authors used twofold operators where they multiply Model Combiner for the Rating Forecast. In this circumstance, the authors utilized an item KNN and matrix factorization algorithms in an analogous manner. Below steps involved in following process are presented in Figure 5.After executing the above model, with predefined parameters, performance of recommendation system is drastically increased. The result is presented in Figure 8.Figure 8
Performance of the recommender system using multiple models.


## 5. Result Analysis

Instruction for the user test was integrated into the applications menu. The users were asked to first rate 10 movies, making them eligible as a recommended item to friends. After rating the ten movies, six movies would be recommended to the user (see Figures 9 and 10).Figure 9
Rating at least 10 movies for recommendation.Figure 10
Recommended movies.After rating, the ten movies based on star top movies are recommended to the user.The system movie database consists of 200 movies. The goal was to create a list of well-known movies that could generate many ratings from the user.A total of 1000 ratings were registered in the system.


### 5.1. Dataset

The dataset used for prediction is in the form of Excel. There are two files: one contained the movie's information and the other contained the rating information. A total of 10,000 movies were taken into account.A total of 10,000 ratings were registered by 671 users. It was shown that end-users were likely to rate movies higher rather than less. An end-user’s average rating was computed to 11–13 (see Figures 11–13).Figure 11
Movie dataset.Figure 12
Distribution of user ratings.Figure 13
Distribution of prediction ratings.


## 5.1. Dataset

The dataset used for prediction is in the form of Excel. There are two files: one contained the movie's information and the other contained the rating information. A total of 10,000 movies were taken into account.A total of 10,000 ratings were registered by 671 users. It was shown that end-users were likely to rate movies higher rather than less. An end-user’s average rating was computed to 11–13 (see Figures 11–13).Figure 11
Movie dataset.Figure 12
Distribution of user ratings.Figure 13
Distribution of prediction ratings.


## 6. Conclusions

Recommender systems are a popular method for anticipating user behavior in systems that have a lot of data. The systems give the applications in which they are utilized with important client suggestions, allowing the business to make more money. They assist the customer by providing appropriate products while also generating revenue for the specific organization. The system must also provide adequate recommendations to newly recruited users so that they are satisfied with the suggestions. One technique to improve the precision of the predictions is to ask the end-user to rate numerous movies, which will gradually improve the precision of the suggestions. Currently, a community-based separation calculation is being carried out and evaluated. This paper proposes recommender frameworks and the use of RRE [RapidMiner Recommender Engine] to generate community-oriented film choices. RapidMiner, on the other hand, helps researchers to unleash their creativity by providing easy-to-use built-in models for distinguishing experiments and datasets. This article expected and supplied a number of machine learning tailored operators that could be used to solve various data science and machine learning problems. Deep learning models have also been introduced for various experiments for ensemble purposes. Nonetheless, the efficient use of recommender frameworks for tailored recommendation systems greatly contributes to present world expectations. This existing paradigm, which is based on environmental and business concerns, will alter dynamically in the future as technology improves. The authors looked into current literature for future models that could be improved based on the provided results and discussions. For example, when displaying a user's preferences, combining multiple types of evaluation elements may be more engaging than assuming a single kind. The authors have cited previous authors' implementations, research, and conclusions in fields such as multicriteria recommender systems, context-based recommender systems, and emotion-consideration recommender systems.



---

*Source: 2854741-2022-07-11.xml*