sentiment propagation via implicature constraints intelligent systems program, department of...

1
Sentiment Propagation via Implicature Constraints Intelligent Systems Program, Department of Computer Science University of Pittsburgh Lingjia Deng, Janyce Wiebe Work in opinion mining and sentiment analysis tends to focus on explicit expressions of opinions. Consider this sentence: The reform could curb the skyrocketing healthcare costs. Explicit sentiment: negative toward the skyrocketing healthcare costs Implicit sentiment: positive toward the curb event (because it is decreasing the cost) positive toward the reform (because it initiates the curb event) We propose four implicature rules for sentiment inference, encoded in a graph-based model to achieve sentiment propagation. The model itself has a 89% chance of propagating sentiment correctly. In the graph, each node represents an annotated noun phrase agent or object span. An edge connects two nodes if they participate in a gfbf event. Each node i has a positive and negative sentiment score: Φ i (pos), Φ i (neg), assigned by explicit sentiment classifier. Each edge has four scores: if goodFor, Ψ ij (pos, pos) = Ψ ij (neg, neg) = 1 if badFor, Ψ ij (neg, pos) = Ψ ij (pos, neg) = 1 Each node propagates “sentiment message” to its neighbor nodes: m ij (pos), m ij (neg), defined by Φ i Ψ ij , and the sentiment message propagated by its other neighbors m ki . After propagation, the sentiment score of each node consists (1) explicit sentiment Φ i (2) propagated sentiment m ki . We use 125 documents from the corpus of (Dent et al., 2013), which provides gfbf annotations. Baseline: Explicit sentiment classifier majority voting by five available, widely-used resources a simple discourse heuristics Accurac y Precisi on Recal l Majority (positive) 0.5438 0.5621 0.544 3 Explicit 0.3703 0.5698 0.370 3 LBP 0.5412 0.6660 0.541 9 Assign the gold standard polarity to an arbitrary node, and conduct LBP on the graph. Run this experiment on each node in the graph. For node a, if there are S nodes in the same graph with it, node a is given gold standard label once and is propagated for S-1 times. correctness(a) = (# times propagated correctly) / (S-1) Rule1 sent(gfbf event) sent(object) Rule1.1 sent(goodFor) = pos sent(object) = pos Rule1.2 sent(goodFor) = neg sent(object) = neg Rule1.3 sent(badFor) = pos sent(object) = neg Rule1.4 sent(badFor) = neg sent(object) = pos Rule2 sent(object) sent(gfbf event) Rule2.1 sent(object) = pos sent(goodFor) = pos Rule2.2 sent(object) = neg sent(goodFor) = neg Rule2.3 sent(object) = pos sent(badFor) = neg Rule2.4 sent(object) = neg sent(badFor) = pos Rule3: sent(gfbf event) sent(agent) 3.1 sent(goodFor) = pos sent(agent) = pos 3.2 sent(goodFor) = neg sent(agent) = neg 3.3 sent(badFor) = pos sent(agent) = pos 3.4 sent(badFor) = neg sent(agent) = neg Rule4: sent(agent) sent(gfbf event) 4.1 sent(agent) = pos sent(goodFor) = # subgraph average correctnes s all subgraphs 983 0.8874 multi-node subgraphs 169 0.9030 CONTACT: Janyce Wiebe, [email protected] MOTIVATION AND INTRODUCTION THE GRAPH-BASED MODEL BASELINE, EVALUATION AND PERFORMANCE CAPABILITY OF GRAPH MODEL ITSELF IMPLICATURE RULES

Upload: arnold-sullivan

Post on 17-Dec-2015

216 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Sentiment Propagation via Implicature Constraints Intelligent Systems Program, Department of Computer Science University of Pittsburgh Lingjia Deng, Janyce

Sentiment Propagation via Implicature Constraints

Intelligent Systems Program, Department of Computer ScienceUniversity of Pittsburgh

Lingjia Deng, Janyce Wiebe

Work in opinion mining and sentiment analysis tends to focus on explicit expressions of opinions.

Consider this sentence: The reform could curb the skyrocketing

healthcare costs. Explicit sentiment:

negative toward the skyrocketing healthcare costs Implicit sentiment:

positive toward the curb event (because it is decreasing the cost)

positive toward the reform (because it initiates the curb event)

We propose four implicature rules for sentiment inference, encoded in a graph-based model to achieve sentiment propagation. The model itself has a 89% chance of propagating sentiment correctly.

In the graph, each node represents an annotated noun phrase agent or object span. An edge connects two nodes if they participate in a gfbf event.

Each node i has a positive and negative sentiment score: Φi(pos), Φi(neg), assigned by explicit sentiment classifier.

Each edge has four scores: if goodFor, Ψij(pos, pos) = Ψij(neg, neg) = 1 if badFor, Ψij(neg, pos) = Ψij(pos, neg) = 1

Each node propagates “sentiment message” to its neighbor nodes: mij(pos), mij(neg), defined by Φi Ψij, and the sentiment message propagated by its other neighbors mki .

After propagation, the sentiment score of each node consists (1) explicit sentiment Φi (2) propagated sentiment mki .

We use 125 documents from the corpus of (Dent et al., 2013), which provides gfbf annotations.

Baseline: Explicit sentiment classifier majority voting by five available, widely-used

resources a simple discourse heuristics

Accuracy Precision RecallMajority (positive) 0.5438 0.5621 0.5443Explicit 0.3703 0.5698 0.3703LBP 0.5412 0.6660 0.5419

Assign the gold standard polarity to an arbitrary node, and conduct LBP on the graph.

Run this experiment on each node in the graph.

For node a, if there are S nodes in the same graph with it, node a is given gold standard label once and is propagated for S-1 times.

correctness(a) = (# times propagated correctly) / (S-1)

This shows the graph model will propagate to assign the unknown nodes with correct labels 89% of the time.

Rule1 sent(gfbf event) sent(object) Rule1.1 sent(goodFor) = pos sent(object) =

pos Rule1.2 sent(goodFor) = neg sent(object) =

neg Rule1.3 sent(badFor) = pos sent(object) =

neg Rule1.4 sent(badFor) = neg sent(object) =

pos

Rule2 sent(object) sent(gfbf event) Rule2.1 sent(object) = pos sent(goodFor) =

pos Rule2.2 sent(object) = neg sent(goodFor) =

neg Rule2.3 sent(object) = pos sent(badFor) =

neg Rule2.4 sent(object) = neg sent(badFor) =

pos

Rule3: sent(gfbf event) sent(agent) 3.1 sent(goodFor) = pos sent(agent) = pos 3.2 sent(goodFor) = neg sent(agent) = neg 3.3 sent(badFor) = pos sent(agent) = pos 3.4 sent(badFor) = neg sent(agent) = neg

Rule4: sent(agent) sent(gfbf event) 4.1 sent(agent) = pos sent(goodFor) = pos 4.2 sent(agent) = neg sent(goodFor) = neg 4.3 sent(agent) = pos sent(badFor) = pos 4.4 sent(agent) = neg sent(badFor) = neg

Regardless of the writer’s sentiment toward the event,

if the event is goodFor, then the writer’s sentiment toward the agent and object are the same,

if the event is badFor, the writer’s sentiment toward the agent and object are opposite.

# subgraph averagecorrectness

all subgraphs 983 0.8874multi-node subgraphs 169 0.9030

CONTACT: Janyce Wiebe, [email protected]

MOTIVATION AND INTRODUCTION THE GRAPH-BASED MODEL

BASELINE, EVALUATION AND PERFORMANCE

CAPABILITY OF GRAPH MODEL ITSELF

IMPLICATURE RULES