Doğal Dil İşlemede Metin Sınıflandırma
Doğal dil işleme (NLP), makinelerin insan dilini anlamasını ve işlemesini amaçlayan bir alandır. Bu büyüleyici alanın en temel…
Doğal Dil İşlemede Metin Sınıflandırma
Doğal dil işleme (NLP), makinelerin insan dilini anlamasını ve işlemesini amaçlayan bir alandır. Bu büyüleyici alanın en temel problemlerinden biri de metin sınıflandırmadır. Bu yazıda, metin sınıflandırmanın ne olduğunu, neden bu kadar önemli olduğunu ve nasıl gerçekleştirildiğini hem temel kavramlarla hem de ileri düzey tekniklerle birlikte keşfedeceğiz. Yazı boyunca, metin sınıflandırmanın farklı yönlerine değinecek, bazı konuları örneklerle açıklamaya çalışacağım.
![[1] Metin Sınıflandırma](https://miro.medium.com/v2/resize:fit:1277/1*Fm58r_RQ53sEHfwFa28LpA.png)
[1] Metin Sınıflandırma
1.🔍 Metin Sınıflandırma Nedir?
Metin sınıflandırma (Text Classification), bir metni önceden tanımlanmış kategorilerden birine otomatik olarak atama işlemidir. Amaç, büyük miktarda metin verisini anlamlandırmak ve düzenlemektir. Örneğin:
- E-postaların spam veya değil olarak ayrılması
- Film yorumlarının olumlu veya olumsuz şeklinde etiketlenmesi
- Haber başlıklarının konuya göre (siyaset, spor, ekonomi) kategorize edilmesi
Bu problem, hem denetimli öğrenme (supervised learning) hem de derin öğrenme yöntemleriyle çözülebilir.
1.1. Metin sınıflandırma türleri:
- Tek Etiketli Sınıflandırma (Single-label Classification): Her metin yalnızca bir kategoriye ait olabilir. Örneğin, bir e-posta ya spam’dir ya da değildir.
- Çok Etiketli Sınıflandırma (Multi-label Classification): Bir metin aynı anda birden fazla kategoriye ait olabilir. Örneğin, bir makale hem “sağlık” hem “teknoloji” kategorisinde olabilir.
- Çok Sınıflı Sınıflandırma (Multi-class Classification): Metin, birden fazla olası sınıf arasından sadece birine atanır. Örneğin, bir haber metni “spor”, “ekonomi”, “siyaset” gibi kategorilerden yalnızca birine dahil edilir.
2. Metin Sayısallaştırma Yöntemleri
Makine öğrenmesi modelleri, sayılarla çalışır. Dolayısıyla metni sayısal bir forma dönüştürmek gerekir. Bu işlem genellikle “özellik çıkarımı” adını alır.
2.1. Kelime Torbası Modeli (Bag of Words - BoW) 🔡
Bu yöntemde, her metin kelimelerden oluşan bir çuval gibi düşünülür. Kelimelerin sırası önemli değildir, sadece hangi kelimelerin geçtiği ve kaç kez geçtiği önemlidir. Kısaca Bir dokümandaki kelimelerin geçip geçmediğine, kaç kere geçtiğine ve ne kadar önemli olduğuna bakarak metni sayısal hale getiren basit bir modeldir.
Kelime Torbası Modeli Nasıl Uygulanır?
- Tüm metinlerde geçen bütün farklı kelimelerin bir listesini çıkarırsın.
- Her metin için bu listedeki kelimenin kaç kez geçtiğini sayarsın.
- Sonuç her metin bir sayı dizisi vektörü olarak temsil eder.
Temsil Yöntemleri:
- İkili Temsil (Binary): Kelime varsa 1, yoksa 0
- Frekans Temsili: Kelimenin o dokümanda kaç kez geçtiğini sayar
- TF-IDF Ağırlıklandırması: Frekansı önemlilik faktörü ile ağırlıklandırır
Örnek:
Doküman 1: "Futbol çok zevkli bir spor."
Doküman 2: "Basketbol da güzel bir spor."
Sözlük: ["futbol", "çok", "zevkli", "bir", "spor", "basketbol", "da", "güzel"]
Vektör 1: [1, 1, 1, 1, 1, 0, 0, 0]
Vektör 2: [0, 0, 0, 1, 1, 1, 1, 1]
Vektör Normalizasyonu
- Dokuman uzunluklarının farklı olması sınıflandırma sonuçlarını etkileyebilir.
- Bu nedenle, vektörlerin normalize edilmesi önemlidir. Normalizasyon için L2 normu yaygın olarak kullanılır:
Vektörün her bir elemanını vektörün uzunluğuna böleriz: ||X||₂ = √(x₁² + x₂² + … + xₙ²)
Normalize edilmiş vektör: X_norm = X / ||X||₂
Örnek:
Orijinal vektör: [3, 4]
L2 norm: √(3² + 4²) = √(9 + 16) = √25 = 5
Normalize edilmiş vektör: [3/5, 4/5] = [0.6, 0.8]
2.2. TF-IDF (Term Frequency — Inverse Document Frequency)
- Kelime Torbası modelini gelişmiş bir versiyonu olan TF-IDF, bir kelimenin hem metin içindeki sıklığını hem de tüm belgelerdeki ayırt ediciliğini hesaba katar. Çok sık geçen ama anlam açısından zayıf kelimelerin (örneğin “ve”, “bir”) etkisini azaltır. İki bileşenden oluşur:
- Terim Frekansı (TF): Belirli bir kelimenin bir dokümanda kaç kez geçtiğini gösterir.
TF(t, d) = (t'nin d'de geçme sayısı) / (d'deki toplam kelime sayısı)
- Ters Doküman Frekansı (IDF): Bir kelimenin nadir veya yaygın olduğunu belirten ölçüdür.
IDF(t) = log(Toplam doküman sayısı / t kelimesini içeren doküman sayısı)
Bu iki değerin çarpımı, her kelime için bir TF-IDF skorunu verir:
TF-IDF(t, d) = TF(t, d) * IDF(t)
TF-IDF’in temel mantığı şudur:
- Eğer bir kelime bir dokümanda sık geçiyor fakat diğer dokümanlarda nadirse, o kelime yüksek bir TF-IDF skoruna sahip olur.
- Eğer bir kelime tüm dokümanlarda yaygınsa (örn: “ve”, “bir” gibi), IDF değeri düşük olacağından TF-IDF skoru da düşük olur.
Neden TF-IDF Kullanılır?
- Yaygın kullanılan stopwords’lerin (etkisiz kelimeler) etkisini azaltır.
- Her doküman için ayırt edici kelimeleri vurgular.
- Dokümanın konusuyla ilgili daha doğru bir temsil sağlar.
TF-IDF Örneği:
Doküman koleksiyonu: 5 doküman
Doküman 1: "Yapay zeka araştırmaları artıyor"
Doküman 2: "Spor yapay sağlığı destekler"
Doküman 3: "Yapay zeka ve doğal dil işleme"
"yapay" kelimesi için:
TF("yapay", Doküman 1) = 1/4 = 0.25
IDF("yapay") = log(5/3) ≈ 0.22
TF-IDF("yapay", Doküman 1) = 0.25 * 0.22 ≈ 0.055
"zeka" kelimesi için:
TF("zeka", Doküman 1) = 1/4 = 0.25
IDF("zeka") = log(5/2) ≈ 0.4
TF-IDF("zeka", Doküman 1) = 0.25 * 0.4 = 0.1
3. Uzaklık ve Benzerlik Metrikleri 📏
Metinlerin sayısal temsilleri elde edildikten sonra, bu vektörler arasındaki benzerlik veya uzaklık hesaplamaları metin sınıflandırmada kritik rol oynar. Özellikle K-En Yakın Komşu (K-NN) gibi uzaklık tabanlı algoritmalarda kritik öneme sahiptir.
3.1. Minkowski Uzaklığı
- Genel olarak euclid uzaklığı ve manhattan uzaklığının bir türevidir.
- X ve Y dokumanları için verilen X ve Y vektörleri formülasyonda p değeri 1 için Manhattan ve p değeri 2 için Euclid uzaklığını göstermektedir.
d(X,Y) = (Σ|xᵢ - yᵢ|ᵖ)^(1/p)
- p=1 olduğunda Manhattan uzaklığı
- p=2 olduğunda Öklid uzaklığı elde edilir
3.2. Manhattan Uzaklığı
- İki vektör arasındaki mutlak farkların toplamıdır. Adını, New York Manhattan’daki bloklar arasındaki taksi mesafesinden alır:
d(X,Y) = Σ|xᵢ - yᵢ|
3.3. Euclid Uzaklığı
- Pisagor teoreminde hesaplanan hipotenüs mesafesidir.
d(X,Y) = √Σ(xᵢ - yᵢ)²
3.4. Mahalanobis Uzaklığı
- Mahalanobis mesafesi bir dokuman vektörü ile bir sınıfa ait merkez vektörü arasında aşağıdaki gibi hesaplanır.
- S vektörlerin her biri için kovaryans hesabını ifade eder.
d(X,Y) = √[(X-Y)ᵀ S⁻¹ (X-Y)]
- Burada S, veri kümesinin kovaryans matrisidir.
Kovaryans Matrisi: Her kategori için bir kovaryans matrisi oluşturulur. n özellik (kelime) için, kovaryans matrisi n×n boyutundadır. Eğer 5 kelime varsa, her kategori için 5×5 boyutunda bir kovaryans matrisi olur.
3.5. Jaccard İndeksi
- Jaccard indeksi ile iki vektörün sahip olduğu ortak eleman sayısı hesaplanır.
J(A,B) = |A ∩ B| / |A ∪ B|
Örnek:
X = [1, 0, 1, 1, 0], Y = [1, 0, 1, 1, 1]
Ortak elemanlar (0. 2. ve 3. indisler): 3
Birleşim (0. 2. 3. ve 4. indisler): 4
Jaccard İndeksi = 3/4 = 0.75
3.6. Cosinus Benzerliği
Kosinüs benzerliği, iki vektör arasındaki açının kosinüsünü hesaplar. Bu metrik, vektörlerin büyüklüğünden ziyade yönlerine odaklanır. Cosinüs ile orantısal uzaklık ölçülür.
A ve B vektörleri için cosinüs benzerliği aşağıda verilmiştir.
cos(A,B) = Σ(Aᵢ × Bᵢ) / (√Σ(Aᵢ²) × √Σ(Bᵢ²))
3.7. Cosinus ve Euclid Uzaklığı Arasındaki Fark:
Kosinüs benzerliği, vektörlerin yönüne (içeriğe) odaklanırken, Öklid uzaklığı hem yön hem de büyüklüğü dikkate alır. Bu nedenle, kosinüs benzerliği özellikle farklı uzunluktaki ama benzer içerikli dokümanları karşılaştırmada daha etkindir.
Örnek: Üç doküman vektörü x = [1, 1, 1] y = [1, 5, 5] z = [3, 15, 15]
Cosinus benzerlikleri:
cos(x,y) = (1×1 + 1×5 + 1×5) / (√3 × √51) ≈ 0.88
cos(y,z) = (1×3 + 5×15 + 5×15) / (√51 × √459) = 1.0
Euclid uzaklıkları:
d(x,y) = √[(1-1)² + (1-5)² + (1-5)²] = √(0 + 16 + 16) = √32 ≈ 5.66
d(y,z) = √[(1-3)² + (5-15)² + (5-15)²] ≈ 14.28
Cosinus uzaklığı (1 — Cosinus benzerliği):
d_cos(x,y) = 1 - 0.88 = 0.12
d_cos(y,z) = 1 - 1.0 = 0.0
Bu sonuçlar gösterir ki, y ve z vektörleri cosinus benzerliğine göre tamamen aynı yöndedir (aynı içeriğe sahiptir), ancak euclid uzaklığı büyük bir farkı göstermektedir. Bu durum, içerik benzerliğine odaklanmak istediğimizde neden kosinüs benzerliğinin tercih edildiğini açıklar.
4. Metin Sınıflandırma Algoritmaları
4.1. K-En Yakın Komşu (K-NN) Sınıflandırma
K-NN algoritması, bir dokümanı en yakın komşularının çoğunluk sınıfına atayan basit ancak etkili bir sınıflandırma yöntemidir.
K-NN’in Çalışma Prensibi:
- Yeni bir doküman geldiğinde, vektör temsilini oluştur
- Bu vektörün, eğitim setindeki tüm doküman vektörlerine olan uzaklığını hesapla
- En yakın K komşuyu belirle
- Bu K komşunun çoğunluk sınıfını yeni dokümana ata
K-NN Yaklaşımları:
- En Yakın Komşular: Doğrudan K en yakın doküman kullanılır
- En Yakın Merkez: Her sınıfın merkez vektörü hesaplanır ve yeni doküman en yakın merkeze atanır
K-NN’de Uzaklık Hesaplamaları:
- Orantısal Yakınlık: Kosinüs benzerliği gibi metriklerle doküman içeriğinin benzerliği ölçülür
- Mesafe Hesabı: Öklid, Manhattan gibi uzaklık ölçüleriyle geometrik uzaklık hesaplanır
Örnek: Cosinus yakınlık hesabı kullanarak aşağıdaki T vektörünü doğru sınıfa atayınız. Her bir vektörün sınıf: [X, Spor], [Y, Politika], [Z Güncel], [A, Spor], [B, Politika], [C, Güncel].
- T vektörünün diğer vektörler ile olan kosinüs benzerlikleri:
cos(T,X) = 0.5 (X: spor)
cos(T,Y) = 0.6 (Y: politika)
cos(T,Z) = 0.3 (Z: güncel)
cos(T,A) = 0.6 (A: spor)
cos(T,B) = 0.4 (B: politika)
cos(T,C) = 0.4 (C: güncel)
K=1 için: T, en yüksek benzerliğe sahip Y (politika) veya A’ya (spor) atanır. Eşitlik durumunda rastgele seçim yapılır veya önce gelen etiket atanır.
K=4 için: En yakın 4 komşu: Y (politika, 0.6), A (spor, 0.6), X (spor, 0.5) ve B veya C (0.4). Sınıf dağılımı: 2 spor, 1 politika, 1 güncel. T dokümanı “spor” olarak sınıflandırılır.
4.2. Naive Bayes Sınıflandırma
Naive Bayes, olasılık teorisine dayanan ve özellikle metin sınıflandırma için yaygın kullanılan bir algoritma. Bayes teoremi temelinde çalışır ve özellikler arasında koşullu bağımsızlık varsayımı yapar.
Naive Bayes Formülü:
P(sınıf|doküman) ∝ P(sınıf) × ∏ P(kelime_i|sınıf)
Bayes Teoremi
P(A|B) = P(B|A) × P(A) / P(B)
P(sınıf|doküman) = P(doküman|sınıf) × P(sınıf) / P(doküman)
Burada:
- P(sınıf|doküman): Bir dokümanın belirli bir sınıfa ait olma olasılığı (sonsal olasılık)
- P(doküman|sınıf): Belirli bir sınıfa ait bir dokümanın o şekilde görünme olasılığı
- P(sınıf): Sınıfın önsel olasılığı
- P(doküman): Dokümanın önsel olasılığı (tüm sınıflandırmalarda sabit olduğundan genellikle hesaba katılmaz)
Naive Bayes ile Sınıflandırma Adımları:
- Her sınıf için önsel (prior) olasılık P(sınıf) hesaplanır
- Her kelime için koşullu olasılık P(kelime|sınıf) hesaplanır
- Yeni bir doküman için, her sınıfa ait sonsal olasılık hesaplanır
- Doküman, en yüksek sonsal olasılığa sahip sınıfa atanır
Örnek: Elimizde iki kategori (spor ve politika) ve her kategoride 5'er eğitim dokümanı olsun.
Spor kategorisindeki kelime sıklıkları:
futbol: 10, maç: 8, takım: 7, gol: 5, oyuncu: 4
Toplam: 34 kelime
Politika kategorisindeki kelime sıklıkları:
parti: 9, seçim: 7, hükümet: 6, meclis: 5, milletvekili: 5
Toplam: 32 kelime
Tüm benzersiz kelimeler (sözlük boyutu): 10 kelime
Şimdi “Takım bu maç gol attı” cümlesini sınıflandıralım:
P(takım|Spor) = 7/34 ≈ 0.206
P(maçta|Spor) ≈ 8/34 ≈ 0.235
P(gol|Spor) = 5/34 ≈ 0.147
P(attı|Spor) = 0/34 = 0 (Sıfır olasılık problemi!)
P(takım|Politika) = 0/32 = 0
P(maçta|Politika) = 0/32 = 0
P(gol|Politika) = 0/32 = 0
P(attı|Politika) = 0/32 = 0
Eğitim verisinde bulunmayan kelimeler sıfır olasılığa neden olur ve tüm çarpım sıfır olur. Bunu önlemek için Laplace düzeltmesi (smoothing) uygulanır:
P(kelime|sınıf) = (kelime sayısı + α) / (sınıftaki toplam kelime + α × sözlük boyutu)
P(takım|spor) = (7+1)/(34+10) = 8/44 ≈ 0.182
P(bu|spor) = (0+1)/(34+10) = 1/44 ≈ 0.023
P(maçta|spor) = (8+1)/(34+10) = 9/44 ≈ 0.205
P(gol|spor) = (5+1)/(34+10) = 6/44 ≈ 0.136
P(attı|spor) = (0+1)/(34+10) = 1/44 ≈ 0.023
P(takım|politika) = (0+1)/(32+10) = 1/42 ≈ 0.024
P(bu|politika) = (0+1)/(32+10) = 1/42 ≈ 0.024
P(maçta|politika) = (0+1)/(32+10) = 1/42 ≈ 0.024
P(gol|politika) = (0+1)/(32+10) = 1/42 ≈ 0.024
P(attı|politika) = (0+1)/(32+10) = 1/42 ≈ 0.024
Likelihood hesaplama:
P(doküman|Spor) = P(takım|Spor) × P(maç|Spor) × P(gol|Spor) × P(attı|Spor)
= 0.182×0.023×0.205×0.136×0.023
≈ 0.00000268423
P(doküman|Politika) = P(takım|Politika) × P(maç|Politika) × P(gol|Politika) × P(attı|Politika)
= 0.024×0.024×0.024×0.024×0.024
≈ 0.0000000079626
Sonsal Olasılık (Posterior) Hesaplama:
P(doküman) tüm sınıflar için aynı olduğu ve biz sadece hangisinin daha yüksek olasılığa sahip olduğunu karşılaştırdığımız için, bu terimi hesaplamadan şöyle yazabiliriz:
P(Spor|doküman) ∝ P(doküman|Spor) × P(Spor)
∝ 0.00000268423 × 0.5
≈ 0.000001342115
P(Politika|doküman) ∝ P(doküman|Politika) × P(Politika)
∝ 0.0000000079626 × 0.5
≈ 0.0000000039813
Sonuç: Belge “spor” kategorisine atanır çünkü P(spor | doküman) > P(politika | doküman).
5. Metin Sınıflandırmada Normal Dağılım
5.1. Tek Değişkenli Normal Dağılım
Normal dağılım (Gaussian dağılım), doğal olayların birçoğunda gözlemlenen ve çan eğrisi olarak da bilinen temel bir olasılık dağılımıdır. Metin sınıflandırma uygulamalarında, her bir kelime ağırlıklandırıldığında, farklı kategoriler için farklı normal dağılımlar oluşturulabilir.
Tek değişkenli normal dağılımın olasılık yoğunluk fonksiyonu şu şekildedir:
f(x) = (1 / (σ * √(2π))) * e^(-(x-μ)²/(2σ²))
Burada:
- μ: Ortalama (dağılımın merkezi)
- σ: Standart sapma (dağılımın genişliği)
- π: Pi sabiti (yaklaşık 3.14)
- e: Euler sayısı (yaklaşık 2.71)
Örnek: Kelimelerin Kategori Dağılımı
- Örneğin, “futbol” kelimesinin spor kategorisindeki belgeler içerisinde görülme sıklığı normal dağılım gösterebilir. Eğer spor kategorisinde bu kelimenin ortalama ağırlığı μ = 3.0 ise, bu kategoriden seçtiğimiz bir belgede “futbol” kelimesinin ağırlığının en yüksek olasılıkla 3.0 civarında olmasını bekleriz.
Örnek: TF-IDF Değerleri ve Normal Dağılım
“Futbol” kelimesinin spor dokümanlardaki TF-IDF değerlerinin aşağıdaki gibi olduğunu varsayalım:
Doküman 1: 5.0
Doküman 2: 3.75
Doküman 5: 1.25
Doküman 8: 2.0
Bu durumda, spor kategorisi için “futbol” kelimesinin ortalama TF-IDF (μ):
μ = (5.0 + 3.75 + 1.25 + 2.0) / 4 = 3.0
Standart sapma (σ) formülü:
σ = √[(1/N) * Σ(x_i - μ)²]
Standart sapmanın σ = 2.0 olduğunu varsayarsak, spor kategorisinde “futbol” kelimesinin TF-IDF değeri 3.0 olan bir doküman için olasılık değeri:
x = 3.0
(x - μ) / σ = (3.0 - 3.0) / 2.0 = 0
e^(-0.5 * 0) = e^0 = 1
f(3.0) = 1 / (2 * √(2π)) = 1 / 5.011 ≈ 0.1995
Bu hesaplama, bir dokümanda “futbol” kelimesinin TF-IDF değerinin 3.0 olmasının, spor kategorisinde olma olasılığını vermektedir.
5.2. Çok Değişkenli Normal Dağılım (Multivariate Gaussian Distribution)
Gerçek dünyada, kelimeler bağımsız değildir; bir kelimenin varlığı diğer kelimelerin varlığını veya sıklığını etkileyebilir. Örneğin, bir dokümanda “futbol” kelimesi geçiyorsa, “gol”, “kaleci” gibi kelimelerin de geçme olasılığı yüksek olabilir. Bu karmaşık ilişkileri modellemek için çok değişkenli normal dağılım kullanılır.

Çok değişkenli normal dağılım formülü:
f(x) = (1 / ((2π)^(d/2) * |Σ|^(1/2))) * e^(-(1/2) * (x-μ)ᵀ * Σ^(-1) * (x-μ))
Burada:
x: d-boyutlu vektör (d kelimenin ağırlık değerleri)μ: d-boyutlu ortalama vektörΣ: d×d boyutunda kovaryans matrisi|Σ|: Kovaryans matrisinin determinantıΣ^(-1): Kovaryans matrisinin tersi
5.3. Kovaryans Matrisi
Kovaryans matrisi, kelimelerin birbiriyle olan ilişkisini nicelleştiren bir araçtır. Bir veri kümesindeki değişkenlerin (kelimelerin) birlikte nasıl değiştiğini gösterir.
5.3.1. Kovaryans Matrisinin Hesaplanması
N dokümanlık bir veri kümesinde d adet kelime için kovaryans matrisi şu şekilde hesaplanır:
Σ = (1/N) * Σ(i=1 to N) [(xi - μ)(xi - μ)ᵀ]
Burada:
xi: i. dokümanın vektör temsiliμ: Tüm dokümanların ortalama vektörüN: Toplam doküman sayısı
Örnek: Sözlüğümüzde sadece 3 kelime olduğunu ve 3 doküman bulunduğunu varsayalım:
Doküman 1: [2, 3, 4]
Doküman 2: [3, 4, 5]
Doküman 3: [4, 5, 6]
Ortalama vektör:
μ = [(2+3+4)/3, (3+4+5)/3, (4+5+6)/3] = [3, 4, 5]
Kovaryans matrisindeki (i,j) elemanı, i. kelime ile j. kelime arasındaki kovaryansı gösterir:
cov(i,j) = (1/N) * Σ(k=1 to N) [(x_ki - μ_i)(x_kj - μ_j)]
Örneğin, 1. ve 2. kelimeler arasındaki kovaryans:
cov(1,2) = (1/3) * [(2-3)*(3-4) + (3-3)*(4-4) + (4-3)*(5-4)]
cov(1,2) = (1/3) * [1 + 0 + 1] = 2/3 = 0.67
Benzer şekilde tüm kovaryans değerleri hesaplanarak 3×3 kovaryans matrisi oluşturulur.
5.3.2. Kovaryans Matrislerinin Özellikleri
- Boyut: Sözlükte d adet kelime varsa, kovaryans matrisi d×d boyutundadır.
- Sayı: Her kategori için bir kovaryans matrisi hesaplanır.
10 doküman, 2 sınıf (spor ve politika) ve 5 kelime içeren bir veri setinde kaç kovaryans matrisi olacaktır?
Her kategori (sınıf) için bir kovaryans matrisi oluşturulur. Bu durumda:
- 2 adet kovaryans matrisi vardır (biri spor, diğeri politika için)
- Her bir kovaryans matrisi 5×5 boyutundadır
Kovaryans matrisi her kategorinin kendi içinde, kelimelerin birbirleriyle ilişkilerini temsil eder. Bu ilişki, doküman vektörlerinin ortalamadan sapması üzerinden hesaplanır.
5.3.3. Kovaryans Matrislerinin Sınıflandırma İçin Kullanımı
- Yeni bir doküman sınıflandırılırken, her kategori için çok değişkenli normal dağılım formülü kullanılarak olasılık hesaplanır ve en yüksek olasılığa sahip kategori seçilir.
- Bu yaklaşım, kelimelerin birbirleriyle olan ilişkilerini dikkate aldığı için, yalnızca kelime frekanslarına dayanan basit sınıflandırma yöntemlerinden daha iyi sonuç verebilir.
6. Model Seçimi ve Performans Ölçümü
En çok kullanılan modellerden bazıları şunlardır:
- Naive Bayes: Hızlı ve bellek açısından verimli, özellikle küçük veri setlerinde etkili
- Lojistik Regresyon: Doğrusal sınıflandırıcı, olasılıksal yorumlama imkanı sunar
- Destek Vektör Makineleri (SVM): Yüksek boyutlu verilerde iyi performans gösterir
- Karar Ağaçları / Rastgele Ormanlar: Özellik önemini belirleme kabiliyeti
- Derin Öğrenme Modelleri: LSTM, CNN, Transformer tabanlı modeller (BERT, GPT vb.)
Performansı ölçmek için:
- Doğruluk (Accuracy)
- Hassasiyet (Precision)
- Duyarlılık (Recall)
- F1 Skoru
- Karışıklık Matrisi (Confusion Matrix)
gibi metrikler kullanılır. Özellikle dengesiz veri kümelerinde accuracy yerine F1 skoru tercih edilmelidir.
Bu konuyu daha iyi kavrayabilmeniz için, daha önce yazdığım Confusion Matrix (Karışıklık Matrisi) hakkındaki yazıyı okumanızı tavsiye ederim.
7. Sonuç
Metin sınıflandırma, doğal dil işlemenin temel ve yaygın kullanılan uygulamalarından biridir. Vektör temsilleri, uzaklık metrikleri, sınıflandırma algoritmaları ve model değerlendirme yöntemlerini iyi anlamak, başarılı metin sınıflandırma uygulamaları geliştirmek için kritik öneme sahiptir. Bu makalede, metin sınıflandırmanın teorik temelleri, temel yaklaşımları ve gelişmiş tekniklerini kapsamlı bir şekilde inceledik.
Başarılı bir metin sınıflandırma sistemi geliştirmek için şu adımlar büyük önem taşır:
- Problemin doğasına uygun metin temsil yöntemini seçmek
- Veri ön işleme adımlarını dikkatle uygulamak
- Problem için uygun sınıflandırma algoritmasını belirlemek
- Model performansını doğru metriklerle değerlendirmek
- Modeli sürekli olarak iyileştirmek ve güncellemek
Doğal dil işleme teknolojileri hızla gelişirken, özellikle Transformer tabanlı dil modellerinin metin sınıflandırma alanında sağladığı ilerlemeler, bu alanın geleceğinin son derece parlak olduğunu göstermektedir.
Kaynaklar
메타데이터
- post_id
- 6dd877b0e6b2
- slug
- doğal-dil-i̇şlemede-metin-sınıflandırma-6dd877b0e6b2
- url
- https://medium.com/@ferhatakalan/do%C4%9Fal-dil-i%CC%87%C5%9Flemede-metin-s%C4%B1n%C4%B1fland%C4%B1rma-6dd877b0e6b2
- canonical_url
- https://medium.com/@ferhatakalan/do%C4%9Fal-dil-i%CC%87%C5%9Flemede-metin-s%C4%B1n%C4%B1fland%C4%B1rma-6dd877b0e6b2
- author_url
- https://medium.com/@ferhatakalan
- status
- ok
- fetched_at
- 2026-07-14 08:13:23