在NLP中,我们对一句话或一个文档分词之后,一般要进行词干化处理。词干化处理就是把一些名词的复数去掉,动词的不同时态去掉等等类似的处理。
R语言很多包可以词干化,如snowball,Rstem等,但是它们的词干化是比较机械的,比如掐头去尾,不少词干可读性差,词干化以后要词干还原不太方便。但运用python nltk的wordnet词料库却可以方便地实现词干化,不需词干还原。
from nltk.corpus import wordnet as wn
wn.morphy('dancing')
#'dancing'
wn.morphy('needs')
#'need'
wn.morphy('business')
#'business'
wn.morphy('got')
#'get'
我们可以看到needs->need,got->get,这就是词干化处理;