StringToWordVector卡在setInputFormat中

时间:2018-02-13 11:29:31

标签: java string weka

使用weka StringToWordVector时遇到问题。如何从字符串列表中创建单词矩阵?

在我的代码中,我从字符串创建实例。一旦我想识别setInputFormat(),代码就会遇到某种循环,后台没有进程活动。永远不会达到结果,只是继续运行而没有进展且没有错误。

这是导致我出现问题的代码示例:

    ArrayList<String> stringList = new ArrayList<>();

    stringList.add("test1");
    stringList.add("test2");

    Attribute attributeContent= new Attribute("content", (ArrayList<String>) null);

    attributesList.add(attributeContent);

    Instances data = new Instances("Strings", attributesList, stringList .size());

    for (String s: stringList) {
        DenseInstance instance = new DenseInstance(1);
        instance.setValue(attributesList.get(0), s);
        data.add(instance);
    }

    StringToWordVector filter = new StringToWordVector();
    Instances newData = null;
    try {
        filter.setInputFormat(data);
        newData = Filter.useFilter(data, filter);
    } catch (Exception e) {
        e.printStackTrace();
    }

1 个答案:

答案 0 :(得分:0)

好的,代码工作正常......我的Java依赖问题。由于我使用的播放框架,Java没有为netlib库执行替代的自动加载。这个库选择了针对OS优化的线性回归,我必须在Intellij中设置以下标志并且它可以工作: enter image description here