【发布时间】:2012-05-17 08:34:47
【问题描述】:
假设我有一个字符串text = "A compiler translates code from a source language"。我想做两件事:
我需要使用
NLTK库遍历每个单词和词干。词干提取功能是PorterStemmer().stem_word(word)。我们必须传递参数'word'。如何对每个单词进行词干并取回词干的句子?-
我需要从
text字符串中删除某些停用词。包含停用词的列表存储在文本文件中(空格分隔)stopwordsfile = open('c:/stopwordlist.txt','r+') stopwordslist=stopwordsfile.read()如何从
text中删除这些停用词并获得干净的新字符串?
【问题讨论】:
-
for word in text.split(' '): stemmer.stem_word(word)? -
stemmed = for word in text.split(' '): stemmer.stem_word(word) 可以吗?
-
不完全是。如果你想要一个词干列表,你可以做
stemmed = [stemmer.stem_word(w) for w in text.split(' ')]。如果你想要一个句子,你可以做sente = ' '.join(stemmed),它会返回一个包含所有词干的句子。让我知道这是否有帮助。 -
@birryree 谢谢 :) 我用 " ".join(PorterStemmer().stem_word(word) for word in text.split(" ")) 做到了