0.0.1 • Published 5 years ago

botium-asserter-watson-toneanalyzer v0.0.1

Weekly downloads
7
License
MIT
Repository
github
Last release
5 years ago

Botium Tone Analyzer Asserter

NPM

Codeship Status for codeforequity-at/botium-asserter-watson-toneanalyzer npm version license

This is a Botium asserter for analyzing and verifying the tone of a chatbot. This asserter uses the Watson Tone Analyzer to retrieve the sentiment of the bot response and trigger an assertion failure if given sentiments are matched (impolite, anger, ...).

Configuration

You have to activate the Tone Analzer in your IBM Cloud account, the URL and the credentials are shown on the Manage view.

Configuration of the asserter is done with the args properties (see below).

WATSONTA_URL

Default: https://gateway.watsonplatform.net/tone-analyzer/api

URL of your Watson Tone Analyzer instance

WATSONTA_APIKEY / WATSONTA_USER / WATSONTA_PASSWORD

Depending on your IBM Cloud account, you have either API Key credentials or Username/Password credentials.

The credentials are different than the credentials your are using for logging into the IBM Cloud console

WATSONTA_VERSION

Default: 2017-09-21

WATSONTA_ENDPOINT

Default: toneChat

Either toneChat or tone

The Watson Tone Analyzer supports two different tone analyzer modes, one for general tone analysis, one for customer engagement tone analysis, see here.

WATSONTA_LANGUAGE

Default: en

Content language. For list of supported languages, see here.

WATSONTA_TONE_TRIGGERS

Default: 'impolite', 'frustrated', 'sad'

JSON Array of tones. If any of these tones is identified with high likelihood (see WATSONTA_SCORE_TRIGGER) in the bot response, the test case will fail.

Depending on the WATSONTAENDPOINT configured, there are different tones available - see the _tone_id fields in the API Docs

WATSONTA_SCORE_TRIGGER

Default: 0.75

Minimum likelihood to trigger a tone match.

Installation

Botium Box

Preconfigured in Botium Box with TONEANALYZER reference code. You have to add your Watson credentials.

See https://botium.atlassian.net/wiki/spaces/BOTIUM/pages/2293815/Botium+Asserters

Botium Core / Botium Bindings / Botium CLI

Install asserter NPM package:

npm install --save botium-asserter-watson-toneanalyzer

Add to botium.json - in this case, it is added as a global asserter running it on all responses. This is the suggested use case.

{
  "botium": {
    "Capabilities": {
      ...
      "ASSERTERS": [
        {
          "ref": "TONEANALYZER",
          "src": "botium-asserter-watson-toneanalyzer",
          "global": true,
          "args": {
            "WATSONTA_URL": "...",
            "WATSONTA_APIKEY": "..."
          }          
        }
      ]
    }
  }
}

Usage

If asserter is configured as global, assertions are done on all bot responses.

Otherwise, you can trigger the assertions by adding it to your convo file:

#me
hey how are you

#bot
TONEANALYZER