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', '.']