Example #1
0
        public IEnumerator <string> GetEnumerator()
        {
            IEnumerable <int> indexes = _segmenter.GetBoundaryIndices(_paragraph);
            int prevIndex             = 0;

            foreach (int index in indexes)
            {
                yield return(_paragraph.SubstringJava(prevIndex, index + 1).Trim());

                prevIndex = index + 1;
            }
        }
Example #2
0
        public static DetailedEvaluation Evaluate(this SentenceSegmenter segmenter, string paragraph,
                                                  IEnumerable <int> realBoundaryIndices)
        {
            IEnumerable <int> predictedIndices = segmenter.GetBoundaryIndices(paragraph);

            // ReSharper disable PossibleMultipleEnumeration
            IEnumerable <int> misses      = realBoundaryIndices.Except(predictedIndices);
            IEnumerable <int> falseAlarms = predictedIndices.Except(realBoundaryIndices);
            IEnumerable <int> hits        = realBoundaryIndices.Intersect(predictedIndices);
            // ReSharper restore PossibleMultipleEnumeration

            int eosCandidateCount = GetEosCharCount(segmenter.EosCandidates, paragraph);

            return(new DetailedEvaluation(hits, misses, falseAlarms, eosCandidateCount, paragraph));
        }