Conversational interfaces and natural language processing