Bir sınıf metin sınıflandırması nasıl yapılır?


14

Bir metin sınıflandırma problemiyle uğraşmak zorundayım. Bir web tarayıcısı, belirli bir alanın web sayfalarını tarar ve yalnızca bir belirli sınıfa ait olup olmadığını öğrenmek istediğim her web sayfası için. Yani, bu sınıfı Pozitif olarak adlandırırsam , taranan her web sayfası Pozitif sınıfına veya Pozitif Olmayan sınıfına aittir .

Pozitif sınıfı için zaten geniş bir web sayfalarım var . Fakat Olumsuz Olmayan sınıf için mümkün olduğunca temsil edici bir eğitim seti nasıl oluşturulur ? Yani, o sınıf için temel olarak her şeyi kullanabilirim. Kesinlikle Pozitif sınıfa ait olmayan bazı rastgele sayfalar toplayabilir miyim ? Eminim bir metin sınıflandırma algoritması (Ben bir Naive Bayes algoritması kullanmayı tercih ederim) performansı çok pozitif olmayan sınıf için hangi web sayfaları seçtiğiniz bağlıdır .

Öyleyse ne yapmalıyım? Birisi bana tavsiyede bulunabilir mi? Çok teşekkür ederim!


İki sınıfınız olduğu için bu aslında iki sınıf kümelenmesidir. Bir sınıf için yalnızca bir sınıfınız olur ve gözlemlerinizin verilere ne kadar iyi uyduğunu değerlendirmekle ilgilenirsiniz (örn. Aykırı değerleri tespit etmek).
Tim

Bu öğrenme sorununun bir adı vardır - PU öğrenme. Pozitif örneklerin elde edilmesi kolay veya doğal ise, ancak negatifler temelde her şey dinlenirse (elde edilmesi zor) bu doğal olarak kullanılmalıdır. Prensip olarak, standart iki sınıflı bir sınıflandırıcı öğrenmek istiyorsunuz, ancak farklı bir kriterle - PR eğrisi altındaki alanı optimize edin. Bu yazılım paketi böyle bir sınıflandırıcı code.google.com/p/sofia-ml
eğitmenizi sağlar

Yanıtlar:


5

Casus EM algoritması tam olarak bu sorunu çözer.

S-EM, bir dizi olumlu ve etiketsiz örnekten (olumsuz örnek yok) öğrenen bir metin öğrenme veya sınıflandırma sistemidir. Bir "casus" tekniği, naif Bayes ve EM algoritmasına dayanmaktadır.

Temel fikir, pozitif setinizi bir dizi rastgele taranmış belge ile birleştirmektir. Başlangıçta taranan tüm belgelere negatif sınıf gibi davranırsınız ve bu kümedeki saf bayes sınıflandırıcısını öğrenirsiniz. Şimdi bu taranan belgelerin bazıları gerçekten olumlu olacaktır ve en düşük puanlı gerçek pozitif belgeden daha yüksek puan alan belgeleri konservatif olarak yeniden etiketleyebilirsiniz. Sonra bu işlemi stabilize olana kadar tekrarlayın.


Çok teşekkürler, bu oldukça umut verici. Buna bir göz atacağım.
pemistahl

6

İşte tek sınıflı sınıflandırma hakkında iyi bir tez:

  • Vergi, DM: Bir sınıflandırma - Karşı örneklerin yokluğunda kavram öğrenme , doktora tezi, Technische Universiteit Delft, 2001. ( pdf )

Bu tez, verileri ayıran bir hiper düzlem yerine verilerin etrafında minimal bir hiper küre bulan tek sınıf bir destek vektör makinesi olan Destek Vektör Veri Tanımı (SVDD) yöntemini tanıtır.

Tez aynı zamanda diğer tek sınıflı sınıflandırıcıları da incelemektedir.


Siteye hoş geldiniz, @ nub. İstatistiksel bilgilerin kalıcı bir havuzunu oluşturmayı umuyoruz, bu nedenle linkrot olasılığı hakkında endişeleniyoruz. Bağlantının kesilmesi durumunda bu tezdeki bilgilerin bir özetini vermek ister misiniz?
gung - Monica'yı eski haline getirin

Özetlediğiniz için teşekkürler. Lütfen hesaplarınızı kaydedin ve birleştirin ( yardım merkezimizin Hesabım bölümünde nasıl olduğunu öğrenebilirsiniz ), ardından kendi yayınlarınızı düzenleyebilir ve yorum yapabilirsiniz.
gung - Monica'yı eski

@gung Hoşgeldiniz için teşekkürler. StackOverflow'un kendisi üzerinde "Yearling" rozeti aldığım için çok heyecanlıyım, bu yüzden şimdi her yere yorum yapabilirim.
JosiahYoder-deactive dışında ..

@JosiahYoder, burada OP iseniz, lütfen hesaplarınızı birleştirin. Nasıl yapacağınızı yardım merkezimizin Hesabım bölümünde bulabilirsiniz .
gung - Monica'yı eski

Ben OP değilim. Bu soru boyunca gerçekleşen rastgele bir SO kullanıcısı.
JosiahYoder-deactive dışında ..

1

İyi eğitim, bireysel sınıf olasılıkları hakkında iyi tahminler sağlayan veriler gerektirir. Her sınıflandırma sorunu en az iki sınıf içerir. Sizin durumunuzda ikinci sınıf, pozitif sınıfta olmayan herkes. Bayes veya başka bir iyi yöntem kullanarak iyi bir karar sınırı oluşturmak en iyi şekilde sınıftan rastgele seçilen eğitim verileri ile yapılır. Rastgele olmayan bir seçim yaparsanız, sınıf koşullu yoğunluklarının / dağılımlarının şeklini tam olarak temsil etmeyen ve karar sınırının zayıf bir seçimine yol açabilecek bir örnek alabilirsiniz.


1
Haklısın, bu beni rahatsız eden şey. İyi bir karar sınırına yol açan pozitif olmayan numunelerden nasıl seçilir ? Rastgele bir seçim yapmak yapabileceğim en iyi şey mi?
pemistahl

0

Michael'a katılıyorum.

Rastgele seçim hakkındaki sorunuzla ilgili olarak; evet: 'pozitif' tamamlayıcı kümenizden rastgele seçmelisiniz. 'Pozitiflerinizin' saf pozitif 'olarak tam olarak tanımlanamayacağı konusunda herhangi bir karışıklık varsa, bu ifadeyi kullanabilirsem, pozitifler için en azından bir tür eşleşen tanımı da deneyebilirsiniz, böylece 'pozitif' tanımında potansiyel olarak bir miktar kirlenme yaratan değişkenlerin kontrolü. Bu durumda, 'pozitif olmayan' tarafta da aynı değişkenlerle aynı şekilde eşleşmeniz gerekir.


0

İlginizi çekebilecek bir makale:

"En yakın küçültülmüş centroid sınıflandırması: Değişken boyutlarda metinlerin açık set yazarlık ilişkilendirmesi için yeni bir yöntem", Schaalje, Fields, Roper ve Snow. Edebi ve Dilbilimsel Hesaplama, cilt. 26, No. 1, 2011.

Bu, bir metni bir grup yazarla ilişkilendirmek için bir yöntem alır ve gerçek yazarın aday kümesinde olmaması olasılığını kullanmak için genişletir. NSC yöntemini kullanmasanız bile, makaledeki fikirler nasıl ilerleyeceğinizi düşünmede faydalı olabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.