6.3.1 英文文本数据的预处理

6.3.1 英文文本数据的预处理

英文文本数据预处理主要有7个方面:剔除标点-P、剔除数字-N、大小写一致-L、词干提取和词形还原-S、去除停用词-W、多词提取-3、剔除低频词-I。常用的英文文本数据预处理通常按照“N-L-S-3-I”的步骤操作。

1.剔除标点-P

在处理文本数据时,首先需要决定将哪类文本作为有效文本参与分析,最具有包容性的做法是对包括数字、标记在内的所有文本进行处理,但在许多情境下,标点符号不含有效信息,因此,在处理文本时可以选择剔除标点符号。一般情况下,我们可以使用正则表达式对标点符号进行剔除,正则表达式的具体使用方法可以参考第7.2节。

2.剔除数字-N

与标点符号的处理类似,文本中的数字在一些情境下也不能反映有价值的信息,因此,我们可以依据问题分析的需求决定是否去除文本中的数字。一般情况下,我们也可以使用正则表达式对数字进行剔除,正则表达式的具体使用方法可以参考第7.2节。

3.大小写一致-L

在对英文文本数据进行处理时,我们可以将所有单词大小写统一。这是因为一般情况下字母大小写不影响单词本身的含义,如“Car”和“car”,它们含义相同,统一大小写后更便于分析。在R中,tolower()函数可以将文本统一为小写,toupper()函数可以将文本统一为大写。

4.词干提取和词形还原-S

词干提取和词形还原是英文文本数据预处理的特色,两者都是要找到单词的原始形式。在英文文本中,同一个词干可以与不同的后缀组合成不同的单词。词干提取就是将单词简化为词干的过程,如“cars”通过词干提取可简化为“car”。然而,在寻找词干的时候,得到的结果可能不是有意义的单词,如“imaging”通过词干提取可能得到“imag”。词形还原类似于词干提取,但是它表现得更为保守,一般只对能够还原成一个正确单词的词进行处理,其最终一定能够获得一个有意义的英文单词。

在R中,可以使用SnowballC包进行词干提取,使用udpipe包进行词形还原。

5.去除停用词-W

去除停用词是指删除无法提供实质性语义的单词。连接词、介词和冠词等是常见的停用词,它们出现在大多数文档中,但通常没有重要意义,如“a”和“the”等。因此,在分词的时候可能会选择删除这些单词。需要注意的是,停用词并非一成不变,需要根据文本数据分析的具体问题进行选择,在不同的情况下,停用词表可能会有所差别。

常见的文本挖掘工具大多包含了一些停用词的预定义列表,在使用时可以按照需求对这些停用词表进行修改。例如,对某电影评论语料库去除停用词时,可考虑将无实质语义的一些语气助动词、虚词添加到停用词表中。当然,如果在文本分析时,我们不仅对文本内容感兴趣,还对文本的写作风格感兴趣,那么删除停用词有可能会丢失体现文本写作风格的特有信息。

6.多词提取-3

分词指的是把词语作为文本分析单元的分割方法,英文文本的分词非常便捷,因为英文文本每个单词之间都有一个空格,我们可以直接对英文文本进行分割。但是在应用过程中,也需要利用多词提取来识别多个单词构成的词组。在R中,可以使用tokenizers包的tokenize_ngrams()函数进行多词提取。

7.剔除低频词-I

在预处理的过程中,除了可以去除常见的停用词之外,我们也可以删除在语料库预处理中很少出现或与分析问题无关的术语,其原因主要有两点。第一,如果对文本中的高频术语感兴趣,那么低频术语就难以提供有价值的信息;第二,剔除不常用的术语可以提高文本分析的效率。根据经验,一般可以选择剔除在语料库中频率低于0.5%~1%的术语。