--- language: id tags: - sentiment-analysis - text-classification - naive-bayes - cyber-bullying license: mit --- # CyberBullyingDetector **CyberBullyingDetector** adalah model analisis sentimen berbasis Naive Bayes yang dirancang untuk mengidentifikasi apakah suatu kalimat dalam komentar mengandung kata-kata yang termasuk dalam kategori cyber bullying atau tidak. Model ini mengklasifikasikan kalimat ke dalam dua kategori: positif jika komentar tidak mengandung kata-kata cyber bullying, dan negatif jika komentar mengandung kata-kata cyber bullying. ## Deskripsi Model Model ini menggunakan algoritma Naive Bayes untuk mendeteksi keberadaan kata-kata cyber bullying dalam komentar teks. Model ini dilatih menggunakan dataset teks dalam bahasa Indonesia yang terdiri dari 1100 kalimat yang diambil dari Twitter dan Instagram. Model ini memiliki akurasi sebesar 95% dalam mengidentifikasi kata-kata cyber bullying, menjadikannya alat yang efektif untuk memantau dan menilai potensi cyber bullying dalam teks bahasa Indonesia. ## Penggunaan Berikut adalah contoh kode untuk mengunduh dan menggunakan model ini: ```python from huggingface_hub import hf_hub_download import pickle import nltk from nltk.tokenize import word_tokenize from nltk.corpus import stopwords import string # Unduh model dari Hugging Face model_path = hf_hub_download(repo_id="aditdwi123/CyberBullyingDetector", filename="naive_bayes_model.pkl") # Muat model dari file with open(model_path, "rb") as model_file: model = pickle.load(model_file) # Fungsi untuk preprocessing teks def preprocess(text): text = text.lower() # Konversi ke huruf kecil tokens = word_tokenize(text) # Tokenisasi tokens = [t for t in tokens if t not in stopwords.words('indonesian') and t not in string.punctuation] # Hapus stopwords dan tanda baca return tokens # Fungsi untuk mengekstrak fitur dari setiap kata def extract_features(words): return {word: True for word in words} # Fungsi untuk mengklasifikasikan kalimat def classify_sentence(sentence): features = extract_features(preprocess(sentence)) return model.classify(features) # Uji model dengan kalimat baru test_sentence = "saya sangat senang dengan pelayanan yang baik" predicted_sentiment = classify_sentence(test_sentence) print(f"Kalimat: {test_sentence}") print(f"Prediksi Sentimen: {predicted_sentiment}")