CommentReview / app.py
CrazyEvan's picture
Add app.py file
a1a5ed1
import gradio as gr
from joblib import dump, load
#inputs
input_text = gr.inputs.Textbox(label="Review Comment")
input_dropdown = gr.inputs.Dropdown(choices=['Logistic', 'LDA', 'QDA', 'SVC'], label='Method')
#outputs
output_text = gr.outputs.Textbox(label='Predicted sentiment class')
output_label = gr.outputs.Label(label='Predicted probability')
def predict(input_text, model):
labels = ['Negative Comment', 'Positive Comment']
input_text = [input_text]
vectorizer = load('Vectorizer.joblib')
input_text = vectorizer.transform(input_text).toarray()
if model == 'Logistic':
log_model = load('NLP_log.joblib')
pred = log_model.predict_proba(input_text)
print(pred)
if model == 'LDA':
lda_model = load('NLP_lda.joblib')
pred = lda_model.predict_proba(input_text)
print(pred)
if model == 'QDA':
qda_model = load('NLP_qda.joblib')
pred = qda_model.predict_proba(input_text)
print(pred)
if model == 'SVC':
svc_model = load('NLP_svc.joblib')
pred = svc_model.predict_proba(input_text)
print(pred)
return 'model', {label: float(pred) for label, pred in zip(labels, pred[0])}
gr.Interface(fn = predict,
inputs = [input_text, input_dropdown],
outputs = [output_text, output_label]
).launch(debug=True)