Spaces:
Build error
Build error
Update 01_π _Home.py
Browse files- 01_π _Home.py +8 -33
01_π _Home.py
CHANGED
@@ -10,6 +10,8 @@ import plotly_express as px
|
|
10 |
import plotly.graph_objects as go
|
11 |
from datetime import datetime as dt
|
12 |
from st_aggrid import GridOptionsBuilder, AgGrid, GridUpdateMode, DataReturnMode
|
|
|
|
|
13 |
|
14 |
st.set_page_config(
|
15 |
page_title="Live FinTwitter Analysis",
|
@@ -20,42 +22,15 @@ st.set_page_config(
|
|
20 |
st.sidebar.header("Sentiment Analysis Score")
|
21 |
|
22 |
extract_time = dt.strftime(dt.today(),"%d_%B_%y_%H_%M")
|
23 |
-
|
24 |
-
@st.experimental_singleton(suppress_st_warning=True)
|
25 |
-
def load_models():
|
26 |
-
'''load sentimant and topic clssification models'''
|
27 |
-
sent_pipe = pipeline(task,model=sent_model_id, tokenizer=sent_model_id)
|
28 |
-
topic_pipe = pipeline(task, model=topic_model_id, tokenizer=topic_model_id)
|
29 |
-
|
30 |
-
return sent_pipe, topic_pipe
|
31 |
-
|
32 |
-
@st.cache(allow_output_mutation=True, suppress_st_warning=True)
|
33 |
-
def process_tweets(df,df_users):
|
34 |
-
'''process tweets into a dataframe'''
|
35 |
-
|
36 |
-
df['author'] = df['author'].astype(np.int64)
|
37 |
-
|
38 |
-
df_merged = df.merge(df_users, on='author')
|
39 |
-
|
40 |
-
tweet_list = df_merged['tweet'].tolist()
|
41 |
-
|
42 |
-
sentiment, topic = pd.DataFrame(sentiment_classifier(tweet_list)), pd.DataFrame(topic_classifier(tweet_list))
|
43 |
-
|
44 |
-
sentiment.rename(columns={'score':'sentiment_confidence','label':'sentiment'}, inplace=True)
|
45 |
-
|
46 |
-
topic.rename(columns={'score':'topic_confidence','label':'topic'}, inplace=True)
|
47 |
-
|
48 |
-
df_group = pd.concat([df_merged,sentiment,topic],axis=1)
|
49 |
-
|
50 |
-
df_group[['sentiment_confidence','topic_confidence']] = df_group[['sentiment_confidence','topic_confidence']].round(2).mul(100)
|
51 |
|
52 |
-
|
53 |
-
|
54 |
-
df_tweets = df_tweets.sort_values(by=['creation_time'],ascending=False)
|
55 |
-
|
56 |
-
return df_tweets
|
57 |
|
|
|
|
|
58 |
|
|
|
|
|
|
|
59 |
|
60 |
sentiment_classifier, topic_classifier = load_models()
|
61 |
|
|
|
10 |
import plotly.graph_objects as go
|
11 |
from datetime import datetime as dt
|
12 |
from st_aggrid import GridOptionsBuilder, AgGrid, GridUpdateMode, DataReturnMode
|
13 |
+
from datasets import Dataset
|
14 |
+
from huggingface_hub import Repository
|
15 |
|
16 |
st.set_page_config(
|
17 |
page_title="Live FinTwitter Analysis",
|
|
|
22 |
st.sidebar.header("Sentiment Analysis Score")
|
23 |
|
24 |
extract_time = dt.strftime(dt.today(),"%d_%B_%y_%H_%M")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
|
26 |
+
DATASET_REPO_URL = "https://huggingface.co/datasets/nickmuchi/fin_tweets"
|
|
|
|
|
|
|
|
|
27 |
|
28 |
+
DATA_FILENAME = "tweets_data.csv"
|
29 |
+
DATA_FILE = os.path.join("data", DATA_FILENAME)
|
30 |
|
31 |
+
repo = Repository(
|
32 |
+
local_dir="tweets", clone_from=DATASET_REPO_URL
|
33 |
+
)
|
34 |
|
35 |
sentiment_classifier, topic_classifier = load_models()
|
36 |
|