Перейти к основному содержимому

$caila.detectLanguage

Выполняет определение языка, используя модель fastText.

Синтаксис

Метод принимает в качестве аргумента массив строк. Метод возвращает массив ISO-кодов языков, на которых написаны переданные тексты.

$caila.detectLanguage([
"Раз два три",
"This is an English sentence.",
"Les hommes naissent et demeurent libres et égaux en droits."
]); // => ["ru", "en", "fr"]
предупреждение
На строках, состоящих только из чисел, знаков пунктуации или других специальных символов, а также содержащих тексты на нескольких языках одновременно, метод может возвращать непредсказуемые результаты.

Использование в сценарии

Метод может использоваться, например, для маршрутизации нераспознанных запросов клиента.

state: CatchAll
event!: noMatch
script:
$temp.language = $caila.detectLanguage([$parseTree.text])[0]; // Определяем язык запроса.
$session.catchAllCounter = $session.catchAllCounter + 1 || 1; // Увеличиваем счетчик нераспознанных реплик.
# Если клиент иностранец — сразу переводим на оператора.
# Если нет — переводим на оператора по превышении счетчика нераспознанных реплик.
if: $temp.language !== "ru" || $session.catchAllCounter > 3
go!: /Switch
random:
a: Извините, я не расслышала. Повторите, пожалуйста.
a: Не совсем поняла. Можете повторить, пожалуйста?
a: Повторите, пожалуйста. Вас плохо слышно.