我正在尝试使用 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)为什么“编辑”没有转化为“编辑”?诚然,如果我这样做lemmatizer.lemmatize("edits")
我回来了edits
但很惊讶。
2)为什么“破坏行为”没有转化为“破坏行为”?这非常令人惊讶,因为如果我这样做lemmatizer.lemmatize("vandalisms")
,我回来了vandalism
...
任何澄清/指导都会很棒!