当前位置: 首页 > 知识库问答 >
问题:

OpenNLP标记器-不兼容类型错误?

郎思远
2023-03-14

我正在尝试使用Apache OpenNLP API创建一个标记器。我已经从他们的网站中提取了代码,但在Tokenize类中,以下代码行出现了“不兼容类型”错误:

Tokenize Tokenizer=new TokenizerME(模型);

有人知道这个错误的原因吗?因为看起来他们不应该不兼容?

这是主要类:

public class OpenNLP {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) 
    {            
        try
        {
        Tokenizer T = new Tokenizer();        
        T.Tokenize();
        }
        catch(Exception e)
        {}
    }
}

这是具有错误的Tokenize类:

public class Tokenize {

    public void Tokenize() throws InvalidFormatException, IOException 
    {
    InputStream is = new FileInputStream("en-token.bin");

    TokenizerModel model = new TokenizerModel(is);

    Tokenize tokenizer = new TokenizerME(model);

    String tokens[] = tokenizer.tokenize("Hi. How are you? This is Mike.");

    for (String a : tokens)
        System.out.println(a);

    is.close();
    }
}

共有1个答案

闾丘淇
2023-03-14

我现在已经整理好了。下面一行:

Tokenize tokenizer = new TokenizerME(model);

应该是:

Tokenizer tokenizer = new TokenizerME(model);
 类似资料:
  • 我一直试图编译这个简单的警报对话框,以便在用户单击提交按钮时显示。编译代码时会弹出一条错误消息: 错误:(33,74)错误:不兼容的类型: 这个类叫做Login_Activity,它扩展了BaseActivity,它扩展了Activity。

  • 问题内容: 我正在学习Java。我试图运行代码,但出现此错误:。它向我显示错误的代码部分。 为什么会这样呢? 问题答案: 这是因为在类中不能有两个具有相同名称但返回类型不同的方法。 子类不能使用与返回类型不同的超类中已经存在的方法相同的名称声明方法。 但是,子类可以声明具有与超类相同的签名的方法。我们称此为“覆盖”。 你需要这个 要么 一个好的做法是通过注释标记覆盖的方法:

  • 我正在使用JPA,列类型为: 我使用PostgreSql作为我的数据库,它支持bpchar类型,现在我尝试为我的测试添加H2,但问题是,当我运行测试时,我得到以下结果: 是否有其他方法可以实现这一目标?

  • 我定义jackoson序列化器并将其添加到java类中,如下所示: 编译器出现以下错误: 注释的定义为: 如果我从ReportFilterDeserializer中删除泛型attibute,它将通过编译。我不明白编辑为什么抱怨。

  • 我有多个小部件,您通常会这样初始化这些小部件, 然而,当我转到xml时,它显示它实际上是一个EditText。 这一切都发生在我改变我的build.gradle(应用程序)的时候

  • 我有下面的Kotlin代码。一个名为的密封类和两个对象类和继承自密封类。我在is Cat情况下的子句中得到这个错误。 为什么会给出这个错误?如何使用Kotlin中的密封类来进行这种类型的操作?密封类是做多态的好选择吗?