第2章 替换和校正单词

本章将介绍以下内容。

  • 词干提取。
  • 使用WordNet进行词形还原。
  • 基于匹配的正则表达式替换单词。
  • 移除重复字符。
  • 使用Enchant进行拼写校正。
  • 替换同义词。
  • 使用反义词替换否定形式。

本章将讲述不同的单词替换和校正技术。这些技巧涉及语言的压缩、拼写校正以及文本标准化等。所有的这些方法都可用于搜索索引、文档分类和文本分析前的预处理。

词干提取是一种删除单词词缀从而得到词干的技术。例如,cooking的词干是cook,好的词干提取算法知道要移除ing。词干提取最常见应用在搜索引擎上,以得到索引词。搜索引擎不存储单词的所有形式,而是仅仅存储词干,这极大地减小了索引占用的空间,同时提高了检索的准确度。

其中一种最常见的词干提取算法是由马丁· 波特(Martin Porter)设计的波特词干提取算法(Porter stemming algorithm)。马丁· 波特设计了这种算法,用于移除和更换众所周知的英语单词词缀,下一节将探讨它在NLTK中的用法。

提示.tif 提示: 

所得到的词干并不都是完整的单词。例如,cookery的词干是cookeri,这是一个特征,而不是一个错误。

NLTK自带波特词干提取算法的实现,该算法非常容易使用。简单地实例化PorterStemmer类,将要进行词干提取的单词作为参数调用stem()方法。

>>> from nltk.stem import PorterStemmer >>> ...

Get Python和NLTK实现自然语言处理 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.