ШІ-система аналізу зворотного зв'язку учасників заходу

Зворотний зв'язок надходить сотнями повідомлень з анкет, чатів і листів — вручну такий потік не розібрати. Ми розробляємо ШІ-систему аналізу зворотного зв'язку під ключ: вона виокремлює теми, тональність і повторювані проблеми, скорочуючи час на розбір у рази. Обговоримо завдання і повернемося з планом.
Часті запитання

Чому ручний аналіз зворотного зв'язку не витримує потік

Анкети після заходу надходять одним потоком: закриті шкали й відкриті відповіді, де люди пишуть те, що не вмістилося в оцінки. Рука людини обробляє такий масив вибірково — за добу реально прочитати кілька десятків анкет, решту переглядають по діагоналі.

Вузьке місце в обробці відгуків тут не швидкість читання, а те, що критерії розмітки тримаються в голові конкретної людини й змінюються від вечора до вечора.

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

Аналіз відкритих відповідей перетворюється на набір розмитих тем — «загалом сподобалося», «організація норм», — за якими не можна ухвалити жодного рішення.

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

Через кілька циклів такої роботи втрачається довіра до самих даних: команда впевнена, що «все нормально», а повторювані скарги спливають постфактум, уже на наступному заході. Ручна розмітка відгуків не масштабується — кількість анкет зростає, кількість висновків ні.

Розбираємо, як це закривається, щоб потік анкет перетворювався на пріоритизований список рішень, а не на звіт для галочки.

Ефект від впровадження: швидкість, повнота й повторюваність

Ефект від впровадження видно за трьома зсувами: скільки часу займає зведення, яка частка відгуків узагалі потрапляє в розбір і чи збігається розмітка від запуску до запуску. Нижче — те, що ми фіксуємо на прийманні, а не загальні слова про «стало зручніше».

Термін зведення: години замість днів

Раніше аналітик вивантажував відповіді з форми, зводив оцінки в таблицю й вичитував коментарі очима — перші висновки з'являлися через кілька днів, коли потік уже охолов і рішення щодо наступного заходу ухвалено.

Система розбирає корпус пакетами одразу після закриття анкет: до ранку наступного дня на руках зведення за темами з цитатами-першоджерелами. Для серії заходів це означає розбір кожного, а не лише флагманського.

Повнота розбору: весь корпус, а не вибірка

До аналізу зазвичай доходили довгі коментарі та оцінки нижче порога — короткі «все сподобалося, але…» осідали нерозібраними.

Класифікатор проходить усі відповіді, включно з відкритими полями без оцінки, і розкладає їх за темами: програма, логістика, харчування, спікери, організація. Частка відгуків, що отримали хоча б одну мітку, виходить на повне охоплення замість звичних 10–15%.

Повторюваність розмітки та метрики якості

Той самий відгук під час повторного прогону отримує ту саму тему — узгодженість між запусками вища, ніж між двома людьми, які читають текст по черзі.

На прийманні дивимося точність і повноту за кожною темою, частку відповідей, що потрапили «поза таксономією», та розбіжність під час повторної обробки одного набору.

Розмітка за Net Promoter Score та відкриті відповіді рахуються в одній схемі, тому сегмент критиків видно одразу, без окремого звіряння.

Способи обробки відгуків: пакетний розбір, потік і ручна вибірка

Режим обробки відгуків обирають не за «швидкістю взагалі», а за допустимим запізненням між надходженням відгуку та появою висновку.

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

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

Ручна вибірка добирає те, що модель упевнено не бере — іронію, змішані оцінки, рідкісні формулювання.

Варіант Коли підходить Обмеження
Пакетна обробка відгуків Масиви за період, підсумкові звіти, порівняння хвиль, навчання рубрикам на історії Висновки із затримкою до наступного запуску; часті перерахунки навантажують сховище
Потокова обробка даних Потрібен сигнал під час заходу: сплеск негативу, скарги на один блок програми Повної картини немає до закриття вікна; перерахунок заднім числом — окремий прохід
Гібридна схема обробки Постійний потік відгуків за регулярної звітності та розбору підсумків Складніша в супроводі: два ланцюжки, єдині правила розмітки й звіряння результатів
Вибірка для ручного розбору Контроль якості моделі, спірні випадки, рідкісні теми й сегменти Не масштабується: обсяг розбору впирається в години аналітиків

Як обираємо режим

Дивимося на три речі: чи потрібен висновок під час заходу, чи потрібен перерахунок по всій історії після зміни рубрик і скільки сирих записів ми зобов'язані зберігати.

Якщо відповідь «ні, так, багато» — працює пакет; якщо потрібен сигнал у моменті — додаємо потік і виносимо ручну вибірку в контроль якості.

Як відбувається впровадження: від аудиту даних до передачі

Впровадження починається не з моделі, а з даних: поки не зрозуміло, що саме збирається на вході, будь-який класифікатор дає гарні цифри на демо й марні — у роботі. Тому перші два етапи займають стільки ж часу, скільки всі інші разом.

  1. Аудит даних заходу. Розбираємо всі джерела зворотного зв'язку: анкети, вільні коментарі, листування підтримки, відгуки на майданчиках. Фіксуємо формати, мови, частку порожніх і дубльованих відповідей, знаходимо поля, де учасники пишуть текстом замість вибору варіанта.

  2. Схема даних і правила приведення. Домовляємося про єдине подання запису: що вважаємо одним відгуком, як пов'язуємо його з треком, спікером і сесією. Без цього той самий коментар у різних вивантаженнях поводиться по-різному.

  3. Налаштування класифікатора тем. Збираємо перелік тем під вашу програму й термінологію, розмічаємо еталонний набір вручну й налаштовуємо модель так, щоб вона спиралася на ці приклади, а не на загальні уявлення про «хороший захід».

  4. Перевірка якості розмітки. Рахуємо частку збігів із ручною розміткою й розбираємо всі розбіжності за категоріями. Окремо дивимося рідкісні, але важливі теми — скарги на організацію, доступність, безпеку: їхній пропуск дорожчий, ніж помилка в масовій категорії.

  5. Складання звітів і вбудовування в процеси. Визначаємо, хто і коли отримує зведення: після кожної сесії, щодня чи за підсумками заходу. Налаштовуємо вивантаження у зручному вигляді, щоб аналіз не потребував ручного складання.

  6. Навчання команди та приймання системи. Показуємо, як поповнювати приклади, змінювати теми й перевіряти якість після правок. Приймання іде за заздалегідь узгодженими показниками на ваших даних, а не на тестовому наборі.

На виході ви отримуєте робочу систему, документацію за темами й правилами розмітки, доступи та зрозумілий порядок супроводу — далі команда веде її самостійно, а ми підключаємося на змінах.

Що залишається у вас після проєкту: документи, схеми, регламенти

Робочий сервіс — не фінальна точка проєкту. Через місяць в анкетах з'являться нові формулювання, частина категорій перестане влучати в ціль, і правила доведеться правити силами вашої команди.

Тому разом із кодом віддаємо набір артефактів, за якими зміни вносять, не розбираючись у влаштуванні системи заново.

  • Регламент розмітки відгуків — таксономія категорій, правила віднесення спірних випадків, поріг упевненості моделі та що робити з відгуками нижче нього.
  • Схема руху даних — від вивантаження анкет і списків учасників до вітрини з агрегатами: де знеособлюємо, де дедуплікуємо, де валідуємо.
  • Налаштовані правила обробки — класифікація за темами й тональністю, словники винятків, групування схожих відгуків, відокремлення запитань від претензій.
  • Політики доступу — ролі, кому доступні сирі тексти з персональними даними, а кому лише агрегати, терміни зберігання та порядок знеособлення.
  • Документація на систему — склад компонентів, зовнішні залежності, точки відмови, інструкція з оновлення правил і розбору помилок.
  • Регламент супроводу — які метрики якості та частку нерозмічених дивимося, коли спрацьовує оповіщення, як відкотитися на попередній набір правил.
  • План передачі в супровід — навчання вашої команди на реальних даних, розбір складних випадків і порядок ескалації до наших інженерів.
  • Еталонний набір відгуків із ручною розміткою — за ним перевіряють якість після кожної зміни, не чекаючи наступного заходу.

Кейс: зведення за потоком відгуків замість ручного розбору

Як було влаштовано до

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

Аналітик встигав прочитати близько десятої частини масиву, решта лежала у вивантаженні — при цьому висновки для програми наступної події робилися саме за цією вибіркою.

Розбір однієї хвилі займав майже тиждень: вивантаження й чищення, ручна розмітка за темами, зведення в підсумковий звіт. На момент готовності наступний захід уже минув — правки в логістику та розклад вносити було пізно.

Що змінили і що стало

Зібрали потік в один контур: анкети й вільні коментарі забираються автоматично, голосові відповіді розшифровуються через Whisper, текст розмічається за рубриками, забарвленням і темами.

Кластеризація відтворювана — та сама тема отримує одну назву незалежно від того, хто запускає розбір.

  • Повнота: було близько 10% анкет, стало 100% на кожній хвилі.
  • Швидкість зведення: з 5 робочих днів до 12 годин — до початку наступної події.
  • Узгодженість розмітки між аналітиками за однією рубрикою: 0.6 → 0.9, ручних правок удвічі менше.
  • Стійкість тем: 14 постійних категорій замість «плаваючого» набору від запуску до запуску.
  • Реакція: проблема з навігацією спливла першого дня серії з п'яти, правки внесли між подіями — частка негативних оцінок за пунктом упала втричі.

Що робити, якщо зворотний зв'язок надходить різними каналами

Анкети після секцій, листування в чатах, листи організаторам і відкриті форми збирають різні люди й у різний час, тому кожне вивантаження надходить зі своєю структурою: десь п'ять запитань, десь вільний текст одним полем, десь оцінка за десятибальною шкалою.

Поки джерел два, їх ще можна звести вручну; на п'ятому з'являються загублені записи й подвійний облік тих самих відгуків.

Перший крок — єдиний формат даних. Кожне повідомлення перетворюється на запис з однаковим набором полів: канал-джерело, мітка часу, приведена до однієї зони, знеособлений ідентифікатор учасника, текст, числова оцінка, прив'язка до доповіді або секції.

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

Другий крок — дедуплікація відповідей. Один учасник часто пише в чат під час секції й повторює ту саму думку в анкеті ввечері: точні повтори відсікаються порівнянням нормалізованого тексту, близькі за змістом — за семантичною близькістю формулювань.

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

Третій крок — зведення джерел у спільний розбір. Записи з усіх каналів потрапляють в один потік, де до них застосовується тематична розмітка, оцінка тональності та прив'язка до доповідача.

Якщо джерело не віддало дані вчасно, розбір не зупиняється: він позначається як неповний, а частка кожного каналу видна у звіті.

На виході — один зріз за всіма каналами: видно, які теми піднімають лише в чатах, а які лише в анкетах, і де оцінки розходяться. Розвести джерела за полями й ключами дешевше, ніж зводити їх руками на кожному заході.

Технічні сумніви: розмітка, мови, приватність даних

Сумніви зазвичай одні й ті самі: чи зрозуміє модель сарказм, що робити з відгуками кількома мовами й чи не перетвориться масив текстів з іменами та контактами на витік. Нижче — як ці три місця закриті в системах аналізу зворотного зв'язку, які ми збираємо.

Модель зрозуміє сарказм і «ввічливий негатив»?

Розмітку збираємо на відгуках вашого заходу: кілька сотень прикладів, де негатив виражений опосередковано — «дякую за сорок хвилин у черзі». Рахуємо згоду між розмітниками й лише після порога віддаємо набір у навчання. Якщо метрика нижча, змінюємо правила розмітки, а не «доопрацьовуємо» модель на око.

Відгуки надходять різними мовами — сенс не загубиться?

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

Змішані фрази, де всередині речення йде вставка іншою мовою, проходять одним проходом — половина сенсу не губиться на межі мов.

Як відгуки з іменами та контактами не виходять назовні?

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

Доступи, ролі та терміни зберігання описуємо за вимогами ISO 27001; знеособлений масив при цьому залишається придатним для аналітики за днями, майданчиками й форматами сесій.

Обговоримо задачу: які дані та доступи потрібні для оцінки

Щоб оцінка проєкту спиралася на факти, а не на припущення, потрібні три речі: приклади реального зворотного зв'язку, доступи до даних і розуміння, яке рішення ви хочете ухвалювати за підсумками аналізу.

Чим конкретніші ввідні, тим менше припущень у строках і тим точніший план робіт — без етапу «уточнимо по ходу».

  • Приклади відгуків за останній період — вивантаження у вихідному вигляді: вільний текст, оцінки, канали надходження (анкети, чати, пошта, зовнішні майданчики). За ними видно мову аудиторії, довжину повідомлень і частку нерелевантного шуму.
  • Схема зберігання — де зворотний зв'язок лежить зараз, як часто оновлюється, чи є ручні вивантаження з опитувальників і зведені таблиці, які хтось веде паралельно.
  • Доступи до даних — тестовий доступ до сховища або знеособлене вивантаження. Окремо проговорюємо, які поля персональні та як їх маскувати до передавання в обробку.
  • Що вже робили з цими даними — ручна розмітка, звіти, спроби рахувати тональність. Це показує, які категорії вам справді важливі та що не прижилося.
  • Обмеження щодо середовища — де має працювати система, хто власник даних, хто узгоджує доступи з боку безпеки та юридичних вимог.
  • Очікуваний результат — які рішення ви плануєте ухвалювати: правити програму наступного заходу, змінювати майданчик, реагувати на негатив у першу добу.

З цим набором ми повертаємося з оцінкою проєкту: обсяг робіт, склад етапів, що потрібно від вашої сторони на кожному з них. Опишіть задачу у зручному форматі — короткий дзвінок або лист із ввідними, — і ми запропонуємо план робіт з межами відповідальності.

Напрямки AI-розробки

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1369
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1142