Entendamos esto con un ejemplo:
- ¿Nuestro hijo está entrenando lo suficiente?
- ¿Nuestro hijo está entrenando lo suficiente?
El verbo ‘es’ solo se puede usar con sustantivos singulares. Para los sustantivos en plural, usamos ‘are’. Este problema es muy común en el mundo real y podemos corregir este error creando asignaciones de corrección de verbos que se usan dependiendo de si hay un sustantivo en plural o singular en el fragmento.
Código #1: clase singularize_plural_noun()
def singularize_plural_noun(chunk): nnsidx = first_chunk_index(chunk, tag_equals('NNS')) if nnsidx is not None and nnsidx + 1 < len(chunk) and chunk[nnsidx + 1][1][:2] == 'NN': noun, nnstag = chunk[nnsidx] chunk[nnsidx] = (noun.rstrip('s'), nnstag.rstrip('S')) return chunk
Código #2: Singularización de Plurales
singularize_plural_noun([('recipes', 'NNS'), ('book', 'NN')])
Producción :
[('recipe', 'NN'), ('book', 'NN')]
El código anterior busca la etiqueta NNS para buscar Sustantivo plural. Después de encontrarlo, si la siguiente palabra es un sustantivo (determinado al asegurarnos de que la etiqueta comience con NN), entonces eliminamos el plural del sustantivo eliminando la ‘s’ del lado derecho tanto de la etiqueta como de la palabra.
Intercambio de frases infinitas
Una frase en infinitivo tiene la forma A de B , como ‘world of movies’. On puede transformar esto en ‘movies world’ y aún tiene el mismo significado.
Código #3: Comprendamos la clase swap_infinitive_phrase()
def swap_infinitive_phrase(chunk): def inpred(wt): word, tag = wt return tag == 'IN' and word != 'like' inidx = first_chunk_index(chunk, inpred) if inidx is None: return chunk nnidx = first_chunk_index(chunk, tag_startswith('NN'), start = inidx, step =-1) or 0 return chunk[:nnidx] + chunk[inidx + 1:] + chunk[nnidx:inidx]
Código #4: Evaluemos swap_infinitive_phrase
from transforms import swap_infinitive_phrase swap_infinitive_phrase([('book', 'NN'), ('of', 'IN'), ('recipes', 'NNS')])
Producción :
[('recipes', 'NNS'), ('book', 'NN')]
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