"Named entities" is the NLP jargon for proper nouns which represent people, places, organisations, and so on. Lingua::EN::NamedEntity is a Perl module that provides a very simple way of extracting these from a text. If we run the extract_entities routine on a piece of news coverage of recent UK political events, we should expect to see it return a list of hash references looking like this:
{ entity => 'Mr Howard', class => 'person', scores => { ... }, },
{ entity => 'Ministry of Defence', class => 'organisation', ... },
{ entity => 'Oxfordshire', class => 'place', ... },
The additional scores hash reference in there breaks down the various possible classes for this entity in an open-ended scale.
The hash also includes the number of occurrences for that entity.
Naturally, the more text you throw at this, the more accurate it becomes.
SYNOPSIS
use Lingua::EN::NamedEntity;
my @entities = extract_entities($some_text);
Product's homepage
Requirements:
· Perl