Practical overview
When it fits
Use BookNLP when an English book or long document needs more than basic word counts—for example, when analysis depends on linking character references or relating dialogue to speakers.
Who it is for
- Digital-humanities researchers studying characters, dialogue or narrative structure.
- Readers and analysts who need structured annotations from book-length English texts.
- Developers building datasets for cultural analytics or further text analysis.
Documented uses
- Cluster character name variants and link mentions across a text.
- Identify direct quotations and attribute them to speakers.
- Extract token-level syntax, entity, supersense and event annotations.
- Create structured book outputs, including character summaries and annotated HTML.
Requirements & limits
The public repository lists an MIT license. The documented installation uses Python and pip, with an optional conda environment.
- The project is designed for English text.
- The small model is described as faster and suited to personal computers; the big model is described as more accurate and suited to GPUs and multi-core computers.
- Users can select pipeline components to reduce computation time.
- Referential gender means pronouns used for a character in the story, not gender identity.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Install BookNLP and its English spaCy model
Set up the documented Python package and English spaCy model needed before processing text.
Before you start
- Python 3.7 is used in the documented conda environment example.
- Anaconda is suggested for creating an isolated environment.
Steps
Optionally create and activate a conda environment with Python 3.7.
Install BookNLP with pip.
Download the spaCy model en_core_web_sm.
Expected outcome
The BookNLP package and the documented English spaCy model are installed.
Guide limitations
- These steps cover installation only; processing a text requires the separate usage configuration and input/output paths.
- GPU use requires installing PyTorch for the relevant system and CUDA version.
Configure and process one English text
Run a selected BookNLP pipeline on an input text and produce its annotation files.
Before you start
- BookNLP and en_core_web_sm installed.
- An English input text file and paths for an output directory and book ID.
Steps
Import BookNLP and set the language to English.
Choose pipeline components and the small or big model in model_params.
Set the input file, output directory and book ID.
Call booknlp.process with those values.
Expected outcome
BookNLP creates a book-specific output directory with annotation files, including token, entity, supersense and quotation data for the configured pipeline.
Guide limitations
- The exact output files depend on the pipeline components selected.
- The documentation describes English processing; it does not establish support for other languages.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 15 October 2026
- Original website title
- booknlp/booknlp · Official homepage title · retained in its source language

