Text Analytics Api Overview

uClassify is an open tool to allow users to create and share classifiers. Todo this uClassify provides three APIs (URL, XML and Local Server), here is a short overview and comparison of those.

URL API

The URL API is simple to use, just send an GET request with an URL to get a response.

For example making a sentiment classification (sign up for a free read api key):
http://uclassify.com/browse/uClassify/Sentiment/ClassifyText?readkey=YOUR_READ_API_KEY_HERE&text=I+love+school&version=1.01

The response will be in XML or alternatively JSON. You can classify a text or let uClassify download an URL for you and classify the content (optionally with or without the HTML).

When to use the URL API
– Want to get up and running quickly
– Low volumes of classifications (can be slow on many requests at once)
– Each text is only run through one classifier (otherwise you should batch with XML API)
– If you only is interested in classifying and not training or other fancy features.

The URL API documentation can be found here.

XML API

With the XML API you can do everything. You can create classifiers, train them, classify, extract keywords and more. Another important feature is that you can batch calls. This means that you can get thousands of, say, tweets or blog posts, classified in one single request as long as the request string is less than 1 MB.

To make an XML request, you simply build an XML string and POST it to:
http://api.uclassify.com/ on port 80.

Here is how you batch two calls into one request:

<?XML version="1.0" encoding="utf-8" ?>
<uclassify xmlns="http://api.uclassify.com/1/RequestSchema" version="1.01">
  <texts>
    <textBase64 id="UnknownFantasyText1">SXcgYklRdHFEYXEgYklsZW5namFq</textBase64>
    <textBase64 id="UnknownFantasyText2">UGFkb2wgcmFpZCwgYXRoYW4gaGVuZGFk</textBase64>
  </texts>
  <readCalls readAPIKey="YOUR_READ_API_KEY_HERE">
    <classify id="Classify1" classifierName="FantasyLanguage" textId="UnknownFantasyText1"/>
    <classify id="Classify2" classifierName="FantasyLanguage" textId="UnknownFantasyText2"/>
  </readCalls>
</uclassify>

When to use the XML API
– Gain performance by batching multiple calls into one request
– Need access to the full API (classifier creation, training, keywords etc)
– This is the recommended way

You can find the complete documentation here.

Local Server

As a final option you can run a local classification server. This is for users who have huge amounts of data to process.

The API is pretty much the same as the XML API except that no authentication is needed.

When to use a local classification server
– You have huge amounts of data to process
– CPU performance is very important (you don’t have to share CPU cycles with other uClassify users)
– Install the server in your own data centre, to avoid any network lag to uclassify.com
– Have full control over the server

You can find more info here and the technical server manual.