ikoghoemmanuell commited on
Commit
585a934
1 Parent(s): c02fdf2

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +66 -0
app.py ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import transformers
3
+ import torch
4
+
5
+ # Load the model and tokenizer
6
+ model = transformers.AutoModelForSequenceClassification.from_pretrained("ikoghoemmanuell/finetuned_sentiment_model")
7
+ tokenizer = transformers.AutoTokenizer.from_pretrained("ikoghoemmanuell/finetuned_sentiment_tokenizer")
8
+
9
+ # Define the function for sentiment analysis
10
+ @st.cache_resource
11
+ def predict_sentiment(text):
12
+ # Load the pipeline.
13
+ pipeline = transformers.pipeline("sentiment-analysis")
14
+
15
+ # Predict the sentiment.
16
+ prediction = pipeline(text)
17
+ sentiment = prediction[0]["label"]
18
+ score = prediction[0]["score"]
19
+
20
+ return sentiment, score
21
+
22
+ # Setting the page configurations
23
+ st.set_page_config(
24
+ page_title="Sentiment Analysis App",
25
+ page_icon=":smile:",
26
+ layout="wide",
27
+ initial_sidebar_state="auto",
28
+ )
29
+
30
+ # Add description and title
31
+ st.write("""
32
+ # How Positive or Negative is your Text?
33
+ Enter some text and we'll tell you if it has a positive, negative, or neutral sentiment!
34
+ """)
35
+
36
+
37
+ # Add image
38
+ image = st.image("https://i0.wp.com/thedatascientist.com/wp-content/uploads/2018/10/sentiment-analysis.png", width=400)
39
+
40
+ # Get user input
41
+ text = st.text_input("Enter some text here:")
42
+
43
+ # Define the CSS style for the app
44
+ st.markdown(
45
+ """
46
+ <style>
47
+ body {
48
+ background-color: #f5f5f5;
49
+ }
50
+ h1 {
51
+ color: #4e79a7;
52
+ }
53
+ </style>
54
+ """,
55
+ unsafe_allow_html=True
56
+ )
57
+
58
+ # Show sentiment output
59
+ if text:
60
+ sentiment, score = predict_sentiment(text)
61
+ if sentiment == "Positive":
62
+ st.success(f"The sentiment is {sentiment} with a score of {score*100:.2f}%!")
63
+ elif sentiment == "Negative":
64
+ st.error(f"The sentiment is {sentiment} with a score of {score*100:.2f}%!")
65
+ else:
66
+ st.warning(f"The sentiment is {sentiment} with a score of {score*100:.2f}%!")