Анализ настроений

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

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

Команда Data Scientist в Jellysmack работала над алгоритмом для анализа комментариев, оставленных зрителями, чтобы автоматически определять, является ли отзыв положительным или отрицательным, и соответствующим образом классифицировать видео. Это известно как анализ настроений, который является чрезвычайно сложной задачей из-за нюансов и гибкости естественных языков, таких как английский. Существует подобласть информатики и искусственного интеллекта, которая занимается обработкой естественного языка, она называется обработкой естественного языка (NLP).

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

Недавно Джереми Ховард из Университета Сан-Франциско и Себастьян Рудер из NUI Galway Insight Center нашли способ решить проблему обработки естественного языка с помощью относительно небольшого набора данных и ограниченных вычислительных ресурсов.

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

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

Исходная модель точно настроена, так что полученная модель не должна учиться с нуля. Как следствие, полученная модель имеет более высокую точность с меньшими наборами данных и меньшими вычислительными ресурсами, чем модели, которые не используют трансферное обучение. Кроме того, с помощью алгоритма ULMFiT (Универсальная языковая модель тонкой настройки для классификации текста), разработанного Ховардом и Рудером, модели классификации текста можно обучать с помощью коллекции, извлеченной из Википедии.

Команда Data Science в Jellysmack использовала набор данных Wikitext-103 от Стивена Мерити [5]. Коллекция из более чем 100 миллионов токенов, извлеченных из набора проверенных хороших и избранных статей в Википедии. Он широко используется для языкового моделирования, включая предварительно обученные модели, используемые в библиотеке Fastai, которая предоставляет модули для обучения и использования моделей ULMFiT.

Как отмечает Себастьян Рудер [6], слова и фразы, используемые в обзорах в социальных сетях, сильно различаются в зависимости от типа продукта. Таким образом, модель, обученная на одном типе рецензий, должна уметь разделять общие и специфичные для предметной области слова-мнения, которые люди используют, чтобы их не смутила смена предметной области.

Вот почему специалисты по данным Jellysmack используют четыре языковые модели, предварительно обученные для 4 типов видео:

  • Видео, связанные с футболом, на канале Jellysmack Oh My Goal.
  • Видео о красоте для макияжа, в канале Beauty Studio
  • Игры для игр в Jellysmack Gamology
  • Клуб гениев для гениев

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

Затем исследователи данных Jellysack обучили бинарный классификатор для каждой категории, используя комментарии, размещенные в Facebook, чтобы классифицировать их как положительные или отрицательные. Учитывались только комментарии на английском языке. Использование предварительно обученных функций в настоящее время является наиболее простым и наиболее часто используемым способом выполнения трансферного обучения для НЛП. Предварительное обучение модели с целью языковой модели повышает производительность [7].

В следующих результатах «неоднозначный» относится к количеству тестовых образцов, чей классификационный балл ниже 0,6.

Команда использовала инстансы Amazon EC2 P3, оснащенные графическими процессорами NVIDIA® V100 Tensor Core.

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

[1] https://arxiv.org/abs/1801.06146

[2] http://ruder.io/transfer-learning/

[3] http://nlp.fast.ai/category/classification.html

[4] https://qz.com/1034972/the-data-that-changed-the-direction-of-ai-research-and-possably-the- мир/

[5] http://academictorrents.com/details/a4fee5547056c845e31ab952598f43b42333183c [6] http://ruder.io/tag/transfer-learning/index.html

[7] Рамачандран, П., Лю, П.Дж., и Ле, К.В. (2016). Неконтролируемое предварительное обучение для последовательного обучения. Препринт arXiv arXiv: 1611.02683.