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 无法直接从网上下载,但是可以使用以下步骤创建它:
下载并解压 apache-opennlp-1.9.0-bin.tar
(https://opennlp.apache.org/download.html)
去URL找Lemmatizer Training File把文字内容保存为en-lemmatizer.dict
进入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
总结: 无法找到用于 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 无法直接从网上下载,但是可以使用以下步骤创建它:
下载并解压
apache-opennlp-1.9.0-bin.tar
(https://opennlp.apache.org/download.html)去URL找Lemmatizer Training File把文字内容保存为en-lemmatizer.dict
进入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