I am creating a text classification model. There are a total of 50 classes, with majority classes having around ~1000 samples and minority classes have only ~20-50 samples in the training data.
I have created a bag of ngrams based naive bayes classification model. However, the accuracy is not good. For example -
if word “x” is the top feature of Majority class, and weak feature for Minority Class. Most of the time any new test example containing “x” will be classified into Majority Class, even if it does not belong to Majority Class.
What are some of the good techniques to perform text classification for such type of cases. Or are there any other improvements that can be done?