stinoco commited on
Commit
b5221e6
1 Parent(s): e85a261

testing demo

Browse files
Files changed (1) hide show
  1. app.py +31 -8
app.py CHANGED
@@ -54,8 +54,6 @@ def predict(text):
54
  for token in tokens_lower:
55
  labeled_tokens.append((dict_tokens[token], diccionario[dict_keys[token]]) if token in dict_keys.keys() else (token, None))
56
 
57
- return labeled_tokens
58
-
59
  # si hay entidades de largo 2 o mas, devuelvo solo las entidades etiquetadas
60
  else:
61
  tmp_text = ' '.join(tmp_text.split()) # texto sin espacios
@@ -70,17 +68,42 @@ def predict(text):
70
  else:
71
  labeled_tokens.append((token, None))
72
 
73
- return labeled_tokens
74
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
75
  demo = gr.Interface(
76
  predict,
77
- gr.Textbox(placeholder = "Ingresa el texto acá", label = 'Texto'),
78
- gr.Highlightedtext(label = 'Etiquetas'),
79
  examples=[
80
- ['hola!! estoy en santiago manejando en mi ferrari que compré en marzo'],
81
  ['este septiembre iremos manejando a temuco en un toyota para pasar las fiestas patrias'],
82
- ['no puedo, tengo que irme desde san pedro de la paz hasta santiago'],
83
- ['no puedo, tengo que irme desde san pedro hasta la reina y luego hasta san pedro de la paz']
84
  ],
85
  title = 'Detección de Entidades'
86
  )
 
54
  for token in tokens_lower:
55
  labeled_tokens.append((dict_tokens[token], diccionario[dict_keys[token]]) if token in dict_keys.keys() else (token, None))
56
 
 
 
57
  # si hay entidades de largo 2 o mas, devuelvo solo las entidades etiquetadas
58
  else:
59
  tmp_text = ' '.join(tmp_text.split()) # texto sin espacios
 
68
  else:
69
  labeled_tokens.append((token, None))
70
 
 
71
 
72
+ # SERNAC CLASSIFICATION
73
+
74
+ with open('sernac_model.pkl', 'rb') as model:
75
+ clf = pickle.load(model)
76
+
77
+ labels = [label for label in clf.classes_]
78
+
79
+ sernac_probas = clf.predict_proba([text])
80
+
81
+ sernac_probas = {labels[i]: float(sernac_probas[0][i]) for i in range(sernac_probas.shape[1])}
82
+
83
+
84
+ # SERNAC CATEGORIES CLASSIFICATION
85
+
86
+ with open('sernac_categories_model.pkl', 'rb') as model:
87
+ clf = pickle.load(model)
88
+
89
+ labels = [label for label in clf.classes_]
90
+
91
+ probas = clf.predict_proba([text])
92
+
93
+ sernac_categories = {labels[i]: float(probas[0][i]) for i in range(probas.shape[1])}
94
+
95
+ return labeled_tokens, sernac_probas, sernac_categories
96
+
97
+
98
+ # DEMO
99
  demo = gr.Interface(
100
  predict,
101
+ inputs = gr.Textbox(placeholder = "Ingresa el texto acá", label = 'Texto'),
102
+ outputs = [gr.Highlightedtext(label = 'Etiquetas'), gr.outputs.Label(label = 'Clasificación Sernac'), gr.outputs.Label(label = 'Clasificación Categorías Sernac')],
103
  examples=[
 
104
  ['este septiembre iremos manejando a temuco en un toyota para pasar las fiestas patrias'],
105
+ ['no puedo, tengo que irme desde san pedro hasta la reina y luego hasta san pedro de la paz'],
106
+ ['Buenas tardes, hace unas semanas compre un suzuki swift a derco de santiago, llevaba 2 semanas y la caja de cambios se echó a perder. Tengo asegurado el auto con BCI, pero aun no obtengo respuesta. ']
107
  ],
108
  title = 'Detección de Entidades'
109
  )