始める無料で始める

ストップワードを除去してデータセットを縮約する

この演習では、データからストップワードを除去します。ストップワードとは、"I"、"the"、"a" などの、頻出する一方で分析上あまり重要でない語のことです。自分で作成したリストで明らかなストップワードを除去することもできますが、この演習では環境内で提供されている精選リスト stop_words を使って除去します。

ストップワードを取り除いたら、各要素が (k, v) というペアのタプルから成る pair RDD を作成します。ここでは、RDD 内の各単語 w に対して (w, 1) という形にします。最後に、pair RDD で同じキーを持つ値を集約して、各単語の出現回数を数えます。

作業スペースにはすでに SparkContext scsplitRDD、そしてリスト変数 stop_words が用意されています。

この演習はコースの一部です

PySparkで学ぶBig Data入門

コースを見る

演習の手順

  • 変数 stop_words に挙げられたストップワードを除去するように、splitRDDfilter してください。
  • splitRDD の各単語要素から、単語(イテレータ w を使用)と数値 1 を要素とする pair RDD のタプルを作成してください。
  • 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)
コードを編集して実行