OpenNLP:无法找到 Lemmatizer 的模型文件

OpenNLP: Unable to locate the model file for Lemmatizer

总结: 无法找到用于 Lemmatizer 的模型文件 (english-lemmatizer.bin)

详细信息OpenNLP Tools Models 似乎是 Apache OpenNLP 库的不同组件使用的各种模型的综合存储库。但是,我找不到与词形还原器一起使用的模型文件 en-lemmatizer.bin。 Apache OpenNLP 开发人员手册为词形还原步骤提供了以下代码片段:

InputStream dictLemmatizer = null;

try (dictLemmatizer = new FileInputStream("english-lemmatizer.bin")) {

}

但是,与其他模型文件不同的是,我无法找到该模型文件的位置。任何指针将不胜感激。

你想要英文-lemmatizer.bin而不是英文-lemmatizer.txt

Richard M. Reese 的《Natural Language Processing with Java Cookbook》一书提供了很好的答案。由于某些原因,en-lemmatizer.bin 无法直接从网上下载,但是可以使用以下步骤创建它:

  1. 下载并解压 apache-opennlp-1.9.0-bin.tar (https://opennlp.apache.org/download.html)

  2. 去URL找Lemmatizer Training File把文字内容保存为en-lemmatizer.dict

  3. 进入bin目录(从步骤1,解压后)和 执行以下命令:

opennlp LemmatizerTrainerME -model en-lemmatizer.bin -lang en -data /path/to/en-lemmatizer.dict -encoding UTF-8


注意:准备好处理以下错误:

Computing event counts... Exception in thread "main" java.lang.OutOfMemoryError: Java heap space