| from fastai.text.all import* | |
| import gradio as gr | |
| learn = load_learner('nlp_model.pkl') | |
| labels = learn.dls.vocab | |
| emotion_labels = labels[1] | |
| examples = ["I can't believe you lied to me again! This is unacceptable!", | |
| "Got a surprise gift today, feeling overjoyed!"] | |
| def classify_text(text): | |
| pred,pred_idx,probs = learn.predict(text) | |
| return {emotion_labels[i]: float(probs[i]) for i in range(len(emotion_labels))} | |
| interface = gr.Interface( | |
| fn=classify_text, | |
| inputs=gr.components.Textbox( | |
| placeholder="Enter Text here", | |
| label='Input text', | |
| lines=5 | |
| ), | |
| outputs=gr.components.Label( | |
| num_top_classes=4, | |
| label='Emotion in the Text' | |
| ), | |
| title="Emotion Classifier", | |
| theme='soft' | |
| ) | |
| interface.launch() | |