I have a problem statement in which I have to classify the text data into various classes, but the training data is very less (250-300 data points for 4 classes). I am confused about what approach to use? Also is there any way that deep learning could be used for this problem with such a small tarining data?
300 data points is enough to give good/average results with the traditional machine learning algorithms. You should test SVMs as they are considered good for text classification.
However, deep learning is very often used when you have a lot of data, which is not the case here. So I would not recommend it for your task.
You can try bag of words approach to extract the features from text and apply any supervised ML classifier like Naive Bayes etc to classify.
Deep Learning requires a huge set of data so I don't think it can be applied here in this case.