We use cookies in order to improve the quality and usability of the HSE website. More information about the use of cookies is available here, and the regulations on processing personal data can be found here. By continuing to use the site, you hereby confirm that you have been informed of the use of cookies by the HSE website and agree with our rules for processing personal data. You may disable cookies in your browser settings.

  • A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Programming for Linguists

2020/2021
Academic Year
RUS
Instruction in Russian
4
ECTS credits
Delivered at:
Department of Applied Mathematics and Informatics (Faculty of Informatics, Mathematics, and Computer Science (HSE Nizhny Novgorod))
Course type:
Elective course
When:
3 year, 4 module

Instructor


Тугарев Артем Михайлович

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

Аннотация

Основная часть курса посвящена углубленному изучению программирования на языке Python, алгоритмов и регулярных выражений, практических лингвистических задач. В результате освоения дисциплины студент должен: • Знать встроенные структуры данных языка Python(списки, словари, множества, кортежи и др.); • Уметь составлять и реализовывать алгоритмы на языке питон; • Уметь применять полученные знания для решения практических задач • Иметь навыки работы со средами разработки для языка Python (PyCharm, ipython, ipython notebook, PyScripter, Spyder)
Цель освоения дисциплины

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

  • Цель курса — научить студентов применять компьютерные технологии (в первую очередь, язык программирования Python) для решения возникающих на практике лингвистических задач (автоматическая обработка и анализ текстовых данных, поиск информации и др.)
Планируемые результаты обучения

Планируемые результаты обучения

  • Уметь составлять алгоритмы и оценивать сложность алгоритма
  • Знать принципы работы компиляторов и интепретаторов
  • Уметь использовать базовые алгоритмы анализа текстов
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Тема 1. Введение в алгоритмы
    Понятие алгоритма. Формальное представление алгоритма. Машина Тьюринга. Оценка сложности алгоритма. Базовые алгоритмы
  • Тема 2. Компиляторы, интерпретаторы
    Знакомство со средой разработки. Способы ввода-вывода. Арифметические выражения. Переменные. Операции с целым и вещественным числом. Условные переходы. Циклы. Цикл for. Цикл while. Строки. Файловый ввод-вывод. Списки. Встроенные контейнеры (туплы, множества,словари). Встроенные функции. Объявление функций. Рекурсивный вызов
  • Тема 3. Алгоритмы анализа текста
    Базовые алгоритмы анализа текстов. Аннотация, Разметка, Корпус, Документ, Приложение. Annotation Diff. Метрики сравнения аннотаций. Recall, Precision. Error rate. F-Мера. Corpus Quality Assurance. Corpus Benchmark. Использование Java в правой части выражений JAPE. Разработка Java-приложения на основе технологии Gate Embedded. Разработка обрабатывающего ресурса CREOLE (a Collection of REusable Objects for Language Engi-neering)
Элементы контроля

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

  • неблокирующий Аудиторная работа
  • неблокирующий Экзамен
Промежуточная аттестация

Промежуточная аттестация

  • Промежуточная аттестация (4 модуль)
    0.5 * Аудиторная работа + 0.5 * Экзамен
Список литературы

Список литературы

Рекомендуемая основная литература

  • 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

Рекомендуемая дополнительная литература

  • Kurdi, M. Z. (2017). Natural Language Processing and Computational Linguistics 2 : Semantics, Discourse and Applications. London, UK: Wiley-ISTE. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1642577