3.6 KiB
Zajęcia 6: NLP Toolkits
Wszystkie zadania ćwiczeniowe należy rozwiązywać w języku Python w kopii Jupyter Notebook'a dla danych zajęć w wyznaczonych miejscach (komórki z komentarzem # Solution
).
Nie należy usuwać komórek z treścią zadań.
Należy wyświetlać outputy przy pomocy print
Dla chętnych - może się przydać do projektu końcowego
Gorąco zachęcam do sprawdzenia zasosób dla języka polskiego: https://github.com/sdadas/polish-nlp-resources
UWAGA
Każde zadanie należy przetestować na własnych tekstach.
Zadanie 1
Przy pomocy toolkitu NLTK napisz funkcję, która na wejściu przyjmuje tekst w języku angielskim, dokonuje tokenizacji na poziomie słów oraz zdań i wypisuje następujące informacje:
- liczba znaków w tekście
- liczba słów (tokenów według tokenizera NLTK) w tekście
- liczba zdań (według sentence tokenizera NLTK) w tekście
# Solution 1
Zadanie 2
Przy pomocy toolkitu SpaCy napisz funkcję, która na wejściu przyjmuje tekst w języku angielskim oraz jeden z trzech argumentów:
- rzeczownik
- czasownik
- przymiotnik
a następnie tokenizuje tekst na słowa i zwraca słowa spełniajace kryterium części mowy określone poprzez drugi argument (czyli np dla argumentu rzeczownik zwraca listę rzeczowników). Należy skorzystać z modułu PoS (part of speech).
# Solution 2
Zadanie 3
Korzystając z toolkitu SpaCy oraz modelu en_core_web_sm napisz program dokonujący analizy dokumentu tekstowego w języku angielskim o wydarzeniach ekonomicznych w języku angielskim. Zadaniem programu jest ekstrakcja następujących jednostek nazwanych (korzystając z modułu NER - Named Entity Recognition):
- ORGANIZATION (e.g., company names)
- DATE (e.g., contract start/end dates)
- MONEY (e.g., payment amounts)
Program musi wypisać znalezione jednostki i ich wartości.
# Solution 3
# Sample text
text = """
The agreement between Google and Microsoft was signed on January 15, 2023.
The payment of $100,000,000 is due on March 1, 2024. Another payment of $300,000,000 is scheduled for June 15, 2024.
"""