ArticlePDF Available

TASS: Detecting Sentiments in Spanish Tweets

Authors:
09/07/12 1
TASS: Detecting Sentiments in
Spanish Tweets
Xabier Saralegi and Iñaki San Vicente
Elhuyar Fundazioa
09/07/12 2
Introduction
09/07/12 3
Introduction
Knowledge discovery useful for decision making
and market analysis.
Explosion of Web 2.0, very rich source of user-
generated information.
Social media like twitter a very valuable source for
seeking opinions.
TASS: Opinion mining or sentiment analysis over
Spanish tweets.
09/07/12 4
State of the Art
09/07/12 5
State of the Art
Main approaches:
Knowledge/Lexicon/Rules based approach (Turney,
2002; Kim and Hovy, 2004).
Supervised approach (Pang et al., 2002).
09/07/12 6
State of the Art
Dealing with tweets:
POS and lemmas (Barbosa and Feng, 2010).
Emoticons (O'Connor et al., 2010).
Discourse (Somasundaran et al., 2009).
Follower graph (Speriosu et al., 2011).
09/07/12 7
State of the Art
Approaches for tweets:
Supervised combined with lexicons (Barbosa and Feng,
2010; Kouloumpis, Wilson, and Moore, 2011).
Semi-supervised (label propagation) combined with
lexicons (Sindhwani and Melville, 2008).
09/07/12 8
Experiments
09/07/12 9
Training Data
09/07/12 10
Training Data
Training data Ct consists of 7,219 tweets:
Polarity # of tweets % of tweets
P+ 1,764 22,44%
P 1,019 14,12%
NEU 610 8,45%
N 1,221 16,91%
N+ 903 12,51%
NONE 1,702 23,58%
Total 7,219 100%
09/07/12 11
Polarity Lexicon
09/07/12 12
Polarity Lexicon
A new polarity lexicon for Spanish Pes created from
two different sources:
a)An existing English polarity lexicon Pen (Projection).
b)Training corpus Ct (Extraction).
Pen
Pen
Ct
Ct
Projection
Extraction
Pes
09/07/12 13
Projection::Polarity Lexicon
An English polarity lexicon (Wilson et al., 2005) Pen
automatically translated into Spanish:
Translation by a English-Spanish dictionary Denes
09/07/12 14
Projection::Polarity Lexicon
An English polarity lexicon (Wilson et al., 2005) Pen
automatically translated into Spanish:
Translation by a English-Spanish dictionary Denes
Ambiguous translations solved manually:
Polarity was also revised.
# of headwords # of pairs Avg # of trans.
Denes 15,134 31,884 2.11
09/07/12 15
Projection::Polarity Lexicon
Translated dictionary:
Polarity English
words in Pen
Words translated
by Den→es
Translation
candidates
Selected
candidates
N4,144 2,416 3,480 2,164
P2,304 2,057 2,271 1,180
Total 6,878 4,473 5,751 3,344
09/07/12 16
Extraction::Polarity Lexicon
Polarity words automatically extracted from the
training corpus Ct:
Extraction of the words most associated with a certain
polarity by using Loglikelihood ratio (LLR).
Top 1,000 negative and top 1,000 positive words
manually checked:
338 negative and
271 positive words
selected.
1 2 3 4 5 6 7 8 9 10
0,00
0,20
0,40
0,60
0,80
Neg.
Pos.
09/07/12 17
Polarity Lexicon
Merging projection and extraction based dics.:
Projection
based lexicon
Extraction
based lexicon
Final lexicon
Pes
N 2,164 338 2,435
P 1,180 271 1,518
Total 3,344 609 3,953
09/07/12 18
Supervised system
09/07/12 19
Supervised System
SMO implementation of the Support Vector
Machine algorithm (Weka).
All the classifiers built over the training data.
All the classifiers evaluated by the 10-fold cross
validation.
09/07/12 20
Supervised System
Pre-process: Some heuristics for dealing with
normalization
Replication of characters (e.g., “Sueñooo”):
Removed according to Freeling's dictionary.
Abbreviations (e.g., “q”,dl”, …):
Extended by using a equivalents list.
Overuse of upper case (e.g., “MIRA QUE BUENO”):
If a sequence of two common words change to lower
case.
Normalization of urls:
complete url replaced by “URL”.
09/07/12 21
Baseline::Supervised System
Unigram representation using all lemmas (Freeling) as
features (15,069).
Frequency of the lemmas as values.
Features/
Metric
Acc.
(6 cat.)
P+ PNEU N N+ NONE
Baseline 0.45 0.574 0.267 0.137 0.368 0.385 0.578
09/07/12 22
Selection of Polarity Words::Supervised System
Only lemmas included in the polarity lexicon Pes:
More precise features and less computational cost (From
15,069 to 3,730 features).
Features/
Metric
Acc.
(6 cat.)
P+ PNEU N N+ NONE
Baseline 0.45 0.574 0.267 0.137 0.368 0.385 0.578
SP 0.484 0.594 0.254 0.098 0.397 0.422 0.598
09/07/12 23
Emoticons and Interjections::Supervised System
Two new features: # of positive emoticons, # of negative emoticons:
A list of 23 positive and 34 negative emoticons.
Two new features: # of positive interjections, # of negative
interjections:
A list of 28 positive and 54 negative interjections.
Features/
Metric
Acc.
(6 cat.)
P+ PNEU N N+ NONE
Baseline 0.45 0.574 0.267 0.137 0.368 0.385 0.578
SP 0.484 0.594 0.254 0.098 0.397 0.422 0.598
SP+EM 0.49 0.612 0.253 0.097 0.402 0.428 0.6
09/07/12 24
POS Information::Supervised System
POS tags as features.
Useful for distinguishing between subjective and objective
texts.
Features/
Metric
Acc.
(6 cat.)
P+ P NEU N N+ NONE
Baseline 0.45 0.574 0.267 0.137 0.368 0.385 0.578
SP 0.484 0.594 0.254 0.098 0.397 0.422 0.598
SP+EM 0.49 0.612 0.253 0.097 0.402 0.428 0.6
SP+POS 0.496 0.596 0.245 0.093 0.414 0.438 0.634
09/07/12 25
Frequency of Polarity Words::Supervised System
Two new features: a score of the positivity and a score of
the negativity of a tweet:
spos=
witweet
positive Pes , wi
sneg=
witweet
negativePes , wi
09/07/12 26
Frequency of Polarity Words::Supervised System
Treatment of negations and adverbs:
Change the polarity of a word it is included in a negative
clause.
Increase (e.g., “mucho”, “absolutamente”) or decrease (e.g.,
poco”) the polarity of a word depending on the adverb.
Weight polarity of words depending on Syntactic Nesting Level:
Importance of each word w by the relative syntactic nesting
level 1/ln(w):
spos=
witweet
positive Pes , wi 1
ln wi
sneg=
witweet
negative Pes , wi 1
ln wi
09/07/12 27
Frequency of Polarity Words::Supervised System
Features/
Metric
Acc. (6
cat.)
P+ P NEU N N+ NONE
Baseline 0.45 0.574 0.267 0.137 0.368 0.385 0.578
SP 0.484 0.594 0.254 0.098 0.397 0.422 0.598
SP+EM 0.49 0.612 0.253 0.097 0.402 0.428 0.6
SP+POS 0.496 0.596 0.245 0.093 0.414 0.438 0.634
SP+FP 0.514 0.633 0.261 0.115 0.455 0.438 0.613
09/07/12 28
All features combined::Supervised System
Features/
Metric
Acc. (6
cat.)
P+ P NEU N N+ NONE
Baseline 0.45 0.574 0.267 0.137 0.368 0.385 0.578
SP 0.484 0.594 0.254 0.098 0.397 0.422 0.598
SP+EM 0.49 0.612 0.253 0.097 0.402 0.428 0.6
SP+POS 0.496 0.596 0.245 0.093 0.414 0.438 0.634
SP+FP 0.514 0.633 0.261 0.115 0.455 0.438 0.613
All 0.523 0.648 0.246 0.111 0.463 0.452 0.657
09/07/12 29
Using Additional Corpora::Supervised System
Additional training data Ctw was retrieved using the attitude
feature of the twitter search:
Search is based on emoticons as in (Go et al., 2009).
Retrieved tweets were classified according to their attitude (P
or N):
Compiled corpus used in two ways:
A)Find new polarity words for polarity lexicon Pes (AC1).
B)Adding Ctw to the training data (AC2).
Corpora/
Tweets
P N Total
Ctw 11,363 9,865 21,228
09/07/12 30
Using Additional Corpora::Supervised System
A)Extraction of polarity words from Ctw (AC1)
Same methodology as used for building Pes:
LLR for extracting positive and negative candidates.
First 500 positive and first 500 negative candidates manually
revised (110 positive and 95 negative selected).
Features/
Metric
Acc. (6
cat.)
P+ P NEU N N+ NONE
All 0.523 0.648 0.246 0.111 0.463 0.452 0.657
All+AC1 0.523 0.647 0.248 0.116 0.46 0.451 0.655
09/07/12 31
Using Additional Corpora::Supervised System
B)Adding examples from Ctw to the training data (AC2):
Original Training data Ct divided into two parts:
Ct-test (15%) and Ct-train (85%).
Adding examples from Ctw to Ct-train:
All of examples for training (All+AC2).
Only examples containing OOV words ( ):
(All+AC2/OOV)
Features/
Metric
# of training
examples
Accuracy
All 6,137 0.573
All+AC2 27,365 0.507
All+AC2/OOV 7,807 0.569
wPesfreq w , Cttrain=0
09/07/12 32
Evaluation & Results
09/07/12 33
Test Data
Test data Ct consists of 60,798 tweets:
Polarity # of tweets % of tweets
P+ 20,745 34.12%
P1,488 2.45%
NEU 1,305 2.15%
N11,287 18.56%
N+ 4,557 7.5%
NONE 21,416 35.22%
Total 60,798 100%
09/07/12 34
Results
AC1 provides improvement.
Best performance over P+ and NONE.
Worst performance over NEU and P.
Better results than those achieved over the training data:
The best system (ALL+AC1): 0.653 vs. 0.523.
Features/
Metric
Acc. (4
cat.)
Acc. (6
cat.)
P+ P NEU N N+ NONE
Baseline 0.616 0.527 0.638 0.214 0.139 0.483 0.471 0.587
All 0.702 0.641 0.752 0.323 0.166 0.563 0.564 0.683
All+AC1
(submitted run)
0.711 0.653 0.753 0.32 0.167 0.566 0.566 0.685
09/07/12 35
Results
Features/
Metric
Acc. (4
cat.)
Acc. (6
cat.)
P+ P NEU N N+ NONE
Baseline 0.616 0.527 0.638 0.214 0.139 0.483 0.471 0.587
All 0.702 0.641 0.752 0.323 0.166 0.563 0.564 0.683
All+AC1 0.711 0.653 0.753 0.32 0.167 0.566 0.566 0.685
Features/
Metric
Acc. (6
cat.)
P+ P NEU N N+ NONE
Baseline 0.45 0.574 0.267 0.137 0.368 0.385 0.578
All 0.523 0.648 0.246 0.111 0.463 0.452 0.657
All+AC1 0.523 0.647 0.248 0.116 0.46 0.451 0.655
09/07/12 36
Results
The distribution difference between training and test data:
P+
P
NEU
N
N+
NONE
0.00% 10.00% 20.00% 30.00% 40.00%
Test
Training
09/07/12 37
Conclusions
09/07/12 38
Conclusions
Our system effectively combines several features based on linguistic
knowledge:
Lemmas, POS tags, polarity words...
Good contribution of semi-automatically built polarity dictionary.
Robust performance of the system.
09/07/12 39
References
Barbosa, Luciano and Junlan Feng. 2010. Robust sentiment detection on twitter from biased and noisy data. COLING '10.
Go, A., R. Bhayani, and L. Huang. 2009. Twitter sentiment classication using distant supervision. CS224N Project Report.
Han, Bo and Timothy Baldwin. 2011. Lexical normalisation of short text messages: Makn sens a #twitter. ACL-HLT.
Kim, Soo-Min and Eduard Hovy. 2004. Determining the sentiment of opinions. COLING.
Kouloumpis, E., T. Wilson, and J. Moore. 2011. Twitter sentiment analysis: The good the bad and the OMG! AAAI.
Liu, Fei, Fuliang Weng, and Xiao Jiang. 2012. A broad-coverage normalization system for social media language. ACL.
O'Connor, Brendan, Ramnath Balasubramanyan, Bryan R. Routledge, and Noah A. Smith. 2010. From tweets to polls: Linking
text sentiment to public opinion time series. AAAI.
Pang, Bo, Lillian Lee, and Shivakumar Vaithyanathan. 2002. Thumbs up?: sentiment classication using machine learning
techniques. EMNLP.
Sindhwani, Vikas and Prem Melville. 2008. Document-Word Co-Regularization for Semi-supervised Sentiment Analysis. ICDM-
Somasundaran, Swapna, Galileo Namata, Janyce Wiebe, and Lise Getoor. 2009. Supervised and unsupervised methods in
employing discourse relations for improving opinion polarity classication. EMNLP.
Speriosu, Michael, Nikita Sudan, Sid Upadhyay, and Jason Baldridge. 2011. Twitter polarity classication with label propagation
over lexical links and the follower graph. EMNLP.
Turney, Peter D. 2002. Thumbs up or thumbs down?: semantic orientation applied to unsupervised classication of reviews.
ACL.
Wilson, Theresa, Paul Homann, Swapna Somasundaran, Jason Kessler, Janyce Wiebe, Yejin Choi, Claire Cardie, Ellen Rilo,
and Siddharth Patwardhan. 2005. OpinionFinder. HLT/EMNLP.
09/07/12 40
Thank You
... There are no proceedings that describe the features of each system, there are, only some technical notes that can be found on the TASS2012 3 web site. The system presented by Saralegi and San Vicente (2012) achieved the best results. It used a sequential minimal optimization (SMO) implementation of the support vector machine algorithm using Weka (Frank et al. 2016) and a polarity lexicon that was constructed from automatically translated English Lexicons and words extracted from a training corpus. ...
Article
This paper describes a support vector machine-based approach to different tasks related to sentiment analysis in Twitter for Spanish. We focus on parameter optimization of the models and the combination of several models by means of voting techniques. We evaluate the proposed approach in all the tasks that were defined in the five editions of the TASS workshop, between 2012 and 2016. TASS has become a framework for sentiment analysis tasks that are focused on the Spanish language. We describe our participation in this competition and the results achieved, and then we provide an analysis of and comparison with the best approaches of the teams who participated in all the tasks defined in the TASS workshops. To our knowledge, our results exceed those published to date in the sentiment analysis tasks of the TASS workshops.
... Our initial lexicon P es is a general domain Spanish polarity lexicon (Saralegi and San Vicente, 2012) 2012 Workshop. The process of building the lexicon consisted of translating the Opinion-Finder English polarity lexicon (Wilson et al., 2005) automatically and then manually correcting both translations and polarities. ...
Conference Paper
Full-text available
This article describes a polarity classifier for Spanish tourism reviews. We created a new data-set comprised by reviews of tourism resources (accommodations, restaurants, and activities) from the Basque Country in Spanish, by crawling the TripAdvisor review website. We adopt a supervised approach, and analyze various feature sets: an unigram model and various models that rely on the lexical information provided by a polarity lexicon, adapted to the tourism domain. The lexicon-based system achieves 83% accuracy for a 3-category classification task, and a 57% accuracy for a 5-category classification. Although the improvement over the unigram model is not significant it uses the half number of features which is more efficient. On top of that, evaluation is carried out for tourism resources sub-domains, including accommodation, restaurants and activities.
... Bi hurbilpen nagusi daude multzo honetan: lehena, polaritate ezaguna duten hitz batzuetatik abiatuta, corpusetan hitz horien semantikoki antzekoak diren hitzak aurkitzean datza (Turney eta Littman, 2003). Bigarrena, polaritatea markatuta duen corpus batean oinarrituz, positiboenak zein negatiboenak diren hitzen zerrendak lortzea (Saralegi eta San Vicente, 2012) Azkenik, EBLetan oinarritutako metodoen funtsa da polaritate ezaguna duten hazi-hitz multzo txiki batetik abiatuta, EBLak eskaintzen dituen hitzen arteko loturak baliatuz, hasierako polaritate horiek hitz berrietara hedatzea. (Hatzivassiloglou eta McKeown, 1997) lanean hazi-lexiko bat hedatzen dute and/but motako konektoreen bidez. ...
Conference Paper
Full-text available
Testuetan adierazten diren sentimendu eta iritziak automatikoki aztertzeko oinarrizko baliabideak dira polaritate-lexikoak. Euskaraz, horrelako teknologia garatzeko ahaleginak oso urriak izan dira orain arte. Artikulu honetan lexiko horiek modu automatikoan sortzen hiru bide aztertu dira: beste hizkuntzetan dauden lexikoak itzultzea, testu-corpusetatik erauztea, eta WordNet moduko ezagutza base eleaniztunen gainean sentimenduak markatzea. Emaitzek erakusten dute metodo hauek baliagarri dire-la polaritate-lexiko eraginkorrak hutsetik modu azkar batean eta adituen ahalegin handirik gabe sortzeko. Polarity lexicons are a basic resource for analyzing the sentiments and opinions expressed in texts in an automated way. Very little work has been done on this regard for Basque. This paper explores three methods to automatically construct polarity lexicons: translating existing lexicons from other languages, extracting polarity lexicons from corpora, and annotating sentiments in WordNet likeMultilingual Lexical Knowledge Bases. Results show that these methods are useful for creating lexicons from scratch fast and with little effort from human experts. 1 Sarrera eta motibazioa Iritzi-erauzketa eta sentimenduen analisiaren motibazioa domeinu komertzial eta politikoak aztertzeko aplikazioen beharretik dator. Aplikazio horien helburua gizartearen sentimendu eta jarrerak era automa-tikoan jarraitzea litzateke, berri, foro, eta abarren bidez. Zein da gizarteak Ukrainiako gatazkari buruz duen iritzia? Zein da jendeak marka batekiko duen harrera? Eta modelo zehatz bat kaleratu ondoren? Testuetatik abiatuz iritziak eta emozioak identifikatuko lituzkeen sistema bat oso baliagarria litzateke horrelako galderei erantzun ahal izateko. Sentimenduen analisiaren alorrak azken urteetan izugarrizko bultzada izan du, hainbat jardueratan oso interesgarriak baitira, hala nola zaintza teknologikoan, marketin alorrean produktu zein enpresen inguruko iritzia ezagutzeko, pertsonen gaineko izen ona aztertzeko, gai gatazkatsuen inguruko erreakzioak antzemateko, eta abar. Ikerketa-ildo hori azkenaldian horrenbeste hazi izana Web 2.0ren etorrerarekin lotu behar da. Internet berriak erabiltzaileei edukiak sortzeko ahalmena eman die. Orain arte, produktu, erakunde edo gai baten inguruan gizartearen iritzia inkesten eta arreta zerbitzuen bidez bildu izan da, baina horrek erabiltzailea eta enpresaren zuzeneko harremana eskatzen zuen. Erabiltzaileok, baina, ez ditugu bide horiek askotan erabiltzen, askoz ohikoagoa da gure iritzia lagunartean adieraztea. Orain gutxi arte informazio hori eskuratzea oso zaila zen enpresentzako, baina gaur egungo Internetek horrelako informazioa gordetzen du eta eskuragarri jartzen du edozeinentzako. Iritzi-erauzketak datu masa erraldoi horretatik informazioa
Conference Paper
Full-text available
We describe a system that classifies the polarity of Spanish tweets. We adopt a hybrid approach, which combines machine learning and linguistic knowledge acquired by means of NLP. We use part-of-speech tags, syntactic dependencies and semantic knowledge as features for a supervised classifier. Lexical particularities of the language used in Twitter are taken into account in a pre-processing step. Experimental results improve over those of pure machine learning approaches and confim the practical utility of the proposal.
Conference Paper
Full-text available
Social media language contains huge amount and wide variety of nonstandard tokens, created both intentionally and unintentionally by the users. It is of crucial importance to normalize the noisy nonstandard tokens before applying other NLP techniques. A major challenge facing this task is the system coverage, i.e., for any user-created nonstandard term, the system should be able to restore the correct word within its top n output candidates. In this paper, we propose a cognitively-driven normalization system that integrates different human perspectives in normalizing the nonstandard tokens, including the enhanced letter transformation, visual priming, and string/phonetic similarity. The system was evaluated on both word- and message-level using four SMS and Twitter data sets. Results show that our system achieves over 90% word-coverage across all data sets (a 10% absolute increase compared to state-of-the-art); the broad word-coverage can also successfully translate into message-level performance gain, yielding 6% absolute increase compared to the best prior approach.
Conference Paper
Full-text available
There is high demand for automated tools that assign polarity to microblog content such as tweets (Twitter posts), but this is challenging due to the terseness and informality of tweets in addition to the wide variety and rapid evolution of language in Twitter. It is thus impractical to use standard supervised machine learning techniques dependent on annotated training examples. We do without such annotations by using label propagation to incorporate labels from a maximum entropy classifier trained on noisy labels and knowledge about word types encoded in a lexicon, in combination with the Twitter follower graph. Results on polarity classification for several datasets show that our label propagation approach rivals a model supervised with in-domain annotated tweets, and it outperforms the noisily supervised classifier it exploits as well as a lexicon-based polarity ratio classifier.
Article
Full-text available
This paper presents a simple unsupervised learning algorithm for classifying reviews as recommended (thumbs up) or not rec- ommended (thumbs down). The classifi- cation of a review is predicted by the average semantic orientation of the phrases in the review that contain adjec- tives or adverbs. A phrase has a positive semantic orientation when it has good as- sociations (e.g., "subtle nuances") and a negative semantic orientation when it has bad associations (e.g., "very cavalier"). In this paper, the semantic orientation of a phrase is calculated as the mutual infor- mation between the given phrase and the word "excellent" minus the mutual information between the given phrase and the word "poor". A review is classified as recommended if the average semantic ori- entation of its phrases is positive. The al- gorithm achieves an average accuracy of 74% when evaluated on 410 reviews from Epinions, sampled from four different domains (reviews of automobiles, banks, movies, and travel destinations). The ac- curacy ranges from 84% for automobile reviews to 66% for movie reviews.
Article
Full-text available
Identifying sentiments (the affective parts of opinions) is a challenging problem. We present a system that, given a topic, automatically finds the people who hold opinions about that topic and the sentiment of each opinion. The system contains a module for determining word sentiment and another for combining sentiments within a sentence. We experiment with various models of classifying and combining sentiment at word and sentence levels, with promising results.
Conference Paper
Full-text available
We connect measures of public opinion measured from polls with sentiment measured from text. We analyze several surveys on consumer confidence and political opinion over the 2008 to 2009 period, and find they correlate to sentiment word frequencies in contempora- neous Twitter messages. While our results vary across datasets, in several cases the correlations are as high as 80%, and capture important large-scale trends. The re- sults highlight the potential of text streams as a substi- tute and supplement for traditional polling.
Conference Paper
Full-text available
Twitter provides access to large volumes of data in real time, but is notoriously noisy, hampering its utility for NLP. In this paper, we target out-of-vocabulary words in short text messages and propose a method for identifying and normalising ill-formed words. Our method uses a classifier to detect ill-formed words, and generates correction candidates based on morphophonemic similarity. Both word similarity and context are then exploited to select the most probable correction candidate for the word. The proposed method doesn't require any annotations, and achieves state-of-the-art performance over an SMS corpus and a novel dataset based on Twitter.
Article
We introduce a novel approach for automatically classify-ing the sentiment of Twitter messages. These messages are classified as either positive or negative with respect to a query term. This is useful for consumers who want to re-search the sentiment of products before purchase, or com-panies that want to monitor the public sentiment of their brands. There is no previous research on classifying sen-timent of messages on microblogging services like Twitter. We present the results of machine learning algorithms for classifying the sentiment of Twitter messages using distant supervision. Our training data consists of Twitter messages with emoticons, which are used as noisy labels. This type of training data is abundantly available and can be obtained through automated means. We show that machine learn-ing algorithms (Naive Bayes, Maximum Entropy, and SVM) have accuracy above 80% when trained with emoticon data. This paper also describes the preprocessing steps needed in order to achieve high accuracy. The main contribution of this paper is the idea of using tweets with emoticons for distant supervised learning.
Conference Paper
In this paper, we propose an approach to automatically detect sentiments on Twit- ter messages (tweets) that explores some characteristics of how tweets are written and meta-information of the words that compose these messages. Moreover, we leverage sources of noisy labels as our training data. These noisy labels were provided by a few sentiment detection websites over twitter data. In our experi- ments, we show that since our features are able to capture a more abstract represen- tation of tweets, our solution is more ef- fective than previous ones and also more robust regarding biased and noisy data, which is the kind of data provided by these sources.
Conference Paper
The goal of sentiment prediction is to automatically iden- tify whether a given piece of text expresses positive or nega - tive opinion towards a topic of interest. One can pose senti- ment prediction as a standard text categorization problem. However, gathering labeled data turns out to be a bottleneck in the process of building high quality text classifiers. Fortu- nately, background knowledge is often available in the form of prior information about the sentiment polarity of words in a lexicon. Moreover, in many applications abundant un- labeled data is also available. In this paper, we propose a novel semi-supervised sentiment prediction algorithm tha t utilizes lexical prior knowledge in conjunction with unla- beled examples. Our method is based on joint sentiment analysis of documents and words based on a bipartite graph representation of the data. We present an empirical study on a diverse collection of sentiment prediction problems whic h confirms that our semi-supervised lexical models signifi- cantly outperform purely supervised and competing semi- supervised techniques.