Alex Quiranza
  • Inicio
  • MLSA
  • Categorías

My Facebook feed

Facebook
@2019 - All Right Reserved. Designed and Developed by Anthony Quiranza
Top Posts
Detección de objetos usando Custom Vision SDK y...
Building a chat bot with Microsoft Azure
Custom Vision – Microsoft Azure (1/2)
Conectando un FAQ bot con Azure Bot Service...
Creando un chatbot con Azure
Tag:

Microsoft Azure

AzureCustom Vision

Custom Vision – Microsoft Azure (1/2)

por Anthony 20 de diciembre de 2020
Escrito por Anthony

Hola, ha pasado poco tiempo de la Cumbre Virtual 2020 donde compartimos excelentes sesiones y sin duda aprendimos un sinfín de cosas, ya que hubo temáticas increíbles. Tuve la oportunidad de estar en algunas de esas sesiones pero hoy haré énfasis solo en una de ellas: Azure Cognitive Services, en un espacio de más de una hora compartí con toda Latinoamérica y hablé sobre los servicios cognitivos de Azure pero hubo algo que sin duda llamó mucho la atención y es que tomé como ejemplo el servicio cognitivo de Custom Vision de Azure, que es sobre lo que hablaremos en este pequeño post.

Para partir, los que no hayan podido asistir a la Cumbre Virtual, de seguro se harán algunas preguntas…

  1. ¿Qué es Microsoft Azure?

No me voy a extender mucho porque no es el tema del post, pero en conceptos básicos podemos definir a Microsoft Azure como el servicio de computación en la nube de Microsoft, donde podemos probar, construir y desplegar aplicaciones y servicios mediante el uso de centros de datos de Microsoft.

Puedes encontrar más información en: https://azure.microsoft.com/es-es/overview/what-is-azure/

Mi amigo Daniel Gomez compartió una sesión donde habla sobre Microsoft Azure, te invito a revisar la grabación: https://youtu.be/29XQVNVwOco

  1. ¿Qué son los Azure Cognitive Services?

Los servicios cognitivos de Azure son servicios basados en la nube que nos ayudan a implementar Inteligencia Artificial en nuestras aplicaciones sin la necesidad de ser unos expertos en AI o ciencias de datos.

Podemos encontrar servicios cognitivos para visión, voz, idioma, decisión y búsqueda, donde se desglosan distintas APIs que podemos usar como: detección de rostros, análisis de emociones, traducción de textos en tiempo real, etc.

Puedes encontrar más información en: https://docs.microsoft.com/en-us/azure/cognitive-services/

  1. Y en definitiva… ¿Qué es Custom Vision?

Azure Custom Vision es un servicio dentro del pilar de visión de Azure que nos permite realizar reconocimiento de imágenes mediante la creación de identificadores de imágenes. Para el identificador de imágenes debemos aplicar etiquetas que nos ayudan a diferenciar las características de objetos dentro de imágenes para luego entrenar un modelo que sea capaz de identificar correctamente estas características.

Custom Vision nos facilita muchas tareas de la parte de inteligencia artificial, como el uso de algoritmos, por ejemplo. Pero si queremos crear un clasificador que sea lo más preciso posible, si debiésemos ponerle mucha atención al entrenamiento de este, en la documentación de Microsoft se recomienda usar como mínimo 30 imágenes por cada etiqueta, aunque en el portal bastará que uses 15. Además, para lograr un modelo eficaz, se recomienda usar imágenes con variedad visual, es decir, imágenes con diferentes ángulos, iluminación, fondo, estilo, sujetos individuales o en grupos, tamaños y tipos; Esto con el objetivo de que nuestra API sea capaz de detectar con mayor eficiencia el objeto u imagen que nosotros requiriésemos.

Para el entrenamiento, se restringe algunos criterios con respecto a las imágenes como son:

  • Formato: El formato de la imagen utilizada para el entrenamiento debe ser .jpg, .png, .bmp o .gif.
  • Tamaño: El tamaño se restringe a un máximo de 6MB o 4MB para imágenes de predicción.

Teniendo en cuenta estos criterios, podemos hablar del etiquetado. El etiquetado en Custom Vision es tan simple como subir una imagen y clasificarlas de acuerdo con nuestra necesidad. En la siguiente imagen podemos ver el ejemplo de una etiqueta de fruta, que es algo general para las imágenes que se entrenarán.

Custom Vision nos presenta una evaluación de clasificador, es decir una forma de visualizar los cálculos del rendimiento de nuestro modelo que se distribuyen en dos medidas:

  • Precisión: Esta medida indica la fracción de las clasificaciones identificadas que fueron correctas. Por ejemplo, si usamos 100 imágenes de frutas y nuestro modelo identificó que 50 son realmente frutas nos presentará una precisión del 50%.
  • Coincidencia: Esta medida indica la fracción de las clasificaciones reales que se identificaron correctamente. Por ejemplo, si había realmente 100 imágenes de manzanas y el modelo identificó 80 como manzanas, la coincidencia sería del 80%.

Finalmente, podemos concluir que Custom Vision es una herramienta muy poderosa dentro de los servicios cognitivos de Azure que tiene un sinfín de aplicaciones. Además de las facilidades que nos otorga su portal y el ahorro de tiempo que significa.

Para la segunda parte de este tema, revisaremos a mayor profundidad Custom Vision, poniendo en práctica en el taller que realizamos al final de mi sesión en la Cumbre Virtual 2020 que te invito a ver en: https://youtu.be/ilYORQFu7CM

Llegado a este punto, te agradezco por tu interés en este tema y si te quedó alguna duda o crees que puedo ayudarte en algo te dejo mis contactos:

Anthony Quiranza

Microsoft Learn Student Ambassador

Mobile: (+593) 093 987 3948

[email protected]

20 de diciembre de 2020 0 Comentario
0 FacebookTwitterPinterestEmail
AzureBot Services

Conectando un FAQ bot con Azure Bot Service y Telegram

por Anthony 18 de noviembre de 2020
Escrito por Anthony

En la actualidad, los chatbots son diseñados para mantener una conversación con humanos a través de sistemas de diálogo. Pueden ser diseñados de forma sofisticada con sistemas de procesamiento de lenguaje natural o simplemente con un diseño de respuestas basadas en reglas.

En una entrada anterior creamos un chatbot usando QnA Maker, Bot Services y App Services de Azure, con una base de conocimiento basada en preguntas y respuestas frecuentes sobre la COVID-19. Con ese antecedente, hoy aprenderemos a conectar ese chatbot a Telegram.

Un Bot Service en Azure puede ser configurado para funcionar por distintos canales como: Facebook, Cortana, Microsoft Teams, Web, Telegram, etc. La posibilidad de implementar nuestro servicio de bot por distintos canales nos facilita su uso sin necesidad de crear código complejo o realizar algún tipo de compatibilización para los distintos canales que existen ya que Azure lo hace por nosotros.

Creando un bot en Telegram

Para empezar, debemos tener un bot creado en Telegram, para lo cual usaremos BOT FATHER.

En mi caso me conectaré a Telegram por su versión web, aunque también lo podríamos hacer desde la aplicación móvil.

  1. Buscamos “BotFather” dentro de Telegram y damos clic en “Start”
  • Escribiremos /newbot e ingresaremos los siguientes datos según nos solicite en el chat como: El nombre de nuestro bot y un nombre de usuario único.
  • Finalmente, nos arrojará un mensaje con un token de acceso. El cual usaremos en nuestro portal de Azure.

Implementando en Azure

  • Ingresaremos a nuestro portal de Azure, específicamente donde se encuentra nuestro bot service en su sección de canales.
  • Al seleccionar Telegram nos pedirá un “Token de acceso” el cual obtuvimos previamente en Telegram. Simplemente lo pegamos en el campo de ingreso y clic en “Guardar”
  • Nos aseguramos de que se encuentre habilitado.

Probando nuestro chatbot

  • Finalmente, regresamos a Telegram y buscaremos nuestro bot con el nombre de usuario que le habíamos asignado.
  • Comprobamos que nuestro bot funcione correctamente.
18 de noviembre de 2020 0 Comentario
0 FacebookTwitterPinterestEmail
AzureBot ServicesWeb Services

Creando un chatbot con Azure

por Anthony 11 de noviembre de 2020
Escrito por Anthony

¡Hola! En esta ocasión vamos a aprender a crear un chatbot de preguntas y respuestas usando 4 puntos esenciales que repasaremos a lo largo de esta entrada.

  • Suscripción de Azure: Para usar los servicios en la nube de Azure es necesario contar con una suscripción de paga o estudiantil. Si no tienes una puedes obtener una cuenta gratuita o si eres estudiante puedes acceder al crédito anual de 100$ que ofrece Azure a estudiantes.
  • Qna Maker: QnA Maker es un servicio de API basado en la nube de Microsoft Azure que nos permitirá crear una capa de conversación de preguntas y respuestas usando datos que podemos generar nosotros o extraer de algún sitio web o documento de Excel.
  • Azure Bot Service: Azure Bot Service es un servicio de desarrollo de bots que nos permitirá lograr la comunicación de nuestro bot con otros canales, en este caso nuestro canal serán los App Services.
  • App Service de Azure: Azure App Service es un servicio que sirve para crear, implementar y escalar rápidamente aplicaciones web en la nube de una forma totalmente administrada.

¡Empecemos!

1.- Iniciamos sesión en Qna Maker con nuestras credenciales de Azure, luego seleccionamos Create a knowledge base (Crear una base de conocimiento).

2.- Se nos presentará una página con una serie de pasos a seguir. Como primer paso daremos clic en Create a QnA Service y nos rediregirá a nuestro portal de Azure donde crearemos un grupo de recursos llamado MiPrimerChatBot, Además usaremos los planes de tarifa gratuitos que serán más que suficientes para realizar este ejemplo. Finalmente nos quedaría así y damos clic en Revisar y crear:

3.- Una vez implementada nuesta base del conocimiento volvemos al portal de QnA Maker y refrescamos la página y nos aparecerán los recursos que acabamos de crear:

4.- Ahora, daremos un nombre a nuestra base del conocimiento, la llamaremos MiPrimeraBaseDeConocimiento

5.- Como había explicado al inicio, en QnA Maker podemos crear nuestra base de conocimiento de forma manual, usando archivos (.pdf, excel, .docx, etc) o inclusive URLs de sitios web. Para este ejemplo usaremos un documento que previamente he llenado de preguntas y respuestas sobre el Covid-19.

Base de conocimientoDescarga

6.- Seleccionaremos el tipo de bot que queremos presentar en nuestro chat, existen algunos tipos pero en este caso usaremos el bot friendly (amigable) y finalmente daremos clic en Create your KB (Crear tu base de conocimiento).

7.- Una vez cargada nuestra base de conocimiento nos aparecerá una ventana similar a la siguiente y daremos clic en Save and Train (Guardar y entrenar) y Publish (Publicar)

8.- Nuevamente daremos clic en Publish y tendremos nuestra base de conocimiento lista, pero aún no terminamos pues tenemos que crear nuestro bot. Para eso daremos clic en Create Bot

9.- Se definirá un bot automáticamente con los datos de nuestra base de conocimiento, lo único que cambiaremos será el plan de tarifa, pues nosotros usaremos el plan tarifa F0 y daremos clic en Crear

10.- A continuación implementaremos nuestro bot, para eso necesitaremos obtener 2 cosas: El EndPointKey de nuestra base de conocimiento y el código de nuestro chat bot. El EndPointKey lo encontraremos en QnA Maker al momento de publicar nuestro bot.

11.- Iremos a nuestro app service que se creó en nuestro portal de Azure en el grupo de recursos MiPrimerBot

12.- Seleccionaremos la opción Configuración > Configuración General y verificaremos que en el apartado de Configuración de plataforma se encuentre configurado el Estado de FTP como: Se permite todo y las opciones de Web Sockets y Siempre activado también se encuenten activas.

13.-Ahora regresaremos a la opción de introducción en el menú del lado izquierdo y copiaremos el Nombre de host de FTP el cual nos servirá para subir un archivo con el código de nuestro bot.

13.- Buscaremos las credenciales de conexión FTP de nuestro app service, para eso iremos al Centro de implementación y buscaremos FTP.

14.- Usaremos esas credenciales para conectarnos mediante FTP a nuestro app service, podríamos usar clientes FTP como Filezilla pero en este caso usaremos la característica de Windows Explorer que nos permite hacer esta conexión. Abrimos nuestro Explorador de Archivos y damos clic en agregar ubicación de red.

15.- Ingresaremos los datos de conexión que obtuvimos de Azure

16.- Para obtener el código de nuestro bot regresaremos a nuestro grupo de recursos en Azure y seleccionaremos nuestro recurso de Bot de aplicación web

17.- Ahora en el menú escogeremos la opción Canales donde entre algunas opciones encontraremos el código <frame> de nuestro bot

18.- Perfecto, ahora tenemos conexión a nuestro App Service, lo único que resta es crear un documento .html con nuestro bot, para eso usaremos nuestro editor de texto favorito. En mi caso usaré Visual Studio Code y pegaré el código del bot

19.- Reemplazaremos el texto que dice «TU_SECRETO_AQUÍ» por nuestra clave secreta.

Finalmente lo único que resta es guardar nuestro archivo index.html y subirlo a nuestro sitio a través de FTP.

Ahora si vamos al link de nuestro app service nos aparecerá nuestro chatbot funcional, en mi caso mi enlace es: https://miprimerchatbot.azurewebsites.net

11 de noviembre de 2020 0 Comentario
0 FacebookTwitterPinterestEmail

Buscar

  • Facebook
  • Twitter
  • Instagram
  • Linkedin
  • Youtube
  • Email
  • Github
  • Whatsapp

@2019 - All Right Reserved. Designed and Developed by Anthony Quiranza