Java 如何在weka中表示分类文本?

Java 如何在weka中表示分类文本?,java,machine-learning,classification,weka,arff,Java,Machine Learning,Classification,Weka,Arff,您能告诉我如何在weka中表示文本分类的属性或类吗。通过使用什么属性可以进行分类?词频还是单字?ARFF格式的可能结构是什么?你能给我举几行这种结构的例子吗 提前非常感谢。最简单的替代方法之一是从一个ARFF文件开始解决两类问题,如: @relation corpus @attribute text string @attribute class {pos,neg} @data 'long text with words ... ',pos @关系语料库 @属性文本字符串 @属性类{pos

您能告诉我如何在weka中表示文本分类的属性或类吗。通过使用什么属性可以进行分类?词频还是单字?ARFF格式的可能结构是什么?你能给我举几行这种结构的例子吗


提前非常感谢。

最简单的替代方法之一是从一个ARFF文件开始解决两类问题,如:

@relation corpus @attribute text string @attribute class {pos,neg} @data 'long text with words ... ',pos @关系语料库 @属性文本字符串 @属性类{pos,neg} @资料 “带单词的长文本…”,销售时点情报系统 文本表示为字符串类型,类是具有两个值的名词

然后可以应用两个过滤器:

  • StringToOrdVector将文本转换为单词向量表示的。过滤器为每个单词使用一个属性。您可以调整参数以选择二进制/频率表示、词干或停止字。最佳表示取决于问题。如果文本不长,通常二进制表示就足够了
  • 重新排序要将类atribute移动到最后一个位置,Weka假设它在那里 您可以在此Weka wiki页面中找到更多信息和其他转换数据的方法:
    在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