Análisis sintáctico | Guía para dominar el procesamiento del lenguaje natural (Parte 11)

Contenidos

Este artículo fue publicado como parte del Blogatón de ciencia de datos

Introducción

Este artículo es parte de una serie de blogs en curso sobre el procesamiento del lenguaje natural (PNL). En el artículo anterior, discutimos una técnica de extracción de entidades llamada, por ejemplo, Reconocimiento de entidades nombradas. También existe otra técnica de extracción de entidades que también es una técnica popular llamada Modelado de temas, que discutiremos en los artículos posteriores de nuestra serie de blogs.

Entonces, en este artículo, profundizaremos en el análisis sintáctico, que es uno de los niveles cruciales de la PNL.

Esta es la parte 11 de la serie de blogs sobre la Guía paso a paso para el procesamiento del lenguaje natural.

Tabla de contenido

1. ¿Qué es el análisis sintáctico?

2. ¿Cuál es la diferencia entre análisis sintáctico y léxico?

3. ¿Qué es un analizador?

4. ¿Cuáles son los diferentes tipos de analizadores?

5. ¿Qué es la derivación y sus tipos?

6. ¿Cuáles son los tipos de análisis basados ​​en derivación?

7. ¿Qué es un árbol Parse?

¿Qué es el análisis sintáctico?

El análisis sintáctico se define como el análisis que nos dice el significado lógico de oraciones dadas con certeza o partes de esas oraciones. También debemos considerar las reglas gramaticales para definir el significado lógico y la corrección de las oraciones.

O, en palabras simples, el análisis sintáctico es el proceso de analizar el lenguaje natural con las reglas de la gramática formal. Aplicamos reglas gramaticales solo a categorías y grupos de palabras, no se aplica a palabras individuales.

El análisis sintáctico básicamente asigna una estructura semántica al texto. También se conoce como análisis sintáctico o análisis sintáctico. La palabra ‘parsing’ se origina de la palabra latina ‘pars’ que significa ‘parte’. El análisis sintáctico se ocupa de la sintaxis del lenguaje natural. En el análisis sintáctico se han utilizado reglas gramaticales.

Tomemos un ejemplo para comprender mejor:

Considere la siguiente oración:

Sentence: School go a boy 

La oración anterior no transmite lógicamente su significado y su estructura gramatical no es correcta. Entonces, el análisis sintáctico nos dice si una oración en particular transmite su significado lógico o no y si su estructura gramatical es correcta o no.

Como discutimos los pasos o los diferentes niveles de NLP, el tercer nivel de NLP es el análisis sintáctico o el análisis sintáctico o sintáctico. El objetivo principal de este nivel es extraer el significado exacto, o en palabras simples, puede decir encontrar un significado de diccionario a partir del texto. El análisis de sintaxis comprueba la significación del texto en comparación con las reglas de la gramática formal.

Por ejemplo, considera la siguiente oración

Sentence: “hot ice cream” 

La oración anterior sería rechazada por el analizador semántico.

Ahora, definamos formalmente el análisis sintáctico,

En el sentido anterior, el análisis sintáctico o el análisis sintáctico pueden definirse como el proceso de analizar las cadenas de símbolos en el lenguaje natural conforme a las reglas de la gramática formal.

Diferencia entre análisis léxico y sintáctico

El objetivo del análisis léxico es la limpieza de datos y la extracción de características con la ayuda de técnicas como

  • Derivado,
  • Lematización,
  • Corregir palabras mal escritas, etc.

Pero por el contrario, en el análisis sintáctico nuestro objetivo es:

  • Encuentra los roles que juegan las palabras en una oración,
  • Interpretar la relación entre palabras,
  • Interpretar la estructura gramatical de las oraciones.

Consideremos el siguiente ejemplo con 2 oraciones:

Sentences:
Patna is the capital of Bihar.
Is Patna the of Bihar capital?

En ambas oraciones, todas las palabras son iguales, pero solo la primera oración es sintácticamente correcta y fácilmente comprensible.

Pero no podemos hacer estas distinciones utilizando técnicas básicas de procesamiento léxico. Por lo tanto, necesitamos técnicas de procesamiento de sintaxis más sofisticadas para comprender la relación entre palabras individuales en una oración.

El análisis sintáctico considera los siguientes aspectos de la oración que el léxico no:

Orden y significado de las palabras

El análisis sintáctico tiene como objetivo extraer la dependencia de las palabras con otras palabras en el documento. Si cambiamos el orden de las palabras, será difícil comprender la oración.

Retención de palabras vacías

Si eliminamos las palabras vacías, puede cambiar por completo el significado de una oración.

Morfología de las palabras

La lematización y lematización traerá las palabras a su forma básica, modificando así la gramática de la oración.

Partes del discurso de las palabras en una oración

Es importante identificar la parte gramatical correcta de una palabra.

Por ejemplo, Considere las siguientes frases:

‘cuts on his hand’ (Here ‘cuts’ is a noun) 
‘he cuts an pineapple’ (Here, ‘cuts’ is a verb)

¿Qué es un analizador?

El analizador se utiliza para implementar la tarea de análisis.

Ahora, veamos qué es exactamente un analizador.

Se define como el componente de software que está diseñado para tomar datos de texto de entrada y proporciona una representación estructural de la entrada después de verificar la sintaxis correcta con la ayuda de la gramática formal. También genera una estructura de datos generalmente en forma de árbol de análisis sintáctico o árbol de sintaxis abstracta u otra estructura jerárquica.

top2bdown2bparsing-1037540

Fuente de la imagen: imágenes de Google

Podemos comprender la relevancia del análisis sintáctico en PNL con la ayuda de los siguientes puntos:

  • El analizador se puede utilizar para informar cualquier error de sintaxis.
  • Ayuda a recuperarse de errores que ocurren comúnmente para que el procesamiento del resto del programa pueda continuar.
  • Un árbol de análisis se crea con la ayuda de un analizador.
  • El analizador se utiliza para crear una tabla de símbolos, que juega un papel importante en la PNL.
  • Un analizador también se utiliza para producir representaciones intermedias (IR).

Diferentes tipos de analizadores

Como se discutió, Básicamente, un analizador es una interpretación procedimental de la gramática. Intenta encontrar un árbol óptimo para una oración en particular después de buscar en el espacio de una variedad de árboles.

Analicemos algunos de los analizadores disponibles:

  • Analizador de descenso recursivo
  • Analizador de reducción de mayúsculas y minúsculas
  • Analizador de gráficos
  • Analizador de expresiones regulares

Analizador de descenso recursivo

Es una de las formas de análisis sintáctico más sencillas. Algunos puntos importantes sobre el analizador de descenso recursivo son los siguientes:

  • Sigue un proceso de arriba hacia abajo.
  • Intenta comprobar si la sintaxis del flujo de entrada es correcta o no.
  • Escanea el texto de entrada de izquierda a derecha.
  • La operación necesaria para este tipo de analizadores es escanear caracteres del flujo de entrada y relacionarlos con los terminales con la ayuda de la gramática.

Analizador de reducción de mayúsculas y minúsculas

Algunos de los puntos importantes sobre el analizador sintáctico shift-reduce son los siguientes:

  • Sigue un proceso simple de abajo hacia arriba.
  • Su objetivo es encontrar la secuencia de palabras y frases que corresponde al lado derecho de una producción gramatical y reemplazarlas por el lado izquierdo de la producción.
  • Intenta encontrar una secuencia de palabras que continúe hasta que se reduzca toda la oración.
  • En palabras simples, este analizador comienza con el símbolo de entrada y tiene como objetivo construir el árbol del analizador hasta el símbolo de inicio.

Analizador de gráficos

Algunos de los puntos importantes sobre el analizador de gráficos son los siguientes:

  • Básicamente, este analizador es útil para gramáticas ambiguas, incluidas gramáticas de lenguajes naturales.
  • Aplica el concepto de programación dinámica a los problemas de análisis.
  • Debido a la programación dinámica, almacena resultados hipotéticos parciales en una estructura llamada «gráfico».
  • El ‘gráfico’ también se puede reutilizar en diferentes escenarios.

Analizador de expresiones regulares

Es uno de los analizadores sintácticos más utilizados. Algunos de los puntos importantes sobre el analizador Regexp son los siguientes:

  • Utiliza una expresión regular que se define en forma de gramática en la parte superior de una cadena etiquetada POS.
  • Básicamente, utiliza estas expresiones regulares para analizar las oraciones de entrada y producir un árbol de análisis a partir de esto.

¿Qué es la derivación?

Necesitamos una secuencia de reglas de producción para obtener la cadena de entrada. La derivación es un conjunto de reglas de producción. Durante el análisis, tenemos que decidir el no terminal, que se reemplazará junto con la decisión de la regla de producción con la ayuda de la cual se reemplazará el no terminal.

Tipos de derivación

En esta sección, discutiremos los dos tipos de derivaciones, que se pueden usar para decidir qué no terminal reemplazar con la regla de producción:

Derivación más a la izquierda

En la derivación más a la izquierda, la forma enunciativa de entrada se escanea y se reemplaza de izquierda a derecha. En este caso, la forma de oración se conoce como la forma de oración izquierda.

Derivación más a la derecha

En la derivación más a la izquierda, la forma oracional de entrada se escanea y se reemplaza de derecha a izquierda. En este caso, la forma de la oración se llama la forma de la oración derecha.

Tipos de análisis

La derivación divide el análisis sintáctico en los siguientes dos tipos:

compiler-design-analysis-types-1864964

Fuente de la imagen: imágenes de Google

Análisis de arriba hacia abajo

En el análisis de arriba hacia abajo, el analizador comienza a producir el árbol de análisis a partir del símbolo de inicio y luego intenta transformar el símbolo de inicio en la entrada. La forma más común de análisis de arriba hacia abajo utiliza el procedimiento recursivo para procesar la entrada, pero su principal desventaja es retroceder.

Análisis de abajo hacia arriba

En el análisis de abajo hacia arriba, el analizador comienza a trabajar con el símbolo de entrada e intenta construir el árbol del analizador hasta el símbolo de inicio.

¿Qué es un árbol Parse?

Representa la representación gráfica de una derivación. El símbolo de inicio de la derivación se considera el nodo raíz del árbol de análisis sintáctico y los nodos hoja son terminales y los nodos interiores son no terminales.

La propiedad más útil del árbol de análisis es que el recorrido en orden del árbol producirá la cadena de entrada original.

Por ejemplo, Considere la siguiente oración:

Sentence: the dog saw a man in the park

Después de analizar la oración, el árbol de análisis generado se muestra a continuación:

ch08-tree-4-2877785

Fuente de la imagen: imágenes de Google

¡Esto termina nuestra Parte 11 de la serie de blogs sobre procesamiento del lenguaje natural!

Otras publicaciones de blog mías

También puede consultar mis publicaciones de blog anteriores.

Publicaciones anteriores del blog de ciencia de datos.

LinkedIn

Aquí está mi perfil de Linkedin en caso de que quieras conectarte conmigo. Estaré feliz de estar conectado contigo.

Correo electrónico

Para cualquier consulta, puede enviarme un correo electrónico al Gmail.

Notas finales

¡Gracias por leer!

Espero que les haya gustado el artículo. Si te gusta, compártelo con tus amigos también. ¿Algo no mencionado o quieres compartir tus pensamientos? No dude en comentar a continuación y me pondré en contacto con usted. 😉

Los medios que se muestran en este artículo no son propiedad de DataPeaker y se utilizan a discreción del autor.

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.