from nltk.stem import PorterStemmer
stemmer = PorterStemmer()
class StemmedTfidfVectorizer(TfidfVectorizer):
def build_analyzer(self):
analyzer = super(TfidfVectorizer, self).build_analyzer()
return lambda doc: stemmer.stem(analyzer(doc))当我运行上述代码行时,会得到以下错误。
返回lambda doc: stemmer.stem(分析器(Doc)) 文件"/usr/local/lib/python2.7/dist-packages/nltk/stem/porter.py",第654行,在茎中 茎= word.lower() AttributeError:'list‘对象没有属性'lower’
如何解决这个错误?
发布于 2018-03-08 06:53:56
您要在stemmer.stem() .The方法中传递一个list对象,该方法接受一个字符串对象作为输入。
来自文档
from nltk.stem.porter import *
stemmer = PorterStemmer()
plurals = ['caresses', 'flies', 'dies', 'mules', 'denied']
singles = [stemmer.stem(plural) for plural in plurals] # ---> loop through the list and process each element. https://stackoverflow.com/questions/49166343
复制相似问题