No tienes acceso a esta clase

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

No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

11 Días
6 Hrs
30 Min
16 Seg

Recursos léxicos en NLTK

16/24
Recursos

Aportes 9

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

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

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

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. 🤦‍♂️

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

Ahí en esa parte dentro de la función, aún aparece la confusión que hizo el usuario ** gersonrpq**.

Comprobe jugando con el “not in” y el “in” dentro del objeto “content” 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.

```js words_without_stopwords = [word for word in tokens if word.lower() not in stop_words and word.isalpha()] total_words = len(tokens) non_stopword_words = len(words_without_stopwords) percentage_non_stopwords = (non_stopword_words / total_words) * 100 print(f"Total de palabras en el texto: {total_words}") print(f"Total de palabras que no son stopwords: {non_stopword_words}") print(f"Porcentaje de palabras que no son stopwords: {percentage_non_stopwords:.2f}%") ```Total de palabras en el texto: 263333 Total de palabras que no son stopwords: 110390 Porcentaje de palabras que no son stopwords: 41.92%
words\_without\_stopwords = \[word for word in tokens if word.lower() not in stop\_words and word.isalpha()]total\_words = len(tokens)non\_stopword\_words = len(words\_without\_stopwords) percentage\_non\_stopwords = (non\_stopword\_words / total\_words) \* 100 print(f"Total de palabras en el texto: {total\_words}")print(f"Total de palabras que no son stopwords: {non\_stopword\_words}")print(f"Porcentaje de palabras que no son stopwords: {percentage\_non\_stopwords:.2f}%")