如何从Apache OpenNLP中的“二进制文件”中获取拼写纠正后的令牌?

时间:2015-08-03 10:09:37

标签: java nlp tokenize opennlp

Apache NLP,我可以从二进制文件中获取正确的令牌。

如果输入是“hosr road”,这是错字错误,正确的单词是“hosur road”, 在二进制文件中搜索后,我可以将正确的单词作为“hosur road”作为标记。

    String input = "hosr road";
    InputStream tokenModelIn = getClass().getClassLoader().getResourceAsStream("META-INF/nlp/en-token.bin");
    TokenizerModel tokenModel = new TokenizerModel(tokenModelIn);
    Tokenizer tokenizer = new TokenizerME(tokenModel);
    String tokens[] = tokenizer.tokenize(input);

提前致谢。

1 个答案:

答案 0 :(得分:1)

简短回答:不,你不能。

OpenNLP语言模型不是用于纠正给定语言拼写的字典。而且,"标记化"与"拼写纠正"不同。令牌只代表一个句子的片段,所以标记化 - 作为一个自然语言处理步骤 - 只是给你这些片段,即使它们拼写错误。它不会纠正这些。

如果您希望对某些文本数据进行拼写纠正,可以尝试使用其他API / Framework。也许请查看Lucene和此StackOverflow post