Python - Yinelenen Kelimeleri Filtrele
Çoğu zaman, metni yalnızca dosyada bulunan benzersiz kelimeler için analiz etmemiz gerekir. Bu nedenle, yinelenen kelimeleri metinden çıkarmamız gerekir. Bu, nltk'de bulunan tokenizasyon ve set fonksiyonları kullanılarak elde edilir.
Siparişi korumadan
Aşağıdaki örnekte ilk olarak cümleyi kelimelere ayırıyoruz. Daha sonra sırasız benzersiz öğeler koleksiyonu oluşturan set () işlevini uygularız. Sonuç, sıralanmamış benzersiz kelimelere sahip.
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
Yukarıdaki programı çalıştırdığımızda aşağıdaki çıktıyı alıyoruz -
['blue', 'Rainbow', 'is', 'Sky', 'colour', 'ocean', 'also', 'a', '.', 'The', 'has', 'the']
Düzeni Korumak
Yinelenenleri çıkardıktan sonra kelimeleri elde etmek için cümledeki kelimelerin sırasını korumaya devam ederek kelimeleri okur ve ekleyerek listeye ekleriz.
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
Yukarıdaki programı çalıştırdığımızda aşağıdaki çıktıyı alıyoruz -
['The', 'Sky', 'is', 'blue', 'also', 'the', 'ocean', 'Rainbow', 'has', 'a', 'colour', '.']