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

在Hadoop中使用OpenNLP(tNER)不返回跨度

高才
2023-03-14

我在CDH4中使用OpenNLP1.5.2,但有一个不寻常的问题。

当我运行我的jUnit测试时,一切都过去了。当我在localJobRunner模式(psuedo或完整模式)下运行时,很多名称并不总是被识别出来,当我期待一些东西时,我返回了“空白”跨度。

是的,在local/psuedo/full模式下找不到的名称在我的jUnit测试中!

每次我打电话时,我都会一次传入一个句子。我将句子标记为String[],然后使用这些标记来查找。

我所呼吁的一个例子是:

result = Parser.tokenizedNamedEntityRecognition("PK FRESH IGA PLUS LI PORT KENNEDY WA", nameFinder);
assertEquals("IGA", result);

nameFinder的位置是:

InputStream modelIn;         
try {
  modelIn = new FileInputStream(System.getProperty("user.home") + "pathToModel" + MRConstants.c_namedEntityRecognitionModelFile);
} catch (FileNotFoundException e) {
  fail("fail message here");
}
NameFinderME nameFinder = new NameFinderME(new TokenNameFinderModel(modelIn));

在我调用的方法中,我正在做:

String tokens[] = sentence.split(MRConstants.c_singleSpace);
Span nameSpans[] = nameFinder.find(tokens);

当通过my map方法调用时,它并不总是提取名称。我想大概有20%的失败率。

其中一个经过训练的句子是:

PK FRESH <START:name> IGA <END> PLUS LI PORT KENNEDY WA

我不太清楚为什么,当我用同一个模型调用同一个方法时,它有时在本地/psuedo/full模式下运行,但总是在jUnit模式下运行。

任何见解将不胜感激:)

共有1个答案

通啸
2023-03-14

解决方法:我没有清除文档之间的自适应数据。我犯了个愚蠢的错误!

 类似资料:
  • 问题内容: 我目前正在学习hadoop,并且尝试设置http://hadoop.apache.org/common/docs/current/single_node_setup.html中定义的单节点测试 我已经配置了ssh(我可以不用密码登录)。 我的服务器在我们的Intranet上,位于代理后面。 当我试图跑步时 bin / hadoop namenode-格式 我收到以下java.net.U

  • 问题内容: 我想对英语句子加标签,并进行一些处理。我想使用openNLP。我已经安装了 当我执行命令时 它提供输出POSTagging Text.txt中的输入 我希望它安装正确吗? 现在如何从Java应用程序内部进行此POStagging?我已将openNLPtools,jwnl,maxent jar添加到项目中,但是如何调用POStagging? 问题答案: 这是我放在一起的一些(旧)示例代码

  • 我在R中得到的POS标记文本形式如下: 身份证 ..... 我想检索它已标记的单词,例如,而不是带有所有值的列“type”,因为单词检索实际单词。我可以使用scan_tokenizer,但当有“不是”之类的形式时,问题就出现了,POS标记器将其分为“is”和“not”,这很好,但scan_tokenizer不会这样标记,它只是将其保持在“is't”。有人能帮我检索R已标记并用于POS标记的单词吗?

  • 我注意到,如果没有where(),returning()操作不可用。这是故意的吗? 这项工作: 这不起作用: 我应该考虑这个“黑客”吗?

  • 问题内容: 我在SpringMVC项目中将新的Java API(JSR 353)用于JSON。 这个想法是生成一些Json数据并将其返回给客户端。我所拥有的控制器看起来像这样: 当我访问它时,我没有得到JSON的预期表示,而是得到了这些: 为什么是这样?到底是怎么回事?以及如何使其正确返回预期的JSON? 问题答案: 当您意识到新的JSR 353 API 没有特殊要求时,答案很简单。相反,在这种情

  • 我试图发送一个体在后请求在一个springboot应用程序使用Rest模板。这里是控制器:(我删除了,因为我使用了头) 我想发送对象(lang,key和text)作为帖子请求中的正文,以获得mcResent: 公共mc响应parseTheSentiments(字符串文本,语言lang,字符串键)抛出异常{ } 但是,我得到了以下错误:404null。 你能帮帮我吗?提前感谢,以下是服务等级: