Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

Construye un bot de traducción en 30 min o menos

Posted on Oct 23 🇻🇪🇨🇱 Dev.to Linkedin GitHub Twitter Instagram YoutubeLinktr✅ Blog original: Build A Translator App in 30 Min or Less** Descripción **: Utiliza Amazon Translate, Amazon Comprehend, Amazon Lambda, Amazon Polly y Amazon Lex para darle vida a una aplicación de traducción y probarla en 30 minutos o menos.Puede que media hora no parezca tiempo suficiente para un proyecto importante, pero es tiempo suficiente para crear y probar una aplicación de lenguaje en AWS. Hay cientos de aplicaciones de traducción que nos ayudan a relacionarnos con diversas culturas, personas y los más de 7000 idiomas que se hablan en todo el mundo. Sin embargo, crear tu propia aplicación te brinda experiencia práctica. Crear algo usted mismo pieza por pieza es donde ocurre el verdadero aprendizaje: la clave es adquirir nuevas habilidades y desarrollarlas a través de la práctica.En este blog, crearás una aplicación de traducción. En solo unos pocos pasos, puede crear uno capaz de identificar el idioma de entrada, traducir a varios idiomas y generar archivos de audio con la pronunciación correcta. Lo guiaré paso a paso sobre cómo combinar los servicios de AWS para darle vida a su aplicación y probarla.In this tutorial you are going to create a translator chatbot app, with Amazon Lex that will handle the frontend interaction with the user, and the backend will be in charge of an AWS Lambda Function with the AWS SDK for Python library Boto3 code using the following AWS services: Quizás dudes de la velocidad de esta construcción. Pero sigue leyendo, descubrirás que se puede hacer en menos de 30 minutos.¡Empecemos!En esta parte, utilizará dos servicios de IA totalmente gestionados, Amazon Translate para traducir documentos de texto no estructurado (UTF-8) idiomas comunes o para crear aplicaciones que funcionen en varios idiomas con TranslateText desde Boto3 Translate client y Amazon Comprehend para detectar el idioma dominante del texto que desea traducir mediante la API DetectDominantLanguage de Boto3 Comprehend client. También puedes utilizar Amazon Translate para determinar el idioma de origen del texto. Para ello, realizas una llamada interna a Amazon Comprehend para determinar el idioma de origen, ya te explicaré cómo hacerlo. Para crear la función de conversión de texto a voz, utilizará Amazon Polly, un servicio de IA que utiliza tecnologías avanzadas de aprendizaje profundo para sintetizar el habla humana con un sonido natural. Permite a los desarrolladores convertir el texto en voz realista que se puede integrar en sus aplicaciones.En esta parte, utilizarás el cliente Polly de Boto3 para llamar a las API StartSpeechSynthesistTask y GetSpeechSynthesistTask para recuperar información de SpeechSynthesistTask en función de su identificador de tareas. Proporciona el estado y un enlace al Amazon S3 Bucket que contiene el resultado de la tarea. Amazon Polly admite varios idiomas y voces que permiten que la voz sintetizada suene de forma muy natural y humana. Para generar el mejor audio debemos elegir la voz adecuada para cada idioma. Usa los siguientes diccionarios en Python:🚨Note: Esta aplicación no esperará a que se ejecute SpeechSynthesistTask, ya que la duración depende de la longitud del texto. GetSpeechSynthesistAsk solo muestra el estado del identificador de la tarea.De forma predeterminada, los archivos de un bucket de S3 son privados y solo el propietario del objeto tiene permiso para acceder a ellos. Sin embargo, el propietario del objeto puede compartir objetos con otras personas creando una URL prefirmada. En el caso de la aplicación, utilice la API GeneratePresignedURL de Boto3 S3 client:Hasta este punto, has aprendido a desarrollar el backend de una aplicación que puede aceptar la entrada de texto, traducirla a un idioma de salida elegido y producir audio con la pronunciación correcta. En el futuro, nos centraremos en crear la interfaz de usuario para que los usuarios puedan utilizar las funciones de traducción y conversión de texto a voz.Amazon Lex es un servicio de AWS que permite a los desarrolladores crear interfaces de conversación para aplicaciones mediante voz y texto. Ofrece la amplia funcionalidad y flexibilidad de la comprensión del lenguaje natural (NLU) y el reconocimiento automático de voz (ASR), y simplifica la creación de experiencias de conversación naturales para las aplicaciones sin necesidad de conocimientos especializados de inteligencia artificial o aprendizaje automático. También se puede integrar con dispositivos móviles, web, centro de contacto, plataforma de mensajería y otros servicios de AWS, como funciones de AWS Lambda.Lex, tiene los siguientes componentes:Follow the steps below to set up Amazon Lex on the console:El siguiente paso es crear el flujo de la conversación utilizando la información de los componentes. El idioma ya se seleccionó en el paso anterior, así que cambia el nombre de Intent en Intent details -> Intent Name y luego Save Intent, ahora crea el Slots type (text_to_translate, language).Configura el intento de traducción para cumplir con la solicitud de un usuario de realizar una traducción con los siguientes valores:) 🚨Important: El orden importa, asegúrate de que el tipo language sea el primer espacio que se requiera. Este bot invocará una función de Lambda como enlace de código de diálogo, para validar la entrada del usuario y cumplir con la intención. Para ello, seleccione Utilizar una función de Lambda para la inicialización y la validación (figura 7). Para terminar de crear el chatbot, selecciona Save intent y luego Build arriba a la izquierda.👩🏻‍💻Note: Cuando construyes un bot Lex, lo estás reentrenando con configuraciones y lógicas actualizadas, lo que le permite aprender de los nuevos parámetros.La interacción del backend al frontend se gestionará mediante estados específicos denominados Acción de diálogo. Hace referencia a la siguiente acción que el bot debe realizar en su interacción con el usuario. Los valores posibles son:![Slots created](Para integrar el backend y el frontend, la función Lambda necesita interpretar el formato de los eventos de salida de Lex, que se pasan a la función Lambda como eventos de entrada. La guía para desarrolladores sobre la interpretación del formato de los eventos de entrada proporciona más detalles. En este tutorial, aprenderá a extraer la información necesaria de los eventos de entrada para que la aplicación de traducción funcione.Para empezar, la función Lambda debe extraer los valores de interpretaciones y con las posibles coincidencias con el enunciado del usuario:La interpretation es una matriz con los valores de las ranuras y el estado de la conversación. Para extraer los valores de las ranuras interpretados por Lex, utilice la siguiente función:Para mantener el diálogo entre la función Lambda y Lex, es necesario conocer el contexto que un usuario utiliza en una sesión (ActiveContexts) dentro del valor del estado de la sesión del usuario (sessionState). Para obtenerlo, usa:Necesita la información de contexto específica de la sesiónsessionAttributes:Para enviar el estado DialogAction, utilice esta definición de función:Con las funciones de backend y frontend integradas, ¡es hora de integrarlas!Con todo el código creado en las partes anteriores, ensamblará la función Lambda de la siguiente manera.🚨Important: Importe las bibliotecas necesarias, defina el nombre del bucket_name e inicialice los clientes de Boto3 desde los servicios de AWS y Deploy para guardar.Para permitir que la función Lambda invoque los servicios y recursos de AWS, se debe crear un rol de ejecución con los permisos necesarios. Siga estos pasos para crearlo:Fig 9. Role name. 🚨Important: Reemplaza YOU-BUCKET-NAME por el nombre de tu bucket.Para activar una función de Lambda cuando un usuario interactúa con Amazon Lex, debe adjuntar la función a un alias de bot siguiendo estos pasos:Fig 10. Choose Aliases name. En la lista de idiomas admitidos, selecciona el idioma (English (US)).Selecciona el nombre de la función de Lambda que va a utilizar y, a continuación, selecciona la versión o el alias de la función y luego Save.Fig 11. The Lambda function is invoked for initialization, validation, and fulfillment. Par finalizar la integracion, click en Build para crear y configurar el bot utilizando la nueva lógica, una vez finalizado el proceso de construcción, puedes probar el bot(Fig.12). Fig 12. Testing the bot. Ahora tienes un bot de interfaz conversacional para traductores funcional con conversión de texto a voz que creaste y probaste rápidamente con Amazon Lex. Sin embargo, solo se puede acceder a él a través de la consola y ha trabajado con una versión preliminar. El borrador es la copia funcional de tu bot. Solo puedes actualizar la versión Draft y, hasta que publiques tu primera versión, Draft es la única versión del bot que tienes. Debes crear versiones inmutables para que tu bot entre en producción. Una versión es una instantánea numerada de tu trabajo que puedes publicar para utilizarla en diferentes partes de tu flujo de trabajo, como el desarrollo, la implementación de la versión beta y la producción. Un alias es un indicador de una versión específica de un bot. Con un alias, puedes actualizar fácilmente la versión que utilizan tus aplicaciones cliente sin tener que cambiar ningún código. Los alias le permiten dirigir sin problemas el tráfico a diferentes versiones según sea necesario.Ahora que te he explicado qué es una versión, aprenderás a crear versiones de tu bot y a asignarle el alias. Fig 13. Create a new bot version. Fig 14. Associate with a version, choose the new version. Ya tienes todo lo que necesitas para integrar tu bot con plataformas de mensajería, aplicaciones móviles y sitios web, crea tu aplicación siguiendo algunas de estas instrucciones:Espero que la creación de esta aplicación multilingüe con AWS haya sido una experiencia reveladora para ti. Al utilizar Amazon Comprehend, Amazon Translate, Amazon Polly y Amazon Lex, pudiste crear una potente herramienta de traducción con capacidades de conversión de texto a voz en poco tiempo. El proceso demostró lo fácil que es integrar la IA de AWS a través de las funciones de AWS Lambda. Con algunos conocimientos de programación, cualquiera puede crear aplicaciones sofisticadas, como la traducción de idiomas y la síntesis de voz.Experimentar de forma práctica es la mejor manera de adquirir habilidades. Aunque ya existen aplicaciones de traducción, crear tu propia solución impulsa el aprendizaje. Construir las cosas por ti mismo es más importante que si ya lo has hecho.Para obtener más información sobre Código de muestra de Amazon Polly.También puede obtener más información sobre Todo lo que hacen Amazon Comprehend, Rekognition, Textract, Polly, Transcribe y otros.Consulta algunos ejemplos de Amazon Translate ejemplos de código. más ejemplos de código.Templates let you quickly answer FAQs or store snippets for re-use. Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink. Hide child comments as well Confirm For further actions, you may consider blocking this person and/or reporting abuse Nick Kimani - Oct 13 Pankaj Chouhan - Oct 13 Sachin - Oct 22 John Faith - Oct 21 Once suspended, aws-espanol will not be able to comment or publish posts until their suspension is removed. Once unsuspended, aws-espanol will be able to comment and publish posts again. Once unpublished, all posts by aws-espanol will become hidden and only accessible to themselves. If aws-espanol is not suspended, they can still re-publish their posts from their dashboard. Note: Once unpublished, this post will become invisible to the public and only accessible to Elizabeth Fuentes L. They can still re-publish the post if they are not suspended. Thanks for keeping DEV Community safe. Here is what you can do to flag aws-espanol: aws-espanol consistently posts content that violates DEV Community's code of conduct because it is harassing, offensive or spammy. Unflagging aws-espanol will restore default visibility to their posts. DEV Community — A constructive and inclusive social network for software developers. With you every step of your journey. Built on Forem — the open source software that powers DEV and other inclusive communities.Made with love and Ruby on Rails. DEV Community © 2016 - 2023. We're a place where coders share, stay up-to-date and grow their careers.



This post first appeared on VedVyas Articles, please read the originial post: here

Share the post

Construye un bot de traducción en 30 min o menos

×

Subscribe to Vedvyas Articles

Get updates delivered right to your inbox!

Thank you for your subscription

×