移除停用字並彙整資料集
在這個練習中,你會從資料中移除停用字。停用字是一些常見但通常沒有分析價值的詞,例如「I」、「the」、「a」等。你可以用自己的清單移除許多顯而易見的停用字。不過在本練習中,你只需要移除環境中已提供、經整理的 stop_words 清單裡的停用字。
移除停用字之後,你會建立一個 pair RDD,其中每個元素都是一個 pair tuple (k, v),k 是鍵、v 是值。在這個例子中,pair RDD 的元素是 (w, 1),其中 w 代表 RDD 中的每個單字,而 1 是數字。最後,你會將 pair RDD 中鍵相同的值加總,以統計每個單字的出現次數。
請記得,你的工作環境中已經有 SparkContext sc 與 splitRDD,以及清單變數 stop_words 可供使用。
本練習屬於課程
使用 PySpark 的 Big Data 基礎
練習說明
- 用
filter篩選splitRDD,移除stop_words變數清單中的停用字。 - 以
w作為迭代變數,從splitRDD的每個單字元素建立包含該單字與數字1的 pair RDD tuple。 - 取得 pair RDD 中每個單字的出現次數(詞頻)。請使用針對鍵值(k,v)配對運作的轉換。仔細思考此處應該使用哪個函式。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# 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)