SlowGuess/ACL_2020_OCR huggingface dataset:
Penghui Wei, Jiahao Zhao, Wenji Mao
†SKL-MCCS, Institute of Automation, Chinese Academy of Sciences (CASIA)
$^{\ddagger}$ School of Artificial Intelligence, University of Chinese Academy of Sciences {weipenghui2016, zhaojiahao2019, wenji.mao}@ia.ac.cn
Emotion-cause pair extraction aims to extract all emotion clauses coupled with their cause clauses from a given document. Previous work employs two-step approaches, in which the first step extracts emotion clauses and cause clauses separately, and the second step trains a classifier to filter out negative pairs. However, such pipeline-style system for emotion-cause pair extraction is suboptimal because it suffers from error propagation and the two steps may not adapt to each other well. In this paper, we tackle emotion-cause pair extraction from a ranking perspective, i.e., ranking clause pair candidates in a document, and propose a one-step neural approach which emphasizes interclause modeling to perform end-to-end extraction. It models the interrelations between the clauses in a document to learn clause representations with graph attention, and enhances clause pair representations with kernel-based relative position embedding for effective ranking. Experimental results show that our approach significantly outperforms the current two-step systems, especially in the condition of extracting multiple pairs in one document.
Emotion cause analysis has attracted increasing research attention in sentiment analysis and text mining community in recent years (Lee et al., 2010a; Russo et al., 2011; Neviarouskaya and Aono, 2013; Ghazi et al., 2015; Gui et al., 2016). Its goal is to detect causes or stimuli for a certain emotion expressed in text. Understanding why an emotion occurs has broad applications such as consumer review mining and public opinion monitoring.
Previous studies mostly focus on emotion cause extraction task which aims to identify cause(s) for a given emotion. Xia and Ding (2019) pointed out that this setting ignores the mutual indication of emotions and causes, and the need of emotion anno
tation in advance restricts the range of applications. To overcome such limitations, they put forward a new research task named emotion-cause pair extraction, aiming to extract all emotion expression clauses coupled with their causes from a given document. As shown in the following example, an emotion clause  $c_3$  and its corresponding cause clause  $c_2$  construct an emotion-cause pair  $(c_3, c_2)$ :
Example. He told us that since his illness  $(c_{1})$ , his classmates and advisors have given him much help about the schoolwork  $(c_{2})$ . He has been touched  $(c_{3})$ , and said that he will repay them  $(c_{4})$ .
Compared with emotion cause extraction, emotion-cause pair extraction is a more challenging task, because we need a comprehensive understanding of document content and structure to perform emotion-cause co-extraction and discriminate emotion-cause clause pairs from negative ones.
Xia and Ding (2019) proposed to tackle emotion-cause pair extraction using a two-step solution. At the first step, a multi-task LSTM network extracts emotion clauses and cause clauses separately. Then at the second step, a binary classifier is used to filter out negative pairs from all possible pairs. Although the two-step solution has shown its effectiveness, such pipeline-style system is suboptimal for emotion-cause pair extraction, because it is confronted with error propagation, and the two steps may not adapt to each other well.
Coherent document has an underlying structure (Mann and Thompson, 1988; Marcu, 2000) and there is a causal relationship between the two clauses of an emotion-cause pair, which distinguishes it from other non-emotion-cause pairs in the document. Thus, knowledge about the interrelations between the clauses in a document is beneficial for extracting potential emotion-cause pairs. Further, according to the cohesion and coherence of discourse (De Beaugrande and Dressler, 1981), the probability of two distant clauses containing
3171
Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, pages 3171-3181 July 5 - 10, 2020. ©2020 Association for Computational Linguistics
causal relationship is relatively small. Thus, relative position information between two clauses of a clause pair can be considered as an effective feature for emotion-cause pair extraction.
Based on the above two considerations, in this paper, we tackle emotion-cause pair extraction from a ranking perspective, i.e., ranking clause pair candidates in a given document, and propose a one-step approach which emphasizes inter-clause modeling to perform end-to-end extraction. Our approach first models the inter-clause relationships via exploiting graph attention to learn clause representations, facilitating pair extraction through capturing the latent relationship between two clauses. It then learns clause pair representations and rank these pairs to extract emotion-cause pairs. A kernel-based relative position embedding scheme is proposed to model the mutual impact among relative positions and enhance clause pair representations for effective ranking. We integrate the two components into a unified neural network, which is optimized end-to-end. Unlike the previous two-step solution, our approach can directly extract emotion-cause pairs from documents.
The main contributions of this work are summarized as follows.
- To our knowledge, we propose the first end-to-end approach for emotion-cause pair extraction, which is a unified model to tackle this task from a ranking perspective.
- Our approach emphasizes inter-clause modeling by integrating inter-clause relationship modeling and kernel-based relative position enhanced clause pair ranking.
- Experimental results demonstrate that our one-step approach significantly outperforms the current best-performing systems, especially in the condition of extracting multiple pairs in one document.
Given a document  $D = (c_{1}, c_{2}, \ldots, c_{|D|})$  where  $|D|$  is the number of clauses and the  $i$ -th clause  $c_{i} = (w_{1}^{i}, w_{2}^{i}, \ldots, w_{|c_{i}|}^{i})$  is a word sequence, our goal is to extract all emotion-cause pairs in  $D$ :
$$
\mathcal {P} = \{(c ^ {\mathrm {e m o} _ {1}}, c ^ {\mathrm {c a u} _ {1}}), (c ^ {\mathrm {e m o} _ {2}}, c ^ {\mathrm {c a u} _ {2}}), \ldots \}, \quad (1)
$$
where  $(c^{\mathrm{emoj}}, c^{\mathrm{cau_j}})$  is the  $j$ -th pair,  $c^{\mathrm{emoj}} \in D$  is an emotion clause, and  $c^{\mathrm{cau_j}} \in D$  is the corresponding cause clause. Note that an emotion may have
more than one cause, and the same cause may also become the stimulus of multiple emotions.
We propose a one-step approach named RANKCP, which ranks clause pair candidates in a document to extract emotion-cause pairs. The overall architecture is shown in Fig. 1, which consists of three components. The first component learns vector representations of clauses in a given document. The second component models the relationships between clauses to obtain better clause representations. The third component learns clause pair representations enhanced with relative position modeling, and ranks clause pair candidates to extract emotion-cause pairs.
3.1 Document Encoding
Given a document  $D = (c_{1}, c_{2}, \ldots, c_{|D|})$  composed of  $|D|$  clauses, we use a hierarchical recurrent neural network (Hierarchical RNN) to encode textual content and learn clause representations.
For each clause  $c_{i} = (w_{1}^{i}, w_{2}^{i}, \ldots, w_{|c_{i}|}^{i})$ , we use a word-level bidirectional RNN to encode its content information and obtain the clause's hidden state sequence  $(h_{1}^{i}, h_{2}^{i}, \ldots, h_{|c_{i}|}^{i})$ . An attention layer is adopted to combine them and return a state vector  $\pmb{h}^{i} = \sum_{j=1}^{|c_{i}|} \alpha_{j} \pmb{h}_{j}^{i}$  for the clause  $c_{i}$  where  $\alpha_{j} = \text{Softmax}\left(\pmb{w}_{a}^{\top} \tanh(\pmb{W}_{a} \pmb{h}_{j}^{i} + \pmb{b}_{a})\right)$  is the attention weight of the  $j$ -th word in clause  $c_{i}$ , with a multilayer perceptron (MLP) parameterized by  $W_{a}, b_{a}$  and  $w_{a}$ . Then the document  $D$ 's clause state sequence  $(h^{1}, h^{2}, \ldots, h^{|D|})$  is fed into a clause-level bidirectional RNN to produce clause representations, denoted as  $(c_{1}, c_{2}, \ldots, c_{|D|})$ .
3.2 Modeling Inter-Clause Relationships with Graph Attention Network
Knowledge about inter-clause relationships is useful for extracting emotion-cause pairs. After learning clause representations of a document, to enhance the interactions between clauses in the document, we regard the document structure as a fully-connected clause graph, and adopt graph attention network (Veličković et al., 2018) to model the inter-clause relationships.
Specifically, each node in the fully-connected graph is a clause in the document, and every two nodes have an edge. We also add a self-loop edge
$^{1}$ Pretrained BERT encoder (Devlin et al., 2019) based clause representation component is shown in Appendix A.1.
Figure 1: Overview of RANKCP, our proposed one-step approach for emotion-cause pair extraction.
to every node, because the cause clause of an emotion clause may be itself. Graph attention network propagates information among clauses by stacking multiple graph attention layers, in which each layer is to learn an updated clause representation via aggregating neighboring clauses' information using self-attention (Vaswani et al., 2017).
At the  $t$ -th graph attention layer, let  $\{h_1^{(t - 1)}, h_2^{(t - 1)}, \ldots, h_{|D|}^{(t - 1)}\}$  denote the input clause representations of this layer, where the clause representation of clause  $c_i$  is denoted as  $h_i^{(t - 1)} \in \mathbb{R}^{d_{t - 1}}$ . The graph attention mechanism operates on each clause  $c_i$  in the document via the following aggregation scheme:
$$
\boldsymbol {h} _ {i} ^ {(t)} = \operatorname {R e L U} \left(\sum_ {j \in \mathcal {N} (i)} \alpha_ {i j} ^ {(t)} \boldsymbol {W} ^ {(t)} \boldsymbol {h} _ {j} ^ {(t - 1)} + \boldsymbol {b} ^ {(t)}\right), \tag {2}
$$
where  $\pmb{h}_i^{(t)}$  is the output representation,  $\pmb{W}^{(t)}$  and  $\pmb{b}^{(t)}$  are learnable parameters, and  $\mathcal{N}(i)$  denotes the directly neighboring clauses of  $c_i$  (in our case it contains all clauses in the document). The attention weight  $\alpha_{ij}^{(t)}$  reflects the strength of aggregation level between the clause  $c_i$  and the clause  $c_j$ , which is learned by an MLP parameterized by  $\pmb{w}^{(t)}$ :
$$
e _ {i j} ^ {(t)} = \boldsymbol {w} ^ {(t) ^ {\top}} \tanh  \left(\left[ \boldsymbol {W} ^ {(t)} \boldsymbol {h} _ {i} ^ {(t - 1)}; \boldsymbol {W} ^ {(t)} \boldsymbol {h} _ {j} ^ {(t - 1)} \right]\right),
$$
$$
\alpha_ {i j} ^ {(t)} = \frac {\exp (\text {L e a k y R e L U} \left(e _ {i j} ^ {(t)}\right))}{\sum_ {k \in \mathcal {N} (i)} \exp (\text {L e a k y R e L U} \left(e _ {i k} ^ {(t)}\right))}, \tag {3}
$$
where  $[\cdot ;\cdot ]$  is concatenation. The following matrix form can describe the  $t$  -th graph attention layer:
$$
\boldsymbol {H} ^ {(t)} = \operatorname {R e L U} \left(\boldsymbol {A} ^ {(t)} \boldsymbol {H} ^ {(t - 1)} \boldsymbol {W} ^ {(t) ^ {\top}} + \boldsymbol {b} ^ {(t)}\right), \tag {4}
$$
where  $[\pmb{A}^{(t)}]_{ij} = \alpha_{ij}^{(t)}$ . The first layer's input  $\pmb{H}^{(0)} = (c_1, c_2, \dots, c_{|D|})^\top$  is the document encoder's output (see Section 3.1). By stacking  $T$  layers to model inter-clause relationships, the last layer's output is the updated clause representations  $\pmb{H}^{(T)} = (h_1, h_2, \dots, h_{|D|})^\top$ . We further adopt multi-head attention, where each head can capture a global pattern based on the order-preserving property of graph attention (Qiu et al., 2018). In practice, we add a highway connection (Srivastava et al., 2015) between every two adjacent layers to control the information flow.
Based on modeling the interactions between clauses with graph attention network composed of multiple graph attention layers, each clause representation  $h_i$  is produced by fusing other clauses' information adaptively, and the inter-clause relationships in the document can be learned sufficiently.
After obtaining updated clause representations  $\{h_i\}_{i = 1}^{|D|}$ , we feed them into two pre-output layers to predict whether a clause is an emotion/cause clause or not. Specifically, an MLP (parameterized by  $w_{\mathrm{emo}}$  and  $b_{\mathrm{emo}}$ ) with logistic function  $\sigma (\cdot)$  is used to predict the probability of a clause  $c_{i}$  being an emotion clause (denoted as  $\hat{y}_i^{\mathrm{emo}}$ ):
$$
\hat {y} _ {i} ^ {\mathrm {e m o}} = \sigma \left(\boldsymbol {w} _ {\mathrm {e m o}} ^ {\top} \boldsymbol {h} _ {i} + b _ {\mathrm {e m o}}\right). \tag {5}
$$
Similarly, the probability of a clause  $c_{i}$  being a cause clause  $(\hat{y}_{i}^{\mathrm{cau}})$  is obtained by the other layer.
3.3 Clause Pair Ranking with Kernel-based Relative Position Embedding
To extract emotion-cause pairs in an end-to-end fashion, our approach further learns clause pair rep
2We attempted to extend graph attention to a structured version, but it did not lead to improvement (see Appendix B).
resentations and rank these pairs to obtain emotion-cause pairs. Relative position between two clauses is the key to indicate emotion-cause pairs. Thus, we inject relative position information into the clause pair representation learning process via relative position embedding learning.
We hypothesize that if the relative position of two clauses is too large, the probability of their forming an emotion-cause pair is very small. Thus, given the document  $D = (c_{1},\ldots ,c_{|D|})$ , we consider each clause pair  $(c_i,c_j)$  in which the two clauses' relative position (absolute value)  $|j - i|$  is less than or equal to a certain value  $M$  as a candidate of emotion-cause pair. We construct a set of clause pair candidates from the document  $D$ :
$$
\mathcal {P} ^ {\prime} = \left\{\left(c _ {i}, c _ {j}\right) \mid - M \leq j - i \leq + M \right\}. \tag {6}
$$
Learning Clause Pair Representations
For each clause pair candidate  $p_{ij} = (c_i, c_j) \in \mathcal{P}'$ , its initialized representation is obtained by concatenating three vectors: the clause  $c_i$ 's representation  $\pmb{h}_i$ , the clause  $c_j$ 's representation  $\pmb{h}_j$ , and their relative position  $j - i$  's embedding  $\pmb{r}_{j - i}$ . We employ a one-layer MLP to learn its representation:
$$
\boldsymbol {p} _ {i j} = \operatorname {R e L U} \left(\boldsymbol {W} _ {p} \left[ \boldsymbol {h} _ {i}; \boldsymbol {h} _ {j}; \boldsymbol {r} _ {j - i} \right] + \boldsymbol {b} _ {p}\right), \tag {7}
$$
with learnable  $\pmb{W}_{p}$  and  $\pmb{b}_{p}$ . Next we introduce how to build relative position embeddings.
Vanilla relative position embedding For each relative position  $m \in \{-M, \dots, -1, 0, +1, \dots, +M\}$ , we randomly initialize the embedding  $\mathbf{r}_m$  via sampling from a uniform distribution. Then each relative position embedding is learned together with the model training process.
Kernel-based relative position embedding Beyond the above vanilla scheme where each relative position embedding is partly independent of each other, we aim to model the mutual impact among different relative positions for further improving relative position embeddings. To this end, for each relative position  $m \in \{-M, \dots, +M\}$ , we use an RBF kernel function  $\mathsf{K}_m(\cdot)$  to model the impact between  $m$  and other relative positions:
$$
\mathsf {K} _ {m} (j) = \exp \left(- \frac {(j - m) ^ {2}}{\sigma_ {\mathsf {K}} {} ^ {2}}\right), \tag {8}
$$
where  $j\in \{-M,\ldots , + M\}$  is one of possible relative position values, and  $\sigma_{\mathsf{K}}$  restricts the shape of the kernel function. Then, we enhance the vanilla
Figure 2: An example: calculating  $r_{-1}^{\prime}$  using kernel.
embedding  $\mathbf{r}_m$  by integrating other relative positions' influences:
$$
\boldsymbol {r} _ {m} ^ {\prime} = \sum_ {j = - M} ^ {+ M} \mathrm {K} _ {m} (j) \cdot \boldsymbol {r} _ {j}. \tag {9}
$$
The intuition behind it is that if  $j$  is close to  $m$ ,  $r_j$  will exert more influence on  $r_m'$  than other distant relative positions. Fig. 2 shows an illustration for  $m = -1$ . As  $\sigma_{\mathsf{K}} \to 0$ , kernel-based embeddings devolve to vanilla ones. Thus, our kernel-based embedding scheme can be regarded as a regularized version of vanilla embedding.
Ranking Clause Pairs
A ranking layer (parameterized by  $\mathbf{w}_r$  and  $b_{r}$  ) with activation function  $f_{\mathrm{act}}(\cdot)$  is adopted to produce the ranking score  $\hat{y}_{ij}$  for each clause pair candidate  $p_{ij}\in \mathcal{P}^{\prime}$
$$
\hat {y} _ {i j} = f _ {\text {a c t}} \left(\boldsymbol {w} _ {r} ^ {\top} \boldsymbol {p} _ {i j} + b _ {r}\right). \tag {10}
$$
Our network RANKCP is optimized end-to-end. The loss function for the input document  $D$  consists of the following two parts.
The first part measures the ranking scores of clause pairs. Pointwise ranking loss is defined as:
$$
\mathcal {L} _ {\text {p a i r}} = \sum_ {p _ {i j} \in \mathcal {P} ^ {\prime}} - \left(y _ {i j} \log \hat {y} _ {i j} + \left(1 - y _ {i j}\right) \log \left(1 - \hat {y} _ {i j}\right)\right), \tag {11}
$$
where  $y_{ij}\in \{0,1\}$  is the ground-truth of the clause pair  $p_{ij}$  ( $y_{ij} = 1$  means that  $p_{ij}$  is an emotion-cause pair), and  $f_{\mathrm{act}}(\cdot)$  is set to logistic function. It can also be computed by pairwise ranking loss, with a margin hyperparameter  $\gamma$ :
$$
\mathcal {L} _ {\text {p a i r}} = \sum_ {\left\{p ^ {+}, p ^ {-} \right\} \in \mathcal {P} _ {p ^ {+} \succ p ^ {-}} ^ {\prime}} \max  \left\{0, - \left(y ^ {+} - y ^ {-}\right) + \gamma \right\}, \tag {12}
$$
where the ground-truth of clause pair  $p^+$  is 1 while the ground-truth of clause pair  $p^-$  is 0 (thus  $p^+$ 's score  $y^+$  should rank higher than  $p^-$ 's score  $y^-$ ), and  $f_{\mathrm{act}}(\cdot)$  is set to tanh function.
The second part of the loss function measures the pre-output  $\hat{y}_i^{\mathrm{emo}}$  and  $\hat{y}_i^{\mathrm{cau}}$  of graph attention
# Doc. having one emotion-cause pair	1,746
# Doc. having two emotion-cause pairs	177
# Doc. having three or more emotion-cause pairs	22
Avg. of # Clause per document	14.77
Max. of # Clause per document	73
Table 1: Summary statistics of the dataset for evaluation. "Doc." is the abbreviation for "Document".
network (see Eq. 5). According to the ground-truth of clause pairs, we know whether a clause is an emotion/cause clause or not, thus we use two cross-entropy loss functions  $\mathcal{L}_{\mathrm{emo}}$  and  $\mathcal{L}_{\mathrm{cau}}$  to supervise the two pre-output predictions.
We employ the sum of the above two parts as the final loss function  $\mathcal{L}$  for the document  $D$ :
$$
\mathcal {L} = \mathcal {L} _ {\text {p a i r}} + \left(\mathcal {L} _ {\mathrm {e m o}} + \mathcal {L} _ {\mathrm {c a u}}\right). \tag {13}
$$
This forms two-level supervision for both clause representation learning and clause pair ranking.
3.5 Lexicon-based Extraction
At test time, a key problem is how to extract potential emotion-cause pairs according to the ranking scores of all pair candidates. Note that it is not easy to determine an overall threshold score that can be adopted to all documents for dividing candidates into emotion-cause pairs and negative ones.
We adopt a lexicon-based extraction scheme to obtain emotion-cause pairs from the top- $N$  ranking list  $\{p^1, p^2, \ldots, p^N\}$  of a test document. We first extract the top pair  $p^1$  (with the highest score) as an emotion-cause pair. Then, for each remaining clause pair  $p^i = (c^{i,1}, c^{i,2}) \in \{p^2, \ldots, p^N\}$ , we use a sentiment lexicon to determine whether the clause  $c^{i,1}$  contains sentiment word(s). If so, we extract the pair  $p^i$  as an emotion-cause pair. Therefore, our model is able to extract multiple emotion-cause pairs from a given document.
We conduct extensive experiments to verify the effectiveness of our proposed model RANKCP.
Dataset and Evaluation Metrics
We use the benchmark dataset released by (Xia and Ding, 2019) to conduct our experiments. This dataset is constructed based on an emotion cause extraction corpus (Gui et al., 2016) that consists of 1,945 Chinese documents from SINA NEWS website. Table 1 shows the summary statistics. In
our experiments, following the previous work, we use the same data split (10-fold cross-validation), and choose precision  $P$ , recall  $R$  and F-score  $F_{1}$  as evaluation metrics:
$$
P = \frac {\text {# c o r r e c t l y p r e d i c t e d p a i r s}}{\text {# p r e d i c t e d p a i r s}},
$$
$$
R = \frac {\# \text {c o r r e c t l y p r e d i c t e d p a i r s}}{\# \text {g r o u n d - t r u t h p a i r s}}, \tag {14}
$$
$$
F _ {1} = \frac {2 \cdot P \cdot R}{P + R}.
$$
Moreover, we also evaluate the performance on emotion clause extraction and cause clause extraction respectively. That is, we break down the emotion-cause pairs to a set of emotion clauses and a set of cause clauses, and then compute metrics for the two sets. Precision, recall and F-score are defined similar to those in Eq. 14: replacing "pairs" with "emotion clauses" or "cause clauses".
Xia and Ding (2019) proposed three two-step systems. The first step extracts emotion clauses and cause clauses separately, and the second step is a binary classifier that filters out negative pairs. Specifically, the difference of their three systems exists at the first step.
- INDEP encodes clauses with bidirectional LSTM, then uses two independently bidirectional LSTMs to extract emotion and cause clauses respectively.
- INTER-CE is different from INDEP in that it first extracts cause clauses, and then the predicted distribution is utilized as extra feature to extract emotion clauses.
- INTER-EC is similar to INTER-CE except that it first extracts emotion clauses.
For fair comparison, we adopt the same word embeddings as used in INTER-EC. We use LSTM as the RNN cell, and the dimension of clause representations is 200. We stack two graph attention layers to build the graph attention network, and we add dropout with rate 0.1 for each layer. The maximum relative position  $M$  is set to 12, and the dimension of relative position embedding is set to 50, with  $\sigma_{K} = 1$  in the RBF kernel function.
3Our implementation based on PyTorch is available at: https://github.com/Determined22/Rank-Emotion-Cause.
Approach	Emotion-Cause Pair Extraction	Emotion Clause Extraction	Cause Clause Extraction
F1	P	R	F1	P	R	F1	P	R
INDEP	0.5818	0.6832	0.5082	0.8210	0.8375	0.8071	0.6205	0.6902	0.5673
INTER-CE	0.5901	0.6902	0.5135	0.8300	0.8494	0.8122	0.6151	0.6809	0.5634
INTER-EC	0.6128	0.6721	0.5705	0.8230	0.8364	0.8107	0.6507	0.7041	0.6083
RANKCP (top-1)	0.6562	0.6910	0.6254	0.8428	0.8735	0.8146	0.6790	0.7130	0.6468
RANKCP	0.6610	0.6698	0.6546	0.8548	0.8703	0.8406	0.6824	0.6927	0.6743
We train RANKCP using Adam optimizer with 0.001 learning rate and 4 mini-batch size, and  $\ell_2$  regularization coefficient is set to 1e-5. We choose pointwise ranking loss because training with it is faster than that with pairwise loss. We use ANTUSD (Wang and Ku, 2016) as the sentiment lexicon, and the hyperparameter  $N$  is set to 3.
Results on Emotion-Cause Pair Extraction
Table 2 reports the comparative results on emotion-cause pair extraction and two sub-tasks, i.e., emotion clause extraction and cause clause extraction. Our one-step approach RANKCP shows clear advantage over other baseline systems on all three tasks, which obtains  $4.82\%$ ,  $3.18\%$  and  $3.17\% F_1$  improvements over the best-performing baseline system INTER-EC on three tasks respectively.
More specifically, we can observe that the above advantage mainly originates from the significant improvement of recall  $R$ . Comparing to INTER-EC, RANKCP achieves  $8.43\%$  and  $6.60\%$  improvements on emotion-cause pair extraction and cause clause extraction respectively, which indicates that our one-step solution can effectively extract more correct emotion-cause pairs without hurting the precision  $P$ .