Azhary Arliansyah

Articles / Bukan Sekadar Paham Makna: Bagaimana Sintaksis Mempertajam Kecerdasan Model Berbasis Transformers

Bukan Sekadar Paham Makna: Bagaimana Sintaksis Mempertajam Kecerdasan Model Berbasis Transformers

NLP Research Transformers ASTE BiLSTM Sentiment Analysis
Bukan Sekadar Paham Makna: Bagaimana Sintaksis Mempertajam Kecerdasan Model Berbasis Transformers

Aspect-Based Sentiment Triplet Extraction (ASTE) saat ini merupakan salah satu tantangan paling rumit dalam bidang NLP. Analisis Sentimen Standar biasanya hanya mengevaluasi polaritas kalimat secara keseluruhan. Sebaliknya, ASTE melangkah lebih jauh dengan mengekstraksi Triplet: Aspek, Opini, dan Polaritas Sentimen.

Dalam penelitian ini, Yuan et al mengatasi masalah Symmetry Ambiguity. Model yang diusulkan, yaitu Syntax-Aware Transformer (SA-Transformer), menjawab tantangan ini dengan memasukkan syntactic dependencies secara eksplisit dan relative distances ke dalam mekanisme attention, sehingga konteks struktural dapat memandu pemahaman semantik [1].


1. Model Architecture Overview

Untuk menyelesaikan masalah Symmetry Ambiguity, SA-Transformer dirancang dengan arsitektur dua cabang. Model ini memproses makna sekuens semantik dan struktur sintaksis gramatikal secara paralel, kemudian menggabungkannya menggunakan mekanisme syntax-aware attention.

Aspect-Based Sentiment Triplets Extracted: [staff, courteous, POS], [food, terrible, NEG] Word-Pair Tag Prediction
yijy_{ij}
Adjacent Inference Strategy (GCN) Syntactic Pair Representation
PijRdpP_{ij} \in \mathbb{R}^{d_p}
Syntactic Distance
DistijDist_{ij}
SA-Transformer (Syntax-Aware Attention)
E(l)RdE^{(l)} \in \mathbb{R}^{d}
H(l)RdhH^{(l)} \in \mathbb{R}^{d_h}
Adjacent Edge Attention (AEA)
Adj(Aij)Adj(A_{ij})
Rel(Rij)Rel(R_{ij})
Bidirectional LSTM (BiLSTM)
wiR300w_i \in \mathbb{R}^{300}
Dependency Parser Text Sequence GloVe Word Embedding Text Tokens Input Sentence Tokens "The staff was very courteous but food was terrible..." Syntactic Branch Semantic Branch

*Gambar 0: SA-Transformer Overall Architecture. Detailed input-output flow mapping raw text tokens explicitly through syntactic extraction (Matrices A & R), GloVe encoding (w_i), edge pooling (E_{ij}), syntax-aware attention (P_{ij}), to relational prediction tags.*

2. GloVe Embedding Layer

Sebelum sintaksis dianalisis, model pertama-tama memetakan token kata ke dalam representasi dense vector menggunakan pre-trained GloVe embedding (300-dimensi). Setiap token wiw_i dipetakan ke vektor dengan panjang tetap eiR300e_i \in \mathbb{R}^{300}. Vektor embedding ini kemudian diteruskan sebagai input ke encoder BiLSTM.

GloVe Embedding Lookup (300-dimension) The staff was very courteous GloVe Lookup Table e1 = [ 0.418, 0.249, -0.412, 0.003, ..., -0.216, 0.103] 300d e2 = [ 0.287, -0.156, 0.831, -0.529, ..., 0.174, -0.042] 300d e3 = [ 0.156, 0.392, -0.215, 0.710, ..., -0.337, 0.278] 300d e4 = [-0.201, 0.517, 0.143, -0.086, ..., 0.421, 0.385] 300d e5 = [ 0.673, -0.321, 0.095, 0.458, ..., -0.562, -0.158] 300d Setiap kata dipetakan ke vektor GloVe 300-dimensi yang telah dilatih sebelumnya

*Gambar 1: GloVe Word Embedding Lookup. Setiap token dipetakan ke representasi vektor 300-dimensi yang tetap.*

3. Contextual Semantic Encoding (BiLSTM)

Setelah mendapatkan embedding GloVe, vektor-vektor ini dimasukkan ke dalam Bidirectional LSTM (BiLSTM) untuk menghasilkan representasi semantik yang sequence-aware(hih_i). Representasi matematis yang akurat dari sel LSTM yang digunakan dalam Context Sequence Encoder dapat ditelusuri di bawah ini:

Ct1lC_{t-1}^l
CtlC_t^l
ht1lh_{t-1}^l
htlh_t^l
htl1h_t^{l-1}
htlh_t^l
× + × ×
σ\sigma
ftlf_t^l
σ\sigma
itli_t^l
tanh
C~tl\tilde{C}_t^l
σ\sigma
otlo_t^l
tanh

*Gambar 2: Mathematical trace of the Bidirectional LSTM Cell mapping semantics.*

Sel LSTM memproses kata-kata token secara independen. Untuk menangkap seluruh konteks kalimat, sel-sel ini disusun ke dalam graf sekuens di mana Forward and Backward paths memproses struktur kalimat input secara bersamaan:

LSTM LSTM LSTM LSTM LSTM LSTM LSTM LSTM LSTM LSTM The staff was very courteous ...
e1e_1
0.418 0.249 ...
e2e_2
0.287 -0.156 ...
e3e_3
0.156 0.392 ...
e4e_4
-0.201 0.517 ...
e5e_5
0.673 -0.321 ...
\oplus
h1h_1
\oplus
h2h_2
\oplus
h3h_3
\oplus
h4h_4
\oplus
h5h_5

*Gambar 3: Aliran dua arah yang melintasi sekuens dalam konteks langkah waktu maju dan mundur.*

Hidden state gabungan yang dihasilkan hi=[hi;hi]h_i = [\vec{h_i}; \overleftarrow{h_i}] merangkum memori sekuens, menghasilkan representasi dasar Si(0)=hiS^{(0)}_i = h_i.

4. Syntactic Backbone: Dependency Tree and Matrices

Untuk menangkap hubungan struktural, sekuens dilewatkan melalui Dependency Parser. Parser mengekstrak syntactic relations dan memproyeksikannya ke dalam Adjacency Matrix (A) (koneksi biner) dan Relation Matrix (R) (label edge gramatikal).

det nsubj acomp advmod cc conj nsubj det acomp The staff was very courteous but the food was terrible

*Gambar 4: Dependency Tree visualization mapping standard grammatical relations.*

Matrix A and Matrix R di bawah ini adalah pemetaan N×NN \times N (di mana N=10N = 10 token). Matriks ini membentuk graf dasar untuk Transformer layers.

Adjacency Matrix (A) — 10×10

Ai,j0,1Edgeexists?A_{i,j} ∈ {0, 1} — Edge exists?
Thestaffwasverycourt.butthefoodwasterr. Thestaffwasverycourt.butthefoodwasterr. 1100000000111000000001101100100001100000001110000000100100000000001100000000111000100001110000000011

Relation Matrix (R) — 10×10

Ri,jDependencyTypeR_{i,j} — Dependency Type
Thestaffwasverycourt.butthefoodwasterr. Thestaffwasverycourt.butthefoodwasterr. -det--------det-nsubj--------nsubj--acompcc--conj-----advmod-------acompadvmod--------cc--------------det--------det-nsubj---conj----nsubj-acomp--------acomp-

5. Memecah Symmetry Ambiguity dengan AEA

Model multi-task standar dapat mengenali "staff" dan "food" sebagai aspek dengan benar, tetapi kesulitan menghubungkan opini karena keduanya terhubung ke kata "was" melalui dependensi nsubj. Graph Convolutional Networks (GCNs) standar memperlakukan edge conj di antara dua token "was" secara identik, yang secara keliru menyebabkan opini "courteous" bocor ke "food".

Adjacent Edge Attention (AEA) menyelesaikan ini dengan membedakan label gramatikal secara dinamis berdasarkan tetangga strukturalnya.

nsubj (0.85) acomp (0.92) conj (0.12) Restricted nsubj (0.81) acomp (0.89) staff courteous was was food terrible

*Gambar 5: Audit Neural AEA secara dinamis menekan bobot tepi "conj" untuk mencegah kebocoran emosi antar klausa.*


6. Syntactic Distance (Shortest Path BFS)

Untuk lebih membantu lapisan atensi Transformer, jarak struktural eksplisit dihitung antar token menggunakan Breadth-First Search (BFS) pada pohon dependensi.

BFS Shortest Path (dist = 4 hops) very courteous was was food advmod acomp conj nsubj

*Gambar 6: Jarak sintaksis menghitung lompatan struktural gramatikal daripada urutan kata sekuensial.*

SA-Transformer menghitung lompatan struktural secara strict daripada jarak sekuens linear. Jarak 4 dipetakan ke dalam vektor Edist[4]E_{dist}[4] dan digabungkan langsung ke dalam representasi Attention Key/Value.


7. SA-Transformer (Syntax-Aware Attention)

Inovasi inti pada penelitian ini adalah mekanisme Syntax-Aware Attention. Mekanisme ini memasukkan representasi edge (E(l)E^{(l)}) dari AEA langsung ke dalam atensi bersama dengan hidden state BiLSTM (H(l)H^{(l)}):

Kj=hjWK+ei,jWKe,Vj=hjWV+ei,jWVeK_j = h_j W_K + e_{i,j} W_{K_e}, \quad V_j = h_j W_V + e_{i,j} W_{V_e}

αi,j=softmax((hiWQ)KjTdk),Si(l+1)=jαi,jVj\alpha_{i,j} = \text{softmax}\left(\frac{(h_i W_Q) \cdot K_j^T}{\sqrt{d_k}}\right), \quad S_i^{(l+1)} = \sum_j \alpha_{i,j} V_j

Contoh Pengerjaan: Atensi untuk "staff" (i=2i=2)

Menggunakan hidden state BiLSTM dan representasi edge AEA dari bagian sebelumnya, berikut adalah penelusuran bagaimana SA-Transformer memperbarui representasi "staff":

Syntax-Aware Attention: Updating "staff" (i=2)
Q2=h2("staff")WQQ₂ = h₂("staff") · W_Q
[0.52, -0.31, 0.74, ...] ∈ ℝ²⁰⁰
K1=h1("The")WKK₁ = h₁("The")·W_K
+e2,1(det)WKe+ e₂,₁(det)·W_{Ke}
score = 0.87
K3=h3("was")WKK₃ = h₃("was")·W_K
+e2,3(nsubj)WKe+ e₂,₃(nsubj)·W_{Ke}
score = 1.13 (highest!)
K8=h8("food")WKK₈ = h₈("food")·W_K
+ 0 (no edge, A₂,₈=0) score = 0.41 (blocked) Softmax → Attention Weight α α₂,₁ = 0.28 (The) | α₂,₃ = 0.52 (was) | α₂,₈ = 0.07 (food) | others ≈ 0.13
V1=h1WV+e2,1WVeV₁ = h₁·W_V + e₂,₁·W_{Ve}
× 0.28
V3=h3WV+e2,3WVeV₃ = h₃·W_V + e₂,₃·W_{Ve}
× 0.52
V8=h8WV+0V₈ = h₈·W_V + 0
× 0.07 Σ S₂⁽¹⁾ = [0.41, -0.18, 0.63, ...] ∈ ℝ²⁰⁰ "staff" now encodes syntax: strongly influenced by "was" (nsubj), not "food"

*Gambar 7: Syntax-Aware Attention flow for "staff". Representasi tepi dari AEA meningkatkan kata-kata yang terhubung secara sintaksis (nsubj→was: α=0.52) sambil memblokir kata yang tidak terhubung (food: α=0.07).*

Setelah LL lapisan, Syntactic Pair Representation dibentuk dengan menggabungkan representasi akhir dua kata dengan embedding jaraknya:

Pi,j=[Si(L);Sj(L);fd(i,j)]P_{i,j} = [S_i^{(L)} ; S_j^{(L)} ; f^d(i,j)]


8. Adjacent Inference Strategy & Final Extraction

Setiap representasi pasangan Pi,jP_{i,j} dari Bagian 7 diklasifikasikan ke dalam sebuah tag. Berikut adalah penelusuran pipa lengkap untuk pasangan kata ("staff", "courteous"):

Langkah 1: Input Syntactic Pair Representation

Pstaff,courteous=[S2(L);S5(L);fd(2,5)]P_{\text{staff,courteous}} = [S_2^{(L)} ; S_5^{(L)} ; f^d(2,5)]

S₂("staff") from SA-Trans [0.41, -0.18, 0.63, ...] ∈ ℝ²⁰⁰ S₅("courteous") from SA-Trans [0.73, 0.29, -0.51, ...] ∈ ℝ²⁰⁰
fd(2,5)=dist2hopsf^d(2,5) = dist 2 hops
[0.12, -0.34, ...] ∈ ℝ¹⁰⁰ P₂,₅ = concat → [···] ∈ ℝ⁵⁰⁰

Langkah 2: Klasifikasi MLP → Initial Logits

MLP memetakan Pi,jP_{i,j} ke logit 6-kelas ci,jc_{i,j}:

cstaff,courteous=MLP(P2,5)=[0.12N,0.85A,0.47O,2.31POS,1.05NEG,0.38NEU]c_{\text{staff,courteous}} = \text{MLP}(P_{2,5}) = [\underset{N}{0.12}, \underset{A}{-0.85}, \underset{O}{-0.47}, \underset{\textbf{POS}}{\textbf{2.31}}, \underset{NEG}{-1.05}, \underset{NEU}{0.38}]

Langkah 3: Refinement GCN (T=2 iterasi)

GCN mengagregasi prediksi dari sel tetangga (i±1,j)(i{\pm}1, j) dan (i,j±1)(i, j{\pm}1):

c~2,5(t)=Wc1,5(t1)+Wc3,5(t1)+Wc2,4(t1)+Wc2,6(t1)\tilde{c}_{2,5}^{(t)} = W \cdot c_{1,5}^{(t-1)} + W \cdot c_{3,5}^{(t-1)} + W \cdot c_{2,4}^{(t-1)} + W \cdot c_{2,6}^{(t-1)}

Target: c₂,₅ (staff, courteous) POS=2.31, NEG=-1.05, N=0.12 c₁,₅ (The, courteous) N=1.92 (no relation) c₃,₅ (was, courteous) N=1.44 (acomp link) c₂,₄ (staff, very) O=1.15 (opinion span) c₂,₆ (staff, but) N=2.10 (no relation)

Langkah 4: Softmax Akhir → Prediksi Tag

Setelah refinement GCN, probabilitas akhir dihitung:

P(y2,5)=softmax(c2,5+c~2,5(T))=[0.03N,0.01A,0.02O,0.89POS,0.01NEG,0.04NEU]P(y_{2,5}) = \text{softmax}(c_{2,5} + \tilde{c}_{2,5}^{(T)}) = [\underset{N}{0.03}, \underset{A}{0.01}, \underset{O}{0.02}, \underset{\textbf{POS}}{\textbf{0.89}}, \underset{NEG}{0.01}, \underset{NEU}{0.04}]

y2,5=POS(staff is linked to courteous with positive sentiment)\Rightarrow y_{2,5} = \textbf{POS} \quad \text{(staff is linked to courteous with positive sentiment)}

Demikian pula untuk pasangan ("food", "terrible"):

P(y8,10)=softmax(c8,10+c~8,10(T))=[0.02N,0.01A,0.01O,0.03POS,0.91NEG,0.02NEU]P(y_{8,10}) = \text{softmax}(c_{8,10} + \tilde{c}_{8,10}^{(T)}) = [\underset{N}{0.02}, \underset{A}{0.01}, \underset{O}{0.01}, \underset{POS}{0.03}, \underset{\textbf{NEG}}{\textbf{0.91}}, \underset{NEU}{0.02}]

y8,10=NEG(food is linked to terrible with negative sentiment)\Rightarrow y_{8,10} = \textbf{NEG} \quad \text{(food is linked to terrible with negative sentiment)}

Grid Prediksi Pasangan Kata Lengkap (yi,jy_{i,j})

Menerapkan proses ini ke setiap pasangan kata dalam "The staff was very courteous but the food was terrible" menghasilkan grid tagging 10×1010 \times 10 yang lengkap:

Word-Pair Tag Prediction Grid (10×10) Thestaffwasverycourt.butthefoodwasterr. Thestaffwasverycourt.butthefoodwasterr. -NNNNNNNNNN-NNPOSNNNNNNN-NNNNNNNNNN-NNNNNNNPOSNN-NNNNNNNNNN-NNNNNNNNNN-NNNNNNNNNN-NNEGNNNNNNNN-NNNNNNNNNEGN- POS (staff↔courteous) NEG (food↔terrible) N (no relation)

*Gambar 9: Word-pair tagging grid lengkap pada kalimat. Grid ini simetris, (staff, courteous) dan (courteous, staff) keduanya memprediksi POS. Hubungan aspek-opini utama disorot dengan hijau (POS) dan merah (NEG). Semua pasangan lainnya menerima tag N (no relation).*

Triplet Terakhir yang Diekstrak

Membaca grid yang telah ditandai, model mengekstrak triplet ASTE akhir:

Aspek Opini Sentimen Sel Grid
staff courteous POS y2,5=0.89y_{2,5} = 0.89
food terrible NEG y8,10=0.91y_{8,10} = 0.91

9. Hasil Eksperimen

SA-Transformer diuji terhadap tiga kategori besar model ASTE menggunakan empat kumpulan data benchmark dari SemEval Challenge.

Baseline yang Dievaluasi:

  1. Metode Pipeline: TSF [2], CLMA+ [3].
  2. Metode Multitask: BMRC [4], Span-ASTE [5].
  3. Metode Pasangan Kata: GTS [6], S3E2 [7].

Hasil Perbandingan (Skor Micro F1)

Keluarga Model Model Representatif Rest14 (F1) Lap14 (F1) Rest15 (F1)
Pipeline CLMA+ 41.36 32.55 39.77
Multitask Span-ASTE 58.74 45.41 55.43
Pasangan Kata S3E2 59.81 48.06 55.97
Diusulkan SA-Transformer 63.58 52.33 58.91

Arsitektur ini menunjukkan peningkatan yang substansial. SA-Transformer melampaui S3E2 sebesar +3,77% pada Rest14 karena AEA menyelesaikan kalimat yang mengandung beberapa target aspek yang saling bertentangan.

References

1. Yuan, Li and Wang, Jin and Yu, Liang-Chih and Zhang, Xuejie (2024). Encoding Syntactic Information into Transformers for Aspect-Based Sentiment Triplet Extraction. IEEE Transactions on Affective Computing. link View Source
2. Peng, Haiyun and others (2019). Knowing what, how and why: A near complete solution for aspect-based sentiment analysis. AAAI.
3. Wang, W. and others (2017). Coupled multi-layer attentions for co-extraction of aspect and opinion terms. AAAI.
4. Chen, S. and others (2021). Bidirectional machine reading comprehension for aspect sentiment triplet extraction. AAAI.
5. Xu, L. and others (2021). Learning span-level interactions for aspect sentiment triplet extraction. ACL.
6. Wu, Z. and others (2020). Grid tagging scheme for aspect-oriented fine-grained opinion extraction. ACL Findings.
7. Chen, Z. and others (2021). Semantic and syntactic enhanced aspect sentiment triplet extraction. ACL Findings.
8. Zhao, Z. and others (2022). Multi-task alignment scheme for span-level aspect sentiment triplet extraction. ICANN.