Распознавание именованных объектов в верхнем регистре

Как извлечь объекты из текста в верхнем регистре.

Я использую - http://corenlp.run/

с тестовыми данными - Я ЗНАЮ, ЧТО ЖИВЕТ В ЛОНДОНЕ.

ЛОНДОН - Местоположение TOM - не определено, отношение не определено

с данными испытаний - я знаю, что Том живет в Лондоне. Том - Персона Лондон - Местоположение правильно определено.

Как улучшить это?

2 ответа

Я прошел через ту же проблему, что и ты. Наилучшим подходом для этого является использование собственного словаря. Это будет намного быстрее, чем при использовании Stanford NER.

Вот несколько источников.

http://deron.meranda.us/data/census-dist-female-first.txt (4275 entries)
http://deron.meranda.us/data/census-dist-male-first.txt (1219 entries)
http://deron.meranda.us/data/census-derived-all-first.txt

Вы можете попробовать использовать модель без учета регистра, которая игнорирует регистр. Но убедитесь, что вы используете это только для предложений, которые все в верхнем или нижнем регистре для лучших результатов!

Модель caseless доступна в банке английских моделей. Вы можете скачать эту модель банки здесь: http://stanfordnlp.github.io/CoreNLP/download.html

Вам нужно установить параметр "ner.model" для использования моделей без учета регистра:

Properties props = new Properties();
props.setProperty("ner.model", "edu/stanford/nlp/models/ner/english.all.3class.caseless.distsim.crf.ser.gz,edu/stanford/nlp/models/ner/english.muc.7class.caseless.distsim.crf.ser.gz,edu/stanford/nlp/models/ner/english.conll.4class.caseless.distsim.crf.ser.gz");

Я думаю, что это может быть крутой новой функцией в следующей системе NER, чтобы автоматически определять, является ли предложение ALL-CAPS или полностью строчными буквами, и использовать модель без учета регистра для этих предложений.

Другие вопросы по тегам