Jabberwocky

January 22, 2026 ยท View on GitHub

DOI

Functionality

Jabberwocky is a toolkit for Natural Language Processing (NLP) and ontologies. Read the documentation for more detail.

functiondescription
1.converterconvert an excel to an ontology
2.snatch metadataextract metadata from classes
3.catch textannotate corpus with key terms/phrases
4.rank termsrank terms in order of importance
5.update entitiesupdate ontology with new classes and metadata
6.ontology plottingplot an ontology via web or tree format

When combining these Jabberwocky functions, users can create an NLP workflow:

workflow

Running

  • Within each directory, there is a file params_*.py which users can edit, meaning users shouldn't need to edit the main/primary scripts.
  • Check the individual directory READMEs for parameter information.
  • Tests are done via the test/ submodule which is the CelestialObject repository, here users can see examples of files.

Resources

  • Prerequisites - check requirements.py for a list of packages and versions.

  • Changelog / Version - see the Changelog (ordered by newest first).

  • Contributing / Issues - please read the Contributing Guidelines also to see past contributors.

  • License - this repo is using the MIT license so users only need to cite if using (see citation below).

Citing

@article{Pendleton2020,
  doi = {10.21105/joss.02168},
  url = {https://doi.org/10.21105/joss.02168},
  year = {2020},
  publisher = {The Open Journal},
  volume = {5},
  number = {51},
  pages = {2168},
  author = {Samantha C. Pendleton and Georgios V. Gkoutos},
  title = {Jabberwocky: an ontology-aware toolkit for manipulating text},
  journal = {Journal of Open Source Software}
}

AOB

  • The poem, Jabberwocky, written by Lewis Carrol, is described as a nonsense poem :dragon:
  • You may think, why not use a Large Language Model (LMM)? Well I wrote a blog to compare w/ LLMs and how they overdo simple tasks, read here.

End of page