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

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

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

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

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

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

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

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

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

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

Програмні результати навчання, на формування та покращення яких спрямована дисципліна:

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

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

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

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

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

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

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

Розділ 1. Вступ до обробки текстових даних у Python Тема 1.1 Огляд можливостей Python для роботи з текстом Тема 1.2 Стандартні бібліотеки та модулі Розділ 2. Регулярні вирази та попередня обробка тексту Тема 2.1 Використання регулярних виразів Тема 2.2 Токенізація та нормалізація тексту Розділ 3. Аналіз тексту за допомогою NLTK Тема 3.1 Морфологічний та синтаксичний аналіз Тема 3.2 Частотний аналіз та візуалізація Розділ 4. Векторизація тексту та представлення текстових даних Тема 4.1 Метод Bag-of-Words Тема 4.2 TF-IDF та інші методи векторизації Розділ 5. Моделювання тематики та класифікація тексту Тема 5.1 Латентне розміщення Діріхле (LDA) Тема 5.2 Класифікація тексту з використанням машинного навчання Розділ 6. Вступ до нейронних мереж для обробки тексту Тема 6.1 Word Embeddings (Word2Vec, GloVe) Тема 6.2 Рекурентні нейронні мережі для аналізу тексту

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

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

Benjamin Bengfort. Applied Text Analysis with Python. – O’Reilly Media, 2018. – 332p.

Bhargav Srinivasa. Natural Language Processing and Computational Linguistics. – Packt, 2018. – 298p.

Jens Albrecht. Blueprints for Text Analysis Using Python. – O’Reilly Media, 2021. – 422p.

Aman Kedia. Hands-On Python Natural Language Processing. – Packt, 2020. – 304p.

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

Василенко О. А. Математично-статистичні методи аналізу у прикладних дослідженнях: навч. посіб. / О. А. Василенко, І. А. Сенча. – Одеса: ОНАЗ ім. О. С. Попова, 2011. – 166 с.

Sanjeev J. Wagh. Fundamentals of Data Science. — Taylor & Francis Group, LLC, 2022. – 297 р.

Avinash Navlani. Python Data Analysis. —Packt Publishing, 2021. – 463 p.

Joel Grus. Data Science from Scratch. – O’Reilly Media, Inc., 2019. – 513p.

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

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

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

Назва теми лекції та перелік основних питань (перелік дидактичних засобів, посилання на літературу та завдання на СРС)
1 Вступ до обробки текстових даних у Python - Огляд можливостей Python для обробки тексту- Стандартні бібліотеки та модулі (string, re) Дидактичні засоби: презентація, демонстрація коду Завдання на СРС: встановити необхідні бібліотеки, ознайомитися з основами Python
2 Регулярні вирази та попередня обробка тексту - Використання модуля re для пошуку та заміни- Токенізація, лематизація та стемінг Дидактичні засоби: практичні приклади, кодові сесії Завдання на СРС: виконати вправи з регулярними виразами
3 Аналіз тексту за допомогою NLTK - Огляд бібліотеки NLTK- Частотний аналіз слів та біграм Дидактичні засоби: лабораторні завдання, обговорення Завдання на СРС: дослідити функції NLTK
4 Векторизація тексту та представлення текстових даних - Метод Bag-of-Words- TF-IDF та його застосування Дидактичні засоби: презентація, практичні приклади Завдання на СРС: реалізувати векторизацію тексту на прикладі
5 Моделювання тематики та класифікація тексту - Алгоритм LDA для тематичного моделювання- Класифікація тексту з використанням sklearn Дидактичні засоби: кодові сесії, групові обговорення Завдання на СРС: побудувати модель класифікації тексту
6 Вступ до нейронних мереж для обробки тексту - Word Embeddings (Word2Vec, GloVe)- Використання RNN для аналізу тексту Дидактичні засоби: презентація, демонстрація моделей Завдання на СРС: дослідити застосування нейронних мереж у NLP

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

Назва лабораторної роботи Кількість ауд. годин
1 Обробка текстових даних у Python: основи 1.5
2 Використання регулярних виразів для попередньої обробки тексту 1.5
3 Аналіз тексту за допомогою NLTK 1.5
4 Векторизація тексту та застосування TF-IDF 1.5
5 Тематичне моделювання з використанням LDA 1.5
6 Класифікація тексту з використанням нейронних мереж 1.5

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

Вид самостійної роботи Кількість годин СРС
1 Встановлення та налаштування середовища розробки 1
2 Вивчення основ регулярних виразів 1
3 Самостійне вивчення бібліотеки NLTK 1
4 Дослідження методів векторизації тексту 1
5 Ознайомлення з алгоритмами тематичного моделювання 1
6 Вивчення основ нейронних мереж у контексті NLP 1

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

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

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

  • правила відвідування занять: заборонено оцінювати присутність або

    відсутність здобувача на аудиторному занятті, в тому числі нараховувати заохочувальні або штрафні бали. Відповідно до РСО даної дисципліни бали нараховують за відповідні види навчальної активності на лекційних та лабораторних заняттях;

  • на лекції викладач користується власним презентаційним матеріалом;

    використовує гугл-диск для викладання матеріалу поточної лекції, додаткової інформації, завдань до лабораторних робіт та інше;

  • питання на лекції задаються у відведений для цього час;

  • звіти з лабораторних робіт завантажуються напередодні захисту; для

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

  • модульні контрольні роботи пишуться на лекційних заняттях без

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

  • заохочувальні бали виставляються за: участь у факультетських та

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

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

Поточний контроль: МКР, виконання та захист лабораторних робіт. Календарний контроль: проводиться двічі на семестр як моніторинг поточного стану виконання вимог силабусу. Семестровий контроль: залік. Умови допуску до семестрового контролю: виконані та захищені лабораторні роботи, написана модульна контрольна робота. Якщо семестровий рейтинг не менше 60 балів, то залік виставляється автоматично, інакше — студент допускається до залікової контрольної роботи.

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

  1. виконання та захист лабораторних робіт;

  2. виконання модульної контрольної роботи;

  3. заохочувальні та штрафні бали.

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

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

  • «відмінно», повна відповідь на питання під час захисту (не менш

    ніж 90% потрібної інформації), повне виконання завдання лабораторної роботи – 14 балів;

  • «добре», достатньо повна відповідь на питання під час захисту

    (не менш ніж 75% потрібної інформації), повне виконання завдання лабораторної роботи – 10-12 балів;

  • «задовільно», неповна відповідь на питання під час захисту (не

    менш ніж 60% потрібної інформації), незначні помилки у виконанні завдання лабораторної роботи – 6-10 балів;

  • «незадовільно», незадовільна відповідь та/або значні помилки у

    виконання завдання лабораторної роботи – 0 балів.

Модульні контрольні роботи

  • «відмінно», повна відповідь (не менш ніж 90% потрібної

    інформації), завдання виконано без помилок, дії обґрунтовано – 16 балів;

  • «добре», достатньо повна відповідь (не менш ніж 75% потрібної

    інформації), завдання виконано без значних помилок – 10-13 балів;

  • «задовільно», неповна відповідь, в деяких завданнях можуть бути

    присутні значні помилки, але не менше 60% виконано правильно – 7-9 балів;

  • «незадовільно», незадовільна відповідь (неправильне виконання

    завдань), потребує обов’язкового повторного написання в кінці семестру – 0 балів.

Заохочувальні бали

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

Календарний контроль

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

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

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

RD = 6*rл.р. + 1*rмкр + rз =6*14 + 1*16 + rз = 100 + rз, де rл.р. – бал за лабораторну роботу (0…14); rмкр – бал за написання МКР (0…16); 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 Незадовільно
Не виконані умови допуску Не допущено

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

Робочу програму навчальної дисципліни (Силабус): Складено асист., Мягкий Михайло Юрійович Ухвалено кафедрою ІСТ (протокол № 16 від 12.06.2024 р.) Погоджено Методичною комісією факультету (протокол № 10 від 21.06.2024 р.)