Gift Advisory System: Information Search And Retrieval Project 2012

cakeexoticInternet και Εφαρμογές Web

13 Δεκ 2013 (πριν από 3 χρόνια και 3 μήνες)

74 εμφανίσεις

Gift Advisory System:
Information Search And Retrieval Project 2012
Sarah Komla-Ebri and Andrey Rivkin
Free University of Bozen-Bolzano
Abstract.Recommender Systems (RSs) are becoming very important
techniques providing structured information and easier interaction be-
tween users and Internet-based information providers in specific domains.
Moreover RSs functionality can include suggestions of different kinds of
information for those people who haven’t decided yet about the matter of
their search.In this paper we present a gift recommender system based
on a social network structure that can suggest gifts for our user’s friend,
using ratings provided by the system users.Using a trust network,tak-
ing advantage of friendship relationships,we can correctly weight ratings
that will be stored in a three dimensional matrix to predict the appro-
priate gifts.
1 Introduction
Gift recommender systems are really diffused in the web due to the growing
request of personalized suggestions and the increasing popularity of shopping
online.They can be used for many shopping stores who want to offer a fast and
precise engine that push customers to buy,satisfying their desires.These systems
consider that customers don’t have enough time to browse all the information
provided by the website and they try to provide the perfect present knowing
only few information about the user.
1.1 Application Problem
In our work we would like to focus on the domain of presents to create a Gift
Recommender System.During our preliminary investigation we have found that
many popular Recommender Systems (RSs) are not well suited for providing
accurate results with high diversity.The poorness of results,in suggesting ideas,
websites or products,is due to different reasons.
Most of the systems are trying to provide results without overwhelming the
users with many options to choose from.But in that case big groups of people can
receive similar recommendations caused by the poor range of provided choices.
For example Mygiftlist,where
the results are provided using at most five information criteria:gender,age,
price,occasion and country.
These gift recommender systems are based on the information that the user
provides about his friend:gender,age,zodiac sign,preferences etc.To recom-
mend gifts we need to design a system that suggests something fitting the user
model of another user,i.e.the friend of the user asking a recommendation.What
we want to achieve is a system that retrieves the important information about
the user’s friend without asking the user to remember or provide his friends’
interests.Our idea is based on using Facebook to recommend gifts,gathering
social data from the network.
Other Facebook-based applications take advantage of this approach.Most of
them are using the API provided by the system Hunch that recom-
mends products using information coming fromthe web,user answers,Facebook
and Twitter and that customize the results through users’ ratings.Our work in-
stead focus on how to use Facebook Graph API to find information about the
user’s friend and provide personalized results taking advantage of the connec-
tion provided by the social network.The obtained results would not only rely on
the friend’s interests,but also on the friend’s trust with the user and the other
application members,who rate the friend’s interests.Using friend’s interests we
assure personalized results for our friends.
1.2 Technical issues
Many different users are involved in our application,in the sequel we will call
receiver user (u) the user that will receive the gift for whom the recommen-
dation is done and donor user (d) the user that will make a rating (belief)
on how much the receiver-user will like the item.The rating is a value between
1 and 5,where five is the higher level.The receiver user is also a donor user of
himself.The receiver cannot provide ratings,we assign 1 to the items that the
receiver liked.A requesting user (r) is the user that is using the application
to find a gift for the receiver,he is also a donor user.
We want to use the trust network composed by the connections between
the users of our application and their friends,building a graph that allows us
to personalize the recommendations for our receiver user, to make to
his friend.Receiver user’s ratings are directly provided by his friends,we can
improve our results adding indirect ratings given by other application users.
To provide the trust computations we need some properties of trust such as
transitivity,asymmetry and composability,that are in details described in
Nordheimer et al.[9].The trust values (weights) are propagated among the nodes
of each subgraph G
of our network,where u - receiver user,F = {f
} - set
of friends of u,U
= {U
},where U
= {u
- sets of all the friends of receiver friends
We apply a 3D matrix that store the ratings for receivers,given by different
donors for different items.And we reduce it in a two dimensional matrix with
receiver and items to obtain the list of best items.The items with higher values
Each friends of the friends sets of nodes can be defined as U
= succ(U
for each category will be recommended to the requesting user as good gifts for
his friend,showing them as top-N lists of best results.
This work can show that it is possible to create a recommender system that
provides recommendation for gifts to make to the requesting-user’s friend that
are also diverse,convincing the requesting-user about the correctness of the
provided results obtained without his direct contribution.
2 Related Work
One of the important aspects in our application is diversity.Diversity can be de-
fined as a high level of heterogeneity in a collection of entities.Initially diversity
between elements was calculated as the inverse of their similarity,the different
features represent the degree to which two elements differ and consequently how
much these features should be considered.Based on the kind of the application
that we want to realize we can choose which are the main features.[1]
We want to provide results that differ between each other so that the user
can have a good range of choices of gifts.In Lemire et al.[2] we see that,in
the context of social network,building a dense graph is an efficient approach to
achieve diversity,defining density as the average number of links or edges per
node.Diversity of items can be achieved through the diversity of users
that is
provided by ”representative democracy”.As in a democracy every citizen has the
right to vote,in a social network similar users are clustered by their ratings and
social links and sets of similar users get a single vote(rating).Generally,creating
a representative democracy of a social network,we want to give a rating for
every kind of users.The importance of a user is stressed by allocating a weight
wrt.his/her typology(e.g.original and conforming persons).We can consider
this aspect building a trust network,as we will talk in more detail later,to give
more weight to people in the network closest in the friendship relation with the
We preferred to use the trust network-based recommendation instead of
a classical collaborative filtering approach since this technology focuses more
on similarity between users that can provide personalized results,but too pre-
dictable and therefore not so useful for users [3].
Our items are not classified based on their features,but based on categories,
so we can apply a topic diversification approach [4].To provide top - N recom-
mendation lists which are not too similar to each other and avoid monotonous
In Victor et al.[7] introduces two main trust distribution approaches:gradual
and probabilistic.The first one is logically-based and estimates trust values when
the provided information can be positive to some extent.It provides vague inter-
vals such as ”very trustworthy trustworthy untrustworthy very untrustworthy”
that can be used to interpret real live relations such as ”Bob trusts to Alice and
Bob doesn’t trust to Bill”,but indistinct when the numerical trust values should
Increasing the number of users infers the increase of possible recommendations.
be provided.Probabilistic approach counts a probability with which the agent
can be trusted,i.e.a higher suggested trust value corresponds to a higher prob-
that the agent can be trusted.In that case the previous example can be
interpreted as ”Bob’s trust to Alice = 0.8 and Bob’s trust to Bill = 0.1”.In our
work we will follow the second approach because our need in the more precise
values for the final recommendation.
Some types of trust [7] computational tools (metrics),that predict the trust-
worthiness of unknown user,are observed.In our work we are using local trust
metrics that are taking into account the subjective opinion of the active user
while predicting the trust he/she puts on the unknown one.For this reason,a
certain person’s trust score can vary under the confidence of different users (e.g.
”Ann trusts Bob with 0.5 and Bill trusts Bob with 0.7”).
To store and analyze all the ratings we choose to utilize a 3D matrix bas-
ing our idea on the matrices that are used to model contextual information for
Recommender System.We looked at a classical multidimensional model Ado-
mavicius et al.[8] that allows us to consider not only the user and the item,but
also other contextual information.The system allowed to use more than three
dimensions,using more context and choosing which to consider.We consider
”what” to recommend (Item),”for whom” (user) and add other contextual in-
formation as for example ”when” (Time).Applying than a pre-filtering approach,
reduction-based,we can reduce our n-dimensional matrix to a two dimensional
one (User x Item).This is possible because with pre-filtering we consider only
one element or a subset of the elements of the context dimension,that should
be apply to build the most relevant two dimensional matrix.Keeping a segment
of elements,ratings are aggregated as
(u,i,t) = R
where S
is the segment of elements of Time that are being considered and D is
the context dimension.Context is used to reduce part of the values that should
be considered to provide a rating for the items,obtained for example doing an
average of ratings in S
3 System Description
Assumptions Chosen the aspects on which we want to focus we would like
to state some assumptions.First,for the current level of development we have
decided to cover only users who have a Facebook account and have complete
profile information
The second assumption concerns categories used in the recommendation pro-
cess.We will take into consideration only those predefined by the Facebook
account registration procedure.In particular they are:books and magazines,
brands and products,companies and organizations,local businesses and places,
movies,music,people,sports,TV,web-sites and blogs.For sure,each category
In our case probability is treated as a weight with which a user can be trusted.
have its own list of subcategories ( has 12),that are usually retrieved
by the Facebook Graph API.
Thirdly,in the beginning we want to provide only 5-star rating scale.Every
itemcan acquire a rating value from1 to 5 by the requesting-user(who is also our
application user).That can be achieved through the game-like strategy which
is asking the requesting-user to rate 9 random items where each is connected to
one of this user friends(receiver).
As it was stated in the Nordheimer et al.[9] the initial trust propagation is
a complicated procedure,especially for such a social network as Facebook.For
the initialization of an application that is using trust it’s better to provide a
simple rating system.Therefore our last assumption concerns the initial trust
propagation technique that should be both simple and to some extent mean-
ingful.We assume,that we have a rating system for the Facebook users,where
they can rate their friends from 1 to 10 (rating from user i given to the user j
is intit
∈ N).Then the initial trust given from the user i to the user j is
counted as
) −0.5,intit
∈ {2,...,10};
= 1.
3.1 Retrieving information and recommendation allocation.
Potential user interface.
In this part we would like to describe the probable look of the Gift Advisor GUI
and steps that should be done by a user in order to receive a recommendation
(and for us to retrieve necessary data).Firstly,for any type
of the applica-
tion,the user should launch it,”signing” the extended permissions agreement
(the starting window can be seen on the Figure 1) that gives us a possibility
to work with any personal data we want (namely taking his/her personal infor-
mation and retrieving one’s likes as items that will be used in the 3D matrix
Fig.1.Starting window.
It can be a normal Facebook application,or Mobile Phone and Windows one.
Since the agreement is accepted,the user is redirected to the window (rating
window),where he/she can rate the likes of the friends.Every 24 hours after
the launch,the application will provide a rating window,where a user will be
asked to rate lists
(see Figure 2) of items for 9 of his/her arbitrary friends,given
for each item from one to five stars.In order to know more information about
the item,person may click on it and the representative page will be opened.
However,this rating option is not mandatory,so the user can close this window.
Fig.2.Part of the rating window
After finishing rating the friends’ likes our user goes to the main functionality
window,where we will provide all his/her friends involved in the applications.
For the further recommendation the user may select only some of his friends or
choose the option ”Select all” and push the button ”Start” that will redirect one
to the window with the recommended gifts (recommended gifts window).On the
recommended gifts window (Figure 3) user can observe all the best recommen-
dations by category for each friend (e.g.for category ”Music” we can provide
”Led Zeppelin”,”Beethoven” and ”Alice Cooper”).The results are ordered by
categories and ranked based on the preferences calculated by the 3d matrix.By
clicking the recommended item the user will be redirected to its page where
he/she will be able to view one’s details.
4 Technologies
4.1 Building a trust network.
One of the main aims is to build a graph (network) of all the application users
using ”friend-of-the-friend” relation.As it was described in the section 3.1 we
The list’s size should be not more than 5 items.
Fig.3.Example of one recommendation in the recommended gifts window.
can take the information about everyone
using the Gift Advisor application
that gives us a possibility to build a consistent network exploring friend list of
each user.
The diagram on the Figure 4 clearly shows the steps passed by a new user
while being added as a new node to the trust network TN.The first step is
acquiring permission from a person (described in 3.1).
Add to the Network
Add to the Network
Login In
Login In
Facebook User
Search for the Links
Search for the Links
Friend List
hasn't retrieved
No Freinds found
At least one Friend found
Fig.4.Diagram represents the process of joining a new user to the trust net-
Assuming the success of this initial operation,we are retrieving a friend list
from which only the IDs are taken.Using them we are searching among the ID
repository in the application whether there exist some friends of our receiver
or not.If ”no” we are not adding a node and putting it outside the graph.
Otherwise,we are connecting the current node to others that are presented in
the retrieved friend list.
The second important step in the trust network building is the distribution
of trust between entities.As it was described in the Section 2 we are using
probabilistic trust distribution approach and local trust as a type of our metric.
Information is retrieved due to the signed agreement.
As a local trust metric for our project it was decided to take MoleTrust [5].
The choice was guided by the need of time-efficiency and an algorithm that
works on the initial trust network and provides minimal changes on it.General
idea of the MoleTrust metric is to propagate a trust score of a source user on
a target user by walking the trust network starting from the source user and
propagating trust along the edges.Intuitively the score of a user depends on
what other users think about it weighted by the scores of those entities who
issued the trust statements.In MoleTrust user’s opinion is considered only with
reference to his/her trustworthiness among the others;it implies that since every
trust propagation starts from a different source user,the allocated trust score to
one certain user can vary depending on which source entity has been chosen.
The algorithm,that is presented in details in [5],consists fromtwo step.The
first one is removing all the cycles appearing in the network
.The second one is
the simple graph walk (starting fromthe source node),conformwith the general
rule of the trust score dependencies:the trust score of one user at distance d
only depends on his/her predecessors,i.e.on the trust scores of the users at
distance d − 1(the value is already counted).For allocating a trust value of a
user during the second step MoleTrust analyzes all the incoming edges of the
modified network and accepts only those coming from the nodes with a trust
score greater or equal than a certain threshold[5].
4.2 3D Matrix.
In our application we want to provide gift rated by our application users.Each
rating is given to one of the items by a donor user based on how much the donor
user thinks that the closest friend
would like that particular item.Therefore
we need to consider the receiver user,the item,but also the donor user.The
requesting user,who is using our application is also one of the donors and can
rate the item for his friend.
We consider our matrix to be three dimensional:R(u,i,d):= User(receiver−
user) ×Item×Donor.
The dimension (U) is used for receivers.It contains every person in the appli-
cation network,but also simple Facebook users,who are potential gift receivers
and can be added in the matrix.Another dimension is used to present the items
(I) (i.e.likes that can be recommended),and the last one for donor-user (D).In
this dimension all the application network users are listed,including receiving
and requesting users.
The 3Dmatrix with receiver users,items and donor users R(u
element of the matrix indicates that a donor user n = 1,...,N thinks that the
receiver u
,with m = 1,...,N will like a particular item k = 1,...,K,rating it
from 1 to 5.Facebook assigned automatically an identification number for users
and items that we can use as an index to represent each element.
This tradeoff was done to overcome a situation when the algorithm is entering an
infinite loop and allocating the temporary trust value to the nodes in it until this
value converges
The friend who is the predecessor of the donor user in the users graph.
In the example 5 the donor-user ”100001104734093”(matrix-id 101) rated 4
the item”8308655582” (matrix-id 4) for the receiver-user ”502719989”(matrix-id
101).The goal of our recommendation algorithm is to provide a ranking for all
1 2 3 4
R(101, 4, 101) = 4
Fig.5.Example of 3D matrix.R(u,i,d)
items separating them by categories.From the 3d matrix we choose to provide
a two dimensional user-item matrix M(u,i).
R(u,i,d) = M
We take all the donors’ values,since all of them can be useful to have a good
approximation of the correct rating value.AGGR(rating) is an aggregation func-
tion for d,which is providing the average of all weighted ratings obtained for a
specific item using the trust network.
AGGR(rating) =
∗ r
where R(i) - the subset of the donors who rated the item i,t
is the trust
given from the receiver user to the donor j,and r
is the rate provided by the
donor j for the item i.
Here is an example how the reduction technique is working (a matrix with
initial values is provided):
R(A,1,A) = 1;R(A,1,B) = 4;R(A,1,C) = 3;R(A,1,D) = 5;R(B,1,E) = 4.
= 1;t
= 0.1;t
= 0.1;
= 0.8;t
= 0.5;t
= 0.5.
We will have
AGGR(rating) =
1 ∗ 1 +0.8 ∗ 4 +0.1 ∗ 3 +0.1 ∗ 5 +0.5 ∗ 4
and a two-dimensional matrix M(A,1) = 2.8.
From the results obtained by the matrix we want to provide a top-N list of
best items for each category.Taking the current receiver we look at the category
of the items,order the values and provide the first 5 results,that are items with
highest ratings for the category,allowing the user to ask for more results if it is
not satisfied.
5 Evaluation
We want to test receiver user satisfaction measuring our top-N recommendation
in an online evaluation.The accuracy of our results is evaluated asking the
receiver’s opinion about the goodness of gifts provided.We will need user studies,
where we ask a small group of subjects to use our application and report on their
experience.This group of subjects will be the only users of our application and
will rate for one month the items of their friends,that are also participating in
the evaluation,and their own items,to see their actual preferences.All users are
in this way both donors and receivers and will give their satisfaction about the
In the evaluation we want to measure howgood is the systemin predicting the
ratings for our receiver and consequently show the top results for each category.
Having the users’ ratings for all of their items,we can compare them with the
ratings provided by the application for the recommendation.We split the data
available into train/test sets.For the training data we put the ratings provided
by our donor users.The test set is given by the top ratings for each category
taken from the receivers ratings.We find the predictive accuracy (difference
between the predicted rating and the true one) using the Mean Absolute Error.
(u,i)T |ˆr
The system generates predicted ratings ˆr
for a test set T of user-item pairs
(u,i) for which the true ratings r
are known.We can ask in the end to the user
with a questionnaire to give his opinion about the quality of the results and the
diversity of the items provided.
6 Conclusions
Our application could be developed further on different aspects and improved
after collecting the first evaluation results.
One of the main things that can be provided for the future work is a normal
working graphical interface that is able to perform all the main functionali-
ties/computations and collect users’ ratings and items,and give a real recom-
mendation as a result.Under the ”real recommendation” we mean real gifts
(products) retrieved from the online shops.With a proper interface we can also
organize a focus group for the on-line evaluation.Also for the improvement of our
system we would like to reallocate more importance (weight) to the requesting
user,that will improve his/her satisfaction about the results.
To conclude,in our work we are providing a theoretical systemthat is merging
in a proper way already exited techniques,that,nevertheless,were changed in
order to suit our application needs and that can be probably applied to other
social-based system using similar strategies.Using trust instead of similarity as
a more informative comparative measure of two agents (users) we were trying
to select highly suitable components that can provide both time efficient and
robust calculation.Being more complicated,than a normal user-item matrices,
3D matrix showed higher informativity and as a result it can be applied for
different types of tasks.
1.Zhang,M.,Hurley,N.:Avoiding monotony:improving the diversity of recommen-
dation lists.RecSys ACM,123–130 (2009)
2.Lemire,D.,Downes,S.,Paquet,S.:Diversity in open social networks.Published
3.Smyth,B.,McClave,P.:Similarity vs.Diversity:Case-Based Reasoning Research
and Development.In:Aha,D.W.,Watson,I.,LNCS,vol.2080/2010,pp.347–361.
Springer,Heidelberg (2001)
4.Ziegler,C.,McNee,S.M.,Konstan,J.A.,Lausen,G.:Improving recommendation
lists through topic diversification.ACM,22 – 32 (2008)
5.Massa,P.;Avesani,P.;and Tiella,R.:A Trustenhanced Recommender System
application:Moleskiing.In:Procedings of ACM SAC TRECK Track (2005)
6.Bogers,T.,van den Bosch,A.:Collaborative and Content-based Filtering for Item
Recommendation on Social Bookmarking Websites.Proceedings of the ACM Rec-
Sys’09 Workshop on Recommender Systems and the Social Web,9 – 16 (2009)
7.Victor,P.;Cornelis, Cock,M.:Trust Networks for Recommender Systems.
Atlantis Press (2011)
8.Adomavicius,G.,Tuzhilin,A.:Context-Aware Recommender Systems,RecSys
Handbook.217 – 256 (2011)
9.Nordheimer,K.,Schulze,T.,Veit,D.:Trustworthiness in Networks:A Simulation
Approach for Approximating Local Trust and Distrust Values.Springer Boston,