Natural Language Processing Basics

Natural Language Processing

CoffeeHouse has one of the most advanced Natural Language Processing engine, while we research on how we can add more, we offer pretty good features and we plan to add a lot more. To save resources our Natural Language Processing Engine only supports English input, so to account for multi-language support we use a third-party translation service to translate foreign languages to English before processing the text, despite this you should still be able to extract important information from the text. CoffeeHouse Natural Language Processing Engine can provide the following features
  • The ability to extract important information from text such as name, date and time
  • Identify grammatical positions
  • Classify the category of text
  • Tools to make text more easier to process for Programs
  • Identify the language of the given text
  • And much more!
Find Content

API Methods

Method NameAccess URIMethodsDescription
pos_taggingcoffeehouse/v1/nlp/pos_taggingGETPOSTExtracts Part-Of-Speech tags from the given input
sentiment_analysiscoffeehouse/v1/nlp/sentiment_analysisGETPOSTPredicts the sentimental values from the given input
emotion_analysiscoffeehouse/v1/nlp/emotion_analysisGETPOSTPredicts the emotional values from the given input
language_detectioncoffeehouse/v1/nlp/language_detectionGETPOSTPredicts the language of the given input and returns a ISO-639-1 result
chatroom_spam_predictioncoffeehouse/v1/nlp/spam_prediction/chatroomGETPOSTPredicts if the given input from a chatroom message is spam or not
named_entity_recognitioncoffeehouse/v1/nlp/named_entity_recognitionGETPOSTExtracts named entities from the given input
sentence_splitcoffeehouse/v1/nlp/sentence_splitGETPOSTSplits the sentences into a array from the given input

Supported Languages

To have support for multiple languages, CoffeeHouse will use a third-party service to translate the given input into English before processing, these are the supported languages that CoffeeHouse currently supports, more will be added in the future.
  • English
  • Chinese
  • German
  • French
  • Polish
  • Hindi
  • Croatian
  • Spanish
  • Russian
  • Italian

API Authentication

CoffeeHouse's API is powered by Intellivoid API. This uses the standard "API Key" authentication method which is the same across all other Intellivoid APIs.
Hint: Your Access Key is your API Key
The following authentication methods are available
  • Basic HTTP Authentication
  • GET/POST Parameter

Basic HTTP Authentication

You can authenticate by providing your access key via the password field, the username can be left blank and you should not provide your access key via a username.

GET/POST Parameter

You can provide your access key via a GET Parameter or within a POST (multipart/form-data), the parameter name that is applicable to both methods is access_key, for example.

Security Notice

All official APIs by Intellivoid are done through api.intellivoid.net, followed by the service name and version of the API Handler. For example
Any unauthorized requests will result in a 401 Unauthorized response such as this
{
  "success": false,
  "response_code": 401,
  "error": {
    "error_code": 0,
    "type": "CLIENT",
    "message":
    "Unauthorized Access, Authentication is required"
  }
}
Additionally WWW-Authenticate: Basic realm="API Authentication" will be provided in the response headers, if you are using a web browser you will be prompted to authenticate, you can authenticate by providing your Access Key in the password field as explained above.

Troubleshooting

All API responses returns a X-Request-ID header with a unique value set with every response you get. It is important to log this request ID if you encounter unexpected issues and server-side errors. Intellivoid can use this ID to get more details about the request and troubleshoot the error.

Data protection

To protect your data, we do not store the information our server returns to your client, the only data we keep track of is the request data you sent and server-side details that are not visible in the request such as exception dumps, cache information and so on. This information is automatically deleted from our server after two weeks. This data is used to troubleshoot any problems with our services and to address them accordingly.