Spaces:
Sleeping
Sleeping
import pandas as pd | |
from sklearn.feature_extraction.text import CountVectorizer | |
from sklearn.naive_bayes import MultinomialNB | |
import gradio as gr | |
# Dataset Bahasa Indonesia | |
data = { | |
"pertanyaan": [ | |
"Halo", | |
"Apa kabar?", | |
"Siapa namamu?", | |
"Apa hobi kamu?", | |
"Ceritakan lelucon" | |
], | |
"jawaban": [ | |
"Hai juga!", | |
"Aku baik, bagaimana dengan kamu?", | |
"Aku adalah IndoBot AI.", | |
"Hobiku membantu orang seperti kamu!", | |
"Kenapa ayam menyeberang jalan? Untuk ke sisi lain!" | |
] | |
} | |
df = pd.DataFrame(data) | |
# Preprocessing Data | |
vectorizer = CountVectorizer() | |
X = vectorizer.fit_transform(df['pertanyaan']) | |
y = df['jawaban'] | |
# Model Klasifikasi | |
model = MultinomialNB() | |
model.fit(X, y) | |
# Fungsi Chatbot | |
def chatbot_respon(input_text): | |
input_vec = vectorizer.transform([input_text]) | |
try: | |
response = model.predict(input_vec)[0] | |
except: | |
response = "Maaf, aku tidak mengerti pertanyaanmu." | |
return response | |
# Interface Gradio | |
def gradio_chatbot(user_input): | |
return chatbot_respon(user_input) | |
interface = gr.Interface( | |
fn=gradio_chatbot, | |
inputs=gr.Textbox(lines=2, placeholder="Tanyakan sesuatu..."), | |
outputs="text", | |
title="IndoBot AI", | |
description="IndoBot AI adalah chatbot sederhana yang memahami bahasa Indonesia. Coba tanyakan sesuatu!" | |
) | |
if __name__ == "__main__": | |
interface.launch() | |