我正在实现情感分析,当我对dataset.arff进行标记化以将其用作训练模型时,我注意到它缺少“Positive”标签
数据集.arff文件头:
关系情感分析
@attribute文本字符串@attribute classValues {正、负、中性、“非常正”、“非常负”}
@data“一些文本”、肯定“一些文本”、否定“一些文本”、中性[...]
标记化数据:
@relation 'SentimentAnalysis-weka.filters.unsupervised.attribute.StringToWordVector-R1-W5000-prune-rate-1.0-N0-stemmerweka.core.stemmers.NullStemmer-stopwords-handlerweka.core.stopwords.Null-M1-tokenizerweka.core.tokenizers.WordTokenizer -delimiters \" \\r\\n\\t.,;:\\\'\\\"()?!\"'
@attribute classValues {Positive,Negative,Neutral,'Very positive','Very negative'}
设置为@attribute numeric的文本中的所有单词
然后我有@data部分
{0 Negative,20 1,220 1,228 [...] }
{0 Neutral,22 1,169 [...] }
{22 1,169 1,272 [...] }
########################################
这只是几行例子我有更多类似的,我不明白为什么是失踪的积极,
这是我的标记器代码
public static void Tokenizer(){
ArffLoader loader = new ArffLoader();
String filename = "dataset.arff";
File file = new File(filename);
//checking if the file exist
if (file.exists()){
try {
loader.setFile(new File(filename));
Instances data = loader.getDataSet();
if (data.classIndex() == -1){
data.setClassIndex(data.numAttributes()- 1);
}
String[] options = new String[] {"-R", "1", "-W", "5000", "-prune-rate", "-1.0"};
StringToWordVector filter = new StringToWordVector();
filter.setOptions(options);
filter.setInputFormat(data);
Instances filteredData = Filter.useFilter(data, filter);
File tokenizedFile = new File("tokenizeDataSet.arff");
ArffSaver saver = new ArffSaver();
saver.setInstances(filteredData);
saver.setFile(tokenizedFile);
saver.writeBatch();
System.out.println("tokenized text saved properly");
} catch (Exception e) {
System.out.println("Error in reloading the Arff file:"+ e.getMessage());
e.printStackTrace();
}
}
}
我希望在tokenize数据集中也有阳性标签!
1条答案
按热度按时间flvlnr441#
它们没有丢失。当使用稀疏ARFF格式时,第一个位置的标称值只会被抑制。请参阅Weka wiki上的稀疏ARFF格式。