【问题标题】:How to set OpenNLP Model binary file path in Eclipse?如何在 Eclipse 中设置 OpenNLP 模型二进制文件路径?
【发布时间】:2015-06-21 18:33:03
【问题描述】:

我已经从here 下载了二进制模型文件,但我不知道如何设置路径。我正在使用 Eclipse,我尝试将这些二进制文件添加到我的项目路径中。第二点是,我不在 Maven 项目上工作。

import opennlp.tools.sentdetect.SentenceDetectorME;
import opennlp.tools.sentdetect.SentenceModel;
import opennlp.tools.util.InvalidFormatException;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;


public class OpenNlpTest {

public static void SentenceDetect() throws InvalidFormatException,
IOException {
String paragraph = "Hi. How are you? This is Mike.";

// always start with a model, a model is learned from training data
InputStream is = new FileInputStream("en-sent.bin");
SentenceModel model = new SentenceModel(is);
SentenceDetectorME sdetector = new SentenceDetectorME(model);

String sentences[] = sdetector.sentDetect(paragraph);

System.out.println(sentences[0]);
System.out.println(sentences[1]);
is.close();

}
public static void main(String []z){

    try {
        SentenceDetect();
    } catch (InvalidFormatException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
}

这是我试图运行的代码,但它给出了以下错误

java.io.FileNotFoundException: en-sent.bin (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at OpenNlpTest.SentenceDetect(OpenNlpTest.java:17)
at OpenNlpTest.main(OpenNlpTest.java:31)

这是我刚刚开始的项目的层次结构

【问题讨论】:

  • 如您所见,项目上有红色指示灯。在错误控制台中查看它所说的错误
  • 我解决了这个错误,它说存档或 ZIP 之一已损坏。我从文件夹中删除了那个 ZIP,现在没有红色感叹号,但我得到的输出仍然相同。
  • [这对我有帮助,谢谢,我应该想到另一种搜索方式][1] [1]:stackoverflow.com/questions/22978170/…
  • 然后将其发布为答案并接受它
  • 您可以随时回答您的问题。底部会有回答您的问题的按钮

标签: java eclipse nlp opennlp


【解决方案1】:

我得到了解决方案。

This helped me to crack the problem 基本上我所做的是我给出了文件的绝对路径而不是相对路径。

【讨论】:

  • 嗯,这不是一个好的解决方案,因为它不能在其他环境中扩展。
【解决方案2】:

如你所见,它正在显示

java.io.FileNotFoundException: de-sent.bin (The system cannot find the file specified)

您还没有添加必要的依赖库。在您提供的链接中有一个名为 de-sent.bin 的 bin。您必须将其添加到库路径中

【讨论】:

  • 但我想使用 "en-sent.bin" 即英语模型文件,因此我只添加了这个 bin 文件。您可以查看最下方是否有一个名为“Language”的列。
  • 我之前尝试过,它给出了相同的异常。实际上我认为我没有给出正确的路径,如果你能帮助我,那就太好了,我已经添加了 OPENNPL_HOME 和给定我保存所有 bin 文件的目录的路径。它仍然无法正常工作。
  • 设置路径后是否重新启动了 Eclipse。如果没有重新启动 Eclipse 因为它可能引用了旧值
  • 其实很抱歉我把问题贴错了。当我尝试使用 de-sent.bin 时,它会给出与使用 en-sent.bin 时相同的错误
  • 不,同样的例外!
猜你喜欢
  • 1970-01-01
  • 2013-11-14
  • 2018-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-24
相关资源
最近更新 更多