Communication Development Articles
DOI: 10.21070/ijccd.v16i1.1143

Public Sentiment Analysis of the Israel-Palestine Conflict on Social Media Using BERT


Analisis Sentimen Publik Konflik Israel-Palestina di Media Sosial Menggunakan BERT

Universitas Muhammadiyah Sidoarjo
Indonesia

(*) Corresponding Author

Sentiment Analysis BERT Transformer Israel-Palestine Conflict Social Media NLP

Abstract

General background Israel-Palestine conflict has drawn significant global attention, particularly in how it is perceived and discussed on social media platforms. Specific background understanding public sentiment surrounding such geopolitical issues is crucial for media monitoring, diplomatic efforts, and reputation management. Knowledge gap previous sentiment analysis studies often lack the ability to accurately handle multilingual and context-rich datasets, especially in analyzing neutral sentiments, which are commonly overlooked. This study aims to apply the Bidirectional Encoder Representations from Transformers (BERT) model to analyze public sentiment towards the Israel-Palestine conflict on the X platform, focusing on Indonesian users. Results Using BERT, the model achieved 93% accuracy, with a precision of 0.95, recall of 0.93, and F1-score of 0.94. The model performed well in predicting positive and negative sentiments but showed room for improvement in handling neutral sentiment. Novelty this study introduces the implementation of the BERT Transformer model for the multilingual and context-sensitive sentiment analysis of tweets, specifically addressing a high-stakes geopolitical conflict. Implications the findings demonstrate the potential for using advanced natural language processing techniques like BERT for monitoring public opinion, brand management, and detecting societal tensions on social media, offering valuable insights for stakeholders involved in conflict resolution and diplomatic strategies.

Highlights: 

  • Achieved 93% accuracy in sentiment analysis using BERT on X platform.
  • Identified strengths in predicting positive/negative sentiments, with challenges in neutral sentiment.
  • Demonstrated BERT’s effectiveness in handling complex geopolitical social media data.

Keywords: Sentiment Analysis, BERT Transformer, Israel-Palestine Conflict, Social Media, NLP

 

Pendahuluan

Konflik antara Palestina dan Israel yang dipicu oleh serangan Hamas terhadap Israel di Jalur Gaza pada 7 Oktober telah menimbulkan dampak signifikan, baik secara geopolitik maupun ekonomi global . Dengan lebih dari 4.900 korban jiwa dan lebih dari 25.000 orang terluka , konflik ini menarik perhatian internasional dan memicu respons dari berbagai negara [, termasuk evakuasi warga negara asing dari wilayah konflik

Penelitian ini bertujuan untuk menganalisis tendensi masyarakat Indonesia terhadap konflik Palestina-Israel melalui media sosial X . Metode yang digunakan adalah Deep Learning dengan arsitektur model BERT (Bidirectional Encoder Representations from Transformers) yang dikembangkan oleh Google[5]. BERT memungkinkan pemahaman konteks dan hubungan antar kata dalam teks, yang berguna untuk analisis sentimen positif, negatif, dan netral .

Tujuan utama penelitian ini adalah mengimplementasikan algoritma NLP (Natural Language Processing) untuk mengidentifikasi sentimen publik dan mengevaluasi akurasinya . Batasan penelitian meliputi fokus pada pengguna media sosial X di Indonesia dan analisis tweet berbahasa Indonesia terkait konflik ini. Data dikumpulkan dari 1 Mei 2024 hingga saat ini .

Manfaat penelitian ini termasuk memberikan wawasan mendalam tentang dinamika opini publik, mendukung upaya diplomatik, dan membantu dalam pengelolaan reputasi di media sosial. Hasil analisis diharapkan dapat membantu dalam pencegahan eskalasi konflik melalui deteksi potensi ketegangan dan memberikan panduan untuk kampanye informasi yang terarah.

Metode

Figure 1.merupakan alur diagram sistem yang diterapkan pada penelitian ini.

A. Pengumpulan data

Data yang digunakan dalam penelitian ini berasal dari tweet “KONFLIK ISRAEL-PALESTINA” berbahasa indonesia yang diambil dari platfrom X. Data diambil dari tanggal 01 Mei – sekarang

Untuk mendapatkan data dilakukan Crawl Data dengan menggunakan Google Colab. Pertama, diinstal library pandas untuk memudahkan manipulasi data setelah diambil [9]. Selanjutnya, kita perlu menginstal Node.js karena tweet-harvest dibangun menggunakan Node.js . Langkah instalasi ini melibatkan beberapa perintah shell untuk update paket, instalasi dependensi, dan mengatur konfigurasi agar dapat mengambil kunci dari sumber resmi Node.js . Setelah Node.js berhasil diinstal, kita dapat menggunakan perintah tweet-harvest untuk melakukan crawling data dari Twitter sesuai dengan kata kunci pencarian yang ditentukan. Hasil crawling akan disimpan dalam format CSV dengan nama file yang sudah ditentukan sebelumnya . Selanjutnya, dengan menggunakan pandas, kita membaca file CSV tersebut ke dalam sebuah DataFrame untuk analisis lebih lanjut. Dengan langkah-langkah ini, proses scraping data dari Twitter dapat dilakukan secara efisien di Google Colab .

Figure 2.Scrapping Data

B . Cleaning Data

Tahap cleaning data akan membuang karakter yang tidak memiliki makna dan membuat data menjadi lebih konsisten. Pada penelitian ini cleaning data dilakukan dengan menghapus tag HTML, case folding, menghapus angka, tanda baca, dan karakter

Figure 3.Cleaning Data

C. Pelabelan Data

Pelabelan dilakukan oleh peneliti secara manual. Pada setiap ulasan akan diberikan label yaitu label sentimen. Untuk label sentimen terbagi menjadi tiga yaitu positif, negatif, dan netral. Pemilihan aspek dilakukan dengan melihat tweet yang sering dibahas oleh para pengguna [15]

Figure 4.Pelabelan Data

D. Implementasi BERT

Sebelum proses pelatihan dimulai, data yang telah terkumpul perlu diubah menjadi format input yang dapat diterima oleh BERT. Untuk mencapai hal ini, digunakan proses tokenisasi yang bertujuan untuk mengonversi setiap kata ke dalam token-token yang dapat dipahami oleh model

1. Pengumpulan Data

Pengguna (misalnya, peneliti atau praktisi data) memulai dengan mengumpulkan data ulasan dari platform X. Platform X dapat berupa situs web atau aplikasi yang menyediakan ulasan dari berbagai pengguna. Langkah ini melibatkan ekstraksi teks ulasan dari platform tersebut yang kemudian akan digunakan untuk analisis lebih lanjut

2 . Pembersihan Data

Setelah data ulasan terkumpul, data tersebut dikirim ke tahap pembersihan data. Di sini, data dibersihkan dari karakter yang tidak relevan, angka, tanda baca, dan karakter khusus yang tidak diperlukan untuk analisis. Langkah ini penting untuk memastikan bahwa teks ulasan dalam kondisi yang siap untuk diproses lebih lanjut tanpa gangguan dari elemen-elemen yang tidak relevan.

3. Preprocessing Data

Data yang telah dibersihkan kemudian dikirim ke tahap preprocessing. Preprocessing mencakup beberapa teknik pemrosesan teks seperti normalisasi teks, case folding (mengubah semua teks menjadi huruf kecil), dan penghapusan stop words (kata-kata umum yang biasanya diabaikan dalam analisis teks). Proses ini membantu dalam menstandarkan teks ulasan sehingga lebih mudah untuk dianalisis.

4. Tokenisasi

Data yang telah diproses kemudian dikirim ke BERT Tokenizer untuk tokenisasi. Pada kasus ini, digunakan BERTBASE-MULTILINGUAL-UNCASED Tokenizer. Tokenisasi adalah proses memecah teks ulasan menjadi token (yaitu, kata-kata atau sub-kata) yang dapat dimengerti oleh model BERT. Tokenisasi BERT mencakup penambahan token khusus seperti [CLS] di awal setiap kalimat dan [SEP] di akhir setiap kalimat, serta melakukan padding jika diperlukan. Hal ini membuat teks ulasan siap untuk dimasukkan ke dalam model BERT.

5. Penggunaan Model BERT

Data yang telah ditokenisasi kemudian dikirim ke model BERT. Pada kasus ini, digunakan model BERTBASE-MULTILINGUAL-UNCASED. Model ini telah dilatih sebelumnya untuk memahami berbagai bahasa tanpa membedakan huruf besar dan kecil, sehingga sangat cocok untuk platform X yang mungkin memiliki ulasan dalam berbagai bahasa. Model BERT mengubah data yang telah ditokenisasi menjadi representasi input yang dapat dipahami oleh model. Model BERT akan menganalisis aspek-aspek tertentu dalam ulasan (misalnya, akting, plot) dan menentukan sentimen (positif, negatif, netral) dari setiap aspek tersebut.

6. Evaluasi Model

Setelah analisis sentimen dilakukan oleh model BERT, hasilnya dievaluasi menggunakan metrik evaluasi seperti akurasi, presisi, recall, dan f1-score. Evaluasi ini dilakukan untuk mengukur kinerja model dalam mengidentifikasi aspek dan sentimen dari ulasan platform X. Hasil evaluasi memberikan informasi penting tentang seberapa baik model BERT dalam melakukan tugas analisis sentimen multi-aspek ini.

Figure 5.Implementasi BERT

Hasil dan Pembahasan

A. Pengumpulan Data

Data dikumpulkan dengan menggunakan teknik Crawl Data pada platfrom situs X. Crawl Data akan bekerja menggunakanNode.Js. Oleh karena itu, peneliti perlu mengekstrak data tersebut ke dalam bentuk CSV, kemudian data dikumpulkan menjadi satu dokumen. Data yang akan di kumpulkan pada platfrom X berupa tweet dari beberapa user X oleh peneliti, setelah data di kumpulkan minimal sebanyak 3447 data tweet. Data akan di simpan dalam bentuk CSV dan siap untuk proses berikutnya.

Figure 6.Program Crawl Data

bagian-bagian dari perintah tersebut:

  1. npx tweet-harvest@2.6.0: Ini adalah perintah yang dijalankan. npx adalah utilitas untuk menjalankan paket npm tanpa menginstalnya secara global. tweet-harvest@2.6.0 adalah nama paket yang akan dijalankan, dengan versi spesifiknya.
  2. -o "israel-palestine5.csv": Ini adalah opsi perintah untuk menentukan nama file output dari hasil crawling data X. Dalam hal ini, file output akan disimpan dengan nama 'israel-palestine5.csv'.
  3. -s "israel lang:id": Ini adalah opsi perintah untuk menentukan kata kunci pencarian. Data yang akan di-crawl adalah data yang terkait dengan kata kunci "israel" dalam bahasa Indonesia ('lang:id').
  4. --tab "LATEST": Ini adalah opsi perintah untuk menentukan tab atau bagian dari hasil pencarian X yang akan diambil. Dalam hal ini, kita hanya akan mengambil data dari tab "LATEST" atau yang terbaru.
  5. -l 1000: Ini adalah opsi perintah untuk menentukan batas jumlah tweet yang akan diambil. Dalam contoh ini, kita akan mengambil maksimal 1000 tweet.
  6. --token {X_auth_token}: Ini adalah opsi perintah untuk menentukan token otentikasi X yang diperlukan untuk mengakses API X. {X_auth_token} adalah placeholder untuk token otentikasi yang seharusnya diganti dengan token yang valid.

B. Cleansing Data

Berikut adalah kode Python sederhana untuk melakukan cleansing data teks setelah crawling. Kode ini menggunakan library `re` untuk ekspresi reguler dan `nltk` untuk pemrosesan bahasa alami:

Figure 7.Program Cleaning Data

Penjelasan langkah demi langkah:

  1. Hapus URL, mention, dan hashtag: Menggunakan `re.sub` untuk menghapus pola URL (`http\S+`, `www\S+`, `https\S+`), mention (`@\w+`), dan hashtag (`#\w+`).
  2. Hapus tanda baca dan karakter khusus: Menggunakan `re.sub` untuk menghapus karakter selain huruf dan spasi (`[^\w\s]`).
  3. Ubah teks menjadi huruf kecil: Menggunakan `text.lower()` untuk mengonversi teks menjadi huruf kecil.
  4. Hapus angka: Menggunakan `re.sub` untuk menghapus angka (`\d+`).
  5. Hapus stopwords: Menggunakan `stopwords` dari `nltk` untuk menghapus kata-kata umum yang tidak signifikan.
  6. Lemmatization: Menggunakan `WordNetLemmatizer` untuk mengubah kata ke bentuk dasarnya.

Setelah proses cleansing selesai proses akan dibagi menjadi 2 yaitu:

  1. Pelabelan data yang dilakukan secara manual oleh peneliti
  2. Tokenisasi yang akan di proses menggunakan BERT

C. Pelabelan Data

Labeling data dilakukan secara manual menggunakan exel. Tahap pelabelan data dilakukan secara mandiri oleh peneliti. Pelabelan dilakukan berdasarkan sentiment yang terkandung dalam tweet. Pemilihan sentimen dilakukan dengan melihat tweet yang di dapatkan dari proses Crawl Data. Untuk label sentimen di bagi menjadi 3 yaitu positive, netral, negative

Figure 8.Hasil Pelabelan Manual

D. Implementasi BERT

Implementasi BERT akan dilakukan beberapa tahapan, yakni tokenisasi, pemodelan, dan prediksi sentimen. Setelah dataset selesai melalui tahap cleansing data, kemudian model akan melakukan tokenisasi pada dataset. Proses tokenisasi menggunakan Tokenizer.

Penjelasan Langkah-Langkah

1. Inisialisasi Model dan Tokenizer:

Tokenisasi adalah proses mengubah teks mentah menjadi token yang dapat diproses oleh model pembelajaran mesin. Dalam konteks kode Anda, tokenisasi dilakukan oleh tokenizer dari model Transformer

Figure 9.Program Tokenizer oleh BERT

  1. model_name adalah nama model yang digunakan.
  2. AutoModelForSequenceClassification dan AutoTokenizer menginisialisasi model dan tokenizer.

2. Fungsi sentiment_score:

Figure 10.Program Tokenizer oleh BERT

  1. Mengambil teks input (data).
  2. Menggunakan tokenizer.encode(data, return_tensors='pt') untuk melakukan tokenisasi dan mengubah teks menjadi tensor PyTorch.
  3. Menjalankan tensor token melalui model (result = model(tokens)).
  4. Memprediksi kelas sentimen dengan melihat argmax dari logits yang dihasilkan (predicted_class).
  5. Mengembalikan label sentimen berdasarkan prediksi kelas.

3. Membaca Data dan Menerapkan Klasifikasi Sentimen:

Figure 11.Program Menerapkan Klasifikasi Sentimen Pada Data

  1. Membaca data dari file CSV.
  2. Menampilkan kolom yang tersedia dalam CSV.
  3. Menerapkan fungsi sentiment_score pada kolom full_text untuk mendapatkan sentimen dari setiap teks.
  4. Menyimpan hasil klasifikasi ke file CSV baru.

4. Menampilkan dan Menghitung Hasil Klasifikasi:

Figure 12.Proses editorial di Jurnal UMSIDA

  1. Menampilkan hasil klasifikasi dari beberapa baris pertama.
  2. Menghitung jumlah dan persentase dari setiap kelas sentimen.
  3. Menampilkan jumlah dan persentase dari setiap sentimen.

5. Contoh Output Tokenisasi

Figure 13.Proses editorial di Jurnal UMSIDA

  1. 101, 2023, 2003, 1037, 7099, 17942, 22942, 102 adalah token numerik yang dihasilkan dari teks input oleh tokenizer.

E. Evaluasi

Dalam melakukan melakukan analisis sentimen menggunakan BERT, Model akan menentukan nilai akurasi setelah melalui pengujian kemudian akan mencoba untuk memprediksi hasil akurasi tertinggi secara keseluruhan menggunakan BERT. Hasil evaluasi yang disajikan mencakup beberapa informasi penting tentang kinerja model klasifikasi, seperti akurasi, precision, recall, dan F1-Score, serta confusion matrix yang memberikan gambaran lebih detail tentang performa model dalam mengklasifikasikan data.

Dari hasil evaluasi yang diberikan, kita dapat melihat beberapa informasi penting:

1. Kolom di df_reference dan df_predicted: Menunjukkan kolom yang ada di

kedua DataFrame yang akan digabungkan.

Figure 14.Program Menampilkan Kolom

2. Data gabungan: Merupakan contoh lima baris data setelah kedua

DataFrame digabungkan. Dalam data gabungan ini, kita memiliki kolom Cleaned_Tweet yang berisi teks tweet, serta kolom sentiment_reference dan sentiment_predicted yang berisi label sentimen yang sesuai dengan teks tweet tersebut.

Figure 15.Hasil Sentimen

3. Hasil Evaluasi Model: Menunjukkan hasil evaluasi performa model

klasifikasi sentimen. Di sini, kita memiliki nilai akurasi sebesar 0.93, presisi (rata-rata tertimbang) sebesar 0.95, recall (rata-rata tertimbang) sebesar 0.93, dan F1-Score (rata-rata tertimbang) sebesar 0.94. Semakin tinggi nilai akurasi, presisi, recall, dan F1-Score, semakin baik performa model klasifikasi sentimen tersebut.

Figure 16.Hasil Evaluasi

4. Confusion Matrix: Merupakan matriks yang menunjukkan jumlah prediksi

yang benar dan salah untuk setiap kelas sentimen. Baris pada confusion matrix menunjukkan true labels (label sebenarnya), sedangkan kolomnya menunjukkan predicted labels (label yang diprediksi oleh model). Dari confusion matrix, kita dapat melihat bahwa:

Figure 17.

  1. Untuk kelas pertama (sentimen negatif), terdapat 2570 prediksi yang benar, 103 prediksi yang salah sebagai sentimen netral, dan 86 prediksi yang salah sebagai sentimen positif.
  2. Untuk kelas kedua (sentimen netral), terdapat 139 prediksi yang benar, 4 prediksi yang salah sebagai sentimen negatif, dan 5 prediksi yang salah sebagai sentimen positif.
  3. Untuk kelas ketiga (sentimen positif), terdapat 286 prediksi yang benar, 10 prediksi yang salah sebagai sentimen negatif, dan 13 prediksi yang salah sebagai sentimen netral.

Dengan demikian, hasil evaluasi ini memberikan gambaran tentang seberapa baik model klasifikasi sentimen dalam memprediksi label sentimen pada data tweet yang diberikan.

Figure 18.Tabel Distribution

Figure 19.Tabel Histogram

Simpulan

Penerapan sentimen analisis berfokus nlptown/bert-base-multilingual-uncased-sentiment untuk melihat seberapa akurat BERT model terbaru dalam menentukan penilaian terhadap ulasan berupa Tweet. Penelitian ini melakukan beberapa percobaan dengan menggunakan metode NLP (Natural Language Processing). Hasil evaluasi menggunakan metode NLP menunjukkan bahwa model klasifikasi sentimen telah memberikan kinerja yang memuaskan dalam memprediksi sentimen dari teks. Dari akurasi sebesar 0.93, kita dapat menyimpulkan bahwa sekitar 93% dari total prediksi yang dilakukan oleh model adalah benar. Namun, penting untuk memahami performa model secara lebih rinci dengan melihat presisi, recall, dan F1-Score. Presisi model, yang mengukur seberapa banyak dari prediksi positif yang sebenarnya benar, mencapai nilai 0.95. Ini berarti sebagian besar dari teks yang diprediksi sebagai positif oleh model memang memiliki sentimen positif. Namun demikian, nilai recall sebesar 0.93 menunjukkan bahwa model mampu mengidentifikasi sebagian besar teks dengan sentimen positif yang sebenarnya. F1-Score, yang merupakan nilai rata-rata harmonik antara presisi dan recall, mencapai 0.94, menunjukkan keseimbangan yang baik antara presisi dan recall model. Namun, meskipun model telah memberikan hasil yang baik secara keseluruhan, kita juga perlu memeriksa confusion matrix untuk melihat detail performa model untuk setiap kelas sentimen. Dari confusion matrix, kita dapat melihat bahwa sebagian besar prediksi adalah benar, terutama untuk kelas sentimen negatif dan positif. Namun, masih terdapat beberapa prediksi yang salah, terutama pada kelas sentimen netral. Oleh karena itu, walaupun model telah memberikan hasil yang memuaskan, masih ada ruang untuk peningkatan melalui pengembangan teknik NLP yang lebih canggih dan penanganan data yang lebih baik. Dengan demikian, model ini dapat digunakan dengan percaya diri untuk menganalisis sentimen pengguna dalam berbagai konteks, seperti analisis media sosial, pemantauan merek, dan pengelolaan reputasi perusahaan, namun perbaikan lebih lanjut tetap diperlukan untuk memaksimalkan keakuratan dan kinerja model di masa mendatang.

References