ConcatenateTopWordsAndWordPairs
(
IEnumerable<IEdge> oEdges,
String sStatusEdgeColumnName,
Int32 iMaximumTopStrings,
WordCounter oWordCounter,
WordPairCounter oWordPairCounter,
out String sTopWordsInTweetByCount,
out String sTopWordsInTweetBySalience,
out String sTopWordPairsInTweetByCount,
out String sTopWordPairsInTweetBySalience
)
{
Debug.Assert(oEdges != null);
Debug.Assert( !String.IsNullOrEmpty(sStatusEdgeColumnName) );
Debug.Assert(iMaximumTopStrings > 0);
Debug.Assert(oWordCounter != null);
Debug.Assert(oWordPairCounter != null);
oWordCounter.Clear();
oWordPairCounter.Clear();
foreach (IEdge oEdge in oEdges)
{
String sStatus;
if ( oEdge.TryGetNonEmptyStringValue(sStatusEdgeColumnName,
out sStatus) )
{
oWordCounter.CountTermsInDocument(sStatus);
oWordPairCounter.CountTermsInDocument(sStatus);
}
}
oWordCounter.CalculateSalienceOfCountedTerms();
oWordPairCounter.CalculateSalienceOfCountedTerms();
sTopWordsInTweetByCount = String.Join(
TwitterSearchNetworkWordMetricUtil.WordSeparator,
TwitterSearchNetworkStringUtil.TakeTopStringsAsArray(
(from CountedWord oCountedWord in oWordCounter.CountedTerms
orderby oCountedWord.Count descending
select oCountedWord.Word)
,
iMaximumTopStrings
) );
sTopWordsInTweetBySalience = String.Join(
TwitterSearchNetworkWordMetricUtil.WordSeparator,
TwitterSearchNetworkStringUtil.TakeTopStringsAsArray(
(from CountedWord oCountedWord in oWordCounter.CountedTerms
orderby oCountedWord.Salience descending
select oCountedWord.Word)
,
iMaximumTopStrings
) );
sTopWordPairsInTweetByCount = String.Join(
TwitterSearchNetworkWordMetricUtil.WordPairSeparator,
TwitterSearchNetworkStringUtil.TakeTopStringsAsArray(
(from CountedWordPair oCountedWordPair in
oWordPairCounter.CountedTerms
orderby oCountedWordPair.Count descending
select TwitterSearchNetworkWordMetricUtil.FormatWordPair(
oCountedWordPair) )
,
iMaximumTopStrings
) );
sTopWordPairsInTweetBySalience = String.Join(
TwitterSearchNetworkWordMetricUtil.WordPairSeparator,
TwitterSearchNetworkStringUtil.TakeTopStringsAsArray(
(from CountedWordPair oCountedWordPair in
oWordPairCounter.CountedTerms
orderby oCountedWordPair.Salience descending
select TwitterSearchNetworkWordMetricUtil.FormatWordPair(
oCountedWordPair) )
,
iMaximumTopStrings
) );
}
}