Wydział Informatyki
Kierunek studiów Data Science Poziom i forma studiów pierwszego stopnia inżynierskie stacjonarne
Specjalność / Ścieżka dyplomowania --- Profil kształcenia ogólnoakademicki
Nazwa przedmiotu Przetwarzanie języka naturalnego Kod przedmiotu DS1S6NLP
Rodzaj przedmiotu obowiązkowy
Forma zajęć i liczba godzin W Ć L P Ps T S Semestr 6
30 30 Punkty ECTS 5
Przedmioty wprowadzające Uczenie głębokie (DS1S5UGL),   Uczenie maszynowe 2 (DS1S4UM2),  
Cele przedmiotu

Przekazanie fundamentalnej wiedzy o metodach i narzędziach używanych do przetwarzania języka naturalnego. Rozwój praktycznych umiejętności w zakresie wykorzystywanych podstawowych i zaawansowanych technik.

Odniesienia do frameworka edukacyjnego mikrokompetencji SFIA:
Data Science (DATS) - poziom 3: stosowanie technik i metod analitycznych do przetwarzania danych tekstowych
Artificial Intelligence (AI) and Data Ethics (AIDE) - poziom 3: identyfikacja i ocena zagadnień etycznych związanych z technologiami NLP i modelami językowymi
Machine Learning (MLNG) - poziom 3: implementacja i stosowanie modeli uczenia maszynowego do zadań językowych
Programming/Software Development (PROG) - poziom 3: tworzenie aplikacji wykorzystujących algorytmy NLP i biblioteki do przetwarzania tekstu
Data Analytics (DAAN) - poziom 3: analiza i interpretacja danych tekstowych oraz wyników modeli NLP

Treści programowe

Wprowadzenie do przetwarzania języka naturalnego (NLP), historia rozwoju i podstawowe pojęcia. Podstawowe techniki przetwarzania tekstu, tokenizacja, normalizacja i analiza gramatyczna. Praktyczne wykorzystanie narzędzi NLP w zadaniach takich jak analiza sentymentu i klasyfikacja tekstu. Praca z word embeddings i modelami językowymi, prompt engineering. Realizacja projektów zespołowych z zakresu NLP, od koncepcji do prezentacji wyników.

Wykład:
1.Wprowadzenie do przetwarzania języka naturalnego - podstawowe pojęcia, historia i zastosowania, wyzwania
2. Podstawowe techniki przetwarzania tekstu - wyrażenia regularne, odległość edycyjna
3. Tokenizacja i normalizacja tekstu - tokenizacja: na poziomie zdań, słów, oparta na modelach językowych (np. BPE, WordPiece), normalizacja tekstu: usuwanie stop words, stemming, lematyzacja
4. Analiza gramatyczna - części mowy i zdania
5. Reprezentacja tekstu - wektory słów, one-hot encoding, bag of words, TF-IDF
6. Word embeddings - Algorytmy Word2Vec, GloVe i FastText , biblioteka gensim
7. Klasyfikacja tekstu - metody klasyfikacji i praktyczne zastosowania jak spam detection czy analiza sentymentu, ewaluacja modeli
8. Wydobywanie informacji - relacje w tekście, NER named entity recognition
9. Reprezentacja wiedzy lingwistycznej - słowniki i tezaurusy
10. Przetwarzanie języka naturalnego z użyciem sieci neuronowych - podstawowe architektury: RNN, LSTM, GRU
11. Transformers i modele oparte na uwadze (Attention), wprowadzenie do architektury LLM
12. LLM w zastosowaniach. Chatboty, Asystenci AI, generowanie kodu. Integracja LLM z systemami zewnętrznymi, RAG - Retrieval Augmented Generation
13. LLM - fine-tuning i prompt engineering, metryki BLEU, ROUGE, perplexity
14. Etyka i bezpieczeństwo LLM - wykrywanie uprzedzeń i toksyczności, prywatność, ograniczenia modeli
15. Etyka i bezpieczeństwo LLM - wykrywanie uprzedzeń i toksyczności, prywatność, ograniczenia modeli

Pracownia specjalistyczna:
1 Zapoznanie się z bibliotekami do przetwarzania języka naturalnego
2 Realizacja zadania z wyrażeniami regularnymi i odległością edycyjną
3 Analiza gramatyczna - ćwiczenia
4 Word embeddings - ćwiczenia
5 Word embeddings - kontynuacja ćwiczenia
6 Klasyfikator dokumentu - budowa i ewaluacja, wstępne przetwarzanie tekstu
7 Klasyfikator dokumentu - kontynuacja zadania
8 Prompt engineering
9 Ewaluacja modeli LLM
10 Zadania projektowe w grupach - omówienie i wybór tematów
11 Zadania projektowe w grupach - prezentacja pomysłu na realizację zadania
12 Realizacja zadania projektowego
13 Realizacja zadania projektowego
14 Prezentacja projektu
15 Zaliczenie pracowni

Metody dydaktyczne

wykład z prezentacją multimedialną,   wykład konwersatoryjny,   wykład problemowy,   programowanie z użyciem komputera,  

Forma zaliczenia

Wykład: egzamin pisemny z pytaniami testowymi i otwartymi
Pracownia specjalistyczna: opracowanie zadań projektowych realizowanych w grupach

Symbol efektu uczenia się Zakładane efekty uczenia się Odniesienie do kierunkowych efektów uczenia się
EU1 podstawowe techniki przetwarzania tekstu w języku naturalnym DS1_W02
DS1_W18 (H1_W01)
EU2 główne obszary zastosowań przetwarzania języka naturalnego DS1_W09
DS1_W16
EU3 identyfikować problemy możliwe do rozwiązania metodami przetwarzania języka naturalnego DS1_U02
DS1_U08
DS1_U10
DS1_U11
EU4 korzystać z wybranych bibliotek i narzędzi w realizacji zadań wymagających przetwarzania języka naturalnego DS1_U05
DS1_U10
DS1_U21
EU5 krytycznej oceny możliwości wykorzystania technik przetwarzania języka naturalnego w różnych kontekstach DS1_K01
Symbol efektu uczenia się Sposób weryfikacji efektu uczenia się Forma zajęć na której zachodzi weryfikacja
EU1 egzamin pisemny W
EU2 egzamin pisemny W
EU3 ocena realizowanych zadań, ocena projektu Ps
EU4 ocena realizowanych zadań, ocena projektu Ps
EU5 ocena realizowanych zadań, ocena projektu Ps
Bilans nakładu pracy studenta (w godzinach) Liczba godz.
Wyliczenie
1 - udziałem w wykładach 30
2 - udziałem w innych formach zajęć 30
3 - indywidualnym wsparciem merytorycznym procesu uczenia się, udziałem w egzaminie i zaliczeniach organizowanych poza planem zajęć 4
4 - przygotowaniem do egzaminu 10
5 - przygotowaniem do bieżących zajęć 51
RAZEM: 125
Wskaźniki ilościowe GODZINY ECTS
Nakład pracy studenta związany z zajęciami wymagającymi bezpośredniego udziału nauczyciela 64
(1)+(2)+(3)
2.6
Nakład pracy studenta związany z zajęciami o charakterze praktycznym 81
(2)+(5)
3.2
Literatura podstawowa

1. J. S. Coleman, Introducing speech and language processing. Cambridge university press, 2005
2. S. Bird, E. Klein, E. LoperNatural language processing with Python: analyzing text with the natural language toolkit. O'Reilly Media, Inc., 2009
3. J. Thanaki, Python natural language processing. Packt Publishing Ltd., 2017

Literatura uzupełniająca

1. D. Rothman,Transformers for Natural Language Processing: Build innovative deep neural network architectures for NLP with Python, PyTorch, TensorFlow, BERT, RoBERTa, and more. Packt Publishing Ltd., 2021
2. Ravichandiran, S. (2021). Getting Started with Google BERT: Build and train state-of-the-art natural language processing models using BERT. Packt Publishing Ltd.
3. D. Altinok, Mastering spaCy: An end-to-end practical guide to implementing NLP applications using the Python ecosystem. Packt Publishing Ltd., 2021

Jednostka realizująca Wydział Informatyki Data opracowania programu
Program opracował(a) dr inż. Jerzy Krawczuk,dr inż. Tomasz Łukaszuk 2025.05.30