--- 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