Welcome to RS_c, the central platform for the RecSys community. We provide curated lists of recommender-systems datasets, algorithms, books, conferences and many resources more. Maybe most importantly, we publish the latest recommender-system news. If you want your news to be reported on RS_c, read here.
Adam Pocock from Oracle announced the public release of Oracle’s so-far in-house machine-learning library Tribuo. The library is not specifically designed for recommender-systems. Yet, it may be interesting for some recommender-systems researchers and developers.
Our group has spent the past few years building an ML library to meet these needs. The library is called *Tribuo* derived from the Latin meaning to assign or apportion. Tribuo is written in Java, and runs on Java 8 or later. All the relevant information and documentation, along with tutorials and getting started guides are available on Tribuo’s website – tribuo.org. We’ve been using Tribuo in production inside Oracle for several years now, and we’re excited to share it with you.
Tribuo provides the standard ML functionality that you’d expect from an ML library: classification, clustering, anomaly detection, and regression algorithms. Tribuo has data loading pipelines, text processing pipelines, and feature level transformations for operating on data once it’s been loaded in.
It also has a full suite of evaluations for each of the supported prediction tasks. Unlike other systems, Tribuo knows what its inputs are, and can describe the range and type of each input. Each feature is named, so you can’t confuse it for another feature just because the input processing system gave it the same id number (in fact, in Tribuo you never need to see its id number). This means a Tribuo model knows when you’ve given it features that it has never seen before, which is particularly useful when working with natural language processing.
Tribuo’s models also know what are their outputs, and those outputs are strongly typed. No more staring at a float wondering if it’s a probability, a regressed value, or a cluster id; in Tribuo each of these is a separate type, and the model can describe the types and ranges it knows about.