你能告诉我如何表示属性或类在weka文本分类吗?通过使用什么属性可以进行分类?词频还是单字?ARFF格式可能的结构是什么?你能给我举几行这种结构的例子吗?
非常感谢。
对于两个类的问题,最简单的替代方法之一是从ARFF文件开始,例如:
<>之前@relation语料库@attribute文本字符串@属性类{pos,neg}@ data"有单词的长文本……",pos之前文本表示为String类型,类是具有两个值的标称类型。
那么你可以应用两个过滤器:
- stringtoworvector 将文本转换为单词向量表示。过滤器为每个单词使用一个属性。您可以调整参数以选择二进制/频率表示、词干提取或停止词。最好的表示取决于问题。如果文本不长,通常二进制表示就足够了。
- Reorder将class属性移动到最后一个位置,Weka假设它在那里。
你可以在这个Weka wiki页面找到更多的信息和其他方法来转换你的数据:http://weka.wikispaces.com/Text +分类+和+ WEKA
在weka中,您可以选择自己的属性。在本例中,我们只有2个类,并且所有唯一的单词都用作属性。如果选择词频作为属性,则如果该词在文本中出现两次,则分配'2',如果没有,则分配'0',或者如果该词只出现一次,则分配'1'。
下面是。arff格式的示例。
@RELATION anyrelation
@ATTRIBUTE word1
@ATTRIBUTE word2
...
@ATTRIBUTE wordn
@ATTRIBUTE class {class1, class2}
@DATA
1,2,....,0,class1
0,3,....,1,class2