Nejlepší odpověď
Pokud jde o klasifikaci textů pod dohledem, existuje několik:
- Supervised Latent Dirichlet Allocation (SLDA)
- Support Vector Machines (SVM)
- Multinomial Logistic Regression (maximum entropy)
- Naive Bayes (viz také multinomiální poznámka)
- Neuronové sítě
- rozhodovací stromy
- náhodné lesy
- algoritmy posilování a pytlování
Odpověď
Smutnou pravdou je, že neexistují téměř žádné algoritmy, které by zohledňovaly slovosled a strukturu vět. Převážná, obrovská, velká většina algoritmů se spoléhá na jednotlivá slova, někdy dvojice slov a velmi zřídka slovní triplet (unigramy, bigramy a trigramy).
To znamená, bez ohledu na slovosled obsah mnoho z těchto algoritmů funguje docela dobře. Logistická regrese, naivní Bayes, SVM a kombinace těchto tří jsou nejmodernější pro většinu úkolů klasifikace textu.
To znamená, že existují alternativy. Konkrétně existují třídy neuronových sítí, které je berou v úvahu. AFAIK, rekurentní, rekurzivní a konvoluční neuronové sítě aplikované na text, to vše do určité míry odpovídá. V závislosti na implementaci je pravděpodobné, že konvoluční neuronová síť ztratí přesnější informace o pořadí než dvě RNN, ale to rozhodně neplatí.
O těchto modelech je obecně známo, že v určitých případech dosahují vyšší přesnosti. Konkrétně se jedná o případy, kdy máte co do činění s velmi velkými datovými sadami. Obecně platí, že pokud máte méně než 1 mil. Příkladů, je obvykle lepší použít jednodušší model, protože tyto modely se pravděpodobně vůbec nenaučí, nebo strašně se hodí na malé datové sady. Opět platí, že z každého pravidla existují výjimky, ale to je obecně přesné.
Jsou také VELMI výpočetně nákladné a je nepravděpodobné, že byste je mohli trénovat v přiměřené množství času bez nastavení GPU.