Context-Regularized Neural
Collaborative Filtering for Game
App Recommendation
Shonosuke Harada∗ Kazuki Taniguchi
Kyoto University CyberAgent, Inc.
Kyoto, Japan Tokyo, Japan
sh1108@ml.ist.i.kyoto-u.ac.jp taniguchi_kazuki@cyberagent.co.jp
Makoto Yamada Hisashi Kashima
Kyoto University/RIKEN AIP Kyoto University/RIKEN AIP
Kyoto, Japan Kyoto, Japan
myamada@i.kyoto-u.ac.jp kashima@i.kyoto-u.ac.jp
∗ The work was performed during an internship
at CyberAgent.
ABSTRACT
People spend a substantial amount of time playing games on their smartphones. Owing to growth in
the number of newly released games, it is getting more difficult for people to identify which of the
broad selection of games they want to play. In this paper, we introduce context-aware recommendation
for game apps that combines neural collaborative filtering and item embedding. We find that some
contexts special to games are effective in representing item embeddings in implicit feedback situations.
Experimental results show that our proposed method outperforms conventional methods.
KEYWORDS
Recommender systems, Neural collaborative filtering, game app
INTRODUCTION
In recent years of information overload, recommender systems which offer appropriate items to each
user in a personalized way are widely used and play a significant role [2, 6, 8]. Recommender systems
ACM RecSys 2019 Late-breaking Results, 16th-20th September 2019, Copenhagen, Denmark
Copyright ©2019 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International
(CC BY 4.0).
Context-Regularized Neural Collaborative Filtering for Game App Recommendation ACM RecSys 2019 Late-breaking Results, 16th-20th September 2019, Copenhagen, Denmark
are popular and successfully developed particularly in E-commerce services including YouTube [4],
Netflix [1], and Amazon [11], to name a few.
Recommendation systems basically focus on predicting each user’s preference for each kind of item.
Collaborative filtering [13] is a widely used personalized recommendation method that recommends
a new item using past user–item interactions. A typical collaborative filtering algorithm would be
based on matrix completion [8], which decomposes a user–item matrix into user latent features and
item latent features. For a long time, matrix completion algorithms based on factorization algorithms
have been the first choice in recommender systems [8].
Recently, deep learning approaches [15–17] have gathered appreciable attention in the recommender
systems community. However, a collaborative denoising autoencoder (CDAE) [17] could not improve
its performance even if they use non-linear activation function and deeper models. One of the reason
would be that CDAE equals to SVD++ when the identity function is used as an activation function
and applies a linear kernel to model user-item interactions. [5].
To handle this issue, the neural collaborative filtering (NCF) [5] has been proposed, which was the
first successful deep-learning-based collaborative filtering algorithm. NCF employs a simple neural
network architecture consisting of only multi-layer perceptrons and a generalized matrix factorization
(GMF). Thanks to its simplicity, it can train deep learning models without overfitting and, surprisingly,
outperforms state-of-the-art collaborative filtering using only user–item information.
Another successful collaborative filtering algorithm is based on word embedding [10]. More specifi-
cally, pointwise mutual information (PMI) [3], which is computed from the item–user matrix, is used
as a regularizer in addition to the matrix completion loss function. Thanks to PMI regularization, we
can embed a similar item pair into a similar location at a latent space; this helps significantly to train
deep learning models efficiently. This approach is promising. However, to the best of our knowledge,
no deep-learning-based approaches have been put forward.
In this paper, we propose the context-regularized neural collaborative filtering (CNCF), which
enjoys the representation power of deep learning and can be efficiently trained thanks to PMI-based
regularization. Specifically, we naturally combine NCF and PMI regularization [10, 14], in which item
latent vectors are shared in both NCF and PMI-based embedding. Thanks to its simplicity, CNCF can
be efficiently trained using a standard deep learning package. Through experiments on real-world
game app recommendation tasks, the proposed method significantly outperforms the vanilla NCF,
which is a state-of-the-art recommender algorithm.
PROBLEM FORMULATION
Let Y ∈ RM ×N be the user-item (game app) matrix whose elements are yi j = 1 if the user i installed
game app j and 0 otherwise. Let M and N be the number of users and the number of items (game
apps), respectively. This is a standard implicit feedback setting. If yi j = 1, it means that user i installed
Context-Regularized Neural Collaborative Filtering for Game App Recommendation ACM RecSys 2019 Late-breaking Results, 16th-20th September 2019, Copenhagen, Denmark
item j. However, in implicit feedback setting, the existence of interaction does not always mean that
user i likes item j and unobserved interactions might assume that user i does not recognize item i.
yiĵ yij sjm
In addition to the user-item matrix, for game app recommendation tasks, we have the first login
timestamp, the last login timestamp, and the paid flag, respectively. To use this information for
NeuMF Layer recommendations, we generate a time-dependent matrix T ∈ RM ×N , where t˜i j is the difference
v̂jT v̂m ṽjT ṽm
AAACpHichVE9LwRRFD3G1/peNBIFsSGqzR0NUQmNQoG1SCybmfEwdr4y83aTNZlS4w8oVCQK0RI/QOMPKPwEUZJoFO7OTgiCO5l55553z53z3tU9ywwk0UOD0tjU3NKaamvv6Ozq7kn39q0Gbtk3RN5wLddf17VAWKYj8tKUllj3fKHZuiXW9NJcbX+tIvzAdJ0VWfXEpq3tOuaOaWiSqWJ6qKDbYWFPk2ElKob70Va4En2kdhQV0xnKUhzDP4GagAySWHTTNyhgGy4MlGFDwIFkbEFDwM8GVBA85jYRMuczMuN9gQjtrC1zleAKjdkSf3c520hYh/NazyBWG/wXi1+flcMYpXu6oGe6o0t6pLdfe4Vxj5qXKq96XSu8Ys/RQO71X5XNq8Tep+pPzxI7mIq9muzdi5naKYy6vnJw/JybXh4Nx+iMntj/KT3QLZ/AqbwY50ti+eQPPzp74RvjAanfx/ETrE5kVcqqS5SZmU1GlcIgRjDO85jEDOaxiDz3P8QlrnCtjCkLSk7J10uVhkTTjy+hbL0D+o6eMA==
sha1_base64="hJ34Qkazwt4rpQFFKYuAAEeIqV0=">AAACpHichVE9LwRRFD3G9/eikSgIIRLJ5o6GqIRGoVjWLollMzMehvnKzNtNmEyi0fgDChWhEC3xAzT+gMJPECWiUbg7uyEI7mTmnXvePXfOe1f3LDOQRPdVSnVNbV19Q2NTc0trW3uiozMbuAXfEBnDtVx/SdcCYZmOyEhTWmLJ84Vm65ZY1LenS/uLReEHpussyB1PrNjahmOum4YmmconenO6HeY2NRkWo3y4Fa2GC9FHakdRPjFASYqj7ydQK2BgcuTldA9Ayk1cI4c1uDBQgA0BB5KxBQ0BP8tQQfCYW0HInM/IjPcFIjSxtsBVgis0Zrf5u8HZcoV1OC/1DGK1wX+x+PVZ2YdBuqNzeqJbuqAHevu1Vxj3KHnZ4VUva4WXbz/oTr/+q7J5ldj8VP3pWWId47FXk717MVM6hVHWF3cPn9IT84PhEJ3QI/s/pnu64RM4xWfjbE7MH/3hR2cvfGM8IPX7OH6C7GhSpaQ6x5OaQjka0IN+DPM8xjCJGaSQ4f77uMAlrpQhZVZJK5lyqVJV0XThSyir7+i4oLQ=
sha1_base64="Iq9PkUmXG7kSL3gBIVJ52TvoG10=">AAACdXichVG9TsJQGD1UVEQU3ExciARjHMhXHTROJi6O/MhPgoS05YINpW3aQoLEF2B1cHDSxMH4AD6Aiy/gwCMYR0xcHPwoJEaJ+jXtPffce76ee49qG7rrEQ0C0kxwdm4+tBBejISXlqOxSMG12o4m8pplWE5JVVxh6KbIe7pniJLtCKWlGqKoNg9H68WOcFzdMo+9ri0qLaVh6nVdUzym0tVYglLkV3wayBOQwKSs2ANOUIMFDW20IGDCY2xAgctPGTIINnMV9JhzGOn+usA5wqxt8y7BOxRmm/xt8Kw8YU2ej3q6vlrjvxj8OqyMI0nPdEdDeqJ7eqGPX3v1/B4jL10e1bFW2NVofzX3/q+qxaOH0y/Vn5491LHne9XZu+0zo1NoY33n7HKY288mext0Q6/s/5oG9MgnMDtv2m1GZK/+8KOyF74xzkf+mcY0KGynZErJGUIIa1jHJsewiwMcIY08t62hjwspKG1J8jhHKTAJdAXfStr5BHMDjY4=
sha1_base64="NHCXOuCJyoPaj2tKgmt+pImomHY=">AAACmXichVE9LwRRFD3GN4ulkigI2Y1qc0dDVBKNQsGuRbLLZmY8DPOVmbebMJlS4w8oVCQK2Zb4ARp/QOEniHIlGoW7sxvCBnfy5p173jv3nfeu7llmIIme2pT2js6u7p7evv7EwOBQcjixHrhl3xB5w7Vcf1PXAmGZjshLU1pi0/OFZuuW2NAPF+vrGxXhB6brrMkjT2zZ2p5j7pqGJpkqJceLuh0W9zUZVqJSeBBth2vRZ2pHUSk5RRmKY6IVqE0whWasuMk7FLEDFwbKsCHgQDK2oCHgrwAVBI+5LYTM+YzMeF0gQh9ry7xL8A6N2UP+73FWaLIO5/WaQaw2+BSLh8/KCaToka6pRg9UpWd6/7VWGNeoezniWW9ohVcaOh3Nvf2rsnmW2P9S/elZYhdzsVeTvXsxU7+F0dBXjs9quflsKkzTJb2w/wt6onu+gVN5Na5WRfb8Dz86e+EX4wapP9vRCtZnMipl1FVCD8YwiWluwywWsIQV5LnsCaq4wa2SVpaVXKOVSluzpyP4Fkr+AyWnnSQ=
sha1_base64="t9C+hCNPSRsBnDLNa56MvhxUxH4=">AAACpHichVE9LwRRFD3G9/eikSiIDZFINnc0RCU0CgXWIrFsZsZjh/nKzNtNmEyp4QcoVIRCtMQP0PgDCj9BlIhG4e7shiC4k5l37nn33DnvXd2zzEAS3Vcp1TW1dfUNjU3NLa1t7YmOzsXALfiGyBiu5frLuhYIy3RERprSEsueLzRbt8SSvj1V2l8qCj8wXWdB7nhi1dY2HXPDNDTJVC7Rm9XtMJvXZFiMcuFWtBYuRB+pHUW5RJJSFEffT6BWQHJi+OX0QCS9WTdxjSzW4cJAATYEHEjGFjQE/KxABcFjbhUhcz4jM94XiNDE2gJXCa7QmN3m7yZnKxXW4bzUM4jVBv/F4tdnZR8G6I7O6Ylu6YIe6O3XXmHco+Rlh1e9rBVern2/O/36r8rmVSL/qfrTs8QGxmKvJnv3YqZ0CqOsL+4ePqXH5wfCQTqhR/Z/TPd0wydwis/G2ZyYP/rDj85e+MZ4QOr3cfwEiyMplVLqHE9qEuVoQA/6McTzGMUEpjGLDPffwwUucaUMKjNKWsmUS5WqiqYLX0JZewfgt6G3
AAACqHichVG7SiRBFD227/eoiWAiDooYDLeXBcVINDEcH+Mojg7dbaml/aK7ZkCb/oDdH9hgo10wEANDNTbxBwz8BDFUMDHwTk+DL9TbVNepU/fcOlXX9G0ZKqKbBq2xqbmlta29o7Oru6c309e/EnqVwBIFy7O9YNU0QmFLVxSUVLZY9QNhOKYtiub+XG2/WBVBKD13WR34YsMxdly5LS1DMVXOZEumE5WUtLdEVI3L0V68GS3HrwgnjjmLcpTE8EegpyCLNPJe5gwlbMGDhQocCLhQjG0YCPlbhw6Cz9wGIuYCRjLZF4jRwdoKZwnOMJjd5/8Or9ZT1uV1rWaYqC0+xeYRsHIYo3RNx3RPV3RCt/T0aa0oqVHzcsCzWdcKv9z7e3Dp8VuVw7PC7ovqS88K25hKvEr27idM7RZWXV89/HO/NL04Go3Rf7pj///ohi75Bm71wTpaEIt/v/Bjshd+MW6Q/r4dH8HKj5xOOX3hZ3ZmNm1VG4YwgnHuxyRmMI88Clz/F05xjgttQstrRW2tnqo1pJoBvAnNfAZTXqAG
between the first login timestamp and the last login timestamp and each t˜i j is later transformed
MLP Layer
into normalized dwell time [18]. Moreover, for the paid flag information, we extract the paid matrix
…
P ∈ RM ×N , where r i j is 1 if the user u pays money for item i and 0 otherwise.
GMF Layer MLP Layer PMI Layer PMI Layer
The final goal of this paper is to build a recommendation model for user-item matrix Y using the
user-item matrices Y , T , and P.
MLP User
MF User Embedding MF Item Embedding MLP Item Embedding
Embedding
PROPOSED METHOD (CONTEXTUAL NCF)
In this section, we propose the contextual neural collaborative filtering (CNCF), which is an extension
user(i)
… 1 …
…
item( j)
… 1 …
…
of the widely used NCF algorithm [5].
Figure 1: Overview of CNCF. Model: The following model with one perceptron layer is used:
ŷi j = σ (h⊤ (ûi ⊗ v̂ j ⊕ a(W ũi ⊕ ṽ j )),
where ⊗, ⊕, and h, a indicate the element-wise product and the concatenation of the two embeddings,
edge weights of the output layer as well as an activation function like Relu, respectively. Figure 1 shows
the model architecture of CNCF. GMF layer indicates the element-wise product of two embeddings
and, in the PMI layer, we compute the inner product of both MF and the MLP j-th item embedding
along with the MF and MLP all item embedding. û,ũ,v̂,ṽ denote MF and MLP user embedding and
MF and MLP item embedding, respectively. CNCF consists of generalized matrix factorization and
multilayer perceptrons.
Using context information: As contextual features, we use time-dependent features T and a paid
flag approach P as
(Í
− (1+αt i j )yi j logŷij +(1−yij )logŷij , (time − NCF)
Lcontext = Í(i, j)∈Y∪Y ,
(i, j)∈Y∪Y − (1+βr i j )yi j logŷij + (1−yij )logŷij , (paid − NCF)
where α ≥ 0 and β ≥ 0 are tuning parameters and Y is the set of indices of non-zero elements in Y
and Y − is the set of indices of zero-elements in Y . In implicit feedback settings, to address the problem
of lacking negative data, treating all unobserved data as negative feedback [6] or negative sampling
from unobserved data [5] are popular strategies. Note that we sampled user-item pairs as negative
interactions from the unobserved interaction set.
Context-Regularized Neural Collaborative Filtering for Game App Recommendation ACM RecSys 2019 Late-breaking Results, 16th-20th September 2019, Copenhagen, Denmark
Regularization based on Pointwise Mutual Information (PMI) In this paper, in addition to
contextual information, we introduce an embedding structure to NCF since it helps to improve
prediction accuracy [10, 14]. In particular, we employ the GloVe-based embedding approach [12]. The
loss function of a GloVe can be written as
Õ 2
J= s jm − v j⊤vm ,
j,m
where s jm is some similarity measure between item j and item m. In this study, we employ positive
pointwise mutual information (PPMI) [9] as a similarity measure:
p(x, y)
PPMI(x, y) = max(PMI(x, y), 0), PMI(x, y) = log2 ,
p(x)p(y)
where p(x) denotes the probability of users installing a game app x and p(x, y) denotes the probability
that users install a game app x and y. Finally, the loss function of the context-regularized NCF is given
as
©Õ Õ
L = Lcontext + λ (s jm − v̂ j⊤v̂m )2 + (s jm − ṽ j⊤ṽm )2 ® , (1)
ª
«s jm >0 s jm >0 ¬
where λ ≥ 0 is the regularization parameter.
EXPERIMENTS
We gathered game app click information from a commercial game app company. Figure 2 shows some
examples of game apps. Then, we used 100,000 users who had installed over 20 game apps and played
one of their games within last two years. The number of games was 725 (i.e., Y ∈ R100000,725 ), and the
number of non-zero entries was 2,854,328.
We implemented all methods using Pytorch and ran experiments using a Tesla P100. We set the
learning rate as 0.001 and the batch size as 1024. Then, we used Adam [7] as the optimizer. For the
regularization parameters of CNCF, we used α=0.01, β=0.1, and λ = 1. For all experiments, we set the
number of multi-layer perceptrons as four and the number of latent feature representations as 64. The
initial model parameters were randomly initialized. We set the negative sampling ratio as 2 that means
we sample 2 unobserved interactions as negative samples per one observed interactions for every user.
To evaluate the performance of the item recommendation, we used the leave-one-out scheme, which
has been widely used in the relevant literature [5]. As evaluation metrics, we adopted HitRatio (HR) and
Figure 2: Examples of Game Apps. normalized discounted cumulative gain (nDCG), which are also popular in recommendation tasks [5].
Figures 3 to 6, we show the results of the proposed and the existing methods. As can be seen, the
proposed contextual NCF compares favorably with the existing state-of-the-art algorithms.
Context-Regularized Neural Collaborative Filtering for Game App Recommendation ACM RecSys 2019 Late-breaking Results, 16th-20th September 2019, Copenhagen, Denmark
0.84 ItemPop
0.82 GMF
NCF
0.80 NCF+PMI REFERENCES
Hit Ratio@10
0.78 NCF+time
0.76 NCF+paid [1] James Bennett, Stan Lanning, et al. 2007. The netflix prize. In KDD cup and workshop.
0.74
NCF+all [2] Heng-Tze Cheng, Levent Koc, Jeremiah Harmsen, Tal Shaked, Tushar Chandra, Hrishi Aradhye, Glen Anderson, Greg
0.72 Corrado, Wei Chai, Mustafa Ispir, et al. 2016. Wide & deep learning for recommender systems. In the 1st Workshop on Deep
0.70 Learning for Recommender Systems.
10000 15000 20000 25000 30000 35000 40000 45000 50000
the number of people [3] Kenneth Ward Church and Patrick Hanks. 1990. Word association norms, mutual information, and lexicography. Compu-
tational linguistics 16, 1 (1990), 22–29.
Figure 3: HitRatio@10 for every method. [4] James Davidson, Benjamin Liebald, Junning Liu, Palash Nandy, Taylor Van Vleet, Ullas Gargi, Sujoy Gupta, Yu He, Mike
0.815
Lambert, Blake Livingston, et al. 2010. The YouTube video recommendation system. In RecSys.
NCF
0.810 NCF+time [5] Xiangnan He, Lizi Liao, Hanwang Zhang, Liqiang Nie, Xia Hu, and Tat-Seng Chua. 2017. Neural collaborative filtering. In
NCF+paid WWW.
0.805
Hit Ratio@10
0.800
[6] Yifan Hu, Yehuda Koren, and Chris Volinsky. 2008. Collaborative filtering for implicit feedback datasets. In ICDM.
[7] Diederik P Kingma and Jimmy Ba. 2014. Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980
0.795
(2014).
0.790
[8] Yehuda Koren. 2008. Factorization meets the neighborhood: a multifaceted collaborative filtering model. In KDD.
0.785
10000 15000 20000 25000 30000 35000 40000 45000 50000 [9] Omer Levy and Yoav Goldberg. 2014. Neural word embedding as implicit matrix factorization. In NIPS.
the number of people
[10] Dawen Liang, Jaan Altosaar, Laurent Charlin, and David M Blei. 2016. Factorization meets the item embedding: Regularizing
matrix factorization with item co-occurrence. In RecSys.
Figure 4: HitRatio@10 for methods re- [11] Greg Linden, Brent Smith, and Jeremy York. 2003. Amazon. com recommendations: Item-to-item collaborative filtering.
lated to NCF. IEEE Internet computing 1 (2003), 76–80.
[12] Jeffrey Pennington, Richard Socher, and Christopher Manning. 2014. Glove: Global vectors for word representation. In
0.75
ItemPop EMNLP.
0.70
GMF
NCF [13] Badrul Sarwar, George Karypis, Joseph Konstan, and John Riedl. 2001. Item-based collaborative filtering recommendation
0.65
NCF+PMI algorithms. In WWW.
NCF+time
nDCG@10
0.60 NCF+paid [14] Thanh Tran, Kyumin Lee, Yiming Liao, and Dongwon Lee. 2018. Regularizing Matrix Factorization with User and Item
NCF+all Embeddings for Recommendation. In CIKM.
0.55
[15] Aaron Van den Oord, Sander Dieleman, and Benjamin Schrauwen. 2013. Deep content-based music recommendation. In
0.50
10000 15000 20000 25000 30000 35000 40000 45000 50000 Advances in neural information processing systems. 2643–2651.
the number of people
[16] Hao Wang, Naiyan Wang, and Dit-Yan Yeung. 2015. Collaborative deep learning for recommender systems. In KDD.
[17] Yao Wu, Christopher DuBois, Alice X Zheng, and Martin Ester. 2016. Collaborative denoising auto-encoders for top-n
Figure 5: nDCG@10 for every method. recommender systems. In WSDM.
NCF [18] Xing Yi, Liangjie Hong, Erheng Zhong, Nanthan Nan Liu, and Suju Rajan. 2014. Beyond clicks: dwell time for personalization.
0.74
NCF+PMI In RecSys.
0.73
NCF+time
0.72 NCF+paid
NCF+all
nDCG@10
0.71
0.70
0.69
0.68
0.67
10000 15000 20000 25000 30000 35000 40000 45000 50000
the number of people
Figure 6: nDCG@10 for methods related
to NCF.