Contenido


Cómo Añadir una Traducción de Idioma a sus Aplicaciones con IBM Watson

Utilice el servicio Machine Translation, Node-RED y AngularJS para una aplicación de IBM Cloud que traduce texto proporcionado por el usuario

¿Desea añadir una traducción de idioma a sus aplicaciones? El servicio Machine Translation de IBM Cloud utiliza el sistema de computación cognitiva de IBM Watson para traducir un texto introducido por el usuario a otros idiomas. El editor de flujo Node-RED facilita el uso del servicio Machine Translation en sus aplicaciones de IBM Cloud. Le mostramos cómo utilizar Node-RED para crear una aplicación que exponga un punto final de REST para una instancia del servicio Machine Translation. Luego, usted añadirá una interfaz de usuario creada con AngularJS. La IU incluye una visualización de la puntuación de opinión AFINN-111 para el texto ingresado por el usuario. En solo algunos minutos, su aplicación hablará inglés, español, francés, portugués o árabe — y, al mismo tiempo, informará sobre la opinión del usuario.

El flujo de Node-RED recibe un mensaje, obtiene la puntuación de opinión de este y utiliza Watson para traducir el mensaje a español.

Qué necesita para construir su aplicación

Ejecutar la aplicación Obtener el código de IU

Paso 1. Configuración de los servicios de IBM Cloud

El flujo de traducción automática utiliza las capacidades de Node-RED en IBM Cloud. Para desarrollar el flujo, primero debe crear una aplicación de Node-RED y añadirle el servicio Machine Translation.

  1. Inicie sesión en IBM Cloud.
  2. En el catálogo, elija Iniciador Node-RED: Screenshot of the Node-RED Start Community tile in the IBM Cloud catalog
  3. Ingrese el nombre único de su elección en los campos Nombre y Host y haga clic enCREAR.
  4. Vuelva al panel de instrumentos de IBM Cloud y haga clic en la aplicación de Node-RED que creó.
  5. Haga clic en Añadir un Servicio.
  6. Haga clic en Machine Translation en la categoría Watson del catálogo. Podrá ver su aplicación de Node-RED en el campo Aplicaciones del cuadro de diálogo Añadir Servicio .
  7. Haga clic en CREAR y, cuando se le solicite, haga clic en VOLVER A IMPLEMENTAR.
  8. Luego de volver a implementar la aplicación, haga clic en el URL Rutas para abrir su aplicación de Node-RED en una nueva página del navegador: Screenshot showing the Routes URL for your app
    Screenshot showing the Routes URL for your app
  9. En su aplicación de Node-RED, haga clic en el botón Ir al editor de flujo Node-RED .

Paso 2. Construcción del flujo de traducción automática de REST en Node-RED

Ahora, utilizará el editor de flujo Node-RED para construir el servicio de REST. El flujo recibe un mensaje, obtiene la puntuación de opinión de este y utiliza Watson para traducir el mensaje (en este caso, a español).Siga estos pasos para crear, configurar y probar el flujo de trabajo:

  1. Desde la paleta, arrastre un nodo de entrada http alScreenshot of the http node icon lienzo.
  2. Haga doble clic en el nodo http en el lienzo para configurarlo para el método GET e ingrese /olli en el campo url: Screenshot of the http node configuration dialog box
    Screenshot of the http node configuration dialog box

    Haga clic en Aceptar para crear un servicio de REST recibido en /olli.
  3. Arrastre el nodo de función denominado function al lienzo. Con el ratón, conecte el cuadrado de salida en el nodo http al cuadrado de entrada en el nodo function .
  4. Haga doble clic en el nuevo nodo e ingrese Swap Arguments en el campo Nombre. Añada las siguientes tres líneas de código al campo Función:

    msg.lang=msg.payload.lang;
    msg.payload=msg.payload.message;
    return msg;

    Screenshot of the function node configuration dialog box
    Screenshot of the function node configuration dialog box
  5. Haga clic en Aceptar.
  6. Arrastre el nodo de análisis de opinión al lienzo y conéctelo al nodo de función denominadoSwap Arguments. El análisis de opinión espera una cadena de caracteres en lenguaje humano y devuelve una puntuación de opinión que varía de -5 a +5, en donde los valores negativos representan opinión negativa, los valores positivos representan opinión positiva y cero significa opinión neutral.
  7. Arrastre el nodo de IBM Watson Machine Translation al lienzo y conéctelo al nodo de opinión .
  8. Añada otro nodo de function y conéctelo al nodo Machine Translation . Haga doble clic en el nuevo nodo, ingrese un nombre (como concatenar respuesta) y añada las siguientes dos líneas de código al campo Función:

    msg.payload=msg.payload+;+msg.sentiment.score;
    return msg;

    Screenshot of the function node configuration dialog box
    Screenshot of the function node configuration dialog box
  9. Haga clic en Aceptar.
  10. Añada un nodo de respuesta http y conéctelo al nodo de función. El flujo finalizado en Node-RED debe tener este aspecto: Screenshot of the completed Node-RED flow, showing the six connected nodes
    Screenshot of the completed Node-RED flow, showing the six connected nodes
  11. Haga clic en DESPLEGAR. Su servicio de REST está listo y funcionando y todos lo pueden utilizar.
  12. En su navegador, pruebe el servicio de REST al enviar un mensaje: http://yourappname.mybluemix.net/olli?message=the%20world%20is%20great&lang=mt-enus-eses
  13. Verifique que la respuesta traduzca el texto a español y devuelva una puntuación de opinión: Screnshot of the translated response from the REST service

Paso 3. Añadir la IU de AngularJS a Node-RED

Ahora que el servicio de REST está listo, necesita una aplicación que lo llame. Le construimos una aplicación de inicio con AngularJS. Esta aplicación de una página posee un archivo index.html y llama al servicio de REST. Todo lo que debe hacer es descargar una copia del código en IBM Cloud DevOps Services y desplegarlo desde allí para introducir la IU en el tiempo de ejecución de Node-RED.

  1. Vuelva al panel de instrumentos de IBM Cloud y haga clic en la aplicación de Node-RED.
  2. En la página de visión general de la aplicación, haga clic en el enlaceAñadir GIT .
  3. Deje el recuadro de selección marcado y haga clic en CONTINUAR: Screenshot of the Create Git Repository dialog box
    Screenshot of the Create Git Repository dialog box
  4. Haga clic en el botón EDITAR CÓDIGO .
  5. Haga clic en el botón Obtener el código de IU de este tutorial (inmediatamente arriba del Paso 1) y guarde el archivo ui.zip en su sistema local de archivos.
  6. En el árbol de directorios del editor de código del proyecto de IBM Cloud DevOps Services, haga clic con el botón derecho en la carpeta pública y seleccioneImportar -> Archivo o archivo zip: Screenshot of importing a file into the IBM Cloud DevOps Services project code editor
    Screenshot of importing a file into the IBM Cloud DevOps Services project code editor
  7. Seleccione ui.zip desde su almacenamiento local y haga clic en Aceptar para descomprimir el contenido del archivo en el directorio público del proyecto: Screenshot of prompt to unzip the file
    Screenshot of prompt to unzip the file
  8. El código ahora está en el directorio público/ui del proyecto. No tiene que cambiar el código, pero puede analizar el index.html para ver la lógica. La línea 36 es la llamada al servicio de REST en su flujo de trabajo de Node-RED. La función customerController() se ejecuta cuando se muestra la página y añade una función submit() al ámbito de la visualización, que es llamada cuando el usuario hace clic en el botón Traducir. El clic al botón desencadena una solicitud HTTP al servicio REST de Node-RED, transmitiendo el mensaje que debe traducirse junto al idioma de traducción seleccionado por el usuario. Al recibir la respuesta, se establecen el mensaje traducido y el valor de opinión en el ámbito y, luego, se muestran en la visualización.
  9. Haga clic en el botón reproducir (el triángulo orientado hacia la derecha) para desplegar el modelo modificado de Node-RED que contiene la IU de AngularJS para IBM Cloud: Screenshot of the play button
    Screenshot of the play button

Ahora, su aplicación se está ejecutando en http://yourappname.mybluemix.net/ui.

Paso 4. Probar la aplicación

  1. Abra http://yourappname.mybluemix.net/ui en su navegador. Seleccione el idioma de traducción que desea, ingrese el texto a traducir y haga clic en Traducir: Screenshot of the app UI
    Screenshot of the app UI

    En un segundo plano, el código de Angular inicia la llamada al servicio de REST a su flujo de trabajo de Node-RED. La aplicación de AngularJS forma la cadena de caracteres devuelta por el servicio de REST.
  2. Verifique que la aplicación funcione correctamente. Debería ver el texto traducido al idioma seleccionado, la puntuación de opinión y la imagen de un rostro estilizado cuya expresión refleja la puntuación: Screenshot of the translated text and sentiment score visualization

Conclusión

En este tutorial, aprendió cómo crear rápidamente un servicio de REST con Node-RED y cómo acceder al servicio desde una aplicación de AngularJS que se ejecuta en IBM Cloud. Su aplicación utiliza el servicio IBM Cloud Machine Translation para traducir texto entre idiomas y, también, el servicio de análisis de opinión para brindar una puntuación de opinión. Ya está listo para construir servicios adicionales de REST con Node-RED y para desarrollar aplicaciones que utilicen esos servicios.


Recursos para Descargar


Temas relacionados

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Cognitive computing
ArticleID=1019899
ArticleTitle=Cómo Añadir una Traducción de Idioma a sus Aplicaciones con IBM Watson
publish-date=12032015