Применение машинного обучения к геолокации профилей Instagram

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

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

ПРИМЕР ИСПОЛЬЗОВАНИЯ: ГЕОЛОКАЦИЯ

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

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

МЕТОДОЛОГИЯ

Из многих пользователей Instagram только небольшая часть указала свое местоположение; только 0,4% всех пользователей предоставляют эту информацию.

Учитывая общий размер нашей базы данных, это означает, что доступно более 2 миллионов профилей, которые можно использовать в качестве обучающих данных для модели машинного обучения. На практике не все доступные данные необходимы для обучения. Небольшого подмножества из 140 000 будет достаточно для целей нахождения связи между доступными входными данными и желаемыми выходными данными (местоположением). Входными данными являются текст в профиле, а также 5 последних подписей. Для проверки точности этих результатов выделяется проверочный набор из 30 000, который используется для оценки того, насколько хорошо модель работает с данными, с которыми она не сталкивалась на этапе обучения.

МОДЕЛЬ

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

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

Взяв данные Левши, мы затем обучаем урезанную версию модели BERT (производительность сохраняется только с тремя из двенадцати исходных модулей Transformer) и токенизируем наши входные предложения с помощью словаря, дополненного смайликами, связанными с местоположением: [📍, 🏠 , 🇫🇷, 🇯🇵, 🇨🇦 и др.].

Всего после трех эпох обучения на наших обучающих данных для задачи геолокации веса будут точно настроены для оптимальной работы для нашего варианта использования. Вложения передаются на полностью подключенный слой нейронной сети и, наконец, в функцию softmax, которая сопоставляет их с одной из возможных выходных категорий (36 конкретных стран и 1 универсальная категория ДРУГИЕ).

РЕЗУЛЬТАТЫ

На 36 странах, представляющих интерес для нашей задачи, итоговая точность модели близка к 90%. Однако оценки точности могут вводить в заблуждение в случае нашей задачи геолокации. Основная причина в том, что у нас несбалансированные классы, где большинство пользователей принадлежат к небольшому набору стран (например, США, Бразилия, Россия). Модель, предсказывающая результаты в этих доминирующих классах, будет хорошо работать на общем наборе данных за счет более мелких стран. Поскольку пользователи из 12 наиболее представленных стран составляют две трети базы данных, общая точность может быть высокой, даже если прогнозы для меньших классов плохие. Нам нужно будет посмотреть, насколько хорошо работает каждый класс в отдельности.

Метрики, которые мы используем для оценки эффективности каждого класса, — это точность и отзыв. Точность — это процент верных прогнозов для этого класса (например, сколько влиятельных лиц, помеченных как «ИСПАНИЯ», на самом деле являются испанцами?), а отзыв — это процент членов класса, которые помечены правильно (какой процент настоящих испанцев получил этикетка ИСПАНИЯ).

При взгляде на первоначальные результаты стало ясно, что не все классы показали себя одинаково хорошо.

Однако можно было взять только те ярлыки, в которых мы были наиболее уверены (в верхних 3% достоверности), и проигнорировать остальные, поместив их в категорию неопределенно. Как правило, это были либо влиятельные лица, которые говорили по-английски и не упоминали свое местоположение в своих сообщениях, либо, альтернативно, влиятельные лица, которые явно упоминали несколько разных мест и оставляли неясным, к какому из них они принадлежали.

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

Таким образом, общая точность снижается, чтобы поддерживать стандарт не менее 90% точности для пользователей, добавленных в каждую страну.

ОБСУЖДЕНИЕ

  • Текущая модель легко адаптируется к дополнительным классам. Неофициальная проверка показывает, что добавление большинства оставшихся стран должно быть осуществимым без существенной потери общей точности или точности для каждого класса.
  • Новые модели трансформеров становятся все более доступными, и их следует изучить в качестве альтернативы используемой в настоящее время модели bert-multilingual-base. Необходимо найти компромисс между более высокой производительностью более крупных моделей и вычислительной эффективностью меньших, более эффективных моделей.
  • Текущее встраивание текста должно оказаться полезным для других задач НЛП, связанных с маркетингом влияния. Будущие дополнения к платформе должны опираться на одно изученное встраивание текста, которое может быть передано нескольким классификаторам для различных задач в интересах экономии времени и памяти.

ИСПОЛЬЗОВАННАЯ ЛИТЕРАТУРА

Внимание — это все, что вам нужно; Васвани и др. 2017.

BERT: предварительное обучение глубоких двунаправленных преобразователей для понимания языка; Девлин и др. 2018.

Трансформеры HuggingFace: современная обработка естественного языка; Вольф и др. 2019.