- Python - 文本处理
- Python - 文本处理简介
- Python - 文本处理环境
- Python - 字符串不可变性
- Python - 对行排序
- Python - 重新设置段落格式
- Python - 计数段落中的标记
- Python - 二进制 ASCII 转换
- Python - 将字符串作为文件
- Python - 向后读取文件
- Python - 过滤重复单词
- Python - 从文本中提取电子邮件
- Python - 从文本中提取网址
- Python - 美化输出
- Python - 文本处理状态机
- Python - 大写转换和翻译
- Python - 标记化
- Python - 删除停用词
- Python - 同义词和反义词
- Python - 文本翻译
- Python - 替换单词
- Python - 拼写检查
- Python - WordNet 接口
- Python - 语料库访问
- Python - 标记单词
- Python - 块和裂缝
- Python - 块分类
- Python - 文本分类
- Python - 双词
- Python - 处理 PDF
- Python - 处理 Word 文档
- Python - 读取 RSS 提要
- Python - 情绪分析
- Python - 搜索和匹配
- Python - 文本整理
- Python - 文本包装
- Python - 频率分布
- Python - 文本摘要
- Python - 词干提取算法
- Python - 受限搜索
Python - 过滤重复单词
很多时候,我们需要分析文本,只需要了解该文件中存在的唯一单词。因此,我们需要从文本中去除重复单词。我们需要使用 nltk 中可用的单词标记化和集合函数,才能实现这一点。
不保留顺序
在下面的示例中,我们首先将句子标记为词语。然后,我们应用 create() 函数,该函数创建一个独一无二元素的无序集合。结果包含唯一的单词,不按顺序排列。
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', '.']
广告