İç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

TF-IDF (Term Frequency-Inverse Document Frequency)


Doğuhan ELMA

61 görünüm

TF-IDF (Term Frequency-Inverse Document Frequency), belirli bir terimin bir dokümanda ne kadar önemli olduğunu belirlemek için kullanılan bir istatistiksel ölçümdür. Bu yöntem, metin madenciliği ve bilgi geri kazanımı alanlarında, belgelerden bilgi çıkarma ve belge sıralama gibi görevlerde yaygın olarak kullanılır.

TF-IDF Nasıl Çalışır?

TF-IDF, iki farklı metriği birleştirir: Terim Sıklığı (TF) ve Ters Belge Sıklığı (IDF). Bu iki metrik, bir kelimenin bir dokümanda ne kadar önemli olduğunu belirlemeye yardımcı olur.

Terim Sıklığı (TF): Bir terimin belirli bir dokümanda ne sıklıkta geçtiğini ölçer. Basit bir hesaplama ile, bir terimin toplam terim sayısına bölünmesiyle elde edilir:

Screenshot from 2024-04-27 13-08-53.png

Ters Belge Sıklığı (IDF): Bir terimin tüm belgelerde ne kadar sık geçmediğini ölçer ve nadir terimlere daha yüksek ağırlık verir. Bir terimin belge frekansının ters logaritması olarak hesaplanır:

Screenshot from 2024-04-27 13-09-41.png

Burada +1, sıfır bölme hatasını önlemek için eklenir.

TF-IDF Skoru: Bu iki ölçüm çarpılarak bir terimin bir dokümanda ne kadar önemli olduğunu belirleyen bir skor üretilir:

Screenshot from 2024-04-27 13-11-11.png

TF-IDF'ın Kullanım Alanları

TF-IDF, metinler arası benzerlik ölçümü, anahtar kelime çıkarımı, arama motorlarında sorgu ve belge sıralama gibi alanlarda etkilidir. Ayrıca, makine öğrenmesi modellerinde özellik olarak kullanılarak metin sınıflandırma ve kümeleme işlemlerinde de yarar sağlar.

Örnek Python Kodu

Python'da, scikit-learn kütüphanesinin TfidfVectorizer sınıfı kullanılarak kolayca TF-IDF tabanlı vektörleştirme yapılabilir. İşte basit bir örnek:

from sklearn.feature_extraction.text import TfidfVectorizer

# Dokümanlar
documents = [
    'the sky is blue',
    'the sun is bright',
    'the sun in the sky is bright',
    'we can see the shining sun, the bright sun'
]

# TF-IDF vektörleştiricisini başlat
vectorizer = TfidfVectorizer()

# Dokümanları TF-IDF matrisine dönüştür
tfidf_matrix = vectorizer.fit_transform(documents)

# Sözcükler ve TF-IDF skorları
feature_names = vectorizer.get_feature_names_out()
for doc_id, doc in enumerate(tfidf_matrix):
    print(f"Document {doc_id}:")
    for word_id in doc.nonzero()[1]:
        print(f"  {feature_names[word_id]}: {doc[0, word_id]:.4f}")

Bu kod, verilen dokümanları TF-IDF skorlarına göre vektörleştirir ve her bir dokümandaki her kelime için TF-IDF değerlerini yazdırı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...