https://github.com/centre-for-humanities-computing/dutch-chronicles
https://github.com/centre-for-humanities-computing/dutch-chronicles
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.2%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: centre-for-humanities-computing
- Language: Jupyter Notebook
- Default Branch: main
- Size: 69.8 MB
Statistics
- Stars: 2
- Watchers: 0
- Forks: 1
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Chronicling Crises: Event Detection in Early Modern Chronicles from the Low Countries
Abstract
Between the Middle Ages and the nineteenth century, many middle-class Europeans kept a handwritten chronicle, in which they reported on events they considered relevant. Discussed topics varied from records of price fluctuations to local politics, and from weather reports to remarkable gossip. What we do not know yet, is to what extent times of conflict and crises influenced the way in which people dealt with information. We have applied methods from information theory -- dynamics in word usage and measures of relative entropy such as novelty and resonance -- to a corpus of early modern chronicles from the Low Countries (1500--1820) to provide more insight in the way early modern people were coping with information during impactful events. We detect three peaks in the novelty signal, which coincide with times of political uncertainty in the Northern and Southern Netherlands. Topic distributions provided by Top2Vec show that during these times, chroniclers tend to write more and more extensively about an increased variation of topics.

Project Organization
The organization of the project is as follows:
├── lda/ <- trained top2vec model
│ └── ...
├── notebooks/ <- jupyter notebooks with exploratory analyses
│ └── ...
├── output/ <- examples for the paper
│ └── ...
│
├── src/ <- analysis scripts
│ ├── chronicles/ <- reusable
│ │ ├── entropies/ <- calculating indicator variables (incl. novelty)
│ │ ├── misc/ <- handling dates, etc.
│ │ ├── parser/ <- xml parsing, document segmentation
│ │ └── representation/ <- finding prototypes
│ │
| └── application/ <- ad hoc scripts
│ ├── config/ <- yaml files specifying parameters for experiments
│ ├── topics/ <- training the top2vec model
│ ├── visualization/ <- some more complicated publication plots (the less complicated are in notebooks/)
│ ├── convert_from_xml.sh <- shell script for running XML parsing
│ └── novelty_signal.py <- pipeline for fitting the novelty signal
│
└── requirements.txt <- install this
Usage
Clone, create a virtual environment, install dependencies (assumes you have virtualenv installed)
git clone https://github.com/centre-for-humanities-computing/dutch-chronicles.git
cd dutch-chronicles/
virtualenv venv
source venv/bin/activate
pip install -r requirements.txt
Source code of the experiment is organized into has three main steps:
1) parsing XML chronicle files, segment into documents
2) train a top2vec model
3) fit the novelty signal, which includes prototype picking
Parsing XML files
cd src/application/
bash convert_from_xml.sh
Train a top2vec model
cd src/application/
python topics/top2vec_training.py
Novelty signal
cd src/application/
python novelty_signal.py --yml config/220815_prototypes_day.yml
Alternatively, you can specify your own config file, following the instructions in novelty_signal.
Owner
- Name: Center for Humanities Computing Aarhus
- Login: centre-for-humanities-computing
- Kind: organization
- Email: chcaa@cas.au.dk
- Location: Aarhus, Denmark
- Website: https://chc.au.dk/
- Repositories: 130
- Profile: https://github.com/centre-for-humanities-computing
GitHub Events
Total
Last Year
Issues and Pull Requests
Last synced: over 1 year ago
All Time
- Total issues: 1
- Total pull requests: 4
- Average time to close issues: 8 months
- Average time to close pull requests: less than a minute
- Total issue authors: 1
- Total pull request authors: 2
- Average comments per issue: 0.0
- Average comments per pull request: 0.0
- Merged pull requests: 4
- Bot issues: 0
- Bot pull requests: 1
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- awlassche (1)
Pull Request Authors
- jankounchained (3)
- dependabot[bot] (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- Cython ==0.29.30
- Pillow ==9.0.1
- PyYAML ==6.0
- Pygments ==2.11.2
- appnope ==0.1.2
- asttokens ==2.0.5
- attrs ==21.4.0
- autopep8 ==1.6.0
- backcall ==0.2.0
- beautifulsoup4 ==4.10.0
- bs4 ==0.0.1
- cycler ==0.11.0
- debugpy ==1.5.1
- decorator ==5.1.1
- entrypoints ==0.4
- executing ==0.8.3
- fastdtw ==0.3.4
- fonttools ==4.29.1
- gensim ==4.2.0
- hdbscan ==0.8.28
- iniconfig ==1.1.1
- ipykernel ==6.9.1
- ipython ==8.1.0
- jedi ==0.18.1
- joblib ==1.1.0
- jupyter-client ==7.1.2
- jupyter-core ==4.9.2
- kiwisolver ==1.3.2
- llvmlite ==0.38.1
- lxml ==4.8.0
- matplotlib ==3.5.1
- matplotlib-inline ==0.1.3
- ndjson ==0.3.1
- nest-asyncio ==1.5.4
- numba ==0.55.2
- numpy ==1.21.5
- packaging ==21.3
- pandas ==1.4.1
- parso ==0.8.3
- pexpect ==4.8.0
- pickleshare ==0.7.5
- plotly ==5.10.0
- pluggy ==1.0.0
- prompt-toolkit ==3.0.28
- ptyprocess ==0.7.0
- pure-eval ==0.2.2
- py ==1.11.0
- pycodestyle ==2.8.0
- pynndescent ==0.5.7
- pyparsing ==3.0.7
- pytest ==7.0.1
- python-dateutil ==2.8.2
- pytz ==2021.3
- pyzmq ==22.3.0
- scikit-learn ==1.0.2
- scipy ==1.8.0
- seaborn ==0.11.2
- six ==1.16.0
- sklearn ==0.0
- smart-open ==5.2.1
- soupsieve ==2.3.1
- stack-data ==0.2.0
- tenacity ==8.0.1
- threadpoolctl ==3.1.0
- toml ==0.10.2
- tomli ==2.0.1
- top2vec ==1.0.27
- tornado ==6.1
- tqdm ==4.63.0
- traitlets ==5.1.1
- umap-learn ==0.5.3
- wasabi ==0.9.0
- wcwidth ==0.2.5
- wordcloud ==1.8.1