10 ideas de proyectos de inteligencia artificial para que los principiantes las practiquen

La inteligencia artificial ha tenido un impacto significativo en nuestra vida diaria. Cada vez que te desplazas por las redes sociales, abres Spotify o haces una búsqueda rápida en Google, estás utilizando una aplicación de IA. La industria de la IA se ha expandido masivamente en los últimos años y se prevé que crezca aún más, alcanzando alrededor de 126 000 millones de dólares estadounidenses para 2025. Empresas multinacionales como IBM, Accenture y Apple están contratando activamente a profesionales de la IA. El salario medio de un ingeniero de IA a partir de 2021 es de 171.715 dólares, que pueden superar los 250 000 dólares.

El campo de la IA es vasto, y hay muchas áreas dentro de la industria que puedes elegir especializarte. Digamos que, si te intrigan los sistemas de reconocimiento facial y la generación de imágenes, puedes optar por trabajar en el campo de la visión por ordenador. Si quieres construir modelos que puedan conversar con las personas y aprender el lenguaje humano, puedes trabajar en el campo de la PNL (procesamiento del lenguaje natural).

Hoy en día se está trabajando mucho para el avance de la Inteligencia Artificial. Las empresas necesitan especialistas en IA que puedan construir e implementar modelos escalables para satisfacer las crecientes demandas de la industria. No es difícil empezar en el campo de la IA. Si bien existe la complejidad que implica construir modelos de aprendizaje automático desde cero, la mayoría de los trabajos de IA en la industria hoy en día no requieren que conozcas las matemáticas detrás de estos modelos. Muchas empresas requieren personas que puedan crear soluciones de IA, escalarlas e implementarlas para el usuario final. Muchas bibliotecas y marcos de alto nivel pueden ayudarte a hacerlo sin un conocimiento profundo de cómo funcionan los modelos.

Hay una variedad de proyectos de IA que puedes hacer para comprender estas bibliotecas. Si está buscando entrar en la IA y no tiene una calificación profesional, la mejor manera de conseguir un trabajo es mostrar algunos proyectos interesantes de inteligencia artificial en su cartera o mostrar sus contribuciones a proyectos de IA de código abierto.

Construir proyectos de inteligencia artificial no solo mejora su conjunto de habilidades como ingeniero de IA, sino que también es una excelente manera de mostrar sus habilidades de inteligencia artificial a posibles empleadores para conseguir el futuro trabajo de sus sueños.

1. Reanudar analizador

Los reclutadores pasan mucho tiempo hojeando los currículums para encontrar al mejor candidato para un puesto de trabajo. Dado que puede haber cientos de solicitudes para un solo puesto, este proceso se ha automatizado de varias maneras más común es la coincidencia de palabras clave. Los currículos son preseleccionados y leídos por los reclutadores en función de un conjunto de palabras clave que se encuentran en un currículum de candidatos. De lo contrario, el currículum se descarta y el candidato es rechazado para el trabajo. Sin embargo, este proceso de selección tiene muchos inconvenientes. Los candidatos son conscientes del algoritmo de coincidencia de palabras clave, y muchos de ellos insertan tantas palabras clave como sea posible en sus currículums para ser preseleccionados por la empresa.

Puedes crear un analizador de currículum con la ayuda de inteligencia artificial y técnicas de aprendizaje automático que pueden hojear la solicitud de un candidato e identificar candidatos cualificados, filtrando a las personas que llenan su currículum con palabras clave innecesarias.

Puedes usar el conjunto de datos de currículum disponible en Kaggle para crear este modelo. Este conjunto de datos contiene solo dos columnas, título del trabajo y la información del currículum del candidato.

Los datos están presentes en forma de texto y deben ser preprocesados. Puedes utilizar la biblioteca NLTK Python para este propósito. A continuación, puede crear un algoritmo de agrupación que agrupen palabras y habilidades estrechamente relacionadas que un candidato debe poseer en cada dominio. Se deben considerar palabras que sean similares en contexto (y no solo palabras clave). Puedes asignar una puntuación final de peso a cada currículum de 0 (menos favorable) a 10 (más favorable).

Conjunto de datos: Conjunto de datos de Kaggle Resume

2. Detector de noticias falsas

Las noticias falsas son información engañosa o falsa que circula como noticia. A menudo es difícil distinguir entre noticias falsas y reales, y no es hasta que la situación se desproporcionado que sale a la luz. La difusión de noticias falsas se vuelve especialmente peligrosa en momentos como las elecciones o las situaciones de pandemia. Los rumores falsos y la desinformación que suponen daños a vidas humanas están amenazando a las personas y a la sociedad.

Las noticias falsas deben detectarse y prevenirse a tiempo, antes de que causen pánico y se propaguen a un gran número de personas.

Para crear un detector de noticias falsas, puedes utilizar el conjunto de datos de noticias reales y falsas disponible en Kaggle.

Puedes utilizar un modelo de aprendizaje automático preentrenado llamado BERT para realizar esta clasificación. BERT es un modelo de procesamiento del lenguaje natural (PNL) que se ha convertido en código abierto. Puedes cargar BERT en Python y añadir una capa de salida adicional para tu tarea de clasificación de texto.

3. Aplicación de traductor

Si está interesado en iniciarse en el campo del procesamiento del lenguaje natural, debe intentar crear una aplicación de traductor con la ayuda de un transformador.

Un modelo de transformador extrae características de las oraciones y determina la importancia de cada palabra de una oración. Un transformador tiene un componente de codificación y decodificación, ambos entrenados de extremo a extremo.

Puedes crear tu propia aplicación de traductor de IA con un transformador. Para ello, puedes cargar un modelo de transformador preentrenado en Python. A continuación, transforma el texto que quieres traducir en tokens y arrégalo al modelo preentrenado.

Puedes utilizar la biblioteca GluonNLP para este fin. También puedes cargar el tren y probar el conjunto de datos para este proyecto de IA desde esta biblioteca.

Paquete Python: GluonNLP

4. Detección de spam de Instagram

¿Alguna vez has recibido una notificación de que alguien comentó en tu publicación de Instagram? Con entusiasmo coges tu teléfono y abres la aplicación solo para descubrir que es un bot que promociona alguna marca de zapatos knockoff. La sección de comentarios de muchas publicaciones de Instagram está llena de bots. Pueden variar de molestos a peligrosos, dependiendo del tipo de llamada a la acción que requieran de ti.

Puedes crear un modelo de detección de spam utilizando técnicas de IA para identificar la diferencia entre el spam y los comentarios legítimos.

Es posible que no puedas encontrar un conjunto de datos que tenga una colección de comentarios de spam de Instagram, pero puedes recopilar los datos para este análisis raspando la web. Accede a la API de Instagram con Python para obtener comentarios sin etiqueta de Instagram.

Puedes usar un conjunto diferente de datos para la formación, como el conjunto de datos de recopilación de spam de YouTube de Kaggle. A continuación, utilice palabras clave para clasificar las palabras que aparecen comúnmente en los comentarios de spam.

Utilice una técnica como N-Gram para asignar peso a las palabras que tienden a aparecer en los comentarios de spam, luego compare esas palabras con cada comentario raspado de la web. Otro enfoque que puedes adoptar es el uso de un algoritmo basado en la distancia como la similitud del coseno. Estos enfoques darán mejores resultados en función del tipo de preprocesamiento que aplique.

Si eliminas palabras de parada, espacios en blanco, puntuación y limpias los datos correctamente, descubrirás que el algoritmo funciona mejor, ya que puede hacer coincidir palabras similares entre sí.

También puedes utilizar un modelo preentrenado como ALBERT para obtener mejores resultados. Si bien los algoritmos de coincidencia de distancia o ponderación funcionan bien para encontrar palabras similares, no pueden captar el contexto de una oración.

Los modelos de PNL como BERT y ALBERT pueden hacerlo mejor, ya que consideran factores como el contexto de las oraciones, la coherencia y la interpretabilidad.

5. Sistema de detección de objetos

Puedes demostrar habilidades en el campo de la visión por ordenador con este proyecto. Un sistema de detección de objetos puede identificar clases de objetos presentes en una imagen.

Por ejemplo, supongamos que una imagen contiene una imagen tuya trabajando en un portátil. En ese caso, un sistema de detección de objetos debería ser capaz de identificarte y etiquetarte a ti (humano) y al ordenador, junto con tu posición en la imagen.

Puedes utilizar el conjunto de datos Open Images Object Detection de Kaggle para este proyecto. Hay un modelo de detección de objetos preentrenado que se ha convertido en código abierto llamado SSD. Este modelo se entrenó en un conjunto de datos de objetos cotidianos llamado COCO y puede identificar cosas como mesas, sillas y libros.

Puede entrenar aún más la capa de salida de este modelo en el conjunto de datos Kaggle Open Images para construir su sistema de detección de objetos con alta precisión.

Conjunto de datos: Kaggle Open Images Conjunto de datos de detección de objetos

6. Predicción de especies animales

Otro interesante proyecto de visión por ordenador que puedes hacer es predecir la especie de un animal basándose en una imagen.

Puedes hacerlo con el conjunto de datos Animals-10 en Kaggle. Hay diez categorías diferentes de animales en este conjunto de datos de perro, gato, caballo, araña, mariposa, pollo, oveja, vaca, ardilla, elefante.

Este es un problema de clasificación multiclase, y tendrás que predecir la especie del animal en función de su imagen en el conjunto de datos.

Puedes utilizar un modelo preentrenado llamado VGG-16 para este propósito. Puedes cargar este modelo en Python con la biblioteca Keras.

VGG-16 es una arquitectura Convolution Neural Net (CNN) formada en ImageNet, que contiene más de 14 millones de imágenes. Consiste en imágenes de objetos cotidianos, frutas, vehículos y ciertas especies de animales.

Después de cargar el modelo VGG-16 en Python, puedes entrenar encima de él con las imágenes etiquetadas en el conjunto de datos de Kaggle para clasificar los diez tipos diferentes de animales.

Conjunto de datos: Animals-10 Kaggle Dataset

7. Detección de neumonía con Python

Muchas enfermedades como el cáncer, los tumores y la neumonía se detectan mediante un diagnóstico asistido por ordenador con la ayuda de modelos de IA.

Hay conjuntos de datos de imágenes abiertas disponibles en Kaggle para la detección de enfermedades. Puedes probar suerte con la predicción de enfermedades en uno de estos conjuntos de datos, el conjunto de datos de imágenes de rayos X de tórax (detección de neumonía) en Kaggle.

Este conjunto de datos consta de tres tipos de imágenes de rayos X pulmonares marcadas, Neumonía normal, bacteriana y neumonía viral. Puedes construir un modelo que categorice el estado de salud de un paciente en una de estas tres categorías basándose en una imagen de rayos X de sus pulmones.

Para crear este modelo, puedes usar una biblioteca de Python llamada FastAI. FastAI es una biblioteca de código abierto que permite a los usuarios crear y entrenar rápidamente modelos de aprendizaje profundo para diversos problemas, como la visión por ordenador y la PNL.

Esta biblioteca proporciona un nivel más alto de abstracción que Keras y es muy fácil trabajar con ella si eres principiante. Un problema que tarda más de 30 líneas en resolverse con Keras se puede resolver en solo cinco líneas de código con FastAI.

Puedes descargar el modelo preentrenado ResNet50 de FastAI y entrenar encima de este modelo para construir el clasificador. ResNet50 nos permite entrenar redes neuronales increíblemente profundas con más de 150 capas, y el entrenamiento encima de ella te dará buenos resultados.

Conjunto de datos: Imágenes de rayos X de tórax Kaggle

8. Máquina enseñable

Si eres un entusiasta de la IA, probablemente hayas oído hablar de Teachable Machine de Google. Teachable Machine es una herramienta basada en la web que se creó para hacer que el aprendizaje automático sea accesible para todos.

Si visitas el sitio de Teachable Machine de Google, te permiten subir fotos de diferentes clases y luego entrenar un modelo de aprendizaje automático del lado del cliente en estas imágenes.

Interfaz gráfica de usuario, aplicación, sitio webDescripción generada automáticamente

Un ejemplo de cómo funciona Teachable Machine:

Hay dos clases de imágenes que debes subir. Primero, subes alrededor de 100 fotos tuyas y las etiquetas como Clase 1. Luego, subes otras 100 fotos de tu gato y lo etiquetas como Clase 2.

A continuación, haga clic en el botón “Modelo de tren”, y un modelo de aprendizaje automático del lado del cliente aprenderá a distinguir entre las imágenes de usted y su gato.

A continuación, puedes usar este modelo para hacer nuevas predicciones en las imágenes.

Google lanzó Teachable Machine hace algún tiempo, para que las personas que no están bien versadas con la IA puedan visitar el sitio y entrenar a sus modelos. Permite a las personas no técnicas familiarizarse con el aprendizaje automático.

Puedes crear tu versión de Teachable Machine de Google.

Los pasos que debe seguir son los siguientes:

  • Crear una aplicación del lado del cliente que permita a los usuarios subir imágenes de varias clases.
  • Recoge las imágenes, transfórmalas y entrénalas encima de un modelo preentrenado. Puedes hacerlo en el lado del cliente utilizando un lenguaje como JavaScript. Se puede acceder a los modelos de aprendizaje automático preentrenados en JavaScript a través de lenguajes como ml5.js y tensorflow.js.
  • Después de entrenar el modelo, envía una notificación en la pantalla para que el usuario sepa que está hecho. A continuación, haz que el usuario suba imágenes de cada clase para hacer predicciones sobre nuevas imágenes.

9. Herramienta de autocorrección

Autocorrección es una aplicación de IA que utilizamos todos los días. Nos hace la vida más fácil al ocuparnos de los errores ortográficos y gramaticales.

Para crear una herramienta de autocorrección en Python, puedes utilizar la biblioteca TextBlob en Python. Esta biblioteca tiene una función llamada ‘correct().’ Si llamas a esta función en un fragmento de texto, identificará las palabras incorrectas y las reemplazará por la palabra más cercana a la escrita.

Es una tarea relativamente sencilla, pero es esencial tener en cuenta que la biblioteca TextBlob no es perfecta. El algoritmo subyacente no puede detectar ciertas palabras mal escritas y hace correcciones cuando la palabra inicial era correcta, como reemplazar “es” por “as”.

Esta herramienta no es capaz de captar el contexto entre dos palabras y no hace ningún tipo de mapeo para identificar palabras que se usan comúnmente juntas. Por ejemplo, si escribiera “Me gusta tu corto” en lugar de “Me gusta tu camisa”, el algoritmo no me corregiría. Estas palabras se escriben correctamente, pero no encajan en el contexto de la frase.

Puedes mejorar las limitaciones de este modelo construyendo tu propio, puedes usar un modelo de PNL preentrenado como BERT que ha sido entrenado para predecir palabras que encajan en un contexto específico.

10. Identificación de revisión de producto falso

Este proyecto de IA es similar al proyecto de detección de spam de Instagram mencionado anteriormente. Hay muchos propietarios de negocios que fabrican reseñas de sus productos para obtener más personas engañosas en ventas que buscan comprar productos de alta calidad.

Puedes crear un sistema de identificación de reseñas falsas para resolver este problema. Kaggle tiene un conjunto de datos llamado Deceptive Opinion Spam Corpus que puedes utilizar para este proyecto. Este conjunto de datos contiene 1600 reseñas de hoteles — 800 de ellas son positivas y otras 800 son negativas.

Estas revisiones ya están etiquetadas, por lo que solo tiene que hacer algo de preprocesamiento y tokenización de datos antes de entrenar a su modelo. Puedes utilizar el aprendizaje por transferencia para este propósito con modelos preentrenados como BERT, RoBERTa y XLNet.