Home Teaching CV Contact

Joint Aspect and Polarity Classification for Aspect-based Sentiment Analysis with End-to-End Neural Networks

Martin Schmitt, Simon Steinheber, Konrad Schreiber, Benjamin Roth

martin@cis.lmu.de

TL;DR → jump to contributions

Task Definition

Given a set of aspect categories \(A\) and a text:

  1. What aspects \( a \in A\) are mentioned? (aspect detection)
  2. What is the text's sentiment with regard to each of them? (polarity classification)

Approaches:

Pipeline:
   
Use results of (1) as input for (2)
End-to-end:
   
Solve (1) and (2) jointly

Data

General61.5% Atmosphere6.1% Design0.2% Gastronomic offer0.2%
Information1.7% Website1.0% Comfort0.7% Customer Support2.4%
Connectivity1.5% Luggage0.1% Occupancy1.3% Ticket purchase3.0%
Toilets0.2% Punctuality7.1% Accessibility 0.3% Security2.2%
Image 0.2% QR code < 0.1% Traveling with children0.2%

Example

German: Alle so "Yeah, Streik beendet" Bahn so "Okay, dafür werden dann natürlich die Tickets teurer" Alle so "Können wir wieder Streik haben?"

Translation: Everybody's like "Yeah, strike's over" Bahn goes "Okay, but therefore we're going to raise the prices" Everybody's like "Can we have the strike back?"


Detected Aspect
   
Corresponding Polarity
Ticket purchase
   
negative
General
   
positive

Joint Model Architecture

end-to-end model architecture for solving aspect detection and polarity classification jointly
\begin{align} \mathbf{v} &= \textit{Dropout}(\textit{CNN}(\textit{embed}(X)))\\[0.5em] \hat{y}^{(a)} &= \textit{softmax}(W^{(a)} \mathbf{v} + b^{(a)})\\[0.5em] {L}(\theta) &= \sum_{a\in A} ~ H(y^{(a)},~ \hat{y}^{(a)}) \end{align}

Model Comparison

dev test 1 test 2
Pipeline LSTM + word2vec .350 .297 .342
End-to-end LSTM + word2vec .378 .315 .383
Pipeline CNN + word2vec .350 .298 .343
End-to-end CNN + word2vec .400 .319 .388
Pipeline LSTM + glove .350 .297 .342
End-to-end LSTM + glove .378 .315 .384
Pipeline CNN + glove .350 .298 .342
End-to-end CNN + glove .415 .315 .390
Pipeline LSTM + fasttext .350 .297 .342
End-to-end LSTM + fasttext .378 .315 .384
Pipeline CNN + fasttext .342 .295 .342
End-to-end CNN + fasttext .511 .423 .465
majority class baseline - .315 .384
GermEval baseline - .322 .389
GermEval best submission - .354 .401

Table 1: Micro-averaged F1-scores for aspect + sentiment task

More results in the paper!

Contributions and Results

  1. Joint model of aspect detection and polarity classification performs better than pipeline systems
  2. Subword information is important for embedding learning (especially for German)
  3. New state of the art in aspect-based sentiment classification without given gold aspects