Spaces:
Running
Running
danielcd99
commited on
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 |
|