Named Entity Recognition, also referred to as Entity Detection, is a valuable tool in the NLP playbook.
Powered by advanced Deep Learning and Machine Learning models, Named Entity Recognition is being used to create AI-backed tools by product managers into intelligent platforms across a multitude of industries.
In this article, we’ll look at what exactly Named Entity Recognition is, how it works, some of the top uses cases, and the best APIs for performing Entity Detection.
What is Named Entity Recognition, or Entity Detection?
Named Entity Recognition, or Entity Detection, applies Deep Learning models to identify and categorize key information in a text document. For example, this could be a news article, a social media post, or a transcription text.
Product teams or developers use Entity Detection to locate the names of people, organizations, or other “entities” such as addresses, phone numbers, social security numbers, locations, and more.
Generally, Entity Detection is a two step process:
- identifying entities – such as personal names or organizational names.
- classifying the entities that were identified – such as “location” or “occupation”.
For example, you might identify an entity
“New York City” and the category as
“location” or the entity
“AssemblyAI” and the category as
How Does Entity Detection Work and What Is It Used For?
Named Entity Recognition, or Entity Detection, works by identifying notable objects in a structured or unstructured text. This process is useful for analyzing a wide variety of texts. For example, at AssemblyAI, we see a lot of developers leveraging Entity Detection to extract entities from transcripts that were transcribed with our Speech-to-Text API.
As stated above, Named Entity Recognition must both identify and categorize this information. There are two main models used to achieve this goal: Ontology-based models and Deep Learning-based models.
Ontology-based Named Entity Recognition uses a knowledge-based recognition process that relies on lists of datasets, such as a list of company names for the company category, to make inferences. Because of this, its accuracy can vary greatly based on how relevant the datasets are to the input text. Ontology-based models work well for jargon-heavy topics, such as medical or science fields.
Alternatively, Deep Learning-based Named Entity Recognition uses trained neural networks consisting of thousands, millions, or even billions of parameters to understand the semantic and syntactic relationship between words and phrases in the input text. These models are trained on huge, diverse datasets that significantly increase the accuracy of Named Entity Recognition beyond that of ontology-based models.
Common Entity Types
Here is a list of commonly supported entity names for Named Entity Recognition:
Top Use Cases
Why is Entity Detection important? Entity detection can be an extremely valuable data collection and analytical tool for product teams and developers across a wide range of industries.
- Telephony and CRM Platforms: Identify specific people, company, or competitor names and automatically populate associated fields. Improve customer response time by categorizing conversations.
- Hiring Platforms: Identify certain roles, positions, companies, salaries, or more and automatically populate associated fields. Quickly sort through resumes and CVs to facilitate the hiring process.
- Virtual Meeting Platforms: Identify specific people, companies, or competitor names and automatically populate associated fields. Analyze topics of conversation, participants, locations, and more.
- Voice Bots: Identify people, companies, or competitor names and automatically trigger associated actions to automate and personalize interactions.
- Medical: Identify conditions, statistics, medicines, injuries, and more to sort patient information and analyze results.
By collecting this entity information, product teams are empowered with invaluable customer or employee information, regardless of industry. Then, these teams can perform analytics to boost understanding of customers, adjust marketing campaigns, modify products, and much more.
What are the Best Entity Detection APIs for Named Entity Recognition?
Now that we’ve discussed what Named Entity Detection is and how it works, let’s examine a few of the best Entity Detection APIs on the market today. Note that some of these APIs support Entity Detection for pre existing bodies of text, and others perform Entity Detection on audio or video streams (while concurrently transcribing them).
AssemblyAI’s Entity Detection API detects a wide range of entities on top of a transcription text (like from an audio stream) at industry-best accuracy. AssemblyAI frequently updates its API offering, most recently adding
banking information, such as account and routing numbers, as additional entities that can be detected.
Developers and product managers use AssemblyAI’s Entity Detection API for a wide variety of AI use cases and industries, including to power cutting-edge Revenue Intelligence Platforms and Conversation Intelligence Platforms.Test AssemblyAI's Audio Intelligence APIs for Free
Dandelion offers “entity extraction” of text across documents and social media. The European-based API supports Entity Detection across English, Italian, French, German, Portuguese, Spanish, and Russian at varying degrees of accuracy. A list of entities it is able to detect was not available.
Developers looking to test the Entity Detection tool can do so for free up to a certain threshold.
3. Google Natural Language
Google’s Natural Language API also supports entity analysis and extraction, in addition to a host of other features, from an unstructured text. Their service is split into two components:
- Entity Analysis - identifies entities in documents such as contracts, receipts, and more and labels them by types.
- Custom Entity Extraction - identifies entities in documents such as those stated above and labels them based on custom keywords or phrases.
Google’s Natural Language API has a higher price tag than others, though they do support a free tier for up to 5,000 characters. Developers can also use Google's Natural Language API in conjunction with their transcription API to perform entity detection on audio streams.
4. Azure Cognitive Services
Azure Cognitive Services supports AI-based analysis across speech, language, vision, decision, and OpenAI applications. Entity “Recognition” is part of their language offering and allows users to detect common and custom entities within a text or audio stream.
While developers can try Azure for free, getting started can be a bit cumbersome, especially if speech recognition services are also needed.
The TextRazor API helps users extract the “who, what, why, and how” from a wide variety of textual documents. Their Named Entity Recognition feature can detect entities such as people, places, and companies, as well as look for disambiguation clues to increase accuracy, though accuracy remains lower than other Entity Detection APIs.
Pricing starts at $200 per month for 6,000 requests per day.
Finally, Allganize is a NLU API. Designed to facilitate better customer interactions, Named Entity Recognition (NER) API analyzes a text to automatically classify keywords and extract meaningful information about people, places, and events mentioned.
Their Growth tier offers a free trial and then costs $.02/call for up to 10,000 calls.
Entity Detection Tutorial
Want to learn how to do Entity Detection or Named Entity Recognition on audio files in Python? Check out this YouTube Tutorial: