Hello Everyone, I'm Guglielmo Faggioli, a PhD student at the University of Padova and
I'm here to present you a joint work with Doctor Mirko Polato and Professor Fabio Aiolli.
The work is entitled Recency Aware Collaborative Filtering for Next Basket Recommendation.
First of all, let me introduce you the task.
Our task was next basket prediction.
This means we were given with the content of the baskets the user previously bought
in her history and we have to predict the content of the next basket the user will buy.
Additionally, we were set in a very specific setting: the one regarding Grocery shopping.
The grocery shopping has some peculiarities.
First of all it is linked to the satisfaction of human essential needs, such as drink, eat
or personal hygiene.
Because of that, it is very likely that an item that has been bought once will be needed
by the user again in future and thus will be bought again.
This is different from many other settings where recommender systems are employed, where
once an item has been bought or consumed, it is less likely that it will be bought or
consumed again in future.
A Recommender System in this setting might be very important.
First of all because it works as a reminder: the user might use the recommender system
as a grocery list and might inspect it to decide what to buy and as a reminder of what
she needs in her kitchen or, in general in her home.
Additionally the recommender system is very important in this specific setting since introduces
diversity.
Users, in this specific setting, tend to be very repetitive and very loyal toward specific
brands.
By using a recommender system, we can suggest the user new items that she might be interested
into and she might decide to switch or modify her tastes, considering our recommendations,
if she trusts our recommender system.
This specific setting has two main problems which make difficult to produce good recommendations.
First of all, it is multipeople: this means that often a user that goes to do his or her
grocery, is not interested in a single type of items.
Lets say a user is doing her shopping for her entire family, so she might have a vegan
daughter and she might need to buy something for her, but her son might be celiac and she
might need something gluten-free and her husband might be a very passionate fish lover and
she might need to buy something to satisfy also him.
So, when we have to produce a recommendation for a specific user we have to take into account
that she might have different people in her mind, while doing the shopping.
Additionally, it is multitask.
This means that the user, when doing her grocery shopping, is not thinking to a specific task
such as to buy food for the dinner, but she might also be thinking about buying the products
to organize a party during the weekend.
So the the content of the basket might be very dishomogeneous.
Given these characteristics, one of the strongest baselines is the user-wise popularity.
The user-wise popularity is defined as the frequency with which a specific item is bought
by the user.
So, lets say the number of baskets in which the item is found in, divided by the total
number of baskets.
The user-wise popularity has three main features that makes it such a strong baseline.
First of all, it doesn't consider a specific person's tastes: we don't to model the user
as vegan, celiac or fish lover, but we rather consider simply what she buys.
Additionally, it ignores relations between products that are bought together.
We simply consider what have been bought so, in this way we solve the problem of multitask
shopping and we can consider only what the user is actually buying.
Finally, it ignores rare purchases.
Lets say a user buys something because it is in discount, or she has a particular need
and she won't buy such product again.
If she doesn't buy it again, then the score will be likely very low and thus our results
won't be affected by such rare purchases.
Another very important aspect in this specific setting, is the recency.
Recency can be defined as the last time a user bought a specific item.
So, if an item has been bought really recently, it is likely that it will bought again in
future, but if the last time the item was bought its many baskets away from the current
basket, then it is less likely that the user will buy again such item.
Considering the recency, for example we can grasp these two patterns.
The first pattern describes an item that wasn't present into the catalogue until day 300 and
then it suddenly was added and we can see that the recency is able to find that a new
item has been added to the catalogue.
The second pattern describes an item that present into the catalogue but than suddenly,
around day 200, it was removed.
Considering the recency, we can define the recency aware userwise popularity.
The Recency Aware Userwise Popularity is defined as the number of baskets into a specific window
of baskets starting from the basket we are considering, that contains a specific item,
divided by the dimension of the recency window.
This is particularly a strong measure in this specific task, since it encodes both the aspects
related to the recency, but also the aspects related to the user-wise popularity, since
it keeps track of the number of time a specific item has been bought.
Considering the recency aware user-wise popularity, we can define two main collaborative filtering
approaches to the task.
The first is the item based collaborative filtering.
The item based collaborative filtering approach, defines first of all a similarity measure
between items and then computes the score as a weighted sum of all possible items.
The similarity we considered is the asymmetric
similarity.
The fact that the similarity is asymmetric is very important in this specific task, since
two item might not be thought as symmetrically similar.
Consider for example the fact that the user buys, lets say, tofu.
This might give us information on the fact she is vegan and thus she will probably buy
also fresh vegetables.
On the other hand, if the user buys fresh vegetables, this doesn't give much information
on the fact that she is vegan and thus won't suggest that she will buy tofu.
So, observing tofu give us information on vegetables, but it's is not so straightforward
the other way around.
Additionally, in the item based collaborative filtering score, you can see that the weighted
sum contains also a locality parameter, here indicated with the letter "q", which is used
to exponentiate the similarity.
The locality parameter is between 1 and, in general, plus infinite and, the bigger it
is, the less likely we are to trust in the similarity.
So, for example, since the similarity is between 0 and 1, if the locality parameter is infinite,
then the similarity we will considered into the formula will be 0.
If instead q is 1, the similarity will have exactly the value we considered.
The similarity score is then used to weight the user-wise popularity or, in general, the
recency aware user-wise popularity.
Similarly to the item-based collaborative filtering, we defined also a user-based collaborative
filtering.
In this case, we didn't consider the baskets to define the similarity, but we considered
the whole set of items the user has bought in her entire history.
Again, we used the asymmetric similarity measure and, as before, we computed the user-based
collaborative filtering score as a weighted sum of the user-wise popularity, for a specific
item, weighted by the similarity of the user with all the user that bought such item, exponentiated
to a locality parameter.
To evaluate our systems, we considered two datasets, very commonly used dataset in this
specific tast.
One is Instacart, and the second one is Dunnhumby.
We considered these two datasets, since they provide us diversity in our analysis.
As you can see, Instacart is a very big dataset, with many users, but, on average, small baskets.
On the other hand, Dunnhumby contains less users, but with very big baskets.
Additionally, we removed items that weren't present in more than 5 baskets.
To evaluate our systems, we adopted this specific methodology.
First of all, we split our data set in two parts, one used for validation, and one used
for test.
All the baskets previous to the last one, without considering the number of baskets
for a user, was considered as training set, and our computation was used to evaluate the
results only on the last baskets.
To have trustworthy results, we repeated this splitting 50 times, and we computed the results
on the test set 50 times, and averaged over all the results.
As you can see, here you can observe the parameters we validated, to evaluate our techniques.
These are the results the different methods achieved, on the Instacart data set.
The first four are traditional baselines: global popularity of the items, the user-wise
popularity, the item-based collaborative filtering, and the user based.
FPMC and T2V+ada are two state-of-the-art techniques.
The first is a technique based on the well-known BPR optimization criterion, while the second
is based on building a representation of the items and the users.
The method's complete name is "Triple to vec", and is somehow similar to the word2vec algorithm,
where we have triples of item, item, user and we try to build a representation for them.
Finally, the last three results are associated to our methods.
The user-wise popularity with a recency window, the item-based user-wise popularity with recency
window, and the user-based collaborative filtering with recency window.
As you can see, the user based method achieves the best results.
FPMC has an *, since the computation didn't end in 24 hours.
These are the results on Dunnhumby data set, which are very similar.
You can observe that, as in the previous data set, that the user-wise popularity itself
is a very strong baseline, that achieves very good results, but the user-based
method again is able to overcome all the other methods.
In conclusion, we presented a collaborative filtering framework for the next basket recommendation,
that relies on the user-wise popularity, which is known to be a very important measure, and
considers the recency window.
Our future work foresee to include in our analysis the aspects related to the temporal
relation between consecutive purchases of a single item.
Thank you very much.