Для лекции используйте файл Comments.xlsx (необходимо распаковать).
Интеграция текстовых данных в модель классификации
Переходим к модели классификации, которая была первой в нашем курсе. Теперь мы интегрируем в неё анализ текста. Люди общаются словами, а не цифрами, поэтому крайне важно уметь обрабатывать текстовую информацию. В комментариях, отзывах и диалогах скрыт огромный объём сведений, которые машина напрямую не понимает — она оперирует лишь нулями и единицами. Следовательно, требуется принцип кодирования и анализа текста. Текст даёт ответ на вопрос «почему», раскрывая мотивацию и смысловую нагрузку. Цифры — это лишь зафиксированный итог, а причинно-следственные связи и мотивационная составляющая хранятся именно в тексте.
Мы решаем исходную задачу прогнозирования оттока клиентов, добавив расшифровки их общения с колл-центром. По содержанию разговора можно понять, почему клиент решил уйти. Если мы сможем предвосхитить уход прямо во время звонка, то оператор успеет не только решить проблему, но и сделать дополнительное предложение, удерживающее абонента. Неструктурированная информация становится дополнительным фактором, повышающим точность предсказания.
Структура готового потока
Открываем заранее собранный поток в SPSS Modeler. Исправляем пути к файлам, чтобы они соответствовали текущему окружению. Используются два источника данных.
• Customers — таблица с демографическими характеристиками, детализацией междугородних, международных и локальных звонков, способом оплаты и признаком оттока (покинул клиент компанию или нет). Это те же данные, с которыми мы работали ранее в базовой модели оттока.
• Comments — лог звонков, содержащий идентификатор клиента и текстовый комментарий, резюмирующий суть обращения (причина звонка, что не получалось сделать). Предполагается, что распознавание голоса и извлечение смысла уже выполнены отдельным процессом, который мы сейчас не рассматриваем.
Слияние источников
Узел
Merge (слияние) объединяет две таблицы по общему полю идентификатора клиента. После склейки каждый клиент получает свой комментарий (или несколько комментариев).
Текстовая аналитика и формирование признаков
Далее работает модуль
Text Analytics (текстовый анализатор). Он анализирует все комментарии и автоматически выделяет тематические категории: качество покрытия, работа батареи, выставление счетов, качество звонков, автомобиль, зарядка и другие. Комментарий, как правило, может относиться сразу к нескольким темам.
Результат работы модуля —
транзакционная булева матрица. Для каждой строки исходных данных генерируются логические поля с префиксом категории. Значение
T (True, истина) означает, что комментарий принадлежит данной категории,
F (False, ложь) — не принадлежит. Таким образом исходный набор данных пополняется набором бинарных признаков, отражающих содержание текста.
Обучение модели и сравнение точности
К расширенному набору данных применяется
дерево решений C5.0 — то же, что использовалось ранее, но теперь с дополнительными текстовыми признаками. Модель предсказывает, покинет ли клиент компанию.
Результаты сравнения:
• Базовая модель без текстовых полей показала точность около
92%.
• Модель, обогащённая категориями комментариев, достигла примерно
95%, то есть прирост составил
3 процентных пункта.
Примечательно, что на самой первой итерации мы использовали алгоритм
C&R Tree (Classification and Regression Tree, дерево классификации и регрессии), и точность составляла около 80–82%. Простой переход на C5.0 принёс порядка 10 процентных пунктов улучшения. А когда к высокоточной модели
C5.0 добавили текстовые факторы, получили дополнительные 3%. На уровне выше 90% каждый процент даётся с большим трудом, и даже такое увеличение является ценным.
В моделях с изначально невысокой точностью выигрыш от анализа текста может быть ещё более ощутимым.
Общий взгляд на поток
Функциональных узлов, выполняющих содержательную обработку, всего пять: два источника, слияние, текстовый анализатор и дерево решений. Остальные узлы служат для загрузки и просмотра результатов. Такая лаконичная архитектура позволяет строить расширенный анализ и получать значимый бизнес-результат.
Краткие итоги
Построение предсказательной модели оттока традиционно опирается на структурированные показатели — демографию, транзакционную активность, параметры тарифа. Эти данные позволяют ответить, кто уйдёт и с какой вероятностью, но практически не раскрывают мотивацию. Реальные причины — недовольство качеством связи, проблемы с биллингом или ограниченное покрытие — артикулируются клиентами в разговорах с колл-центром. Именно там содержится объяснительная, смысловая составляющая, без которой любая модель остаётся лишь констатацией фактов.
Интеграция текстовых расшифровок в предиктивный контур принципиально меняет аналитику. Сначала выполняется слияние клиентских профилей с логами обращений по уникальному идентификатору. Затем вступает в дело модуль Text Analytics — он извлекает из неструктурированных записей тематические категории, превращая сырой текст в формализованные бинарные признаки: «жалоба на покрытие», «претензия к батарее», «проблемы со счетами» и так далее. Полученная транзакционная матрица подаётся на вход дереву решений C5.0 вместе с прежними предикторами.
Эффект от добавления текстовых факторов оценивается приростом точности. В рассматриваемом примере базовая модель C5.0 достигала 92% правильных предсказаний, а после обогащения — 95%. Подъём на три процентных пункта в области высоких значений — нетривиальный результат, особенно с учётом риска переобучения. При этом архитектура потока остаётся простой: буквально несколько функциональных узлов, что упрощает воспроизведение и масштабирование.
Практическая ценность подхода выходит за рамки абстрактного улучшения метрик. Зная конкретную категорию претензии, оператор колл-центра получает возможность реагировать проактивно: устранить причину недовольства и точечно предложить компенсацию или дополнительную услугу. Так прогнозная модель превращается в инструмент удержания, работающий в реальном времени. Переход от констатации «клиент уйдёт» к пониманию «почему он уйдёт» и своевременному вмешательству — ключевой сдвиг, обеспечивающий возврат инвестиций в аналитику текста.
1. Текстовые данные колл-центра содержат мотивационную основу поведения клиентов и отвечают на вопрос «почему», а не только «что» произойдёт.
2. Интеграция расшифровок обращений в модель классификации напрямую повышает точность предсказания оттока.
3. Слияние (Merge) таблиц по идентификатору клиента — обязательный шаг для сопоставления структурированных и неструктурированных сведений.
4. Модуль Text Analytics автоматически выделяет тематические категории и преобразует комментарии в транзакционную булеву матрицу.
5. Один комментарий может относиться к нескольким категориям одновременно, что отражается набором логических полей.
6. Замена C&R Tree на C5.0 способна дать кратный прирост точности даже без использования текстовых данных.
7. Добавление текстовых признаков к уже сильному классификатору (C5.0) обеспечивает дополнительный выигрыш в точности на уровне нескольких процентных пунктов.
8. При базовой точности выше 90% каждый дополнительный процент даётся с трудом и представляет особую ценность.
9. Простота потока (всего пять функциональных узлов) демонстрирует, что продвинутый текстовый анализ не требует чрезмерного усложнения архитектуры.
10. Категоризация претензий позволяет оператору проактивно удерживать клиента, предлагая точечное решение проблемы во время звонка.
11. Модель, понимающая причины ухода, становится инструментом реального времени, а не просто отчётом post factum.
12. В моделях с исходно невысокой точностью вклад текстовой аналитики может быть ещё более значительным.
1. Какую дополнительную информацию привносит текст комментариев по сравнению со структурированными признаками?
2. Каким образом узел Merge обеспечивает объединение клиентских профилей и текстовых расшифровок?
3. Что представляет собой транзакционная булева матрица на выходе Text Analytics?
4. Почему один и тот же комментарий может активировать сразу несколько тематических категорий?
5. Чем обусловлен выбор дерева C5.0 вместо C&R Tree в финальной итерации?
6. Почему добавление текстовых факторов дало прирост точности именно на 3 процентных пункта, а не больше?
7. Каков риск переобучения при введении большого числа бинарных текстовых признаков?
8. Как оператор колл-центра может использовать результаты модели в момент диалога с клиентом?
9. В чем практическая разница между предсказанием факта оттока и выявлением его причины?
10. Какие шаги необходимы для подготовки сырого текста к использованию в классификаторе?
11. Как изменится прирост точности при включении текста в модель с исходно низкими метриками?
12. Почему высокая базовая точность усложняет дальнейшее улучшение модели?