Тригер і тип збігу
Тип збігу
Один полі тригера це те, що активує бота, змінює стани або виконує іншу дію. Слова в полі «Тригер» працюють як тригер для сценарію в конструкторі, щоб виконати подію або дію, що міститься в блоці.
Тригери керують перебігом розмови. Їх налаштовують у полі «Тригер» у межах умовного блоку або на стрілці з’єднання.
Формат: Тригером може бути символ, число, регулярний вираз або певне ключове слово.
Дія: Коли введення користувача збігається із заданим тригером, бот виконує пов’язаний сценарій, наприклад переходить до нового стану воронки або запускає дію.


Наприклад, якщо вам потрібно створити блок для всіх можливих стартових слів у Messenger, можна вказати таку умову: start;start;get started;start
У всіх типах порівнянь, крапка з комою (;), використовується для розділення умов.
Чатбот відреагує на тригер, виконавши задану дію або подію; наприклад, він може надіслати клієнту вітальне повідомлення:

Щоб розпізнати тригер, потрібно визначити тип порівняння (поле «Match Type» ). Тип збігу допомагає чатботу порівняти умову з повідомленням клієнта або іншою дією (наприклад, натисканням кнопки) і визначити, яку подію запускати далі.
У MaviBot є п’ять типів зіставлення умов:
Нечіткий збіг;
Збіг за ключовими словами;
Збіг за RegEx;
Точний збіг;
Семантичний пошук.

Давайте детальніше розглянемо кожен із них.
Нечіткий збіг
Це основний тип порівняння, який дає змогу боту обробляти орфографічні помилки, друкарські помилки, неточності, пропущені літери та перестановки літер. Умова спрацьовує, якщо схожість між рядками перевищує 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) passwordlogin 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; leavingauto payment; payment; pay; recurring payment; connect payment
Точний збіг
За цього типу порівняння бот запустить подію лише тоді, коли повідомлення клієнта точно збігається з умовою.
Порівняння не залежить від регістру, тобто якщо умова — «hello», а користувач введе «HELLO», умова все одно спрацює. Це слід враховувати.
Цей тип порівняння підходить для використання в таких налаштуваннях, як з’єднання, коли клієнт натискає кнопку або переходить із мінілендингу до чатбота з указаним тегом сайту.
Для натискань кнопок: Наприклад, в умовах ми вказуємо назви кнопок, які при натисканні клієнтом мають привести його до відповідного блоку.

Далі ми створимо блоки, куди потрібно перенаправити клієнта після натискання кнопки в першому блоці. Їх має бути чотири:

Далі в налаштуваннях стрілки вводимо назву кнопки та встановлюємо тип збігу на «Точний збіг».

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

Як бачите, бот коректно обробляє умову та вибір точного збігу під час використання кнопок.
Використання тега сайту у воронці:
У цьому випадку принцип подібний до використання кнопок; однак умова й тип збігу налаштовуються безпосередньо в самому умовному блоці.
Тут тег береться з вкладки Sites де ви встановили тег для сторінки сайту:

Тег в умові блоку вказується безпосередньо в полі CONDITION блоку без використання слів «TAG» або будь-яких інших позначень.

Докладніше про те, як налаштувати тригер бота за допомогою тега, встановленого на сайті, дивіться у статті «Створення сайту та базові налаштування" у полі «Tag» розділ.
Чатбот також відреагує та виконає налаштовану подію в межах параметрів блоку.
Збіг за RegEx
Збіг за RegEx — це тип умови, який дає змогу боту перевіряти формат введених даних (наприклад, переконатися, що користувач ввів номер телефону, а не щось інше).
Під час збору даних користувачі часто вводять інформацію, яка відрізняється від запитаної. Ось типовий приклад сценарію перевірки номера телефону. Якщо користувач вводить щось інше, ніж дійсний номер телефону, бот попросить його спробувати ще раз.

Із блоку, що запитує номер телефону, виходять два з’єднання:
Одне з’єднання без тригера
Інше з’єднання з regex-тригером для перевірки номера телефону
^(\+)?((\d{2,3}) ?\d|\d)(([ -]?\d)|( ?(\d{2,3}) ?)){5,12}\d$
З’єднання з тригером додає номер телефону до запиту й спрацює лише тоді, коли буде виявлено дійсний номер телефону. Друге з’єднання спрацює в усіх інших випадках, оскільки має нижчий пріоритет.
Повний список корисних регулярних виразів можна знайти в статті з такою самою назвою.
Семантичний пошук
Поле "Семантичний пошук" — це опція, що базується на штучному інтелекті, — справжній прорив для вашого чатбота.
Як це працює:
Тригер містить слова або фрази, які відображають ЗНАЧЕННЯ яке ШІ має визначити в повідомленні клієнта.
Система (чатбот) обробляє повідомлення клієнта, шукаючи сенс, закладений в умові, у вхідних даних клієнта.
Потім бот запускає відповідну подію в блоці.
Іншими словами, вказуючи певні фрази або значення в умові, ШІ перевіряє кожну умову щодо повідомлення клієнта та запускає відповідну подію в блоці (наприклад, надсилання повідомлення тощо).
Приклад:
Ми вказали конкретні фрази та ключові слова, які ШІ має виявити в повідомленні клієнта, щоб запустити відповідну подію всередині блоку.
У нашому випадку тригер містить фрази, пов’язані із «закриттям рахунків або договорів».

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

Кожного разу, коли бот обробляє повідомлення клієнта, він коректно запускає потрібну подію, визначену в блоці.
Як писати тригер Тригер вводять у відповідному полі так само, як і інші умови для будь-якого типу збігу: розділяючи крапкою з комою (;).

Найкраще вказувати фрази або слова в полі тригера якомога точніше й лаконічніше.
Лаконічна, чітка та точна умова для блоку допомагає чатботу правильно запускати подію, що міститься в блоці.
Чим складніші, розмитіші й довші фрази містить умова, тим більше часу ШІ потрібно для обробки повідомлень клієнта, що може призвести до некоректної роботи вашого сценарію.
Зверніть увагу!
Тригер має NOT складатися лише з одного слова: хоча умови мають бути лаконічними, вони повинні відображати значення, яке шукає бот.
Якщо модель порівнює два різні окремі слова, вони не збігатимуться. Наприклад, замість слова «invoice» використайте умову «payment for the monthly invoice». Ця умова краще відповідатиме потрібним вимогам і надасть моделі ШІ необхідні критерії для семантичного зіставлення.
Отже, використовуючи "Семантичний пошук" опцію, ШІ аналізуватиме різні варіанти, щоб зрозуміти сенс повідомлення клієнта, і на основі збігу чатбот запустить відповідну подію.
Конструктор тригерів
Trigger — це унікальна спеціалізована функція, призначена для швидкого створення тригерів у відповідних блоках, щоб реагувати на вхідні callbacks із різних каналів, платіжних систем та інших інтеграцій.
Відповідно, конструктор тригерів доступний лише для блоків, які підтримують тригери:

Щоб скористатися конструктором тригерів, відкрийте налаштування блоку, де ви побачите відповідну кнопку, розташовану прямо над полем умови:

Після натискання відповідної кнопки відкриється вікно для роботи з умовами:

Тригери MaviBot

Поле вкладка «MaviBot Triggers» у конструкторі тригерів містить усі системні умови, які зберігаються та доступні для використання в різних розділах MaviBot.
Стандартні тригери Ця функція працює подібно до вкладених умов у блоці: тут ви вказуєте умови, які NOT вбудовані в систему. Це може бути тег воронки, тег сайту або будь-яка інша умова, що існує лише у вашому проєкті.
Змінні

Тригери з змінними налаштувати досить просто.
Крок 1. Введіть назву змінної у відповідне поле.
Крок 2. Виберіть параметр порівняння.

Іншими словами, вкажіть, з чим саме ви хочете порівняти свою змінну: з конкретним значенням або з іншою змінною.


Крок 3. Виберіть тип порівняння.

Кожне порівняння має своє значення: дорівнює (==); не дорівнює (!=); строго більше за (>); більше або дорівнює (>=); строго менше за (<); менше або дорівнює (<=).
Приклад:

У прикладі значення змінної має бути більше або дорівнювати 21. Що це означає? Це означає, що подія всередині блоку спрацює лише для клієнтів, які належать до «дорослої» вікової групи — тобто для тих, кому 21 або більше.
Вираз «age >= 18» є еквівалентним «age > 17».
Умова «age > 17» також спрацює лише для тих, хто строго старший за 17, тобто починаючи з 18 років і вище.
Розділи MaviBot

У розділах умов MaviBot є типові callbacks — системні сповіщення — про різні події в проєкті.
Щоб запустити подію всередині блоку на основі системних сповіщень, задайте потрібний callback у полі умови, потім виберіть тип збігу та натисніть "Додати умову" кнопку:
Після цього умова з’явиться у відповідних полях всередині блоку.
Якщо блок уже містить умову, натискання "Додати умову" кнопки додасть нову умову після існуючої. Якщо потрібно замінити стару умову на нову, натисніть «Replace condition.»
Месенджери

Конструктор умов у каналах допомагає не лише відстежувати реакції на пости або публікації, а й запускати події всередині блоків для відповіді чатбота.
Оплата

Крок 1. Щоб налаштувати умови для платіжних систем, переконайтеся, що ви підключили відповідну інтеграцію; інакше ви не зможете використовувати конструктор умов із потрібною системою.
Крок 2. Далі натисніть на потрібну платіжну систему.
Крок 3. Виберіть відповідний callback.
Крок 4. Потім введіть суму платежу у відповідне поле та натисніть «Додати умову.» Останній крок — написати відповідне повідомлення в налаштуваннях блоку:
Інші розділи конструктора умов налаштовуються аналогічно до розділів, розглянутих тут. Бажаємо вам успіхів!
Last updated