Come si fa la classificazione del testo di una classe?


14

Devo affrontare un problema di classificazione del testo. Un crawler Web esegue la scansione delle pagine Web di un determinato dominio e per ogni pagina Web voglio scoprire se appartiene a una sola classe specifica o meno. Cioè, se chiamo questa classe positiva , ogni pagina web sottoposta a scansione appartiene alla classe positiva o alla classe non positiva .

Ho già un ampio set di pagine Web di formazione per la classe Positive . Ma come creare un set di formazione per la classe Non positiva che sia il più rappresentativo possibile? Voglio dire, potrei praticamente usare ciascuno e tutto per quella classe. Posso semplicemente raccogliere alcune pagine arbitrarie che sicuramente non appartengono alla classe Positive ? Sono sicuro che le prestazioni di un algoritmo di classificazione del testo (preferisco utilizzare un algoritmo Naive Bayes) dipendono fortemente da quali pagine Web scelgo per la classe Non positiva .

Quindi cosa devo fare? Qualcuno può darmi un consiglio? Grazie mille!


Questo è in realtà un cluster di due classi poiché hai due classi. Per una classe avresti una sola classe e ti interesserebbe valutare in che misura le tue osservazioni si adattano ai dati (ad esempio rilevando valori anomali).
Tim

Questo problema di apprendimento ha un nome: apprendimento PU. Questo deve naturalmente essere usato se esempi positivi sono facili o naturali da ottenere, ma i negativi sono fondamentalmente tutto il resto (difficile da ottenere). In linea di principio, vuoi imparare un classificatore standard a due classi ma con criteri diversi: ottimizzare l'area sotto la curva PR. Questo pacchetto software consente di addestrare un simile classificatore code.google.com/p/sofia-ml
Vladislavs Dovgalecs,

Risposte:


5

L' algoritmo Spy EM risolve esattamente questo problema.

S-EM è un sistema di apprendimento o classificazione del testo che apprende da una serie di esempi positivi e senza etichetta (senza esempi negativi). Si basa su una tecnica "spia", Bayes ingenuo e algoritmo EM.

L'idea di base è combinare il tuo set positivo con tutta una serie di documenti sottoposti a scansione casuale. Inizialmente trattate tutti i documenti sottoposti a scansione come classe negativa e imparate un classificatore bayes ingenuo su quel set. Ora alcuni di questi documenti sottoposti a ricerca per indicizzazione saranno effettivamente positivi e sarà possibile rietichettare in modo conservativo tutti i documenti con un punteggio superiore al documento positivo positivo con il punteggio più basso. Quindi ripetete questo processo fino a quando non si stabilizza.


Grazie mille, sembra abbastanza promettente. Ci darò un'occhiata.
pemistahl,

6

Ecco una buona tesi sulla classificazione di una classe:

  • Fiscale, DM: Classificazione di una classe - Apprendimento dei concetti in assenza di contro-esempi , tesi di dottorato, Technische Universiteit Delft, 2001. ( pdf )

Questa tesi introduce il metodo di Support Vector Data Description (SVDD), una macchina vettoriale di supporto di una classe che trova un'ipersfera minima attorno ai dati piuttosto che un iperpiano che separa i dati.

La tesi esamina anche altri classificatori di una classe.


Benvenuto nel sito, @nub. Speriamo di costruire un repository permanente di informazioni statistiche, in quanto tale, ci preoccupiamo della possibilità di linkrot. Ti dispiacerebbe dare un riassunto delle informazioni in quella tesi nel caso in cui il link si interrompesse?
gung - Ripristina Monica

Grazie per aver riassunto. Per favore registrati e unisci i tuoi account (puoi scoprire come nella sezione Il mio account del nostro centro assistenza ), quindi potrai modificare e commentare i tuoi post.
gung - Ripristina Monica

@gung Grazie per il benvenuto. Sono entusiasta di aver ricevuto il badge "Yearling" su StackOverflow stesso, quindi ora posso commentare ovunque.
JosiahYoder-deactive tranne ...

@JosiahYoder, se sei l'OP qui, ti preghiamo di unire i tuoi account. Puoi scoprire come nella sezione Il mio account del nostro centro assistenza .
gung - Ripristina Monica

Non sono l'OP. Solo un utente SO casuale che si è imbattuto in questa domanda.
JosiahYoder-deactive tranne ...

1

Una buona formazione richiede dati che forniscano buone stime delle probabilità delle singole classi. Ogni problema di classificazione coinvolge almeno due classi. Nel tuo caso la seconda classe è chiunque non sia nella classe positiva. Per formare un buon confine di decisione usando Bayes o qualsiasi altro buon metodo, è meglio farlo con il maggior numero di dati di allenamento scelti a caso dalla classe. Se si esegue una selezione non casuale, è possibile ottenere un campione che non rappresenti realmente la forma delle densità / distribuzioni condizionali della classe e che potrebbe portare a una scelta errata del limite decisionale.


1
Hai ragione, questo è esattamente ciò che mi disturba. Come selezionare un campione di campioni non positivi che porta a un limite di buona decisione? Fare una selezione casuale è il meglio che posso fare?
pemistahl,

0

Sono d'accordo con Michael.

Per quanto riguarda la tua domanda sulla selezione casuale; Sì: devi selezionare in modo casuale dall'insieme complementare dei tuoi "positivi". Se c'è confusione sul fatto che è possibile che i tuoi "positivi" non siano completamente definiti come "positivi positivi", se posso usare quella frase, allora puoi anche provare almeno un qualche tipo di definizione abbinata per i positivi in ​​modo da poter controllo su quelle variabili che generano potenzialmente una contaminazione sulla definizione di "positivo". In questo caso devi corrispondere in modo corrispondente anche sulle stesse variabili anche sul lato "non positivo".


0

Un articolo che potrebbe essere di interesse è:

"Estesa classificazione del centroide più ristretto: un nuovo metodo per l'attribuzione della paternità a caratteri aperti di testi di varie dimensioni", Schaalje, Fields, Roper e Snow. Informatica letteraria e linguistica, vol. 26, n. 1, 2011.

Che utilizza un metodo per attribuire un testo a un insieme di autori e lo estende per utilizzare la possibilità che il vero autore non sia nel gruppo candidato. Anche se non usi il metodo NSC, le idee nel documento potrebbero essere utili nel pensare a come procedere.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.