移除停用词并缩减数据集
在本练习中,您将从数据中移除停用词。停用词是一些常见但往往信息量不大的词,例如 "I"、"the"、"a" 等。您可以用自定义列表移除许多显而易见的停用词。但在本练习中,您只需从环境中已经为您提供的精选列表 stop_words 中移除这些停用词。
移除停用词后,您将创建一个成对 RDD(pair RDD),其中每个元素是一个二元组 (k, v),k 是键,v 是值。在本例中,pair RDD 的形式为 (w, 1),其中 w 是 RDD 中的每个词,1 是一个数。最后,您将把 pair RDD 中键相同的值进行合并,以统计每个词的出现次数。
请记住,您的工作区中已经提供了 SparkContext sc、splitRDD,以及列表变量 stop_words。
本练习是课程的一部分
使用 PySpark 的大数据基础
练习说明
- 过滤
splitRDD,移除在变量stop_words中列出的停用词。 - 从
splitRDD的每个词元素创建一个 pair RDD 二元组,包含该词(使用迭代变量w)以及数字1。 - 获取 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)