trix representing the similarity network for the start-
ing neighbourhood. Generation of the similarity net-
works is based on the idea of level browsing. At the
initial level there are the items which are similar to
the starting item, next level are the items which are
similar to those items and so on.
3.2 Transforming a Generic Similarity
Measure into a Visual Distance
To place points onto the map we need to transform
generic similarities into visual distances. To do this
we use our algorithm. The algorithm works provid-
ing the point to be placed has at least two links which
are already placed on the map. We compute the (x,y)
coordinates of point A (i.e the point to be placed) us-
ing the following formulae.
x =
∑
i∈Ω
(x
i
∗ s(A, i))
∑
i∈Ω
(s(A, i))
y =
∑
i∈Ω
(y
i
∗ s(A, i))
∑
i∈Ω
(s(A, i))
where, Ω is the set of the indices’s of the items
that are linked to the points that are already placed,
s(A, i) is the similarity of point A with point i, where
point i is already placed.
3.3 Optimising Arbitrary Item Selection
The order in which we select items has an impact on
the representation of the neighbourhood. A point can
be placed if:
• it has at least a link with two different points al-
ready placed, in which case, we use the algorithm
above to place the item.
• it has only one link to a single point, which is al-
ready placed and we place this point in the next
available arbitrary position near to the point al-
ready placed.
When we start the drawing of the map or whenever we
can’t place anymore items because of the sparseness
of the similarity matrix, we have to choose some items
to be placed arbitrarily. The simplest way of doing
this is by arbitrarily choosing the first item not yet
placed.
Each time we place an item arbitrarily, we in-
troduce some distortion in the representation of the
neighbourhood. We would then like to minimise the
number of times we do this. One way, would be to
select the item with the highest number of direct links
for arbitrary placement. This technique should be re-
fined by counting only the items not yet placed in the
number of direct links, since they are those who could
potentially cause us to select again an item to place
arbitrarily. Furthermore, we could only count links
to items not already placed that would become place-
able, which are the items that have at least one link
with one already placed item and items that have only
one link with the current item.
4 IMPLEMENTATION DETAILS
We used Flash 8.0 with ActionScript, for the imple-
mentation of the system. An emphasis was given to
the generality of the system, so that nearly any kind
of similarity measure and any recommender engine
could be connected to it. The first choice was to de-
fine an XML input interface. An XSLT style sheet
was designed to make sure the response of the rec-
ommender engine would conform itself to the pre-
vious schema. For this particular implementation,
we decided to make a connection to the Amazon E-
Commerce Web Service. There were a couple of other
possibilities for a connection with a recommendation
engine, like Last.fm, but Amazon had two key ad-
vantages: a proven history and support for this web-
service, as well as a huge database, available for many
kinds of items in different languages.
Once the similarity network is constructed, we
used the map placement algorithm, separating the
construction of the map in two phases: initial map
construction, then additional map redrawing. The
whole process was designed in order to be able to
switch from one recommendation engine to another
relatively quickly, as well as being able to add more
options during the implementation phase. We first
tried to make a working proof with a simple “book
only, Amazon.com only” connection.
5 EVALUATIONS
The system was evaluated by users using the system
and answering a set of questions. The questions were
designed to assess the quality of the recommendations
received by the user, the efficiency of the system and
the overall look and feel of the system.
5.1 Recommendations
The goal of this part of the test was to assess the qual-
ity of the recommendations that the users received
whilst using the system.
A hefty majority of users managed to find at least
one item that they didn’t previously experience, but
KEXPLORATOR - A 2D Map Exploration User Interface for Recommender Systems
225