Twi_sentiment / app.py
PatrickML's picture
Update app.py
45613fe verified
import gradio as gr
import hopsworks
import requests
import joblib
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
project = hopsworks.login(api_key_value ="sQdPNNOE9nnZ3WRE.TZlTI9jTPrrCAWr0NIYZUJimLfikNcSS40lAVp2uQC2lEQRHEaQSBSZgh5EuowHm")
fs = project.get_feature_store()
mr = project.get_model_registry()
model = mr.get_model("twi_model_new", version=2)
model_dir = model.download()
model = joblib.load(model_dir + "/twi_model.pkl")
vectoriser = joblib.load(model_dir+'/tfidf_vectoriser.joblib')
print("Model downloaded")
# text="good"
# text=pd.DataFrame([text], columns=['text'])
# vectoriser = TfidfVectorizer(ngram_range=(1,2), max_features=500000)
# vectoriser.fit(text)
# text=vectoriser.transform(text)
# print(type(text))
def predict_sentiment(text):
input = [text]
print(input)
# text=text.tolist()
input = vectoriser.transform(input)
res = model.predict(input)
if (res==1):
sentiment="https://files.selecthealth.cloud/api/public/content/228422-being_positive_blog_lg.jpg"
else :
sentiment="https://mentalhealthatease.com/wp-content/uploads/2022/02/girl-with-negative-thoughts-scaled.jpeg"
return sentiment
iface = gr.Interface(
fn=predict_sentiment,
inputs=gr.Textbox(),
outputs=gr.Image(type = 'pil'),
allow_flagging="never",
title="Tweet Sentiment Predict",
description="Input your tweet text to predict the sentiment"
)
iface.launch()