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

如何在OpenNLP中初始化令牌模型?

公羊涛
2023-03-14

我正在用Java编程一个名词短语提取器,并试图使用OpenNLP库来标记名词。不幸的是,OpenNLP的文档非常混乱。目前,我只是在标记一串英文文本。文档中让我使用类似的方法初始化令牌模型:

InputStream modelIn = new FileInputStream("en-token.bin");

try {
TokenizerModel model = new TokenizerModel(modelIn);
}
catch (IOException e) {
   e.printStackTrace();
}
finally {
  if (modelIn != null) {
    try {
      modelIn.close();
    }
    catch (IOException e) {
    }
 }
}

Tokenizer tokenizer = new TokenizerME(model);

String tokens[] = tokenizer.tokenize("An input sample sentence.");

我在这里困惑的是“en token.bin”是什么,以及在哪里可以找到它。它应该包含在压缩文件的原始下载中吗?还是我必须从OpenNLP的网站下载?

以下是文档的链接:https://opennlp.apache.org/documentation/1.5.3/manual/opennlp.html#tools.tokenizer

如果你能给我任何帮助,我将不胜感激。提前谢谢你!

共有1个答案

公良光熙
2023-03-14

你可以在http://opennlp.sourceforge.net/models-1.5/.由于许可原因,它们不是Apache原始下载的一部分。

 类似资料:
  • 问题内容: 我无法按照以下代码初始化列表: 我遇到以下错误: 无法实例化类型 我该如何实例化? 问题答案: 如果你检查API,则会注意到它说: 作为一种手段,它无法实例化(不可能)。 如果你检查该链接,则会发现一些实现的: 所有已知的实施类: 那些可以实例化。使用它们的链接来了解有关它们的更多信息,即IE:知道哪个更适合你的需求。 三种最常用的可能是: 奖励: 你还可以使用,以更简单的方式使用值实

  • 问题内容: 我正在跟踪Swift和Objective-C Runtime,它适用于常规方法。 我喜欢使用init方法,据我了解,init就像一个类方法。因此,我尝试将初始化作为实例和类方法。但这似乎不起作用 我可以使用Objective C使其工作,只是想知道如何在Swift中使其工作 摘录自我的要旨 问题答案: 为方法创建选择器时,应使用Obj C方法签名作为选择器的基础,因为使用Obj C运行

  • 目前,我想为我的系统创建一个集成测试。我正在使用testcontainers生成我的临时数据库实例,并使用R2DBC数据库使我的系统具有反应性。问题是我不知道如何在R2DBC testcontainer实例中创建模式,在testcontainers网页中R2DBC支持和JDBC支持的文档中有明显的区别。在JDBC中,有一节在我们替换JDBC URL后创建模式,同时在R2DBC中,没有提到在我们替换

  • 我想在部署初始化成功后运行特定的命令。 这是我的yaml文件: 不过,我希望在成功初始化部署并运行POD之后(而不是之前)运行db迁移命令。 我可以为每个pod手动执行(使用kubectl exec),但这不是很好的扩展性。

  • 问题内容: 如何在PyTorch中的网络中初始化权重和偏差(例如,使用He或Xavier初始化)? 问题答案: 要初始化单层的权重,请使用中的函数。例如: 或者,您可以通过写入(是)来修改参数。例: 偏见也是如此: 或自定义 将初始化函数传递给。它将以递归方式初始化整个权重。 申请( FN ): 适用递归到每个子模块(通过返回的),以及自我。典型的用法包括初始化模型的参数(另请参见torch-nn

  • 问题内容: 我正在初始化这样的数组: NetBeans在此行指出一个错误: 我该如何解决这个问题? 问题答案: 上面的信息不正确(语法错误)。这意味着你正在分配一个仅可容纳元素的数组。 如果要初始化数组,请尝试使用: 注意两个声明之间的区别。将新数组分配给声明的变量时,new必须使用。 即使你纠正了语法,访问仍然是不正确的(你只能访问,因为Java中的数组索引是基于0的)。访问]将抛出。