Soy un especialista en lingüística con algunos conocimientos de CS (Python y Java). ¿Qué me preparará para la PNL?

PNL es un campo de aprendizaje amplio que requiere conocimiento en áreas relacionadas como Aprendizaje automático y Matemáticas (especialmente optimización, probabilidad y estadística y álgebra lineal). Así que sugeriría algunos recursos específicamente relacionados con la PNL.

Conferencia en video: Dan Jurafsky y Chris Manning: procesamiento del lenguaje natural: es el mejor curso para PNL

Programación de libros: después de ver la conferencia, recomendaría hacer problemas prácticos para familiarizarse con los problemas y, dado que conoce Python y Java.

Pitón

  1. Libro NLTK: es una introducción detallada a la biblioteca NLTK en Python que también cubre temas importantes en PNL.

2. Análisis de texto con Python: un enfoque práctico del mundo real | Dipanjan Sarkar | – Este es un libro muy bueno que cubre diferentes aspectos de la PNL usando Python.

También recomiendo ir a través de tutoriales y documentación de bibliotecas relacionadas con PNL como gensim, spaCy, TextBlob

Java

  1. Procesamiento de lenguaje natural con Java: también revise stanford core nlp que se usa en este libro.

Teoría

Hay muchos libros sobre PNL, pero estos son los estándares escritos por expertos en dominios con cobertura integral.

  1. Fundamentos del procesamiento estadístico del lenguaje natural: puede leer esto junto con las conferencias en video de Stanford, es el mejor libro introductorio sobre PNL que abarca desde lo básico hasta las aplicaciones
  2. Introducción a la recuperación de información: este libro se centra principalmente en la recuperación de información.
  3. Introducción-Computación-Lingüística: es un texto comprensivo pero avanzado que también incluye el procesamiento del habla.

Matemáticas. La estadística, el álgebra lineal, el cálculo y la geometría se pueden usar en diferentes aspectos de la PNL. Para el uso práctico de las herramientas y API existentes, puede sobrevivir sin mucho de esto, pero si está interesado en la investigación o en comprender lo que está sucediendo en esas herramientas, necesita cierto nivel de matemáticas de nivel universitario. Desde el lado de CS, la comprensión de algoritmos, estructuras de datos, teoría de bases de datos y computación distribuida son útiles para cualquiera que trabaje a nivel profesional.

PNL es un campo amplio. Hay especialidades y roles comerciales que requieren conocimientos y habilidades significativamente diferentes. Por ejemplo, la lingüística computacional enfatiza modelos estadísticos de documentos. La respuesta y el resumen de preguntas requieren más conocimiento lingüístico, así como modelos computacionales (estructuras de programación y datos). Los roles de los científicos de datos incluyen estadísticas, habilidades de programación / CS más pesadas y diseño visual (el último es difícil de enseñar / aprender; gran parte de esto son habilidades artísticas realmente innatas de la OMI).

¡Buena suerte!