
Proses digitalisasi di era Revolusi Industri 4.0 membuat pertumbuhan data terjadi dengan sangat cepat. Data tidak lagi hanya berbentuk numerik, namun telah berkembang menjadi bentuk tak terstruktur yang jauh lebih kompleks. Semua data tersebut tentu dapat kita manfaatkan untuk berbagai hal asalkan kita mengetahui bagaimana cara mengolah data tersebut agar menjadi informasi yang berguna.
Banyak sekali jenis data yang dapat kita analisis, salah satunya adalah dokumen teks yang merupakan sumber data dalam text mining. Data teks tidak hanya berasal dari dalam buku atau artikel, namun juga dapat berupa komentar yang berasal dari media sosial. Salah satu media sosial yang seringkali digunakan untuk mengungkapkan emosi mengenai suatu hal, baik memuji ataupun mencela dalam bentuk tulisan adalah Twitter. Emosi atau opini dari para pengguna Twitter ini dapat dikenali dengan suatu analisis yang dikenal dengan sebutan analisis sentimen. Analisis sentimen dilakukan untuk melihat pendapat atau kecenderungan opini terhadap sebuah masalah atau objek oleh seseorang, apakah cenderung berpandangan atau beropini negatif atau positif.
Apa itu Analisis Sentimen?
Seperti namanya, analisis sentimen adalah analisis yang digunakan untuk memahami atau mengolah data berbentuk teks dengan tujuan mengetahui sentimen atau opini yang terkandung di dalamnya. Tujuan dilakukan sentiment analysis adalah untuk melihat pandangan atau pendapat teks yang berkaitan terhadap sebuah masalah atau objek, apakah cenderung berpandangan positif atau negatif.

Data teks sendiri dapat berasal dari berbagai sumber, salah satu sumber yang paling mudah ditemui adalah internet. Informasi berbentuk teks di internet dapat kamu temukan dalam format forum, blog, media sosial, serta situs berisi review
Bagaimana Langkah-Langkah Melakukan Analisis Sentimen?
Untuk melakukan analisis sentimen, secara umum langkah-langkah yang perlu kamu lakukan adalah sebagai berikut.
- Business Understanding – Memahami tujuan bisnis serta permasalahan apa yang akan diselesaikan
- Crawling Data – Mengumpulkan atau memperoleh data
- Labeling Data – Memberi label pada data
- Preprocessing Data – Melakukan preproses data, meliputi case folding, stemming, tokenization dan lainnya
- Modeling – Melakukan pemodelan menggunakan data teks yang telah di-preprocessing
- Evaluation – Mengevaluasi model yang telah diperoleh
- Deployment model
Langkah analisis sentimen di atas merupakan langkah umum tanpa memerhatikan sumber data serta model apa yang akan digunakan dalam pemodelan.
Untuk lebih jelasnya, maka Exsight akan memberikan langkah analisis yang lebih spesifik terkait analisis sentimen data twitter dengan algoritma naive bayes.
Business Understanding
Business understanding merupakan tahapan yang harus dilakukan untuk semua analisis, tidak hanya analisis sentimen. Pada tahap ini peneliti harus mendefinisikan atau menemukan tujuan apa yang akan dicapai dari analisis. Peneliti sebisa mungkin memahami permasalahan bisnis apa yang akan diselesaikan. Pada analisis lain, tahapan ini biasanya juga diikuti dengan tahapan Data Understanding, yaitu tahapan memahami data secara keseluruhan, baik dari struktur datanya, skala data dan hal lain terkait data yang akan dianalisis. Namun, karena pada analisis sentimen data twitter peneliti belum memiliki data yang akan dianalisis, maka pada tahap ini peneliti akan menentukan data apa saja yang akan dikumpulkan untuk menjawab permasalahan bisnis yang telah didefinisikan sebelumnya.
Crawling Data
Crawling merupakan teknik mengumpulkan data pada sebuah website dengan memasukkan Uniform Resource Locator (URL). Untuk penerapannya pada data twitter, crawling menggunakan automation program dan menggunakan Application Programming Interface (API) sebagai jalur komunikasi dalam mendapatkan data. Dengan API kita dapat mengumpulkan data lebih spesifik sesuai dengan link URL yang ada tanpa harus mengetahui element HTML pada sebuah website.
Adapun API yang cukup populer digunakan adalah tweepy. Tweepy adalah suatu API yang disediakan oleh pihak Twitter untuk dapat mengakses dan mengambil data-data yang ada di dalam Twitter menggunakan bahasa pemrograman Phyton. Untuk langkah-langkah crawling menggunakan tweepy akan kita hold dulu dan dibahas di artikel terpisah yaa.
Labeling Data
Telah dijelaskan di awal tujuan dari analisis sentimen adalah untuk mengetahui bagaimana opini yang terkandung dalam teks. Karena di artikel ini akan digunakan model naive bayes, maka data tweet yang telah diperoleh harus diberi label terlebih dahulu, apakah termasuk opini negatif, netral atau positif. Pemberian label ini tentu harus disesuaikan dengan tujuan analisis sebelumnya.
Pemberian label dapat dilakukan secara manual (labeling sebagian dan yang termudah) dan otomatis menggunakan dictionary atau lexicon based.
Preprocessing Data
Tahapan preproses data terdiri dari beberapa tahapan sebagai berikut.
1.Menghapus data yang tidak berhubungan dengan topik.
Sebelum | Sesudah |
RT @Jokowi Bahkan pembangunan infrastruktur mempunyai dampak yang terus baik untuk milenial, 2019 tetep Jokowi :v #JokowiSatukanIndonesia.. https://t.co/eImKTiY8An | Bahkan pembangunan infrastruktur mempunyai dampak yang terus baik untuk milenial tetep Jokowi |
2. Menghapus HTML link, mention, username, hastag, Retweet, angka, tanda baca, spasi berlebih
Sebelum | Sesudah |
RT @fakir @jokowi infrastruktur belum menjadi urgensi saat ini apabila penegakan HAM, kualitas lingkungan hidup,dan kualitas š #2019GantiPresidenā¦ https://t.co/uu2xF2MpiT | infrastruktur belum menjadi urgensi saat ini apabila penegakan HAM kualitas lingkungan hidup dan kualitas |
3. Case Folding: proses penyeragaman bentuk huruf serta penghilangan tanda baca. Dalam hal ini hanya menerima huruf latin antara a sampai z.
Sebelum | Sesudah |
Bahkan pembangunan infrastruktur mempunyai dampak yang terus baik untuk milenial tetep Jokowi | bahkan pembangunan infrastruktur mempunyai dampak yang terus baik untuk milenial tetep jokowi |
infrastruktur belum menjadi urgensi saat ini apabila penegakan HAM kualitas lingkungan hidup dan kualitas | infrastruktur belum menjadi urgensi saat ini apabila penegakan ham kualitas lingkungan hidup dan kualitas |
4. Stemming dan lemmatization: merubah kata-kata dalam tweet menjadi bentuk standar atau kata dasar
Sebelum | Sesudah |
bahkan pembangunan infrastruktur mempunyai dampak yang terus baik untuk milenial tetep jokowi | bahkan bangun infrastruktur punya dampak yang terus baik untuk milenial tetep jokowi |
infrastruktur belum menjadi urgensi saat ini apabila penegakan ham kualitas lingkungan hidup dan kualitas | infrastruktur belum jadi urgensi saat ini apabila tegak ham kualitas lingkungan hidup dan kualitas |
5. Stopword: menghapus kata pada tweet yang terkandung di dalam stopwords. Daftar kata stopwords adalah daftar kata umum yang biasanya muncul dalam jumlah besar dan dianggap tidak memiliki makna.
Sebelum | Sesudah |
bahkan bangun infrastruktur punya dampak yang terus baik untuk milenial tetep jokowi | bangun infrastruktur dampak baik milenial jokowi |
infrastruktur belum jadi urgensi saat ini apabila tegak ham kualitas lingkungan hidup dan kualitas | Infrastruktur urgensi tegak ham kualitas lingkungan hidup kualitas |
6. Tokenization: proses untuk membagi teks yang dapat berupa kalimat, paragraf atau dokumen menjadi token-token/kata-kata.
Output |
ābangunā, āinfrastrukturā, ādampakā, ābaikā, ā milenialā, ājokowiā |
āInfrastrukturā, āurgensiā, ātegakā, āhamā, ākualitasā, ālingkunganā, āhidupā, ākualitasā |
7. Bag of Words (BoW): cara paling sederhana untuk mengekstrak fitur dari teks. BoW mengubah teks menjadi matriks kemunculan kata-kata dalam dokumen.
Contoh:
Doc 1: I love dogs.
Doc 2: I hate dogs and knitting.
Doc 3: Knitting is my hobby and passion.

7. TF-IDF : Pembobotan kata

TF : Jumlah Kata W muncul di dokumen ke-i
Doc 1: I love dogs.
Doc 2: I hate dogs and knitting.
Doc 3: Knitting is my hobby and passion.

Pemodelan
Pada bagian ini, terdapat berbagai metode atau pemodelan yang dapat kamu gunakan untuk melakukan analisis sentimen. Salah satu metode klasifikasi yang cukup populer digunakan dalam analisis sentimen adalah Naive Bayes. Algoritma NaĆÆve Bayes adalah teknik klasifikasi berdasarkan penerapan teorema Bayes dengan asumsi kuat bahwa semua prediktor tidak bergantung satu sama lain. Dengan kata sederhana, asumsinya adalah bahwa keberadaan fitur di kelas tidak bergantung pada keberadaan fitur lain di kelas yang sama.

Pada python, kamu tidak perlu menulis sendiri code untuk pemodelan menggunakan algoritma tersebut. Python telah menyediakan library yang dapat diimport secara langsung, yaitu pada library sklearn.naive_bayes. Berikut contoh code penggunaan Multinomial Naive Bayes untuk analisis sentimen.

Code lengkap dan data yang digunakan akan dibahas pada artikel terpisah yaa.
Evaluasi Model
Setelah dilakukan pemodelan, maka proses selanjutnya adalah melakukan evaluasi model yang telah dibuat. Pada klasifikasi, evaluasi model dilakukan dengan mengukur akurasi model. Akurasi merupakan tingkat kedekatan antara nilai prediksi dengan nilai aktual. Semakin tinggi nilai akurasi menunjukkan model semakin baik. Pengukuran akurasi untuk klasifikasi dapat dilakukan menggunakan confusion matrix. Berikut table Confusion Matrix untuk klasifikasi dua kelas :


- Akurasi adalah proporsi jumlah prediksi yang benar.
- Presisi adalah proporsi kasus dengan hasil positif yang benar,
- TP (True positive) adalah jumlah record positif yang diklasifikasikan sebagai positif oleh classifier.
- TN (True negative) adalah jumlah record negatif yang diklasifikasikan sebagai negatif oleh clasifier.
- FP (False positive) adalah jumlah record negatif yang diklasifikasikan sebagai positif oleh clasifier.
- FN (False negative) adalah jumlah record positif yang diklasifikasikan sebagai negatif oleh classifier.
Deployment Model
Setelah dievaluasi bahwa model yang digunakan telah baik dan memenuhi kriteria, maka tahapan terakhir adalah melakukan deployment. Tahapan ini dilakukan agar model yang kita buat dapat dengan mudah digunakan oleh user atau pihak lain. Deployment dapat berupa aplikasi, web atau dashboard visualisasi.
Apa Saja Contoh Penerapan Analisis Sentimen?
Setelah mengetahui langkah-langkah analisis sentimen, kamu sebaiknya juga mengetahui apa saja contoh real case penerapan analisis sentimen. Penerapan tersebut dapat dilakukan untuk berbagai bidang, diantaranya:
- Di bidang bisnis, analisis sentimen dapat digunakan untuk mengetahui bagaimana reputasi suatu brand atau produk baru di mata masyarakat. Perusahaan dapat menggunakan data-data review dari internet atau komentar para konsumer di media sosial. Analisis sentimen juga dapat dijadikan sebagai dasar pembuatan iklan-iklan produk suatu perusahaan.
- Di bidang politik, analisis sentimen dapat digunakan untuk melihat popularitas dan elektabilitas dari calon pemimpin di mata masyarakat. Analisis sentimen juga dapat digunakan untuk menyerap berbagai aspirasi dan masukkan dari masyarakat terkait pemerintahan atau situasi politik yang sedang berlangsung.
Nah, sebenarnya masih banyak lagi penerapan analisis sentimen di kehidupan sehari-hari, tapi akan kita bahas dilain kesempatan ya. Jangan lupa, kamu juga bisa menambahkan contoh lain di kolom komentar.
Sekian artikel analisis sentimen kali ini. Semoga bermanfaat dan menambah wawasan kamu. See you!
Baca juga: REKOMENDASI PLATFORM AI (ARTIFICIAL INTELLIGENCE) BUAT KAMU!
Referensi
Materi Webinar Exsight Analytics dengan tema Twitter Sentiment Analysis with Python : Indonesian Public Perceptions of COVID-19 oleh Akbar Maulana – 31 Juli 2021

Permisi kak mau tanya. Di artikel ini tertulis “Code lengkap dan data yang digunakan akan dibahas pada artikel terpisah yaa.” Nah, itu lanjutannya di artikel dengan judul apa ya kak? Karena saya cari sampai 2021 tidak ada tentang sentimen
Bisa dibaca di artikel berikut ya kaa š
https://exsight.id/blog/2024/02/24/tutorial-analisis-sentimen-dengan-python/
Pingback: Tutorial Analisis Sentimen Dengan Python - Exsight