Python - Filter Kata Duplikat

Sering kali, kami perlu menganalisis teks hanya untuk kata-kata unik yang ada dalam file. Jadi, kita perlu menghilangkan kata-kata duplikat dari teks. Ini dicapai dengan menggunakan kata tokenisasi dan mengatur fungsi yang tersedia di nltk.

Tanpa menjaga ketertiban

Dalam contoh di bawah ini, pertama-tama kita mentokenisasi kalimat menjadi kata-kata. Kemudian kami menerapkan fungsi set () yang membuat koleksi elemen unik yang tidak berurutan. Hasilnya memiliki kata-kata unik yang tidak diurutkan.

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

Ketika kami menjalankan program di atas, kami mendapatkan output berikut -

['blue', 'Rainbow', 'is', 'Sky', 'colour', 'ocean', 'also', 'a', '.', 'The', 'has', 'the']

Melestarikan Ketertiban

Untuk mendapatkan kata-kata setelah menghapus duplikat tetapi tetap mempertahankan urutan kata dalam kalimat, kami membaca kata-kata tersebut dan menambahkannya ke daftar dengan menambahkannya.

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

Ketika kami menjalankan program di atas, kami mendapatkan output berikut -

['The', 'Sky', 'is', 'blue', 'also', 'the', 'ocean', 'Rainbow', 'has', 'a', 'colour', '.']