Sentimantics: Lexical Sentiment Polarity Representations with Contextuality
Das, A. & Gambäck, B., 2012. Sentimantics: conceptual spaces for lexical sentiment polarity representation with contextuality. In Proceedings of the 3rd Workshop in Computational Approaches to Subjectivity and Sentiment Analysis. WASSA ™12. Stroudsburg, PA, USA: Association for Computational Linguistics, pp. 38—46.
- grounding them to different SentiWordNet senses, and
- creating a vector space model that stores the context based on a co-occurrence network (that addresses the problem of sparsity in SentiWordNet).
Method
Sentiment Analysis
- the authors used a Support Vector Machine for classifying sentiment based on the following features:
- sentiment lexicon
- negation triggers (80 entries semi-automatically collected from the MPAQ corpus)
- stems
- function words (prepositions, pronouns, determiners (the, a/an, ...), conjunctions, modal verbs (can, would, ...), adverbs (here, there, ...)
- POS, Chunking and Dependency Relations
- based on a first evaluation they identified the following problems with their approach:
- sentiment of unknown / new words (do they need to have a sentiment value at all?)
- word sense disambiguation (SentiWordNet shows that there are 6,619 ambiguous sentiment terms that have a probability >0 of occurring in a positive or negative context).
Creation of Contextualized Sentiment Lexicon
hypothesis: improve the sentiment analysis by adding contextual information to the lexicon (=Sentimantics)A. Semantic Network Overlap:
- start with an arbitrary SentiWordNet node (e.g. long) and locate its closest neighbours (e.g. road, waiting, car, queue, building, ...) from the commonsense network (ConcepNet or SemanticNet) considering the strength between the ambiguous concept and its neighbours
- use the training corpus to assign contextual polarities such as P+(long|waiting), P+(long|building) to each association
- the approach yielded improved results, despite that fact that only 34% of the ambiguous sentiment terms have been resolved due to the low coverage in the used data sources.
B. Creation of the co-occurrence network
goal: increase coverage; hypothesis: words that are highly associated through co-occurrence tend to have similar semantic orientation (is that true? - compare RAVEN/tagged linguistic units)- extract features from a +/- 4 word sliding window around the target terms
- normalize the words using the CF-IOF (concept frequency-inverse opinion frequency) by Cambria et al. (2011)
- use a Spectral Clustering technique for identifying co-occurrence patterns
- use the cosine similarity to compute weights between the co-occurrence network's nodes
C. Polarity computation
The sentiment $$S(w_i|w_j)$$ for term $$w_i$$ given term $$w_j$$ using the co-occurrence network\[ S(w_i|w_j) = \frac{\sum_{k=0}^n v_k}{k} \cdot w_j^p \]
which refers to the sum of the weighted product of vertex weight ($$v_k$$) and the sentiment value of the related word ($$w_j$$) divided by the number of vertices k between the two words.
The co-occurrence network was able to resolve 45% (compared to 34%) of all ambiguous terms.
Misc:
- Cambria et al. (2011) introduced the paradigm of Sentic Computing, which refers to the technique of inferring different affective states (rather than only positive/negative) from text snippets.
Related Resources
- Sentic Computing
- List of function words
- commonsense networks: ConceptNet, SemanticNet
- Network analysis tool: NodeXL