This document summarizes a survey on sentiment analysis and opinion mining techniques. It discusses the key steps in the sentiment analysis process, including lexicon generation, subjectivity detection, sentiment polarity detection, sentiment structurization, and sentiment summarization/visualization/tracking. It also reviews previous work related to each step. Additionally, it discusses approaches that have been applied to sentiment analysis for Indian languages such as using bilingual dictionaries and wordnets to generate sentiment lexicons.