I am trying to learn Theano and TensorFlow for building neural networks for NLP based tasks. Any suggestions as to when one should choose one over the other or what works better and when or is it just a personal choice of what one is comfortable with?
At the end this comes down to one's opinion and experience but I ll attempt to give you a decent answer.
Theano has been around longer and you will be able to find more resources on it. Both to learn and people's published work on it.
You may also have to check what hardware you have available. Tensorflow does not run on as many hardware as Theano currently. (Although they are actively working on Windows and OpenCl support.)
A good comparison on various Deep Learning Frameworks can be found there.