我在csv文件中的每一行都有一个数组,如下所示:
[['thxx'], ['too', 'late', 'now', 'dumbass'], ['you', '‘', 're', 'so', 'dumb', '?', '?'], ['thxxx'], ['i', '‘', 'd', 'be', 'fucked']]
[当我尝试将其传递给这样的词机时:
from nltk.stem import WordNetLemmatizer
lemmatized_words = [WordNetLemmatizer.lemmatize(word) for word in tokened_text]
print(lemmatized_words)
我收到以下错误:
TypeError: lemmatize() missing 1 required positional argument: 'word'
为什么?
作为附带问题:在传递给Vectorization之前,我需要这样做吗?我正在构建一个机器学习模型,并看到sci kit中的CountVectorizer函数学习了,但是也没有事先找到任何信息进行了词素化等。
WordNetLemmatizer
是一个类,您需要首先实例化它
tokened_text
是嵌套列表,因此您需要嵌套列表理解来保留结构。另外lemmatize
还需要一个字符串。from nltk.stem import WordNetLemmatizer
wnl = WordNetLemmatizer()
lemmatized_words = [[wnl.lemmatize(word) for word in l] for l in tokened_text]