import gradio as gr from sklearn.feature_extraction.text import CountVectorizer from sklearn.feature_extraction.text import TfidfVectorizer import joblib vectorizer = joblib.load('./vectorizer.pkl') nb_classifier = joblib.load('./nb_classifier.pkl') tfidf_vectorizer = joblib.load('./tfidf_vectorizer.pkl') random_forest = joblib.load('./random_forest.pkl') def classify(text,choice): corpus=[text] features = vectorizer.transform(corpus).toarray() if(choice == 1): prediction = nb_classifier.predict(features) elif(choice == 2): prediction = random_forest.predict(features) if(prediction == 1): return "Fake News" else: return "Not Fake News" GUI = gr.Interface(inputs = ['text',gr.radio(choices = [('Naive Bayes',1),'(Random Classifier',2)], value = 1, label = "Model") ], outputs = ['text'], fn = classify, title = "Fake News Detection System") GUI.launch(debug = True)