Beste Antwort
In Bezug auf die überwachte Textklassifizierung gibt es mehrere:
- Überwachte latente Dirichlet-Zuordnung (SLDA)
- Support Vector Machines (SVM)
- Multinomiale logistische Regression (maximale Entropie)
- Naive Bayes (siehe auch multinomial NB)
- Neuronale Netze
- Entscheidungsbäume
- Zufällige Wälder
- Boosting- und Bagging-Algorithmen
Antwort
Die traurige Wahrheit ist, dass es fast keine Algorithmen gibt, die die Wortreihenfolge und die Satzstruktur berücksichtigen. Die überwiegende Mehrheit der Algorithmen basiert auf einzelnen Wörtern, manchmal auf Wortpaaren und sehr selten auf Worttripletts (Unigramme, Bigramme bzw. Trigramme).
Das heißt, ohne Berücksichtigung der Wortreihenfolge und Inhalt Viele dieser Algorithmen funktionieren recht gut. Logistische Regression, naive Bayes, SVMs und Kombinationen dieser drei sind für die meisten Textklassifizierungsaufgaben nahezu auf dem neuesten Stand der Technik.
Es gibt jedoch Alternativen. Insbesondere gibt es Klassen neuronaler Netze, die diese berücksichtigen. AFAIK, wiederkehrende, rekursive und Faltungs-Neuronale Netze, die auf Text angewendet werden, tragen dies bis zu einem gewissen Grad bei. Abhängig von der Implementierung verliert ein Faltungs-Neuronales Netzwerk wahrscheinlich genauere Ordnungsinformationen als die beiden RNNs, aber dies ist sicherlich nicht immer der Fall.
Es ist allgemein bekannt, dass diese Modelle in bestimmten Fällen eine überlegene Genauigkeit erzeugen Dies sind insbesondere Fälle, in denen Sie mit sehr großen Datenmengen arbeiten. Wenn Sie „unter ~ 1 Mio. Beispielen“ liegen, ist es in der Regel besser, ein einfacheres Modell zu verwenden, da diese Modelle wahrscheinlich entweder gar nicht lernen oder Es gibt wieder Ausnahmen zu jeder Regel, aber dies ist im Allgemeinen korrekt.
Sie sind auch SEHR rechenintensiv und es ist unwahrscheinlich, dass Sie dies in a trainieren können angemessene Zeit ohne GPU-Setup.