如何转换成weka可识别的ARFF格式

摘自:http://blog.csdn.net/chl033/article/details/4837232

若采用的是英文文本语料库,利用WEKA将英文文本数据转换到ARFF格式中,需要用到以下两个工具:TextDirectoryToArff和TextDirectoryLoader。
TextDirectoryToArff是一个JAVA类(Class),它负责将一个目录文件中的文本数据转换到一个ARFF文件中。
TextDirectoryLoader是一个转换器(Converter),它是基于TextDirectoryToArff类的,并且处于weka.core.converters包中。
在转换之前,我们需要将文本数据集按照TextDirectoryLoader转换器所要求形式布局:
-----------------------------------------------------------
...
|
+- example
     |
     +- class1
     |  |
     |  + file1.txt
     |  |
     |  + file2.txt
     |  |
     |  ...
     |
     +- class2
     |  |
     |  + another_file1.txt
     |  |
     |  + another_file2.txt
     |  |
     |  ...
-----------------------------------------------------------
按照上图所示的目录布局好文本数据后,将example文件夹放置在weka根目录下,我们利用WEKA的命令行界面(Simple CLI)输入以下命令:
java weka.core.converters.TextDirectoryLoader -dir example > example.arff
此时,可以发现在weka根目录下生成了一个example.arff文件,这说明文本数据已经成功转换成了WEKA需要的ARFF文件了。
example.arff文件内容下图所示,从图中可以发现example文件夹下的子文件夹名变成了每个文档的类标记。
-----------------------------------------------------------
@relation D__workspace_weka_example
@attribute text string
@attribute class {class1,class2,class3}
@data
‘文本内容’,class1
‘文本内容’,class3
‘文本内容’,class2
‘文本内容’,class1
‘文本内容’,class3
...
-----------------------------------------------------------
该方法对于中文文本数据不适用,生成的ARFF中的中文会变成乱码,需要修改WEKA的源码才能实现对中文文本数据的处理。

猜你喜欢

转载自forever1220.iteye.com/blog/2086347