El Procesamiento del Lenguaje Natural (PNL) es un campo de estudio que se ocupa de la comprensión, interpretación y manipulación de los lenguajes hablados por humanos usando computadoras.
Dado que la mayor parte de la información importante está escrita en lenguajes naturales como inglés, francés, alemán, etc., la PNL ayuda a las computadoras a comunicarse con los humanos en sus propios idiomas y realizar otras tareas relacionadas con el lenguaje.
En conclusión, la PNL hace posible que las computadoras lean el texto, escuchen el discurso, lo interpreten y se den cuenta, entiendan el sentimiento e identifiquen partes importantes de un texto o discurso.
¿Qué es la sintaxis?
Un lenguaje natural normalmente sigue una estructura jerárquica y contiene los siguientes componentes:
- Oraciones
- Cláusulas
- frases
- Palabras
La sintaxis se refiere al conjunto de reglas, principios, procesos que gobiernan la estructura de las oraciones en un lenguaje natural. Una descripción básica de la sintaxis es cómo se secuencian diferentes palabras como Sujeto, Verbos, Sustantivos, Sintagmas nominales, etc. en una oración.
Algunas de las categorías sintácticas de un lenguaje natural son las siguientes:
- Oraciones)
- Frase nominal (NP)
- Determinante (Det)
- Frase verbal (VP)
- Frase preposicional (PP)
- Verbo(V)
- Sustantivo (N)
Árbol de sintaxis:
un árbol de sintaxis o un árbol de análisis es una representación de árbol de diferentes categorías sintácticas de una oración. Nos ayuda a comprender la estructura sintáctica de una oración.
Ejemplo:
El árbol de sintaxis de la siguiente oración es el siguiente:
Conduzco un automóvil a mi universidad.
Código: árbol de sintaxis en Python
Python3
# Import required libraries import nltk nltk.download('punkt') nltk.download('averaged_perceptron_tagger') from nltk import pos_tag, word_tokenize, RegexpParser # Example text sample_text = "The quick brown fox jumps over the lazy dog" # Find all parts of speech in above sentence tagged = pos_tag(word_tokenize(sample_text)) #Extract all parts of speech from any text chunker = RegexpParser(""" NP: {<DT>?<JJ>*<NN>} #To extract Noun Phrases P: {<IN>} #To extract Prepositions V: {<V.*>} #To extract Verbs PP: { <p> <NP>} #To extract Prepositional Phrases VP: {<V> <NP|PP>*} #To extract Verb Phrases """) # Print all parts of speech in above sentence output = chunker.parse(tagged) print("After Extracting\n", output)
Producción:
Código: para dibujar la sintaxis libre para la oración anterior
Python3
# To draw the parse tree output.draw()
Producción: