Частина серії: Бронювання через Telegram: повний гайд від першого «привіт» до підтвердженого запису
Вільно завтра ввечері? — як AI-бот обробляє нечіткий запит на час
Розбір того як AI-бот парсить нечіткі запити про час — "завтра ввечері", "у вихідні" — і що потрібно налаштувати щоб відповідь була точною.
Гайди
Вільно завтра ввечері? — як AI-бот обробляє нечіткий запит на час
Уявімо, клієнт пише в Telegram лазертаг-клубу:
— Вільно завтра ввечері?
Просте питання з погляду людини. Але для бота це три невідомих в одному повідомленні: відносна дата ("завтра"), нечіткий часовий діапазон ("ввечері"), не вказана послуга або кількість людей. Як добре налаштований бот з цим справляється — і де можуть бути проблеми.
Чому "завтра ввечері" — складний запит
У живому діалозі "завтра ввечері" — достатньо. Адміністратор знає яка сьогодні дата, розуміє що "ввечері" — це після 18:00, і без питань відкриває розклад.
Для AI-бота кожен з цих пунктів — окрема задача.
Відносна дата. "Завтра" — це конкретна дата тільки якщо бот знає яке сьогодні число. Технічно бот має доступ до системного часу, але тільки якщо це явно передається в контекст. Частина популярних рішень цього не робить — і бот відповідає "уточніть дату", хоча відповідь очевидна.
Нечіткий час. "Ввечері" може означати 17:00, 18:00, 19:00, 20:00 — залежно від заклadu і культурних норм. Якщо в KB не прописано що "ввечері = після 18:00", бот або уточнює (правильно), або робить довільне припущення (погано).
Відсутня послуга і кількість. Лазертаг-клуб може мати кілька зон, різну місткість, різні цінові пакети. Перевірити "чи вільно завтра ввечері" без розуміння для скількох людей — неможливо точно.
Три невідомих підряд. Якщо бот запитає про кожне окремо — клієнт відчує допит. Якщо зробить правильні припущення — враження магії.
Як AI-бот розбирає запит крок за кроком
Добре налаштований бот проходить кілька кроків послідовно, не обов'язково ставлячи питання на кожному.
Крок 1. Parsing відносної дати.
Бот отримує повідомлення разом із поточним timestamp. "Завтра" перетворюється на конкретну дату: якщо зараз понеділок 10 лютого, "завтра" = вівторок 11 лютого. Жодних уточнень не потрібно.
Крок 2. Визначення часового діапазону.
Бот звертається до своєї бази знань. Якщо в KB є запис виду "ввечері — слоти після 18:00", він застосовує це правило. Якщо ні — бот або уточнює ("о котрій приблизно?"), або відповідає по всьому діапазону і пропонує вибрати.
Крок 3. Уточнення кількості (мінімальне).
Тут бот має зробити вибір: уточнити кількість людей, або відповісти загально і уточнити пізніше. Оптимальна стратегія залежить від бізнесу. Для лазертагу де мінімальна група — 2 особи — бот може відповісти загально і уточнити при бронюванні.
Крок 4. Перевірка доступності.
Якщо є інтеграція з розкладом — бот перевіряє реальні вільні слоти. Якщо інтеграції немає і розклад в KB — бот дає "загальну" відповідь ("ввечері зазвичай вільно, уточніть у адміністратора").
Засновник Leadmlyn. Будую AI-менеджерів для leisure-бізнесу в Україні.