将文本数据转换成arff文件

本文介绍了一种将文本数据转换为ARFF格式的方法,包括预处理文本、添加ARFF表头并使用WEKA的StringToWordVector过滤器将字符串转换为单词向量。

目的:

将类似下图的文本数据转换为arff文件。文本数据每一行是一个句子和该句子的类属性值(classValue),得到的arff文件中的一个实例(Instance)即为一个句子的单词向量和类属性值。
在这里插入图片描述

思路:

1.将原始文本数据中一些特殊符号去除,以免在构建单词向量时出现问题;
2.在去除特殊符号的文本数据上自动添加arff文件的表头,另存为arff文件;
3.在WEKA中读取该arff文件,再使用StringToWordVector过滤器将该arff文件中的每个样本(此时为String)转换为单词向量,将数据另存为新的arff文件,即为最终需要的arff文件。

具体过程:

1.原始文本数据存储在temp.txt,将temp.txt中的特殊符号全部用空格替换。我使用JAVA处理,主要处理了(, = \ ’ -%/()* +)这些特殊符号,注意在处理( ()* +)这写符号时,需要在其前面添加“\\”,否则会报错:java.util.regex.PatternSyntaxException: Unclosed group near index 1

2.随后在temp.txt文件中的前面添加arff文件的表头,如下:

@relation data

@attribute text string
@attribute class {0,1}

@data
Multi-layers kept management at a distance from its customers , O'Neal said . 1
Now organisations must change to stay competitive . 0
O'Neal says firms will place a gr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值