/// <summary> /// Calculates the modified unigram precision score as described in section 2.1 of the paper. /// </summary> /// <param name="reference">The reference as a collector.</param> /// <param name="candidate">The candidate as a collector.</param> /// <returns>The Modified n-gram precision score.</returns> public double ModifiedUnigramPrecision(ICollector <string> reference, ICollector <string> candidate) { var referenceDist = new FrequencyDistribution <string>(reference.Collect()); return(referenceDist.MostFrequentValue() / (double)candidate.Size()); }