This subject combines two fields of Artificial Intelligence: recommender systems and knowledge graphs. We believe the Semantic Web needs applications beyond traditional Information Retrieval tasks, while recommender systems can benefit from structured data to generate diverse, but coherent, sequences of results.
Recommending Points of Interest is one of the traditional use cases for recommender systems. For instance, the organizers of one of the first conferences on recommender systems built an application to recommend good restaurants to their attendees. Nowadays, a lot of research focuses on generating sequences of locations, as one might generate a musical playlist. This “more of the same” approach leads to monotonous itineraries which are to itineraries what fruit salads are to salads; not bad under certain circumstances, but ultimately pretty basic.
Ideally, an itinerary has a certain balance of Points of Interest: you might want to interleave coffee houses in between long walks, plan a restaurant around dinner time, add some detours to visit historical locations, …. Knowing the difference between similar and complementary locations, how long one might stay at a location, and when one might visit a location requires domain knowledge beyond what common sequential recommender systems use. This is where the knowledge graphs come in: the relations between the different kinds of locations can be modelled using an ontology, giving the recommender systems the assurances that certain locations fit together despite not being similar.
There is a more fundamental problem we need to tackle first though: there are no publicly accessible sources of high-quality Point of Interest information. Which is why we propose to start on a small, and self-contained, domain where we can create our own data to try out techniques that can later be applied to the real world.
We propose to work on a fictional world, such as one from Dungeons and Dragons, to work on both the data modeling and recommender tasks simultaneously without getting lost in the details of either subtask. There are more similarities between these domains than one might think: an encounter in Dungeons and Dragons requires diversity to be challenging, some creature types and more likely to occur together, and contextual factors such as the time of day influence which creatures one might encounter. Insights from generating interesting encounters can then be translated to generating interesting itineraries in the real world, once the data becomes available. Likewise, insights in how to model this fictional data will highlight precisely which kinds of Points of Interest is required later on.
Concretely, this subject has two core tasks: (i) data modelling and (ii) reasoning over the data. We do not expect the former to be the main challenge; although data models for knowledge graphs come with their own specific terminology, it is essentially the same as developing any other data model. The second task allows for more freedom; with possible approaches ranging from logic-based systems such as Case-Based Reasoning, to Few-Shot Learning, or genetic programming. We are not even limited to composing interesting encounters because this is the most similar to generating itineraries in the real world. The same ideas may be used to generate individual creatures as well, as each creature in Dungeons and Dragons is also just the sum of its properties -- properties we can recombine to create new creatures.