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