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:
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}")