No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Compra acceso a todo Platzi por 1 a帽o

Antes: $249

Currency
$209/a帽o

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscr铆bete

Termina en:

15D
14H
5M
56S

Recursos l茅xicos en NLTK

16/24
Recursos

Aportes 7

Preguntas 3

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

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)?

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)

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

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 鈥渟topwords鈥 sin saberlo. 馃う鈥嶁檪锔

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

  • 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)
    

Ah铆 en esa parte dentro de la funci贸n, a煤n aparece la confusi贸n que hizo el usuario ** gersonrpq**.

Comprobe jugando con el 鈥渘ot in鈥 y el 鈥渋n鈥 dentro del objeto 鈥渃ontent鈥 y me sali贸 que el porcentaje de stopwords es de 47% (0.471鈥):

content = [word for word in text if word.lower() in stopwd]

Y el resto del contenido del texto, un 53% (0.528鈥)

content = [word for word in text if word.lower() not in stopwd]

Y as铆 le encontr茅 sentido a la funci贸n. Lo que sumado ambos porcentajes da 100%.
Saludos.