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
Last synced: 10 months ago · JSON representation

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
Created over 4 years ago · Last pushed about 3 years ago
Metadata Files
Readme

README.md

Chronicling Crises: Event Detection in Early Modern Chronicles from the Low Countries

Paper

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

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 (1)

Dependencies

requirements.txt pypi
  • 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