Обробка та аналіз текстових даних на Python - Робоча програма навчальної дисципліни (Силабус)

Реквізити навчальної дисципліни

Рівень вищої освіти Перший (бакалаврський)
Галузь знань 12 Інформаційні технології
Спеціальність 126 Інформаційні системи та технології
Освітня програма Інтегровані інформаційні системи, Інформаційні управляючі системи та технології, Інформаційне забезпечення робототехнічних систем
Статус дисципліни Вибіркова
Форма навчання очна(денна)/дистанційна
Рік підготовки, семестр 3 курс, весняний семестр
Обсяг дисципліни 120 годин (36 годин – лекції, 18 годин – лабораторні, 66 годин – СРС)
Семестровий контроль/ контрольні заходи Залік/залікова робота
Розклад занять http://rozklad.kpi.ua
Мова викладання Українська
Інформація про керівника курсу / викладачів Лектор: ст. викладач Тимофєєва Юлія Сергіївна, yulia.s.timofeeva@gmail.com. Лабораторні: ст. викладач Тимофєєва Юлія Сергіївна, yulia.s.timofeeva@gmail.com
Розміщення курсу https://campus.kpi.ua

Програма навчальної дисципліни

Опис навчальної дисципліни, її мета, предмет вивчання та результати навчання

Опис дисципліни

Під час навчання студенти ознайомляться з основними поняттями, методами та засобами попередньої підготовки, представлення у вигляді векторних моделей, обробки та аналізу текстових даних. На лабораторних заняттях навчаться використовувати основні бібліотеки мови Python для роботи з текстовими даними (NLTK, Gensim, Textblob, spaCy Sсіkіt-lеаrn, Pаndаѕ). Передбачено контроль якості отриманих знань у вигляді модульної контрольної роботи.

Предмет навчальної дисципліни

методи та засоби обробки та аналізу текстових даних та їх реалізація на мові Python.

Міждисциплінарні зв’язки

Дисципліна Аналіз даних з використанням мови Python базується на дисциплінах:

Мета навчальної дисципліни

Метою навчальної дисципліни є формування у студентів теоретичних знань і практичних здатностей застосовувати загальні методи і засоби підготовки, статистичної обробки та аналізу текстових даних, використовуючи основні бібліотеки мови Python для роботи з текстовими даними.

Основні завдання навчальної дисципліни

Знання
  • методів та засобів програмного представлення даних;
  • методів та засобів програмного представлення текстових даних;
  • методів та алгоритмів попередньої підготовки текстових даних;
  • методів та інструментів для класифікації, кластеризації, семантичного аналізу текстових даних;
  • основних проблем обробки природньої мови;
  • основних функції бібліотек мови Python для роботи з текстовими даними.
Уміння
  • ефективно використовувати бібліотеки мови Python для обробки та аналізу текстових даних;
  • правильно обирати методи та алгоритми для попередньої обробки даних;
  • використовувати алгоритми машинного навчання для класифікації, кластеризації, аналізу настроїв і т.д.
  • ефективно обробляти та аналізувати текстові дані.
  • створювати програми мовою Python для роботи з текстовими даними

Пререквізити та постреквізити дисципліни (місце в структурно-логічній схемі навчання за відповідною освітньою програмою)

Пререквізити

вміти користуватися комп’ютером, мати базові знання з програмування, структур даних та алгоритмів, математичного аналізу, математичної статистики, мати досвід написання простих програм мовою Python.

Постреквізити

після проходження дисципліни студенти зможуть ефективно обробляти, візуалізувати та аналізувати текстові дані, застосовувати основні алгоритми машинного навчання, вирішувати проблеми обробки природньої мови, використовувати засоби бібліотек NLTK, Gensim, Textblob, spaCy, Sсіkіt-lеаrn, Pаndаѕ.

Зміст навчальної дисципліни

Лекційні заняття
  • Розділ 1. Основні поняття обробки текстових даних
  • Розділ 2. Попередня обробка текстових даних
  • Розділ 3. Основні проблеми обробки природньої мови
  • Розділ 4. Бібліотека spaCy
Лабораторні заняття
  1. Робота з текстовими даними в Python.
  2. Попередня обробка тексту за допомогою NLTK.
  3. Моделі текстових даних.
  4. Класифікація текстових даних.
  5. Моделювання тем.
  6. Аналіз настроїв.
  7. Знайомство з об’єктами бібліотеки spaCy.
  8. Навчання моделей spaCy

Навчальні матеріали та ресурси

Базова література

  1. Benjamin Bengfort. Applied Text Analysis with Python. – O’Reilly Media, 2018. – 332p.
  2. Bhargav Srinivasa. Natural Language Processing and Computational Linguistics. – Packt, 2018. – 298p.
  3. Jens Albrecht. Blueprints for Text Analysis Using Python. – O’Reilly Media, 2021. – 422p.
  4. Aman Kedia. Hands-On Python Natural Language Processing. – Packt, 2020. – 304p.

Допоміжна література

  1. Василенко О. А. Математично-статистичні методи аналізу у прикладних дослідженнях: навч. посіб. / О. А. Василенко, І. А. Сенча. – Одеса: ОНАЗ ім. О. С. Попова, 2011. – 166 с.
  2. Sanjeev J. Wagh. Fundamentals of Data Science. — Taylor & Francis Group, LLC, 2022. – 297 р.
  3. Avinash Navlani. Python Data Analysis. —Packt Publishing, 2021. – 463 p.
  4. Joel Grus. Data Science from Scratch. – O’Reilly Media, Inc., 2019. – 513p.

Навчальний контент

Методика опанування навчальної дисципліни (освітнього компонента)

Лекційні заняття

Назва теми лекції та перелік основних питань (перелік дидактичних засобів, посилання на літературу та завдання на СРС)
1 Лекція 1. Основні поняття обробки текстових даних
Структура дисципліни та РСО. Поняття даних, види даних, текстові дані. Основні поняття задач природньої мови: корпус, сумка слів, n-грами. Методи та задачі аналізу тексту. Бібліотеки для роботи з текстовими даними
Література: ( 1,2 )
Завдання на СРС. Поглиблене вивчення матеріалів лекції
2 Лекція 2. Попередня обробка текстових даних
Задача та основні етапи попередньої обробки текстових даних. Бібліотека NLTK. Види токенізації. Пошук коренів слів та лем. Видалення стоп-слів.
Література: (4,5,6)
Завдання на СРС. Поглиблене вивчення матеріалів лекції
3 Лекція 3. Визначення частин мови
Анотування частин мови в бібліотеці NLTK. Основні корпуси бібліотеки NLTK та стандартні функції роботи з ними. Корпус WordNet.
Література: ( 2,3)
Завдання на СРС. Поглиблене вивчення матеріалів лекції
4 Лекція 4. Статистичні моделі текстових даних
Використання моделей текстових даних. Сумка слів та n-грам. Модель TF-IDF. Формування моделей за допомогою бібліотеки scikit-learn.
Література: (4)
Завдання на СРС. Поглиблене вивчення матеріалів лекції
5 Лекція 5. Моделі текстових даних на основі ШІ
Модель Word2Vec та її архітектури. Її реалізація за допомогою бібліотеки Gensim. Модель FastText. Її реалізація та пошук подібних слів. Модель Doc2Vec.
Література: (4,5,6)
Завдання для СРС. Поглиблене вивчення матеріалів лекції
6 Лекція 6. Класифікація текстів
Задача класифікації текстів та підходи до її вирішення. Види класифікації. Етапи підготовки даних до класифікації. Метрики для оцінки моделей класифікації.
Література: ( 4,5,6)
Завдання для СРС. Поглиблене вивчення матеріалів лекції
7 Лекція 7. Моделі класифікації в scikit-learn
Основні моделі, які використовуються для класифікації текстів. Наївний байєсів класифікатор з багатьма мітками. Логістична регресія. Опорні вектори. Випадкові ліси. Градієнтний бустинг.
Література: ( 2,3)
Завдання для СРС. Підготовка до першої частини модульної контрольної роботи.
8 Лекція 8. Моделювання тем
Перша частина модульної контрольної роботи. Задача моделювання тем. Ймовірнісні статистичні моделі для моделювання тем. Приховане семантичне індексування.
Література: ( 2,3)
Завдання для СРС. Поглиблене вивчення матеріалів лекції
9 Лекція 9. Вилучення інформації про документ
Прихований розподіл Діріхле. Розклад невід’ємних матриць. Виділення ключових фраз. Визначення основних біграм та триграм документу. Узагальнення документів.
Література: (3, 5, 6 )
Завдання для СРС. Поглиблене вивчення матеріалів лекції
10 Лекція 10. Кластеризація текстів
Міри подібності між документами. Вимірювання відстаней. Ієрархічні моделі кластеризації. Моделі кластеризації на основі розділів. Моделі кластеризації на основі розподілу. Моделі кластеризації на основі щільності.
Література: (5)
Завдання для СРС. Поглиблене вивчення матеріалів лекції
11 Лекція 11. Поглиблене вивчення матеріалів лекції
Проблема синтаксичного аналізу. Синтаксичні зв’язки на основі корпусу WordNet. Поняття синсетів. Визначення синонімів, омонімів, гіпонімів, гіпернімів та семантичної подібності.
Література: (5,6)
Завдання для СРС. Підготовка до другої частини модульної контрольної роботи.
12 Лекція 12. Визначення іменованих сутностей
Друга частина модульної контрольної роботи. Задача визначення та види іменованих сутностей. Засоби для визначення іменованих сутностей та їх візуалізації у бібліотеці spaCy.
Література: (5)
Завдання для СРС. Поглиблене вивчення матеріалів лекції
13 Лекція 13. Аналіз настроїв
Основні підходи до аналізу настроїв. Використання моделей класифікації для аналізу настроїв. Готові лексикони для аналізу настроїв. Бібліотека Textblob.
Література: (5)
Завдання для СРС. Поглиблене вивчення матеріалів лекції
14 Лекція 14. Об’єкти бібліотеки spaCy
Знайомство з бібліотекою spaCy. Конвеєри обробки текстових даних в spaCy. Об’єкти doc, span, token, їх атрибути та методи. Визначення стоп-слів, лем, частин мови за допомогою spaCy.
Література: (5)
Завдання для СРС. Поглиблене вивчення матеріалів лекції
15 Лекція 15. Моделі spaCy
Визначення власних навчальних даних та донавчання елементів конвеєру spaCy. Навчання моделей з нуля. Робота з моделями української мови. Компонент для категоризації текстів.
Література: (1,2,3)
Завдання для СРС. Поглиблене вивчення матеріалів лекції
16 Лекція 16. Перетворювачі spaCy
Функція перетворювачі в бібліотеці spaCy. Недоліки нейронних мереж, які є компонентами конвеєру spaCy. Перенесене навчання.
Література: ( 1, 5)
Завдання для СРС. Поглиблене вивчення матеріалів лекції
17 Лекція 17. Діалогові системи
Види та застосування діалогових систем. Основні підходи до створення чат-ботів. Проблема визначення намірів користувача. Проблема генерації відповідей системи.
Література: (2,5)
Завдання для СРС. Поглиблене вивчення матеріалів лекції
18 Лекція 18. Залікова робота.

Лабораторні заняття

Назва лабораторної роботи Кількість ауд. годин
1 Робота з текстовими даними в Python 2
2 Попередня обробка тексту за допомогою NLTK 2
3 Моделі текстових даних 2
4 Класифікація текстових даних 2
5 Моделювання тем 2
6 Аналіз настроїв 2
7 Знайомство з об’єктами бібліотеки spaCy 2
8 Навчання моделей spaCy 2
9 Підсумкове заняття 2

Самостійна робота студента/аспіранта

Назва теми, що виноситься на самостійне опрацювання Кількість годин СРС
1 Основні поняття обробки текстових даних 3
2 Попередня обробка текстових даних 4
3 Визначення частин мови 5
4 Статистичні моделі текстових даних 5
5 Моделі текстових даних на основі ШІ 4
6 Класифікація текстів 4
7 Підготовка до першої частини модульної контрольної роботи 4
8 Моделі класифікації в scikit-learn 4
9 Моделювання тем 5
10 Вилучення інформації про документ 4
11 Кластеризація текстів 3
12 Підготовка до другої частини модульної контрольної роботи 4
13 Семантичний аналіз 4
14 Визначення іменованих сутностей 3
15 Аналіз настроїв 3
16 Об’єкти бібліотеки spaCy 4
17 Діалогові системи 3

Політика та контроль

Політика навчальної дисципліни (освітнього компонента)

Система вимог, які ставляться перед студентом:

  • відвідування лекційних та лабораторних занять є обов’язковою складовою вивчення матеріалу;
  • на лекції викладач користується власним презентаційним матеріалом; використовує гугл-диск для викладання матеріалу поточної лекції, додаткової інформації, завдань до лабораторних робіт та інше;
  • питання на лекції задаються у відведений для цього час;
  • звіти з лабораторних робіт завантажуються напередодні захисту; для захисту лабораторної роботи необхідно продемонструвати роботу відповідної завданню програми та відповісти на питання щодо програми та контрольні питання;
  • модульні контрольні роботи пишуться на лекційних заняттях без застосування допоміжних засобів (мобільні телефони, планшети та ін.); результат завантажується у файлі через гугл-форму до відповідної директорії гугл-диску;
  • заохочувальні бали виставляються за: участь у факультетських та інститутських олімпіадах з навчальних дисциплін, участь у конкурсах робіт, підготовка оглядів наукових праць тощо. Кількість заохочуваних балів не більше 10;
  • штрафні бали виставляються за: несвоєчасну здачу лабораторних робіт без поважних причин; переписування модульної контрольної роботи. Кількість штрафних балів не більше 10.

Види контролю та рейтингова система оцінювання результатів навчання (РСО)

Рейтинг студента складається з балів, що він отримує за:

  1. виконання та захист лабораторних робіт;
  2. виконання модульної контрольної роботи;
  3. заохочувальні та штрафні бали.

Система рейтингових балів та критерії оцінювання

Денна форма навчання:
Лабораторні завдання
  • «відмінно», пповна відповідь на питання під час захисту (не менш ніж 90% потрібної інформації), повне виконання завдання лабораторної роботи – 9 балів;
  • «добре», достатньо повна відповідь на питання під час захисту (не менш ніж 75% потрібної інформації), повне виконання завдання лабораторної роботи – 7-8 балів;
  • «задовільно», неповна відповідь на питання під час захисту (не менш ніж 60% потрібної інформації), незначні помилки у виконанні завдання лабораторної роботи – 5-6 балів;
  • «незадовільно», незадовільна відповідь та/або значні помилки у виконання завдання лабораторної роботи – 0 балів.

За запізнення з поданням лабораторної роботи до захисту від встановленого терміну оцінка знижується на 1 бал.

Модульні контрольні роботи
  • «відмінно», повна відповідь (не менш ніж 90% потрібної інформації), завдання виконано без помилок, дії обґрунтовано – 14 балів;
  • «добре», достатньо повна відповідь (не менш ніж 75% потрібної інформації), завдання виконано без значних помилок – 10-13 балів;
  • «задовільно», неповна відповідь, в деяких завданнях можуть бути присутні значні помилки, але не менше 60% виконано правильно – 7-9 балів;
  • «незадовільно», незадовільна відповідь (неправильне виконання завдань), потребує обов’язкового повторного написання в кінці семестру – 0 балів.
Заохочувальні бали

за виконання творчих робіт з кредитного модуля (наприклад, участь у факультетських та інститутських олімпіадах з навчальних дисциплін, участь у конкурсах робіт, підготовка оглядів наукових праць тощо) 1-2 бали, але в сумі не більше 10.

Міжсесійна атестація

За результатами навчальної роботи за перші 7 тижнів максимально можлива кількість балів – 41 бал (3 лабораторних завдань, перша частина модульної контрольної роботи). На першій атестації (8-й тиждень) студент отримує «зараховано», якщо його поточний рейтинг не менший ніж 15 балів.

За результатами 13 тижнів навчання максимально можлива кількість балів – 82 бала (6 лабораторних завдань, модульна контрольна робота). На другій атестації (14-й тиждень) студент отримує «зараховано», якщо його поточний рейтинг не менший ніж 38 балів.

Максимальна сума вагових балів контрольних заходів протягом семестру складає:

RD = 8*rл.р.+2*rмкр+ (rз - rш)=8*9+2*14+(rз - rш)=100 + (rз - rш), де rл.р. – бал за лабораторну роботу (0…9); rмкр – бал за написання МКР (0…14); rз – заохочувальні бали (0…10); rзш – штрафні бали (0…10);.

Заочна форма навчання:
Лабораторні завдання
  • «відмінно», пповна відповідь на питання під час захисту (не менш ніж 90% потрібної інформації), повне виконання завдання лабораторної роботи – 20 балів;
  • «добре», достатньо повна відповідь на питання під час захисту (не менш ніж 75% потрібної інформації), повне виконання завдання лабораторної роботи – 16-19 балів;
  • «задовільно», неповна відповідь на питання під час захисту (не менш ніж 60% потрібної інформації), незначні помилки у виконанні завдання лабораторної роботи – 12-15 балів;
  • «незадовільно», незадовільна відповідь та/або значні помилки у виконання завдання лабораторної роботи – 0 балів.

За запізнення з поданням лабораторної роботи до захисту від встановленого терміну оцінка знижується на 1 бал.

Модульна контрольна робота
  • «відмінно», повна відповідь (не менш ніж 90% потрібної інформації), завдання виконано без помилок, дії обґрунтовано – 40 балів;
  • «добре», достатньо повна відповідь (не менш ніж 75% потрібної інформації), завдання виконано без значних помилок – 31-39 балів;
  • «задовільно», неповна відповідь, в деяких завданнях можуть бути присутні значні помилки, але не менше 60% виконано правильно – 24-30 балів;
  • «незадовільно», незадовільна відповідь (неправильне виконання завдань), потребує обов’язкового повторного написання в кінці семестру – 0 балів.
Заохочувальні бали

за виконання творчих робіт з кредитного модуля (наприклад, участь у факультетських та інститутських олімпіадах з навчальних дисциплін, участь у конкурсах робіт, підготовка оглядів наукових праць тощо) 1-2 бали, але в сумі не більше 10.

Максимальна сума вагових балів контрольних заходів протягом семестру складає:

RD = 3*rл.р.+rмкр+ (rз - rш)=3*20+40+(rз - rш)=100 + (rз - rш), де rл.р. – бал за лабораторну роботу (0…20); rмкр – бал за написання МКР (0…40); rз – заохочувальні бали (0…10); rзш – штрафні бали (0…10);

Залік

Студенти, які виконали всі умови допуску до семестрової атестації (написали всі модульні контрольні, виконали і захистили всі лабораторні роботи) та набрали протягом семестру необхідну кількість балів (RD ≥ 60), отримують залікову оцінку (залік) автоматично відповідно до набраного рейтингу (табл. 1, що наведена нижче). У такому разі до заліково-екзаменаційної відомості вносяться бали RD та відповідні оцінки. Студенти, які набрали протягом семестру менше ніж 60 балів та не мають заборгованостей, зобов’язані виконувати залікову контрольну роботу. Залікова контрольна робота містить п’ять питань. Кожне питання оцінюється у 20 балів. Студентам, які протягом семестру набрали більш ніж 60 балів та виконали всі умови допуску, надається можливість виконувати залікову контрольну роботу з метою підвищення оцінки. В такому разі, попередній рейтинг студента з кредитного модуля скасовується і він отримує оцінку з урахуванням результатів залікової контрольної роботи (табл. 1, що наведена нижче).

Система оцінювання питань
  • «відмінно», повна відповідь (не менше 90% потрібної інформації) – 18-20 балів;
  • «добре», достатньо повна відповідь (не менше 75% потрібної інформації, або незначні неточності) – 15-17 балів;
  • «задовільно», неповна відповідь (не менше 60% потрібної інформації та деякі помилки) – 12-14 балів;
  • «незадовільно», незадовільна відповідь – 0-11 балів.

Сума набраних балів RD або балів за залікову роботу переводиться до залікової оцінки згідно з таблицею:

Таблиця 1. Переведення рейтингових балів до оцінок за університетською шкалою
Кількість балів Оцінка
100-95 Відмінно
94-85 Дуже добре
84-75 Добре
74-65 Задовільно
64-60 Достатньо
Менше 60 Незадовільно
Не виконані умови допуску Не допущено

Додаткова інформація з дисципліни (освітнього компонента)

Робочу програму навчальної дисципліни (Силабус): Складено ст. викладач, Тимофєєва Юлія Сергіївна Ухвалено кафедрою ІТС (протокол № 13 від 15.06.2022 р.) Погоджено Методичною комісією факультету[1] (протокол № 11 від 07.07.2022 р.)