---
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(
"""
""",
unsafe_allow_html=True
)
st.markdown('
Traducción Instantánea: Inglés - Español y Español - Inglés
', 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