Fundamentos de Procesamiento de Lenguaje Natural (NLP)

Analítica Estratégica de Datos


Fundación Universitaria Konrad Lorenz
Docente: Viviana Márquez [vivianam.penama@konradlorenz.edu.co]

Contenido

• Presentación

• Objetivo de la clase

• Logística (Horario, plan analítico, calificaciones, herramientas, textos de referencia, etc.)

• Presentaciones

• ¿Qué es NLP? ¿Por qué aprenderlo?

• Taller: Instalación de Python (Anaconda), control de versiones con GitHub, cuenta de desarrollador en Twitter.

Presentación

👋 ¡Hola! Soy Viviana Márquez

🎓 MSc. Ciencia de Datos de la Universidad de San Francisco
🎓 BSc. Matemáticas de la Konrad Lorenz
🎓 Técnica en Comunicación Social

Actualmente: Científica de Datos para HBO Latin America
*Antes*: Royal Caribbean Cruises, Zimmerman Advertising, TruSTAR Technology.

🤖 Temas de interes: NLP, visualización de datos, creación de bots. Combinatoria y comunicación científica.

Sobre la clase de NLP

🎯 Objetivo:

• Adquirir los conocimientos y las herramientas más utilizadas en la industria en el área del Procesamiento de Lenguaje Natural (NLP). (¡Entrevistas!)

• Ganar experiencia en la implementación y evaluación de diferentes aplicaciones de NLP y aplicar métodos de aprendizaje automático para este proceso en casos de la vida real. (¡Portafolio!)

• Entender las mejores prácticas, oportunidades y el mapa de ruta de la NLP desde la perspectiva de un líder de negocios y productos.

Sobre la clase de NLP -- Logística

🗓️ Horario:
Jueves 6:15 p.m. - 9:30 p.m. (15 minutos de descanso a las 7:45 p.m.)
Primer bloque: Explicación holística y práctica.
Segundo bloque: Taller

  • Retroalimentación cada clase y dato curioso (puntualidad)

Otra información importante:
• Todas las clases serán grabadas
• La asistencia es obligatoria (máximo 15% de inasistencias)
• Los materiales serán subidos al aula virtual
• Los talleres deben ser entregados al aula virtual, NO se permiten entregas tarde
• Pueden usar el equipo de Teams para hacer preguntas
• 🙈 $+1$ punto de en talleres para quién encuentre errores de ortografía

Calendario

Calificación

Textos

Los materiales necesarios serán publicados en el aula virtual.

Para mayor información:

🤔 ¿Para qué aprender NLP?

¿Cómo le hablamos a Siri? ¿Siri habla español?


Nosotros NO le hablamos a los asistentes virtuales en lenguaje de programación, le hablamos en nuestro idioma natural-- el idioma en el que todos nos comunicamos.

Los computadores solo pueden procesar datos binarios-- 0s y 1s.

¿Cómo hacemos para que las máquinas nos entiendan? Ahí es donde el Procesamiento de Lenguaje Natural (NLP) entra en acción.

Textos y Big Data


• Existen más de 6.500 idiomas en el mundo.

• 79% de los datos producidos son no estructurados --> La gran mayoría son textos.

• Se están generando millones de datos en este momento: WhatsApp, Twitter, YouTube, etc.

Los idiomas son una forma de representar información y nosotros los humanos interpretamos esta información.

NLP


• Es el área de las ciencias de la computación (inteligencia artificial) que se encarga de tratar con los lenguajes humanos y derivar información valiosa de ellos.

• Existen docenas de métodos y estrategias para resolver un problema dado.

NLP en el mundo real

Modelado de lenguaje


• Predecir una frase en base a la historia de las palabras anteriores.

El objetivo de esta tarea es aprender la probabilidad de que una secuencia de palabras aparezcan en un lenguaje.

Útil en:

  • Reconocimiento de patrones, reconocimiento de textos a mano, traducción, corrección de ortografía, funciones de auto-completar.
NLP en el mundo real

Clasificación de texto


• Se encarga de poner los textos en diferentes categorias basado en su contenido.

• Ejemplo más famoso: Correo basura o no.

La tarea más popular de NLP

Análisis de sentimiento, basura o no, correo principal, detección de plagio, detección de bots.

NLP en el mundo real

Extracción de información


• Como su nombre lo dice, se encarga de extraer información relevante del texto.

• Ejemplos: Eventos de calendario y entidades mencionadas.

NLP en el mundo real

Recuperación de información


• Encontrar documentos en un conjunto de datos grande relevantes a la busqueda de un usuario.

• Relacionado con los resumenes de texto.

NLP en el mundo real

Chatbots


• Sistemas que pueden responder preguntas automáticamente.

NLP en el mundo real

Traducción


NLP en el mundo real

Modelado de temas

Ejemplo: Aquí

• Descubrir la estructura de una colección de documentos.

NLP en el mundo real

Monitoreo de redes sociales


• Las empresas quieren entender a sus clientes (campañas de mercadeo específicas)

• Tomar ventaja de la retroalimentación explícita e implícita de sus clientes.

NLP en el mundo real

¡Y más!

Todos los días surgen problemas únicos.

Análisis de emojis:

😫 🤯 ¿Por qué es NLP difícil?

El pollo está listo para comer

¿El pollo está listo para ser comido o está listo para que le den de comer?

Ambigüedad

"El perro mordió al hombre" vs "El hombre mordió al perro"
"Jessica"

Creatividad

¿Cómo se dice "Te quiero" en inglés?

Diversidad en los idiomas

Empalagarse, estrenar, consuegro, antier

🤓 Recapitulando: Hoy aprendimos...

  • ¿Qué es NLP?
  • Aplicaciones más populares en la vida real
  • Retos de NLP

¡Tiempo de taller!

Taller # 1: Configuración inicial

Fecha de entrega: Febrero 25, 2021. (Antes del inicio de la próxima clase)

Partes del taller:

  1. Instalación de Python (Anaconda)

  2. Crear cuenta de GitHub y subir un archivo

  3. Obtener cuenta de desarrollador en Twitter

Formato de entrega:

  • Enviar los 3 pantallazos al aula virtual (si el aula virtual aún no está dispinible, enviar correo a vivianam.penama@konradlorenz.edu.co)

Parte 1: Instalación de Python

⚠️ (Nota: Google Colab & Codeshare)

Instalar versión Anaconda --- Python 3.x

https://www.anaconda.com/products/individual

Aula virtual:

  • Abrir Anaconda Power Shell y tomar pantallazo del comando: python --version
  • Pantallazo: jupyter notebook

Parte 2: Crear cuenta de GitHub

De preferencia, usar el email institucional (.edu)

https://github.com/

Aula virtual:

  • Pantallazo: Cuenta de GitHub con repositorio y archivo en el repositorio

¿Por qué usar GitHub?

  • Red social de los programadores
  • Portafolio virtual
  • Se utiliza en la industria
  • Control de versiones
  • Páginas web gratis

¿Cómo usar GitHub? Lista de comandos más usados

Ver documento Github 101

Parte 3: Obtener cuenta de desarrollador en Twitter

https://developer.twitter.com/en/apply-for-access

Aula virtual:

  • Pantallazo: Aplicación a cuenta de desarrollador.
  • Si lo rechazan, volver a aplicar.

### Proxima clase: Repaso de Python y Adquisción de Textos ### Retroalimentación:
https://pollev.com/vivianamarqu288