如何在 Stanford Information Extraction 中的代码中设置标志

How do I set flags in code in Stanford Information Extraction

使用斯坦福信息抽取我们有以下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")

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

谢谢!

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

public CRFClassifier(SeqClassifierFlags flags)

而不是调用

public CRFClassifier(Properties props)

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

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

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