本文整理汇总了C#中Cluster.addPhrases方法的典型用法代码示例。如果您正苦于以下问题:C# Cluster.addPhrases方法的具体用法?C# Cluster.addPhrases怎么用?C# Cluster.addPhrases使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Cluster
的用法示例。
在下文中一共展示了Cluster.addPhrases方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: cluster
private void cluster( LanguageCode language )
{
PreprocessingContext context = preprocessingPipeline.preprocess( documents, query, language );
clusters = new List<Cluster>();
if ( context.hasLabels() )
{
VectorSpaceModelContext vsmContext = new VectorSpaceModelContext( context );
ReducedVectorSpaceModelContext reducedVsmContext = new ReducedVectorSpaceModelContext( vsmContext );
LingoProcessingContext lingoContext = new LingoProcessingContext( reducedVsmContext );
matrixBuilder.buildTermDocumentMatrix( vsmContext );
matrixBuilder.buildTermPhraseMatrix( vsmContext );
matrixReducer.reduce( reducedVsmContext, computeClusterCount( desiredClusterCountBase, documents.Count ) );
clusterBuilder.buildLabels( lingoContext, matrixBuilder.termWeighting );
clusterBuilder.assignDocuments( lingoContext );
clusterBuilder.merge( lingoContext );
int[] clusterLabelIndex = lingoContext.clusterLabelFeatureIndex;
BitSet[] clusterDocuments = lingoContext.clusterDocuments;
double[] clusterLabelScore = lingoContext.clusterLabelScore;
for ( int i = 0; i < clusterLabelIndex.length; i++ )
{
Cluster cluster = new Cluster();
int labelFeature = clusterLabelIndex[i];
if ( labelFeature < 0 )
{
// Cluster removed during merging
continue;
}
cluster.addPhrases( labelFormatter.format( context, labelFeature ) );
cluster.setAttribute( Cluster.SCORE, clusterLabelScore[i] );
BitSet bs = clusterDocuments[i];
for ( int bit = bs.nextSetBit( 0 ); bit >= 0; bit = bs.nextSetBit( bit + 1 ) )
{
cluster.addDocuments( documents.ElementAt( bit ) );
}
clusters.Add( cluster );
}
Collections.Sort( clusters, Cluster.byReversedWeightedScoreAndSizeComparator( scoreWeight ) );
}
Cluster.appendOtherTopics( documents, clusters );
}