• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Версия для слабовидящихЛичный кабинет сотрудника ВШЭПоиск
Бакалавриат 2018/2019

Программирование и компьютерные инструменты лингвистического исследования

Направление: 45.03.03. Фундаментальная и прикладная лингвистика
Когда читается: 2-й курс, 1, 2, 4 модуль
Формат изучения: Full time
Преподаватели: Бородин Ростислав Алексеевич, Дереза Оксана Владимировна, Попова Дарья Павловна
Язык: русский
Кредиты: 3

Программа дисциплины

Аннотация

Цель курса — научить слушателей применять компьютерные технологии (в первую очередь, язык программирования Python) для решения возникающих на практике лингвистических задач: автоматическая обработка и анализ текстовых данных, поиск информации и др. Часть курса посвящена изучению программирования на языке Python, алгоритмов и модулей. Также, одной из целей освоения дисциплины «Методы компьютерной обработки лингвистических данных» является знакомство с форматами лингвистических данных, средствами их хранения и предоставления открытого доступа к ним.
Цель освоения дисциплины

Цель освоения дисциплины

  • В результате освоения дисциплины студент должен уметь: 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.
Элементы контроля

Элементы контроля

  • неблокирующий проект
  • неблокирующий домашнее задание 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