File size: 1,582 Bytes
898d6e5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import gradio as gr
import numpy as np
from transformers import pipeline

# pipelines
pipeline_clf = pipeline("text-classification", model = "stinoco/beto-sentiment-analysis-finetuned", return_all_scores = True)
pipeline_pos = pipeline("token-classification", model = "sagorsarker/codeswitch-spaeng-pos-lince")


def predict(text: str):

  '''
  Funci贸n que recibe texto como input, devuelve la clasificaci贸n de texto para ser recibida por el demo.
  text: texto a clasificar (str)
  '''

  # Text Classification
  classes = pipeline_clf(text)[0]

  # POS
  classes = {element['label']: element['score'] for element in classes}

  labeled_text = {'text': text, 'entities': pipeline_pos(text)}

  return classes, labeled_text

demo = gr.Interface(fn = predict, 
                         inputs = [gr.Textbox(placeholder = "Ingresa el reclamo ac谩", label = 'Reclamo')],
                         outputs = [gr.outputs.Label(label = 'Categor铆as'),
                                    gr.Highlightedtext(label = 'Part of Speech')],
                         examples = [
                             ['al ser de region simpre esta con quiebre de stock'],
                             ['que tienen que tener vendedores que conozcan el rubro y que sepan lo que estan vendiendo'],
                             ['un solo vendedor no pude estar encargado de miles de articulos debe especificarse en cerveza'],
                             ['no hay mercaderia']
                         ],
                         title = 'Demo Clasificaci贸n NPS'
                         )

demo.launch()