Переопределить именованный объект с помощью RegexNER вместо модели CRF - PullRequest
0 голосов
/ 09 мая 2019

Я пытаюсь обнаружить именованные объекты, используя Stanford CoreNLP в задаче.

Я уже дал следующее правило в моем файле отображения RegexNER:

Train   VEHICLE_TYPE    2.0

Но он идентифицирует Train как CRIMINAL_CHARGE тип сущности.

Я добавил эту опцию ner.applyFineGrained и установил ее на true, возможно, именно поэтому она переопределяется с моделью CRF в CoreNLP.

Мой вопрос заключается в том, как добавить исключения, подобные этим, в файл сопоставления RegexNER или есть какой-то лучший подход.

1 Ответ

1 голос
/ 09 мая 2019

Вы должны использовать эти настройки:

# run fine-grained NER with a custom rules file
java -Xmx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLP -annotators tokenize,ssplit,pos,lemma,ner -ner.fine.regexner.mapping custom.rules -file example.txt -outputFormat text

Вы должны обязательно установить ner.fine.regexner.mapping в свой файл пользовательских правил, чтобы использовать его вместо стандартных детальных правил, которые помечали бы такие вещи, как CRIMINAL_CHARGE

...