Рубрики
Без рубрики

Гарри Поттер Книги и фанфик – анализ слов

Задний план 28 мая, пост на R / PataniSbeautiful вдохновил меня, чтобы узнать, как сделать слово … Теги с Python, визуализациями, данными, наукой данных.

Задний план

28 мая, Пост на r/pataisisbeautiful Вдохновил меня узнать, как сделать слово облака. Будучи огромным поклонником Гарри Поттера, данные, которые я собирался использовать, был очевиден. Использование книг казалось слишком простым Поэтому я решил соскрести 250 историй от Fanfiction.net И сделайте слово облако от этих данных. Я разместил моя первая попытка r/pataisisbeautiful И на основе обратной связи я получил, я решил написать этот блог.

Весь исходный код (кроме файлов данных и вывода файлов) доступно здесь

Попытка 1.

Есть много подходов, которые я мог бы предпринять, чтобы подготовить данные. Я решил сначала скачать истории, а затем выполнять обработку в локальных файлах из-за моего медленного и ненадежного Интернета.

Scraping Fanfiction.

Я использовал простую комбинацию Python + Beautifulsoup, чтобы соскрести образовывать истории Fanfiction.net.net . Я отсортировал истории, основанные на их любимом количестве и отфильтровали их в истории, имеющие более 100 тысяч слов. ( Ссылка на URL ). Я соскребал первые 10 страниц, (у каждой страницы есть 25 историй), что привело к 250 историям. Мне потребовалось всего 10 часов (7 в один день, а 3 на следующий), чтобы соскрести все истории.

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

Принимая подсказки от Оригинальный пост Я использовал NLTK для токеризации историй и удалил общие слова из корпуса английского стопоразвиков NLTK. Это была моя первая попытка сделать что-то подобное, и процесс изначально принимал 3-4 минуты за историю. После некоторой оптимизации я смог уменьшить время до 1-2 минуты за историю. Я разговаривал с другом о проблеме, и он предложил мне попробовать многопроцессировать. После добавления многопроцессора у меня была идея распределить нагрузку на два процессора (мой ноутбук и малина PI 4B). Я скопировал сценарий и 25% рассказов на PI и начал работу.

Дополнительный совет: экран это хорошая утилита для длительных рабочих мест через SSH

Мне потребовалось в час до обработки. Я не хотел сделать обработку снова, если мне нужно было удалить еще несколько слов Поэтому я решил сохранить данные частоты слова в файлы JSON. ( Действительно полезно в будущем)

Сделать слово облако

Я посмотрел на WordCloud Python Package и скопировал код из его примеров для генерации облака слова.

Чтобы сделать изображение маски, я загрузил несколько изображений из Интернета и использовал Inkscape, чтобы исправить их.

Обратная связь

После публикации первой попытки в Reddit & Twitter я получил много обратной связи. Общие среди них были запросы о том, почему Дафна чаще, и почему Рон менее часты (я отвечу как позже), предложения, чтобы удалить больше слов, чтобы сосредоточить его больше на словах, связанных с Гарри Поттером, и, чтобы показать некоторые другие визуализации, особенно сравнение книг и фанфикцию.

Попытка 2.

Найти больше сложных слов

В моей первой попытке я использовал CORPUS NLTK English Stopwords, который составляет всего 179 слов. Я искал более широкий список и оказался, используя индивидуальные 20 000 самых распространенных слов из Google-10000-Английский репозиторий Отказ Каковы были настраивания? Мне пришлось удалить несколько слов (например, волшебные, волшебные, палочка, подопечные, вампиры и т. Д.) И некоторые имена (Гарри, Рон, Фред, Артур и др.) Из списка 20 тысяч, так что они не удаляются из моего анализа. Хранение результатов обработки от моей первой попытки в файлах JSON сохранила меня от проведения другого часа обработки. Я только что удалил необходимые клавиши из каждого файла данных.

Гарри Поттер Канон книги

Я также загрузил текстовые версии 7 книг из где-то в Интернете, немного продуцируют их и применили тот же процесс, что и истории фанфикций для создания их данных. Используя эти данные, я смог сравнить вхождение некоторых слов в фанфике VS Canon. Поскольку у меня были данные и код, я решил сделать их соответствующие облака слова.

Визуализация от попытки 2

Часто встречающиеся слова в топ 250 фанфикций

Средняя частота возникновения слов на книгу или история

  1. Топ 20. Наиболее встречающиеся слова в историях фанфики

  2. Топ 20. Наиболее возникающие слова в книгах Гарри Поттера (исключая топ-20 из историй фанфиктов)

Код для создания вышеуказанных визуализаций

Важные результаты

Кто такой Дафна? Почему она так популярна в фанфике?

Имя Гермионы было вызвано. Тремин, она покинула камеру Энтони Голдштайн, Григори Гелла и Дафна Гринграсса . Студенты, которые уже были проверены, не вернулись позже, поэтому Гарри и Рон понятия не имели, как Гермиона сделала.

-> Гарри Поттер и порядок Феникса

Daphne Greengrass – почти не сущность в каноне, а пустой шифер для писателей фанфики. В Canon & большинству фанфикций она является сестрой Астории Гринграсса (еще одна почти несущественная), которая становится женой Драко Малфоя. В фанфиктах она обычно слияние из-за ее амбиций и гибели, а не из-за того, чтобы быть чистокровным суперменом. Ее семья изображена как светлая или серая, а поддержка “Лорд Поттер”. Она популярная спаривание в независимых историях Гарри.

Я будучи пустым личным персонажем – это благополучие писателей, которые хотят написать OC без явного упоминания.

Видео объяснение Daphne Greengrass и ее популярность

Что случилось с Роном?

Рон почти напротив Дафни. JKR такая прекрасная писал Рона, что многие писатели фанатов не могут написать добрый Рон. В каноне Рон недостаточно, но также очень смешной, смелый и верный своим друзьям. В фанфикциях, особенно в том, где Гарри очень отличается от Canon (независимый, супер-питание, лорд-Поттер и т. Д.), Гарри обычно игнорирует Рон (если расходится перед Хогвартсом) или автор делает много рон, чтобы оправдать Гарри, расставив свою дружбу Отказ

Бонусные визуализации

7 Книги Canon:

Философский камень

Я пытался использовать изображение 9 3/4. Слово quirrell и Griphook часто посещаются в этой книге и потеряют свою частоту в будущих книгах.

Тайная комната

Я использовал образ DOBBY свободный эльф. Вы будете слова, как DOBBY, Lockhart (Я ненавижу этого парня), многожуальный, парсельтун, оправки, грязные колодки, что делает внешний вид в этой книге.

Узник Азкабана

Я использовал изображение зубов (джеймс »прозвище марок и формы анимага. Гарри Патронес) для этой книги. Слова, такие как Люпин, Сириус, Петтигрю, Демоменторы, Крукшанкс, Патронес начнут появляться.

Кубок огня

Я пытался использовать изображение Triewizard Trophy. Такие слова, такие как Cedric, Beauxbatons, Crood, Durmstrang начните.

Орден Феникса

Пытался использовать изображение Phoenix. Умбридж очень популярен в этой книге.

Принц полукровка

Я использовал образ князья кровью к этой книге. Помимо обычного, Slughorn – самое распространенное слово в этой книге.

Дары смерти

Я использовал образ мозговых решений для этого. Вы увидите, что «палочка» становится очень использоваться из-за «старшей палочки». Давки, плащ, Wandmaker появляются. Кроме того, Griphook возвращается.

Планы на будущее

Я планирую царапать AO3 в будущем, чтобы сделать еще один анализ. Я также могло создать некоторые другие слово облака из других популярных книг.

Ссылка:

  1. WordCloud Python Package
  2. NLTK.
  3. r/hpfanfiction.
  4. Снейп, Снейп, Северус Снейп – Музыкальное видео

Прочитайте это в моем блоге

Оригинал: “https://dev.to/haideralipunjabi/harry-potter-books-fanfiction-an-analysis-of-words-1hi7”