Quattro parole: Classificatore bayesiano con punteggio.
Classificatore bayesiano: poiché hai un ampio set di dati in cui conosci il risultato "corretto" (cioè, archiviato o visto dagli umani), puoi usarlo per fornire un addestramento iniziale per il classificatore . Come test, puoi eseguire ogni elemento attraverso il set e vedere se sono classificati correttamente, quindi eseguire un batch di elementi sconosciuti e vedere come fa il classificatore su di essi.
Una volta che dai da mangiare agli umani gli oggetti classificati, è importante regolare il sistema che usano, quindi c'è un meccanismo per fornire un feedback quando il classificatore ha preso la decisione sbagliata:
- Visto da un essere umano ma avrebbe dovuto essere archiviato
- Archiviato ma dovrebbe essere stato visto da un essere umano (Usa controlli casuali a caso dell'archivio per ottenere questo risultato se le cose non vengono mai pescate dall'archivio per essere processate da umani.)
... o quando ha preso la decisione giusta (questi dovrebbero essere impliciti se non ottieni feedback su un oggetto):
- Visto da un umano e avrebbe dovuto essere visto da un umano
- Archiviato e avrebbe dovuto essere archiviato.
I classificatori di Bayes devono essere addestrati con entrambi i tipi di informazioni e diventare abbastanza bravi a essere nel giusto quando si accumulano esempi positivi e negativi.
Punteggio: probabilmente è ciò che stai facendo ora con le espressioni regolari ed è dove si integrano tutte le competenze umane che un classificatore non può gestire. Ogni articolo inizia con un punteggio pari a zero ("neutro") e ogni regola corrispondente la tira in una direzione positiva o negativa a seconda che la regola indichi che l'elemento debba essere archiviato o visto. Una di queste regole dovrebbe regolare il punteggio in base a ciò che restituisce il classificatore, applicando un punteggio negativo per le probabilità in [0.0,0.5)
, zero per 0.5
e un punteggio positivo per i valori in (0.5,1.0]
. Una volta che hai capito come funziona il classificatore, puoi regolare l'entità della regolazione del punteggio in base a dove negli intervalli la probabilità cade. Un'altra cosa che puoi fare è abbassare la soglia per essere visto, quindi verrà proiettata una gamma più ampia di probabilità intorno al centro (la gamma "non sicuro") e sarai in grado di raccogliere feedback che renderanno il classificatore più capace di fare decisioni che rientrano in tale intervallo.
Implementazione: La buona notizia è che non devi sviluppare tutto questo da solo. Dato che lavori con la posta elettronica, SpamAssassin può fare quasi tutto il lavoro per te ed è maturo per adattarsi alla tua applicazione. (Con un intelligente re-packaging dei dati, puoi usarlo anche per le applicazioni che non implicano l'e-mail.) Tutto quello che devi fare è eliminare tutte le regole integrate e sostituire il tuo set. Una delle altre utili funzionalità di SpamAssassin è che può aggiungere report su ciò che corrisponde direttamente alle intestazioni di ciascun elemento. Ciò ti dà la possibilità di utilizzare il feedback che raccogli per trovare quali regole sono più spesso coinvolte in classificazioni errate e regolarle di conseguenza.
Nota a margine: per le applicazioni che richiedono la classificazione dei modi n , esegui ciascun bit di input attraverso più filtri e scegli quello che restituisce il punteggio più alto.