I am trying to solve a problem - categorising and routing service desk emails to concerned teams for resolution. Created and tested a model using Scikit-Learn, Numpy and Pandas. - Tokenized the email subject and body, used Bag-of-Words/TfIdf, and applied ML algos like - SVMs, Random Forest, Linear Classification, etc.

Now, as I read more came across NLP and Neural Networks, Keras, PyTorch, Tensorflow, etc.

May I ask how to choose the correct tool or solution for my particular problem? Please advise.


1 Answer 1


There is no magic solution. You will have to try. The rule of thumb I would say is to try firstly classifiers which are less costly to train and deploy (i.e. Scikit-learn) then give it a try with NNs.

Anyways, for your problem, you may be interested to try the Genism library for topic modelling to extract what kind of topics are mentioned in an email.

Then spaCy is a great tool for NLP production tasks, there should be some text classification walkthroughs using it.

These are only a couple of ideas I am sure there are tons more. I believe the key thing is to understand which key indicators, features, words are responsible for an email to be labelled of a particular class.

  • $\begingroup$ Nice advice. Thanks. I've already tried with Scikit-Learn/Numpy/Pandas, but then got confused when read about text classification using NLP and further about NNs (TensorFlow, Keras, PyTorch). $\endgroup$
    – ranit.b
    Commented Oct 10, 2019 at 18:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.