danielcd99 commited on
Commit
11533ba
1 Parent(s): 8986813

added pipeline for classification with bert

Browse files
Files changed (1) hide show
  1. app.py +26 -3
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
- cols = ['review','preprocessed_review','sentiment']
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