Difference between revisions of "BSc: MethodsForProcessingAndGeneratingTextAndSpeech"

From IU
Jump to navigation Jump to search
Line 164: Line 164:
 
|- style="background-color:#F8F9FA; color:#202122;" | style="text-align:center;" | 4. || Семантический анализ. Дистрибутивная семантика || Проверка выполнения домашних заданий; Проверка разработки отдельных частей кода программного продукта || Проверка выполнения домашних заданий; Проверка разработки отдельных частей кода программной реализации
 
|- style="background-color:#F8F9FA; color:#202122;" | style="text-align:center;" | 4. || Семантический анализ. Дистрибутивная семантика || Проверка выполнения домашних заданий; Проверка разработки отдельных частей кода программного продукта || Проверка выполнения домашних заданий; Проверка разработки отдельных частей кода программной реализации
 
|- style="background-color:#F8F9FA; color:#202122;" | style="text-align:center;" | 5. || Методы глубокого обучения в обработке текста и речи || Проверка выполнения домашних заданий; Проверка разработки отдельных частей кода программного продукта || Проверка выполнения домашних заданий; Проверка разработки отдельных частей кода программной реализации
 
|- style="background-color:#F8F9FA; color:#202122;" | style="text-align:center;" | 5. || Методы глубокого обучения в обработке текста и речи || Проверка выполнения домашних заданий; Проверка разработки отдельных частей кода программного продукта || Проверка выполнения домашних заданий; Проверка разработки отдельных частей кода программной реализации
|- style="background-color:#F8F9FA; color:#202122;" | style="text-align:center;" | 6. || Большие языковые модели || Проверка выполнения домашних заданий; Проверка разработки отдельных частей кода программного продукта || Проверка выполнения домашних заданий; Проверка разработки отдельных частей кода программной реализации
+
|- style="background-color:#F8F9FA; color:#202122;" | style="text-align:center;" | 6 || Большие языковые модели || Проверка выполнения домашних заданий; Проверка разработки отдельных частей кода программного продукта || Проверка выполнения домашних заданий; Проверка разработки отдельных частей кода программной реализации
 
 
 
|}
 
|}
   

Revision as of 13:25, 4 April 2024

Методы обработки и генерации текста и речи

Квалификация выпускника: бакалавр
Направление подготовки: 09.03.01 - “Информатика и вычислительная техника”
Направленность (профиль) образовательной программы: Математические основы ИИ
Программу разработал(а): Иванов Владимир Владимирович

1. Краткая характеристика дисциплины

Изучение дисциплины обеспечивает формирование и развитие компетенций обучающихся в области обработки естественного языка при проектировании интеллектуальных систем, их применение для решения различных прикладных задач в рамках профессиональной деятельности. В ходе освоения дисциплины обучающиеся рассматривают классические методы анализа текста, языковые модели, а также современные подходы на основе глубоких нейронных сетей.


2. Перечень планируемых результатов обучения

Целью освоения дисциплины является выработка у студентов понимания математических и лингвистических основ методов автоматической обработки текстов на естественном языке. В первой части курса, посвященной классическим методам целью является изучение приложений теорией вероятностей, теории информации, методов статистики и теории графов в задачах интеллектуального анализа текста. Во второй части курса акцент сделан на изучение нейросетевых архитектур, применяемых в современных системах искусственного интеллекта.


Задачами дисциплины являются изучение классических и современных методов обработки и анализа текстов на естественном языке, включая изучение фундаментальных подходов к анализу текста, развитие и закрепление навыков работы с современными программными средствами обработки естественного языка.


Общая характеристика результата обучения по дисциплине

Знания:сформированы систематические знания по
  • Фундаментальным подходам к анализу текста;
  • Различным алгоритмам обработки естественного языка;
  • Способам измерения производительности систем обработки текста;
  • Популярным программным инструментам для обработки текста на естественном языке.


Умения: по завершении курса студенты должны уметь:
  • описывать и объяснять разницу между формальным и естественным языками;
  • описывать и объяснять классические методы, используемые для анализа текста;
  • описывать и объяснять архитектуры нейронных сетей, используемых для анализа текста;
  • объяснить разницу между различными архитектурами нейронных сетей для анализа текста;
  • описывать и объяснять современные архитектуры (Трансформер, BERT, GPT).


Навыки (владения): по завершении курса студенты должны владеть навыками:
  • применения методов машинного обучения для решения задач обработки текста;
  • применения методов оценки качества систем обработки текста;
  • применения алгоритмов глубокого обучения для решения задач обработки текста.


3. Структура и содержание дисциплины

  • Лексический анализ. Автоматическое выделение частей речи (POS-tagging).
  • Методы классификации текста. Модели на основе мешка слов. TF*IDF. PPMI
  • Методы выделения именованных сущностей (NER).
  • Скрытые марковские модели (HMM), условные случайные поля (CRF) в задачах обработки текста
  • Алгоритм Витерби

п/п
Наименование раздела
дисциплины
Содержание дисциплины по темам
1. Введение
  • Основные проблемы, возникающие при обработке текста.
  • Корпусы текстов, словари и другие лингвистические ресурсы.
  • Приложения: ассистенты (чат-боты), извлечение информации из текста.
  • Классические и современные (нейросетевые) подходы к анализа и генерации текста и речи.
3. Языковые модели. Синтаксический анализ
  • Языковое моделирование. Перплексия
  • Моделирование языка с помощью N-gram.
  • Нейронные языковые модели.
  • Классификация формальных языков и формальных грамматик (Иерархия Хомского).
  • Синтаксический анализ текста: контекстно-зависимые грамматики. Формализмы для представления синтаксического разбора: деревья зависимостей. Проективность.
  • Методы синтаксического анализа текста: алгоритм CYK, максимальное покрывающее дерево.
4. Семантический анализ. Дистрибутивная семантика
  • Дистрибутивная семантика. Распределенные векторные представления слов (word2vec, GloVe, fasttext). Векторные базы данных
  • Тезаурусы и лингвистические базы данных. WordNet.
  • Онтологии и графы знаний. РуТез
  • Методы обучения векторных представлений на графах знаний
  • Анализ тональности текста. Применение сверточных нейронных сетей для анализа тональности.
5. Методы глубокого обучения в обработке текста и речи
  • Нейронные сети прямого распространения. Рекуррентные нейронные сети. LSTM. Механизм внимания. ELMo
  • Архитектура “Трансформер”. Механизм самовнимания. Позиционные вложения. Архитектуры: BERT, RoBERTa, T5, GPT. Методы предварительного обучения и переноса обучения.
  • Приложения: машинный перевод, классификация, вопросно-ответные системы, суммаризация (автоматическое реферирование) текста
6. Большие языковые модели
  • Примеры моделей: GPT-3, GPT-4. LLaMa
  • Методы эффективного дообучения больших языковых моделей (LoRA).
  • Методы применения больших языковых моделей: промпты, Chain-of-Thoughts
  • “Галлюцинации” больших языковых моделей и другие проблемы
  • Этические аспекты разработки и применения генеративного искусственного интеллекта


4. Методические и оценочные материалы

Задания для практических занятий:


п/п
Наименование раздела
дисциплины (модуля)
Перечень рассматриваемых тем (вопросов)
1. Введение Реализация алгоритма токенизации (BPE).
2. Классические методы предобработки и анализа текста Подсчитать 10 наиболее частых слов в пьесах, представленных в файле data.txt. Чтобы правильно подсчитать частые слова, вы должны выполнить лемматизацию и удалить стоп-слова.

Обучить модель для распознавание названий ингредиентов рецепта (NER).

3. Языковые модели. Синтаксический анализ Создать языковую модель на основе N-грамм для генерации текста.

Классифицировать медицинские записи по типам медицинских специальностей с использованием дерева зависимостей.

4. Семантический анализ. Дистрибутивная семантика Разработать классификацию описаний по категориям с использованием fasttext.

Разработать и обучить модель для предсказания связей между узлами в данном графе знаний.

5. Методы глубокого обучения в обработке текста и речи Переводить английские предложения на голландский с использованием RNN с механизма внимания

Разработать и обучить модель классификации описаний по категориям с использованием моделей на основе RNN

6. Большие языковые модели Использовать большую языковую модель для решения задачи распознавания тональности текста (для задачи извлечения именованных сущностей)

Текущий контроль успеваемости обучающихся по дисциплине:


п/п
Наименование раздела
дисциплины
Форма текущего контроля
Материалы текущего контроля

Контрольные вопросы для подготовки к промежуточной аттестации:


п/п
Наименование
раздела дисциплины
Вопросы
1. Введение Реализация алгоритма токенизации (BPE).
2. Классические методы предобработки и анализа текста Подсчитать 10 наиболее частых слов в пьесах, представленных в файле data.txt. Чтобы правильно подсчитать частые слова, вы должны выполнить лемматизацию и удалить стоп-слова.

Обучить модель для распознавание названий ингредиентов рецепта (NER).

3. Языковые модели. Синтаксический анализ Создать языковую модель на основе N-грамм для генерации текста.

Классифицировать медицинские записи по типам медицинских специальностей с использованием дерева зависимостей.

4. Семантический анализ. Дистрибутивная семантика Разработать классификацию описаний по категориям с использованием fasttext.

Разработать и обучить модель для предсказания связей между узлами в данном графе знаний.

5. Методы глубокого обучения в обработке текста и речи Переводить английские предложения на голландский с использованием RNN с механизма внимания

Разработать и обучить модель классификации описаний по категориям с использованием моделей на основе RNN

6. Большие языковые модели Использовать большую языковую модель для решения задачи распознавания тональности текста (для задачи извлечения именованных сущностей)

Вопросы/Задания к промежуточной аттестации в устной/письменной форме:

Основы / Токенизация / Сегментация предложений
1. Что из перечисленного является основной проблемой обработки естественного языка (НЛП)?
● Естественные языки имеют регулярную природу.
● Постоянные изменения естественных языков
● НЛП требует больших корпусов

2. Предоставляет ли регулярное выражение «\w+» другую токенизацию по сравнению с регулярным выражением «[\w]+»?
● Да
● Нет
● «\w+» не является допустимым регулярным выражением.

3. Какое из следующих определений относится к стеммингу?
● Процесс приведения измененных слов к их корневой форме
● Процесс группировки изменяемых форм слова, чтобы их можно было проанализировать как один элемент, идентифицируемый словарной формой слова.

4. Может ли токенизатор BPE выучить морфемы языка?
● Да
● Нет
● Токенизатор BPE не является моделью машинного обучения, поэтому он не может ничему научиться.

Скрытые марковские модели // POS-теггинг

6. Процесс обнаружения последовательности скрытых состояний при заданной последовательности наблюдений называется
● Кодирование
● Обучение
● Декодирование

7. В HMM вероятности выбросов играют роль:
● вероятность наблюдения
● вероятности перемещения между состояниями
● вероятности эмиссии начального состояния
8. Алгоритм Витерби для предсказания меток последовательностей…
● Может использоваться только с HMM, поскольку HMM — это генеративная модель.
● Может использоваться только с CRF, поскольку CRF является дискриминативным.
● Может использоваться с обоими типами моделей PoS.


N-grams. Языковые модели

9. Вспоминая определение ngram, какое из следующих определений точно определяет триграмму?
● Последовательность из трех слов, встречающихся вместе в тексте
● Вероятностная модель, основанная на трехсловных сочетаниях
● Метод синтаксического анализа, ориентированный на тройки слов.

10. Что измеряет перплексия?
● Сложность архитектуры языковой модели
● Степень неопределенности языковой модели на невидимых данных
● Эффективность алгоритмов обучения при генерации текста

11. Как включение токенов между предложениями или отдельных токенов начала и конца предложения влияет на вычисление недоумения в языковых моделях?
● Это увеличивает недоумение, вводя в словарный запас дополнительные лексемы.
● Это уменьшает недоумение, обеспечивая более четкие границы предложений.
● Это не влияет на расчет недоумения.
● Мы не знаем, как именно, он лишь корректирует общее количество словесных токенов, учитываемых при вычислении недоумения.

Синтаксис. Анализ зависимостей

12. Какие подходы к анализу зависимостей основаны на контролируемом машинном обучении?
● основанный на переходе
● основанный на графе
● оба

13. Почему непроективность является проблемой при разборе зависимостей?
● Непроективное дерево можно нарисовать без пересекающихся ребер.
● Неполнота всех древовидных банков автоматически выводится из древовидных банков фразовой структуры.
● Ни один анализатор зависимостей не может создать непроективное дерево.

14. Эквивалентны ли грамматические формализмы фразовой структуры форме Бэкуса-Наура?
● Да
● Нет
● Это зависит

Вложения. Лексическая семантика

15. Какие недостатки имеет подход Skip-gram по сравнению с подходом CBOW?
● Медленное время обучения
● Снижение производительности для редких слов
● Игнорирует порядок слов

16. Какова основная цель отрицательной выборки в процессе обучения встраиваниям?
● Сделайте набор обучающих данных разнообразным
● Решайте проблемы, возникающие во время обучения, с помощью softmax
● Изучите вложения антонимов

17. Как GloVe использует матрицу совпадений?
● В качестве показателя оценки
● В качестве цели в функции потерь
● В качестве вложения


Перечень учебно-методического обеспечения дисциплины

Список основной литературы:
1. Jurafsky D., Martin J.H. Speech and Language Processing (3rd ed.). 2024 https://web.stanford.edu/~jurafsky/slp3/
2. Clark, Alexander, Chris Fox, and Shalom Lappin, eds. The handbook of computational linguistics and natural language processing. John Wiley & Sons, 2013.
3. Indurkhya N., Damerau F. J. Handbook Of Natural Language Processing, Second Edition Chapman & Hall Crc Machine Learning & Pattern Recognition 2010

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

Géron A. Hands-on machine learning with Scikit-Learn and TensorFlow: concepts, tools, and techniques to build intelligent systems. – " O'Reilly Media, Inc.", 2019. SECOND EDITION

Методические указания для обучающихся по освоению дисциплины

Вид учебных
занятий/деятельности
Деятельность обучающегося
Практическое (семинарское) занятие При подготовке к семинарскому (практическому) занятию необходимо проработать материалы лекций, основной и дополнительной литературы по заданной теме. На основании обработанной информации постараться сформировать собственное мнение по выносимой на обсуждение тематике. Обосновать его аргументами, сформировать список источников, подкрепляющих его.

Во время семинарского (практического) занятия активно участвовать в обсуждении вопросов, высказывать аргументированную точку зрения на проблемные вопросы. Приводить примеры из источниковой базы и научной и/или исследовательской литературы.

Устный/письменный опрос Отвечать, максимально полно, логично и структурировано, на поставленный вопрос. Основная цель – показать всю глубину знаний по конкретной теме или ее части.
Реферат Поиск источников и литературы, составление библиографии. При написании реферата рекомендуется использовать разнообразные источники, монографии и статьи из научных журналов, позволяющие глубже разобраться в различных точках зрения на заданную тему. Изучение литературы следует начинать с наиболее общих трудов, затем следует переходить к освоению специализированных исследований по выбранной теме. Могут быть использованы ресурсы сети «Интернет» с соответствующими ссылками на использованные сайты.

Если тема содержит проблемный вопрос, следует сформулировать разные точки зрения на него. Рекомендуется в выводах указать свое собственное аргументированное мнение по данной проблеме. Подготовить презентацию для защиты реферата.

Эссе Написание прозаического сочинения небольшого объема и свободной композиции, выражающего индивидуальные впечатления и соображения по конкретному поводу или вопросу и заведомо не претендующего на определяющую или исчерпывающую трактовку предмета. При работе над эссе следует четко и грамотно формулировать мысли, структурировать информацию, использовать основные понятия, выделять причинно-следственные связи. Как правило эссе имеет следующую структуру: вступление, тезис и аргументация его, заключение. В качестве аргументов могут выступать исторические факты, явления общественной жизни, события, жизненные ситуации и жизненный опыт, научные доказательства, ссылки на мнение ученых и др.
Подготовка к промежуточной аттестации При подготовке к промежуточной аттестации необходимо проработать вопросы по темам, которые рекомендуются для самостоятельной подготовки. При возникновении затруднений с ответами следует ориентироваться на конспекты лекций, семинаров, рекомендуемую литературу, материалы электронных и информационных справочных ресурсов, статей.

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

Практические (лабораторные) занятия Практические занятия предназначены прежде всего для разбора отдельных сложных положений, тренировки аналитических навыков, а также для развития коммуникационных навыков. Поэтому на практических занятиях необходимо участвовать в тех формах обсуждения материала, которые предлагает преподаватель: отвечать на вопросы преподавателя, дополнять ответы других студентов, приводить примеры, задавать вопросы другим выступающим, обсуждать вопросы и выполнять задания в группах. Работа на практических занятиях подразумевает домашнюю подготовку и активную умственную работу на самом занятии. Работа на практических занятиях в форме устного опроса заключается прежде всего в тренировке навыков применять теоретические положения к самому разнообразному материалу. В ходе практических занятий студенты работают в группах для обсуждения предлагаемых вопросов.
Самостоятельная работа Самостоятельная работа состоит из следующих частей: 1) чтение учебной, справочной, научной литературы; 2) повторение материала лекций; 3) составление планов устных выступлений; 4) подготовка видеопрезентации. При чтении учебной литературы нужно разграничивать для себя материал на отдельные проблемы, концепции, идеи. Учебную литературу можно найти в электронных библиотечных системах, на которые подписан АНО Университет Иннополис.
Видеопрезентация Подготовка видеопрезентаций по курсу. Видеопрезентации могут быть сделаны на любую тему, затронутую в ходе курса. Темы должны быть заранее согласованы с преподавателем. Видеопрезентации продолжительностью около 5 минут (300 секунд) должны быть подготовлены в группах, определяемых преподавателем. Несмотря на то, что это групповая работа, должен явно присутствовать вклад каждого члена группы.
Доклад Публичное, развернутое сообщение по определенной теме или вопросу, основанное на документальных данных. При подготовке доклада рекомендуется использовать разнообразные источники, позволяющие глубже разобраться в теме. Учебную литературу можно найти в электронных библиотечных системах, на которые подписан АНО Университет Иннополис.
Дискуссия Публичное обсуждение спорного вопроса, проблемы. Каждая сторона должна оппонировать мнение собеседника, аргументируя свою позицию.
Контрольная работа При подготовке к контрольной работе необходимо проработать материалы лекций, семинаров, основной и дополнительной литературы по заданной теме.
Тестирование (устное/письменное) При подготовке к тестированию необходимо проработать материалы лекций, семинаров, основной и дополнительной литературы по заданной теме. Основная цель тестирования – показать уровень сформированности знаний по конкретной теме или ее части.
Индивидуальная работа При выполнение индивидуальной работы необходимо взять задание у преподавателя, ознакомиться с требованиями к выполнению работы, изучить поставленную проблему, найти решение проблемы. Если самостоятельно не удается разобраться в материале, необходимо сформулировать вопрос и задать преподавателю на консультации, во время семинарского (практического) занятия. Оформить результаты работы.
Разработка отдельных частей кода Разработать часть кода, исходя из поставленной задачи и рекомендаций преподавателя. При выполнении работы рекомендуется обращаться к материалам лекций и семинарских (практических) занятий. Если возникают затруднения, необходимо проконсультироваться с преподавателем.
Выполнение домашних заданий и групповых проектов Для выполнения домашних заданий и групповых проектов необходимо получить формулировку задания от преподавателя и убедиться в понимании задания. При выполнение домашних заданий и групповых проектов необходимо проработать материалы лекций, основной и дополнительной литературы по заданной теме.


Методы и технологии обучения, способствующие формированию компетенции

Методы и технологии обучения, способствующие формированию компетенции
Информационно – коммуникационная технология, Педагогика сотрудничества, Традиционные технологии, Модульная технология