{"id":86861,"date":"2020-06-30T19:42:06","date_gmt":"2020-06-30T17:42:06","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/uskoryaem-razrabotku-s-pomoshhyu-servisov-azure-sozdaem-chat-boty-i-kognitivnye-sluzhby-sredstvami-platformy"},"modified":"2020-06-30T19:42:06","modified_gmt":"2020-06-30T17:42:06","slug":"uskoryaem-razrabotku-s-pomoshhyu-servisov-azure-sozdaem-chat-boty-i-kognitivnye-sluzhby-sredstvami-platformy","status":"publish","type":"post","link":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/uskoryaem-razrabotku-s-pomoshhyu-servisov-azure-sozdaem-chat-boty-i-kognitivnye-sluzhby-sredstvami-platformy","title":{"rendered":"Aceleramos el desarrollo con los servicios de Azure: creamos chatbots y servicios cognitivos utilizando la plataforma","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>\u00a1Hola, Habr! Hoy hablaremos sobre c\u00f3mo resolver tareas que normalmente requieren intervenci\u00f3n humana utilizando Azure. Los operadores pasan mucho tiempo respondiendo a las mismas preguntas, gestionando llamadas telef\u00f3nicas y mensajes de texto. Los chatbots automatizan la comunicaci\u00f3n y el reconocimiento, lo que reduce la carga sobre las personas. Adem\u00e1s, los bots se utilizan en Azure DevOps, donde permiten, por ejemplo, aprobar lanzamientos, gestionar compilaciones \u2014ver, iniciar y detener\u2014 directamente desde Slack o Microsoft Teams. En esencia, un chatbot se asemeja a un CLI, solo que es interactivo y permite al desarrollador no salir del contexto de la conversaci\u00f3n en el chat.<\/p>\n<p>En este art\u00edculo, hablaremos sobre las herramientas para crear chatbots, mostraremos c\u00f3mo se pueden mejorar utilizando servicios cognitivos, y describiremos c\u00f3mo acelerar el desarrollo gracias a los servicios listos en Azure.<\/p>\n<p><img decoding=\"async\" alt=\"Aceleramos el desarrollo con los servicios de Azure: creamos chatbots y servicios cognitivos utilizando la plataforma\" src=\"\/wp-content\/uploads\/2020\/06\/66dac4e72182da3c4acd3a25e50740b0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Chatbots y servicios cognitivos: similitudes y diferencias<\/h2>\n<p>\nPara crear bots en Microsoft Azure, se utilizan el servicio Azure Bot y la plataforma Bot Framework. Juntos, representan un conjunto de software para construir, probar, desplegar y administrar bots, que permite crear sistemas de comunicaci\u00f3n simples y avanzados con soporte de voz, reconocimiento de lenguaje natural y otras capacidades.<\/p>\n<p>Supongamos que necesita implementar un bot sencillo basado en un servicio corporativo de preguntas y respuestas o, por el contrario, crear un bot funcional con un sistema de comunicaci\u00f3n complejo y ramificado. Para ello, puede utilizar una serie de herramientas, que se dividen en tres grupos:\u00a0<\/p>\n<ol>\n<li>Servicios de desarrollo r\u00e1pido de interfaces de di\u00e1logo (bots).\n<\/li>\n<li>Servicios cognitivos de IA listos para diferentes escenarios de uso (reconocimiento de im\u00e1genes, voz, base de conocimiento y b\u00fasqueda).\n<\/li>\n<li>Servicios para crear y entrenar modelos de IA.\n<\/li>\n<\/ol>\n<p>\nNormalmente, las personas mezclan intuitivamente \"bots\" y \"servicios cognitivos\", porque ambos conceptos se basan en el principio de comunicaci\u00f3n, y en los escenarios de uso de bots y servicios hay di\u00e1logos. Pero los chatbots trabajan con palabras clave y disparadores, mientras que los servicios cognitivos manejan solicitudes arbitrarias que generalmente son procesadas por humanos:\u00a0<\/p>\n<p><img decoding=\"async\" alt=\"Aceleramos el desarrollo con los servicios de Azure: creamos chatbots y servicios cognitivos utilizando la plataforma\" src=\"\/wp-content\/uploads\/2020\/06\/645bb695955f94e4b7aacf77b8277bf1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLos servicios cognitivos son otra forma de comunicaci\u00f3n con el usuario, ayudando a convertir una consulta arbitraria en un comando claro y transmitirlo al bot.\u00a0<\/p>\n<p>As\u00ed, los chatbots son aplicaciones para manejar solicitudes, mientras que los servicios cognitivos son herramientas de an\u00e1lisis inteligente de solicitudes que se ejecutan por separado, pero a las que el chatbot puede acceder, volvi\u00e9ndose 'inteligente'.\u00a0<\/p>\n<h2>Creaci\u00f3n de chatbots<\/h2>\n<p>\nEl esquema de dise\u00f1o recomendado para un bot en Azure es el siguiente:\u00a0<\/p>\n<p><img decoding=\"async\" alt=\"Aceleramos el desarrollo con los servicios de Azure: creamos chatbots y servicios cognitivos utilizando la plataforma\" src=\"\/wp-content\/uploads\/2020\/06\/896c6341845b1a7349418441f1df5fef.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPara el dise\u00f1o y desarrollo de bots en Azure se utiliza <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Microsoft\/botframework\">Bot Framework<\/a><\/noindex>. En GitHub hay <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/microsoft\/BotBuilder-Samples\">ejemplos de bots<\/a><\/noindex>, las capacidades del marco cambian, por lo que es necesario tener en cuenta la versi\u00f3n del SDK que se usa en los bots.<\/p>\n<p>El marco implica varias formas de crear bots: usando c\u00f3digo cl\u00e1sico, herramientas de l\u00ednea de comando o diagramas de bloques. Esta \u00faltima opci\u00f3n visualiza los di\u00e1logos, para lo cual se puede usar el gestor <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/microsoft\/BotFramework-Composer\">Bot Framework Composer<\/a><\/noindex>. Fue creado sobre la base del Bot Framework SDK como una herramienta de desarrollo visual que los equipos interdisciplinarios podr\u00edan utilizar para crear bots.<\/p>\n<p><img decoding=\"async\" alt=\"Aceleramos el desarrollo con los servicios de Azure: creamos chatbots y servicios cognitivos utilizando la plataforma\" src=\"\/wp-content\/uploads\/2020\/06\/b0228e78228e8cb12ead15317c373a3c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBot Framework Composer permite crear la estructura de un di\u00e1logo con bloques, que el bot utilizar\u00e1. Adem\u00e1s, se pueden crear disparadores, es decir, palabras clave a las que el bot responder\u00e1 durante el di\u00e1logo. Por ejemplo, palabras como 'operador', 'robo' o 'detente' y 'basta'.<\/p>\n<p>En Bot Framework Composer se puede crear un sistema de di\u00e1logos ramificados complejos, utilizando <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/bot-service\/bot-builder-adaptive-dialog-introduction?view=azure-bot-service-4.0\">Di\u00e1logos Adaptativos<\/a><\/noindex>. Los di\u00e1logos pueden utilizar tanto servicios cognitivos como tarjetas de eventos (Adaptive Cards):<\/p>\n<p><img decoding=\"async\" alt=\"Aceleramos el desarrollo con los servicios de Azure: creamos chatbots y servicios cognitivos utilizando la plataforma\" src=\"\/wp-content\/uploads\/2020\/06\/a82771a42655d4dd678abe7997859caf.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDespu\u00e9s de la creaci\u00f3n, se puede desplegar el chatbot en la suscripci\u00f3n, y un script preparado autom\u00e1ticamente crear\u00e1 todos los recursos necesarios: servicios cognitivos, plan de aplicaci\u00f3n, Application Insights, base de datos, etc.<\/p>\n<h3>QnA Maker<\/h3>\n<p>\nPara crear bots simples basados en bases de datos corporativas de preguntas y respuestas, se puede utilizar el servicio cognitivo QnA Maker. Implementado como un simple asistente web, permite ingresar un enlace a la base de conocimientos corporativa (FAQ Urls) o usar una base de documentos en formato *.doc o *.pdf. Despu\u00e9s de crear el \u00edndice, el bot seleccionar\u00e1 autom\u00e1ticamente las respuestas m\u00e1s adecuadas a las preguntas del usuario.<\/p>\n<p>Con QnAMaker tambi\u00e9n se pueden crear cadenas de preguntas aclaratorias con la generaci\u00f3n autom\u00e1tica de botones, complementar la base de conocimientos con metadatos y continuar entrenando el servicio durante su uso.<\/p>\n<p>El servicio se puede utilizar como un chatbot que solo implementa esta funci\u00f3n, o como parte de un chatbot m\u00e1s complejo que, dependiendo de la solicitud, utiliza otros servicios de IA o elementos del Bot Framework.<\/p>\n<h2>Trabajo con otros servicios cognitivos<\/h2>\n<p>\nEn la plataforma Azure hay muchos servicios cognitivos diferentes. T\u00e9cnicamente son servicios web independientes que se pueden invocar desde el c\u00f3digo. En respuesta, el servicio env\u00eda un json de un formato espec\u00edfico, que se puede utilizar en el chatbot.<\/p>\n<p><img decoding=\"async\" alt=\"Aceleramos el desarrollo con los servicios de Azure: creamos chatbots y servicios cognitivos utilizando la plataforma\" src=\"\/wp-content\/uploads\/2020\/06\/9a986e53162e48c726ecab6bb0352119.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nCon m\u00e1s frecuencia, en los chatbots se pueden utilizar los siguientes:<\/p>\n<ol>\n<li>Reconocimiento de texto.\n<\/li>\n<li>Reconocimiento de categor\u00edas de im\u00e1genes definidas por el desarrollador utilizando el Custom Vision Service (caso de uso en producci\u00f3n: reconocimiento de si un empleado est\u00e1 usando un casco, gafas de protecci\u00f3n o una m\u00e1scara).\n<\/li>\n<li>Reconocimiento facial (un excelente caso de uso es verificar si la persona en la foto es realmente el encuestado, en lugar de una foto de un perro o de una persona de otro g\u00e9nero).\n<\/li>\n<li>Reconocimiento de voz.\n<\/li>\n<li>An\u00e1lisis de im\u00e1genes.\n<\/li>\n<li>Traducci\u00f3n (todos recordamos el revuelo que caus\u00f3 la traducci\u00f3n simult\u00e1nea en Skype).\n<\/li>\n<li>Verificaci\u00f3n de ortograf\u00eda y sugerencias para corregir errores.\n<\/li>\n<\/ol>\n<p><\/p>\n<h3>LUIS<\/h3>\n<p>\nTambi\u00e9n puede ser necesario para crear bots <noindex><a rel=\"nofollow\" href=\"https:\/\/www.luis.ai\/\">LUIS<\/a><\/noindex> (Language Understanding Intelligent Service). Las tareas del servicio son:<\/p>\n<ul>\n<li>Determinar si la afirmaci\u00f3n del usuario tiene sentido y si se requiere una reacci\u00f3n del bot.\n<\/li>\n<li>Reducir el esfuerzo de transcripci\u00f3n del habla (texto) del usuario en comandos comprensibles para el bot.\n<\/li>\n<li>Predecir las verdaderas metas\/intenciones del usuario y extraer informaci\u00f3n clave de las frases en el di\u00e1logo.\n<\/li>\n<li>Permitir al desarrollador iniciar el bot usando solo algunos ejemplos de reconocimiento de intenciones y luego continuar entrenando el bot durante su funcionamiento.\n<\/li>\n<li>Permitir al desarrollador utilizar visualizaci\u00f3n para evaluar la calidad de la transcripci\u00f3n de comandos.\n<\/li>\n<li>Ayudar en las mejoras graduales del reconocimiento de las verdaderas metas.\n<\/li>\n<\/ul>\n<p>\nEsencialmente, el objetivo principal de LUIS es comprender con cierta probabilidad lo que el usuario quiere decir y convertir la solicitud natural en un comando estructurado. Para reconocer los significados de las solicitudes, LUIS utiliza un conjunto de intenciones y entidades (ya sea configuradas por los desarrolladores o tomadas de \u00abdominios\u00bb precargados: algunas bibliotecas de frases predise\u00f1adas preparadas por Microsoft).\u00a0<\/p>\n<p>Un ejemplo simple: tienes un bot que proporciona pron\u00f3sticos del clima. Para \u00e9l, la intenci\u00f3n ser\u00e1 convertir una solicitud natural en una \u00abacci\u00f3n\u00bb - solicitar el pron\u00f3stico del clima, y las entidades ser\u00e1n el tiempo y el lugar. Presentamos un esquema de funcionamiento de la intenci\u00f3n CheckWeather para dicho bot.<\/p>\n<p>Intenci\u00f3n<br \/>\nEntidad<br \/>\nEjemplo de solicitud natural<\/p>\n<p>CheckWeather<br \/>\n{\u00abtype\u00bb: \u00ablocation\u00bb, \u00abentity\u00bb: \u00abmoscu\u00bb}<br \/>\n{\u00abtype\u00bb: \u00abbuiltin.datetimeV2.date\u00bb, \u00abentity\u00bb: \u00abfuturo \u00bb,&quot; resoluci\u00f3n &quot;:&quot; 2020-05-30 &quot;}<br \/>\n\u00bfQu\u00e9 clima habr\u00e1 ma\u00f1ana en Mosc\u00fa?<\/p>\n<p>CheckWeather<br \/>\n{\u00abtype\u00bb: \u00abdate_range\u00bb, \u00abentity\u00bb: \u00abeste fin de semana\u00bb}<br \/>\nMu\u00e9strame el pron\u00f3stico para este fin de semana<\/p>\n<p>Para la combinaci\u00f3n de QnA Maker y LUIS se puede usar <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/microsoft\/botbuilder-tools\">Dispatcher<\/a><\/noindex>.\u00a0<\/p>\n<p><img decoding=\"async\" alt=\"Aceleramos el desarrollo con los servicios de Azure: creamos chatbots y servicios cognitivos utilizando la plataforma\" src=\"\/wp-content\/uploads\/2020\/06\/5ecf836fc5675676b8460662aa30dd2d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCuando trabajas con QnA Maker y recibes una solicitud de un usuario, el sistema determina con qu\u00e9 porcentaje de probabilidad la respuesta de QnA se ajusta a la solicitud. Si la probabilidad es alta, se entrega la respuesta de la base de conocimiento corporativa, si es baja, la solicitud puede ser enviada a LUIS para mayor claridad. Usar Dispatcher permite no programar esta l\u00f3gica, sino determinar autom\u00e1ticamente esta frontera de separaci\u00f3n de solicitudes y distribuirlas con rapidez.<\/p>\n<h3>Pruebas y publicaci\u00f3n del bot<\/h3>\n<p>\nPara las pruebas se utiliza otra aplicaci\u00f3n local, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/microsoft\/botframework-sdk#Bot-Framework-Emulator\">Bot framework emulator<\/a><\/noindex>. Con el emulador se puede interactuar con el bot y verificar los mensajes que env\u00eda y recibe. El emulador muestra los mensajes tal como aparecer\u00e1n en la interfaz de chat web y registra las solicitudes y respuestas JSON durante el intercambio de mensajes con el bot.<\/p>\n<p>Un ejemplo de uso del emulador se presenta en esta demostraci\u00f3n, donde se muestra la creaci\u00f3n de un asistente virtual para BMW. Tambi\u00e9n en el video se habla de nuevos aceleradores para la creaci\u00f3n de chatbots: plantillas.<\/p>\n<p><img decoding=\"async\" alt=\"Aceleramos el desarrollo con los servicios de Azure: creamos chatbots y servicios cognitivos utilizando la plataforma\" src=\"\/wp-content\/uploads\/2020\/06\/8e6c93f8d200fed2128e13e328c3369b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/u7Gql-ClcVA?t=564\">https:\/\/youtu.be\/u7Gql-ClcVA?t=564<\/a><\/noindex><\/i><\/p>\n<p>Tambi\u00e9n puedes usar plantillas al crear tus propios chatbots.\u00a0<br \/>\nLas plantillas permiten no tener que escribir funciones de bot est\u00e1ndar de nuevo, sino agregar c\u00f3digo ya preparado como 'habilidad'. Un ejemplo podr\u00eda ser trabajar con un calendario, programar reuniones, etc. C\u00f3digo de habilidades preparadas <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/microsoft\/botframework-skills\">publicado<\/a><\/noindex> en github.<\/p>\n<p>Las pruebas han sido exitosas, el bot est\u00e1 listo y ahora debe publicarse y conectarse a los canales. La publicaci\u00f3n se realiza a trav\u00e9s de Azure, y se pueden utilizar mensajeros o redes sociales como canales. Si no hay el canal necesario para la entrada de datos, se puede buscar en la comunidad correspondiente en GitHab.\u00a0<\/p>\n<p>Adem\u00e1s, para crear un bot de chat completo como interfaz de comunicaci\u00f3n con los usuarios y servicios cognitivos, necesitar\u00e1, por supuesto, servicios adicionales de Azure, como bases de datos, serverless (Azure Functions), as\u00ed como servicios LogicApp y, posiblemente, Event Grid.<\/p>\n<p><img decoding=\"async\" alt=\"Aceleramos el desarrollo con los servicios de Azure: creamos chatbots y servicios cognitivos utilizando la plataforma\" src=\"\/wp-content\/uploads\/2020\/06\/ad218db9267934e319e74b60b5b8c96a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Evaluaci\u00f3n y an\u00e1lisis<\/h3>\n<p>\nPara evaluar la interacci\u00f3n con los usuarios, se puede utilizar tanto la anal\u00edtica integrada de Azure Bot Service como el servicio especial Application Insights.<\/p>\n<p>Como resultado, se puede recopilar informaci\u00f3n sobre los siguientes criterios:<\/p>\n<ul>\n<li>Cu\u00e1ntos usuarios accedieron al bot desde varios canales durante el per\u00edodo seleccionado.\n<\/li>\n<li>Cu\u00e1ntos usuarios, despu\u00e9s de enviar un mensaje, regresaron m\u00e1s tarde y enviaron otro.\n<\/li>\n<li>Cu\u00e1ntas acciones se enviaron y recibieron a trav\u00e9s de cada canal durante el intervalo de tiempo indicado.\n<\/li>\n<\/ul>\n<p>\nCon Application Insights, se pueden monitorear cualquier aplicaci\u00f3n en Azure y, en particular, bots de chat, obteniendo datos adicionales sobre el comportamiento de los usuarios, cargas y reacciones del bot. Es importante se\u00f1alar que el servicio Application Insights tiene su propia interfaz en el portal de Azure.<\/p>\n<p>Adem\u00e1s, los datos recopilados a trav\u00e9s de este servicio pueden utilizarse para crear visualizaciones adicionales e informes anal\u00edticos en PowerBI. Un ejemplo de dicho informe y una plantilla para PowerBI se pueden obtener <noindex><a rel=\"nofollow\" href=\"https:\/\/microsoft.github.io\/botframework-solutions\/solution-accelerators\/tutorials\/view-analytics\/1-intro\/\">aqu\u00ed<\/a><\/noindex>.<\/p>\n<p><img decoding=\"async\" alt=\"Aceleramos el desarrollo con los servicios de Azure: creamos chatbots y servicios cognitivos utilizando la plataforma\" src=\"\/wp-content\/uploads\/2020\/06\/f11895acd918e511455c56616aeb107a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00a1Gracias a todos por su atenci\u00f3n! En este art\u00edculo hemos utilizado <noindex><a rel=\"nofollow\" href=\"https:\/\/webinars.softline.com\/mira\/miravr\/9848571835\">material<\/a><\/noindex> del webinar de la arquitecta de Microsoft Azure, Anna Fen\u044e\u0448\u0438\u043d\u0430 \u2018Cuando las personas no tienen tiempo. C\u00f3mo usar al 100% bots de chat y servicios cognitivos para automatizar procesos rutinarios\u2019, en el que mostramos visualmente qu\u00e9 son los bots de chat en Azure y cu\u00e1les son los escenarios de su aplicaci\u00f3n, as\u00ed como demostramos c\u00f3mo crear un bot en QnA Maker en 15 minutos y c\u00f3mo se descifra la estructura de las solicitudes en LUIS.\u00a0<\/p>\n<p>Hemos realizado este webinar como parte del marat\u00f3n en l\u00ednea para desarrolladores Dev Bootcamp. En \u00e9l, hablamos sobre productos que aceleran el desarrollo y alivian parte de la carga rutinaria de los empleados de la empresa utilizando herramientas de automatizaci\u00f3n y m\u00f3dulos preconfigurados de Azure. Las grabaciones de otros webinars que formaron parte del marat\u00f3n est\u00e1n disponibles en los siguientes enlaces:<\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/webinars.softline.com\/mira\/miravr\/1844543042\">Azure DevOps como herramienta para organizar el ciclo completo de desarrollo en cualquier idioma y para cualquier plataforma, utilizando pr\u00e1cticas de DevOps<\/a><\/noindex>\u00a0<br \/>\nHablamos sobre la evoluci\u00f3n y las nuevas posibilidades del servicio Azure DevOps. Desglosamos en detalle sus cinco componentes principales y c\u00f3mo el servicio ayuda a las organizaciones en el desarrollo industrial de software. El presentador es Vladimir Gus\u0430\u0440\u043e\u0432, Microsoft MVP.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/webinars.softline.com\/mira\/miravr\/3765774186\">Organizaci\u00f3n de CI\/CD utilizando Azure Pipelines<\/a><\/noindex><br \/>\nAnalizamos c\u00f3mo implementar el enfoque de \"compilaci\u00f3n como c\u00f3digo\" para cualquier lenguaje de programaci\u00f3n utilizando pipelines YAML multi-etapa. El presentador es Vladimir Gus\u0430\u0440\u043e\u0432, Microsoft MVP.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/webinars.softline.com\/mira\/miravr\/0241941537\">Pr\u00e1cticas para el soporte simult\u00e1neo de m\u00faltiples versiones de un producto en el desarrollo industrial, utilizando Azure Repos<\/a><\/noindex><br \/>\nDiscutimos c\u00f3mo desarrollar estrategias para el almacenamiento del c\u00f3digo fuente de software y c\u00f3mo utilizar sistemas de control de versiones con Azure Repos. El presentador es Vladimir Gusarod, Microsoft MVP.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/webinars.softline.com\/mira\/miravr\/7191200961\">WhiteSource. Monitoreo de bibliotecas open source seguras\u00a0<\/a><\/noindex><br \/>\nPresentamos metodolog\u00edas para la gesti\u00f3n de open source en el desarrollo y la aplicaci\u00f3n pr\u00e1ctica de la herramienta WhiteSource. Hablamos sobre la b\u00fasqueda de vulnerabilidades en componentes de c\u00f3digo abierto y el cumplimiento de la limpieza de licencias utilizando WhiteSource. Los presentadores son Diana Lisbaron, Directora de Ventas de WhiteSource, y Daria Oreshkina, Control de Web, distribuidor oficial de WhiteSource en Rusia.<\/li>\n<\/ul>\n<p>Fuente: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/softline\/blog\/508406\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c, \u043a\u0430\u043a \u0440\u0435\u0448\u0430\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Azure \u0437\u0430\u0434\u0430\u0447\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0431\u044b\u0447\u043d\u043e \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0443\u0447\u0430\u0441\u0442\u0438\u044f. \u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0442\u0440\u0430\u0442\u044f\u0442 \u043c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0447\u0442\u043e\u0431\u044b \u043e\u0442\u0432\u0435\u0447\u0430\u0442\u044c \u043d\u0430 \u043e\u0434\u043d\u0438 \u0438 \u0442\u0435 \u0436\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b, \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u043d\u044b\u0435 \u0437\u0432\u043e\u043d\u043a\u0438 \u0438 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f. \u0427\u0430\u0442-\u0431\u043e\u0442\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u0443\u044e\u0442 \u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0438 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u0435 \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0441\u043d\u0438\u0437\u0438\u0442\u044c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u043d\u0430 \u043b\u044e\u0434\u0435\u0439. \u0422\u0430\u043a\u0436\u0435 \u0431\u043e\u0442\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432\u00a0 Azure DevOps, \u0433\u0434\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0442\u044c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":86862,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-86861","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c, \u043a\u0430\u043a \u0440\u0435\u0448\u0430\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Azure \u0437\u0430\u0434\u0430\u0447\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0431\u044b\u0447\u043d\u043e \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0443\u0447\u0430\u0441\u0442\u0438\u044f.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/uskoryaem-razrabotku-s-pomoshhyu-servisov-azure-sozdaem-chat-boty-i-kognitivnye-sluzhby-sredstvami-platformy\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0423\u0441\u043a\u043e\u0440\u044f\u0435\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 Azure: \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0447\u0430\u0442-\u0431\u043e\u0442\u044b \u0438 \u043a\u043e\u0433\u043d\u0438\u0442\u0438\u0432\u043d\u044b\u0435 \u0441\u043b\u0443\u0436\u0431\u044b \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c, \u043a\u0430\u043a \u0440\u0435\u0448\u0430\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Azure \u0437\u0430\u0434\u0430\u0447\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0431\u044b\u0447\u043d\u043e \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0443\u0447\u0430\u0441\u0442\u0438\u044f.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/uskoryaem-razrabotku-s-pomoshhyu-servisov-azure-sozdaem-chat-boty-i-kognitivnye-sluzhby-sredstvami-platformy\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-06-30T17:42:06+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-06-30T17:42:06+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Aceleramos el desarrollo con los servicios de Azure: creamos chatbots y servicios cognitivos utilizando la plataforma | ProHoster","description":"\u00a1Hola, Habr! Hoy les contaremos c\u00f3mo resolver tareas con Azure que normalmente requieren intervenci\u00f3n humana.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/uskoryaem-razrabotku-s-pomoshhyu-servisov-azure-sozdaem-chat-boty-i-kognitivnye-sluzhby-sredstvami-platformy","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0423\u0441\u043a\u043e\u0440\u044f\u0435\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 Azure: \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0447\u0430\u0442-\u0431\u043e\u0442\u044b \u0438 \u043a\u043e\u0433\u043d\u0438\u0442\u0438\u0432\u043d\u044b\u0435 \u0441\u043b\u0443\u0436\u0431\u044b \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c, \u043a\u0430\u043a \u0440\u0435\u0448\u0430\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Azure \u0437\u0430\u0434\u0430\u0447\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0431\u044b\u0447\u043d\u043e \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0443\u0447\u0430\u0441\u0442\u0438\u044f.","og:url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/uskoryaem-razrabotku-s-pomoshhyu-servisov-azure-sozdaem-chat-boty-i-kognitivnye-sluzhby-sredstvami-platformy","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-06-30T17:42:06+00:00","article:modified_time":"2020-06-30T17:42:06+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"86861","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 14:05:26","updated":"2022-10-07 09:06:51","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/86861","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=86861"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/86861\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media\/86862"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=86861"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=86861"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=86861"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}