This is a bit different from our settings as it required the implementation of a multi-class classifier.
we trained three different binary classifiers (using the same feature set) for the first three of those types (for which there was sufficient training data) and we used a one-versus-all strategy to distinguish positive from negative examples.