Stanford CoreNLP передает опции аннотаторам из командной строки - PullRequest
0 голосов
/ 19 октября 2018

Я использую Stanford CoreNLP из терминала (Ubuntu), используя такие команды, как:

/path/to/corenlp/corenlp.sh -annotators tokenize,ssplit,pos,lemma,ner,parse -ssplit.eolonly true -file myfile.txt

Это работает, как и ожидалось, особенно опция eolonly сзначение true передается в аннотатор ssplit.

Теперь я хотел бы, используя конвейер, передать более сложную опцию аннотатору parse, чтобы указать формат вывода, как описанодля автономного синтаксического анализатора на https://nlp.stanford.edu/software/lex-parser.shtml, с помощью команды

java -mx200m edu.stanford.nlp.parser.lexparser.LexicalizedParser -retainTMPSubcategories -outputFormat "wordsAndTags,penn,typedDependencies".

Я пытался

corenlp.sh -annotators tokenize,ssplit,pos,lemma,ner,parse -ssplit.eolonly true -parse.flags "-retainTmpSubcategories -outputFormat wordsAndTags,penn,typedDependencies" -file myfile.txt

, ноЭто привело к ошибке

Exception in thread "main" java.lang.IllegalArgumentException: Unknown option: true
at edu.stanford.nlp.parser.lexparser.Options.setOption(Options.java:179)

Различные другие попытки с одинарными кавычками, экранирование кавычек, удаление тире, добавление true к первому флагу и т. д. не работали.Используя конвейер, каков правильный синтаксис для передачи этих параметров из терминала?

...