A Knowledge Graph based Approach for Mobile Application Recommendation
AA Knowledge Graph based Approach for MobileApplication Recommendation (cid:63)
Mingwei Zhang , Jiawei Zhao , Hai Dong (cid:66) ) , Ke Deng , and Ying Liu Software College, Northeastern University, Shenyang, China { zhangmw,liuy } @swc.neu.edu.cn , [email protected] School of Science, RMIT University, Melbourne, Australia { Hai.Dong,Ke.Deng } @rmit.edu.au Abstract.
With the rapid prevalence of mobile devices and the dra-matic proliferation of mobile applications (apps), app recommendationbecomes an emergent task that would benefit both app users and stock-holders. How to effectively organize and make full use of rich side informa-tion of users and apps is a key challenge to address the sparsity issue fortraditional approaches. To meet this challenge, we proposed a novel end-to-end Knowledge Graph Convolutional Embedding Propagation Model(KGEP) for app recommendation. Specifically, we first designed a knowl-edge graph construction method to model the user and app side infor-mation, then adopted KG embedding techniques to capture the factualtriplet-focused semantics of the side information related to the first-orderstructure of the KG, and finally proposed a relation-weighted convolu-tional embedding propagation model to capture the recommendation-focused semantics related to high-order structure of the KG. Extensiveexperiments conducted on a real-world dataset validate the effectivenessof the proposed approach compared to the state-of-the-art recommenda-tion approaches.
Keywords:
Mobile App Recommendation · Knowledge Graph · Knowl-edge Graph Embedding · Graph Convolutional Network · EmbeddingPropagation.
Recent years, people have witnessed a rapid prevalence of smart mobile devicesand a dramatic proliferation of mobile applications. The large number and highvariety of apps are posing a great challenge for users to choose appropriate ones.As a consequence, app recommendation has attracted more and more attentionthese years. On the one hand, it can help users find their desired or interested (cid:63)
Supported by National Key Research and Development Project of China (No.2019YFB1405302). Please cite the paper as the following:
Zhang, M., Zhao, J.,Dong, H., Deng, K., Liu, Y.: A Knowledge Graph based Approach forMobile Application Recommendation. The 18th International Conferenceon Service Oriented Computing (ICSOC 2020) (2020) a r X i v : . [ c s . I R ] S e p M. Zhang et al. apps more easily and quickly. On the other hand, it will benefit developers andstockholders of apps to get more profits in the mobile app ecosystem.However, sparsity is a typical characteristic of app usage data. For instance,as of May 2020, there are over 2.9 million apps on Google Play[1], but most ofbillions of users only install at most hundreds of apps. To address the sparsityproblem of user-app interactions, researchers usually turn to feature-rich scenar-ios, where side information of users and apps is used to compensate for the spar-sity and improve the performance of recommendation. As detailed in section 5,most of them[2,3,4,5,6,7,8,9,10] only exploited limited types of side information.In addition, they usually treated different kinds of side information as isolatedfeatures of users and apps, and neglected the relations and semantics of them.Consequently, how to effectively organize and make full use of side informationof users and apps is a great challenge to make successful app recommendation.To meet the above challenge, we proposed a KG based app recommendationapproach. A KG is a type of directed heterogeneous graph in which nodes cor-respond to entities and edges correspond to relations[11]. Among various typesof side information, the KG contains much more fruitful facts and introducessemantic relatedness among apps, which can help find their latent connections.Beyond that, the KG consists of relations with various types, which is helpful forexploring a users interests reasonably. To be specific, we proposed a KG convo-lutional embedding propagation model (KGEP) for app recommendation. First,a KG construction method is designed to organize different kinds of side infor-mation effectively. Then, a translation based KG embedding model is adopted tocapture the general semantics of side information from the perspective of generalKG facts. Finally, a relation-weighted KG convolutional embedding propagationmodel is designed to further capture the recommendation-focused semantics fromthe perspective of recommendation. We evaluated the proposed model on a realdataset crawled from Google Play. The experimental results verify the effective-ness of our method for app recommendation when compared to the state-of-the-art methods.The major contributions of this paper are summarized as follows.1. It is the first work, to the best of our knowledge, that incorporates a KG toorganize and take full advantage of diverse side information for app recom-mendation.2. We proposed a novel end-to-end app recommendation model KGEP, whichcan capture the semantics of rich side information related to both the first-order and high-order structures of the constructed KG, by utilizing KG gen-eral embedding techniques and convolutional propagated embedding tech-niques respectively.3. We conducted extensive experiments using a real app dataset. The com-parative results demonstrate that our approach achieves higher performancecompared to the state-of-the-art recommendation methods.The remainder of this paper is organized as follows. Sect. 2 formulates the apprecommendation problem. Sect. 3 presents the proposed model in detail. Sect. 4
G based Mobile App Recommendation 3 discusses the experimental results. Sect. 5 introduces related works. Finally, weconcluded the paper and indicated some future directions in Sect. 6.
The app recommendation scenario contains a set of users U = { u , u , , u |U| } ,a set of apps A = { a , a , , a |A| } , and their historical interactions. In addition,we have rich side information for users and apps (e.g., app attributes and de-scription texts). Typically, such auxiliary data consists of real-world entities andrelationships among them to profile a user or an app. We organized the sideinformation in the form of KG.App Recommendation Knowledge Graph ( ARKG ), denoted as G , is a di-rected graph composed of entity-relation-entity triples ( h, r, t ), where h ∈ E , r ∈ R and t ∈ E are the head, relation, and tail of a knowledge factual triple,and E and R are the set of entities and relations in G , respectively. For example,the triple (Facebook, OfferedBy, Facebook) states the fact that the companyFacebook offers the app Facebook. According to the side information which wecan crawl and their importance for recommendation, we defined the following13 types of entities for the ARKG. Definition 1 (
Content-Topic
Entity) . Considering
Readme texts of appsprovided by developers contain rich app profiles and are crucial to the efficacyof the ARKG to do recommendation, We used probabilistic topic modeling toincorporate them into the ARKG. A
Content-Topic entity is a distribution overterms, which can be used to explore users preference on specific topics. Thenumber of
Content-Topic entities involved in the ARKG is a hyperparameterand can be configured by recommender service users.Due to space limitations, the definitions of the other 12 types of entities (i.e.,
User , App , Category , Provider , Popularity , Age-Restriction , Ads , Fee , Interactive-Elements , Quality , Updated-Time , Size ) involved in the ARKG are not listed anymore. Based on these kinds of entities, 18 relations were defined for the ARKG,the detailed information of which is listed in Table 1.The relation
INTERACT denotes historical user-app interactions. The next11 relations denote that an app has some specific profiles. The last 6 relationsdenote that one entity is similar to another with the same entity type. Based onthe above definitions, how to extract factual triplets and construct the ARKGwill be presented in Sect. 3.1.We formulated the KG-based app recommendation problem as follows. Giventhe sets of users and apps, and their side information, we aim to construct anARKG G . Then taking G as an input, we aimed to predict whether user u hasa potential interest in app a with which she has had no interaction before. Ourtask can be formulated to learn a prediction function ˆ y ua = F ( u, a | θ, G ), whereˆ y ua denotes the probability that user u will engage with app a , and θ denotes themodel parameters of function F . M. Zhang et al.
Table 1.
Relations involved in the ARKGRelation Head entity Tail entity Related side information
INTERACT User App
User-app interaction data
HAVINGCT App Content-Topic
Apps’
Readme texts
HAVINGC App Category
Apps’ category data
OFFEREDBY App Provider
Apps’ provider data
CONTENTR App Age-Restriction
Apps’ content rating data
HAVINGA App Ads
No ads or not of an app
HAVINGF App Fee
Free or not of an app
HAVINGIE App Interactive-Elements
Apps’ interactive-elementsdata
HAVINGQ App Quality
Users review grades of apps
HAVINGP App Popularity
Apps’ install numbers
HAVINGUT App Updated-Time
Apps’ updated time
HAVINGS App Size
Apps’ size data
USIMILAR User User
User-app rating matrix
CTSIMILAR Content-Topic Content-Topic Content-Topic entity data
QSIMILAR Quality Quality Quality entity data
PSIMILAR Popularity Popularity Popularity entity data
UTSIMILAR Updated-Time Updated-Time Updated-Time entity data
SSIMILAR Size Size Size entity data
The framework of our app recommendation model KGEP was presented in Fig. 1,which consists of four main components: 1) ARKG constructing, which aims toconstruct an ARKG for app recommendation; 2) general KG embedding, whichparameterizes each entity or relation as two vectors by preserving the semanticrelatedness among the ARKG; 3) recommendation focused convolutional em-bedding propagation, which recursively propagates embeddings from a nodestail neighbors to update its representation; 4) prediction and learning, whichoutputs the predicted matching scores by the final representations of users andapps, and learns the model parameters. We presented them in detail in the fol-lowing subsections respectively.
ARKG construction mainly involves 2 sub-tasks, i.e., entity identification andrelation extraction.
Entity Identification.
Except
Content-Topic entities, the other kinds of en-tities listed in the above section can be explicitly identified from the side in-formation of users and apps. So we just described the identification method of
Content-Topic entities here.We adopted an LDA model to identify
Content-Topic entities. Its basic ideais that documents are represented as random mixtures over latent topics, where
G based Mobile App Recommendation 5
Users Apps Side Information R a w D a t a ARKG
Constructing
Knowledge Graph
General Knowledge Graph EmbeddingRecommendation Focused Convolutional Embedding Propagation
Entity vectors Entity projection vectors Relation vectors Relation projection vectors
User vectors Appvectors
Prediction and Learning
Predicted Probabilities a a a a |A| Ground TruthTraining (1)(2)(3)(4) aggregator aggregator Users Apps Side Information R a w D a t a ARKG
Constructing
Knowledge Graph
General Knowledge Graph EmbeddingRecommendation Focused Convolutional Embedding Propagation
Entity vectors Entity projection vectors Relation vectors Relation projection vectors
User vectors Appvectors
Prediction and Learning
Predicted Probabilities a a a a |A| Ground TruthTraining (1)(2)(3)(4) aggregator aggregator Fig. 1.
Framework of the proposed Model KGEP each topic is characterized by a distribution over words. The process of
Content-Topic entity identification can be summarized as follows.1.
Text preprocessing and hyperparameter setting . Taking the
Readme text of each app as a document, we can get a corpus, i.e., a collection of |A| documents. We first preprocessed the corpus, i.e., conducting tokenization,stop words removing, stemming, lemmatization and typo corrections. NLTKand Spacy packages of Python were used for these tasks. Then, we set thenumber of topics and other hyperparameters.2.
LDA model learning . Given a preprocessed corpus of documents, we usedvariational EM algorithm to estimate parameters in LDA model. Then foreach app a , let Z = z , z , , z K be the set of latent topics, we can obtain theparameters θ a = θ a , θ a , , θ aK of its Dirichlet distribution over Z .3. Content-Topic entity identifying . For each app a , given its inferredDirichlet distribution parameters θ a = θ a , θ a , , θ aK over Z , it is definedthat app a has Content-Topic z k if and only if ! ∃ θ ai | θ ai > θ ak , (1 ≤ i ≤ K ).Namely, an app has one and only Content-Topic entity.
Relation Extraction.
Due to space limitations, we only detailed the tripletextraction methods for relations
CTSIMILAR and
USIMILAR , which are morecomplex than the methods for other relations.
M. Zhang et al.
The relation
CTSIMILAR represents the similarity among
Content-Topic entities in the ARKG. Let W = { w , w , , w V } be the set of words and Z = { z , z , , z K } be the set of latent topics, we can get the probability distribution Φ k = { φ k , φ k , , φ kV } of each topic z k (1 ≤ k ≤ K ) over W using variational EMalgorithm. Then, for any two Content-Topic entities z i and z j , we used Hellingerdistance to measure their similarity. similarity ct ( z i , z j ) = 1 √ (cid:118)(cid:117)(cid:117)(cid:116) V (cid:88) l =1 ( (cid:112) φ il − (cid:112) φ jl ) (1)Given the Content-Topic-Similarity threshold cts (0 < cts < z i , CTSIMILAR , z j ) if similarity ct ( z i , z j ) ≥ cts .The relation USIMILAR represents the similarity among
User entities. Weused a user-app rating matrix to extract this kind of relations. For typical apprecommendation scenario, a user can rate an app from 1 star to 5 star, wherewe transformed the rating grades from 0.2 to 1.0, and none rating to 0. Then,for each user u i (1 ≤ i ≤ |U| ), we can get a rating vector r i = { r i , r i , , r i |A| } .The similarity between any two users u i and u j are modeled as their Tanimotocoefficient. similarity u ( u i , u j ) = r i · r j (cid:107) r i (cid:107) + (cid:107) r j (cid:107) − r i · r j = (cid:80) |A| l =1 r il r jl (cid:80) |A| l =1 r il + (cid:80) |A| l =1 r jl − (cid:80) |A| l =1 r il r jl (2)Given the User-Similarity threshold us (0 < us < u i , U SIM ILAR, u j ) if similarity u ( u i , u j ) ≥ us for u i and u j . General KG embedding was then performed on the constructed ARKG to embedits entities and relations into continuous vector spaces, while preserving its inher-ent structure. For the ARKG mainly consists of N-to-1 and N to N relations, weemployed TransD[12], which is suitable for dealing with such complex relationsand at the same time has relatively high efficiency, to embed the ARKG.To be more specific, for each triplet ( h, r, t ) in the ARKG, it learns two vec-tors for the head entity h , tail entity t and relation r respectively, denoted as h , h p , t , t p , r and r p , where h , h p , t , t p ∈ R m and r , r p ∈ R n . We set the hyper-parameters m = n = d for the convenience of the learned vectors’ applicationin recommendation. The prior vectors h , t and r represent the meaning of theentities and relation. The other ones (i.e., h p , t p , r p ) are called projection vectorsrepresenting the way that how to project the entity embeddings h and t intothe relation vector r ’s space. Specifically, they were used to construct mapping G based Mobile App Recommendation 7 matrices, which are defined as follows. M rh = r p h (cid:62) p + I d × d M rt = r p t (cid:62) p + I d × d (3)where M rh , M rh ∈ R d × d are mapping matrices, and I denotes the identitymatrix of size d × d . With the mapping matrices, the projected vectors of h and t are defined as follows. h ⊥ = M rh h , t ⊥ = M rt h (4)To learn embeddings of each entity and relation by optimizing the translationprinciple h ⊥ + r ≈ t ⊥ , the plausibility score (aka energy score) of a given triplet( h, r, t ) was formulated as follows. g ( h, r, t ) = −(cid:107) h ⊥ + r − t ⊥ (cid:107) (5)where a higher score of g ( h, r, t ) suggests that the triplet is more likely to betrue, and vice versa.The training of TransD uses the following margin-based ranking loss to en-courage discrimination between golden triplets and incorrect ones. L KG = (cid:88) ( h,r,t ) ∈ S (cid:88) ( h (cid:48) ,r,t (cid:48) ) ∈ S (cid:48) max (cid:0) , γ + g ( h (cid:48) , r, t (cid:48) ) − g ( h, r, t ) (cid:1) (6)where max( x, y ) aims to get the maximum between x and y , γ is the margin, S = { ( h, r, t ) } is the set of golden triples contained in the ARKG. Corruptingeach golden triplet ( h, r, t ) ∈ S by replacing the head entity or the tail entity,the set of negative triples S (cid:48) = { ( h (cid:48) , r, t (cid:48) ) } can be generated. The process ofminimizing the above objective was carried out with stochastic gradient descent(SGD) in mini-batch mode.This component embeds the entities and relations on the granularity oftriples. After getting its outputs, we can use them to make app recommendationdirectly and roughly by equation (5). Next, focused on app recommendation, we built upon the architecture of graphconvolution network to further capture both high-order structure and seman-tic information in the ARKG to make more precise recommendation. Here westarted by describing a single layer, and then discussed how to generalize it tomultiple layers. As illustrated in Fig. 2 (a), one single layer mainly involves 2steps: 1) for each entity, aggregating information from its neighbors to form itsneighbors’ aggregated vector; 2) integrating with its own current latent vectorto update its embedding for the next layer.
M. Zhang et al. aggregator aggregator predicting k =1 k =2 relations v u ( k ) v u ( k +1) t ( k ) t ( k ) t ( k ) t ( k ) r v , r v , r v ,3 r v , v u ( K ) (b)(a) ( v , r , t i ) N ( v ) aggregator aggregator predicting k =1 k =2 relations v u ( k ) v u ( k +1) t ( k ) t ( k ) t ( k ) t ( k ) r v , r v , r v ,3 r v , v u ( K ) (b)(a) ( v , r , t i ) N ( v ) Fig. 2.
Illustration of our convolutional embedding propagation approach. (a) an ex-ample of how an entity aggregates information from its neighbours. (b) an example ofhow the model propagates information between two layers.
Aggregating Information from Neighbours.
In the real ARKG, head enti-ties are causally determined by tail entities (e.g. the apps should be profiled bytheir attributes, and users’ preference should be influenced by apps). So infor-mation is aggregated from tail entities to head entities in our model. In addition,to characterize both semantic information of the ARKG and users personalizedinterests in relations, neighbours are weighted dependent on the connecting re-lation and specific user while calculating the neighbours’ aggregated vector fora given entity. Specifically, given a user u and a node v in the ARKG ( G ), weuse N v = { ( h, r, t ) | ( h = v ) ∧ ( h, r, t ) ∈ G} to denote the set of triplets where v is the head entity. Then the neighbours’ aggregated vector of v specific to u iscomputed as follows. v N v u = (cid:88) ( h,r,t ) ∈N v w ru t (7)where t ∈ R d is the vector of tail entity t , and w ru is the weight between user u and relation r , which characterizes the importance of relation r to user u andbe computed as follows. w ru = exp( π ( u , r )) (cid:80) ( h,r,t ) ∈N v exp( π ( u , r )) (8)where u ∈ R d and r ∈ R d are the embeddings of user u and relation r . π : R d × R d → R d is a weight score function (e.g., we adopted inner product in thispaper).Generally, v N v u not only characterizes the local proximity structure of node v , but also exploits the personalized interests of user u in relations. Updating Embeddings for the Next Layer.
To update the embedding ofeach node v as its representation in the next layer, we concatenated its cur- G based Mobile App Recommendation 9 rent representation v u with its neighbours’ aggregated vector v N v u , and fed thisconcatenated vector through a fully connected layer with nonlinear activationfunction σ to transform it to the new representation of v . It can be formulatedas: v (cid:48) u = σ (cid:0) W · ( v u (cid:107) v N v u ) + b (cid:1) (9)where v (cid:48) u (i.e., the output of this layer) is the new representation of node v specific to user u , and W and b are transformation weight and bias, respectively.“ (cid:107) ” denotes the concatenation operation.Note that not all entities are updated because some of them in the ARKGhave no tail neighbours. Information Propagating among Layers.
Through a single layer, we cancapture 2-order entity connectivity, taking the general KG embedding as the1-order connectivity. However, exploiting higher-order connectivity is of impor-tance to perform high-quality recommendation. It is intuitive to propagate in-formation between different layers to capture higher-order structural proximityamong entities. As illustrated in Figure 2 (b), given the brown entity, its embed-ding is updated by aggregating information from its neighbours (i.e., the greennodes), while the embeddings of the green nodes are updated by aggregatinginformation from their neighbours (i.e., the blue ones).More formally, we stacked K − v specific to user u at depth k − v ( k ) u . Generally speaking, v ( k ) u is a mixture of initial representations of node v and its neighbors up to k hops away. After performing K − v ( K ) u of node v specific to user u , which characterizes v ’s high-order entity dependencies upto K hops and captures u ’s potential long-distance interests. In addition, theoutputs of the general KG embedding characterize the distance between headentity h and tail entity t in the space of relation r for a triplet ( h, r, t ). So foruser u and app a , we concatenated the representations of the two componentsinto a single vector to do prediction as follows. u ∗ = ( u ⊥ + r INTERACT ) (cid:107) u ( K ) , a ∗ u = a ⊥ (cid:107) a ( K ) u (10)where r INTERACT is the vector of relation “
INTERACT ”, u ⊥ and a ⊥ are thevectors of user u and app a in the r INTERACT space. They are all the outputs ofthe general KG embedding component, while u ( K ) and a ( K ) u are the final outputsof the convolutional embedding propagating component.Finally, we computed the inner product of user and app representations, soas to predict their matching score:ˆ y u,a = u ∗(cid:62) a ∗ u (11) To learn the parameters of our app recommendation model, we adopted neg-ative sampling strategy, and the objective function was defined as binary cross-entropy loss with L L CEP = (cid:88) u ∈U (cid:88) v ∈ Trn u (cid:0) − log ˆ y u,v + (cid:88) i ∈ Neg uv − log(1 − ˆ y u,i ) (cid:1) + λ (cid:107) θ (cid:107) (12)where Trn u = { v | y u,v = 1 } is the set of user u ’s all training instances. For eachtraining instance ( u, v ), we randomly sampled x negative apps, denoted as Neg uv . λ is coefficient for the regularization and θ denotes all model parameters. Themodel was trained via Adam optimizer. In this section, we compared our approach with several state-of-the-art recom-mendation methods using real-world app usage data and studied the impact ofparameters on the performance of our model.
We collected our dataset from Google Play. We crawled each app relevant meta-data that the ARKG constructing needs. To bypass the cold start, we first omitedapps with less than 10 users and then excluded users with less than 10 apps.After this preprocessing step, our dataset contains 12802 users, 4539 apps, and198077 rating observations. The user app rating matrix has a sparsity as highas 0.341%.
To evaluate the performance of the proposed model, we compared it with thefollowing representative baselines.1.
UserCF : A user-user similarity matrix can be obtained while extracting
USIMILAR relations for the ARKG. Then, we used the classic user-basedcollaborative filtering as a baseline.2.
BPR-MF [13]: The Bayesian Personalized Ranking based matrix factoriza-tion, is a representative algorithm designed for implicit feedback, adoptinga pairwise ranking loss to optimize the latent factor models.3.
FISM [14]: This is representative item-based collaborative filtering Top-Nrecommendation model, used to verify the effectiveness of our recommenda-tion model.4.
NFM [15]: This is a state-of-the-art factorization model, which seamlesslycombines FM and neural network in modelling feature interactions.5.
TransDR : This is a simplified translation-based recommendation version ofour approach, which takes the representation learned by TransD as inputsof a one hidden layer neural network to make recommendation directly.
G based Mobile App Recommendation 11
We divided the preprocessed dataset into three subsets: training, validation, andtest. For every user, we randomly selected 70%, 10% and 20% interacted appsinto the training set, the validation set and the test set respectively.For ARKG construction, we set the number of
Content-Topic entities to50, the
Content-Topic-Similarity threshold cts to 0.9, and the
User-Similarity threshold us to 0.98, and then we extracted 406044 triplets for the ARKG.We implemented our KGEP model in Tensorflow. The hyper-parameters wereoptimized on the validation set, which are listed as follows. The embedding size is16, the number of propagation layers is 1, dropout is 0, epoch is 80, and learningrate is 0.02. All the experiment results of our model are corresponding to theabove hyper-parameter values, except a specific hyper-parameter may vary whilepreserving the values of the other hyper-parameters when we analyzed our modelsensitivity on the given hyper-parameter. For all the baselines, we set respectiveoptimal parameters either according to corresponding references or based on ourexperiment results. We adopted learner Adam for the models: BPR-MF, FISM,NFM and KGEP, and adopt learner
SDG for TransDR.We adopted three widely used metrics for performance evaluation:
Recall @ K , P recision @ K and mean average precision ( MAP @ K ), where K indicates rec-ommending top K ranked apps. For all the metrics, the larger the value, thebetter the performance. The performance comparison results are presented in Table 2. We had the follow-ing observations: (1) KGEP consistently yields the best performance on all themetrics and K values. In detail, KGEP improves much more over the strongestbaselines on the metric MAP than the other 2 metrics, and when K is smaller;(2) BPR-MF achieves better performance than the other baselines in most cases;(3) TransDR sometimes achieves better performance than all the baselines, in-dicating that just general KG embedding has efficacy to some extent to makeapp recommendation. To get deep insights on the proposed model KGEP, we investigated its sensi-tivity on some core hyper-parameters. Fig. 3 illustrates the effect of embeddingsize. Due to the computational cost, we can not train TransD model after theembedding size is larger than 16. So, we used xavier initializer to initialize thepropagation embeddings after the dimensionality is larger than 16, and concate-nated the 16-dimensional embeddings of TransD to make recommendation. FromFig. 3, we can see, our model KGEP can achieve the best performance when theembedding size is set to 16.Fig. 4 shows the influence of layer numbers. It illustrates that our modelachieves the best performance just with one embedding propagation layer onthe basis of general ARKG embeddings. We also conducted the experiments
Table 2.
Performance comparison on the Google Play dataset. The best results arestarred, and the second-best results are listed in bold.top-K Metrics UserCF BRP-MF FISM NFM TransDR KGEPPrecision (%) 0.155 *Recall (%) 0.254 *10 MAP (%) 0.361 *Precision (%) 0.144 *Recall (%) 0.341 *20 MAP (%) 0.398 *Precision (%) 0.145 0.426 0.200 0.265 *Recall (%) 0.452 *30 MAP (%) 0.428 *Precision (%) 0.145 0.413 0.191 0.258 *Recall (%) 0.550 *40 MAP (%) 0.450 * H P E H G G L Q J G L P H Q V L R Q V D S U H F L V L R Q H P E H G G L Q J G L P H Q V L R Q V E U H F D O O H P E H G G L Q J G L P H Q V L R Q V F P D S Fig. 3.
Effect of embedding size F R Q Y R O X W L R Q O D \ H U D S U H F L V L R Q F R Q Y R O X W L R Q O D \ H U E U H F D O O F R Q Y R O X W L R Q O D \ H U F P D S
Fig. 4.
Effect of embedding propagation layer numbersG based Mobile App Recommendation 13 to analyze the effects of dropout and learning rate. Due to space limitations,the corresponding figures are not presented any more. The results are that theperformance of KGEP would be the best when the learning rate equals to 0.02among { } , and would be better whenthe dropout equals to 0 or 0.2 than other values { } . Knowledge Graph based Recommendation.
Recommender systems arenow indispensable in many Web applications, such as App stores. The matrixfactorization algorithm BPR-MF[13], the item-based collaborative filtering algo-rithm FISM[14], and the factorization model algorithm NFM[15] are arguablythe most representative among the large number of recommendation algorithmsdeveloped. Recently, KG, as one of the most effective data modelling techniques,has been spotlighted in recommender systems. In general, existing KG-awarerecommendation can be classified into three categories. The first category isembedding-based methods, such as CKE[16], DKN[17], which preprocess a KGwith knowledge graph embedding algorithms and incorporates the learned en-tity embeddings into a recommendation framework. However, these methods areusually more suitable for in-graph applications such as link prediction than forrecommendation. The second category is path-based methods, such as PER[18],KPRN[19], which explore the various patterns of connections among items inKG to provide additional guidance for recommendations. However, they relyheavily on meta-paths, which is hard to optimize in practice, so that has a largeimpact on the final recommendation performance. The third category is embed-ding propagation methods, such as RippleNet[20], KGAT[21], KGCN[22], whichcombine embedding-based and path-based methods in KG-aware recommenda-tion, so as to address the limitations of the above two categories.Different from the above KG-aware recommendation models, we leverage thegeneral embeddings and the propagated embeddings simultaneously to make apprecommendation.
Mobile App Recommendation.
Mobile app recommendation has attractedmuch attention these days. By focusing on different kinds of side information, re-searchers proposed the following representative app recommendation approaches.Focusing on the privilege data of apps, The studies[2,3,4] mainly considered pri-vacy leak and security risk issues to perform personalized app recommendations.Focusing on geographical information of users, Zhu et al.[5] proposed a novellocation-based probabilistic factor analysis mechanism to help people get an ap-propriate mobile app. Focusing on version information of apps, Cao et al.[6]proposed a novel version-sensitive mobile app recommendation framework byjointly exploring the version progression and dual-heterogeneous data. Focusingon app usage patterns of users, Xu et al. [7] proposed a neural network basedapproach to leverage the predictive power of app usage context patterns to do effective app recommendation. Focusing on category information of apps, Guoet al. [8] proposed an app recommendation model based on deep factorizationmachine, which can make use of categorical and textual information of apps.Further considering the interactions of categories and other side informationof apps, Liang et al.[9] utilized a tensor-based framework to effectively inte-grate app category information and multi-view features of users and apps to docontext-aware app recommendation. Focusing on the complex semantics amongdifferent kinds of side information, Xie et al. [10] exploited weighted meta-graphand heterogeneous information network for mobile app recommendation, mainlyconsidering user review information. However, it is not an end-to-end method.Meta-graphs are hard to be designed optimally, which will further influence theefficacy of recommendation.Differed from the above state-of-the-art app recommendation methods, weproposed an end-to-end framework and leveraged KG to recommend apps forusers. It can model complex semantics among diverse side information moreexplicitly to make better recommendation.
This paper proposed a novel KG based mobile app recommendation approach.We first designed a KG construction method to organize rich side informationof users and apps, then adopted a translation based KG embedding method tocapture the semantics of side information related to first-order structure of theconstructed KG, and proposed a convolutional embedding propagation model tocapture the semantics related to high-order structure of the KG. By incorporat-ing KG into app recommendation, our approach can effectively model and takefull advantage of rich side information to alleviate the sparsity issue and improverecommendation performance. The comparative experimental results show thatour approach outperforms the competing recommendation methods in terms ofprecision, recall and MAP.In the future, we will attempt to apply our model to other recommendationapplication scenarios, such as general Web service recommendation or Web APIrecommendation for Mashups, to further validate it and find and improve itslimitations.
References
1. Number of Android apps on Google Play, .Accessed 12 May 20202. Liu, B., Kong, D., Cen, L., Gong, N. Z., Jin, H., Xiong, H.: Personalized mobileapp recommendation: reconciling app functionality and user privacy preference.In: WSDM, pp. 315–324. ACM, New York (2015)3. Huang, K., Han, J., Chen, S., Feng, Z.: A skewness-based framework for mobileapp permission recommendation and risk evaluation. In: Sheng, Q.Z., Stroulia,E., Tata, S., Bhiri, S. (eds.) ICSOC 2016. LNCS, vol. 9936, pp. 252266. Springer,Cham (2016). https://doi.org/https://doi.org/10.1007/978-3-319-46295-0 16G based Mobile App Recommendation 154. Yin, H., Chen, L., Wang, W., Du, X., Nguyen, Q.V.H., Zhou, X.: Mobi-SAGE: asparse additive generative model for mobile app recommendation. In: ICDE, pp.7578. IEEE, Piscataway (2017)5. Zhu, K., Zhang, L., Pattavina, A.: Learning geographical and mobility factors formobile application recommendation. IEEE Intelligent Systems (3), 3644 (2017)6. Cao, D., Nie, L., He, X., Wei, X., Shen, J., Wu, S., Chua, T. S.: Version-sensitivemobile app recommendation. Information Science (1), 161175 (2017)7. Xu, Y., Zhu, Y., Shen, Y., Yu, J.: Leveraging app usage contexts for app recom-mendation: a neural approach. World Wide Web Journal (6), 2721–2745 (2019)8. Guo, C., Xu, Y., Hou, X., Dong, N., Xu, J., Ye, Q.: Deep attentive factorizationmachine for app recommendation service. In: ICWS, pp. 134–138. IEEE, Piscat-away (2019)9. Liang, T., He, L., Lu, C.T., Chen, L., Yu, P.S., Wu, J.: A broad learning approachfor context-aware mobile application recommendation. In: ICDM, pp. 955960.IEEE, Piscataway (2017)10. Xie, F., Chen, L., Ye, Y., Liu, Y., Zheng, Z., Liu, X.: A weighted meta-graph based approach for mobile application recommendation on heteroge-neous information networks. In: Pahl, C., Vukovic, M., Yin, J., Yu, Q.(eds.) ICSOC 2018, LNCS, vol. 11236, pp. 404–420. Springer, Cham (2018).https://doi.org/https://doi.org/10.1007/978-3-030-03596-9 2911. Ji, S., Pan, S., Cambria, E., Marttinen, P., Yu, P. S.: A survey on knowledgegraphs: representation, acquisition and applications. arXiv preprint (2020). https://arxiv.org/abs/2002.00388https://arxiv.org/abs/2002.00388