2.6 词形还原 lemmatization
词形还原操作会利用上下文语境和词性来确定相关单词的变化形式,并运用不同的标准化规则,根据词性来获取相关的词根(也叫lemma)。
# 词形还原 lemmatization
print(nltk.stem.WordNetLemmatizer().lemmatize("ate")) # eat
WordNetLemmatizer 使用了wordnet,它会针对某个单词去搜索wordnet 这个语义字典。另外,它还用到了变形分析,以便直切词根并搜索到特殊的词形(即这个单词的相关变化)。因此在我们的例子中,通过ate 这个变量是有可能会得到eat 这个单词的,而这是词干提取操作无法做到的事情。
2.7 停用词移除 Stop word removal
思路就是想要简单地移除语料库中的在所有文档中都会出现的单词。通常情况下,冠词和代词都会被列为停用词。这些单词在一些NPL 任务(如说关于信息的检索和分类的任务)中是毫无意义的,这意味着这些单词通常不会产生很大的歧义。恰恰相反的是,在某些NPL 应用中,停用词被移除之后所产生的影响实际上是非常小的。在大多数时候,给定语言的停用词列表都是一份通过人工制定的、跨语料库的、针对最常见单词的停用词列表。虽然大多数语言的停用词列表都可以在相关网站上被找到,但也有一些停用词
列表是基于给定语料库来自动生成的。有一种非常简单的方式就是基于相关单词在文档中出现的频率(即该单词在文档中出现的次数)来构建一个停用词列表,出现在这些语料库中的单词都会被当作停用词。经过这样的充分研究,我们就会得到针对某些特定