PNL | Chunking y chinking con RegEx

La extracción de fragmentos o el análisis parcial es un proceso de extracción significativa de frases cortas de la oración (etiquetadas como parte del discurso). 
Los fragmentos se componen de palabras y los tipos de palabras se definen utilizando las etiquetas de parte del discurso. Incluso se puede definir un patrón o palabras que no pueden ser parte de chuck y esas palabras se conocen como chinks . Una clase ChunkRule especifica qué palabras o patrones incluir y excluir en un fragmento. 

Definición de patrones de fragmento: los patrones 
de tirada son expresiones regulares normales que se modifican y diseñan para coincidir con la etiqueta de parte del discurso diseñada para coincidir con secuencias de etiquetas de parte del discurso. Los corchetes angulares se utilizan para especificar una etiqueta individual, por ejemplo, para que coincida con una etiqueta de nombre . Se pueden definir múltiples etiquetas de la misma manera. 

Código #1: Conversión de fragmentos a patrón RegEx. 

Python3

# Laading Library
from nltk.chunk.regexp import tag_pattern2re_pattern
 
# Chunk Pattern to RegEx Pattern
print("Chunk Pattern : ", tag_pattern2re_pattern('<DT>?<NN.*>+'))

Producción : 

Chunk Pattern :  ()?(<(NN[^\{\}]*)>)+

Las llaves se usan para especificar un fragmento como {} y para especificar el patrón de grietas, simplemente se pueden voltear las llaves }{. Para un tipo de frase en particular, estas reglas (fragmentos y patrones de grietas) se pueden combinar en la gramática.

Código #2: Analizando la oración con RegExParser.  

Python3

from nltk.chunk import RegexpParser
 
# Introducing the Pattern
chunker = RegexpParser(r'''
NP:
{<DT><NN.*><.*>*<NN.*>}
}<VB.*>{
''')
 
chunker.parse([('the', 'DT'), ('book', 'NN'), (
    'has', 'VBZ'), ('many', 'JJ'), ('chapters', 'NNS')])

Producción : 

Tree('S', [Tree('NP', [('the', 'DT'), ('book', 'NN')]), ('has', 'VBZ'), 
Tree('NP', [('many', 'JJ'), ('chapters', 'NNS')])])

Publicación traducida automáticamente

Artículo escrito por Mohit Gupta_OMG 🙂 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *