Привет! Меня зовут Катя, и я отвечаю за PR проектного офиса big data в Tele2. Не спешите переключаться после этих слов: я постаралась разобраться в том, как коллеги разработали инструмент для анализа обратной связи от абонентов. В компании есть показатель NPS bottom Up. В рамках исследования мы задаем пользователю вопросы конкретно по точке контакта, например, о мобильном интернете. Упрощенно методика исследования такая: человек отвечает на закрытые вопросы об услуге и может заполнить поле “свободный комментарий”. В последнем пункте и содержится всё самое интересное, но неподъемное для анализа ручками.
Кейс со стороны customer experience management
Юлиан Ван
Старший менеджер по аналитике показателей клиентского опыта. Контролирует и анализирует целевой показатель клиентского опыта — NPS. Отвечает за исследование удовлетворённости клиентов в ключевых точках контакта
За 2021 год мы получили 230 тыс. мнений в свободной форме. Ранее анализировать их мы могли только вручную, это было долго, и вероятность найти инсайт при чтении всех комментариев подряд практически сводилась к нулю. Мы не оставляли их без надзора, но и систематической работы с ними не было.
Мы привыкли думать, что у нас несколько категорий, например, показатели качества мобильного интернета, тарифы и сопутствующие категории. В итоге мы пришли к тому, что, собирая обратную связь по заранее сформулированным критериям, мы подталкиваем клиента к ответу, который не полностью совпадает с его оценкой. Он может видеть свой запрос иначе. Мы пришли к тому, что обращения в свободной форме пора кластеризовать и оценить: соответствует наше понимание категорий и тех вопросов, что мы задаем, реальному сообщению клиента. С этим запросом мы пришли в big data.
Решение со стороны BDO
Андрей Лаврентьев
Старший эксперт по исследованию больших данных. Разрабатывает, внедряет и сопровождает модели машинного обучения
Нам предоставили всю необходимую информацию: базу данных, в ней были все обращения за 2021 год, разметка обучающей выборки — правильно поставленный кластер на небольшой части данных, а также то, как коллеги определяют тему текста, в какой кластер его стоит отнести.
Цель: построить инструмент, который сортировал бы обращения и разносил бы их по предложенным классам.
1 шаг: я посмотрел на данные, очистил их. Где-то были одинаково названы классы. Например, “мобильный интернет” и “Мобильный интернет” — разница в одной заглавной букве, но модель читала бы их по-разному. Все слова во время чистки приводятся к нижнему регистру, все глаголы в форму инфинитива: гулял → гулять. Смысловое значение для человека понятно и не меняется от формы слова, а для анализа данных нужно единообразие.
2 шаг: мы тестировали модели KNN (метод k-ближайших соседей), SGD (стохастический градиентный спуск), модель логистической регрессии. Также испробовали разные варианты предобработки текста. Это стемминг (нахождение основы слова), лемматизация (процесс приведения словоформы к лемме — её нормальной форме) и несколько вариантов создания признаков: генерация эмбеддингов (числовых векторов) с помощью fastText, а также алгоритма TF-IDF (TF — term frequency, IDF — inverse document frequency). Он оценивает важность слова в контексте документа, который входит в часть коллекции документов или корпуса.
3 шаг: при создании признаков остановились на варианте алгоритма TF-IDF: он присваивает число словам в зависимости от значимости смысловой нагрузки: “или” встречается в каждом тексте, но не имеет содержания. Алгоритм TF-IDF формировал признаки принадлежности к кластеру, анализируя не только слова, но и пары из слов, которые шли друг за дружкой.
4 шаг: получилось около 30 тысяч признаков. К ним я добавил еще некоторое количество от себя, длину обращения, также NPS, который ставил клиент в значении от 1 до 10. В итоге получился большой пул признаков.
5 шаг: полный пул я подал в линейную модель логистической регрессии. Она проставляет каждому из 30 тыс. признаков определенный коэффициент, а потом все 30 тыс. на них умножает, складывает их и берёт от всего этого логистическую функцию. В зависимости от получившегося числа модель выдает вероятность того, к какому классу какое обращение отнести. Качество покрытия — первый класс, мобильный интернет — второй класс…
6 шаг: дальше я разбил 12 основных классов на “микроклассы” по той обратной связи, что дали коллеги из CEM, для глубины итогового анализа. Для этого я построил отдельные модели для каждого из кластеров обращений. В итоговой версии они разбиты на более узкие категории, например, абонентская служба: вежливость, работа персонала, салоны, дозвон на 611/636.
И что дальше?
Теперь мы видим не только динамику NPS — модель от big data формирует дашборд, где свободные комментарии сгруппированы по категориям. Коллеги из CEM могут выбрать одну из них и прочитать, что именно сказали клиенты, проанализировать, какими были комментарии в прошлом году. Коллеги выделяют и анализируют поведенческие паттерны в рамках периода на конкретной территории. Следом коллеги работают с соответствующим подразделением, чтобы развить мысль, найти решение, которое поможет закрыть потребность клиентов.
А что это для клиента?
Мы более объективно оцениваем клиентский путь, видим по обратной связи, где сделать его проще
Знаем, что беспокоит и вызывает вопросы у разных поколений абонентов
Инструмент делает наш контакт с клиентом более качественным, на основе анализа видны инсайты
Комментарии (11)
AnGord
26.08.2022 16:37+5Да, я заметил качество общения вашей ТП - никакой разницы между ботом и живым сотрудником, одинаково бесполезны и те и эти.
WondeRu
26.08.2022 17:07+1Все мои диалоги в чатах поддержки последние пару лет:
-здравствуйте, чем вам помочь?
-оператор, специалист, живой человек
* к вам подключается оператор
TVExpert
29.08.2022 09:52По моей статистике, примерно 50/50, точнее есть времена, когда до живого сотрудника не пробиться никак.
А может повезти (редко) что с первого раза.
В общем почти как в анекдоте про статистику встречи с динозавром :)
sunsexsurf
26.08.2022 17:17+1Давайте немного по сути. В качестве модели вы выбрали логрег. Вопрос: что будете делать с мультиклассовыми запросами? TF-IDF ничего не скажет о семантике вопроса, что будете делать с этим?
Вообще, подход для такой компании в 2022 году крайне странный. Ощущение, что вам стоит написать новую модель на БЕРТе, это даст огромный прирост в «понимаемости» запроса пользователя.
ruslaniv
27.08.2022 09:40Я так понял у вас явно древовидная иерархическая структура лейблов, зачем в таком случае предсказывать лэйблы 1-го уровня, если можно сразу предсказать лист не важно какого уровня в котором уже будет содержаться информация о пути от корня до данного листа?
Если модель неправильно предскажет лейбл 1-го уровня, то при обучении на "микроклассах" более низких уровней, модель обучится на ложных данных.
Мы тоже делаем что-то сильно похожее и из моделей МЛ наиболее высокую точность показал метод опорных векторов, гораздо выше логистической регрессии. Сейчас экспериментирую с НС и думаю что окончательным вариантом будет что-то на трансформерах.
edyanakov
27.08.2022 11:11Обязательно попробуйте берт - всё таки сейчас sota в nlp.
При иерархической структуре лейблов попробуйте специальный лосс - https://github.com/Ugenteraan/Deep_Hierarchical_Classification.
С каким качество работает логрег?
TVExpert
Не буду постить скриншоты "общения" с вашей "поддержкой", ибо будет похоже на разговор с умственно отсталым персонажем, которого на любой непонятный вопрос научили отвечать обтекаемо.
(хотя могли бы обеспечить переключение на живого оператора).
Похоже что после оптимизации/реорганизации (или что там у вас произошло за последнее время?), компания "забила" на необходимость наличия живых сотрудников для общения с клиентами.
И примерно из того же направления - зачем запускать предложение/сервис по "фильтрации нежелательных звонков" (спам/мошенники и т.п.), если он не работает? И нет реально рабочей БД.
А вот у конкурентов по рынку есть, и работает довольно таки неплохо (сужу по служебному тлф. с таким подключенным сервисом).
P.S.
Жаль, что вас не миновала участь "оптимизации", и из довольно таки толковой компании (в регионе Мск+М.О. точно), вы "ударными темпами" становитесь бякой (?)
pvsur
Угу, настолько хорошо работает, что наши клиенты, переадресованные на мобильники менеджеров, попадают на антиспам-ботов. Сдали ТТ оператору - четвертый день ждём, пока "на сети сопряженного оператора ведутся работы по устранению" :(
TVExpert
А вот давно "зудит" мысль/вопрос - в связи с "модой" на мусорные/спам звонки, понятно что кто-то продвинутый использует подмену номеров, кто-то левую SIM карту (выбросить не жалко).
Но ведь БД по тлф. номерам с запятнанной репутацией растёт...
Что именно делают операторы, с целью исключить ситуацию, что покупает условное физ.лицо (или организация) некую SIMку, а никто по привязанному к ней номеру не может прозвониться, ибо такую комбинацию цифр использовали "специализдыСБ*банка".