1

我正在使用 weka 中生成/训练的模型为我的论文创建一个原型。我的论文是关于文本的情感分析。现在我有了要使用模型/训练模型进行分类的测试数据/集。

这是我读取 arff 文件并具有过滤器(stringToWordVector)的部分代码:

          Classify ct = new Classify(TextJ48.model); // loads model


            string sample = getARFFile();
            StringBuilder buffer = new StringBuilder(sample);
            BufferedReader reader = new BufferedReader(new java.io.StringReader(buffer.ToString()));
            weka.core.converters.ArffLoader.ArffReader arff = new weka.core.converters.ArffLoader.ArffReader(reader);
            Instances dataRaw = arff.getData();

            StringToWordVector filter = new StringToWordVector();
            filter.setInputFormat(dataRaw);
            Instances dataFiltered = Filter.useFilter(dataRaw, filter);  

当我显示dataFiltered它成功地从单词过滤到数字时。

这是classify课程:

 public Classify(string filename)
    {
        try
        {
            classifier = (Classifier)weka.core.SerializationHelper.read(filename);
        }
        catch (java.lang.Exception ex)
        {
           lblProgress.Text = ex.getMessage();
        }

        loadAttributes();
        this.fileName = filename;
    }

我不知道我的计划是在loadAttributes()我的计划中添加所有属性FastVector,我在一些来源中看到他们很容易添加属性,因为它们具有固定大小的属性,但在我的情况下,我有不同数量的属性,这些属性基于文本。

现在如何对使用模型输入的文本进行分类。

4

0 回答 0