Object Similarity Comparation

Demo Description

This demo shows how our recommendation engine works. The dataset used for this is composed by several rows, in which each row represents the record of a given person; this record contains the person's ID and a list of the music artists that this person has listened to, including the number of times that the person has listened to every artist.

The goal is to ask the engine to recommend some artists as a suggestion to a given person based on that person's own artists history. It is important to know that the engine will not recommend artists that are already present in that person's history.

For start, the engine needs some training data, we have fed it with over 20 000 records, and we have separated 100 records from the training, so we can use them for querying the engine. For each one of this 100 records, we have removed one artist from it's list (so it will not be present in the person's history, and the engine can recommend it), and execute the query, the engine will recommend that artist back (among other recommendations).

Then, this demo shows why that artist was recommended back, based on the most similar records that the engine knows from training data. This objects, in order to be considered similar by the engine, have to have some artists in common, that both the object and the query have listened to in the past.

In the graph you will see a comparison, between the query object, and one of the similar objects that was known and used by the engine to recommend that artist back. The graph is composed by a table that contains all of the artists that both the query and the similar object have listened to in the past.

In the table you can see 6 columns, which have, for the query, 2 columns with the name and weight of every artist, also have 2 more columns with the name and weight of every artist for the similar object; the rest 2 columns are the effective weight and the distance percentage. The effective weight represents the weight that was considered when the general distance between the two objects was calculated, this effective distance is the result of the difference of the weights in case both the query and the similar object have the same artist in their history, for the rest of the cases in which only one object (query or similar object) has a given artist the effective weight will be the entire weight that the object has assigned for that artist. The distance percentage shows the percentage that this artist represents in the general distance between the query and the similar object.

You will also see three drop downs, one for choosing the query used (among the 100 available), another one for choosing the artist to analyze (this artist was the one that got removed from the query history and was successfully recommended by the engine, we have 3 different artists removed and recommended for every query), and the last one for choosing the similar object to analyze (the recommendation process can analyze more than one similar object in order to make the proper recommendation), when you choose one object from the drop down you will see that the "Object ID" changes according to the chosen object, and the "General Distance" changes too, because the general distance is different between the query and every similar object.