edu.umass.cs.mallet.projects.seg_plus_coref.coreference
Class MultipleCorefClusterer

java.lang.Object
  extended byedu.umass.cs.mallet.projects.seg_plus_coref.coreference.CorefClusterAdv
      extended byedu.umass.cs.mallet.projects.seg_plus_coref.coreference.MultipleCorefClusterer

public class MultipleCorefClusterer
extends CorefClusterAdv

Clusters multiple objects simultaneously (e.g. Authors, venues, and papers). Trains a separate MaxEnt classifier to weight edges between objects of the same type. Partitions resulting graph such that constraints between objects are respected (e.g. clustering two authors requires their venues be in the same cluster)


Nested Class Summary
 
Nested classes inherited from class edu.umass.cs.mallet.projects.seg_plus_coref.coreference.CorefClusterAdv
CorefClusterAdv.EdgeComparator, CorefClusterAdv.PseudoEdge, CorefClusterAdv.PseudoEdgeComparator, CorefClusterAdv.PseudoVertex
 
Field Summary
static java.lang.String AUTHOR
           
static java.lang.String PAPER
          Constants for the types of citation nodes
static java.lang.String VENUE
           
 
Constructor Summary
MultipleCorefClusterer(Pipe[] _pipes)
           
 
Method Summary
 java.util.Collection[] clusterMentions(InstanceList[] ilists, java.util.List[] mentions, int optimalBest, boolean stochastic)
          Returns a list of collections representing the clustering of "ilists"
 void mergeVertices(salvo.jesus.graph.WeightedGraph g, salvo.jesus.graph.VertexImpl v1, salvo.jesus.graph.VertexImpl v2)
          This is where we enforce constraints between object types.
 java.util.Collection partitionGraph(salvo.jesus.graph.WeightedGraph origGraph)
          Partition the graph by greed agglomerative merging.
 void setIndices(InstanceList[] ilists)
          Sets the mapping from citation type to index
 void testClassifiers(InstanceList[] ilists)
           
 void train(InstanceList[] ilists)
          Train the underlying classifiers with "ilists" as trainingData
 
Methods inherited from class edu.umass.cs.mallet.projects.seg_plus_coref.coreference.CorefClusterAdv
absoluteCluster, addVerticesToGraph, buildGraphFromPseudoEdges, chooseEdge2, chooseEdge3, clusterMentions, clusterMentions, collectionAvg, completeGraphNBest, computeInitialTreeObjScore, constructEdgesFromPseudoEdges, constructEdgesUsingTrainedClusterer, constructEdgesUsingTrainedClusterer, constructEdgesUsingTrainedClusterer, constructOptimalEdgesUsingNBest, copyGraph, createGraph, createGraph, createGraph, createPseudoEdges, createPseudoVertices, evaluateAgainstKey, evaluatePartitioning, evaluatePartitioningExternal, evaluatePartitioningExternal, exportGraph, getClassifier, getClusteringFromPseudo, getCollectionOfOriginalObjects, getPseudoClustering, getUnNormalizedScores, hasNextIndexList, inSameCluster, loadME, nextIndexList, nextIndexListStochastic, numSingletons, printGraph, printParamDetails, printParams, setConfWeightedScores, setFullPartition, setKeyPartitioning, setNBestInference, setOptimality, setRBeamSize, setSearchParams, setThreshold, setTrueNumStop, testClassifier, testClassifier, train, trainClassifier, typicalClusterAdv, typicalClusterPartition, updateGraphNBest, updateScore, weightOfConfig
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PAPER

public static final java.lang.String PAPER
Constants for the types of citation nodes

See Also:
Constant Field Values

VENUE

public static final java.lang.String VENUE
See Also:
Constant Field Values

AUTHOR

public static final java.lang.String AUTHOR
See Also:
Constant Field Values
Constructor Detail

MultipleCorefClusterer

public MultipleCorefClusterer(Pipe[] _pipes)
Method Detail

train

public void train(InstanceList[] ilists)
Train the underlying classifiers with "ilists" as trainingData


setIndices

public void setIndices(InstanceList[] ilists)
Sets the mapping from citation type to index


testClassifiers

public void testClassifiers(InstanceList[] ilists)

clusterMentions

public java.util.Collection[] clusterMentions(InstanceList[] ilists,
                                              java.util.List[] mentions,
                                              int optimalBest,
                                              boolean stochastic)
Returns a list of collections representing the clustering of "ilists"


mergeVertices

public void mergeVertices(salvo.jesus.graph.WeightedGraph g,
                          salvo.jesus.graph.VertexImpl v1,
                          salvo.jesus.graph.VertexImpl v2)
This is where we enforce constraints between object types. Constraints are: If v1,v2 are Citation objects, find their corresponding VenueCitations and AuthorCitations and merge them. We do this by first simply merging the paper vertices, then merging their corresponding venue and author vertices.

Overrides:
mergeVertices in class CorefClusterAdv

partitionGraph

public java.util.Collection partitionGraph(salvo.jesus.graph.WeightedGraph origGraph)
Partition the graph by greed agglomerative merging. Copied from CorefClusterAdv.java. Added bookkeeping for paperVertex2VenueVertex hash.

Overrides:
partitionGraph in class CorefClusterAdv