Bernardo Campillo Soto Artificial Intelligence of Things, o cómo las cosas planean hacernos la vida más sencilla Al igual que en aquel cuento de los hermanos Grimm dos duendecillos se aliaron para ayudar al zapatero a tener una vida mejor, la inteligencia artificial y las tecnologías...
Paloma Recuero de los Santos Video Post #9: Analíticas Big Data, sí, pero ¿Cuáles? Sabemos que las analíticas avanzadas Big Data son imprescindibles para no perder la comba de la innovación digital. Lo que no tenemos tan claro es qué tipo de...
Ana Zamora #LanzamosLUCA: Chema Alonso sobre la transformación hacia data-driven El pasado día 20 de Octubre tuvo lugar el evento presentación de LUCA, la nueva unidad de Big Data B2B de Telefónica. Como ya prometimos, iremos compartiendo las charlas...
Paloma Recuero de los Santos Cómo luchar contra la pobreza con datos: Nobel Economía 2019 En 2019, el premio Nobel de Economía fue otorgado a un proyecto liderado por los economistas Michael Kremer, Esther Duflo y Abhijit Banerjee, que propone un uso...
Alicia Martín Domingos Cómo optimizar la gestión de stock y almacenes ¿Alguna vez has visto cómo llega la mercancía a los almacenes de una tienda? Hace años, un operario descargaba la mercancía y con un listado en papel iba revisando...
LUCA Planificando la ubicación de un site de retail con los datos Una de las decisiones de negocio clave para cualquier marca es decidir dónde “establecer su tienda”. Esto implica la necesidad de conocer muy bien a los consumidores y su...
LUCA LUCA y Sierra Nevada utilizan el Big Data para mejorar la experiencia de los esquiadores Con motivo de la celebración de los Campeonatos del mundo de FreestyleSki y Snowboard en Sierra Nevada (del 8 al 19 de marzo), se ha lanzado una nueva solución...
LUCA Así se mueve Alemania: datos móviles para mejorar planes de transporte Nuestros compañeros de Telefónica NEXT diseñaron, a través de los datos móviles, análisis de datos y big data, un mapa interactivo que permite visualizar flujos de movilidad nacionales. Ciudades,...
LUCA LUCA Talk: Spark vs. Hadoop Hadoop y Spark son dos de las herramientas más utilizadas hoy en día en entornos Big Data. Aunque hay quienes ven estos dos frameworks como competidores, no es tan fácil hacer...
LUCA LUCA Talk: Big Data para orientarnos sobre el empleo del futuro Ante una transformación continua del mercado laboral, acelerada aún más con la crisis del COVID, la orientación profesional está adquiriendo un papel fundamental a la hora de preparar a...
Paloma Recuero de los Santos Video Post #9: Analíticas Big Data, sí, pero ¿Cuáles? Sabemos que las analíticas avanzadas Big Data son imprescindibles para no perder la comba de la innovación digital. Lo que no tenemos tan claro es qué tipo de...
LUCA Talk: La importancia de la seguridad y aspectos legales en el gobierno de los datos. FORMATO: Charla de 30 minutos + Q&A de 10 minutosCUÁNDO: 3 de marzo, 16:00 h (CET)CÓMO: Inscripción gratuita en eventbrite SOBRE QUÉ: Desde la Comisión Europea se está definiendo y escribiendo...
Cómo crear un Bot de forma sencillaPaloma Recuero de los Santos 5 julio, 2018 Tras unos meses de trabajo, al fin ha visto la luz el Diccionario Tecnológico de LUCA. Nuestra Datapedia particular (Lucapedia para los amigos). Y hemos pensado que una buena forma de presentarla es contaros cómo, a partir de un contenido en formato “Pregunta/Respuesta” como éste, se puede crear un Bot de forma sencilla. ¿Queréis saber cómo se hace? ¿Qué es un bot? ¿Y un chatbot? Bot, chatbot, talkbot, chatterbot, asistente conversacional, asistente virtual etc no son más que distintas formas de ponerle nombre a programas informáticos que se comunican con nosotros como si fueran humanos. Así, los bots pueden hacer muchas tareas, algunas buenas, como comprar entradas para un concierto, desbloquear la cuenta de un usuario, u ofrecer opciones para reservar una casa de vacaciones en unas fechas concretas; y otras no tanto, como realizar ciberataques, o provocar una catástrofe financiera realizando operaciones bursátiles a alta velocidad. Los bots (diminutivo de “robot”) pueden estar diseñados en cualquier lenguaje de programación y funcionar como cliente, como servidor, como agente móvil etc. Cuando se especializan en una función específica se les suele llamar “Sistemas Expertos”. Al igual que ocurrió en su día con el desarrollo de la interfaz gráfica frente a la línea de comandos pura y dura, los bots suponen una manera de hacer accesible a cualquier usuario, herramientas y servicios que antes requerían un mayor nivel de competencia digital. Además, como veremos más adelante, son capaces de aprender de nosotros, y tomar decisiones basadas en la información que les proporcionemos. Los chatbots o bots conversacionales son sistemas de inteligencia artificial que simulan una conversación con una persona utilizando el lenguaje natural. Por ejemplo, son capaces de mantener una conversación de mensajería instantánea de forma muy similar a como lo haría un humano. Así, si estás preparando tus vacaciones en una agencia de viajes online, muy probablemente aparezca una ventana de chat en la esquina inferior derecha ofreciéndote ayuda para resolver cualquier duda que tengas. A tu disposición 24 horas al día, todos los días del año. Es por ello que su potencial es tan grande. Además, el chat es canal preferido por el público en general, y por los Millennials en particular. Muchos chatbots están orientados a reemplazar las famosas FAQ (Frecuently Asked Questions) y, por tanto, aparentemente no agregan un gran valor diferencial con respecto al uso de otros canales como la página web o aplicación móvil. Pero, como veremos en este caso práctico, incluso los que realizan esta función, son muchas veces capaces de aprender y aportar valor. Los bots no son sólo capaces de comprender e imitar el lenguaje escrito. Google Duplex, y Microsoft XiaoIce, por ejemplo, son capaces de realizar llamadas telefónicas para hacer una reserva en un restaurante, pedir una cita en el dentista, etc como lo haría una persona. Aura, la inteligencia artificial de Telefónica, te hace recomendaciones en España a través de la app Movistar + en base a tus gustos y te permite ver el partido, buscar una serie, o cambiar de canal simplemente hablando o chateando. Estas tecnologías también tienen un gran campo de aplicación en entornos empresariales, pudiendo usarse para organizar reuniones de negocio, establecer llamadas de ventas, dar soporte técnico de primer nivel etc ¿Es lo mismo un chatbot que un asistente virtual? Algunos especialistas opinan que lo que diferencia un bot de un asistente virtual es el alto grado de personalización de éste último. De esta forma, mientras que el chat bot es “la cara” de una empresa, a cuyos códigos o particularidades se tiene que adaptar el usuario para conseguir su objetivo, es el asistente personal el que se adapta al usuario y no al revés. Aunque ésta es una frontera algo difusa. Una forma más clara de diferenciarlo sería plantearlo en términos de Inteligencia Artificial “vertical”, frente a Inteligencia Artificial “horizontal”. Un asistente digital está programado para cubrir tus necesidades de la mejor forma posible. Es un enfoque genérico una IA general (horizontal). Pero para serte realmente útil, necesitará ser capaz de comunicarse con bots más especializados (IA vertical) cuando tus necesidades así lo requieran. Por ejemplo, con un bot especializado en seguros para ayudarte a elegir el que más te convenga, o con otros como Amy Ingram, para que organice una reunión o cambie por ti unos billetes de avión. En este post, y como presentación de nuestra “Datapedia”, vamos a explicar lo sencillo que resulta crear un chatbot usando Q&Amaker. La idea de crear una “Datapedia” en la web de LUCA surgió cuando nos dimos cuenta de que había muchas dudas sobre terminología y conceptos de Ciencia de Datos, Inteligencia Artificial y Aprendizaje Automático. Nos planteamos ir creando poco a poco un glosario sobre estos conceptos, tanto en español como en inglés. Y aunque todavía es muy joven y tiene que crecer mucho más, nos pareció interesante presentárosla como ejemplo del tipo de contenido a partir del cual se puede generar un bot. Pongámonos manos a la obra. En este post vamos a comprobar que crear un chatbot no es tan complicado como parece. Tampoco es necesario ser un “as de la programación”. Daremos los siguientes pasos aunque, para que no se haga demasiado largo, lo dividiremos en dos post: Crearemos los servicios Q&A en the QnAMakerCrearemos un servicio de bot en AzurePublicaremos el bot y lo pondremos a pruebaY ¡fin! Lo primero que necesita un bot es algo que le permita interaccionar con los usuarios. Un “cerebro”. Si fuéramos programadores, lo podríamos programar a mano. Pero, como no lo somos, vamos a probar un servicio gratuito que permite publicar las típicas FAQs (preguntas y respuestas frecuentes) en forma de servicio conversacional o chatbot. ¿Y cómo se hace? Muy sencillo. Lo primero es ir a la web de QnA Maker: Figura 1: Portal QnA Maker (Si no tenemos suscripción de Azure, previamente habrá que crear una. Puedes ver cómo hacerlo en este enlace) Creación del servicio QnA Una vez aquí, debemos crear una nueva base de conocimiento o Knowledge Base (KB): “Create a Knowledge Base” Figura 2: Creación de una base de datos (KB). Se abre la siguiente ventana que resume los pasos a seguir que son: Crear un servicio QnA en Azure y después, conectarlo a la base de datos (KB) que vamos a generar. Creamos el servicio mediante el botón: Figura 3: Botón para crear el servicio Se abre un formulario que nos va a permitir definirlo y publicarlo. Le damos nombre, en este caso “Datapedia_LUCA”. Este servicio se desglosa en tres partes: el frontal web de la API (la “cara” del bot para el usuario)el Backend Azure search que va a almacenar la KB y sus índices (el “cerebro” del bot),los Application Insights, que ofrecen la monitorización del sistema Con este formulario indicaremos dónde queremos ubicar cada una de ellas. Lo ponemos cerca, en “Oeste de Europa”. También habrá que facilitar la información de pricing, que dependerá de la suscripción que tengamos. Figura 4: Formulario (1) Figura 5: Formulario (2-Scroll) Una vez completado el formulario, le damos a “Crear” y en un par de minutos obtenemos este mensaje: el servicio se ha creado correctamente. Figura 6: Mensaje de Implementación correcta Para nuestra comodidad, lo anclamos al panel. Figura 7: Nuestro servicio QnA en Azure. Si seleccionamos en el menú de la derecha la opción “Todos los recursos” y una vez dentro filtramos por el nombre del servicio, Datapedia, veremos la lista de recursos asociados indicando su nombre, el tipo de recurso que es, el grupo al que pertenece, dónde está ubicado físicamente, y en qué suscripción. Los puntos suspensivos al final de cada fila nos permiten “anclar” el recurso al panel principal. Figura 8: Lista de recursos asociados al servicio Conexión del servicio QnA con la KB Una vez creado el servicio en Azure, volvemos a QnAmaker para el segundo paso que había que dar: conectarlo a la base de datos o KB. En este paso tenemos que indicar el directorio activo de Azure y la suscripción sobre los que vamos a trabajar (dependerá como antes, de los que tengamos configurados), y le indicamos el nombre del servicio (Datapedia_LUCA) y el nombre de la KB (Datapedia_KB) Figura 9: Formulario para conectar el servicio a la KB Ya sólo nos quedan dos pasos más. Indicar dónde está el contenido a partir del cual se generará la base de datos o KB, y crearla. En este momento, si tenemos una página web en formato FAQ (contenido en forma de preguntas y respuestas), podemos cargar el contenido tan sólo introduciendo la URL. (Por ejemplo, esta página) Sin embargo, nuestro caso no va a ser tan fácil, porque nuestro diccionario tecnológico tiene dos niveles (respuestas cortas y respuestas ampliadas), y sólo tiene ese formato en el segundo nivel. Pero no hay problema que no podamos resolver con un poco de Excel. Figura 10: Formulario para crear la KB a partir de una URL o fichero Crearemos nuestra KB usando un fichero en formato. tsv (tab separated value). Para ello, necesitamos un fichero Excel con tres columnas. Las cabeceras de éstas se deben nombrar como “Question”, “Answer” y “Source”– El contenido de la primera columna debe estar escrito de la forma siguiente: ¿Qué es *****?, y el de la segunda debe contener la definición del término. En la tercera, simplemente, pondremos “Datapedia”. Algo así: Figura 11: Contenido de la Datapedia en Excel Para guardarlo en formato tsv hay que hacer lo siguiente. Lo guardamos como txt, pero seleccionamos el menú Herramientas (Tools), Opciones Web (Web Options), y como codificación elegimos “Europeo Occidental Windows” (si no lo hacemos, los acentos salen mal). Una vez guardado, cambiamos manualmente el nombre de la extensión txt por tsv. Con esto, el fichero ya está listo para subir a QnA maker. Lo subimos, y pulsamos el botón “Create your KB” Figura 12: Subida del fichero DatapediaKB en formato tsv” Un par de minutos de espera mientras se genera la KB: Figura 13: un par de minutos de espera… Y listo: Figura 14: Aspecto de la base de datos creada a partir del fichero. Se han cargado todos los términos y sus definiciones de forma automática. Desde esta pantalla podemos editar las parejas de pregunta/respuesta si es necesario. También, con el botón “+ Add QnA pair” podemos crear de forma manual nuevas entradas. Como todo está bien, guardamos y entrenamos “Save and train”. Una vez entrenada la KB, la ponemos a prueba con el botón “Test”- Si preguntamos, por ejemplo, qué es un algoritmo obtenemos esta respuesta: Figura 15: Prueba ¿Qué es un algoritmo? Si seleccionamos la opción “Inspect” podemos ver más detalles. Por ejemplo, el “Confidence Score” de la respuesta. En este caso, como hemos hecho la pregunta exactamente igual que esta a formulada en nuestra base de preguntas original, el valor es de un 100. Si se formula de otra forma, el Confidence Score tendrá valores inferiores. Desde esta pantalla, incluso podemos seleccionar manualmente cuál es la respuesta más adecuada, o añadir una nueva, no lo hace automáticamente el servicio QnA. También se pueden escribir formas alternativas de plantear la pregunta para cada una de las respuestas (“Add alternative phrasing”). Figura 16: Inspección de la respuesta Con esto, ya tenemos creado el servicio de QnA a partir del contenido de nuestro Diccionario Tecnológico LUCA . La semana próxima publicaremos un segundo post donde explicaremos cómo crear en Azure el servicio de Bot que nos permitirá interactuar con él y cómo ponerlo a prueba. Puede que sea un poco largo pero ¿a que no es tan difícil?. ¡No te lo pierdas!Los dos post de esta miniserie son: Cómo crear un Bot de forma sencilla: Probamos con nuestra DatapediaCómo crear un bot de forma sencilla (2 y fin) Para mantenerte al día con LUCA, visita nuestra página web, suscríbete a LUCA Data Speaks o síguenos en Twitter, LinkedIn o YouTube. LUCA Talk: Big Data para empresas – cómo implementar soluciones integradas con LUCA UniverseEsta semana en el blog de LUCA: Del 2 al 8 de Julio
Paloma Recuero de los Santos Iot4All: Los desafíos que debe enfrentar la IoT Internet de las cosas, IoT, está presente en numerosos escenarios y casos de uso. No sólo está en la base de la transformación digital de la industria, y otros...
Paloma Recuero de los Santos Video Post #9: Analíticas Big Data, sí, pero ¿Cuáles? Sabemos que las analíticas avanzadas Big Data son imprescindibles para no perder la comba de la innovación digital. Lo que no tenemos tan claro es qué tipo de...
Fran Ramírez Las matemáticas del Machine Learning: Números aleatorios y dónde encontrarlos (II) En el artículo anterior mencionamos la importancia que tienen en nuestro día a día los números aleatorios, utilizados para realizar cualquier tipo de simulación y fundamentales a la hora...
LUCA Talk: La importancia de la seguridad y aspectos legales en el gobierno de los datos. FORMATO: Charla de 30 minutos + Q&A de 10 minutosCUÁNDO: 3 de marzo, 16:00 h (CET)CÓMO: Inscripción gratuita en eventbrite SOBRE QUÉ: Desde la Comisión Europea se está definiendo y escribiendo...
LUCA La teoría Gestalt en Gobierno del Dato Al igual que un dato por si sólo no vale nada si no se le dota de información, conocimiento y se usa para un propósito, “Gobernar el dato por...
Paloma Recuero de los Santos Drones e IA para detectar síntomas de COVID19 La Universidad de Australia de Sur, UniSA ha diseñado una tecnología pionera en el mundo que combina ingeniería, drones, cámaras e inteligencia artificial para monitorizar a distancia constantes vitales....
Hola Luis, muchas gracias por avisarnos. Todavía aparecen pequeños flecos de la migración del blog. Ya está arreglado. ¡A por el final del experimento! Responder