当前位置: 首页 > 文档资料 > Python 文本处理 >

Filter Duplicate Words

优质
小牛编辑
131浏览
2023-12-01

很多时候,我们需要仅针对文件中存在的唯一单词分析文本。 因此,我们需要从文本中删除重复的单词。 这是通过使用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', '.']