The Stanford CoreNLP Natural Language Processing Toolkit
Written for the Research library (claude-opus-5-5) from the paper text, in our own words: the license "CC BY-NC-SA 3.0 (ACL Anthology, before 2016)" does not allow redistributing the text itself. Original — aclanthology.org/P14-5010.pdf
Summary
Combining NLP components that each expose their own API usually requires fragile custom glue code. Large frameworks such as UIMA or GATE avoid that, but users have to learn the framework before they can analyse any text. This system-demonstration paper presents Stanford CoreNLP, a JVM-based toolkit that chains linguistic analysers into one simple pipeline. Input text goes into an Annotation object, a typesafe heterogeneous map, and a sequence of Annotators each add a layer to it. The layers run from tokenization and sentence splitting through POS tagging, lemmatization, NER and parsing to coreference and sentiment. Java Properties select and configure the annotators. A pipeline can run from a few lines of code or a single command and write its results as XML or plain text. The paper reports no benchmark scores. Instead, the authors credit the toolkit's wide use in research, industry and government to deliberate minimalism: few concepts to learn, plain Java objects, robust default models, a clear open-source license, documentation and responsiveness to users. The paper is a useful reference for anyone designing NLP infrastructure that is easy to adopt.
Key points
- History: The pipeline was built for internal use in 2006. A multi-site grant project added a command-line interface and XML output in 2009, and the toolkit became open source under GPL v2+ in 2010. It is distributed via GitHub (stanfordnlp/CoreNLP) and Maven.
- Annotators: tokenize (PTB-style, keeps character offsets), cleanxml, ssplit, truecase (CRF tagger), pos (maximum-entropy tagger), lemma, gender, ner, parse, dcoref and sentiment. The ner annotator covers PERSON, LOCATION, ORGANIZATION and MISC plus six numeric types: MONEY, NUMBER, DATE, TIME, DURATION and SET.
- Languages: English models come bundled. Chinese and case-insensitive English are available as separate model packages, and French, German and Arabic are only partly supported.
- Deliberate limits: The toolkit offers only a Java API and runs multi-threaded on a single machine. Spreading work across machines is left to systems such as Hadoop or Spark, unlike the heavier UIUC Curator.
- Ecosystem: Third-party wrappers give access from Python, Ruby, Perl, Scala, Clojure, node.js and .NET. The toolkit can also run inside UIMA through wrappers such as ClearTK.
Cited by
- Verb Phrase Ellipsis Resolution Using Discriminative and Margin-Infused Algorithms
- Detection and Resolution of Verb Phrase Ellipsis
- Part-of-Speech Tagging for Historical English
- What's Wrong with Hebrew NLP? And How to Make it Right
- SemEval-2016 Task 1: Semantic Textual Similarity, Monolingual and Cross-Lingual Evaluation
- Contextual String Embeddings for Sequence Labeling
- Variation in Coreference Strategies across Genres and Production Media
- Learning bilingual word embeddings with (almost) no bilingual data
- AMR Parsing via Graph-Sequence Iterative Inference
- Factorising AMR generation through syntax
- Microsoft COCO Captions: Data Collection and Evaluation Server
- Reading Wikipedia to Answer Open-Domain Questions
- Controllable Paraphrase Generation with a Syntactic Exemplar
- Syntactic Language Change in English and German: Metrics, Parsers, and Convergences
- Let's do it "again": A First Computational Approach to Detecting Adverbial Presupposition Triggers
- Learning to Ask: Neural Question Generation for Reading Comprehension
- FEQA: A Question Answering Evaluation Framework for Faithfulness Assessment in Abstractive Summarization
- Large-Scale QA-SRL Parsing
- Creating Training Corpora for NLG Micro-Planners
- AllenNLP: A Deep Semantic Natural Language Processing Platform
- WikiCoref: An English Coreference-annotated Corpus of Wikipedia Articles
- Evaluating Factuality in Generation with Dependency-level Entailment
- Newsroom: A Dataset of 1.3 Million Summaries with Diverse Extractive Strategies
- Argumentation Mining in User-Generated Web Discourse
- Toward a Period-Specific Optimized Neural Network for OCR Error Correction of Historical Hebrew Texts
- The Goldilocks Principle: Reading Children's Books with Explicit Memory Representations
- Constructing A Multi-hop QA Dataset for Comprehensive Evaluation of Reasoning Steps
- Unsupervised Syntactically Controlled Paraphrase Generation with Abstract Meaning Representations
- ParaAMR: A Large-Scale Syntactically Diverse Paraphrase Dataset by AMR Back-Translation
- A Lexicon-Based Approach for Detecting Hedges in Informal Text
- Adversarial Example Generation with Syntactically Controlled Paraphrase Networks
- Adversarial Examples for Evaluating Reading Comprehension Systems
- PubMedQA: A Dataset for Biomedical Research Question Answering
- Becoming Linguistically Mature: Modeling English and German Children's Writing Development Across School Grades
- Inquisitive Question Generation for High Level Text Comprehension
- Visual Genome: Connecting Language and Vision Using Crowdsourced Dense Image Annotations
- Syntax-Guided Controlled Generation of Paraphrases
- Neural Text Generation from Structured Data with Application to the Biography Domain
- Discourse Parsing with Attention-based Hierarchical Neural Networks
- Crowdsourcing Question-Answer Meaning Representations
- Learning To Use Formulas To Solve Simple Arithmetic Problems
- Using Linguistic Features to Improve the Generalization Capability of Neural Coreference Resolvers
- Word Sense Disambiguation: A Unified Evaluation Framework and Empirical Comparison
- Creating and Characterizing a Diverse Corpus of Sarcasm in Dialogue
- A Deep Reinforced Model for Abstractive Summarization
- All Roads Lead to UD: Converting Stanford and Penn Parses to English Universal Dependencies with Multilayer Annotations
- Challenges to Evaluating the Generalization of Coreference Resolution Models: A Measurement Modeling Perspective
- Fast Lexically Constrained Decoding with Dynamic Beam Allocation for Neural Machine Translation
- Semantic properties of English nominal pluralization: Insights from word embeddings
- Semantic Neural Machine Translation Using AMR
- A Structured Syntax-Semantics Interface for English-AMR Alignment
- BERT Rediscovers the Classical NLP Pipeline
- FEVER: a Large-scale Dataset for Fact Extraction and VERification
- Multimodal Transformer for Unaligned Multimodal Language Sequences
- Arc-swift: A Novel Transition System for Dependency Parsing
- Parsing Tweets into Universal Dependencies
- Dependency Parsing for Spoken Dialog Systems
- Stanza: A Python Natural Language Processing Toolkit for Many Human Languages
- Trankit: A Light-Weight Transformer-based Toolkit for Multilingual Natural Language Processing
- Tracing Syntactic Change in the Scientific Genre: Two Universal Dependency-parsed Diachronic Corpora of Scientific English and German
- Context-Aware Neural Machine Translation Learns Anaphora Resolution
- Analyzing Multi-Head Self-Attention: Specialized Heads Do the Heavy Lifting, the Rest Can Be Pruned
- Boosting Transition-based AMR Parsing with Refined Actions and Auxiliary Analyzers
- Mind the GAP: A Balanced Corpus of Gendered Ambiguous Pronouns
- Committed Belief Tagging on the Factbank and LU Corpora: A Comparative Study
- From Paraphrase Database to Compositional Paraphrase Model and Back
- Transformers: State-of-the-Art Natural Language Processing
- Dynamic Coattention Networks For Question Answering
- Discourse-Aware Neural Extractive Text Summarization
- The CoNLL-2015 Shared Task on Shallow Discourse Parsing
- CoNLL 2016 Shared Task on Multilingual Shallow Discourse Parsing
- Hierarchical Attention Networks for Document Classification
- HotpotQA: A Dataset for Diverse, Explainable Multi-hop Question Answering
- AmbiCoref: Evaluating Human and Model Sensitivity to Ambiguous Coreference
- Multimodal Language Analysis in the Wild: CMU-MOSEI Dataset and Interpretable Dynamic Fusion Graph
- SemEval-2019 Task 6: Identifying and Categorizing Offensive Language in Social Media (OffensEval)
- Sentence Simplification with Deep Reinforcement Learning
- Graph Convolution over Pruned Dependency Trees Improves Relation Extraction
- ReCoRD: Bridging the Gap between Human and Machine Commonsense Reading Comprehension
- Anatomy of OntoGUM—Adapting GUM to the OntoNotes Scheme to Evaluate Robustness of SOTA Coreference Algorithms
Cite
@inproceedings{manning2014stanford,
title = {{The Stanford CoreNLP Natural Language Processing Toolkit}},
author = {Manning, Christopher and Surdeanu, Mihai and Bauer, John and Finkel, Jenny and Bethard, Steven and McClosky, David},
booktitle = {Proceedings of 52nd Annual Meeting of the Association for Computational Linguistics: System Demonstrations},
year = {2014},
doi = {10.3115/v1/p14-5010},
url = {https://doi.org/10.3115/v1/p14-5010}
}References
- Steven Bethard, Philip Ogren, and Lee Becker. 2014. ClearTK 2.0: Design patterns for machine learning in UIMA. In LREC 2014. find
- Steven Bird, Ewan Klein, and Edward Loper. 2009. Natural Language Processing with Python. O’Reilly Media. find
- Joshua Bloch. 2008. Effective Java. Addison Wesley, Upper Saddle River, NJ, 2nd edition. find
- Angel X. Chang and Christopher D. Manning. 2012. SUTIME: A library for recognizing and normalizing time expressions. In LREC 2012. find
- James Clarke, Vivek Srikumar, Mark Sammons, and Dan Roth. 2012. An NLP Curator (or: How I learned to stop worrying and love NLP pipelines). In LREC 2012. find
- Hamish Cunningham, Diana Maynard, Kalina Bontcheva, and Valentin Tablan. 2002. GATE: an architecture for development of robust HLT applications. In ACL 2002. find
- Marie-Catherine de Marneffe, Bill MacCartney, and Christopher D. Manning. 2006. Generating typed dependency parses from phrase structure parses. In LREC 2006, pages 449–454. find our card
- David Ferrucci and Adam Lally. 2004. UIMA: an architectural approach to unstructured information processing in the corporate research environment. Natural Language Engineering, 10:327–348. find
- Jenny Rose Finkel, Trond Grenager, and Christopher Manning. 2005. Incorporating non-local information into information extraction systems by Gibbs sampling. In ACL 43, pages 363–370. find
- I. Gurevych, M. Mühlhäuser, C. Müller, J. Steimle, M. Weimer, and T. Zesch. 2007. Darmstadt knowledge processing repository based on UIMA. In First Workshop on Unstructured Information Management Architecture at GLDV 2007, Tübingen. find
- U. Hahn, E. Buyko, R. Landefeld, M. Mühlhausen, Poprat M, K. Tomanek, and J. Wermter. 2008. An overview of JCoRe, the Julie lab UIMA component registry. In LREC 2008. find
- Dan Klein and Christopher D. Manning. 2003. Fast exact inference with a factored model for natural language parsing. In Suzanna Becker, Sebastian Thrun, and Klaus Obermayer, editors, Advances in Neural Information Processing Systems, volume 15, pages 3–10. MIT Press. find
- Heeyoung Lee, Angel Chang, Yves Peirsman, Nathanael Chambers, Mihai Surdeanu, and Dan Jurafsky. 2013. Deterministic coreference resolution based on entity-centric, precision-ranked rules. Computational Linguistics, 39(4). find our card
- Anthony Patricio. 2009. Why this project is successful? https://community.jboss.org/wiki/WhyThisProjectIsSuccessful. ↗
- Richard Socher, Alex Perelygin, Jean Wu, Jason Chuang, Christopher D. Manning, Andrew Ng, and Christopher Potts. 2013. Recursive deep models for semantic compositionality over a sentiment treebank. In EMNLP 2013, pages 1631–1642. find
- Kristina Toutanova, Dan Klein, Christopher D. Manning, and Yoram Singer. 2003. Feature-rich part-of-speech tagging with a cyclic dependency network. In NAACL 3, pages 252–259. find