intento-api

ai.text.detect-intent

Detect intent from text.

Basic usage

To detect-intent a text, send a POST request to Intento API at https://api.inten.to/ai/text/detect-intent. Specify the source text, source and target languages and the desired provider in JSON body of the request as in the following example:

curl -XPOST -H 'apikey: YOUR_API_KEY' 'https://api.inten.to/ai/text/detect-intent' -d '{
    "context": {
        "text": "I want to book a flight ticket to Moscow",
        "lang": "ru"
    },
    "service": {
        "provider": "ai.text.detect-intent.yandex.dictionary_api.1-0"
    }
}'

The response contains the detect-intent results grouped by part of speech and a service information. Parts of speech are formatted in snake_case style:

{
    "results": [
        {
            "intent": "bookflight",
            "score": 0.9984499216079712
        }
    ],
    "meta": {},
    "service": {
        "provider": {
            "id": "ai.text.detect-intent.yandex.dictionary_api.1-0",
            "name": "Yandex Dictionary API"
        }
    }
}

If the provider doesn’t have capabilities (e.g. language pairs) to process request, 413 error will be returned:

{
    "error": {
        "code": 413,
        "message": "Provider ai.text.detect-intent.yandex.dictionary_api.1-0 constraint(s) violated: from (Source language)"
    }
}

Getting available providers

To get a list of available Dictionary providers, send a GET request to https://api.inten.to/ai/text/detect-intent.

curl -H 'apikey: YOUR_INTENTO_KEY' 'https://api.inten.to/ai/text/detect-intent'

The response contains a list of the providers available for given constraints with an information on using custom models, etc.:

[
    {
        "id": "ai.text.detect-intent.microsoft.luis.programmatic.api.2-0",
        "vendor": "Microsoft",
        "description": "Language Understanding (LUIS)",
        "production": true,
        "integrated": false,
        "billable": true,
        "own_auth": true,
        "stock_model": true,
        "custom_model": false,
        "lang": [
            "en"
        ]
    }
    ...
]

More on provider flags and capabilities.

Filtering providers by capabilities

The list of providers may be further constrained by adding desired parameter values to the GET request:

curl -H 'apikey: YOUR_INTENTO_KEY' 'https://api.inten.to/ai/text/detect-intent?lang=en'

Response:

[
    {
        "id": "ai.text.detect-intent.recast.ai.2-0",
        "vendor": "SAP",
        "description": "Conversational AI",
        "production": true,
        "integrated": false,
        "billable": true,
        "own_auth": true,
        "stock_model": true,
        "custom_model": false,
        "lang": [
            "en"
        ]
    }
]

Getting information about a provider

To get information about a provider with a given ID, send a GET request to https://api.inten.to/ai/text/detect-intent/PROVIDER_ID.

curl -H 'apikey: YOUR_INTENTO_KEY' 'https://api.inten.to/ai/text/detect-intent/ai.text.detect-intent.yandex.dictionary_api.1-0'

The response contains a list of the metadata fields and values available for the provider:

{
    "id": "ai.text.detect-intent.yandex.dictionary_api.1-0",
    "name": "Yandex",
    "logo": "https://inten.to/static/img/api/ynd_dictionary.png",
    "billing": true,
    "languages": {
        "symmetric": [],
        "pairs": [
            {
                "from": "be",
                "to": "be"
            },
            {
                "from": "be",
                "to": "ru"
            },
            {
                "from": "bg",
                "to": "ru"
            },
            {
                "from": "cs",
                "to": "en"
            },
            {
                "from": "cs",
                "to": "ru"
            },
            {
                "from": "da",
                "to": "en"
            },
            ...
        ]
    }
}

Supported languages

Getting list of supported languages

Will return an array of supported languages, for each language:

curl -H 'apikey: YOUR_INTENTO_KEY' 'https://api.inten.to/ai/text/detect-intent/languages?locale=ru'

Response:

[
    {
        "iso_name": "Hebrew (modern)",
        "name": "иврит",
        "intento_code": "he",
        "client_code": "hebr"
    }
]

Getting full information on the supported language

For a given language code (intento internal or client’s) will show full metadata:

curl -H 'apikey: YOUR_INTENTO_KEY' 'https://api.inten.to/ai/text/detect-intent/languages/he?locale=ru'

Response:

{
    "iso_name": "Hebrew (modern)",
    "name": "иврит",
    "intento_code": "he",
    "iso_639_1_code": "he",
    "iso_639_2t_code": "heb",
    "iso_639_2b_code": "heb",
    "iso_639_3_code": "heb",
    "provider_codes": {},
    "client_code": "hebr"
}

Setting your own language codes

To define your aliases to language codes, send a POST request to Intento API at https://api.inten.to/settings/languages. After 60 seconds, you can start using them.

curl -H 'apikey: YOUR_INTENTO_KEY' 'https://api.inten.to/settings/languages' --data '{"aliasforen":"en"}'

Response:

{
    "aliasforen": "en"
}

Settings can be retrieved using the GET request

curl -H 'apikey: YOUR_INTENTO_KEY' 'https://api.inten.to/settings/languages'

Response:

{
    "aliasforen": "en"
}