我正在研究Python脚本,其中我想删除常见的英语单词,如""," an","",&#34 ;对于"还有很多来自String。目前我所做的是我已经制作了所有这些单词的本地列表,我只需要调用remove()
将其从字符串中删除。但我想在这里实现一些诡计多端的方法。已阅读有关nltk和wordnet的内容,但完全不知道我应该使用什么以及如何使用它。
修改
嗯,我不明白为什么标记为重复,因为我的问题并不意味着我知道停止词语,现在我只想知道如何使用它......问题是关于我可以在我的场景中使用什么,并回答这个问题就是停止的话......但是当我发布这个问题时,我对停止词语一无所知。
答案 0 :(得分:2)
这样做。
vocabular = set (english_dictionary)
unique_words = [word for word in source_text.split() if word not in vocabular]
尽可能简单有效。如果您不需要独特单词的位置,请将它们set
制作出来!运算符in
在集合上非常快(在列表和其他容器上运行缓慢)
答案 1 :(得分:0)
这也有效:
yourString = "an elevator is made for five people and it's fast"
wordsToRemove = ["the ", "an ", "and ", "for "]
for word in wordsToRemove:
yourString = yourString .replace(word, "")
答案 2 :(得分:0)
我发现我所寻找的是:
from nltk.corpus import stopwords
my_stop_words = stopwords.words('english')
现在我可以删除或替换我的列表/字符串中的单词,我在my_stop_words中找到匹配的列表。
为了实现这个目的,我不得不下载用于python的NLTK,并使用我的下载器下载了stopwords包。
它还包含许多其他包,可用于NLP的不同情况,如words,brown,wordnet etc.