Sin duda, una de las formas más rápidas de conseguir un buen trabajo como desarrollador es adquirir ciertos conocimientos de Inteligencia Artificial, sobre todo de Machine Learning (aprendizaje automático).

Lo que pasa es que el mundo de la IA intimida bastante. Si nunca has trabajado en estos temas, ponerte a entender cómo funcionan las redes neuronales parece un salto al vacío. Y lo es si quieres realmente crear tu propia aplicación de IA empezando completamente desde cero.

La buena noticia es que esto será cada vez más la excepción que la norma. Ya vimos algunas herramientas para procesar datos con ML sin programar. Otras, como Ludwig, requieren cierto nivel de programación pero a cambio abstraen muchos detalles técnicos sin sacrificar la potencia y flexibilidad de la solución final.

Pero el gran cambio que permite que todos nosotros nos convirtamos en “expertos en ML” es la cantidad de modelos de ML ya entrenados que muchas de las grandes empresas del sector ponen a nuestra disposición. Para muchas de las aplicaciones de aprendizaje automático que queríais hacer pero nunca os atrevisteis, seguro que ahora podéis encontrar un modelo ya prefabricado que podéis directamente importar en vuestro código listo para usar. Es cierto que el resultado no será perfecto. No es lo mismo entrenar un modelo con vuestros datos que utilizar uno ya entrenado con los datos de otro pero os aseguro que el usuario no va a notar la diferencia y os ahorraréis el trabajo de recoger, ordenar y procesar los datos, entrenar el modelo, validarlo,… Por ejemplo, AutoML ofrece una buena colección de modelos pero es fácil encontrar muchos más.

De hecho, me sorprende no ver muchas más aplicaciones que utilizan estos modelos para proporcionar un comportamiento mucho más inteligente a sus usuarios, casi a coste cero. Dejadme que os ponga un ejemplo. Imaginad que tenéis un blog o administráis un foro. Uno de los problemas que os encontraréis es la moderación de comentarios. Por desgracia, hay todo tipo de trolls y usuarios maleducados, racistas, que insultan, que dicen obscenidades,… y que con su comportamiento perjudican la calidad de la discusión.

Una opción es moderar los comentarios a mano. Pero ¿a qué sería mucho más fácil que WordPress (o Drupal o Joomla o sea lo que sea que uséis) fuera capaz de leer automáticamente el comentario y clasificarlo como “tóxico”? Si tenemos que entrenar nosotros mismos este sistema de detección de comentarios tóxicos la verdad es que nos va a costar muchísimo (para empezar, ¿de donde sacamos miles de comentarios de ejemplo y etiquetados como tóxico / no tóxico para el entrenamiento?) pero éste es una de las muchas aplicaciones de ML para los qué ya existe un modelo entrenado y listo para usar: toxicity classifier gracias a Tensorflow.

Una vez hemos seleccionado el modelo, integrarlo en nuestro código es muy fácil. Mirad como ejemplo como lo he hecho en mi plugin WordPress Serious Toxic Comments plugin. Como su nombre indica, el objetivo del plugin es detectar y bloquear comentarios tóxicos. Dado el texto del comentario, el plugin utiliza el modelo de tensorflow para clasificarlo y dependiendo del resultado lo deja pasar o pide al usuario que lo reescriba.

El código entero del plugin está en GitHub (por cierto, la mayor parte de ese código está generado automáticamente gracias al uso de WordPress DSL, esto os lo cuento otro día) pero para que veáis lo fácil que es, el código entero que se encarga de la comunicación con tensorflow es el siguiente:

Simplificando, lo que hago es interceptar el evento de submit del formulario de comentarios y pasarlo por el clasificador antes de continuar (o no) con el envío del comentario. El proceso de clasificación en sí usa la variable global toxicity  definida en la librería de tensorflow para cargar el modelo y clasificar el texto del comentario. Una vez tenemos el resultado de la clasificación miramos si tensorflow lo ha identificado como tóxico en alguna de las categorías que mira. Si es así, mostramos una alerta al usuario.

¡Y esto es todo! Con apenas 20 líneas de JavaScript hemos añadido a nuestra web un detector de comentarios tóxicos basado en el procesamiento automático del texto de los comentarios.

Espero haveros convencido de que empezar en el mundo del aprendizaje automático es mucho más fácil y asequible de lo que parece.