我正在尝试使用NLTK的WordNetLemmatizer来对句子中的所有单词进行词形还原。我有很多句子,但只使用第一句话来确保我正确地完成了这个任务。以下是我的代码:
train_sentences[0]
"Explanation Why edits made username Hardcore Metallica Fan reverted? They vandalisms, closure GAs I voted New York Dolls FAC. And please remove template talk page since I'm retired now.89.205.38.27"
所以现在我尝试将每个单词进行词形还原,方法如下:
lemmatizer = WordNetLemmatizer()
new_sent = [lemmatizer.lemmatize(word) for word in train_sentences[0].split()]
print(new_sent)
我得到了回复:
['Explanation', 'Why', 'edits', 'made', 'username', 'Hardcore', 'Metallica', 'Fan', 'reverted?', 'They', 'vandalisms,', 'closure', 'GAs', 'I', 'voted', 'New', 'York', 'Dolls', 'FAC.', 'And', 'please', 'remove', 'template', 'talk', 'page', 'since', "I'm", 'retired', 'now.89.205.38.27']
一些问题:
1)为什么“edits”没有被转换成“edit”?如果我执行
lemmatizer.lemmatize("edits")
,我会得到edits
,但还是感到惊讶。2)为什么“vandalisms”没有被转换成“vandalism”?这个非常令人惊讶,因为如果我执行
lemmatizer.lemmatize("vandalisms")
,我会得到vandalism
...任何澄清/指导都将是非常棒的!