【问题标题】:Stanford Core NLP LexicalizedParser ModelStanford Core NLP LexicalizedParser 模型
【发布时间】:2015-11-03 21:56:24
【问题描述】:

我是 NLP 新手。 我正在尝试使用LexicalizedParser 的示例程序,但无法找到模型。

String parseModel = "...../models/lexparser/englishPCFG.ser.gz";
LexicalizedParser lecicalizedParser = LexicalizedParser.loadModel(parseModel);

我在示例 Java 应用程序的构建路径中也有所需的 stanford-core-nlp-3.5.2.jar 和 ner jar。

我尝试引用核心 jar 的绝对路径并加载它,但不能。 :(

如何从我的程序代码中引用该模型的确切位置?

非常感谢您的任何帮助和所有帮助!

【问题讨论】:

    标签: java stanford-nlp


    【解决方案1】:

    如果您使用 maven,请确保在 pom.xml 中包含这两个依赖项

    <dependency>
        <groupId>edu.stanford.nlp</groupId>
        <artifactId>stanford-corenlp</artifactId>
        <version>3.5.2</version>
    </dependency>
    <dependency>
        <groupId>edu.stanford.nlp</groupId>
        <artifactId>stanford-corenlp</artifactId>
        <version>3.5.2</version>
        <classifier>models</classifier>
    </dependency>
    

    此型号englishPCFG.ser.gz
    在包装内edu.stanford.nlp.models.lexparser
    那是在stanford-corenlp-3.5.2-models.jar

    里面

    所以你应该使用这个路径:

    String parseModel = "edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz"
    

    【讨论】:

    • 我没有在这个示例测试程序中使用 maven。我的构建路径库中都有这两个库。但是通过在罐子内部遍历来访问模型被证明是困难的,但会破解。我是否忘记了一些用于文件访问的基本 Java 内容是我的担心。我必须承认。
    • @stanfordNLPHelp 在 Eclipse 中作为独立的测试程序。我的库直接在我的 java 项目的 lib 文件夹中。我想我需要更改以下语句: String parseModel = "../edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz" 但我不确定这个模型 "englishPCFG.ser.gz" 是否存在在 core-nlp jar 中,或者我也需要包含其他 jar。在那种情况下,到底是哪个罐子。
    • Manos 上面所说的是正确的,该文件位于 stanford-corenlp-3.5.2-models.jar 中,您应该执行 String parseModel = "edu/stanford/nlp/models/lexparser/englishPCFG. ser.gz";
    猜你喜欢
    • 1970-01-01
    • 2015-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多