We’re excited to announce the release of chronowords, a Python package designed to facilitate the analysis of semantic change in text over time. Through our research, we frequently encountered the need for temporal text analysis, which led us to develop this package to make diachronic (time-based) word embedding analysis more accessible.
What Does chronowords Do?
Chronowords provides tools to:
- Build word embeddings for different time periods using memory-efficient methods.
- Analyze semantic shifts over time using the Procrustes method.
- Identify evolving word meanings to track linguistic and conceptual changes.
- Apply Non-Negative Matrix Factorization (NMF) for topic modeling, aiding in uncovering thematic evolution.
Development Journey
Building Chronowords was more than just writing code—it was an exploration of modern Python package development. Throughout this process, we gained valuable experience in:
- Setting up CI/CD pipelines with GitHub Actions for streamlined development and deployment.
- Publishing packages on PyPI to make chronowords easily accessible.
- Building comprehensive documentation with Sphinx and Read the Docs.
- Optimizing performance-critical code using Cython extensions.
Looking Forward
We’re releasing Chronowords as an open-source project in the hope that it will benefit researchers and developers working on diachronic text analysis. We welcome contributions, feedback, and collaboration from the community.
Explore chronowords:
We look forward to seeing how Chronowords helps advance research in linguistic and historical text analysis!

Leave a Reply