【问题标题】:How do I set flags in code in Stanford Information Extraction如何在斯坦福信息提取中的代码中设置标志
【发布时间】:2018-07-25 23:35:52
【问题描述】:

使用斯坦福信息提取我们有以下java代码

Properties props = new Properties();
props.put("annotators", "tokenize,ssplit,pos,lemma,ner,entitymentions,depparse,natlog,openie");
props.put("tokenize.options", "latexQuotes=false");
props.put("openie","triple.extract=false,triple.all_nominals=false")
pipeline = new StanfordCoreNLP(props);

我想设置一些可用的 OpenIE 标志(在道具或类似的东西中)here。例如,标志 -triple.strict=false 和 -triple.all_nominals=true。我采取的方法如上所示,是

props.put("openie","triple.extract=false,triple.all_nominals=false")

目前尚不清楚这是否正确或有效。假设这些出现在道具中,它们是如何设置在那里的?如果没有,我如何在代码中设置它们?

谢谢!

【问题讨论】:

    标签: stanford-nlp information-extraction


    【解决方案1】:

    你几乎是对的。你应该这样做:

    props.put("openie.triple.extract", "false");
    props.put("openie.triple.all_nominals", "false")
    

    【讨论】:

      【解决方案2】:

      您可以在代码中的 SeqClassifierFlags 对象中设置这些属性,然后使用该对象调用 CRFClassifier 的构造函数,如下所示:

      public CRFClassifier(SeqClassifierFlags flags)
      

      而不是调用

      public CRFClassifier(Properties props)
      

      来自:https://nlp.stanford.edu/nlp/javadoc/javanlp/edu/stanford/nlp/ie/crf/CRFClassifier.html

      【讨论】:

      • nlp.stanford.edu/software/openie.html 中,它建议“代码也可以使用 Stanford CoreNLP 以编程方式调用。为此,只需在 annotators 属性中包含注释器 natlog 和 openie,并添加上述任何标志到带有字符串“openie”的属性文件中。所以我添加了 props.put("openie","triple.extract=false,triple.all_nominals=false"),但不知道这是否正确。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-17
      • 1970-01-01
      • 2016-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多