Recognizing named entities

Named-entity recognition (NER) tries to detect names of persons, organizations, locations, and other names in texts. Some NER systems are almost as good as humans, but it is not an easy task. Named entities usually start with upper case, such as Ivan. We should, therefore, not change the case of words when applying NER.

NLTK has support for the Stanford NER API. This is a Java API, so you need to have Java on your system. I tested the code with Java 1.8.0_65. The code in this recipe downloads the most recent Stanford NER archive (stanford-ner-2015-04-20.zip/3.5.2) as of October 2015. If you want another version, take a look at http://nlp.stanford.edu/software/CRF-NER.shtml (retrieved October 2015).

Getting ready

Install ...

Get Python Data Analysis Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.