C++ Text Classifier

If you are a web developer looking for a free text classifier service, have a look at uclassify.com

This C++ Text Classifier Library allows clients to easily create applications that requires robust high precision categorization. The library can be used for any text classification task, intelligent e-mail responses, automatic support, spam filters, e-mail and web page categorization and much more. It can handle an arbitrary number of classes while maintaining very good accuracy. Also, it is both ASCII and wide string compatible.

Download

You can download the demo version of the classifier here. The only restriction in the demo verison is a messagebox that randomly will popup once in a while.

Licensing

Please contact me for license and princing information!

Example, writing a spam filter

This C++ Text Classifier Library allows clients to easily create applications that requires robust high precision categorization. The library can be used for any text classification task, intelligent e-mail responses, automatic support, spam filters, e-mail and web page categorization and much more. It can handle an arbitrary number of classes while maintaining very good accuracy. Also, it is both ASCII and wide string compatible.

My main focus during development was on usability without sacrificing any features. Here is a short snippet of how easy it’s to create a spam filter:

#include <Classifier.h>
#include <iostream>

void main()
{

using namespace codeode::classifier;
using namespace std;

// Creating a classifier for std::string type. Exchanging this for std::wstring is also allowed.
Classifier<string> classifier;

// Adding two classes
classifier.addClass(“legitimate”);
classifier.addClass(
“spam”);

// Training the classifier on two messages, one for each class.
classifier.train(“legitimate”, “This is a legitimate message.”);

classifier.train(“spam”, “This is a spam message.”);

// Classifying a message
Classification result = classifier.classify(“This is a legitimate message.”);

// Printing the result
cout << “Legitimate %: “ << result[“legitimate”] << endl << “Spam %: “ << result[“spam”] << endl;

}

Could it get any simpler? :)