KonuAnlatım.com

Metin Sınıflandırma

Yapay Zekâ · Bölüm 41Yapay ZekâDers

Bir e-postanın spam olup olmadığına karar veren filtre, müşteri şikâyetini doğru birime yönlendiren sistem, bir yorumun olumlu mu olumsuz mu olduğunu ayırt eden araç — üçü de aynı tekniğe dayanır: metin sınıflandırma. Bu derste konuyu sıfırdan, günlük hayattan örneklerle ve adım adım işliyoruz. Diğer tüm başlıklar için Yapay Zekâ dersleri sayfamıza göz atabilirsin.

Metin Sınıflandırma Nedir?

Metin sınıflandırma, bir metnin önceden belirlenmiş kategorilerden hangisine ait olduğunu otomatik olarak kararlaştırma işidir. Makine öğrenmesi diliyle söylersek girdi bir metin, çıktı sabit bir etiket kümesinden seçilen bir etikettir: “spam / spam değil” ya da “spor / ekonomi / magazin” gibi. Etiket sayısı ikiden fazlaysa göreve çok sınıflı (multi-class), bir metnin aynı anda birden fazla etiket alması gerekiyorsa çok etiketli (multi-label) sınıflandırma denir; bir haber “hem ekonomi hem çevre” etiketlerini birlikte taşıyabilir. Bu görev, doğal dil işlemenin en temel başlıklarından biridir; alanın bütün resmi için NLP nedir? dersimize bakabilirsin.

Baştan bir ayrım yapalım: Sınıflandırılan kategoriler önceden tanımlıdır. Etiketler yoksa ve model metinleri benzerliklerine göre kendi grupluyorsa, bu iş sınıflandırma değil kümeleme (clustering) olur; ikisi sıkça karıştırılır.

Metin Sınıflandırma Günlük Hayatta Nerede Karşımıza Çıkar?

Farkında olmasan da bu teknik her gün hayatının birçok noktasında çalışır:

  • Spam filtreleri: Gelen kutuna düşmeyen e-postalar, içeriklerine bakılarak otomatik olarak “spam” sınıfına atanır.
  • Duygu analizi: Ürün yorumlarının “olumlu / olumsuz / nötr” diye etiketlenmesi, metin sınıflandırmanın en bilinen uygulamasıdır; ayrıntılar duygu analizi dersimizde.
  • İçerik moderasyonu: Platformlar, paylaşımları nefret söylemi, taciz veya spam gibi sınıflara ayırmak için bu yöntemi kullanır.
  • Destek talebi yönlendirme: Müşterinin mesajı, otomatik olarak “faturalama”, “teknik arıza”, “iade” gibi doğru birime yönlenir; sohbet botlarının kullanıcı niyetini (intent) algılaması da bu görevin bir türüdür.
  • Haber etiketleme: Binlerce haber, konusuna göre otomatik olarak kategorilere ayrılır.

Bir Metin Sınıflandırma Sistemi Nasıl Çalışır?

Sıfırdan bir sınıflandırıcı kurmak çoğu zaman şu altı adımı izler:

  1. Veri toplama ve etiketleme: Örnek metinler toplanır, her birine doğru etiket verilir. Model bu örneklerden örüntü öğrenir; kalitesiz etiket, kalitesiz model demektir.
  2. Ön işleme: Metin küçük harfe çevrilir, gereksiz işaretler ayıklanır ve anlamlı parçalara bölünür. Bu parçalara token denir; ayrıntıyı Token nedir? dersimizde işledik.
  3. Sayısal temsil: Makine metni doğrudan anlamaz; parçalar sayı vektörlerine dönüştürülür. Modern sistemlerde bu işi embedding temsilleri görür; nasıl olduğunu Embedding nedir? dersimizde anlattık.
  4. Model eğitimi: Etiketli örnekler modele verilir; hangi örüntülerin hangi etikete götürdüğü istatistiksel olarak öğrenilir.
  5. Değerlendirme: Model, eğitimde hiç görmediği ayrı bir test kümesinde sınanır ve sonuç raporlanır.
  6. Kullanıma alma ve izleme: Dil ve içerik zamanla değiştiği için yayındaki model düzenli aralıklarla yeniden sınanır ve güncellenir.

Küçük bir örnek: “Kazandınız! Hediye çekinizi hemen talep edin” cümlesi, eğitim verisindeki spam örnekleriyle aynı örüntüleri taşır — aciliyet vurgusu, promosyon kelimeleri, bağlantı çağrısı. Model bu örüntüleri sayısal temsilde yakalar ve sonucu genellikle bir olasılıkla verir: “spam: %97” gibi.

Klasik Yöntemler mi, Büyük Dil Modelleri mi?

Metin sınıflandırmada bugün üç yaklaşım bir arada yaşar:

  • Klasik yöntemler (Naive Bayes, lojistik regresyon, SVM): Genellikle kelime sayımları veya TF-IDF ağırlıklarıyla çalışır. Az veriyle, düşük işlem gücüyle ve ucuza çalışır; dar kapsamlı ve net tanımlı görevlerde hâlâ çok yaygındır.
  • Transformer tabanlı ince ayar: BERT benzeri önceden eğitilmiş bir dil modeli, görece az etiketli veriyle göreve uyarlanır; bağlamı, deyimleri ve ironiyi klasik yöntemlerden çok daha iyi yakalar. Yüksek hacimli, sabit etiketli işlerin standart çözümüdür.
  • Büyük dil modelleriyle sıfır-örnekli sınıflandırma: Hazır bir LLM'e etiketleri tanımlayan bir prompt verilir ve eğitim verisi olmadan etiket istenir. 2024-2025 döneminde yaygınlaşan bu yöntem, etiketli veri yoksa veya etiketler sık değişiyorsa pratiktir; buna karşılık milyonlarca mesajın işleneceği sabit görevlerde küçük ince ayarlı modeller genellikle daha hızlı ve ucuz kalır.

Tercih; verinin büyüklüğüne, hız gereksinimine, maliyete ve etiketlerin değişme sıklığına bağlıdır. Az sayıda ama anlamı zor metin için büyük model, yüksek hacimli rutin iş için küçük model mantıklıdır.

Başarı Nasıl Ölçülür?

Model, eğitimde kullanılmayan bir test kümesinde sınanır. Başlıca ölçütler şunlardır:

  • Doğruluk (accuracy): Tüm tahminlerin yüzde kaçının doğru olduğu; kolay anlaşılır ama tek başına yanıltıcıdır.
  • Hassasiyet (precision): Modelin “spam” dediği mesajların yüzde kaçı gerçekten spam?
  • Duyarlılık (recall): Gerçek spam mesajların yüzde kaçı yakalanabilmiş?
  • F1 skoru: Hassasiyet ile duyarlılığın dengeli ortalaması.

Tek başına doğruluk neden yetmez? Gelen bin e-postanın yalnızca yirmisi spam olsun. “Hiçbir e-posta spam değil” diyen bir modelin doğruluğu %98 görünür; oysa tek bir spam’i bile yakalayamamıştır. Bu yüzden nadir sınıflar içeren görevlerde mutlaka hassasiyet, duyarlılık ve F1 değerlerine birlikte bakılır.

Sık Yapılan Hatalar ve Yanılgılar

  • Sınıflandırma ile kümelemeyi karıştırmak: Sınıflandırmada etiketler önceden bellidir; kümelemede model benzer metinleri kendi gruplar ve grupların anlamı sonradan yorumlanır.
  • Sınıf dengesizliğini görmezden gelmek: Etiketlerin %95’i tek sınıftaysa model yalnızca o sınıfı tahmin etmeyi öğrenir; doğruluk yüksek görünür ama model işe yaramaz. Örnekleri dengelemek veya sınıf ağırlığı vermek gerekir.
  • Test verisini eğitimde kullanmak: Modelin hiç görmediği bir veri ayrılmadan yapılan ölçüm, gerçek hayatta tutmayacak parlak sonuçlar verir.
  • Eğitim verisinin gerçek veriye benzememesi: Ürün yorumlarıyla eğitilen model, müşteri şikâyet maillerinde aynı başarıyı göstermeyebilir; kullanım alanı değişince model yeniden sınanmalıdır.
  • Kestirme öğrenme: Model anlam yerine yüzeysel ipuçlarına yaslanabilir; olumlu yorumların yoğun olduğu bir kümede “kargo” kelimesi sık geçiyorsa, “kargo = olumlu” gibi anlamsız bir kısayol öğrenebilir.
  • “Büyük modeller her şeyi çözdü” sanmak: Net ve dar görevlerde küçük klasik modeller, çok daha ucuza yeterli çözüm sunar; başarıyı çoğu zaman modelin büyüklüğü değil, verinin kalitesi belirler.

Son bir ayrım: Metin sınıflandırma bir etiketleme görevidir; model mevcut metne karar verir, yeni metin üretmez. Metin üreten sistemler üretken yapay zekâ tarafında yer alır; özetleme gibi ayrı bir NLP görevini de metin özetleme dersimizde işledik.

Sık Sorulan Sorular

Metin sınıflandırma nedir?

Bir metnin önceden belirlenmiş kategorilerden hangisine ait olduğuna otomatik karar verilmesidir. Spam filtreleme, duygu analizi, içerik moderasyonu ve destek talebi yönlendirme bu görevin en bilinen uygulamalarıdır.

Metin sınıflandırma ile duygu analizi arasındaki fark nedir?

Duygu analizi, metin sınıflandırmanın özel bir türüdür: sınıflar duygusal kutupluluğa göre (olumlu, olumsuz, nötr) belirlenir. Metin sınıflandırma ise spam tespitinden konu etiketlemeye kadar her tür kategori atama görevini kapsayan genel kavramdır.

Metin sınıflandırma hangi yöntemlerle yapılır?

Başlıca üç yaklaşım vardır: Naive Bayes ve SVM gibi klasik algoritmalar; BERT gibi önceden eğitilmiş modellerin göreve uyarlanması; ve büyük dil modellerinin sıfır-örnekli ya da az-örnekli biçimde yönlendirilmesi. Seçim; veri miktarı, etiket sayısı, maliyet ve güncellenebilirlik gibi etkenlere göre yapılır.

Dersler

Tümü →