Обзор проекта Hack Day Winning Project 2018

Авторы: Хуа Ван, Цзинмэй Чжао и Сюлан Ши

Введение

В iHeartRadio мы высоко ценим использование данных для выявления бизнес-идей. Мы ежедневно интегрируем данные истории прослушивания от более чем 100 миллионов пользователей и музыкальные метаданные для более чем 30 миллионов треков в наше хранилище данных. Тем не менее, интересующие показатели KPI могут быть трудными для определения и количественной оценки. Например, допродажи и размещение рекламы - это две стратегии монетизации, которые могут помешать стримингу пользователя. Трудно создать и измерить KPI, чтобы сбалансировать две стратегии, при этом обеспечивая качественный потоковый сервис. Следовательно, нам нужно научное решение, чтобы определить, какую часть каждой стратегии мы должны внедрить в наши продукты.

На мероприятии Hack Day 2018 на iHeartRadio мы выиграли главный приз, проанализировав настроения в отзывах клиентов. Анализ настроений ¹ - мощный инструмент для выявления, извлечения и количественной оценки субъективной информации с помощью обработки естественного языка ².

Почему так важен анализ настроений

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

Как мы это сделали

Во время зимнего Hack Day 2018 мы реализовали анализ настроений, чтобы связать отзывы клиентов с бизнес-информацией. В течение 24 часов мы собрали отзывы клиентов из магазина приложений, загрузили их в S3 для хранения, обработали данные с помощью Hadoop, выполнили анализ настроений с помощью IBM AlchemyAPI и загрузили результаты в Excel для визуализации, как показано на рис.1.

Сбор данных

Мы собрали отзывы покупателей из магазина Google Play за 2017 год в формате CSV. Необработанный набор данных состоял из десятков тысяч отзывов, которые содержали дату обзора, исходный текст обзора и т. Д. Мы загрузили их в облачное хранилище AWS S3, а затем создали таблицы Hive поверх данных S3 для запросов.

Очистка данных

В этом разделе мы очистили и переформатировали исходный набор данных. Во-первых, мы очистили данные, преобразовав текст в нижний регистр и удалив небуквенные и неанглийские символы. Затем мы переформатировали данные с помощью подхода «разделяй и властвуй», сгруппировав отзывы клиентов по интересующим темам и разбив каждую тему на фрагменты по заданному временному диапазону (например, еженедельно). Каждый фрагмент содержал тысячи отзывов пользователей, которые мы затем объединили в текстовые фрагменты. Наконец, мы загрузили эти фрагменты в облачное хранилище (AWS S3) для дальнейшего анализа.

Обработка данных

На этом этапе мы передали извлеченные отзывы клиентов в AlchemyLanguage ² (в настоящее время известное как Natural Language Understanding), которое поддерживает такие языки программирования, как Node, Java, curl и Python. Служба API ³ возвращает живые ответы, содержащие оценку настроения, эмоции и ключевые слова в формате Json.

Мы написали сценарий оболочки для загрузки в память фрагментов данных отзывов клиентов. Следует отметить, что здесь были сгруппированы данные фрагментов, а затем обзоры были объединены. POST-запрос AlchemyLanguage допускает ограничение размера тела до 10 КБ символов, поэтому мы разбили данные на части с соблюдением ограничения. Мы сделали запросы POST для получения семантических функций из API AlchemyLanguage с помощью curl (см. Подробности запроса ниже). Получив данные о настроениях, мы проанализировали данные функций и записали их обратно в облачное хранилище.

Анализ и визуализация данных

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

Рекомендации по анализу настроений

Это ключ к пониманию тенденций в эмоциональной динамике и преобразованию их в бизнес-идеи. Вот рекомендации, которым мы следовали во время анализа.

Основная услуга и дополнительная услуга

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

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

Полярность настроений и оценка настроения

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

Задержка настроения и чрезвычайная ситуация

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

Будущая работа

Поскольку проект hack day был хорошо принят, следующим шагом будет предоставление полного доступа к информации для всех отделов - инженеров, продуктов, групп обслуживания клиентов и т.д. , из социальных сетей, магазинов приложений, опросов клиентов и т. д. Мы также хотели бы изучить более сложные инструменты анализа и визуализации данных, например. Adobe, Looker или Tableau.

Ссылки:

  1. Https://en.wikipedia.org/wiki/Sentiment_analysis
  2. «Https://www.ibm.com/watson/services/natural-language-understanding/ Ана
  3. Https://www.ibm.com/watson/developercloud/natural-language-understanding/api/v1/