Horchatas commited on
Commit
cd341c1
·
verified ·
1 Parent(s): a32df5e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +27 -1
app.py CHANGED
@@ -9,7 +9,7 @@ tokenizer = MarianTokenizer.from_pretrained(model_name)
9
  model = MarianMTModel.from_pretrained(model_name)
10
 
11
  def traducir_resumir(texto):
12
- text_summarized = summarizer(texto, max_length=1000, min_length=30, do_sample=False)
13
  texto_solo = ">>esp<< " + text_summarized[0]["summary_text"]
14
  translated_resumido = model.generate(**tokenizer(texto_solo, return_tensors="pt", padding=True))
15
  texto_resumido = [tokenizer.decode(t, skip_special_tokens=True) for t in translated_resumido]
@@ -29,6 +29,7 @@ def traducir(texto):
29
  return texto_completo
30
 
31
  with gr.Blocks() as demo:
 
32
  with gr.Row():
33
  with gr.Column():
34
  text = gr.Textbox(label="Introduzca el texto a resumir y traducir")
@@ -40,6 +41,31 @@ with gr.Blocks() as demo:
40
  with gr.Column():
41
  output1 = gr.Textbox(label="Texto resumido traducido")
42
  output2 = gr.Textbox(label="Texto completo traducido")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
 
44
  sumbtn.click(fn = traducir_resumir, inputs = text, outputs = output1)
45
  tradbtn.click(fn = traducir, inputs = text, outputs = output2)
 
9
  model = MarianMTModel.from_pretrained(model_name)
10
 
11
  def traducir_resumir(texto):
12
+ text_summarized = summarizer(texto, max_length=1000, min_length=100, do_sample=False)
13
  texto_solo = ">>esp<< " + text_summarized[0]["summary_text"]
14
  translated_resumido = model.generate(**tokenizer(texto_solo, return_tensors="pt", padding=True))
15
  texto_resumido = [tokenizer.decode(t, skip_special_tokens=True) for t in translated_resumido]
 
29
  return texto_completo
30
 
31
  with gr.Blocks() as demo:
32
+ gr.Markdown("### Proyecto 1 - Trabajo con modelos de IA")
33
  with gr.Row():
34
  with gr.Column():
35
  text = gr.Textbox(label="Introduzca el texto a resumir y traducir")
 
41
  with gr.Column():
42
  output1 = gr.Textbox(label="Texto resumido traducido")
43
  output2 = gr.Textbox(label="Texto completo traducido")
44
+ with gr.Accordion("Información"):
45
+ with gr.Row():
46
+ with gr.Column():
47
+ with gr.Accordion("Detalles del proyecto"):
48
+ gr.Markdown("""El problema principal que resuelve este proyecto es para adquirir información de textos en inglés cuando no se sabe este idioma.\n
49
+ Esto es un problema bastante comun dado que hay mucha gente en España la cual no sabe inglés y si quiere informarse de cualquier tema el cual no está \
50
+ muy desarrollado en español tiene que buscarse la vida para poder traducir esos textos a su idioma natal.\n
51
+ Gracias a este proyecto se puede traducir estos textos rápidamente con un función añadida de hacerle un resumen para poder entenderlo mejor. \n
52
+ El modelo requiere como input un texto en ingles y sacara como outputs un texto resumido en español y el mismo texto completo traducido al español.
53
+ """
54
+ )
55
+ with gr.Column():
56
+ with gr.Accordion("Detalles de los modelos"):
57
+ gr.Markdown("""#### Helsinki-NLP/opus-mt-en-es (Modelo traductor)
58
+ Este modelo es el que se usa para traducir el texto de ingles a español. Se usa desde un framework (MarianMT) el cual contiene más de 1000 modelos de lenguaje.\
59
+ Para usar el modelo específico de traducir de ingles a español se tiene que poner las etiquetas de idioma (en este caso en y es) junto al modelo en si \
60
+ (Helsinki-NLP/opus-mt-{src}-{trg}). El modelo necesita tokenizar el texto para poder traducirlo. Esto se hace con su propio tokenizador el cual es MarianTokenizer.\n
61
+ La duración de la traducción viene dada a la longitud del texto que se quiere traducir por lo que textos más largos tardarán más en traducirse.\n
62
+ El principal problema del modelo es que para la versión que tenemos solo permite 512 tokens al traducir lo cual limita mucho, por eso traduzco el texto \
63
+ partiendolo en segmentos de misma longitud (100 en este caso)\n"
64
+ #### Falconsai (Modelo que resume)
65
+ Este modelo es un fine-tuning hecho para resumir de otro modelo llamado T5 Small. Es un modelo muy sencillo el cual puede traducir textos muy extensos \
66
+ y de forma rápida y sencilla. La forma en la que lo uso es con el pipeline de transformer y dentro de este se le pone los parametros max_lenght y min_length \
67
+ los cuales permite poner la longitud máxima y mínima para el texto resumido."""
68
+ )
69
 
70
  sumbtn.click(fn = traducir_resumir, inputs = text, outputs = output1)
71
  tradbtn.click(fn = traducir, inputs = text, outputs = output2)