Metadata-Version: 2.1
Name: chronowords
Version: 0.1.0
Summary: 
Home-page: https://github.com/crow-intelligence/chronowords
License: MIT
Keywords: nlp,embeddings,semantic-change,topic-modeling
Author: Orsolya Putz
Author-email: orsolya.putz@crowintelligence.org>,Zoltan Varju <zoltan.varju@crowintelligence.org
Requires-Python: >=3.10,<3.13
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: cython (>=3.0.11,<4.0.0)
Requires-Dist: mmh3 (>=5.0.1,<6.0.0)
Requires-Dist: nltk (>=3.9.1,<4.0.0)
Requires-Dist: numpy (>=1.26.0,<2.0.0)
Requires-Dist: scikit-learn (>=1.6.1,<2.0.0)
Requires-Dist: scipy (>=1.12.0,<2.0.0)
Requires-Dist: setuptools (>=75.8.0,<76.0.0)
Project-URL: Documentation, https://chronowords.readthedocs.io
Project-URL: Repository, https://github.com/crow-intelligence/chronowords
Description-Content-Type: text/markdown

# chronowords

Detect semantic shifts over time in word embeddings. Train small PPMI-based language models, create topic models using NMF, and analyze semantic changes using Procrustes alignment.

## Features

- Memory-efficient word embedding training using Count-Min Sketch
- Topic modeling with Non-negative Matrix Factorization
- Temporal alignment of word embeddings using Procrustes analysis
- Cython-optimized PPMI matrix computation

## Installation

```bash
pip install chronowords
```

## Quick Start
```python
from chronowords.algebra import SVDAlgebra
from chronowords.topics import TopicModel

# Train word embeddings
model = SVDAlgebra(n_components=300)
model.train(your_corpus_iterator)

# Find similar words
similar = model.most_similar('computer')
for word in similar:
    print(f"{word.word}: {word.similarity:.3f}")

# Create topic model
topic_model = TopicModel(n_topics=10)
topic_model.fit(ppmi_matrix, vocabulary)
```

## Documentation
Full documentation available at ReadTheDocs.

## Requirements

Python ≥ 3.10
NumPy
SciPy
scikit-learn
Cython

## Contributing
Pull requests welcome. For major changes, open an issue first.

## License
MIT

