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

Slides:



Advertisements
Similar presentations
1/(20) Introduction to ANNIE Diana Maynard University of Sheffield March 2004
Advertisements

An Introduction to GATE
University of Sheffield NLP Exercise I Objective: Implement a ML component based on SVM to identify the following concepts in company profiles: company.
University of Sheffield NLP Machine Learning in GATE Angus Roberts, Horacio Saggion, Genevieve Gorrell.
University of Sheffield NLP Module 4: Machine Learning.
University of Sheffield NLP Module 11: Advanced Machine Learning.
Sentiment Analysis on Twitter Data
GermanPolarityClues A Lexical Resource for German Sentiment Analysis
Farag Saad i-KNOW 2014 Graz- Austria,
Distant Supervision for Emotion Classification in Twitter posts 1/17.
Extract from various presentations: Bing Liu, Aditya Joshi, Aster Data … Sentiment Analysis January 2012.
Sentiment Analysis An Overview of Concepts and Selected Techniques.
Made with OpenOffice.org 1 Sentiment Classification using Word Sub-Sequences and Dependency Sub-Trees Pacific-Asia Knowledge Discovery and Data Mining.
University of Sheffield NLP Opinion Mining in GATE Horacio Saggion & Adam Funk.
A Framework for Automated Corpus Generation for Semantic Sentiment Analysis Amna Asmi and Tanko Ishaya, Member, IAENG Proceedings of the World Congress.
Predicting the Semantic Orientation of Adjective Vasileios Hatzivassiloglou and Kathleen R. McKeown Presented By Yash Satsangi.
Inducing Information Extraction Systems for New Languages via Cross-Language Projection Ellen Riloff University of Utah Charles Schafer, David Yarowksy.
Learning Subjective Nouns using Extraction Pattern Bootstrapping Ellen Riloff, Janyce Wiebe, Theresa Wilson Presenter: Gabriel Nicolae.
Learning Subjective Adjectives from Corpora Janyce M. Wiebe Presenter: Gabriel Nicolae.
Introduction to Machine Learning Approach Lecture 5.
Mining and Summarizing Customer Reviews
Mining the Peanut Gallery: Opinion Extraction and Semantic Classification of Product Reviews K. Dave et al, WWW 2003, citations Presented by Sarah.
A Joint Model of Feature Mining and Sentiment Analysis for Product Review Rating Jorge Carrillo de Albornoz Laura Plaza Pablo Gervás Alberto Díaz Universidad.
Named Entity Recognition without Training Data on a Language you don’t speak Diana Maynard Valentin Tablan Hamish Cunningham NLP group, University of Sheffield,
Thumbs Up or Thumbs Down? Semantic Orientation Applied to Unsupervised Classification on Reviews Peter D. Turney Institute for Information Technology National.
Empirical Methods in Information Extraction Claire Cardie Appeared in AI Magazine, 18:4, Summarized by Seong-Bae Park.
Opinion Mining Using Econometrics: A Case Study on Reputation Systems Anindya Ghose, Panagiotis G. Ipeirotis, and Arun Sundararajan Leonard N. Stern School.
Final Review 31 October WP2: Named Entity Recognition and Classification Claire Grover University of Edinburgh.
Survey of Semantic Annotation Platforms
2007. Software Engineering Laboratory, School of Computer Science S E Towards Answering Opinion Questions: Separating Facts from Opinions and Identifying.
Scott Duvall, Brett South, Stéphane Meystre A Hands-on Introduction to Natural Language Processing in Healthcare Annotation as a Central Task for Development.
 Text Representation & Text Classification for Intelligent Information Retrieval Ning Yu School of Library and Information Science Indiana University.
Automatic Detection of Tags for Political Blogs Khairun-nisa Hassanali Vasileios Hatzivassiloglou The University.
Combining terminology resources and statistical methods for entity recognition: an evaluation Angus Roberts, Robert Gaizauskas, Mark Hepple, Yikun Guo.
Experiments of Opinion Analysis On MPQA and NTCIR-6 Yaoyong Li, Kalina Bontcheva, Hamish Cunningham Department of Computer Science University of Sheffield.
Introduction to GATE Developer Ian Roberts. University of Sheffield NLP Overview The GATE component model (CREOLE) Documents, annotations and corpora.
Opinion Mining of Customer Feedback Data on the Web Presented By Dongjoo Lee, Intelligent Databases Systems Lab. 1 Dongjoo Lee School of Computer Science.
©2003 Paula Matuszek Taken primarily from a presentation by Lin Lin. CSC 9010: Text Mining Applications.
A Scalable Machine Learning Approach for Semi-Structured Named Entity Recognition Utku Irmak(Yahoo! Labs) Reiner Kraft(Yahoo! Inc.) WWW 2010(Information.
TEXT ANALYTICS - LABS Maha Althobaiti Udo Kruschwitz Massimo Poesio.
Automatic Identification of Pro and Con Reasons in Online Reviews Soo-Min Kim and Eduard Hovy USC Information Sciences Institute Proceedings of the COLING/ACL.
April 2014 SEWM Event Detection from Social Media: User-centric Parallel Split-n-merge and Composite Kernel  Truc-Vien T. Nguyen, Lugano University,
Matwin Text classification: In Search of a Representation Stan Matwin School of Information Technology and Engineering University of Ottawa
Creating Subjective and Objective Sentence Classifier from Unannotated Texts Janyce Wiebe and Ellen Riloff Department of Computer Science University of.
Recognizing Stances in Online Debates Unsupervised opinion analysis method for debate-side classification. Mine the web to learn associations that are.
Semantic web Bootstrapping & Annotation Hassan Sayyadi Semantic web research laboratory Computer department Sharif university of.
Comparative Experiments on Sentiment Classification for Online Product Reviews Hang Cui, Vibhu Mittal, and Mayur Datar AAAI 2006.
Learning Subjective Nouns using Extraction Pattern Bootstrapping Ellen Riloff School of Computing University of Utah Janyce Wiebe, Theresa Wilson Computing.
Learning Extraction Patterns for Subjective Expressions 2007/10/09 DataMining Lab 안민영.
From Words to Senses: A Case Study of Subjectivity Recognition Author: Fangzhong Su & Katja Markert (University of Leeds, UK) Source: COLING 2008 Reporter:
Virtual Examples for Text Classification with Support Vector Machines Manabu Sassano Proceedings of the 2003 Conference on Emprical Methods in Natural.
Machine Learning in GATE Valentin Tablan. 2 Machine Learning in GATE Uses classification. [Attr 1, Attr 2, Attr 3, … Attr n ]  Class Classifies annotations.
Learning Event Durations from Event Descriptions Feng Pan, Rutu Mulkar, Jerry R. Hobbs University of Southern California ACL ’ 06.
Lecture: Sentiment Analysis Krista Lagus Statistical Natural Language Processing course at Aalto
Twitter as a Corpus for Sentiment Analysis and Opinion Mining
Multi-Class Sentiment Analysis with Clustering and Score Representation Yan Zhu.
Knowledge and Information Retrieval Dr Nicholas Gibbins 32/4037.
Using Human Language Technology for Automatic Annotation and Indexing of Digital Library Content Kalina Bontcheva, Diana Maynard, Hamish Cunningham, Horacio.
A Document-Level Sentiment Analysis Approach Using Artificial Neural Network and Sentiment Lexicons Yan Zhu.
University of Sheffield NLP Sentiment Analysis (Opinion Mining) with Machine Learning in GATE.
Kim Schouten, Flavius Frasincar, and Rommert Dekker
Sentiment analysis algorithms and applications: A survey
Memory Standardization
Supervised Machine Learning
MID-SEM REVIEW.
An Ontology-Enhanced Hybrid Approach to Aspect-Based Sentiment Analysis Daan de Heij, Artiom Troyanovsky, Cynthia Yang, Milena Zychlinsky Scharff, Kim.
CS246: Information Retrieval
Using Uneven Margins SVM and Perceptron for IE
Ontology-Enhanced Aspect-Based Sentiment Analysis
Presentation transcript:

University of Sheffield NLP 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?)

University of Sheffield NLP Extract Factual Data with Information Extraction from Company Web Site Extract Opinions using Opinion Mining from Web Fora

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…

University of Sheffield NLP Opinions on the Web sentiment opinion

University of Sheffield NLP positive opinions negative opinions negative opinion, but less evident

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

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

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

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

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

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,…

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

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) CatWNT #posnegsynonyms a good well a good unspoilt unspoiled a good a bad spoilt spoiled

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

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)

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, …

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

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

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

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)

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

University of Sheffield NLP Modify the classification probabilities and margins in the configuration file, and observe their effects on the results. Exercise 3

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