什么是OpenNLP的模型文件路径?

时间:2015-06-05 21:18:00

标签: android eclipse opennlp

我尝试在eclipse的Android应用程序中使用OpenNLP,并将4个JAR导入libs文件夹。

这可能是一个愚蠢的问题..但我应该把模型文件放在哪里" en-pos-maxent.bin"?我找不到任何关于路径的信息

我尝试运行代码包含这一行:

POSModel model = new POSModelLoader()   
            .load(new File("en-pos-maxent.bin"));

我尝试将en-pos-maxent.bin放在项目中的新文件夹中(" tagger / en-pos-maxent.bin"),在libs文件夹中,或者只是给出路径在下载时放置en-pos-maxent.bin(" Users / ariel / Downloads / en-pos-maxent.bin"),它总是给我错误:POS Tagger模型文件不存在路径:(我输入的路径)

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

当您使用new File("filename")时,该文件应位于当前工作目录中,我不认为Android上的文件有所不同。您可以使用System.getProperty("user.dir")获取当前工作目录。默认情况下,它是您启动程序的目录。您也可以指定new File("/full/path/filename")之类的完整路径。

答案 1 :(得分:1)

在android中,将文件添加到应用程序(在APK中)的正确方法是放入assets文件夹。然后,您无法从assets文件夹中获取File对象,但是,您可以使用缓冲区创建该文件,或者只是将其放入InputStream。例如,如果您要在models文件夹(assets)中创建assets/models文件夹,那么您的代码将如下所示:

AssetManager am = getAssets();
InputStream inputStream = am.open("models/en-pos-maxent.bin");
POSModel posModel = new POSModel(inputStream);