Триггер и тип совпадения

Тип совпадения

A триггера — это то, что активирует бота, меняет состояния или выполняет другое действие. Слова в поле «Триггер» выступают как триггер для выполнения в конструкторе сценария события или действия, содержащихся внутри блока.

Триггеры управляют ходом разговора. Они настраиваются в поле «Триггер» внутри условного блока или на соединительной стрелке.

  • Формат: Триггером может быть символ, число, регулярное выражение или определённое ключевое слово.

  • Действие: Когда ввод пользователя соответствует заданному триггеру, бот выполняет связаный с ним сценарий, например переводит в новое состояние воронки или запускает действие.

Например, если нужно создать блок для всех возможных стартовых слов в мессенджере, можно указать следующее условие: start;start;get started;start

circle-check

Чат-бот отреагирует на триггер, выполнив указанное действие или событие; например, он может отправить клиенту приветственное сообщение:

Чтобы распознать триггер, нужно определить тип сравнения (поле «Тип совпадения» ). Тип совпадения помогает чат-боту сравнить условие с сообщением клиента или другим действием (например, нажатием кнопки) и определить, какое событие запускать следующим.

В MaviBot есть пять типов сопоставления условий:

  1. Нечёткое совпадение;

  2. Совпадение по ключевым словам;

  3. Совпадение по RegEx;

  4. Точное совпадение;

  5. Семантический поиск.

Давайте подробнее рассмотрим каждый из них.

Нечёткое совпадение

Это основной тип сравнения, позволяющий боту обрабатывать орфографические ошибки, опечатки, неточности, пропущенные буквы и перестановку букв. Условие срабатывает, если сходство между строками выше 70%.

Пример: Для условия «hello»сработают следующие варианты: «hlelo», «hellp», «helo»и так далее.

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

Текст Тип совпадения «Нечёткое» идеально подходит для приветственного (начального) блока в сценарии чат-бота, где именно клиент начинает разговор.

Совпадение по ключевым словам

Совпадение по ключевым словам — это очень мощный тип сравнения, который помогает создать консультанта, похожего на человека. При таком типе сопоставления бот будет отвечать на любое сообщение пользователя, содержащее хотя бы одно ключевое слово из условия.

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

Пример: Для условия "hello;person" сработает следующее сообщение: "Я хочу поприветствовать этого замечательного человека."

В условие можно включить большое количество ключевых слов. Это позволяет чат-боту распознавать, что нужно клиенту в данный момент, и запускать соответствующее событие, настроенное внутри блока.

Как видно из примера выше, бот будет отвечать на любое сообщение, содержащее хотя бы одно из ключевых слов в условии. Этот тип совпадения также использует поле «Игнорировать триггеры» (сообщения, которые не должны вызывать ответ).

Это поле работает аналогично полю условия, но с противоположным эффектом: если сообщение пользователя содержит любые слова из «Игнорировать триггеры» поля, условие не будет срабатывать.

Соответственно, если условие в «Игнорировать триггеры» поле выполнено, общее условие не сработает.

Вариативность

Можно добавить дополнительный триггер, разделённый точкой с запятой, но что делать, если нужно сопоставить один из нескольких вариантов слова?

Например, чтобы обрабатывать фразы вроде «Мой интернет не работает», «Мой компьютер не работает» или «Мой компьютер сломался» одним триггером.

Очевидно, перечислять все варианты ключевых слов по одному непрактично. Поэтому был создан синтаксис OR. Чтобы указать одно из нескольких эквивалентных ключевых слов, поместите их все в скобки и разделите вертикальной чертой (|).

Например, триггер (tar plan|tariff) (pereit|podklyuch|menit|pomen) будет соответствовать таким вопросам, как: «Здравствуйте, как подключить новый тариф?» «Как изменить мой тарифный план?»

Разберём триггер: (tar plan | tariff) означает, что строка должна содержать «tar» И «plan» ИЛИ «tariff» И одновременно одно из слов: «switch» ИЛИ «connect» ИЛИ «change» ИЛИ «replace».

Вот ещё несколько понятных примеров:

  • change password (cab|pa) («cab» и «pa» — сокращения от «cabinet» и «personal account»)

  • (forgot|reset|restore|remember|accepts|fits|incorrect|not the right|don’t remember) password

  • (can’t|unable to) (restore|change) password

  • login in contract; (lost|loss|where is|don’t know|where|can’t find|no) contract

  • (suspend|blocked|block|disconnect) (services|internet|inet|charged); (saved|save) day; put on pause; leaving

  • auto payment; payment; pay; recurring payment; connect payment

Точное совпадение

При таком типе сравнения бот запустит событие только если сообщение клиента в точности совпадает с условием.

circle-info

Сравнение не чувствительно к регистру, то есть если условие — «hello», а пользователь введёт «HELLO», условие всё равно сработает. Это нужно учитывать.

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

  1. Для нажатия кнопок: Например, в условиях мы указываем названия кнопок, которые при нажатии клиентом должны вести его в соответствующий блок.

Далее мы создадим блоки, в которые клиент должен перейти после нажатия кнопки после первого блока. Их должно быть четыре:

Затем в настройках стрелки вводим название кнопки и устанавливаем тип совпадения «Точное совпадение».

Теперь можно протестировать бота:

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

  1. Использование тега сайта в воронке:

В этом случае принцип похож на использование кнопок; однако условие и тип совпадения настраиваются непосредственно внутри самого условного блока.

Здесь тег берётся из вкладки Сайты , где вы установили тег для страницы сайта:

Тег в условии блока указывается непосредственно в поле CONDITION блока без использования слов «TAG» или любых других обозначений.

circle-info

Подробнее о том, как настроить триггер бота с помощью тега, установленного на сайте, см. в статье «Создание сайта и базовые настройки" в поле «Тег» .

Чат-бот также отреагирует и выполнит событие, настроенное в параметрах блока.

Совпадение по RegEx

Совпадение по RegEx — это тип условия, который позволяет боту проверять формат введённых данных (например, убедиться, что пользователь ввёл номер телефона, а не что-то другое).

При сборе данных пользователи часто вводят информацию, отличающуюся от запрошенной. Вот типичный пример сценария проверки номера телефона. Если пользователь введёт что-то кроме действительного номера телефона, бот предложит попробовать ещё раз.

Из блока запроса номера телефона выходят две связи:

  1. Одна связь без триггера

  2. Другая связь с regex-триггером для проверки номера телефона

^(\+)?((\d{2,3}) ?\d|\d)(([ -]?\d)|( ?(\d{2,3}) ?)){5,12}\d$

Связь с триггером добавляет номер телефона в запрос и сработает только тогда, когда будет обнаружен действительный номер телефона. Вторая связь сработает во всех остальных случаях, поскольку у неё более низкий приоритет.

circle-info

Полный список полезных регулярных выражений можно найти в статье с таким же названием.

Семантический поиск

Текст "Семантический поиск" — опция, основанная на искусственном интеллекте, — настоящий прорыв для вашего чат-бота.

Как это работает:

  • Триггер содержит слова или фразы, отражающие СМЫСЛ который ИИ определит в сообщении клиента.

  • Система (чат-бот) обрабатывает сообщение клиента, ища смысл, заложенный в условии, внутри ввода клиента.

  • Затем бот запускает соответствующее событие в блоке.

Иными словами, указывая определённые фразы или значения в условии, ИИ проверяет каждое условие относительно сообщения клиента и запускает соответствующее событие в блоке (например, отправку сообщения и т. д.).

Пример:

Мы указали определённые фразы и ключевые слова, которые ИИ должен обнаружить в сообщении клиента, чтобы запустить соответствующее событие внутри блока.

В нашем случае триггер включает фразы, связанные с «закрытием счетов или договоров».

При использовании "Семантический поиск" опции бот должен найти в сообщении клиента слова или фразы, которые по смыслу похожи на указанные в условии:

Каждый раз, когда бот обрабатывает сообщение клиента, он корректно запускает нужное событие, определённое в блоке.

Как написать триггер Триггер вводится в соответствующее поле так же, как и другие условия для любого типа совпадения: через точку с запятой (;).

Лучше всего указывать фразы или слова в поле триггера максимально точно и кратко.

circle-check
circle-exclamation

Таким образом, используя "Семантический поиск" опцию, ИИ будет анализировать различные возможности, чтобы понять смысл сообщения клиента, и на основе совпадения чат-бот запустит соответствующее событие.

Конструктор триггеров

Триггер — это уникальная специализированная функция, предназначенная для быстрого создания триггеров внутри соответствующих блоков, чтобы реагировать на входящие callback-запросы из различных каналов, платёжных систем и других интеграций.

Соответственно, конструктор триггеров доступен только для блоков, поддерживающих триггеры:

Чтобы воспользоваться конструктором триггеров, откройте настройки блока, где вы увидите соответствующую кнопку, расположенную прямо над полем условия:

После нажатия соответствующей кнопки откроется окно для работы с условиями:

Триггеры MaviBot

Текст Вкладка «Триггеры MaviBot» в конструкторе триггеров содержит все системные условия, которые хранятся и доступны для использования в различных разделах MaviBot.

Триггеры по умолчанию Эта функция работает аналогично вложенным условиям внутри блока: здесь вы указываете условия, которые NOT предустановлены в системе. Это может быть тег воронки, тег сайта или любое другое условие, существующее только в вашем проекте.

Переменные

Триггеры с переменными довольно легко настраиваются.

Шаг 1. Введите имя переменной в соответствующее поле.

Шаг 2. Выберите параметр сравнения.

Иными словами, укажите, с чем вы хотите сравнить переменную: с конкретным значением или с другой переменной.

Шаг 3. Выберите тип сравнения.

У каждого сравнения есть своё значение: равно (==); не равно (!=); строго больше (>); больше или равно (>=); строго меньше (<); меньше или равно (<=).

Пример:

В примере значение переменной задано как больше или равно 21. Что это значит? Это значит, что событие внутри блока сработает только для клиентов, относящихся к «взрослой» возрастной группе — то есть для тех, кому 21 год или больше.

Выражение «age >= 18» эквивалентно «age > 17».

Условие «age > 17» также сработает только для тех, кто строго старше 17, то есть начиная с 18 лет.

Разделы MaviBot

В условиях разделов MaviBot есть типичные callback-и — системные уведомления — о различных событиях в проекте.

Чтобы запустить событие внутри блока на основе системных уведомлений, задайте нужный callback в поле условия, затем выберите тип совпадения и нажмите кнопку «Добавить условие» :

После этого условие появится в соответствующих полях внутри блока.

circle-check

Мессенджеры

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

Оплата

Шаг 1. Чтобы настроить условия для платёжных систем, убедитесь, что вы подключили соответствующую интеграцию; иначе вы не сможете использовать конструктор условий с нужной системой.

Шаг 2. Затем нажмите на нужную платёжную систему.

Шаг 3. Выберите подходящий callback.

Шаг 4. Затем введите сумму платежа в соответствующее поле и нажмите «Добавить условие». Последний шаг — написать соответствующее сообщение в настройках блока:

circle-check

Последнее обновление