Sentiment Analysis: How to Derive Prior Polarities from SentiWordNet
Table 1: First five SentiWordNet entries for cold#a
['[BOLD] PoS', '[BOLD] Offset', '[BOLD] Pos(s)', '[BOLD] Neg(s)', '[BOLD] SynsetTerms']
Obviously, different senses can have different polarities. Intuitively, mixed scores for the same sense are acceptable, as in “cold beer” (positive) vs. “cold pizza” (negative). In this section we review the main strategies for computing prior polarities used in previous studies. All the proposed approaches try to estimate the prior polarity score from the posterior polarities of all the senses for a single lemma-PoS. Given a lemma-PoS with n senses (lemma#PoS#n), every formula f is independently applied to all the Pos(s) and Neg(s) . This produces two scores, f(posScore) and f(negScore), for each lemma-PoS. To obtain a unique prior polarity for each lemma-PoS, f(posScore) and f(negScore) can be mapped according to different strategies: fm =⎧⎨⎩−f(posScore)if f(posScore)≥f(negScore)−f(negScore)otherwise fd = f(posScore)−f(negScore) where fm computes the absolute maximum of the two scores, while fd computes the difference between them. It is worth noting that f(negScore) is always positive by construction. To obtain a final prior polarity that ranges from -1 to 1, the negative sign is imposed. Then, the final polarity strength returned will be either fm or fd. On top of these formulae, we implemented some new formulae that were relevant to our task and have not been implemented before. Thus we ordered posScore and negScore by strength, giving more relevance to ‘valenced’ senses. > and <0.750,0.750,0.375,0.0,0.0> respectively.