nlp - opinion mining vs sentiment analysis

I have been told that nlp possibly holds the key for allowing researchers to infer the affective state of a person when writing. For instance, by using nlp analysis on online note taking you could infer whether a student is stressed. I work in educational cognitive science, so if this were the case it would be a valuable resource for me, however I am struggling to find evidence that this is indeed the case.

I have begun preliminary research and am trying to learn a bit about the technical aspects of nlp - I'm taking an online course by Jurafsky and Manning, another by Michael Collins - and I have been reading about what what can be inferred using nlp, specifically around opinion mining and sentiment analysis.

My question is two part:

• Firstly, most resources I have come across say something along the lines of nlp can be used for opinion mining and sentiment analysis and we will talk about the implications for opinion mining'. Can someone point me in the direction of more sentiment analysis oriented resources?
• Secondly, as I understand it, sentiment analysis is deriving the stated sentiment within text, e.g. I was happy with, I loved, was tasty, enjoyed, hated, frustrated, etc. Can nlp, or something else, be used to derive unstated affect? And is this the same thing as sentiment analysis?

[Apologies if this is asked in the wrong exchange. I've been trying to find the best fit, but there were a few candidates and I wasn't sure which would be most appropriate.]

• Alice, it is perfectly on-topic here; and it's a very nice question. Welcome to the site :) – Dawny33 Dec 21 '15 at 12:30

I think the key is that most Recurrent Neural Networks problems are formulated in terms of either a regression (with low values indicating negative sentiment, and high values positive) or a binary classification (is this text positive?).

What you seem to be interested in is a much more nuanced definition of sentiment. This doesn't present any inherent problem, as the same algorithms might well work to predict more complex sentiments. The issue is simply labeled data. Because this kind of classification is difficult even for humans, it isn't easy to reliably gather data on, say, how stressed a writer is.

However if you're interested in assembling a dataset of that nature, you'd be able to apply the same methods (Recurrent Neural Networks are a popular option) to do the classification. Many researchers in the field use Amazon Mechanical Turk or something similar to gather labeled data at a reasonable cost.

Can someone point me in the direction of more sentiment analysis oriented resources?

There are tonnes of exceptionally good papers on sentiment analysis for your reference. Especially the ones on social network sites like Twitter.

However, I think the book by Manning and his course are a nice start as references to NLP and opinion mining.

Can nlp, or something else, be used to derive unstated affect?

Yes, it can be. This would be my approach:

(Consider I already have a hand-classified training data) Using the bag of words approach, the most used words and phrases for a mood (stressful, jovial, etc) can be captured, and the subsequent training data can be ranked accordingly as (60% stressful, 40% jovial).

Additionally, you can also define thresholds for getting a single mood. Like:

if mood[score] > .5:
current_mood = mood


Sentiment analysis, sentiment detection and opinion mining all cover a set of problems, and can generally be considered to be one and the same.

The term sentiment analysis seems to be more popular in the press and in industry. In practice, as of 2015, it is mostly about giving a score, to text, between 0.0 and 1.0, for negative to positive sentiment. (Strictly speaking that is only a subproblem and one of many possible formulations.)

But whenever any of the terms is used, you should define or ask for definition of the exact problem.