Bagaimana cara melakukan klasifikasi teks satu kelas?

14

Saya harus berurusan dengan masalah klasifikasi teks. Perayap web merayapi laman web dari domain tertentu dan untuk setiap laman web saya ingin mengetahui apakah itu milik hanya satu kelas tertentu atau tidak. Yaitu, jika saya menyebut kelas ini Positif , setiap laman web yang dirayapi termasuk kelas Positif atau kelas Non Positif .

Saya sudah memiliki satu set pelatihan besar halaman web untuk kelas Positive . Tetapi bagaimana cara membuat set pelatihan untuk kelas Non-Positif yang representatif mungkin? Maksudku, pada dasarnya aku bisa menggunakan semuanya untuk kelas itu. Bisakah saya mengumpulkan beberapa halaman arbitrer yang jelas bukan milik kelas Positive ? Saya yakin kinerja algoritme klasifikasi teks (saya lebih suka memanfaatkan algoritme Naive Bayes) sangat bergantung pada laman web mana yang saya pilih untuk kelas Non-Positif .

Jadi apa yang harus saya lakukan? Bisakah seseorang tolong beri saya saran? Terima kasih banyak!

pemistahl
sumber
Ini sebenarnya adalah pengelompokan dua kelas karena Anda memiliki dua kelas. Untuk satu kelas Anda hanya akan memiliki satu kelas dan akan tertarik untuk menilai seberapa baik pengamatan Anda sesuai dengan data (yaitu mendeteksi outlier).
Tim
Masalah pembelajaran ini memiliki nama - pembelajaran PU. Ini secara alami digunakan jika contoh positif mudah atau alami untuk didapat tetapi negatif pada dasarnya adalah segalanya (sulit didapat). Pada prinsipnya Anda ingin mempelajari classifier dua kelas standar tetapi dengan kriteria yang berbeda - mengoptimalkan area di bawah kurva PR. Paket perangkat lunak ini memungkinkan Anda untuk melatih seperti classifier code.google.com/p/sofia-ml
Vladislavs Dovgalecs

Jawaban:

5

The Spy EM algoritma memecahkan persis masalah ini.

S-EM adalah pembelajaran teks atau sistem klasifikasi yang belajar dari serangkaian contoh positif dan tidak berlabel (tidak ada contoh negatif). Ini didasarkan pada teknik "mata-mata", Bayes naif dan algoritma EM.

Ide dasarnya adalah menggabungkan set positif Anda dengan sejumlah dokumen yang dirayapi secara acak. Anda awalnya memperlakukan semua dokumen yang dirayapi sebagai kelas negatif, dan mempelajari classifier bayes naif pada set itu. Sekarang beberapa dari dokumen yang dirayapi itu benar-benar akan menjadi positif, dan Anda dapat secara konservatif menandai ulang setiap dokumen yang mendapat skor lebih tinggi daripada yang terendah mencetak dokumen positif sejati. Kemudian Anda mengulangi proses ini sampai stabil.

Radenud
sumber
Terima kasih banyak, kedengarannya cukup menjanjikan. Saya akan memeriksanya.
pemistahl
6

Berikut ini adalah tesis yang bagus tentang klasifikasi satu kelas:

  • Pajak, DM: Klasifikasi satu kelas - Pembelajaran konsep dengan tidak adanya contoh tandingan , tesis PhD, Technische Universiteit Delft, 2001. ( pdf )

Tesis ini memperkenalkan metode Deskripsi Data Dukungan Vektor (SVDD), mesin vektor dukungan satu-kelas yang menemukan hipersphere minimal di sekitar data daripada hyperplane yang memisahkan data.

Tesis ini juga mengulas pengklasifikasi satu kelas lainnya.

inti
sumber
Selamat datang di situs ini, @nub. Kami berharap dapat membangun repositori permanen dari informasi statistik, karena itu, kami khawatir tentang kemungkinan linkrot. Maukah Anda memberikan ringkasan informasi dalam tesis itu jika tautannya mati?
gung - Reinstate Monica
Terima kasih telah meringkas. Silakan daftar & gabungkan akun Anda (Anda dapat mengetahui caranya di bagian Akun Saya di pusat bantuan kami ), maka Anda dapat mengedit & mengomentari kiriman Anda sendiri.
gung - Reinstate Monica
@ung Terima kasih atas sambutannya. Saya senang telah menerima lencana "Yearling" di StackOverflow sendiri, jadi sekarang saya dapat berkomentar di mana-mana.
JosiahYoder-deactive kecuali ..
@JosiahYoder, jika Anda OP di sini, silakan gabungkan akun Anda. Anda dapat mengetahui caranya di bagian Akun Saya di pusat bantuan kami .
gung - Reinstate Monica
Saya bukan OP. Hanya pengguna SO acak yang menemukan pertanyaan ini.
JosiahYoder-deactive kecuali ..
1

Pelatihan yang baik membutuhkan data yang memberikan perkiraan yang baik dari probabilitas kelas individu. Setiap masalah klasifikasi melibatkan setidaknya dua kelas. Dalam kasus Anda, kelas kedua adalah siapa saja yang tidak termasuk kelas positif. Untuk membentuk batas keputusan yang baik dengan menggunakan Bayes atau metode bagus lainnya sebaiknya dilakukan dengan sebanyak mungkin data pelatihan yang dipilih secara acak dari kelas. Jika Anda melakukan seleksi non-acak, Anda mungkin mendapatkan sampel yang tidak benar-benar mewakili bentuk kepadatan / distribusi bersyarat kelas dan dapat menyebabkan pilihan batas keputusan yang buruk.

Michael R. Chernick
sumber
1
Anda benar, ini persis apa yang mengganggu saya. Bagaimana cara memilih sampel sampel non-positif yang mengarah ke batas keputusan yang baik? Apakah melakukan pemilihan acak adalah yang terbaik yang bisa saya lakukan?
pemistahl
0

Saya setuju dengan Michael.

Mengenai pertanyaan Anda tentang pemilihan acak; ya: Anda harus memilih secara acak dari set 'positif' Anda yang saling melengkapi. Jika ada kebingungan bahwa 'positif' Anda mungkin tidak sepenuhnya didefinisikan sebagai 'positif murni', jika saya dapat menggunakan frasa itu, maka Anda juga dapat mencoba setidaknya beberapa jenis definisi yang cocok untuk positif sehingga Anda dapat kontrol pada variabel-variabel yang berpotensi menimbulkan kontaminasi pada definisi 'positif'. Dalam hal ini Anda juga harus mencocokkan variabel yang sama di sisi 'non-positif'.

crmportals
sumber
0

Artikel yang mungkin menarik adalah:

"Klasifikasi centroid pendek terdekat yang diperpendek: Metode baru untuk atribusi kepenulisan set-terbuka dari berbagai ukuran", Schaalje, Fields, Roper, dan Snow. Komputasi Sastra dan Linguistik, vol. 26, No. 1, 2011.

Yang mengambil metode untuk menghubungkan teks ke satu set penulis dan memperluasnya untuk menggunakan kemungkinan bahwa penulis yang sebenarnya tidak ada dalam set kandidat. Bahkan jika Anda tidak menggunakan metode NSC, ide-ide dalam makalah ini mungkin berguna dalam memikirkan bagaimana untuk melanjutkan.

Greg Snow
sumber