gpt4 book ai didi

hadoop - 使用 OpenNLP (tNER) 和 Hadoop 不返回跨度

转载 作者:行者123 更新时间:2023-12-02 21:54:57 25 4
gpt4 key购买 nike

我正在使用带有 CDH 4 的 OpenNLP 1.5.2 并且有一个不寻常的问题。

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

是的,在本地/伪/完整模式下找不到的名称在我的 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);

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

许多训练句子之一的示例是:
PK FRESH <START:name> IGA <END> PLUS LI PORT KENNEDY WA

我不太清楚为什么,当我用相同的模型调用相同的方法时,它有时会在本地/伪/完整模式下运行,但总是在 jUnit 中运行。

任何见解将不胜感激:)

最佳答案

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

关于hadoop - 使用 OpenNLP (tNER) 和 Hadoop 不返回跨度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15781294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com