Problem, który rozwiązuję, polega na podzieleniu krótkich tekstów na wiele klas. Moje obecne podejście polega na wykorzystaniu częstotliwości ważonych tf-idf i nauce prostego klasyfikatora liniowego (regresja logistyczna). Działa to całkiem dobrze (około 90% makra F-1 na zestawie testowym, prawie 100% na zestawie treningowym). Dużym problemem są niewidoczne słowa / n-gram.
Próbuję ulepszyć klasyfikator, dodając inne funkcje, np. Wektor o stałej wielkości obliczany za pomocą podobieństw dystrybucyjnych (obliczanych przez word2vec) lub inne cechy kategorialne przykładów. Moim pomysłem było po prostu dodanie funkcji do rzadkich funkcji wprowadzania z zestawu słów. Skutkuje to jednak gorszą wydajnością zestawu testowego i szkoleniowego. Same dodatkowe funkcje dają około 80% F-1 na zestawie testowym, więc nie są śmieciami. Skalowanie funkcji również nie pomogło. Moje obecne myślenie jest takie, że tego rodzaju funkcje nie pasują dobrze do (rzadkiego) zestawu słów.
Pytanie zatem brzmi: zakładając, że dodatkowe funkcje dostarczają dodatkowych informacji, jaki jest najlepszy sposób na ich włączenie? Czy szkolenie oddzielnych klasyfikatorów i łączenie ich w jakąś pracę zespołową (prawdopodobnie miałoby to tę wadę, że nie można uchwycić interakcji między cechami różnych klasyfikatorów)? Czy są inne bardziej złożone modele, które powinienem rozważyć?