Бакалавриат
2019/2020
Программирование и лингвистические данные
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Лучший по критерию «Новизна полученных знаний»
Статус:
Курс обязательный (Фундаментальная и компьютерная лингвистика)
Направление:
45.03.03. Фундаментальная и прикладная лингвистика
Кто читает:
Школа лингвистики
Где читается:
Факультет гуманитарных наук
Когда читается:
2-й курс, 1, 2, 4 модуль
Формат изучения:
с онлайн-курсом
Язык:
русский
Кредиты:
3
Контактные часы:
66
Программа дисциплины
Аннотация
Язык программирования Python является одним из самых простых в освоении и популярных языков программирования. Данный язык является мощным инструментом анализа данных и может повысить эффективность практически любой деятельности в науке и индустрии. С помощью языка Python можно автоматизировать рутинные операции и обрабатывать объемы данных, на несколько порядков превышающие объемы, доступные для обработки вручную или с помощью электронных таблиц. С использованием онлайн-курса "Python для извлечения и обработки данных" [URL: https://courses.openedu.ru/courses/course-v1:hse+PYTHON_HSE+special_2020/]. Консультации преподавателей будут проходить в Zoom. Консультации будут проводиться за несколько недель до экзамена. Время и ссылка будут опубликованы на вики-странице курса - https://tinyurl.com/uq3sjz2
Цель освоения дисциплины
- В результате освоения дисциплины студент должен уметь: a. публиковать свои данные на веб-сайте; b. пользоваться редактором Notepad++ и программами сравнения текстов для ручной обработки текстовых данных; c. строить алгоритмы для решения практических задач; d. использовать средства языка Python для реализации алгоритмов; e. пользоваться консолью unix, работать с файловой системой, ставить пакеты; f. подключаться к серверу по ssh; g. пользоваться англоязычной документацией языка Python; Настоящая дисциплина входит в базовую часть профессионального цикла (модуль «Программирование»). При изучении дисциплины используются знания и навыки, полученные в результате освоения дисциплины «Компьютерные инструменты лингвистического исследования» (1 курс).
Планируемые результаты обучения
- владеет модулями скачивания из интернета и обработки текстовых данных
- знает и использует различные форматы данных
- знает и использует различные типы данных и различные методы
- научился создавать веб-приложения и выкладывать их
- овладел модулями компьютерной обработки текстовых данных
- овладел модулями взаимодействия с внешними серверами
- овладел модулями визуализации данных; умеет выбирать подходящий для задачи формат графика, умеет правильно оформлять графические элементы
Содержание учебной дисциплины
- Сбор и обработка текстовых данных с помощью PythonМодуль urllib. Язык разметки HTML. Язык разметки XML. Модули html и lxml. Краулеры и создание веб-корпусов. Bootstrap.
- Форматы и хранение лингвистических данныхВведение в SQL. Работа с базами данных в Python. Формат JSON.
- Форматы и хранение лингвистических данных (продолжение)Введение в SQL. Работа с базами данных в Python. Формат JSON.
- Структуры данных и стандартные методы PythonСтруктуры данных: кортежи (tuples), множества (sets), словари (dictionaries). Генераторы списков и словарей. Обработка исключений.
- Введение в создание веб-приложенийСоздание HTML-форм. Запросы GET и POST. Основы Flask. Основы unix: работа с консолью, установка пакетов, логин в сервер по ssh. Pythonanywhere.
- Обработка естественного языкаОсновы компьютерной обработки текстовых данных. Частотные списки, стоп-слова, закон Ципфа. N-граммы. Корпуса текстов. Лемматизация. Частеречная разметка. Морфологический анализатор Mystem. Библиотеки pymystem3 и pymorphy2. Дистрибутивная семантика и word2vec.
- Обработка естественного языка (продожение)Основы компьютерной обработки текстовых данных. Частотные списки, стоп-слова, закон Ципфа. N-граммы. Корпуса текстов. Лемматизация. Частеречная разметка. Морфологический анализатор Mystem. Библиотеки pymystem3 и pymorphy2. Дистрибутивная семантика и word2vec.
- Взаимодействие с внешними сервисамиVK API. Telegram API. GitHub API.
- Визуализация данныхБиблиотеки matplotlib и seaborn.
Элементы контроля
- проектЭкзамен проходит в письменной форме. Студент загружает свой проект в репозиторий на платформе github. Процедура пересдачи аналогична процедуре сдачи.
- домашнее задание 1
- домашнее задание 2
- домашнее задание 3
- домашнее задание 4
- домашнее задание 5
- домашнее задание 6
Промежуточная аттестация
- Промежуточная аттестация (4 модуль)0.04 * домашнее задание 1 + 0.08 * домашнее задание 2 + 0.08 * домашнее задание 3 + 0.2 * домашнее задание 4 + 0.2 * домашнее задание 5 + 0.2 * домашнее задание 6 + 0.2 * проект
Список литературы
Рекомендуемая основная литература
- Основы алгоритмизации и программирования на Python : учеб. пособие / С.Р. Гуриков. — М. : ФОРУМ : ИНФРА-М, 2017. — 343 с. — (Высшее образование: Бакалавриат). - Режим доступа: http://znanium.com/catalog/product/772265
Рекомендуемая дополнительная литература
- Регулярные выражения, Фридл, Дж., 2008