restyaaa commited on
Commit
871b560
1 Parent(s): b0fe62f

Delete app.py

Browse files
Files changed (1) hide show
  1. app.py +0 -60
app.py DELETED
@@ -1,60 +0,0 @@
1
- import pickle
2
- import numpy as np
3
- from gensim.models import KeyedVectors
4
- import gradio as gr
5
-
6
- # Memuat model FastText pretrained dari file .vec (contoh path: cc.id.300.vec)
7
- fasttext_model = KeyedVectors.load_word2vec_format(
8
- '/content/drive/MyDrive/SKRIPSI/cc.id.300.vec', binary=False
9
- )
10
-
11
- # Memuat model KNN dan SVM yang sudah dioptimalkan (pastikan file pickle ada)
12
- with open('KNN+GridSearch.pkl', 'rb') as f:
13
- knn_model = pickle.load(f)
14
-
15
- with open('SVM+GridSearch.pkl', 'rb') as f:
16
- svm_model = pickle.load(f)
17
-
18
- # Fungsi untuk mendapatkan vektor kalimat dari FastText
19
- def get_fasttext_vector(text):
20
- # Tokenisasi teks menjadi kata-kata
21
- words = text.split()
22
-
23
- # Ambil vektor dari setiap kata menggunakan model FastText
24
- word_vectors = [fasttext_model[word] for word in words if word in fasttext_model]
25
-
26
- # Jika ada kata-kata yang ada dalam model, kita rata-ratakan vektor-vektor tersebut
27
- if len(word_vectors) > 0:
28
- return np.mean(word_vectors, axis=0)
29
- else:
30
- # Jika tidak ada kata yang cocok, return vektor nol (kosong)
31
- return np.zeros(fasttext_model.vector_size)
32
-
33
- # Fungsi prediksi untuk model KNN
34
- def predict_sentiment_knn(text):
35
- vector = get_fasttext_vector(text) # Mengambil vektor kalimat
36
- sentiment = knn_model.predict([vector]) # Prediksi menggunakan KNN
37
- return sentiment[0][0]
38
-
39
- # Fungsi prediksi untuk model SVM
40
- def predict_sentiment_svm(text):
41
- vector = get_fasttext_vector(text) # Mengambil vektor kalimat
42
- sentiment = svm_model.predict([vector]) # Prediksi menggunakan SVM
43
- return sentiment[0]
44
-
45
- # Fungsi umum untuk memilih model (KNN atau SVM)
46
- def predict_sentiment(text, model_type='KNN'):
47
- if model_type == 'KNN':
48
- return predict_sentiment_knn(text)
49
- else:
50
- return predict_sentiment_svm(text)
51
-
52
- # Membuat antarmuka Gradio
53
- gr.Interface(
54
- fn=predict_sentiment, # Fungsi yang dipanggil untuk prediksi
55
- inputs=[
56
- gr.inputs.Textbox(label="Masukkan Teks untuk Analisis Sentimen"), # Input teks
57
- gr.inputs.Radio(['KNN', 'SVM'], label="Pilih Model") # Pilih model prediksi
58
- ],
59
- outputs="text" # Output berupa teks (hasil prediksi)
60
- ).launch()