What is sentiment analysis in natural language processing and how does it work? How is sentiment analysis used to determine positive, negative, or neutral opinions in text? What are the common techniques used for sentiment analysis? What are some real-world applications of sentiment analysis? What challenges are faced when performing sentiment analysis on complex text data?