{"id":32981673,"url":"https://github.com/nlpub/watset-java","last_synced_at":"2026-01-14T03:28:18.018Z","repository":{"id":12321734,"uuid":"71589543","full_name":"nlpub/watset-java","owner":"nlpub","description":"An implementation of the Watset clustering algorithm in Java.","archived":true,"fork":false,"pushed_at":"2022-12-09T23:28:54.000Z","size":14341,"stargazers_count":29,"open_issues_count":0,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-07-28T21:27:23.008Z","etag":null,"topics":["chinese-whispers","clustering","community-detection","embeddings","fuzzy-clustering","graph-clustering","graph-embeddings","markov-clustering","maxmax","nlp","semantics","watset"],"latest_commit_sha":null,"homepage":"https://doi.org/10.1162/COLI_a_00354","language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nlpub.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null}},"created_at":"2016-10-21T19:04:39.000Z","updated_at":"2025-03-12T13:13:32.000Z","dependencies_parsed_at":"2023-01-11T20:18:55.369Z","dependency_job_id":null,"html_url":"https://github.com/nlpub/watset-java","commit_stats":null,"previous_names":[],"tags_count":54,"template":false,"template_full_name":null,"purl":"pkg:github/nlpub/watset-java","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nlpub%2Fwatset-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nlpub%2Fwatset-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nlpub%2Fwatset-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nlpub%2Fwatset-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nlpub","download_url":"https://codeload.github.com/nlpub/watset-java/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nlpub%2Fwatset-java/sbom","scorecard":{"id":690720,"data":{"date":"2025-08-11","repo":{"name":"github.com/nlpub/watset-java","commit":"0769fa7ab3f7cbeef9e18f95c356fc1aeebadfcd"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/18 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"project is archived","details":["Warn: Repository is archived."],"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/release.yml:1","Warn: no topLevel permission defined: .github/workflows/test.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact 2.8.2 not signed: https://api.github.com/repos/nlpub/watset-java/releases/85607157","Warn: release artifact 2.8.1 not signed: https://api.github.com/repos/nlpub/watset-java/releases/85605281","Warn: release artifact 2.8.0 not signed: https://api.github.com/repos/nlpub/watset-java/releases/60533988","Warn: release artifact 2.7.2 not signed: https://api.github.com/repos/nlpub/watset-java/releases/50258136","Warn: release artifact 2.7.0 not signed: https://api.github.com/repos/nlpub/watset-java/releases/46380150","Warn: release artifact 2.8.2 does not have provenance: https://api.github.com/repos/nlpub/watset-java/releases/85607157","Warn: release artifact 2.8.1 does not have provenance: https://api.github.com/repos/nlpub/watset-java/releases/85605281","Warn: release artifact 2.8.0 does not have provenance: https://api.github.com/repos/nlpub/watset-java/releases/60533988","Warn: release artifact 2.7.2 does not have provenance: https://api.github.com/repos/nlpub/watset-java/releases/50258136","Warn: release artifact 2.7.0 does not have provenance: https://api.github.com/repos/nlpub/watset-java/releases/46380150"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/nlpub/watset-java/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/nlpub/watset-java/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/nlpub/watset-java/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/nlpub/watset-java/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/nlpub/watset-java/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/nlpub/watset-java/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/nlpub/watset-java/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:73: update your workflow using https://app.stepsecurity.io/secureworkflow/nlpub/watset-java/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:76: update your workflow using https://app.stepsecurity.io/secureworkflow/nlpub/watset-java/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:82: update your workflow using https://app.stepsecurity.io/secureworkflow/nlpub/watset-java/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/nlpub/watset-java/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/nlpub/watset-java/test.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/nlpub/watset-java/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:49: update your workflow using https://app.stepsecurity.io/secureworkflow/nlpub/watset-java/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/nlpub/watset-java/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:61: update your workflow using https://app.stepsecurity.io/secureworkflow/nlpub/watset-java/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:75: update your workflow using https://app.stepsecurity.io/secureworkflow/nlpub/watset-java/test.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/nlpub/watset-java/test.yml/master?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:1: pin your Docker image by updating openjdk:11-jre to openjdk:11-jre@sha256:356949c3125c4fa8104745e7ea92bd995da4567634e6599b470d2f972d13e0e2","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:58","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:59","Info:   0 out of  12 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   6 third-party GitHubAction dependencies pinned","Info:   0 out of   1 containerImage dependencies pinned","Info:   0 out of   2 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 12 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T02:14:36.706Z","repository_id":12321734,"created_at":"2025-08-22T02:14:36.706Z","updated_at":"2025-08-22T02:14:36.706Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28408843,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T01:52:23.358Z","status":"online","status_checked_at":"2026-01-14T02:00:06.678Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chinese-whispers","clustering","community-detection","embeddings","fuzzy-clustering","graph-clustering","graph-embeddings","markov-clustering","maxmax","nlp","semantics","watset"],"created_at":"2025-11-13T07:00:25.458Z","updated_at":"2026-01-14T03:28:18.008Z","avatar_url":"https://github.com/nlpub.png","language":"Java","readme":"# Watset\n\nThis is an open source implementation of the [Watset] algorithm for [fuzzy graph clustering](https://en.wikipedia.org/wiki/Fuzzy_clustering) (aka soft clustering). This implementation is multi-threaded, extensible, contains several unit tests, and can be easily embedded into any Java-based graph processing pipeline. Also, it offers a convenient command-line tool for running [Watset] over the edge lists in text files.\n\n![Watset](src/main/javadoc/doc-files/Watset.svg)\n\nThis package, written in Java, also includes implementations of the [Chinese Whispers] (2006), [Markov Clustering] (2000), and [MaxMax] (2013) graph clustering algorithms.\n\n[![Build Status][github_tests_badge]][github_tests_link] [![Maven Central][maven_badge]][maven_link] [![Maintainability][codeclimate_badge]][codeclimate_link] [![Javadoc][javadoc_badge]][javadoc_link]\n\n[github_tests_badge]: https://github.com/nlpub/watset-java/workflows/Unit%20Tests/badge.svg?branch=master\n[github_tests_link]: https://github.com/nlpub/watset-java/actions?query=workflow%3A%22Unit+Tests%22\n[maven_badge]: https://img.shields.io/maven-central/v/org.nlpub/watset.svg?label=Maven%20Central\n[maven_link]: https://search.maven.org/artifact/org.nlpub/watset\n[codeclimate_badge]: https://api.codeclimate.com/v1/badges/2f2a90dd42ae703e9e5d/maintainability\n[codeclimate_link]: https://codeclimate.com/github/nlpub/watset-java/maintainability\n[javadoc_badge]: https://img.shields.io/badge/javadoc-master-brightgreen\n[javadoc_link]: https://nlpub.github.io/watset-java/\n\n## Usage\n\nThere are three ways to obtain `watset-java`:\n\n1. download the [recently released version](https://github.com/nlpub/watset-java/releases/latest) (look at the `watset.jar` file in the Assets section);\n\n2. compile the `master` branch from source by cloning the [repository](https://github.com/nlpub/watset-java) and running `mvn package` in the repository root (or `mvn package -Dshade` to build a dependency-less jar file as in the previous option);\n\n3. get it from [Maven Central][maven_link], [GitHub Packages](https://github.com/nlpub/watset-java/packages), or [JitPack](https://jitpack.io/#nlpub/watset-java).\n\nThis tool has several kinds of activity titled the *commands*. Such commands as `watset`, `cw`, `mcl`, and `maxmax` invoke different clustering algorithms, while `senses` invokes graph-based word sense induction.\n\nThere are two global command-line arguments: `-i` (or `--input`) that specifies the path of input file and `-o` (or `--output`) that specifies the path of the output file. The default values for these parameters are STDIN and STDOUT, correspondingly.\n\nThe input for this tool is an undirected weighted graph represented in the ABC format. This format is a tab-separated edge list: \u003ccode\u003eword1\u0026#9;word2\u0026#9;weight\u003c/code\u003e. The output of the graph clustering algorithm is a tab-separated file containing three columns: the cluster identifier, the cluster size, and the list of elements belonging to the cluster.\n\n```\na\tb\t1\nb\tc\t0.5\nc\td\t2\n```\n\nThe default output format is a tab-separated file, each line of which contains three elements: `id`, `size` and a comma-and-space-separated list of elements.\n\nIn fact, `watset-java` is not only a tool, it also features a complete API for graph clustering. This API can easily be embedded into your application or library, see [examples](examples/). The complete Javadoc is available at \u003chttps://nlpub.github.io/watset-java/\u003e.\n\n### Dummy Clustering\n\nAs the baseline, it is possible to use the following four dummy clustering \u0026ldquo;algorithms\u0026rdquo;:\n\n* `empty`: the empty output regardless of the input;\n* `singleton`: each node of the input graph is a different cluster;\n* `together`: one cluster that keeps all the elements of the input graph;\n* `components`: each cluster is a connected component of the input graph.\n\n```bash\n$ java -jar watset.jar -i graph.txt -o output.tsv singleton\n```\n\n### k Spanning Tree Clustering\n\nThe [*k* spanning tree clustering algorithm](https://doi.org/10.2307/2346439) performs graph single-linkage clustering using minimal spanning trees.\n\n```bash\n$ java -jar watset.jar -i graph.txt -o output.tsv kst -k 2\n```\n\n### Spectral Clustering\n\nThe [spectral clustering](https://en.wikipedia.org/wiki/Spectral_clustering) algorithm performs clustering of the graph's spectral embedding with the [*k*-means algorithm](https://en.wikipedia.org/wiki/K-means_clustering).\n\n```bash\n$ java -jar watset.jar -i graph.txt -o output.tsv spectral -k 2\n```\n\nSince this algorithm computes node embeddings, it is possible to output them in the well-known *textual* [Word2Vec format](https://code.google.com/archive/p/word2vec/).\n\n```\n$ java -jar watset.jar -i graph.txt -o output.w2v embed -k 2\n```\n\n### Chinese Whispers\n\n[Chinese Whispers] (CW) is a hard clustering algorithm that resembles a popular children's game. This tool offers three different variations of this algorithm that can be set using the `-m` (`--mode`) option:\n\n* `top`: the node weighting approach that chooses the label with the highest total edge weight in the neighborhood;\n* `lin`: the `top` mode divided by the node degree (also known as `nolog` in some references);\n* `log`: the `top` mode divided by the logarithm of the node degree.\n\n```bash\n$ java -jar watset.jar -i graph.txt -o output.tsv cw -m top\n```\n\n### Markov Clustering\n\n[Markov Clustering] (MCL) is a hard clustering algorithm that simulates random walks on the graph. It is possible to specify two options of this algorithm:\n\n* the number of expansion operations `-e` (the default value is 2);\n* the power coefficient `-r` (the default value is also 2).\n\n```bash\n$ java -jar watset.jar -i graph.txt -o output.tsv mcl -e 2 -r 2\n```\n\nThis implementation is not optimized, so the processing of large graphs will likely be quite slow. So, for large graphs it is recommended to use the original implementation of the [MCL](https://micans.org/mcl/) algorithm, which is written in C and thus is really fast.\n\n```bash\n$ java -jar watset.jar -i graph.txt -o output.tsv mcl-bin -r 2 --bin /path/to/mcl\n```\n\n### Watset\n\n[Watset] is a *local-global meta-algorithm* for fuzzy graph clustering. It builds an intermediate undirected graph that addresses the element ambiguity by considering different senses of each element in the input graph. This package offers the best-performing variation of Watset known as Simplified Watset.\n\nWatset requires two different clustering algorithms to be selected: the *local* clustering algorithm for sense induction that is specified using `-l` (`--local`) and the *global* algorithm for the final clustering that is specified using `-g` (`--global`). It is possible to configure the algorithms using the similar options as shown above using the `-lp` (`--local-params`) and `-gp` (`--global-params`) options, which can be inserted multiple times.\n\n```bash\n$ java -jar watset.jar -i graph.txt -o output.tsv watset -l mcl -lp e=1 -lp r=3 -g cw -gp mode=lin\n```\n\nIn practice, the default parameters for MCL and CW work well enough, so the `-lp` and `-gp` arguments can be omitted in this example.\n\n#### Watset: Word Sense Induction\n\nSince [Watset] performs curvature-based word sense induction, it is possible to extract the built sense inventory using the special command of this tool.\n\n```bash\n$ java -jar watset.jar -i graph.txt -o inventory.tsv senses -l mcl\n```\n\nThe output of this operation is a tab-separated file containing three columns: the target word, the word sense identifier, and the set of related disambiguated senses in the given word sense (the *context*). Each sense is represented as `word#id`.\n\n#### Watset: Word Sense Graph\n\nIt is also possible to print the intermediate word sense graph built by [Watset].\n\n```bash\n$ java -jar watset.jar -i graph.txt -o sense-graph.txt graph -l mcl\n```\n\nThe output file will be written virtually in the same ABC format as the input graph, but each node will be provided with a numerical sense identifier preceded by the suffix `#`. This feature simplifies the integration into other graph processing pipelines.\n\n#### Watset: Word Sense Graph Embeddings\n\nIt might be useful to obtain spectral embeddings of the [Watset] sense graph nodes in the Word2Vec textual format.\n\n```\n$ java -jar watset.jar -i graph.txt -o sense-graph.w2v embedsenses -l mcl -k 2\n```\n\n### MaxMax\n\n[MaxMax] is a soft clustering algorithm for undirected graphs that constructs intermediate representation of the input graph as the directed graph. This algorithm has no options.\n\n```bash\n$ java -jar watset.jar -i graph.txt -o output.tsv maxmax\n```\n\n### Evaluation\n\nThis package provides implementations of two fuzzy clustering evaluation approaches: pairwise F-score and normalized modified purity. Given the set of clusters to evaluate and the set of gold clusters (\u0026ldquo;classes\u0026rdquo;), it is possible to study the clustering quality.\n\n```\n$ java -jar watset.jar -i output.tsv pairwise -g gold.tsv\n$ java -jar watset.jar -i output.tsv purity -g gold.tsv -n -m\n```\n\n## Citation\n\n* [Ustalov, D.](https://github.com/dustalov), [Panchenko, A.](https://github.com/alexanderpanchenko), [Biemann, C.](https://www.inf.uni-hamburg.de/en/inst/ab/lt/people/chris-biemann.html), [Ponzetto, S.P.](https://www.uni-mannheim.de/dws/people/professors/prof-dr-simone-paolo-ponzetto/): [Watset: Local-Global Graph Clustering with Applications in Sense and Frame Induction](https://doi.org/10.1162/COLI_a_00354). Computational Linguistics 45(3), 423\u0026ndash;479 (2019)\n\n```bibtex\n@article{Ustalov:19:cl,\n  author    = {Ustalov, Dmitry and Panchenko, Alexander and Biemann, Chris and Ponzetto, Simone Paolo},\n  title     = {{Watset: Local-Global Graph Clustering with Applications in Sense and Frame Induction}},\n  journal   = {Computational Linguistics},\n  year      = {2019},\n  volume    = {45},\n  number    = {3},\n  pages     = {423--479},\n  doi       = {10.1162/COLI_a_00354},\n  publisher = {MIT Press},\n  issn      = {0891-2017},\n  language  = {english},\n}\n```\n\n## Tutorial\n\nWatset will be featured in the [Graphs, Computation, and Language](https://doi.org/10.5281/zenodo.6667766) class at the [33rd European Summer School in Logic, Language and Information](https://2022.esslli.eu/courses-workshops-accepted/course-information.html#DmitryUstalov) (ESSLLI\u0026nbsp;2022)!\n\n## Contributing\n\n1. Fork it;\n2. Create your feature branch (`git checkout -b my-new-feature`);\n3. Commit your changes (`git commit -am 'Added some feature'`);\n4. Push to the branch (`git push origin my-new-feature`);\n5. Create new Pull Request.\n\n## Copyright\n\nCopyright (c) 2016\u0026ndash;2022 [Dmitry Ustalov]. See [LICENSE](LICENSE) for details.\n\n[Watset]: https://doi.org/10.1162/COLI_a_00354\n[Chinese Whispers]: https://doi.org/10.3115/1654758.1654774\n[Markov Clustering]: https://hdl.handle.net/1874/848\n[MaxMax]: https://doi.org/10.1007/978-3-642-37247-6_30\n[Dmitry Ustalov]: https://github.com/dustalov\n","funding_links":[],"categories":["Others"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnlpub%2Fwatset-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnlpub%2Fwatset-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnlpub%2Fwatset-java/lists"}