Описание проекта
Вводная часть
«Очень странные дела» — сериал, существующий уже почти 10 лет, но обретший особую популярность в последние 3 года и ставший практически культовым. Я сама с детства вовлечена в эту невероятную мистическую ретро атмосферу сериала, я многократно его пересматривала, каждый раз подмечая всё новые и новые детали.
Мне захотелось узнать, какими словами оперируют герои, как их лексикон меняется с течением времени и в зависимости от ситуации. Сами герои на протяжении всего сериала заметно растут и меняются, что точно должно отразиться на их словарном запасе.
За основу для создания датасета были взяты файлы субтитров сериала «Очень странные дела» в формате srt, скачанные с сайта TVsubtitles.net. Были скачаны субтитры на английском языке. Эти файлы содержат все реплики, озвученные героями сериала, с указанием временной метки.
В ходе анализа датасетов я выбрала следующие виды графиков, поскольку посчитала их наиболее подходящими и наглядными:
Облако слов Круговая диаграмма Линейный график Столбчатый график
Для работы программы необходимо указать путь к каталогу с файлами субтитров. На выходе получим файл subtitles_dataset.csv. Из полученного файла вручную была удалена лишняя информация (данные об авторах, теги для форматирования текста и т.д.).
Оформление графиков
Все графики представлены в едином стиле, рифмующемся с визуалом сериала Stranger Things. В цветовую палитру вошли приглушенный красный, серый и белый.
В оформлении графиков мне хотелось добиться современного, минималистичного стиля, отсылающего к годам событий сериала. Средствами python были выполнены сами графики, сверху в Photoshop был наложен шум для соответствия ретро стилистике.
Столбчатая диаграмма: количество реплик по сезонам
График показывает объём диалоговой активности в каждом сезоне. Чем выше столбец, тем больше реплик произнесено персонажами в этом сезоне.
Реализация
Для каждой категории (сезон 1, сезон 2, ...) подсчитывается абсолютная частота — сколько раз встречается реплика.
Данные группируются по переменной season. Применяется агрегирующая функция size() — суммарное количество строк (реплик) в группе.
Чтение данных, подсчет реплик по сезонам, стилизация, создание столбцов
Линии, подписи значений
Сериал не теряет диалоговой плотности со временем — напротив, рост количества реплик может свидетельствовать о развитии характеров и усложнении отношений. Если бы количество реплик падало, то это могло бы указывать на смещение акцента в сторону визуального хоррора или боевых сцен. То есть рост числа реплик в более поздних сезонах указывает на эволюцию сценария: от простого детского хоррора к сложной драме с множеством персонажей и сюжетных линий.
Линейный график: средняя длина реплики по сезонам
График показывает, насколько многословны персонажи в каждом сезоне. Рост средней длины означает, что персонажи говорят более развёрнуто: дают объяснения, ведут дискуссии, выражают сложные эмоции. Снижение длины же означает, что речь становится более фрагментарной: доминируют крики, команды, короткие фразы в погонях и битвах.
Увеличение длины реплик коррелирует с эмоциональной и когнитивной зрелостью персонажей. Дети говорят коротко, подростки — развернуто.
Загрузка данных и группировка по сезонам, оформление
В сезонах со сложным научным или мистическим сюжетом реплики длиннее — нужны экспозиция и пояснения.
Высчитывание количества слов и символов в реплике
Короткие реплики — динамичный ритм, напряжение. Длинные реплики — драматические сцены, внутренние монологи, развитие отношений.
Линейный график 2: эмоциональная динамика по эпизодам
Каждой реплике присваивается полярность эмоциональной окраски — число от —1 (максимально негативный) до +1 (максимально позитивный).
Сериал следует классической драматургической структуре: надежда — угроза — кризис — развязка. Это видно по чередованию зелёных и красных волн. В ранних сезонах чаще позитив, в поздних же, с течением взросления персонажей, растет и негатив.
Загрузка, чтение данных, стилизация и присваивание эмоциональной окраски
Линии, подписи
Линейчатая диаграмма: активность персонажей по упоминаниям имён




