Szukaj…


Wprowadzenie

Stemming jest rodzajem metody normalizującej. Wiele odmian słów ma to samo znaczenie, inne niż w przypadku czasu. Powodem dla którego skłaniamy się jest skrócenie wyszukiwania i normalizacja zdań. Zasadniczo polega na znajdowaniu źródła słów po usunięciu czasownika i części napiętej. Jednym z najpopularniejszych algorytmów pochodnych jest porter, który istnieje od 1979 roku.

Porter stemmer

  1. Zaimportuj PorterStemmer i zainicjuj

     from nltk.stem import PorterStemmer
     from nltk.tokenize import word_tokenize
     ps = PorterStemmer()
    
  2. Stem lista słów

     example_words = ["python","pythoner","pythoning","pythoned","pythonly"]
    
     for w in example_words:
         print(ps.stem(w))
    

    Wynik:

     python
     python
     python
     python
     pythonli
    
  3. Wykonaj zdanie po tokenizacji.

     new_text = "It is important to by very pythonly while you are pythoning with python. All pythoners have pythoned poorly at least once."
    
     word_tokens = word_tokenize(new_text)
     for w in word_tokens:
         print(ps.stem(w))   # Passing word tokens into stem method of Porter Stemmer
    

    Wynik:

     It
     is
     import
     to
     by
     veri
     pythonli
     while
     you
     are
     python
     with
     python
     .
     all
     python
     have
     python
     poorli
     at
     least
     onc
     .
    


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow