Data Scientist, Data Science, Machine Learning, Statistics, Data Science Indonesia, Data Analytics, Data Analysis, Data Analyst, Data, Astronomy, Astronomer, Science, Python, iPython, Jupyter Notebook, R, RStudio, Excel, Coding, Koding, Cara Mengolah Data, Mengolah Data, Olah Data, Programming, Pemrograman, Sains, Teknologi, Ilmu Data, Teknologi Informasi, Tech in Asia, Teknologi, Technology, Sains, Bisnis, Business, Business Analyst, Business Analysis, Social Media Mining, Movie Review, Muhammad Azizul Hakim, Aziz

Bermain Twitter dengan R (Part 4) – Pengantar Algoritma Klasifikasi Sentimen

“All models are approximations. Essentially, all models are wrong, but some are useful. However, the approximate nature of the model must always be borne in mind.”

~ George E. P. Box

Pada postingan minggu lalu, kita telah membahas langkah-langkah opinion mining/sentiment analysis. Pada pembahasan kali ini, kita akan sedikit membahas mengenai beragam algoritma yang biasa digunakan untuk mengklasifikasikan sentimen.

Klasifikasi sentimen memang bukan perkara yang mudah. Meskipun begitu, terdapat beragam algoritma klasifikasi yang dapat diterapkan pada kasus opinion mining/sentiment analysis. Algoritma-algoritma tersebut beragam, mulai dari classifier probabilistik sederhana seperti Naive Bayes (probability classifier yang mengasumsikan semua feature saling independen satu sama lainnya, dan tidak menggunakan/melibatkan informasi sebelumnya (prior information), hingga classifier yang lebih advanced seperti Maximum Entropy Classifier (yang menggunakan informasi prior hingga batasan tertentu).

Banyak juga hyperspace classifiers seperti Support Vector Machine (SVM) dan Neural Networks (NN) yang juga biasa diterapkan untuk mengklasifikasikan sentimen dengan akurasi tinggi. Secara umum, tingginya akurasi diantara SVM dan NN dapat dicapai dengan kernel trick.

Metode-metode di atas, dikenal juga dengan sebutan Content-based Methods, yaitu menggunakan konten teks sebagai bahan informasi untuk model-model classifier.

Metode lainnya yang juga diterapkan untuk klasifikasi sentimen, misalnya Anomaly/Spam Detection atau Social Spammer Detection. Pendeteksian dimulai dengan pengidentifikasian profil palsu (fake profiles). Fake profiles biasa dibuat dengan tujuan buruk (malicious intention), khususnya untuk berpura-pura menjadi orang lain, lalu melakukan aktivitas yang tidak semestinya, sehingga dapat merugikan profil orang yang mereka palsukan, begitu juga dengan orang lainnya. Contoh kasus social spamming yang sering terjadi adalah penipuan oleh akun palsu yang mengatasnamakan public figure/selebritas dunia maya, online bullying, trolling, dll.

Metode-metode antispam dibutuhkan, karena metode content-based memiliki kekurangan, yaitu mereka tidak bisa memfilter email/konten spam yang memiliki konten/bahasa yang sama dengan email ham (email normal) (Gogar, T. (2015)).

Data Scientist, Data Science, Machine Learning, Statistics, Data Science Indonesia, Data Analytics, Data Analysis, Data Analyst, Data, Astronomy, Astronomer, Science, Python, iPython, Jupyter Notebook, R, RStudio, Excel, Coding, Koding, Cara Mengolah Data, Mengolah Data, Olah Data, Programming, Pemrograman, Sains, Teknologi, Ilmu Data, Teknologi Informasi, Tech in Asia, Teknologi, Technology, Sains, Bisnis, Business, Business Analyst, Business Analysis, Social Media Mining, Movie Review, Muhammad Azizul Hakim, Aziz
Contoh flowchart pengklasifikasian/prediksi kelas dari fake profiles. Sumber Gambar: Ravindran et. al (2015).

Contoh-contoh metode/model yang digunakan untuk mendeteksi anomali:

Data Scientist, Data Science, Machine Learning, Statistics, Data Science Indonesia, Data Analytics, Data Analysis, Data Analyst, Data, Astronomy, Astronomer, Science, Python, iPython, Jupyter Notebook, R, RStudio, Excel, Coding, Koding, Cara Mengolah Data, Mengolah Data, Olah Data, Programming, Pemrograman, Sains, Teknologi, Ilmu Data, Teknologi Informasi, Tech in Asia, Teknologi, Technology, Sains, Bisnis, Business, Business Analyst, Business Analysis, Social Media Mining, Movie Review, Muhammad Azizul Hakim, Aziz
Metode-metode pendeteksian anomali. Sumber Gambar: Gogar, T. (2015).

Algoritma yang akan digunakan untuk mengidentifikasikan spam maupun spammers berdasarkan dataset, adalah kelompok/kelas algoritma yang dikenal sebagai Supervised Machine Learning Algorithms. Dataset contoh yang digunakan untuk ‘melatih’ model/algoritma kita, dikenal sebagai training dataset.

Berikut ini, kita jabarkan dataset tersebut dengan notasi:

Data Scientist, Data Science, Machine Learning, Statistics, Data Science Indonesia, Data Analytics, Data Analysis, Data Analyst, Data, Astronomy, Astronomer, Science, Python, iPython, Jupyter Notebook, R, RStudio, Excel, Coding, Koding, Cara Mengolah Data, Mengolah Data, Olah Data, Programming, Pemrograman, Sains, Teknologi, Ilmu Data, Teknologi Informasi, Tech in Asia, Teknologi, Technology, Sains, Bisnis, Business, Business Analyst, Business Analysis, Social Media Mining, Movie Review, Muhammad Azizul Hakim, Aziz= Urutan record/data ke-i (yang tersusun dari pasangan Data Scientist, Data Science, Machine Learning, Statistics, Data Science Indonesia, Data Analytics, Data Analysis, Data Analyst, Data, Astronomy, Astronomer, Science, Python, iPython, Jupyter Notebook, R, RStudio, Excel, Coding, Koding, Cara Mengolah Data, Mengolah Data, Olah Data, Programming, Pemrograman, Sains, Teknologi, Ilmu Data, Teknologi Informasi, Tech in Asia, Teknologi, Technology, Sains, Bisnis, Business, Business Analyst, Business Analysis, Social Media Mining, Movie Review, Muhammad Azizul Hakim, Aziz dan Data Scientist, Data Science, Machine Learning, Statistics, Data Science Indonesia, Data Analytics, Data Analysis, Data Analyst, Data, Astronomy, Astronomer, Science, Python, iPython, Jupyter Notebook, R, RStudio, Excel, Coding, Koding, Cara Mengolah Data, Mengolah Data, Olah Data, Programming, Pemrograman, Sains, Teknologi, Ilmu Data, Teknologi Informasi, Tech in Asia, Teknologi, Technology, Sains, Bisnis, Business, Business Analyst, Business Analysis, Social Media Mining, Movie Review, Muhammad Azizul Hakim, Aziz).

Data Scientist, Data Science, Machine Learning, Statistics, Data Science Indonesia, Data Analytics, Data Analysis, Data Analyst, Data, Astronomy, Astronomer, Science, Python, iPython, Jupyter Notebook, R, RStudio, Excel, Coding, Koding, Cara Mengolah Data, Mengolah Data, Olah Data, Programming, Pemrograman, Sains, Teknologi, Ilmu Data, Teknologi Informasi, Tech in Asia, Teknologi, Technology, Sains, Bisnis, Business, Business Analyst, Business Analysis, Social Media Mining, Movie Review, Muhammad Azizul Hakim, Aziz = Input vector, yang berupa kumpulan variabel features pada titik sampel Data Scientist, Data Science, Machine Learning, Statistics, Data Science Indonesia, Data Analytics, Data Analysis, Data Analyst, Data, Astronomy, Astronomer, Science, Python, iPython, Jupyter Notebook, R, RStudio, Excel, Coding, Koding, Cara Mengolah Data, Mengolah Data, Olah Data, Programming, Pemrograman, Sains, Teknologi, Ilmu Data, Teknologi Informasi, Tech in Asia, Teknologi, Technology, Sains, Bisnis, Business, Business Analyst, Business Analysis, Social Media Mining, Movie Review, Muhammad Azizul Hakim, Aziz.

Data Scientist, Data Science, Machine Learning, Statistics, Data Science Indonesia, Data Analytics, Data Analysis, Data Analyst, Data, Astronomy, Astronomer, Science, Python, iPython, Jupyter Notebook, R, RStudio, Excel, Coding, Koding, Cara Mengolah Data, Mengolah Data, Olah Data, Programming, Pemrograman, Sains, Teknologi, Ilmu Data, Teknologi Informasi, Tech in Asia, Teknologi, Technology, Sains, Bisnis, Business, Business Analyst, Business Analysis, Social Media Mining, Movie Review, Muhammad Azizul Hakim, Aziz = Output label.

Tugas algoritma-algoritma tersebut adalah menginfer (‘menebak’/menduga atau menentukan) suatu fungsi f (dari kumpulan informasi mengenai fungsi F yang diberikan) yang memetakan vektor Data Scientist, Data Science, Machine Learning, Statistics, Data Science Indonesia, Data Analytics, Data Analysis, Data Analyst, Data, Astronomy, Astronomer, Science, Python, iPython, Jupyter Notebook, R, RStudio, Excel, Coding, Koding, Cara Mengolah Data, Mengolah Data, Olah Data, Programming, Pemrograman, Sains, Teknologi, Ilmu Data, Teknologi Informasi, Tech in Asia, Teknologi, Technology, Sains, Bisnis, Business, Business Analyst, Business Analysis, Social Media Mining, Movie Review, Muhammad Azizul Hakim, Aziz ke vektor Data Scientist, Data Science, Machine Learning, Statistics, Data Science Indonesia, Data Analytics, Data Analysis, Data Analyst, Data, Astronomy, Astronomer, Science, Python, iPython, Jupyter Notebook, R, RStudio, Excel, Coding, Koding, Cara Mengolah Data, Mengolah Data, Olah Data, Programming, Pemrograman, Sains, Teknologi, Ilmu Data, Teknologi Informasi, Tech in Asia, Teknologi, Technology, Sains, Bisnis, Business, Business Analyst, Business Analysis, Social Media Mining, Movie Review, Muhammad Azizul Hakim, Aziz yang berkaitan, dengan akurasi tinggi. Fungsi f inilah yang biasa dikenal sebagai learned/trained model. Sedangkan, proses menginfer f, menggunakan training data, disebut sebagai learning.

Jika suatu model telah terlatih, kita dapat memanfaatkannya menggunakan data baru untuk memprediksi/mengidentifikasi label atau kelasnya. Kemampuan suatu algoritma/model untuk dapat mengidentifikasikan kumpulan data baru yang berbeda dengan training data (dikenal sebagai test data) dengan akurasi tinggi, inilah yang dikenal sebagai generalization.

Gambar di bawah ini mengilustrasikan binary classification menggunakan SVM. Titik-titik merah dan hitam merupakan bagian dari training data Data Scientist, Data Science, Machine Learning, Statistics, Data Science Indonesia, Data Analytics, Data Analysis, Data Analyst, Data, Astronomy, Astronomer, Science, Python, iPython, Jupyter Notebook, R, RStudio, Excel, Coding, Koding, Cara Mengolah Data, Mengolah Data, Olah Data, Programming, Pemrograman, Sains, Teknologi, Ilmu Data, Teknologi Informasi, Tech in Asia, Teknologi, Technology, Sains, Bisnis, Business, Business Analyst, Business Analysis, Social Media Mining, Movie Review, Muhammad Azizul Hakim, Aziz yang merepresentasikan dua tipe label Data Scientist, Data Science, Machine Learning, Statistics, Data Science Indonesia, Data Analytics, Data Analysis, Data Analyst, Data, Astronomy, Astronomer, Science, Python, iPython, Jupyter Notebook, R, RStudio, Excel, Coding, Koding, Cara Mengolah Data, Mengolah Data, Olah Data, Programming, Pemrograman, Sains, Teknologi, Ilmu Data, Teknologi Informasi, Tech in Asia, Teknologi, Technology, Sains, Bisnis, Business, Business Analyst, Business Analysis, Social Media Mining, Movie Review, Muhammad Azizul Hakim, Aziz. SVM adalah algoritma yang melibatkan transformasi yang rapi nan cerdik, sehingga dapat mentransformasikan feature ruang (feature space) dari data menjadi feature ruang yang baru dengan menggunakan beragam kernel. Detail mengenai SVM dan beragam kernel trik berada di luar cakupan analisis sentimen yang kita bahas, namun jika waktu dan kesempatan mengizinkan, akan kita bahas di lain waktu. 🙂

Data Scientist, Data Science, Machine Learning, Statistics, Data Science Indonesia, Data Analytics, Data Analysis, Data Analyst, Data, Astronomy, Astronomer, Science, Python, iPython, Jupyter Notebook, R, RStudio, Excel, Coding, Koding, Cara Mengolah Data, Mengolah Data, Olah Data, Programming, Pemrograman, Sains, Teknologi, Ilmu Data, Teknologi Informasi, Tech in Asia, Teknologi, Technology, Sains, Bisnis, Business, Business Analyst, Business Analysis, Social Media Mining, Movie Review, Muhammad Azizul Hakim, Aziz
Sumber Gambar: Ravindran et. al (2015).

Stay tuned, and enjoy! Semoga bermanfaat selalu, ya. 😀

 

References & Further Reading

Gogar, T. (2015): Anomaly Detection in Email Traffic, Dept. of Cybernetics , Czech Technical University, Karlovo namesti 13, 121 35 Prague, Czech Republic.

Ravindran et. al (2015): Mastering Social Media Mining with R, Packt Publishing.

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google

You are commenting using your Google account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s