Mostrando entradas con la etiqueta Chatbot. Mostrar todas las entradas
Mostrando entradas con la etiqueta Chatbot. Mostrar todas las entradas

jueves, 18 de julio de 2019

La ya muy cercana Singularidad

El ya muy lejano 2 de Diciembre de 1950, se publicaba uno de los libros más emblemáticos de el en aquel entonces muy incipiente movimiento literario conocido como Ciencia Ficción: "Yo, Robot".

Cierto es que Julio Verne y Herbert George Wells ya habían comenzado a publicar obras que a la postre serían clasificadas dentro de el género, pero es en la década de los cincuenta cuando muchos autores y editoriales se dedican de lleno a este maravilloso género.

En "Yo, Robot", Isaac Asimov (nada que ver con la muy tergiversada película del año 2004 estelarizada por Will Smith), cuenta las peripecias de dos empleados de la empresa U.S. Robots/Mechanical Men Corporation: Gregory Powell y Mike Donovan. Ambos personajes con relación muy directa con la Doctora Susan Calvin, a la postre (en la novela) presidente de esa empresa.

Más que novela, se trata de una serie de relatos cortos en los que por alguna u otra razón, se "juega" con extrapolaciones derivadas de las Tres Leyes de la Robótica, propuestas a partir de ese momento por Isaac Asimov:

  1. Un robot no debe dañar a un ser humano o, por su inacción, dejar que un ser humano sufra daño.
  2. Un robot debe obedecer las órde nes que le son dadas por un ser humano, excepto cuando estas órdenes están en oposición con la primera Ley.
  3. Un robot debe proteger su propia existencia, hasta donde esta protección no esté en conflicto con la primera o segunda Leyes.

No. No nos estamos dedicando ahora a la crítica editorial o a reseñar libros, relatos y cuentos de Ciencia Ficción. Todo esto nos sirve de preámbulo para entrar al tema principal de este artículo. La ya muy cercana Singularidad.

¿Qué es la Singularidad?

La Singularidad Tecnológica es -"...el advenimiento ya no tan hipotético de Inteligencia Artificial General (también conocida como «IA fuerte»). La Singularidad Tecnológica implica que un equipo de cómputo, red informática o un robot podrían ser capaces de automejorarse recursivamente, o en el diseño y construcción de computadoras o robots mejores que él mismo."- Fuente: Wikipedia.

En pocas palabras, es ese momento en el que una Inteligencia Artificial (sin necesidad de que ésta se enfunde dentro de un robot de forma humana o androide) no se distinga de una Inteligencia Humana.

Alan Mathison Turing, creador de lo que se considera la primera computadora, la cual estaba conformada por los elementos básicos que ya conocemos todos desde entonces y siguen siendo parte de éstas hasta nuestros días, planteaba ya este concepto y propuso la célebre "Prueba o Test de Turing". Con esta prueba se puede concluir que -"...una computadora puede ser llamada inteligente si logra engañar a una persona haciéndole creer que es un humano."-

Así pues, si un equipo de cómputo, una red de estos o un robot logra engañarnos y le confundimos con uno de nuestros semejantes (pero eso sí muy inteligente), estamos ante eso que ahora se llama Singularidad Tecnológica.

Cuarta Revolución Industrial, Convergencia Informática y Transformación Digital son precisamente en donde y quienes están gestando a pasos agigantados esta Singularidad.

La Singularidad, ¿ya entre nosotros?

¿Conocen a la adorable Sofía? Un robot con forma humana (un androide pues) con personalidad y morfología femenina, que sin contar aún con un Cerebro Positrónico (de esos que Isaac Asimov propone en la obra citada), conectada vía la Internet a un Equipo de Cómputo de Alto Rendimiento (HPC por sus siglas en inglés), puede conversar, aprender, analizar y sorprendernos a todos.

Tuvimos la oportunidad de ver y gozar con una entrevista que Pablo Motos, presentador de el programa "El Hormiguero" de Antena Tres (España), le realizó a Sofía. Quedamos impresionados con la fluidez y con la calidad del diálogo y las respuestas de "ella".

Aunque su apariencia aún es muy tosca y no tan humana, si cerramos los ojos, ya sería muy difícil distinguir si estamos ante la presencia de una Inteligencia tan semejante como la humana.

Complementando su decir con gestos faciales (muy burdos), hubo momentos de la plática en los que poco faltó para sentirnos muy sorprendidos e incluso con sentimientos que rallaban en un temor instintivo. No es una muñeca que responde a un "script" o libreto pre ensayado. Es una Inteligencia Artificial que ha aprendido cada vez más, que habla perfectamente varios idiomas y que cada vez más rápido toma decisiones para armar unas respuestas muy coherentes y que denotan mucha inteligencia.

En uno de los relatos de Isaac Asimov, la Doctora Susan Calvin, a petición de lo que podría denominarse como un Congreso de toda la Humanidad, entrevista al flamante Presidente de toda la raza humana. Soltero, con un pasado prácticamente anónimo, era un político que, hoy más que nunca parecería imposible, no tenía pasado turbio o asunto, escándalo o "affaire" por el cual se le pudiese acusar. Una conducta sin mácula, un proceder cuasi perfecto, unas decisiones de gobierno más que salomónicas.

Por todos esos muy positivos atributos, la gente comienza a sospechar, que está siendo gobernada por un robot. Huelga mencionar que esto representaba tremendas ventajas para un enorme sector de la población humana, pero como siempre, otro abrumador sector de congéneres humanos estaba más que ofendido, contrariado, abrumado. -"¿Estaban siendo gobernados por un robot? ¡Qué insultante situación!"-

La Doctora Susan Calvin ya había tenido experiencia para desenmascarar Inteligencias Artificiales y decide aplicar el test de Turing (o más bien dicho una variante modificada por ella) a esa "abominación" que por el momento resultaba el tener un presidente con cerebro positrónico.

Sin entrar en detalles, dejando un final abierto, se da a entender que la Singularidad había llegado y estaba tan madura como para que una Inteligencia Artificial, se hiciese cargo de la humanidad. Y reitero que todo esto con excelentes resultados.

Presente y futuro de la Singularidad

¿Qué tan lejos entonces, con respecto a la línea de tiempo, tenemos a la Singularidad? Al parecer y con todos los esfuerzos que empresas, universidades y organizaciones orientadas a las Tecnologías de la Información, en menos de cinco años ya podemos estar conviviendo directa o indirectamente, con inteligencias artificiales que serán tanto o posiblemente más eficientes que las inteligencias humanas, en rubros muy específicos.

Cierto que hasta donde se vislumbra, faltan al menos un par de décadas para que estas Inteligencias Artificiales puedan tener alcances tan vastos y diversos como lo es la Inteligencia Humana. Pero como dice la letra de un tango de Carlos Gardel ("Volver"), veinte años no es nada.

¿Estamos preparados los seres humanos a convivir en nuestra vida productiva con las Inteligencias Artificiales?

¿Estaríamos dispuestos los seres humanos a tener como compañero de trabajo o inclusive como jefe a una Inteligencia Artificial?

¿Qué tanto nos parecería positivo, bueno, correcto, práctico el tener una Inteligencia Artificial como un maestro, un mentor, un instructor?

¿Permitiríamos que una Inteligencia Artificial se encargue por completo del cuidado e instrucción básica de nuestros hijos?

¿Sería aceptable, conveniente y/o convincente tener como guías, líderes y/o gobernantes a Inteligencias Artificiales?

Por el momento, ya muchos procesos industriales y operativos en muchas empresas, ya se cuenta con Inteligencias Artificiales trabajando a tiempo completo. ¿Estamos preparados para lo que sigue en un futuro inmediato o mediato?

martes, 18 de diciembre de 2018

Tendencias de la transformación digital para 2019

Ya es tiempo de tomar la bola de cristal, cargarla con toda la información de lo que está ocurriendo en el presente (en lo que respecta a las Tecnologías de la Información) y veamos cuales son ya, las 10 principales tendencias de transformación digital, para este ya muy cercano 2019.

En los últimos años, nos hemos comprometido a esperar el próximo año para predecir algunas de las tendencias de transformación digital más importantes.

Sabiendo que la transformación digital no es solo un cambio tecnológico, sino un cambio organizativo en la intersección de tecnología, negocios y personas, tal reflexión debe tener en cuenta innumerables posibilidades.

En las predicciones de este año 2018, intentamos tomar un año de investigación en tecnología y transformación digital para predecir mejor a dónde vamos. ¿Por qué vamos donde vamos? ¿Qué sorpresas potenciales hay en el almacén? Con suerte, estas tendencias principales pueden servir como una especie de brújula, para las organizaciones que buscan impulsar sus negocios y transformaciones digitales hacia adelante.

Si bien algunas de mis principales tendencias de transformación digital 2019 se basan en las tendencias que predecimos el año pasado, definitivamente hay algunas nuevas incorporaciones a medida que nos acercamos a la coda de este ya moribundo 2018.

Como nota a todos los que lean esto, recuerden que la tecnología en sí misma no equivale a la transformación digital. El cliente, la cultura y los empleados, junto con la continuidad del negocio, deben estar en el corazón de cada inversión en tecnología. Sin más preámbulos, aquí está nuestra opinión sobre qué esperar en el próximo año.

1.- De la 5G fija a la 5G móvil: Hemos estado hablando del tema de las redes celulares 5G por un tiempo y si usted es un viajero del mundo o está suscrito a ciertas redes de países "en vías de desarrollo", sabe que todavía es común incorporarse a zonas 3G de vez en cuando sin darse cuenta.

Entonces, ¿cuál es el problema con 5G ahora? En resumen, finalmente estamos en un lugar donde comenzaremos a ver 5G en todas partes. Si ha estado siguiendo a la comunidad tecnológica, habrá visto que hay una gran cantidad de implementaciones fijas y de prueba con compañías como Qualcomm, Intel, Nokia, Ericcson, Samsung y Huawei, todas en acción.

También estamos viendo nuevas compañías como Mimosa Networks que hacen posible la implementación de 5G en ubicaciones tanto rurales como urbanas, allanando el camino para proveedores de telefonía móvil 5G alcistas, para comenzar a ofrecer servicios nuevos, más frescos, más rápidos y más innovadores para usuarios móviles. Es un momento emocionante para 5G y la movilidad por igual.

Si bien 2018 fue el año en que las aplicaciones 5G solucionaron sus problemas, en 2019 veremos cómo 5G encuentra su camino en la esquina superior de nuestros dispositivos móviles, aunque para los usuarios de iPhone es más probable que sea 2020 o posterior.

2.- Los Chatbots de Bueno a Grande: Escúchanos en este. Sabemos que todos hemos tenido experiencias de chatbot extremadamente frustrantes en 2018. Pero la buena noticia es que se han dado pasos importantes en el procesamiento del lenguaje natural y el análisis de sentimientos. Tantos, de hecho, que algunos creen que el proceso de aprendizaje natural de los Chatbots sacudirá a toda la industria de servicios de una manera que nunca habíamos imaginado.

Piense en todos los servicios que podrían proporcionarse sin personas: líneas de comida rápida, procesadores de préstamos, reclutadores de trabajo. Además, la PNL permite a las empresas obtener información y mejorar su servicio en función de ellas. Alrededor del 40% de las grandes empresas lo han adoptado o lo adoptarán a fines de 2019, lo que lo convierte en una de nuestras principales tendencias de transformación digital 2019.

Ahora sabemos que muchos están alarmados por el hecho de que la Inteligencia Artificial y los Chatbots pueden afectar a la fuerza laboral, pero también somos optimistas de que las empresas van a mejorar la capacidad de sus fuerzas laborales en lugar de desplazarlas, ya que las máquinas pueden ser buenas para cumplir con las solicitudes claras, pero dejan mucho para ser deseado cuando se trata de lidiar con la empatía y las emociones humanas necesarias para brindar excelentes experiencias a los clientes.

3.- Nubes Conectadas (Pública, Privada e Híbrida): Sinceramente, podemos archivar esto como "la evolución continua y los crecientes problemas de la adopción de la nube". Básicamente, lo que está sucediendo es que las empresas se están dando cuenta de que se está convirtiendo en una nube pública, una nube privada, o centro de datos no es la mejor opción. A veces, necesitan una mezcla de todos o ambos.

Por lo tanto, las nubes conectadas continúan desarrollándose para satisfacer las necesidades cambiantes de las empresas, ya sea que deseen almacenamiento en la nube, redes, seguridad o implementación de aplicaciones. Los principales proveedores de la nube pública como Amazon y Alibaba están respondiendo la llamada, ofreciendo opciones de nube privada (o en el caso de Google, basadas en contenedor).

También estamos viendo a Microsoft a través de Azure, HPE con su adquisición en 2017 de Cloud Technology Partners y sus servicios de TI consumibles, así como VMware con su reciente adquisición de CloudHealth Technologies, todos muestran un mayor compromiso con la conexión de las nubes.

El término, Multicloud será la nueva palabra de moda para la conversación en la nube y lo que creo que este movimiento significa más que cualquier otra cosa es que no importa qué cargas de trabajo se estén ejecutando en qué nube, la experiencia para TI y las que utilizan las aplicaciones necesitan Ser sin fisuras, seguro y optimizado. Para la mayoría de las empresas, esto significa una combinación de cargas de trabajo que se ejecutan en entornos públicos, privados e híbridos, y este será un tema importante en 2019.

4.- Blockchain finalmente entendido: A medida que continuamos explorando este "Libro Mayor  Tecnológico milagroso", nos hemos dado cuenta de que Blockchain es demasiado complicado para los laicos en este momento, y no hay una forma estándar de usarlo porque todos queremos usarlo de manera diferente.

La única forma de obtener la adopción masiva de Blockchain es crear una versión Plug-and-Play que todos podamos usar y entender. Observemos de cerca como las principales empresas de tecnología como IBM, continúan haciendo compromisos masivos con el potencial de Blockchain para aplicaciones más allá de la criptomoneda. La industria financiera también está estudiando esto de cerca, así como una gran cantidad de aplicaciones en el transporte de bienes y servicios.

Sin embargo, hasta este punto, parece más una estrategia de marketing que una oferta de tecnología de buena fe. Suponemos que muchos desarrolladores inteligentes continuarán trabajando para darse cuenta del potencial de Blockchain en 2019, pero creemos que pasarán de 2 a 3 años más antes de que comencemos a ver el cumplimiento cabal de todo lo prometido.

5.- De los Datos al Análisis, del Aprendizaje Automático a la Inteligencia Artificial: en el centro de todas estas tendencias tecnológicas y en el centro de esta lista se encuentra el eje de muchas de estas tendencias y de la transformación digital en su conjunto.

Los datos son clave para que las empresas puedan tomar buenas decisiones sobre productos, servicios, empleados, estrategias y más. De todo esto estamos seguros de que no veremos una desaceleración en el corto plazo. Como los datos recientes han demostrado que hemos creado el 90% de los datos mundiales en el último año, las investigaciones también muestran que solo estamos utilizando el 1% de los datos de manera efectiva.

Si bien estar en el 1% superior a menudo es bueno, este es un 1% del que la mayoría de los que predicamos el poder de los analíticos debería avergonzarse. Con una plétora de compañías como Microsoft, SAP, SAS y Salesforce (solo para nombrar algunas) que muestran el liderazgo del mercado en la promoción de datos que se convierten en una analítica empresarial significativa, hay mucho que hacer por parte de las organizaciones impulsadas por datos para darse cuenta del poder de los Datos disponibles y los Datos que están recolectando.

Con una potencia de procesamiento mejorada que puede aumentar el aprendizaje automático, veremos líderes digitales invirtiendo en hacer más de todos sus datos, y esto se hará con aprendizaje automático e Inteligencia Artificial. Creemos pues que la cifra del 1% aumentará a 3 o 4% por 2020, lo que puede parecer pequeño pero es un aumento masivo en la utilización de datos.

6.- Se impondrá aún más el Reglamento General de Protección de Datos: A partir de agosto de 2018, aproximadamente un tercio de las empresas aún no cumplían con el Reglamento General de Protección de Datos (GDPR por sus siglas en inglés) de Europa, cuyo objetivo es proporcionar enormes capas de protección de datos a los usuarios. De hecho, en este momento, alrededor de 1,000 sitios de noticias de los EE. UU. Aún no están disponibles en Europa, generalmente porque no les importa lo suficiente la seguridad de los datos para que el GDPR sea una prioridad.

¿Qué significa esto en términos de las tendencias de Transformación Digital para el 2019? Significa que los clientes informados comenzarán a ver qué compañías realmente se preocupan por proteger sus datos y qué compañías realmente no lo hacen. Creemos que la GDPR es el comienzo de una tendencia más global que responsabilizará a las empresas por la forma en que tratan la privacidad y los datos personales.

Si bien las marcas no necesariamente quieren cumplir, este movimiento servirá como una advertencia para que las compañías descubran mejores formas de establecer relaciones genuinas con su audiencia, en lugar de un uso y abuso de los datos personales a menudo claros en nombre de la Mercadotecnia y las ventas.

7.- Realidad aumentada Sí, Realidad Virtual (aún) No: Estamos empezando a sentirnos mal por la Realidad Virtual (VR) porque es genial, pero no es posible más allá de juegos y aplicaciones altamente especializadas en el mercado actual. En cambio, Realidad Aumentada (AR), el hermanito menos sexy de Realidad Virtual, sigue siendo el nombre del juego en 2019 tendencias de Transformación Digital.

La Realidad Aumentada ha encontrado muchos casos de uso en la capacitación de la fuerza laboral empresarial, lo que significa que no solo es genial sino que es útil. De eso se trata la tecnología. De hecho, aunque algunos piensan que será lento, creemos que el desarrollo de Realidad Aumentada se acelerará en 2019. Incluso nos preparamos para escuchar algo sobre un nuevo producto de Realidad Aumentada, de Realidad Mixta y/o un kit de desarrollo a partir del gran anuncio de Apple. Esperemos que sea algo prometedor.


8.- Mucho más desde el Edge al Core y de la Internet de las Cosas: el año pasado, nuestras primeras cuatro tendencias se centraron básicamente en Internet de las Cosas, Inteligencia Artificial, Aprendizaje Automático y Edge (cómputo perimetral). Este año, los cuatro se convierten en uno porque están profundamente interconectados.

A medida que el Internet de las Cosas crece, y la cantidad de dispositivos conectados se dispara, tiene sentido que necesitemos más espacio y más espacio para procesar los datos que se están trabajando para capturar y procesar. Los conceptos de ciudades inteligentes y vehículos autónomos no tienen ninguna posibilidad de realizarse si el procesamiento de datos tiene que ocurrir en la nube.

Eso significa que estaremos orientándonos cada vez más hacia la Computación Perimetral (Edge Computing) en términos de las tendencias de Transformación Digital para 2019. Los análisis y los datos no serán solo para procesamiento, sino para procesamiento en tiempo real. Eso es algo que solo el Cómputo Perimetral (Edge Computing) puede soportar hoy en día.

Ahora es importante enfatizar que el borde y la nube no se excluyen mutuamente. Cisco se refiere a la interdependencia de Edge y Cloud Computing como "The Fog" (La Niebla), ya que reconocen las interacciones de datos críticos que tienen lugar entre Edge y Cloud Computing para maximizar la utilización de los datos.

Si bien su lengua vernácula puede o no ser ubicua con la conexión entre el Perímetro y el Núcleo, podemos estar seguro de que los dos trabajarán juntos incansablemente para lograr las posibilidades que se nos ofrecen con Inteligencia Artificial, Internet de las Cosas y el Aprendizaje Automático.

9.- Servicios de Tecnologías de la Información basados en FTW (For The Win): este año hicimos nuestra tarea y les preguntamos a los directores de informática y ejecutivos de Tecnologías de la Información sobre sus presupuestos y las tendencias en su consumo de La Nube y, en general, están interesados en crear eficiencia y tener más recursos, así como flexibilidad con sus cargas de trabajo (Nubes Conectadas) y tener la capacidad de escalar hacia arriba y hacia abajo rápidamente según los requisitos del negocio.

Esto significa que al igual que vimos a Salesforce convertirse en un peso pesado para soluciones de Administración de Relacionamiento con los Clientes (CRM) en modalidad como un Servicio, ahora la idea de cualquier cosa y todo como un Servicio es altamente deseable. Con el crecimiento de la Industria como un Servicio, las compañías se están volviendo más sofisticadas al elegir los servicios de Tecnologías de la Información "a la carta" para satisfacer sus necesidades. Estas Tecnologías de la Información como un Servicio (ITaaS) permiten escalabilidad, la última tecnología (sin la última etiqueta de precio de tecnología), ciclos de adquisición más cortos y mayor agilidad. Solo tiene sentido que las empresas se inclinen de esta manera y lo serán más en 2019.

10.- Los CEOs toman las riendas: Honestamente, ya es hora y mientras lo ponemos como nuestra predicción final, también es la que más nervioso nos tiene.

Innumerables estudios han mostrado un deseo abrumador por parte de los empleados de que la Transformación Digital comience desde lo más alto de la empresa; sin embargo, las tendencias siguen demostrando que la tarea se está delegando con demasiada frecuencia a los departamentos de Tecnologías de la Información, Mercadotecnia o Recursos Humanos.

Entonces y a pesar de que hemos visto a una serie de líderes de "Clase C", encargados de tomar las riendas de la Transformación Digital, creemos que el CEO finalmente deberán (deben) dar un paso adelante en 2019, en cuanto se den cuenta de que su estrategia de Transformación Digital en su empresa, no está yendo a ninguna parte.

Estarán haciendo más prioritario contratar personal orientado hacia los esfuerzos de la Transformación Digital, tras haber reconocido la naturaleza crítica de la creación de culturas que pueden cambiar, así como el valor de volver a capacitar a los empleados y la contratación con miras en la agilidad. Les será más que necesario aprender a confiar en los datos más que nunca. Esa es una buena noticia para todas las empresas en 2019.

A modo de colofón y conclusión, si hay algo que sabemos con certeza, es que la Transformación Digital continuará cambiando la forma en que hacemos negocios, en cada industria. Si bien puede ser difícil ver el avance que algunas de estas tecnologías están logrando en este momento, su potencial para cambiar la forma en que trabajamos, socializamos e interactuamos es tremendo y sus implicaciones, continuarán llegando mucho más allá del próximo año 2019.

Otra cosa de lo que estamos completamente seguros es que en el próximo año 2019, todo debe ser pasos hacia adelante. ¿Pasos hacia atrás? Ni siquiera para tomar impulso.

miércoles, 30 de mayo de 2018

3 tipos de "Chatbots" comerciales que puedes construir

Hace unos años, cuando los "Chatbots" estaban ganando popularidad, se habló mucho sobre qué era realmente un "Chatbot". Con el advenimiento del procesamiento del lenguaje natural y varias técnicas de aprendizaje automático, algunas de las aplicaciones conversacionales más avanzadas querían separarse de la competencia. Muchos comenzaron a llamarse a sí mismos "Asistentes Virtuales". Esto implicaba que de alguna manera eran más grandes o más poderosos que los "Chatbots" existentes, o tal vez eran más conversacionales o podían abarcar una gama más amplia de temas.

Sin embargo, rápidamente descubrimos que al mercado no le importaba cuán poderoso era el "bot" o sobre la tecnología subyacente, siempre y cuando resolviera correctamente los problemas. Entonces, de alguna manera, muchos de estos términos diferentes para "bots" se volvieron más o menos sinónimos entre sí. No importaba como lo llamaramos, estaríamos recibiendo algo con lo que podríamos mantener una conversación. Ahora estamos en un punto en el que sabemos que, independientemente de cómo llamemos al "bot", existen patrones de uso y diferenciación que hacen que los "Chatbots" sean distintos.

Cuando hayamos realizado nuestra investigación y estemos a punto de comenzar a construir nuestro bot, pensemos cuidadosamente sobre qué problemas estamos tratando de resolver y qué funcionalidades queremos incorporar. Saber lo que quiere que su aplicación resuelva y ayude determinará el tipo de "Chatbots", asistente virtual o agente que debemos construir. Esto afectará tanto el plan de desarrollo como, lo que es más importante, la experiencia del usuario final. Los siguientes son los tres tipos principales de "Chatbots" con los que nos hemos encontrado, con antecedentes sobre sus usos y variaciones particulares.

1. "Chatbots" para soporte

Los "Chatbots" de soporte están diseñados para dominar un único dominio (valga la redundancia), como lo es el conocimiento sobre una empresa. Los "Chatbots" de soporte necesitan tener personalidad, ser capacidad de múltiples conversaciones anudadas (vueltas) y conocimiento del contexto. Deben poder guiar a un usuario a través de cualquier proceso empresarial importante y responder a una amplia gama de preguntas tipo de preguntas frecuentes. Querrá tener una solución combinada de fila corta y fila larga al construir este tipo de "Chatbots".

En IBM Watson, podemos usar el servicio "Watson Conversation" para las preguntas y procesos comunes de fila corta, y el servicio "Watson Discovery" para la fila larga, pero existen muchas soluciones potenciales para esto. El habla es una característica opcional, y no una necesidad, ya que los usuarios normalmente se han sentado en un escritorio y están listos para descubrir su solución.

El desarrollador de "Chatbots" querrá pasar la mayor parte del tiempo asegurándose de que sea lo más fácil posible navegar por el robot, asegurándose de que pueda ejecutar las acciones que a sus usuarios realmente les interesan por ejemplo, simplemente porque desea vender más tarjetas de crédito. No quiere decir que en todas las sesiones sus clientes le contactan solamente porque quieren abrir más cuentas de tarjetas de crédito.

2. "Chatbots" de habilidades

Los "Chatbots" de habilidades suelen ser más de un solo turno y que no requieren mucha conciencia contextual. Ejecutan comandos establecidos que están destinados a facilitar la vida: "Encienda las luces de mi sala de estar", por ejemplo. Obviamente la funcionalidad de voz se recomienda para este tipo de "chatbot", por lo que el usuario no necesita encender un dispositivo o hacer clic en ningún botón. Deben poder seguir los comandos rápidamente, para que los usuarios puedan hacer varias cosas al mismo tiempo al interactuar con el "bot".

Estos "Chatbots" no necesitan preocuparse demasiado por la conciencia contextual, a menos que desee diseñar uno especialmente avanzado, ya que las personas aprenderán rápidamente qué decir y lo dirán de manera adecuada. Es una buena ventaja si puedes dar un comando y tu "bot" sabe, para volver a nuestro ejemplo, que estás en la cocina y actúa para encender las luces correctas.

Sin embargo esta no es una función necesaria, ya que los usuarios aprenderán rápidamente a dar el comando específico apropiado. Al construir un "bot" de habilidades, es importante enfocarse en la integración, especialmente cuando se controla un hogar u objetos personalizados. Mantengamos la integración simple para que los usuarios puedan interactuar con el robot, sin preocuparse por cómo usarlo.

3. "Chatbots" asistentes

Los "Chatbots" asistentes son más o menos un término medio entre los dos bots anteriores. Funcionan mejor cuando saben un poco sobre una variedad de temas. Mucha gente imagina que estos "bots" algún día se convertirán en navegadores de todos los otros "bots" que hay ahora. ¿Quieres pagar una factura? Pídale a su "bot" asistente que hable con el "bot" de soporte de su banco.

Los "Chatbots" asistentes deben ser conversacionales y responder a casi cualquier cosa, a la vez que son lo más entretenidos posible. Siri es un buen ejemplo actual. Mientras que ella solo hace actividades aún limitadas a su entorno de ecosistema de producto, la gente continuamente le pide cosas simplemente porque incluso cuando no puede ejecutar el comando, la respuesta que da tiende a ser divertida.

Al construir un asistente de "Chatbot", es importante que sea lo más obvio e intuitivo posible, el cómo se entrena al robot. El rango de preguntas que un usuario puede hacer es grande, por lo que asegurarse de tener una cobertura adecuada será el factor más difícil. En muchos casos, cuando las personas no saben lo que deben preguntar, no preguntan nada en absoluto, y si se pierden con los pocos temas que inicialmente están dispuestos a probar, no volverán por más a usar al "Chatbot".

Aunque estos son los tres tipos más comunes, muchos robots en producción caen en algún lugar entre dos. Algunos son incluso una combinación de los tres. No importa qué tipo de bot decidamos construir, es importante darle a nuestro "bot" algo de vida y personalidad, hacerlo útil y asegurarse de que sea fácil de usar.

Las personas interactúan con los bots porque quieren hacer algo de forma más natural de lo que anteriormente era posible. Ya sea que sea algo simple como encender una luz o algo complejo como solicitar una hipoteca, cada patrón de necesidades y comportamiento tiene características específicas que lo destacan, así que asegurémonos de que nuestro "bot" brille intensamente en lo que está diseñado para hacer. Las posibilidades son infinitas.

¿Qué sigue?

Recomendamos leer las entradas  "Chatbots: Guía para Principiantes", "Debajo del capó de los Chatbots" y "Mejores prácticas con Chatbots: Comportamiento con los usuarios". de este Blog.

lunes, 28 de mayo de 2018

¿Cómo te preparas cuando el 85% de los trabajos de 2030 aún no se han creado?

-"¿Hasta el año 2030? Para eso falta mucho"- ¿En serio? Son sólo once años y medio. Sí. Once años y medio es justo a tiempo para que quienes actualmente están egresando de la educación primaria, puedan acceder a alguna fuente de trabajo. ¿Verdad que ya no es demasiado tiempo?

Una de las más grandes inquietudes que están poblando Redes Sociales, medios convencionales y demás medios con respecto a la Cuarta Revolución Industrial, es el "hecho" de que desaparecerán muchos puestos de trabajo.

Hasta el momento y tras analizar a detalle todos los argumentos (válidos y no tanto) con respecto a este futuro laboral distópico, los puestos que sí están por desaparecer o disminuir a su mínima expresión (y muy pronto), son aquellos en los que el Ser Humano se comporta como un vil robot. ¿Ejemplo? Personal de "Servicio a Clientes" de un Call Center. ¿Quién sustituirá a los Seres Humanos en esos puestos? La respuesta es: Los "Chatbots".

¿Qué es un "Chatbot"?, le recomendamos leer las entradas (en el mismo orden de aparición) "Chatbots: Guía para Principiantes", "Debajo del capó de los Chatbots" y "Mejores prácticas con Chatbots: Comportamiento con los usuarios".

Regresando al tema, Tamara McCleary, CEO de la firma de estrategias de marca Thulium, habló con TechRepublic en el Digital Business World Congress 2018 sobre la preparación de futuros profesionales para trabajos que aún no existen:

"...en el informe Realize 2030 de Dell Technologies, lo que me llamó la atención fue una estadística realmente asombrosa en el que muestra que el 85% de los trabajos en 2030, aún no se hab inventado.

Soy madre y algo que pienso cuando le pregunto a mis hijos": Oye, ¿qué quieres ser cuando seas grande? Con todo lo anterior, ahora esta es casi una pregunta ridícula porque, ¿cómo es posible que usted sepa lo que quiere ser cuando la mayoría de los trabajos cuando llegue allí no estén disponibles?

Esta es exactamente la razón por la cual creemos que nuestro mayor activo es nuestra capacidad de aprender, para poder planificar con anticipación tomando conocimiento del pasado y aplicándolo en un trabajo futuro que aún no se ha creado."-

La tecnología está evolucionando y, a medida que la tecnología evoluciona, es donde ocurrirán estas aperturas de otras posiciones en la fuerza de trabajo. No sabemos, solo decimos, por ejemplo, realidad aumentada, realidad virtual, realidades mixtas y realidades extendidas.

Debido a que todavía estamos en la fase de adolescentes en estas tecnologías, no tenemos idea de cómo van a ser a medida que maduren y luego qué tipo de oportunidades se van a abrir. Cuando piensas en todas estas tecnologías inmersivas y la explosión derivada de ello, creemos que la gente realmente se sentirá atraída a usarlas más.

Así que las redes sociales ya no serán una experiencia de pantalla plana, será una experiencia inmersiva y solo en ese sector. Ahora imaginemos todos los trabajos que se crearán a medida que la tecnología se vuelve más y más sofisticada. Así que es por eso que creemos que es nuestra capacidad de aprender y no el quedar atascados con argumentos como: -"Queremos ser esto y quiero serlo porque, quién sabe, puede ser lo que quiera ser y puede que ni siquiera esté aquí todavía"-.

En conclusión, como ya lo hemos mencionado en este medio y en conferencias relativas a la Cuarta Revolución Industrial, quienes no se han quedado de brazos cruzados, quienes se han dado a la tarea de evolucionar y aprovechar las nuevas oportunidades que han ofrecido las anteriores Revoluciones Industriales, son quienes al final encuentran (en ocasiones muy rápidamente) cabida en el nuevo esquema laboral.

Y si nos ponemos aún mas optimistas y estrictos, aún existen artesanos, artistas y gente que ofrece productos al estilo más antiguo, recibiendo por éstos pingües beneficios. ¿Qué nos dicen de quienes trabajan para Louis Vuiton, Channel, RollsRoyce, Ferrari y demás marcas en donde aún se valora y por mucho, el trabajo manual-artesanal.

Lo peor entonces es convertirse en un pesimista consumado, encegueciéndose y dejando pasar las oportunidades que ya son visibles, para las siguientes dos o tres décadas de este Siglo XXI.

miércoles, 23 de mayo de 2018

Mejores prácticas con Chatbots: Comportamiento con los usuarios

Este es el tercero de nuestra serie en chatbots. En esta entrega veremos los mejores y los que no se deben hacer según lo descrito por varios desarrolladores exitosos de chatbots.

En nuestra primer entrada "Chatbots. Guía para principiantes", cubrimos los conceptos básicos del chatbot, incluyendo su breve historia tecnológica, usos, opciones de diseño básico, y donde el aprendizaje profundo entra en juego. La segunda entrada "Debajo del Capó de los Chatbots", se centró en los frontales universales del Reconocimiento del Lenguaje Natural (Natural Language Understanding o NLU) para todos los chatbots, así como algunas de las definiciones técnicas y detalles de programación necesarios para comprender cómo funcionan realmente.

En esta entrada, hemos buscado en Internet consejos de desarrolladores de chatbot exitosos para proporcionar algunas de las mejores prácticas útiles, o al menos algunos consejos valiosos sobre qué hacer y qué no hacer.

No se trata de Chatbots. Se trata de la experiencia del usuario

Al usuario no le importa que tengas un chatbot. No les importa si detrás de éste hay Inteligencia Artificial o si pueden hablarles. Solo les importa que resuelva sus necesidades de la forma más rápida, sencilla y confiable en comparación con otras opciones.

La regla de dos pasos: en general, si su usuario tiene que realizar más de dos pasos en su Interfaces de Usuario (User Interfaces o UI), los chatbots se convierten en un beneficio. Cuantos más pasos de UI reemplacen, como esos horribles menús dentro de menús, más contundente es el éxito de un chatbot.

Pero ten cuidado: si la cantidad de información que devuelven es demasiado grande o demasiado compleja, entonces pasamos de la sartén al fuego. "No envíe un chatbot para hacer el trabajo de una página web".

Tal vez es buena idea mezclar botones e Interfaces Gráficas de Usuario, con su Chatbot

Sorprendentemente, hay un desacuerdo bastante enérgico sobre si estos dos tipos de Interfaces de Usuario deben mezclarse. El acuerdo es que los mejores chatbots no confían demasiado en listas e Interfaces Gráficas de Usuario. En general dependerá de lo que intentemos lograr.

Lo principal es que la interacción del usuario con su chatbot no sea confusa. Cuando Facebook lanzó su plataforma Messenger, incluso sugirió que los desarrolladores debían desmantelar la interacción tanto como fuera posible, e ir directo al grano poniendo las características más importantes en los menús. Es un equilibrio entre claridad y la confusión.

Los botones pueden aclarar intenciones: el primer argumento a favor tiene que ver con botones y listas muy temprano en la interacción con el usuario. Si tu bot está diseñado para hacer tres o cuatro cosas específicas y nada más, entonces puede ser un buen diseño presentar esas opciones como botones. Esto ayuda a comunicarle al usuario cuáles son los límites del bot, así como eliminar el texto superfluo o las solicitudes de voz para las cosas que no están cubiertas. Desde una perspectiva técnica, hace que la intención y la acción sean perfectamente claras.

Las Interfaces Gráficas de Usuario pueden ayudar cuando las opciones son muchas: supongamos que está utilizando un chatbot para reservar una película o un asiento en un vuelo. Ya hablamos o enviamos mensajes de texto a través de la fecha, el itinerario, el tiempo de vuelo y la clase. Ahora es el momento de seleccionar un asiento. Estoamos de acuerdo con el razonamiento que dice que una Interfaces Gráficas de Usuario es mejor aquí ya que, por ejemplo, puedes ver qué tan lejos estamos de una salida o si estamos al lado del baño.

El valor de la aparición de chatbots es que los humanos son fundamentalmente sociales y están acostumbrados a conversar en el lenguaje para expresar sus necesidades. Esto hace que los chatbots se ajusten bien. Los bots que manejan de manera excesiva los menús, pueden parecer estáticos e inflexibles, perdiendo la parte fundamental de la conversación.

Menús probablemente demasiado persistentes

Si su plataforma permite menús, entonces una mejor práctica ampliamente aceptada es que siempre debe haber un menú persistente que pueda llevar al usuario de vuelta al sitio web o la aplicación, y específicamente que ofrezca una rampa de acceso a un ser humano.

Esos primeros pocos segundos con el usuario son importantes

Estos primeros segundos son tan valiosos que los desarrolladores le dieron un nombre: "abordaje". Existe un amplio acuerdo de que hay tres cosas que debe decirle a su usuario de inmediato:

  1. Deja en claro que están hablando con un bot.
  2. Asegúrese de que el usuario sepa cómo salir hacia un humano. Casi invariablemente, los usuarios intentarán hacer que su bot haga algo para lo que no fue diseñado. Chatbots recibe una gran variedad de solicitudes que simplemente no tienen ningún sentido para el robot, independientemente de la NLU.
  3. Dígales a los usuarios específicamente qué puede hacer el robot.

Dean Withey en Ubisend dice que han tenido una suerte especial cuando el primer mensaje obliga al usuario a tomar una decisión y da este ejemplo:

"Hola, soy un chatbot de servicio al cliente, puedo ayudarte a administrar tu cuenta, consultar tus pedidos y cambiar tu reserva. Si quieres hacer algo de esto solo responde con hola. Si quieres hablar con un humano, responde con la palabra HUMANO y alguien le atenderá".

El Chatbot necesita una personalidad

Aquí está el desafío. Enseñemos a un grupo de programadores muy talentosos a tener excelentes conversaciones interpersonales. Anteriormente notamos que Gartner estima que para 2020, un 10% de los nuevos empleados de TI escribirán estos guiones. La redacción publicitaria puede convertirse en la próxima gran habilidad requerida de TI.

La personalidad del robot debe reflejar su "Voz de marca" en todos los aspectos. El arte es encontrar ese equilibrio entre ser amigos, pero no ser demasiado informal. Por supuesto, los chatbots deberían hablar como una persona y NLU ayudará con eso, pero los detalles de si son "saludos", un simple "hola" o "hola amigo" son estos temas que se vuelven necesarios y por ende importante pensar acerca de éstos.

Por supuesto, la personalidad no es solo elección de palabras. Más allá de eso, se define por el estado de ánimo que creas, el tono y el estilo que configuras y por supuesto, la experiencia directa del usuario con el bot. Al considerar este desafío, puede ser útil pensar en términos del modelo clásico de personalidad de cinco factores:

  • Afabilidad (amigable / compasivo vs. analítico / desapegado)
  • Conciencia (eficiente / organizado vs fácil / descuidado)
  • Neuroticismo (sensible / nervioso frente a seguro / seguro)
  • Extraversión (saliente / enérgico vs solitario / reservado)
  • Apertura (inventivo / curioso frente a consistente / cauteloso)

Hay que alinear el dominio y la personalidad donde sea posible. Dado que usted está a cargo tanto de la "voz" como del avatar visual (si hay uno) que representa su marca, es posible que desee pensar en alinearlos. Si el dominio es una sesión de terapia, entonces la alineación visual y "vocal" del bot podría ser parecerse y sonar como un terapeuta. Si vende suministros para mascotas, podría ser un cachorro o gatito juguetón (pero útil). Si tiene un sitio de comercio electrónico donde la información importante es la disponibilidad del producto, el tamaño y el estado del pedido, entonces sería mejor tener una personalidad que se alinee con sus clientes, que sea empático(a). La alineación no siempre está disponible, pero cuando lo es puede mejorar la experiencia.

La prueba de agradecimiento: esta es quizás la última prueba. La gente sabe que es un robot, pero aún siente la necesidad de decir "gracias".

Siempre tener una vía de escape

Nunca permita que su usuario se sienta frustrado con su chatbot. Al principio hablamos sobre tener menús persistentes que siempre incluyen un comando de "hablar con humanos" para salir rápido. Otro tipo de escape es la respuesta de "retroceso". Es decir, si su bot ha solicitado una aclaración de la solicitud de un usuario más de dos veces (elija su propio múltiplo aquí), entonces dé una respuesta como "Lo siento, no entendí". Déjame poner a un humano en la línea por ti ".

Evite la confusión del usuario: diseñe para realizar acciones e intentos claros

Quizás un título mejor para esta sección sea 'probar-probar-probar'. Una pequeña revisión de los registros de conversación después de haber lanzado su chatbot en el mundo, revelará rápidamente dónde se deben aclarar las opciones o dónde se pueden necesitar ramas adicionales en el diálogo. En el ejemplo bot del clima, nuestro chatbot necesita saber la ciudad y la fecha. Si no se ingresan, podemos suponer 'hoy' y 'ubicación actual'. Las pruebas revelarán si esto es suficientemente explícito.

Se requiere cierta información: es posible que desee considerar que la información crítica sea una entrada obligatoria, como la "fecha de entrada" para las reservas de habitaciones.

No permita que su Chatbot aprenda o use un lenguaje incorrecto

Recuerde que la función de NLU hace posible que el sistema continúe aprendiendo de su lista de inicio "Usuario dice". Bueno, puede apagarlo y simplemente confiar en las frases ingresadas a mano que deben coincidir, pero la mayoría de nosotros lo dejaremos.

Ahora recuerde el Tay de Microsoft, el chatbot de 2016 que se le enseñó maliciosamente a lanzar chistes abiertamente sexuales de antisemitas nazis en un lapso de tan solo 18 horas por parte de algunos malos actores. Ahora imagina qué pasaría con su imagen si eso le sucediera a Usted.

Muchas veces hay puntos en una rama de diálogo donde el bot será instruido para repetir las últimas palabras o frases provistas por el usuario. No querrá que esas palabras sean ofensivas, así como tampoco sí los usuarios intentarán que el chatbot diga esas cosas.

Si bien no existe una forma perfecta de hacerlo, existen funciones en diferentes plataformas que permiten definir palabras ofensivas específicas. Por ejemplo, podemos encontrar en GitHub un filtro de palabras que contiene una lista de "malas palabras", que se extiende a una variedad de tipos de habla ofensiva, incluyendo temas racistas, sexistas y procaces que nunca le diríamos a un usuario (https://github.com/dariusk/wordfilter).

Si usa este filtro en particular, tenga en cuenta no seleccionar palabras escatológicas que puedan o no ser agregadas. No es perfecto y puede que realmente elimine las palabras que quiere permitir, así que asegúrese de revisar la documentación de cualquier filtro que use.

Algunas aplicaciones también permiten una "lista blanca" de palabras. Curiosamente, al principio pueden parecer ofensivas pero por ejemplo, se usan para permitir explícitamente palabras que denotan enojo. Sí, sus usuarios ocasionalmente pueden estar enojados y necesitarán poder expresarlo. Un buen plan es que una respuesta enojada como "#*@&% cállate y vete", automáticamente se active para "hablar con un representante" por defecto.

Protecciones contra entradas inseguras

Del mismo modo que lo filtró para obtener resultados desagradables, también querrá un módulo que evite la entrada no deseada, como la ejecución de código extraño (sí, de por hecho que habrá usuarios que intentarán esto). Piénselo de esta manera, ¿cómo evita que sus usuarios ingresen código malicioso de Python en un campo de entrada?

Para los bots de Twitter, esto significa no "DMing" o "@-messaging" a otros usuarios. Para los robots Slack, debemos limitar los permisos asignados al bot para evitar que emita comandos.

Un buen primer paso es eliminar los caracteres potencialmente peligrosos como "@" o "#" que son significativos en Twitter.

Los expertos en seguridad le dirán correctamente que no hay forma de asegurar por completo su chatbot, pero téngalo en cuenta e inténtelo.

Privacidad, GDPR y otras cosas legales

Esto no aparece en muchas listas, pero probablemente lo haga pronto. Ciertamente, a partir de que las reglas en el Reglamento General de Protección de Datos (General Data Protection Regulation o GDPR) de la Unión Europea se han vuelto efectivas a partir del mes de mayo de 2018, todos debemos pensar en la privacidad y evitar problemas. Los chatbots tendrán que incluir términos y condiciones claros de aceptación y documentación de privacidad.

Las personas que han pensado profundamente sobre esto sugieren que hay tres enfoques:

Optativa pasiva: presente una declaración en el primer o segundo mensaje, como "Al hablar conmigo, acepta nuestros términos y condiciones y política de privacidad" y haga que se pueda hacer clic en este enlace.

Basado en el esfuerzo: envíe un mensaje completamente separado con dos botones, uno "Sí" o "De acuerdo", y el otro "No".

Uso pasivo de un enlace de menú persistente: agregue un enlace de menú a los términos y condiciones y la política de privacidad. Probablemente desee combinar con el procedimiento de suscripción pasiva para estar seguro.

Sí, cuanto más esfuerzo requiramos de los usuarios, más probabilidades hay de que abandonen la conversación. Pero al menos sabrá que están aún más comprometidos si proceden.

En resumen:

Al día de hoy, no existe una lista definitiva de mejores prácticas para chatbots. Estos fueron todos extraídos de los textos de desarrolladores exitosos de chatbot o proveedores de plataformas, todos ellos verosímiles y lógicos. Al igual que muchas otras cosas en la ciencia de datos que evolucionan rápidamente, querrá vigilar esto para nuevos desarrollos mes a mes.

¿Su empresa u organización ya cuenta con chatbots para Servicio a Clientes?

martes, 22 de mayo de 2018

Debajo del capó de los Chatbots

Esta es la segunda entrega en nuestra serie que habla de los chatbots. Aquí exploramos Reconocimiento del Lenguaje Natural (Natural Language Understanding o NLU), que es la parte frontal de todos los chatbots. Analizaremos la programación necesaria para crear reglas basadas en chatbots, y luego analizaremos el uso de algoritmos de Aprendizaje Profundo que son la base de los chatbots habilitados para Inteligencia Artificial.

En la entrada anterior: "Chatbots. Guía para principiantes", cubrimos los conceptos básicos, incluida su breve historia tecnológica, usos, opciones de diseño básico y donde entra en juego el Aprendizaje Profundo.

En esta entrada, exploraremos con más profundidad cómo la Comprensión del Lenguaje Natural (NLU) basada en redes neuronales profundas RNN/LSTM permite tanto el chatb basado en reglas como el AI. Veremos el método, la lógica, las elecciones de diseño y los componentes programáticos que están en funcionamiento en chatbots basados en reglas. Finalmente, veremos el uso de las Redes Neuronales Recurrentes (RNN) y loas Grandes Memorias a Corto Plazo (LSTM) para generar respuestas largas, e incluso llevar a cabo conversaciones aparentemente sofisticadas que cruzan el umbral de la Prueba de Turing.

Comprensión del lenguaje natural: el front-end para todos los chatbots

Puede que esté más acostumbrado a escuchar sobre NLP (Procesamiento de Lenguaje Natural), pero con chatbots estamos mucho más interesados ​​en el subconjunto dentro de NLP llamada NLU (Natural Language Understanding). Es la capacidad de la máquina para comprender el texto o el habla humanos, extrayendo el significado correcto a pesar de los problemas de acentos, errores de ortografía, pronunciación o simplemente una forma extraña de frasear la entrada.

Afortunadamente, no tiene que construir la NLU desde cero, ya que todas las principales plataformas de desarrollo tienen una integrada. Pueden ser modelos propietarios de alto nivel como Amazon o IBM, o la variedad de código abierto que se encuentra en las bibliotecas de máquina, como la Core NLP Suite de Stanford, Natural Language Toolkit (NLTK), Apache Open NLP, o spaCy entre otros.

Si bien las rutinas de NLU hacen muchas cosas, las que son particularmente importantes en el soporte de chatbots son las siguientes:

Reconocimiento de entidades nombradas: identificación de categorías de palabras como el nombre de una persona, un producto, una fecha o una dirección.

Normalización: intenta dar cuenta de errores de ortografía, errores tipográficos o pronunciaciones diferentes.

Etiquetado de partes del habla: identifica las partes del habla como sustantivos, verbos y adjetivos como la base para comprender la estructura de la oración y cómo afectará el significado.

Análisis de dependencias: identificación de sujetos, objetos, acciones y similares para encontrar frases dependientes.

Los paquetes de NLU no habrán sido entrenados en los nombres propios, eventos, lugares o incluso acrónimos que sean únicos para diferentes negocios. En algunos casos, puede ser necesario agregar diccionarios y ontologías específicas del dominio, para permitir que la NLU interprete correctamente cómo deben entenderse estas palabras y frases únicas.

Sin embargo, muchas NLU se pueden capacitar o adiestrar sobre la marcha con una tecnología incorporada llamada Comunicación en Foco (CIF). CIF desarrolla lo que se denomina Discriminadores de Contexto (CD) al reducir las oraciones complejas o aquellas que contienen palabras desconocidas, en grupos de palabras cortas comparándolas con "vecinos semánticos" compuestos por contexto y puntos de vista sobre los sujetos en las oraciones.

La comparación de los nuevos CD con los anteriores, produce derivados de orden superior que le permiten a la NLU interpretar las relaciones de entidad entre sujetos previamente desconocidos.

Hay otras cosas útiles que la NLU puede agregar al proceso como el Análisis de Sentimientos. Una NLU previamente capacitada generalmente puede detectar lo suficiente sobre el tono de la conversación, para saber si el usuario está teniendo una buena experiencia o si el chatbot debe reenviar la conversación a un operador de respaldo humano.

Construyendo un chatbot basado en reglas de respuesta programada

El objetivo del diseño en la construcción de un chatbot basado en reglas, es describir en detalle todas las preguntas posibles, información aclaratoria y respuestas o acciones que pretenda que su chatbot pueda manejar. Eso puede ser un montón de detalles y una buena razón para mantener su dominio de conocimiento estrecho. NLU se encargará de las palabras con significados similares o diferentes formas de expresar la solicitud, pero eso aún deja mucho trabajo por hacer.

A pesar de este trabajo inicial, las reglas siguen siendo la forma más rápida y fácil de crear un chatbot. Para el desarrollador que claramente necesita un equipo que incluya una o más PYMES, el proceso no es particularmente rápido ni fácil, pero es menos complejo que construir un robot con Inteligencia Artificial.

Esta categoría de chatbot está creciendo tan rápidamente que Gartner pronosticó recientemente que para 2020, un 10% de los nuevos empleados de TI estarían escribiendo estos "scripts".

Este tipo de scripting comúnmente se llama "cascada", ya que es un proceso de diseño secuencial en el cual las fases más altas (anteriores) de la cascada, llenan piscinas de nivel inferior de la que también pueden fluir una dentro de la otra. La descripción preferida de este proceso es "árbol de decisión", que es más descriptivo y más familiar para las audiencias que vienen de Ciencia de Datos.

Podemos construir un chatbot desde cualquier código en bruto de nuestra preferencia, pero el curso de acción mucho más fácil es usar una de las muchas plataformas de chatbot que han surgido. Estas ofrecen marcos paso a paso para todos los componentes necesarios que deberá definir.

Es posible que aún necesitemos agregar líneas de código en estas plataformas, por ejemplo, para describir la fuente de datos externos y cómo acceder a esa información. Otra alternativa es seguir y ejecutar los pasos necesarios para una acción como 'hacer una cita'. Muchas plataformas tienen módulos preconstruidos para acciones como "concertar una cita" que pueden personalizarse. Aunque esto no es exactamente arrastrar y soltar, no tendrá que aprender los pormenores de NLP. Estas plataformas lo guían a través de un proceso paso a paso para recopilar la información NLU necesaria, a medida que avanza y luego proporciona un entorno para las pruebas antes de la implementación.

Agentes - Propósitos - Entidades - Flujos de Diálogo

Agentes, propósitos, entidades y flujos de diálogo son los componentes básicos de su chatbot. Esto no pretende ser una inmersión profunda en el tema, sino algo para entender estos términos y cómo se relacionan.

Agente: Es tu chatbot que puede tener múltiples Agentes subyacentes con diferentes objetivos, pero un solo Agente principal que refleja solo las tareas específicas y el conocimiento limitado que tiene previsto. Es posible que tenga un agente que le proporcione datos del clima, otro que programe una cita u otro que responda a una queja de servicio al cliente. Si bien es posible poner estos tres objetivos en un solo agente, sería difícil de manejar en el mejor de los casos. Entonces su agente define pormenorizadamente todas las cosas que quiere que este chatbot específico pueda hacer.

Las definiciones que componen el chatbot se basan en Propósitos (Intents), Entidades (Entities) y Flujo de Diálogo (Dialog Flow).

Propósito: Asignar algo "dicho por el Usuario" a una "Acción" determinada.

Lo primero que le pedirá su plataforma son Propósitos (Intents). Los propósitos son un relacionamiento uno a uno, entre la solicitud de idioma natural del usuario VS las acciones que debe tomar su robot de conversación.

Piense en esto como detección de intención. El primer paso es, por lo general, asignar "Usuario dice" a una "Acción".

Si su chatbot es bastante limitado, por ejemplo, informando sobre el clima en una ciudad en particular en un día en particular, la lista de posibles afirmaciones de "Usuario dice" también es bastante estrecha. Por ejempo: ¿Cuál es el clima en (ciudad x) (el próximo viernes)?

Sin embargo, si está creando un chatbot de servicio al cliente, es probable que las solicitudes de lenguaje natural del usuario sean mucho más variadas. Debe completar un conjunto de ejemplos que represente lo que el usuario podría decir. No es necesario pensar en todos ellos ya que la NLU usará sus ejemplos para entrenarse para declaraciones de usuario similares, pero cuantas más, mejor.

Supongamos que en su proceso de servicio al cliente, generalmente reconoce tres tipos de solicitudes: quejas, devoluciones y todo lo demás. (Los siguientes ejemplos se extraen del blog de IBM "Watson Build-a-chatbot").

Entonces, para las quejas, puede ingresar ejemplos como:

  • ¿Puedo obtener ayuda?
  • Necesito esto arreglado
  • Tengo un problema.
  • Deseo registrar una queja.
  • Por favor, ayúdame.
  • Algo esta mal.

Para las devoluciones, puede ingresar ejemplos como:

  • Intercambiar.
  • Ya no quiero esto.
  • Quisiera regresar esto.
  • Necesito que retires esto.
  • Quiero mi dinero de vuelta.
  • Por favor tome esto de vuelta.
  • Este loro está muerto. Necesito devolverlo.

Para la categoría "todo lo demás", puede dejar volar su imaginación ya que está entrenando a la NLU para que reconozca que no es una queja o devolución. Puede divertirse con esta categoría.

  • Un poco de esto, un poco de aquello.
  • Plátano.
  • Paseador de perros.
  • El fútbol es bueno.
  • Desearía ser un pez.
  • ¿Dónde estoy?

De hecho, los usuarios pueden hacer solicitudes que contengan múltiples intenciones en el mismo mensaje, por lo que es posible asignar prioridades a diferentes intenciones así como a intentos de retroceso.

Se podría utilizar un intento de "repliegue" si su chatbot no puede identificar el intento y es posible que deba solicitar una aclaración como: "No lo entendí. ¿Podría aclarar su solicitud?". Otra opción sería la de diseñar su chatbot para simplemente referir al cliente a una Corporate Social Responsibility (CSR) humana, si el chatbot no puede entender la intención: -"...déjeme transferirlo a un agente."-

Acciones

Basado en el relacionamiento de intención, su chatbot ahora comprenderá que es necesario tomar una o más acciones. Si son simples como el ejemplo del clima o "concierte una cita", es posible que pueda personalizar los módulos preconstruidos. Sin embargo, sus acciones pueden ser tan complejas como desee, lo que requerirá una codificación personalizada.

Por ejemplo, una queja puede ser respondida por un mensaje de texto o una respuesta verbal en la que se requiere buscar el pedido del cliente e incluirlo como parte del detalle de la respuesta.
También puede proporcionar directamente o por correo electrónico un formulario de devolución prellenado, ofreciendo algunas instrucciones sobre el procedimiento y la política de devolución.
En un caso mucho más complejo, podría buscar inventario disponible para ver si un artículo de reemplazo (por ejemplo de diferente tamaño o color) está disponible de inmediato y ofrecerlo como reemplazo para evitar una devolución.

Contextos

Las plataformas de chatbot también ofrecen un método de grabación de información previa, que podría ser necesaria para comprender mejor el propósito real de la solicitud actual.

Por ejemplo, si un usuario está escuchando música y encuentra una canción que le gusta, puede ingresar "muéstrame más canciones semejantes". El contexto habrá almacenado el título de la canción, género, categoría, artista y otra información para que pueda interpretar la solicitud en relación con la última canción escuchada.

Del mismo modo, si se trata de un dispositivo doméstico inteligente y el primer comando de voz fue "encender las luces de la sala de estar", seguido de "apagarlas", el contexto permitirá que el chatbot comprenda que son las luces de la sala las que están siendo operadas.

Entidades

Las entidades son objetos del mundo real como productos, personas, lugares, fechas, horas, distancia y nombres de categoría, entre otros. Las NLU pueden extraer los valores de los parámetros de la solicitud del usuario buscando entidades, algunas de las cuales serán definidas por el sistema, pero muchas de las cuales serán definidas por nosotros durante el proceso de programación.

Las entidades también pueden ser condicionales para definir un filtro como "precio más bajo" o "abierto ahora". Algunas entidades, como la fecha, hora o la distancia, generalmente están integradas en el sistema y no necesitan ser definidas por separado. Sin embargo, nombres y tipos de productos tendrían que ser ingresados y actualizados.

Flujo de Diálogo

El flujo de diálogo es el área de la lógica y el arte. ¿Desea que el diálogo de Chabot parezca natural y coloquial? ¿También que el diálogo del Chabot sea lógico, que conduzca a la satisfacción del usuario en los pocos pasos posibles?

Muchos chatbots se pueden construir con diálogos lineales simples, pero muchos requerirán diálogos no lineales o ramificados. Los no lineales pueden ser necesarios en muchos casos, por ejemplo:

  • Si su chatbot está realizando una encuesta de satisfacción del cliente y le pide al usuario que califique su experiencia como excelente, buena, regular o deficiente, es probable que las siguientes preguntas que plantee sean diferentes para cada categoría y se requiere una bifurcación.
  • Si su chatbot no entendió la solicitud, puede tener varios bucles de conversación diferentes que planteará el chatbot, para aclarar el intento del usuario y la acción requerida.

Una rama que casi siempre está presente es la referencia a un agente en vivo. Esto sucede cuando el chatbot no puede entender la intención o no tiene suficiente información para responder, así como si el usuario dice una palabra clave como 'agente'. En algunos casos, el análisis del sentimiento de NLU puede detectar que el usuario se está frustrando o enfadado y puede crear una salida a un agente humano cuando se detecta esto.

Construyendo Chatbots basados en Aprendizaje Profundo, derivado de Inteligencia Artificial

En nuestro primer artículo describimos cómo los Chatbots generados por Inteligencia Artificial se están introduciendo basados ​​en arquitecturas RNN/LSTM, que pueden incorporar oraciones complejas y largas, retener el contexto y proporcionar respuestas largas o en varias partes. Todo esto ocurre sin que un programador tenga que definir intenciones, acciones, respuestas, entidades o flujo de diálogo. ¿Qué no hay Inteligencia Artificial de por medio?

Esta puede ser la ola del futuro, pero recién ahora está comenzando. Mencionamos el reciente anuncio de Andrew Ng de Woebot, un chatbot capaz de consejería psicológica para la depresión.

Otro ejemplo instructivo fue discutido en un documento de investigación: "Un modelo conversacional neural" por dos investigadores de Google el año pasado. Su objetivo era crear un chatbot que pudiera conversar con los usuarios para resolver preguntas difíciles de soporte de TI. Dos puntos importantes provienen de esta experiencia.

Al igual que todos los modelos de Redes Neuronales Convolucionales (CNN) y Redes Neuronales Recurrentes (RNN), necesita una gran cantidad de datos para entrenar. Afortunadamente, había una gran cantidad de registros de la mesa de ayuda de la computadora en los que se podía entrenar y que contenían años de historia sobre diferentes problemas y sus soluciones.

Recuerde que dijimos que todos los chatbots requerían un dominio razonablemente cerrado. Los problemas de la mesa de ayuda de computadora pueden ser un dominio muy grande, pero esencialmente está cerrado y la base de conocimiento podría definirse mediante los registros de soporte anteriores.

La segunda y más divertida característica es que los investigadores necesitaron enseñar a su Generador de Chatbots a hablar inglés coloquial. Por lo tanto, además de capacitarse en la base de conocimientos técnicos, también lo capacitaron en un conjunto de datos públicos de 2.000 reproducciones de pantalla, de las cuales aprendió inglés coloquial moderno.

El resultado fue reportado como bastante exitoso con el sistema capaz de asimilar el lenguaje hablado complejo de varias partes, determinando correctamente la intención y la causa. También podría responder en una conversación compleja y de varias partes para que el usuario pueda hacer interjecciones, o pedir aclaraciones si un paso correctivo particular no se entendió o si fue demasiado complejo.

Sí. Hoy hay ejemplos de chatbots generativos, pero este es principalmente el dominio de los chatbots por venir. Mientras tanto, el camino hacia los chatbots basados ​​en reglas está bien desarrollado, aunque sea nuevo y esté listo para su proyecto.

¿Seguimos? Espere la siguiente entrada del tema.

Chatbots. Guía para principiantes

Esta es la primera de una serie sobre Chatbots. En esta primera entrega, cubrimos los conceptos básicos que incluyen su breve historia tecnológica, usos, opciones de diseño básico y donde el aprendizaje profundo entra en juego. En artículos posteriores, describiremos con más detalle cómo están realmente programados y qué hacer y qué no hacer.

De acuerdo con Chatbot.org, actualmente hay 1,331 chatbots activos en el mundo. Eso es mucho para una tecnología que no existía hace dos o tres años.

  • 20% están en los EE. UU., 45% están en Europa Occidental y el Reino Unido, y aproximadamente 1% están en China.
  • Admiten la entrada en 31 idiomas. (Tenga en cuenta que algunas plataformas de desarrollo de chatbot admiten hasta 50 idiomas).
  • Los temas de consumo más populares son: finanzas y legales, 10%, y educación, aprendizaje y búsqueda, 6%, entre 27 categorías distintas, incluido el erótico 1%.
  • 96% de reconocimiento de texto de apoyo, 3% de reconocimiento de voz, 1% de reconocimiento de gestos.

No sabemos cuánto tiempo Chatbot.org podrá seguir indexando todos los chatbots, pero probablemente no por mucho tiempo dado su crecimiento explosivo. Los chatbots se están convirtiendo rápidamente en la interfaz de usuario de elección, y serán la forma dominante de comunicar nuestra necesidad de información y servicios con todo tipo de aplicaciones.

¿Qué es exactamente un Chatbot?

Para ser claros al nivel más simple, un chatbot es un servicio de software que permite a los usuarios tener una conversación en lenguaje natural en texto o voz, para devolver información o una acción.

Incluso los chatbots más simples son capaces de múltiples pasos de conversación, aunque algunas consultas pueden responderse con una sola respuesta (¿lloverá en Boston mañana?). Muchos están diseñados para tener una "conversación" estructurada o incluso no estructurada con el usuario, que busca aclaraciones adicionales y profundización para proporcionar más información o acción, sobre la información o el servicio solicitado (¿Se ha enviado mi paquete? ¿Cuándo llegará? Por favor envíeme un mensaje cuando ha sido entregado?).

En resumen, el chatbot debe proporcionar información es solo parte de su capacidad. Acciones como programar una cita o reservar un vuelo también son comunes para la categoría generalmente llamada asistentes personales.

Viendo hacia adelante

En diseño, la gran mayoría de los chatbots de hoy están impulsados por reglas y estructuras integradas por el programador. Sin embargo, la dirección del desarrollo es tener respuestas creadas a través de Inteligencia Artificial. Esto hace que los chatbots avanzados sean semi-autónomos y capaces de conversaciones largas, incluidas algunas áreas muy subjetivas como el asesoramiento psicológico (Andrew Ng anunció recientemente el lanzamiento de Woebot de Facebook, un chatbot que brinda asesoramiento psicológico individual para la depresión) o recomienda cómo para administrar mejor tu dinero.

Un poco de historia de una breve historia

Mientras que algunas personas señalarán desde chatbot Eliza a mediados de los años 60 o Clippy de MS Office97 de Microsoft, el hecho es que nuestra capacidad de procesar lenguaje natural con precisión comercialmente aceptable languideció por debajo del rango del 90% hasta 2015.

Fue en ese año que nuestro hardware y nuestro desarrollo de redes neuronales recurrentes con Grandes Memorias a Corto Plazo (Long Short Term Memory o LSTM) finalmente se rompió con una precisión del 95% al ​​99%. No es coincidencia que esto marque el lanzamiento de Alexa, Cortana, Siri y el Asistente de Google para nombrar solo a los más conocidos.

De acuerdo con una encuesta de más de 300 compañías que abarca desde pequeñas hasta grandes, realizadas a principios de 2017 por Mindbowser y Chatbots Journal:

  • El 25% de las empresas se enteró por primera vez de los chatbots en 2015.
  • El 60% de las empresas se enteró por primera vez de los chatbots en 2016.
  • El 54% de los desarrolladores trabajó por primera vez en chatbots en 2016.
  • 75% destinado a construir un chatbot en 2017.

Gartner cree que todavía estamos en una curva ascendente para los chatbots. Sin embargo, todos los principales proveedores de redes o redes sociales, incluidos Amazon, Google, IBM, Facebook, Microsoft, Slack, Twitter, Whatsapp, WeChat y una gran cantidad de independientes, ofrecen Kits de Desarrollo de Software (SDKs por sus siglas en inglés) fáciles de usar para desarrollar chatbots. El campo está evolucionando rápidamente tanto en términos de tecnología como de adopción. El servicio al cliente, las ventas, la mercadotecnia, el procesamiento de pedidos, las redes sociales, los pagos y la contratación son los principales objetivos con muchos más por venir.

Dos arquitecturas distintas para Chatbots

Hay dos arquitecturas distintas de chatbots que existen en la actualidad.

Chatbots de reglas: más del 90% de los chatbots existentes y la mayoría de los que se crearán en los próximos años, pertenecen a esta categoría de chatbots según las reglas programadas. Son relativamente simples y rápidos de construir, con estructuras lógicas de árbol de decisión o cascada de consultas y respuestas predefinidas. Si están bien diseñados, pueden manejar más del 95% de las consultas y deben tener un escape a un representante humano cuando fallen. La mayoría son mensajes de texto entrantes y salientes.


Chatbots de Inteligencia Artificial: estos chatbots usan motores de Aprendizaje Profundo para formular respuestas. No tienen estructuras rígidamente definidas y pueden aprender de su experiencia después de un entrenamiento inicial. Solo los chatbots en esta categoría son capaces de manejar entradas de conversación complejas y proporcionar salidas conversacionales de larga duración.


Es un poco engañoso decir que solo el segundo tipo depende de la Inteligencia Artificial (IA), ya que todos los chatbots confían en los motores de Comprensión del Lenguaje Natural (NLU) en su parte frontal, que se han desarrollado utilizando modelos de aprendizaje profundo Redes Neuronales Recurrentes (RNN)/Grandes Memorias a Corto Plazo (LSTM).

Para completar, si desea que su chatbot reciba o entregue respuestas habladas, necesitamos agregar algunos componentes. También mostraremos de dónde provienen los datos.


Si desea que su chatbot responda a la voz, deberá darle un comando de "despertar". Si solo es texto, entonces enviar el texto que se requiera para "despertar".

En los sistemas de voz, hay un componente adicional para el motor para Reconocimiento del Lenguaje Natural (Natural Language Understanding o NLU) que convierte la voz en texto y viceversa.

En los sistemas basados ​​en reglas o basados ​​en Inteligencia Artificial, deberá proporcionar los datos de respuesta de los sistemas internos o fuentes de datos externos, como estaciones meteorológicas.

También puede usar análisis predictivos precompilados, de la misma manera que en los sistemas de transmisión para hacer predicciones. Por ejemplo: '¿Cuántos días hay disponible el suministro de la parte X?', o por ejemplo '¿Cuándo llegará mi paquete?', o también 'No es probable que los envíos de pedidos lleguen a la fecha límite'. Por supuesto, si las respuestas son demasiado largas o detalladas como en la tercera pregunta de muestra, es mejor que construyas una página web o un tablero. Los chatbots están destinados a crear comodidad y acelerar las cosas, no a tomar el lugar de las páginas web.

Al decidir qué diseño usar, pruebe esta simple matriz de 2 X 2:


Conversaciones largas o cortas: si quiere que su chatbot pueda manejar una conversación extendida con muchas variables, entonces se debe usar el modelo generativo con Inteligencia Artificial. Un ejemplo podría ser: "¿Cuáles son todas mis opciones de vuelo (dentro de los siguientes dos o tres días) entre (Ciudad A y Ciudad B) en donde pueda obtener una clase ejecutiva? ¿Y cuál ofrece la tarifa de clase de negocios menos costosa?"

Las conversaciones cortas pueden ser comandos como "programar una reunión para xx ", o" quiero devolver esta compra",  lo que puede requerir varios pasos, pero cada uno requiere probablemente solo una breve búsqueda y referencia a reglas preestablecidas.

Dominio abierto o cerrado: cuanto más estrictamente pueda restringir la base de conocimiento que debe tener el robot de chat, es más probable que pueda utilizar la arquitectura basada en reglas simples. Si el dominio es extremadamente amplio, probablemente necesitará el modelo generativo de Inteligencia Artificial.

En el siguiente artículo de esta serie, analizaremos con más detalle el papel de Natural Language Understanding (NLU) y los componentes básicos programáticos utilizados tanto en chatbots basados en reglas como en basados en Inteligencia Artificial.