Text Mining and Topic Modeling Toolkit
tmtoolkit is a set of tools for text mining and topic modeling with Python developed especially for the use in the social sciences, linguistics, 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 many language models.
Requirements and installation
tmtoolkit works with Python 3.8 or newer (tested up to Python 3.11).
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.
The tmtoolkit package offers several text preprocessing and text mining methods, including:
extensive pattern matching capabilities (exact matching, regular expressions or “glob” patterns) to be used in many methods of the package, e.g. for filtering on token or document level, or for keywords-in-context (KWIC)
adding and managing custom document and token attributes
accessing text corpora along with their document and token attributes as dataframes
calculating and visualizing corpus summary statistics
finding out and joining collocations
calculating token cooccurrences
generating sparse document-term matrices
Wherever possible and useful, these methods can operate in parallel to speed up computations with large datasets.
model computation in parallel for different copora and/or parameter sets
evaluation of topic models (e.g. in order to an optimal number of topics for a given dataset) using several implemented metrics:
KL divergence method (Arun et al. 2010)
probability of held-out documents (Wallach et al. 2009)
pair-wise cosine distance method (Cao Juan et al. 2009)
harmonic mean method (Griffiths, Steyvers 2004)
the loglikelihood or perplexity methods natively implemented in lda, sklearn or gensim
visualize topic-word distributions and document-topic distributions as word clouds or heatmaps
model coherence (Mimno et al. 2011) for individual topics
integrate PyLDAVis to visualize results
loading and cleaning of raw text from text files, tabular files (CSV or Excel), ZIP files or folders
common statistics and transformations for document-term matrices like word cooccurrence and tf-idf
If you’d like to contribute, please read the developer documentation first.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for tmtoolkit-0.12.0-py3-none-any.whl