Doğal Dil İşleme (NLP) - Stemmer (Köklendirme)
PorterStemmer
Yazar:
Enes ASAN
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.