Using semantic word representation (e.g. word2vec) to build a classifier
For a multi-class classification problem of sentences, doc2vec can work just fine, since context rarely changes a lot within the sentence.
If you want to use only python, I will recommend, doc2vec (for building features) followed by xgboost (for training classifier), which has worked for me in similar problems.
I want to build a classifier for forum posts that will automatically categorize these
posts into some defined categories(so multiclass classification not only binary
classification) by using semantic word representations. For this task I want to make use
of word2vec and doc2vec and check the feasability of using these models to support a fast
selection of training data for the classifier. At this moment I have tried both models and
they work like charm. However, as I do not want to manually label each sentence to predict
what is it describing, I want to leave this task for the word2vec or doc2vec models. So,
my question is : what algorithm can I use in Python for the classifier? ( I was thinking
to apply some clustering over word2vec or doc2vec - manually label each cluster (this
would require some time and is not the best solution). Previously, I made use of
"LinearSVC"(from SVM) and OneVsRestClassifier, however, I labeled each sentence (by
manually training a vector "y_train" ) in order to predict to which class a new test
sentence would belong to. What would be a good alghorithm and method in python to use for
this type of classifier(making use of semantic word representations to train data)?