Python-重複する単語をフィルタリングする
多くの場合、ファイルに存在する一意の単語についてのみテキストを分析する必要があります。したがって、テキストから重複する単語を削除する必要があります。これは、nltkで使用可能な単語トークン化および集合関数を使用することによって実現されます。
順序を維持せずに
以下の例では、最初に文を単語にトークン化します。次に、一意の要素の順序付けられていないコレクションを作成するset()関数を適用します。結果には、順序付けられていない固有の単語が含まれます。
import nltk
word_data = "The Sky is blue also the ocean is blue also Rainbow has a blue colour."
# First Word tokenization
nltk_tokens = nltk.word_tokenize(word_data)
# Applying Set
no_order = list(set(nltk_tokens))
print no_order
上記のプログラムを実行すると、次の出力が得られます-
['blue', 'Rainbow', 'is', 'Sky', 'colour', 'ocean', 'also', 'a', '.', 'The', 'has', 'the']
秩序の維持
重複を削除した後、文内の単語の順序を維持したまま単語を取得するには、単語を読み取り、追加してリストに追加します。
import nltk
word_data = "The Sky is blue also the ocean is blue also Rainbow has a blue colour."
# First Word tokenization
nltk_tokens = nltk.word_tokenize(word_data)
ordered_tokens = set()
result = []
for word in nltk_tokens:
if word not in ordered_tokens:
ordered_tokens.add(word)
result.append(word)
print result
上記のプログラムを実行すると、次の出力が得られます-
['The', 'Sky', 'is', 'blue', 'also', 'the', 'ocean', 'Rainbow', 'has', 'a', 'colour', '.']