Metin sınıflandırma, doğal dil işlemenin önemli bir parçasıdır. Makinelerin metni daha iyi anlamasına ve bunlara dayalı tahminler yapmasına yardımcı olur.
Metin sınıflandırılması tam olarak nedir?
Metin Sınıflandırılması (Text Classification) Nedir?
Metin sınıflandırılması, metni içeriğine göre farklı gruplara (sınıflara) ayırma işlemidir. Makine öğrenimi algoritmalarını, özellikle de metin içindeki örüntüleri tanımlayabilen Evrişimli Sinir Ağları (CNN’ler) veya Tekrarlayan Sinir Ağları (RNN’ler) gibi derin öğrenme modellerini içerir.
Bu modeller genellikle önceden etiketlenmiş (açıklamalı) eğitim metni kullanılarak oluşturulur. Eğitildikten sonra modeli yeni, görülmemiş metin parçacıklarıyla besleyebilir ve modelin bunları otomatik olarak sınıflandırmasını sağlayabilirsiniz. Tahminin yanı sıra modeller, 0 ile 1 arasında değişen bir güven düzeyi sağlar ve modelin doğru olduğundan ne kadar emin olduğunu vurgular (ne kadar yüksekse o kadar güvenli).
Metin Sınıflandırma Nasıl Çalışır?
Metin sınıflandırma, metni içeriğine göre kategorize etme işlemidir. Bunu yapmanın çeşitli yolları vardır, ancak en yaygın yaklaşım, metnin etiketlenebileceği önceden tanımlanmış bir dizi kategori veya sınıf kullanmaktır.
Metin sınıflandırmada ilk adım, kullanmak istediğiniz sınıflar kümesine karar vermektir. Bu çeşitli şekillerde yapılabilir, ancak en yaygın yaklaşım her sınıfı tanımlayan bir dizi anahtar kelime kullanmaktır. Örneğin, hayvanlarla ilgili metinleri sınıflandırmaya çalışıyorsanız, şu sınıfları kullanabilirsiniz: memeliler, sürüngenler, amfibiler, balıklar ve kuşlar.
Sınıflar kümesine karar verdikten sonra, bir sonraki adım hangi metinlerin hangi sınıfa ait olduğunu belirlemektir. Bu da çeşitli şekillerde yapılabilir, ancak en yaygın yaklaşım, konunun göstergesi olan belirli anahtar kelimeleri veya ifadeleri aramaktır. Örneğin, memelilerle ilgili metinler arıyorsanız, “kürk”, “süt” veya “doğum” gibi anahtar kelimeleri arayabilirsiniz.
Hangi metinlerin hangi sınıfa ait olduğunu belirledikten sonra bir sonraki adım onları gerçekten bu şekilde etiketlemektir. Bu işlem bazı yazılım programları tarafından otomatik olarak yapılabileceği gibi, her metni okuyan ve uygun sınıfa atayan biri tarafından manuel olarak da yapılabilir.
Tüm metinler uygun sınıflandırmalarla etiketlendikten sonra son adım bu etiketleri bir tür analiz gerçekleştirmek için kullanmaktır. Bu, farklı sınıfların basit bir sayımından daha karmaşık bir makine öğrenimi çözümüne kadar her şey olabilir.
Neden Metin Sınıflandırması Kullanmalıyım?
Metin sınıflandırması, duygu, niyet, kategori ve benzerlerini anlamak için verileri hızlı bir şekilde çıkarmanıza olanak tanır.
Bunu manuel olarak yapmak imkansız olmasa da zaman alıcı olacaktır. Örneğin, her biri ortalama 50 kelime veya daha fazla olan 10.000 e-postayı taramak haftalar, hatta aylar sürebilir.
İçerik moderasyonu gibi rahatsız edici yorumları dakikalar içinde işaretlemek ve kaldırmak istediğiniz durumlarda ise otomasyon bir gerekliliktir.
Diyelim ki bir online bir bankacılık şirketinde çalışıyorsunuz. Ürününüzün en büyük sorunlu noktalarını (para transferleri, para yatırma işlemleri vb.) anlamak için destek biletlerini analiz etmek istiyorsunuz. Her bileti manuel olarak inceleyebilir veya destek ekibinden / müşterilerden bunları kendilerinin etiketlemesini isteyebilirsiniz, ancak her iki yol da yavaş ve hataya açıktır. Bunun yerine destek taleplerini alıp en uygun kategoriyi otomatik olarak belirleyebilecek bir makine öğrenimi modeli oluşturabilirsiniz.
Metin sınıflandırma diğer birçok sektör tarafından da kullanılmaktadır:
1. İçerik Moderasyonu
Çevrimiçi topluluklardan randevulaşma hizmetlerine ve sosyal ağlara kadar pek çok marka, kurallarını ihlal eden mesajları otomatik olarak işaretlemek için metin sınıflandırmasını kullanır. Akla ilk olarak argo içerikli metinler gelse de, örneğin bir petshop’un yasa dışı köpek yetiştirme uygulamalarını ima eden gönderileri işaretlemesi gibi özel kuralları da olabilir.
2. Kategori Etiketleme
Metin sınıflandırması, bir web sitesinin içeriğinin yemekle ilgili, sporla ilgili vb. olup olmadığı gibi bağlamsal temaları belirlemede de önemli rol oynar. Reklam teknolojisi endüstrisi, bir reklam yerleşimi için ne kadar teklif verileceğini belirlemek için bu tür modelleri kullanır. Örneğin DoorDash, yemekle ilgili web sitelerinde görünmek için araba ile ilgili olanlara kıyasla muhtemelen daha fazla ödeme yapacaktır.
Metin sınıflandırıcılar, bu şirketlerin makaleleri otomatik olarak doğru içerik kategorisiyle etiketlemesine yardımcı olarak her gösterimden daha fazla para kazanmalarını sağlar.
3. Spam Tanımlama
Birçok hizmet, özellikle sosyal ağlar ve dizinler, spam veya sahtekarlığı bulmak ve kaldırmak için metin sınıflandırmasını kullanır.
Örneğin Gust, girişimlerin melek yatırımcılara ulaşmasına yardımcı olan bir dizindir. Ancak, birçok dizin gibi spam listelemelerden rahatsız olmaktadır. Bunlarla mücadele etmek için yeni profilleri analiz etmek ve neyin gerçek olduğunu gerçek zamanlı olarak belirlemek için makine öğrenimini kullanırlar.
4. Metin Sıralama
What’s That Charge, kişinin kredi kartı ekstresindeki gizemli ücretleri tanımlar. Kullanıcılar harcamalarını yükler ve WTC onlara bunun kimden geldiğini söyler. Ancak kullanıcılar genellikle ücretlendirme olmayan metinleri yüklerler. Bu sorunu çözmek için WTC, belirli bir girdinin bir ücret mi yoksa anlamsız bir dize mi olduğunu belirlemek için metin sınıflandırmasını kullanır.
5. Marka Duyarlılık Analizi
Duygu analizi de metin sınıflandırması için yaygın bir kullanım alanıdır. Burada modeller metni olumlu veya olumsuz olarak kategorize eder (ve/veya nötr, sevgi, nefret vb. gibi büyük değerleri kullanır). Bu tür araçlar, markaların insanların kendileri hakkında neler söylediğini izlemelerine yardımcı olur.
Metin Sınıflandırmada Karşılaşılan Zorluklar
Metin sınıflandırma, amacın metinsel verilere etiket atamak olduğu bir denetimli öğrenme görevidir. Metin sınıflandırmada en yaygın problem, amacın metni iki sınıftan birine sınıflandırmak olduğu ikili sınıflandırmadır. Bununla birlikte, amacın metni ikiden fazla sınıftan birine sınıflandırmak olduğu çok sınıflı sınıflandırma problemleri de vardır.
Metin sınıflandırmadaki zorluk, metinsel verilerin çok yapılandırılmamış olabileceği ve genellikle çok fazla gürültü içerdiği gerçeğinde yatmaktadır. Bu durum, makine öğrenimi modellerinin metinsel verilerden öğrenmesini zorlaştırır. Buna ek olarak, metinsel veriler çok yüksek boyutlu olabilir ve bu da makine öğrenimi modelleri için başka bir zorluk teşkil eder.
Son olarak, doğal dil anlayışı makineler için hala zor bir görevdir ve birçok metin sınıflandırma problemi, metnin makine tarafından derinlemesine anlaşılmasını gerektirir. Bu, duygu analizi veya konu modelleme gibi gelişmiş doğal dil işleme teknikleriyle başarılabilir.
Metin Sınıflandırmanın Diğer Makine Öğrenimi Terimlerinden Farkı Nedir?
Makine öğrenimi alanında metin sınıflandırma dışında kullanılan diğer önemli terimler aşağıdakileri içermektedir:
- Doğal Dil İşleme – Doğal dil işleme, hem anlama (analiz, sınıflandırma) hem de üretme (oluşturma, sentezleme) ile ilgili bir dizi görevi kapsayan bir alandır. Metin sınıflandırma bu kapsama girer, ancak özetleme, çeviri, soru yanıtlama, metin ayrıştırma ve daha fazlası gibi görevleri de içerir.
- Metin madenciliği – Metin madenciliği, metin analizi için kullanılan geniş bir terimdir. Metin sınıflandırmasının yanı sıra metin içindeki verileri ayrıştırma, temaya göre kümeleme ve metin içindeki tek tek kelimeleri etiketleme (metni bir bütün olarak sınıflandıran metin sınıflandırmasına karşı) gibi görevleri de içerebilir.
- Konu ve belge kümeleme – Temel olarak, ”metin sınıflandırma” önceden tanımlanmış etiketleri içeren denetimli bir sınıflandırma biçimini ifade eder. Buna karşılık, ”konu kümeleme” veya ”belge kümeleme”, modelin tanımladığı kuralları kullanarak metni benzerliğe göre gruplandırdığı denetimsiz bir yaklaşımı ifade eder. Büyük metinsel veri kümelerinde temaları hızlı bir şekilde bulmak için harikadır.
- Named Entity Recognition (NER) – Adlandırılmış Varlık Tanıma, metin içindeki belirli sözcüklerin veya ifadelerin sınıflandırılmasını içerir.
- Information Retrieval (IR) – Information Retrieval, sorguları kullanarak büyük bir depodan ilgili bilgileri çekme işlemidir. Bu bir arama şeklidir, madencilik veya sınıflandırma değildir.
- OCR (Optik Karakter Tanıma) – OCR görüntülerden metin ve sayıları çıkarır. Hem bilgisayarla görme hem de doğal dil işlemeyi kapsar.
Metin Sınıflandırılmasının Görüntü Sınıflandırmasından Farkı Nedir?
Görüntü sınıflandırma, metin sınıflandırmaya benzerdir, ancak görüntüleri içerir. Görüntü sınıflandırma, bilgisayarların görsel bilgileri anlamasını sağlayan bir alan olan bilgisayarlı görü kapsamına girer.
Görüntü sınıflandırmasında model, görüntüyü bir bütün olarak analiz eder ve ardından önceden belirlenmiş bir etikete atar. Örneğin, bir görüntüyü alan ve size geri dönüştürülebilir olup olmadığını söyleyen bir geri dönüşüm tanımlayıcınız olabilir.
Görüntü sınıflandırmanın kullanım alanları aşağıdakileri içerir:
- Görüntü içeriği denetimi – Sınıflandırıcılar, NSFW içerikten şartlarını hala ihlal eden SFW görüntülere kadar rahatsız edici materyal için görüntüleri analiz edebilir.
- Ürün etiketleme – Modeller bir görüntüyü otomatik olarak doğru giysi türü, stili, renkleri vb. ile etiketler.
- IOT gözlemi – Gardyn gibi şirketler, IOT cihazlarının çektiği görüntüleri analiz etmek için görüntü sınıflandırmasını kullanır.
Sınıflandırma Güven Puanı Nedir?
Sınıflandırma modelleri etkin bir şekilde eğitim verilerinden bir tahminde bulunur. Döndürdükleri güven puanı, modelin doğru tahmin yaptığından ne kadar emin olduğuna dair kabaca bir yaklaşımdır.
Güven düzeyleri 0 ile 1 arasında değişir, ancak genellikle yüzde olarak sunulur (%0 ile %100). 1’e ne kadar yakınsa, etiketten o kadar emindir.
Bu puanlar olasılıksaldır ve modelin doğru ya da yanlış olduğu anlamına gelmez. Model iyi eğitilmemişse, yanlış bir yanıttan son derece emin olabilir.
Bununla birlikte, modelinize güveniyorsanız, güven puanı yararlı bir araç olabilir. Örneğin bir sosyal ağ, modelin kullanıcı tarafından oluşturulan metne ilk müdahaleyi yaptığı hibrit bir moderasyon yaklaşımı kullanabilir.
Bir şeyi örneğin %97 gibi yüksek bir puanla Geçti/Kaldı olarak etiketlerse, araç otomatik olarak izin verir veya otomatik olarak engeller. Ancak diğer her şey manuel incelemeye gider. Metinlerin çoğu bu %97’lik dilime giriyorsa, kendilerine çok fazla zaman kazandırmış olurlar.
Sınıflandırma Türleri Nelerdir?
Sınıflandırmayı parçalara ayırmanın birkaç yolu vardır. Bunlar aşağıdaki şekildedir:
1. İkili sınıflandırma (Binary classification)
İkili sınıflandırma, Saldırgan / Saldırgan Değil veya Destek Sorunu / Destek Sorunu Değil gibi iki sınıftan bir kazanan seçmeyi içerir. ”Bu bir yemek tarifi mi?” gibi basit bir sorudan bir makalenin sahte olup olmadığına karar vermek gibi daha karmaşık bir göreve kadar değişebilir.
2. Çok sınıflı sınıflandırma (Multi-class classification)
Çok sınıflı sınıflandırma, sadece bir kazananı içerir, ancak iki olası sınıf yerine üç veya daha fazla sınıf vardır.
Örnek olarak, iş unvanını iş departmanıyla eşleştiren bir sınıflandırıcı verilebilir. ”Satış Müdürü” unvanı sadece bir departmana (”Satış”) girer.
3. Çok etiketli sınıflandırma (Multi-label classification)
İkili ve çoklu sınıfta, sınıf özeldir, yani model girdiyi yalnızca bir sınıfa atar. Çok etiketli sınıflandırmada modelin böyle bir sınırlaması yoktur. Gerekirse metni birden fazla etiketle etiketleyebilir.
Örneğin, SMS mesajlarını konularla etiketleyen bir sınıflandırıcınız olabilir. ”Bugün yeni Toyota’mı McDonalds’a götürdüm” gibi kısa bir mesaj araba ile ilgili ve yemek ile ilgili olarak etiketlenebilir.
Hiyerarşik ve Düz Sınıflandırma Nedir?
Hiyerarşik ve düz sınıflandırma, sınıflandırma algoritmasını yapılandırmanın farklı yollarını ifade eder. Düz model tüm kategorileri bağımsız olarak ele alırken, hiyerarşik model her biri farklı basamaklı modellere sahip çok seviyeli kategori dallarını içerir.
Örneğin, haber makalesi içeriğini belirlemeye yönelik bir sınıflandırıcı, hiyerarşik sınıflandırma için harika bir adaydır. Burada, ilk modelin Spor, Güncel Haberler, Yemek vb. gibi üst düzey kategorileri aradığı iki seviyeniz olabilir. Ardından, hangi etikete girdiğine bağlı olarak, metin farklı bir dala özgü modelle yeniden çalıştırılır. Örneğin, model Spor’u öngördüyse, metin Futbol, Beyzbol, Futbol vb. gibi sınıflara sahip olabilecek yeni bir Spor’a özgü modelden geçirilir. Tahmin edilen son etiket Spor (Futbol) olabilir.
Düz sınıflandırmayla algoritma, bir kazananı seçmeden önce bunun yerine tüm kategorilere (Spor-Futbol, Spor-Futbol, Yemek Tarifleri, Güncel Haberler vb.) bakacaktır.
En Çok Sorulan Sorular
1. Metin sınıflandırması yapay zeka olarak kabul edilir mi?
Evet, metin sınıflandırması yapay zeka (YZ) alanında bir görev olarak kabul edilir. Yapay zeka geniş kapsamlı bir terimdir ve doğal dil işleme, makine öğrenimi ve dolayısıyla sınıflandırmayı da içerir.
2. ChatGPT’nin yaptığı şey metin sınıflandırması mı?
Hem evet hem hayır. Yapay zeka, yüksek düzeyde, iki alana ayrılabilir: ayrımcı ve üretici. Üretken yapay zeka, yeni içerik oluşturabilen yapay zeka anlamına gelirken, ayırt edici yapay zeka veri içindeki öğeleri tanımlar. Metin sınıflandırılması ikincisine girerken, ChatGPT’nin ana kullanım alanı üretken yapay zekadır.
Yani birisi ChatGPT’yi kullandığında, muhtemelen onu kedisi hakkında bir şiir yazmasını istemek gibi üretken amaçlar için kullanıyordur.
Bununla birlikte, ChatGPT, özellikle rahatsız edici kelimeler gibi metalaştırılmış veri kümeleri için yerleşik sınıflandırma yeteneklerine sahiptir.
3. Bir sınıflandırma modeli oluşturmak için makine öğrenimi deneyimine ihtiyacım var mı?
Hayır, artık gerekmiyor. Birkaç yıl önce bir makine öğrenimi modeli oluşturmak uzmanlara özeldi. Ancak şimdi teknik karmaşıklığı soyutlayan AutoML (otomatik makine öğrenimi) platform araçları var. Biraz makine öğrenimi deneyimi faydalı olsa da, temel olarak açıklama, örnek hazırlama ve ince ayar ile ilgili en iyi uygulamaları anlamak önemlidir.
4. Sınıflandırma ile ilgili etik hususlar var mı?
Her yapay zekada olduğu gibi sınıflandırma da kötüye kullanım ve önyargı riski taşır.
Ülke liderlerine yönelik duyguları tespit edebilen bir sınıflandırıcı düşünün. Eğer bu hükümet telefon kayıtlarını / sosyal ağları / vb. inceleyebilirse, hoşnutsuzluğunu dile getiren herkesin peşine düşebilir.
Bu yüzden herhangi bir yapay zeka türü oluştururken, potansiyel kötüye kullanım risklerinin farkında olmalısınız.
5. Nitel araştırmada metin sınıflandırma neden önemlidir?
İnsanlar eski öğrendiklerine dayanarak yeni şeyleri sınıflandırmaya programlanmıştır. Bu, benzersiz bir durumun tehlikeli olup olmadığına karar vermek gibi günlük hayatta otomatik olarak yaptığımız bir şeydir. Benzer şekilde, bir veri kümesini anlamaya çalışırken sınıflandırma, araştırmayı yapılandırmamıza ve tüm oyunu kolayca anlayabileceğimiz makul miktarda veriye ayırmamıza ve serbest metinde saklı içgörüleri ortaya çıkarmamıza yardımcı olur.