2013-07-02 18 views
8

Ho un set di formazione e voglio usare un metodo di classificazione per classificare altri documenti in base al mio set di formazione. I miei tipi di documento sono notizie e le categorie sono sportive, politiche, economiche e così via.metodi di classificazione del testo? SVM e albero decisionale

capisco ingenuo bayes e KNN completamente ma SVM e albero delle decisioni sono vaghi e non so se posso implementare questo metodo da solo? O ci sono applicazioni per l'utilizzo di questo metodo?

qual è il metodo migliore che posso utilizzare per classificare i documenti in questo modo?

grazie!

risposta

5

Gli SVM lineari sono uno degli algoritmi principali per i problemi di classificazione del testo (insieme alla regressione logistica). Gli Alberi decisionali soffrono molto in spazi così dimensionali.

Pegasos algorithm è uno degli algoritmi SVM Linear più semplici ed è incredibilmente efficace.

MODIFICA: bayes multinomial Naive funziona bene anche sui dati di testo, anche se non di solito così come SVM lineari. kNN può funzionare bene, ma è un algoritmo già lento e non supera mai i grafici di precisione sui problemi di testo.

+0

E KNN e naive bayes? – zsh

+0

Pensavo avessi detto che già sapevi come fare quelli. –

+0

sì, voglio sapere qual è il metodo migliore per il mio problema. Ho meno di 10 classi predefinite. – zsh

2

Se si ha familiarità con Python, è possibile considerare NLTK e scikit-learn. Il primo è dedicato alla PNL, mentre il secondo è un pacchetto di apprendimento automatico più completo (ma ha un grande inventario di moduli per l'elaborazione del testo). Entrambi sono open source e hanno una grande community su SO.

11
  • Naive Bayes

Anche se questo è l'algoritmo più semplice e tutto ciò che è ritenuto indipendenti, nel caso in cui la classificazione del testo vero e proprio, questo metodo di lavoro grande. E proverei di sicuro questo algoritmo.

  • KNN

KNN è per il clustering, piuttosto che la classificazione. Penso che tu fraintenda la concezione del clustering e della classificazione.

  • SVM

SVM trovi SVC (classificazione) e SVR (regressione) algoritmi turistiche classifica classificazione e previsione. A volte funziona bene, ma dalle mie esperienze, ha cattive prestazioni nella classificazione del testo, in quanto ha elevate esigenze di buoni tokenizers (filtri). Ma il dizionario del set di dati ha sempre token sporchi. La precisione è davvero pessima.

  • a caso Forest (albero decisionale)

ho mai provare questo metodo per la classificazione del testo. Perché penso che l'albero delle decisioni abbia bisogno di diversi nodi chiave, mentre è difficile trovare "diversi token chiave" per la classificazione del testo, e la foresta casuale funziona male per le dimensioni sparse.

FYI

Questi sono tutti dalle mie esperienze, ma per il vostro caso, avete modi migliore per decidere quali metodi da usare, ma di provare ogni algoritmo per adattare il vostro modello.

Apache's Mahout è un ottimo strumento per algoritmi di apprendimento automatico. Integra algoritmi di tre aspetti: raccomandazione, clustering e classificazione. Potresti provare questa libreria. Ma devi imparare alcune conoscenze di base su Hadoop.

E per l'apprendimento automatico, weka è un kit di strumenti software per esperienze che integra molti algoritmi.

+1

-1. SVM è una delle migliori tecniche per la classificazione del testo, come evidenziato da una grande quantità di pubblicazioni sull'argomento. Dovresti usare ** SVC ** per la classificazione, non ** SVR **. –

+1

Dalla mia esperienza con SVM per la classificazione del testo, l'accuratezza non è sempre buona. Penso che questo sia legato ai dati di testo che usi. Inoltre, grazie per aver segnalato l'errore. –

Problemi correlati