Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Chinese Whispers for Python

This is an implementation of the Chinese Whispers clustering algorithm in Python. Since this library is based on NetworkX, it is simple to use.

Unit Tests Read the Docs PyPI Version Conda Version

Installation

  • pip: pip install chinese-whispers
  • Anaconda: conda install conda-forge::chinese-whispers

Usage

Given a NetworkX graph G, this library can cluster it using the following code:

from chinese_whispers import chinese_whispers
chinese_whispers(G, weighting='top', iterations=20)

As the result, each node of the input graph is provided with the label attribute that stores the cluster label.

The library also offers a convenient command-line interface (CLI) for clustering graphs represented in the ABC tab-separated format (source\ttarget\tweight).

# Write karate_club.tsv (just as example)
python3 -c 'import networkx as nx; nx.write_weighted_edgelist(nx.karate_club_graph(), "karate_club.tsv", delimiter="\t")'

# Using as CLI
chinese-whispers karate_club.tsv

# Using as module (same CLI as above)
python3 -mchinese_whispers karate_club.tsv

A more complete usage example is available in the example notebook and at https://nlpub.github.io/chinese-whispers/.

In case you require higher performance, please consider our Java implementation that also includes other graph clustering algorithms: https://github.com/nlpub/watset-java.

Citation

@article{Ustalov:19:cl,
  author    = {Ustalov, Dmitry and Panchenko, Alexander and Biemann, Chris and Ponzetto, Simone Paolo},
  title     = {{Watset: Local-Global Graph Clustering with Applications in Sense and Frame Induction}},
  journal   = {Computational Linguistics},
  year      = {2019},
  volume    = {45},
  number    = {3},
  pages     = {423--479},
  doi       = {10.1162/COLI_a_00354},
  publisher = {MIT Press},
  issn      = {0891-2017},
  language  = {english},
}

Copyright

Copyright (c) 2018–2024 Dmitry Ustalov. See LICENSE for details.

Metadata

Release files for chinese-whispers 0.9.0rc2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for chinese-whispers 0.9.0rc2
File Size Uploaded
chinese_whispers-0.9.0rc2.tar.gz 10.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for chinese-whispers 0.9.0rc2
File Interpreter ABI Platform
chinese_whispers-0.9.0rc2-py3-none-any.whl Python 3 none any Details

Total release size: 19.8 kB

Release files / chinese_whispers-0.9.0rc2.tar.gz

Download URL chinese_whispers-0.9.0rc2.tar.gz
Size 10.2 kB
Tags Source
SHA-256 checksum
How to use checksums
8f7755bccbdda9f51398c38e0ea4b78651427620a43737a495db10a45f88689a
BLAKE2b-256 checksum
How to use checksums
1820cd3aac0cbd242c14bde0823d3e35cc5728345dbff5c6a40bc1b635431626
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / chinese_whispers-0.9.0rc2-py3-none-any.whl

Download URL chinese_whispers-0.9.0rc2-py3-none-any.whl
Size 9.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0273987c96411c3097f29ce7a5fadb493af042736d4c2fcfa0a9dab8c9150afd
BLAKE2b-256 checksum
How to use checksums
b4f76c6b79a75cf3bed514326921f29c68e06aac39adab48b8d980db2b7e1de9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page