Natural Language Processing

processors – natural language analysis and information extraction

processors is a natural language processing library. It provides tools for analysing the grammatical structure and meaning of text, together with facilities for extracting information from natural language.

The library combines linguistic processing components with rule-based extraction and machine learning utilities. It can identify individual words, their grammatical roles, named entities and the relationships between words in a sentence.

A central component is Odin, a rule-based event extraction framework that allows developers to describe patterns for identifying events and relationships. This is useful for building information extraction systems that need to recognise domain-specific patterns in documents.

processors is primarily intended for researchers and developers working with Scala or Java. It can be incorporated into applications or used from the command line to analyse text and produce structured annotations.

This is free and open source software.

Key Features

  • Provides sentence segmentation and tokenisation.
  • Supports word lemmatisation and part-of-speech tagging.
  • Identifies named entities such as people, organisations and locations.
  • Recognises and normalises numerical expressions, dates and other structured entities.
  • Performs shallow syntactic parsing and phrase chunking.
  • Provides dependency parsing for analysing grammatical relationships.
  • Includes the BalaurProcessor pipeline for linguistic annotation.
  • Offers Odin for rule-based event and relation extraction.
  • Allows extraction rules to be defined for specialised text analysis tasks.
  • Includes machine learning implementations for classification and ranking.
  • Provides algorithms including perceptrons, logistic regression, support vector machines and random forests.
  • Supports processing raw text, individual sentences and pre-tokenised input.
  • Serialises annotations for storage and exchange, including JSON output.
  • Provides command-line analysis with CoNLL-U-compatible output.
  • Offers programmatic interfaces for Scala and Java applications.

Website: github.com/clulab/processors
Support:
Developer: Computational Language Understanding Lab, University of Arizona
License: Apache License 2.0

processors is written in Java and Scala. Learn Java with our recommended free books and free tutorials. Learn Scala with our recommended free books and free tutorials.


Related Software

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