Find best machine learning for predicting category of products
This seems like an ideal problem for deep learning. Your outputs will be the categories and you can pick the 3 activations (categories) with the highest probabilities. 

You will need to vectorize your description features, you can do this using one of these techniques.