Thrift module: cluster

Module Services Data types Constants
cluster Cluster
ClusterMember
Clustering

Data structures

Struct: ClusterMember

Key Field Type Description Requiredness Default value
1 communicationId uuid.UUID UUID of the Communication which contains the item specified by 'elementId'. This is ancillary info assuming UUIDs are indeed universally unique. required
2 setId uuid.UUID UUID of the Entity|Situation(Mention)Set which contains the item specified by 'elementId'. This is ancillary info assuming UUIDs are indeed universally unique. required
3 elementId uuid.UUID UUID of the EntityMention, Entity, SituationMention, or Situation that this item represents. This is the characteristic field. required

An item being clustered. Does not designate cluster _membership_, as in
"item x belongs to cluster C", but rather just the item ("x" in this
example). Membership is indicated through Cluster objects.  An item may be a
Entity, EntityMention, Situation, SituationMention, or technically anything
with a UUID.

Struct: Cluster

Key Field Type Description Requiredness Default value
1 clusterMemberIndexList list< i32 > The items in this cluster. Values are indices into the 'clusterMemberList' of the Clustering which contains this Cluster. optional
2 confidenceList list< double > Co-indexed with 'clusterMemberIndexList'. The i^{th} value represents the confidence that mention clusterMemberIndexList[i] belongs to this cluster. optional
3 childIndexList list< i32 > A set of clusters (implicit ids/indices) from which this cluster was created. This cluster should represent the union of all the items in all of the child clusters. (For hierarchical clustering only). optional

A set of items which are alike in some way.  Has an implicit id which is the
index of this Cluster in its parent Clustering's 'clusterList'.

Struct: Clustering

Key Field Type Description Requiredness Default value
1 uuid uuid.UUID UUID for this Clustering object. required
2 metadata metadata.AnnotationMetadata Metadata for this Clustering object. required
3 clusterMemberList list< ClusterMember > The set of items being clustered. optional
4 clusterList list< Cluster > Clusters of items. If this is a hierarchical clustering, this may contain clusters which are the set of smaller clusters. Clusters may not "overlap", meaning (for all clusters X,Y): X \cap Y \neq \emptyset \implies X \subset Y \vee Y \subset X optional
5 rootClusterIndexList list< i32 > A set of disjoint clusters (indices in 'clusterList') which cover all items in 'clusterMemberList'. This list must be specified for hierarchical clusterings and should not be specified for flat clusterings. optional

An (optionally) hierarchical clustering of items appearing across a set of
Communications (intra-Communication clusterings are encoded by Entities and
Situations).  An item may be a Entity, EntityMention, Situation,
SituationMention, or technically anything with a UUID.