Introducing the OSIRIS Context Engine
The engine semantically understands data, enriches objects and generates insights based on the actual context where it’s needed.
The OSIRIS Context Engine is a piece of software. But it is not a piece of software which mere humans get in contact with. It is a software service, used by other software (applications) to gather additional information about certain topics. The OCE does not only find this information, it also selects the most relevant pieces of it (in your current context) and finally presents it to the user (that’s you).
Some aspects of this engine are still a vision, others are already reality – developed since the summer of 2012. Here is the complete vision.
Understanding you and your current situation.
Understanding the object (topic) of your interest.
Finding context and enriching the information with it.
Generating additional intelligent insights.
The OCE process: Think of the first two steps as input for the OCE and the last two as output. Who are you and in which situation do you have an interest in an object? The OCE processes this data to gather additional information from the available data treasures to create insights tailored to you in your current context.
Everything is a graph!
The OCE has to understand and process all data in a graph. OCE analyzes how all these different points are connected to each other – and how they are connected to you and the context you are in. As an example, let us assume you are interested in something called “Mockingjay” by “Suzanne Collins”. First, OCE determines that this is actually a book, written by the author Suzanne Collins. Then it finds out – among other data – that there is also a movie based on this book, that the actress Jennifer Lawrence has been nominated for two Oscars - etc. OCE creates a map of context, and it even adds properties to each data element.
The OSIRIS Context Engine is totally source-agnostic. It uses information from many different sources already (such as Wikipedia, Google, Flickr) and we are adding more sources constantly. There is a lot of information already available out on the net – it ‘only’ has to be ranked by relevance and presented in the right moment in an easy-to-use form.
Supported contexts for ranking
While enriching and generating insights, it is extremely important to deliver content which feels relevant to a user. "Relevance" is a very individual attribute for information. And it is volatile and time dependent. Some information which feels interesting to me might be boring to you. Or information that feels usefulwhile I am sitting relaxed on my sofa would be distracting while I am in a hurry in a subway station. Right now the OCE takes the following contexts into consideration:
Data about you
First it is important for the OCE to understand who you are. That’s not an easy job. But some demographic data (from Facebook for example) or information about past interests can already be taken into account, when the OCE tries to decide which enrichments or insights might be helpful or interesting for you.
The Social Graph
The OCE analyzes your social graph to see things in the context of your friends. Actually there is a lot of data out there about your friends. They could be of great value for us, and this value simply get’s lost on social platforms. A simple example: your friends' tweets from the past are out of sight – but they might become very important again when you are interested in a similar topic. The OCE recovers this data and provides you with these insights.
Location, time of day, activity etc.
Of course the OCE has to take location data into consideration (if available). The location might tell us a lot about the user’s context. Additionally, local time is interpreted. People often follow certain patterns of interest depending on daily time or day of week. The most common example for such a pattern is at being at work/off work, but there are many others, too.
Your relationship to the object/topic in question
The OCE always thinks in graphs and therefore takes a look at the predicate which connects you with the object. There is a big difference if you already own something or either plan to buy something. The difference in the related data is significant.
Supported data sources:
To make all this happen, OCE is literally standing on the shoulder of giants: it depends on a lot of different data sources. In general we differentiate two different kinds of sources:
The linked open data cloud:
Linked Data is about using the web to connect related data that wasn’t previously linked, or to lower the barriers to connect already linked data by using other methods. More specifically, Wikipedia defines linked data as “a term used to describe a recommended best practice for exposing, sharing, and connecting pieces of data, information, and knowledge on the Semantic Web using URIs and RDF.”
Our OSIRIS Context Engine makes use of this linked data and right now for example works with datasets from Wikidata and Freebase as starting points to explore and enrich data. We as well use natural language processing technology (NLP) integrating the AlchemyAPI into our OSIRIS Context Engine.
Apart from the linked open data cloud, the OSIRIS Context Engine works of course with a growing number of proprietary APIs and datasets. At the moment we support the following sources: Music Brainz, flickr, The New York Times, The Guardian, YouTube, Facebook, Foursquare, Twitter and a bunch of Google APIs.
This is a selection of APIs currently supported by OSIRIS Context Engine: