An Ontology-Enhanced Hybrid Approach to Aspect-Based Sentiment Analysis Daan de Heij, Artiom Troyanovsky, Cynthia Yang, Milena Zychlinsky Scharff, Kim.

Slides:



Advertisements
Similar presentations
Farag Saad i-KNOW 2014 Graz- Austria,
Advertisements

Machine learning continued Image source:
© author(s) of these slides including research results from the KOM research network and TU Darmstadt; otherwise it is specified at the respective slide.
Sentiment Analysis An Overview of Concepts and Selected Techniques.
Jean-Eudes Ranvier 17/05/2015Planet Data - Madrid Trustworthiness assessment (on web pages) Task 3.3.
ReQuest (Validating Semantic Searches) Norman Piedade de Noronha 16 th July, 2004.
Text Mining: Finding Nuggets in Mountains of Textual Data Jochen Dijrre, Peter Gerstl, Roland Seiffert Presented by Drew DeHaas.
Opinion mining in social networks Student: Aleksandar Ponjavić 3244/2014 Mentor: Profesor dr Veljko Milutinović.
Thien Anh Dinh1, Tomi Silander1, Bolan Su1, Tianxia Gong
Query Rewriting Using Monolingual Statistical Machine Translation Stefan Riezler Yi Liu Google 2010 Association for Computational Linguistics.
Automatic Detection of Tags for Political Blogs Khairun-nisa Hassanali and Vasileios Hatzivassiloglou Human Language Technology Research Institute The.
Automatic Detection of Tags for Political Blogs Khairun-nisa Hassanali Vasileios Hatzivassiloglou The University.
Learning from Multi-topic Web Documents for Contextual Advertisement KDD 2008.
TEXT ANALYTICS - LABS Maha Althobaiti Udo Kruschwitz Massimo Poesio.
BOĞAZİÇİ UNIVERSITY DEPARTMENT OF MANAGEMENT INFORMATION SYSTEMS MATLAB AS A DATA MINING ENVIRONMENT.
Of 33 lecture 1: introduction. of 33 the semantic web vision today’s web (1) web content – for human consumption (no structural information) people search.
Text Annotation By: Harika kode Bala S Divakaruni.
Multimedia Analytics Jianping Fan Department of Computer Science University of North Carolina at Charlotte.
Musical Genre Categorization Using Support Vector Machines Shu Wang.
Advanced Gene Selection Algorithms Designed for Microarray Datasets Limitation of current feature selection methods: –Ignores gene/gene interaction: single.
Sentiment Analysis Using Common- Sense and Context Information Basant Agarwal 1,2, Namita Mittal 2, Pooja Bansal 2, and Sonal Garg 2 1 Department of Computer.
Multi-Class Sentiment Analysis with Clustering and Score Representation Yan Zhu.
Short Text Similarity with Word Embedding Date: 2016/03/28 Author: Tom Kenter, Maarten de Rijke Source: CIKM’15 Advisor: Jia-Ling Koh Speaker: Chih-Hsuan.
High resolution product by SVM. L’Aquila experience and prospects for the validation site R. Anniballe DIET- Sapienza University of Rome.
Introducing Precictive Analytics
Oracle Advanced Analytics
You Can’t Afford to be Late!
Jonatas Wehrmann, Willian Becker, Henry E. L. Cagnini, and Rodrigo C
4/19/ :02 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Kim Schouten, Flavius Frasincar, and Rommert Dekker
Name: Sushmita Laila Khan Affiliation: Georgia Southern University
Logistic Regression: To classify gene pairs
Sentiment analysis algorithms and applications: A survey
Aspect-Based Sentiment Analysis Using Lexico-Semantic Patterns
System for Semi-automatic ontology construction
Sentence Modeling Representation of sentences is the heart of Natural Language Processing A sentence model is a representation and analysis of semantic.
Getting Clear Insight to How Customers Think
Guangbing Yang Presentation for Xerox Docushare Symposium in 2011
Aspect-Based Sentiment Analysis on the Web using Rhetorical Structure Theory Rowan Hoogervorst1, Erik Essink1, Wouter Jansen1, Max van den Helder1 Kim.
School of Computing FACULTY OF ENGINEERING
Erasmus University Rotterdam
Perceptrons Lirong Xia.
Source: Procedia Computer Science(2015)70:
Sentiment Analyzer Using a Multi-Level Classifier
MID-SEM REVIEW.
Aspect-based sentiment analysis
Machine Learning Week 1.
Students: Meiling He Advisor: Prof. Brain Armstrong
Social Knowledge Mining
Quanzeng You, Jiebo Luo, Hailin Jin and Jianchao Yang
Learning with information of features
Ontology-Based Aspect Detection for Sentiment Analysis
CS Fall 2016 (Shavlik©), Lecture 2
Classification of class-imbalanced data
iSRD Spam Review Detection with Imbalanced Data Distributions
Review-Level Aspect-Based Sentiment Analysis Using an Ontology
Ontology-Driven Sentiment Analysis of Product and Service Aspects
ISWC 2013 Entity Recommendations in Web Search
Ensemble learning.
Exploring Lexico-Semantic Patterns for Aspect-Based Sentiment Analysis
Hierarchical, Perceptron-like Learning for OBIE
Deep SEARCH 9 A new tool in the box for automatic content classification: DS9 Machine Learning uses Hybrid Semantic AI ConTech November.
MAS 622J Course Project Classification of Affective States - GP Semi-Supervised Learning, SVM and kNN Hyungil Ahn
Introduction to Sentiment Analysis
MIRA, SVM, k-NN Lirong Xia. MIRA, SVM, k-NN Lirong Xia.
Modeling IDS using hybrid intelligent systems
Extracting Why Text Segment from Web Based on Grammar-gram
Perceptrons Lirong Xia.
Stock Predictions Project Presentation
Ontology-Enhanced Aspect-Based Sentiment Analysis
Presentation transcript:

An Ontology-Enhanced Hybrid Approach to Aspect-Based Sentiment Analysis Daan de Heij, Artiom Troyanovsky, Cynthia Yang, Milena Zychlinsky Scharff, Kim Schouten, and Flavius Frasincar

What is sentiment analysis? Many people freely express their opinions on the Web Extract sentiment from unstructured text Useful: For consumers when making a purchase decision For producers to assess the impact of marketing campaigns, success of product launches, etc. Many companies in business analytics include some form of sentiment analysis Lexalytics, Brandwatch, startups: Wonderflow, Vita.io

Why aspect-based? Finer level of analysis Directly link expressed sentiment to actual topic or aspect Useful when topic is not known beforehand, or when there can be multiple topics Two main tasks: Aspect detection Sentiment analysis for aspects

Data Snippet <sentence id="1032695:1"> <text>Everything is always cooked to perfection , the service is excellent , the decor cool and understated .</text> <Opinions> <Opinion target="NULL" category="FOOD#QUALITY" polarity="positive" from="0" to="0"/> <Opinion target="service" category="SERVICE#GENERAL" polarity="positive" from="47" to="54"/> <Opinion target="decor" category="AMBIENCE#GENERAL" polarity="positive" from="73" to="78"/> </Opinions> </sentence>

Data Snippet <sentence id="1032695:1"> <text>Everything is always cooked to perfection , the service is excellent , the decor cool and understated .</text> <Opinions> <Opinion target="NULL" category="FOOD#QUALITY" polarity="positive" from="0" to="0"/> <Opinion target="service" category="SERVICE#GENERAL" polarity="positive" from="47" to="54"/> <Opinion target="decor" category="AMBIENCE#GENERAL" polarity="positive" from="73" to="78"/> </Opinions> </sentence>

Data Snippet <sentence id="1032695:1"> <text>Everything is always cooked to perfection , the service is excellent , the decor cool and understated .</text> <Opinions> <Opinion target="NULL" category="FOOD#QUALITY" polarity="positive" from="0" to="0"/> <Opinion target="service" category="SERVICE#GENERAL" polarity="positive" from="47" to="54"/> <Opinion target="decor" category="AMBIENCE#GENERAL" polarity="positive" from="73" to="78"/> </Opinions> </sentence>

Task: Aspect Detection Data Snippet <sentence id="1032695:1"> <text>Everything is always cooked to perfection , the service is excellent , the decor cool and understated .</text> <Opinions> <Opinion target="NULL" category="FOOD#QUALITY" polarity="positive" from="0" to="0"/> <Opinion target="service" category="SERVICE#GENERAL" polarity="positive" from="47" to="54"/> <Opinion target="decor" category="AMBIENCE#GENERAL" polarity="positive" from="73" to="78"/> </Opinions> </sentence> Task: Aspect Detection

Data Snippet <sentence id="1032695:1"> <text>Everything is always cooked to perfection , the service is excellent , the decor cool and understated .</text> <Opinions> <Opinion target="NULL" category="FOOD#QUALITY" polarity="positive" from="0" to="0"/> <Opinion target="service" category="SERVICE#GENERAL" polarity="positive" from="47" to="54"/> <Opinion target="decor" category="AMBIENCE#GENERAL" polarity="positive" from="73" to="78"/> </Opinions> </sentence>

Our Task: Sentiment Analysis for Aspects Data Snippet <sentence id="1032695:1"> <text>Everything is always cooked to perfection , the service is excellent , the decor cool and understated .</text> <Opinions> <Opinion target="NULL" category="FOOD#QUALITY" polarity="positive" from="0" to="0"/> <Opinion target="service" category="SERVICE#GENERAL" polarity="positive" from="47" to="54"/> <Opinion target="decor" category="AMBIENCE#GENERAL" polarity="positive" from="73" to="78"/> </Opinions> </sentence> Our Task: Sentiment Analysis for Aspects

Motivation and Setup

Why use external knowledge? Using external knowledge alleviates the need for data Good for resource sparse languages / domains Use machine learning for its high performance Our setup: Use linear SVM Basic linguistic features (lemmas/synsets) Add features and/or adjust feature weights based on external knowledge

Ontology Snippet 5:00

Setup for Aspect Sentiment Classification Single linear multiclass SVM to find positive, neutral, and negative Input features: Bag-of-Words Stanford sentiment tool and NRC sentiment word list to get a sentiment value of each word Ontology concepts

Three different ontology scenarios We find a generally positive/negative word, which can apply to any aspect We find a sentiment word that is limited to a certain concept in the ontology. Only aspects related to that class can be associated with that sentiment word We find a sentiment word that is not limited to a single concept, but may have different sentiment values depending on which concept it is applied to (small price vs. small portions) If the word is syntactically related to the aspect word, a new concept is created, that is the subclass of both the sentiment concept and the aspect concept, possibly triggering an axiom

Axioms Are combinations of a sentiment concept and an aspect concept Each combination is specified to be positive or negative When an axiom is triggered, the Positive or Negative class is added as an active feature in the feature vector

Results

Aspect Sentiment Classification p-values of two-sided paired t-test Results Average over 10 runs with 10-fold cross-validation Aspect Sentiment Classification p-values of two-sided paired t-test Avg. F1 St.dev. base +S +O B 0.7555 0.0412 S 0.7569 0.0305 0.8894 BO 0.7715 0.0405 0.0034 0.1018 SO 0.7813 0.0373 0.0039 0.0070 0.1364

Results Single run on training and test data Aspect Sentiment Classification In-sample F1 (on training data) Out-of-sample F1 (on test data) B 0.8839 0.7835 S 0.8448 0.7905 BO 0.8823 0.8079 SO 0.8420 0.8068

Data size sensitivity analysis Keep the test set the same Use only n% of available training data Set n to 10:100 with step size 10 Performed for both aspect detection and aspect sentiment classification

Conclusions & Future Work

Conclusions External knowledge improves aspect-based sentiment analysis Better overall performance Less data is needed when using ontology Ontology coverage is important

Future Work Include more sentiment expressions Improve reasoning Investigate best way to combine sentiment and distance information Automate ontology population

Discussion

Bonus slides: Data Analysis

Natural Language Processing

Aspect Statistics

Aspect Statistics

Sentiment Statistics

Sentiment Statistics