Skip to main content

Text Mining and Topic Modeling Toolkit

Project description

PyPI Version Downloads from PyPI Documentation Status GitHub Actions CI Build Status Coverage status Citable Zenodo DOI

tmtoolkit is a set of tools for text mining and topic modeling with Python developed especially for the use in the social sciences, in journalism or related disciplines. It aims for easy installation, extensive documentation and a clear programming interface while offering good performance on large datasets by the means of vectorized operations (via NumPy) and parallel computation (using Python’s multiprocessing module and the loky package). The basis of tmtoolkit’s text mining capabilities are built around SpaCy, which offers a many language models.

The documentation for tmtoolkit is available on tmtoolkit.readthedocs.org and the GitHub code repository is on github.com/WZBSocialScienceCenter/tmtoolkit.

Upgrade note:

Since Feb 8 2022, the newest version 0.11.0 of tmtoolkit is available on PyPI. This version features a new API for text processing and mining which is incompatible with prior versions. It’s advisable to first read the first three chapters of the tutorial to get used to the new API. You should also re-install tmtoolkit in a new virtual environment or completely remove the old version prior to upgrading. See the installation instructions.

Requirements and installation

tmtoolkit works with Python 3.8 or newer (tested up to Python 3.10).

The tmtoolkit package is highly modular and tries to install as few dependencies as possible. For requirements and installation procedures, please have a look at the installation section in the documentation. For short, the recommended way of installing tmtoolkit is to create and activate a Python Virtual Environment (“venv”) and then install tmtoolkit with a recommended set of dependencies and a list of language models via the following:

pip install -U "tmtoolkit[recommended]"
# add or remove language codes in the list for installing the models that you need;
# don't use spaces in the list of languages
python -m tmtoolkit setup en,de

Again, you should have a look at the detailed installation instructions in order to install additional packages that enable more features such as topic modeling.

Features

Text preprocessing

The tmtoolkit package offers several text preprocessing and text mining methods, including:

Wherever possible and useful, these methods can operate in parallel to speed up computations with large datasets.

Topic modeling

Limits

  • all languages are supported, for which SpaCy language models are available
  • all data must reside in memory, i.e. no streaming of large data from the hard disk (which for example Gensim supports)

Contribute

If you’d like to contribute, please read the developer documentation first.

License

Code licensed under Apache License 2.0. See LICENSE file.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tmtoolkit-0.11.2.tar.gz (14.3 MB view hashes)

Uploaded source

Built Distribution

tmtoolkit-0.11.2-py3-none-any.whl (7.5 MB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page