arXiv:1803.02349v1 [cs.IR] 6 Mar 2018

Billion-scale Commodity Embedding for E-commerce
Recommendation in Alibaba
Jizhe Wang, Pipei Huang

Huan Zhao

Alibaba Group
Hangzhou and Beijing, China
{jizhe.wjz,pipei.hpp}@alibaba-inc.com

Department of Computer Science and Engineering
Hong Kong University of Science and Technology
Kowloon, Hong Kong
hzhaoaf@cse.ust.hk

Zhibo Zhang, Binqiang Zhao

Dik Lun Lee

Alibaba Group
Beijing, China
{shaobo.zzb,binqiang.zhao}@alibaba-inc.com

Department of Computer Science and Engineering
Hong Kong University of Science and Technology
Kowloon, Hong Kong
dlee@cse.ust.hk

ABSTRACT
Recommender systems (RSs) have been the most important
technology for increasing the business in Taobao, the largest
online consumer-to-consumer (C2C) platform in China. The billionscale data in Taobao creates three major challenges to Taobao’s
RS: scalability, sparsity and cold start. In this paper, we present
our technical solutions to address these three challenges. The
methods are based on the graph embedding framework. We first
construct an item graph from users’ behavior history. Each item
is then represented as a vector using graph embedding. The item
embeddings are employed to compute pairwise similarities between
all items, which are then used in the recommendation process. To
alleviate the sparsity and cold start problems, side information
is incorporated into the embedding framework. We propose two
aggregation methods to integrate the embeddings of items and the
corresponding side information. Experimental results from offline
experiments show that methods incorporating side information are
superior to those that do not. Further, we describe the platform
upon which the embedding methods are deployed and the workflow
to process the billion-scale data in Taobao. Using online A/B test,
we show that the online Click-Through-Rate (CTRs) are improved
comparing to the previous recommendation methods widely used
in Taobao, further demonstrating the effectiveness and feasibility
of our proposed methods in Taobao’s live production environment.

1

INTRODUCTION

Internet technology has been continuously reshaping the business
landscape, and online businesses are everywhere nowadays.
Alibaba, the largest provider of online business in China, makes it
possible for people or companies all over the world to do business
online. With one billion users, the Gross Merchandise Volume
(GMV) of Alibaba in 2017 is 3,767 billion Yuan and the revenue
in 2017 is 158 billion Yuan. In the famous Double-Eleven Day, the
largest online shopping festival in China, in 2017, the total amount
of transactions was around 168 billion Yuan. Among all kinds of

online platforms in Alibaba, Taobao1 , the largest online consumerto-consumer (C2C) platform, stands out by contributing to 75% of
the total traffic in Alibaba E-commerce. Besides, the mobile monthly
active users (MAUs) of Taobao is 549 million in 2017, which makes
up around 80% of all users in Alibaba.
With one billion users and two billion items, i.e., commodities,
in Taobao, the most critical problem is how to help users find
the needed and interesting items quickly. To achieve this goal,
recommendation, which aims at providing users with interesting
items based on their preferences, becomes the key technology
in Taobao. For example, the homepage on Mobile Taobao App
(see Figure 1), which are generated based on users’ past behaviors
with recommendation techniques, contributes to 40% of the total
recommending traffic. Furthermore, recommendation contributes
80% and 50+%, respectively, to the revenues and traffic in Taobao.
In short, recommendation has become the vital engine of GMV
and revenues of Taobao and Alibaba. Despite the success of
various recommendation methods in academia and industry, e.g.,
collaborative filtering (CF) [10, 12, 17], content-based methods [3],
and deep learning based methods [6, 7, 23], the problems facing
these methods become more severe in Taobao because of billionscale of users and items.
There are three major technical challenges facing RS in Taobao:
• Scalability: Despite the fact that many existing recommendation approaches work well on smaller scale datasets, i.e.,
millions of users and items, they fail on much larger scale
dataset in Taobao, i.e., one billion users and two billion items.
• Sparsity: Due to the fact that users tend to interact with
only a small number of items, it is extremely difficult to train
an accurate recommending model, especially for users or
items with quite a small number of interactions. It is usually
referred to as the “sparsity” problem.
• Cold Start: In Taobao, millions of new items are continuously uploaded per hour. There are no user behaviors for
these items. It is challenging to process these items or predict
the preferences of users for these items, which is the so-called
“cold start” problem.

KDD’18, , August 19–23, 2018, London, United Kindom.
© 2018 Association for Computing Machinery.
1 https://www.taobao.com/

Figure 1: The areas highlighted with dashed rectangles are personalized for one billion users in Taobao. Attractive images
and textual descriptions are also generated for better user experience. Note they are on Mobile Taobao App homepage, which
contributes to 40% of the total recommending traffic.
To address these challenges caused by billion-scale data in
Taobao, we design a two-stage recommending framework in
Taobao’s technology platform. The first stage is matching, and the
second is ranking. In the matching stage, we generate a candidate
set of similar items for each item users have interacted with, and
then in the ranking stage, we train a deep neural net model, which
ranks the candidate items for each user according to his or her
preferences. Due to the aforementioned challenges, both stages
have to face their own unique problems. Besides, the goal of each
stage is different, leading to separate technical methods.
In this paper, we focus on how to address the challenges in
the matching stage, where the core task is the computation of
pairwise similarities between all items based on users’ behaviors.
After the pairwise similarities of items are obtained, we can generate
a candidate set of items for further personalization in the ranking
stage. To achieve it, we propose to construct an item graph from
users’ behavior history and then apply the state-of-art graph
embedding methods [9, 16, 18] to learn the embedding of each item,
dubbed Base Graph Embedding (BGE). In this way, we can generate
the candidate set of items based on the similarities computed
from the dot product of the embedding vectors of items. Note
that in previous works, CF based methods are used to compute
these similarities. However, CF based methods only consider the
co-occurrence of items in users’ behavior history [10, 12, 17]. In
our work, using random walk in the item graph, we can capture
higher-order similarities between items. Thus, it is superior to CF
based methods. However, it’s still a challenge to learn accurate
embeddings for items with few or even no interactions. To alleviate
this problem, we propose to use side information to enhance
the embedding procedure, dubbed Graph Embedding with Side
information (GES). For example, items belong to the same category
or brand should be closer in the embedding space. In this way,
we can obtain accurate embeddings for items with few or even
no interactions. However, in Taobao, there are hundreds of types

of side information, like category, brand, or price, etc., and it’s
very intuitive that different side information should contribute
differently to learning the embeddings of items. Thus, we further
propose a weighting mechanism when learning the embedding
with side information, dubbed Enhanced Graph Embedding with
Side information (EGES).
In summary, there are three important parts in the matching
stage:
(1) Based on years of practical experience in Taobao, we design
an effective heuristic method to construct the item graph
from the behavior history of one billion users in Taobao.
(2) We propose three embedding methods, BGE, GES, and EGES,
to learn embeddings of two billion items in Taobao. We
conduct offline experiments to demonstrate the effectiveness
of GES and EGES comparing to BGE and other embedding
methods.
(3) To deploy the proposed methods for billion-scale users and
items in Taobao, we build the graph embedding systems on
the XTensorflow (XTF) platform constructed by our team. We
show that the proposed framework significantly improves
recommending performance on the Mobile Taobao App,
while satisfying the demand of training efficiency and instant
response of service even on the Double-Eleven Day.
The rest of the paper is organized as follows. In Section 2, we
elaborate on the three proposed embedding methods. Offline and
online experimental results are presented in Section 3. We introduce
the deployment of the system in Taobao in Section 4, and review
the related work in Section 5. We conclude our work in Section 6.

2

FRAMEWORK

In this section, we first introduce the basics of graph embedding,
and then elaborate on how we construct the item graph from users’
behavior history. Finally, we study the proposed methods to learn
the embeddings of items in Taobao.

2.1

Preliminaries

In this section, we give an overview of graph embedding and
one of the most popular methods, DeepWalk [16], used in our
graph embedding methods in the matching stage. Given a graph
G = (V, E), where V and E represent the node set and the edge
set, respectively. Graph embedding is to learn a low-dimensional
representation for each node v ∈ V in the space Rd , where
d ≪ |V |. In other words, our goal is to learn a mapping function
Φ : V → Rd , i.e., representing each node in V as a d-dimensional
vector.
In [14, 15], word2vec was proposed to learn the embedding of
each word in a corpus. Inspired by word2vec, Perozzi et al. proposed
DeepWalk to learn the embedding of each node in a graph [16].
They first generate sequences of nodes by running random walk
in the graph, and then apply the Skip-Gram algorithm to learn
the representation of each node in the graph. To preserve the
topological structure of the graph, they need to solve the following
optimization problem:
Õ Õ
minimize
− log Pr (c |Φ(v)),
(1)
Φ

v ∈V c ∈N (v)

where N (v) is the neighborhood of node v, which can be defined
as nodes within one or two hops from v. Pr (c |Φ(v)) defines the
conditional probability of having a context node c given a node v.
In the rest of this section, we first present how we construct
the item graph from users’ behaviors, and then the proposed
graph embedding methods based on DeepWalk for generating lowdimensional representation for two billion items in Taobao.

2.2

Construction of Item Graph from Users’
Behaviors

In this section, we elaborate on the construction of the item graph
from users’ behaviors. In reality, a user’s behaviors in Taobao tend
to be sequential as shown in Figure 2 (a). An edge pointing to item
A from C means user u 1 clicks A after C in Taobao. Previous CF
based methods only consider the co-occurrence of items, but ignore
the sequential information, which can reflect users’ preferences
more precisely. However, it is not possible to use the whole history
of a user because 1) the computational and space cost will be too
expensive with so many entries; 2) a user’s interests tend to be
drifting with time. Therefore, in practice, we set a time window
and only choose users’ behaviors within the window. This is called
session-based users’ behaviors. Empirically, the duration of the time
window is one hour.
After we obtain the session-based users’ behaviors, two items
will be connected by a directed edge if they occur consecutively,
e.g., item C and item A in Figure 2 (a). By utilizing the collaborative
behaviors of all users in Taobao, we assign a weight to each edge
ei j based on the total number of occurrences of the two connected
items in all users’ behaviors. In specific, the weight of the edge is
equal to the frequency of item i transiting to item j in the whole
users’ behavior history. In this way, the constructed item graph can
represent the similarity between different items based on all the
users’ behaviors in Taobao.
In practice, before we extract users’ behavior sequences, we need
to filter out invalid data and abnormal behaviors to eliminate noise

for our proposed methods. Currently, the following behaviors are
regarded as noise in our system:
• If the duration of the stay after a click is less than one second,
the click may be unintentional and needs to be removed.
• There are some “over-active” users in Taobao, who are
actually spam users. According to our long-term observation
in Taobao, if a single user bought 1000 items or his/her total
number of clicks is larger than 3500 in less than three months,
it is very likely that the user is a spam user. We need to filter
out the behaviors of these users.
• Retailers in Taobao keep updating the details of a commodity.
In the extreme case, a commodity can become a totally
different item for the same identifier in Taobao after a long
sequence of updates. Thus, we remove the item related to
the identifier.

2.3

Base Graph Embedding

After we obtain the weighted directed item graph, denoted as
G = (V, E), we adopt a method similar to DeepWalk to learn the
embedding of each node in G. Let M denote the adjacency matrix
of G and Mi j the weight of the edge from node i pointing to node
j. We first generate node sequences based on random walk and
then run the Skip-Gram algorithm on the sequences. The transition
probability of random walk is defined as:
P(v j |vi ) =






M
Í ij
j ∈N + (v i )

Mi j ,

v j ∈ N + (vi )
(2)
ei j < E,


 0,


where N + (vi ) represents the set of outlink neighbors, i.e. there are
edges from vi pointing to all of the nodes in N + (vi ). By running
random walk, we can generate a number of sequences as shown in
Figure 2 (c).
Then we apply the Skip-Gram algorithm [14, 15] to learn the
embeddings, which maximizes the co-occurrence probability of
two nodes in the obtained sequences. This leads to the following
optimization problem:

minimize − log Pr {vi−w , · · · , vi+w }\vi |Φ(vi ) ,
(3)
Φ

where w is the window size of the context nodes in the sequences.
Using the independence assumption, we have:

Pr {vi−w , · · · , vi+w }\vi |Φ(vi ) =

i+w
Ö


Pr v j |Φ(vi ) .

(4)

j=i−w, j,i

Applying negative sampling [14, 15], Eq. (3) can be transformed
into:
Õ


minimize log σ Φ(v j )T Φ(vi ) +
log σ − Φ(vt )T Φ(vi ) .
Φ

t ∈N (v i )′

(5)
where N (vi ) ′ is the negative samples for vi , and σ () is the sigmoid
function σ (x) = 1+e1 −x . Empirically, the larger |N (vi ) ′ | is, the better
the obtained results.

2.4

Graph Embedding with Side Information

By applying the embedding method in Section 2.3, we can learn
embeddings for all the items in Taobao to capture higher-order

(a) Users’ behavior sequences.

(b) Item graph construction.

(c) Random walk generation.

(d) Embedding with Skip-Gram.

Figure 2: Overview of graph embedding in Taobao: (a) Users’ behavior sequences: One session for user u1, two sessions for
user u2 and u3; these sequences are used to construct the item graph; (b) The weighted directed item graph G = (V, E); (c) The
sequences generated by random walk in the item graph; (d) Embedding with Skip-Gram.
similarities in users’ behavior sequences, which are ignored by
previous CF based methodsen. However, it is challenging to learn
accurate embeddings for “cold-start” items, i.e., those with no
interactions of users.
To address the cold-start problem, we propose to enhance BGE
using side information attached to cold-start items. In the context
of RSs in e-commerce, side information refers to the category, shop,
price, etc., of an item, which are widely used as key features in
the ranking stage but rarely applied in the matching stage. We can
alleviate the cold-start problem by incorporating side information
in graph embedding. For example, two hoodies (same category)
from UNIQLO (same shop) may look alike, and a person who likes
Nikon lens may also has an interest in Canon Camera (similar
category and similar brand). It means that items with similar side
information should be closer in the embedding space. Based on this
assumption, we propose the GES method as illustrated in Figure 3.
For the sake of clarity, we modify slightly the notations. We use
W to denote the embedding matrix for items or side information.
Specifically, Wv0 denotes the embedding of item v, and Wvs denotes
the embedding of the s-th type of side information attached to
item v. Then, for item v with n types of side information, we have
n + 1 vectors Wv0 , · · · , ...Wvn ∈ Rd , where d is the embedding
dimension. Note that the dimensions of the embeddings of items
and side information are empirically set to the same value.
As shown in Figure 3, to incorporate side information, we
concatenate the n + 1 embedding vectors for item v and add a layer
with average-pooling operation to aggregate all of the embeddings
related to item v, which is:
n

Hv =

1 Õ s
W ,
n + 1 s=0 v

(6)

where Hv is the aggregated embeddings of item v. In this way, we
incorporate side information in such a way that items with similar
side information will be closer in the embedding space. This results
in more accurate embeddings for cold-start items and improves the
performance (see Section 3).

Figure 3: The general framework of GES and EGES. SI
denotes the side information, and “SI 0” represents the
item itself. In practice, 1) Sparse features tend to be onehot-encoder vectors for items and different SIs; 2) Dense
embeddings are the representation of items and the corresponding SI; 3) The hidden representation is the aggregation
embedding of an item and its corresponding SI.

2.5

Enhanced Graph Embedding with Side
Information

Despite the performance gain of GES, a problem remains when
integrating different kinds of side information in the embedding
procedure. In Eq. (6), the assumption is that different kinds of side
information contribute equally to the final embedding, which does
not reflect the reality. For example, a user who has bought an iPhone
tends to view Macbook or iPad because of the brand “Apple”, while
a user may buy clothes of different brands in the same shop in
Taobao for convenience and lower price. Therefore, different kinds
of side information contribute differently to the co-occurrence of
items in users’ behaviors.
To address this problem, we propose the EGES method to
aggregate different types of side information. The framework is the

same to GES (See Figure 3). The idea is that different types of side
information have different contributions when their embeddings
are aggregated. Hence, we propose a weighted average layer to
aggregate the embeddings of the side information related to the
items. Given an item v, let A ∈ R |V |×(n+1) be the weight matrix
and the entry Ai j the weight of the j-th type of side information
of the i-th item. Note that A∗0 , i.e., the first column of A, denotes
the weight of item v itself. For simplicity, we use avs to denote
the weight of the s-th type of side information of item v with av0
denoting the weight of item v itself. The weighted average layer
combining different side information is defined as follows.
Ín avj j
j=0 e Wv
,
(7)
Hv = Í
n e avj
j=0
j

j

where we use e av instead of av to ensure that the contribution of
j
Í
each side information is greater than 0, and nj=0 e av is used to
normalize the weights related to the embeddings of different side
information.
For node v and its context node u in the training data, we use
Zu ∈ Rd to represent its embedding and y to denote the label. Then,
the objective function of EGES becomes:
L(v, u, y) =

−[yloд(σ (HTv Zu )) + (1 − y)loд(1 − σ (HTv Zu ))].

= Í
n

j=0 e

j

av

3:

7:
8:
9:
10:
11:
12:
13:

14:
15:
16:
17:

function WeightedSkipGram(W0 , · · · , Wn , A, k, #ns, l, SEQ)
for i = 1 → l do
v = SEQ[i];
for j = max(0, i − k) → min(i + k, l) & j , i do
u = SEQ[j]
Update(v, u, 1)
for t = 0 → #ns do
u = N eдateiveSamplinд(V )
Update(v, u, 0)
end for
end for
end for
end function
function Update(v, u, y)
∂ L; (Eq. (9))
Zunew = Zuold − η · ∂Z
u
for s = 0 → n do
new
∂ L ; (Eq. (10))
avs
= avs old − η · ∂a
s
new

18:

(11)

EXPERIMENTS

In this section, we conduct extensive experiments to demonstrate
the effectiveness of our proposed methods. First, we evaluate the
methods by the link prediction task, and then report the online
experimental results on Mobile Taobao App. Finally, we present
some real-world cases to give insight into the proposed methods in
Taobao.

3.1

2:

6:

The pseudo code of EGES is listed in Algorithm 1, and the pseudo
code of the weighted Skip-Gram updater is shown in Algorithm 2.
The final hidden representation of each item is computed by Eq. (7).

3

1:

5:

∂L
∂L ∂Hv
=
∂Wvs
∂Hv ∂Wvs
(σ (HTv Zu ) − y)Zu .

Algorithm 2 Weighted Skip-Gram.

4:

∂L
= (σ (HTv Zu ) − y)Hv .
(9)
∂Zu
For s-th side information:
∂L ∂Hv
∂L
=
∂avs
∂Hv ∂avs
j
j
Í
s
s Í
j
( nj=0 e av )e av Wvs − e av nj=0 e av Wv
T
= (σ (Hv Zu ) − y)Zu
,
Í
j
( nj=0 e av )2
(10)

e

INPUT:
The item graph G = (V, E), side information S, number of
walks per node w, walk length l, Skip-Gram window size k,
number of negatives samples #ns, embedding dimension d;
OUTPUT:
The item & side-information embeddings W0 , . . . , Wn
Weight matrix A;
1: Initialize W0 , . . . , Wn , A;
2: for i = 1 → w do
3:
for v ∈ V do
4:
SEQ = RandomWalk(G,v,l); (Eq. (2))
5:
WeightedSkipGram(W0 , . . . , Wn , A, k, #ns, l, SEQ);
6:
end for
7: end for
8: return W0 , . . . , Wn , A;

(8)

To solve it, the gradients are derived as follows.

avs

Algorithm 1 Framework of EGES.

Offline Evaluation

Link Prediction. The link prediction task is used in the offline
experiments because it is a fundamental problem in networks. Given
a network with some edges removed, the link prediction task is

19:
20:

ol d

Wvs
= Wvs
end for
end function

v

∂ L ; (Eq. (11))
− η · ∂W
s
v

to predict the occurrence of links. Following similar experimental
settings in [31], 1/3 of the edges are randomly chosen and removed
as ground truth in the test set, and the remaining graph is taken as
the training set. The same number of node pairs in the test data with
no edges connecting them are randomly chosen as negative samples
in the test set. To evaluate the performance of link prediction,
the Area Under Curve (AUC) score is adopted as the performance
metric.
Dataset. We use two datasets for the link prediction task. The
first is Amazon Electronics2 provided by [13], denoted as Amazon.
The second is extracted from Mobile Taobao App, denoted as
Taobao. Both of these two datasets include different types of side
information. For the Amazon dataset, the item graph is constructed
2 http://jmcauley.ucsd.edu/data/amazon/

Table 1: Statistics of the two datasets. #SI denotes the number
of types of side information. Sparsity is computed according
#Edдes
to 1 − #N odes×(#N odes−1) .
Dataset
Amazon
Taobao

#Nodes
300,150
2,632,379

#Edges
3,740,196
44,997,887

#SI
3
12

these results, we can observe that incorporating side information
can be very useful for graph embedding, and the accuracy can be
further improved by weighted aggregation of the embeddings of
various side information.

Sparsity(%)
0.9958
0.9994

Table 2: AUCs of different methods on the two datasets.
Percentages in the brackets are the improvements of AUC
comparing to BGE.
Dataset
BGE
LINE(1st)
LINE(2nd)
GES
EGES

Amazon
0.9327
0.9554(+2.43%)
0.8664(-7.65%)
0.9575(+2.66%)
0.9700(+4.00%)

Taobao
0.8797
0.9100(+3.44%)
0.9411(+6.98%)
0.9704(+10.1%)
0.9746(+10.8%)

from “co-purchasing” relations (denoted as also_bought in the
provided data), and three types of side information are used, i.e.,
category, sub-category and brand. For the Taobao dataset, the item
graph is constructed according to Section 2.2. Note that, for the sake
of efficiency and effectiveness, twelve types of side information are
used in Taobao’s live production, including retailer, brand, purchase
level, age, gender, style, etc. These types of side information have
been demonstrated useful according to years of practical experience
in Taobao. The statistics of the two datasets are shown in Table 1.
We can see that the sparsity of the two datasets are greater than
99%.
Comparing Methods. Experiments are conducted to compare
four methods: BGE, LINE, GES, and EGES. LINE was proposed
in [18], which captures the first-order and second-order proximity
in graph embedding. We use the implementation provided by the
authors3 , and run it using first-order and second-order proximity,
denoted, respectively, as LINE(1st) and LINE(2nd). We implement
the other three methods. The emdedding dimension of all the
methods is set to 160. For our BGE, GES and EGES, the length
of random walk is 10, the number of walks per node is 20, and the
context window is 5.
Results Analysis. The results are shown in Table 2. We can see
that GES and EGES outperform BGE and LINE(1st) and LINE(2st)
in terms of AUC on both of the two datasets. This demonstrates
the effectiveness of the proposed methods. In other words, the
sparsity problem is alleviated by incorporating side information.
When comparing the improvements on Amazon and Taobao, we
can see that the performance gain is more significant on Taobao
dataset. We attribute this to the larger number of types of effective
and informative side information used on Taobao dataset. When
comparing GES and EGES, we can see that the performance gain
on Amazon is lager than that on Taobao. It may be due to the fact
that the performance on Taobao is already very good, i.e., 0.97, thus
the improvement of EGES is not prominent. On Amazon dataset,
EGES outperforms GES significantly in terms of AUC. Based on
3 https://github.com/tangjianpku/LINE

Figure 4: Online CTRs of different methods in seven days in
November 2017.

3.2

Online A/B Test

We conduct online experiments in an A/B testing framework. The
experimental goal is Click-Through-Rate (CTR) on the homepage of
Mobile Taobao App. We implement the the above graph embedding
methods and then generate a number of similar items for each
item as recommendation candidates. The final recommending
results on the homepage in Taobao (see Figure 1) is generated
by the ranking engine, which is implemented based on a deep
neural network model. We use the same method to rank the
candidate items in the experiment. As mentioned above, the quality
of the similar items directly affect the recommending results.
Therefore, the recommending performance, i.e., CTR, can represent
the effectiveness of different methods in the matching stage. We
deploy the four methods in an A/B test framework and the results
of seven days in November 2017 are shown in Figure 4. Note
that “Base” represents an item-based collaborative filtering method
which has been widely used in Taobao before graph embedding
methods was deployed. It calculates the similarity between two
items according to item co-occurrence and user voting weight. The
similarity measurement is well-tuned and suitable for Taobao’s
business.
From Figure 4, we can see that EGES and GES outperform
BGE and Base consistently in terms of CTR, which demonstrates
the effectiveness of the incorporation of side information in
graph embedding. Further, the CTR of Base is larger than that
of BGE. It means that well-tuned CF based methods can beat
simple embedding method because a large number of hand-crafted
heuristic strategies have been exploited in practice. On the other
hand, EGES outperforms GES consistently, which aligns with the
results in the offline experimental results in Section 3.1. It further

(a) Visualization of sports shoes of all categories.

(b) Visualization of badminton, table tennis and football shoes. Items in
gray do not belong to any of the three categories.

Figure 5: Visualization of the learned embeddings of a set of randomly chosen shoes. Item embeddings are projected into a
2-D plane via principal component analysis (PCA). Different colors represent different categories. Items in the same category
are grouped together.
demonstrates that weighted aggregation of side information is
better than average aggregation.

3.3

Case Study

In this section, we describe some real-world cases in Taobao to
illustrate the effectiveness of the proposed methods. The cases are
examined in three aspects: 1) Visualization of the embeddings by
EGES; 2) Cold start items; 3) Weights in EGES.
3.3.1 Visualization. In this part, we visualize the embeddings
of items learned by EGES. We use the visualization tool provided
by tensorflow4 . The results are shown in Figure 5. From Figure 5
(a), we can see that shoes of different categories are in separate
clusters. Here one color represents one category of shoes, like
badminton, table tennis, or football shoes. It demonstrates the
effectiveness of the learned embeddings with incorporation of side
information, i.e., items with similar side information should be
closer in the embedding space. From Figure 5 (b), we further analyze
the embeddings of three kinds of shoes: badminton, table tennis, and
football. It’s very interesting to observe that badminton and table
tennis shoes are closer to each other while football shoes are farther
in the embedding space. This can be explained by a phenomenon
that people in China who like table tennis have much overlapping
with those who like badminton. However, those who like football
are quite different from those who like indoor sports, i.e., table
tennis and badminton. In this sense, recommending badminton
shoes to those who have viewed table tennis shoes is much better
than recommending football shoes.
3.3.2 Cold Start Items. In this part, we show the quality of the
embeddings of cold start items. For a newly updated item in Taobao,
no embedding can be learned from the item graph, and previous
CF based methods also fail on it. Thus, we represent a cold start
4 http://projector.tensorflow.org/

Figure 6: Similar items for cold start items. Top 4 similar
items are shown. Note that “cat” means category.

item with the average embeddings of its side information. Then,
we retrieve the most similar items from the existing items based
on the dot product of the embeddings of two items. The results are
shown in Figure 6. We can see that despite the missing of users’
behaviors for the two cold start items, different side information
can be utilized to learn their embeddings effectively in terms of
the quality of top similar items. In the figure, we annotate for each
similar item the types of side information connected to the cold start
item. We can see that the shops of the items are very informative
for measuring the similarity of two items, which also aligns with
the weight of each side information in the following part.
3.3.3 Weights in EGES. In this part, we visualize the weights of
different types of side information for various items. Eight items in
different categories are selected and the weights of all of the side
information related to these items are extracted from the learned
weight matrix A. The results are shown in Figure 7, where each

• When a user launches Mobile Taobao App, TPP extracts
the user’s latest information and retrieves a candidate set of
items from the offline subsystem, which is then fed to RSP.
RSP ranks the candidate set of items with a fine-tuned deep
neural net model and returns the ranked results to TPP.
• Users’ behaviors during their visits in Taobao are collected
and saved as log data for the offline subsystem.
The workflow of the offline subsystem, where graph embedding
methods are implemented and deployed, is described in the
following:
• The logs including users’ behaviors are retrieved. The item
graph is constructed based on the users’ behaviors. In
practice, we choose the logs in the recent three months.
Before generating session-based users’ behavior sequences,
anti-spam processing is applied to the data. And the
remaining logs contains about 600 billion entries. Then,
the item graph is constructed according to the method in
Section 2.2.
• To run our graph embedding methods, two practical solutions are adopted: 1) The whole graph is split into a number
of sub-graphs, which can be processed in parallel in Taobao’s
Open Data Processing Service (ODPS) distributed platform.
There are around 50 million nodes in each subgraph. 2) To
generate the random walk sequences in the graph, we use
our iteration-based distributed graph framework in ODPS.
The total number of generated sequences by random walk
is around 150 billion.
• To implement the proposed embedding algorithms, 100 GPUs
are used on our XTF platform. On the deployed platform,
with 150 billion samples, all of the modules in the offline
subsystem, including log retrieval, anti-spam processing,
item graph construction, sequence generation by random
walk, embedding, item-to-item similarity computation and
map generation, can be executed in less than six hours.
Thus, our recommending service can respond to users’ latest
behaviors in a very short time.

Figure 7: Weights for different side information of various
items. Here “Item” means the embedding of an item itself.
row records the results of one item. Several observations are worth
noting: 1) The weight distributions of different items are different,
which aligns with our assumption in Section 2.5 that different
side information contribute differently to the final representation;
2) Among all the items, the weights of “Item”, representing the
embeddings of the item itself, are consistently larger than those
of all the other side information. It confirms the intuition that
the embedding of an item itself remains to be the primary source
of users’ behaviors whereas side information provides additional
hints for inferring users’ behaviors; 3) Besides “Item”, the weights
of “Shop” are consistently larger than those of the other side
information. It aligns with users’ behaviors in Taobao, that is, users
tend to purchase items in the same shop for convenience and lower
price.

4

SYSTEM DEPLOYMENT AND OPERATION

In this section, we introduce the implementation and deployment
of the proposed graph embedding methods in Taobao. We first give
a high-level introduction of the whole recommending platform
powering Taobao and then elaborate on the modules relevant to
our embedding methods.

5

RELATED WORK

In this section, we briefly review the related work of graph
embedding, graph embedding with side information, and graph
embedding for RS.

5.1

Figure 8: Architecture of the recommending platform in
Taobao.
In Figure 8, we show the architecture of the recommending
platform in Taobao. The platform consists of two subsystems: online
and offline. For the online subsystem, Taobao Personality Platform
(TPP) and Ranking Service Platform (RSP) are the main components.
A typical workflow is illustrated in the following:

Graph Embedding

Graph Embedding algorithms have been proposed as a general
network representation method. They have been applied to many
real-world applications. In the past few years, there has been a
lot of research in the field focusing on designing new embedding
algorithms. These methods could be categorized into three broad
categories: (1) Factorization methods such as LINE [1] try to
approximately factorize the adjacency matrix and preserve both first
order and second proximities, (2) Deep learning methods [4, 21, 22]
enhance the model’s ability of capturing non-linearity in graph,
and (3) Random walk based techniques [8, 9, 16] use random walks
on graphs to obtain node representations which are extraordinary
efficient and thus could be used in extremely large-scale network.
In this paper, our embedding framework is based on random walk.

5.2

Graph Embedding with Side Information

The above graph embedding methods only use the topological
structure of the network, which suffered the sparsity and cold start
problems. In recent years, a lot of works tried to incorporate side
information to enhance graph embedding methods. Most of the
work build their tasks based on an assumption that node with
similar side information should be closer in the embedding space.
To achieve this, a joint framework is proposed to optimize the
embedding objective function with a classifier function [11, 20]. And
in [25] Xie et al. further embedded a complicate knowledge graph
with the node in a hierarchical structure, like sub-categories, etc.
Besides, textual information related to the nodes are incorporated
into graph embedding [19, 24, 26, 27]. Moreover, in [5], Chang et al.
propose a deep learning framework to simultaneously deal with the
text and image features for heterogeneous graph embedding. In this
paper, we mainly processing discrete side information related to
items in Taobao, like the category, brand, prices, etc. And we design
a hidden layer to aggregate different types of side information in
the embedding framework.

5.3

Graph Embedding for RS

RSs have been one of the most popular downstream task of graph
embedding. With the representation in hand, various prediction
models can be used to recommend. In [28, 30], embeddings of users
and items are learned under the supervision of meta-path and
meta-graphs, respectively, in heterogeneous information networks.
And then Yu et al. [28] proposed a linear model to aggregate the
embeddings for recommendation while Zhao et al. [30] proposed to
apply factorization machine to the embeddings for recommendation.
In [29], Zhang et al. proposed a joint embedding framework to
learn the embeddings of graph, text and images, which are used for
recommendation. In [31], Zhou et al. proposed graph embedding to
capture asymmetric similarities for node recommendation. In this
paper, our graph embedding methods are integrated in a two-stage
recommending platform, thus the performance of the embeddings
directly affect the final recommending results.

6

CONCLUSION AND FUTURE WORK

Taobao’s billion-scale data (one billion users and two billion
items) is putting tremendous stress on its RS in terms of scalability, sparsity and cold start. In this paper, we present graph
embedding based methods to address these challenges. To address
the sparsity and cold-start problems, we propose to incorporate
side information into graph embedding. Offline experiments are
conducted to demonstrate the effectiveness of side information in
improving recommending accuracy. Online CTRs are also reported
to demonstrate the effectiveness and feasibility of our proposed
methods in Taobao’s live production. Real-world cases are analyzed
to highlight the strength of our proposed graph embedding methods
in clustering related items using users’ behavior history and
benefiting cold start items using side information. Finally, to
address the scalability and deployment issues of our proposed
solutions in Taobao, we elaborate on the the platforms for training
our graph embedding methods and the overall workflow of the
recommendation platform in Taobao. For future work, we will

pursue two directions. The first is to utilize attention mechanism in
our graph embedding methods, which can provide more flexibility
to learn the weights of different side information. The second
direction is to incorporate textual information into our methods to
exploit the large number of reviews attached to the items in Taobao.

REFERENCES
[1] A. Ahmed, N. Shervashidze, S. Narayanamurthy, V. Josifovski, and A. J. Smola.
Distributed large-scale natural graph factorization. In WWW, pages 37–48, 2013.
[2] D. Bahdanau, K. Cho, and Y. Bengio. Neural machine translation by jointly
learning to align and translate. arXiv preprint arXiv:1409.0473, 2014.
[3] M. Balabanović and Y. Shoham. Fab: Content-based, collaborative recommendation. Communications of the ACM, 40(3):66–72, 1997.
[4] S. Cao, W. Lu, and Q. Xu. Deep neural networks for learning graph representations.
In AAAI, pages 1145–1152, 2016.
[5] S. Chang, W. Han, J. Tang, G.-J. Qi, C. C. Aggarwal, and T. S. Huang.
Heterogeneous network embedding via deep architectures. In KDD, pages 119–
128, 2015.
[6] H.-T. Cheng, L. Koc, J. Harmsen, T. Shaked, T. Chandra, H. Aradhye, G. Anderson,
G. Corrado, W. Chai, M. Ispir, et al. Wide & deep learning for recommender
systems. Technical report, 2016.
[7] P. Covington, J. Adams, and E. Sargin. Deep neural networks for youtube
recommendations. In RecSys, pages 191–198, 2016.
[8] Y. Dong, N. V. Chawla, and A. Swami. metapath2vec: Scalable representation
learning for heterogeneous networks. In KDD, pages 135–144, 2017.
[9] A. Grover and J. Leskovec. Node2vec: Scalable feature learning for networks. In
KDD, pages 855–864, 2016.
[10] J. Herlocker, J. Konstan, A. Borchers, and J. Riedl. An algorithmic framework for
performing collaborative filtering. In SIGIR, pages 230–237, 1999.
[11] J. Li, J. Zhu, and B. Zhang. Discriminative deep random walk for network
classification. In ACL, volume 1, pages 1004–1013, 2016.
[12] G. Linden, B. Smith, and J. York. Amazon. com recommendations: Item-to-item
collaborative filtering. IEEE Internet computing, 7(1):76–80, 2003.
[13] J. McAuley, C. Targett, Q. Shi, and A. Van Den Hengel. Image-based
recommendations on styles and substitutes. In SIGIR, pages 43–52, 2015.
[14] T. Mikolov, K. Chen, G. Corrado, and J. Dean. Efficient estimation of word
representations in vector space. arXiv preprint arXiv:1301.3781, 2013.
[15] T. Mikolov, I. Sutskever, K. Chen, G. S. Corrado, and J. Dean. Distributed
representations of words and phrases and their compositionality. In NIPS, pages
3111–3119, 2013.
[16] B. Perozzi, R. Al-Rfou, and S. Skiena. Deepwalk: Online learning of social
representations. In KDD, pages 701–710, 2014.
[17] B. Sarwar, G. Karypis, J. Konstan, and J. Riedl. Item-based collaborative filtering
recommendation algorithms. In WWW, pages 285–295, 2001.
[18] J. Tang, M. Qu, M. Wang, M. Zhang, J. Yan, and Q. Mei. Line: Large-scale
information network embedding. In WWW, pages 1067–1077, 2015.
[19] C. Tu, H. Liu, Z. Liu, and M. Sun. Cane: Context-aware network embedding for
relation modeling. In ACL, volume 1, pages 1722–1731, 2017.
[20] C. Tu, W. Zhang, Z. Liu, and M. Sun. Max-margin deepwalk: Discriminative
learning of network representation. In IJCAI, pages 3889–3895, 2016.
[21] C. Tu, Z. Zhang, Z. Liu, and M. Sun. Transnet: Translation-based network
representation learning for social relation extraction. In IJCAI, pages 19–25, 2017.
[22] D. Wang, P. Cui, and W. Zhu. Structural deep network embedding. In KDD, pages
1225–1234, 2016.
[23] H. Wang, N. Wang, and D.-Y. Yeung. Collaborative deep learning for recommender
systems. In KDD, pages 1235–1244, 2015.
[24] Z. Wang and J.-Z. Li. Text-enhanced representation learning for knowledge
graph. In IJCAI, pages 1293–1299, 2016.
[25] R. Xie, Z. Liu, and M. Sun. Representation learning of knowledge graphs with
hierarchical types. In IJCAI, pages 2965–2971, 2016.
[26] C. Yang, Z. Liu, D. Zhao, M. Sun, and E. Y. Chang. Network representation
learning with rich text information. In IJCAI, pages 2111–2117, 2015.
[27] L. Yao, Y. Zhang, B. Wei, Z. Jin, R. Zhang, Y. Zhang, and Q. Chen. Incorporating
knowledge graph embeddings into topic modeling. In AAAI, pages 3119–3126,
2017.
[28] X. Yu, X. Ren, Y. Sun, Q. Gu, B. Sturt, U. Khandelwal, B. Norick, and J. Han.
Personalized entity recommendation: A heterogeneous information network
approach. In WSDM, pages 283–292, 2014.
[29] F. Zhang, N. J. Yuan, D. Lian, X. Xie, and W.-Y. Ma. Collaborative knowledge base
embedding for recommender systems. In KDD, pages 353–362, 2016.
[30] H. Zhao, Q. Yao, J. Li, Y. Song, and D. L. Lee. Meta-graph based recommendation
fusion over heterogeneous information networks. In KDD, pages 635–644, 2017.
[31] C. Zhou, Y. Liu, X. Liu, Z. Liu, and J. Gao. Scalable graph embedding for
asymmetric proximity. In AAAI, pages 2942–2948, 2017.

