Como principiante en el procesamiento del lenguaje natural, ¿desde dónde debo comenzar?

Soy un creyente en la práctica hace la perfección. La experiencia práctica siempre me ha ayudado, ya que un libro de texto (que tiene un gran conocimiento) no podrá ayudarlo a comprender los errores más comunes que podría cometer al usar el procesamiento del lenguaje natural.

Ejemplo: la limpieza de texto es muy relevante para el proceso de negocio y, por lo tanto, necesitaría un enfoque personalizado. El enfoque textual podría conducir a resultados generalizados o irrelevantes para los modelos.

Sugeriría comenzar con un conjunto de datos, hay muchos recursos gratuitos disponibles en línea. Para comenzar puedes mirar.

  • Conjunto de datos de correo electrónico de Enron
  • Kaggle.com- (busque conjuntos de datos nlp)

Definitivamente, el libro NLTK lo ayudará cuando se atasque o necesite ayuda teórica. ¡Puedes repasar los conceptos del libro y probarlo en la práctica!

Como principiante en el tema, debe comenzar leyendo un libro de texto sobre el tema. Esto le introduciría a varios conceptos básicos, algoritmos, desafíos y trucos del oficio. Según mi conocimiento, el libro más reconocido en el campo de la PNL es: Fundamentos del procesamiento estadístico del lenguaje natural por Manning y Schütze [1]

Tanto los autores del libro, es decir, el Prof. Manning en Stanford y el Prof. Schütze en LMU München son investigadores excelentes y muy respetados en el campo. Intenta seguir los trabajos de investigación que citan en el libro. Será de gran ayuda. La razón por la que sugiero comenzar con el libro es porque los trabajos de investigación a menudo usan jerga técnica y algoritmos que pueden ser un poco abrumadores para un principiante.

Aparte de eso, siga el último trabajo de investigación de las mejores universidades que trabajan en este campo, por ejemplo, Stanford, la Universidad Carnegie Mellon, UC Berkeley, ETH Zürich, por nombrar algunas. Además, también puede leer artículos de investigación publicados en las principales conferencias como ACL, EMNLP, LREC, etc.

También estoy vinculando las páginas de Google Scholar / DBLP de algunas personas importantes en el campo. (Casi) cada artículo de investigación en su página será de alta calidad:

  1. Prof. Chris Manning [2]
  2. Prof. Hinrich Schütze [3]
  3. Prof. Dan Klein [4]
  4. Prof. Philipp Koehn [5]
  5. Prof. Hermann Ney [6]

Espero que esto sea útil!

Notas al pie

[1] Fundamentos del procesamiento estadístico del lenguaje natural

[2] https://scholar.google.de/citati

[3] dblp: Hinrich Schütze

[4] dblp: Dan Klein

[5] https://scholar.google.com/citat

[6] https://scholar.google.de/citati

Empecé con estos libros:

  1. Chris Manning, Hinrich Schuetze. Fundamentos del procesamiento estadístico del lenguaje natural
  2. Daniel Jurafsky, James H. Martin. Procesamiento del habla y lenguaje

Cuentan sobre muchos aspectos teóricos y al mismo tiempo muestran cómo se pueden aplicar en tareas reales (como el reconocimiento de entidades con nombre o la traducción automática estadística).

También puedo recomendar un curso de Introducción al procesamiento del lenguaje natural de Dragomir R. Radev. ¡Es genial porque tiene algo de práctica de código, y puedes escribir algunas herramientas simples de PNL por ti mismo!

Este curso también se puede encontrar en Youtube. Youtube también tiene otro buen curso de Dan Jurafsky y Chris Manning.

Por supuesto, la PNL es un campo muy interdisciplinario, y en mi opinión es importante estudiar los fundamentos de la lingüística (morfología, sintaxis, semántica, ontologías), matemáticas (álgebra lineal, teoría de la probabilidad, lógica matemática) y ciencias de la computación primero. La codificación (especialmente en Python / Java) también es muy útil. Si desea mantenerse al día con las herramientas de última generación, también debe familiarizarse con el aprendizaje automático e incluso con la psicolingüística. Pero también estoy empezando a estudiar esta increíble ciencia, y puedo perder algo.

¡En fin, buena suerte! No importa si amas las matemáticas o la lingüística, el procesamiento del lenguaje natural los ama a ambos.

Muchas referencias aquí ya.

Agregar solo un par de artículos de revisión, uno de finales de 2015 y el otro de la semana pasada 5 de marzo de 2017

  • Una introducción a los modelos de redes neuronales para el procesamiento del lenguaje natural, octubre de 2015, como dice el título, esta revisión analiza los modelos de redes neuronales desde la perspectiva de la PNL.
  • Traducción automática neuronal y modelos de secuencia a secuencia: un tutorial: este documento se publicó la semana pasada el 5 de marzo de 2017. Este documento se centra específicamente en el modelo secuencia a secuencia, incluidos los RNN con atención para la traducción. No asume el conocimiento de PNL, y por lo tanto, ofrece muchos antecedentes, algunos de los cuales se superpondrían con el primer documento, pero esto cubre trabajos más recientes.

Lea los fundamentos del procesamiento estadístico del lenguaje natural como lo sugiere Sanchit Alekh.

Pero para obtener prácticas más prácticas, comience a leer NLTK Book.
Natural Language Toolkit (NLTK) es un conjunto de bibliotecas y programas para procesamiento de lenguaje natural simbólico y estadístico (NLP) escrito en Python.

La documentación es muy clara y comprensible, incluso si eres un novato en Python.

Empecé con esto: NLTK Book

Luego, el análisis de sentimientos, seguido de enfoques de aprendizaje supervisados ​​y sin supervisión en la minería de textos.

No tengo documentos de investigación, pero siempre puedes buscarlos en Google, será un hallazgo fácil. Buena suerte !

Procesamiento del habla y lenguaje; Estudios de lenguaje basados ​​en corpus; Susan Hunston, Corpora en Lingüística Aplicada; Tony McEnery y Andrew Hardie, Lingüística del Corpus;

Con fines estadísticos, R se utiliza con frecuencia: Baayen, Análisis de datos lingüísticos con R; Ledolter, Data Mining y Business Analytics con R; R y minería de datos;

El lenguaje de programación Perl todavía se utiliza para fines lingüísticos: Baiocchi, Uso de Perl para estadísticas: procesamiento de datos y computación estadística; CPAN (Perl Archives) tiene muchos módulos en Lingua: un etiquetador Brill, Collons ‘Parser, módulos para conjugación, inflexión, segmentador de oraciones, segmentación de palabras, sílabas, tiempo verbal, derivación, palabras detenidas; varios módulos sobre manejo de cadenas y, por último, pero no menos importante, expresiones regulares: la base para tratar con textos. Además de CPAN, están los LUG; Perl Mongers y Perl Monks: expertos en varios aspectos del lenguaje.

Algunas personas sugerirán recurrir a Python, pero yo soy un caballo viejo, y Perl todavía es lo suficientemente bueno para mis propósitos.

Si tiene preguntas específicas, solo pregúnteme.

NB: todos los libros mencionados anteriormente se encuentran en Internet en formato PDF.

Básicamente PNL comprende dos edificios principales. Uno es NLU (comprensión del lenguaje natural) y el otro es NLG (generación del lenguaje natural). Entonces, primero piense en cuál se está concentrando primero.

Si va a utilizar NLU, intente aprender temas como Stemming, lemmetization, POS etiquetado, reconocimiento de entidades, identificación de intenciones, etc.

Si es NLG, busque la traducción del idioma, la recuperación de oraciones de un pasaje, etc.

Mayormente NLU es difícil en comparación con NLG.

Para una comprensión simple,

NLU: la entrada debe ser un texto en lenguaje natural.

NLG – la salida debe ser un texto en lenguaje natural.

Para empezar, puede seguir el siguiente curso proporcionado por la Universidad de Columbia.

  • Aprendizaje automático para el procesamiento del lenguaje natural

Ojalá esto te pueda ayudar.

More Interesting

¿Qué hay de nuevo con Wasserstein GAN?

Si estuviéramos usando un SVM no lineal, ¿cuáles son los hiperparámetros? ¿Cómo elegiríamos los hiperparámetros correspondientes? (funciones de referencia utilizadas)

¿Cuál es la diferencia entre pre-entrenamiento y pre-procesamiento?

Cómo validar mi sistema de recomendaciones sin datos previos de interacción del usuario

¿Dónde puedo encontrar los mejores tutoriales de aprendizaje automático como principiante?

¿Cómo se determina el rango de posibles valores lambda cuando se realiza la validación cruzada en una regresión de lazo?

¿Se mejorará la mayor ganancia en el reconocimiento de objetos en los algoritmos de representación y aprendizaje, en lugar de modelos simples y datos más grandes?

Me encanta codificar. '¿Hay alguna comunidad en la que pueda participar en pequeños proyectos para poder conectarme a ellos de forma remota y aprender?

¿Qué trabajo puede hacer un ingeniero de aprendizaje automático para ayudar a las personas?

¿Cuán verdadera es la frase '95% de los sofisticados algoritmos de 'aprendizaje automático' son lanzados a los datos por alguien que solo tiene la comprensión más superficial de lo que realmente están haciendo '?

¿Por qué se considera F # un buen lenguaje para el aprendizaje automático?

¿Qué es la discretización de características?

¿Cuáles son las unidades de análisis utilizadas en el reconocimiento de voz automático?

¿Cuántas de las noticias sobre IA y DL en este momento son sobre nuevas innovaciones y cuánto sobre aplicaciones? ¿Cuánto de eso es bombo? ¿Habrá una meseta pronto?

Minería de datos: utilizando el análisis de la cesta de la compra para el pronóstico de ventas, ¿cuál es el mejor algoritmo?