No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Recursos léxicos en NLTK

16/24
Recursos

Aportes 6

Preguntas 2

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Tengo una duda.
Si en el content estoy tomando solo las palabras que no esten en stopwd, ¿ Como es que len(content)/len(text) es el porcentaje de stopwords?, ¿no deberia ser 1 - len(content)/len(text)?

def stopwords_percentage(text):

  stopwd = stopwords.words('english')
  # content = [w  for w in text if w.lower() not in stopwd]
  content = [w  for w in text if w.lower()  in stopwd]
  return len(content)/len(text)

Sólo quitamos el not y listo
Porcentaje de stop words

Vocabulario: Lista donde tenemos todas las palabras únicas de un corpus.

Exacto, como mencionan otros estudiantes, la funcion stopwords_percentage tal y como esta en la clase devuelve la cantidad de palabras que no son stopwords.

Para arreglarlo como ya mencionaron otros estudiantes, se pudiera cambiar la condicion del list comprehension de not in a in

O cambiar len(content)/len(text) a 1 - len(content)/len(text)

Saber de los stopwords me hubiera sido tan util hace un año cuando implementé en PHP a mano limpia (y sucia) una coleccion de “stopwords” sin saberlo. 🤦‍♂️

  • Recursos léxicos

    Colecciones de palabras o frases que puede o no contener metadatos de la colección

    ejemplo

    Le puedes decir que se calle que ame va a enloquecer

    Calle[verbo] conjugación del verbo callar

    Ten cuidado al cruzar la calle porque el semáforo esta en rojo

    Calle[sustantivo] Referencia al espacio publico por donde hay transito

    • Cuando tenemos una palabra con multiples significados es recomendable agrupas a estas en un lexicon
  • Librerias

    import nltk
    nltk.download('book')
    from nltk.book import *
    from nltk.corpus import stopwords
    
  • Vocabulario y frecuencia

    # eL VOCABULARIO SON PALABRAS UNICAS EN EL CORPUS
    
    vocab= sorted(set(text1))
    vocab
    
    #Distribucion es la frecuencia en que aparece una palabra
    
    word_freq= FreqDist(text1)
    
  • Uso de stopwords (porcentaje)

    def stopwords_percentage(text):
        stopwd= stopwords.words('english')
        content  = [w for w in text if w.lower() in stopwd]
        return len(content)/len(text)
    
  • Uso de la funcion

    stopwords_percentage(text1)