the first modifier is that most often there is just one
modifier and if there are more, chances are that the
other ones are either negation or already added
modifiers.
OW Without Modifiers
If a seed word is unmodified, the strategy extracts it
and assigns its polarity from the polarity lexicon.
Assign Scores to Tuples
This step performs an initial assignment of scores to
all opinion words and their targets that can be
matched (the same scores as the scores of their
corresponding seed words). Our approach ensures
that all tuples are matched (as the list of seed words is
the same with the list of OW). To accurately perform
this step, we propose the use of the following rules:
(i) Preserve the exact modifier rule: Only assign
scores from seeds with modifiers to tuples having the
same modifier. This rule prevents inconsistent
polarities between different modifiers as very
conveys a different strength than extremely. (ii)
Handle unmodified OW rule: Only assign polarities
from unmodified seeds to unmodified tuples. By
applying a modifier to an opinion word, its polarity is
changed. Because targets and their opinion words
have the same polarity, we cannot assign polarities
from modified seed words to unmodified tuples
because their meaning will change.
Propagate Scores
Score propagation uses the same algorithm as the
second module, called the Double Propagation
algorithm (Liu, 2012) and adapted to our rules (Suciu
et al, 2014). This is an algorithm proven to work very
well with seed words. The same propagation
algorithm is used for score propagation as well.
Consider we have a seed word perfect with a polarity
of 0.8. By propagating it throughout the corpus, we
find the tuple perfect sound. As we already know that
perfect has a polarity of 0.8, both the opinion word of
the tuple, perfect, and the target sound are assigned a
polarity of 0.8, thus increasing the knowledge base.
After further steps, we get to the target sound which
has an already known polarity. We can thus propagate
it and find a match for nicest sound. Suppose both
these words are unassigned. Then, the 0.8 polarity is
assigned to both the newly found sound target and to
the nicest opinion word. So we now know that nicest
also has a value of 0.8 and use this info to propagate
its polarity furthermore. We call this mechanism the
opinion word/target polarity propagation.
To ensure consistency, the same unmodified
target should have the same polarity throughout a
corpus. This makes sense as we are interested in
aspect-based opinion mining and we have to consider
the overall opinion for a certain target. To accomplish
this, we established the following propagation rules:
(i) When a modified tuple is propagating its score and
it finds the same unmodified tuple, both keep their
polarities, (ii) When a modified tuple matches another
modified tuple that does not have the same modifier,
both keep their polarities, (iii) When a modified tuple
matches another modified tuple that has the same
modifier, their scores are averaged; (iv) When a non-
modified tuple matches a modified tuple, both keep
their polarities; (v) When a non-modified tuple
matches a non-modified tuple, their scores are
averages; (vi) When there is a negation present,
simply flip the polarity by -1. After going through all
the steps, the assigned tuples are passed to the
Polarity summarization sub module (Figure 1) to
produce a meaningful output. This includes an
average polarity for the entire corpus, a polarity
distribution chart and the possibility to find the
average polarity for a given target. There are two
different evaluations of the system: one for the
Feature-opinion pair identification module and one
for the Polarity Aggregator module. The Feature-
opinion pair identification module uses manual
annotations described in more detail in (Suciu et al,
2014), while the last module uses a custom adaptation
of the data set. The two dataset files used for
evaluating the Polarity Aggregator module are
created by manually annotating opinion words and
using a tool created by us specifically for this task.
The automated annotator is a simple application that
recognizes already applied annotations and uses
SWN to retrieve polarities which it appends to the
already annotated words. It also annotates modifier
words extracted from SWN in the same manner as
presented in Section 3. The steps for the annotation
process are as follows: (i) Manually annotate opinion
words; (ii) Using an automated annotator,
automatically annotate modifiers, without scores as
the modifier score is not useful at this point, (iii)
Using an automated annotator, automatically add
polarities extracted from SWN to all manually
annotated opinion words. The extracted polarities
apply just to the opinion word and any modifier is
ignored. At this point, no modifier rule can be applied
because we would end up evaluating the same rule
used for automatic annotations and also for assigning
polarities, which would yield 100% results; (iv)
Manually analyze the given polarities and adjust if
needed by searching for the best contextual match in
SWN. Considering modifiers at this point also yields
more subjectively-accurate results.