File size: 5,281 Bytes
0189905 58007ec 0189905 58007ec 0189905 2be6b15 c764d4b eee9d87 c764d4b b1237fd 0fa6ef5 6fa2551 eee9d87 b1237fd 02d1344 2cf483f 02d1344 beeec37 eee9d87 beeec37 2be6b15 994194d 5661330 2be6b15 994194d 2be6b15 eee9d87 beeec37 b1237fd beeec37 c764d4b beeec37 0189905 2be6b15 58007ec |
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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
---
title: Taller2
emoji: 📚
colorFrom: gray
colorTo: blue
sdk: streamlit
sdk_version: 1.41.0
app_file: app.py
pinned: false
short_description: Taller 2
---
## Traductor Instantáneo: Inglés - Español y Español - Inglés
## Autores:
- Javier Alejandro Valencia Estrada
- Diego Alejandro Rodriguez Garcia
- Cristhian Alexander Torres Polanco
- Luis Eduardo Solarte Riascos
Este proyecto es una aplicación web que permite traducir texto entre inglés y español utilizando modelos de traducción automática. La aplicación está construida con Streamlit y utiliza la biblioteca Transformers de Hugging Face para acceder a modelos preentrenados.
## Características
- Traducción de texto desde inglés a español.
- Traducción de texto desde español a inglés.
- Interfaz de usuario intuitiva y fácil de usar.
## Requisitos
Para ejecutar este proyecto, necesitarás tener instalado lo siguiente:
- Python 3.7 o superior
- Las siguientes bibliotecas de Python:
```bash
pip install streamlit transformers torch sentencepiece
## Estructura del Proyecto
El proyecto consta de un archivo principal llamado app.py, que contiene todo el código necesario para ejecutar la aplicación.
Y un archivo requeriment.txt donde se encunetran las librerias necesaria para ejecuar el proyecto.
# Código del Proyecto
A continuación, se detalla cada parte del código en app.py.
import streamlit as st
from transformers import pipeline
Importaciones: Se importan las bibliotecas necesarias. streamlit se utiliza para crear la interfaz web, mientras que pipeline de transformers
se utiliza para cargar los modelos de traducción.
# Título de la aplicación
st.markdown(
"""
<style>
.title {
text-align: center;
color: #4CAF50; /* Color del título */
font-size: 36px; /* Tamaño del texto */
margin-bottom: 20px; /* Espacio debajo del título */
}
.text-area {
margin-bottom: 20px; /* Espacio debajo del área de texto */
}
.selectbox {
margin-bottom: 20px; /* Espacio debajo del selectbox */
}
</style>
""",
unsafe_allow_html=True
)
st.markdown('<h1 class="title">Traducción Instantánea: Inglés - Español y Español - Inglés</h1>', unsafe_allow_html=True)
Estilo CSS y Título: Se define un estilo CSS para personalizar la apariencia de la aplicación. El título se centra y se le da un color y tamaño específicos.
# Cargar los modelos de traducción
modelo_en_es = 'Helsinki-NLP/opus-mt-en-es' # Modelo para traducir de inglés a español
modelo_es_en = 'Helsinki-NLP/opus-mt-es-en' # Modelo para traducir de español a inglés
traductor_en_es = pipeline('translation', model=modelo_en_es)
traductor_es_en = pipeline('translation', model=modelo_es_en)
Carga de Modelos: Se cargan dos modelos preentrenados:
- Helsinki-NLP/opus-mt-en-es: Modelo que traduce texto del inglés al español.
- Helsinki-NLP/opus-mt-es-en: Modelo que traduce texto del español al inglés.
Descripción:
- Estos modelos hacen parte de la suite OPUS-MT y están diseñados para traducir texto del inglés al español y español al ingles.
Utiliza una arquitectura basada en transformers, que es eficiente para tareas de traducción automática.
Preprocesamiento:
- Los modelos utilizan técnicas de normalización y tokenización mediante SentencePiece, lo que ayuda a manejar mejor
las variaciones en el lenguaje y a reducir la complejidad del vocabulario.
# Entrada de texto del usuario
texto_a_traducir = st.text_area("Introduce el texto que deseas traducir:", "", key="text_area", height=150)
# Espaciado entre el área de texto y el selectbox
st.write("") # Espacio vacío
# Selección del modo de traducción
modo_traduccion = st.selectbox("Selecciona el modo de traducción:",
["Inglés a Español", "Español a Inglés"], key="selectbox")
Entrada del Usuario: Se crea un área de texto donde el usuario puede ingresar el texto que desea traducir. También se incluye un menú
desplegable (selectbox) para seleccionar el modo de traducción (inglés a español o español a inglés).
Botón de Traducción: Al presionar el botón "Traducir", se verifica si hay texto ingresado. Según el modo seleccionado, se realiza la
traducción utilizando el modelo correspondiente y se muestra el resultado en la interfaz.
## Referencias
- https://www.aimodels.fyi/models/huggingFace/opus-mt-es-en-helsinki-nlp
- https://www.youtube.com/watch?v=pty-2iHn-WM
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference |