In our previous announcement of seevl.fm, we promised a series of tech posts about open and structured data. Today, I want to discuss the benefits of using knowledge graphs for content personalisation and discovery on the Web.
Knowledge Graph or knowledge graphs?
While the term “Knowledge Graph” became recently popular through Google’s initiative, knowledge graphs are not a new thing. They have been used for years in the Knowledge Representation and Knowledge Management fields, from Sowa’s conceptual graphs in the 70’s and more recently the Semantic Web initiative.
These graphs are used to describe entities. In the music context, this can be the birth place of an artist, band members, their record label, the label’s owner(s), their most popular sales, etc. This is the kind of data exposed by Google’s Knowledge Graph and by the underlying, open-access, Freebase platform; but also by other initiatives like Facebook Open Graph or for instance Factual for geographical data.
To build seevl’s musical knowledge graph, we constantly browse and mine the Open Web to gather such facts – and translate them into RDF. We consolidate data from different sources at the same time, translating different names into common entities, as artist information can be scattered around multiple sources (e.g. its genres on Freebase and record label on Wikipedia) . On top of it, we use a set of statistical and ranking methods to infer additional knowledge such as related artists (as below on seevl’s Blur page), labels or genres, and let you search through these.
In the background, a part of this graph looks like this. As you can see, we additionally store data provenance of each piece of knowledge – there will be more about this in another post!
Let’s build your taste graph
While knowledge graphs focus on factual data, social graphs became the norm to represent one’s friends and acquaintances. In an ideal world there would be a single, distributed, social graph, but for now social site Facebook is the first that comes to mind, even though Google+, Twitter and LinkedIn are also part of the game. Through the taste-mining algorithms discussed below, seevl gives you the opportunity to discover other fans – outside your existing circles – sharing your musical interests, and to build your own music-focused social graph.
Besides social graphs, most platforms also let you build your taste graph, through “like”s and +1’s for instance. In our case, you can like a label, genre or artist on seevl. Taste graphs can be very powerful for advertising, e-commerce, but especially content discovery – including music! As part of those graphs, tastes can be represented as directs link between users and entities, but we model them as independent objects, with a timestamp and other attributes (using SIOC and SIOC-actions), to benefit from temporal and category features to identify what’s relevant for a user, as you can see in the picture below.
In most cases, tastes (and the related taste-graphs) are explicitly defined through those “like”-based actions. Yet, it becomes even more interesting when you leverage knowledge graphs to automatically augment taste graphs using background data.
Enriching taste graphs with distributed knowledge graphs
On the one hand, knowledge graphs: graphs about things. On the other hand, social and taste graphs: graphs about you. To describe both we need multiple platforms, different data, and sometimes different API’s and data models. Hopefully they use one common ground: the Web. By translating different graphs into a shared representation through Semantic technologies, whether they’re social, taste or knowledge graphs, we are able to join them as depicted below.
This is how seevl bootstraps musical profiles when signing-up with Facebook or Google+, and mine (implicit) top-genres and top-labels, based on previous (explicit) activities on those platforms. For example we can identify by using additional ranking and statistics: you’re into everything from Madchester to Mod revival or you like artists from Factory Records, so that you don’t have to enter these, but we can still use such insights for content personalisation and discovery.
Personal recommendations through an expanded taste graph
Last but not least, we can now recommend music based on artists you explicitly liked and also based on genres or labels identified through the previous step, reducing the typical cold-start problem in recommendation engines. All of this using a combination of graphs from multiple sources of data and through a set of (weighted) links that connect all those entities. That’s why we’ll suggest Happy Mondays if you like Blur – as both are part of the Madchester wave – or Paul Weller if you like The Strypes (check them out, they’re great).
As you can see in the screenshot below, recommendations are provided using genres or labels inferred from favorite artists, without explicitly entering those.
Want a deeper look? Try the new seevl
Using the power of graphs we can envision a multitude of new says to discover stuff, music in particular. Over the next few months we will continue working on innovative techniques to enable this discovery with seevl.
If you want to see it in action, simply go to seevl.fm or our Deezer app and sign-up for free. You can use your preferred login provider to see what your musical taste graph looks like. If you liked artist on Facebook or Google+ in the past these will show up on your personal dashboard! See which new tracks you will get recommended today.
Follow use for regular updates: