Class UniqueLabelAssigner

java.lang.Object
org.carrot2.attrs.AttrComposite
org.carrot2.clustering.lingo.UniqueLabelAssigner
All Implemented Interfaces:
AcceptingVisitor, LabelAssigner

public class UniqueLabelAssigner
extends AttrComposite
implements LabelAssigner
Assigns unique labels to each base vector using a greedy algorithm. For each base vector chooses the label that maximizes the base vector--label term vector cosine similarity and has not been previously selected. Once a label is selected, it will not be used to label any other vector. This algorithm does not create duplicate cluster labels, which usually means that this assignment method will create more clusters than SimpleLabelAssigner. This method is slightly slower than SimpleLabelAssigner.
  • Constructor Details

  • Method Details

    • assignLabels

      public void assignLabels​(LingoProcessingContext context, org.carrot2.math.mahout.matrix.DoubleMatrix2D stemCos, com.carrotsearch.hppc.IntIntHashMap filteredRowToStemIndex, org.carrot2.math.mahout.matrix.DoubleMatrix2D phraseCos)
      Description copied from interface: LabelAssigner
      Assigns labels to base vectors found by the matrix factorization. The results must be stored in the LingoProcessingContext.clusterLabelFeatureIndex and LingoProcessingContext.clusterLabelScore arrays.
      Specified by:
      assignLabels in interface LabelAssigner
      Parameters:
      context - contains all information about the current clustering request
      stemCos - base vector -- single stems cosine matrix
      filteredRowToStemIndex - mapping between row indices of stemCos and indices of stems in PreprocessingContext.allStems
      phraseCos - base vector -- phrase cosine matrix