feature selection in decision tree classifier
This depends on your application but the trend is to use Deep Learning.  That is, allow the algorithm to learn the features as opposed to do feature engineering (e.g. choose between BOW, n-gram etc).

See for example this paper (Gender Classification with Deep Learning by Aric Bartle, Jim Zheng) where they compare the performance of BOW/n-gram/vs Deep Learning via Recurrent Convolutional Networks.   Deep Learning generally outperforms classic feature engineering.

https://cs224d.stanford.edu/reports/BartleAric.pdf