2016-05-18 6 views
2

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

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

контрольных данных - Я знаю, TOM живет в Лондоне.

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

контрольных данных - Я знаю, что Том живет в Лондоне. Tom - Person London - Location Отношение правильно идентифицировано.

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

ответ

3

Я столкнулся с той же проблемой, что и у вас. Лучшим подходом для этого является использование вашего собственного словаря. Это будет намного быстрее, чем использование 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 
0

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

Модель без лифта доступна на английском языке. Вы можете скачать эту модель баночку здесь: 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"); 

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