An interactive browser for LLM-extracted structured data from articles in the Philosophical Transactions of the Royal Society (1665–1886).
Part of the Secrets to Patent project.
🌐 Live site: https://digitalhistory-lund.github.io/SecToPat-PhilTransExtractions/
| Path | Purpose |
|---|---|
index.html |
Self-contained viewer with all extraction data embedded |
about.html |
About page with citation and license info |
Each article is classified as an experiment (yes / no / unsure) and structured data is extracted: experiment descriptions, locations mentioned, and participants. The viewer lets you filter by classification and browse article by article alongside the original OCR'd text.
The HTML is generated by build_extractions_viewer.py in the parent repository
from data/extractions/article.extract.json files produced by the extraction
pipeline.
Each article was passed to the LLM with the following prompt:
You are analysing an article from the Philosophical Transactions of the Royal Society
(17th–19th century). Answer three questions:
1. is_experiment: Does this article describe one or more experiments or systematic
observations? Answer "yes", "no", or "unsure".
2. locations: List every spatial location where an experiment or observation took place.
For each, provide:
- place: the immediate setting at room or building scale (e.g. "private study",
"ship's cabin", "kitchen"); null if not mentioned
- geography: named place at city, region, country, estate, or vessel scale
(e.g. "London", "aboard HMS Endeavour"); null if not mentioned
- detail: specific spatial detail within the place (e.g. "by the south window",
"in a dark corner"); null if not mentioned
Do not include apparatus or containers as locations. Return an empty list if no
spatial setting is mentioned.
3. participants: List every person named in the article who conducted, observed, or
contributed to the experiment or observation. For each, provide:
- name: the person's name as it appears in the text
- role: their role if stated (e.g. "experimenter", "observer", "subject",
"correspondent", "author"); null if not clear
Return an empty list if no individuals are named.
Structured output was enforced via JSON schema using the Ollama API.
This work is licensed under a
Creative Commons Attribution-NonCommercial 4.0 International License
(CC BY-NC 4.0). See LICENSE.
Machine-readable metadata is in CITATION.cff.
For questions or feedback, contact Mathias Johansson at MathiasJohansson@kultur.lu.se, or open an issue.