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.