【问题标题】:edit config file in stanford pos tagger在 stanford pos tagger 中编辑配置文件
【发布时间】:2015-06-08 08:43:27
【问题描述】:

我标记了一个简单的句子,这是我的代码:

package tagger;

import edu.stanford.nlp.tagger.maxent.MaxentTagger;

public class myTag {

public static void main(String[] args) {

    MaxentTagger tagger = new MaxentTagger("D:/tagger/english-bidirectional-distsim.tagger");


    String sample = "i go to school by bus";

    String tagged = tagger.tagString(sample);

    System.out.println(tagged);
}

}

这是输出:

    Reading POS tagger model from D:/tagger/english-bidirectional-distsim.tagger    ... done [3.0 sec].
i_LS go_VB to_TO school_NN by_IN bus_NN 

编辑属性文件后它根本没有任何效果。 例如,我已将标签分隔符更改为 ( * ),但在输出中它仍然打印 ( _ )。

如何在 eclipse 中使用模型配置文件?

【问题讨论】:

标签: java nlp stanford-nlp maxent


【解决方案1】:

您可以使用下载的 ZIP 文件中的 bash 文件,而不是为此编写 java 代码。 解压 postagger 的 ZIP 文件后,编辑以下 bash 文件:

stanford-postagger.sh

它应该有以下行:

java -mx300m -cp 'stanford-postagger.jar:lib/*' edu.stanford.nlp.tagger.maxent.MaxentTagger -model $1 -textFile $2

“-model $1”之后添加一个名为“-tagSeparator [YourTag]”的参数

java -mx300m -cp 'stanford-postagger.jar:lib/*' edu.stanford.nlp.tagger.maxent.MaxentTagger -model $1 -tagSeparator * -textFile $2

运行它(确保已授予必要的权限):

./stanford-postagger.sh models/model_name.tagger in_filename > out_filename

瞧!

【讨论】:

    【解决方案2】:

    您可以加载属性文件并将其传递给 MaxEnt 的构造函数,如下所示:

    Properties props = new Properties();
    props.load(new FileReader("path/to/properties"));
    MaxentTagger tagger = new MaxentTagger("D:/tagger/english-bidirectional-distsim.tagger", props);
    

    您也可以直接在props对象中设置属性:

    props.setProperty("tagSeparator", "*");
    

    注意:如果您使用原始属性文件并且它会失败并出现异常,例如

    java.io.FileNotFoundException: /u/nl
    p/data/pos_tags_are_useless/egw4-reut.512.clusters (No such file or directory)
    

    然后删除archtrainFile 属性。

    【讨论】:

    • 你能解释一下第一个解决方案>>VM参数吗?
    • 究竟要解释什么?
    • 第二个解决方案工作正常,但我想更改属性文件中的多个参数,所以在这种情况下第一个解决方案更好。问题是如何将属性文件作为参数传递给程序?
    • 我已经编辑了示例代码(并检查了它);立即尝试。
    • 我认为您应该创建另一个问题并详细解释您的问题。特别是预期的结果是什么,实际的结果(似乎在这里呈现)和重现的步骤。目前我不明白你的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-05
    • 1970-01-01
    • 2018-02-03
    • 1970-01-01
    • 2013-09-27
    • 1970-01-01
    相关资源
    最近更新 更多