随笔杂记(一)——小语种nlp文本预处理——数据清洗

开始继续完成大数据实验室招新题~
(roman urdu小语种为例)
link: https://www.kesci.com/home/competition/5c77ab9c1ce0af002b55af86/content/1

本练习赛所用数据,是名为「Roman Urdu DataSet」的公开数据集。
这些数据,均为文本数据。原始数据的文本,对应三类情感标签:Positive, Negative, Netural。
本练习赛,移除了标签为Netural的数据样例。因此,练习赛中,所有数据样例的标签为Positive和Negative。本练习赛的任务是「分类」。「分类目标」是用训练好的模型,对测试集中的文本情感进行预测,判断其情感为「Negative」或者「Positive」。

数据清洗

函数等相关内容转载自:https://blog.csdn.net/ssswill/article/details/88533623
这位大佬已经做的很完美,我仅仅只能是跟着他的步骤重新做了一遍,并记录下笔记。
当得到数据时,发现数据中存在很多的的符号,没法对数据进行直接分词处理。
在这里插入图片描述
并在此之前检查数据是否存在空缺

#test if nan exists
df_train.isnull().sum()

在这里插入图片描述
在此之后采用np.as_matrix()库将数据转换为矩阵形式

numpy_array = df_train.as_matrix()
numpy_array_test = df_test.as_matrix()

因此采用了常见的清理函数,对数据中的符号标点进行了清洗替换
本次主要使用的是re库的sub函数,也可以使用python基本库中的replace库。

re.sub(pattern, repl, string, count=0, flags=0)

参数:
pattern:表示正则表达式中的模式字符串;
repl:被替换的字符串(既可以是字符串,也可以是函数);
string:要被处理的,要被替换的字符串;
count:匹配的次数, 默认是全部替换

flags:具体用处不详

str.replace(old, new[, max])

参数:
old:将被替换的子字符串。
new: 新字符串,用于替换old子字符串。
max:可选字符串, 替换不超过 max 次

#nlp清理函数
def cleaner(word):
  word = re.sub(r'\#\.', '', word)
  word = re.sub(<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值