Помощь

Спец. возможности
Назад

Ключевые слова на стероидах

Ключевые слова, которые используются в ветке распознавания ответа, могут быть расширены для более комплексных распознаваний.

Используйте символ ?, чтобы при распознавании не учитывать один символ, например пр?вет. Такое ключевое слово будет срабатывать как на привет, так и на превет.

Используйте символ %, чтобы пропустить часть слова целиком. Например здравст% сработает на здравствуйте или здравствуй. Данный символ работает только в пределах слова, т.е. для ключевого слова здрав%те сработает здравствуйте, но не сработает здравствуй, те.

Ключевые слова могут быть и фразами, т.е. можно совмещать несколько ключевых слов.

Чтобы из фраз извлекать какие-то данные, можно использовать шаблоны. В шаблоне с помощью определенного синтаксиса можно определять параметры. Например, ключевая фраза {qty} шт%. Когда пользователь пишет фразу, в которой есть комбинация любой текст + шт, то будет обновлена переменная туннеля qty с этим текстом. Например, клиент пишет хочу купить 10 штук. В этом случае переменная туннеля будет {$qty} == хочу купить 10. Не совсем то. Для параметров можно указывать тип, который вносит ограничения на возможные значения.

Сделаем ключевую фразу такой: {qty:int} шт%. Здесь мы указали, что параметр qty должен быть целым числом. Теперь тот же самый текст даст переменную {$qty} = 10.

Тип Описание
Без типа Захватываются все возможные символы, в том числе и пробелы
word Захватывается только одно слово
int Параметр должен быть целым числом
float Параметр должен быть числом (с точкой или запятой)
digits:a Должно ровно a цифр
digits:a,b Должно быть от a до b цифр
digits:a, Должно быть не менее a цифр

Когда в шаге указываются несколько ключевых слов, параметры извлекаются только из одного. Если под запрос клиента подходят несколько ключевых слов, то выбирается то, в котором было распознано больше всего параметров.

ВНИМАНИЕ! Есть некоторые ограничения:

  • Название переменной может содержать только цифры, латинские буквы и знак подчеркивания
  • Название не должно начинаться с цифры
  • В одной ключевой фразе нельзя использовать переменные с одинаковым названием

Примеры

  • LOCATION - Latitude: {lat:float}, Longitude: {long:float} будет доставать широту и долготу в переменные {$lat} и {$long} соответственно
Связанные вопросы