Программирование лингвистических задач

Внимание! Материалы могут быть недоступны или обновлены на текущий учебный год.

Назад

2023–2024

Чтобы посмотреть ноутбук к занятию, перейдите по ссылке в графе "Дата".

Дата Темы Файлы Задание
Семестр 1
03.10.2023 Чтение и запись файлов .wav: wav, wavio, scipy.io.wavfile 🔒n1fpt1.wav Написать программу, которая:
1 Считывает файл .wav
2. Превращает его в стерео
3. В правый канал кладёт отсчёты левого в обратном порядке
4. Вставляет паузы 200 мс (или любое другое число, но явно прописанное в коде) на 1/4, 1/2 и 3/4 длительности
5. Записывает результат в новый файл.
10.10.2023 Чтение и запись файлов .seg 🔒cta0001.zip Написать модуль для чтения и записи файлов .seg. В модуле должны быть реализованы два класса:
класс Label с полями position (целое число, положение метки в отсчётах), level (строка, формат "буква-цифра"), name (строка)
класс Seg с методами для чтения и записи как одиночного файла .seg, так и группы файлов .seg_**
17.10.2023 Работа с метками основного тона 🔒cta0001.zip
cta0001.pm
Написать программу, которая считывает из файлов .seg и .PointProcess границы периодов основного тона и строит график зависимости частоты основного тона от времени.
Значения по оси X — временные метки в секундах с равным промежутком, который задаётся отдельной переменной. Например: [0.0, 0.01, 0.02, ...]
Значения по оси Y — значение ЧОТ в данный момент времени, вычисленное с помощью линейной интерполяции по двум ближайшим меткам, или None, если момент находится внутри глухого участка.
Использовать программу для построения графика ЧОТ к файлу cta0001.wav. Сравнить работу автоматического детектора ЧОТ WaveAssistant, Praat с эталонными метками cta0001.seg_G1.
24.10.2023 Обработка сигнала окнами. Оконные фукнции.
Вычисление спектра сигнала. matplotlib
Написать программу, которая вычисляет динамическую спектрограмму и выводит её на экран.
31.10.2023 Вычисление интенсивности. intensity.png Написать программу, которая вычисляет интенсивность звукового сигнала и выводит на экран график.
07.11.2023 Аннотация .TextGrid 🔒cta_seg.zip
result_example.png
Написать программу, которая вычисляет длительности звуков по набору файлов .seg, проводит z-нормализацию и записывает метки звуков и информацию о нормализованной длительности в файл .TextGrid
14.11.2023 Библиотека parselmouth fpt1 Написать программу, которая строит графики F1-F2 гласных по фонетически представительному тексту.
21-28.11.2023 Автокорреляция I-II Proceedings_1993.pdf Написать программу, которая вычисляет частоту основного тона в сигнале по упрощённому алгоритму, реализованному в Praat.
05.12.2023 Машинное обучение I Написать программу, которая вычисляет accuracy, precision, recall, F1-score, строит матрицу ошибок.
12.12.2023 Машинное обучение II Дополнить классификатор стандартизацией и восполнением данных.
Семестр 2
17.02.2024 Токенизация
nltk
Написать программу, разбивающую текст на предложения и слова
24.02.2024 Стемминг
Лемматизация
Написать стеммер для кратких и полных прилагательных
09.03.2024 Расстояние Левенштейна levenshtein_paper.pdf Написать программу для вычисления расстояния Левенштейна
16.03.2024 Исправление опечаток fontanka_freqs.txt Написать программу для исправления опечаток в слове
23.03.2024 N-граммы Презентация
Speech and Language Processing: N-grams
conference_stud_clean.pkl
conference_march.pkl
Написать программу классификации текста по N-граммам
30.03.2024 Наивный Байесовский классификатор Написать программу классификации текста с помощью НБК
06.04.2024 Tf-idf
06.04.2024 word2vec Написать программу поиска по набору текстов с помощью word2vec
13.04.2024 Закон Ципфа. Энтропия

Другие курсы:

Основы программирования (второй курс)

Разработка и реализация алгоритмов с использованием языка Python (третий курс)

Программирование на языке Python (магистратура)

Полезные ссылки:

Документация к языку Python

Основы программирования на Python (курс НИУ ВШЭ)

Google's Python Class

LeetCode: банк задач по программированию

Среды разработки:

Среда разработки PyCharm

Среда разработки Visual Studio Code

Среда разработки для начинающих Thonny

Jupyter Notebook

Google Colab

Список дополнительной литературы:

  1. Марк Лутц, Программирование на Python, 4-е изд., в 2-х т. Символ-Плюс, 2011
  2. Марк Лутц, Изучаем Python, 4-е изд., Символ-Плюс, 2011
  3. Б. Керниган, Р. Пайк, Практика программирования, Невский диалект, 2001

Подписывайтесь на соцсети нашей кафедры!
t.me/phonetics_spbu
vk.com/phonetics.spbu