Когда я проходил обучение по науке о данных, меня не удивил тот факт, что все занятия были сосредоточены на реальных сценариях или «бизнес-задачах», если использовать отраслевой язык. Что меня удивило, так это то, что каждая сессия была разделена на две равные части — (1) аналитика и (2) кодирование — и только в таком порядке. Да, кодирование — это не программирование, и оно всегда на втором месте. Другими словами, программирование — это аналитический процесс для решения задачи с помощью логики, тогда как кодирование — это набор синтаксических правил, с помощью которых компьютер реализует этот процесс. Это может быть само собой разумеющимся для любого, кто имеет опыт работы в области компьютерных наук, но не обязательно для тех, кто только что вышел на поле.

(Конечно, как литературовед, я также был удивлен, узнав, что самые важные навыки в науке о данных — это не кодирование, а рассказывание историй; впрочем, это уже другая история.)

Несоответствие между программированием и кодированием ставит интересный вопрос для цифровых гуманитарных наук в классе. Для некоторых кодирование требует глубокого обучения. На большинстве вводных занятий студенты могут тратить гораздо больше времени на отладку своего кода, чем, например, на разработку идей для исследовательского проекта в «реальных» сценариях. Если учащиеся не готовы посвятить себя обучению на протяжении всей жизни после вводного курса (поэтому муки обучения кодированию абсолютно необходимы), это может стать проблемой.

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

Насколько мне известно, уже существует множество замечательных учебных материалов и учебников, которые обучают студентов вычислительным методам в литературоведении и культурологии. Enumerations: Data and Literary Study Эндрю Пайпера, Introduction to Cultural Analytics & Python Мелани Уолш или Computational Humanities: Critical Humanities Дэвида Баммана и Тома Макинани. Подходы к литературе как к данным». Тем не менее, я пытался найти инструменты, которые также фокусируются на общих логических переходах к реальной проблеме.

Я хочу представить Orange в области цифровых гуманитарных наук. Orange — это программное обеспечение с открытым исходным кодом, которое прекрасно реализует возможности визуального программирования. Он делает почти все, для чего мы используем программирование в науке о данных — интеллектуальный анализ данных, визуализацию данных, моделирование данных, машинное обучение и т. д. Его основная идея Рабочий процесс напоминает полный конвейер обработки данных, который преобразует необработанные данные в действенные ответы. Я вернусь к конкретным рабочим процессам в своих будущих постах, но вот несколько примеров с Официального сайта Orange, которые могут быть интересны литературоведам.

Сюжетные арки

В этом рабочем процессе мы исследуем сюжетные арки в истории «Маленький продавец спичек». Сначала мы выбираем рассказ из корпуса сказок Андерсена. Затем создаем таблицу, где каждое предложение сказки представляет собой отдельную строку. Мы используем анализ настроений, чтобы вычислить настроение каждого предложения, а затем наблюдаем за эмоциональными дугами в истории. Мы также проверяем предложения с похожими оценками в Heat Map и Corpus Viewer.

Анализ данных Твиттера

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

Кластеризация текста

Рабочий процесс объединяет корпус сказок братьев Гримм. Мы начинаем с предварительной обработки данных и построения матрицы мешка слов. Затем мы вычисляем косинусные расстояния между документами и используем иерархическую кластеризацию, которая отображает дендрограмму. Наблюдаем, насколько тип сказки соответствует кластеру в МДС.

Мне очень понравилось экспериментировать с последним рабочим процессом, так как я только что прочитал статью Теда Андервуда и Ричарда Джин Со Можем ли мы составить карту культуры? в Cultural Analytics.

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