【问题标题】:How to get Stanford CoreNLP to use a training model you created?如何让斯坦福 CoreNLP 使用您创建的训练模型?
【发布时间】:2015-11-15 21:00:34
【问题描述】:

我刚刚为 stanfordCoreNLP 创建了一个训练模型,所以我有一堆看起来像这样的文件:

现在,我如何告诉 CoreNLP 使用我创建的模型而不是 coreNLP 附带的模型?是我在命令行中传递的东西还是我的 java 代码中的东西,例如:

props.put("sentiment.model");

我注意到我的 coreNLP 库中有一个名为 stanford-corenlp-3.5.1-models.jar 的 jar 文件。这个jar文件和我想做的有什么关系吗?

谢谢

【问题讨论】:

    标签: java model stanford-nlp sentiment-analysis


    【解决方案1】:

    在 Java 中:

    props.put("sentiment.model", "path/to/model");
    

    在命令行上:

    -sentiment.model path/to/model
    

    【讨论】:

    • 如果我只是通过 java 代码来做,每次我运行应用程序时都会使用这个模型“训练”它吗?我想我想说的是我每次运行应用程序时都必须保留这行代码还是我只做一次然后将其注释掉,因为 coreNLP 已经看到了模型并因此被“训练” .我希望这是有道理的。
    • 明确地说,这个过程包括两个主要步骤 1. 训练模型 2. 使用新模型对看不见的文本进行预测。训练模型后,模型将保存在 model-0014-93.73.ser.gz 之类的文件中。您的应用程序预测新的看不见的推文的情绪将加载该文件并根据该模型进行预测。所以 props.put("sentiment.model", "path/to/model") 是使用该模型的指令,它与训练阶段无关。这是假设您正在使用“情感”注释器在 Java 代码中构建 StanfordCoreNLP 管道对象。
    • 这个页面有很多关于用斯坦福 CoreNLP 注释文档的信息:nlp.stanford.edu/software/corenlp.shtml
    • 它有“sentiment.model”的部分,是任意的还是我的模型的名称?因为我有很多模型文件,就像你在图片中看到的那样,所以我不知道该放什么。 @StanfordNLPHelp
    • 你应该放 model-0014-93.73.ser.gz ,这是你得分最高的模型。 “93.73”是模型的 F1 分数。
    猜你喜欢
    • 2016-02-10
    • 1970-01-01
    • 1970-01-01
    • 2020-08-30
    • 1970-01-01
    • 1970-01-01
    • 2017-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多