tecnicas software que programacion procesamiento para natural modelos lenguaje informatica ejemplos conceptos basicos articulos nlp

nlp - software - ¿Cuáles son los requisitos previos para aprender el procesamiento del lenguaje natural?



que es procesamiento del lenguaje natural en informatica (5)

Estoy planeando aprender el procesamiento de lenguaje natural este año.

Pero cuando comienzo a leer libros introductorios sobre este tema, descubrí que me perdí muchos puntos relacionados principalmente con las matemáticas.

¿Entonces estoy aquí buscando lo que debería aprender antes de que pueda aprender nlp, bueno, más suavemente?

Gracias por adelantado.


En este momento, existen dos enfoques principales para la PNL: uno es el enfoque basado en el lenguaje detallado por Jurafsky y Martin ( Procesamiento del habla y lenguaje ) y el otro es un enfoque basado en la probabilidad y la estadística ( Fundamentos del procesamiento estadístico del lenguaje natural ).

La mayoría de las personas con las que he hablado tienden a preferir esto último en cuanto a la facilidad de aumento y los resultados útiles. Así que recomendaría revisar primero la teoría de la probabilidad y luego abordar un libro de PNL (como el segundo al que me vinculé, que en realidad estoy usando en un proyecto en este momento con resultados bastante buenos).

Si bien estoy de acuerdo con laura en que la teoría del lenguaje formal es muy útil, en realidad creo que actualmente si solo quieres entrar en las partes reales de la PNL en la NL, puedes dejar los lenguajes formales para más adelante, ya que hay suficientes herramientas que harán tu análisis léxico / análisis / tokenización / transformaciones de texto que puedes usar en lugar de rodar las tuyas.

Aquí hay un libro que describe tres de estas herramientas: lo poseo y lo recomiendo como una buena introducción a las tres. Aplicaciones de búsqueda de edificios: Lucene, LingPipe y Gate

Edición: en respuesta a su pregunta, diría que el primer paso sería obtener una base completa en los conceptos básicos de probabilidad (los primeros 3-5 capítulos de cualquier libro de licenciatura de estadísticas / problemas deberían estar bien), y luego desde allí busque nuevos temas a medida que aparezcan en el libro de PNL. Por ejemplo, ayer tuve que aprender sobre los valores de t o algo (soy malo con los nombres) porque resultaron ser relevantes para determinar la incidencia de la colocación.



También recomendaría estudiar lógica: lógica de predicado de primer orden para principiantes, pero también lógicas de orden superior (que son útiles para razonar sobre creencias, intenciones, conocimientos, etc.), es decir, considerar la declaración "La luna está hecha de queso verde. "vs" Creo que la luna está hecha de queso verde ".

Estudiar lógica es útil para trabajar con representaciones de significado. Las gramáticas, los idiomas, etc. son útiles para el análisis, etc., pero el lenguaje no encaja perfectamente en una buena gramática fácil de analizar porque, bueno, somos humanos :)

El póster anterior señaló sobre estadísticas y probabilidad, muy importante en los enfoques actuales. También es posible que desee ver el trabajo de Judea Pearl en las redes de inferencia probabilística.

También es posible que desee ver algunos proyectos como CYC. Comenzó como un proyecto para representar el conocimiento del sentido común (en última instancia, el lenguaje se usa para ingresar un significado, y ese significado debe ser representado, por lo que la representación del conocimiento es muy importante). Originalmente comenzó con un enfoque basado en marcos, pero al final parece que básicamente estaba usando una variante de la lógica de primer orden.

Algunas personas del proyecto CYC trabajaron en la web semántica, que también tiene que ver con la representación de significado, y notarán que la representación de la web semántica es una vez más un equivalente XML de la lógica de predicado de primer orden.


Una de las cosas que definitivamente necesitará es un buen conocimiento en el área del lenguaje formal (autómatas, gramáticas sin contexto, gramáticas sensibles al contexto). La mayoría de las cosas que he visto se basan en gran medida en esto: el mejor libro para principiantes es, en mi opinión, "Introducción a los lenguajes formales" de Hopcroft, Ullman & co.

También he visto algunas técnicas relacionadas con las redes neuronales, pero no sé mucho sobre ellas.

Una tercera técnica (desarrollada en cierta medida en el área del lenguaje formal) se basa en la computación molecular, pero no está seguro de su uso. Miraría en los libros de A. Paun para eso.


Yo solo estoy entrando en este campo, pero si no estás seguro de con qué lenguaje de programación, recomendaría Python. Es una respuesta simple a muchas investigaciones sobre el tema. Python es fácil de aprender, extremadamente versátil, práctico para una amplia gama de tareas informáticas y ampliamente adoptado. Perfecto para la PNL. Para una introducción a Python y cómo usarlo en la PNL, recomiendo el libro:

Procesamiento de lenguaje natural con Python --- Análisis de texto con el kit de herramientas de lenguaje natural por Steven Bird, Ewan Klein y Edward Loper

http://nltk.org/book/

Y Codecademy te guía a través del aprendizaje de Python, también. http://www.codecademy.com

Espero eso ayude.