opinion mining in gate horacio saggion & adam funk

24
University of Sheffield NLP Opinion Mining in GATE Horacio Saggion & Adam Funk

Upload: astra

Post on 16-Mar-2016

56 views

Category:

Documents


1 download

DESCRIPTION

Opinion Mining in GATE Horacio Saggion & Adam Funk. Opinion Mining. Is interested in the opinion a particular piece of discourse expresses Opinions are subjective statements reflecting people’s sentiments or perceptions on entities or events - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Opinion Mining in GATE Horacio Saggion & Adam Funk

University of Sheffield NLP

Opinion Mining in GATEHoracio Saggion & Adam Funk

Page 2: Opinion Mining in GATE Horacio Saggion & Adam Funk

University of Sheffield NLP

Opinion Mining• Is interested in the opinion a particular piece of discourse expresses

– Opinions are subjective statements reflecting people’s sentiments or perceptions on entities or events

• There are various problems associated to opinion mining– Identify if a piece of text is opinionated or not (factual news vs.

Editorial)– Identify the entity expressing the opinion– Identify the polarity and degree of the opinion (in favour vs.

against)– Identify the theme of the opinion (opinion about what?)

Page 3: Opinion Mining in GATE Horacio Saggion & Adam Funk

University of Sheffield NLP

Extract Factual Data with Information Extraction from Company Web Site

Extract Opinions using Opinion Mining from Web Fora

Page 4: Opinion Mining in GATE Horacio Saggion & Adam Funk

University of Sheffield NLP

Application• Combine information extraction from company Web site with OM

findings– Given a review find company web pages and extract factual

information from it including products and services– Associate the opinion to the found information

• Use information extraction to identify positive/negative phrases and the “object” of the opinion– Positive: correctly packed bulb, a totally free service, a very

efficient management…– Negative: the same disappointing experience, unscrupulous

double glazing sales, do not buy a sofa from DFS Poole or DFS anywhere, the utter inefficiency…

Page 5: Opinion Mining in GATE Horacio Saggion & Adam Funk

University of Sheffield NLP

Opinions on the Websentiment

opinion

Page 6: Opinion Mining in GATE Horacio Saggion & Adam Funk

University of Sheffield NLP

positive opinions

negative opinions

negative opinion, but less evident

Page 7: Opinion Mining in GATE Horacio Saggion & Adam Funk

University of Sheffield NLP

OM as text classification• Because we have access to documents which have already an associated class, we

see OM as a classification problem – we consider our data “opinionated”

• We are interested in:– differentiate between positive opinion vs negative opinion

• “customer service is diabolical”• “I have always been impressed with this company”

– recognising fine grained evaluative texts (1-star to 5-star classification)• “one of the easiest companies to order with” (5-stars)• “STAY AWAY FROM THIS SUPPLIER!!!” (1-star)

• We use a supervised learning approach (Support Vector Machines) that uses linguistic features; the system decides which features are most valuable for classification

• We use precision, recall, and F-score to assess classification accuracy

Page 8: Opinion Mining in GATE Horacio Saggion & Adam Funk

University of Sheffield NLP

Corpus• We have a customisable crawling process to collect all texts from Web fora• 92 texts from a Web Consumer forum

– Each text contains a review about a particular company/service/product and a thumbs up/down – texts are short (one/two paragraphs)

– 67% negative and 33% positive• 600 texts from another Web forum containing reviews on companies or

products– Each text is short and it is associated with a 1 to 5 stars review– * ~ 8%; ** ~ 2; *** ~ 3%; **** ~ 20%; ***** ~ 67%

• Each document is analysed to separate the commentary/review from the rest of the document and associate a class to each review

• After this, the documents are processed with GATE processing resources: – tokenisation; sentence identification; parts of speech tagging;

morphological analysis; named entity recognition, and sentence parsing

Page 9: Opinion Mining in GATE Horacio Saggion & Adam Funk

University of Sheffield NLP

SVMs for OM• Support Vector Machines (SVM) are very good algorithms used for

classification and have been also used in information extraction• Learning in SVM is treated as a binary classification problem and a

multiclass problem is transformed in a set of n binary classification problems• Given a set of training examples, each is represented as a vector in a space

of features and SVM tries to find an hyper plane which separates positive from negative instances

• Given a new instance SVM will identify in which side of the hyper plane the new instance lies and produce the classification accordingly

• The distance from the hyper plane to the positive and negative instances is the margin and we use SVM with uneven margins available in GATE

• In order to use them, we need to specify how instances are represented and decide on a number of parameters usually adjusted experimentally over training data

Page 10: Opinion Mining in GATE Horacio Saggion & Adam Funk

University of Sheffield NLP

Bag-of-words binary-classification• We decided to start investigating a very simple approach – word-based or

bag of words approach (usually works very well in text classification)– the original word– the root or lemma of the word (for “running” we use “run”)– the parts of speech category of the word (determinant, noun, verb, etc.)– the orthography of the word (all uppercase, lowercase, etc.)

• Each sentence/text is represented as a vector of features and values– we carried out different combinations of features (different n-grams)– 10-fold cross validation experiments were run over the corpus with binary

classifications (up/down)– the combination of root and orthography (unigram) provides the best

classifier• around 80% F-score

– use of higher n-grams decreases performance of the classifier– use of more features not necessarily improves performance– a uninformed classifier would have a 67% accuracy

Page 11: Opinion Mining in GATE Horacio Saggion & Adam Funk

University of Sheffield NLP

Bag-of-words fine-grained classification• Same learning system used to produce the 5 stars

classification over the fine-grained dataset• Same feature combinations were studied:– 74% overall classification accuracy using word root

only– other combinations degrade performance– 1* classification accuracy = 80%; 5* classification

accuracy = 75%– 2* = 2%; 3*=3%; 4*=19%– 2*, 3*, 4* difficult to classify because or either share

vocabulary with extreme cases or are vague

Page 12: Opinion Mining in GATE Horacio Saggion & Adam Funk

University of Sheffield NLP

Relevant features according to the SVM models• word-based binary classification– thumbs-down: !, not, that, will, …– thumbs-up: excellent, good, www, com, site, …

• word-based fine-grained classification– 1*: worst, not, cancelled, avoid,…– 2*: shirt, ball, waited,….– 3*: another, didn’t, improve, fine, wrong, …– 4*: ok, test, wasn’t, but, however,…– 5*: very, excellent, future, experience, always, great,

Page 13: Opinion Mining in GATE Horacio Saggion & Adam Funk

University of Sheffield NLP

Sentiment-based Classifier• Engineered features based on “linguistic” and sentiment information

associated to words• Linguistic features

– word-based features are restricted to adjective and adverbs and their bigram combinations

– “good”, “bad”, “rather”, “quite”, “not”, etc.

• Sentiment information– WordNet lexical database where words appear with their senses and synonyms

• chair = the furniture• chair, professorship = the position• chair, president, chairman, … = the officer• chair, electric chair, … = execution instrument

– SentiWordNet adds sentiment information to WordNet and has been used in opinion mining and sentiment analysis

Page 14: Opinion Mining in GATE Horacio Saggion & Adam Funk

University of Sheffield NLP

Sentiment-based classifier

• SentiWordNet (cont.)– each word has three numerical scores (between 0 and 1): obj, pos,

neg (obj+neg+pos=1)

Cat WNT # pos neg synonymsa 1006645 0.25 0.375 good wella 1023448 0.375 0.5 good unspoilt

unspoileda 1073446 0.625 0.0 gooda 1024262 0.0 1.0 bad spoilt spoiled

Page 15: Opinion Mining in GATE Horacio Saggion & Adam Funk

University of Sheffield NLP

Sentiment-base classifier• Features deduced from SentiWordNet

– word analysis:• countP(w) : the word positivity score (#(pos(w)>neg(w)))• countN(w) : the word negativity score (#(pos(w)<neg(w)))• countF(w): the number of entries of w in SentiWordNet

– sentence analysis• sentiP: number of positive words in sentence

– a word is positive if countP(w)>½countF(w)

• sentiN: number of negative words in sentence– a word is negative if countN(w)>½countF(w)

• senti: pos (sentiP > sentiN), neg (sentiN > sentiP), neutral (sentence feature)

– text analysis:• count_pos: number of pos sentences in text• count_neg: number of neg sentences in text• count_neutral: number of neutral sentences in text

Page 16: Opinion Mining in GATE Horacio Saggion & Adam Funk

University of Sheffield NLP

Sentiment-based Classifier• Each text is represented as a vector of features and values

– combining the linguistic features (adjectives, adverbs, and their combinations) and the senti, count_pos, count_neg, count_neutral features

– 10-fold cross validation experiments were run over the corpus with binary classifications (up/down)• overall F-score 76%

– 10-fold cross validation over the fine-grained corpus• overall F-score 72%• 1*=58%, 2*=24%, 3*=20%, 4*=19%, 5*=83% (better job in

less extreme categories)

Page 17: Opinion Mining in GATE Horacio Saggion & Adam Funk

University of Sheffield NLP

Relevant features according to the SVM models• sentiment-based binary classification

– thumbs-down: 8 neutral , never, 1 neutral, negative sentiment (senti feature), very late

– thumbs-up: 1 negative , 0 negative , good, original, 0 neutral, fast

• sentiment-based fine-grained classification– 1*: still not, cancelled, incorrect,…– 2*: 9 neutral, disappointing, fine, down, …– 3*: likely, expensive, wrong, not able,….– 4*: competitive, positive, ok, …– 5*: happily, always, 0 negative, so simple, very positive, …

Page 18: Opinion Mining in GATE Horacio Saggion & Adam Funk

University of Sheffield NLP

Use of opinion words in OM• Hatzivassiloglou&McKeown’97 note that conjunctions (and, or, but,

…) help in classifying the semantic orientation of adjectives (excellent and useful; good but expensive;…); not used in classification experiments

• Riloff&al’03 create a list of subjective words by bootstrapping an initial set of 20 subjective words over a corpus; using the induced list and other features achieves 76% classification accuracy (objective vs subjective distinction)

• Turney’02 uses pair-wise mutual information to detect the polarity of words (mutual information wrt “excellent” and “poor”); using the list in a classifier he achieves 74% classification accuracy

• Devitt&Ahmad’07 use SentiWordNet for detecting the polarity of a piece of news (7-point scale) achieving 55% accuracy

Page 19: Opinion Mining in GATE Horacio Saggion & Adam Funk

University of Sheffield NLP

• The corpus for the exercises consists of 11 documents (already preprocessed and saved as GATE XML), which contain 81 reviews. (The original corpus contained 600 documents and 7300 reviews.)

• Each review is marked with a comment annotation that has a rating feature with a value from 1_Star_Review to 5_Star_Review (these are the 5 classes for ML). These annotations result from preprocessing the HTML mark-up.

• The machine-learning task is to use linguistic features from ANNIE to classify each comment with the appropriate rating.

Corpus for exercises

Page 20: Opinion Mining in GATE Horacio Saggion & Adam Funk

University of Sheffield NLP

• Create an empty corpus and populate it with the training data files; create another one with the test data file.

• Load ANNIE and modify the Document Reset PR so it will not delete the “Key” AnnotationSet.

• Load Tools and create an Annotation Set Transfer PR to copy all the “comment” annotations from “Key” to the default AS. Put this PR in ANNIE just after the Document Reset. Run the modified ANNIE over the training corpus.

• Create a JAPE PR from the copy_comment_without_rating grammar. In ANNIE, substitute it for the AS Transfer PR, with Key as the inputAS. Run this pipeline over the test corpus.

• Load the “learning” plug-in and create a Batch Learning PR from the sample config.xml file. Create a pipeline for this PR.

Exercise 1

Page 21: Opinion Mining in GATE Horacio Saggion & Adam Funk

University of Sheffield NLP

• In the training corpus, each document's default AS should contain comment annotations with the rating feature. In the test corpus, each one should contain comment annotations without this feature.

• Run the learning pipeline in “TRAINING” mode over the training corpus, then in “APPLICATION” mode over the test corpus.

• Examine the default AS in the test corpus now.

Exercise 1 (cont'd)

Page 22: Opinion Mining in GATE Horacio Saggion & Adam Funk

University of Sheffield NLP

• The ML configuration file in Exercise 1 uses unigrams of Token.string.

• Modify the configuration to use a different feature, such as Token.root. (Edit and save the config.xml file, then re-initialize the learning PR to reload the configuration.)

• Modify the configuration to use more than one feature.• Modify the configuration to use bigrams of a Token feature.

Exercise 2

Page 23: Opinion Mining in GATE Horacio Saggion & Adam Funk

University of Sheffield NLP

• Modify the classification probabilities and margins in the configuration file, and observe their effects on the results.

Exercise 3

Page 24: Opinion Mining in GATE Horacio Saggion & Adam Funk

University of Sheffield NLP

• Create an empty corpus and populate it from the “full” set of files.• Modify ANNIE as in the first part of Exercise 1 (so the Document

Reset PR does not delete the Key AS, and the AS Transfer copies the comment annotations from Key to default AS).

• Run the modified ANNIE pipeline, then the learning pipeline in “EVALUATION” mode. This carries out 5-fold cross-validation over the corpus and produces an averaged set of results.

• Examine the document annotations in the full corpus.

Exercise 4