Doğal Dil İşleme (NLP) - Stemmer (Köklendirme)

PorterStemmer

Yayın tarihi :05-Şub-22
Bölüm kodlarını ve/veya veri setlerini indir.

PorterStemmer, inglizce kelimelerin köklerini bulmak için kullanılan bir modüldür.

Kullanılabilmesi için "nltk.stem" paketi altından  "PorterStemmer" modülünün içe aktarılması gerekmektedir.

from nltk.stem import PorterStemmer

Konu detayları için örnek üzerinden ilerleyelim.

Örnek-1:

#İlgili kütüphaner import edilir
from nltk.stem import PorterStemmer
from nltk.tokenize import word_tokenize
#Bir cümleyi text değişkenine atayalım
text="NLP, one of the most important topics of artificial intelligence; It takes textual data and analyzes them and allows use in every field."
#Cümlenin tamamını küçük harfe çevirelim.
text=text.lower()

#Noktalama işaretleri kaldırıldı
import re
text=re.sub("[^\w\s]","",text)
#Tokenize işlemi yapıldı.
text_tokenize=word_tokenize(text)
text_tokenize

Çıktı:

['nlp',
 'one',
 'of',
 'the',
 'most',
 'important',
 'topics',
 'of',
 'artificial',
 'intelligence',
 'it',
 'takes',
 'textual',
 'data',
 'and',
 'analyzes',
 'them',
 'and',
 'allows',
 'use',
 'in',
 'every',
 'field']

İlgili cümleye tokenize işlemi yapıldı ve son durumda yukarıdaki gibi cümle parçalarına ayrılmış oldu. Şimdi de parçalara ayrılan kelimelere stemmer işlemi yapalım.

#Stemmer ataması yapıldı
P=PorterStemmer()
#Cümle içinde bulunan her kelimeye ayrı ayrı stemmer işlemi uygulandı 
for i in text_tokenize:
    print("Kelime:{} - Kökü:{}".format(i,P.stem(i)))

Çıktı:

Kelime:nlp - Kökü:nlp
Kelime:one - Kökü:one
Kelime:of - Kökü:of
Kelime:the - Kökü:the
Kelime:most - Kökü:most
Kelime:important - Kökü:import
Kelime:topics - Kökü:topic
Kelime:of - Kökü:of
Kelime:artificial - Kökü:artifici
Kelime:intelligence - Kökü:intellig
Kelime:it - Kökü:it
Kelime:takes - Kökü:take
Kelime:textual - Kökü:textual
Kelime:data - Kökü:data
Kelime:and - Kökü:and
Kelime:analyzes - Kökü:analyz
Kelime:them - Kökü:them
Kelime:and - Kökü:and
Kelime:allows - Kökü:allow
Kelime:use - Kökü:use
Kelime:in - Kökü:in
Kelime:every - Kökü:everi
Kelime:field - Kökü:field

Yukardaki çıktıda görüldüğü gibi ingilizce kelimelere "PorterStemmer" ile kök ayırma işlemi yapılmış oldu.

Paylaş:

Yorum Yap (*Yorumunuza kod eklemek isterseniz Kod Parçacığı Ekle butonuna tıklayarak ekleyebilirsiniz.)

Yorumlar

Henüz hiç yorum yapılmamış, ilk yorum yapan sen ol.