1
我已经使用了斯坦福NLP,但由于其更严格的许可条款(虽然它被称为GPL,它只能用于非盈利项目),但我正在评估Apache Open NLP。Apache open NLP POS不正确标记
我尝试了一个基本的示例测试,发现在开放NLP中语音部分标记不正确。 对于例如:像“加载”这样的词,“加载”被标记为NN,因为它们实际上是动词。
有人遇到过这个问题吗?我检查打开NLP的字典,我发现标记为NN
示例代码
InputStream inputStream = getClass().getResourceAsStream("/opennlp/en-pos-maxent.bin");
System.out.println(" inputStream " + inputStream);
POSModel posModel = null;
try {
posModel = new POSModel(inputStream);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
POSTaggerME posTaggerME = new POSTaggerME(posModel);
String whitespaceTokenizerLine[] = WhitespaceTokenizer.INSTANCE.tokenize("Chair damaged during loading:");
String[] tags = posTaggerME.tag(whitespaceTokenizerLine);
IntStream.range(0, tags.length).forEach(i -> System.out.println(" POS " + tags[i]));
你是如何测试这些词的?作为单独的字符串即使通过部分字符串,即使斯坦福大学的NLP也会犯错误。 –
我已经按照文档 – lives
中的建议以字符串数组形式传递了吗?您可以分享您的代码吗?你在使用1.5.x还是1.6? –