Spaces:
Sleeping
Sleeping
Commit
·
11533ba
1
Parent(s):
8986813
added pipeline for classification with bert
Browse files
app.py
CHANGED
|
@@ -2,6 +2,7 @@ import streamlit as st
|
|
| 2 |
import pandas as pd
|
| 3 |
from preprocess_data import preprocess_text,get_stopwords
|
| 4 |
from datasets import load_dataset
|
|
|
|
| 5 |
|
| 6 |
dataset = load_dataset('danielcd99/imdb')
|
| 7 |
|
|
@@ -11,6 +12,19 @@ for split in dataset.keys():
|
|
| 11 |
df = dataset[split].to_pandas()
|
| 12 |
dataframes[split] = df
|
| 13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 14 |
TITLE_TEXT = f"IMDB reviews"
|
| 15 |
DESCRIPTION_TEXT = f"Esta é uma aplicação para o trabalho de NLP. Utilizamos a base de dados de reviews do IMDb com 50.000 comentários entre positivos e negativos (a base está balanceada). Por meio desta interface é possível visualizar como os exemplos da nossa base de teste foram classificados com um BERT treinado para esta task."
|
| 16 |
|
|
@@ -22,9 +36,18 @@ if st.button('Encontre exemplos!'):
|
|
| 22 |
get_stopwords()
|
| 23 |
df['preprocessed_review'] = df['review'].copy()
|
| 24 |
df['preprocessed_review'] = df['preprocessed_review'].apply(preprocess_text)
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 28 |
|
| 29 |
st.table(df[cols])
|
| 30 |
|
|
|
|
| 2 |
import pandas as pd
|
| 3 |
from preprocess_data import preprocess_text,get_stopwords
|
| 4 |
from datasets import load_dataset
|
| 5 |
+
from transformers import pipeline
|
| 6 |
|
| 7 |
dataset = load_dataset('danielcd99/imdb')
|
| 8 |
|
|
|
|
| 12 |
df = dataset[split].to_pandas()
|
| 13 |
dataframes[split] = df
|
| 14 |
|
| 15 |
+
|
| 16 |
+
MODEL_PATH = 'danielcd99/BERT_imdb'
|
| 17 |
+
|
| 18 |
+
def load_pipeline():
|
| 19 |
+
pipe=pipeline(
|
| 20 |
+
"text-classification",
|
| 21 |
+
model=MODEL_PATH
|
| 22 |
+
)
|
| 23 |
+
return pipe
|
| 24 |
+
|
| 25 |
+
pipe = load_pipeline()
|
| 26 |
+
|
| 27 |
+
|
| 28 |
TITLE_TEXT = f"IMDB reviews"
|
| 29 |
DESCRIPTION_TEXT = f"Esta é uma aplicação para o trabalho de NLP. Utilizamos a base de dados de reviews do IMDb com 50.000 comentários entre positivos e negativos (a base está balanceada). Por meio desta interface é possível visualizar como os exemplos da nossa base de teste foram classificados com um BERT treinado para esta task."
|
| 30 |
|
|
|
|
| 36 |
get_stopwords()
|
| 37 |
df['preprocessed_review'] = df['review'].copy()
|
| 38 |
df['preprocessed_review'] = df['preprocessed_review'].apply(preprocess_text)
|
| 39 |
+
|
| 40 |
+
predictions = []
|
| 41 |
+
for review in df['preprocessed_reviews']:
|
| 42 |
+
label = pipeline(review)[0]['label']
|
| 43 |
+
if label == 'LABEL_0':
|
| 44 |
+
predictions.append('Negative')
|
| 45 |
+
else:
|
| 46 |
+
predictions.append('Positive')
|
| 47 |
+
|
| 48 |
+
df['predictions'] = predictions
|
| 49 |
+
|
| 50 |
+
cols = ['review','sentiment', 'predictions']
|
| 51 |
|
| 52 |
st.table(df[cols])
|
| 53 |
|