ARFF用于自然语言处理

9

我正在尝试将一组评论转换为ARFF格式,以便在WEKA中使用。不幸的是,要么我完全误解了该格式的工作原理,要么我必须为所有可能的单词设置一个属性,然后再设置出现指示器。有没有人知道更好的方法,或者最好有一个样本ARFF文件?

2个回答

4
如果您将评论存储在不同文件夹中的纯文本文件中(在您的情况下是积极和消极的),则可以使用TextDirectoryLoader。您可以在Weka的KnowledgeFlow应用程序或命令行中找到它。更多信息请参见:http://weka.wikispaces.com/ARFF+files+from+Text+Collections

文件的格式是每个实例(例如,评论)在txt文件中占据一行吗? - Dean Barnes

3

经过一段时间的努力,我们终于解决了问题,并使用了这个input.arff文件:

@relation text_files

@attribute review string
@attribute sentiment {0, 1}

@data
"this is some text", 1
"this is some more text", 1
"different stuff", 0

而这个命令:

java -classpath "C:\\Program Files\\Weka-3-6\\weka.jar" weka.filters.unsupervised.attribute.StringToWordVector -i input.arff -o output.arff

以下是生成的内容:
@relation 'text_files-weka.filters.unsupervised.attribute.StringToWordVector-R1-W1000-prune-rate-1.0-N0-stemmerweka.core.stemmers.NullStemmer-M1-tokenizerweka.core.tokenizers.WordTokenizer -delimiters \" \\r\\n\\t.,;:\\\'\\\"()?!\"'

@attribute sentiment {0,1}
@attribute different numeric
@attribute is numeric
@attribute more numeric
@attribute some numeric
@attribute stuff numeric
@attribute text numeric
@attribute this numeric

@data

{0 1,2 1,4 1,6 1,7 1}
{0 1,2 1,3 1,4 1,6 1,7 1}
{1 1,5 1}

你知道在{0 1,2 1,4 1,6 1,7 1}中用逗号分隔的类似于0 1的元组代表什么吗?我认为这与传统的.arff格式不同。你有没有在WEKA中获得有意义的结果? - Zhubarb
2
这是一个相当旧的帖子,但据我记得,元组中的第一个数字是@attribute编号,第二个数字是字符串中出现的次数。我认为在一定程度上它可以意味着你想要的,只要你理解结果的含义。 - Dean Barnes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接