This site is no longer updated.Go to new Conversational Cloud docs

$caila.detectLanguage


Identifies the text language using the fastText NLP model.

Syntax

The method accepts an array of strings as the only argument. The method returns an array of ISO language codes that the corresponding texts are written in.

Languages supported by fastText

$caila.detectLanguage([
    "Раз два три",
    "This is an English sentence.",
    "Les hommes naissent et demeurent libres et égaux en droits."
]); // => ["ru", "en", "fr"]

The method may return unpredictable results when dealing with strings consisting only of numbers, punctuation, or other special characters, as well as texts in multiple languages at once.

How to use

The following example illustrates how to use the method for routing unrecognized requests.

state: CatchAll
    event!: noMatch
    script:
        $temp.language = $caila.detectLanguage([$parseTree.text])[0]; // Identify the language.
        $session.catchAllCounter = $session.catchAllCounter + 1 || 1; // Increment the counter of unrecognized requests.
    # If the client does not speak English, transfer to the agent immediately.
    # If they do, transfer to the agent as soon as the counter exceeds the threshold.
    if: $temp.language !== "en" || $session.catchAllCounter > 3
        go!: /Switch
    random:
        a: I’m sorry, I didn’t catch that. Could you repeat, please?
        a: I didn’t quite get it. Would you mind repeating that for me?
        a: Could you say that again? I can’t hear you very well.