为简洁起见,本文主要还是偏理论一些。今后我会编写更多的实用性的文章。现在,我将讨论以下几个问题:
1. 使用 NLP 处理文本2. 从文本中提取特征3. 文本的监督学习4. 文本的非监督学习文本预处理
一个典型的文本预处理工作流程由以下 4 个步骤组成:
1. 句子分割2. 文本归一化和分词3. 词性标注(POS)4. 命名实体识别在大多数应用中,并不需要执行以上所有的预处理步骤。是否需要进行命名实体识别取决于应用的具体业务需求,而词性标注工作则通常由现代工具自动完成,从而改进归一化和分词步骤的某些部分。
句子分割
预处理工作流程的第一步是将文本分割成多个句子。在许多语言环境下(例如英语),标点符号(特别是句号、感叹号和问号)可以被用来表明句子的结束。然而,句号字符也可以被用在缩写中(如 Ms. 或 U.K.),此时句号字符则并不表示句子结束了。在这种情况下,我们会使用缩写表来避免对句子边界的误分类。当文本包含特定领域的术语时,必须创建一个额外的缩写词典,从而避免产生不自然的词(token)。
分词和归一化
分词时的极端情况
「分词」指的是将文本划分成单词和标点(即「词」(token))。与在句子分割中的情况一样,此时对标点符号的处理仍是一个具有挑战性的问题。例如,U.K. 应该被视为一个词,同时「don't」不应该被分成两个词:「do」和「not」。
词干提取(stemming)和词形还原(lemmatization)是文本归一化过程的重要组成部分。归一化由词干提取和词形还原组成。在词干提取过程中,通过删除后缀(如 -ed 和 -ing)来识别单词的词干。由此得到的词干并不一定是一个单词。类似地,词形还原包括删除前缀和后缀的过程,它与词干提取的重要区别在于它的结果是自然的语言。这里的结果被称为词元(lemma)。词干提取和词形还原的例子如下表所示:
词干提取和词形还原的差异
这两种技术都通过讲将单词转化为其基本形式来降低文本中的噪声。对于大多数应用来说(如文本分类或文档聚类),保留单词的意义是非常重要的,因此最好使用词形还原而不是词干提取。例如,「meeting」(名词,会议)和「meeting」(动名词,会见)通过词干提取都会得到「meet」,因此并没有准确地保留原本的意思,它们各自的词元分别为「meeting」和「meet」。
其它的归一化技术还包括:缩写扩展、删除数字和标点符号、纠