0

有几个词使用“-ing”作为现在连续进行,如“闪亮”。但是当我尝试使用 nltk 对“闪亮”进行词形还原时,它变成了“闪亮”。代码是这样的:

from nltk.stem import WordNetLemmatizer

wordnet_lemmatizer = WordNetLemmatizer()
word = "shining"

newlemma = wordnet_lemmatizer.lemmatize(word,'v')
print newlemma

即使不使用'v',它仍然是相同的“闪亮”并且不会改变。我期待输出“闪耀”。有人可以帮忙吗?谢谢

4

1 回答 1

1

由于 WordNet 在搜索根表单时应用规则和例外列表的方式。

它有一个规则列表,特别是删除词尾,例如:

"ing" -> ""
"ing" -> "e"

它应用规则并查看生成的单词形式是否存在于 WordNet 中。因此,例如,使用mining,它会尝试min并找不到任何东西。然后它会尝试mine(第二条规则)并找到mine有效的单词并返回它。但是对于shining,它可能会尝试shin,在有效单词列表中找到shin并认为这是正确的词根,因此它会返回它。

于 2017-03-15T18:03:47.723 回答