natural language processing challenges and future directions