Anda di halaman 1dari 32

Analisis Sentimen

Kebijakan tentang
Covid-19 di
Indonesia
My Bio

Experience :
• Data Analyst at Tokopedia
• Data Scientist at Jabar Digital Service
• Data Science Tutor at Shift Academy
• Business Intelligence Analyst at Jabar Digital
Service
www.linkedin.com/in/akbar-maulana/

akbar.maulana2298@gmail.com
bit.ly/sentiment_analysis_covid19
Topics
• What is Machine Learning?
• Type of Machine Learning
• What is Text Mining?
• What is Social Media Analytics?
• About Sentiment Analysis
• Twitter developer account
• Use case example
Objective
• Participants understand sentiment analysis
• Participants understand how to do sentiment analysis in
python
What is Machine Learning?
“The ability of a machine to perform a specific task performed by a
human without being explicitly programmed to perform that task. "
Type of Machine Learning
Type of Machine Learning
Type of Machine Learning
Semi Supervised Learning
General Step
What is Text Mining?
Text Mining is the process of extracting patterns of useful
information and knowledge from a large number of text data
sources, such as Word documents, PDFs, text quotes, etc.

Teks Insight
What is Sentiment Analysis?
Sentimen analisis merupakan salah satu aplikasi dari text mining yang membangun sistem
untuk mengenali dan mengekstraksi opini dalam bentuk teks.

Informasi berbentuk teks saat ini banyak terdapat di internet dalam format forum, blog, media
sosial, serta situs berisi review. 

Perusahaan, pemerintah, maupun bidang lainnya kemudian memanfaatkan data-data tersebut


untuk membuat analisis marketing, review produk, umpan-balik produk, politik dan layanan
masyarakat.
Social Media Analytics
Social Media Analytics adalah suatu kegiatan untuk mengumpulkan data-
data baik social media  untuk kemudian di analisa agar dapat diambil suatu
insight.
How to do sentiment analysis
1. Business Understanding
2. Crawling Data
3. Labeling Data
4. Preprocessing Data
5. Modeling
6. Evaluation
7. Deployment model
Crawling Data
Crawling merupakan teknik mengumpulkan data pada sebuah website dengan memasukkan Uniform
Resource Locator (URL). Untuk penerapannya 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.
Twitter Developer Account
Twitter Developer Account
https://developer.twitter.com/en/apps
Labeling Data
• Manual
Labeling sebagian dan yang termudah

• Otomatis
Labeling menggunakan dictionary atau lexicon based
Preprocessing data
1. Menghapus data yang tidak berhubungan dengan topik.
2. Menghapus HTML link, mention, username, hastag, Retweet, angka, tanda baca, spasi berlebih.

No. Sebelum Sesudah


1.   RT @Jokowi Bahkan pembangunan infrastruktur Bahkan pembangunan infrastruktur mempunyai dampak
mempunyai dampak yang terus baik untuk milenial, 2019 yang terus baik untuk milenial tetep Jokowi
tetep Jokowi :v #JokowiSatukanIndonesia..
https://t.co/eImKTiY8An
2.   RT @fakir @jokowi infrastruktur belum menjadi urgensi infrastruktur belum menjadi urgensi saat ini apabila
saat ini apabila penegakan HAM, kualitas lingkungan penegakan HAM kualitas lingkungan hidup dan kualitas
hidup,dan kualitas :) #2019GantiPresiden…
https://t.co/uu2xF2MpiT
Preprocessing data
3. Case Folding : menyeragamkan huruf menjadi non kapital
No. Sebelum Sesudah
1.   Bahkan pembangunan infrastruktur bahkan pembangunan infrastruktur
mempunyai dampak yang terus baik untuk mempunyai dampak yang terus baik
milenial tetep Jokowi untuk milenial tetep jokowi
2.   infrastruktur belum menjadi urgensi saat infrastruktur belum menjadi urgensi saat
ini apabila penegakan HAM kualitas ini apabila penegakan ham kualitas
lingkungan hidup dan kualitas lingkungan hidup dan kualitas

4. Stemming dan lemmatization: merubah kata-kata dalam tweet menjadi bentuk standar atau kata dasar.

No. Sebelum Sesudah


1.   bahkan pembangunan infrastruktur bahkan bangun infrastruktur punya
mempunyai dampak yang terus baik untuk dampak yang terus baik untuk milenial
milenial tetep jokowi tetep jokowi
2.   infrastruktur belum menjadi urgensi saat infrastruktur belum jadi urgensi saat ini
ini apabila penegakan ham kualitas apabila tegak ham kualitas lingkungan
lingkungan hidup dan kualitas hidup dan kualitas
Preprocessing data
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.

No. Sebelum Sesudah


1.   bahkan bangun infrastruktur punya dampak bangun infrastruktur dampak baik
yang terus baik untuk milenial tetep jokowi milenial jokowi
2.   infrastruktur belum jadi urgensi saat ini Infrastruktur urgensi tegak ham kualitas
apabila tegak ham kualitas lingkungan lingkungan hidup kualitas
hidup dan kualitas

6. Tokenization: proses untuk membagi teks yang dapat berupa kalimat, paragraf atau dokumen menjadi
token-token/kata-kata.

No. Output
1.   “bangun”, ”infrastruktur”, “dampak”, “baik”, “ milenial”, “jokowi”
2.  “Infrastruktur”, ”urgensi”, “tegak”, “ham”, “kualitas”, “lingkungan”, “hidup”,
“kualitas”
Preprocessing data
7. Bag of Words (BoW): cara paling sederhana untuk mengekstrak fitur dari teks. BoW mengubah
teks menjadi matriks kemunculan kata-kata dalam dokumen.
Doc 1: I love dogs.
Doc 2: I hate dogs and knitting.
Doc 3: Knitting is my hobby and passion.

Document-Term Matrix(DTM)
Preprocessing data
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.
Modeling
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.
Modeling
Naive Bayes

How about Refund=Yes, Marital Status= Divorced, Income=137K?


P(c|x):
● P(Evade= Yes | Refund=Yes, Marital Status= Divorced, Income=137K)
● P(Evade= No | Refund=Yes, Marital Status= Divorced, Income=137K)

P(x|c):
● P(Refund=Yes, Marital Status= Divorced, Income=137K | Evade= Yes )
● P(Refund=Yes, Marital Status= Divorced, Income=137K | Evade= No )

p(c) :

● P(Evade= Yes )
● P(Evade= No)

P(x)
● P(Refund=Yes)*P( Marital Status= Divorced)*P( Income=137K )
Modeling
Naive Bayes
Evaluation
Deployment
Sentiment Analysis Applications
Covid-19 in Indonesia
Let’s Hands On
Thank You

Anda mungkin juga menyukai