Преобразование свойств (свойств) из Java в Python3 с помощью StanfordCoreNLPServer - PullRequest
0 голосов
/ 02 июля 2018

Я конвертирую Java код, который использует StanfordCoreNLP в Python , который обращается к StanfordCoreNLPServer . Я вообще не Java-разработчик.

Java-код создает экземпляр StanfordCoreNLP pipeline, используя следующие свойства.

    Properties props = new Properties();
    props.put("annotators", "tokenize, ssplit, pos, lemma, ner, regexner");
    props.put("ner.model", serializedClassifier);
    props.put("pos.model", posModel);
    props.put("tokenize.language", "de");
    props.put("ssplit.isOneSentence", "true");
    props.put("ssplit.language", "de");
    props.put("lemma.language", "de");
    props.put("regexner.mapping", Init.REGEXNER);
    StanfordCoreNLP pipeline = new StanfordCoreNLP(props);

Я создаю экземпляр конвейера Python следующим образом:

    self.nlp = StanfordCoreNLP(host, port=port, timeout=30000)
    self.props = {
        'annotators': 'tokenize, ssplit, pos, lemma, ner, regexner',
        'pipelineLanguage': 'de',
        'tokenizeLanguage': 'de',
        'outputFormat': 'json', 
    }

def annotate(self, sentence):
    return json.loads(self.nlp.annotate(sentence, properties=self.props))

Вопрос , я не уверен, как преобразовать свойства java (такие как ner.model) в ключи Python. Я предполагаю, что это будет что-то вроде nerModel ... однако при передаче объекта self.props в бессмысленных ключах НЕ ОШИБКА. Итак, я не знаю, является ли ключ действительным или нет.

На странице Стэнфорда я не вижу документации по свойствам для Python.

1 Ответ

0 голосов
/ 05 июля 2018

Когда вы запускаете сервер, вы можете использовать опцию -serverProperties и отправить файл свойств, который настроит конвейер, который использует сервер.

Полная информация здесь:

https://stanfordnlp.github.io/CoreNLP/corenlp-server.html

...