LoslegenKostenlos loslegen

Stoppwörter entfernen und den Datensatz verkleinern

In dieser Übung entfernst du Stoppwörter aus den Daten. Stoppwörter sind gebräuchliche Wörter, die für Analysen oft uninteressant sind, zum Beispiel „ich“, „der“, „ein“ und so weiter. Du könntest viele offensichtliche Stoppwörter mit einer eigenen Liste entfernen. Für diese Übung entfernst du aber einfach die Stoppwörter anhand einer kuratierten Liste, stop_words, die schon in den Arbeitsbereich geladen wurde.

Nachdem du die Stoppwörter entfernt hast, erstellst du einen Paar-RDD, bei dem jedes Element ein Tupel (k, v) ist, wobei k der Schlüssel und v der Wert ist. In diesem Beispiel hat der Paar-RDD die Form (w, 1), wobei w für jedes Wort im RDD steht und 1 eine Zahl ist. Schließlich kombinierst du Werte mit demselben Schlüssel im Paar-RDD, um die Häufigkeit für jedes Wort zu bestimmen.

Zur Erinnerung: Der SparkContext sc und splitRDD sind zusammen mit der Listenvariable stop_words schon im Arbeitsbereich geladen.

Diese Übung ist Teil des Kurses

Grundlagen von Big Data mit PySpark

Kurs anzeigen

Anleitung zur Übung

  • Filtere splitRDD, um die in der Variable stop_words aufgeführten Stoppwörter zu entfernen.
  • Erstelle einen Paar-RDD mit Tupeln, die das jeweilige Wort (mittels Iterator w) und die Zahl 1 für jedes Wortelement in splitRDD enthalten.
  • Ermittle die Anzahl des Vorkommens für jedes Wort (Worthäufigkeit) im Paar-RDD. Verwende eine Transformation, die mit Schlüssel-Wert-Paaren (k,v) arbeitet. Überlege dir genau, welche Funktion du hier verwenden solltest.

Interaktive Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# Filter splitRDD to remove stop words from the stop_words curated list
splitRDD_no_stop = splitRDD.____(lambda x: x.lower() not in ____)

# Create a tuple of the word (w) and 1 
splitRDD_no_stop_words = splitRDD_no_stop.map(lambda w: (____, ____))

# Count of the number of occurences of each word
resultRDD = splitRDD_no_stop_words.____(lambda x, y: x + y)
Code bearbeiten und ausführen