Jabberwocky
Jabberwocky is a Natural Language Processing (NLP) toolkit for those nonsensical ontologies1. Available open-source on GitHub.
Unstructured text is a valuable resource for research, yet text mining is a complicated task. Text mining with key terms can be limited and potentially enhanced with the knowledge of synonyms. Especially synonyms in that domain.
Ontologies are useful - they condense a domain of knowledge in a structured manner and classes may have synonyms. Ontologies have proven useful in text mining tasks, yet there lie gaps in the NLP community for the easy manipulation of ontologies.
Please see the documentation for more information on features. Below is a summary:
bandersnatch
: extract metadata from ontology classes.catch
: annotate corpus with key terms and generate visualisations.bite
: rank terms in order of importance from a corpus.arise
: update ontology with new metadata.eyes
: ontology plotting function.

Figure: Workflow of Jabberwocky features. Read the documentation for more information and a scenario.
I started development in 2019 and Jabberwocky v1.0 was published in 20201. Jabberwocky both influenced and was influenced by the OcIMIDo project2.
Version 2.0 (2021) improved the annotation script with a Phrase Matcher3 so both key terms and phrases work.
After a few years of a PhD and starting a job, in 2024 I came back to Jabberwocky and Version 3.0 was a complete revamp of the repository.
High-level functions for stop word removal & text cleaning and a new plotting feature was introduced: a pretty word cloud!
Furthmore, shortly after version 3.1 was released! This included a new plotting feature, eyes
, to plot an ontology.
And the TF-IDF4 (statistical method) was improved with the to ability to use n-grams so rankings can expand to uni-grams, bi-grams, tri-grams, and more.
In 2025, v3.1.1 updates were inspired by an old project - cyannotator - users can now request an HTML
output of the corpus with key terms highlighted.
References
Pendleton, Samantha C., and Georgios V. Gkoutos. “Jabberwocky: an ontology-aware toolkit for manipulating text.” Journal of Open Source Software 5.51 (2020): 2168. ↩︎ ↩︎
Pendleton, Samantha C., et al. “Development and application of the ocular immune-mediated inflammatory diseases ontology enhanced with synonyms from online patient support forum conversation.” Computers in biology and medicine 135 (2021): 104542. ↩︎
Honnibal, Matthew, et al. “spaCy: Industrial-strength natural language processing in python.” (2020). ↩︎