Sentilo is an unsupervised, domain-independent
system that performs sentiment analysis by hybridising
natural language processing techniques and semantic
Web technologies. Given a sentence expressing an opinion,
Sentilo recognises its holder, detects the topics and subtopics
that it targets, links them to relevant situations and
events referred by it and evaluates the sentiment expressed on each topic/subtopic. Sentilo relies on a novel
lexical resource, which enables a proper propagation of
sentiment scores from topics to subtopics, and on a formal
model expressing the semantics of opinion sentences.
Sentilo provides its output as a RDF knowledge graph, and whenever possible it resolves holders’ and topics’ identity on Linked Open Data.
2. Aldo Gangemi, Valentina Presutti, Diego Reforgiato Recupero:
Frame-Based Detection of Opinion Holders and Topics: A Model and a Tool.
IEEE Comp. Int. Mag. 9(1): 20-30 (2014)
Diego Reforgiato Recupero, Valentina Presutti, Sergio Consoli, Aldo Gangemi,
Andrea Giovanni Nuzzolese:
Sentilo: Frame-Based Sentiment Analysis. Cognitive Computation 7(2): 211-
225 (2015)
3. The talk is about
• Opinion modeling
• Sentiment analysis
• Indirect sentiment analysis
• Frames as sentiment interpretation context
• Sensitivity and factual impact: attributes of thematic
roles as parameter for sentiment computation
• Ontologies, tools, resources
4. What’s an opinion
An intentional statement by somebody (holder) on some fact
(topic) that is expressed with a possible sentiment
5. More formally
The goal of Sentiment Analysis is to detect quintuples
(ej, ajk, soijkl, hi, tl) from unstructured text, where an
opinion is a quintuple [1,2]:
(ej, ajk, soijkl, hi, tl)
where:
ej is a target entity
ajk is an aspect/feature of the entity ej
soijkl is the sentiment value of the opinion from opinion holder hi on aspect ajk of entity
ej at time tl. soijkl is positive, negative or neutral, or a rating
hi is an opinion holder.
tl is the time when the opinion is expressed.
[1] “Sentiment Analysis and Subjectivity”. Bing Liu. Handbook of Natural Language Processing, 2010.
[2] “Sentiment Analysis and Opinion Mining”. Bing Liu. Morgan & Claypool Publishers. May 2012
6. Sentiment analysis
• To extract opinions from text
• To recognise the attitude (positive, negative or
objective) of an opinion holder on a certain topic
• To evaluate the overall tonality of a document
• Document- or sentence-based
7. Semantics into Sentiment Analysis
• Traditional approaches hardly cope with subtle linguistic forms,
combined and concurrent positive/negative opinions, and implicit
judgements
• The literature shows evidence that the inclusion of semantic
features in sentiment analysis algorithms improves their overall
performance, e.g. [3]
• Linked data, ontologies, controlled vocabularies, and lexical
resources help aggregating the conceptual and affective
information associated with natural language opinions
[3] “Semantic Sentiment Analysis of Twitter”, H. Saif, Y. He, and H. Alani, Boston, UA, pp. 508–524, 2012. Springer.
8. Implicit and indirect sentiment analysis
“People hope that The President will be condemned.”
9. Implicit and indirect sentiment analysis
“People hope that The President will be condemned.”
10. Implicit and indirect sentiment analysis
“People hope that The President will be condemned.”
11. Implicit and indirect sentiment analysis
“People hope that The President will be condemned.”
triggering events
opinion holders
main topics
subtopics
indirect impact of sentiment on subtopics
12. http://wit.istc.cnr.it/stlab-tools/sentilo/
Aldo Gangemi, Valentina Presutti, Diego Reforgiato Recupero:
Frame-Based Detection of Opinion Holders and Topics: A Model and a Tool. IEEE Comp. Int. Mag. 9(1): 20-30 (2014)
Diego Reforgiato Recupero, Valentina Presutti, Sergio Consoli, Aldo Gangemi, Andrea Giovanni Nuzzolese:
Sentilo: Frame-Based Sentiment Analysis. Cognitive Computation 7(2): 211-225 (2015)
13. What’s behind Sentilo
• Neo-davidsonian assumption: events and situations
are primary entities for contextualising opinions
• Frames: as reference models for formally
representing opinionated text
• OntoSentilo: an ontology for opinion sentences
• Levinopinion: a revision of Levin’s classification of verbs
for the opinion and sentiment analysis task
• SentiloNet: a resource of ~1000 annotated verbal
frames with role sensitivity and factual impact
15. Frame-based representation of text (FRED)
“People hope that The President will be condemned by the judge.”
http://wit.istc.cnr.it/stlab-tools/fred [4]
[4] “Semantic Web machine reading with FRED”, A. Gangemi, V. Presutti, D. Reforgiato Recupero,
A. G. Nuzzolese, F. Draicchio, M.Mongiovì, Semantic Web journal, to appear.
19. Levinopinion
Verbs such as accept, agree,
think, say, tell, etc. that
indicate the presence of an
opinion holder who is the
subject of the underlying
verb.
Verbs such as contest,
disagree, dismiss, oppose,
etc. that indicate the
presence of an opinion
holder, who is the subject
of the underlying
verb; subjects of such
verbs have an opinion
which is in contrast with
whatever is expressed in
the opinionated context.
Verbs such as dislike, hate,
etc. These verbs indicate
the presence of an opinion
holder expressing a
negative sentiment on
some topic(s). This
class of verbs is equivalent
to the previous one when
a negation occurs.
Verbs such as love, like,
honor, support, etc. These
verbs indicate the presence
of an opinion holder
expressing a positive
sentiment on some topic(s).
“The commission agreed on a proposal to limit imports”
“I support the cause”
“A majority of the electorate opposed EC membership.”
“He hates flying”
21. Topic detection
• Two equivalence classes of VerbNet roles
• AGNT: all agentive roles
• PTNT: all passive roles
• Main topics: all PTNT of a trigger event or (almost)
all entities having only ongoing arcs
• What about subtopics?
23. Subtopic detection: issues
• How to distinguish subtopics that are indirectly
affected by an opinion from those that are not?
• How to evaluate the polarity of the sentiment
indirectly expressed on them?
24. Specialising dependsOn
• sentilo:participatesIn: all potential subtopics. Entities involved in
dul:Situation or playing a role in a dul:Event, when they are MainTopic
• sentilo:playsSensitiveRole: connects a main topic to a subtopic, meaning that
the latter may be indirectly affected by an opinion expressed on the former
• sentilo:isPositivelyAffectedBy: a sensitive subtopic that will inherit the same
sentiment of its main topic
• sentilo:isNegativelyAffectedBy: a sensitive subtopic that will inherit the
opposite sentiment of its main topic
26. SentiloNet
• Role sensitivity:
• A role is sensitive with respect to an event if it is
indirectly affected by an opinion (directly)
expressed on the event.
• Sensitivity is an attribute of semantic roles. It can be
true or false.
27. SentiloNet
• Factual Impact:
• Indicates that an event has an expected impact on
the player of a specific role.
• It is an attribute of sensitive roles: It takes either a
positive or a negative value.
28. SentiloNet examples
Verb S-AGNT S-PTNT F-AGNT FPTNT
abandon F T neg
achieve T T pos pos
condemn F T neg
http://www.stlab.istc.cnr.it/documents/sentilo/sentilonet.zip
29. Potential subtopics,
sensitive roles and factual impact
1100 annotated verbs with values for sensitivity and
factual impact for all roles in AGNT and PTNT roles
“People hope that The President will be condemned by the judge.”
30. Sentiment propagation
topic
Combined score
from Sentic.net and
SentiWordNet
t dul:hasQuality qi
t rdf:type typei(t)
t boxing:hasTruthValue fred:False
t boxing:hasTruthValue fred:True
opinion trigger verb
possible context of t
a situation or an event
in which t participates
modality of t
31. Combined individual sentiment score
SentiWordNet: http://sentiwordnet.isti.cnr.it
SenticNet: http://sentic.net
• dul:hasQuality, dul:Event (sentilo:hasOpinionTrigger)
• SenticNet provides only one value per word (if any), SentiWordNet
provides one value per sense
• Disambiguating is time-consuming
• We combine the SentiWordNet score for the most frequent senses with
SenticNet score using a simple heuristics
32. Combined individual sentiment score
• Sort all most frequently used senses for a word w in
decreasing order of frequency
• Keep in the list of most frequent senses for w only
those senses that have a frequency higher than 10%
of the previous one
• Retrieve all SentiWordNet scores for selected
senses and compute their average sWN
• Retrieve the SenticNet score sNet for w
• Compute the average between sWN and sNet
37. Correlation tests
• Overall sentence sentiment polarity
• Open rating user reviews (TripAdvisor)
• Randomly selected 50 positive and 50 negative
reviews and computed correlation
38. Conclusion and Open issues
We discussed
• Importance of cognitive approach to sentiment analysis: indirect/implicit sentiment
• Frame representations are powerful for interpreting opinion contexts
• Sentilo, Levinopinion, SentiloNet
We are looking forward
• To investigate how this approach may work for aspect-based sentiment analysis
• To investigate how this approach may work for detecting irony and sarcasm
• To exploit additional resources, e.g. Framester, which includes DepecheMood and
relations among frames
39. References
In academic publication, as reference to Sentilo please cite:
Aldo Gangemi, Valentina Presutti, Diego Reforgiato Recupero: Frame-
Based Detection of Opinion Holders and Topics: A Model and a Tool. IEEE
Comp. Int. Mag. 9(1): 20-30 (2014)
Diego Reforgiato Recupero, Valentina Presutti, Sergio Consoli, Aldo
Gangemi, Andrea Giovanni Nuzzolese: Sentilo: Frame-Based Sentiment
Analysis. Cognitive Computation 7(2): 211-225 (2015)
As reference to FRED please cite:
“Semantic Web machine reading with FRED”, A. Gangemi, V. Presutti, D.
Reforgiato Recupero, A. G. Nuzzolese, F. Draicchio, M.Mongiovì, Semantic
Web journal, to appear.
40. References
Other relevant references related to the FRED project:
Aldo Gangemi, Andrea G. Nuzzolese, Valentina Presutti, and Diego Reforgiato Recupero. Adjective semantics in open
knowledge extraction. In FOIS 2016, pp.167-180. http://ebooks.iospress.nl/volumearticle/44244. DOI: 10.3233/978-1-61499-
660-6-167
Aldo Gangemi: A Comparison of Knowledge Extraction Tools for the Semantic Web. ESWC 2013: 351-366.
https://link.springer.com/chapter/10.1007/978-3-642-38288-8_24. DOI: 10.1007/978-3-642-38288-8_24
Valentina Presutti, Francesco Draicchio, and Aldo Gangemi. Knowledge extraction based on discourse representation theory
and linguistic frames. EKAW 2012. https://link.springer.com/chapter/10.1007%2F978-3-642-33876-2_12.DOI:10.1007/978-3-
642-33876-2_12 .
Valentina Presutti, Andrea Giovanni Nuzzolese, Sergio Consoli, Aldo Gangemi, Diego Reforgiato Recupero: From hyperlinks
to Semantic Web properties using Open Knowledge Extraction. Semantic Web 7(4): 351-378 (2016).
http://content.iospress.com/articles/semantic-web/sw221. DOI: 10.3233/SW-160221
Aldo Gangemi, Andrea Giovanni Nuzzolese, Valentina Presutti, Francesco Draicchio, Alberto Musetti, Paolo Ciancarini:
Automatic Typing of DBpedia Entities. International Semantic Web Conference (1) 2012: 65-81.
https://link.springer.com/chapter/10.1007/978-3-642-35176-1_5. DOI: 10.1007/978-3-642-35176-1_5
Misael Mongiovì, Diego Reforgiato Recupero, Aldo Gangemi, Valentina Presutti, Sergio Consoli: Merging open knowledge
extracted from text with MERGILO. Knowl.-Based Syst. 108: 155-167 (2016).
http://www.sciencedirect.com/science/article/pii/S0950705116301034
41. References
Other relevant references
“Sentiment Analysis and Subjectivity”. Bing Liu. Handbook of Natural
Language Processing, 2010.
“Sentiment Analysis and Opinion Mining”. Bing Liu. Morgan & Claypool
Publishers. May 2012
“Semantic Sentiment Analysis of Twitter”, H. Saif, Y. He, and H. Alani,
Boston, UA, pp. 508–524, 2012. Springer.