有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java为什么分类器不做任何更改就给我输入

我正在尝试构建一个分类器来分割阿拉伯语句子(用Buckwalter音译)。我有从文件读取的属性,并且我正在应用+/-10上下文窗口(即,对于每个单词,我检查前10个单词和后10个单词)。分类类别如下:

B-S表示句子的第一个单词, E-S代表句子的最后一个单词, i-s表示中间的单词, S表示只包含一个单词的句子

FastVector fClasse = new FastVector();
fClasse.addElement( "I-S" );
fClasse.addElement( "B-S" );
fClasse.addElement( "E-S" );
fClasse.addElement( "S" );

if (str.length == 1) {
    element.setValue( attClasse , "S" );
} else {
    if (i == 0) {
        element.setValue( attClasse , "B-S" );
    } else {
        if (i == str.length - 1) {
            element.setValue( attClasse , "E-S" );
        } else {
            element.setValue( attClasse , "I-S" );
        }
    }
}

首先,我使用了10个属性来检查每个单词前面的类。因此,结果几乎是100%,尤其是B-S和S类。但即使我用非分段文件测试模型。模型的结果也是一样的。从字面上说,模型给我输入的段落没有任何变化。 当我删除这些属性(检查前10个类)时,评估结果大大减少(B-S 33%)

下面是我的代码:

https://drive.google.com/open?id=1-NiA_C-2YRkG19J-mZYg4BEdNnnVWbyG

它给了我一个arff文件,我用它与weka GUI一起生成一个模型。我正在使用部件分类器

知道我做错了什么吗?非常感谢您的帮助


共 (0) 个答案