private WordProbability[] CalcWordsProbability(string category, string[] words)
{
if (category == null)
throw new ArgumentNullException("Category cannot be null.");
bool categorize = false;
if (_wordsData is ICategorizedWordsDataSource)
categorize = true;
CheckCategoriesSupported(category);
if (words == null)
return new WordProbability[0];
else
{
ArrayList wps = new ArrayList();
for (int i = 0; i < words.Length; i++)
{
if (IsClassifiableWord(words[i]))
{
WordProbability wp = null;
if (categorize)
wp = ((ICategorizedWordsDataSource)_wordsData).GetWordProbability(category, TransformWord(words[i]));
else
wp = _wordsData.GetWordProbability(TransformWord(words[i]));
if (wp != null)
wps.Add(wp);
}
}
return (WordProbability[])wps.ToArray(typeof(WordProbability));
}
}