pjn-2024-cw/05_analiza_morfologiczna.ipynb
2024-11-13 13:27:23 +01:00

3.8 KiB

Zajęcia 5: Analiza morfologiczna (Morphological Analysis)

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

Zadanie 1

Zaimplementuj algorytm Portera dla języka angielskiego (dokładne kroki są opisane tutaj https://vijinimallawaarachchi.com/2017/05/09/porter-stemming-algorithm/). Funkcja musi przyjmować słowo i zwracać jego rdzeń (stem). Przetestuj program na podanych przykładowych słowach oraz na minimum 3 własnoręcznie wybranych słowach. Funkcja musi uwzględniać wielkość liter w podanym słowie.

W celu efektywnego rozwiązania zadania wykonaj następujące kroki:

  1. Zdefiniuj pojedyncze zadania znajdujące się w algorytmie Portera.
  2. Przygotuj puste funkcje wykonujące zadania z kroku nr 1.
  3. Napisz kod w funkcjach z kroku nr 2.
  4. Uzupełnij kod w funkcji stem_word, która powinna wywoływać napisane funkcje.

Algorytm Portera składa się z następujących zadań:

(tu wypisz zadania)

Funkcje realizujące zadania:

# Solution 1
def stem_word(word):
    return word

Testy (należy dodać minimum 3 własne przypadki)

print(f"Słowo: MULTIDIMENSIONAL\nPo wykonaniu algorytmu Portera: {stem_word('MULTIDIMENSIONAL')}\n")
print(f"Słowo: CHARACTERIZATION\nPo wykonaniu algorytmu Portera: {stem_word('CHARACTERIZATION')}\n")
print(f"Słowo: Erroneous\nPo wykonaniu algorytmu Portera: {stem_word('Erroneous')}\n")
print(f"Słowo: oBvIoUsLy\nPo wykonaniu algorytmu Portera: {stem_word('oBvIoUsLy')}\n")
print(f"Słowo: happiness\nPo wykonaniu algorytmu Portera: {stem_word('happiness')}\n")
Słowo: MULTIDIMENSIONAL
Po wykonaniu algorytmu Portera: MULTIDIMENSIONAL

Słowo: CHARACTERIZATION
Po wykonaniu algorytmu Portera: CHARACTERIZATION

Słowo: Erroneous
Po wykonaniu algorytmu Portera: Erroneous

Słowo: oBvIoUsLy
Po wykonaniu algorytmu Portera: oBvIoUsLy

Słowo: happiness
Po wykonaniu algorytmu Portera: happiness