How to extract entities from upper case text.

I use - http://corenlp.run/

with test data - I KNOW TOM LIVES IN LONDON.

LONDON - Location TOM - not identified relation not identified

with test data - I know Tom lives in London. Tom - Person London - Location relation correctly identified.

How to improve this?

1 Answer 1


You could try doing truecasing first.

(There are various libs for that. You will probably need to add a few domain-specific fixes for your data too. And you should try smashing all case before truecasing. It's not a completely solved problem either.)

As a general rule, breaking the problem down is the best approach. Most of the components perform poorly when they are expected to do spelling correction and transliteration and truecasing and fix punctuation and ... Named-entity recognition is no exception.

There are examples where the caseless version is ambiguous.

He helped Jack off the horse.

How you tune it and set the threshold will depend on your application. (Do you prefer false positives to false negatives?) Ideally the truecaser gives you a probability or other indication of ambiguity, but to do it perfectly requires full AI.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.