Для анализа я выбрала датасет Harry Potter Movies Dataset, содержащий информацию, собранную со всех 8ми фильмов саги. Помимо довольно ожидаемых разделов данных, таких как базовая информация о персонажах и транскрипция всех диалогов, в датасет входят также любопытные списки заклинаний и локаций, встретившихся в фильмах.
С помощью датасета я хотела проанализировать личности трех главных героев - Гарри, Рона и Гермионы и выяснить, насколько явно можно проследить особенности и различия их характеров, основываясь на их репликах, использованных заклинаниях и часто посещаемых локациях.
Подготовка
Импортируем необходимы библиотеки, предоставляем доступ к файлам гугл-диска, куда был загружен датасет, загружаем цветовую схему.



Наиболее часто используемые героями слова
Манера речи и любимые темы для разговора, несомненно, очень хорошо характеризуют персонажа. Начнем с Гарри.
Прочитаем CSV-файлы со списком персонажей и таблицей всех диалогов и выделим все его реплики в единую строку. Чтобы оставить только важные для анализа персонажа слова, с помощью NLTK убираем стоп-слова английского языка, а также знаки препинания и имена персонажей, к которым Гарри часто обращается по имени.
Получаем словарь и визуализируем его как облако слов. Такая визуализация была выбрана как наиболее наглядная в случае анализа именно речи - здесь не так интересны точные цифры применения каждого слова, ведь диалогов за все экранное время было действительно много.
В первую очередь бросающиеся в глаза слова "think" и "know" - часть часто используемых в английском вводных конструкций речи "я думаю", "я знаю".
"Sir" постоянно использовалось Гарри по отношению ко многим взрослым, в Хогвартсе при обращении к профессорам, дома в приемной семье, и в целом к любым малознакомым мужчинам.
На облаке слов Гарри выделяется имя Волан-де-Морта: его друзья далеко не так часто осмеливались его произносить.
Можно заметить несколько часто используемых Гарри заклинаний: Люмос, Экспеллиармус, Экспекто Патронум, а также упоминание крестражей ("Horcrux").
В целом, лексика, используемая Гарри, довольно нейтральная, с малым количеством эмоционально окрашенных слов.
Теперь очередь Рона.
Для Рона и Гермионы код будет аналогичный, нужно только заменить имя "Harry Potter" на имена каждого из них для получения соответствующих данных их реплик.
В речи Рона мы видим гораздо больше эмоциональных выражений, а также сленга: "bloody", "brilliant", "blimey", "mate", "wicked", "stupid", "mad", "disgusting".
Выделяется имя домашней крысы Рона - "Scabbers", а также "mum", "dad" и "brother" - он часто упоминает членов семьи и общается с ними.
О своей фобии - пауках ("spiders") Рон тоже говорил немало.
Использование Гермионой таких слов, как "horrible", "wrong", "dangerous" напоминает нам о ее порой проявляющейся критичности, а также о частом беспокойстве за исход всяческих ситуаций.
Имя Волан-де-Морта Гермиона тоже произносила не раз, пусть и меньше, чем Гарри.
Она достаточно часто упоминает своих родителей ("parents"), оборотное зелье, приготовлением которого она занималась несколько раз на протяжении фильмов ("polyjuice potion"), исключение из школы Хогвартс, которого ужасно опасалась ("expelled"). Также выделяется в ее облаке полное имя Рона, по которому она единственная к нему обращается ("Ronald").
Заклинания
Прочитаем CSV-файл, содержащий информацию о заклинаниях. Как можно увидеть ниже, файл содержит помимо прочего информацию о цвете света, который создают некоторые заклинания - можно пометить каждое его собственным цветом на итоговом графике.
Для визуализации была выбрана круговая диаграмма, поскольку на ней хорошо просматривается соотношение долей, и цветовой круг для отображения цветов заклинаний попросту смотрится интересно.
Затем из списка слов, произнесенных персонажем, отберем заклинания и посчитаем их частоты.
Теперь сопоставляем заклинания с цветами (бесцветные заклинания останутся просто черными). Большинство цветов соответствуют стандартным CSS наименованиям, но для цветов Fiery orange и Scarlet соответственный RGB код оттенков вводился вручную.
Выводим круговую диаграмму:
