Natural Language Processing

Stanford CoreNLP – natural language processing toolkit

Stanford CoreNLP is a natural language processing toolkit developed by Stanford University. It provides a collection of linguistic analysis components that can transform ordinary text into structured information suitable for computational analysis.

The software is organised around an annotation pipeline. Each component examines the text and adds information that subsequent components can use, allowing developers to combine several forms of linguistic analysis within a single workflow. The resulting annotations can be accessed through Java objects or exported for processing by other applications.

Stanford CoreNLP is used in linguistic research, information extraction and applications that need to identify relationships between words, sentences and entities. It combines statistical models, neural networks and rule-based methods, depending on the analysis being performed.

The toolkit provides Java APIs, command-line operation and an HTTP service, making it suitable for standalone analysis and integration with larger applications.

This is free and open source software.

Key Features

  • Extensible annotation pipeline for combining multiple natural language processing components.
  • Tokenisation and sentence segmentation.
  • Part-of-speech tagging identifies the grammatical roles of words.
  • Lemmatisation determines the base forms of words.
  • Named entity recognition identifies people, organisations, locations and other entities.
  • Recognises and normalises dates, times, numerical expressions and quantities.
  • Provides constituency and dependency parsing for analysing sentence structure.
  • Coreference resolution identifies expressions referring to the same entity.
  • Sentiment analysis determines the polarity of text.
  • Supports relation extraction, quotation attribution and natural logic annotations.
  • Provides Semgrex for matching patterns within dependency graphs.
  • Supports SUTime for recognising and normalising temporal expressions.
  • Offers language models for Arabic, Chinese, English, French, German, Hungarian, Italian and Spanish.
  • Allows developers to create custom annotators and processing pipelines.
  • Provides Java APIs, command-line processing and an HTTP server.
  • Supports serialisation of linguistic annotations, including Protocol Buffers.
  • Cross-platform support – runs on Linux, macOS, and Windows.

Website: github.com/stanfordnlp/CoreNLP
Support:
Developer: Stanford University
License: GNU General Public License v3.0

Stanford CoreNLP is written in Java. Learn Java with our recommended free books and free tutorials.


Related Software

Natural Language Processing
PyTorch-TransformersLibrary of state-of-the-art pre-trained models
Natural Language ToolkitSuite of open source Python modules, data sets and tutorials
Stanford CoreNLPExtensible annotation-based NLP pipeline
spaCyIndustrial strength natural language processing
scikit-learnMachine learning library for Python
GensimPython-based vector space modeling and topic modeling toolkit
flairSimple framework for state-of-the-art NLP
Apache OpenNLPMachine learning based toolkit
DL4JDeploy and train deep learning models
Apache LuceneFull-featured information retrieval software library
UIMAImplementation of the UIMA specification
tidytextText mining using dplyr, ggplot2, and other tidy tools
text2vecFramework with API for text analysis and NLP
quantedaR package for Quantitative Analysis of Textual Data
MosesStatistical machine translation system

Read our verdict in the software roundup.

Java Natural Language Processing Tools
CoreNLPAnnotation-based NLP pipeline that provides core natural language analysis
OpenNLPMachine learning based toolkit
DL4JDeploy and train deep learning models
LuceneHigh-performance, full-featured information retrieval software library
UIMAOpen source implementation of the UIMA specification
TikaContent analysis toolkit
MALLETStatistical natural language processing, document classification and more
GATEFull-lifecycle solution for a broad range of NLP tasks
ReVerb Automatically identifies and extracts binary relationships from sentences
NLP4JNLP framework for JVM languages
CogComp-NLPState-of-the-art Natural Language Processing (NLP) tools

Read our verdict in the software roundup.


Best Free and Open Source Software LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.

We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more.

Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion.

Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted