lemmatize() 缺少 1 个必需的位置参数:'word'

lemmatize() missing 1 required positional argument: 'word'

当我尝试像这样将其传递给词形还原器时:

def lemmatization(token_txt):
    text = [wn.lemmatize(word) for word in token_txt]
   # text = [[wn.lemmatize(word) for word in l] for l in token_text]
    return text

data['Tweet_lem'] = data['Tweet_sw'].apply(lambda x:lemmatization(x))
data.head()

我收到以下错误

TypeError: lemmatize() missing 1 required positional argument: 'word'

当我让它 运行 像这样:

def lemmatization(token_txt):
      # text = [wn.lemmatize(word) for word in token_txt]
        text = [[wn.lemmatize(word) for word in l] for l in token_text]
        return text


data['Tweet_lem'] = data['Tweet_sw'].apply(lambda x:lemmatization(x))
data.head()

我收到这个错误

NameError: name 'token_text' is not defined

我需要做什么?

我正在尝试将该功能应用于标点符号和停用词删除的句子。不应用词干提取和标记化步骤。

DataSet

DataSet new

Full example first part

Full example second part

经过一些评论,我终于明白了这个问题。 这是你导入WordNetLemmatizer的方式,导入如下: import nltk wn = nltk.WordNetLemmatizer() 然后你可以像你已经做的那样使用它,即: wn.lemmatize("hello")