Spaces:
Sleeping
Sleeping
Commit ·
7710faa
1
Parent(s): a54e432
progress more 24
Browse files
app.py
CHANGED
|
@@ -20,7 +20,9 @@ mystem = Mystem()
|
|
| 20 |
finbert = pipeline("sentiment-analysis", model="ProsusAI/finbert")
|
| 21 |
roberta = pipeline("sentiment-analysis", model="cardiffnlp/twitter-roberta-base-sentiment")
|
| 22 |
finbert_tone = pipeline("sentiment-analysis", model="yiyanghkust/finbert-tone")
|
| 23 |
-
|
|
|
|
|
|
|
| 24 |
|
| 25 |
# Function for lemmatizing Russian text
|
| 26 |
def lemmatize_text(text):
|
|
@@ -69,10 +71,13 @@ def get_mapped_sentiment(result):
|
|
| 69 |
return "Negative"
|
| 70 |
return "Neutral"
|
| 71 |
|
| 72 |
-
def
|
| 73 |
-
result =
|
| 74 |
return get_mapped_sentiment(result)
|
| 75 |
|
|
|
|
|
|
|
|
|
|
| 76 |
|
| 77 |
def get_finbert_sentiment(text):
|
| 78 |
result = finbert(text, truncation=True, max_length=512)[0]
|
|
@@ -133,26 +138,28 @@ def process_file(uploaded_file):
|
|
| 133 |
progress_text.text(f"{i + 1} из {total_news} сообщений переведено")
|
| 134 |
|
| 135 |
# Perform sentiment analysis
|
| 136 |
-
|
|
|
|
| 137 |
finbert_results = [get_finbert_sentiment(text) for text in translated_texts]
|
| 138 |
roberta_results = [get_roberta_sentiment(text) for text in translated_texts]
|
| 139 |
finbert_tone_results = [get_finbert_tone_sentiment(text) for text in translated_texts]
|
| 140 |
|
| 141 |
# Add results to DataFrame
|
| 142 |
-
df['
|
|
|
|
| 143 |
df['FinBERT'] = finbert_results
|
| 144 |
df['RoBERTa'] = roberta_results
|
| 145 |
df['FinBERT-Tone'] = finbert_tone_results
|
| 146 |
df['Translated'] = translated_texts
|
| 147 |
|
| 148 |
# Reorder columns
|
| 149 |
-
columns_order = ['Объект', '
|
| 150 |
df = df[columns_order]
|
| 151 |
|
| 152 |
return df
|
| 153 |
|
| 154 |
def main():
|
| 155 |
-
st.title("... приступим к анализу... версия
|
| 156 |
|
| 157 |
uploaded_file = st.file_uploader("Выбирайте Excel-файл", type="xlsx")
|
| 158 |
|
|
|
|
| 20 |
finbert = pipeline("sentiment-analysis", model="ProsusAI/finbert")
|
| 21 |
roberta = pipeline("sentiment-analysis", model="cardiffnlp/twitter-roberta-base-sentiment")
|
| 22 |
finbert_tone = pipeline("sentiment-analysis", model="yiyanghkust/finbert-tone")
|
| 23 |
+
rubert1 = pipeline("sentiment-analysis", model = "DeepPavlov/rubert-base-cased")
|
| 24 |
+
rubert2 = pipeline("sentiment-analysis", model = "blanchefort/rubert-base-cased-sentiment")
|
| 25 |
+
|
| 26 |
|
| 27 |
# Function for lemmatizing Russian text
|
| 28 |
def lemmatize_text(text):
|
|
|
|
| 71 |
return "Negative"
|
| 72 |
return "Neutral"
|
| 73 |
|
| 74 |
+
def get_rubert1_sentiment(text):
|
| 75 |
+
result = rubert(text, truncation=True, max_length=512)[0]
|
| 76 |
return get_mapped_sentiment(result)
|
| 77 |
|
| 78 |
+
def get_rubert2_sentiment(text):
|
| 79 |
+
result = rubert(text, truncation=True, max_length=512)[0]
|
| 80 |
+
return get_mapped_sentiment(result)
|
| 81 |
|
| 82 |
def get_finbert_sentiment(text):
|
| 83 |
result = finbert(text, truncation=True, max_length=512)[0]
|
|
|
|
| 138 |
progress_text.text(f"{i + 1} из {total_news} сообщений переведено")
|
| 139 |
|
| 140 |
# Perform sentiment analysis
|
| 141 |
+
rubert1_results = [get_rubert1_sentiment(text) for text in texts]
|
| 142 |
+
rubert2_results = [get_rubert2_sentiment(text) for text in texts]
|
| 143 |
finbert_results = [get_finbert_sentiment(text) for text in translated_texts]
|
| 144 |
roberta_results = [get_roberta_sentiment(text) for text in translated_texts]
|
| 145 |
finbert_tone_results = [get_finbert_tone_sentiment(text) for text in translated_texts]
|
| 146 |
|
| 147 |
# Add results to DataFrame
|
| 148 |
+
df['ruBERT1'] = rubert1_results
|
| 149 |
+
df['ruBERT2'] = rubert2_results
|
| 150 |
df['FinBERT'] = finbert_results
|
| 151 |
df['RoBERTa'] = roberta_results
|
| 152 |
df['FinBERT-Tone'] = finbert_tone_results
|
| 153 |
df['Translated'] = translated_texts
|
| 154 |
|
| 155 |
# Reorder columns
|
| 156 |
+
columns_order = ['Объект', 'ruBERT1', 'ruBERT2','FinBERT', 'RoBERTa', 'FinBERT-Tone', 'Выдержки из текста', 'Translated' ]
|
| 157 |
df = df[columns_order]
|
| 158 |
|
| 159 |
return df
|
| 160 |
|
| 161 |
def main():
|
| 162 |
+
st.title("... приступим к анализу... версия 24")
|
| 163 |
|
| 164 |
uploaded_file = st.file_uploader("Выбирайте Excel-файл", type="xlsx")
|
| 165 |
|