{'fraction_non_alphanumeric': 0.02673926194797338, 'fraction_numerical': 0.010324662230288365, 'mean_word_length': 5.058148057659419, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 1, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Rating Prediction for Mobile Applications via Collective Matrix Factorization Considering App Categories

The rapid development of Internet and mobile communication, smart phone, tablet computer and other mobile devices become widespread, they have become an indispensable part of life, changing the human lifestyle, way of working and learning style, it brings great convenience and fun to us. This paper mainly discusses the status of personalized recommendation system, mobile application and analyse the main problems of recommendation system. This research proposes a rising mobile application domain, which uses web crawling technique to get explicit feedback from a real-world mobile application market. The explicit feedback is the users’ ratings data on Apps and the corresponding category information. To establish a mobile application recommendation model based on user interest and categorization information and propose a novel collective matrix factorization algorithm. Through the crawled data, the improved algorithm, and the traditional collaborative. The traditional mobile application recommendation systems are mostly based on keyword search, popularity, download usage and categories, thus they do not make personalized recommendation to users, and invalid to find applications that users are interested in. Through the user’s historical behaviour, a personalized recommendation system can be established to recommend the applications that fit user’s interests effectively. This paper is based on the collective matrix factorization using user interest such as user’s ratings and category information, designs a personalized recommendation system for mobile applications by using the relationship between them.


Introduction
In recent years, with the rapid development of internet and mobile communication, smart phone, tablet computer and other mobile devices has played an important role in people life, these devices have become an indispensable part of life, changing the human lifestyle, way of working and learning style, it brings great convenience and fun to us. It also creates economic opportunities for app developers, companies, and marketers. At present, users are able to access a substantial number of apps via App Stores like Apple Store and Google Plays. Furthermore, the selection available in app stores is growing rapidly as new apps are approved and released daily. While this growth has provided users with a myriad of unique and useful apps. Since the emergence of Apple and Android apps markets, at the end of March 2017, Android applications had reached more than 2.8 million, while Apple had more than 2.2 million apps [1] . Therefore, the explosive growth of mobile application increases the difficulty of users to discover the apps that fit their interests. Mobile personalized application recommendation system [2] can better solve the following problems, it is for not only developers to provide more opportunities for exploring the applications, so more applications can be seen by users and it is a good way to reduce the cost of the promotion of the developers. Furthermore, it takes the initiative to help users filter some unrelated information, recommend the applications which users might be interested in, it better reduces the user screening application time costs, allowing users to find the desired application more easily. This research aims to build mobile application recommender system for customers using collective matrix factorization and update rule use the stochastic gradient descent algorithms to make predictions and recommendations and experimentations using a real-world dataset from Apple Store and compare with state-of-art recommender system algorithms. Matrix factorization [3] is one of model-based method that becomes extensive and widely used because it is able to perform high scalability and accuracy, it also gets success in Netflix challenge, which is a competition for implementing movie recommender system [4], matrix factorization uses talent factor of users and items in share talent space of user-item matrix and calculate by inner product [5]. This research paper is divided into the following: section 2 presents the related works on recommendation system; section 3 discusses the system implementation and experimental setup for proposed recommendation system and mobile app predictions; section 4 analyses the results of the experiment involving the system; section 5 provides a conclusion.

Recommender system
Search engine requires the explicit needs of users, and it finds what they want when they cannot describe a clear message or when it is difficult for users to describe it with simple keywords. Google and Baidu are the examples of popular search engine, these websites provide billion of information and numerous users around the world. In addition, there are some websites that use category to make it easier for users to find what they need by category. With the continuous expansion of the Internet, this method can only cover the popular information and does not effectively meet the needs of users. There are some examples of category site, such as Yahoo, DMOZ, hao123. Recommender system can solve the deficiencies of above techniques [6] [7]. It is a tool for contacting users and information to help users find useful information. The users do not need to provide explicit requirements. It builds a model of interest to users through past historical behaviour, and then proactively recommend information that will satisfy their interests. In order to make a recommendation, the system should collect the information of user interaction, where user interaction divided into two types, there are explicit and implicit feedback [8] [9]. Explicit feedback obtains user preferences data from displayed and ready to use information, such as users' ratings. Implicit feedback obtains user preferences data learned and inferred from user actions. For example, the number of clicks on web page, usage times, user searching pattern and so on [10]. Recommendation system (in Figure 1) such as YouTube that is a web application giving suggestion to the user about some relevant videos based on user browsing's histories. Another example is Facebook, the system will suggest some friends based on concept "People you may know" by analysing the common friends of friends. Taobao is one of Chinese e-commerce website. There are millions of products sold in there. The system recommends some products based on users' purchase histories, the clicks, and ratings for products.

Personalized Recommender system
Personalized recommender system was first proposed by Malone and other researchers in 1987, personalized recommender system is mainly divided into three categories: cognitive filtering, social filtering, and economy filtering [11]. The informal concept of the currently widely recommender system is given by Resnick and Varian in 1997 [12]. It is the use of e-commerce site to provide customers with product information and recommendations to help users decide what products should be purchased, imitate salesmen to help customers complete their purchase process. A general personalized recommendation system flow consists of three parts: -Input module for user information collection, mainly used to collect the user's personal input. The target user's personal input refers to the information related to the target user, including the user's personal information, item attributes, user historical behaviour, such as reviews and rating information, page tour history, shopping basket information, purchase history, etc. -Recommendation module is the core module of personalized recommender system [13], it is directly related to the performance of the recommender system. The main function of the recommendation module is to predict the user's evaluation of items based on user information, item information, and other information that is used for recommendation.  Figure 2. Architecture of Recommender System. The recommender algorithm [14] is the most critical and core part of the recommender system, which largely determines the performance of recommender system [15]. At present, the recommender algorithms are mainly divided into 3 types: contend-based approach, collaborative filtering and hybrid approach. Currently, recommendation system that mentioned in Figure 2 is classified into two types, namely traditional and context-aware recommendation system. Traditional recommendation system [16] does not use contextual information while processing. Among of different approaches in a recommendation system, collaborative filtering is one of the most popular and commonly used traditional recommendation system techniques in many industries [17] [18].

Context-aware recommender system
Context-aware recommender system is classified as three types [19] [20]: Contextual Prefiltering, Contextual Postfiltering and Contextual Modelling. The three paradigm of context recommender system show as Figure 3.

Contextual Prefiltering:
in this paradigm, context information [21] is firstly utilized for filtering irrelevant set of data and selecting relevant information before showing the results of recommendations. After that, predict the rating by using any 2D traditional recommender systems according to selected data, traditional recommender systems include collaborative filtering, content-based, hybrid approaches, etc.

Contextual
Postfiltering: in this paradigm, context information is firstly ignored before. generating a predicted result, entire data is applied on 2D traditional recommender systems [19]. After getting the list of recommendations, the model will filter out the irrelevant items according to a given context that the users request.

Contextual Modelling:
in this paradigm, context information is used in the whole process of generating recommendations, design appropriate algorithms and models to deal with multidimensional context user preferences. This approach requires the processing of high dimensional data, which is the most complex, but it can also effectively excavate the relationships between users, items, and contexts.

Previous research works.
Kaoungku et.al [22] presented a technique for association rule mining on multiple dataset to help in the association rule mining, replace association rule mining from large dataset which require high performance computer to process, a technique combined with Fact++ Reasoner to check conflicts of rule. dataset that similar efficient to the association rules from one dataset can be checked by ontology using protégé editor, the association rule dataset used Breast-cancer dataset from the UCI Machine learning repository that consists of 10 attributes and 286 data instances, the experiment was divided into three datasets using minimum support for association rule mining at 0.3 and 0.5. the results of association rule identified that the association rule from multiple datasets is missing a lot with minimum support 0.3, but one dataset is clearly different. There are some association rules from multiple datasets are still missing and effectively close association rules from one dataset with minimum support 0.5. Siddiqui et.al [23] introduced the problem of mining association rules in large relational tables containing both quantitative and categorical attributes using k-mean clustering, the success of the algorithm is mainly relied on the supervised multivariate procedure user for discretizing the continuous attributes in order to generate the rules. The proposed method avoided three main drawbacks by rule mining algorithm, production of a high number of rules, discovery of uninteresting patterns and low performance that linearly scaled the algorithm with number of records. Shine and Kulkarni [24] proposed a fast k-medoids clustering algorithm which is used for hybrid personalized recommender system that provide clustering of user-item rating matrix and the recommendations for the active user with goof quality rating using similar measures. The result using Iris data showed that the proposed k-medoids clustering algorithm performed better than k-medoid, kmean and FCM that enhance to improve the rating quality, furthermore, hybrid personalized recommender system performed better than web personalized recommender system.

Methodology and experiment setup
Matrix factorization as collaborative filtering technique is proposed to be able to solve prediction problem. The quality of the prediction will be improved when incorporating other contextual information such as time context, location context. Collective matrix factorization (CMF) is a technique that expand from matrix factorization models which not only uses the user-item pairs, but also considers about others contextual information. Moreover, Term frequency -inverse document frequency (TF-IDF) is also proposed to evaluate the important of words to information search and text mining in a document set or whole corpus. This research makes a collective matrix factorization from mobile application rating data and category data that consisting of two matrices such as user-app matric and item-category matric. Suppose U is a set of all users and A is a set of applications, then donate R u,a as a rating matrix for user and app. Data is crawled from www.itunes.apple.com which is apple app store, it means real world dataset is used to conduct in this research, each application contains application name, description, price, version, size, language, customer rating and reviews, after that the provided data will be converted into user-app matrix and app-category matrix by given the id data number for each user, app and category. The estimation of this matrix will be donated � , . R u, a is observed matrix for every (u,a) ϵ U x A. The goal of mobile application prediction is to estimate missing values in the user-app matrix which To do this, we initially decompose the user-app matrix into P and Q. P represents the relation between user and talent factor. Q denotes the relation between item and talent factor. The inner product of these two vectors can define as below: , (1) For the second matrix denotes S a, c as app-category matrix, A is set of app and C is set of categories. every (a,c) ϵ A x C. The estimation of this matric will denotes as � , . The app-category matrix is decomposed into Q and V. Q represents the relation between app and talent factors, V denotes the relation between category and talent factors. The inner product of these two vectors can define as below:   Figure  4), some users usually like to download one category of applications more than others, thus the system will normally recommend that kind of application to the users, ignoring the recommendation of other categories. It is found that the number of downloads does not fully represent the user's preference for the application, the rating for the application is also critical. For example, a user like to download games, but on among of those games, there are some games which have low rating, the system still recommends it to user because of the high distribution of games, but this user also likes other categories of application, but system cannot capture, when we utilize category information into the system. Therefore, this research uses TF -IDF technique to reflect the importance of each application in each category. The concept of TF-IDF used weighting technique based on statistical methods to identify the number of time and word increases in proportion which a word appears in the document, in a given document, TF referred to the frequency at which a given word appears in the document, this number is the normalization of the number of words of words as follows: Where n i,j is the number of times the word t i appears in the document d j , and the denominator is the sum of the occurrences of all the world in the documents d j .
IDF is a measure of the universal importance of words, which reflects in the corpus, IDF of particular word can be calculated as the number of documents which contain the word divides by the number of the total number of documents, then the result is taken from the logarithm of obtained quotient as follow: Therefore IF-IDF of a word can be calculated as follow: If occurrences of a word in a document have high frequency (large TF value) and the word rarely appears in other documents (IDF value is small), it can generate a high weight TF-IDF for the word, it is considered that this word has a good ability of categorization and suitable for classification. The weight of app over category to reflect the importance of the app in specific category as following: Where jl r  is the average rating of app j that belongs to category l, jl d indicates inverse download rate, |N| and |N l | denote the number of all rating and the number of rating which rate category l respectively. In addition, the idea of global average is also utilized, it includes item bias, user bias, and user-item interaction to estimate the predicted rating as follow: The proposed model incorporates all the information above that is user-app matrix, app-category matrix, and the weight of app in specific category at the same time, the function can describe as bellow: represents the corresponding indicator matrix, J(I, J) = 1 if user I rates app otherwise J(I, j) = 0.β is used for controlling the influence of corresponding terms, the notation ||.|| denotes matrix frobenius norm.

Review Results of Memory-Based Collaborative Filtering Algorithms
As we know, memory-based collaborative filtering is classified into user-based and item-based approaches. User-based uses historical behaviours as ratings, calculating similarities between users, after that select the most similar users and predict ratings of unrated items through similarities of neighbours. In contract, items-based measures similarities among items, then select the most similar items and evaluate ratings of unrated items through similarities of neighbours. For theses 2 approaches, parameter K which is the number of the most similar users or items significantly affects the performance of algorithms. In Table 1, it is shown the experiments of User-based and Item-based approaches with different parameter K, Pearson correlation similarity is used for calculating similarities between users of apps. With the growth of K value, value of RMSE and MAE of user-based and item-based collaborative filtering are continuously increased in the range between 2 to 50. When K is greater than 50, the RMSE and MAE value tends to be stable. K = 2, the algorithms achieve the best performance, with RMSE = 1.458855 and MAE = 1.197359, user-based gets the best prediction results, while item-based gets the best performance with RMSE = 1.427148 and MAE = 1.164023. As Seen from the results that illustrated in Figure 5, item-based collaborative approach does better performance than user-based collaborative approach.

Review results of model-based collaborative filtering approaches
For model-based collaborative filtering, latent factor is used to represent a dimensional matrix. Matrix factorization is one of model-based that utilizes latent factor to analyse the model and split a raw matrix into two low-rank dimensional matrices. In order to find the best performance of proposed algorithm, the first step is to find how each parameter affects the change of computation accuracy. For proposed method, there are 4 parameters, such as: iteration number, learning rate, latent factor K, parameter of regularized term which avoids over-fitting in loss function. Iteration number of each algorithm are set as 100, changes 3 other parameters in different numbers, in order to find to best value for each parameter.

Impact of different learning rate:
Take proposed method as a sample, set iteration number as 100.regularized term as 0.25, latent factor K as 10. Increase the value of from λ = 0.001 to 0.01 and observe the impact of learning rate. From following table (Table 2), λ = 0.01 performs the best in term of the value of RMSE and MAE that indicated in Figure 6. Thus, choose this value for proposed method.

Impact of different latent factor
Take proposed method as a sample, set iteration number as 100, regularized term β as 0.25, latent factor K as 10. Increase the value of λ from 0.001 to 0.01 and observe the impact of learning rate. From following (Table 3), λ = 0.01 performs the best in term of the value of RMSE and MAE in Figure 7. Thus, choose this value for proposed method.  After obtained the best value of parameters of each model-based approach, the next step is considering the results of each algorithm with different latent factors. We run the algorithms with latent factor starting from 5 to 120. There are 4 algorithms such as basic matrix factorization, biased matrix factorization, non-negative matrix factorization and proposed method. As seen in Table 4, with different latent factor K, for MF, learning rate is set as 0.001, regularized term is set as 0.1. For BMF, learning rate is set as 0.01, regularize term is set as 0.25. Meanwhile learning rate of proposed method is set as 0.01 and regularized term is set as 0.25. In Figure 8, for NMF, when K in the range from 5 to 20, the value of RMSE and MAE is rapidly increased, but when K is greater than 20, these two values start to be decreased. For MF and BMF, while K in the range between 5 and 10, the value of RMSE and MAE are decreased, and these two values are increased when k from 10 to 120. For proposed method (OURS), the value of RMSE and MAE is decreased in the range between 5 and 10, but when K is greater than 10, the values is gradually increased, it indicates that performance of proposed method is more efficient than other model-based collaborative filtering approaches. It demonstrates that incorporating the app category information and the weight of app over category is helpful for developing mobile apps recommender system. Approaches (right).

Performance Comparison of
In Figure 9, it is clear to notice that proposed algorithm achieves the best performance in terms of RMSE and MAE, comparing with user-based, item-based, basic matrix factorization, non-negative matrix factorization and biased matrix factorization. For memory-base approaches, OURS approach improved the performance of user-based and item-based by 12.891% and 10.438% respectively in term of RMSE, in term of MAE, it improved the performance of user-based and item-based by 18.009% and 14.724%. OURS approach improved the performance of MF, BMF, NMF by 2.119%, 1 % and 22.931% respectively in term of RMSE. Meanwhile, OURS approach improved the performance of MF, BMF and NMF by 3.127%, 1.75% and 23.825% respectively in term of MAE. It reflects that by incorporating the app category information and the weight of app over category can significantly increase the performance of prediction.

Conclusion and future works
This paper analyses and summarizes the shortcomings of the existing mobile application recommendation system technologies and algorithms and implements a new recommendation algorithm based on collective matrix factorization. In addition, this study used the real-world data from Apple Store and built a dataset. Specifically, the main contents of this research include the following aspects: Firstly, crawl mobile application data through the crawler technique, the data is from https://itunes.apple.com, the data includes application category information, ratings, and reviews. Secondly, this research focuses on mobile application recommendation based on User App ratings and Application Categories, which is part of context-aware recommendation system. This research uses collective matrix factorization model to make prediction and then recommendation. This research conducts several experimentations to compare the state-of-art approaches and proposed method by running six collaborative filtering algorithms. To achieve the goal, this research also presents six steps for implementing mobile app recommendation. There are many challenges in performing these key steps. By learning the pattern of dataset and the logic of algorithm could be a solution of these challenges. At the end, in order to check the quality of prediction, evaluation metrics such as RMSE and MAE is used, it computes the difference between actual value and predicted value. It also reflects the effectiveness and the robustness of recommender system. The proposed method achieved the best performance in RMSE and MAE when latent factor K = This research discovers that collective matrix factorization algorithm makes a prediction of mobile application by incorporating category information. In summary, the proposed method demonstrates the