Spaces:
Runtime error
Runtime error
testing demo
Browse files
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
|
| 83 |
-
['
|
| 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 |
)
|