PNL: ¿Cuáles son las aplicaciones del análisis en el procesamiento del lenguaje natural?

Estrictamente hablando, un CFG normal no puede analizar oraciones en lenguaje natural (que solo puede funcionar en lenguajes formales como lenguajes de programación), trabajará con un PCFG (CFG probabilístico) que intenta adivinar cuál es el análisis más probable para la frase.

Ahora, ¿por qué es importante el análisis?

El lenguaje es solo una forma de expresar los hechos que se han expuesto.
Qué es lo que diferencia, una versión de una oración (es decir, simplemente baraja las palabras en una oración) de la oración original en sí misma, el hecho de que la oración original tiene una estructura que establece las relaciones entre diferentes entidades y propiedades. Esta estructura se captura en el árbol de análisis de la oración.

1) Los árboles Parse ayudan en el reconocimiento de entidades con nombre, extracción de relaciones

Extracción de trozos con NLTK

2) Traducción

De cada oración, extraemos una especie de gráfico de conocimiento que es algo agnóstico al lenguaje. Esto se construye inspeccionando el árbol de análisis y determinando las conexiones / relaciones entre los diversos nodos en el gráfico.
Se construye una representación UNL Interlingua para la oración. Puede obtener una idea de las estructuras de árbol / gráfico de conocimiento desde aquí:

Introducción a la UNL
http://cerc.wvu.edu/download/WOR…

Luego, selecciona la representación UNL y la traduce al idioma de destino.

Entonces, si tiene 20 idiomas, no necesita 20 × 19 = 380 traductores; solo necesita 20 * 2 = 40 traductores para poder manejar las conversiones. (20 idiomas a UNL) y (UNL a 20 idiomas).

Eche un vistazo a la salida del Stanford NLP Parser. Podría darle algunas ideas sobre cómo es útil analizar la salida:

El grupo Stanford NLP (procesamiento del lenguaje natural)

El análisis ayuda a analizar el texto de entrada al asociarle contexto gramatical adicional.

También puede ayudar a identificar los sujetos, objetos de interés, partes de la información del habla, etc.

Las aplicaciones se pueden construir sobre ella utilizando esta información para mejorar los resultados de su caso de uso específico. Algunas de las aplicaciones donde se usaría el análisis sería la predicción del idioma, la traducción, los chatbots, etc.

La parte superior de mi cabeza :-

El etiquetado de roles semántico, entre otras cosas, puede hacer uso del gráfico de dependencia de las oraciones. El etiquetado de roles semántico colectivo con la lógica de Markov podría darle una idea de la tarea del etiquetado de roles semántico.

El etiquetado de roles semántico puede ser útil en tareas más complicadas, como la extracción de relaciones y la respuesta a preguntas.

Sin embargo, no creo que la mayoría de los analizadores de lenguaje natural utilicen la “gramática libre de contexto”. El hecho de que los lenguajes naturales no estén libres de contexto es la causa de mucha ambigüedad.

(En un apuro ahora, volveré con más casos de uso y ejemplos más adelante)

En general, casi siempre puede prescindir de análisis, e incluso en los casos en que puede ayudar, las personas a menudo prescinden de él, porque tiende a proporcionar una mejora demasiado pequeña para demasiados problemas adicionales.

Un corrector gramatical es un caso de uso típico para el análisis. Aún así, muchos correctores gramaticales utilizan algún tipo de análisis superficial en el mejor de los casos, o ningún análisis.

Implementamos un sistema de edición automática de traducción automática que se basa en el análisis (funciona significativamente peor cuando no se proporciona un árbol de análisis). Depfix | ÚFAL Actualmente estamos trabajando en un sistema que sería estadístico, es decir, extraería características de los árboles de análisis y aprendería a hacer las correcciones automáticamente.

También tenemos un sistema de traducción automática que analiza la oración de entrada (en una estructura más profunda que un árbol de análisis típico), la transfiere al otro idioma usando características de contexto de árbol y genera la traducción del árbol. Sin embargo, generalmente funciona peor que los sistemas basados ​​en frases simples, aunque comete diferentes tipos de errores y, por lo tanto, una combinación de sistemas es ventajosa. TectoMT | ÚFAL

En general, no puede tomar fácilmente una oración analizada completa como una característica. Por lo general, define características locales de árbol (es decir, características para una palabra dada tomada de sus vecinos de árbol en lugar de sus vecinos lineales), o usa núcleos de árbol (es decir, compara cuán similar es un árbol a otro árbol).

Y, como otros han señalado, el uso de CFG simples para el análisis del lenguaje natural no es lo que la gente suele hacer; Se utilizan PCFG.

Además, la tendencia es utilizar el análisis de dependencias en lugar del análisis de circunscripciones, por lo que tiene un analizador de dependencias (como el analizador MALT o el analizador MST), o un analizador y convertidor de circunscripciones a árboles de dependencias (como se hace con el analizador Stanford).