Wprowadzenie do webscraping i analizy danych tekstowych 2400-L2EDiSWS
Celem zajęć jest zapoznanie studentów z technikami zautomatyzowanego pobierania danych z sieci oraz podstawowymi metodami analizy danych tekstowych w stopniu wystarczającym do samodzielnego i efektywnego gromadzenia oraz analizowania danych nieustrukturyzowanych, jak również interpretowania i wyciągania wniosków z analiz tychże. Na kurs składają się następujące bloki tematyczne:
1. Wprowadzenie do web scrapingu:
● aspekty prawne automatycznego gromadzenia danych z sieci: standardy plików robots.txt, charakter prawny regulaminów korzystania ze stron internetowych, odpowiedzialność odszkodowawcza i karna,
● parsowanie struktur języka html, standardy XPath i CSS i rozszerzenia przeglądarek je zwracające,
● scrapowanie stron statycznych i dynamicznych,
● przegląd najpopularniejszych bibliotek języka programistycznego
Python umożliwiających scrapowanie: BeautifulSoup, Selenium, Scrapy.
2. Podstawy pracy z danymi tekstowymi:
● wstępne przetwarzanie danych tekstowych: tokenizacja, stemming i lemmatyzacja, usuwanie stopwords,
● budowa i zastosowania n-gramów,
● najważniejsze statystyki opisowe dla filtrowania tokenów i
reprezentowania tekstów: TF, IDF, TF-IDF,
● macierz dokumentów-terminów,
● wizualizacja danych tekstowych.
3. Podstawy ekstrakcji informacji:
● dopasowywanie wzorców: automaty skończone, wyrażenia regularne,
● podstawy modelowania sekwencji: rozpoznawanie nazwanych
jednostek, ekstrakcja relacji i wydarzeń,
● typologia metod ekstrakcji informacji; metody oparte na wzorcach,
słownikach, składni, statystykach korpusu, grafach, wprowadzenie do metod statystycznych i omówienie wybranych algorytmów.
4. Analiza sentymentu:
● proste metody słownikowe, ich specyfika i ograniczenia, zależność od domeny, omówienie wybranych metod, w tym: AFINN, Pattern,
VADER,
● metody korpusowe, w szczególności oparte na skalowaniu manualnie przypisanych etykiet przez podobieństwo, oraz metody półnadzorowane, w tym algorytm propagacji etykiet,
● wprowadzenie do metod nadzorowanych, modelowanie
charakterystyk na poziomie dokumentów, omówienie na przykładzie implementujących podstawowe algorytmy umożliwiające predykcję.
5. Modelowanie tematów:
● przegląd algorytmów modelowania tematów: algorytmy semantyczne, probabilistyczne i ich rozszerzenia,
● Latent Dirichlet Allocation jako najpopularniejszy algorytm
modelowania tematów.
6. Wprowadzenie do dużych modeli językowych:
● specyfika i mechanizm działania dużych modeli językowych, encodery i decodery, mechanizm samouwagi,
● przykładowe aplikacje dużych modeli językowych w ekstrakcji
informacji, analizie sentymentu, modelowaniu tematów,
● wiarygodność i ocena jakości wyników uzyskiwanych z implementacjirozwiązań opartych o duże modele językowe.
Szacunkowy nakład pracy studenta: 3ECTS x 25h = 75h
(K) - godziny kontaktowe (S) - godziny pracy samodzielnej
zajęcia: 30h (K) 0h (S)
egzamin: 2h (K) 0h (S)
konsultacje: 8h (K) 0h (S)
przygotowanie do zajęć: 0h (K) 15h (S)
przygotowanie do egzaminu: 0h (K) 20h (S)
Razem: 40h (K) + 35h (S) = 75h
Koordynatorzy przedmiotu
Rodzaj przedmiotu
Efekty uczenia się
Po ukończeniu przedmiotu, student:
W ZAKRESIE WIEDZY:
● zna i rozumie regulacje prawne dotyczące scrapowania danych,
● zna i rozumie podstawowe operacje służące przygotowaniu danychtekstowych do analiz,
● zna i rozumie podstawowe techniki składające się na ekstrakcję
informacji z danych tekstowych, analizę sentymentu, modelowanie tematów.
W ZAKRESIE UMIEJĘTNOŚCI:
● potrafi dobrać i zaimplementować odpowiednie dla danego
problemu narzędzia celem scrapowania danych,
● potrafi przygotować dane tekstowe do analiz,
● potrafi przeprowadzić prostą analizę tekstu, tzn. dokonać ekstrakcji informacji, skwantyfikować sentyment tekstu, modelowaćwystępujące w dokumentach tematy.
W ZAKRESIE KOMPETENCJI:
● wykazuje świadomość zalet, jak również ograniczeń wybranych
podejść do analizy danych tekstowych, w szczególności jest świadomy potencjału, ale też potencjalnej niskiej interpretowalności i możliwej zawodności rozwiązań opartych o duże modele językowe,
● jest gotów samodzielnie prowadzić podstawowe analizy na danych
tekstowych, jak również wie gdzie i w jaki sposób szukać informacji o bardziej zaawansowanych technikach przetwarzania danych tego typu.
Kryteria oceniania
Uzyskanie zaliczenia przedmiotu wymaga:
1. uzyskania co najmniej połowy punktów z egzaminu pisemnego;
2. uzyskania co najmniej połowy punktów z projektu przygotowanego w domu;
3. uzyskania co najmniej połowy punktów z prezentacji wyżej wspomnianego projektu;
4. uzyskania co najmniej połowy z łącznej sumy punktów uzyskanych ze wszystkich wymienionych powyżej elementów.
5. Skala ocen:
[0%-50%) - ndst
[50%-60%) - dst
[60%-70%) - dst+
[70%-80%) - db
[80%-90%) - db+
[90%-100%] - bdb
Literatura
● Jurafsky, D., & Martin, J. H. (2025). Speech and Language Processing(3rd ed. draft). Stanford University. Retrieved from:
web.stanford.edu/~jurafsky/slp3/.
● R. Mitchell (2018). Web Scraping with Python: Collecting Data fromthe Modern Web. 2nd Edition. O’Reilly Media.
● Bird, S., Klein, E., & Loper, E. (2009). Natural language processing withPython: analyzing text with the natural language toolkit. O'Reilly
Media.
● Manning, C. D., & Schütze, H. (1999). Foundations of Statistical NaturalLanguage Processing. MIT Press.
● Srivastava, A. N., & Sahami, M. (Eds.). (2009). Text Mining:
Classification, Clustering, and Applications. Chapman & Hall/CRC.
● Tunstall, L., Von Werra, L., & Wolf, T. (2022). Natural language
processing with transformers. Building Language Applications