2017-03-15 51 views
0

有几个词使用“-ing”,如同“闪亮”一样连续。但是当我尝试使用nltk来迷惑“闪亮”时,它会变成“闪亮”。代码是这样的:为什么在使用python nltk进行词形化之后,“闪亮”变成“shin”?

from nltk.stem import WordNetLemmatizer 

wordnet_lemmatizer = WordNetLemmatizer() 
word = "shining" 

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

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

+0

我不明白,你期待什么作为输出? –

+0

我期待输出“闪耀” – sang

+0

看起来像lemmatiser并不完美。你有没有发现更多的这种错误? – lenz

回答

1

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

它有一系列规则特别除去词尾,例如:

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

它适用的规则,看看是否在共发现存在所产生的词形。因此,例如,与mining,它会尝试min并没有找到任何东西。然后它会尝试mine(第二条规则),并找到mine是有效的单词并将其返回。但与shining,它可能会尝试shin,在有效的单词列表中找到shin,并认为这是适当的根,因此它返回它。

相关问题