Documentation Guide for VERN

 

VERN provides emotional analysis for textual information and can be accessed via our API.  Click here to view the detailed model description.

 


Authentication

 

VERN uses API keys to authenticate requests.  You can view your API in the VERN Dashboard once you have created an account.

All requests made to the API must hold an “Authorization” header.  Failure to include this information with cause the request to fail.

Header: {
    'Authorization': 'XXXXX:XXXXXXXXXXX'
}
 


Endpoints

 

POST — https://vernapi.com/analyze/
 

Retrieve an analysis on a textual message

Parameters

  • text (required)

Text you would like to analyze.

Location: Form Data | Data Type: String

Body: {
	text: "Sample message"
}
 

Coding Samples
 
curl --location --request POST 'https://vernapi.com/analyze' 
--header 'Authorization: XXXXX:XXXXXXXXXXX' 
--form 'text="Sample message"'

var myHeaders = new Headers();
myHeaders.append("Authorization", "XXXXX:XXXXXXXXXXX");

var formdata = new FormData();
formdata.append("text", "Sample message");

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: formdata,
  redirect: 'follow'
};

fetch("https://vernapi.com/analyze", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

 'https://vernapi.com/analyze',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => array('text' => 'Sample message'),
  CURLOPT_HTTPHEADER => array(
    'Authorization: XXXXX:XXXXXXXXXXX'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

 

Returns
 

VERN returns the following JSON response. It includes the message that was analyzed along with a breakdown of the confidence rating on a scale of 0.00 to 100.00

{
    "text": "Sample message",
    "scores": [
        {
            "name": "fear",
            "value": 0,
            "raw": 0
        },
        {
            "name": "anger",
            "value": 0,
            "raw": 0
        },
        {
            "name": "sadness",
            "value": 0,
            "raw": 0
        },
        {
            "name": "love",
            "value": 0,
            "raw": 0
        },
        {
            "name": "humor",
            "value": 0,
            "raw": 0
        }
    ]
}
 

Understanding the Results

VERN scores the results of an analysis on a percent confidence scale between 0.00 – 100.00. The higher the confidence rating, the more likely the detected emotion exists within the message. Our current standard is that a rating of 51% shows a statistical significant likelihood the emotion is present.

The output is a single score per enabled emotion analyser. That score is a confidence level in the range 0-100 against the specified emotion. 

The following is a general guide to the interpretation of these scores:

ScoreInterpretation
70-100

High confidence the text reflects the emotion.

The higher the score the more intense the emotion is felt by a receive

50-70

Moderate confidence text reflects the emotion.

May contain other emotions,

0-50No meaningful information, no interpretation.

 

The model is designed such that it is increasingly hard for a sample of text to increase a score. This can be compared to “logarithmic scaling”. As such a score in the range 60-80 is considered to be a clear signal.

Note that a high score from a selected emotion analyzer does not preclude a high score from a different emotion analyzer.

A single message may contain multiple emotions cues as we tend to package a lot of data when we communicate in order to convey complex emotions. More complex emotions may be found through the combinations of core emotives (Humor, Anger, Sadness, Love, Fear).

The applications of VERN can vary based on the context being applied. They can either be used to help score communication for emotional content or be used within the context of a decision matrix where specific responses are triggered if an emotional threshold is reached.

 
 

VERN compared to other emotion recognition methods/examples

Here’s a look at the side-by-side comparison of VERN to popular databases in sentiment and emotional analysis. Click to see the Praveengovi Dataset 1

Here’s a look at the side-by-side comparison of VERN to popular databases in sentiment and emotional analysis. Click to see the Praveengovi Dataset 2

Since most of us alive now know the smash hit “Friends” (which is enjoying a much-deserved renaissance), we thought we’d show a small snippet of how VERN would analyze an episode.