使用python nltk进行词形解释后为什么“闪亮”成为“shin”?

时间:2017-03-15 15:09:44

标签: python nltk stem

有几个单词使用“-ing”作为连续的“闪亮”。但是当我尝试使用nltk将“闪亮”变为“闪亮”时,它会变成“shin”。代码是这样的:

from nltk.stem import WordNetLemmatizer

wordnet_lemmatizer = WordNetLemmatizer()
word = "shining"

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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

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