ИИ-аналитика · MAX
Анализ отзывов, звонков и переписок с ИИ: как превратить текст в таблицу и проверить точность
· 15 мин чтения · Редакция ultrathink
Анализ отзывов с помощью ИИ — это превращение свободного текста в структурированную таблицу: тема обращения, тональность, продукт, причина недовольства. Языковая модель делает это быстро и в больших объёмах, но результат имеет смысл только тогда, когда категории заранее определены, ответ модели проверяется кодом, а точность замерена на размеченной вручную выборке. Ниже — полный процесс: от бизнес-вопроса до регулярного отчёта, с типичными ошибками и способами их поймать.
Что такое анализ текстов с ИИ и какие задачи он решает
Отзывы, расшифровки звонков, переписки в мессенджерах и обращения в поддержку содержат то, чего нет в обычных таблицах: почему клиенты уходят, что их раздражает, о чём они спрашивают чаще всего, какие обещания продавцов не совпадают с реальностью. Пока эти тексты читают выборочно, выводы зависят от того, что попалось на глаза. Задача аналитика — перевести текст в поля, которые можно посчитать, сравнить по периодам и связать с другими данными.
На практике под «анализом текстов» скрываются несколько разных задач. Их полезно различать с самого начала, потому что у каждой своя проверка качества.
Классификация
Классификация — отнести текст к одной или нескольким категориям из заранее заданного списка: тема обращения, тональность, намерение клиента, срочность. Результат — метка из справочника, которую легко считать и сравнивать. Это основа почти любого отчёта по отзывам.
Извлечение
Извлечение — достать из текста конкретные значения: название продукта, филиал, сумму, дату, номер заказа, имя упомянутого сотрудника. Здесь проверяется не только то, нашла ли модель значение, но и не придумала ли она его там, где в тексте ничего такого нет.
Резюме и поиск тем
Резюме — короткое изложение длинного звонка или переписки. Поиск тем — исследовательская задача: что вообще обсуждают клиенты, о чём мы ещё не знаем. Обе задачи полезны, но их результат — текст, а не таблица, поэтому для регулярной отчётности они служат вспомогательным инструментом, а не основным.
- Тема обращения: оплата, доставка, качество, обслуживание, технический сбой.
- Тональность: положительная, нейтральная, отрицательная, смешанная.
- Намерение: вопрос, жалоба, просьба о возврате, намерение уйти, благодарность.
- Упомянутые сущности: продукт, филиал, сотрудник, сумма, номер заказа.
- Признак срочности или необходимости передать обращение руководителю.
Начните с бизнес-вопроса и выберите подход
Самая частая ошибка — начинать с модели: «давайте прогоним все отзывы через ИИ и посмотрим». Получается красивый отчёт, по которому ничего не решают. Правильный порядок обратный: сначала решение, которое должно приниматься по результатам, потом поля, которые для него нужны, и только потом инструмент.
- 01Сформулируйте решение: например, «на что направить усилия службы качества в следующем месяце».
- 02Определите, какие поля нужны для этого решения: тема, филиал, тональность, продукт.
- 03Решите, как часто нужен результат: разовый разбор, еженедельный отчёт, обработка каждого обращения в реальном времени.
- 04Оцените цену ошибки: что хуже — пропустить жалобу или ошибочно поднять тревогу.
- 05Только после этого выбирайте подход и инструмент.
Когда что выбирать
Языковая модель — не единственный вариант, и не всегда лучший. Выбор зависит от сложности категорий, объёма текстов, требований к воспроизводимости и наличия размеченных данных.
- Если категория определяется по ключевым словам надёжно — например, упоминание номера заказа или конкретного продукта, — выбирайте правила и поиск по шаблону: они прозрачны, бесплатны в эксплуатации и не меняются без вашего ведома.
- Если категории зависят от смысла и формулировки — сарказм, жалоба без прямых слов, несколько тем в одном сообщении, — выбирайте языковую модель с инструкцией и примерами: она понимает контекст лучше правил.
- Если у вас уже есть большой размеченный архив и задача стабильна годами, имеет смысл рассмотреть обученный на этих данных классификатор: он предсказуем и дешевле в больших объёмах, а языковая модель может помочь с разметкой.
- Если нужно понять, о чём вообще пишут клиенты, начните с исследовательского прохода языковой моделью по выборке, а затем переходите к фиксированному справочнику.
Часто лучший результат даёт комбинация: правила вытаскивают очевидное, модель разбирает сложное, а неуверенные случаи уходят человеку.
Справочник категорий: сердце проекта
Если попросить модель «проанализировать отзывы», она вернёт выводы в свободной форме, которые нельзя ни посчитать, ни сравнить с прошлым месяцем. Нужна таблица с фиксированными полями и фиксированным списком значений для каждого поля. Этот список и есть справочник категорий, и от его качества зависит больше, чем от выбора модели.
Как собрать справочник
- 01Возьмите случайную выборку текстов из разных периодов, каналов и филиалов.
- 02Попросите модель предложить темы, которые встречаются в этой выборке, с примерами.
- 03Вместе с представителями бизнеса сведите предложенные темы в короткий список, объединив пересекающиеся.
- 04Для каждой категории напишите определение, примеры «да», примеры «нет» и пограничные случаи.
- 05Добавьте категорию «другое» и правило, когда её использовать.
- 06Зафиксируйте версию справочника и дату, с которой она действует.
Как описать одну категорию
Хорошее описание категории отвечает на вопрос, как поступить в спорном случае. Название «Обслуживание» ничего не говорит модели и разметчику. Описание «Жалобы и отзывы о поведении сотрудников: вежливость, компетентность, скорость ответа. Не включает жалобы на цену и на сроки доставки — для них есть отдельные категории» уже позволяет принимать одинаковые решения.
Одна метка или несколько
Заранее решите, может ли текст относиться к нескольким темам. Отзыв «доставили поздно, но курьер был очень вежливым» касается и доставки, и обслуживания, причём с разной тональностью. Если разрешить только одну метку, часть информации потеряется; если разрешить несколько, нужно отдельно считать точность по каждой метке. Для отзывов обычно честнее несколько меток с тональностью по каждой теме.
Иллюстративный пример. Представим учебный центр, который хочет понять, почему родители пишут недовольные сообщения. Первый проход модели по выборке предлагает темы: расписание, оплата, качество занятий, преподаватель, коммуникация с администрацией, домашние задания. После обсуждения с руководителем «преподаватель» и «качество занятий» решают не объединять — это разные зоны ответственности, — а «домашние задания» включают в «качество занятий». Каждая категория получает определение и примеры, и только после этого начинается разметка.
Инструкция модели и формат ответа
Инструкция для модели — это рабочий документ, а не фраза в чате. Она должна быть одинаковой для всех текстов, храниться под версией и меняться только осознанно, с повторным замером точности.
Что входит в инструкцию
- Роль и задача: что за тексты, откуда они, что нужно определить.
- Полный справочник категорий с определениями и пограничными случаями.
- Несколько примеров текстов с правильной разметкой, включая сложные.
- Правила для неясных случаев: когда ставить «другое», когда «не определено».
- Точный формат ответа: поля, допустимые значения, обязательность.
- Запрет придумывать значения: если в тексте нет филиала, поле остаётся пустым.
Строгий формат и проверка кодом
Требуйте ответ в строгом машиночитаемом формате — например, JSON с заданными полями — и проверяйте каждый ответ кодом: все ли поля на месте, входят ли значения в справочник, нет ли лишнего текста. Если модель вернула категорию, которой нет в справочнике, это ошибка, а не новая категория.
Неуверенность и «не знаю»
Дайте модели законный способ сказать «не могу определить». Без него она выберет ближайшую категорию, и неопределённость спрячется внутри цифр. Отдельный вариант — просить короткое обоснование или цитату из текста, на которой основана метка: это помогает при разборе ошибок, но само по себе не гарантирует правильности.
Персональные данные
Отзывы и звонки содержат имена, телефоны, адреса, номера карт. Перед отправкой текстов во внешний сервис проверьте, что это разрешено политикой компании и требованиями к защите персональных данных. Часто достаточно заменить телефоны, номера карт и адреса на метки до отправки — для классификации темы они не нужны.
Как замерить точность
Без замера точности вы не знаете, чему верите. Модель может уверенно и последовательно ошибаться в одной категории, и общий отчёт будет выглядеть правдоподобно. Замер — не разовое мероприятие перед запуском, а повторяемая процедура.
Контрольная выборка
- 01Отберите случайную выборку текстов, а не самые удобные или самые яркие примеры.
- 02Убедитесь, что в неё попали все каналы, языки и важные категории; для редких категорий доберите тексты отдельно и пометьте это.
- 03Разметьте выборку вручную по тому же справочнику, которым пользуется модель.
- 04Часть текстов отдайте двум разметчикам независимо и сравните их метки.
- 05Прогоните ту же выборку через модель с текущей инструкцией.
- 06Сравните ответы модели с ручной разметкой по каждому полю.
Какие метрики смотреть
Общая доля совпадений полезна, но может скрывать проблему. Если большинство отзывов положительные, модель, которая почти всё называет положительным, покажет высокий процент совпадений и при этом пропустит именно жалобы. Поэтому по каждой важной категории смотрят две вещи: точность — какая доля текстов, отнесённых моделью к категории, действительно к ней относится, — и полноту — какая доля текстов этой категории модель нашла.
Иллюстративный пример. Предположим, отчёт для службы качества строится вокруг жалоб на доставку. Если у модели высокая точность, но низкая полнота, в отчёт попадают только настоящие жалобы, но многие проходят мимо — проблема выглядит меньше, чем есть. Если наоборот, жалоб найдено много, но среди них немало посторонних — проблема выглядит больше. Какой перекос опаснее, зависит от решения, которое принимается по отчёту.
Согласие разметчиков
Если два человека часто расходятся в метке одного и того же текста, проблема не в модели, а в справочнике: категория размыта. Требовать от модели больше согласованности, чем есть между людьми, бессмысленно. Такие категории нужно переописать или объединить, и только потом снова замерять модель.
Разбор расхождений
Каждое расхождение между моделью и разметкой относится к одной из причин: ошибка модели, ошибка разметчика, размытая категория, текст, который в принципе нельзя однозначно разметить. Исправление разное: дополнить инструкцию примером, поправить разметку, переписать определение, добавить правило для неясных случаев. После любых изменений замер повторяется на той же выборке, чтобы сравнение было честным.
Звонки и переписки: свои особенности
Звонки: от аудио к тексту
Звонок сначала превращается в текст системой распознавания речи, и её ошибки наследуются дальше. Если распознавание путает названия продуктов, искажает числа или не различает, где говорит клиент, а где оператор, классификация будет ошибаться независимо от качества языковой модели. Поэтому качество расшифровки проверяют отдельно и раньше всего остального.
- 01Выберите несколько случайных звонков из разных филиалов и по разным темам.
- 02Прослушайте их и сравните с расшифровкой: названия, числа, имена, ключевые фразы.
- 03Проверьте разделение по говорящим: правильно ли помечено, кто клиент, а кто сотрудник.
- 04Отметьте типичные искажения и решите, критичны ли они для ваших категорий.
- 05Если искажения затрагивают ключевые слова, добавьте в инструкцию модели список возможных искажённых написаний или исправьте их на этапе обработки.
Для звонков особенно важно разделять реплики. Фраза «я хочу вернуть деньги», сказанная клиентом, и та же фраза в устах оператора, пересказывающего политику возврата, означают разное. Если разделения по говорящим нет, модель будет путать намерение клиента с речью сотрудника.
Переписки и мессенджеры
Переписки короткие, с опечатками, сокращениями, голосовыми сообщениями и смайликами вместо слов. Смысл часто распределён по нескольким сообщениям: клиент пишет «добрый день», затем «по поводу вчерашнего», затем фото и только потом суть. Поэтому классифицировать лучше весь диалог или его смысловой отрезок, а не отдельные реплики.
- Склеивайте сообщения одного диалога в хронологическом порядке с пометкой, кто пишет.
- Решите заранее, как поступать с голосовыми сообщениями: расшифровывать или исключать.
- Фото и файлы помечайте как вложение — модель без отдельной обработки их не видит.
- Длинные многодневные переписки разбивайте на эпизоды, иначе темы смешаются.
Узбекский, русский и смешанный язык
В Узбекистане клиенты пишут на узбекском латиницей и кириллицей, на русском и на смеси языков в одном сообщении. Одно и то же слово встречается в нескольких написаниях, апострофы в узбекских словах ставятся по-разному или пропускаются, русские слова пишутся латиницей. Для модели это разные строки, и то, как она справляется с таким разнообразием, нельзя предполагать заранее — это нужно проверять на своих текстах.
Качество понимания узбекского у разных моделей и систем распознавания речи может заметно отличаться от их качества на русском. Поэтому вывод «модель хорошо работает» допустим только отдельно по каждому языку и письменности, после замера.
Что проверить
- Включите в контрольную выборку тексты на всех языках, в обеих графиках и смешанные.
- Считайте точность отдельно по языку: средний результат может скрыть провал на одном из них.
- Проверьте, понимает ли модель местные названия, сокращения и разговорные формы, типичные для ваших клиентов.
- Отдельно проверьте распознавание речи на узбекских и смешанных звонках — это частое слабое место.
Как улучшить результат
- Добавьте в инструкцию примеры на узбекском латиницей, кириллицей и на смешанном языке для каждой категории.
- Просите модель возвращать категории на одном языке справочника, независимо от языка текста.
- Поле «язык текста» сделайте частью ответа — по нему потом удобно разбивать точность и отчёты.
- Если по какому-то языку точность заметно ниже, направляйте такие тексты на ручную проверку, пока ситуация не исправлена.
От таблицы к выводам
Размеченная таблица — это ещё не ответ. Дальше работают обычные инструменты аналитика: доля каждой темы по периодам, сравнение филиалов и каналов, связь тем с поведением клиентов. Главное правило — сравнивать доли, а не абсолютные числа: если обращений стало больше, потому что выросла клиентская база или открылся новый канал, это не обязательно ухудшение.
- Доли тем по периодам вместо абсолютных количеств.
- Разрезы по филиалам, каналам, продуктам и сотрудникам.
- Связь тем с поведением клиента: возвраты, отток, повторные покупки.
- Несколько реальных цитат к каждой ключевой цифре.
- Отдельный список новых тем, попавших в категорию «другое».
Цитаты важны дважды. Руководителю проще поверить в рост жалоб на доставку, когда он видит, что именно пишут клиенты. А аналитику цитаты помогают быстро заметить, если модель начала относить в категорию не те тексты. Цитаты выбирайте случайно, а не самые яркие, иначе картина исказится.
Рост категории «другое» — сигнал, что появилась новая тема, которой нет в справочнике. Его стоит регулярно пересматривать и обновлять справочник, сохраняя возможность сравнивать новые данные со старыми: при изменении справочника старые тексты либо переразмечаются, либо в отчёте явно отмечается граница версий.
Помните и о смещении самих данных. Отзывы оставляют не все клиенты, а чаще самые довольные и самые недовольные, поэтому выводы о всей клиентской базе стоит делать осторожно. Звонки и переписки в этом смысле полнее, но и они отражают только тех, кто решил обратиться.
Типичные ошибки и как их поймать
- Свободный анализ вместо таблицы. Признак: отчёт состоит из выводов модели, которые нельзя пересчитать. Как поймать: спросите, можно ли сравнить результат с прошлым месяцем; если нет — нужен справочник и фиксированные поля.
- Размытые категории. Признак: два разметчика часто расходятся. Как поймать: регулярно размечайте часть выборки вдвоём и разбирайте расхождения.
- Выдуманные значения при извлечении. Признак: филиал или продукт указан там, где в тексте его нет. Как поймать: в контрольной выборке отдельно проверяйте случаи, где поле должно быть пустым.
- Молча испорченные ответы. Признак: в таблице появляются категории вне справочника или пустые строки. Как поймать: проверка формата кодом и подсчёт отклонённых ответов в каждом прогоне.
- Ошибки распознавания речи, принятые за ошибки модели. Признак: модель ошибается на звонках заметно чаще, чем на переписках. Как поймать: прослушать несколько ошибочных звонков и сравнить с расшифровкой.
- Общая точность вместо точности по категориям и языкам. Признак: высокий общий процент при жалобах руководителей, что отчёт не совпадает с реальностью. Как поймать: считать точность и полноту по каждой важной категории и языку.
- Изменение инструкции без повторного замера. Признак: после правки резко изменились доли тем. Как поймать: хранить версии инструкции и прогонять контрольную выборку после каждой правки.
- Абсолютные числа вместо долей. Признак: «жалоб стало больше» при росте общего числа обращений. Как поймать: всегда показывать знаменатель.
Чек-лист проекта
- 01Сформулировано решение, которое принимается по результатам анализа.
- 02Выбран подход: правила, языковая модель, классификатор или их комбинация — с обоснованием.
- 03Справочник категорий с определениями, примерами и пограничными случаями согласован с бизнесом.
- 04Решено, одна метка у текста или несколько, и как задаётся тональность по темам.
- 05Инструкция модели хранится под версией и содержит примеры, включая узбекские и смешанные.
- 06Модель отвечает в строгом формате, формат проверяется кодом, оборванные ответы отлавливаются.
- 07У модели есть законный вариант «не могу определить».
- 08Персональные данные обезличены до отправки, если этого требует политика.
- 09Есть случайная контрольная выборка, размеченная вручную, часть — двумя разметчиками.
- 10Точность и полнота считаются по каждой важной категории и каждому языку.
- 11Качество расшифровки звонков и разделение по говорящим проверены отдельно.
- 12Отчёт показывает доли, а не только количества, и сопровождается случайными цитатами.
- 13Категория «другое» регулярно пересматривается, изменения справочника фиксируются версиями.
- 14Замер повторяется при каждом изменении инструкции, справочника или модели.
Термины
- Классификация — отнесение текста к категории из заданного списка.
- Извлечение — получение из текста конкретных значений: продукта, суммы, даты, филиала.
- Справочник категорий — согласованный список категорий с определениями и примерами.
- Контрольная выборка — тексты, размеченные людьми, на которых проверяется модель.
- Точность — доля текстов, отнесённых моделью к категории, которые действительно к ней относятся.
- Полнота — доля текстов категории, которые модель смогла найти.
- Согласие разметчиков — насколько часто два человека независимо ставят одну и ту же метку.
- Разделение по говорящим — пометка в расшифровке звонка, кому принадлежит каждая реплика.
Итог
ИИ позволяет регулярно читать все отзывы, звонки и переписки, а не выборочно. Но ценность появляется только тогда, когда текст превращается в таблицу по согласованному справочнику, ответ модели проверяется кодом, а точность измерена на своих данных — по каждой категории, каждому языку и с учётом качества распознавания речи. Начните с одного бизнес-вопроса и небольшого справочника, доведите замер до устойчивого результата и только потом расширяйте охват.
Частые вопросы
Только после замера на вручную размеченной выборке. Смотрите точность и полноту по каждой категории отдельно, особенно по отрицательным отзывам.
Достаточно, чтобы в выборку попали все важные категории и языки в заметном количестве. Обычно начинают с нескольких сотен случайно отобранных текстов и добирают редкие категории отдельно.
Это зависит от модели и от того, как пишут ваши клиенты: латиница, кириллица, смешанный язык. Точность по узбекским и смешанным текстам нужно замерять отдельно на своих данных.
Классификация относит текст к категории из заданного списка, а извлечение достаёт из текста конкретные значения: продукт, сумму, дату, филиал.
Когда категория надёжно определяется по ключевым словам или шаблону, например по номеру заказа или названию продукта. Правила прозрачны и не меняются без вашего ведома.
Часто дело не в языковой модели, а в распознавании речи: искажённые слова и неразделённые реплики клиента и оператора. Качество расшифровки нужно проверять отдельно.