Back to home

Computational methods

From archive to graph

We treat historical texts as relational data. Every collection runs through a reproducible pipeline that combines language models, expert human validation, and network analysis, with self-hosted compute on our own infrastructure.

Corpus in progress

Historical works
4
Pages processed
1,575
Sentences segmented
12,679
Entities extracted
31,352

Pipeline

  1. Digitization

    High-resolution capture with color and scale references. Vision models assess each page's physical condition and produce restoration reports.

    • High-resolution capture
    • Color charts
    • Vision LLMs
  2. Assisted cleanup

    Language models correct OCR errors and normalize transcriptions while preserving historical spelling where it carries meaning.

    • Llama 2 7B
    • Format normalization
  3. Entity recognition

    Automated extraction of people, places, institutions, and events, with temporal alignment and semantic embeddings across the corpus.

    • Flair NER
    • Semantic embeddings
    • Temporal alignment
  4. Human validation

    Every annotation goes through expert review in our own tooling and in Argilla. No entity reaches the graph without human and vocabulary control.

    • Argilla
    • In-house NER corrector
    • Controlled vocabularies
  5. Network modeling

    Concurrence graphs, community detection, and comparison against synthetic realizations to infer social dynamics from partial observations.

    • Concurrence graphs
    • Leiden / Louvain
    • Barabási–Albert

Stack

Models

  • Llama 2 7B
  • Flair
  • Hugging Face
  • Self-hosted vision LLMs
  • LightRAG

Annotation and validation

  • Argilla
  • NER corrector (Next.js)
  • Human-in-the-loop review
  • Dublin Core metadata

Infrastructure

  • NVIDIA Blackwell server
  • Unified memory
  • NAS storage
  • Reproducible pipelines