Бакалавриат
2020/2021
Python: работа с данными и текстом
Статус:
Курс по выбору (Медиакоммуникации)
Направление:
42.03.05. Медиакоммуникации
Где читается:
Факультет креативных индустрий
Когда читается:
3-й курс, 1, 2 модуль
Формат изучения:
без онлайн-курса
Язык:
русский
Кредиты:
4
Контактные часы:
40
Программа дисциплины
Аннотация
В рамках курса “Python: работа с данными и текстом” студенты освоят базовые навыки и приобретут необходимые компетенции по работе со структурированными и неструктурированными типами данных. Курс состоит из двух блоков, в рамках которых студенты научатся автоматически обрабатывать таблицы чисел и тексты слов. Первый блок дисциплины посвящен работе со структурированными данными с использованием библиотеки Pandas. В рамках данного блока будут рассмотрены все этапы работы с табличными данными, начиная с доступа к данным из разных структур и заканчивая их визуализацией в виде графиков и полноценных дашбордов. Второй блок дисциплины будет посвящен работе с неструктурированными данными - главным образом с текстами. Студенты освоят библиотеку для обработки и анализа естественного языка NLTK, познакомятся с базовыми моделями классификации и кластеризации текстов, а также попробуют применить инструменты и методы тематического моделирования к корпусам текстов.
Цель освоения дисциплины
- Формирование у студентов теоретических знаний и профессиональных компетенций по работе со структурированными и неструктурированными типами данных;
- Формирование профессиональных компетенций и прикладных навыков по работе с табличными данными посредством использования инструментов и методов библиотеки Pandas;
- Формирование профессиональных компетенций и прикладных навыков по работе с текстовыми данными посредством использования инструментов и методов библиотеки NLTK;
- Обучение студентов прикладным навыкам по анализу данных аудиторий, рядов финансовых транзакций, больших необработанных массивов из открытых источников;
- Обучение студентов методам и моделям автоматической обработки и анализа естественного языка, включая статистический, дискурсивный и сенситивный анализ медиатекстов, автоматический контент анализ и др.
Планируемые результаты обучения
- Умеет сопоставлять типы данных - структурированные и неструктурированные - с содержательными задачами;
- Умеет ставить и принимать аналитические задачи; умеет задавать конкретные исследовательские вопросы;
- Умеет применять инструменты библиотеки для автоматизации задач;
- Умеет извлекать данные из первоисточника (файл, веб-страница, облачное хранилище и т.д.) и структурировать их в таблицу;
- Умеет предобрабатывать естественный язык и извлекать из него признаки для анализа корпуса текстов или предложений;
- Знает методы кластеризации и классификации текстов, а также умеет реализовать их средствами библиотек Python;
- Умеет применять методы тематического моделирования к корпусу текстов;
- Умеет автоматически анализировать медиатексты средствами Python.
Содержание учебной дисциплины
- Структурированные данныеСтруктурированные и неструктурированные данные. Определение структурированных данных. Применение структурированных данных в медиа и data-журналистике. Инструменты Python для работы со структурированными данными. Вспоминаем Python.
- Введение в Pandas: структуры данных Series и DataFrameБиблиотека Pandas для работы с табличными структурами данных. Структуры данных Series и DataFrame. Немного вспоминаем линейную алгебру.
- Доступ к данным в структурах Pandas и работа с пропусками в данныхДоступ к данным из разных файлов и расширений. Индексация массива в Pandas. Срезы. Теория по работе с пропущенными значениями. Методы работы с пропусками. Заполнение и удаление пропусков инструментами Pandas.
- Структурирование неструктурированных данныхВспоминаем парсинг веб-страниц. Библиотеки requests и модуль BeautifulSoup. Структурирование извлекаемых массивов. Парсинг структурированных и неструктурированных массивов. Анализ данных и поиск закономерностей в извлекаемых массивах.
- Визуализация и создание дашборда с использованием структурированного массиваИнструменты визуализации в Python. Как рассказать историю посредством визуализации табличных данных. Построение дашбордов.
- Неструктурированные данные: текст как данныеОпределение неструктурированных данных. Применение неструктурированных данных в медиа и data-журналистике. Инструменты Python для работы с неструктурированными данными. Текст как пример неструктурированных данных.
- Введение в обработку и анализ естественного языка: предварительная обработкаЧто такое естественный язык. Как компьютер читает медиатекст. Инструменты и методы автоматической обработки естественного языка. Извлечение признаков. Библиотека NLTK.
- Автоматический контент-анализ средствами и инструментами PythonИдея автоматизации контент-анализа. Частотный анализ текстов. Сентименты и их определение. Работа с сентиментами в русском языке. PoS-tagging. KWIC.
- Классификация и кластеризация текстовКлассификация и кластеризация как базовые идеи. Инструменты классификации и кластеризации. Определение тональности. Иерархическая кластеризация. K-Means и другие методы с использованием центроидов. Прикладные задачи: определение сарказма, hate speech, определение пропаганды.
- Анализ повестки дня средствами и инструментами PythonАвтоматизация задачи определения повестки дня инструментами и методами библиотек Python.
- Тематическое моделированиеКорпус текстов: содержательная и математическая интерпретация.Задача определения тем в корпусе. Гипотеза о существовании тем в корпусе. Инструменты тематического моделирования. LDA.
Элементы контроля
- Домашние задания
- Тесты на семинарских занятиях
- Контрольная работа (1 модуль)
- Экзамен (2 модуль)
Промежуточная аттестация
- Промежуточная аттестация (2 модуль)0.5 * Домашние задания + 0.15 * Контрольная работа (1 модуль) + 0.1 * Тесты на семинарских занятиях + 0.25 * Экзамен (2 модуль)
Список литературы
Рекомендуемая основная литература
- Hetland, M. L. (2014). Python Algorithms : Mastering Basic Algorithms in the Python Language (Vol. Second edition). [New York, N.Y.]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1174465
- Manning, C. D., & Schèutze, H. (1999). Foundations of Statistical Natural Language Processing. Cambridge, Mass: The MIT Press. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=24399
- Nelli, F. (2018). Python Data Analytics : With Pandas, NumPy, and Matplotlib (Vol. Second edition). New York, NY: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1905344
Рекомендуемая дополнительная литература
- Bengfort, B., Bilbro, R., & Ojeda, T. (2018). Applied Text Analysis with Python : Enabling Language-Aware Data Products with Machine Learning. Beijing: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=nlebk&AN=1827695
- Hetland, M. L. (2017). Beginning Python : From Novice to Professional (Vol. Third edition). New York: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1174463