PNL | Filtrado de palabras insignificantes

Muchas de las palabras utilizadas en la frase son insignificantes y no tienen significado. Por ejemplo, el inglés es una materia. Aquí, ‘English’ y ‘subject’ son las palabras más significativas y ‘is’, ‘a’ son casi inútiles. Sujeto en inglés y sujeto en inglés tienen el mismo significado incluso si eliminamos las palabras insignificantes – (‘es’, ‘a’). Usando el nltk, podemos eliminar las palabras insignificantes mirando sus etiquetas de parte del discurso. Para eso, tenemos que decidir qué etiquetas de parte del discurso son significativas.

Código #1: clase filter_insignificant() para filtrar las palabras insignificantes

def filter_insignificant(chunk, 
                         tag_suffixes =['DT', 'CC']):    
    good = []
      
    for word, tag in chunk:
        ok = True
          
    for suffix in tag_suffixes:
        if tag.endswith(suffix):
            ok = False
            break
  
        if ok:
            good.append((word, tag))
              
    return good

filter_insignificant()comprueba si esa etiqueta termina (para cada etiqueta) con tag_suffixes iterando sobre las palabras etiquetadas en el fragmento. La palabra etiquetada se omite si la etiqueta termina con cualquiera de los tag_suffixes. De lo contrario, si la etiqueta está bien, la palabra etiquetada se agrega a un nuevo fragmento bueno que se devuelve.

Código #2: Usar filter_insignificant()en una frase

from transforms import filter_insignificant
  
print ("Significant words : \n", 
       filter_insignificant([('the', 'DT'), 
                             ('terrible', 'JJ'), ('movie', 'NN')]))

Producción :

Significant words : 
[('terrible', 'JJ'), ('movie', 'NN')]

Podemos pasar diferentes sufijos de etiquetas usando filter_insignificant(). En el siguiente código, estamos hablando de pronombres y palabras posesivas como your, you, their y theirs no son buenas, pero las palabras DT y CC están bien. Los sufijos de las etiquetas serían entonces PRP y PRP$:
 
Código n.º 3: pasar nuestros propios sufijos de etiquetas usandofilter_insignificant()

from transforms import filter_insignificant
  
# choosing tag_suffixes
print ("Significant words : \n", 
       filter_insignificant([('your', 'PRP$'), 
                             ('book', 'NN'), ('is', 'VBZ'), 
                             ('great', 'JJ')], 
        tag_suffixes = ['PRP', 'PRP$']))

Producción :

Significant words : 
[('book', 'NN'), ('is', 'VBZ'), ('great', 'JJ')]

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 *