Бакалавриат
2021/2022





Программирование и лингвистические данные
Статус:
Курс обязательный (Фундаментальная и компьютерная лингвистика)
Направление:
45.03.03. Фундаментальная и прикладная лингвистика
Кто читает:
Школа лингвистики
Где читается:
Факультет гуманитарных наук
Когда читается:
3-й курс, 2 модуль
Формат изучения:
с онлайн-курсом
Онлайн-часы:
40
Охват аудитории:
для всех кампусов НИУ ВШЭ
Преподаватели:
Мороз Георгий Алексеевич
Язык:
русский
Кредиты:
3
Контактные часы:
2
Программа дисциплины
Аннотация
Курс знакомит студентов с основами работы в R и RSrudio, с основными типами данных, методами сбора, обработки и трансформации данных, формирует умение преобразовывать и визуализировать данные, тренирует навык самостоятельного анализа данных.
Цель освоения дисциплины
- В результате освоения дисциплины студент должен уметь: 1) публиковать свои данные на веб-сайте; 2) пользоваться редактором Notepad++ и программами сравнения текстов для ручной обработки текстовых данных; строить алгоритмы для решения практических задач; 3) использовать средства языка Python для реализации алгоритмов, в частности, специфических для компьютерной лингвистики; 4) пользоваться консолью unix, работать с файловой системой, ставить пакеты; 6) пользоваться англоязычной документацией языка Python. Дисциплина входит в базовую часть профессионального цикла (модуль «Программирование»).
- Овладение навыками программирования на языке Python
- знакомство с основами работы в R и RStudio
- Овладение навыками применения регулярных выражений при работе с текстом
- знакомство с основными типами данных (таблицы, тексты, изображение с текстом)
- Получение опыта применения языка Python для решения задач, возникающих при автоматической обработке текстов
- знакомство с основными методами сбора, обработки и трансформации данных
- знакомство с основными методами визуализации и представления данных
- знакомство с основными методами регрессионного анализа
Планируемые результаты обучения
- владеет методам анализа строк
- владеет методами визуализации данных
- владеет методами обработки данных
- владеет основами программирования на R
- знает лингвистические пакеты на R
- знает чем наука о данных отличается от машинного обучения и статистики.
- Понимает критерии солгасия
- применяет корреляционный и регрессионный анализы
- применяет метод логистической регресии
- применяет основные фриквентисткие тесты
- Знать основные конструкции языка Python
- знать основные типы лингвистических ресурсов
- Знать особенности изменяемых и неизменяемых типов данных
- Знать синтаксис и особенности работы регулярных выражений
- иметь представление об основных форматах представления текста, кодировке текста
- иметь представление, какие типы лингвистической информации и какие уровни описания языка отражает лингвистический ресурс
- Уметь выполнять основные операции с использованием регулярных выражений: поиск, замена, разделение
- уметь выполнять основные операции с текстовыми данными (сортировки, фильтрация, индексирование, выделение подстроки, сводные таблицы)
- Уметь запускать программы на Python в IDLE и командной строке
- Уметь искать и устанавливать модули с помощью pip
- Уметь писать функции и тестировать их работу
- уметь пользоваться инструментами разметки корпуса (ELAN, UDpipe, акцентуаторы)
- Уметь пользоваться модулем collections
- уметь пользоваться полнофункциональными текстовыми и табличными редакторами
- уметь пользоваться различными типами поисковых корпусных систем
- Уметь преобразовывать строки в различные типы данных
- Уметь применять словари и списки для работы с данными
- Уметь производить основные операции с файлами: чтение, запись, изменение
- Уметь производить основные операции с файловой системой: поиск файлов и директорий, получение содержимого директории, обход директорий, копирование и перемещение файлов и папок
- Уметь работать с модулем re
- Уметь разделять программу на модули и использовать чужие модули для своих нужд
- Уметь разделять программу на релевантные функции
- уметь размечать пользовательские корпусные данные на различных лингвистических и текстовом уровнях
- Уметь решать прикладные задачи с применением условных конструкций
- Уметь решать прикладные задачи с применением циклов
- уметь собирать и корректно интепретировать частотную информацию из корпуса
- владеет модулями скачивания из интернета и обработки текстовых данных
- знает и использует различные типы данных и различные методы
- знает и использует различные форматы данных
- научился создавать веб-приложения и выкладывать их
- овладел модулями взаимодействия с внешними серверами
- овладел модулями визуализации данных
- овладел модулями компьютерной обработки текстовых данных
- умеет выбирать подходящий для задачи формат графика, умеет правильно оформлять графические элементы
Содержание учебной дисциплины
- Начало работы с Python. Базовые арифметические операции. Переменные
- Введение в Data Science
- Сбор и обработка текстовых данных с помощью Python
- Управляющие конструкции в Python
- Форматы и хранение лингвистических данных
- Введение в R: основные элементы, функции, циклы
- Управляющие конструкции в Python (продолжение)
- Продвинутая обработка данных: пакеты tidyr и dplyr
- Форматы и хранение лингвистических данных (продолжение)
- Циклы и индексы в Python
- Структуры данных и стандартные методы Python
- Работа со строками: строки в R, регулярные выражения
- Структуры данных в Python
- Введение в создание веб-приложений
- Визуализация данных: base R vs. ggplot2
- Работа с файлами
- Обработка естественного языка
- Лингвистические пакеты
- Работа с файлами (продолжение)
- Введение в статистику: основы фриквентисткой статистики, формулировка гипотез
- Обработка естественного языка (продолжение)
- Функции в Python
- Корреляция и линейная регрессия
- Взаимодействие с внешними сервисами. API.
- Модули Python
- Визуализация данных
- Логистическая и мультиномиальная регрессия
- Регулярные выражения
- Критерии согласия
- Работа с файловой системой
- Лингвистические ресурсы
- Основы анализа и обработки текста
- Основы анализа и обработки текста (продолжение)
- Методы и инструменты создания корпусов.
Элементы контроля
- Контрольные работыПересдается в течение недели после окончания пропуска по уважительной причине, но не позднее 10 дней до сессии, если преподавателем не указано иное.
- Домашние заданияПересдается в течение недели после окончания пропуска по уважительной причине, но не позднее 10 дней до сессии, если преподавателем не указано иное.
- Тесты
- ПроектПересдается в течение недели после окончания пропуска по уважительной причине, но не позднее 10 дней до сессии, если преподавателем не указано иное.
- ЭкзаменПо общим правилам пересдачи экзамена, пропущенного по уважительной причине.
- Экзамен по КИЛИПересдается в течение недели после окончания пропуска по уважительной причине, но не позднее 10 дней до сессии.
- проектЭкзамен проходит в письменной форме. Студент загружает свой проект в репозиторий на платформе github. Процедура пересдачи аналогична процедуре сдачи.
- домашние заданияоценка за домашние задания, которая считается так: О д/з= 0,0375 * (О д/з1 + О д/з2 + О д/з3 + О д/з4 + О д/з5 + О д/з6 + О д/з7 + О д/з10 + О д/з11 + О д/з12) + 0,075 * (О д/з8 + О д/з9 + О д/з13)
- квизыусреднённая оценка за мини-квизы, проводимые в начале занятий
- Промежуточные тесты
- Финальный тест
- Промежуточные тесты
- Финальный тест
Промежуточная аттестация
- 2019/2020 учебный год 1 модуль0.3 * Экзамен по КИЛИ + 0.6 * Домашние задания + 0.1 * Тесты
- 2019/2020 учебный год 4 модуль0.1 * Домашние задания + 0.2 * Тесты + 0.2 * Экзамен + 0.2 * Контрольные работы + 0.3 * Проект
- 2020/2021 учебный год 4 модуль0.3 * проект + 0.1 * квизы + 0.6 * домашние задания
- 2021/2022 учебный год 2 модуль0.6 * Промежуточные тесты + 0.4 * Финальный тест
Список литературы
Рекомендуемая основная литература
- Wickham, H., & Grolemund, G. (2016). R for Data Science : Import, Tidy, Transform, Visualize, and Model Data (Vol. First edition). Sebastopol, CA: Reilly - O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1440131
- Основы алгоритмизации и программирования на Python : учеб. пособие / С.Р. Гуриков. — М. : ФОРУМ : ИНФРА-М, 2020. — 343 с. — (Среднее профессиональное образование). - Режим доступа: http://znanium.com/catalog/product/1042452
- Федоров Д. Ю. - ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ PYTHON 2-е изд. Учебное пособие для СПО - М.:Издательство Юрайт - 2019 - 161с. - ISBN: 978-5-534-11961-9 - Текст электронный // ЭБС ЮРАЙТ - URL: https://urait.ru/book/programmirovanie-na-yazyke-vysokogo-urovnya-python-446505
Рекомендуемая дополнительная литература
- Mailund, T. (2017). Beginning Data Science in R : Data Analysis, Visualization, and Modelling for the Data Scientist. New York: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1484645
- Основы алгоритмизации и программирования на Python : учеб. пособие / С.Р. Гуриков. — М. : ФОРУМ : ИНФРА-М, 2017. — 343 с. — (Высшее образование: Бакалавриат). - Режим доступа: http://znanium.com/catalog/product/772265
- Регулярные выражения, Фридл, Дж., 2008