Настройте NER на сервере StanfordNLP - PullRequest
1 голос
/ 05 апреля 2019

Привет, я пытаюсь добавить дополнительные объекты в текущие правила по умолчанию. Он работал на txt.file в stanfordNLP, но когда я применил в python с использованием stanfordNLPServer, он не смог перезаписать правила по умолчанию.

Я использую NLTK-оболочку coreNLP в Python, а входной текст представляет собой столбец из фрейма данных. Правила по умолчанию работали хорошо, но не могли добавить настраиваемые правила.

Java-команда, которая работала для StanfordCoreNLP:

'java -Xmx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLP -annotators tokenize, ssplit, pos, lemma, ner -ner.additional.regexner.mapping extra.txt -file example.txt -outputFormat текст '

Но это не удалось, когда я запустил следующую команду StanfordCoreNLPServer:

'java -Xmx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -annotators токены, ssplit, pos, lemma, ner -ner.additional.regexner.mapping extra.txt -status_port 9000 -port 9000 - время ожидания 90000 & '

Я предполагаю, что coreNLPServer пока не может настраивать объекты, но не уверен в этом. Очень ценю, если кто-то может помочь с этим!

1 Ответ

1 голос
/ 07 апреля 2019

Вам необходимо использовать параметр -serverProperties и настроить файл со всеми свойствами, которые вы хотите использовать для конвейера.

Невозможно напрямую передать свойства конвейера на сервер.

Итак, в качестве примера, создайте файл с именем server.props.

. В этот файл поместите ваши свойства:

annotators = tokenize,ssplit,pos,lemma,ner
ner.additional.regexner.mapping = extra.txt

И затем выполните эту команду:

java -Xmx4g edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port 9000 -timeout 15000 -serverProperties server.props
...