Как сделать облако слов в Python?

Python Командная строка Язык программирования macOS

Про-Юань Сиань рыба, как отступление паутины. Мы идем шаг за шагом и помогаем вам создать ваше первое облако слов в Python с нуля. Добро пожаловать, чтобы попробовать!

нужно

В эпоху больших данных часто можно увидеть очень красивую инфографику в СМИ или на сайтах.

Например вот так.

Или вот так.

Что вы чувствуете после просмотра? Вы хотите сделать один самостоятельно?

Если ваш ответ да, давайте не будем откладывать, давайте сегодня шаг за шагом создадим диаграмму анализа облака слов с нуля. Конечно, базовая карта облака слов определенно не так крута, как две инфографики только что. Но ничего, хорошее начало — половина дела. Съев кабачок и познав его вкус, вы сможете сами прокачать свои навыки и вступить на путь к успеху.

В Интернете есть множество учебных пособий, которые научат вас делать инфографику. Многие используют специализированные инструменты. Эти инструменты хороши, удобны и мощны. Просто их функции слишком специфичны, а область применения ограничена. Что мы собираемся попробовать сегодня, так это использовать общий язык программирования Python для создания облака слов.

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

Ты знаешь Дубана? Он был написан на Python с самого начала.

В текущем рейтинге языков программирования Python занимает четвертое место (конечно, многие с этим не согласны, поэтому рейтингов языков программирования много, знаете ли). Но посмотрите на проблему с точки зрения развития. С развитием науки о данных Python имеет взрывную тенденцию. Очень полезно рано встать на вершину ветра.

Не имеет значения, если у вас раньше не было опыта программирования. Начать с нуля означает, что я научу вас, как установить среду выполнения Python и шаг за шагом заполнить диаграмму облака слов. Надеюсь, вы не ограничитесь просмотром, а попробуете сами. К тому времени, когда это будет сделано, у вас будет не только первое облако слов, но и ваша первая полезная работа по программированию.

Убитый горем? Итак, приступим.

Установить

Во-первых, нам нужно установить среду выполнения Python.

Если вы используете macOS, Python фактически предустановлен в вашей системе.

Тем не менее, мы собираемся использовать множество функций пакета расширений. Поэтому лучше установить набор инструментов Python. Требуется только одна установка, и большинство функций в будущем будут интегрированы. Вам не нужно устанавливать новые пакеты по частям каждый раз, когда вы используете новую функцию.

Существует много видов пакетов Python, и здесь рекомендуется anaconda. Потому что после более чем 4 лет испытаний и сравнений я считаю, что установка этого программного пакета более удобна, а охват и структура пакета расширения более разумны.

пожалуйста, приходитеэтот URLСкачать набор анаконды. Прокрутите страницу вниз, чтобы найти место загрузки. Выберите подходящую версию в соответствии с типом вашей операционной системы.

Поскольку моя система — macOS, веб-сайт напрямую рекомендует мне версию системы macOS. Но если вы используете Windows или Linux, перейдите на соответствующую вкладку.

Независимо от того, какую операционную систему вы используете, обратите внимание на две кнопки справа для версий Python 2.X и 3.X. Некоторым должно быть интересно, раз есть новая версия, зачем мне использовать старую?

не так. Две версии Python будут сосуществовать до 2020 года. Разработчики Python очень хотят, чтобы все обновились и перешли на версию 3.X. К сожалению, количество пакетов расширения, совместимых с версией 3.X, в настоящее время меньше, чем у версии 2.X, особенно когда речь идет о пакетах обработки данных. Поэтому, если вы новичок, я предлагаю вам загрузить версию 2.X (сейчас 2.7), чтобы в будущем вы могли столкнуться с меньшим количеством проблем. Еще не поздно перейти на версию 3.X, когда вы умеете ею пользоваться. Поверьте, к тому времени вы довольно быстро привыкнете к новой версии.

После скачивания запустите установочный файл.

Время установки зависит от скорости вашего компьютера. Наберитесь терпения, просто подождите на этот раз.

После установки установите «современный» браузер. Если вы используете macOS, собственный Safari системы подойдет. Другие варианты включают Firefox и Google Chrome.

Пожалуйста, установите один из вышеперечисленных браузеров и установите его в качестве системного браузера по умолчанию.

Ну, а теперь, пожалуйста, войдите в режим командной строки.

В macOS и Linux вам нужно открыть терминал.

Если это Windows, откройте «Пуск» — «Стандартные» — «Командная строка».

Введите следующую команду:

mkdir demo
cd demo

Что ж, теперь у вас есть специальный каталог под названием demo. Перейдите в Finder macOS или «Мой компьютер» Windows, найдите этот каталог и откройте его.

Вернувшись в терминал, пользователи macOS или Linux введите следующую команду:

pip install wordcloud

macOS предложит вам сначала установить инструменты командной строки XCode, и вы можете шаг за шагом следовать настройкам по умолчанию. Но обратите внимание, что он должен быть установлен в среде WiFi. Если вы используете данные 4G, вам придется потратить целое состояние.

Если вы используете Windows, чтобы использовать слово «облачный пакет», это немного сложнее, вам нужно перейти кздесьЗагрузите файл wordcloud‑1.3.1‑cp27‑cp27m‑win32.whl. После загрузки перетащите его в папку с демонстрацией.

В командной строке сначала выполните:

pip install wheel

Затем выполните:

pip install wordcloud‑1.3.1‑cp27‑cp27m‑win32.whl

Что ж, вся необходимая нам среда выполнения Python наконец-то установлена.

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

данные

Объектом анализа облака слов является текст.

Теоретически текст может быть на разных языках. Английский, китайский, французский, арабский...

Для простоты в качестве примера мы возьмем текст на английском языке. Вы можете свободно найти в Интернете англоязычную статью в качестве объекта анализа. Мне особенно нравится британская драма «Да, министр», поэтому я зашла в Википедию, чтобы найти предисловие к сериалу.

Я скопировал текстовую часть текста и сохранил ее в виде текстового файла с именем yes-minister.txt.

Переместите этот файл в наш рабочий каталог demo.

Итак, текстовые данные готовы. Начните входить в волшебный мир программирования!

код

В командной строке выполните:

jupyter notebook

Браузер откроется автоматически, и отобразится следующий интерфейс.

Это результат нашего только что труда - установленная операционная среда. Мы еще не написали программу, в каталоге только что сгенерированный текстовый файл.

Откройте файл и просмотрите содержимое.

Вернитесь на главную страницу блокнота Jupyter. Нажимаем кнопку New, чтобы создать новую записную книжку (Notebook). В блокнотах выберите вариант Python 2.

Нам будет предложено ввести имя для Блокнота. Имя файла кода программы можно запускать произвольно. Но я предлагаю вам дать ему осмысленное имя, чтобы его было легче найти в будущем. Поскольку мы собираемся попробовать облако слов, давайте назовем его облаком слов.

Затем для нас появился чистый блокнот. Мы вводим следующие 3 утверждения в единственное текстовое поле кода на веб-странице. Обязательно вводите пример кода дословно, без разницы в количестве пробелов. Обратите особое внимание на третью строку, начните с 4 пробелов или 1 табуляции. После ввода нажмите Shift+Enter для выполнения.

filename = "yes-minister.txt"
with open(filename) as f:
 mytext = f.read()

Результата нет.

Да, поскольку у нас здесь нет никаких выходных действий, программа просто открывает ваш текстовый файл yes-minister.txt, считывает все его содержимое и сохраняет его в переменной с именем mytext.

Затем мы пытаемся отобразить содержимое mytext. После ввода следующего оператора вам все равно придется нажимать Shift+Enter, прежде чем система действительно выполнит оператор.

mytext

В следующих шагах не забудьте это действие подтверждения выполнения.

Отображаемый результат показан на рисунке ниже.

Что ж, похоже, что текст, хранящийся в переменной mytext, — это текст, который мы извлекли из Интернета. Все идет нормально.

Затем мы вызываем (импортируем) пакет облака слов и используем текстовое содержимое, хранящееся в mytext, для создания облака слов.

from wordcloud import WordCloud
wordcloud = WordCloud().generate(mytext)

В это время программа может подать сигнал тревоги. не переживай. Предупреждение (warning) не влияет на нормальную работу программы.

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

А как насчет облака слов? После стольких метаний, но ничего, вы обмануты? !

Не волнуйтесь. После ввода следующих 4 строк утверждений пришло время стать свидетелем чуда.

%pylab inline
import matplotlib.pyplot as plt
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")

Результат работы показан на рисунке:

Не будь таким возбужденным.

Вы можете щелкнуть правой кнопкой мыши изображение облака слов и использовать функцию «Сохранить изображение как» для экспорта.

С помощью этой карты облака слов мы можем увидеть разницу в частоте различных слов и фраз. Шрифты для высокочастотных слов значительно крупнее, а цвета поразительнее. Стоит отметить, что самое известное слово «Хакер» относится не к хакеру, а к одному из главных героев шоу, премьер-министру Хакеру.

Файл ipynb, содержащий полный код программы, я им тоже поделился, скачать можно сздесьскачать.

Надеюсь, у вас все хорошо в ваших попытках. Довольны ли вы созданной вами картой облака слов? Неважно, если вы не удовлетворены, вы можете использовать другие расширенные функции пакета wordcloud. Попробуйте и посмотрите, сможете ли вы составить такую ​​карту облака слов?

Обсуждать

Изучив этот метод, какую карту облака слов вы составили? Помимо методов, описанных в этой статье, знаете ли вы какие-либо другие удобные способы создания облаков слов или другой инфографики? Добро пожаловать, чтобы оставить сообщение и поделиться им со всеми. Мы общаемся и обсуждаем вместе.

Лайк пожалуйста лайк. Вы также можете подписаться на мой публичный аккаунт в WeChat и закрепить его."Юшу Жилан" (nkwangshyi).

Если вы интересуетесь наукой о данных, вы можете прочитать мою серию постов с учебными указателями "Как эффективно начать работу с наукой о данных?", есть более интересные задачи и решения.