Большие данные — это возможность упорядочить и понять то, что раньше казалось человеку хаосом или случайностью. Эксперты Platforma обнаружили очень интересное исследование продакт-менеджера австралийской компании CoAbility Шилпи Бхаттачарья, анализирующее факторы популярности телесериалов (ссылка открывается при использовании VPN). Казалось бы, причём здесь наука, цифры и расчёты, когда всё «завязано» на эмоциях? Но с помощью Big Data можно разложить по цифрам не только ассортимент в магазине или распланировать открытие розничной сети, но даже эмоциональные составляющие успеха сериала.
Содержание:
- Что представляет собой популярный ситком?
- Доступность данных
- Определение эмоций персонажей
- Watson Personality Insights (WPI) для исследования личности персонажей
- Что делать с этими знаниями?
Текстовая аналитика расшифровок диалогов с использованием Keras-Tensorflow-LSTM, Watson NLU и Watson Personality Insights.
Недавно на Data Science Salon в Лос-Анджелесе я рассказывал об исследовании расшифровок (стенограмм) ситкомов. Моей целью было понять, по каким принципам создаются популярные телесериалы.
В этой статье я расскажу, как проходило исследование, и какие результаты я получил после использования «специально обученных» нейронных сетей, а также моделей Watson NLU (Natural Language Understanding, понимание естественного языка) и Personality Insights. Самой сложной частью работы стала подготовка данных: поиск в интернете письменных расшифровок диалогов в ситкомах.
В двух словах о моём подходе к проекту в области Big Data. Я регулярно задаюсь множеством интуитивных вопросов, связанных с нужной мне сферой, ищу отзывы экспертов и дополняю/изменяю свою анкету.
Обратите внимание, что убедительные результаты ни в коем случае не означают, что они соответствуют моим ожиданиям. Мы занимаемся наукой, чтобы исследовать факторы, которые приводят к появлению тех или иных данных (результатов). А затем прогнозируем результаты, используя эти признаки в качестве базовой истины, а не наоборот. Это искусство, основанное на науке.
Что представляет собой популярный ситком?
По нашей версии, среди ключевых факторов успеха можно выделить следующие:
1. Последовательность в речи и поведении отдельных персонажей.
2. Кадры в одних и тех же локациях, благодаря чему у зрителей со временем возникает ощущение, что они давно знают эти места.
3. Сходство/различие в манере речи и поведении разных персонажей.
4. Сериал делает интересным сбалансированное распределение эмоций — таких, как радость, грусть, страх, гнев, отвращение.
5. Схожесть/различие характеров персонажей помогают поддерживать связь с аудиторией.
6. Зрителей «цепляют» интересные флэшбэки (ретроспективные кадры).
Для данного анализа я планировал использовать следующие сериалы — «Друзья», «Теория большого взрыва» и «Во все тяжкие». По моему мнению, это должно было создать достаточную базу для анализа.
Доступность данных
После интенсивного поиска в интернете я получил html-транскрипты со следующих URL.
«Друзья» (10 сезонов): https://fangj.github.io/friends/
«Теория большого взрыва» (10/12 сезонов): https://bigbangtrans.wordpress.com/
«Во все тяжкие» (5 сезонов, с некоторыми отсутствующими данными): https://en.wikiquote.org/wiki/Breaking_Bad
Ниже приведен пример того, как выглядят эти транскрипты.
Ниже приводится последовательность действий для подготовки набора данных для моделирования:
- html-транскрипты для ситкома скопировать и сохранить в txt. файл
- Разбираем и группируем текст, произносимый каждым персонажем, с помощью Python
- Очищаем текст путем удаления стоп-слов, удаления нетекстовых символов и лемматизации с помощью ntlk — пакета библиотек и программ для символьной и статистической обработки естественного языка, написанных на языке программирования Python
- Создаем фреймы данных из текста, произнесенного каждым персонажем
- Извлекаем из текста местоположение и место действия
- Объединяем отдельные фреймы данных
Создание этих наборов данных потребовало от меня значительных усилий. Поэтому я выложил их на Kaggle, чтобы ими могли воспользоваться все желающие. Код для подготовки и обработки данных для каждого сериала можно найти здесь.
1. Определение эмоций персонажей
Для определения эмоций персонажей я использую Watson Natural Language Understanding (NLU). Это набор API-интерфейсов, анализирующих текст с помощью обработки разговорного языка. Другими словами — система машинного обучения, направленная на понимание смысла неструктурированного текста. Данный набор API-интерфейсов позволяет анализировать текст, чтобы вы могли понять его концепции, смыслы, ключевые слова, настроение и так далее. В основе обработки разговорного языка лежит классификация текста.
Watson NLC (Natural Language Classifier — классификатор разговорного языка) позволяет классифицировать текст по пользовательским категориям. NLC сочетает в себе различные передовые методы машинного обучения. Они могут обеспечивать максимально возможную точность, не требуя большого количества обучающих данных.
Также используется свёрточная нейронная сеть (CNN), которая нужна для распознавания образов. Она действует на основе сервиса машинного обучения IBM Deep Learning As a Service (DLaaS). Код, соответствующий каждому сериалу для разделов 1, 2 и 3, можно найти здесь.
Следующие графики показывают, какие эмоции испытывают главные персонажи трёх сериалов. Чем выше столбец — тем сильнее выражена эмоция у данного персонажа.
1.1. Друзья
1.2 Теория большого взрыва
1.3 Во все тяжкие
2. Watson Personality Insights (WPI) для исследования личности персонажей
Я использую сервис Personality Insights для прогнозирования личностных характеристик, потребностей и ценностей на основе письменного текста. Сервис IBM Watson Personality Insights использует лингвистическую аналитику для выделения спектра умственных и социальных характеристик человека из текстовых данных. Эти данные человек генерирует в блогах, твитах, сообщениях на форумах и так далее. Например, Watson определил Дональда Трампа по его текстам как «буйного» («неистового»).
Так, я решил воспользоваться этим сервисом для анализа письменных расшифровок диалогов из сериалов, чтобы определить индивидуальность отдельных персонажей. Код, соответствующий каждому сериалу для разделов 4 и 5, можно найти здесь.
Я ориентируюсь на результаты «большой пятерки» личностных качеств от WPI:
- Эмпатия: способность сочувствовать другим людям и сотрудничать с ними.
- Сознательность: способность действовать организованно и продуманно.
- Экстраверсия: сосредоточенность на внешних событиях и эмоциях, поиск вдохновения в компании других людей.
- Эмоциональный диапазон: степень, в которой эмоции человека оказываются чувствительны к тому, что его окружает.
- Открытость: степень готовности к тому, чтобы попробовать новые для себя виды деятельности.
2.1 Друзья
Любой балл, превышающий среднее значение 0,5, указывает на более высокую, чем средняя, склонность к данной характеристике. Показатель 0,75 или выше указывает на легко различимые аспекты характеристики; такие показатели считаются высокими.
Противоположные утверждения справедливы для оценок ниже 0,50 и 0,25, которые считаются низкими.
Личности всех героев сериала «Друзья» в целом довольно схожи.
2.2. Теория большого взрыва
Личности всех героев сериала «Теория большого взрыва» похожи.
2.3. Во все тяжкие
Что делать с этими знаниями?
Анализ причин успешности ситкомов с помощью Big Data влияет, в первую очередь, на отрасль кинопроизводства. В будущем продюсеры смогут создавать сериалы с изначально большими шансами на успех.
В выигрыше не только их создатели, но и рекламодатели. С помощью Big Data они могут выяснить, кто смотрит эти сериалы, и показывать релевантную для данной аудитории (или групп аудиторий) рекламу во время просмотра очередной серии. В нашем арсенале уже есть такой инструмент — продукт «ТВ реклама и аналитика». С его помощью вы можете планировать размещение на ТВ за счёт точных аудиторных сегментов, созданных на основе анонимизированных данных. Десятки форматов, подходящих для ваших задач — от всплывающих окон до интеграции роликов в video on demand.