• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 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