什么是词干化处理

时间:2021-07-12 06:12:31
在NLP中,我们对一句话或一个文档分词之后,一般要进行词干化处理。词干化处理就是把一些名词的复数去掉,动词的不同时态去掉等等类似的处理。
对于切词得到的英文单词要进行词干化处理,主要包括将名词的复数变为单数和将动词的其他形态变为基本形态。对动词的词干化可以使用 Porter 算法[5]。

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,这就是词干化处理;