Ini ialah arahan sa-learnp yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.
JADUAL:
NAMA
sa-belajar - latih pengelas Bayesian SpamAssassin
SINOPSIS
sa-belajar [pilihan] [fail]...
sa-belajar [pilihan] --buang [ semua | data | sihir ]
Pilihan:
--ham Pelajari mesej sebagai ham (bukan spam)
--spam Ketahui mesej sebagai spam
--lupa Lupakan mesej
--use-ignore Gunakan bayes_ignore_from dan bayes_ignore_to
--sync Segerakkan pangkalan data dan jurnal jika perlu
--force-expire Paksa penyegerakan pangkalan data dan tamat tempoh dijalankan
--dbpath Membenarkan penggantian baris perintah (dalam bentuk bayes_path)
untuk membaca Bayes DB dari mana
--dump [semua|data|sihir] Paparkan kandungan pangkalan data Bayes
Mengambil hujah pilihan untuk perkara yang hendak dipaparkan
--regexp Untuk longgokan sahaja, tentukan token yang hendak digunakan
buang berdasarkan ungkapan biasa.
-f fail, --folders=file Baca senarai fail/direktori daripada fail
--dir Diabaikan; keserasian sejarah
--fail Diabaikan; keserasian sejarah
--mbox Sumber input adalah dalam format mbox
--mbx Sumber input adalah dalam format mbx
--max-size Langkau mesej yang lebih besar daripada b bait;
lalai kepada 256 KB, 0 tidak menunjukkan had
--showdots Tunjukkan kemajuan menggunakan titik
--progress Tunjukkan kemajuan menggunakan bar kemajuan
--no-sync Langkau menyegerakkan pangkalan data dan jurnal
selepas belajar
-L, --local Beroperasi secara setempat, tiada akses rangkaian
--import Migrasi data daripada versi lama/bukan DB_File
pangkalan data berasaskan
--clear Padamkan pangkalan data sedia ada
--backup Backup, ke STDOUT, pangkalan data sedia ada
--pulihkan Pulihkan pangkalan data daripada nama fail
-u nama pengguna, --nama pengguna=nama pengguna
Gantikan nama pengguna yang diambil daripada masa jalan
persekitaran, digunakan dengan SQL
-C laluan, --configpath=path, --config-file=path
Laluan ke dir konfigurasi standard
-p prefs, --prefspath=file, --prefs-file=file
Tetapkan fail pilihan pengguna
--siteconfigpath=path Path untuk konfigurasi tapak
(lalai: /etc/spamassassin)
--cf='config line' Baris tambahan konfigurasi
-D, --debug [area=n,...] Cetak mesej penyahpepijatan
-V, --version Versi cetakan
-h, --help Cetak mesej penggunaan
DESCRIPTION
Memandangkan pilihan biasa mel masuk anda yang diklasifikasikan sebagai spam atau ham (bukan spam), ini
alat akan menyuapkan setiap mel kepada SpamAssassin, membolehkannya 'mempelajari' tanda-tanda yang mungkin berlaku
bermakna spam, dan yang mungkin bermaksud ham.
Hanya jalankan arahan ini sekali untuk setiap folder mel anda, dan ia akan ''belajar'' daripada
mel di dalamnya.
Perhatikan bahawa gaya csh globbing dalam nama folder mel disokong; Dalam kata lain,
menyenaraikan nama folder sebagai "*" akan mengimbas setiap folder yang sepadan. Lihat
"Mail::SpamAssassin::ArchiveIterator" untuk butiran lanjut.
SpamAssassin mengingati mesej mel yang telah dipelajarinya dan tidak akan belajar semula
mesej itu sekali lagi, melainkan anda menggunakan --lupa pilihan. Mesej dipelajari sebagai spam akan
mempunyai penanda SpamAssassin dialih keluar, dengan cepat.
Jika anda membuat kesilapan dan mengimbas mel sebagai ham apabila ia adalah spam, atau sebaliknya, hanya jalankan semula
arahan ini dengan klasifikasi yang betul, dan kesilapan akan diperbetulkan.
SpamAssassin secara automatik akan 'lupa' tanda-tanda sebelumnya.
Pengguna "spamd" yang ingin melakukan latihan dari jauh, melalui rangkaian, harus menyiasat
suis "spamc -L".
PILIHAN
--ham
Ketahui mesej input sebagai ham. Jika anda telah mempelajari mana-mana mesej sebelum ini
sebagai spam, SpamAssassin akan melupakannya dahulu, kemudian mempelajarinya semula sebagai ham.
Sebagai alternatif, jika anda pernah mempelajarinya sebagai ham, ia akan melangkaunya kali ini
sekeliling. Jika mesej telah ditapis melalui SpamAssassin, pelajar
akan mengabaikan sebarang pengubahsuaian yang mungkin dilakukan oleh SpamAssassin.
--spam
Ketahui mesej input sebagai spam. Jika anda pernah mempelajari mana-mana daripada
mesej sebagai ham, SpamAssassin akan melupakannya dahulu, kemudian mempelajarinya semula sebagai spam.
Sebagai alternatif, jika anda pernah mempelajarinya sebagai spam, ia akan melangkaunya kali ini
sekeliling. Jika mesej telah ditapis melalui SpamAssassin, pelajar
akan mengabaikan sebarang pengubahsuaian yang mungkin dilakukan oleh SpamAssassin.
--folder=nama fail, -f nama fail
sa-learn akan membaca dalam senarai folder dari fail yang ditentukan, satu folder setiap baris
dalam fail. Jika folder diawali dengan "ham:type:" atau "spam:type:", sa-learn
akan mempelajari folder itu dengan sewajarnya, jika tidak, folder itu akan dianggap sebagai daripada
jenis yang ditentukan oleh --ham or --spam.
"jenis" di atas adalah pilihan, tetapi adalah sama seperti standard untuk ArchiveIterator: mbox,
mbx, dir, fail atau pengesan (lalai jika tidak dinyatakan).
--mbox
sa-learn akan membaca dalam fail(s) yang mengandungi e-mel yang akan dipelajari, dan akan
memprosesnya dalam format mbox (satu atau lebih e-mel setiap fail).
--mbx
sa-learn akan membaca dalam fail(s) yang mengandungi e-mel yang akan dipelajari, dan akan
memprosesnya dalam format mbx (satu atau lebih e-mel bagi setiap fail).
--guna-abaikan
Jangan pelajari mesej jika alamat daripada sepadan dengan item fail konfigurasi
"bayes_ignore_from" atau a untuk menangani padanan "bayes_ignore_to". Pilihannya mungkin
digunakan apabila belajar daripada fail besar mesej daripada mana mesej spam hammy atau
mesej ham spam belum dialih keluar.
--segerak
Segerakkan jurnal dan pangkalan data. Setelah berjaya menyegerakkan pangkalan data dengan
entri dalam jurnal, fail jurnal dikeluarkan.
--paksa-tamat tempoh
Memaksa percubaan tamat tempoh, tidak kira sama ada ia mungkin perlu atau tidak. Catatan:
Ini tidak bermakna sebarang token akan tamat tempoh. Sila lihat bahagian EXPIRATION
di bawah.
Nota: "--force-expire" juga menyebabkan data jurnal disegerakkan ke Bayes
pangkalan data.
--lupa
Lupakan mesej yang telah dipelajari sebelum ini.
--dbpath
Membenarkan penggantian baris perintah bagi bayes_path pilihan konfigurasi.
--pembuangan pilihan
Paparkan kandungan pangkalan data Bayes. Tanpa pilihan atau dengan semua pilihan,
semua token ajaib dan token data akan dipaparkan. sihir hanya akan memaparkan sihir
token, dan data hanya akan memaparkan token data.
Boleh juga menggunakan --regexp RE pilihan untuk menentukan token yang hendak dipaparkan berdasarkan a
ekspresi biasa.
--jelas
Kosongkan pangkalan data Bayes sedia ada dengan mengalih keluar semua kesan pangkalan data.
AMARAN: Ini merosakkan dan harus digunakan dengan berhati-hati.
--sandaran
Melakukan pembuangan pangkalan data Bayes dalam format yang boleh dibaca oleh mesin/manusia.
Longgokan akan termasuk token dan data yang dilihat. Ia sesuai untuk dimasukkan semula ke dalam
--memulihkan arahan.
--pulihkan=nama fail
Melakukan pemulihan pangkalan data Bayes yang ditakrifkan oleh nama fail.
AMARAN: Ini adalah operasi yang merosakkan, data Bayes sebelumnya akan dipadamkan.
-h, - membantu
Cetak mesej bantuan dan keluar.
-u nama pengguna, --nama pengguna=nama pengguna
Jika dinyatakan nama pengguna ini akan mengatasi nama pengguna yang diambil dari masa jalan
persekitaran. Anda boleh menggunakan pilihan ini untuk menentukan pengguna dalam konfigurasi pengguna maya
apabila menggunakan SQL sebagai backend Bayes.
NOTA: Pilihan ini tidak akan berubah kepada yang diberikan nama pengguna, ia hanya akan cuba bertindak
bagi pihak pengguna tersebut. Oleh sebab itu, anda perlu mempunyai kebenaran yang sewajarnya
boleh menukar fail yang dimiliki oleh nama pengguna. Dalam kes SQL ini secara amnya bukan a
masalah.
-C jalan, --configpath=jalan, --config-file=jalan
Gunakan laluan yang ditentukan untuk mencari fail konfigurasi yang diedarkan. Abaikan
direktori lalai (biasanya "/usr/share/spamassassin" atau serupa).
--siteconfigpath=jalan
Gunakan laluan yang ditentukan untuk mencari fail konfigurasi khusus tapak. Abaikan
direktori lalai (biasanya "/etc/spamassassin" atau serupa).
--cf='config baris'
Tambah baris tambahan konfigurasi terus daripada baris arahan, dihuraikan selepas
fail konfigurasi dibaca. Pelbagai --rujuk hujah boleh digunakan, dan setiap satu akan digunakan
dianggap sebagai baris konfigurasi yang berasingan.
-p prefs, --prefspath=prefs, --prefs-file=prefs
Baca keutamaan skor pengguna daripada prefs (biasanya "$HOME/.spamassassin/user_prefs").
--kemajuan
Mencetak bar kemajuan (kepada STDERR) yang menunjukkan kemajuan semasa. Dalam kes di mana tidak
terminal yang sah didapati pilihan ini akan berkelakuan sama seperti pilihan --showdots.
-D [kawasan,...], --nyahpepijat [kawasan,...]
Menghasilkan output penyahpepijatan. Jika tiada kawasan disenaraikan, semua maklumat penyahpepijatan adalah
dicetak. Output diagnostik juga boleh didayakan untuk setiap kawasan secara individu; kawasan adalah
kawasan kod kepada instrumen. Sebagai contoh, untuk menghasilkan output diagnostik pada bayes,
belajar, dan dns, gunakan:
spamassassin -D bayes,belajar,dns
Untuk maklumat lanjut tentang kawasan (juga dikenali sebagai saluran) yang tersedia, sila
lihat dokumentasi di:
C<http://wiki.apache.org/spamassassin/DebugChannels>
Mesej maklumat keutamaan yang lebih tinggi yang sesuai untuk log masuk biasa
keadaan tersedia dengan kawasan "maklumat".
--tidak-segerak
Langkau langkah penyegerakan perlahan yang biasanya berlaku selepas menukar pangkalan data
entri. Jika anda bercadang untuk belajar daripada banyak folder dalam satu kelompok, atau untuk belajar banyak
mesej individu satu demi satu, adalah lebih pantas untuk menggunakan suis ini dan menjalankan "sa-learn
--sync" setelah semua folder telah diimbas.
Penjelasan: Keadaan --tidak-segerak mengatasi bayes_learn_to_journal
pilihan konfigurasi. Jika tidak dinyatakan, sa-belajar akan belajar ke pangkalan data secara langsung.
Jika dinyatakan, sa-belajar akan belajar kepada fail jurnal.
Catatan: --segerak and --tidak-segerak boleh ditentukan pada baris arahan yang sama, iaitu sedikit
mengelirukan. Dalam kes ini, --tidak-segerak pilihan diabaikan kerana tiada pembelajaran
operasi.
-L, --tempatan
Jangan lakukan sebarang akses rangkaian semasa mempelajari butiran tentang mesej mel.
Ini akan mempercepatkan proses pembelajaran, tetapi mungkin menghasilkan ketepatan yang lebih rendah sedikit.
Ambil perhatian bahawa ini diabaikan pada masa ini, kerana versi semasa SpamAssassin tidak akan
melaksanakan akses rangkaian semasa belajar; tetapi versi masa depan mungkin.
--import
Jika anda sebelum ini menggunakan pelajar Bayesian SpamAssassin tanpa modul "DB_File".
dipasang, ia akan mencipta fail dalam format lain, seperti "GDBM_File",
"NDBM_File", atau "SDBM_File". Suis ini membolehkan anda memindahkan data lama itu ke dalam
Format "DB_File". Ia akan menimpa sebarang data pada masa ini dalam "DB_File".
Juga boleh digunakan dengan --dbpath jalan pilihan untuk menentukan lokasi Bayes
fail untuk digunakan.
MIGRASI
Kini terdapat berbilang modul storan bahagian belakang yang tersedia untuk menyimpan data bayesian pengguna.
Oleh itu, anda mungkin mahu berhijrah dari satu bahagian belakang ke bahagian belakang yang lain. Berikut adalah prosedur mudah
untuk berhijrah dari satu bahagian belakang ke bahagian belakang yang lain.
Ambil perhatian bahawa jika anda mempunyai pangkalan data pengguna individu, anda perlu melakukan perkara yang serupa
prosedur untuk setiap satu daripada mereka.
sa-belajar --sync
Ini akan menyegerakkan sebarang entri jurnal tertunggak
sa-belajar --backup > backup.txt
Ini akan menyimpan semua data Bayes anda ke fail teks biasa.
sa-belajar --jelas
Ini adalah pilihan, tetapi bagus untuk dilakukan untuk mengosongkan pangkalan data lama.
Ulangi!
Pada ketika ini, jika anda mempunyai berbilang pangkalan data, anda harus melakukan prosedur di atas
bagi setiap daripada mereka. (iaitu pangkalan data setiap pengguna perlu disandarkan sebelum meneruskan.)
Tukar hujung belakang
Sebaik sahaja anda telah membuat sandaran semua pangkalan data, anda boleh mengemas kini konfigurasi anda untuk yang baharu
bahagian belakang pangkalan data. Ini akan melibatkan sekurang-kurangnya pilihan konfigurasi bayes_store_module dan
mungkin melibatkan beberapa pilihan konfigurasi tambahan bergantung pada apa yang diperlukan oleh
modul. (Sebagai contoh, anda mungkin perlu mengkonfigurasi pangkalan data SQL.)
sa-belajar --restore backup.txt
Sekali lagi, anda perlu melakukan ini untuk setiap pangkalan data.
Jika anda berhijrah ke SQL anda boleh menggunakan -u pilihan dalam sa-belajar untuk
mengisi pangkalan data setiap pengguna. Jika tidak, anda mesti menjalankan sa-learn sebagai pengguna yang pangkalan data
anda memulihkan.
PENGENALAN KEPADA BAYESIAN PENAPISAN
(Terima kasih kepada Michael Bell untuk bahagian ini!)
Untuk penerangan yang lebih panjang tentang cara ini berfungsi, pergi ke http://www.paulgraham.com/ dan melihat
"Pelan untuk Spam". Ia boleh dibaca dengan munasabah, walaupun statistik membuat saya keluar masuk
gatal-gatal.
Versi pendek separa tidak tepat: Memandangkan latihan, enjin heuristik spam boleh mengambil
kebanyakan perkataan "spam" dan "hammy" dan gunakan analisis kebarangkalian. Tambahan pula, setelah diberi
asas untuk analisis, enjin boleh terus belajar secara berulang dengan menggunakan kedua-duanya
peraturan bukan Bayesian dan Bayesian menyusun bersama untuk mencipta "kepintaran" yang berkembang.
SpamAssassin 2.50 dan kemudiannya menyokong analisis spam Bayesian, dalam bentuk BAYES
peraturan. Ini ialah ciri baharu, agak berkuasa dan dilumpuhkan sehingga cukup mesej
telah dipelajari.
Kebaikan analisis spam Bayesian:
Boleh mengurangkan positif palsu dan negatif palsu.
Ia belajar daripada mel anda, jadi ia disesuaikan dengan aliran e-mel unik anda.
Sebaik sahaja ia mula belajar, ia boleh terus belajar daripada SpamAssassin dan bertambah baik dari semasa ke semasa.
Dan keburukan:
Sebilangan besar mesej diperlukan sebelum keputusan berguna untuk ham/spam
penentuan.
Sukar untuk menerangkan sebab mesej ditandakan sebagai spam atau tidak.
iaitu: peraturan mudah, yang sepadan, katakan, "VIAGRA" mudah difahami. Jika ia
menjana positif palsu atau negatif palsu, agak mudah untuk memahami sebabnya.
Dengan analisis Bayesian, itu semua kebarangkalian - "kerana masa lalu mengatakan ia berkemungkinan
kerana ini termasuk dalam pengedaran kebarangkalian yang biasa kepada spam lalu dalam sistem anda".
Beritahu itu kepada pengguna anda! Beritahu itu kepada klien apabila dia bertanya "apa yang boleh saya lakukan
ubah ini". (Dengan cara ini, jawapan dalam kes ini ialah "gunakan senarai putih".)
Ia akan mengambil ruang cakera dan memori.
Pangkalan data yang diselenggaranya memerlukan banyak sumber untuk disimpan dan digunakan.
MENDAPAT BERMULA
Masih berminat? Ok, inilah garis panduan untuk memastikan ini berfungsi.
Pertama gambaran keseluruhan peringkat tinggi:
Bina sampel penting kedua-dua ham dan spam.
Saya mencadangkan beberapa ribu setiap satu, diletakkan dalam direktori atau peti mel SPAM dan HAM.
Ya, anda MESTI menyusun tangan ini - jika tidak, hasilnya tidak akan lebih baik daripada
SpamAssassin dengan sendirinya. Sahkan kespam/kehamilan SETIAP mesej. awak
digesa untuk mengelak daripada menggunakan korpus (sampel) yang tersedia untuk umum - ini mesti diambil daripada
Pelayan mel ANDA, jika ia berguna secara statistik. Jika tidak, hasilnya mungkin
cukup senget.
Gunakan alat ini untuk mengajar SpamAssassin tentang sampel ini, seperti:
sa-belajar --spam /path/to/spam/folder
sa-belajar --ham /path/to/ham/folder
...
Biarkan SpamAssassin meneruskan, belajar perkara. Apabila ia menemui ham dan spam ia akan menambah
"token menarik" ke pangkalan data.
Jika anda memerlukan SpamAssassin untuk melupakan mesej tertentu, gunakan --lupa pilihan.
Ini boleh digunakan untuk sama ada ham atau spam yang telah dijalankan melalui sa-belajar proses.
Ini adalah sedikit tukul, benar-benar, mengurangkan pemberat token khusus dalam itu
mesej (hanya jika mesej itu telah diproses sebelum ini).
Belajar daripada mesej tunggal menggunakan arahan seperti ini:
[object Object]
Ini berguna untuk mengikat kunci dalam ejen pengguna mel anda. Ia sangat pantas, seperti semua
perkara yang memakan masa ditangguhkan sehingga anda menjalankan dengan pilihan "--sync".
Autopembelajaran didayakan secara lalai
Jika anda tidak mempunyai korpus mel yang disimpan untuk dipelajari, anda boleh membenarkan SpamAssassin
belajar secara automatik mel yang anda terima. Jika anda belajar secara automatik dari awal,
jumlah mel yang anda terima akan menentukan tempoh sehingga peraturan BAYES_*
diaktifkan.
EFEKTIF LATIHAN
Penapis pembelajaran memerlukan latihan untuk menjadi berkesan. Jika anda tidak melatih mereka, mereka tidak akan melakukannya
kerja. Selain itu, anda perlu melatih mereka dengan mesej baharu dengan kerap untuk memastikan mereka
tarikh, atau data mereka akan menjadi basi dan memberi kesan kepada ketepatan.
Anda perlu berlatih dengan kedua-dua spam and mel ham. Satu jenis mel sahaja tidak akan mempunyai apa-apa
kesan.
Ambil perhatian bahawa jika folder mel anda mengandungi perkara seperti spam yang dimajukan, perbincangan tentang spam-
peraturan menangkap, dsb., ini akan menyebabkan masalah. Anda harus mengelak daripada mengimbas mesej tersebut
kalau boleh. (Cara mudah untuk melakukan ini ialah mengalihkannya ke tepi, ke dalam folder yang tidak
diimbas.)
Jika mesej yang anda pelajari telah ditapis melalui SpamAssassin,
pelajar akan memberi pampasan untuk ini. Sebenarnya, ia mengetahui rupa setiap mesej
jika anda telah menjalankan "spamassassin -d" lebih awal.
Satu lagi perkara yang perlu diketahui, biasanya anda harus menyasarkan untuk berlatih dengan sekurang-kurangnya 1000
mesej spam, dan 1000 mesej ham, jika boleh. Lebih banyak adalah lebih baik, tetapi semuanya berakhir
kira-kira 5000 mesej tidak meningkatkan ketepatan dengan ketara dalam ujian kami.
Berhati-hati agar anda berlatih daripada sumber yang sama -- contohnya, jika anda melatih spam lama,
tetapi mel ham baru, maka pengelas akan berfikir bahawa mel dengan cop tarikh lama adalah
berkemungkinan spam.
Ia juga perlu diperhatikan bahawa latihan dengan kuantiti ham yang sangat kecil, akan menghasilkan
hasil yang mengerikan. Anda harus berhasrat untuk berlatih dengan sekurang-kurangnya jumlah yang sama (atau lebih jika
mungkin!) data ham daripada spam.
Secara berterusan, adalah lebih baik untuk terus melatih penapis untuk memastikan ia segar
data untuk bekerja daripada. Terdapat pelbagai cara untuk melakukan ini:
1. Pembelajaran yang diselia
Ini bermakna menyimpan salinan semua atau kebanyakan mel anda, dipisahkan kepada spam dan ham
cerucuk, dan latihan semula secara berkala menggunakan itu. Ia menghasilkan hasil yang terbaik, tetapi
memerlukan lebih banyak kerja daripada anda, pengguna.
(Cara mudah untuk melakukan ini, dengan cara ini, adalah dengan mencipta folder baharu untuk mesej 'dipadam',
dan bukannya memadamkannya daripada folder lain, cuma alihkannya ke sana.
Kemudian simpan semua spam dalam folder berasingan dan jangan sekali-kali memadamkannya. Selagi awak ingat
untuk memindahkan mel yang salah klasifikasi ke dalam set folder yang betul, ia cukup mudah untuk mengikutinya
sehingga kini.)
2. Pembelajaran tanpa pengawasan daripada klasifikasi Bayesian
Satu lagi cara untuk melatih ialah merantai hasil pengelas Bayesian kembali ke dalam
latihan, jadi ia mengukuhkan keputusannya sendiri. Ini hanya selamat jika anda kemudian melatih semula
ia berdasarkan sebarang ralat yang anda temui.
SpamAssassin tidak menyokong kaedah ini, kerana keputusan percubaan yang kuat
menunjukkan bahawa ia tidak berfungsi dengan baik, dan memandangkan Bayes hanyalah satu bahagian daripada yang terhasil
skor yang dibentangkan kepada pengguna (sementara Bayes mungkin telah membuat keputusan yang salah tentang a
mel, ia mungkin telah ditindih oleh sistem lain).
3. Pembelajaran tanpa pengawasan daripada peraturan SpamAssassin
Juga dipanggil 'pembelajaran automatik' dalam SpamAssassin. Berdasarkan analisis statistik bagi
Kadar kejayaan SpamAssassin, kami boleh melatih pangkalan data Bayesian secara automatik dengan a
tahap keyakinan tertentu bahawa data latihan kami adalah tepat.
Ia harus ditambah dengan beberapa latihan yang diselia sebagai tambahan, jika boleh.
Ini adalah lalai, tetapi boleh dimatikan dengan menetapkan konfigurasi SpamAssassin
parameter "bayes_auto_learn" kepada 0.
4. Latihan berasaskan kesilapan
Ini bermakna latihan pada sebilangan kecil mel, kemudian hanya latihan pada mesej itu
SpamAssassin mengelas dengan salah. Ini berfungsi, tetapi ia mengambil masa yang lebih lama untuk membetulkannya
daripada sesi latihan penuh.
Gunakan sa-learnp dalam talian menggunakan perkhidmatan onworks.net