{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Deteksi Sarkasme\n", "Aktivitas online telah tumbuh menjadi kekuatan besar, salah satunya adalah media sosial Twitter. Twitter telah menjadi mekanisme utama dalam menerima tanggapan dari seluruh dunia. Pada sebagian besar orang Indonesia aktif dan juga ekspresif melalui tweet mereka sehingga opini mereka dapat mengandung sindiran pahit, celaan, dan bahkan dapat berupa kata-kata\n", "positif untuk mengungkapkan opini negatif. Dengan begitu maka dibuatlah sebuah deteksi sarkasme agar dapat membantu mengenali apakah tweet tersebut merupakan sarkasme atau bukan. \n", "\n", "Deteksi sarkasme termasuk ke dalam Analisis sentimen yang termasuk bagian dari Natural Language Processing (NLP) berkaitan dengan menemukan maksud dari opini dalam sebuah teks. Terdapat beberapa tahapan dalam membangun sebuah sistem untuk deteksi sarkasme.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Dataset\n", "Dataset dikumpulkan secara mandiri dengan didapat dari Twitter dengan bantuan API twitter yaitu Tweepy. Data yang diperoleh dikumpulkan dan berjumlah 600 data. Untuk pelabelan setiap tweet dilakukan dengan bantuan Guru Bahasa Indonesia yang ahli dalam bidangnya." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", " | Tweet | \n", "Label | \n", "
---|---|---|
0 | \n", "@mopuci @collegemenfess Mjb, indogsat 100k 50g... | \n", "Sarkasme | \n", "
1 | \n", "ini jaringan pas wiken knp kenceng pakee bgttt... | \n", "Sarkasme | \n", "
2 | \n", "@MNCPlayID sudah lebih dari 16 jam layanan int... | \n", "BukanSarkas | \n", "
3 | \n", "@IndiHome lapor di daerah sukatani tapos dep... | \n", "BukanSarkas | \n", "
4 | \n", "indosat ngntd kmpa si, ada jaringan tpi browse... | \n", "BukanSarkas | \n", "
... | \n", "... | \n", "... | \n", "
595 | \n", "Kirain jam segini jaringan baguss | \n", "BukanSarkas | \n", "
596 | \n", "@gengysi w kirain jaringan lemot, ternyata....🤣🤣😝 | \n", "BukanSarkas | \n", "
597 | \n", "gedek bgt gue, jaringan tiba² ilang pas lagi u... | \n", "BukanSarkas | \n", "
598 | \n", "@FirstMediaCares Tidak ada jaringan min dari j... | \n", "BukanSarkas | \n", "
599 | \n", "Akhirnya bisa merasakan jaringan internet lagi 😭 | \n", "BukanSarkas | \n", "
600 rows × 2 columns
\n", "\n", " | Tweet | \n", "Label | \n", "casefolding1 | \n", "
---|---|---|---|
0 | \n", "@mopuci @collegemenfess Mjb, indogsat 100k 50g... | \n", "Sarkasme | \n", "mjb, indogsat 100k 50gb. jaringan lebih ok ju... | \n", "
1 | \n", "ini jaringan pas wiken knp kenceng pakee bgttt... | \n", "Sarkasme | \n", "ini jaringan pas wiken knp kenceng pakee bgttt... | \n", "
2 | \n", "@MNCPlayID sudah lebih dari 16 jam layanan int... | \n", "BukanSarkas | \n", "sudah lebih dari 16 jam layanan internet dan ... | \n", "
3 | \n", "@IndiHome lapor di daerah sukatani tapos dep... | \n", "BukanSarkas | \n", " lapor di daerah sukatani tapos depok serin... | \n", "
4 | \n", "indosat ngntd kmpa si, ada jaringan tpi browse... | \n", "BukanSarkas | \n", "indosat ngntd kmpa si, ada jaringan tpi browse... | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "
595 | \n", "Kirain jam segini jaringan baguss | \n", "BukanSarkas | \n", "kirain jam segini jaringan baguss | \n", "
596 | \n", "@gengysi w kirain jaringan lemot, ternyata....🤣🤣😝 | \n", "BukanSarkas | \n", "w kirain jaringan lemot, ternyata.... | \n", "
597 | \n", "gedek bgt gue, jaringan tiba² ilang pas lagi u... | \n", "BukanSarkas | \n", "gedek bgt gue, jaringan tiba² ilang pas lagi u... | \n", "
598 | \n", "@FirstMediaCares Tidak ada jaringan min dari j... | \n", "BukanSarkas | \n", "tidak ada jaringan min dari jam 12 offline | \n", "
599 | \n", "Akhirnya bisa merasakan jaringan internet lagi 😭 | \n", "BukanSarkas | \n", "akhirnya bisa merasakan jaringan internet lagi | \n", "
600 rows × 3 columns
\n", "\n", " | casefolding1 | \n", "Tokenisasi | \n", "
---|---|---|
0 | \n", "mjb, indogsat 100k 50gb. jaringan lebih ok ju... | \n", "[mjb, ,, indogsat, 100k, 50gb, ., jaringan, le... | \n", "
1 | \n", "ini jaringan pas wiken knp kenceng pakee bgttt... | \n", "[ini, jaringan, pas, wiken, knp, kenceng, pake... | \n", "
2 | \n", "sudah lebih dari 16 jam layanan internet dan ... | \n", "[sudah, lebih, dari, 16, jam, layanan, interne... | \n", "
3 | \n", " lapor di daerah sukatani tapos depok serin... | \n", "[, , lapor, di, daerah, sukatani, tapos, dep... | \n", "
4 | \n", "indosat ngntd kmpa si, ada jaringan tpi browse... | \n", "[indosat, ngntd, kmpa, si, ,, ada, jaringan, t... | \n", "
5 | \n", "males mau bobo lagi jaringan ngajak kelahi | \n", "[males, mau, bobo, lagi, jaringan, ngajak, kel... | \n", "
6 | \n", "hawa dingin habis hujan ditambah jaringan lem... | \n", "[hawa, dingin, habis, hujan, ditambah, jaringa... | \n", "
7 | \n", "jaringan aku dsini lemot banget, padahal masi... | \n", "[jaringan, aku, dsini, lemot, banget, ,, padah... | \n", "
8 | \n", "jaringan ama web gw kenapa si ngeselin banget,... | \n", "[jaringan, ama, web, gw, kenapa, si, ngeselin,... | \n", "
9 | \n", "halo byu, sudah hampir 3 minggu ini sinyal da... | \n", "[halo, byu, ,, sudah, hampir, 3, minggu, ini, ... | \n", "
10 | \n", "hahah bru kekirim pdhl ngetweet td malem emang... | \n", "[hahah, bru, kekirim, pdhl, ngetweet, td, male... | \n", "
11 | \n", "giliran ujian laptop sama jaringan tiba2 lemot... | \n", "[giliran, ujian, laptop, sama, jaringan, tiba2... | \n", "
12 | \n", "jaringan kyk anyinggggg robohin aj towernya ck | \n", "[jaringan, kyk, anyinggggg, robohin, aj, tower... | \n", "
\n", " | casefolding2 | \n", "
---|---|
0 | \n", "[mjb, , indogsat, k, gb, , jaringan, lebih, ok... | \n", "
1 | \n", "[ini, jaringan, pas, wiken, knp, kenceng, pake... | \n", "
2 | \n", "[sudah, lebih, dari, , jam, layanan, internet,... | \n", "
3 | \n", "[, , lapor, di, daerah, sukatani, tapos, depok... | \n", "
4 | \n", "[indosat, ngntd, kmpa, si, , ada, jaringan, tp... | \n", "
5 | \n", "[males, mau, bobo, lagi, jaringan, ngajak, kel... | \n", "
6 | \n", "[hawa, dingin, habis, hujan, ditambah, jaringa... | \n", "
7 | \n", "[jaringan, aku, dsini, lemot, banget, , padaha... | \n", "
8 | \n", "[jaringan, ama, web, gw, kenapa, si, ngeselin,... | \n", "
9 | \n", "[halo, byu, , sudah, hampir, , minggu, ini, si... | \n", "
10 | \n", "[hahah, bru, kekirim, pdhl, ngetweet, td, male... | \n", "
11 | \n", "[giliran, ujian, laptop, sama, jaringan, tiba,... | \n", "
\n", " | casefolding2 | \n", "Normalisasi | \n", "
---|---|---|
0 | \n", "[maaf gabung bareng, , indosat, ribu, gigabyte... | \n", "[maaf, gabung, bareng, indosat, ribu, gigabyte... | \n", "
1 | \n", "[ini, jaringan, waktu, minggu, kenapa, cepat, ... | \n", "[ini, jaringan, waktu, minggu, kenapa, cepat, ... | \n", "
2 | \n", "[sudah, lebih, dari, , jam, layanan, internet,... | \n", "[sudah, lebih, dari, jam, layanan, internet, d... | \n", "
3 | \n", "[, , lapor, di, daerah, sukatani, tapos, depok... | \n", "[lapor, di, daerah, sukatani, tapos, depok, se... | \n", "
4 | \n", "[indosat, ngentot, kenapa, sih, , ada, jaringa... | \n", "[indosat, ngentot, kenapa, sih, ada, jaringan,... | \n", "
5 | \n", "[malas, mau, tidur, lagi, jaringan, ngajak, ke... | \n", "[malas, mau, tidur, lagi, jaringan, ngajak, ke... | \n", "
6 | \n", "[hawa, dingin, habis, hujan, ditambah, jaringa... | \n", "[hawa, dingin, habis, hujan, ditambah, jaringa... | \n", "
7 | \n", "[jaringan, aku, disini, lambat, banget, , pada... | \n", "[jaringan, aku, disini, lambat, banget, padaha... | \n", "
8 | \n", "[jaringan, sama, web, aku, kenapa, sih, ngesel... | \n", "[jaringan, sama, web, aku, kenapa, sih, ngesel... | \n", "
9 | \n", "[halo, telkomsel, , sudah, hampir, , minggu, i... | \n", "[halo, telkomsel, sudah, hampir, minggu, ini, ... | \n", "
10 | \n", "[haha, baru, kirim, padahal, tweet, tadi, mala... | \n", "[haha, baru, kirim, padahal, tweet, tadi, mala... | \n", "
11 | \n", "[giliran, ujian, laptop, sama, jaringan, tiba,... | \n", "[giliran, ujian, laptop, sama, jaringan, tiba,... | \n", "
\n", " | Stopword | \n", "
---|---|
0 | \n", "[maaf, gabung, bareng, indosat, ribu, gigabyte... | \n", "
1 | \n", "[jaringan, minggu, cepat, pakai, banget, oi, g... | \n", "
2 | \n", "[jam, layanan, internet, televisi, jaringan] | \n", "
3 | \n", "[lapor, daerah, sukatani, tapos, depok, indiho... | \n", "
4 | \n", "[indosat, ngentot, sih, jaringan, browser, jalan] | \n", "
5 | \n", "[malas, tidur, jaringan, ngajak, kelahi] | \n", "
\n", " | aba | \n", "abad | \n", "adik | \n", "admin | \n", "administrator | \n", "aduh | \n", "ah | \n", "ahli | \n", "aja | \n", "ajak | \n", "... | \n", "wkwkwk | \n", "wow | \n", "xd | \n", "xl | \n", "ya | \n", "yakxd | \n", "yaudah | \n", "youtube | \n", "yuk | \n", "zoom | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.000000 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "... | \n", "0.235527 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
1 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.000000 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "... | \n", "0.000000 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
2 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.000000 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "... | \n", "0.000000 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
3 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.000000 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "... | \n", "0.000000 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
4 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.000000 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "... | \n", "0.000000 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
595 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.000000 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "... | \n", "0.000000 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
596 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.000000 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "... | \n", "0.000000 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
597 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.000000 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "... | \n", "0.000000 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
598 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.473133 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "... | \n", "0.000000 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
599 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.000000 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "... | \n", "0.000000 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
600 rows × 867 columns
\n", "\n", " | Tweet | \n", "Label | \n", "Prediksi | \n", "
---|---|---|---|
0 | \n", "sedih bgt anjing gue gabisa scroll tl gabisa l... | \n", "Sarkasme | \n", "Sarkasme | \n", "
1 | \n", "By.U ini pakai jaringan @smartfrencare ya min ... | \n", "BukanSarkas | \n", "BukanSarkas | \n", "
2 | \n", "Kalo jaringan bagus dan aku gaada kerjaan ya b... | \n", "BukanSarkas | \n", "BukanSarkas | \n", "
3 | \n", "RT @NUgarislucu: Termasuk bangkitnya lagi ITJ ... | \n", "BukanSarkas | \n", "BukanSarkas | \n", "
4 | \n", "Gue belum dengerin ulang yours💔 tadi kepotong²... | \n", "BukanSarkas | \n", "BukanSarkas | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "
109 | \n", "PLISS LAGI SERU SERUNYAAA malah hilanh jaringa... | \n", "BukanSarkas | \n", "BukanSarkas | \n", "
110 | \n", "@Jaehytun iyaa, ini indosut, tsel, di awa dari... | \n", "BukanSarkas | \n", "BukanSarkas | \n", "
111 | \n", "Jaringan telkomsel astagfirulloh,bisa2 ny H+😭 | \n", "BukanSarkas | \n", "BukanSarkas | \n", "
112 | \n", "@FirstMediaCares Kasian sekali hanya sibuk men... | \n", "BukanSarkas | \n", "BukanSarkas | \n", "
113 | \n", "Kirain jam segini jaringan baguss | \n", "BukanSarkas | \n", "BukanSarkas | \n", "
114 rows × 3 columns
\n", "