本节书摘来异步社区《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书中的第2章,第2.6节,作者:Nitin Hardeniya,更多章节内容可以访问云栖社区“异步社区”公众号查看。
2.6 词形还原
词形还原(lemmatization)是一种更条理化的方法,它涵盖了词根所有的文法和变化形式。词形还原操作会利用上下文语境和词性来确定相关单词的变化形式,并运用不同的标准化规则,根据词性来获取相关的词根(也叫lemma)。
>>>from nltk.stem import WordNetLemmatizer
>>>wlem = WordNetLemmatizer()
>>>wlem.lemmatize("ate")
eat
在这里,WordNetLemmatizer使用了wordnet,它会针对某个单词去搜索wordnet这个语义字典。另外,它还用到了变形分析,以便直切词根并搜索到特殊的词形(即这个单词的相关变化)。因此在我们的例子中,通过ate这个变量是有可能会得到eat这个单词的,而这是词干提取操作无法做到的事情。
现在你能解释词干提取与词性还原之间的区别了吗?
现在你能为自己的母语设计一个Porter词干提取器(基于规则)了吗?
为什么对于中文这样的语言来说,词干提取器是很难实现的?