Resolución de problemas de negocio con IA

2020-01-15T17:16:40+00:00Deep Learning, IA, Machine Learning|

Adoptar IA en las empresa

Vivimos una tremenda eclosión de la IA en las empresas, inversiones disparadas, cientos de seminarios y eventos, consultas e incluso ejemplos por doquier de la adopción de estas prácticas. Desde 2012 hemos estado asistiendo a una aparición imparable de nuevos términos, relacionados con el aprendizaje automático hasta el punto que las empresas tienes problemas para identificar dónde, en su negocio, podrían realmente aplicar técnicas de inteligencia artificial.

Concepto de redes neuronales artificiales

Con este nuevo «must» en crecimiento exponencial puede parece difícil conocer que aplicaciones son viables, cuáles exageradas, hipérboles o directamente «cuentos chinos» que caen en el área del engaño.

El objetivo de esta publicación es desglosar algunas de las categorías de problemas de negocio en que habitualmente se utiliza el Machine Learning o Deep Learning intentando aterrizar conceptos y ofreciendo algunos consejos prácticos para acercarse a estos proyectos con un enfoque y perspectiva correctos incluso si es la primera vez que la empresa se acerca a un proyecto de esta índole.

Durante el desarrollo haremos referencia a casos de uso de negocios reales y perspectivas de resolución de problemas para facilitar la comprensión del enfoque y acompañamos con un glosario final de términos para familiarizarnos con la nueva terminología aplicable a la IA.

Y si, al final hay un resumen en formato presentación.

¿Cómo abordar un proyecto de IA con garantías?

 

En este punto, y seguro que con alguna idea preconcebida de aplicación, cabe hacerse algunas preguntas para abordar un proyecto de IA con garantías.

1.- ¿Cuál es el objetivo?

Parece una obviedad, pero realmente muchas departamentos abordan problemas de ML o DL con la mera intención de la experimentación, sin tener un objetivo claro. Esta muy bien como juego exploratorio, pero la realidad es que la definición de un objetivo concreto hará que el proyecto se acote debidamente y se haga foco en la consecución de dicho objetivo.

2.- ¿Tenemos datos nuevos y datos limpios?

«Clean data is better than Big Data»

«El dato limpio es mejor que  el big data» es una frase común entre los que nos dedicamos a la IA. Si existe una gran cantidad de datos comerciales o de proceso productivo de hace años, puede que hoy no tenga relevancia, particularmente en campos donde los procesos de negocio básicos cambian drásticamente año tras año, como el comercio electrónico móvil. Si tiene una gran cantidad de datos desestructurados y desarticulados, es posible que el esfuerzo se deba centrar en  «limpiar» antes de poder aprender de la información recopilada.

El Jefe de Aprendizaje Automático de UBER, Danny Lange, una vez recomendó que las empresas que comienzan con el aprendizaje automático deben comenzar aplicando técnicas de, precisamente, aprendizaje automático supervisado a datos históricos. Identificar los datos que ya estén limpios y sean relativamente recientes, y usar datos válidos y etiquetados para comenzar a encontrar información es un excelente punto de partida en empresas con una gran cantidad de datos.

Pero además de estas razones, hay una de peso. No la voy a explicar, creo que el gráfico habla por si solo:

Tiempo que dedica un cientififico de datos a la limpieza de los mismos

3.- ¿Tenemos etiquetas para ayudar a que todo tenga sentido para una máquina?

Si bien, el aprendizaje no supervisado, permite un amplio grado de aplicaciones para dar sentido a los datos sin etiquetas, por lo general, no se recomienda «entrar en» ML con una primera aplicación en el aprendizaje no supervisado. Es muy probable que los resultados se queden en un perfil bajo de precisión, en comparación con la generación de soluciones ML a partir de datos históricos y etiquetados. Algunos ejemplos:

  • Facebook tenía millones y millones de rostros humanos etiquetados en su plataforma, rostros que ya estaban asociados con una persona individual. Esto le dio a Facebook la capacidad de entrenar algoritmos en un tremendo volumen de datos etiquetados, con millones de caras en todo tipo de condiciones de iluminación y desde varios ángulos, lo que permite que los algoritmos sean altamente refinados y preparados para identificar rostros humanos específicos. ¿Os acordáis cuando Facebook empezó a animarte a etiquetar a tus amigos en las fotos? Efectivamente…
  • Google ofrece miles y miles de millones en los resultados de búsqueda, y puede medir la utilidad y relevancia de sus resultados de búsqueda en función de la tasa de clics de sus listas principales, el tiempo de carga de la página, el tiempo en la página de un visitante específico y muchos otros factores . Sería imposible encontrar un conjunto de reglas duras y rápidas para mostrar los resultados de búsqueda correctos, por lo que los algoritmos de Google aprenden cuáles serán las mejores opciones basadas en la participación en tiempo real de miles de millones de búsquedas diarias.
  • Las compañías de tarjetas de crédito como CapitalOne se enfrentan a un gran volumen de devoluciones de importes cargados en sus tarjetas y, según los informes, compras fraudulentas cada día. Al encontrar conexiones y patrones entre tipos de compras, ubicaciones de compras y tipos de clientes, CapitalOne puede usar las instancias «etiquetadas» de fraude para predecir otras transacciones que tienen más probabilidades de ser fraude. La detección de anomalías juega un papel importante en las aplicaciones de seguridad y fraude.

4.- ¿Puede la solución permitirse un margen de error?

Estamos muy acostumbrados a que proyectos de ML/DL obtengan precisiones en sus resultados por encima del 90%. Todo un éxito, no cabe dura. El problema es de contexto. ¿Qué significa ese 10%?

Hace unas semanas asistíamos a II Congreso Internacional de IA celebrado en Alicante y me encantó encontrarme con la sinceridad de Miguel Luengo-Oroz, Chief Data Scientist de UN Global Pulse, Naciones Unidas, que exponía como fracaso un sistema que detectaba, a partir de imágenes satelitales víctimas en las zonas de catástofre para enviar ayuda. El modelo tenía un altísimo porcentaje de precisión, pero ese margen podía significar la muerte de miles de personas.

ML podría considerarse como una especie de «habilidad», en el mismo sentido que uno podría aplicar la palabra a los seres humanos. Una habilidad que está viva, adaptándose, creciendo e informada por la experiencia. Por esta razón, una solución de ML a menudo será incorrecta un cierto porcentaje del tiempo, especialmente cuando está informada por estímulos nuevos o variados. Si la tarea no puede permitir ningún error, es probable que ML sea la herramienta incorrecta para el trabajo.

Otro ejemplo (menos dramático) de una aplicación que no puede permitir errores podría ser una solución que tiene como objetivo leer el monto de una factura  y luego pagar esa factura. Una diferencia de una letra o una diferencia de número podría significar pagar en exceso su factura en 10 veces la cantidad original (si se interpretó que el decimal estaba en el lugar incorrecto) o enviar dinero a la compañía incorrecta (si el nombre de la compañía que factura no está registrado exactamente) .

En un caso como el anterior, algún grado de ML (hablábamos anteriormente de los clasificadores) podría ayudar a “agrupar” diferentes tipos de facturas, pero la decisión final de enviar un pago probablemente requeriría un ser humano responsable (normalmente del departamento financiero).

Como curiosidad, hay una startup con sede en San Francisco llamada Roger.ai que tiene como objetivo utilizar el procesamiento del lenguaje natural y la visión artificial para pagar facturas reales, aunque involucra a los humanos en el proceso antes de enviar el pago, es decir, hay una validación humana en algún momento. 

¿Qué tipo de problemas de negocio pueden abordarse con tecnología de aprendizaje automático?

 

Muchas veces, la pasión desatada por la innovación, la vocación de early adopters de muchos departamentos de TI (o incluso de marketing) nos lleva a la implantación de proyectos de ML. Seamos sinceros: si el problema se puede solucionar completamente con un conjunto de reglas o escenarios del tipo «si x -> entonces y», seguramente no haya necesidad de aplicar ML. La cosa cambia cuando el conjunto de «acciones/reacciones» se hace inabordable (por tamaño o complejidad) o directamente estas reglas se encuentran en continuo cambio de manera que las interacciones se disparan, se ofrecen diferentes soluciones para una misma «x» o las dependencias cambian modificadas (o no) por patrones de comportamiento complejos.

Creo que puede ser útil enumerar una serie de casos de negocio muy genéricos, pero muy consolidados, en los que el aprendizaje automático ha demostrado su utilidad y que suelen servir de inspiración para generar ideas más ajustadas a un negocio en particular:

  • Detección/reconocimiento facial. Es increíblemente difícil escribir un conjunto de «reglas» para permitir que las máquinas detecten caras (hay que tener en cuenta los diferentes colores de piel, ángulos de visión, vello / vello facial, etc.), pero se puede entrenar un algoritmo para detectar caras, como las utilizadas en Facebook. Muchas herramientas para la detección y reconocimiento facial son de código abierto. Y es una tecnología cada vez más implantada. En el ámbito empresarial, su uso para identificar personas o acelerar procesos de checking está ampliamente extendido.

  • Filtros Spam (contextuales). Parte del filtrado de correo no deseado puede realizarse mediante reglas (es decir, bloqueando las direcciones IP conocidas explícitamente por correo no deseado, dominios o palabras clave), pero gran parte del filtrado debería ser contextual en función del contenido de la bandeja de entrada relevante para cada usuario específico. Una gran cantidad de volumen de correo electrónico y muchas marcas de «spam» del usuario (etiquetado de los datos) lo convierten en un buen problema de aprendizaje supervisado.

  • Recomendaciones. Las preferencias de cada persona son diferentes y las preferencias cambian con el tiempo. Compañías como Amazon, Netflix y Spotify usan clasificaciones y compromiso de un gran volumen de artículos (productos, canciones, etc.) para predecir lo que cualquier usuario podría querer comprar, ver o escuchar a continuación.

  • Reconocimiento de voz. No existe una combinación única de sonidos para identificar específicamente el habla humana, las pronunciaciones individuales difieren ampliamente: el aprendizaje automático puede identificar patrones de habla y ayudar a convertir el habla en texto distinguiendo (y por lo tanto perfilando), acentos gegráficos, sociales, etc. La llegada de los archiconocidos asistentes virtuales como Siri, Alexa, Google Assistant o Cortana son ejemplos que han ido inspirando a infinidad de aplicaciones de bots de atención al cliente, formación, etc.

  • Ofertas en tiempo real. Facebook y Google nunca podrían escribir «reglas» específicas para determinar en qué anuncios es más probable que haga clic un determinado tipo de usuario. El aprendizaje automático ayuda a identificar patrones en el comportamiento del usuario y a determinar qué anuncios individuales tienen más probabilidades de ser relevantes para cada usuario individual.

  • Detección de fraude. Al igual que los filtros de correo no deseado, solo una pequeña parte de la detección de fraude se puede hacer usando reglas concretas. Se utilizan constantemente nuevos métodos de fraude, y los sistemas deben adaptarse para detectar estos patrones en tiempo real, percibiendo e identificando señales comunes asociadas con el fraude.

  • Clasificación. La clasificación es una problemática asociada a multitud de escenarios: poder distinguir ejemplares adultos de juveniles a partir de fotos, diferenciar tipos de cereal o simplemente perfilar usuarios. Convivimos con multitud de algoritmos que nos clasifican en grupos para poder personalizar nuestra experiencia a partir de patrones comunes.

  • Predicción. La capacidad de utilizar modelos de predicción se está utilizando ya en numerosos campos. Desde la previsión de crímenes en NYC hasta aplicaciones para mantenimiento predictivo de material industrial, que permiten saber, cuando se va a romper un determinado elemento.

Aplicar el aprendizaje automático a problemas empresariales

1.- Empecemos con un problema prioritario, no con un problema de «juguete»

Muchas empresas leen sobre ML con entusiasmo y deciden «encontrar alguna forma de usarlo». Esto lleva a los equipos a abordarlos sin la verdadera motivación o con recursos comprometidos para generar un resultado real. Abordemos un problema de negocio que tenga una gran importancia y que parezca tener una alta probabilidad de ser resuelto.

2.- Podemos alimentar con muchos datos, pero el contexto siempre es del negocio

Pensar sobre  qué información «alimentar» su algoritmo no es tan fácil como se podría suponer. Si bien los algoritmos de ML son expertos en la identificación de correlaciones, no comprenderán los hechos que rodean los datos que podrían hacerlos relevantes o irrelevantes.

  • Determinación del tiempo de recuperación médica: se pueden proporcionar datos a una máquina para determinar el tratamiento para personas con quemaduras de primer o segundo grado. La máquina puede predecir que muchas víctimas de quemaduras de segundo grado solo necesitarán tanto tiempo como las víctimas de quemaduras de primer grado, porque no tiene en cuenta la atención más rápida e intensiva que las víctimas de quemaduras de segundo grado recibieron. El contexto no estaba en los datos en sí, por lo que la máquina simplemente asume que las quemaduras de segundo grado sanan tan rápido como el primer grado.
  • Recomendar productos relacionados: un motor de recomendaciones para un minorista de comercio electrónico recomienda en exceso un producto específico. Los investigadores solo descubrieron más tarde que este producto se promocionó fuertemente hace más de un año, por lo que los datos históricos mostraron un gran aumento en las ventas de los compradores existentes; sin embargo, estas compras promocionales se vendieron más en función del «acuerdo» y el bajo precio, y menos por la intención real del cliente.

Hay que tener extremo cuidado con el sesgo de información y el contexto y para eso, hay que entender el negocio.

3.- En algún momento hay que dejar de ”jugar” (ajustar y ajustar) para encontrar el ROI

La construcción de una solución de ML requiere una cuidadosa reflexión y pruebas al seleccionar algoritmos, seleccionar datos, limpiar datos y probar en un entorno en vivo. No existen soluciones de aprendizaje automático «listas para usar» para casos de uso empresariales únicos y complejos. Incluso para casos de uso extremadamente comunes (motores de recomendación, predicción de abandono de clientes), cada aplicación variará ampliamente y requerirá iteración y ajuste. Si una empresa entra en un proyecto de IA sin recursos para un período prolongado de retoques, es posible que nunca logre un resultado útil. Pero en algún momento hay que acabar.

Nube de conceptos conectados

Glosario de términos sobre Inteligencia Artificial

  • Machine Learning (ML). El aprendizaje automático es la ciencia de hacer que las computadoras aprendan y actúen como lo hacen los humanos, y mejoren su aprendizaje con el tiempo de manera autónoma, al proporcionarles datos e información en forma de observaciones e interacciones del mundo real. (Definición obtenida en “What is Machine Learning?” de recomendable lectura)
  • Supervised Learning. La tarea de aprendizaje automático de inferir una función a partir de datos de entrenamiento etiquetados. Muchas veces se utiliza para definir un método de entrenamiento de los modelos en que entrenamos con una muestra de resultados válidos con el fin de que la máquina «acierte» ante problemas similares de los que desconocemos su validación.
  • Unsupervised Learning. La tarea de aprendizaje automático de inferir una función para describir la estructura oculta a partir de datos no etiquetados. Muy útil para el descubrimiento de patrones o relaciones entre variables que no son obvias y un método de entrenamiento para determinados tipos de modelos de datos.
  • Clasificación. Identificar a cuál de un conjunto de categorías pertenece una nueva observación, sobre la base de un conjunto de datos de capacitación.
  • Regresión. Técnica estadística para estimar las relaciones entre variables (incluye regresión lineal, regresión logística y otros enfoques).
  • Algoritmo. Conjunto de operaciones paso a paso. Los algoritmos realizan tareas de cálculo, procesamiento de datos y / o razonamiento automatizado.
  • Procesamiento del lenguaje natural (PNL). Es un campo de la informática, la inteligencia artificial y la lingüística computacional relacionadas con las interacciones entre las computadoras y los lenguajes humanos (naturales).

Resumen

IA Para Negocios by Santiago Colomo on Scribd

Lynxview logo blanco

Vamos a hablar

¿TIENES UNA IDEA? PODEMOS AYUDARTE.

Contacta

About the autor: