Spaces:
Build error
Build error
Added more
Browse files- app.py +22 -10
- milestone3.py +1 -0
app.py
CHANGED
|
@@ -1,21 +1,32 @@
|
|
| 1 |
import streamlit as st
|
| 2 |
from transformers import pipeline, AutoTokenizer, AutoModelForSequenceClassification
|
| 3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4 |
st.title("Sentiment Analysis App - beta")
|
| 5 |
-
st.
|
| 6 |
pre-trained models without fine-tuning.")
|
| 7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
user_input = st.text_input("Enter your text:", value="Missing Sophie.Z...")
|
| 9 |
user_model = st.selectbox("Please select a model:",
|
| 10 |
-
|
| 11 |
-
"cardiffnlp/twitter-roberta-base-sentiment",
|
| 12 |
-
"finiteautomata/bertweet-base-sentiment-analysis"))
|
| 13 |
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
tokenizer = AutoTokenizer.from_pretrained(model_name)
|
| 17 |
-
classifier = pipeline("sentiment-analysis", model=model, tokenizer=tokenizer)
|
| 18 |
-
return classifier(text)
|
| 19 |
|
| 20 |
|
| 21 |
if st.button("Analyze"):
|
|
@@ -23,6 +34,7 @@ if st.button("Analyze"):
|
|
| 23 |
st.write("Please enter a text.")
|
| 24 |
else:
|
| 25 |
with st.spinner("Hang on.... Analyzing..."):
|
| 26 |
-
|
|
|
|
| 27 |
else:
|
| 28 |
st.write("Go on! Try the app!")
|
|
|
|
| 1 |
import streamlit as st
|
| 2 |
from transformers import pipeline, AutoTokenizer, AutoModelForSequenceClassification
|
| 3 |
|
| 4 |
+
def analyze(model_name, text):
|
| 5 |
+
model = AutoModelForSequenceClassification.from_pretrained(model_name)
|
| 6 |
+
tokenizer = AutoTokenizer.from_pretrained(model_name)
|
| 7 |
+
classifier = pipeline("sentiment-analysis", model=model, tokenizer=tokenizer)
|
| 8 |
+
return classifier(text)
|
| 9 |
+
|
| 10 |
st.title("Sentiment Analysis App - beta")
|
| 11 |
+
st.write("This app is to analyze the sentiments behind a text. \n Currently it uses \
|
| 12 |
pre-trained models without fine-tuning.")
|
| 13 |
|
| 14 |
+
model_descrip = {
|
| 15 |
+
"distilbert-base-uncased-finetuned-sst-2-english": "This model is a fine-tune checkpoint of DistilBERT-base-uncased, fine-tuned on SST-2.\n \
|
| 16 |
+
Labels: POSITIVE; NEGATIVE ",
|
| 17 |
+
"cardiffnlp/twitter-roberta-base-sentiment": "This is a roBERTa-base model trained on ~58M tweets and finetuned for sentiment analysis with the TweetEval benchmark.\n \
|
| 18 |
+
Labels: 0 -> Negative; 1 -> Neutral; 2 -> Positive",
|
| 19 |
+
"finiteautomata/bertweet-base-sentiment-analysis": "Model trained with SemEval 2017 corpus (around ~40k tweets). Base model is BERTweet, a RoBERTa model trained on English tweets. \n \
|
| 20 |
+
Labels: POS; NEU; NEG"
|
| 21 |
+
}
|
| 22 |
+
|
| 23 |
+
|
| 24 |
user_input = st.text_input("Enter your text:", value="Missing Sophie.Z...")
|
| 25 |
user_model = st.selectbox("Please select a model:",
|
| 26 |
+
model_descrip)
|
|
|
|
|
|
|
| 27 |
|
| 28 |
+
st.write("### Model Description:")
|
| 29 |
+
st.write(model_descrip[user_model])
|
|
|
|
|
|
|
|
|
|
| 30 |
|
| 31 |
|
| 32 |
if st.button("Analyze"):
|
|
|
|
| 34 |
st.write("Please enter a text.")
|
| 35 |
else:
|
| 36 |
with st.spinner("Hang on.... Analyzing..."):
|
| 37 |
+
result = analyze(user_model, user_input)
|
| 38 |
+
st.write(f"Result: \nLabel: {result[0]['label']} Score: {result[0]['score']}")
|
| 39 |
else:
|
| 40 |
st.write("Go on! Try the app!")
|
milestone3.py
CHANGED
|
@@ -9,6 +9,7 @@ model = AutoModelForSequenceClassification.from_pretrained(model_name)
|
|
| 9 |
tokenizer = AutoTokenizer.from_pretrained(model_name)
|
| 10 |
|
| 11 |
classifier = pipeline("sentiment-analysis", model=model, tokenizer=tokenizer)
|
|
|
|
| 12 |
res = classifier(["I am very happy now.", "Not happy now."])
|
| 13 |
|
| 14 |
for result in res:
|
|
|
|
| 9 |
tokenizer = AutoTokenizer.from_pretrained(model_name)
|
| 10 |
|
| 11 |
classifier = pipeline("sentiment-analysis", model=model, tokenizer=tokenizer)
|
| 12 |
+
print(classifier.__class__)
|
| 13 |
res = classifier(["I am very happy now.", "Not happy now."])
|
| 14 |
|
| 15 |
for result in res:
|