Lemmatization için (belirli bir sırayla) üst piton paketleri şunlardır: spacy
, nltk
, gensim
, pattern
, CoreNLP
veTextBlob
. Ben spaCy ve gensim uygulamasını tercih ediyorum (kalıba göre) çünkü kelimenin POS etiketini tanımlıyorlar ve uygun lemmayı otomatik olarak atıyorlar. , Anlamı olduğu gibi koruyarak daha alakalı lemmalar verir.
Nltk veya TextBlob'u kullanmayı planlıyorsanız, doğru POS etiketini manuel olarak ve doğru lemmayı bulmaya dikkat etmeniz gerekir.
SpaCy ile Lemmatizasyon Örneği:
# Run below statements in terminal once.
pip install spacy
spacy download en
import spacy
# Initialize spacy 'en' model
nlp = spacy.load('en', disable=['parser', 'ner'])
sentence = "The striped bats are hanging on their feet for best"
# Parse
doc = nlp(sentence)
# Extract the lemma
" ".join([token.lemma_ for token in doc])
#> 'the strip bat be hang on -PRON- foot for good'
Gensim ile Lemmatizasyon Örneği:
from gensim.utils import lemmatize
sentence = "The striped bats were hanging on their feet and ate best fishes"
lemmatized_out = [wd.decode('utf-8').split('/')[0] for wd in lemmatize(sentence)]
#> ['striped', 'bat', 'be', 'hang', 'foot', 'eat', 'best', 'fish']
Yukarıdaki örnekler bu tanıma sayfasından ödünç alınmıştır .