Python中的文本预处理
我想用Python为NLP项目构建一个文本语料库。我在LSHTC4 Kaggle挑战赛中见过这种文本格式:Python中的文本预处理,python,nlp,kaggle,Python,Nlp,Kaggle,我想用Python为NLP项目构建一个文本语料库。我在LSHTC4 Kaggle挑战赛中见过这种文本格式: 5 0:10 8:1 18:2 54:1 442:2 3784:1 5640:1 43501:1 第一个数字对应于标签 由“:”分隔的每组数字对应于向量的(特征,值)对,其中第一个数字是特征的id,第二个数字是其频率(例如,id为18的特征在实例中出现2次) 我不知道这是否是将文本数据预处理为数字向量的常用方法。我在挑战中找不到预处理过程,数据已经预处理。在R中不需要包(如果我没有弄错
5 0:10 8:1 18:2 54:1 442:2 3784:1 5640:1 43501:1
第一个数字对应于标签
由“:”分隔的每组数字对应于向量的(特征,值)对,其中第一个数字是特征的id,第二个数字是其频率(例如,id为18的特征在实例中出现2次)
我不知道这是否是将文本数据预处理为数字向量的常用方法。我在挑战中找不到预处理过程,数据已经预处理。在
R
中不需要包(如果我没有弄错的话,在Python中也不需要包)。首先将所有内容拆分(并删除首字母5
)。我猜您希望结果是数字,而不是字符串:
x<-"5 0:10 8:1 18:2 54:1 442:2 3784:1 5640:1 43501:1"
y<-as.integer(unlist(strsplit(x,split=" |:"))[-1])
feature<-y[seq(1,length(y),by=2)]
[1] 0 8 18 54 442 3784 5640 43501
value<-y[seq(2,length(y),by=2)]
[1] 10 1 2 1 2 1 1 1
如果要将它们分配给数据表
进行分析:
库(数据表)
那么开始的
5
是什么意思呢?它是属于文档的类别,它是标签
cbind(feature,value)
feature value
[1,] 0 10
[2,] 8 1
[3,] 18 2
[4,] 54 1
[5,] 442 2
[6,] 3784 1
[7,] 5640 1
[8,] 43501 1
> dt
feature value
1: 0 10
2: 8 1
3: 18 2
4: 54 1
5: 442 2
6: 3784 1
7: 5640 1
8: 43501 1