与NLTK不同的词与非词

时间:2017-01-18 12:58:48

标签: python nltk

在文本词形还原后,我有一个列表列表。对于这个列表中的每个元素,我想弄清楚它是一个单词(“cat”,“dog”,“go”,“red”)还是非单词(“。”,“rand_yh4jhdf”,“'''' ”, “100×200”, “42,44,46”, “22点00分”, “xxx___BATMAN___xxx”)。 这个问题有一个简单的解决方案吗? 如何用Python和NLTK区分单词与非单词?

UPD。 (对于一个单词是什么的问题)我想从总垃圾中清除我的列表。删除完全不是一个字的东西。不要触摸复杂的边缘情况。

1 个答案:

答案 0 :(得分:0)

以下内容仅返回没有数字和标点符号的字符串:

import re
test = [".","rand_yh4jhdf","''","100x200","42,44,46","22:00","xxx___BATMAN___xxx", "dog", "cat", "computer"]

words = [word for word in test if re.match("^[a-zA-Z]*$", word)]
print(words)

输出:

['dog', 'cat', 'computer']