Beste svaret
Når det gjelder overvåket tekstklassifisering, er det flere:
- Superdaed Latent Dirichlet Allocation (SLDA)
- Support Vector Machines (SVM)
- Multinomial Logistic Regression (maximum entropy)
- Naive Bayes (se også multinomial NB)
- Nevrale nettverk
- Beslutningstrær
- Tilfeldige skoger
- Boosting and Bagging algoritmer
Svar
Den triste sannheten er at det nesten ikke eksisterer algoritmer som tar ordrekkefølge og setningsstruktur i betraktning. Det store, store, store flertallet av algoritmer er avhengige av enkeltord, noen ganger ordpar, og svært sjelden ordtriplett (henholdsvis unigram, bigram og trigram).
Når det er sagt, uten å ta i betraktning ordordre innhold mange av disse algoritmene fungerer ganske bra. Logistisk regresjon, naive bayes, SVM og kombinasjoner av disse tre utfører nær topp moderne for de fleste tekstklassifiseringsoppgaver.
Når det er sagt, er det alternativer. Spesielt er det klasser av nevrale nettverk som tar hensyn til disse. AFAIK, tilbakevendende, rekursive og konvolusjonelle nevrale nettverk som brukes på tekst, forklarer dette til en viss grad. Avhengig av implementeringen vil sannsynligvis et konvolusjonalt nevralt nettverk miste mer presis ordreinformasjon enn de to RNN-ene, men dette er absolutt ikke alltid tilfelle.
Disse modellene er generelt kjent for å gi overlegen nøyaktighet i visse tilfeller. Spesielt er dette tilfeller når du har å gjøre med veldig store datasett. Som en generell regel, hvis du er under ~ 1m eksempler, har du det vanligvis bedre å bruke en enklere modell, da disse modellene sannsynligvis ikke vil lære i det hele tatt, eller overdriver veldig på små datasett. Igjen er det unntak fra hver regel, men dette er generelt nøyaktig.
De er også VELDIG beregningsdyktige, og det er lite sannsynlig at du vil kunne trene dette på en rimelig tid uten GPU-oppsett.