Я использую Stanford Core NLP Server и обращаюсь к нему через запросы от python.Я бы хотел настроить поведение так, чтобы оно возвращало двойные кавычки (") вместо формата PTB (` `) и ('') (т. Е. Двух одинарных тиков). Я считаю, что есть возможность сделать это с помощью --tokenizerOptions asciiQuotes=true
, однако я не смог заставить это работать для меня.
tokenizerOptions упоминается в Stanford Tokenizer .
Код, который я использую длязапустить сервер выглядит как ..
java -mx4g -cp stanford-corenlp-full-2018-02-27/* edu.stanford.nlp.pipeline.StanfordCoreNLPServer
--port 5011 --preload tokenize,ssplit,pos,lemma,ner,parse --quiet
Я звоню на сервер из Python, используя запрос, который выглядит как ..
self.reqdict = {'annotators':'tokenize, ssplit, pos, lemma, ner', 'outputFormat':'json'}
r = requests.post( self.server_url, params={'properties': str(self.reqdict)},
data=text.encode(), headers={'Connection': 'close'})
output = json.loads(r.text, encoding='utf-8', strict=True)
Я пытался добавить --tokenizerOptions asciiQuotes=true
вкоманда для запуска сервера.
Я также пытался добавить params={..., 'tokenizerOptions': 'asciiQuotes=true'}
к запросу Python, но тоже не получилось.
Мой вопрос, должен ли работать с CoreNLPServer, и еслиИтак, как я могу сказать ему, чтобы реализовать эти параметры без каких-либо Java-программирования?
Другой вопрос: есть ли способ узнать, какие значения по умолчанию используются сервером? Ссылка выше дает варианты, ноэто не указывает, как они установлены по умолчанию.
И мМожет быть, самое главное, если я установлю эту опцию, повлияет ли это на точность разметки POS / NER или разбора избирателей?