viernes, 13 de marzo de 2020

Una oportunidad para la grandeza


Probablemente muchas cosas habrán cambiado cuando superemos, cualquiera sabe cuándo, las crisis del tristemente célebre coronavirus.


El feroz legado del coronavirus


Y mientras ese momento llega, desde ya, toca afrontar problemas, muy serios problemas, toca sufrir y toca resistir.

El coronavirus nos traerá, ya nos está trayendo por desgracia, una larga estela de muertes, no tanto por su verdadera letalidad, sino por el masivo contagio que hace que, a pesar de producir unas tasas de fallecimientos relativamente bajos, la multiplicación sea escalofriante. Hoy mismo me hice unos cálculos de cabeza, unos cálculos pesimistas, eso sí, pero prefiero no transcribir la cifra que me salia...algo realmente terrorífico, nunca visto. Espero haberme equivocado al multiplicar, o haber dibujado en mi mente un escenario demasiado pesimista y que, o bien mis hipótesis se demuestren erróneas, o bien que algo suceda por el camino que cambie esas hipótesis.

El coronavirus traerá consigo tragedias. Tragedias por fallecimientos, tragedias por las historias que vivirán familiares, amigos y compañeros de quienes resulten víctimas directas del virus o indirectas por el eventual y temido colapso del sistema sanitario.

Y el coronavirus traerá consigo otro tipo de dramas. Traerá consigo una grave crisis económica, con su rastro de historias de quiebras, despidos, miseria y desesperación.

El coronavirús va a poner a prueba, ya lo está empezando a hacer, la capacidad y resiliencia de nuestros sistemas sanitarios, la capacidad de gestión y coordinación de las administraciones, locales, nacionales, europeas y mundiales. Y también nuestra responsabilidad individual.


Aprendizaje


Pero en medio de tanta calamidad, también podemos esperar, como en toda crisis, algo de aprendizaje, algo incluso positivo.

En un plano que, a pesar de ser importante, en todo este contexto resulta bastante secundario, el coronavirus va a poner a prueba, y espero que demostrar la potencia, del mundo digital, la capacidad de vencer el aislamiento físico mediante las telecomunicaciones, la posibilidad de trabajar desde casa usando esas telecomunicaciones, las VPN, el cloud computing, la videconferencia, la mensajería, la colaboración en la red, las redes sociales... todo un arsenal para la viabilidad del funcionamiento de las empresas y las administraciones en medio del aislamiento físico, del famoso distanciamiento social. O también esas mismas soluciones colaborativas y de eLearning que permitan dar continuidad a la actividad docente sin necesidad de presencia física en las aulas.

Pero, por encima de todo, la crisis del coronavirus va a poner a prueba a las personas. Va a poner a prueba su resiliencia, claro, pero también sus valores y prioridades, su  abnegación, su altura de miras y en algunos casos su liderazgo.

La crisis del coronavirus puede sacar a la luz los peores egoísmos, pero también las mayores generosidades.

En este país que vivimos hemos demostrado alguna vez una excepcional grandeza. Quizá, aunque hoy en día se la quiera devaluar, la más espectacular sea la transición política de los tardíos setenta y primeros ochenta, un fenómeno que, visto con perspectiva, fue una excepcionalidad histórica, una reconciliación que rozaba lo imposible. Y grandeza también, aunque quizá con alguna sombra, ante el 11-M y el terrorismo o, en materia de cooperación ya sea bajo la forma de misiones, de organizaciones sin ánimo de lucro, de trasplantes, de solidaridad en muchos sentidos. Grandeza en menor escala de importancia pero no de espectacularidad en algunas demostraciones deportivas que todos tenemos en la retina.

Ha habido ocasiones en que hemos sabido superar diferencias y trabajar codo con codo, con generosidad y altura de miras en pos de un objetivo, una ambición, un bien común. Alguna veces nos hemos sentido realmente unidos, como cuando rechazamos los atentados o cuando celebramos el gol de Iniesta.


¿Seremos capaces?


¿Seremos capaces de repetirlo?

¿Seremos capaces de ser responsables, de enfocarnos en la ayuda y soslayar la crítica? ¿Seremos capaces ayudarnos los unos a los otros? ¿Seremos capaces de utilizar Twitter y otros medios sociales no para criticar a los de otras ideologías o a los gestores de tal o cual gobierno, comunidad o ayuntamiento y, en su lugar, para ofrecer y prestar ayuda, para comunicar datos veraces, para dar ánimo o reconocimiento? ¿Y serán nuestro líderes, nuestros políticos, capaces de, por una vez, olvidarse de sus siglas, intereses y rencillas, de dejar de decidir pensando en el famoso 'relato', en cálculos de votos o imagen,  o en cómo realzar los errores ajenos y ganar protagonismo, y en lugar de ello ponerse a colaborar, a facilitar las decisiones urgentes, a aportar entre todos ideas y talento en pos de un objetivo grave, urgente, ineludible y que es de todos?

¿Seremos capaces, ya que no debemos físicamente, al menos sí abrazarnos los unos a los otros en la colaboración y la comunión de intereses, valores y objetivos?

Aunque el coronavirus ya forma parte de nuestras vidas, desde hace alguna semana, lo cierto es que ha sido los dos últimos días cuando está empezando a mostrar su verdadera y temible faz. Y en ese breve periodo, cuando contemplo el comportamiento de personas y sobre todo políticos, veo luces y sombras, pero por desgracia, me parece vislumbrar más penumbra que brillo.

¿Es que no vamos a ser capaces? ¿De verdad?


La hora de la grandeza


Espero y deseo que las tornas cambien.

La crisis del coronavirus, es y va a ser un problema, es y va a ser un drama e, incluso, es y va a ser una tragedia pero, quizá por eso mismo, es también una oportunidad única para la grandeza.

No la desaprovechemos

Desarrollo de chatbots en Microsoft Bot Framework con Szymon Rozga

'Practical Bot Development', subtitulado, 'Designing and Building Bots with Node.js and Microsoft Bot Framework', es un tratado largo y completo sobre los conceptos y la construcción de chatbots en el entorno Microsoft, un libro orientado a desarrolladores pero que no elude sino que, por el contrario, explica en mi opinión muy correctamente, algunos aspectos teóricos que hay detrás de forma que también es una buena vía para aprender conceptos generales sobre chatbots, y más aún teniendo en cuenta las similitudes de conceptos con otras plataformas como el Dialogflow de Google.

Aunque todo el libro es muy práctico y orientado a la ejemplificación mediante código real de todos los conceptos, también se preocupa, como se ha dicho, de explicar bien los fundamentos. En ese sentido, hay una cierta tendencia, aunque no radical, a que los primeros capítulos sean algo más conceptuales y en los últimos, por el contrario, predomine la codificación.

El libro se estructura en catorce capítulos, como sigue:
  • 'Chapter 1: Intorudctions to Chat Bots:' Comienza por los rudimentos básicos: explicar lo que es un chatbot incluyendo un par de ejemplos triviales de código, explicar el auge actual de los chatbots o explorar su utilidad. También describe la anatomía de un chatbot incluyendo el elemento gestor de la conversación y el elemento gestor del lenguaje natural e incluyendo ya conceptos como los 'intents', las entidades y la acciones y la integración con canales.

  • 'Chapter 2: Chat Bot Natural Language Understanding:' Un capítulo más conceptual en que explica las principales ideas sobre entendimiento de lenguaje natural. Define primero un poco el campo de NLU ('Natural Language Understanding') y luego aporta algunos rudimentos sobe machine learning, incluyendo los tipos de aprendizajes y algunos fundamentos sobre los algoritmos empleados. Finalmente explora las tareas que se realizan en el procesamiento de lenguaje natural,

  • 'Chapter 3: Language Understanding Intelligence Service (LUIS):' explica las fundamentos del uso de LUIS, el servicio de entendimiento de lenguaje natural de Microsoft. Explica cómo acceder y crear una aplicación, cómo crear 'intents' y 'utterances' y cómo desplegar una aplicación. Continua hablando del uso de entidades, prestando especial atención a las ya predefinidas como 'age', 'dimension', 'money' y así un bastante extenso etcétera. Luego explica cómo entrenar entidades y cómo crear entidades a medida. Y también se adentra en tipos complejos de entidades como las compuestas, jerárquicas, listas o de expresiones regulares. Además explica aspectos más avanzados como el aprendizaje activo, la integración con la corrección ortográfica, el importado y exportado de aplicaciones o el uso de LUIS mediante API.

  • 'Chapter 4: Conversation design:' Aporta algo de teoría sobre el diseño de conversaciones, como la identificación de casos de uso habituales o su reporesentación mediante grafos. Luego habla de aspectos como las respuestas del bot, la autenticación y autorización o el desarrollo de tarjetas ('cards') especializdas. Finaliza aportando algunas guias y buenas prácticas en el diseño de conversaciones.

  • 'Chapter 5: Introducing the Microsoft Bot Framework:' Inicia el recorrido más orientado al código y para ello en este capítulo aporta las ideas básicas de Microsoft Bot Framework, especialmente Microsoft Bot Builder SDK. Se explica la instalación y configuración, la conexión con canales, el uso de Microsoft Bot Emulator, la conexión con Azure y se ejemplifica todo con un sencillo bot que interactúa vía Facebook Messenger. Luego se explican algunos conceptois del SDK como sesiones, mensajes, cascadas ('waterfalls'), entradas ('prompts'), diálogos, reconocedores ('recognizers'), los botones o las tarjetas y se ejemplifica todo con un bot que gestiona la agenda

  • 'Chapter 6: Diving into the Bot Builder SDK:' Un extenso capítulo en que profundiza en las capacidades del Bot Builder hablando de los estados de las conversaciones. profundizando en los tipos y uso de los mensajes incluyendo los proactivos, el contenido enriquecido, las acciones sugeridas los canales, los chat grupales, los diálogos personalizados, las acciones o las librerías.

  • 'Chapter 7: Building an Integrated Bot Experience:' Explora la integración del bot con elementos del exterior basándose como ejemplo en la integración con Google Calendar. Comienza con unos temas previos para lo que, tras unas breves palabras sobre autenticación con OAuth 2.0, explica cómo configurar las APIs de Google, cómo integrar la autenticación con el Bot Builder o el mecanismo de login. Y luego ya entra en la integración con el API de Google Calendar y cómo se trata desde el código del bot.

  • 'Chapter 8: Extending Channel Functionality:' En este capítulo pretende ir más allá del uso básico de canales viendo cómo invocar funcionalidad nativa específica propia de cada canal. Para ello se explica la integración con Slack, cómo conectarse, cómo es y cómo usar el API de Slack. Habla de cómo crear mensajes interactivos (mensaje que incluye, además de información, botones y menús) y del uso del multipaso ('multistep').

  • 'Chapter 9: Creting New Channel Connector:' explica cómo hacer que el bot interactue con canales no previstos en la plataforma o de manera personalizada, usando para ello la Direct Line API. Primero explica brevemente en que consiste el API y luego aborda la construcción de un chat web personalizado. Luego habla de los bots de voz y ofrece un ejemplo usando Twilio y, en concreto, el producto Programmable Voice. Posteriormente explica el estandar SSML ('Speech Synthesis Markaup Language') soportado por Google Assitant y Amazon Alexa y cómo se puede hacer conversión texto-voz usando SSML.

  • 'Chapter 10: Making the Chatbot Smarter:' Repasa los servicios cognitivos disponibles en Azure y que pueden ser usados por un bot para corrección ortográfica, análisis de sentimiento, soporte multi-lenguaje, soporte para preguntas-respuestas o visión por computador.

  • 'Chapetr 11: Adaptive Cards and Custom Graphics:' entra en la especialización y personalización en materia de tarjetas y gráficos. Explica y ejemplifica con código las capacidades de las 'Adaptive Cards' de Microsoft y luego aborda los gráficos personalizados usando el concepto de 'headless browsers'.

  • 'Chapter 12: Human Handoff:' Trata del paso del control entre el bot y un humano para las situaciones en que se exceden las capacidades del bot. Tras explicar algunas ideas generales, ejemplifica cómo hacerlo en el caso de Facebook Messenger mediante el uso del Facebook Handoff Protocol.

  • 'Chapter 13: Chatbot Analytics:' Aborda el tema de los indicadores y la analítica en los chatbots explorando primero las preguntas habituales que quisiéramos contestar sobre el uso de los chatbots (demografía sentimiento, retención de usuario, etc) y luego explora plataformas analíticas como el propio dashboard ofrecido por Microsoft pero también Facebook Analytics. En el resto del capítulo trabaja, ya más en detalle y con ejemplos de código, con Dashbot y Google Chatbase

  • 'Chapter 14: Applying Our Learnings Alexa Skill Kit:' Capítulo final en que se realiza la integración con Alexa. Se cuentaa cómo crear una nueva skill, las capacidades NLU y de reconocimiento automático de voz de Alexa y se trabaja con el Alexa Skills Kit para Node.js explicando cómo conectar todo con Microsoft Bot Framework.
'Practical Bot Development' es en mi opinión un gran libro porque aporta todo el conocimiento real, práctico y aplicado en código que puede necesitar un desarrollador pero bien escrito y muy bien rodeado de explicaciones de concepto que hacen entender muy bien toda la idea. Muy recomendable para cualquier desarrollador de chatbots en entorno Microsoft y para todo aquel que, queriendo entender qué hacen y cómo los chatbots no se incomode por la abundancia de código o de pantallas de uso de las herramientas.

Szymon Rozga

(Fuente: Traducción y ligera elaboración propia de la biografía en su página oficial)

Szymon Rozga
Szymon Rozga tiene más de 15 años de experiencia práctica en el sector del desarrollo de software. Encontró su pasión trabajando en aplicaciones de front end en Wall Street. El interés en la interfaz de usuario le llevó a un tour por las diferentes tecnologías de interfaz de usuario en Windows, en la Web y en las plataformas Android e iOS.

Ha gestionado equipos de ingenieros en una gran variedad de proyectos y, desde 2017, ha dedicado su tiempo a la construcción de chatbots para clientes en canales de texto y voz. Ha trabajado en tecnología en Amazon, Infusion y Blue Metal y ha estado implicado en una variedad de proyectos de chatbots. En su papel de Arquitecto Jefe de Tecnologías Emergentes, se mantiene cognitivamente flexible mediante la lectura y asistencia a presentaciones sobre nuevas tecnologías, enseñando a clientes, dirigiendo sesiones de descubrimiento, mentorizando a ingenieros y ayudando a clientes a aplicar tecnologías como chatbots, blockchain y realidad aumentada a sus problemas de negocio.

Es autor del libro 'Practical Bot Development: Designing and Building Bots with Node.js and Microsoft Bot Framework'

Está casado, tiene un hijo y en su tiempo libre disfruta haciendo senderismo, leyendo ficción, yendo a la playa o tocando la guitarra.

Puedes saber más del autor visitando su página oficial o siguiéndole en twitter donde se identifica como @srozga.

miércoles, 11 de marzo de 2020

La enseñanza y la creación de significados


Enseñar es crear signficados.

Ese podría ser el resumen de lo que quiero transmitir en este post.

Una parte fundamental de mi 'modus operandi' en el terreno profesional, a veces incluso en el personal, es el constante estudio de todas aquellas materias que, de una forma u otra, se relacionan con mi actividad o me son interesantes o relevantes por alguna razón.

Desde hace muchos, muchos años, he ido estudiando todo tipo de materias. Algunos focos principales, que no los únicos, como cualquier lector asiduo de este blog más o menos sabe, son la tecnología digital, la innovación, la automatización, los procesos de negocio, los robots, el negocio digital o los modelos de negocio digitales.

Pero a la hora de reforzar mi propio know-how, también tengo que mirar hacia mi propia actividad y cuidar la mejora de mi desempeño y por eso también abundan las lecturas, por ejemplo, sobre dirección de proyectos, sobre liderazgo, etc

Ahora que, desde hace casi dos años, una parte importante de mi actividad profesional se centra en la enseñanza de posgrado en materia de tecnología, transformación digital, innovación y procesos, he creído conveniente estudiar también la mejor forma de ejercer esa actividad, las mejores prácticas para la educación, la enseñanza y el aprendizaje.

Por eso he investigado, por ejemplo, asuntos como flipped learning o trainning from the back of the room

Recientemente he comenzado a bucear en busca de material específico sobre la enseñanza en escuelas de negocio y me he encontrado con este libro, de título bien explícito: 'Teaching and learning at business schools', un libro coral con muchas aportaciones pero en el que actúan como editores Pär Martensson, Magnus Bild y Kristina Nilsson.

Apenas lo he comenzado pero ya en las primeras páginas (si así se las puede llamar puesto que lo estoy leyendo en formato eBook), me encuentro con algunas observaciones deliciosas y muy significativas. por parte de la autora del primer capítulo, Christine Kelly.

Ya en el segundo párrafo nos dice:

learning takes place when students create their own meanings.

Una frase preciosa y que ya nos avisa que en la educación, quien importa, el verdadero protagonista, no es el profesor y su presunta autoridad intelectual o de conocimientos, sino el estudiante y que es éste quien, de forma similar a lo que ocurre en la lectura de una obra literaria, debe construir significados a partir de los materiales y estímulos recibidos. Unos significados propios del estudiante y relevantes para él o ella.

¿ Y cuál es, entonces el papel del profesor? Ya lo podemos intuir, pero Kelly nos da la respuesta en el siguiente párrafo:


the role of a the teacher is to help students make content memorable and meaningful for themselves.

Era casi evidente. Si el aprendizaje tiene lugar cuando el estudiante crea sus propios significados, el papel del profesor es hacer que esos significados se produzcan, que los contenidos de la materia de que se trate, sean memorables y significativos para el estudiante. Eso puede consistir, por supuesto, en la calidad e interés de los contenidos en sí mismos, en la facilidad con que se transmitan, y en hacerlos prácticos y cercanos a la realidad del estudiante.

Pero Christine Kelly apuesta sore todo por algo más intangible, más 'soft', la comunicación, el establecimiento de un vínculo, una conexión entre profesor y alumno. Nos dice:

the foundation for facilitating learning is connection between student and professor.

Casi nada al aparato. O sea, que el profesor, no sólo debe ser erudito en su materia, no sólo debe, ademas, explicarse bien, sino que además debe ser un gran comunicador, y comunicador incluyendo incluso elementos casi emocionales como ese establecimiento de una conexión persona-persona.

No es poca labor. Y eso dificulta, a la vez que dignifica, la labor docente.

No nos engañemos. Los conocimientos objetivos del profesor son muy importantes, incluso hoy en día en la era de Google y Wikipedia. El profesor debe dominar su materia y ser capaz de aportar información y punteros a lugares donde enriquecerla. Lo que sucede es que no basta con eso...que ya sería bastante. Además debe dominar el arte de comunicar y transmitir.

En ese sentido, decir que no se preocupen mis alumnos actuales o futuros. Seguiré profundizando, y en este blog quedarán trazas de ellos, en el conocimiento de la tecnología digital, de los procesos de negocio, de la robotización, la innovación y los modelos de negocio.

Pero a la vez, y en paralelo, buscaré nuevas técnicas, nuevas ideas para mejorar la conexión y la comunicación.

Para aumentar, en definitiva, mi capacidad para crear significados.

lunes, 9 de marzo de 2020

Una muestra de servicios cognitivos en la nube


En un artículo reciente decíamos que uno de los motivos del auge de los chatbots, y probablemente podríamos extenderlo hacia la inteligencia artificial y el machine Learning en general, era que los grandes, Microsoft, Google, Amazon, etc habían desarrollado y ponían a disposición de los desarrolladores, una serie de servicios en la nube de forma muy asequible cuando no gratuita.

En el post de hoy, a modo simplemente de muestra e ilustración, y apoyándome en lo que al respecto cuenta Szymon Rozga en su libro Practical Bot Development', voy a identificar una serie de servicios cognitivos que Microsoft ofrece en la nube en su plataforma Azure, los llamados Azure Cognitive Services.

La misión de estos servicios cognitivos es, entre otras cosas, permitir unas interacciones con personas mucho más naturales. Algunos de estos servicios cognitivos son:

  • LUIS (Language Understanding Intelligent Service): es un servicio que implementa NLU (Natural Language Understanding) es decir, entendimiento del lenguaje natural basado en algoritmos de machine Learning. En LUIS se apoya, en concreto, toda la solución de Microsoft para chatbots (Microsoft Bor Framework / Azure Bot Service).

  • Bing Spell Check: es un API para corrección de textos. Se presenta en dos modalidas `Proof' que hace comprobaciones tipográficas y gramaticales sobre el texto incluyendo, por ejemplo, el uso de mayúsculas y signos de puntuación, y 'Spell' que es capaz de realizar correcciones sobre el texto.

  • Text Analytics (análisis de sentimiento): un API que realiza las tres funciones fundamentales del análisis de sentimiento como son, análisis, extracción de frases clave y detección de lenguaje. Así, por ejemplo permite clasificar la negatividad / positivas de un sentimiento calificándolo en una escala de 0 a 1.

  • Translator API (Soporte multi-lenguaje): En realidad, en este caso, es una funcionalidad que se divide entre varios servicios. Por un lado, Text Analytics para identificar el idioma del texto, LUIS que es capaz de 'hablar' diferentes idiomas y Translator API, para realizar la traducción cuando LUIS no ofrece soporte directamente al idioma en cuestión.

  • QnA maker: un servicio que permite construir algo similar a las FAQ (Frequently Asked Questions) pero a las que se accede de forma conversacional, mucho más natural.

  • Computer Vision: en realidad una familia de servicios que proporciona funcionalidades como reconocimiento facial o análisis de emociones

Esto, en el fondo, no es más que una muestra, una muestra no exhaustiva y circunscrita al caso de Microsfot y Azure, pero ya nos da una idea del tipo de funcionalidades que podemos encontrar como servicio en nubes como las de Microsoft, Google o Amazon. Unos servicios que además, estoy convencido, irán ganando en número y sobre todo en sofisticación. 

Pero esta muestra deja muy clara, por un lado, la potencia de las capacidades cognitivas puestas a disposición de cualquier desarrollador y empresa y, por otro, la importancia creciente que tiene el cloud computing en todo el desarrollo tecnológico actual.

viernes, 6 de marzo de 2020

Una ayuda para certificarse en Blue Prism con Prasanna Kumar Ballepalli

'Blue Prism masterclass' es un libro, evidentemente, sobre Blue Prism, una de las herramientas líderes de mercado en RPA (Robotic Process Automation). No se trata, sin embargo, de un libro para leer o estudiar sino, fundamentalmente, una ayuda para el estudio de las certificaciones como desarrollador y desarrollador avanzado.

El libro se inicia con diez capítulos extremadamente breves, en que repasa algunos conceptos de Blue Prism que el autor considera como fundamentales para un repaso rápido. Esos diez capítulos son:
  • 'Chapter 1. Blue Prism'
  • 'Chapter 2. Blue Prism components'
  • 'Chapter 3. Native functions'
  • 'Chapter 4. Date functions'
  • 'Chapter 5. Data types'
  • 'Chapter 6. Environment and session variables'
  • 'Chapter 7. Exception Handling'
  • 'Chapter 8. Work queues'
  • 'Chapter 9. Surface automation'
  • 'Chapter 10. Delivery methodology'
Tras esto viene lo que realmente es el objetivo del libro, aunque se presente como apéndices: cuestionarios de preguntas y respuestas. En los dos primeros apéndices plantea las preguntas:
  • 'Appendix 1. Developer exam mock questions' con 190 preguntas titpo test para preparar el examen como desarrollador
  • 'Appendix 2. Professional Developer exam mock questions' con 105 preguntas para, en este caso, preparar el examen como desarrollador profesional
Finalmente, en los dos siguientes apéndices proporciona, de forma justificada, las respuestas correctas a los cuestionarios planteados en los dos primeros apéndices:
  • 'Appendix 3. Developer exam answers'
  • 'Appendix 4. Professional Developer exam answers'
'Blue Prism masterclass' es lo que es, una herramienta para preparar un examen. En ese sentido, tiene poco valor por sí solo si no va acompañado de una lectura, formación o experiencia previa o paralela y a través de otros medios en el uso de Blue Prism. Entendiendo el libro, fundamentalmente, como cuestionarios para preparar el examen, me parece que puede resultar muy útil. Sin embargo, creo que, como libro, le beneficiaría muchísimo extender bastante los capítulos iniciales, los que describen qué es, cómo funciona y qué se puede hacer con Blue Prism. ¿Quién sabe? Tal vez el autor se anime en otra edición de este libro o en una obra diferente.

Prasanna Kumar Ballepalli

(Fuente: Traducción y ligera elaboración propia de su su perfil en LinkedIn)

Prasanna Kumar Ballepalli
Desde 2018, Arquitecto jefe de Inteligencia Artificial y RPA en Prosegur.

Arquitecto IT certificado en Blue Prism y Microsoft y co certificaciones en Six Sigma Green Belt e ITIL Foundation.

Con varios años de experiencia dirigiendo programas de transformación empresarial para compañías multinacionales y foco en fuerzas de trabajo digitales (RPA e Inteligenia Artificial). Su fespecialización tecnológica incluye: RPA, machine learning, chatbots inteligentes (NLP / NLU), analítica e Inteligencia Artificial. Durante los últimos años, además, ha trabajado y dirigido la cualificación en campos como Inteligencia Artificial, Automatización Robótica de Procesos y .Net.

Tiene un grado en Computer Science y se considera auto-motivado, creativo, jugador de equipo y con excelentes habilidades de comunicación.

Puedes saber más sobre él visitando su perfil en LinkedIn o seguirle en Twitter donde se identifica como @prasannak040.

Ficha técnica:

EDITORIAL: Autoeditado
AÑO: 2019 
ISBN: 978-9353917692
PAGINAS: 318

miércoles, 4 de marzo de 2020

Consejos para diseñar buenas experiencias conversacionales en chatbots


Ya hemos visto en posts recientes cómo la tecnología que hay detrás de los chatbots, tanto los que actúan mediante canales más tradicionales como las aplicaciones de mensajería como los que utilizan interface vocales, es una tecnología avanzada y compleja pero que, sin embargo, los grandes la ponen a disposición de todo tipo de empresas y usuarios de una forma sencilla e incluso barata.

Habiendo bajado la barrera tecnológica y económica de entrada, una parte importante de la consecución de unos chatbots útiles y brillantes. depende en parte de la integración con servicios, datos y sistemas de información específicos, por un lado, y por otro, de un cuidado diseño e implementación de la conversación en sí misma.

En su libro Practical Bot DevelopmentSzymon Rozga nos identifica once buenas prácticas, once consejos a tener en cuenta a la hora de diseñar e implementar esas conversaciones, consejos que, como se verá, ya no tiene que ver demasiado con la tecnología subyacente, sino con la experiencia de usuario.

  • Foco: Hay que mantener un fooc y no intentar que los bots sean demasiado inteligentes e intenten contestar a cualquier cosa. Al final un humano sabría cómo engañar al bot. Así que es mejor reconocer las limitaciones y concentrarse en saber mantener unas conversaciones con un foco concreto.

  • No hacer ver que el bot es humano: Cuando un ente artificial, en este caso un bot, empieza a parecerse a un humano nos resulta incómodo porque, en el fondo es como un humano pero 'raro' y que provoca una instintiva repulsión. Es el fenómeno que se conoce como el 'uncanny valley'. Es mejor, de nuevo, que se aprecie claramente que es un bot (por ejemplo, mediante un avatar que deje claro que es un bot).

  • Bots sin género: a pesar de la tradición de dotar a los chatbots de voces femeninas, cada vez es m´s políticamente correcto y mejor aceptado hacer que los bots sean sexualmente neutros.

  • Siempre mostrar una siguiente mejor acción: El usuario siempre debe saber qué hacer a continuación. El bot siempre debe tener a punto algún tipo de sugerencia o acción a realizar.

  • Mantener un tono consistente: esto tiene que ver con la personalidad del bot y que esa personalidad y ese estilo sean consistentes. Si es formal, debe serlo siempre, si espontáneo y bromista, siempre así...

  • Utilizar contenido enriquecido: Usar una combinación atractiva de texto, imágenes, vídeo y audio

  • Sé indulgente: No ser perfeccionista y demasiado exigente. El lenguaje natural es vago, y los usuarios más todavía. Así que el bot debe estar lo más preparado posible para manejarse con ambigüedades y pequeños errores por parte del usuario.

  • Evitar quedarse atascado: Si el usuario cambia de tema inopinadamente, el bot debe seguir el discurso, no empeñarse en mantener el inicial curso de la conversación.

  • No abusar de los mensajes proactivos: el exceso de mensajes proactivos es molesto para el usuario y puede ser causa de que elimine y deje de utilizar el chatbot.

  • Proporcionar una vía clara hacia los humanos: Dado que el bot no va a ser capaz de tratar cualquier conversación, pregunta o situación, debe existir siempre una forma, una forma sencilla y clara, de transferir el control de una persona humana.

  • Aprender de los usuarios: Aprovechar las propias conversaciones con usuarios reales para recopilar datos y seguir entrenando al chatbot.

No son éstas las únicas directrices posibles, pero quizá sí las más básicas, una forma de empezar y, de paso, hacerse conscientes de que,eliminada la barrera de entrada a la tecnología, lo importante es centrarse en la conversación y la experiencia de usuario.

lunes, 2 de marzo de 2020

Siete casos de uso para chatbots


A pesar de incorporar tecnología muy avanzada, especialmente en lo relativo al procesamiento de lenguaje natural, lo cierto es que los chatbots o, en general,los robots capaces de dialogar mediante conversaciones con humanos, son cada vez más comunes, debido a la, hasta cierto punto, 'comoditzación' de esta tecnología gracias a las aportaciones a la misma de los grandes como Microsfot, Google o Amazon.

¿Dónde se están aplicando ahora mismo los chatbots?

En su libro Practical Bot Development' Szymon Rozga nos identifica una serie de casos de uso comunes que me ha parecido interesante recoger aquí. El autor distingue entre dos grandes entornos:

  • Consumo: es decir, público general, usando como canal fundamentalmente Facebook Messenger, Slack u otras aplicaciones de mensajería

  • Empresas: en general casos de uso más especializados y con frecuencia integrados en la web de la compañía e, incluso, con sistemas de IVR.

Las fronteras no son nítidas y existen, evidentemente, solapes en cuanto a casos de uso, pero el autor considera que es una diferenciación relevante y me parece correcto mantenerla.


Casos de uso orientados a consumo


En este entorno, el autor nos propone los siguientes casos de uso habituales:

  • Preguntas frecuentes (FAQ): quizá uno de los usos más típicos, un robot capaz de contestar a las preguntas más habituales de los usuarios, sustituyendo mediante una alternativa conversacional a una FAQ publicada (que creo que suelen tener poco éxito) o la labor de un empleado que contesta constantemente el mismo tipo de preguntas. En entornos como, por ejemplo, los servicios financieros, pueden dar un gran servicio a los usuarios y ahorrar tiempo y costes a la empresa.

  • Bots orientados a tarea: robot orientados a ayudar al usuario a realizar una tarea o conjunto de tareas específicas en un dominio concreto. El autor nos propone como ejemplo de este caso un robot que ayuda a interactuar con la famosa herramienta de gestión de proyectos JIRA, creando y asignando tareas (tareas JIRA, queremos decir) con base en las conversaciones de usuarios participantes en el proyecto. Y también otro caso de un bot que nos ayude a gestionar nuestra agenda.

  • Difusión (broadcast): Se trata de robots que contactan con el usuario sin una petición específica. Podrían ser, por ejemplo, robots con noticias como el que ofrece la CNN.

  • E-commerce: se trataría en este caso de bots dedicados a vender productos. Aparte de las capacidades conversacionales, también deben integrar medios de pago. El autor propone ejemplos en el mundo de la moda o la televenta de flores.

Casos de uso en empresas


En este entorno, los casos de uso habituales identificados son:

  • Autoservicio: hay muchas variantes de autoservicio pero uno muy habitual sería el autoservicio ante incidencias en el que el bot guía al usuario sobre posibles causas de la incidencia y también acciones paso a a paso que se pueden realizar para el diagnóstico o la recuperación. En los casos más avanzados, los chatbots incluirían, además, capacidades de automatización del diagnóstico y/o la resolución.

  • Automatización de procesos: En este caso, la parte principal de la automatización se realizaría con otra tecnología en la que también tengo mucho interés y que ya ha sido objeto de muchos artículos en este blog: RPA (Robotic Process Automation). Los robots RPA automatizan tareas  repetitivas principalmente interactuando con aplicaciones (comúnmente vía pantallas) y documentos como hojas de cálculo o documentos PDF .El papel del chatbot en este escenario es, fundamentalmente, de interfaz con el usuario y, en algún caso, de orquestador de los robots RPA. Un escenario muy interesante aunque no exclusivo de lo chatbots.

  • Gestión del conocimiento: se trataría, de forma parecida a los bots de preguntas frecuentes, unos robots conversacionales capaces de contestar a preguntas pero, en este caso, estamos hablando de un conocimiento mucho más avanzado y unos bots capaces de consultar una variedad de fuentes en general en lenguaje natural, es decir, unas auténticas bases de conocimiento.

Y mucho más...


Estos son los casos de uso que nos propone el autor como casos de uso comunes, y creo que es una buena selección y muy ilustrativa, pero las interfaces conversacionales, los chatbots, son soluciones tecnológicas que aunque sin duda evolucionarán y mejorarán en sus capacidades, están preparadas ya para proporcionar soluciones reales en negocios reales.

En todos los escenarios donde un sistema informático interactue con una persona (cliente, empleado o lo que sea) y donde mediante esa conversación y una eventual integración con otras funcionalidades y sistemas se pueda proporcionar valor a ese usuario, un chatbot puede hacer un gran papel.