Día: 30 de julio de 2021

Microsoft Bot Framework

En el artículo de hoy, explicaremos cómo nos ayudan los servicios y framework de Microsoft para trabajar con bots, veremos un poco de contexto para situarnos como punto de partida y qué requisitos previos son necesarios.

La implementación de nuevos canales de información para el estudiante a través de la aplicación de la inteligencia artificial y su implementación en un chatbot buscan prestarayuda oportuna al estudiante gracias a su fácil integración con aplicaciones (web o móviles) de mensajería (FacebookMessenger y Skype) sin la necesidad de adquirir o descargar una nueva.
La aplicación de los servicios cognitivos y el bot framework de Microsoft ofrecen una plataforma deconstrucción de un chatbot que puede aprender y ofrecer respuestas con más precisión sin la necesidad de disponer de una persona, con está su limitación física y contractual por su horario de trabajo (8 horas diarias, generalmente), a diferencia del chatbot que está disponible las 24 horas del
día.

Sin embargo, el proceso general de construcción de un chatbot fue el mismo, lo que generalmente implica:

  • planificar y diseñar los tipos de conversación que desea que tenga su bot
  • agregar servicios como LUIS para la comprensión del lenguaje
  • construir componentes para manejar la orquestación de conversaciones
  • pruebas con Bot Framework Emulator
  • publicar en Azure para que otros puedan usar su bo
El proceso de construcción de un chatbot.

Los bots son efectivamente servicios web que implementan interfaces conversacionales que facilitan el envío / recepción de mensajes y eventos. Usando un idioma de su elección, como C # o JavaScript, puede crear mensajes que pueden contener texto, imágenes y otros medios enriquecidos para ayudar a guiar al usuario a través de las conversaciones de una manera inteligente. Estas conversaciones pueden tener lugar a través de diferentes tipos de interfaz, lo que nos lleva a los canales.

Canales

Los usuarios pueden comunicarse con su bot a través de un canal . Un canal es una conexión entre su bot y una aplicación de comunicación como Skype, Slack, Facebook Messenger o simplemente un sitio web (llamado Web Chat en Bot Framework).

Diálogos

Al construir su bot, querrá que diga más que solo “hola”. Para ayudarlo a administrar formas simples y más complejas de flujos de conversación, usa una colección de Diálogos . Estas son estructuras en su bot que usted crea (clases regulares de C #) y están diseñadas para realizar operaciones en un orden específico. Se pueden invocar de varias formas, por ejemplo, se pueden invocar cuando LUIS identifica una intención, en la respuesta de un usuario o incluso mediante otros diálogos.

Al encapsular su lógica conversacional en uno o más diálogos y vincularlos, hace que sea más fácil codificar y mantener el código fuente de su chatbot, ¡sin mencionar que lo hace más fácil de modelar y comprender!

Medios y tarjetas

Al diseñar y crear conversaciones, a veces desea mostrar más que solo texto a los usuarios que interactúan con su bot. Aquí es donde entran en juego los medios y las cartas .

Con Bot Framework, puede inyectar controles de usuario enriquecidos como botones, imágenes, carruseles y menús con los que los usuarios pueden interactuar para ayudarlos a navegar a través del flujo de conversación. Puede presentar selecciones de opción múltiple, video y mucho más, el tipo de tarjetas que necesita o usar está determinado en última instancia por los tipos de conversación que le gustaría que tuviera su bot.

Les dejamos alguna referencia de los más comunes que podemos encontrar hoy en día:

  • Asistentes: como Cortana, Ok Google y Siri
  • ChatBots: Bots conversacionales en canales de mensajería y webs.
  • Crawlers: Bots que recorren toda Internet mediante “spiders”
  • GameBots: Bots contra los que podemos jugar, ajedrez, damas, etc.
  • InfoBots: Bots que publican noticias en diferentes canales de información
  • SpamBots: Bots que realizan spam de forma masiva
  • TrafficBots: Bots que generan tráfico artificial en sitios web para aumentar visitas
  • TrendingBots: Bots que realizan interacciones con HashTags para hacer Trending Topics
  • SocialBots: Simuladores de clicks/likes en portales como YouTube, Instagram y otros
  • HackerBots: Diseñados para robar información de nuestro email, Facebook, ordenador, etc.
  • Maliciosos: Bots que registran cuentas falsas en web para realizar ataques o fraudes.

Viendo este contexto, hay que destacar que el Microsoft Bot Framework está orientado a la creación de ChatBots exclusivamente, que podemos publicar de forma automática en muchos canales sin necesidad de programar una línea de código y deberemos integrarlos con los servicios cognitivos para dotarlos de cierta IA, ya que por defecto “no son inteligentes”.

Microsoft Bot Framework y su integración con diversas aplicaciones

La tecnología de los bots ha avanzado a pasos agigantados, ya no son aquellos un poco torpes que se desarrollaban en un principio, ahora son muy inteligentes, y son los asistentes virtuales perfectos, pues te ayudarán 24/7. En este artículo te contaremos por si no lo sabes, qué es un bot y cómo funciona, además de las numerosas aplicaciones que pueden agregarse a este. ¡Te invitamos a seguir leyendo!

Para comenzar a hablarles sobre Microsoft Bot Framework , comencemos definiendo qué es un bot

Un bot, también conocido como bot de chat o bot de conversación, es una aplicación que ejecuta tareas automatizadas simples y repetitivas realizadas por los usuarios, como el servicio de atención al cliente o el personal de soporte técnico. Algunos ejemplos de bots de uso diario incluye bots que proporcionan información sobre el tiempo, reservan la cena o proporcionan información de viaje. 

Los robots de conversación permiten que los usuarios interactúen con el servicio web mediante texto, tarjetas interactivas y módulos de tareas.

Los bots conversacionales son increíblemente flexibles y se pueden tener en cuenta para controlar algunos comandos simples o tareas complejas, basadas en inteligencia artificial y procesamiento de lenguaje natural. Pueden ser un aspecto de una aplicación más grande o ser completamente independientes.

Encontrar la combinación adecuada de tarjetas, texto y módulos de tareas es clave para crear un bot útil.

¿Cómo funciona un bot?

Cada interacción entre el usuario y el bot se representa como una actividad. Cuando un bot recibe una actividad, la pasa a sus controladores de actividad. Además, los bots son aplicaciones que tienen una interfaz de conversación. Puedes interactuar con un bot con texto, tarjetas interactivas y voz. Un bot se comporta de forma diferente en función de si la conversación es un canal o una conversación de chat de grupo, o si es una conversación uno a uno. Las conversaciones se controlan a través del conector de Bot Framework.

El bot requiere información contextual, como los detalles del perfil de usuario para tener acceso al contenido relevante y mejorar la experiencia del bot.

Aplicaciones que se pueden integrar a tu bot

Cosmos DB

Antes de usar Cosmos DB, es útil que comprenda la importancia de almacenar los datos de la conversación y cómo se almacenan en el estado del Bot Framework ¿Por qué almacenar datos de conversación? Aquí te contaremos sobre algunos escenarios en los que los datos de la conversación pueden ser útiles:

1. Análisis: Cuando quieres analizar los datos de los usuarios y las conversaciones casi en tiempo real. También puedes aplicar modelos y herramientas de Machine Learning como las APIs de Microsoft Cognitive Services. Algunos ejemplos:

    • Análisis de sentimiento para rastrear la calidad de una conversación. 
    • Análisis del embudo de mensajes en los bots para identificar dónde ha fallado el Procesamiento del Lenguaje Natural (como LUIS) o se puede mejorar para manejar mejor los mensajes de entrada.

2. Métricas: Número de usuarios activos o nuevos y recuento de mensajes (para determinar el nivel de compromiso que tiene el bot con los usuarios).

3. Auditoría: Cuando hay que almacenar los datos de todos los usuarios con fines de auditoría. Puede ser incluso un requisito, dependiendo de su solución.

Y como dato importante CosmosDb es independiente del bot, por lo que si el bot se reinicia, solo lee la información de estado de CosmosDb. Siempre que el usuario tenga el mismo UserId que antes, el bot leerá su diálogo, conversación y estado de usuario de Cosmos.    

Sendgrid

Sendgrid proporciona un servicio basado en la nube, es un gestor de correos para desarrolladores, en donde a través de su API, las aplicaciones y sitios en línea pueden enviar y recibir correos de forma masivo. Esto permite una mejor relación entre el cliente y la empresa. Dentro de sus ventajas encontramos que te permite personalizar mensajes y crear plantillas, lo cual es útil para conocer más a tu audiencia y llegar al público que deseas.

Ahora veamos cómo funciona el servicio de sendgrid:

  • Sendgrid funciona bajo 2 pilares fundamentales: su API y su servidor SMTP. Una vez que te registres en la plataforma, Sendgrid asignará una API Key para tu servidor, lo cual representará un puente para el tránsito de todos los mensajes.
  • Después de la configuración, Sendgrid procesará de forma automática cualquier e-mail de entrada o salida. Por ejemplo: cuando un usuario necesite recuperar su contraseña, este servicio le notificará directo a su buzón de correo.
  • Durante la salida de mensajes, Sendgrid establecerá conexiones verificadas con diversos proveedores de correo, para optimizar el envío y evitar que tengas que realizar complicados ajustes. 
  • Cada día, Sendgrid te permitirá enviar hasta 100 correos desde su servidor SMTP. 

El servicio de sengrid hoy en día es muy importante dentro del mercado ya que te permite estar en constante comunicación con tus clientes, a través de las mensajerías de correo,asi que puedes estar informando a tus clientes sobre los nuevos productos. 

LUIS y QnA Maker

Cognitive Services proporciona dos servicios de procesamiento de lenguaje natural, Language Understanding y QnA Maker , cada uno con un propósito diferente. 

El procesamiento de lenguaje natural (NLP) permite que tu aplicación cliente, como un bot de chat, trabaje con tus usuarios, utilizando lenguaje natural. Un usuario ingresa una oración o frase; el texto del usuario puede tener mala gramática, ortografía y puntuación. El servicio cognitivo puede funcionar a través de la oración del usuario de todos modos, devolviendo la información que el bot de chat necesita para ayudar al usuario.

  • Utilizamos LUIS cuando necesitamos conocer la intención del enunciado como parte de un proceso en el bot de chat. 
  • Utilizamos QnA Maker cuando tengamos una base de conocimientos estática de respuestas. Esta base de conocimientos se adapta a sus necesidades, que ha creado con documentos como PDF y URL. 

No es necesario combinar LUIS y QnA Maker para determinar la intención.

Aplication Insigth

Es un servicio que ofrece la nube de Microsoft (Azure), que proporciona herramientas para monitorizar, analizar y detectar errores de rendimiento en las aplicaciones alojadas en dicha nube. Además, también ofrece la posibilidad de insertar trazas personalizadas y registrar errores en estas aplicaciones. La utilización del servicio permite tener de una forma rápida y precisa, los datos de análisis relacionados con el rendimiento y funcionamiento de la aplicación. También ofrece la posibilidad de configurar alertas personalizadas, en las que, por ejemplo, podemos recibir un email cada vez que se produzca un determinado error.

Está diseñado para ayudarle a mejorar continuamente el rendimiento y la facilidad de uso. Funciona con diversas aplicaciones y en una amplia variedad de plataformas, como .NET, Node.js, Java y Python, hospedadas en el entorno local, de forma híbrida o en cualquier nube pública. Se integra con el proceso de DevOps y tiene puntos de conexión a numerosas herramientas de desarrollo. Puede supervisar y analizar la telemetría de aplicaciones móviles mediante la integración con Visual Studio App Center. Además, puede obtener la telemetría de los entornos del host, como pueden ser contadores de rendimiento, diagnósticos de Azure o registros de Docker. También puede configurar pruebas web que envíen periódicamente solicitudes sintéticas al servicio web.

Todos estos flujos de telemetría están integrados en Azure Monitor. En Azure Portal, puede aplicar versátiles herramientas de análisis y búsqueda a los datos sin procesar.

¡Llegamos al final!

Por último, un chatbot puede ser integrado a las redes sociales para poder disfrutar de sus servicios. Esta tecnología te evitará perder clientes, y se convertirá en el mejor asistente para ellos,  por lo que ahorrarás tiempo y dinero. ¿Cuál es la página que te ha impresionado con su bot inteligente?

hearts.png

Equipo redactor

Fiorella Arias Alvarez
Fiorella Arias Alvarez
Read More
Verónica Cahuana Oscata
Verónica Cahuana Oscata
Read More
Edwin Gómez Ancasi
Edwin Gómez Ancasi
Read More
Yoel Quintanilla Gamboa
Yoel Quintanilla Gamboa
Read More
Pablo Ramos Tito
Pablo Ramos Tito
Read More
Rosa Poma Vilca
Rosa Poma Vilca
Read More
Previous
Next