An improved method of classifying examples into multiple categories using
a binary support vector machine (SVM) algorithm. In one preferred
embodiment, the method includes the following steps: storing a plurality
of user-defined categories in a memory of a computer, analyzing a
plurality of training examples for each category so as to identify one or
more features associated with each category; calculating at least one
feature vector for each of the examples; transforming each of the at
least one feature vectors so as reflect information about all of the
training examples; and building a SVM classifier for each one of the
plurality of categories, wherein the process of building a SVM classifier
further includes: assigning each of the examples in a first category to a
first class and all other examples belonging to other categories to a
second class, wherein if anyone of the examples belongs to another
category as well as the first category, such examples are assigned to the
first class only, optimizing at least one tunable parameter of a SVM
classifier for the first category, wherein the SVM classifier is trained
using the first and second classes; and optimizing a function that
converts the output of the binary SVM classifier into a probability of
category membership.