first commit

This commit is contained in:
syahrafajarila 2025-05-16 12:00:37 +07:00
commit 21736052d2
15 changed files with 5102 additions and 0 deletions

1219
Dataset/DATASET.csv Normal file

File diff suppressed because it is too large Load Diff

BIN
Dataset/evaluasi_model.xlsx Normal file

Binary file not shown.

BIN
Dataset/hasil_prediksi.xlsx Normal file

Binary file not shown.

BIN
Dataset/hasil_tfidf.xlsx Normal file

Binary file not shown.

434
Dataset/kamus.csv Normal file
View File

@ -0,0 +1,434 @@
BEFORE;AFTER
abis;habis
abng;abang
abuabu;abu abu
ad;ada
adeknya;adik
adiknya;adik
adoh;aduh
aerny;airnya
agak;agak
aing;saya
aj;aja
ajah;aja
ajahcumn;aja cuman
ajamungkin;aja mungkin
ajgak;aja gak
ak;aku
akuw;aku
alm;almarhum
almarhuman;almarhum
ama;sama
ampe;sampai
anaknya;anak
anaksuruh;anak suruh
anggunly;anggun
anj;anjir
anjay;anjir
anjiirbaux;anjir bau
anjir;anjir
anjj;anjir
anjr;anjir
anjrit;anjir
anjroy;anjir
ank;anak
ansuransi;asuransi
ap;apa
aq;aku
aslitanpa;asli tanpa
asuransifilter;asuransi filter
asurasi;asuransi
atuhh\xad;atuh
auranya;aura
awalbjunya;awal baju
ayuneeeee;cantiknya
baby;bayi
background;latar belakang
bakul;pedagang
bangeeett;benget
bangeetttt;benget
banget;benget
bangett;benget
bangetttt;benget
bangettttttt;benget
bangus;bagus
bapakne;bapaknya
bbkl;bakal
bbrapa;beberapa
bd;beda
bedany;bedanya
bedua;berdua
belom;belum
bener;benar
bersamanya;bersama
berubahlah;berubah
bet;banget
beud;banget
bg;banget
bgt;banget
bgt…;banget
bgtmksd;banget
bgtt;banget
bgttt;banget
bgtttt;banget
bgttttt;banget
bgtu;begitu
bgus;bagus
bibinya;bibi
bibirny;bibirnya
bisanya;biasanya
bkan;bukan
bkln;bakalan
bknnya;bukannya
blang;bilang
bljr;belajar
blm;belum
bnci;benci
bnding;banding
bner;bener
bnget;banget
bngett;banget
bngetttt;banget
bngt;banget
bngtt;banget
bngttt;banget
bnyak;banyak
boong;bohong
boss;bos
bpkny;bapaknya
bpknya;bapaknya
brkah;berkah
brp;berapa
brubah;berubah
bsa;bisa
butekmana;butek mana
bwt;buat
cantiik;cantik
cantikknp;cantik kenapa
cantiktp;cantik tapi
ckp;cukup
cm;cuma
cma;cuma
cmn;cuman
cntiikkk;cantik
cntik;cantik
cntk;cantik
coeyyy;coy
cuakhepppp;cakep
dandut;dangdut
dapet;dapat
dech;deh
dengn;dengan
dewe;sendiri
dgan;dengan
dgn;dengan
dh;dah
diaa;dia
diem;diam
dipakein;dipakaikan
diwrna;diwarna
dkat;dekat
dlu;dulu
dlumlh;dulu malah
dn;dan
dna;dan
doangg;doang
dompetkugelap;dompetku gelap
dr;dari
dri;dari
dripada;daripada
drmu;darimu
dua²;dua dua
dul;dulu
editan\xad;editan
emang;memang
emg;memang
emng;memang
enda;nggak
engga;nggak
enk;enak
expesi;ekspresi
exploitasi;eksploitasi
face;face
fast;cepat
fes;face
fikirr;pikir
find;cari
focus;fokus
fokua;fokus
ga;nggak
gaa;nggak
gaadaa;nggak ada
gabisa;nggak bisa
gak;nggak
gilaa;gila
giniaja;gini aja
gk;tidak
gmn;gimana
gmw;tidak mau
gorg;cantik
gorgoeus;cantik
gt;gitu
gtu;gitu
gua;aku
gue;aku
gue;aku
gueee;aku
guwe;aku
gw;aku
gwe;aku
gx;nggak
hbiskn;habiskan
hijab˜duit;hijab duit
hinan;hinaan
hrus;harus
ibu²;ibu
ijo;hijau
ikuttann;ikutan
ilah;hilang
ilang;hilang
ilangnya;hilangnya
inceran;incaran
inifiks;infinix
intm;intim
ip;iphone
ireng;hitam
itutp;itu tapi
iyaa;iya
iyaaa;iya
iyemm;diam
jd;jadi
jdi;jadi
jelekkkkkkk;jelek
jeti;juta
jg;juga
jir;anjir
jjr;anjir
jlek;jelek
jngat;ingat
jngn;jangan
joy;sukacita
jt;juta
just;hanya
jwb;jawab
jwbnya;jawabnya
kaaa;kak
kaaak;kak
kalianbeda;kalian beda
kalo;kalau
kalow;kalau
kamerafilternya;kamera filternya
karn;karena
karna;karena
karu;pasti
karuan;pasti
kasian;kasihan
kayangikutin;kayak ngikutin
kayanya;kayaknya
kdg;kadang
kecik;kecil
kehdpan;kehidupan
kenp;kenapa
kereeen;keren
kgk;kagak
kiraain;kiain
kk;kakak
kka;kakak
kl;kalau
klau;kalau
klo;kalau
kls;kelas
kluarin;keluarin
klz;kelas
km;kamu
kmaren;kemarin
kmna;kemana
kmrn;kemarin
kmu;kamu
kmudian;kemudian
kn;kan
know;tahu
knp;kenapa
knpa;kenapa
ko;kok
kog;kok
kohappy;kok senang
komediann;komedian
kra;kira
krain;kirain
kren;keren
krn;karena
kta;kita
ktanya;katanya
ktemu;ketemu
ktny;katanya
kuliahh;kuliah
kurng;kurang
ky;kayak
kya;kayak
kyak;kayak
kyk;kayak
kyo;kayak
lagee;lagi
lahiranaku;lahiranku
lahirmayang;lahir mayang
lbh;lebih
lg;lagi
lgi;lagi
lh;lah
lho;loh
lia;liat
lipstik; lipstick
lipstikny;lipsticknya
lipstiknya;lipsticknya
lmpu;lampu
lohhh;loh
loly;loly
lolyy;loly
lucyfer;lucifer
luluss;lulus
lupakerudung;lupa kerudung
ma;sama
maap;maaf
mabok;mabuk
maen;main
magrib;maghrib
mahh;mah
malem;malam
malysia;malaysia
maniiss;manis
maniss;manis
manisss;manis
manyuun;manyun
masaiya;masa iya
mauttt;maut
mayangg;mayang
mayangsama;mayang sama
mayangsoalnya;mayang soalnya
mayuang;mayang
mba;mbak
mbaaaa;mbak
mbanyaknp;mbaknya kenapa
mbat;mbak
mbk;mbak
mcm;macam
mcmni;macam ini
mehongg;mehong
melahirkan;melahirkan
melakukan;melakukan
memaksakan;memaksakan
memancarkan;memancarkan
mencucu;mencucu
mending;mending
mengubahnysehingga;mengubahnya sehingga
menikah;menikah
menikahkok;menikah kok
menilap;menilap
meninggal;meninggal
menjadi;menjadi
menurut;menurut
menyatu;menyatu
merasa;merasa
mereka;mereka
merekayg;mereka yang
mertua;mertua
merubah;merubah
mh;mah
mheeel;mheeel
milihhh;milih
mlah;malah
mlg;malang
mlh;malah
mlm;malam
mls;malas
mn;mana
mndukung;mendukung
mngnal;meninggal
mnrt;menurut
mnurutmu;menurutmu
monmaap;mohon maaf
msh;masih
msih;masih
msyaallahhh;masyaallah
muncull;muncul
mungkim;mungkin
netisen;netizen
nga;nggak
ngabb;ngab
ngak;nggak
ngapainn;ngapain
nggk;nggak
ngk;nggak
njiir;anjir
njir;anjir
njirr;anjir
nnti;nanti
ntr;ntar
org;orang
orng;orang
pd;pada
pdhal;padahal
pkai;pakai
pke;pake
pndai;pandai
poto;foto
prasaan;perasaan
prcya;percaya
prutku;perutku
prwtn;perawatan
rmh;rumah
rohingia;rohingya
rrnyta;ternyata
samaaa;sama
sblh;sebelah
sblm;sebelum
sblmada;sebelum ada
sblum;sebelum
sbnrnya;sebenarnya
sd;sudah
sdh;sudah
sebelhmu;sebelahmu
seblm;sebelum
sendri;sendiri
sgitu;segitu
sgt;segitu
sja;saja
sklh;sekolah
skrg;sekarang
skrng;sekarang
slruh;seluruh
sm;sama
sma;sama
smaa;sama
smangat;semangat
smester;semester
smping;samping
smua;semua
sndiri;sendiri
sndirii;sendiri
sperti;seperti
sprti;seperti
spt;seperti
srius;serius
sy;saya
syaa;saya
syg;sayang
tambh;tambah
tdk;tidak
thn;tahun
tnpa;tanpa
tnyain;tanyain
tp;tapi
tpi;tapi
trgantung;tergantung
trllu;terlalu
trs;tetus
ttapiii;tapi
ttp;tetap
uda;sudah
udah;sudah
udh;sudah
uga;juga
utk;untuk
udh;udah
yg;yang
1 BEFORE AFTER
2 abis habis
3 abng abang
4 abuabu abu abu
5 ad ada
6 adeknya adik
7 adiknya adik
8 adoh aduh
9 aerny airnya
10 agak agak
11 aing saya
12 aj aja
13 ajah aja
14 ajahcumn aja cuman
15 ajamungkin aja mungkin
16 ajgak aja gak
17 ak aku
18 akuw aku
19 alm almarhum
20 almarhuman almarhum
21 ama sama
22 ampe sampai
23 anaknya anak
24 anaksuruh anak suruh
25 anggunly anggun
26 anj anjir
27 anjay anjir
28 anjiirbaux anjir bau
29 anjir anjir
30 anjj anjir
31 anjr anjir
32 anjrit anjir
33 anjroy anjir
34 ank anak
35 ansuransi asuransi
36 ap apa
37 aq aku
38 aslitanpa asli tanpa
39 asuransifilter asuransi filter
40 asurasi asuransi
41 atuhh\xad atuh
42 auranya aura
43 awalbjunya awal baju
44 ayuneeeee cantiknya
45 baby bayi
46 background latar belakang
47 bakul pedagang
48 bangeeett benget
49 bangeetttt benget
50 banget benget
51 bangett benget
52 bangetttt benget
53 bangettttttt benget
54 bangus bagus
55 bapakne bapaknya
56 bbkl bakal
57 bbrapa beberapa
58 bd beda
59 bedany bedanya
60 bedua berdua
61 belom belum
62 bener benar
63 bersamanya bersama
64 berubahlah berubah
65 bet banget
66 beud banget
67 bg banget
68 bgt banget
69 bgt… banget
70 bgtmksd banget
71 bgtt banget
72 bgttt banget
73 bgtttt banget
74 bgttttt banget
75 bgtu begitu
76 bgus bagus
77 bibinya bibi
78 bibirny bibirnya
79 bisanya biasanya
80 bkan bukan
81 bkln bakalan
82 bknnya bukannya
83 blang bilang
84 bljr belajar
85 blm belum
86 bnci benci
87 bnding banding
88 bner bener
89 bnget banget
90 bngett banget
91 bngetttt banget
92 bngt banget
93 bngtt banget
94 bngttt banget
95 bnyak banyak
96 boong bohong
97 boss bos
98 bpkny bapaknya
99 bpknya bapaknya
100 brkah berkah
101 brp berapa
102 brubah berubah
103 bsa bisa
104 butekmana butek mana
105 bwt buat
106 cantiik cantik
107 cantikknp cantik kenapa
108 cantiktp cantik tapi
109 ckp cukup
110 cm cuma
111 cma cuma
112 cmn cuman
113 cntiikkk cantik
114 cntik cantik
115 cntk cantik
116 coeyyy coy
117 cuakhepppp cakep
118 dandut dangdut
119 dapet dapat
120 dech deh
121 dengn dengan
122 dewe sendiri
123 dgan dengan
124 dgn dengan
125 dh dah
126 diaa dia
127 diem diam
128 dipakein dipakaikan
129 diwrna diwarna
130 dkat dekat
131 dlu dulu
132 dlumlh dulu malah
133 dn dan
134 dna dan
135 doangg doang
136 dompetkugelap dompetku gelap
137 dr dari
138 dri dari
139 dripada daripada
140 drmu darimu
141 dua² dua dua
142 dul dulu
143 editan\xad editan
144 emang memang
145 emg memang
146 emng memang
147 enda nggak
148 engga nggak
149 enk enak
150 expesi ekspresi
151 exploitasi eksploitasi
152 face face
153 fast cepat
154 fes face
155 fikirr pikir
156 find cari
157 focus fokus
158 fokua fokus
159 ga nggak
160 gaa nggak
161 gaadaa nggak ada
162 gabisa nggak bisa
163 gak nggak
164 gilaa gila
165 giniaja gini aja
166 gk tidak
167 gmn gimana
168 gmw tidak mau
169 gorg cantik
170 gorgoeus cantik
171 gt gitu
172 gtu gitu
173 gua aku
174 gue aku
175 gue‚ aku
176 gueee aku
177 guwe aku
178 gw aku
179 gwe aku
180 gx nggak
181 hbiskn habiskan
182 hijab˜‚duit hijab duit
183 hinan hinaan
184 hrus harus
185 ibu² ibu
186 ijo hijau
187 ikuttann ikutan
188 ilah hilang
189 ilang hilang
190 ilangnya hilangnya
191 inceran incaran
192 inifiks infinix
193 intm intim
194 ip iphone
195 ireng hitam
196 itutp itu tapi
197 iyaa iya
198 iyaaa iya
199 iyemm diam
200 jd jadi
201 jdi jadi
202 jelekkkkkkk jelek
203 jeti juta
204 jg juga
205 jir anjir
206 jjr anjir
207 jlek jelek
208 jngat ingat
209 jngn jangan
210 joy sukacita
211 jt juta
212 just hanya
213 jwb jawab
214 jwbnya jawabnya
215 kaaa kak
216 kaaak kak
217 kalianbeda kalian beda
218 kalo kalau
219 kalow kalau
220 kamerafilternya kamera filternya
221 karn karena
222 karna karena
223 karu pasti
224 karuan pasti
225 kasian kasihan
226 kayangikutin kayak ngikutin
227 kayanya kayaknya
228 kdg kadang
229 kecik kecil
230 kehdpan kehidupan
231 kenp kenapa
232 kereeen keren
233 kgk kagak
234 kiraain kiain
235 kk kakak
236 kka kakak
237 kl kalau
238 klau kalau
239 klo kalau
240 kls kelas
241 kluarin keluarin
242 klz kelas
243 km kamu
244 kmaren kemarin
245 kmna kemana
246 kmrn kemarin
247 kmu kamu
248 kmudian kemudian
249 kn kan
250 know tahu
251 knp kenapa
252 knpa kenapa
253 ko kok
254 kog kok
255 kohappy kok senang
256 komediann komedian
257 kra kira
258 krain kirain
259 kren keren
260 krn karena
261 kta kita
262 ktanya katanya
263 ktemu ketemu
264 ktny katanya
265 kuliahh kuliah
266 kurng kurang
267 ky kayak
268 kya kayak
269 kyak kayak
270 kyk kayak
271 kyo kayak
272 lagee lagi
273 lahiranaku lahiranku
274 lahirmayang lahir mayang
275 lbh lebih
276 lg lagi
277 lgi lagi
278 lh lah
279 lho loh
280 lia liat
281 lipstik lipstick
282 lipstikny lipsticknya
283 lipstiknya lipsticknya
284 lmpu lampu
285 lohhh loh
286 loly loly
287 lolyy loly
288 lucyfer lucifer
289 luluss lulus
290 lupa‚kerudung lupa kerudung
291 ma sama
292 maap maaf
293 mabok mabuk
294 maen main
295 magrib maghrib
296 mahh mah
297 malem malam
298 malysia malaysia
299 maniiss manis
300 maniss manis
301 manisss manis
302 manyuun manyun
303 masaiya masa iya
304 mauttt maut
305 mayangg mayang
306 mayangsama mayang sama
307 mayangsoalnya mayang soalnya
308 mayuang mayang
309 mba mbak
310 mbaaaa mbak
311 mbanyaknp mbaknya kenapa
312 mbat mbak
313 mbk mbak
314 mcm macam
315 mcmni macam ini
316 mehongg mehong
317 melahirkan melahirkan
318 melakukan melakukan
319 memaksakan memaksakan
320 memancarkan memancarkan
321 mencucu mencucu
322 mending mending
323 mengubahnysehingga mengubahnya sehingga
324 menikah menikah
325 menikahkok menikah kok
326 menilap menilap
327 meninggal meninggal
328 menjadi menjadi
329 menurut menurut
330 menyatu menyatu
331 merasa merasa
332 mereka mereka
333 merekayg mereka yang
334 mertua mertua
335 merubah merubah
336 mh mah
337 mheeel mheeel
338 milihhh milih
339 mlah malah
340 mlg malang
341 mlh malah
342 mlm malam
343 mls malas
344 mn mana
345 mndukung mendukung
346 mngnal meninggal
347 mnrt menurut
348 mnurutmu menurutmu
349 monmaap mohon maaf
350 msh masih
351 msih masih
352 msyaallahhh masyaallah
353 muncull muncul
354 mungkim mungkin
355 netisen netizen
356 nga nggak
357 ngabb ngab
358 ngak nggak
359 ngapainn ngapain
360 nggk nggak
361 ngk nggak
362 njiir anjir
363 njir anjir
364 njirr anjir
365 nnti nanti
366 ntr ntar
367 org orang
368 orng orang
369 pd pada
370 pdhal padahal
371 pkai pakai
372 pke pake
373 pndai pandai
374 poto foto
375 prasaan perasaan
376 prcya percaya
377 prutku perutku
378 prwtn perawatan
379 rmh rumah
380 rohingia rohingya
381 rrnyta ternyata
382 samaaa sama
383 sblh sebelah
384 sblm sebelum
385 sblmada sebelum ada
386 sblum sebelum
387 sbnrnya sebenarnya
388 sd sudah
389 sdh sudah
390 sebelhmu sebelahmu
391 seblm sebelum
392 sendri sendiri
393 sgitu segitu
394 sgt segitu
395 sja saja
396 sklh sekolah
397 skrg sekarang
398 skrng sekarang
399 slruh seluruh
400 sm sama
401 sma sama
402 smaa sama
403 smangat semangat
404 smester semester
405 smping samping
406 smua semua
407 sndiri sendiri
408 sndirii sendiri
409 sperti seperti
410 sprti seperti
411 spt seperti
412 srius serius
413 sy saya
414 syaa saya
415 syg sayang
416 tambh tambah
417 tdk tidak
418 thn tahun
419 tnpa tanpa
420 tnyain tanyain
421 tp tapi
422 tpi tapi
423 trgantung tergantung
424 trllu terlalu
425 trs tetus
426 ttapiii tapi
427 ttp tetap
428 uda sudah
429 udah sudah
430 udh sudah
431 uga juga
432 utk untuk
433 udh udah
434 yg yang

Binary file not shown.

3333
Model/cby_syahraf.ipynb Normal file

File diff suppressed because one or more lines are too long

BIN
Model/label_encoder.pkl Normal file

Binary file not shown.

BIN
Model/nb_classifier.pkl Normal file

Binary file not shown.

BIN
Model/tfidf_vectorizer.pkl Normal file

Binary file not shown.

View File

@ -0,0 +1,32 @@
from flask import Flask, request, render_template, jsonify
import pickle
import pandas as pd
# Load model dan vectorizer
with open("naive_bayes_model.pkl", "rb") as f:
model = pickle.load(f)
with open("tfidf_vectorizer.pkl", "rb") as f:
vectorizer = pickle.load(f)
app = Flask(__name__)
@app.route("/")
def index():
return render_template("index.html")
@app.route("/predict", methods=["POST"])
def predict():
try:
text = request.form["text"]
text_tfidf = vectorizer.transform([text])
prediction = model.predict(text_tfidf)[0]
result = "POSITIVE" if prediction == 1 else "NEGATIVE"
return jsonify({"status": "success", "prediction": result})
except Exception as e:
return jsonify({"status": "error", "message": str(e)})
if __name__ == "__main__":
app.run(debug=True)

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -0,0 +1,84 @@
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>NetForesee</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body class="d-flex flex-column min-vh-100 bg-light">
<!-- Header -->
<div class="bg-primary text-white text-center py-3 position-fixed w-100 top-0 d-flex align-items-center">
<img src="{{ url_for('static', filename='images/logo.png') }}" alt="Logo" class="ms-3" style="height: 50px;">
<h2 class="flex-grow-1 m-0">NetForesee</h2>
</div>
<!-- Main Content -->
<div class="container d-flex justify-content-center align-items-center flex-grow-1" style="margin-top: 80px;">
<div class="col-md-8 col-lg-6">
<div class="card p-4 shadow">
<div class="card-header text-white text-center" style="background-color: #02084b;">
<h3>Form Input Komentar</h3>
</div>
<div class="card-body">
<div id="hasilContainer" class="alert text-center d-none">
<strong>Hasil Klasifikasi:</strong>
<span id="hasilText" class="fw-bold"></span>
</div>
<form id="sentiment-form">
<div class="mb-3">
<label for="text" class="form-label">Masukkan Teks:</label>
<input type="text" class="form-control" id="text" name="text" required>
</div>
<div class="text-center">
<button type="submit" class="btn btn-primary w-100 fw-bold">Cek</button>
</div>
</form>
</div>
</div>
</div>
</div>
<!-- Footer -->
<div class="text-white text-center py-3 position-fixed w-100 bottom-0" style="background-color: #02084b;">
<p class="m-0">&copy; 2025 NetForesee. All rights reserved.</p>
</div>
<script>
document.getElementById("sentiment-form").onsubmit = async function (e) {
e.preventDefault();
let text = document.getElementById("text").value;
let response = await fetch("/predict", {
method: "POST",
body: new URLSearchParams({ text }),
headers: { "Content-Type": "application/x-www-form-urlencoded" }
});
let result = await response.json();
let hasilContainer = document.getElementById("hasilContainer");
let hasilText = document.getElementById("hasilText");
if (result.status === "success") {
hasilContainer.classList.remove("d-none");
hasilContainer.classList.remove("alert-danger", "alert-success", "alert-warning");
if (result.prediction === "POSITIVE") {
hasilContainer.classList.add("alert-success");
hasilText.innerHTML = '<span class="text-success">Positif</span>';
} else if (result.prediction === "NEGATIVE") {
hasilContainer.classList.add("alert-danger");
hasilText.innerHTML = '<span class="text-danger">Negatif</span>';
} else {
hasilContainer.classList.add("alert-warning");
hasilText.innerText = result.prediction;
}
}
};
</script>
</body>
</html>

Binary file not shown.