第2章 文本的歧义及其清理

在上一章中,我们为Python以及NLTK库的学习开了一个不错的头,带你初步了解了一下如何针对一些文本资料进行一些有意义的EDA。我们用非常粗糙和简单的方式将预处理部分的所有工作都做了一遍。在本章,我们将具体来讨论标识化处理词干提取词形还原(lemmatization)以及停用词移除等这些预处理步骤。这些话题将会涉及NLTK中所有用于处理文本歧义的工具。届时,我们将会讨论现代NLP应用中会用到的所有预处理步骤,以及实现其中某些任务的不同方法,并说明我们通常该做什么、不该做什么。总而言之,我们会为你提供关于这些工具的足够信息,以便你可以自行决定在自己的应用程序中使用怎么样的预处理工具。我们希望读者在阅读完本章之后,可以掌握以下内容。

  • 所有与数据歧义相关的情况,并能运用NLTK处理它们。
  • 文本清理的重要性以及我们可以用NLTK实现什么样的常见任务。

事实上,要想给文本/数据歧义这个术语一个定义是相当困难的。本书将它定义成从原生数据中获取一段机器可读的已格式化文本之前所要做的所有预处理工作,以及所有繁复的任务。该过程应该涉及数据再加工data munging)、文本清理特定预处理标识化处理词干提取词形还原以及停用词移除等操作。下面我们就先来看一个基本实例,解析一个csv文件:

>>>import csv
>>>with open('example.csv','rb')  as f:
>>>    reader = csv.reader(f,delimiter=',',quotechar='"') 
>>>    for line in reader :
>>> print line[1] # assuming the second ...

Get 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.