Recommender system for OLab4

Problem:

The challenge in many information publication and curation systems these days is providing a good mechanism which can highlight and focus on the most relevant materials from the available corpus.

Background:

There are many areas and use cases in OLab where it is advantageous to highlight and curate the best available materials.e.g.

  • Which OLab maps are most useful for teaching chest pain?
  • Which CPGs are practical as hypertension guidelines?
  • Which teaching tips are most used and most popular?
  • Which decision-support tools are most useful to my peers?

Search strategies have become more sophisticated over the years, pioneered by Google et al, and now employ powerful algorithms, tuned to your use patterns and context so that search hits are not dominated simple word frequency counts. Indeed, since we started exposing the content of OLab case materials to search spiders and robots, we have found a simple Google search syntax like this…

site:demo.openlabyrinth.ca "chest pain"

…is now much more effective. Exploring this particular use case did lead us into exploring semantic indexing of OpenLabyrinth case materials. With work spearheaded by Lazaros Ioannidis et al, we were able to provide some basic semantic search and indexing capabilities into our cases on our demo OLab server. This has helped but does not address the above use cases.

More recently, we have been exploring a new approach, using Recommender Systems.

Approach:

Consider the fairly well known example of Yelp, as a recommender system. (There are many others.) As a service to help you find good restaurants (and similar services), it has a number of useful features:

  • A crowd-sourced ranking system, comparing similar services
  • A simple mechanism for rating and commenting on your own experiences
  • A stratified sampling mechanism when curating new additions
  • A rich set of metadata about each restaurant (also crowdsourced)
  • Easy links to find the restaurant location and web site
  • A sophisticated set of algorithms to mitigate biased rankings
  • A service to help collate/coordinate duplicate entries

All of these same features and functions would be useful to us in attempting to curate a set of excellent choices in the use cases presented above.

OLab4 already provides much of the base infrastructure for managing, publishing and coordinating such resources, with various user groups and scenarios. The integration of a recommender system with OLab4, as a modular service, would provide the advantages without having to build the entire system from scratch.