Začněte nyníZačněte zdarma

Stopslova a hašování

Dalšími kroky bude odstranění stopwords a následná aplikace hašovacího triku, kdy výsledky převedeme na TF-IDF.

Krátké připomenutí těchto konceptů:

  • Hašovací trik nabízí rychlý a paměťově úsporný způsob, jak namapovat velmi velkou (potenciálně nekonečnou) množinu prvků (v tomto případě všechna slova ze SMS zpráv) na menší, konečný počet hodnot.
  • Matice TF-IDF vyjadřuje, jak důležité je dané slovo pro každý dokument. Zohledňuje jak četnost slova v rámci jednotlivého dokumentu, tak jeho četnost napříč celou kolekcí dokumentů.

Tokenizovaná SMS data jsou uložena v sms ve sloupci words. Zpracování mezer v datech je už vyčištěno, takže tokenizovaný text je přehlednější.

Toto cvičení je součástí kurzu

Machine Learning with PySpark

Zobrazit kurz

Pokyny k cvičení

  • Importuj třídy StopWordsRemover, HashingTF a IDF.
  • Vytvoř objekt StopWordsRemover (vstupní sloupec words, výstupní sloupec terms) a aplikuj ho na sms.
  • Vytvoř objekt HashingTF (vstup z předchozího kroku, výstupní sloupec hash) a aplikuj ho na wrangled.
  • Vytvoř objekt IDF (vstup z předchozího kroku, výstupní sloupec features) a aplikuj ho na wrangled.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

from pyspark.ml.____ import ____, ____, ____

# Remove stopwords
wrangled = ____(inputCol=____, outputCol=____)\
      .____(sms)

# Apply the hashing trick
wrangled = ____(____, ____, numFeatures=1024)\
      .____(wrangled)

# Convert hashed symbols to TF-IDF
tf_idf = ____(____, ____)\
      .____(wrangled).____(wrangled)
      
tf_idf.select('terms', 'features').show(4, truncate=False)
Upravit a spustit kód