Bermain Twitter dengan R (Part 3) – Pengantar Sentiment Analysis

Blog Banner Twitter Sentiment Analysis 3

“While the individual man is an insoluble puzzle, in the aggregate he becomes a mathematical certainty. You can, for example, never foretell what any one man will be up to, but you can say with precision what an average number will be up to. Individuals vary, but percentages remain constant. So says the statistician.”

~ Arthur Conan Doyle

Sebelum kita masuk ke praktik/hands on pada sentiment analysis, ada baiknya kita pelajari bersama dahulu teori-teori di belakangnya, agar tidak terlalu black box. 🙂

Secara sederhana, opinion mining atau sentiment analysis adalah metode untuk menilai opini/sentimen yang muncul dari suatu frasa atau kalimat. Seringkali dokumentasi lengkap (dataset, corpus, dll) yang tersedia mengenai sentiment analysis ini dalam bahasa Inggris, namun secara teoretik, sentiment analysis dapat dilakukan dalam bahasa apapun.

Sumber data/kalimat yang digunakan untuk sentimen analisis pun dapat bersumber dari manapun-baik itu tweet dengan total 140 karakter, Facebook post atau chat, forum post Kaskus, SMS, dll.

Berikut ini adalah contoh sederhana kalimat-kalimat beserta sentimennya:

  • Pertama kalinya keliling-keliling Jogja, senang sekali rasanya – Positif
  • Driver ojolnya baik banget. Kayaknya driver ojol emang pada baik-baik deh orangnya – Positif

Contoh dalam Bahasa Inggris:

  • I love little sunshine in winters, make me feel alive – Positif
  • I am stuck in a same place, feeling sad – Negatif

Analisis sentimen memainkan peran penting untuk mengerti sentimen dari konsumen, yang pastinya akan berdampak pada pertumbuhan suatu bisnis. Pepatah “words are mightier than swords”, cocok sekali untuk menggambarkan peran media sosial dan sentimen pelanggan dalam hal ini. Kemajuan dalam bidang analisis sentimen ini memungkinkan prediksi hasil pemilu berdasarkan sentimen pemilih di sosial media, prediksi harga saham (stock market forecast) berdasarkan analisis tweet konsumen, dll.

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: nytimes.com. Credit: Bill Marsh, graphics editor untuk Sunday Review section of The New York Times.

Langkah-langkah Sentiment Analysis

Opini atau sentimen ke komputer dapat dideskripsikan sebagai vektor/variabel 5-D (quintuple), yang setiap variabelnya merepresentasikan hal-hal berikut:

  • oj: Objective atau product, yang diperoleh dari named entity extraction.
  • fjk: Feature dari oj, yang dievaluasi menggunakan information mining theory.
  • hi: Information miner.
  • Ti: Data extraction.
  • soijkl: Nilai sentimen dari opini, dari opinion holder hi pada feature fjk dari objek ojKecil pada waktu tl

Berikut ini, adalah langkah-langkah untuk memperoleh nilai sentimen atau sentiment value soijkl:

  1. Part-of-speech tagging (POS), berarti bahwa suatu istilah (kata atau frasa) pada suatu teks yang ditandai menggunakan pos-tagger sehingga tersedia label untuk setiap kata/frasa, yang memungkinkan sistem untuk bertindak sesuai dengan label tersebut.
  2. Melihat sentiment orientation (SO) dari pola yang telah kita mining. Sebagai contoh, kita mengekstrak frasa dalam Bahasa Inggris, yaitu: “Remarkable” + “Handset”, yang merupakan [JJ] + [NN], atau kata sifat (adjective) diikuti dengan kata benda (noun). Contoh lawannya yaitu “Awful”.  Pada langkah ke-2 ini, sistem berusaha untuk menempatkan kata/frase pada skala emosi (emotive scale).
  3. Menghitung sentiment orientation rata-rata (average sentiment orientation). Hasilnya, akan memungkinkan sistem untuk memberi penilaian sebagai berikut:
  • “Usually individuals like the fresh Handset.” They recommend it
  • “Usually individuals hate the fresh Handset.” They don’t recommend it

 

What Next?

Di part berikutnya, akan kita bahas bersama juga mengenai beragam algoritma klasifikasi yang seringkali digunakan untuk mengklasifikasikan sentimen.

Stay tuned, and enjoy! 😀

 

References & Further Reading

Categorizing and Tagging Words (pakai NLTK Python sih ini, wakaka).

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

Follow and like us: