Natural Language Processing (NLP)

Important - page not maintained

This page is no longer being maintained and its content may be out of date. For the latest guidance, please visit the Neo4j Graph Data Science Library .

Neo4j offers powerful querying capabilities for structured data, but a lot of the world’s data exists in text documents. NLP techniques can help to extract the latent structure in these documents. This structure could be as simple as nodes representing tokens in a sentence or as complicated as nodes representing entities extracted using a named entity recognition algorithm.

Why NLP?

Extracting structure from text documents and storing it in a graph enables several different use cases, including:

  • Content based recommendations

  • Natural Language search

  • Document similarity

Neo4j NLP Tools and Products

There are several approaches for doing NLP analysis in Neo4j. We’ll learn about them in this section.

APOC NLP

APOC is Neo4j’s standard library. It contains procedures that call the Amazon Web Services (AWS), Google Cloud Platform (GCP), and Microsoft Azure Natural Language APIs, and create a graph based on the results returned.

These procedures support entity extraction, key phrase extraction, sentiment analysis, and document classification.

This library is a good choice for your first graph based NLP project.

GraphAware Hume

Hume is a graph-powered Insights Engine made by GraphAware, a Neo4j partner. It can be used to build a knowledge graph that will help surface previously buried and undetected relevance in your organization.

Hume is a commercial product. You’ll need to get in contact with GraphAware to learn more and get a demo.

Developer Guides

The following guides show how to solve various NLP related problems: