What is the attention mechanism and how is it used in Natural Language Processing? How does attention help models focus on relevant parts of the input sequence? What are the different types of attention mechanisms used in NLP models? How does attention improve performance compared to traditional sequence models like RNNs? What are the advantages and limitations of using attention in real-world NLP applications?