当前位置: 首页 > 知识库问答 >
问题:

0.0.0-SNAPSHOT不支持OpenNLP模型版本1.5.0

从开济
2023-03-14

我正在尝试使用OpenNLP在手册中的一个示例(第一次使用它)。

出于某种原因:

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

import java.io.InputStream;

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

public class Main {

/**
 * @param args
 */
public static void main(String[] args) {
    //-------------------------------------------------------------Check for input text file.
    if(args == null){
        System.out.print("hello");
    }
    
    //------------------------------------------------------------------Main algorithm
    else  {
        InputStream modelIn = null;
        
        SentenceModel model = null;
        
        try {
            modelIn = new FileInputStream("./src/train/en-sent.bin");
        } catch (FileNotFoundException e1) {
            e1.printStackTrace();
        }
        
        try {
            model = new SentenceModel(modelIn);
        }
        catch (IOException e) {
            e.printStackTrace();
        }
        finally {
            if (modelIn != null) {
                try {
                    modelIn.close();
                }
                catch (IOException e) {
                }
            }
            
        }
        SentenceDetectorME sentenceDetector = new SentenceDetectorME(model);
        
        String sentences[] = sentenceDetector.sentDetect("  First sentence. Second sentence. ");
        
        System.out.print(sentences[0]);
    }
        
        
    }

}

获取一个错误:

opennlp.tools.util.InvalidFormatException: Model version 1.5.0 is not supported by this (0.0.0-SNAPSHOT) version of OpenNLP!
at opennlp.tools.util.model.BaseModel.validateArtifactMap(BaseModel.java:235)
at opennlp.tools.sentdetect.SentenceModel.validateArtifactMap(SentenceModel.java:78)
at opennlp.tools.util.model.BaseModel.<init>(BaseModel.java:142)
at opennlp.tools.sentdetect.SentenceModel.<init>(SentenceModel.java:73)
at Main.main(Main.java:34)

我一点也不知道为什么会这样。。。这里说,OpenNLP的0.0.0-SNAPSHOT版本在加载任何模型时都不会失败。

到目前为止,我还没有找到关于这个错误的任何其他信息。可能是我用进口货做的?或者我正在使用的模型(我从OpenNLP网站下载了它——找不到任何其他版本)?不管怎样,我不知道怎么了。。。

任何想法或帮助都将不胜感激。

附加信息:我在Ubuntu 12.04上使用OpenNLP 1.5.2孵化和1.5模型(项目网站说它应该完全兼容)。我不确定这是否有任何意义,但我正在使用Eclipse Indigo。

共有1个答案

浦琪
2023-03-14

一个这样的错误(OPENNLP-406)只有在1.5.2-孵化后才能修复。但您的问题可能是类路径问题。OpenNLP从文件OpenNLP获取其版本。版本在类路径中的某个位置。您可能没有或有多个这样的文件,这会让OpenNLP感到困惑。

 类似资料:
  • 我目前正试图在代码中使用一个经过定制培训的OpenNLP名称查找器模型。我的项目使用OpenNLP1.6.0,并使用EclipseIDE开发。该模型还使用OpenNLP 1.6.0进行了训练。 然而,我遇到了一个恼人的错误: 这里有人问了一个类似的问题,答案说问题是由于OpenNLP模型使用与使用中的版本相同的版本进行训练(即,使用1.6.0训练模型,并在同样使用1.6.0的项目中使用它)。然而,

  • 我试图编译GLSL着色器在LWJGL使用OpenGL。我在MacOS Sierra上。 尝试编译着色器时出现以下错误: 着色器代码在Windows上工作,但在macOS上测试时却不能。下面是着色器代码: 下面是我如何加载着色器。。。 print语句返回正确的输出,但它仍然给我错误。 我在stackoverflow上下搜索了一个解决方案,但每个人都说他们在编译它时没有换行符,我有。我不明白为什么会这

  • 我使用的是IntelliJ IDEA Ultimate 2019.3.1。每当我尝试启动任何简单的Java Maven项目(甚至可能是一个简单的Hello World)时,我都会得到以下错误: 通过终端运行,得到以下输出: 通过终端运行,得到以下输出:

  • 我刚刚安装了3.0使用在我的笔记本电脑上,这是运行14.04: 然而,当我使用时,终端似乎认为它使用的是1.2版。1: 更糟糕的是,当我去打开一个JSON nbform版本4的笔记本,它支持IPython3.0,我得到以下错误: 我试图使用团队推荐的命令将笔记本降级到版本3,但对我来说也失败了: 这到底是怎么回事?

  • 我已经下载了程序: 解压缩它: 进入文件夹并运行: 这是我得到的错误: 我这样做过: 但是同样的错误 我的java版本: javac1.6。0_35 Java版本"1.6.0_35"OpenJDK运行时环境(IcedTea6 1.13.7) (6b35-1.13.7-1~Deb7u1)OpenJDK 64位服务器VM(build 23.25-b01,混合模式) 我读到这篇文章是因为我编译的版本比J

  • 错误:(1,0)原因:com/android/build/gradle/libraryplugin:不受支持的Major.minor版本52.0 存档中 MyPath\AndroidStudioProjects\MyApp\App\libs\ColorPickerPreference\ColorPickerPreference\build.grad 和java版本 java版本“1.7.0_79”