Scalable and Personalized Item Recommendations Framework
Nimesh Sinha

Selene Xu

Swati Bhatt

WalmartLabs
Nimesh.Sinha@walmartlabs.com

WalmartLabs
yue.xu@walmartlabs.com

WalmartLabs
Swati.Bhatt@walmartlabs.com

Abhinav Mathur

Jason H.D. Cho

Sushant Kumar

WalmartLabs
Abhinav.Mathur@samsclub.com

WalmartLabs
hcho@walmartlabs.com

WalmartLabs
SKumar4@walmartlabs.com

Kannan Achan
WalmartLabs
KAchan@walmartlabs.com

ABSTRACT
Balancing scalability and relevance is important for industry-levelrecommender systems. A large scale e-commerce website may havemillions of customers and millions of items. Typically, researchersand data scientists generate models which are anchored on customer level, or item level. Customer anchored recommendation
models are typically surfaced on front pages of e-commerce websites. Similarly, item pages typically host various item anchoredmodels. In each of the two usecases, developers frequently store
models offline, i.e., models are stored for each customer, or are stored
for each item. Scalability challenges arise when one wishes to personalize item anchored models. Offline based approaches, where
both customer and item ids are stored as anchors become rapidly
unscalable as number of customers and items increase. Anotherapproach is to utilize an online approach on a pre-computed recallset (for example: item recommendations for a given anchor item),and then to apply users’ preferences. In this paper, we describea scalable personalized item recommender system which follows
the latter approach. We take historical user preferences (customer
understanding) and existing item recommendation models to personalize item anchored model. We showcase several usecases toshow how we apply online inferencing algorithms and scale it up
to millions of customers.

CCS CONCEPTS• Information Systems → Recommender Systems.

KEYWORDS
Personalization, Recommender systems, Scalability, Customer Understanding
ACM Reference Format:
Nimesh Sinha, Selene Xu, Swati Bhatt, Abhinav Mathur, Jason H.D. Cho,
Sushant Kumar, and Kannan Achan. 2020. Scalable and Personalized Item
Permission to make digital or hard copies of all or part of this work for personal orclassroom use is granted without fee provided that copies are not made or distributedfor profit or commercial advantage and that copies bear this notice and the full citationon the first page. Copyrights for components of this work owned by others than ACM
must be honored. Abstracting with credit is permitted. To copy otherwise, or republish,
to post on servers or to redistribute to lists, requires prior specific permission and/or afee. Request permissions from permissions@acm.org.
© 2020 Association for Computing Machinery.
ACM ISBN 978-x-xxxx-xxxx-x/YY/MM. . . $15.00
https://doi.org/10.1145/nnnnnnn.nnnnnnn

Recommendations Framework. In ,. ACM, New York, NY, USA, 6 pages.
https://doi.org/10.1145/nnnnnnn.nnnnnnn

1

INTRODUCTION

Recommending personalized items is an essential but challenging
task for e-commerce. Personalized recommendations provide customers with more relevant suggestions, hence improving customer
experience. One challenge that personalized recommendation system faces is scalability. This is because such system must be anchored on combinations of customer and item and and the sizeof such storage schema can get aggressively large. This is especially true for large e-commerce sites such as walmart.com where
millions of users interact with millions of products daily on thesite. We come up with a novel re-ranker framework where item
relevance and customer preference act as independent and parallelfactors. This structure allows us to break down (customer id, itemid) anchored storage into (customer id) anchored storage and (itemid) anchored storage, thus reducing storage requirement. Moreover,on the modeling side, we now have the freedom to train item relevance models and customer preference models separately. The
re-ranker will eventually combine the results from both models
using a machine learned inference function and provide a final listof recommendations.
A main motivation for our re-ranker system is that there areoften existing non-personalized item anchored recommendation
models that show great performances. These models have been finetuned through multiple iterations and provide a very good recall
set. We do not want these work to go to waste and start building
personalized system from scratch. So we design our re-ranker toutilize the results from these non-personalized models as our recall
set and implement personalization within the established recall set.
Our personalization models target different attributes of personal
preference such as price, brand, flavor, and etc. The re-ranker thenuses these attribute preferences as independent features. This allows
our data scientists the freedom to focus on personalizing a single
attribute at a time instead of having to reformulate existing item
anchored recommendation models. Our system can also rapidly
extend to different activations (e.g. similar item, complementary
item, etc.) because it is able to utilize the same attribute featuresand similar inference function structure across different activations.
The only change that needs to happen from activation to activation
is to re-calculate/re-balance the weights between item relevanceNimesh Sinha, Selene Xu, Swati Bhatt, Abhinav Mathur, Jason H.D. Cho, Sushant Kumar, and Kannan Achanand personal preference as well as the weights associated with each
attribute feature.

2

RELATED WORKS

There has been a plethora of research in the field of personalized recommendation systems. The traditional matrix factorization model[6] has been extensively studied and many of its variants have beendeveloped to tackle different challenges such as implicit feedback
and sequential prediction [5] [11] [12]. More recently, many embedding methods such as word2vec [8] [9] have been extended to the
e-commerce domain [1] [13] [14]. Most recently, graph based methods have gained much traction in personalized recommendation.
Many state-of-the-art recommender systems are designed using
tools such as Graph Convolutional Neural Networks [2] [17] andKnowledge Graphs [4] [16].
However, not many research discuss how to actually implement
their models at scale. Of note, representation learning methods havebeen widely used to support large-scale recommendation engine[3] [7] [10] [15]. The difference between these works and ours isthat they model implicit customer preferences through user past
behavior whereas we try to generate explicit user understanding.

3

SYSTEM ARCHITECTURE

Here at Walmart, we maintain both offline item anchored recommendation and customer understanding models. We describe indetail how the inference function utilizes both the existing item
anchored recommendation model and customer preferences to provide personalized item anchored recommendation. We then detailon how we utilize the inference function on the serving layer.

3.1

Inference Function

The goal of the inference function is to identify, for a given user
and item, what is the most optimal set of recommendation. Moreprecisely, we optimize
max 𝑠𝑐𝑜𝑟𝑒 (𝑢, 𝑖, 𝑟 ) ∀𝑢 ∈ 𝑈 , 𝑖 ∈ 𝐼
𝑟 ∈𝐼

(1)

where 𝑢 is user, 𝑖 is anchor item, and 𝑟 is set of possible recommendations. Notice that, while the aforementioned formulation is stilltractable, in an industry setting, it is difficult to pre-compute thescores. At Walmart, we have tens of millions of customers, alongwith tens of millions of items, so computing the best (𝑢, 𝑖, 𝑟 ) triplet
becomes very difficult.
Rather, we take an existing item recommendations, and frame it
as a re-ranking framework. More precisely, suppose that we havean existing item recommendation which computes
𝑅𝑖 = max 𝑠𝑐𝑜𝑟𝑒 (𝑖, 𝑟 ) ∀𝑖 ∈ 𝐼
𝑟 ∈𝐼

(2)

where 𝑅𝑖 is the set of recommendations for anchor item 𝑖. Now the
optimization function becomesmax 𝑠𝑐𝑜𝑟𝑒 (𝑢, 𝑖, 𝑟 ) ∀𝑢 ∈ 𝑈 , 𝑖 ∈ 𝐼

𝑟 ∈𝑅𝑖

(3)

where 𝑟 is limited to the set 𝑅𝑖 .
Notice that the above formulation still suffers from having to precompute recommendations for each (𝑢, 𝑖). To mitigate this issue,
we treat 𝑠𝑐𝑜𝑟𝑒 (𝑢, 𝑖, 𝑟 ) as a combination of two different products.
We first notice that we do not need to predict which anchor item

𝑖 a given user 𝑢 is likely to view or purchase next. On the other
hand, we do need to understand a users’ preference towards a
recommended item 𝑟 ∈ 𝑅𝑖 . We denote the users’ preference towards
a recommended item as 𝑔(𝑢, 𝑟 ). We compute 𝑔(𝑢, 𝑟 ) by utilizing
customer understanding which we will illustrate in the case study.
Furthermore, we have an existing item anchored model, ℎ(𝑖, 𝑟 ).
These models are optimized based on which recommended items𝑟 ∈ 𝑅 best optimize a given business metric. Examples of theseinclude With 𝑔(𝑢, 𝑟 ), and ℎ(𝑖, 𝑟 ), we are able to compute𝑠𝑐𝑜𝑟𝑒 (𝑢, 𝑖, 𝑟 ) ≈ 𝑓 (𝑔(𝑢, 𝑟 ), ℎ(𝑖, 𝑟 ))(4)

The benefit of the above representation is the decoupling between item-anchored model optimization (denoted by ℎ(𝑖, 𝑟 )), andthat of customer preference model (𝑔(𝑢, 𝑟 )). Such decoupling allows
the two specialized track to work in parallel, and then to mutuallywork on a function 𝑓 () which binds the two models together.

3.2

Overall Architecture

Our training infrastructure is set up in such a way that customer
understanding track, and item recommendation (item anchoredmodel) track can work independently of one another. Once each of
the tracks have trained their model, these are pushed to an existing
database. Our system can start training once the two tracks arepushed to the database.
Our proposed re-ranker system works for all the different activation. For each activation, we train the inference function independently using a supervised machine learning algorithm. We
use the best performing item anchored model to get the relevant
scores. Our framework is not dependent on this and we can use
the scores coming from any kind of model. We utilize the customer
understanding attribute scores along with the relevance scores fortraining the inference function.
We use the customer historical activity data depending on theactivation for training the weights for relevance score and eachcustomer understanding attribute - brand, price, flavor, etc . Our
re-ranker system has the flexibility of selecting any number of customer attributes from the available list of attributes. These weights
can be present at global level or any taxonomy hierarchy level forthe contextual information. We collect the customer past module
related feedback data and create relevant labels. Then, we train theweights offline optimizing different function for different activationand get weights for relevance and each of the customer attributes
selected.
We use these weights for offline evaluating the different relevant
metrics. Many times, we use the ranking metrics like Normalized
Discounted Cumulative Gain(NDCG), Mean Reciprocal rank(MRR),
Mean Hit Rate(MHR) and Mean Average Precision(MAP) to compare the baseline model recommendations against the re-reranked
model recommendations.
Once we finalize the re-ranking model that outperforms thebaseline model, we make the corresponding model weights andinference function available to the serving layer, which uses themfor online inferencing and re-ranking the recommendations.
We maintain a pipeline for continuously collecting various usefulmetrics like percentage of re-rankings happening, coverage of eachcustomer attributes, and the above mentioned ranking metrics. We

Scalable and Personalized Item Recommendations Framework

have a feedback loop where use the new feedback data to train themodel and generate new weights.
Our overall architecture is shown in Figure 1.

4

CASE STUDIESWe demonstrate how our re-ranker works through two case studies,
each of which hinges on a distinct track of customer preference
understanding. We first provide an overview of how customer understanding models come about. Customers may search, view, click,
add-to-cart, or purchase various items at Walmart. Each of these
items have meta-information such as brand, flavor, or price-levelassociated with it. We use these meta-information to build customer preferences. As an example, a customer may decide to view,
and ultimately purchase ‘Chobani Non-Fat Peach Greek Yogurt’over multiple visits to an e-commerce website. The same customer
may later on purchase ‘Chobani Non-Fat Strawberry Greek Yogurt’.
Based on these interactions, we learn that a customer may preferthe ‘Chobani’ brand, prefers ‘non-fat’ yogurt and likes ‘peach’ and‘strawberry’ flavors. Here at Walmart, we maintain each customer’s
preferences across different attributes such as flavor and brand. We
denote these preferences as ‘Customer Understanding’.
In this section , we will showcase how our re-ranker carries out
personalization using two different aspects of customer understanding: brand and price. We will apply brand understanding to the"bought also bought" (BAB) application and apply price understanding to the "view ultimately bought" (VUB) application. Both of theseapplications are currently powered by item anchored modules.

4.1

Brand Understanding

We use a very simple and straightforward tf-idf style method tocompute customer brand affinity scores. This score essentially reflects how much a customer has interacted with a given brand in
the past. Moreover the customer brand affinity scores are computedat the category level. For example, the latest iphone will fall under Prepaid Cell Phones category. One brand might have products
across multiple categories and our customer brand affinity scores
can capture a customer’s preference for brands under each specificcategory.
While our customer brand affinity model provides explicit signals for customer brand preference, it suffers from poor coverage.
This is because if a customer has never interacted with a brandbefore, then we wouldn’t have an explicit brand preference for thisperson and the brand. In our experiment, customer on averagehas 14.2% of brand coverage. In order to compensate for this, wedevelop a brand2brand model that provides implicit signal on customer preference for brands they have not interacted with before.
The brand2brand model is based on the word2vec model [8] [9]trained on historical session data of items co-viewed within thesame session. Within the word2vec framework, each session on our
website is treated as one document and each brand at a specified
category level is treated as a word. Some example results from thebrand2brand model are shown in Table 1.
For a given brand, the brand2brand model provides a list of themost similar brands. This is useful to back-filling the missing explicit
customer brand affinity scores as we can use the following inference
logic. When we are missing a customer C’s explicit brand affinity

score for brand A, we go down the list of the most similar brands tobrand A. We then use the first brand, say brand B, where we have
explicit brand affinity score from customer C to brand B, multiply
this known customer brand affinity score with the similarity score
between brand A and brand B, and use this product as the customer
brand affinity score from customer C to brand A. Applying thebrand2brand model with the aforementioned logic improves brandcoverage to 60.6%.
After developing the explicit customer brand affinity model supplemented by the brand2brand model as implicit customer brandaffinity, we are ready to activate our models on the re-ranker for thebought also bought (BAB) application. The current BAB model isused at the Post Add to Cart page of walmart.com. The BAB model
has about 1.8 million anchor items and an average of 30 recommendations for each anchor item ranked by a "relevance" score. The
re-ranker combines the relevance score and our customer brandaffinity score to re-rank the recommendations for each customer.
The combination of relevance score and brand understanding is
set to be linear to minimize latency and is trained independently
within each different category. The exact form is as follows:
𝑦𝑐 = 𝑤 0𝑐 + 𝑤 1𝑐 × relevance + 𝑤 2𝑐 × brand_affinity
where 𝑐 represents category c. The weights are learned offline
through a logistic regression model where the response signal isco-boughtness within the same session. We document the offline
evaluation results comparing using the re-ranker to personalize
and re-rank BAB recommendations against using the relevance
score (non-personalized) alone in Table 2.

Model

Non Personalized Personalized BAB
BAB
NDCG@50.031
0.034 ∗
MHR@5
0.046
0.049 *
MRR@5
0.027
0.029 *
MAP@5
0.032
0.035 *
Table 2: Offline evaluation results applying brand understanding to the "bought also bought" application
There is improvement in all of the ranking metrics for personalized BAB model against the non-personalized one. There is 1%
lift in NDCG, 0.7% lift in MRR and 0.9% lift in MAP. 78% and 95% oftimes re-ranking happens across top 5 and top 30 recommendations
respectively. The model weights and the inference function areavailable to the serving layer which does online re-ranking on therecommendations.
We perform a more deep dive analysis on which of the factors
the customers give more weightage to- brand affinity or relevancewithin each category. We find that for some categories of items,
customers prefer brand affinity over relevance, while for others,
they prefer relevance over brand affinity. Some of these categories
are shown in Table 3.

* indicates statistical significance at p < 0.05 compared to baseline

Nimesh Sinha, Selene Xu, Swati Bhatt, Abhinav Mathur, Jason H.D. Cho, Sushant Kumar, and Kannan Achan

Figure 1: System architecture. Engineers train a function 𝑓 () by utilizing existing customer understanding, recall set, andhistorical module interactions for each customer. The serving layer imports the function 𝑓 () and its model weights.
Brand 1Category 1

Brand 2Category 2

Similarity Score

Versace
Versace
Apple
Apple

Women Fragrance
Women Fragrance
Cellphones
Cellphones

Elizabeth Arden
Coach
iPhoneStraight Talk

Women Fragrance
Women Fragranc
Cases
Sim Cards

0.96
0.95
0.90
0.88

Table 1: Example from Brand2brand model

Categories with more brandpreference

Categories with more
relevance preference

Maternity Sleepwear
Unisex Occupation Footwear
Girls Sweater
Music Gift cards
Girls Woven Top
FloormatsGirls Swimwear
Breakfast and Baking
Table 3: Analysis of brand affinity preference against relevance
We observe that customers have more brand preference overrelevance for many of the categories related to clothing. This isunderstandable because brand is driving distinguisher in the apparelindustry. It is hard to generalize for the opposite case where thecustomers have more preference for relevance over brand. However,other attributes seemed more important in many of the categories
in which relevance were higher. As an example, customers may
be more concerned with the design or color when they purchasefloormats. However, for the purpose of this usecase study, we did
not build models based on design or color.

4.2

Price Understanding

In order to understand how price point affects customer’s purchasepreference, we first study how price varies from item to item. We
assign each item into a price bucket which reflects how expensive
the item is compared to its peers. Since we want to compare pricesof items of similar property and function, we perform this pricebanding within each category. We roughly classify items into 5
price bands (low, medium low, medium, medium high, high) withineach category, with lower price band pointing to cheaper/more
affordable products and higher price band pointing to more expensive/luxurious options. This item price understanding offers us asimple naive feature for the re-ranker: price2price. This is definedas the difference between the price band of the recommended item
and the price band of the anchor item. It measures how far/close
the price bands are between the anchor item and the recommended
item. Some examples of the price banding results are shown in
Figure 2.
On the other hand, we need to understand how customer preference is affected by how expensive a product is. We use a customer’s
past behavioral patterns on our website to predict how likely thecustomer is going to buy something that’s at the price point of therecommended item. We use a machine learning model to determine customer price affinity scores, which will then be fed into there-ranker as a second feature. Our customer price affinity model
covers roughly 41% of all the recommendations.
Ultimately, the re-ranker brings both the customer price affinity
feature and the price2price feature into the view ultimately bought(VUB) application. The current VUB model has about 7 million anchor items and an average of 50 recommendations for each anchor
item ranked by a "relevance" score. The inference function here isa linear combination of three features: relevance score, customer
price affinity score, and price2price:𝑦 = 𝑤 0 + 𝑤 1 × relevance + 𝑤 2 × price_affinity + 𝑤 3 × price2price
The weights associated with each feature here are trained at a global
level (as opposed to at each category) and are learned through alogistic regression which optimizes for items viewed and purchased
within the same session. The offline evaluation results are shownScalable and Personalized Item Recommendations Framework

Figure 2: Examples of products falling under each price band in the Digital Cameras category.

5

in Table 4.

Model

Non
Personalized
VUB

Personalized Personalized
VUB with
VUB withbaselinemachinetf-idf stylelearnedprice affinity price affinity
NDCG@50.294
0.295
0.299 ∗
MHR@5
0.496
0.498
0.505 *
MRR@5
0.542
0.543
0.542
MAP@5
0.119
0.120
0.122 *
Table 4: Offline evaluation results applying price understanding to the "view ultimately bought" application
In Table 4, we compare the non-personalized model against two
personalized models: one baseline method where we use a simple
tf-idf approach to compute price affinity scores and one machinelearned method where we leverage months of user behavioral dataon our website to learn their price preference. While the baseline
method slightly outperforms the non-personalized VUB model, themachine learning method clearly proves to be the overall best performer. The machine learning method shows 1.7% improvement in
NDCG, 1.8% improvement in MHR, and 2.5% improvement in MAP.
The improvements in NDCG, MHR and MAP@5 are statisticallysignificant at 5% level in our offline evaluation.
Interestingly, the percentage of recommended items that got
re-ranked to a different position among the top 5 recommendations is greater for the baseline method than for the machine learning method. In other words, the baseline approach actually effects
greater re-ranking despite having less influence on the outcome.
% re-ranked is 35% for the baseline and only 29% for the machinelearning method.
We further take a look at the weights associated with each feature, i.e. 𝑤 1 , 𝑤 2 , 𝑤 3 in the inference function. After adjusting forfeature variance, the ratio for 𝑤 1 :𝑤 2 :𝑤 3 = 73:19:10. This shows thatthe relevance measure from the item-anchored VUB model has thegreatest influence in the personalized model. The customer priceaffinity feature has greater weight than the price2price feature.

* indicates statistical significance at p < 0.05 compared to baseline

CONCLUSION

In this paper, we presented our novel solution to the problem of scalable personalized recommendation systems. Our re-ranker framework isolates the effect of item relevance, learned from item anchored recommendation model, from personal preference, thus
allowing us to develop personalization on top of the results fromexisting non-personalized models. We also opted to express customer preference (defined to target different product attributes suchas brand, price, flavor, etc.) in terms of explicit signals instead of
implicit representations. We introduced a couple of examples on
how we can use the framework in real applications. Both case studies showed great potential of our re-ranker system through offline
evaluations.

REFERENCES[1] Oren Barkan and Noam Koenigstein. 2016. Item2vec: neural item embedding
for collaborative filtering. In 2016 IEEE 26th International Workshop on Machine
Learning for Signal Processing (MLSP). IEEE, 1–6.
[2] Rianne van den Berg, Thomas N Kipf, and Max Welling. 2017. Graph convolutional matrix completion. arXiv preprint arXiv:1706.02263 (2017).
[3] Mihajlo Grbovic, Vladan Radosavljevic, Nemanja Djuric, Narayan Bhamidipati,
Jaikit Savla, Varun Bhagwan, and Doug Sharp. 2015. E-commerce in your inbox:
Product recommendations at scale. In Proceedings of the 21th ACM SIGKDD
international conference on knowledge discovery and data mining. 1809–1818.
[4] Binbin Hu, Chuan Shi, Wayne Xin Zhao, and Philip S Yu. 2018. Leveraging metapath based context for top-n recommendation with a neural co-attention model.
In Proceedings of the 24th ACM SIGKDD International Conference on Knowledge
Discovery & Data Mining. 1531–1540.
[5] Yifan Hu, Yehuda Koren, and Chris Volinsky. 2008. Collaborative filtering for
implicit feedback datasets. In 2008 Eighth IEEE International Conference on Data
Mining. Ieee, 263–272.
[6] Yehuda Koren, Robert Bell, and Chris Volinsky. 2009. Matrix factorization techniques for recommender systems. Computer 42, 8 (2009), 30–37.
[7] Thom Lake, Sinead A Williamson, Alexander T Hawk, Christopher C Johnson,
and Benjamin P Wing. 2019. Large-scale collaborative filtering with productembeddings. arXiv preprint arXiv:1901.04321 (2019).
[8] Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. 2013. Efficientestimation of word representations in vector space. arXiv preprint arXiv:1301.3781(2013).
[9] Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S Corrado, and Jeff Dean. 2013.
Distributed representations of words and phrases and their compositionality. In
Advances in neural information processing systems. 3111–3119.
[10] Pavlos Mitsoulis-Ntompos, Meisam Hejazinia, Serena Zhang, and Travis Brady.
2019. A Simple Deep Personalized Recommendation System. arXiv preprint
arXiv:1906.11336 (2019).
[11] Steffen Rendle, Christoph Freudenthaler, Zeno Gantner, and Lars Schmidt-Thieme.
2012. BPR: Bayesian personalized ranking from implicit feedback. arXiv preprint
arXiv:1205.2618 (2012).
[12] Steffen Rendle, Christoph Freudenthaler, and Lars Schmidt-Thieme. 2010. Factorizing personalized markov chains for next-basket recommendation. In Proceedingsof the 19th international conference on World wide web. 811–820.

Nimesh Sinha, Selene Xu, Swati Bhatt, Abhinav Mathur, Jason H.D. Cho, Sushant Kumar, and Kannan Achan[13] Zhu Sun, Jie Yang, Jie Zhang, Alessandro Bozzon, Yu Chen, and Chi Xu. 2017.
MRLR: Multi-level Representation Learning for Personalized Ranking in Recommendation.. In IJCAI. 2807–2813.
[14] Flavian Vasile, Elena Smirnova, and Alexis Conneau. 2016. Meta-prod2vec:
Product embeddings using side-information for recommendation. In Proceedingsof the 10th ACM Conference on Recommender Systems. 225–232.
[15] Mengting Wan, Di Wang, Jie Liu, Paul Bennett, and Julian McAuley. 2018. Representing and recommending shopping baskets with complementarity, compatibility and loyalty. In Proceedings of the 27th ACM International Conference on

Information and Knowledge Management. 1133–1142.
[16] Hongwei Wang, Fuzheng Zhang, Mengdi Zhang, Jure Leskovec, Miao Zhao,
Wenjie Li, and Zhongyuan Wang. 2019. Knowledge-aware graph neural networks
with label smoothness regularization for recommender systems. In Proceedings ofthe 25th ACM SIGKDD International Conference on Knowledge Discovery & Data
Mining. 968–977.
[17] Yuexin Wu, Hanxiao Liu, and Yiming Yang. 2018. Graph Convolutional Matrix
Completion for Bipartite Edge Prediction.. In KDIR. 49–58.