Okapi

Okapi

The Okapi /oʊˈkɑːpiː/, is a giraffid mammal and also a young Collaborative Ranking framework (http://grafos.ml) that runs on apache giraph. So why is the name? Well, it is ugly and crosses giraffe with zebra. Zebra likes coffee and has a rank.

The main features, goals and reasons for this framework are:

  • Written in Java, therefore, accessible for a large audience
  • Distributed, "large scale ready" computing. It runs on giraph with a quite simple implementation model. When giraph will advance, this framework will be able to run on large scale datasets. Currently we can run BRP on 10 machines and Netflix data with approx. 1 iteration/second.
  • Reproducibility. Has a distributed evaluation framework, so people can compare algorithms without much overhead.
  • Open source and flexible (Apache? license). Well we need first to write a copyrights and licenses in the code :)
  • A number of CF ranking algorithms:
    • Random
    • Popularity
    • BPR
    • Climf -> in progress
    • TFMAP -> in progress (debuging)
    • ALS (rating predictions)
    • SVD (rating predictions)
    • SVD++ (rating predictions)

The very first example of BPR can be seen here.

 We will make it available soon over the github. People who are interested in contributing and shaping this software, please drop me an email.