what machine/deep learning/ nlp techniques are used to classify a given words as name, mobile number, address, email, state, county, city etc
You could apply character grams - Intuitively, there might be a huge difference in character set between a phone number and an email address. and then pass the character gram vector to SVM to make a prediction. You could implement this using in sklearn using the below feature extractors. 


TfIdfVectorizer(analyzer='character')
CountVectorizer(analyzer='character')


Cross validate on the ngram range and slack variables of SVM to fine tune your model.