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 any one 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.