TF-IDF Nedir?
Yayın: · Son güncelleme:
TF-IDF Nedir? Kısaca
TF-IDF (Term Frequency–Inverse Document Frequency), bir kelimenin bir belgedeki önemini; o belgede ne sıklıkla geçtiği ile tüm belge koleksiyonunda ne kadar nadir olduğunu çarparak ölçen bir metin ağırlıklandırma yöntemidir.

TF-IDF, doğal dil işlemenin en eski ve en yaygın tekniklerinden biridir. Arama, belge sınıflandırma ve anahtar kelime çıkarımı gibi işlerde kullanılır.
TF-IDF nedir?
Yöntem iki parçadan oluşur:
- TF (terim sıklığı): Kelimenin belgede kaç kez geçtiği. Çok geçen kelime o belgenin konusuyla ilgili olabilir.
- IDF (ters belge sıklığı): Kelimenin kaç belgede geçtiğinin tersine dayanır. Her belgede geçen "bir", "ve" gibi kelimeler düşük, az belgede geçen özel kelimeler yüksek değer alır.
TF-IDF puanı bu ikisinin çarpımıdır. Yani hem belgede sık geçen hem de genel olarak nadir olan kelimeler en yüksek puanı alır.
Nasıl hesaplanır?
Varsayımsal bir örnek: 1.000 belgelik bir koleksiyonda "temettü" kelimesi 10 belgede geçiyor olsun. IDF genellikle log(1.000 / 10) = log(100) şeklinde hesaplanır. Bu kelime bir belgede 5 kez geçiyorsa, TF-IDF puanı kabaca 5 × log(100) olur. "ve" kelimesi 1.000 belgenin hepsinde geçiyorsa IDF değeri log(1) = 0 olur ve kelimenin puanı sıfırlanır.
Pratikte farklı normalleştirme ve yumuşatma varyantları kullanılır.
Nerelerde kullanılır?
- Belgeleri vektörlere çevirip kosinüs benzerliği ile karşılaştırmak
- Bir metnin anahtar kelimelerini bulmak
- Basit sınıflandırma modellerine özellik sağlamak
Sınırları
TF-IDF kelimelerin sırasını ve anlamını dikkate almaz; eş anlamlı kelimeleri farklı sayar. Bu yüzden anlamı yakalamak gereken işlerde embedding tabanlı yöntemler daha başarılıdır. Yine de hızlı, açıklanabilir ve eğitim gerektirmeyen bir başlangıç noktasıdır.
Sıkça Sorulan Sorular
TF-IDF ne işe yarar?
Bir kelimenin belirli bir belge için ne kadar ayırt edici olduğunu ölçer. Arama sıralaması, anahtar kelime çıkarımı ve metin sınıflandırmada sık kullanılır.
TF-IDF ile embedding arasındaki fark nedir?
TF-IDF kelime sayımlarına dayanır ve anlamı yakalamaz. Embedding ise metni anlamsal ilişkileri yansıtan yoğun vektörlere çevirir; eş anlamlı ifadeleri birbirine yakın konumlandırabilir.