Как установить флаги в коде 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 (в свойствах или что-то подобное), доступные здесь. Так, например, флаг -triple.strict=false и -triple.all_nominals=true. Подход, который я использовал, показан выше и

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

Не ясно, правильно ли это или работает. Предполагая, что они появляются в реквизитах, как они там устанавливаются? Если нет, то как мне установить их в коде?

Спасибо!


person user3071643    schedule 25.07.2018    source источник


Ответы (2)


Ты был почти прав. Ты должен сделать:

props.put("openie.triple.extract", "false");
props.put("openie.triple.all_nominals", "false")
person Gabor Angeli    schedule 26.07.2018

Вы можете установить эти свойства в объекте SeqClassifierFlags в своем коде, а затем вызвать конструктор CRFClassifier с этим объектом, как вы можете видеть здесь:

public CRFClassifier(SeqClassifierFlags flags)

вместо того, чтобы звонить

public CRFClassifier(Properties props)

из: https://nlp.stanford.edu/nlp/javadoc/javanlp/edu/stanford/nlp/ie/crf/CRFClassifier.html

person berkin    schedule 26.07.2018
comment
В nlp.stanford.edu/software/openie.html указано, что код также может вызываться программно с использованием Stanford CoreNLP. Для этого просто включите аннотаторы natlog и openie в свойство аннотаторов и добавьте любой из описанных выше флагов в файл свойств, предварив его строкой openie. Итак, я добавил props.put(openie,triple.extract=false,triple.all_nominals=false), но понятия не имею, правильно ли это. - person user3071643; 26.07.2018