Wprowadzenie do przetwarzania języka naturalnego 3003-C3N-JK1
Celem zajęć będzie praktyczne wprowadzenie uczestniczek i uczestników w zagadnienia dotyczące przetwarzania języka naturalnego, lingwistyki komputerowej i programowania, w szczególności – przetwarzania korpusów tekstów z wykorzystaniem technik przetwarzania języka naturalnego dostępnych w języku programowania Python.
Od uczestniczek i uczestników nie wymaga się wcześniejszej znajomości języków programowania i umiejętności programistycznych, oczekuje się jednak motywacji i zaangażowania potrzebnych do opanowania umiejętności programistycznych w zakresie przetwarzania języka naturalnego.
Zagadnienia wyznaczające zakres zajęć:
1. Podstawy programowania w Pythonie: typy zmiennych, struktury danych, warunki i pętle, funkcje i klasy, praca z plikami i wykorzystanie pakietów
2. Wykorzystanie Pythona do gromadzenia i przetwarzania danych tekstowych (scraping, odpytywanie API, OCR i transkrypcja audio)
3. Pakiet spaCy i różne poziomy anotacji lingwistycznej: analiza i znakowanie morfo-syntaktyczne, parsowanie zależnościowe
4. Semantyka wektorowa i modele językowe
5. Modele klasyfikacji sekwencji i klasyfikacji tokenów w spaCy
6. Przeszukiwanie tekstu ze spaCy: wyszukiwanie oparte na regułach i warstwach anotacji, wyszukiwanie semantyczne
7. Analiza stylometryczna tekstów z wykorzystaniem pakietów StyloMetrix, pandas i scikit learn
8. Modelowanie tematyczne z wykorzystaniem pakietu BERTopic
9. Wizualizacja wyników przetwarzania korpusu
Rodzaj przedmiotu
Tryb prowadzenia
Założenia (opisowo)
Koordynatorzy przedmiotu
Efekty kształcenia
Student/Studentka
- zna narzędzia służące do przetwarzania i analizy danych tekstowych dostępne w języku Python
- zna podstawy programowania w Pythonie oraz pakiety tego języka służące do przetwarzania i analizy danych tekstowych
- zna najważniejsze pojęcia i techniki przetwarzania języka naturalnego
- potrafi przeprowadzić analizę korpusu danych tekstowych z wykorzystaniem pakietów języka Python
- potrafi sformułować hipotezę dotyczącą zbioru tekstu i zweryfikować ją z wykorzystaniem technik przetwarzania języka naturalnego
- potrafi zwizualizować uzyskane rezultaty analizy korpusu tekstów
- potrafi krytycznie ocenić informacje dotyczące systemów sztucznej inteligencji opartych na danych tekstowych
- rozumie znaczenie przetwarzania języka naturalnego w rozwiązywaniu problemów poznawczych i praktycznych oraz stosowania metod tej dziedziny do realizacji własnych celów badawczych
Kryteria oceniania
Uczestnictwo w zajęciach (dopuszczalne dwie nieobecności).
Regularne rozwiązywanie zadań dotyczących programowania i przetwarzania języka naturalnego.
Zrealizowanie małego projektu indywidualnego lub grupowego wykorzystującego metody przetwarzania języka naturalnego.
Literatura
Altinuk, D. (2021). Mastering spaCy: An end-to-end practical guide to implementing NLP applications using the Python ecosystem. Birmingham: Packt Publishing.
Hobson, L., Cole, H., Hannes, H. (2021). Przetwarzanie języka naturalnego w akcji. Rozumienie, analiza i generowanie tekstu w Pythonie na przykładzie języka angielskiego. Warszawa: PWN.
Mattingly, W. (2022). Introduction to Python for Digital Humanities, 2022, URL: www.python-textbook.pythonhumanities.com.
Mattingly, W. (2021). Introduction to spaCy 3, URL: www.spacy.pythonhumanities.com.
Sweigart, A. (2020). Automatyzacja nudnych zadań z Pythonem. Nauka programowania. Gliwice: Helion.
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: