一、定义
在自然语言处理(NLP)中,数据预处理,又可称数据清洗,是指将原始文本数据转换成适合机器学习模型处理的格式的过程。
二、实例讲解
上面的定义阐述有些僵硬吧,笔者思考了好久,给出下面这个极其生动简单的例子:
如果把人工智能算法比作做饭的过程,大家伙的在做饭前需要把食材准备好吧,那么这个食材也就是我们在人工智能算法中的样本数据集,准备好食材之后呢?当然就是清洗食材了,如果食材未经清洗或者清洗不到位的话,一是可能影响口感(算法效率低下),二是可能导致我们坏肚子或者生病(模型偏离或者拟合预测效果较差),所以对于这个清洗的过程,我们需要细心谨慎。
当然了,对于不同的食材我们可能会采用不同的清洗方式,也就是说,对于不同结构的数据样本我们选取的数据处理方法也可能会不同,比如说对于某些蔬菜我们需要用水清洗,然后切成小段,但是对于豆豉,酸菜之类的食材我想没有人会用水清洗它吧,因此不同形式的数据样本往往采取的是不同数据处理方法的组合。
还有,我们对于面粉之类的食材一般没有人生啃吧,是需要对其进行醒面发酵之后才能被我们用作完美的食材,所以这个过程也就涉及食材的转化,也就是说,我们的样本数据也可能会利用一些方法进行适当的转化从而被我们更好地用来训练模型。
三、NLP数据预处理常见方式
以下是我总结的,NLP中常见的数据预处理步骤:
- 去除无关字符 :
去除文本中的无关字符、特殊符号、HTML标签、URLs、电子邮件地址等。
代码示例:
在Python中,你可以使用正则表达式(通过re模块)来去除文本中的无关字符、特殊符号、HTML标签、URLs和电子邮件地址。因为相比手写的python函数清洗去除,正则表达式表现的更灵活和强大,特别是对于复杂的HTML标签和各种URL格式。