Основные направления работы Big Data МегаФона и задачи на графах

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Привет, меня зовут Рома Васильев, я Data Scientist в компании МегаФон. Здесь я и решил поделиться здесь своим докладом с  Zero Day ICPC.

Слово о компании я опущу, скажу только, что сегодня МегаФон — это клиентская база, в которой более 75,2миллионов пользователей, 40 тысяч сотрудников и цифровая экосистема сервисов: МегаФон ТВ, МегаФон Музыка, МегаФон Банк, МегаФон Книги и т. д.

Подходы аналитики больших данных в компании внедряются повсеместно. Пробежимся по основным стримам работы.

·         Customer profile — мы выделяем интересы и потребности абонентов и стараемся строить свои продукты на их основе.

·         Development & Retention — персонализируем все, что только можно — как продукты, которые предлагаем абонентам, так и каналы и способы коммуникации с абонентом для увеличения NPS и LTV.

·         Geo — МегаФон обладает большим количеством анонимизированных геоданных, на основе которых можно строить крутые сервисы – к примеру, проект footprint, который предсказывает клиентопоток в той или иной локации, чтобы понять, где открыть новый салон ритейла.

·         Retail — как я уже и говорил, количество салонов МФ Ритейл постоянно растет, и мы строим различные модели по управлению закупками, ценами, предсказанию спроса и клиентопотока салонов.

·         Infrastructure — задачи, связанные непосредственно с задачами телекома. Например, с помощью машинного обучения определяем, где поставить новую вышку связи.

·         CVM B2X — работаем не только напрямую с клиентами, но и генерируем персональные предложения для бизнес-клиентов.

·         Affiliated companies — помогаем строить крутые модели для дочерних компаний, основываясь на своем большом опыте.

·         Data services — мы, как оператор, никогда данные не продавали и продавать не будем, наш подход – разработка дата-сервисов, которые помогают бизнесу решать конкретные задачи в маркетинге, управлении рисками, развитии городской инфраструктуры, развитии туризма в регионе и т.п.

·         Strategy and Marketing — выделяем тренды в клиентской базе, помогаем оптимизировать затраты на маркетинг в разных каналах.

·         BigData, Enablers — активно развиваем внутреннюю BigData инфраструктуру — создаем много различных tool-ов, которые сокращают time-to-market моделей — NBA, Real Time Marketing и т.д.

Кроме того, в компании активно развивается R&D направление — любой сотрудник может прийти к руководству и предложить попробовать применить принципиально новые подходы в тех или иных направлениях.

Если после обсуждения мы понимаем, что применение этого подхода позволит получить приросты бизнес-метрик, то проект берется в работу. Одной из задач, которая зарождалась в R&D и сейчас полноценно развивается, — использование графовой информации в моделях. Задача изначально подавала большие надежды. Мы считали, что добавление графовой информации в имеющиеся модели позволит получить инкременты в их качестве. Забегая вперед, скажу, что так и получилось. Но поговорим теперь о самом графе и решениях, которые мы на нём строили.

Что же такое граф коммуникаций?

Это граф, в котором вершины — абоненты, а ребра — коммуникации между ними.

Наш граф состоит из 75,2 млн вершин, где каждая имеет в среднем порядка 10 ребер.  Он постоянно меняется вместе с тем, как появляются и исчезают связи между людьми. Кроме этого каждый абонент сам по себе может быть описан множеством характеристик, которые также можно использовать. Таким образом, размер и непрерывная эволюция графа накладывают жесткие требования на используемые методы при решении задач.

Самыми частыми типа задач, которые решаются в телекоме, являются задачи классификации и их кластеризации. Эти же задачи можно решать и с помощью только лишь графовой информации.  Но наиболее сильные модели получаются если использовать как уже привычное признаковое описание абонента, которое состоит из порядка 1000 признаков, так и графовую информацию, которую можно представить в виде эмбедингов.

Что же такое эмбединг?

В машинном обучении под этим термином как правило понимают векторное представление сущностей — слов, изображений, картинок, которое бы переносило логику их сравнений в векторное пространство. Тут точно так же — мы хотим каждую вершину графа (то есть каждого абонента) представить в виде вектора так, чтобы эти векторы переносили информацию о положении абонента в графе коммуникаций (к примеру, чтобы расстояние между находящимися рядом вершинами было маленьким, а находящимися далеко — большим). Затем эти векторы добавляем в модели машинного обучения для повышения их качества.

Как же строить эмбединги?

Основными проблемами при обработке графов являются их масштабы и изменчивость. К примеру, если попытаться использовать классические модели машинного обучения, то непонятно, как этот граф в модель, собственно, подать. Поэтому для обработки графов очень часто используются специальные Graph Convolution Networks, которые переносят логику сверток из изображений в графы. Метод позволяет строить эмбединги вершин, основываясь в большинстве своем на локальной структуре графа — для каждой вершины нужно агрегировать информацию ее соседей перед подачей в модель.

Одним из самых крутых, на наш взгляд, Open Sourse решений в этой области является метод GraphSAGE, который был представлен группой из Cтенфорда в 2017 году. Он порядком расширяет функционал GCN за счет введения новых функций агрегации. На слайде вы можете видеть схему расчета эмбединга для вершины С.

На первом этапе вектора соседей исследуемой вершины агрегируются некоторым методом (в простейшем случае — усредняются).  После чего получившийся вектор подается на вход некоторому алгоритму, который оптимизирует его так, чтобы расстояние между находящимися рядом вершинами было как можно меньше, а между вершинами, располагающимися далеко — как можно больше. 

Агрегировать информацию теоретически можно на сколько угодно слоев, но на практике, как правило, используется не больше двух-трех. Таким образом описанная структура позволяет распространять графовую информацию по соседям. Кроме того, этот метод позволяет успевать строить эмбединги для вновь приходящих абонентов — ведь модель применяется на уровне вершины, а не на уровне всего графа.

Еще одним несомненным преимуществом описанного подхода является то, что расчеты можно грамотно переиспользовать. К примеру, если мы уже посчитали эмбединг глубины 2 для вершин A, B и C, то при расчете эмбедингов для вершин D, E и F мы сможем использовать компоненты предыдущих расчетов, что в наших масштабах значительно увеличивает время работы алгоритма. 

После ряда тестирований мы смогли сделать вывод о том, что добавление эмбедингов в некоторые модели действительно позволяют повысить их качество, что, в свою очередь, позволяет нам получить значимый business-value — прирост LTV, NPS абонентов и еще ряда характеристик. Проект считается успешным, и сейчас мы всячески его развиваем: исследуем новые подходы и применения для обработки графовой информации.

Спасибо за внимание J

Источник: https://habr.com/ru/company/megafon/blog/527568/


Интересные статьи

Интересные статьи

Data Science требует использования статистических методов и алгоритмов машинного обучения для работы с большим объёмом данных, и для того чтобы делать это эффективно, вам потребуется мног...
Раньше при старте автоматизации ставились цели и сроки завершения работ по автоматизации. С некоторых пор у автоматизации нет ни начала ни конца. Конечно, Индустрия 4.0 — это марке...
Пополнить базу собственными задачами может любой желающий, а на свой сайт встроить Kiddo не сложнее, чем плеер YouTube. Об идее детской образовательной площадки и ее реализации во...
В этой статье мы рассмотрим, как система управления 1С-Битрикс справляется с большими нагрузками. Данный вопрос особенно актуален сегодня, когда электронная торговля начинает конкурировать по обороту ...
Хочу поделиться некоторыми впечатлениями о нужности или ненужности такой вещи, как контрольная панель для коммерческого односерверного веб-проекта при наличии очень part time админа. История нача...