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

Stanford NLP解析器模型Jar太大

呼延博易
2023-03-14

我使用maven管理依赖关系。我需要使用斯坦福NLP解析器来获得英语句子的通用依赖关系。我使用的是edu/stanford/nlp/models/lexparser/englishpcfg.ser.gz模型。我的pom.xml包含以下内容

    <dependency>
        <groupId>edu.stanford.nlp</groupId>
        <artifactId>stanford-parser</artifactId>
        <version>3.6.0</version>
    </dependency>
    <dependency>
        <groupId>edu.stanford.nlp</groupId>
        <artifactId>stanford-parser</artifactId>
        <version>3.6.0</version>
        <classifier>models</classifier>
    </dependency>

通过添加模型依赖项,jar大小增加了大约300MB。我需要确保罐子越小越好。在maven中有什么方法可以处理这个吗?

共有1个答案

闻人献
2023-03-14

您可以通过不包括模型并从其他地方引用它们来使jar更小(例如,为属性parse.model)指定自定义路径,但是通常,如果您希望生成解析树,您需要在某个地方访问解析器模型。默认情况下,CoreNLP将其包含在模型jar中,以便于独立于特定的目录结构运行代码。

另一种选择是运行CoreNLP服务器,然后只需要客户端库(服务器包括models jar)。

 类似资料:
  • 我对Java和Eclipse有点陌生。对于NLP任务,我通常使用python和Nltk。。我正在努力学习这里提供的教程 但我总是得到以下输出,其中包含一个错误,所有与kbp相关的模块都会出现这种情况,我确实按照教程的要求添加了jar文件: 添加注释器标记没有提供标记器类型。默认为PTBTokenzer。添加注释器split添加注释器pos加载来自edu/stanford/nlp/模型/pos-ta

  • 错误是: 方法引发了'java.lang.NullPointerException'异常。无法计算pl.netizens.eonbeacon.storage.eonbeaconmodel.ToString() Eeid,Eeid模型:

  • 解释器模式 解释器模式虽然听上去有些费解,但是如果用示例说明一下就不难理解了。我们知道在C语言中,关于变量的定义是这样的:一个不以数字开始的由字母、数字和下划线构成的字符串。这种形式的表达式可以用状态自动机解决,当然也可以用解释器的方式解决。 typedef struct _Interpret { int type; void* (*process)(void* pDa

  • 问题内容: 我知道hibernate最近在3.6中重做了它的类型系统。我认为这现在允许您将Java类与类型(或UserType)相关联。例如,我使用joda- time并具有几个UserType,它们将LocalDate和LocalDateTime映射到适当的SQL类型。 当使用对象时,这很好用,但是如果我想传递一个joda类型作为HQL参数,hibernate就会感到困惑,所以我必须记得每次打电

  • 模板解析器类可以解析你的视图文件中的伪变量。它可以解析简单的变量或者以变量作为标签的结构。如果你以前没有用过模板引擎,那么伪变量如下所示:<html> <head> <title>{blog_title}</title> </head> <body> <h3>{blog_heading}</h3> {blog_entries} <h5>{title}</h5> <p>{body}</p> {/bl

  • 主要内容:1.概述,2. XPathParser,3. XMLMapperEntityResolver,4. GenericTokenParser,5. PropertyParser,6. TokenHandler1.概述 解析器模块,主要提供了两个功能: 一个功能,是对 XPath 进行封装,为 MyBatis 初始化时解析 mybatis-config.xml 配置文件以及映射配置文件提供支持。 另一个功能,是为处理动态 SQL 语句中的占位符提供支持。 源码对应 parsing 包。 2.