-
Notifications
You must be signed in to change notification settings - Fork 59
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into feature/spellCheck
# Conflicts: # CoreDataAccessView/src/au/gov/asd/tac/constellation/views/dataaccess/plugins/experimental/TestParametersPlugin.java # CoreDependencies/src/ivy.xml # CorePluginFramework/src/au/gov/asd/tac/constellation/plugins/gui/PasswordInputPane.java # CorePluginFramework/src/au/gov/asd/tac/constellation/plugins/gui/ValueInputPane.java # CorePreferences/src/au/gov/asd/tac/constellation/preferences/ApplicationOptionsPanel.form # CorePreferences/src/au/gov/asd/tac/constellation/preferences/ApplicationOptionsPanel.java # CorePreferences/src/au/gov/asd/tac/constellation/preferences/Bundle.properties # CoreWhatsNewView/src/au/gov/asd/tac/constellation/views/whatsnew/whatsnew.txt
- Loading branch information
Showing
2,306 changed files
with
49,265 additions
and
28,451 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
blank_issues_enabled: false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -60,20 +60,6 @@ as an appointed representative at an online or offline event. | |
Representation of a project may be further defined and clarified by | ||
project maintainers. | ||
|
||
## Enforcement | ||
|
||
Instances of abusive, harassing, or otherwise unacceptable behaviour may | ||
be reported by contacting the project team at [email protected]. | ||
All complaints will be reviewed and investigated and result in a | ||
response deemed necessary and appropriate to the circumstances. The | ||
project team is obligated to maintain confidentiality with regard to the | ||
reporter of an incident. Further details of specific enforcement | ||
policies may be posted separately. | ||
|
||
Project maintainers who do not follow or enforce the Code of Conduct in | ||
good faith may face temporary or permanent repercussions as determined | ||
by other members of the project’s leadership. | ||
|
||
## Attribution | ||
|
||
This Code of Conduct is adapted from the [Contributor | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -44,14 +44,11 @@ Repositories](#constellation-modules-and-repositories) | |
|
||
This project and everyone participating in it is governed by the | ||
[Constellation Code of Conduct](CODE_OF_CONDUCT.md). By participating, | ||
you are expected to uphold this code. Please report unacceptable | ||
behaviour to <[email protected]>. | ||
you are expected to uphold this code. | ||
|
||
## I don’t want to read this whole thing I just have a question! | ||
|
||
To start, you can create an issue to ask your question and please be | ||
patient until we respond. In the near future, we will consider using a | ||
different forum like Stack Overflow, Slack, etc. | ||
Ask your question [here](https://gitter.im/constellation-app/community) | ||
|
||
## What should I know before I get started? | ||
|
||
|
@@ -70,7 +67,7 @@ Note that if some of the functionality you develop can be developed in a | |
domain agnostic approach then you can contribute that functionality to | ||
Core and develop the domain specific functionality in your own module. | ||
Refer to the [developer | ||
guide](https://github.com/constellation-app/constellation-training/blob/master/CONSTELLATION%20Developer%20Guide.pdf) | ||
guide](https://github.com/constellation-app/constellation-training/blob/master/Developer%20Training/docs/Developer%20Guide.pdf) | ||
for information on how this is achieved. | ||
|
||
### Constellation Modules and Repositories | ||
|
@@ -331,7 +328,7 @@ change will have. | |
|
||
If you want to read about developing modules for Constellation, please | ||
make sure you complete the self-paced [Constellation Developer | ||
Guide](https://github.com/constellation-app/constellation-training/blob/master/CONSTELLATION%20Developer%20Guide.pdf). | ||
Guide](https://github.com/constellation-app/constellation-training/blob/master/Developer%20Training/docs/Developer%20Guide.pdf). | ||
|
||
#### Local development | ||
|
||
|
@@ -362,7 +359,7 @@ section in the [Readme](README.md). | |
<#if licenseFirst??> | ||
${licenseFirst} | ||
</#if> | ||
${licensePrefix}Copyright 2010-2021 Australian Signals Directorate | ||
${licensePrefix}Copyright 2010-2024 Australian Signals Directorate | ||
${licensePrefix} | ||
${licensePrefix}Licensed under the Apache License, Version 2.0 (the "License"); | ||
${licensePrefix}you may not use this file except in compliance with the License. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
javac.source=21 | ||
javac.compilerargs=-Xlint -Xlint:-serial | ||
license.file=../LICENSE | ||
test.run.args=--add-opens=java.base/java.net\=ALL-UNNAMED | ||
test.run.args=-Djava.awt.headless=true -Dtestfx.headless=true -Dtestfx.robot=glass --add-exports=javafx.graphics/com.sun.javafx.util=ALL-UNNAMED --add-exports=javafx.base/com.sun.javafx.beans=ALL-UNNAMED --add-exports=javafx.base/com.sun.javafx.logging=ALL-UNNAMED --add-exports=javafx.base/com.sun.javafx.event=ALL-UNNAMED --add-opens=javafx.graphics/com.sun.glass.ui=ALL-UNNAMED --add-exports=javafx.graphics/com.sun.glass.ui.delegate=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
110 changes: 67 additions & 43 deletions
110
...Plugins/src/au/gov/asd/tac/constellation/plugins/algorithms/chinese-whispers.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,52 +1,76 @@ | ||
# Chinese Whispers Clustering | ||
|
||
**Chinese Whispers - an Efficient Graph Clustering Algorithm and its | ||
Application to Natural Language Processing Problems.** | ||
|
||
|
||
Chris Biemann | ||
University of Liepzig, NLP Department | ||
|
||
Intuitively, the algorithm works as follows in a bottom-up fashion: | ||
First all nodes get different classes. Then the nodes are processed for | ||
a small number of iterations and inherit the strongest class in the | ||
local neighborhood. This is the class whose sum of edge weights to the | ||
current node is maximal. In case of multiple strongest classes, one is | ||
chosen randomly. Regions of the same class stabilize during the | ||
iteration and grow until they reach the border of a stable region of | ||
another class. Note that classes are updated immediately: a node can | ||
obtain classes from the neighborhood that were introduced there in the | ||
same iteration. | ||
|
||
initialize: | ||
for all vi in V: | ||
class(vi) = i | ||
while changes: | ||
for all v in V, randomized order: | ||
class(v) = highest ranked class in neighborhood of v; | ||
|
||
Apart from ties, the classes usually do not change any more after a | ||
handful of iterations. The number of iterations depends on the diameter | ||
of the graph: the larger the distance between two nodes is, the more | ||
iterations it takes to percolate information from one to another. | ||
|
||
## Other features | ||
|
||
Chinese Whispers in CONSTELLATION makes use of overlay colors. When the | ||
# Chinese Whispers | ||
|
||
<table class="table table-striped"> | ||
<colgroup> | ||
<col style="width: 25%" /> | ||
<col style="width: 25%" /> | ||
<col style="width: 25%" /> | ||
<col style="width: 25%" /> | ||
</colgroup> | ||
<thead> | ||
<tr class="header"> | ||
<th>Constellation Action</th> | ||
<th>Keyboard Shortcut</th> | ||
<th>User Action</th> | ||
<th style="text-align: center;">Menu Icon</th> | ||
</tr> | ||
</thead> | ||
<tbody> | ||
<tr class="odd"> | ||
<td>Run Chinese Whispers</td> | ||
<td></td> | ||
<td>Tools -> Cluster -> Chinese Whispers</td> | ||
<td style="text-align: center;"><img src="../ext/docs/CoreAlgorithmPlugins/src/au/gov/asd/tac/constellation/plugins/algorithms/resources/chineseWhispers.png" alt="Chinese Whispers Icon" /></td> | ||
</tr> | ||
</tbody> | ||
</table> | ||
|
||
Chinese Whispers is a clustering algorithm which forms clusters around the | ||
strongest classes in the graph. | ||
|
||
The algorithm works as follows: | ||
|
||
1. Firstly it assigns all nodes in the graph their own class | ||
2. It then iterates through each node in a random order. For each node, it | ||
changes its class to the one which has the largest sum of edge weights | ||
connected to that node. If there is a tie for the largest, it randomly chooses | ||
one of the largest. | ||
3. Step 2 is repeated until clusters stabilise. | ||
|
||
Because of the random nature of the algorithm, multiple runs of the algorithm | ||
on the same graph can produce different clusters (depending on the order nodes | ||
are iterated through, and which classes are selected in the case of ties). | ||
|
||
## Constellation Display | ||
|
||
Chinese Whispers in Constellation makes use of overlay colors. When the | ||
clustering algorithm has been run, each cluster is assigned a unique | ||
color. Node backgrounds and intra-cluster transactions are colored using | ||
the cluster's color, while inter-cluster transactions are colored dark | ||
grey. | ||
|
||
Rather than set the color directly, Chinese Whispers in CONSTELLATION | ||
creates a new color attribute and tells Constellation to display the | ||
graph using the new attribute. To switch back to the default color | ||
attribute, use Edit → Color attribute selection. | ||
Rather than set the color directly, Chinese Whispers in Constellation | ||
creates a new color attribute "Cluster.ChineseWhispers.Color" and tells | ||
Constellation to display the graph using the new attribute (via the | ||
"node\_color\_reference" and "transaction\_color_reference" graph attributes). | ||
To switch back to the default color attribute, edit the graph attributes via | ||
the Attribute Editor and click on "Restore Default" followed by Ok. | ||
|
||
Before Chinese Whispers is run: | ||
<div style="text-align: center"> | ||
<img src="../ext/docs/CoreAlgorithmPlugins/src/au/gov/asd/tac/constellation/plugins/algorithms/resources/ChineseWhispersBefore.png" alt="Graph before Chinese Whispers clustering applied" /> | ||
</div> | ||
|
||
After Chinese Whispers is run: | ||
<div style="text-align: center"> | ||
<img src="../ext/docs/CoreAlgorithmPlugins/src/au/gov/asd/tac/constellation/plugins/algorithms/resources/ChineseWhispersAfter.png" alt="Graph after Chinese Whispers clustering applied" /> | ||
</div> | ||
<br /> | ||
|
||
When the clustering algorithm runs, no arrangement is done, so the graph | ||
can look confusing. | ||
|
||
The clustering algorithms add an integer attribute "cluster" to the | ||
vertices. This attribute has a unique per-cluster value to indicate | ||
which cluster a vertex belongs to, which other algorithms can later use. | ||
The clustering algorithms add an integer attribute "Cluster.ChineseWhispers" | ||
to the nodes. This attribute has a unique per-cluster value to indicate | ||
which cluster a node belongs to, which other algorithms can later use | ||
(e.g. [Arrange by Node Attribute](../ext/docs/CoreArrangementPlugins/src/au/gov/asd/tac/constellation/plugins/arrangements/node-attribute.md)). |
Oops, something went wrong.