Spaces:
Sleeping
Sleeping
File size: 1,786 Bytes
14536de 11533ba 1ba6bc3 14536de 11533ba 14536de 11533ba bb80e71 8b50086 c1392df 8b50086 11533ba 1ba6bc3 11533ba 1ba6bc3 14536de |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
import streamlit as st
import pandas as pd
from preprocess_data import preprocess_text,get_stopwords
from datasets import load_dataset
from transformers import pipeline
from wordnet import wordnet_pipeline
dataset = load_dataset('danielcd99/imdb')
dataframes = {}
for split in dataset.keys():
# Convert the dataset split to a pandas DataFrame
df = dataset[split].to_pandas()
dataframes[split] = df
MODEL_PATH = 'danielcd99/BERT_imdb'
def load_pipeline():
pipe=pipeline(
"text-classification",
model=MODEL_PATH
)
return pipe
pipe = load_pipeline()
TITLE_TEXT = f"IMDB reviews"
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."
st.title(TITLE_TEXT)
st.write(DESCRIPTION_TEXT)
if st.button('Encontre exemplos!'):
df = df.sample(5)
get_stopwords()
df['preprocessed_review'] = df['review'].copy()
df['preprocessed_review'] = df['preprocessed_review'].apply(preprocess_text)
predictions = []
for review in df['preprocessed_review']:
try:
label = pipe(review)[0]['label']
except:
st.error("Ocorreu um erro de carregamento, tente novamente!")
if label == 'LABEL_0':
predictions.append('Negative')
else:
predictions.append('Positive')
df['bert_results'] = predictions
df['wordnet_results'] = wordnet_pipeline(df, 'preprocessed_review')
cols = ['review','sentiment', 'bert_results', 'wordnet_results']
st.table(df[cols])
|