Natural language processing with machine learning