İçeriğe atla
Üyelik kaydınızı yaparak son yazılan içeriklerden haberdar olun! ×
  • makale
    18
  • yorum
    0
  • görüntüleme
    19.060

Lemmatization


Doğuhan ELMA

70 görünüm

Lemmatization, doğal dil işleme (NLP) alanında kullanılan bir metin ön işleme yöntemidir. Bu yöntem, bir kelimenin çeşitli biçimsel formlarını (örneğin, çekimlenmiş formları) temel alarak kelimenin sözlükte geçen kök veya lemmasına indirger. Lemmatization, stemming'e benzer; ancak lemmatization süreci daha sofistike ve dilbilgisel açıdan daha doğru sonuçlar üretir, çünkü kelimeyi köküne indirgerken dilbilgisel bilgileri (kelimenin cinsiyet, zaman, çoğul vs. bilgilerini) dikkate alır.

Lemmatization Nasıl Çalışır?

Lemmatization süreci, bir kelimenin morfolojik analizini yaparak ve kelimenin kök formunu belirleyerek çalışır. Örneğin, İngilizce'de "am", "are", "is" kelimelerinin lemma'sı "be" ve "running" kelimesinin lemma'sı "run" olur.

Bu işlem için genellikle dil bilgisi ve kelime seti bilgisini içeren kapsamlı sözlükler veya dil modellemesi yapısı kullanılır. Bu, stemming'in aksine, sonucun dilbilgisel olarak doğru bir kelime olmasını sağlar.

Lemmatization'ın Avantajları

Dilbilgisi Doğruluğu: Kelimenin doğru dilbilgisi formunu korur ve anlamsal olarak doğru köküne ulaşır.

Daha İyi Metin Anlama: Metin analizinde, kelimelerin anlamını daha doğru bir şekilde yakalar ve metnin genel bağlamını daha iyi anlamlandırmaya yardımcı olur.

Veri Tutarlılığı: Çeşitli kelime formlarını standart bir forma indirgeyerek, metin üzerinde daha tutarlı analizler yapılmasına olanak tanır.

Python ile Lemmatization Örneği

Python'da lemmatization işlemi için nltk veya spacy gibi kütüphaneler kullanılabilir. İşte nltk kullanarak basit bir lemmatization örneği:

import nltk
from nltk.stem import WordNetLemmatizer

# Lemmatizer'ı yükle (yalnızca ilk kullanımda)
nltk.download('wordnet')
nltk.download('omw-1.4')

# Lemmatizer örneğini oluştur
lemmatizer = WordNetLemmatizer()

# Lemmatize edilecek kelimeler
words = ['running', 'jumps', 'easily', 'bigger', 'am', 'are']

# Kelimeleri lemmatize et
lemmatized_words = [lemmatizer.lemmatize(word) for word in words]

print(lemmatized_words)

Bu kod, her kelimeyi anlamsal olarak doğru köküne indirger. WordNetLemmatizer, WordNet isimli geniş bir sözlükten yararlanır ve bu sayede kelimelerin doğru lemma'larını bulur. Bu yöntem, özellikle dil bilgisi açısından zengin ve çeşitlilik gösteren dillerde son derece yararlıdır.

 

spaCy kütüphanesi, modern ve hızlı doğal dil işleme için güçlü araçlar sunar ve içerisinde çok iyi entegre edilmiş lemmatization işlevleri bulunur. spaCy dil modelleri, çeşitli diller için lemmatization da dahil olmak üzere geniş çaplı NLP görevlerini destekler.

import spacy

# İngilizce dil modelini yükle
nlp = spacy.load('en_core_web_sm')

# İşlenecek metin
text = "The cars are running fast on the roads."

# Metni işle
doc = nlp(text)

# Her token için lemma'ları yazdır
lemmatized_words = [token.lemma_ for token in doc]

print(lemmatized_words)

Bu kod parçası, spaCy'nin İngilizce dil modelini kullanarak verilen metni işler ve her kelimenin kök (lemma) halini listeler. Çıktıda, "The", "car", "be", "run", "fast", "on", "the", "road" gibi lemma'lar gösterilir, burada "cars" kelimesi "car" olarak, "are" kelimesi "be" olarak, "running" kelimesi ise "run" olarak dönüştürülmüştür.

0 Yorum


Önerilen Yorumlar

Görüntülenecek yorum yok.

Misafir
Yorum ekle...

×   Zengin metin olarak yapıştırıldı.   Bunun yerine düz metin olarak yapıştır

  Yalnızca 75 emojiye izin verilir.

×   Bağlantınız otomatik olarak gömüldü.   Bunun yerine bağlantı olarak görüntüle

×   Önceki içeriğiniz geri yüklendi.   Düzenleyiciyi temizle

×   Görüntüleri doğrudan yapıştıramazsınız. URL'den resim yükleyin veya ekleyin.

×
×
  • Create New...